@sifxprime/krouter 0.5.167 → 0.5.169
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 +18 -18
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/required-server-files.json +12 -0
- package/app/.next-cli-build/routes-manifest.json +15 -0
- 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/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/environment/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/presidio/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_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/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/_not-found.html +1 -1
- package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +5 -5
- package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/claude-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +3 -3
- package/app/.next-cli-build/server/app/api/cli-tools/copilot-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/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/providers/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/tunnel/tailscale-install/route.js +2 -2
- package/app/.next-cli-build/server/app/api/v1/embeddings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/shutdown/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/update/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/basic-chat.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/!KGRhc2hib2FyZCk/dashboard/basic-chat/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/basic-chat.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/cli-tools.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/!KGRhc2hib2FyZCk/dashboard/cli-tools/__PAGE__.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_full.segment.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/cli-tools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/combos.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/!KGRhc2hib2FyZCk/dashboard/combos/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/combos.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/endpoint.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/!KGRhc2hib2FyZCk/dashboard/endpoint/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/endpoint.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/environment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/environment.segments/!KGRhc2hib2FyZCk/dashboard/environment/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/environment.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/!KGRhc2hib2FyZCk/dashboard/media-providers/web/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/media-providers/web.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/mitm.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/!KGRhc2hib2FyZCk/dashboard/mitm/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard/mitm.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/presidio.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/presidio.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/!KGRhc2hib2FyZCk/dashboard/presidio/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/presidio.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/profile.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/!KGRhc2hib2FyZCk/dashboard/profile/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/profile.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers/new.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/!KGRhc2hib2FyZCk/dashboard/providers/new/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers/new.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/providers.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/!KGRhc2hib2FyZCk/dashboard/providers/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/providers.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/!KGRhc2hib2FyZCk/dashboard/proxy-pools/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/proxy-pools.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/pxpipe.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/!KGRhc2hib2FyZCk/dashboard/pxpipe/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/pxpipe.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/quota.html +2 -2
- package/app/.next-cli-build/server/app/dashboard/quota.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/!KGRhc2hib2FyZCk/dashboard/quota/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/quota.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/skills.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/!KGRhc2hib2FyZCk/dashboard/skills/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/skills.segments/_full.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 +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/!KGRhc2hib2FyZCk/dashboard/token-saver/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/token-saver.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/translator.rsc +5 -5
- package/app/.next-cli-build/server/app/dashboard/translator.segments/!KGRhc2hib2FyZCk/dashboard/translator/__PAGE__.segment.rsc +5 -5
- 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/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.html +1 -1
- package/app/.next-cli-build/server/app/dashboard/usage.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/!KGRhc2hib2FyZCk/dashboard/usage/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/usage.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/dashboard.html +1 -1
- package/app/.next-cli-build/server/app/dashboard.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/!KGRhc2hib2FyZCk/dashboard/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/dashboard.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/index.html +1 -1
- package/app/.next-cli-build/server/app/index.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing/page_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/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/login.html +1 -1
- package/app/.next-cli-build/server/app/login.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +18 -18
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/1738.js +1 -1
- package/app/.next-cli-build/server/chunks/2557.js +1 -1
- package/app/.next-cli-build/server/chunks/2722.js +1 -1
- package/app/.next-cli-build/server/chunks/3120.js +3 -3
- package/app/.next-cli-build/server/chunks/412.js +1 -1
- package/app/.next-cli-build/server/chunks/4315.js +1 -1
- package/app/.next-cli-build/server/chunks/4884.js +4 -4
- package/app/.next-cli-build/server/chunks/5330.js +2 -2
- package/app/.next-cli-build/server/chunks/5718.js +1 -1
- package/app/.next-cli-build/server/chunks/6182.js +7 -5
- package/app/.next-cli-build/server/chunks/6200.js +1 -1
- package/app/.next-cli-build/server/chunks/8238.js +1 -1
- package/app/.next-cli-build/server/chunks/8895.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/middleware.js +9 -9
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/preview-props.json +3 -3
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/KF4DQC15EViS89R-ZTHoZ/_buildManifest.js +1 -0
- package/app/.next-cli-build/static/chunks/{1321-3997ec181addbfaa.js → 1321-2101f9adafb561f2.js} +1 -1
- package/app/.next-cli-build/static/chunks/{5497-1af4fbf829c885c4.js → 5497-ff8c2e5da835ea40.js} +1 -1
- package/app/.next-cli-build/static/chunks/{6069-31c2febe26d36d92.js → 6069-816e9c8ac21ec280.js} +1 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-eacf2780757238ff.js +1 -0
- package/app/cli/package.json +1 -1
- package/app/package.json +1 -1
- package/app/server.js +1 -1
- package/app/src/mitm/server.js +30 -30
- package/package.json +1 -1
- package/app/.next-cli-build/static/KAn3kSXbD7TmQ0msMIDxv/_buildManifest.js +0 -1
- package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/translator/page-bbc10fd10f7af626.js +0 -1
- /package/app/.next-cli-build/static/{KAn3kSXbD7TmQ0msMIDxv → KF4DQC15EViS89R-ZTHoZ}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";exports.id=6200,exports.ids=[6200],exports.modules={9999:(a,b,c)=>{c.d(b,{$S:()=>l,$T:()=>m,QS:()=>n,e3:()=>o});var d=c(77598),e=c.n(d);let f=globalThis;f.__krouterResponseCache||(f.__krouterResponseCache=new Map,f.__krouterResponseCacheStats={hits:0,misses:0,skipped:0,bytesSaved:0,tokensSaved:0,lastResetAt:Date.now()});let g=f.__krouterResponseCache,h=f.__krouterResponseCacheStats;function i({model:a,body:b}){let c=JSON.stringify({model:a,system:b?.system??null,instructions:b?.instructions??null,messages:b?.messages??null,input:b?.input??null,contents:b?.contents??null,temperature:b?.temperature??null,max_tokens:b?.max_tokens??b?.max_output_tokens??null,tools:b?.tools??null,tool_choice:b?.tool_choice??null,response_format:b?.response_format??null});return e().createHash("sha256").update(c).digest("hex")}let j=new Set(["antigravity","ag","gemini","gemini-cli","gc"]);function k(a,b=null){if(!a||"object"!=typeof a||!0===a.stream||"number"==typeof a.temperature&&a.temperature>.3||"required"===a.tool_choice)return!1;let c=function(a){if("string"!=typeof a)return null;let b=a.indexOf("/");return b>0?a.slice(0,b):null}(b);if(c&&j.has(c))return!1;let d=a.max_tokens??a.max_output_tokens??null;return"number"!=typeof d||!(d<32)}function l({model:a,body:b}){if(!k(b,a))return h.skipped++,null;let c=i({model:a,body:b}),d=g.get(c);return d?d.expiresAt<Date.now()?(g.delete(c),h.misses++,null):(g.delete(c),g.set(c,d),h.hits++,h.bytesSaved+=d.bodyBytes||0,h.tokensSaved+=d.estimatedTokens||0,d):(h.misses++,null)}function m({model:a,body:b,status:c,contentType:d,responseBody:e,estimatedTokens:f=0,ttlMs:h=3e5,maxEntries:j=500}){if(!k(b,a)||200!==c||!e||"string"==typeof e&&e.length<100)return!1;let l=i({model:a,body:b}),n="string"==typeof e?e:JSON.stringify(e),o={key:l,status:c,contentType:d||"application/json",body:n,bodyBytes:Buffer.byteLength(n,"utf-8"),estimatedTokens:f,expiresAt:Date.now()+h,storedAt:Date.now(),model:a};for(g.set(l,o);g.size>j;){let a=g.keys().next().value;if(void 0===a)break;g.delete(a)}return!0}function n(){let a=h.hits+h.misses;return{enabled:!0,entries:g.size,hits:h.hits,misses:h.misses,skipped:h.skipped,hitRate:a>0?h.hits/a:0,bytesSaved:h.bytesSaved,tokensSaved:h.tokensSaved,lastResetAt:h.lastResetAt}}function o(){g.clear(),h.hits=0,h.misses=0,h.skipped=0,h.bytesSaved=0,h.tokensSaved=0,h.lastResetAt=Date.now()}},24253:(a,b,c)=>{c.d(b,{I6:()=>n,Mo:()=>i,RG:()=>m,V:()=>j,Y8:()=>l,xl:()=>o});var d=c(1932),e=c(87155);let f=null,g=null,h=null;function i(){return g?{loaded:!0,version:g.version,loadedAt:g.loadedAt}:{loaded:!1}}async function j(){return g||h||(h=k().finally(()=>{h=null}))}async function k(){let a=(0,e.S1)();if(!a.installed){let a=Error("PXPIPE is not installed");throw a.code="NOT_INSTALLED",a}let b=`${(0,d.pathToFileURL)((0,e.CG)()).href}?v=${encodeURIComponent(a.version||"0")}`,c=await import(b);if("function"!=typeof c.transformAnthropicMessages)throw Error("installed pxpipe package does not export transformAnthropicMessages");return g={module:c,version:a.version,loadedAt:Date.now()}}function l(){let a=!!g;return g=null,a}async function m({autoLoad:a=!0}={}){try{if(!g&&!a)return null;let{module:b}=await j();return b.transformAnthropicMessages}catch{return null}}async function n(a){let b=Array.isArray(a)?a.map(a=>String(a).trim()).filter(Boolean):[],c=b.slice().sort().join(",");if(c!==f)try{if(!(0,e.S1)().installed)return;let a=await import((0,d.pathToFileURL)((0,e.kC)()).href);"function"==typeof a.setAllowedModelBases&&(a.setAllowedModelBases(b.length?b:null),f=c)}catch{}}async function o(){let a=Date.now(),{module:b}=await j(),c=new TextEncoder().encode(JSON.stringify({model:"claude-fable-5",max_tokens:16,messages:[{role:"user",content:"ping"}]})),d=await b.transformAnthropicMessages({body:c,model:"claude-fable-5"});if(!d||"boolean"!=typeof d.applied||!(d.body instanceof Uint8Array))throw Error("transform returned an unexpected shape");return{ok:!0,reason:d.reason,durationMs:Date.now()-a}}},25772:(a,b,c)=>{c.d(b,{Io:()=>h,WV:()=>f});let d=null,e=0;function f(a={}){let{sidecarUrl:b=process.env.SIDECAR_URL||"http://127.0.0.1:5001/redact",timeout:h=Number(process.env.REDACTION_TIMEOUT_MS)||15e3,enabled:i="false"!==process.env.REDACTION_ENABLED,failOpen:j="true"===process.env.REDACTION_FAIL_OPEN}=a;return async function(a,f){if(!i)return f(a);if(Date.now()-e>1e4)try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a();d=!!(b.presidioEnabled&&b.presidioPiiRedaction),e=Date.now()}catch(b){if(console.error("[Redaction Middleware] Failed to read settings:",b),!0===d&&!j)return new Response(JSON.stringify({error:{message:"Unable to verify redaction settings",code:"SETTINGS_ERROR",type:"settings_error"}}),{status:500,headers:{"Content-Type":"application/json"}});return f(a)}if(!d||"POST"!==a.method)return f(a);try{let c=await a.clone().json(),d=[],e=[];if(Array.isArray(c.messages))for(let a=0;a<c.messages.length;a++){let b=c.messages[a],f=b?.content;if(f){if("string"==typeof f)d.push(f),e.push({type:"string",index:a});else if(Array.isArray(f))for(let b=0;b<f.length;b++){let c=f[b];c?.type==="text"&&"string"==typeof c?.text&&(d.push(c.text),e.push({type:"array",msgIndex:a,blockIndex:b}))}}}if("string"==typeof c.system)d.push(c.system),e.push({type:"system-string"});else if(Array.isArray(c.system))for(let a=0;a<c.system.length;a++){let b=c.system[a];b?.type==="text"&&"string"==typeof b?.text&&(d.push(b.text),e.push({type:"system-block",blockIndex:a}))}if("string"==typeof c.instructions&&(d.push(c.instructions),e.push({type:"instructions"})),"string"==typeof c.input)d.push(c.input),e.push({type:"input-string"});else if(Array.isArray(c.input))for(let a=0;a<c.input.length;a++){let b=c.input[a],f=b?.content;if("string"==typeof f)d.push(f),e.push({type:"input-item-string",index:a});else if(Array.isArray(f))for(let b=0;b<f.length;b++){let c=f[b];(c?.type==="input_text"||c?.type==="output_text"||c?.type==="text")&&"string"==typeof c?.text&&(d.push(c.text),e.push({type:"input-item-block",itemIndex:a,blockIndex:b}))}}if(Array.isArray(c.messages))for(let a=0;a<c.messages.length;a++){let b=c.messages[a];if(b?.role==="tool"&&"string"==typeof b.content&&(d.push(b.content),e.push({type:"tool-message",index:a})),Array.isArray(b?.tool_calls))for(let c=0;c<b.tool_calls.length;c++){let f=b.tool_calls[c]?.function?.arguments;"string"==typeof f&&f.length>0&&(d.push(f),e.push({type:"tool-call-args",msgIndex:a,callIndex:c}))}if(Array.isArray(b?.content))for(let c=0;c<b.content.length;c++){let f=b.content[c];if(f?.type==="tool_result"){if("string"==typeof f.content)d.push(f.content),e.push({type:"tool-result-string",msgIndex:a,blockIndex:c});else if(Array.isArray(f.content))for(let b=0;b<f.content.length;b++){let g=f.content[b];g?.type==="text"&&"string"==typeof g.text&&(d.push(g.text),e.push({type:"tool-result-block",msgIndex:a,blockIndex:c,innerIndex:b}))}}}}if(Array.isArray(c.tools))for(let a=0;a<c.tools.length;a++){let b=c.tools[a];"string"==typeof b?.description&&b.description.length>0?(d.push(b.description),e.push({type:"tool-desc",index:a})):"string"==typeof b?.function?.description&&b.function.description.length>0&&(d.push(b.function.description),e.push({type:"tool-fn-desc",index:a}))}if(0===d.length)return f(a);let i=await g(b,d,{timeout:h}),j=0;for(let a of e){if("string"===a.type)c.messages[a.index].content=i[j];else if("array"===a.type)c.messages[a.msgIndex].content[a.blockIndex].text=i[j];else if("system-string"===a.type)c.system=i[j];else if("system-block"===a.type)c.system[a.blockIndex].text=i[j];else if("instructions"===a.type)c.instructions=i[j];else if("input-string"===a.type)c.input=i[j];else if("input-item-string"===a.type)c.input[a.index].content=i[j];else if("input-item-block"===a.type)c.input[a.itemIndex].content[a.blockIndex].text=i[j];else if("tool-message"===a.type)c.messages[a.index].content=i[j];else if("tool-call-args"===a.type){let b=i[j],d=!1;try{JSON.parse(b),d=!0}catch{d=!1}d?c.messages[a.msgIndex].tool_calls[a.callIndex].function.arguments=b:console.warn("[Redaction Middleware] Skipped tool_call arguments: redaction produced invalid JSON")}else"tool-result-string"===a.type?c.messages[a.msgIndex].content[a.blockIndex].content=i[j]:"tool-result-block"===a.type?c.messages[a.msgIndex].content[a.blockIndex].content[a.innerIndex].text=i[j]:"tool-desc"===a.type?c.tools[a.index].description=i[j]:"tool-fn-desc"===a.type&&(c.tools[a.index].function.description=i[j]);j++}let k=new Request(a.url,{method:a.method,headers:a.headers,body:JSON.stringify(c)});return f(k)}catch(e){if(console.error(`[Redaction Middleware] Error: ${e.message}`),j)return console.warn("[Redaction Middleware] Fail-open enabled - proceeding with original request"),f(a);let b=500,c="internal_error",d="Request processing failed";return"AbortError"===e.name||e.message.includes("timeout")||e.message.includes("TIMEOUT")?(b=503,c="redaction_timeout",d="PII redaction service unavailable. Please try again later."):e.message.includes("fetch")||e.message.includes("ECONNREFUSED")||e.message.includes("ENOTFOUND")||e.message.includes("ECONNRESET")||"TypeError"===e.name&&e.message.includes("fetch")?(b=503,c="redaction_service_unavailable",d="PII redaction service unavailable. Please try again later."):e.message.includes("redact")||e.message.includes("sidecar")||e.message.includes("HTTP 5")?(b=502,c="redaction_service_error",d="PII redaction service error. Please try again later."):(e.message.includes("Invalid")||e.message.includes("format"))&&(b=400,c="invalid_request",d="Invalid request format."),console.error(JSON.stringify({timestamp:new Date().toISOString(),event:"redaction_failure",errorType:c,errorMessage:e.message,statusCode:b,path:new URL(a.url).pathname,method:a.method})),new Response(JSON.stringify({error:{message:d,code:c.toUpperCase(),type:c,requestId:a.headers.get("x-request-id")||void 0}}),{status:b,headers:{"Content-Type":"application/json","X-Redaction-Failed":"true"}})}}}async function g(a,b,{timeout:c=2e3}={}){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({texts:b}),signal:d.signal});if(!c.ok)throw Error(`Sidecar redaction service error: HTTP ${c.status}`);let e=await c.json();if(!e.redacted_texts||!Array.isArray(e.redacted_texts))throw Error("Sidecar redaction service returned invalid response");if(e.redacted_texts.length!==b.length)throw Error("Sidecar redaction service returned wrong number of redacted texts");return e.redacted_texts}finally{clearTimeout(e)}}function h(a,b={}){let c=f(b);return async function(b,...d){return c(b,b=>a(b,...d))}}},38775:(a,b,c)=>{c.d(b,{d_:()=>k,mA:()=>j});var d=c(89718),e=c(40669),f=c(35024),g=c(44404);let h={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},i=new Set([...Object.keys(h),...Object.keys(f.xq),...Object.keys(g.Xg),...Object.values(g.Xg)]);async function j(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&h[b.providerAlias]?{...b,provider:h[b.providerAlias]}:b);if(!c.isAlias){if(!i.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function k(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},46945:(a,b,c)=>{c.d(b,{V:()=>e});let d=/\[1m\]$/i;function e(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(d);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}},54413:(a,b,c)=>{c.d(b,{D:()=>e});let d={"qwen3.6-plus-free":{replacement:"qwen3.6-plus",tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"minimax-m2.5-free":{replacement:"minimax-m2.5",tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"nemotron-3-super-free":{replacement:null,tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"trinity-large-preview-free":{replacement:null,tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"big-pickle":{replacement:null,tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"}};function e(a){if(!a||"string"!=typeof a)return null;let b=a.includes("/")?a.slice(a.lastIndexOf("/")+1):a,c=d[b];if(!c)return null;let e=c.replacement?`Use "${c.replacement}" on the ${c.tier} instead.`:`No direct replacement — pick a live model on the ${c.tier}.`;return`Model "${b}" has been retired (${c.reason}). ${e}`}},74388:(a,b,c)=>{c.d(b,{Az:()=>l,SP:()=>o,T0:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87155);let i=g().join(h.XF,"events.jsonl"),j=g().join(h.XF,"events.jsonl.1");function k(a){try{e().existsSync(h.XF)||e().mkdirSync(h.XF,{recursive:!0});try{e().statSync(i).size>5242880&&e().renameSync(i,j)}catch{}e().appendFile(i,JSON.stringify({ts:Date.now(),...a})+"\n",()=>{})}catch{}}function l({sinceMs:a=null,limit:b=null}={}){let c=[];for(let b of[j,i])try{if(!e().existsSync(b))continue;for(let d of e().readFileSync(b,"utf8").split("\n"))if(d)try{let b=JSON.parse(d);if(a&&b.ts<a)continue;c.push(b)}catch{}}catch{}return c.sort((a,b)=>a.ts-b.ts),b?c.slice(-b):c}function m(){return{requests:0,compressed:0,bypassed:0,errors:0,tokensBeforeEst:0,tokensAfterEst:0,tokensSavedEst:0,savedPct:0,imagesGenerated:0,compressionTimeMs:0,avgCompressionMs:0}}function n(a,b){a.requests++,b.applied?(a.compressed++,a.tokensBeforeEst+=b.tokensBeforeEst||0,a.tokensAfterEst+=b.tokensAfterEst||0,a.tokensSavedEst+=b.tokensSavedEst||0,a.imagesGenerated+=b.imageCount||0,a.compressionTimeMs+=b.durationMs||0):"transform_error"===b.reason||"timeout"===b.reason?a.errors++:a.bypassed++}function o({timelineDays:a=30,recentLimit:b=100}={}){let c=l(),d=Date.now(),e=new Date(new Date(d).setHours(0,0,0,0)).getTime(),f={all:m(),today:m(),yesterday:m(),last7d:m(),last30d:m()},g=new Map;for(let b=a-1;b>=0;b--){let a=new Date(e-864e5*b);g.set(a.toISOString().slice(0,10),{date:a.toISOString().slice(0,10),tokensSavedEst:0,compressed:0,requests:0})}for(let a of c){n(f.all,a),a.ts>=e?n(f.today,a):a.ts>=e-864e5&&n(f.yesterday,a),a.ts>=d-6048e5&&n(f.last7d,a),a.ts>=d-2592e6&&n(f.last30d,a);let b=new Date(a.ts).toISOString().slice(0,10),c=g.get(b);c&&(c.requests++,a.applied&&(c.compressed++,c.tokensSavedEst+=a.tokensSavedEst||0))}for(let a of Object.values(f))a.savedPct=a.tokensBeforeEst>0?+(a.tokensSavedEst/a.tokensBeforeEst*100).toFixed(2):0,a.avgCompressionMs=a.compressed>0?Math.round(a.compressionTimeMs/a.compressed):0;return{windows:f,timeline:[...g.values()],recent:c.slice(-b).reverse()}}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>C});var e=c(48895),f=c(80238),g=c(89718),h=c(38775),i=c(92500),j=c(46945),k=c(43659),l=c(54413),m=c(8864),n=c(38962),o=c(17603),p=c(27349),q=c(24253),r=c(74388),s=c(9999),t=c(41004),u=c(53258),v=c(14170),w=c(7803),x=c(67828),y=c(38160),z=c(29385),A=a([e,i]);async function B(a){return a?.pxpipeEnabled?(await (0,q.I6)(a.pxpipeModels),(0,q.RG)()):null}async function C(a,b=null){let d;try{d=await a.json()}catch{return w.warn("CHAT","Invalid JSON body"),(0,k.yj)(t.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:d,headers:Object.fromEntries(a.headers.entries())});let e=new URL(a.url),{model:i,contextMarker:l}=(0,j.V)(d.model);l&&(d.model=i);let m=d.messages?.length||d.input?.length||0,q=d.tools?.length||0,r=d.reasoning_effort||d.reasoning?.effort||null;w.request("POST",`${e.pathname} | ${i} | ${m} msgs${q?` | ${q} tools`:""}${r?` | effort=${r}`:""}`);let u=a.headers.get("Authorization"),v=(0,f.Tr)(a);if(u&&v){let a=w.maskKey(v);w.debug("AUTH",`API Key: ${a}`)}else w.debug("AUTH","No API key provided (local mode)");let x=await (0,g.mt)();if(x.requireApiKey){if(!v)return w.warn("AUTH","Missing API key (requireApiKey=true)"),(0,k.yj)(t.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(v))return w.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,k.yj)(t.gx.UNAUTHORIZED,"Invalid API key")}if(!i)return w.warn("CHAT","Missing model"),(0,k.yj)(t.gx.BAD_REQUEST,"Missing model");try{let{classifyPromptIntent:a}=await c.e(9849).then(c.bind(c,49849)),{classifyRequestComplexity:b}=await c.e(3523).then(c.bind(c,23523)),e=(d?.messages||[]).find(a=>a?.role==="user"),f="string"==typeof e?.content?e.content:Array.isArray(e?.content)&&e.content.find(a=>a?.text)?.text||"",g=(d?.messages||[]).find(a=>a?.role==="system"),h="string"==typeof g?.content?g.content:"",i=a(f,h),j=b(d);w.debug("ROUTING",`intent=${i} | complexity=${j.level} score=${j.score} tier=${j.recommendedTier}${j.hasToolUse?" tools=yes":""}`)}catch(a){w.debug("ROUTING",`classify failed: ${a?.message}`)}let y=a?.headers?.get("user-agent")||"",z=(0,p.c)(d,i,y,!!x.ccFilterNaming);if(z)return z.response||z;if(x.responseCacheEnabled){let a=(0,s.$S)({model:i,body:d});if(a)return w.info("CHAT",`[CACHE HIT] ${i} (${a.bodyBytes}B saved)`),new Response(a.body,{status:a.status,headers:{"Content-Type":a.contentType,"X-Cache":"HIT","X-Cache-Age-Ms":String(Date.now()-a.storedAt)}})}let A=(0,n.t8)(d),B=await (0,h.d_)(i);if(B){let c=x.comboStrategies||{},e=c[i]?.fallbackStrategy||x.comboStrategy||"fallback",f=(0,o.R8)(B,A,x),g=f.filter(a=>!B.includes(a));if("fusion"===e)return w.info("CHAT",`Combo "${i}" with ${B.length} models (strategy: fusion)`),(0,n.vt)({body:d,models:B,handleSingleModel:(c,d)=>D(c,d,b,a,v,x,1),log:w,comboName:i,judgeModel:c[i]?.judgeModel,tuning:c[i]?.fusionTuning});let h=x.comboStickyRoundRobinLimit;return w.info("CHAT",`Combo "${i}" with ${f.length} models (strategy: ${e}, sticky: ${h})`),(0,n.Pr)({body:d,models:f,handleSingleModel:(0,o.ar)((c,d)=>D(c,d,b,a,v,x,1),g),log:w,comboName:i,comboStrategy:e,comboStickyLimit:h})}let E=(0,o.R8)([i],A,x);if(E.length>1){let c=E.filter(a=>a!==i);return w.info("CHAT",`Capacity adapter for [${[...A].join(",")}] on "${i}" → trying ${E.join(", ")}`),(0,n.Pr)({body:d,models:E,handleSingleModel:(0,o.ar)((c,d)=>D(c,d,b,a,v,x,1),c),log:w,comboName:i,comboStrategy:(0,o.vB)(A,x)})}return D(d,i,b,a,v,x,0)}async function D(a,b,c=null,d=null,e=null,j=null,o=0){j||(j=await (0,g.mt)());let p=await (0,h.mA)(b);if(!p.provider){let f=await (0,h.d_)(b);if(f){if(o>=3)return w.warn("CHAT",`Combo recursion limit hit for "${b}" at depth ${o} — refusing to dispatch`),(0,k.yj)(t.gx.BAD_REQUEST,`Combo recursion limit (3) exceeded for "${b}"`);let g=j.comboStrategies||{},h=g[b]?.fallbackStrategy||j.comboStrategy||"fallback";if("fusion"===h)return w.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion, depth: ${o})`),(0,n.vt)({body:a,models:f,handleSingleModel:(a,b)=>D(a,b,c,d,e,j,o+1),log:w,comboName:b,judgeModel:g[b]?.judgeModel,tuning:g[b]?.fusionTuning});let i=j.comboStickyRoundRobinLimit;return w.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${h}, sticky: ${i}, depth: ${o})`),(0,n.Pr)({body:a,models:f,handleSingleModel:(a,b)=>D(a,b,c,d,e,j,o+1),log:w,comboName:b,comboStrategy:h,comboStickyLimit:i})}return w.warn("CHAT","Invalid model format",{model:b}),(0,k.yj)(t.gx.BAD_REQUEST,"Invalid model format")}let{provider:q,model:A}=p,C=(0,l.D)(A);if(C)return w.warn("CHAT",`Retired model "${A}" requested → ${C}`),(0,k.yj)(t.gx.BAD_REQUEST,C);b!==`${q}/${A}`?w.info("ROUTING",`${b} → ${q}/${A}`):w.info("ROUTING",`Provider: ${q}, Model: ${A}`);let E=d?.headers?.get("user-agent")||"",F=d?.headers?.get("x-bypass-modellock")==="1",G=new Set,H=null,I=null,J="round-robin"===(0,m.z)(j,q),K=(0,z.bI)(a,{provider:q}),L=!J&&K?(0,z.Wq)(K):null;for(;;){let g=await (0,f.c1)(q,G,A,{bypassModelLock:F,preferredConnectionId:L&&!G.has(L)?L:null});if(!g||g.allRateLimited){if(g?.allRateLimited){let a=H||g.lastError||"Unavailable",b=t.gx.SERVICE_UNAVAILABLE;return w.warn("CHAT",`[${q}/${A}] ${a} (${g.retryAfterHuman})`),(0,k.wO)(b,`[${q}/${A}] ${a}`,g.retryAfter,g.retryAfterHuman)}if(0===G.size)return w.warn("AUTH",`No active credentials for provider: ${q}`),(0,k.yj)(t.gx.SERVICE_UNAVAILABLE,`No active credentials for provider: ${q}`);return w.warn("CHAT","No more accounts available",{provider:q}),(0,k.yj)(I||t.gx.SERVICE_UNAVAILABLE,H||"All accounts unavailable")}w.info("AUTH",`\x1b[32mUsing ${q} account: ${g.connectionName}\x1b[0m`);let h=await (0,x.eU)(q,g);if(("antigravity"===q||"gemini-cli"===q)&&!h.projectId){let a=await (0,y.eG)(g.connectionId,h.accessToken,q);a&&(h.projectId=a,(0,x.vN)(g.connectionId,{projectId:a}).catch(()=>{}))}let l=(j.providerThinking||{})[q]||null,m=(j.providerModelTransports||{})[q]||null,n=Date.now(),o=await (0,i.wk)({body:{...a,model:`${q}/${A}`},modelInfo:{provider:q,model:A},credentials:m?{...h,modelTransports:m}:h,log:w,clientRawRequest:c,connectionId:g.connectionId,userAgent:E,apiKey:e,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!!j.rtkEnabled,headroomEnabled:!!j.headroomEnabled,headroomUrl:j.headroomUrl||"http://localhost:8787",headroomCompressUserMessages:!!j.headroomCompressUserMessages,cavemanEnabled:!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",ponytailEnabled:!!j.ponytailEnabled,ponytailLevel:j.ponytailLevel||"full",pxpipeEnabled:!!j.pxpipeEnabled,pxpipeMinChars:j.pxpipeMinChars,pxpipeTimeoutMs:j.pxpipeTimeoutMs,pxpipeTransform:await B(j),onPxpipeEvent:r.T0,providerThinking:l,settings:j,sourceFormatOverride:d?.url?(0,v.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,x.vN)(g.connectionId,{...a,existingProviderSpecificData:g.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(g.connectionId,g,A)}});if((0,u.Up)(g.connectionId,!!o.success,Date.now()-n,{provider:q,model:A,strategy:"zenith"}),o.success){if(!J&&K&&g.connectionId&&(0,z.BO)(K,g.connectionId),j.responseCacheEnabled&&!0!==a.stream)try{let c=o.response.clone(),d=c.headers.get("content-type")||"application/json";c.text().then(e=>{(0,s.$T)({model:b,body:a,status:c.status,contentType:d,responseBody:e,estimatedTokens:Math.ceil(e.length/4),ttlMs:1e3*(j.responseCacheTtlSec||300)})}).catch(()=>{})}catch{}return o.response}if(o.emergencyFallback&&!a.__emergencyFallbackUsed){let b=o.emergencyFallback;w.info("EMERGENCY",`${q}/${A} → ${b.provider}/${b.model} (${b.reason})`);try{let g=await (0,f.c1)(b.provider,new Set,b.model);if(g&&!g.allRateLimited){let f={...a,__emergencyFallbackUsed:!0,model:`${b.provider}/${b.model}`};b.maxOutputTokens&&(f.max_tokens=Math.min(f.max_tokens||b.maxOutputTokens,b.maxOutputTokens));let h=await (0,i.wk)({body:f,modelInfo:{provider:b.provider,model:b.model},credentials:(j.providerModelTransports||{})[b.provider]?{...g,modelTransports:j.providerModelTransports[b.provider]}:g,log:w,clientRawRequest:c,userAgent:E,apiKey:e,connectionId:g.connectionId,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!!j.rtkEnabled,headroomEnabled:!!j.headroomEnabled,headroomUrl:j.headroomUrl||"http://localhost:8787",headroomCompressUserMessages:!!j.headroomCompressUserMessages,cavemanEnabled:!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",ponytailEnabled:!!j.ponytailEnabled,ponytailLevel:j.ponytailLevel||"full",pxpipeEnabled:!!j.pxpipeEnabled,pxpipeMinChars:j.pxpipeMinChars,pxpipeTimeoutMs:j.pxpipeTimeoutMs,pxpipeTransform:await B(j),onPxpipeEvent:r.T0,providerThinking:(j.providerThinking||{})[b.provider]||null,sourceFormatOverride:d?.url?(0,v.t)(new URL(d.url).pathname,a):null,settings:j});if(h.success)return h.response;w.warn("EMERGENCY",`fallback ${b.provider}/${b.model} also failed: ${h.status}`)}else w.warn("EMERGENCY",`no credentials for fallback ${b.provider}, skipping`)}catch(a){w.warn("EMERGENCY",`fallback path threw: ${a.message}`)}}let{shouldFallback:p}=await (0,f.vk)(g.connectionId,o.status,o.error,q,A,o.resetsAtMs);if(p){w.warn("AUTH",`Account ${g.connectionName} unavailable (${o.status}), trying fallback`),G.add(g.connectionId),H=o.error,I=o.status;continue}return o.response}}[e,i]=A.then?(await A)():A,d()}catch(a){d(a)}})},87155:(a,b,c)=>{c.d(b,{CG:()=>r,ED:()=>w,S1:()=>u,XF:()=>j,_g:()=>v,kC:()=>s,no:()=>t,sW:()=>y});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120);let j=g().join(i.n,"pxpipe"),k="pxpipe-proxy",l=g().join(j,"install.log"),m="win32"===process.platform,n=m?"npm.cmd":"npm",o=[...m?[`${process.env.ProgramFiles||""}\\nodejs`,`${process.env.APPDATA||""}\\npm`]:["/usr/local/bin","/opt/homebrew/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(g().delimiter),p=null;function q(){return g().join(j,"node_modules",k)}function r(){return g().join(q(),"dist","core","library.js")}function s(){return g().join(q(),"dist","core","applicability.js")}function t(){try{let a=(0,h.execSync)(`${m?"where":"which"} npm`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:o}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function u(){try{let a=g().join(q(),"package.json");if(!e().existsSync(a)||!e().existsSync(r()))return{installed:!1,version:null,path:null};let b=JSON.parse(e().readFileSync(a,"utf8"));return{installed:!0,version:b.version||null,path:q()}}catch{return{installed:!1,version:null,path:null}}}function v(){return null!==p}function w(){return p||(p=x().finally(()=>{p=null}))}async function x(){let a=t();if(!a){let a=Error("npm not found on PATH — Node.js/npm is required to install PXPIPE");throw a.code="NPM_NOT_FOUND",a}e().existsSync(j)||e().mkdirSync(j,{recursive:!0});let b=g().join(j,"package.json");e().existsSync(b)||e().writeFileSync(b,JSON.stringify({name:"9router-pxpipe-host",private:!0},null,2));let c=e().openSync(l,"a");e().writeSync(c,`
|
|
1
|
+
"use strict";exports.id=6200,exports.ids=[6200],exports.modules={9999:(a,b,c)=>{c.d(b,{$S:()=>l,$T:()=>m,QS:()=>n,e3:()=>o});var d=c(77598),e=c.n(d);let f=globalThis;f.__krouterResponseCache||(f.__krouterResponseCache=new Map,f.__krouterResponseCacheStats={hits:0,misses:0,skipped:0,bytesSaved:0,tokensSaved:0,lastResetAt:Date.now()});let g=f.__krouterResponseCache,h=f.__krouterResponseCacheStats;function i({model:a,body:b}){let c=JSON.stringify({model:a,system:b?.system??null,instructions:b?.instructions??null,messages:b?.messages??null,input:b?.input??null,contents:b?.contents??null,temperature:b?.temperature??null,max_tokens:b?.max_tokens??b?.max_output_tokens??null,tools:b?.tools??null,tool_choice:b?.tool_choice??null,response_format:b?.response_format??null});return e().createHash("sha256").update(c).digest("hex")}let j=new Set(["antigravity","ag","gemini","gemini-cli","gc"]);function k(a,b=null){if(!a||"object"!=typeof a||!0===a.stream||"number"==typeof a.temperature&&a.temperature>.3||"required"===a.tool_choice)return!1;let c=function(a){if("string"!=typeof a)return null;let b=a.indexOf("/");return b>0?a.slice(0,b):null}(b);if(c&&j.has(c))return!1;let d=a.max_tokens??a.max_output_tokens??null;return"number"!=typeof d||!(d<32)}function l({model:a,body:b}){if(!k(b,a))return h.skipped++,null;let c=i({model:a,body:b}),d=g.get(c);return d?d.expiresAt<Date.now()?(g.delete(c),h.misses++,null):(g.delete(c),g.set(c,d),h.hits++,h.bytesSaved+=d.bodyBytes||0,h.tokensSaved+=d.estimatedTokens||0,d):(h.misses++,null)}function m({model:a,body:b,status:c,contentType:d,responseBody:e,estimatedTokens:f=0,ttlMs:h=3e5,maxEntries:j=500}){if(!k(b,a)||200!==c||!e||"string"==typeof e&&e.length<100)return!1;let l=i({model:a,body:b}),n="string"==typeof e?e:JSON.stringify(e),o={key:l,status:c,contentType:d||"application/json",body:n,bodyBytes:Buffer.byteLength(n,"utf-8"),estimatedTokens:f,expiresAt:Date.now()+h,storedAt:Date.now(),model:a};for(g.set(l,o);g.size>j;){let a=g.keys().next().value;if(void 0===a)break;g.delete(a)}return!0}function n(){let a=h.hits+h.misses;return{enabled:!0,entries:g.size,hits:h.hits,misses:h.misses,skipped:h.skipped,hitRate:a>0?h.hits/a:0,bytesSaved:h.bytesSaved,tokensSaved:h.tokensSaved,lastResetAt:h.lastResetAt}}function o(){g.clear(),h.hits=0,h.misses=0,h.skipped=0,h.bytesSaved=0,h.tokensSaved=0,h.lastResetAt=Date.now()}},24253:(a,b,c)=>{c.d(b,{I6:()=>n,Mo:()=>i,RG:()=>m,V:()=>j,Y8:()=>l,xl:()=>o});var d=c(1932),e=c(87155);let f=null,g=null,h=null;function i(){return g?{loaded:!0,version:g.version,loadedAt:g.loadedAt}:{loaded:!1}}async function j(){return g||h||(h=k().finally(()=>{h=null}))}async function k(){let a=(0,e.S1)();if(!a.installed){let a=Error("PXPIPE is not installed");throw a.code="NOT_INSTALLED",a}let b=`${(0,d.pathToFileURL)((0,e.CG)()).href}?v=${encodeURIComponent(a.version||"0")}`,c=await import(b);if("function"!=typeof c.transformAnthropicMessages)throw Error("installed pxpipe package does not export transformAnthropicMessages");return g={module:c,version:a.version,loadedAt:Date.now()}}function l(){let a=!!g;return g=null,a}async function m({autoLoad:a=!0}={}){try{if(!g&&!a)return null;let{module:b}=await j();return b.transformAnthropicMessages}catch{return null}}async function n(a){let b=Array.isArray(a)?a.map(a=>String(a).trim()).filter(Boolean):[],c=b.slice().sort().join(",");if(c!==f)try{if(!(0,e.S1)().installed)return;let a=await import((0,d.pathToFileURL)((0,e.kC)()).href);"function"==typeof a.setAllowedModelBases&&(a.setAllowedModelBases(b.length?b:null),f=c)}catch{}}async function o(){let a=Date.now(),{module:b}=await j(),c=new TextEncoder().encode(JSON.stringify({model:"claude-fable-5",max_tokens:16,messages:[{role:"user",content:"ping"}]})),d=await b.transformAnthropicMessages({body:c,model:"claude-fable-5"});if(!d||"boolean"!=typeof d.applied||!(d.body instanceof Uint8Array))throw Error("transform returned an unexpected shape");return{ok:!0,reason:d.reason,durationMs:Date.now()-a}}},25772:(a,b,c)=>{c.d(b,{Io:()=>h,WV:()=>f});let d=null,e=0;function f(a={}){let{sidecarUrl:b=process.env.SIDECAR_URL||"http://127.0.0.1:5001/redact",timeout:h=Number(process.env.REDACTION_TIMEOUT_MS)||15e3,enabled:i="false"!==process.env.REDACTION_ENABLED,failOpen:j="true"===process.env.REDACTION_FAIL_OPEN}=a;return async function(a,f){if(!i)return f(a);if(Date.now()-e>1e4)try{let{getSettings:a}=await Promise.resolve().then(c.bind(c,42655)),b=await a();d=!!(b.presidioEnabled&&b.presidioPiiRedaction),e=Date.now()}catch(b){if(console.error("[Redaction Middleware] Failed to read settings:",b),!0===d&&!j)return new Response(JSON.stringify({error:{message:"Unable to verify redaction settings",code:"SETTINGS_ERROR",type:"settings_error"}}),{status:500,headers:{"Content-Type":"application/json"}});return f(a)}if(!d||"POST"!==a.method)return f(a);try{let c=await a.clone().json(),d=[],e=[];if(Array.isArray(c.messages))for(let a=0;a<c.messages.length;a++){let b=c.messages[a],f=b?.content;if(f){if("string"==typeof f)d.push(f),e.push({type:"string",index:a});else if(Array.isArray(f))for(let b=0;b<f.length;b++){let c=f[b];c?.type==="text"&&"string"==typeof c?.text&&(d.push(c.text),e.push({type:"array",msgIndex:a,blockIndex:b}))}}}if("string"==typeof c.system)d.push(c.system),e.push({type:"system-string"});else if(Array.isArray(c.system))for(let a=0;a<c.system.length;a++){let b=c.system[a];b?.type==="text"&&"string"==typeof b?.text&&(d.push(b.text),e.push({type:"system-block",blockIndex:a}))}if("string"==typeof c.instructions&&(d.push(c.instructions),e.push({type:"instructions"})),"string"==typeof c.input)d.push(c.input),e.push({type:"input-string"});else if(Array.isArray(c.input))for(let a=0;a<c.input.length;a++){let b=c.input[a],f=b?.content;if("string"==typeof f)d.push(f),e.push({type:"input-item-string",index:a});else if(Array.isArray(f))for(let b=0;b<f.length;b++){let c=f[b];(c?.type==="input_text"||c?.type==="output_text"||c?.type==="text")&&"string"==typeof c?.text&&(d.push(c.text),e.push({type:"input-item-block",itemIndex:a,blockIndex:b}))}}if(Array.isArray(c.messages))for(let a=0;a<c.messages.length;a++){let b=c.messages[a];if(b?.role==="tool"&&"string"==typeof b.content&&(d.push(b.content),e.push({type:"tool-message",index:a})),Array.isArray(b?.tool_calls))for(let c=0;c<b.tool_calls.length;c++){let f=b.tool_calls[c]?.function?.arguments;"string"==typeof f&&f.length>0&&(d.push(f),e.push({type:"tool-call-args",msgIndex:a,callIndex:c}))}if(Array.isArray(b?.content))for(let c=0;c<b.content.length;c++){let f=b.content[c];if(f?.type==="tool_result"){if("string"==typeof f.content)d.push(f.content),e.push({type:"tool-result-string",msgIndex:a,blockIndex:c});else if(Array.isArray(f.content))for(let b=0;b<f.content.length;b++){let g=f.content[b];g?.type==="text"&&"string"==typeof g.text&&(d.push(g.text),e.push({type:"tool-result-block",msgIndex:a,blockIndex:c,innerIndex:b}))}}}}if(Array.isArray(c.tools))for(let a=0;a<c.tools.length;a++){let b=c.tools[a];"string"==typeof b?.description&&b.description.length>0?(d.push(b.description),e.push({type:"tool-desc",index:a})):"string"==typeof b?.function?.description&&b.function.description.length>0&&(d.push(b.function.description),e.push({type:"tool-fn-desc",index:a}))}if(0===d.length)return f(a);let i=await g(b,d,{timeout:h}),j=0;for(let a of e){if("string"===a.type)c.messages[a.index].content=i[j];else if("array"===a.type)c.messages[a.msgIndex].content[a.blockIndex].text=i[j];else if("system-string"===a.type)c.system=i[j];else if("system-block"===a.type)c.system[a.blockIndex].text=i[j];else if("instructions"===a.type)c.instructions=i[j];else if("input-string"===a.type)c.input=i[j];else if("input-item-string"===a.type)c.input[a.index].content=i[j];else if("input-item-block"===a.type)c.input[a.itemIndex].content[a.blockIndex].text=i[j];else if("tool-message"===a.type)c.messages[a.index].content=i[j];else if("tool-call-args"===a.type){let b=i[j],d=!1;try{JSON.parse(b),d=!0}catch{d=!1}d?c.messages[a.msgIndex].tool_calls[a.callIndex].function.arguments=b:console.warn("[Redaction Middleware] Skipped tool_call arguments: redaction produced invalid JSON")}else"tool-result-string"===a.type?c.messages[a.msgIndex].content[a.blockIndex].content=i[j]:"tool-result-block"===a.type?c.messages[a.msgIndex].content[a.blockIndex].content[a.innerIndex].text=i[j]:"tool-desc"===a.type?c.tools[a.index].description=i[j]:"tool-fn-desc"===a.type&&(c.tools[a.index].function.description=i[j]);j++}let k=new Request(a.url,{method:a.method,headers:a.headers,body:JSON.stringify(c)});return f(k)}catch(e){if(console.error(`[Redaction Middleware] Error: ${e.message}`),j)return console.warn("[Redaction Middleware] Fail-open enabled - proceeding with original request"),f(a);let b=500,c="internal_error",d="Request processing failed";return"AbortError"===e.name||e.message.includes("timeout")||e.message.includes("TIMEOUT")?(b=503,c="redaction_timeout",d="PII redaction service unavailable. Please try again later."):e.message.includes("fetch")||e.message.includes("ECONNREFUSED")||e.message.includes("ENOTFOUND")||e.message.includes("ECONNRESET")||"TypeError"===e.name&&e.message.includes("fetch")?(b=503,c="redaction_service_unavailable",d="PII redaction service unavailable. Please try again later."):e.message.includes("redact")||e.message.includes("sidecar")||e.message.includes("HTTP 5")?(b=502,c="redaction_service_error",d="PII redaction service error. Please try again later."):(e.message.includes("Invalid")||e.message.includes("format"))&&(b=400,c="invalid_request",d="Invalid request format."),console.error(JSON.stringify({timestamp:new Date().toISOString(),event:"redaction_failure",errorType:c,errorMessage:e.message,statusCode:b,path:new URL(a.url).pathname,method:a.method})),new Response(JSON.stringify({error:{message:d,code:c.toUpperCase(),type:c,requestId:a.headers.get("x-request-id")||void 0}}),{status:b,headers:{"Content-Type":"application/json","X-Redaction-Failed":"true"}})}}}async function g(a,b,{timeout:c=2e3}={}){let d=new AbortController,e=setTimeout(()=>d.abort(),c);try{let c=await fetch(a,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({texts:b}),signal:d.signal});if(!c.ok)throw Error(`Sidecar redaction service error: HTTP ${c.status}`);let e=await c.json();if(!e.redacted_texts||!Array.isArray(e.redacted_texts))throw Error("Sidecar redaction service returned invalid response");if(e.redacted_texts.length!==b.length)throw Error("Sidecar redaction service returned wrong number of redacted texts");return e.redacted_texts}finally{clearTimeout(e)}}function h(a,b={}){let c=f(b);return async function(b,...d){return c(b,b=>a(b,...d))}}},38775:(a,b,c)=>{c.d(b,{d_:()=>k,mA:()=>j});var d=c(89718),e=c(40669),f=c(35024),g=c(44404);let h={xmtp:"xiaomi-tokenplan","xiaomi-tokenplan":"xiaomi-tokenplan"},i=new Set([...Object.keys(h),...Object.keys(f.xq),...Object.keys(g.Xg),...Object.values(g.Xg)]);async function j(a){let b,c=(b=(0,e.Xh)(a),b?.providerAlias&&h[b.providerAlias]?{...b,provider:h[b.providerAlias]}:b);if(!c.isAlias){if(!i.has(c.providerAlias)){let a=(await (0,d.Fh)({type:"openai-compatible"})).find(a=>a.prefix===c.providerAlias);if(a)return{provider:a.id,model:c.model};let b=(await (0,d.Fh)({type:"anthropic-compatible"})).find(a=>a.prefix===c.providerAlias);if(b)return{provider:b.id,model:c.model};let e=(await (0,d.Fh)({type:"custom-embedding"})).find(a=>a.prefix===c.providerAlias);if(e)return{provider:e.id,model:c.model}}return{provider:c.provider,model:c.model}}return await (0,d.Dj)(c.model)?{provider:null,model:c.model}:(0,e.js)(a,d.OM)}async function k(a){if(a.includes("/"))return null;let b=await (0,d.Dj)(a);return b&&b.models&&b.models.length>0?b.models:null}},46945:(a,b,c)=>{c.d(b,{V:()=>e});let d=/\[1m\]$/i;function e(a){if("string"!=typeof a)return{model:a,contextMarker:null};let b=a.trim(),c=b.match(d);return c?{model:b.slice(0,-c[0].length),contextMarker:c[0].slice(1,-1).toLowerCase()}:{model:a,contextMarker:null}}},54413:(a,b,c)=>{c.d(b,{D:()=>e});let d={"qwen3.6-plus-free":{replacement:"qwen3.6-plus",tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"minimax-m2.5-free":{replacement:"minimax-m2.5",tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"nemotron-3-super-free":{replacement:null,tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"trinity-large-preview-free":{replacement:null,tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"},"big-pickle":{replacement:null,tier:"opencode-go (API key)",reason:"OpenCode discontinued its free tier"}};function e(a){if(!a||"string"!=typeof a)return null;let b=a.includes("/")?a.slice(a.lastIndexOf("/")+1):a,c=d[b];if(!c)return null;let e=c.replacement?`Use "${c.replacement}" on the ${c.tier} instead.`:`No direct replacement — pick a live model on the ${c.tier}.`;return`Model "${b}" has been retired (${c.reason}). ${e}`}},74388:(a,b,c)=>{c.d(b,{Az:()=>l,SP:()=>o,T0:()=>k});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(87155);let i=g().join(h.XF,"events.jsonl"),j=g().join(h.XF,"events.jsonl.1");function k(a){try{e().existsSync(h.XF)||e().mkdirSync(h.XF,{recursive:!0});try{e().statSync(i).size>5242880&&e().renameSync(i,j)}catch{}e().appendFile(i,JSON.stringify({ts:Date.now(),...a})+"\n",()=>{})}catch{}}function l({sinceMs:a=null,limit:b=null}={}){let c=[];for(let b of[j,i])try{if(!e().existsSync(b))continue;for(let d of e().readFileSync(b,"utf8").split("\n"))if(d)try{let b=JSON.parse(d);if(a&&b.ts<a)continue;c.push(b)}catch{}}catch{}return c.sort((a,b)=>a.ts-b.ts),b?c.slice(-b):c}function m(){return{requests:0,compressed:0,bypassed:0,errors:0,tokensBeforeEst:0,tokensAfterEst:0,tokensSavedEst:0,savedPct:0,imagesGenerated:0,compressionTimeMs:0,avgCompressionMs:0}}function n(a,b){a.requests++,b.applied?(a.compressed++,a.tokensBeforeEst+=b.tokensBeforeEst||0,a.tokensAfterEst+=b.tokensAfterEst||0,a.tokensSavedEst+=b.tokensSavedEst||0,a.imagesGenerated+=b.imageCount||0,a.compressionTimeMs+=b.durationMs||0):"transform_error"===b.reason||"timeout"===b.reason?a.errors++:a.bypassed++}function o({timelineDays:a=30,recentLimit:b=100}={}){let c=l(),d=Date.now(),e=new Date(new Date(d).setHours(0,0,0,0)).getTime(),f={all:m(),today:m(),yesterday:m(),last7d:m(),last30d:m()},g=new Map;for(let b=a-1;b>=0;b--){let a=new Date(e-864e5*b);g.set(a.toISOString().slice(0,10),{date:a.toISOString().slice(0,10),tokensSavedEst:0,compressed:0,requests:0})}for(let a of c){n(f.all,a),a.ts>=e?n(f.today,a):a.ts>=e-864e5&&n(f.yesterday,a),a.ts>=d-6048e5&&n(f.last7d,a),a.ts>=d-2592e6&&n(f.last30d,a);let b=new Date(a.ts).toISOString().slice(0,10),c=g.get(b);c&&(c.requests++,a.applied&&(c.compressed++,c.tokensSavedEst+=a.tokensSavedEst||0))}for(let a of Object.values(f))a.savedPct=a.tokensBeforeEst>0?+(a.tokensSavedEst/a.tokensBeforeEst*100).toFixed(2):0,a.avgCompressionMs=a.compressed>0?Math.round(a.compressionTimeMs/a.compressed):0;return{windows:f,timeline:[...g.values()],recent:c.slice(-b).reverse()}}},79489:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{P:()=>D});var e=c(48895),f=c(80238),g=c(89718),h=c(38775),i=c(92500),j=c(46945),k=c(43659),l=c(12557),m=c(54413),n=c(8864),o=c(38962),p=c(17603),q=c(27349),r=c(24253),s=c(74388),t=c(9999),u=c(41004),v=c(53258),w=c(14170),x=c(7803),y=c(67828),z=c(38160),A=c(29385),B=a([e,i]);async function C(a){return a?.pxpipeEnabled?(await (0,r.I6)(a.pxpipeModels),(0,r.RG)()):null}async function D(a,b=null){let d;try{d=await a.json()}catch{return x.warn("CHAT","Invalid JSON body"),(0,k.yj)(u.gx.BAD_REQUEST,"Invalid JSON body")}b||(b={endpoint:new URL(a.url).pathname,body:d,headers:Object.fromEntries(a.headers.entries())});let e=new URL(a.url),{model:i,contextMarker:l}=(0,j.V)(d.model);l&&(d.model=i);let m=d.messages?.length||d.input?.length||0,n=d.tools?.length||0,r=d.reasoning_effort||d.reasoning?.effort||null;x.request("POST",`${e.pathname} | ${i} | ${m} msgs${n?` | ${n} tools`:""}${r?` | effort=${r}`:""}`);let s=a.headers.get("Authorization"),v=(0,f.Tr)(a);if(s&&v){let a=x.maskKey(v);x.debug("AUTH",`API Key: ${a}`)}else x.debug("AUTH","No API key provided (local mode)");let w=await (0,g.mt)();if(w.requireApiKey){if(!v)return x.warn("AUTH","Missing API key (requireApiKey=true)"),(0,k.yj)(u.gx.UNAUTHORIZED,"Missing API key");if(!await (0,f.kI)(v))return x.warn("AUTH","Invalid API key (requireApiKey=true)"),(0,k.yj)(u.gx.UNAUTHORIZED,"Invalid API key")}if(!i)return x.warn("CHAT","Missing model"),(0,k.yj)(u.gx.BAD_REQUEST,"Missing model");try{let{classifyPromptIntent:a}=await c.e(9849).then(c.bind(c,49849)),{classifyRequestComplexity:b}=await c.e(3523).then(c.bind(c,23523)),e=(d?.messages||[]).find(a=>a?.role==="user"),f="string"==typeof e?.content?e.content:Array.isArray(e?.content)&&e.content.find(a=>a?.text)?.text||"",g=(d?.messages||[]).find(a=>a?.role==="system"),h="string"==typeof g?.content?g.content:"",i=a(f,h),j=b(d);x.debug("ROUTING",`intent=${i} | complexity=${j.level} score=${j.score} tier=${j.recommendedTier}${j.hasToolUse?" tools=yes":""}`)}catch(a){x.debug("ROUTING",`classify failed: ${a?.message}`)}let y=a?.headers?.get("user-agent")||"",z=(0,q.c)(d,i,y,!!w.ccFilterNaming);if(z)return z.response||z;if(w.responseCacheEnabled){let a=(0,t.$S)({model:i,body:d});if(a)return x.info("CHAT",`[CACHE HIT] ${i} (${a.bodyBytes}B saved)`),new Response(a.body,{status:a.status,headers:{"Content-Type":a.contentType,"X-Cache":"HIT","X-Cache-Age-Ms":String(Date.now()-a.storedAt)}})}let A=(0,o.t8)(d),B=await (0,h.d_)(i);if(B){let c=w.comboStrategies||{},e=c[i]?.fallbackStrategy||w.comboStrategy||"fallback",f=(0,p.R8)(B,A,w),g=f.filter(a=>!B.includes(a));if("fusion"===e)return x.info("CHAT",`Combo "${i}" with ${B.length} models (strategy: fusion)`),(0,o.vt)({body:d,models:B,handleSingleModel:(c,d)=>E(c,d,b,a,v,w,1),log:x,comboName:i,judgeModel:c[i]?.judgeModel,tuning:c[i]?.fusionTuning});let h=w.comboStickyRoundRobinLimit;return x.info("CHAT",`Combo "${i}" with ${f.length} models (strategy: ${e}, sticky: ${h})`),(0,o.Pr)({body:d,models:f,handleSingleModel:(0,p.ar)((c,d)=>E(c,d,b,a,v,w,1),g),log:x,comboName:i,comboStrategy:e,comboStickyLimit:h})}let C=(0,p.R8)([i],A,w);if(C.length>1){let c=C.filter(a=>a!==i);return x.info("CHAT",`Capacity adapter for [${[...A].join(",")}] on "${i}" → trying ${C.join(", ")}`),(0,o.Pr)({body:d,models:C,handleSingleModel:(0,p.ar)((c,d)=>E(c,d,b,a,v,w,1),c),log:x,comboName:i,comboStrategy:(0,p.vB)(A,w)})}return E(d,i,b,a,v,w,0)}async function E(a,b,c=null,d=null,e=null,j=null,p=0){j||(j=await (0,g.mt)());let q=await (0,h.mA)(b);if(!q.provider){let f=await (0,h.d_)(b);if(f){if(p>=3)return x.warn("CHAT",`Combo recursion limit hit for "${b}" at depth ${p} — refusing to dispatch`),(0,k.yj)(u.gx.BAD_REQUEST,`Combo recursion limit (3) exceeded for "${b}"`);let g=j.comboStrategies||{},h=g[b]?.fallbackStrategy||j.comboStrategy||"fallback";if("fusion"===h)return x.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: fusion, depth: ${p})`),(0,o.vt)({body:a,models:f,handleSingleModel:(a,b)=>E(a,b,c,d,e,j,p+1),log:x,comboName:b,judgeModel:g[b]?.judgeModel,tuning:g[b]?.fusionTuning});let i=j.comboStickyRoundRobinLimit;return x.info("CHAT",`Combo "${b}" with ${f.length} models (strategy: ${h}, sticky: ${i}, depth: ${p})`),(0,o.Pr)({body:a,models:f,handleSingleModel:(a,b)=>E(a,b,c,d,e,j,p+1),log:x,comboName:b,comboStrategy:h,comboStickyLimit:i})}return x.warn("CHAT","Invalid model format",{model:b}),(0,k.yj)(u.gx.BAD_REQUEST,"Invalid model format")}let{provider:r,model:B}=q,D=(0,m.D)(B);if(D)return x.warn("CHAT",`Retired model "${B}" requested → ${D}`),(0,k.yj)(u.gx.BAD_REQUEST,D);b!==`${r}/${B}`?x.info("ROUTING",`${b} → ${r}/${B}`):x.info("ROUTING",`Provider: ${r}, Model: ${B}`);let F=d?.headers?.get("user-agent")||"",G=d?.headers?.get("x-bypass-modellock")==="1",H=new Set,I=null,J=null,K="round-robin"===(0,n.z)(j,r),L=(0,A.bI)(a,{provider:r}),M=!K&&L?(0,A.Wq)(L):null;for(;;){let g=await (0,f.c1)(r,H,B,{bypassModelLock:G,preferredConnectionId:M&&!H.has(M)?M:null});if(!g||g.allRateLimited){if(g?.allRateLimited){let a=I||g.lastError||"Unavailable",b=(0,l.z7)(g.lastErrorCode,u.gx.SERVICE_UNAVAILABLE);if(x.warn("CHAT",`[${r}/${B}] ${a} (${b===u.gx.SERVICE_UNAVAILABLE?g.retryAfterHuman:`reported as ${b}`})`),b!==u.gx.SERVICE_UNAVAILABLE)return(0,k.yj)(b,`[${r}/${B}] ${a}`);return(0,k.wO)(b,`[${r}/${B}] ${a}`,g.retryAfter,g.retryAfterHuman)}if(0===H.size)return x.warn("AUTH",`No active credentials for provider: ${r}`),(0,k.yj)(u.gx.SERVICE_UNAVAILABLE,`No active credentials for provider: ${r}`);return x.warn("CHAT","No more accounts available",{provider:r}),(0,k.yj)(J||u.gx.SERVICE_UNAVAILABLE,I||"All accounts unavailable")}x.info("AUTH",`\x1b[32mUsing ${r} account: ${g.connectionName}\x1b[0m`);let h=await (0,y.eU)(r,g);if(("antigravity"===r||"gemini-cli"===r)&&!h.projectId){let a=await (0,z.eG)(g.connectionId,h.accessToken,r);a&&(h.projectId=a,(0,y.vN)(g.connectionId,{projectId:a}).catch(()=>{}))}let m=(j.providerThinking||{})[r]||null,n=(j.providerModelTransports||{})[r]||null,o=Date.now(),p=await (0,i.wk)({body:{...a,model:`${r}/${B}`},modelInfo:{provider:r,model:B},credentials:n?{...h,modelTransports:n}:h,log:x,clientRawRequest:c,connectionId:g.connectionId,userAgent:F,apiKey:e,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!!j.rtkEnabled,headroomEnabled:!!j.headroomEnabled,headroomUrl:j.headroomUrl||"http://localhost:8787",headroomCompressUserMessages:!!j.headroomCompressUserMessages,cavemanEnabled:!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",ponytailEnabled:!!j.ponytailEnabled,ponytailLevel:j.ponytailLevel||"full",pxpipeEnabled:!!j.pxpipeEnabled,pxpipeMinChars:j.pxpipeMinChars,pxpipeTimeoutMs:j.pxpipeTimeoutMs,pxpipeTransform:await C(j),onPxpipeEvent:s.T0,providerThinking:m,settings:j,sourceFormatOverride:d?.url?(0,w.t)(new URL(d.url).pathname,a):null,onCredentialsRefreshed:async a=>{await (0,y.vN)(g.connectionId,{...a,existingProviderSpecificData:g.providerSpecificData,testStatus:"active"})},onRequestSuccess:async()=>{await (0,f.Pt)(g.connectionId,g,B)}});if((0,v.Up)(g.connectionId,!!p.success,Date.now()-o,{provider:r,model:B,strategy:"zenith"}),p.success){if(!K&&L&&g.connectionId&&(0,A.BO)(L,g.connectionId),j.responseCacheEnabled&&!0!==a.stream)try{let c=p.response.clone(),d=c.headers.get("content-type")||"application/json";c.text().then(e=>{(0,t.$T)({model:b,body:a,status:c.status,contentType:d,responseBody:e,estimatedTokens:Math.ceil(e.length/4),ttlMs:1e3*(j.responseCacheTtlSec||300)})}).catch(()=>{})}catch{}return p.response}if(p.emergencyFallback&&!a.__emergencyFallbackUsed){let b=p.emergencyFallback;x.info("EMERGENCY",`${r}/${B} → ${b.provider}/${b.model} (${b.reason})`);try{let g=await (0,f.c1)(b.provider,new Set,b.model);if(g&&!g.allRateLimited){let f={...a,__emergencyFallbackUsed:!0,model:`${b.provider}/${b.model}`};b.maxOutputTokens&&(f.max_tokens=Math.min(f.max_tokens||b.maxOutputTokens,b.maxOutputTokens));let h=await (0,i.wk)({body:f,modelInfo:{provider:b.provider,model:b.model},credentials:(j.providerModelTransports||{})[b.provider]?{...g,modelTransports:j.providerModelTransports[b.provider]}:g,log:x,clientRawRequest:c,userAgent:F,apiKey:e,connectionId:g.connectionId,ccFilterNaming:!!j.ccFilterNaming,rtkEnabled:!!j.rtkEnabled,headroomEnabled:!!j.headroomEnabled,headroomUrl:j.headroomUrl||"http://localhost:8787",headroomCompressUserMessages:!!j.headroomCompressUserMessages,cavemanEnabled:!!j.cavemanEnabled,cavemanLevel:j.cavemanLevel||"full",ponytailEnabled:!!j.ponytailEnabled,ponytailLevel:j.ponytailLevel||"full",pxpipeEnabled:!!j.pxpipeEnabled,pxpipeMinChars:j.pxpipeMinChars,pxpipeTimeoutMs:j.pxpipeTimeoutMs,pxpipeTransform:await C(j),onPxpipeEvent:s.T0,providerThinking:(j.providerThinking||{})[b.provider]||null,sourceFormatOverride:d?.url?(0,w.t)(new URL(d.url).pathname,a):null,settings:j});if(h.success)return h.response;x.warn("EMERGENCY",`fallback ${b.provider}/${b.model} also failed: ${h.status}`)}else x.warn("EMERGENCY",`no credentials for fallback ${b.provider}, skipping`)}catch(a){x.warn("EMERGENCY",`fallback path threw: ${a.message}`)}}let{shouldFallback:q}=await (0,f.vk)(g.connectionId,p.status,p.error,r,B,p.resetsAtMs);if(q){x.warn("AUTH",`Account ${g.connectionName} unavailable (${p.status}), trying fallback`),H.add(g.connectionId),I=p.error,J=p.status;continue}return p.response}}[e,i]=B.then?(await B)():B,d()}catch(a){d(a)}})},87155:(a,b,c)=>{c.d(b,{CG:()=>r,ED:()=>w,S1:()=>u,XF:()=>j,_g:()=>v,kC:()=>s,no:()=>t,sW:()=>y});var d=c(29021),e=c.n(d),f=c(33873),g=c.n(f),h=c(79646),i=c(49120);let j=g().join(i.n,"pxpipe"),k="pxpipe-proxy",l=g().join(j,"install.log"),m="win32"===process.platform,n=m?"npm.cmd":"npm",o=[...m?[`${process.env.ProgramFiles||""}\\nodejs`,`${process.env.APPDATA||""}\\npm`]:["/usr/local/bin","/opt/homebrew/bin",`${process.env.HOME||""}/.local/bin`,"/usr/bin","/bin"],process.env.PATH||""].filter(Boolean).join(g().delimiter),p=null;function q(){return g().join(j,"node_modules",k)}function r(){return g().join(q(),"dist","core","library.js")}function s(){return g().join(q(),"dist","core","applicability.js")}function t(){try{let a=(0,h.execSync)(`${m?"where":"which"} npm`,{stdio:["ignore","pipe","ignore"],windowsHide:!0,env:{...process.env,PATH:o}}).toString().trim();return a?a.split(/\r?\n/)[0].trim():null}catch{return null}}function u(){try{let a=g().join(q(),"package.json");if(!e().existsSync(a)||!e().existsSync(r()))return{installed:!1,version:null,path:null};let b=JSON.parse(e().readFileSync(a,"utf8"));return{installed:!0,version:b.version||null,path:q()}}catch{return{installed:!1,version:null,path:null}}}function v(){return null!==p}function w(){return p||(p=x().finally(()=>{p=null}))}async function x(){let a=t();if(!a){let a=Error("npm not found on PATH — Node.js/npm is required to install PXPIPE");throw a.code="NPM_NOT_FOUND",a}e().existsSync(j)||e().mkdirSync(j,{recursive:!0});let b=g().join(j,"package.json");e().existsSync(b)||e().writeFileSync(b,JSON.stringify({name:"9router-pxpipe-host",private:!0},null,2));let c=e().openSync(l,"a");e().writeSync(c,`
|
|
2
2
|
[${new Date().toISOString()}] npm install ${k}@latest
|
|
3
3
|
`),await new Promise((b,d)=>{let e=(0,h.spawn)(m?n:a,["install",`${k}@latest`,"--no-audit","--no-fund","--omit=dev"],{cwd:j,stdio:["ignore",c,c],windowsHide:!0,shell:m,env:{...process.env,PATH:o}}),f=setTimeout(()=>{e.kill("SIGKILL"),d(Error("npm install timed out after 5 minutes — see install.log"))},3e5);e.once("error",a=>{clearTimeout(f),d(a)}),e.once("exit",a=>{clearTimeout(f),0===a?b():d(Error(`npm install exited with code ${a} — see install.log`))})}).finally(()=>e().closeSync(c));let d=u();if(!d.installed)throw Error("install finished but package is missing — see install.log");return d}function y(a=200){try{if(!e().existsSync(l))return"";return e().readFileSync(l,"utf8").split(/\r?\n/).filter(Boolean).slice(-a).join("\n")}catch{return""}}}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";exports.id=8238,exports.ids=[8238],exports.modules={30869:(a,b,c)=>{c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@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:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5.6-terra",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},38238:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89718),e=c(30869),f=c(54603);async function g(){let a=null;try{let b=await (0,d.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,f.Xj)("9r-cli-auth"),b}async function h(a,b,c=`http://127.0.0.1:${process.env.PORT||e.h0.appPort}`){let d=await g(),f=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,g,h,i=new FormData,j=(g=new DataView(e=new ArrayBuffer(44+(b=8e3))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-f,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}let i=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:{...d,"x-bypass-modellock":"1"},body:JSON.stringify({model:a,max_tokens:1024,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(3e4)}),j=Date.now()-f,k=await i.text().catch(()=>""),l=null;try{l=k?JSON.parse(k):null}catch{}if(!i.ok){let a=l?.error?.message||l?.msg||l?.message||l?.error||k;return{ok:!1,latencyMs:j,error:`HTTP ${i.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:i.status}}let m=l?.status,n=l?.msg||l?.message;if(null!=m&&"200"!==String(m)&&"0"!==String(m)&&n)return{ok:!1,latencyMs:j,status:i.status,error:`Provider status ${m}: ${String(n).slice(0,240)}`};if(l?.error){let a=l?.error?.message||l?.error||"Provider returned an error";return{ok:!1,latencyMs:j,status:i.status,error:String(a).slice(0,240)}}let o=Array.isArray(l?.choices)&&l.choices.length>0,p=l?.choices?.[0]||{},q=p.message?.reasoning||p.message?.reasoning_content||p.message?.thinking||p.message?.thinking_content,r=!String(p.message?.content||"").trim();return o&&"length"===p.finish_reason&&r&&q?{ok:!0,latencyMs:j,error:null,status:i.status,note:"reasoning-only response (length-limited)"}:o?{ok:!0,latencyMs:j,error:null,status:i.status}:{ok:!1,latencyMs:j,status:i.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.5.
|
|
1
|
+
"use strict";exports.id=8238,exports.ids=[8238],exports.modules={30869:(a,b,c)=>{c.d(b,{AA:()=>h,Rg:()=>i,UY:()=>j,X3:()=>k,eh:()=>f.eh,fg:()=>e.fg,h0:()=>g});var d=c(39006),e=c(75681),f=c(81329);d.rE;let g={npmPackageName:"@sifxprime/krouter",installCmd:"npm i -g @sifxprime/krouter",installCmdLatest:"npm i -g @sifxprime/krouter@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:20128},h={settingsKey:"claudeAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"claude-haiku-4-5-20251001",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session (5h)"},i={settingsKey:"codexAutoPing",tickIntervalMs:6e4,pingLeadMs:5e3,pingModel:"gpt-5.6-terra",pingText:"hi",pingMaxTokens:1,refreshAheadMs:3e5,fiveHourKey:"session"},j={maxLines:200,pollIntervalMs:1e3},k={openrouter:"https://openrouter.ai/api/v1/chat/completions",glm:"https://api.z.ai/api/anthropic/v1/messages","glm-cn":"https://open.bigmodel.cn/api/coding/paas/v4/chat/completions",kimi:"https://api.kimi.com/coding/v1/messages",minimax:"https://api.minimax.io/anthropic/v1/messages","minimax-cn":"https://api.minimaxi.com/anthropic/v1/messages",alicode:"https://coding.dashscope.aliyuncs.com/v1/chat/completions","alicode-intl":"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions","volcengine-ark":"https://ark.cn-beijing.volces.com/api/coding/v3/chat/completions",byteplus:"https://ark.ap-southeast.bytepluses.com/api/coding/v3/chat/completions",openai:"https://api.openai.com/v1/chat/completions","vercel-ai-gateway":"https://ai-gateway.vercel.sh/v1/chat/completions",anthropic:"https://api.anthropic.com/v1/messages",gemini:"https://generativelanguage.googleapis.com/v1beta/models",ollama:"https://ollama.com/api/chat","ollama-local":"http://localhost:11434/api/chat"}},38238:(a,b,c)=>{c.d(b,{P:()=>h});var d=c(89718),e=c(30869),f=c(54603);async function g(){let a=null;try{let b=await (0,d.PX)();a=b.find(a=>!1!==a.isActive)?.key||null}catch{}let b={"Content-Type":"application/json"};return a&&(b.Authorization=`Bearer ${a}`),b["x-9r-cli-token"]=await (0,f.Xj)("9r-cli-auth"),b}async function h(a,b,c=`http://127.0.0.1:${process.env.PORT||e.h0.appPort}`){let d=await g(),f=Date.now();if("embedding"===b){let b=await fetch(`${c}/api/v1/embeddings`,{method:"POST",headers:d,body:JSON.stringify({model:a,input:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0&&Array.isArray(h.data[0]?.embedding)?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no embedding data"}}if("image"===b){let b=await fetch(`${c}/api/v1/images/generations`,{method:"POST",headers:d,body:JSON.stringify({model:a,prompt:"test"}),signal:AbortSignal.timeout(15e3)}),e=Date.now()-f,g=await b.text().catch(()=>""),h=null;try{h=g?JSON.parse(g):null}catch{}if(!b.ok){let a=h?.error?.message||h?.msg||h?.message||h?.error||g;return{ok:!1,latencyMs:e,error:`HTTP ${b.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:b.status}}return Array.isArray(h?.data)&&h.data.length>0?{ok:!0,latencyMs:e,error:null,status:b.status}:{ok:!1,latencyMs:e,status:b.status,error:"Provider returned no image data for this model"}}if("stt"===b){let b,e,g,h,i=new FormData,j=(g=new DataView(e=new ArrayBuffer(44+(b=8e3))),(h=(a,b)=>{for(let c=0;c<b.length;c+=1)g.setUint8(a+c,b.charCodeAt(c))})(0,"RIFF"),g.setUint32(4,36+b,!0),h(8,"WAVE"),h(12,"fmt "),g.setUint32(16,16,!0),g.setUint16(20,1,!0),g.setUint16(22,1,!0),g.setUint32(24,16e3,!0),g.setUint32(28,32e3,!0),g.setUint16(32,2,!0),g.setUint16(34,16,!0),h(36,"data"),g.setUint32(40,b,!0),new Blob([e],{type:"audio/wav"}));i.append("file",j,"test.wav"),i.append("model",a);let k=await fetch(`${c}/api/v1/audio/transcriptions`,{method:"POST",headers:Object.fromEntries(Object.entries(d).filter(([a])=>"content-type"!==a.toLowerCase())),body:i,signal:AbortSignal.timeout(15e3)}),l=Date.now()-f,m=await k.text().catch(()=>""),n=null;try{n=m?JSON.parse(m):null}catch{}if(!k.ok){let a=n?.error?.message||n?.msg||n?.message||n?.error||m;return{ok:!1,latencyMs:l,error:`HTTP ${k.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:k.status}}return("string"==typeof n?.text?n.text:"").trim()?{ok:!0,latencyMs:l,error:null,status:k.status}:{ok:!1,latencyMs:l,status:k.status,error:"Provider returned no transcription text for this model"}}let i=await fetch(`${c}/api/v1/chat/completions`,{method:"POST",headers:{...d,"x-bypass-modellock":"1"},body:JSON.stringify({model:a,max_tokens:1024,stream:!1,messages:[{role:"user",content:"hi"}]}),signal:AbortSignal.timeout(3e4)}),j=Date.now()-f,k=await i.text().catch(()=>""),l=null;try{l=k?JSON.parse(k):null}catch{}if(!i.ok){let a=l?.error?.message||l?.msg||l?.message||l?.error||k;return{ok:!1,latencyMs:j,error:`HTTP ${i.status}${a?`: ${String(a).slice(0,240)}`:""}`,status:i.status}}let m=l?.status,n=l?.msg||l?.message;if(null!=m&&"200"!==String(m)&&"0"!==String(m)&&n)return{ok:!1,latencyMs:j,status:i.status,error:`Provider status ${m}: ${String(n).slice(0,240)}`};if(l?.error){let a=l?.error?.message||l?.error||"Provider returned an error";return{ok:!1,latencyMs:j,status:i.status,error:String(a).slice(0,240)}}let o=Array.isArray(l?.choices)&&l.choices.length>0,p=l?.choices?.[0]||{},q=p.message?.reasoning||p.message?.reasoning_content||p.message?.thinking||p.message?.thinking_content,r=!String(p.message?.content||"").trim();return o&&"length"===p.finish_reason&&r&&q?{ok:!0,latencyMs:j,error:null,status:i.status,note:"reasoning-only response (length-limited)"}:o?{ok:!0,latencyMs:j,error:null,status:i.status}:{ok:!1,latencyMs:j,status:i.status,error:"Provider returned no completion choices for this model"}}},39006:a=>{a.exports={rE:"0.5.169"}},54603:(a,b,c)=>{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)}},81329:(a,b,c)=>{c.d(b,{Xg:()=>d.Xg,eh:()=>e,vq:()=>d.vq});var d=c(44404);new Set(Object.entries(c(75681).AI_PROVIDERS).filter(([,a])=>a.passthroughModels).map(([a])=>a));let e=Object.entries(d.vq).flatMap(([a,b])=>b.map(b=>({provider:a,model:b.id,name:b.name})))},89718:(a,b,c)=>{c.d(b,{CG:()=>d.CG,Dj:()=>d.Dj,Fh:()=>d.Fh,Iq:()=>d.Iq,K1:()=>d.K1,KJ:()=>d.KJ,L:()=>d.L,L9:()=>d.L9,Lh:()=>d.Lh,Mc:()=>d.Mc,OM:()=>d.OM,PX:()=>d.PX,Pc:()=>d.Pc,Q9:()=>d.Q9,Q_:()=>d.Q_,Qu:()=>d.Qu,S8:()=>d.S8,Uv:()=>d.Uv,VT:()=>d.VT,XW:()=>d.XW,Xx:()=>d.Xx,Yd:()=>d.Yd,ZO:()=>d.ZO,bI:()=>d.bI,c:()=>d.c,ek:()=>d.ek,fK:()=>d.fK,fv:()=>d.fv,getProviderConnections:()=>d.P,ho:()=>d.ho,hr:()=>d.hr,i0:()=>d.i0,iE:()=>d.iE,jd:()=>d.jd,mt:()=>d.mt,o5:()=>d.o5,oG:()=>d.oG,op:()=>d.op,r4:()=>d.r4,uL:()=>d.uL,ui:()=>d.ui,updateProviderConnection:()=>d.rj,uv:()=>d.uv,yF:()=>d.yF,yg:()=>d.yg,zP:()=>d.zP});var d=c(9248)}};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";exports.id=8895,exports.ids=[8895],exports.modules={324:(a,b,c)=>{c.d(b,{J:()=>e,Q:()=>f});let d={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function e(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),f=(a["openai-intent"]||"").toLowerCase(),g=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase(),h=(a.originator||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===f||"user"===g?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-tui")||c.includes("codex-cli")||c.includes("codex_cli_rs")||c.includes("codex/")||c.includes("codex desktop")||h.startsWith("codex_")?"codex":c.includes("deepseek-tui")?"deepseek-tui":c.includes("kiro")||"kiro"===a["x-amzn-codewhisperer-source"]||a["x-amz-target"]?.toLowerCase?.().startsWith("amazoncodewhispererservice.")?"kiro":null}function f(a,b){if(!a)return!1;let c=d[a];if(!c)return!1;let e=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(e)}},5016:(a,b,c)=>{c.d(b,{NE:()=>s});var d=c(14170),e=c(40345),f=c(8361),g=c(39551),h=c(29675),i=c(73483),j=c(43659),k=c(41004),l=c(81626),m=c(73220),n=c(86171),o=c(47370),p=c(55399),q=c(39418);let r=new Set(["cline","clinepass"]);async function s({providerResponse:a,provider:b,model:c,sourceFormat:t,targetFormat:u,body:v,stream:w,translatedBody:x,finalBody:y,requestStartTime:z,connectionId:A,apiKey:B,clientRawRequest:C,onRequestSuccess:D,reqLogger:E,toolNameMap:F,cloakActive:G,trackDone:H,appendLog:I}){let J,K,L;if(H(),(a.headers.get("content-type")||"").includes("text/event-stream")){let b=await a.text(),d=(0,l.Fe)(b,c);if(!d)return I({status:`FAILED ${k.gx.BAD_GATEWAY}`}),(0,j.A1)(k.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");if(d.error){let a=String(d.error.code||d.error.type||""),b=(0,l.Fh)(d.error,/rate_limit|quota/i.test(a)?k.gx.RATE_LIMITED:k.gx.BAD_GATEWAY);return I({status:`FAILED ${b}`}),(0,j.A1)(b,d.error.message||"Upstream stream failed")}J=d}else try{J=await a.json()}catch(a){return I({status:`FAILED ${k.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,j.A1)(k.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}J=function(a,b){if(!r.has(b))return a;let{success:c,data:d}=a||{};return!0!==c||!d||"object"!=typeof d||Array.isArray(d)?a:d}(J,b),E.logProviderResponse(a.status,a.statusText,a.headers,J),D&&await D(),J=(0,p.kR)(J,F,!0===G);let M=(0,n.MK)(J),N=(0,q.V6)({...(0,q.Ul)(J),maxTokens:y?.max_tokens??x?.max_tokens??v?.max_tokens});N&&E.logConvertedResponse({warning:N.code,detail:N.message}),I({tokens:M,status:"200 OK"}),(0,n.qr)({provider:b,model:c,tokens:M,connectionId:A,apiKey:B,endpoint:C?.endpoint});let O=(0,f.nZ)(u,t)?function(a,b,c){if(b===c)return a;if(b===d.h.OPENAI&&c===d.h.CLAUDE||b===d.h.KIRO&&c===d.h.CLAUDE)return(0,m.F)(a);if(b===d.h.OPENAI&&c===d.h.OPENAI_RESPONSES)return(0,m.r)(a);if(b===d.h.OPENAI)return a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let f=b.candidates[0],g=f.content,h=b.usageMetadata||a.usageMetadata,i="",j="",k=[];if(g?.parts)for(let a of g.parts)!0===a.thought&&a.text?j+=a.text:void 0!==a.text&&(i+=a.text),a.functionCall&&k.push({id:`call_${a.functionCall.name}_${Date.now()}_${k.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let l={role:"assistant"};i&&(l.content=i),j&&(l.reasoning_content=j),k.length>0&&(l.tool_calls=k),l.content||l.tool_calls||(l.content="");let n=(0,e.C)(f.finishReason);"stop"===n&&k.length>0&&(n="tool_calls");let o={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:l,finish_reason:n}]};return(h&&(o.usage={prompt_tokens:(h.promptTokenCount||0)+(h.thoughtsTokenCount||0),completion_tokens:h.candidatesTokenCount||0,total_tokens:h.totalTokenCount||0},h.thoughtsTokenCount>0&&(o.usage.completion_tokens_details={reasoning_tokens:h.thoughtsTokenCount})),c===d.h.CLAUDE)?(0,m.F)(o):o}if(b===d.h.CLAUDE){if(a.choices||a.content&&!Array.isArray(a.content))return a;let b="",c="",d=[];for(let e of a.content||[])"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e=(0,h.refusalExplanation)(a);e&&(b+=e);let f={role:"assistant"};b&&(f.content=b),c&&(f.reasoning_content=c),d.length>0&&(f.tool_calls=d),f.content||f.tool_calls||(f.content="");let g=(0,h.convertStopReason)(a.stop_reason||"end_turn"),i={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:f,finish_reason:g}]};return a.usage&&(i.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)}),i}return b===d.h.OLLAMA?(0,g.ollamaBodyToOpenAI)(a):a}(J,u,t):J,P=t===d.h.CLAUDE&&O?.type==="message",Q=O?.object==="response";if(O?.choices?.[0]){let a=O.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(!P&&!Q&&(O.object||(O.object="chat.completion"),O.created||(O.created=Math.floor(Date.now()/1e3)),delete O.prompt_filter_results,O?.choices))for(let a of O.choices)delete a.content_filter_results;if(O?.usage&&(O.usage=(0,i.WL)((0,i.O9)(O.usage),t)),!P&&O?.choices)for(let a of O.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;E.logConvertedResponse(O);let R=Date.now()-z;return(0,o.ox)((0,n.$R)({provider:b,model:c,connectionId:A,latency:{ttft:R,total:R},tokens:M||{prompt_tokens:0,completion_tokens:0},request:(0,n.Fo)(v,w),providerRequest:y||x||null,providerResponse:J||null,response:Q?(L=(K=Array.isArray(O?.output)?O.output:[]).filter(a=>a?.type==="message").flatMap(a=>a.content||[]).map(a=>a?.text||"").join("")||null,{content:L,thinking:K.filter(a=>a?.type==="reasoning").flatMap(a=>a.summary||[]).map(a=>a?.text||"").join("")||null,finish_reason:O?.status==="incomplete"?"length":O?.status==="completed"?"stop":O?.status||"unknown"}):{content:O?.choices?.[0]?.message?.content||O?.content||null,thinking:O?.choices?.[0]?.message?.reasoning_content||O?.reasoning_content||null,finish_reason:O?.choices?.[0]?.finish_reason||"unknown"},status:N?"empty":"success",warning:N?.code,warningDetail:N?.message},{endpoint:C?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(O),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}},14724:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a,b={}){let c,h;if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let i=a.map(e),j="claude"===b.clientTool?function(a){let b=new Set;for(let c of d)if(a.some(a=>c.triggers.some(b=>f(a,b))))for(let d of a)c.strip.some(a=>f(d,a))&&b.add(d);return b}(i):new Set,k=!function(a){if("string"!=typeof a)return!1;let b=a.replace(/\([^()]+\)\s*$/,"").trim().split("/").pop()||"";return/^deepseek-/i.test(b)}(b.model)?new Set:(c=new Set,h=new Set,i.forEach((a,b)=>{a&&(c.has(a)?h.add(b):c.add(a))}),h);return 0===j.size&&0===k.size?{tools:a,stripped:[]}:{tools:a.filter((a,b)=>!k.has(b)&&!j.has(i[b])),stripped:[...k].map(a=>i[a]).concat([...j])}}},14823:(a,b,c)=>{c.d(b,{H:()=>h,_:()=>i});var d=c(14170);function e(a){try{return JSON.stringify(a)?.length||0}catch{return 0}}function f(a){return Math.round(a/4)}function g(a,b={}){return{body:null,summary:{applied:!1,reason:a,...b}}}async function h(a,{enabled:b,format:c,model:i,minChars:j,timeoutMs:k,transform:l}={}){if(!b)return g("disabled");if("function"!=typeof l)return g("not_installed");if(!a)return g("missing_body");if(c!==d.h.CLAUDE)return g("unsupported_format",{detail:c});let m=Date.now(),n=e(a),o=Number(j)>0?Number(j):25e3;if(n<o)return g("below_threshold",{originalChars:n,threshold:o});try{let b=new TextEncoder().encode(JSON.stringify(a)),c=Number(k)>0?Number(k):15e3,d=await Promise.race([l({body:b,model:i,options:{minCompressChars:o}}),new Promise(a=>setTimeout(()=>a(null),c))]);if(!d)return g("timeout",{originalChars:n,durationMs:Date.now()-m});if(!d.applied)return g(d.reason||"passthrough",{detail:d.detail,originalChars:n,durationMs:Date.now()-m});let h=JSON.parse(new TextDecoder().decode(d.body)),j=e(h),p=d.info||{},q=p.compressedChars||0,r=p.imageTokens||(p.imagePixels?Math.round(p.imagePixels/750):4761*(p.imageCount||0)),s={applied:!0,reason:"applied",originalChars:n,compressedBodyChars:j,imagedChars:q,imageCount:p.imageCount||0,imageBytes:p.imageBytes||0,tokensBeforeEst:p.baselineTokens||f(n),tokensAfterEst:f(Math.max(0,n-q))+r,durationMs:Date.now()-m,cacheOwnsControl:d.cache?.ownsCacheControl===!0};return s.tokensSavedEst=Math.max(0,s.tokensBeforeEst-s.tokensAfterEst),s.savedPct=s.tokensBeforeEst>0?+(s.tokensSavedEst/s.tokensBeforeEst*100).toFixed(2):0,{body:h,summary:s}}catch(a){return g("transform_error",{detail:a?.message||String(a),originalChars:n,durationMs:Date.now()-m})}}function i(a){return a&&a.applied?`imaged ${a.imagedChars}ch → ${a.imageCount} image(s) | est ${a.tokensBeforeEst}→${a.tokensAfterEst} tokens (-${a.savedPct}%) | ${a.durationMs}ms`:null}},20623:(a,b,c)=>{c.d(b,{$:()=>q,M:()=>p});var d=c(14170),e=c(8361),f=c(71857),g=c(59657),h=c(35024),i=c(41004),j=c(30320),k=c(9024),l=c(86171),m=c(47370),n=c(39418);let o={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"};function p({providerResponse:a,provider:b,model:c,sourceFormat:n,targetFormat:q,userAgent:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,apiKey:y,clientRawRequest:z,onRequestSuccess:A,reqLogger:B,toolNameMap:C,streamController:D,onStreamComplete:E,pxpipe:F}){A&&A();let G=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:g,reqLogger:h,toolNameMap:i,model:j,connectionId:k,body:l,onStreamComplete:m,apiKey:n,cloakActive:o}){let p=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if("codex"===a&&c===d.h.OPENAI_RESPONSES&&!p){let c;return c=b===d.h.OPENAI_RESPONSES?d.h.OPENAI_RESPONSES:b===d.h.CLAUDE?d.h.CLAUDE:b===d.h.ANTIGRAVITY||b===d.h.GEMINI||b===d.h.GEMINI_CLI?d.h.ANTIGRAVITY:d.h.OPENAI,(0,f.i5)(d.h.OPENAI_RESPONSES,c,a,h,i,j,k,l,m,n,o)}return(0,e.nZ)(c,b)?(0,f.i5)(c,b,a,h,i,j,k,l,m,n,o):(0,f.l2)(a,h,j,k,l,m,n)}({provider:b,sourceFormat:n,targetFormat:q,userAgent:r,reqLogger:B,toolNameMap:C,model:c,connectionId:x,body:s,onStreamComplete:E,apiKey:y}),H=n===d.h.OPENAI_RESPONSES&&q===d.h.OPENAI_RESPONSES?j.Hr:a=>(0,k.mb)(i.gx.GATEWAY_TIMEOUT,a,n),I=h.xq[b]?.stallTimeoutMs||i.xM,J=(0,g.Jb)(a,G,D,H,I),K=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return(0,m.ox)((0,l.$R)({provider:b,model:c,connectionId:x,latency:{ttft:0,total:Date.now()-w},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,l.Fo)(s,t),providerRequest:v||u||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},pxpipe:F,status:"success"},{id:K})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(J,{headers:o})}}function q({provider:a,model:b,connectionId:c,apiKey:d,requestStartTime:e,body:f,stream:g,finalBody:h,translatedBody:i,clientRawRequest:j,pxpipe:k}){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=(0,n.V6)({text:p?.content,finishReason:p?.finish_reason??p?.finishReason??null,toolCalls:p?.tool_calls,usage:q,maxTokens:h?.max_tokens??f?.max_tokens});(0,m.ox)((0,l.$R)({provider:a,model:b,connectionId:c,latency:s,tokens:q||{prompt_tokens:0,completion_tokens:0},request:(0,l.Fo)(f,g),providerRequest:h||i||null,providerResponse:t,response:{content:t,thinking:u,type:"streaming"},pxpipe:k,status:v?"empty":"success",warning:v?.code,warningDetail:v?.message},{id:o})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),(0,l.qr)({provider:a,model:b,tokens:q,connectionId:c,apiKey:d,endpoint:j?.endpoint,label:"STREAM USAGE"})},streamDetailId:o}}},20766:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(14170);let e="You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.",f="Before writing code, stop at the first rung that holds: 1) Does this need to exist at all? (YAGNI) 2) Stdlib does it? Use it. 3) Native platform feature covers it? Use it (CSS over JS, DB constraint over app code). 4) Already-installed dependency solves it? Use it; never add a new one for what a few lines can do. 5) Can it be one line? One line. 6) Only then: the minimum code that works.",g='No unrequested abstractions (no interface with one implementation, no factory for one product, no config for a value that never changes). No boilerplate or scaffolding "for later". Deletion over addition. Boring over clever. Fewest files possible; shortest working diff wins. Two stdlib options the same size: take the edge-case-correct one. Mark deliberate simplifications with a `ponytail:` comment naming the ceiling and upgrade path.',h="Code first. Then at most three short lines: what was skipped, when to add it. No essays or design notes. Pattern: `[code] → skipped: [X], add when [Y].`",i="Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security, accessibility, anything explicitly requested. Non-trivial logic leaves ONE runnable check behind (an assert-based self-check or one small test file; no frameworks). Trivial one-liners need no test.",j="ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure.",k={lite:[e,"Lite: build what's asked, but name the lazier alternative in one line. User picks.",f,g,h,i,j].join(" "),full:[e,"Full: the ladder enforced. Stdlib and native first. Shortest diff, shortest explanation.",f,g,h,i,j].join(" "),ultra:[e,"Ultra: YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same response.",f,g,h,i,j].join(" ")};function l(a,b,c){!function(a,b,c){var e,f,g,h;if(a&&c&&!function(a,b){try{return JSON.stringify(a).includes(JSON.stringify(b).slice(1,-1))}catch{return!1}}(a,c))switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
|
|
1
|
+
"use strict";exports.id=8895,exports.ids=[8895],exports.modules={324:(a,b,c)=>{c.d(b,{J:()=>e,Q:()=>f});let d={claude:["claude","anthropic"],"gemini-cli":["gemini-cli"],antigravity:["antigravity"],codex:["codex"]};function e(a={},b={}){let c=(a["user-agent"]||"").toLowerCase(),d=(a["x-app"]||"").toLowerCase(),f=(a["openai-intent"]||"").toLowerCase(),g=(a["x-initiator"]||a["X-Initiator"]||"").toLowerCase(),h=(a.originator||"").toLowerCase();return"antigravity"===b.userAgent?"antigravity":c.includes("githubcopilotchat")||"conversation-panel"===f||"user"===g?"github-copilot":c.includes("claude-cli")||c.includes("claude-code")||"cli"===d?"claude":c.includes("gemini-cli")?"gemini-cli":c.includes("codex-tui")||c.includes("codex-cli")||c.includes("codex_cli_rs")||c.includes("codex/")||c.includes("codex desktop")||h.startsWith("codex_")?"codex":c.includes("deepseek-tui")?"deepseek-tui":c.includes("kiro")||"kiro"===a["x-amzn-codewhisperer-source"]||a["x-amz-target"]?.toLowerCase?.().startsWith("amazoncodewhispererservice.")?"kiro":null}function f(a,b){if(!a)return!1;let c=d[a];if(!c)return!1;let e=b.startsWith("anthropic-compatible")?"anthropic":b;return c.includes(e)}},5016:(a,b,c)=>{c.d(b,{NE:()=>s});var d=c(14170),e=c(40345),f=c(8361),g=c(39551),h=c(29675),i=c(73483),j=c(43659),k=c(41004),l=c(81626),m=c(73220),n=c(86171),o=c(47370),p=c(55399),q=c(39418);let r=new Set(["cline","clinepass"]);async function s({providerResponse:a,provider:b,model:c,sourceFormat:t,targetFormat:u,body:v,stream:w,translatedBody:x,finalBody:y,requestStartTime:z,connectionId:A,apiKey:B,clientRawRequest:C,onRequestSuccess:D,reqLogger:E,toolNameMap:F,cloakActive:G,trackDone:H,appendLog:I}){let J,K,L,M;if(H(),(a.headers.get("content-type")||"").includes("text/event-stream")){let b=await a.text(),d=(0,l.Fe)(b,c);if(!d)return I({status:`FAILED ${k.gx.BAD_GATEWAY}`}),(0,j.A1)(k.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");if(d.error){let a=String(d.error.code||d.error.type||""),b=(0,l.Fh)(d.error,/rate_limit|quota/i.test(a)?k.gx.RATE_LIMITED:k.gx.BAD_GATEWAY);return I({status:`FAILED ${b}`}),(0,j.A1)(b,d.error.message||"Upstream stream failed")}J=d}else try{J=await a.json()}catch(a){return I({status:`FAILED ${k.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,j.A1)(k.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}J=function(a,b){if(!r.has(b))return a;let{success:c,data:d}=a||{};return!0!==c||!d||"object"!=typeof d||Array.isArray(d)?a:d}(J,b),E.logProviderResponse(a.status,a.statusText,a.headers,J),D&&await D(),J=(0,p.kR)(J,F,!0===G);let N=(0,n.MK)(J),O=(0,q.V6)({...(0,q.Ul)(J),maxTokens:y?.max_tokens??x?.max_tokens??v?.max_tokens});O&&E.logConvertedResponse({warning:O.code,detail:O.message}),I({tokens:N,status:"200 OK"}),(0,n.qr)({provider:b,model:c,tokens:N,connectionId:A,apiKey:B,endpoint:C?.endpoint});let P=(0,f.nZ)(u,t)?(K=function(a,b,c){if(b===c)return a;if(b===d.h.OPENAI&&c===d.h.CLAUDE||b===d.h.KIRO&&c===d.h.CLAUDE)return(0,m.F)(a);if(b===d.h.OPENAI&&c===d.h.OPENAI_RESPONSES)return(0,m.r)(a);if(b===d.h.OPENAI)return a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let f=b.candidates[0],g=f.content,h=b.usageMetadata||a.usageMetadata,i="",j="",k=[];if(g?.parts)for(let a of g.parts)!0===a.thought&&a.text?j+=a.text:void 0!==a.text&&(i+=a.text),a.functionCall&&k.push({id:`call_${a.functionCall.name}_${Date.now()}_${k.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let l={role:"assistant"};i&&(l.content=i),j&&(l.reasoning_content=j),k.length>0&&(l.tool_calls=k),l.content||l.tool_calls||(l.content="");let n=(0,e.C)(f.finishReason);"stop"===n&&k.length>0&&(n="tool_calls");let o={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:l,finish_reason:n}]};return(h&&(o.usage={prompt_tokens:(h.promptTokenCount||0)+(h.thoughtsTokenCount||0),completion_tokens:h.candidatesTokenCount||0,total_tokens:h.totalTokenCount||0},h.thoughtsTokenCount>0&&(o.usage.completion_tokens_details={reasoning_tokens:h.thoughtsTokenCount})),c===d.h.CLAUDE)?(0,m.F)(o):o}if(b===d.h.CLAUDE){if(a.choices||a.content&&!Array.isArray(a.content))return a;let b="",c="",d=[];for(let e of a.content||[])"text"===e.type?b+=(e.text??"").replace(/^\s*```\s*json\s*\n?/i,"").replace(/\n?\s*```\s*$/i,""):"thinking"===e.type?c+=e.thinking||"":"tool_use"===e.type&&d.push({id:e.id,type:"function",function:{name:e.name,arguments:JSON.stringify(e.input||{})}});let e=(0,h.refusalExplanation)(a);e&&(b+=e);let f={role:"assistant"};b&&(f.content=b),c&&(f.reasoning_content=c),d.length>0&&(f.tool_calls=d),f.content||f.tool_calls||(f.content="");let g=(0,h.convertStopReason)(a.stop_reason||"end_turn"),i={id:`chatcmpl-${a.id||Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a.model||"claude",choices:[{index:0,message:f,finish_reason:g}]};return a.usage&&(i.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)}),i}return b===d.h.OLLAMA?(0,g.ollamaBodyToOpenAI)(a):a}(J,u,t),t===d.h.OPENAI_RESPONSES&&K?.object==="chat.completion"?(0,m.r)(K):K):J,Q=t===d.h.CLAUDE&&P?.type==="message",R=P?.object==="response";if(P?.choices?.[0]){let a=P.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(!Q&&!R&&(P.object||(P.object="chat.completion"),P.created||(P.created=Math.floor(Date.now()/1e3)),delete P.prompt_filter_results,P?.choices))for(let a of P.choices)delete a.content_filter_results;if(P?.usage&&(P.usage=(0,i.WL)((0,i.O9)(P.usage),t)),!Q&&P?.choices)for(let a of P.choices)a?.message?.reasoning_content&&a.message.content&&delete a.message.reasoning_content;E.logConvertedResponse(P);let S=Date.now()-z;return(0,o.ox)((0,n.$R)({provider:b,model:c,connectionId:A,latency:{ttft:S,total:S},tokens:N||{prompt_tokens:0,completion_tokens:0},request:(0,n.Fo)(v,w),providerRequest:y||x||null,providerResponse:J||null,response:R?(M=(L=Array.isArray(P?.output)?P.output:[]).filter(a=>a?.type==="message").flatMap(a=>a.content||[]).map(a=>a?.text||"").join("")||null,{content:M,thinking:L.filter(a=>a?.type==="reasoning").flatMap(a=>a.summary||[]).map(a=>a?.text||"").join("")||null,finish_reason:P?.status==="incomplete"?"length":P?.status==="completed"?"stop":P?.status||"unknown"}):{content:P?.choices?.[0]?.message?.content||P?.content||null,thinking:P?.choices?.[0]?.message?.reasoning_content||P?.reasoning_content||null,finish_reason:P?.choices?.[0]?.finish_reason||"unknown"},status:O?"empty":"success",warning:O?.code,warningDetail:O?.message},{endpoint:C?.endpoint||null})).catch(a=>{console.error("[RequestDetail] Failed to save:",a.message)}),{success:!0,response:new Response(JSON.stringify(P),{headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"}})}}},14724:(a,b,c)=>{c.d(b,{F:()=>g});let d=[{triggers:["mcp__exa__web_search_exa","mcp__exa__web_fetch_exa"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:["mcp__tavily__tavily_search","mcp__tavily__tavily_extract"],strip:["WebSearch","WebFetch","mcp__workspace__web_fetch"]},{triggers:[/^mcp__browsermcp__/],strip:[/^mcp__Claude_in_Chrome__/]}];function e(a){return a?.name||a?.function?.name||""}function f(a,b){return"string"==typeof b?a===b:b instanceof RegExp&&b.test(a)}function g(a,b={}){let c,h;if(!Array.isArray(a)||0===a.length)return{tools:a,stripped:[]};let i=a.map(e),j="claude"===b.clientTool?function(a){let b=new Set;for(let c of d)if(a.some(a=>c.triggers.some(b=>f(a,b))))for(let d of a)c.strip.some(a=>f(d,a))&&b.add(d);return b}(i):new Set,k=!function(a){if("string"!=typeof a)return!1;let b=a.replace(/\([^()]+\)\s*$/,"").trim().split("/").pop()||"";return/^deepseek-/i.test(b)}(b.model)?new Set:(c=new Set,h=new Set,i.forEach((a,b)=>{a&&(c.has(a)?h.add(b):c.add(a))}),h);return 0===j.size&&0===k.size?{tools:a,stripped:[]}:{tools:a.filter((a,b)=>!k.has(b)&&!j.has(i[b])),stripped:[...k].map(a=>i[a]).concat([...j])}}},14823:(a,b,c)=>{c.d(b,{H:()=>h,_:()=>i});var d=c(14170);function e(a){try{return JSON.stringify(a)?.length||0}catch{return 0}}function f(a){return Math.round(a/4)}function g(a,b={}){return{body:null,summary:{applied:!1,reason:a,...b}}}async function h(a,{enabled:b,format:c,model:i,minChars:j,timeoutMs:k,transform:l}={}){if(!b)return g("disabled");if("function"!=typeof l)return g("not_installed");if(!a)return g("missing_body");if(c!==d.h.CLAUDE)return g("unsupported_format",{detail:c});let m=Date.now(),n=e(a),o=Number(j)>0?Number(j):25e3;if(n<o)return g("below_threshold",{originalChars:n,threshold:o});try{let b=new TextEncoder().encode(JSON.stringify(a)),c=Number(k)>0?Number(k):15e3,d=await Promise.race([l({body:b,model:i,options:{minCompressChars:o}}),new Promise(a=>setTimeout(()=>a(null),c))]);if(!d)return g("timeout",{originalChars:n,durationMs:Date.now()-m});if(!d.applied)return g(d.reason||"passthrough",{detail:d.detail,originalChars:n,durationMs:Date.now()-m});let h=JSON.parse(new TextDecoder().decode(d.body)),j=e(h),p=d.info||{},q=p.compressedChars||0,r=p.imageTokens||(p.imagePixels?Math.round(p.imagePixels/750):4761*(p.imageCount||0)),s={applied:!0,reason:"applied",originalChars:n,compressedBodyChars:j,imagedChars:q,imageCount:p.imageCount||0,imageBytes:p.imageBytes||0,tokensBeforeEst:p.baselineTokens||f(n),tokensAfterEst:f(Math.max(0,n-q))+r,durationMs:Date.now()-m,cacheOwnsControl:d.cache?.ownsCacheControl===!0};return s.tokensSavedEst=Math.max(0,s.tokensBeforeEst-s.tokensAfterEst),s.savedPct=s.tokensBeforeEst>0?+(s.tokensSavedEst/s.tokensBeforeEst*100).toFixed(2):0,{body:h,summary:s}}catch(a){return g("transform_error",{detail:a?.message||String(a),originalChars:n,durationMs:Date.now()-m})}}function i(a){return a&&a.applied?`imaged ${a.imagedChars}ch → ${a.imageCount} image(s) | est ${a.tokensBeforeEst}→${a.tokensAfterEst} tokens (-${a.savedPct}%) | ${a.durationMs}ms`:null}},20623:(a,b,c)=>{c.d(b,{$:()=>q,M:()=>p});var d=c(14170),e=c(8361),f=c(71857),g=c(59657),h=c(35024),i=c(41004),j=c(30320),k=c(9024),l=c(86171),m=c(47370),n=c(39418);let o={"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive","Access-Control-Allow-Origin":"*"};function p({providerResponse:a,provider:b,model:c,sourceFormat:n,targetFormat:q,userAgent:r,body:s,stream:t,translatedBody:u,finalBody:v,requestStartTime:w,connectionId:x,apiKey:y,clientRawRequest:z,onRequestSuccess:A,reqLogger:B,toolNameMap:C,streamController:D,onStreamComplete:E,pxpipe:F}){A&&A();let G=function({provider:a,sourceFormat:b,targetFormat:c,userAgent:g,reqLogger:h,toolNameMap:i,model:j,connectionId:k,body:l,onStreamComplete:m,apiKey:n,cloakActive:o}){let p=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if("codex"===a&&c===d.h.OPENAI_RESPONSES&&!p){let c;return c=b===d.h.OPENAI_RESPONSES?d.h.OPENAI_RESPONSES:b===d.h.CLAUDE?d.h.CLAUDE:b===d.h.ANTIGRAVITY||b===d.h.GEMINI||b===d.h.GEMINI_CLI?d.h.ANTIGRAVITY:d.h.OPENAI,(0,f.i5)(d.h.OPENAI_RESPONSES,c,a,h,i,j,k,l,m,n,o)}return(0,e.nZ)(c,b)?(0,f.i5)(c,b,a,h,i,j,k,l,m,n,o):(0,f.l2)(a,h,j,k,l,m,n)}({provider:b,sourceFormat:n,targetFormat:q,userAgent:r,reqLogger:B,toolNameMap:C,model:c,connectionId:x,body:s,onStreamComplete:E,apiKey:y}),H=n===d.h.OPENAI_RESPONSES&&q===d.h.OPENAI_RESPONSES?j.Hr:a=>(0,k.mb)(i.gx.GATEWAY_TIMEOUT,a,n),I=h.xq[b]?.stallTimeoutMs||i.xM,J=(0,g.Jb)(a,G,D,H,I),K=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`;return(0,m.ox)((0,l.$R)({provider:b,model:c,connectionId:x,latency:{ttft:0,total:Date.now()-w},tokens:{prompt_tokens:0,completion_tokens:0},request:(0,l.Fo)(s,t),providerRequest:v||u||null,providerResponse:"[Streaming - raw response not captured]",response:{content:"[Streaming in progress...]",thinking:null,type:"streaming"},pxpipe:F,status:"success"},{id:K})).catch(a=>{console.error("[RequestDetail] Failed to save streaming request:",a.message)}),{success:!0,response:new Response(J,{headers:o})}}function q({provider:a,model:b,connectionId:c,apiKey:d,requestStartTime:e,body:f,stream:g,finalBody:h,translatedBody:i,clientRawRequest:j,pxpipe:k}){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=(0,n.V6)({text:p?.content,finishReason:p?.finish_reason??p?.finishReason??null,toolCalls:p?.tool_calls,usage:q,maxTokens:h?.max_tokens??f?.max_tokens});(0,m.ox)((0,l.$R)({provider:a,model:b,connectionId:c,latency:s,tokens:q||{prompt_tokens:0,completion_tokens:0},request:(0,l.Fo)(f,g),providerRequest:h||i||null,providerResponse:t,response:{content:t,thinking:u,type:"streaming"},pxpipe:k,status:v?"empty":"success",warning:v?.code,warningDetail:v?.message},{id:o})).catch(a=>{console.error("[RequestDetail] Failed to update streaming content:",a.message)}),(0,l.qr)({provider:a,model:b,tokens:q,connectionId:c,apiKey:d,endpoint:j?.endpoint,label:"STREAM USAGE"})},streamDetailId:o}}},20766:(a,b,c)=>{c.d(b,{U:()=>l});var d=c(14170);let e="You are a lazy senior developer. Lazy means efficient, not careless. The best code is the code never written.",f="Before writing code, stop at the first rung that holds: 1) Does this need to exist at all? (YAGNI) 2) Stdlib does it? Use it. 3) Native platform feature covers it? Use it (CSS over JS, DB constraint over app code). 4) Already-installed dependency solves it? Use it; never add a new one for what a few lines can do. 5) Can it be one line? One line. 6) Only then: the minimum code that works.",g='No unrequested abstractions (no interface with one implementation, no factory for one product, no config for a value that never changes). No boilerplate or scaffolding "for later". Deletion over addition. Boring over clever. Fewest files possible; shortest working diff wins. Two stdlib options the same size: take the edge-case-correct one. Mark deliberate simplifications with a `ponytail:` comment naming the ceiling and upgrade path.',h="Code first. Then at most three short lines: what was skipped, when to add it. No essays or design notes. Pattern: `[code] → skipped: [X], add when [Y].`",i="Never simplify away: input validation at trust boundaries, error handling that prevents data loss, security, accessibility, anything explicitly requested. Non-trivial logic leaves ONE runnable check behind (an assert-based self-check or one small test file; no frameworks). Trivial one-liners need no test.",j="ACTIVE EVERY RESPONSE. No drift back to over-building. Still active if unsure.",k={lite:[e,"Lite: build what's asked, but name the lazier alternative in one line. User picks.",f,g,h,i,j].join(" "),full:[e,"Full: the ladder enforced. Stdlib and native first. Shortest diff, shortest explanation.",f,g,h,i,j].join(" "),ultra:[e,"Ultra: YAGNI extremist. Deletion before addition. Ship the one-liner and challenge the rest of the requirement in the same response.",f,g,h,i,j].join(" ")};function l(a,b,c){!function(a,b,c){var e,f,g,h;if(a&&c&&!function(a,b){try{return JSON.stringify(a).includes(JSON.stringify(b).slice(1,-1))}catch{return!1}}(a,c))switch(b){case d.h.CLAUDE:!function(a,b){if("string"==typeof a.system&&a.system.length>0){a.system=`${a.system}
|
|
2
2
|
|
|
3
3
|
${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 d.h.GEMINI:case d.h.GEMINI_CLI:case d.h.VERTEX:case d.h.ANTIGRAVITY:let i,j,k;e=a,f=c,i=e.request&&"object"==typeof e.request?e.request:e,j=Object.prototype.hasOwnProperty.call(i,"system_instruction")?"system_instruction":"systemInstruction",(k=i[j])&&Array.isArray(k.parts)?k.parts.push({text:f}):i[j]={parts:[{text:f}]};return;case d.h.KIRO:let l;g=a,h=c,(l=g?.conversationState?.currentMessage?.userInputMessage)&&("string"==typeof l.content?l.content=l.content?`${h}
|
|
4
4
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/KF4DQC15EViS89R-ZTHoZ/_buildManifest.js","static/KF4DQC15EViS89R-ZTHoZ/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-cc312041cf710f25.js","static/chunks/4bd1b696-8cd12253b448cc13.js","static/chunks/3794-39f2d5bb0d40336b.js","static/chunks/main-app-6f8e9cdd84d0eb47.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
|