switchboard-router 0.9.43 → 0.9.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/.next/static/chunks/{1321-0cdf730f80e742f7.js → 1321-840780dd1bbcf469.js} +1 -1
- package/app/.next-cli-build/BUILD_ID +1 -1
- package/app/.next-cli-build/app-path-routes-manifest.json +15 -15
- package/app/.next-cli-build/build-manifest.json +2 -2
- package/app/.next-cli-build/prerender-manifest.json +3 -3
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_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/combos/routing/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/(dashboard)/dashboard/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/[id]/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/aider-settings/route.js +2 -2
- 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/cline-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
- 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 +2 -2
- 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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
- 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 +3 -3
- 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 +2 -2
- package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +1 -1
- package/app/.next-cli-build/server/app/api/version/route.js +1 -1
- package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app/callback.html +1 -1
- package/app/.next-cli-build/server/app/callback.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
- package/app/.next-cli-build/server/app/dashboard/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/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 +4 -4
- package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
- package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
- package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/app-paths-manifest.json +15 -15
- package/app/.next-cli-build/server/chunks/1350.js +1 -1
- package/app/.next-cli-build/server/chunks/2847.js +1 -1
- package/app/.next-cli-build/server/chunks/369.js +10 -7
- package/app/.next-cli-build/server/chunks/7201.js +1 -1
- package/app/.next-cli-build/server/chunks/869.js +1 -1
- package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
- package/app/.next-cli-build/server/pages/404.html +1 -1
- package/app/.next-cli-build/server/pages/500.html +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
- package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
- package/app/.next-cli-build/static/chunks/{1321-0cdf730f80e742f7.js → 1321-840780dd1bbcf469.js} +1 -1
- package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
- package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
- package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
- package/app/package.json +1 -1
- package/package.json +1 -1
- /package/app/.next/static/{nKryFuv_JzPl-D-UHl2FE → XYJiCIvalz3FNIm1goDwC}/_buildManifest.js +0 -0
- /package/app/.next/static/{nKryFuv_JzPl-D-UHl2FE → XYJiCIvalz3FNIm1goDwC}/_ssgManifest.js +0 -0
- /package/app/.next-cli-build/static/{nKryFuv_JzPl-D-UHl2FE → XYJiCIvalz3FNIm1goDwC}/_buildManifest.js +0 -0
- /package/app/.next-cli-build/static/{nKryFuv_JzPl-D-UHl2FE → XYJiCIvalz3FNIm1goDwC}/_ssgManifest.js +0 -0
|
@@ -42,29 +42,32 @@ ${e.length} files in ${g.length} dirs:
|
|
|
42
42
|
`,b.slice(0,10)))h+=` ${a}
|
|
43
43
|
`;b.length>10&&(h+=` +${b.length-10}
|
|
44
44
|
`),h+="\n"}return g.length>20&&(h+=`+${g.length-20} more dirs
|
|
45
|
-
`),h.replace(/\n+$/,"")}t.filterName="search-list";let u=/^Result of search in '[^']*' \(total (\d+) files?\):/,v=/^diff --git /m,w=/^@@ /m,x=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,y=/^[*|/\\ ]*commit [0-9a-f]{7,40}(\s|$|[([<{])/im,z=/^[ MADRCU?!][ MADRCU?!] \S/m,A=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,B=/[├└]──|│ /,C=/^[-dlbcps][rwx-]{9}/m,D=/^total \d+$/m;function E(a){return null!==j(a)}function F(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")||b.includes("\\")))}function G(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content)){for(let a of c.content)if(a&&"string"==typeof a.text){if(H(a.text))continue;a.text=I(a.text,b,"kiro-tool-result")}}}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if(!0===b.is_error||"error"===b.status)continue;if("string"==typeof b.output){if(H(b.output))continue;b.output=I(b.output,e,"openai-responses-string")}else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];if(c&&"input_text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-responses-array")}}continue}if("tool"===b.role&&"string"==typeof b.content){if(!0===b.is_error||H(b.content))continue;b.content=I(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){if(!0===b.is_error)continue;for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-tool-array")}}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content){if(H(c.content))continue;c.content=I(c.content,e,"claude-string")}else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];if(b&&"text"===b.type&&"string"==typeof b.text){if(H(b.text))continue;b.text=I(b.text,e,"claude-array")}}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function H(a){return"string"==typeof a&&!(a.length<8)&&(/^\s*(Error|Exception|Traceback|TypeError|ReferenceError|SyntaxError|Failed)\b/m.test(a)||/\bat\s+\S+\s+\([^)]+:\d+:\d+\)/.test(a))}function I(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let h=function(a){var b,c;let d,h,j=a.length>1024?a.slice(0,1024):a,n=a.split("\n");if(y.test(j))return g;if(v.test(j)||w.test(j))return e;if(x.test(j))return f;if(A.test(j))return i;if(!((d=j.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>z.test(a)).length/d.length>=.6)return f;let G=j.split("\n").filter(a=>a.trim().length>0);return G.slice(0,5).some(E)?k:G.length>=3&&G.every(F)?l:B.test(j)?p:D.test(j)||(b=j,h=new RegExp((c=C).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(h)||[]).length>=3)?o:u.test(j)?t:n.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,s.test(d)&&b++);return!(c<5)&&b/c>=.7}(n)?r:G.length>=5?m:a.split("\n").length>=250?q:null}(a);if(!h)return b.bytesAfter+=d,a;let j=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(h,a);return!j||0===j.length||j.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=j.length,b.hits.push({shape:c,filter:h.filterName||h.name,saved:d-j.length}),j)}function J(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",d=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},1160:(a,b,c)=>{c.d(b,{BP:()=>l,Eh:()=>h,n8:()=>k,sk:()=>i});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[String(("u">typeof process?process.env?.LOG_LEVEL:void 0)||"").toUpperCase()]??d.INFO,f=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],g=0;function h(){let a=f[g%f.length];return g++,a}function i(a){let b=String(a??"");if(!b)return h();let c=0,d=Math.min(b.length,128);for(let a=0;a<d;a++)c=31*c+b.charCodeAt(a)|0;return f[Math.abs(c)%f.length]}function j(a,b,c){let d=a?`${a} `:"";return`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${d}${b} ${c}`}function k(a,b,c){e>d.INFO||console.log(j(a,b,c))}function l(a,b,c){console.log(j(a,b,c))}},2735:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(17717),e=c(48664),f=c(19956),g=c(60290),h=c(6755);function i(a,b,c="",e=!1){if(!c.includes("claude-cli")||!a.messages?.length)return null;let f=a.messages,h=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",j=!1,m=!1,n=f[f.length-1];if(n?.role==="assistant"&&n.content?.[0]?.text==="{"&&(j=!0),j||"Warmup"===h(f[0]?.content)&&(j=!0),j||1!==f.length||f[0]?.role!=="user"||"count"===h(f[0]?.content)&&(j=!0),!j&&g.C8?.length){let a=f.filter(a=>"user"===a.role).map(a=>h(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(j=!0)}if(!j&&e){let b=f.find(a=>"system"===a.role),c=h(b?.content),d=Array.isArray(a.system)?a.system.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"string"==typeof a.system?a.system:"";(c||d).includes("isNewTopic")&&(j=!0,m=!0)}if(!j)return null;let o=(0,d.Tz)(a),p=!1!==a.stream;if(m){let a=f.find(a=>"user"===a.role),c=JSON.stringify({isNewTopic:!0,title:h(a?.content).trim().split(/\s+/).slice(0,3).join(" ")});return p?l(o,b,c):k(o,b,c)}return p?l(o,b):k(o,b)}function j(a,b="CLI Command Execution: Clear Terminal"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:b},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a,b,c){let d=j(b,c);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json"}})};let g=(0,e.Ws)(a);g.model=b;let h=m(d),i=[];for(let b of h){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);c?.length>0&&i.push(...c)}let k=(0,e.Y8)(f.h.OPENAI,a,null,g);return k?.length>0&&i.push(...k),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);if(d?.message){c=d.message;let a=d.message.usage,e=b?.usage;(a||e)&&(c.usage={...a||{},...e||{},...a?.cache_read_input_tokens!==void 0?{cache_read_input_tokens:a.cache_read_input_tokens}:{},...a?.cache_creation_input_tokens!==void 0?{cache_creation_input_tokens:a.cache_creation_input_tokens}:{},...a?.input_tokens!==void 0?{input_tokens:a.input_tokens}:{}})}}return c}(i,a)),{headers:{"Content-Type":"application/json"}})}}function l(a,b,c){let d=j(b,c),g=(0,e.Ws)(a);g.model=b;let i=m(d),k=[];for(let b of i){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);if(c?.length>0)for(let b of c)k.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,g);if(l?.length>0)for(let b of l)k.push((0,h.v8)(b,a));return k.push("data: [DONE]\n\n"),{success:!0,response:new Response(k.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}function m(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},6755:(a,b,c)=>{c.d(b,{i5:()=>r,l2:()=>s,lm:()=>g.lm,v8:()=>h.v8});var d=c(48664),e=c(19956),f=c(12407),g=c(67677),h=c(45894),i=c(48330),j=c(12828),k=c(1160);c(4905);var l=c(83611);let m=new TextEncoder,n="translate",o="passthrough";function p(a){let b=a.trim().slice(5).trim();if(!b.startsWith("{")||!b.endsWith("}"))return!1;try{return JSON.parse(b),!0}catch{return!1}}function q(a={}){let{mode:b=n,targetFormat:c,sourceFormat:r,provider:s=null,reqLogger:t=null,toolNameMap:u=null,model:v=null,connectionId:w=null,body:x=null,onStreamComplete:y=null,clientKeyId:z=null,terminateOnResponsesTerminal:A=!0}=a,B="",C=null,D=new TextDecoder("utf-8",{fatal:!1}),E=b===n?{...(0,d.Ws)(r),provider:s,toolNameMap:u,model:v}:null,F=0,G="",H="",I=null,J=0,K=0,L={},M=null,N=!1,O=!1,P=!1,Q=!1,R=(0,l.H)(),S=0;function T(a){if(j.T&&a&&(J++,a.startsWith("event:"))){let b=a.slice(6).trim();L[b]=(L[b]||0)+1}}function U(a,b){let c;if(!a.trim())return;let d=a.split(/\r?\n/);for(let a of d)T(a.trim());for(let a of d){let b=a.trim();if(b.startsWith("event:")){let a=b.slice(6).trim();a.startsWith("response.")&&(P=!0),("response.completed"===a||"response.done"===a||"response.failed"===a||"response.incomplete"===a)&&(Q=!0)}}let f=d.filter(a=>a.startsWith("data:")),i=f.map(a=>a.slice(5).replace(/^ /,"")).join("\n"),j=!1;if(f.length>0)if("[DONE]"===i.trim()){if(O)return;O=!0,c="data: [DONE]\n\n"}else try{let a=JSON.parse(i.trim());S=0;let b=(0,h.A4)(a),d=!1;if(u?.size>0&&a?.type==="content_block_start"&&a?.content_block?.type==="tool_use"){let b=u.get(a.content_block.name);b&&(a.content_block={...a.content_block,name:b},d=!0)}let f=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",f=!0),a.created||(a.created=Math.floor(Date.now()/1e3),f=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,f=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,f=!0);if(a?.choices)for(let b of a.choices)b.delta?.tool_calls&&Array.isArray(b.delta.tool_calls)&&0===b.delta.tool_calls.length&&(delete b.delta.tool_calls,f=!0);let k=(0,g.f5)(a);if(k&&(C=(0,g._L)(C,k)),!(0,h.c2)(a,e.h.OPENAI)&&!a.usage)return;let l=a.choices?.[0]?.delta;if("string"==typeof l?.content){let{content:a,reasoning:b}=R(l.content);b&&(l.reasoning_content=(l.reasoning_content||"")+b),a!==l.content&&(!l.reasoning_content||a&&a.trim()?l.content=a||"":delete l.content,f=!0)}let m=l?.content,n=l?.reasoning_content;m&&"string"==typeof m&&(F+=m.length,G+=m),n&&"string"==typeof n&&(F+=n.length,H+=n);let o=(0,g.f5)(a);o&&(C=(0,g._L)(C,o));let p=a.choices?.[0]?.finish_reason;if(p&&!(0,g.Gh)(a.usage)){let b=(0,g.OF)(x,F,e.h.OPENAI);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
|
|
45
|
+
`),h.replace(/\n+$/,"")}t.filterName="search-list";let u=/^Result of search in '[^']*' \(total (\d+) files?\):/,v=/^diff --git /m,w=/^@@ /m,x=/^On branch |^nothing to commit|^Changes (not |to be )|^Untracked files:/m,y=/^[*|/\\ ]*commit [0-9a-f]{7,40}(\s|$|[([<{])/im,z=/^[ MADRCU?!][ MADRCU?!] \S/m,A=/^(npm (warn|error|ERR!)|yarn (warn|error)|\s*Compiling\s+\S+|\s*Downloading\s+\S+|added \d+ package|\[ERROR\]|BUILD (SUCCESS|FAILED)|\s*Finished\s+|Successfully (installed|built)|ERROR:)/im,B=/[├└]──|│ /,C=/^[-dlbcps][rwx-]{9}/m,D=/^total \d+$/m;function E(a){return null!==j(a)}function F(a){let b=a.trim();return 0!==b.length&&(!!/^[A-Za-z]:[\\/]/.test(b)||!b.includes(":")&&(b.startsWith(".")||b.startsWith("/")||b.includes("/")||b.includes("\\")))}function G(a,b){if(!b||!a)return null;if(a.conversationState){var c=a;let b={bytesBefore:0,bytesAfter:0,hits:[]};try{let a=c.conversationState,d=[...Array.isArray(a?.history)?a.history:[]];for(let c of(a?.currentMessage&&d.push(a.currentMessage),d)){let a=c?.userInputMessage?.userInputMessageContext?.toolResults;if(Array.isArray(a)){for(let c of a)if("error"!==c.status&&Array.isArray(c.content)){for(let a of c.content)if(a&&"string"==typeof a.text){if(H(a.text))continue;a.text=I(a.text,b,"kiro-tool-result")}}}}}catch(a){return console.warn("[RTK] compressKiroFormat error:",a.message),null}return b}let d=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!d)return null;let e={bytesBefore:0,bytesAfter:0,hits:[]};try{for(let a=0;a<d.length;a++){let b=d[a];if(b){if("function_call_output"===b.type){if(!0===b.is_error||"error"===b.status)continue;if("string"==typeof b.output){if(H(b.output))continue;b.output=I(b.output,e,"openai-responses-string")}else if(Array.isArray(b.output))for(let a=0;a<b.output.length;a++){let c=b.output[a];if(c&&"input_text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-responses-array")}}continue}if("tool"===b.role&&"string"==typeof b.content){if(!0===b.is_error||H(b.content))continue;b.content=I(b.content,e,"openai-tool");continue}if(Array.isArray(b.content)){if("tool"===b.role){if(!0===b.is_error)continue;for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"text"===c.type&&"string"==typeof c.text){if(H(c.text))continue;c.text=I(c.text,e,"openai-tool-array")}}continue}for(let a=0;a<b.content.length;a++){let c=b.content[a];if(c&&"tool_result"===c.type&&!0!==c.is_error){if("string"==typeof c.content){if(H(c.content))continue;c.content=I(c.content,e,"claude-string")}else if(Array.isArray(c.content))for(let a=0;a<c.content.length;a++){let b=c.content[a];if(b&&"text"===b.type&&"string"==typeof b.text){if(H(b.text))continue;b.text=I(b.text,e,"claude-array")}}}}}}}}catch(a){return console.warn("[RTK] compressMessages error:",a.message),null}return e}function H(a){return"string"==typeof a&&!(a.length<8)&&(/^\s*(Error|Exception|Traceback|TypeError|ReferenceError|SyntaxError|Failed)\b/m.test(a)||/\bat\s+\S+\s+\([^)]+:\d+:\d+\)/.test(a))}function I(a,b,c){let d=a.length;if(b.bytesBefore+=d,d<500||d>0xa00000)return b.bytesAfter+=d,a;let h=function(a){var b,c;let d,h,j=a.length>1024?a.slice(0,1024):a,n=a.split("\n");if(y.test(j))return g;if(v.test(j)||w.test(j))return e;if(x.test(j))return f;if(A.test(j))return i;if(!((d=j.split("\n").filter(a=>a.trim())).length<3)&&d.filter(a=>z.test(a)).length/d.length>=.6)return f;let G=j.split("\n").filter(a=>a.trim().length>0);return G.slice(0,5).some(E)?k:G.length>=3&&G.every(F)?l:B.test(j)?p:D.test(j)||(b=j,h=new RegExp((c=C).source,c.flags.includes("g")?c.flags:c.flags+"g"),(b.match(h)||[]).length>=3)?o:u.test(j)?t:n.length>=250&&function(a){let b=0,c=0;for(let d of a.slice(0,100))0!==d.length&&(c++,s.test(d)&&b++);return!(c<5)&&b/c>=.7}(n)?r:G.length>=5?m:a.split("\n").length>=250?q:null}(a);if(!h)return b.bytesAfter+=d,a;let j=function(a,b){if("function"!=typeof a)return b;try{let c=a(b);if("string"!=typeof c)return b;return c}catch(d){let c=a.filterName||a.name||"anonymous";return console.warn(`[rtk] warning: filter '${c}' panicked — passing through raw output: ${d?.message||d}`),b}}(h,a);return!j||0===j.length||j.length>=d?(b.bytesAfter+=d,a):(b.bytesAfter+=j.length,b.hits.push({shape:c,filter:h.filterName||h.name,saved:d-j.length}),j)}function J(a){if(!a||!a.hits||0===a.hits.length)return null;let b=a.bytesBefore-a.bytesAfter,c=a.bytesBefore>0?(b/a.bytesBefore*100).toFixed(1):"0",d=Array.from(new Set(a.hits.map(a=>a.filter))).join(",");return`[RTK] saved ${b}B / ${a.bytesBefore}B (${c}%) via [${d}] hits=${a.hits.length}`}},1160:(a,b,c)=>{c.d(b,{BP:()=>l,Eh:()=>h,n8:()=>k,sk:()=>i});let d={DEBUG:0,INFO:1,WARN:2,ERROR:3},e=d[String(("u">typeof process?process.env?.LOG_LEVEL:void 0)||"").toUpperCase()]??d.INFO,f=["\uD83D\uDFE2","\uD83D\uDD35","\uD83D\uDFE3","\uD83D\uDFE1","\uD83D\uDFE0","\uD83D\uDD34","⚪","\uD83D\uDFE4"],g=0;function h(){let a=f[g%f.length];return g++,a}function i(a){let b=String(a??"");if(!b)return h();let c=0,d=Math.min(b.length,128);for(let a=0;a<d;a++)c=31*c+b.charCodeAt(a)|0;return f[Math.abs(c)%f.length]}function j(a,b,c){let d=a?`${a} `:"";return`[${new Date().toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}] ${d}${b} ${c}`}function k(a,b,c){e>d.INFO||console.log(j(a,b,c))}function l(a,b,c){console.log(j(a,b,c))}},2735:(a,b,c)=>{c.d(b,{c:()=>i});var d=c(17717),e=c(48664),f=c(19956),g=c(60290),h=c(6755);function i(a,b,c="",e=!1){if(!c.includes("claude-cli")||!a.messages?.length)return null;let f=a.messages,h=a=>"string"==typeof a?a:Array.isArray(a)?a.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"",j=!1,m=!1,n=f[f.length-1];if(n?.role==="assistant"&&n.content?.[0]?.text==="{"&&(j=!0),j||"Warmup"===h(f[0]?.content)&&(j=!0),j||1!==f.length||f[0]?.role!=="user"||"count"===h(f[0]?.content)&&(j=!0),!j&&g.C8?.length){let a=f.filter(a=>"user"===a.role).map(a=>h(a.content)).join(" ");g.C8.some(b=>a.includes(b))&&(j=!0)}if(!j&&e){let b=f.find(a=>"system"===a.role),c=h(b?.content),d=Array.isArray(a.system)?a.system.filter(a=>"text"===a.type).map(a=>a.text).join(" "):"string"==typeof a.system?a.system:"";(c||d).includes("isNewTopic")&&(j=!0,m=!0)}if(!j)return null;let o=(0,d.Tz)(a),p=!1!==a.stream;if(m){let a=f.find(a=>"user"===a.role),c=JSON.stringify({isNewTopic:!0,title:h(a?.content).trim().split(/\s+/).slice(0,3).join(" ")});return p?l(o,b,c):k(o,b,c)}return p?l(o,b):k(o,b)}function j(a,b="CLI Command Execution: Clear Terminal"){return{id:`chatcmpl-${Date.now()}`,object:"chat.completion",created:Math.floor(Date.now()/1e3),model:a,choices:[{index:0,message:{role:"assistant",content:b},finish_reason:"stop"}],usage:{prompt_tokens:1,completion_tokens:1,total_tokens:2}}}function k(a,b,c){let d=j(b,c);if(a===f.h.OPENAI)return{success:!0,response:new Response(JSON.stringify(d),{headers:{"Content-Type":"application/json"}})};let g=(0,e.Ws)(a);g.model=b;let h=m(d),i=[];for(let b of h){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);c?.length>0&&i.push(...c)}let k=(0,e.Y8)(f.h.OPENAI,a,null,g);return k?.length>0&&i.push(...k),{success:!0,response:new Response(JSON.stringify(function(a,b){if(!a||0===a.length)return j("unknown");let c=a[a.length-1];if(b===f.h.CLAUDE&&a.find(a=>"message_stop"===a.type)){a.find(a=>"content_block_delta"===a.type);let b=a.find(a=>"message_delta"===a.type),d=a.find(a=>"message_start"===a.type);if(d?.message){c=d.message;let a=d.message.usage,e=b?.usage;(a||e)&&(c.usage={...a||{},...e||{},...a?.cache_read_input_tokens!==void 0?{cache_read_input_tokens:a.cache_read_input_tokens}:{},...a?.cache_creation_input_tokens!==void 0?{cache_creation_input_tokens:a.cache_creation_input_tokens}:{},...a?.input_tokens!==void 0?{input_tokens:a.input_tokens}:{}})}}return c}(i,a)),{headers:{"Content-Type":"application/json"}})}}function l(a,b,c){let d=j(b,c),g=(0,e.Ws)(a);g.model=b;let i=m(d),k=[];for(let b of i){let c=(0,e.Y8)(f.h.OPENAI,a,b,g);if(c?.length>0)for(let b of c)k.push((0,h.v8)(b,a))}let l=(0,e.Y8)(f.h.OPENAI,a,null,g);if(l?.length>0)for(let b of l)k.push((0,h.v8)(b,a));return k.push("data: [DONE]\n\n"),{success:!0,response:new Response(k.join(""),{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}}function m(a){let{id:b,created:c,model:d,choices:e}=a;return[{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{role:"assistant",content:e[0].message.content},finish_reason:null}]},{id:b,object:"chat.completion.chunk",created:c,model:d,choices:[{index:0,delta:{},finish_reason:"stop"}],usage:a.usage}]}},6755:(a,b,c)=>{c.d(b,{i5:()=>r,l2:()=>s,lm:()=>g.lm,v8:()=>h.v8});var d=c(48664),e=c(19956),f=c(12407),g=c(67677),h=c(45894),i=c(48330),j=c(12828),k=c(1160);c(4905);var l=c(83611);let m=new TextEncoder,n="translate",o="passthrough";function p(a){let b=a.trim().slice(5).trim();if(!b.startsWith("{")||!b.endsWith("}"))return!1;try{return JSON.parse(b),!0}catch{return!1}}function q(a={}){let{mode:b=n,targetFormat:c,sourceFormat:r,provider:s=null,reqLogger:t=null,toolNameMap:u=null,model:v=null,connectionId:w=null,body:x=null,onStreamComplete:y=null,clientKeyId:z=null,terminateOnResponsesTerminal:A=!0}=a,B="",C=null,D=new TextDecoder("utf-8",{fatal:!1}),E=b===n?{...(0,d.Ws)(r),provider:s,toolNameMap:u,model:v}:null,F=0,G="",H="",I=null,J=0,K=0,L={},M=null,N=!1,O=!1,P=!1,Q=!1,R=!1,S=null,T=!1;function U(a){T||(T=!0,(0,f.uw)(v,s,w,!1,!a.completed),(0,g.Gh)(C)&&(0,g.IF)(s,C,v,w,z),Promise.resolve(y?.({content:G,thinking:H,...a},C,I)).catch(()=>{}),t?.close?.())}let V=(0,l.H)(),W=0;function X(a){if(j.T&&a&&(J++,a.startsWith("event:"))){let b=a.slice(6).trim();L[b]=(L[b]||0)+1}}function Y(a,b){let c;if(!a.trim())return;let d=a.split(/\r?\n/);for(let a of d)X(a.trim());for(let a of d){let b=a.trim();if(b.startsWith("event:")){let a=b.slice(6).trim();a.startsWith("response.")&&(P=!0),("response.completed"===a||"response.done"===a||"response.failed"===a||"response.incomplete"===a)&&(Q=!0)}}let f=d.filter(a=>a.startsWith("data:")),i=f.map(a=>a.slice(5).replace(/^ /,"")).join("\n"),j=!1;if(f.length>0)if("[DONE]"===i.trim()){if(O)return;O=!0,c="data: [DONE]\n\n"}else try{let a=JSON.parse(i.trim());W=0,["message_start","message_delta","message_stop","content_block_start","content_block_delta","content_block_stop"].includes(a.type)&&(R=!0),"content_block_delta"===a.type&&("string"==typeof a.delta?.text&&(G+=a.delta.text,F+=a.delta.text.length),"string"==typeof a.delta?.thinking&&(H+=a.delta.thinking,F+=a.delta.thinking.length)),"message_stop"===a.type&&(S={completed:!0}),"error"===a.type&&(S={completed:!1,error:a.error?.message||"upstream stream error"});let b=(0,h.A4)(a),d=!1;if(u?.size>0&&a?.type==="content_block_start"&&a?.content_block?.type==="tool_use"){let b=u.get(a.content_block.name);b&&(a.content_block={...a.content_block,name:b},d=!0)}let f=!1;if(void 0!==a.choices&&(a.object||(a.object="chat.completion.chunk",f=!0),a.created||(a.created=Math.floor(Date.now()/1e3),f=!0)),void 0!==a.prompt_filter_results&&(delete a.prompt_filter_results,f=!0),a?.choices)for(let b of a.choices)void 0!==b.content_filter_results&&(delete b.content_filter_results,f=!0);if(a?.choices)for(let b of a.choices)b.delta?.tool_calls&&Array.isArray(b.delta.tool_calls)&&0===b.delta.tool_calls.length&&(delete b.delta.tool_calls,f=!0);let k=(0,g.f5)(a);if(k&&(C=(0,g._L)(C,k)),!(0,h.c2)(a,e.h.OPENAI)&&!a.usage)return;let l=a.choices?.[0]?.delta;if("string"==typeof l?.content){let{content:a,reasoning:b}=V(l.content);b&&(l.reasoning_content=(l.reasoning_content||"")+b),a!==l.content&&(!l.reasoning_content||a&&a.trim()?l.content=a||"":delete l.content,f=!0)}let m=l?.content,n=l?.reasoning_content;m&&"string"==typeof m&&(F+=m.length,G+=m),n&&"string"==typeof n&&(F+=n.length,H+=n);let o=(0,g.f5)(a);o&&(C=(0,g._L)(C,o));let p=a.choices?.[0]?.finish_reason;if(p&&!(0,g.Gh)(a.usage)){let b=(0,g.OF)(x,F,e.h.OPENAI);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
|
|
46
46
|
|
|
47
47
|
`,C=b,j=!0}else if(p&&C){let b=(0,g.O9)(C);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
|
|
48
48
|
|
|
49
49
|
`,j=!0}else(b||f||d)&&(c=`data: ${JSON.stringify(a)}
|
|
50
50
|
|
|
51
|
-
`,j=!0)}catch{if(++
|
|
51
|
+
`,j=!0)}catch{if(++W>=5)throw Error(`upstream sent ${W} consecutive non-JSON data events`);return}j||c||(c=d.map(a=>a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5):a).join("\n")+"\n\n"),t?.appendConvertedChunk?.(c),S&&U(S),b.enqueue(m.encode(c)),S&&b.terminate()}function Z(a,b=!1){let c=B.split(/\r?\n\r?\n/);for(let b of(B=c.pop()||"",c))if(Y(b,a),T){B="";return}b&&B&&(Y(B,a),B="")}return new TransformStream({transform(a,j){I||(I=Date.now());let k=D.decode(a,{stream:!0});if(B+=k,t?.appendProviderChunk?.(k),b===o)return void Z(j);let l=B.split(/\r?\n\r?\n/);B=l.pop()||"";let q=[];for(let a of l){let b=[];for(let c of a.split("\n"))c.trim().startsWith("data:")?b.push(c):q.push(c);b.length>1&&b.every(p)?q.push(...b):b.length>0&&q.push(b.join("\n"))}for(let a of(q.push(...B.split("\n").slice(0,-1)),B=B.split("\n").pop()||"",q)){let k=a.trim();if(X(k),b===n&&c===e.h.OPENAI_RESPONSES&&k.startsWith("event:")&&(M=k.slice(6).trim()),!k)continue;let l=(0,h.tV)(k,c);if(!l)continue;let o=c===e.h.OPENAI_RESPONSES,p=o&&r===e.h.OPENAI_RESPONSES,q=o?(0,i.yx)(M,l):null,u=o&&(0,i.nu)(q,l);if(u&&(N=!0),"string"==typeof l?.choices?.[0]?.delta?.content){let a=l.choices[0].delta,{content:b,reasoning:c}=V(a.content);c&&(a.reasoning_content=(a.reasoning_content||"")+c),b!==a.content&&(!a.reasoning_content||b&&b.trim()?a.content=b||"":delete a.content)}if(l&&l.done&&c!==e.h.OLLAMA){if(p&&!N){let a=(0,i.u9)();t?.appendConvertedChunk?.(a),j.enqueue(m.encode(a)),N=!0,K++}if((p||r===e.h.OPENAI)&&!O){let a="data: [DONE]\n\n";t?.appendConvertedChunk?.(a),j.enqueue(m.encode(a))}O=!0;continue}if(l.delta?.text&&(F+=l.delta.text.length,G+=l.delta.text),l.delta?.thinking&&(F+=l.delta.thinking.length,H+=l.delta.thinking),l.choices?.[0]?.delta?.content&&(F+=l.choices[0].delta.content.length,G+=l.choices[0].delta.content),l.choices?.[0]?.delta?.reasoning_content&&(F+=l.choices[0].delta.reasoning_content.length,H+=l.choices[0].delta.reasoning_content),l.candidates?.[0]?.content?.parts)for(let a of l.candidates[0].content.parts)a.text&&"string"==typeof a.text&&(F+=a.text.length,!0===a.thought?H+=a.text:G+=a.text);let B=(0,g.f5)(l);if(B&&(E.usage=(0,g._L)(E.usage,B)),p&&q){let a=(0,h.v8)({event:q,data:l},r);t?.appendConvertedChunk?.(a),j.enqueue(m.encode(a)),M=null,K++;continue}M=null;let C=(0,d.Y8)(c,r,l,E);if(C?._openaiIntermediate)for(let a of C._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);t?.appendOpenAIChunk?.(b)}if(C?.length>0)for(let a of C){if(null==a||!(0,h.c2)(a,r))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(E.finishReason&&b&&!(0,g.Gh)(a.usage)&&F>0){let b=(0,g.OF)(x,F,r);a.usage=(0,g.WL)(b,r),E.usage=b}else if(E.finishReason&&b&&E.usage){let b=(0,g.O9)(E.usage);a.usage=(0,g.WL)(b,r)}let c=(0,h.v8)(a,r);t?.appendConvertedChunk?.(c),j.enqueue(m.encode(c)),K++}if(u&&r===e.h.OPENAI&&!O){let a="data: [DONE]\n\n";if(t?.appendConvertedChunk?.(a),j.enqueue(m.encode(a)),O=!0,A){(0,f.uw)(v,s,w,!1),!(0,g.Gh)(E?.usage)&&F>0&&(E.usage=(0,g.OF)(x,F,r)),(0,g.Gh)(E?.usage)&&(0,g.IF)(E.provider||c,E.usage,v,w,z),y&&y({content:G,thinking:H},E?.usage,I).catch(()=>{}),t?.close?.(),j.terminate();return}}}},async flush(a){let l=Object.entries(L).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,j.s)("SSE",`flush | provider=${s} | model=${v} | recvLines=${J} | emitted=${K} | events=[${l}]`),(0,f.uw)(v,s,w,!1);try{let j=D.decode();if(j&&(B+=j),b===o){if(Z(a,!0),R&&!T){S={completed:!1,error:"upstream closed before message_stop"},U(S),a.enqueue(m.encode(`event: error
|
|
52
|
+
data: ${JSON.stringify({type:"error",error:{type:"api_error",message:S.error}})}
|
|
53
|
+
|
|
54
|
+
`));return}if(T)return;!(0,g.Gh)(C)&&F>0&&(C=(0,g.OF)(x,F,e.h.OPENAI)),(0,g.Gh)(C)?(0,g.IF)(s,C,v,w,z):(0,f.E5)({model:v,provider:s,connectionId:w,tokens:null,status:"200 OK"}).catch(()=>{});let b="antigravity"===s||"gemini"===s||"gemini-cli"===s||"vertex"===s||"vertex-partner"===s||s?.endsWith?.("-vertex");if(P&&!Q){let b=(0,i.u9)();t?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),Q=!0}if(!O&&!b){let b="data: [DONE]\n\n";t?.appendConvertedChunk?.(b),a.enqueue(m.encode(b))}y&&await y({content:G,thinking:H},C,I),t?.close?.();return}if(B.trim()){let b=(0,h.tV)(B.trim());if(b&&!b.done){let f=(0,d.Y8)(c,r,b,E);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);t?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){if(null==b)continue;let c=(0,h.v8)(b,r);t?.appendConvertedChunk?.(c),a.enqueue(m.encode(c))}}}let k=(0,d.Y8)(c,r,null,E);if(k?._openaiIntermediate)for(let a of k._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);t?.appendOpenAIChunk?.(b)}if(k?.length>0)for(let b of k){if(null==b)continue;let c=(0,h.v8)(b,r);t?.appendConvertedChunk?.(c),a.enqueue(m.encode(c))}let l=c===e.h.OPENAI_RESPONSES&&r===e.h.OPENAI_RESPONSES;if(l&&!N){let b=(0,i.u9)();t?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),N=!0}if((l||r===e.h.OPENAI)&&!O){let b="data: [DONE]\n\n";t?.appendConvertedChunk?.(b),a.enqueue(m.encode(b)),O=!0}!(0,g.Gh)(E?.usage)&&F>0&&(E.usage=(0,g.OF)(x,F,r)),(0,g.Gh)(E?.usage)?(0,g.IF)(E.provider||c,E.usage,v,w,z):(0,f.E5)({model:v,provider:s,connectionId:w,tokens:null,status:"200 OK"}).catch(()=>{}),y&&await y({content:G,thinking:H},E?.usage,I),t?.close?.()}catch(b){t?.close?.();let a=b?.message||String(b);(0,k.BP)("","✗",`FLUSH ERROR \xb7 ${s||c}/${v} \xb7 ${a}${b?.stack?`
|
|
52
55
|
${b.stack}`:""}`)}},cancel(){t?.close?.()}})}function r(a,b,c=null,d=null,e=null,f=null,g=null,h=null,i=null,j=null,k=!0){return q({mode:n,targetFormat:a,sourceFormat:b,provider:c,reqLogger:d,toolNameMap:e,model:f,connectionId:g,body:h,onStreamComplete:i,clientKeyId:j,terminateOnResponsesTerminal:k})}function s(a=null,b=null,c=null,d=null,e=null,f=null,g=null,h=null){return q({mode:o,provider:a,reqLogger:b,toolNameMap:c,model:d,connectionId:e,body:f,onStreamComplete:g,clientKeyId:h})}},12197:(a,b,c)=>{c.d(b,{El:()=>i,f3:()=>o,mS:()=>h,u1:()=>j});var d=c(77598),e=c(12407),f=c(66573),g=c(92);let h="sb_vault_search",i=6144;function j(a){let b=Number(a);return Number.isFinite(b)?Math.max(7,b):7}let k=!1;async function l(a,b){try{var c;let h,i;if("string"!=typeof a)return a;let j=Buffer.byteLength(a,"utf8");if(b.stats.bytesBefore+=j,j<b.thresholdBytes||(0,g.mE)(a))return b.stats.bytesAfter+=j,a;let k=(c=b.conversationId,`vlt_${(0,d.createHash)("sha256").update(`${c}\0${Date.now()}\0${Math.random()}\0${a.length}`).digest("hex").slice(0,12)}`),l=function(a,b=4e3){if("string"!=typeof a||!a)return[];let c=Math.max(1,Math.floor(Number(b)||4e3)),d=[],e=a,g=0;for(;e&&g++<2e3;){if(e.length<=c){d.push(e),e="";break}let a=e.lastIndexOf("\n\n",c);a<.5*c&&(a=e.lastIndexOf("\n",c)),a<.5*c&&(a=-1);let b=a>0?e.slice(0,a):(0,f.Wg)(e,c);if(b||(b=(0,f.Wg)(e,c)),!b)break;d.push(b),e=e.slice(b.length)}return e||0===d.length?[]:d}(a);if(0===l.length)return b.stats.bytesAfter+=j,a;let m=!1;try{m=await (0,e.M8)({id:k,conversationId:b.conversationId,toolName:b.toolNameHint,content:a,chunks:l,ttlMs:b.ttlMs})}catch{}if(!m)return b.stats.bytesAfter+=j,a;let n=(h=(0,f.Wg)(a,500),i=a.length>h.length?"…":"",`[Switchboard vault] The full tool result (${a.length} chars) was moved to the conversation vault to save context. A preview is below. To read the rest, call the sb_vault_search tool with vault_id "${k}" and a query describing what you need.
|
|
53
56
|
|
|
54
57
|
--- preview (first 500 chars) ---
|
|
55
58
|
${h}${i}`);return b.stats.bytesAfter+=Buffer.byteLength(n,"utf8"),b.stats.vaulted+=1,n}catch{return a}}async function m(a,b){try{if(!a||"object"!=typeof a||!0===a.is_error||"error"===a.status)return;if("function_call_output"===a.type){if("string"==typeof a.output)a.output=await l(a.output,b);else if(Array.isArray(a.output))for(let c=0;c<a.output.length;c+=1){let d=a.output[c];d?.type==="input_text"&&"string"==typeof d.text&&(d.text=await l(d.text,b))}return}if("tool"===a.role){if("string"==typeof a.content)a.content=await l(a.content,b);else if(Array.isArray(a.content))for(let c=0;c<a.content.length;c+=1){let d=a.content[c];d?.type==="text"&&"string"==typeof d.text&&(d.text=await l(d.text,b))}return}if(!Array.isArray(a.content))return;for(let c=0;c<a.content.length;c+=1){let d=a.content[c];if(d&&"tool_result"===d.type&&!0!==d.is_error&&"error"!==d.status){if("string"==typeof d.content)d.content=await l(d.content,b);else if(Array.isArray(d.content))for(let a=0;a<d.content.length;a+=1){let c=d.content[a];c?.type==="text"&&"string"==typeof c.text&&(c.text=await l(c.text,b))}}}}catch{}}async function n(a,b){try{let c=a?.conversationState,d=Array.isArray(c?.history)?[...c.history]:[];c?.currentMessage&&d.push(c.currentMessage);for(let a=0;a<d.length;a+=1)try{let c=d[a]?.userInputMessage?.userInputMessageContext?.toolResults;if(!Array.isArray(c))continue;for(let a=0;a<c.length;a+=1){let d=c[a];if(d&&!0!==d.is_error&&"error"!==d.status&&Array.isArray(d.content))for(let a=0;a<d.content.length;a+=1){let c=d.content[a];c&&"string"==typeof c.text&&(c.text=await l(c.text,b))}}}catch{}}catch{}}async function o(a,{conversationId:b,thresholdBytes:c,ttlMs:d,toolNameHint:e=null,log:f=null}={}){let g={bytesBefore:0,bytesAfter:0,vaulted:0};try{if(!a||"object"!=typeof a||"string"!=typeof b||!b)return g;let h=Number(c),i=Number(d);if(!Number.isFinite(h)||h<=0||!Number.isFinite(i)||i<=0)return g;let j={conversationId:b,thresholdBytes:h,ttlMs:i,toolNameHint:e,log:f,stats:g};if(a.conversationState)return await n(a,j),g;let l=Array.isArray(a.messages)?a.messages:Array.isArray(a.input)?a.input:null;if(!l)return!k&&(Array.isArray(a?.contents)||Array.isArray(a?.request?.contents))&&(k=!0,f?.warn?.("VAULT","inactive for this upstream body shape (e.g. Gemini contents[]); tool results are not externalized")),g;for(let a=0;a<l.length;a+=1)await m(l[a],j);return g}catch{return{bytesBefore:0,bytesAfter:0,vaulted:0}}}},15142:(a,b,c)=>{c.d(b,{N:()=>p});var d=c(19956),e=c(68057),f=c(49612),g=c(67677),h=c(89865),i=c(60290),j=c(94176),k=c(29461),l=c(12407),m=c(10089),n=c(83611);async function o(a,b){if(!a.body||"function"!=typeof a.body.getReader){let c=await a.text();return(0,j.tQ)(new TextEncoder().encode(c).byteLength,b),c}let c=a.body.getReader(),d=new TextDecoder,e=0,f="";try{for(;;){let{done:a,value:g}=await c.read();if(a)break;e+=g?.byteLength||0,(0,j.tQ)(e,b),f+=d.decode(g,{stream:!0})}f+=d.decode()}catch(a){throw c.cancel().catch(()=>{}),a}finally{try{c.releaseLock()}catch{}}return f}async function p({providerResponse:a,provider:b,model:c,sourceFormat:q,targetFormat:r,body:s,stream:t,requestConfig:u,translatedBody:v,finalBody:w,requestStartTime:x,connectionId:y,clientKeyId:z,requestId:A,clientRawRequest:B,onRequestSuccess:C,reqLogger:D,toolNameMap:E,trackDone:F,appendLog:G,pxpipe:H,streamSignal:I}){let J;if(F(),(a.headers.get("content-type")||"").includes("text/event-stream")){let d;try{d=await (0,j.iJ)(a.body,c,{signal:I})}catch(a){return G({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to convert SSE response from ${b}:`,a.message),(0,h.A1)(i.gx.BAD_GATEWAY,"Failed to convert streaming response to JSON")}if(!d)return G({status:`FAILED ${i.gx.BAD_GATEWAY}`}),(0,h.A1)(i.gx.BAD_GATEWAY,"Invalid SSE response for non-streaming request");J=d}else try{let b=(0,j.hB)(),c=Number(a.headers.get("content-length"));if(Number.isFinite(c)&&c>b)throw Error(`Upstream JSON body (${c} bytes) exceeds limit (${b} bytes)`);J=JSON.parse(await o(a,b))}catch(a){return G({status:`FAILED ${i.gx.BAD_GATEWAY}`}),console.error(`[ChatCore] Failed to parse JSON from ${b}:`,a.message),(0,h.A1)(i.gx.BAD_GATEWAY,`Invalid JSON response from ${b}`)}D.logProviderResponse(a.status,a.statusText,a.headers,J),C&&Promise.resolve().then(C).catch(a=>{console.error("[ChatCore] onRequestSuccess failed:",a?.message||a)}),J=(0,m.kR)(J,E);let K=(0,k.MK)(J);G({tokens:K,status:"200 OK"}),await (0,k.YZ)({provider:b,model:c,tokens:K,connectionId:y,clientKeyId:z,requestId:A,endpoint:B?.endpoint});let L=q===r&&q!==d.h.OPENAI,M=L?null:r===d.h.OPENAI?J:function(a,b){if(b===d.h.OPENAI)return a;if(b===d.h.OPENAI_RESPONSES)return a?.choices?a:Array.isArray(a?.output)?(0,f.g)(a,a?.model):a;if(b===d.h.GEMINI||b===d.h.ANTIGRAVITY||b===d.h.GEMINI_CLI||b===d.h.VERTEX){let b=a.response||a;if(!b?.candidates?.[0])return a;let c=b.candidates[0],d=c.content,e=b.usageMetadata||a.usageMetadata,f="",g="",h=[];if(d?.parts)for(let a of d.parts){!0===a.thought&&a.text?g+=a.text:void 0!==a.text&&(f+=a.text),a.functionCall&&h.push({id:`call_${a.functionCall.name}_${h.length}`,type:"function",function:{name:a.functionCall.name,arguments:JSON.stringify(a.functionCall.args||{})}});let b=a.inlineData||a.inline_data;if(b?.data){let a=b.mimeType||b.mime_type||"image/png";f+=`
|
|
56
59
|

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