switchboard-router 0.9.62 → 0.9.64

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.
Files changed (126) hide show
  1. package/app/{.next-cli-build/static/chunks/1321-5586527eb9770b48.js → .next/static/chunks/1321-4382bc47c7af5df3.js} +1 -1
  2. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-452a2893dc7fd3a8.js +1 -0
  3. package/app/.next-cli-build/BUILD_ID +1 -1
  4. package/app/.next-cli-build/app-path-routes-manifest.json +9 -9
  5. package/app/.next-cli-build/build-manifest.json +2 -2
  6. package/app/.next-cli-build/prerender-manifest.json +3 -3
  7. package/app/.next-cli-build/server/app/(dashboard)/dashboard/agent-library/page_client-reference-manifest.js +1 -1
  8. package/app/.next-cli-build/server/app/(dashboard)/dashboard/basic-chat/page_client-reference-manifest.js +1 -1
  9. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/[toolId]/page_client-reference-manifest.js +1 -1
  10. package/app/.next-cli-build/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
  11. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
  12. package/app/.next-cli-build/server/app/(dashboard)/dashboard/combos/routing/page_client-reference-manifest.js +1 -1
  13. package/app/.next-cli-build/server/app/(dashboard)/dashboard/console-log/page_client-reference-manifest.js +1 -1
  14. package/app/.next-cli-build/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
  15. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/[id]/page_client-reference-manifest.js +1 -1
  16. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/[kind]/page_client-reference-manifest.js +1 -1
  17. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/combo/[id]/page_client-reference-manifest.js +1 -1
  18. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/page_client-reference-manifest.js +1 -1
  19. package/app/.next-cli-build/server/app/(dashboard)/dashboard/media-providers/web/page_client-reference-manifest.js +1 -1
  20. package/app/.next-cli-build/server/app/(dashboard)/dashboard/mitm/page_client-reference-manifest.js +1 -1
  21. package/app/.next-cli-build/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
  22. package/app/.next-cli-build/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
  23. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
  24. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
  25. package/app/.next-cli-build/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
  26. package/app/.next-cli-build/server/app/(dashboard)/dashboard/pxpipe/page_client-reference-manifest.js +1 -1
  27. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page.js +1 -1
  28. package/app/.next-cli-build/server/app/(dashboard)/dashboard/quota/page_client-reference-manifest.js +1 -1
  29. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/[id]/page_client-reference-manifest.js +1 -1
  30. package/app/.next-cli-build/server/app/(dashboard)/dashboard/skills/page_client-reference-manifest.js +1 -1
  31. package/app/.next-cli-build/server/app/(dashboard)/dashboard/token-saver/page_client-reference-manifest.js +1 -1
  32. package/app/.next-cli-build/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
  33. package/app/.next-cli-build/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
  34. package/app/.next-cli-build/server/app/_global-error/page_client-reference-manifest.js +1 -1
  35. package/app/.next-cli-build/server/app/_global-error.html +1 -1
  36. package/app/.next-cli-build/server/app/_global-error.rsc +1 -1
  37. package/app/.next-cli-build/server/app/_global-error.segments/_full.segment.rsc +1 -1
  38. package/app/.next-cli-build/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  39. package/app/.next-cli-build/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  40. package/app/.next-cli-build/server/app/_not-found/page_client-reference-manifest.js +1 -1
  41. package/app/.next-cli-build/server/app/_not-found.html +1 -1
  42. package/app/.next-cli-build/server/app/_not-found.rsc +3 -3
  43. package/app/.next-cli-build/server/app/_not-found.segments/_full.segment.rsc +3 -3
  44. package/app/.next-cli-build/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  45. package/app/.next-cli-build/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  46. package/app/.next-cli-build/server/app/api/cli-tools/aider-settings/route.js +2 -2
  47. package/app/.next-cli-build/server/app/api/cli-tools/all-statuses/route.js +6 -6
  48. package/app/.next-cli-build/server/app/api/cli-tools/antigravity-mitm/alias/route.js +2 -2
  49. package/app/.next-cli-build/server/app/api/cli-tools/cline-settings/route.js +1 -1
  50. package/app/.next-cli-build/server/app/api/cli-tools/codex-settings/route.js +1 -1
  51. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-registry/route.js +2 -2
  52. package/app/.next-cli-build/server/app/api/cli-tools/cowork-mcp-tools/route.js +1 -1
  53. package/app/.next-cli-build/server/app/api/cli-tools/cowork-settings/route.js +1 -1
  54. package/app/.next-cli-build/server/app/api/cli-tools/deepseek-tui-settings/route.js +1 -1
  55. package/app/.next-cli-build/server/app/api/cli-tools/droid-settings/route.js +2 -2
  56. package/app/.next-cli-build/server/app/api/cli-tools/fx-settings/route.js +2 -2
  57. package/app/.next-cli-build/server/app/api/cli-tools/gemini-cli-settings/route.js +3 -3
  58. package/app/.next-cli-build/server/app/api/cli-tools/grok-settings/route.js +2 -2
  59. package/app/.next-cli-build/server/app/api/cli-tools/hermes-settings/route.js +3 -3
  60. package/app/.next-cli-build/server/app/api/cli-tools/jcode-settings/route.js +1 -1
  61. package/app/.next-cli-build/server/app/api/cli-tools/kilo-settings/route.js +2 -2
  62. package/app/.next-cli-build/server/app/api/cli-tools/openclaw-settings/route.js +2 -2
  63. package/app/.next-cli-build/server/app/api/cli-tools/opencode-settings/route.js +1 -1
  64. package/app/.next-cli-build/server/app/api/cli-tools/pi-settings/route.js +2 -2
  65. package/app/.next-cli-build/server/app/api/version/route.js +1 -1
  66. package/app/.next-cli-build/server/app/callback/page_client-reference-manifest.js +1 -1
  67. package/app/.next-cli-build/server/app/callback.html +1 -1
  68. package/app/.next-cli-build/server/app/callback.rsc +3 -3
  69. package/app/.next-cli-build/server/app/callback.segments/_full.segment.rsc +3 -3
  70. package/app/.next-cli-build/server/app/callback.segments/_tree.segment.rsc +1 -1
  71. package/app/.next-cli-build/server/app/callback.segments/callback/__PAGE__.segment.rsc +3 -3
  72. package/app/.next-cli-build/server/app/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
  73. package/app/.next-cli-build/server/app/dashboard/settings/pricing.html +1 -1
  74. package/app/.next-cli-build/server/app/dashboard/settings/pricing.rsc +3 -3
  75. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_full.segment.rsc +3 -3
  76. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/_tree.segment.rsc +1 -1
  77. package/app/.next-cli-build/server/app/dashboard/settings/pricing.segments/dashboard/settings/pricing/__PAGE__.segment.rsc +3 -3
  78. package/app/.next-cli-build/server/app/index.html +1 -1
  79. package/app/.next-cli-build/server/app/index.rsc +3 -3
  80. package/app/.next-cli-build/server/app/index.segments/__PAGE__.segment.rsc +3 -3
  81. package/app/.next-cli-build/server/app/index.segments/_full.segment.rsc +3 -3
  82. package/app/.next-cli-build/server/app/index.segments/_tree.segment.rsc +1 -1
  83. package/app/.next-cli-build/server/app/landing/page_client-reference-manifest.js +1 -1
  84. package/app/.next-cli-build/server/app/landing.html +1 -1
  85. package/app/.next-cli-build/server/app/landing.rsc +3 -3
  86. package/app/.next-cli-build/server/app/landing.segments/_full.segment.rsc +3 -3
  87. package/app/.next-cli-build/server/app/landing.segments/_tree.segment.rsc +1 -1
  88. package/app/.next-cli-build/server/app/landing.segments/landing/__PAGE__.segment.rsc +3 -3
  89. package/app/.next-cli-build/server/app/login/page_client-reference-manifest.js +1 -1
  90. package/app/.next-cli-build/server/app/login.html +1 -1
  91. package/app/.next-cli-build/server/app/login.rsc +4 -4
  92. package/app/.next-cli-build/server/app/login.segments/_full.segment.rsc +4 -4
  93. package/app/.next-cli-build/server/app/login.segments/_tree.segment.rsc +1 -1
  94. package/app/.next-cli-build/server/app/login.segments/login/__PAGE__.segment.rsc +4 -4
  95. package/app/.next-cli-build/server/app/page_client-reference-manifest.js +1 -1
  96. package/app/.next-cli-build/server/app-paths-manifest.json +9 -9
  97. package/app/.next-cli-build/server/chunks/1350.js +1 -1
  98. package/app/.next-cli-build/server/chunks/1792.js +1 -1
  99. package/app/.next-cli-build/server/chunks/2847.js +1 -1
  100. package/app/.next-cli-build/server/chunks/369.js +7 -6
  101. package/app/.next-cli-build/server/chunks/3904.js +1 -1
  102. package/app/.next-cli-build/server/chunks/5139.js +1 -1
  103. package/app/.next-cli-build/server/chunks/8400.js +5 -5
  104. package/app/.next-cli-build/server/chunks/869.js +1 -1
  105. package/app/.next-cli-build/server/chunks/8998.js +9 -9
  106. package/app/.next-cli-build/server/middleware-build-manifest.js +1 -1
  107. package/app/.next-cli-build/server/pages/404.html +1 -1
  108. package/app/.next-cli-build/server/pages/500.html +1 -1
  109. package/app/.next-cli-build/server/server-reference-manifest.js +1 -1
  110. package/app/.next-cli-build/server/server-reference-manifest.json +1 -1
  111. package/app/{.next/static/chunks/1321-5586527eb9770b48.js → .next-cli-build/static/chunks/1321-4382bc47c7af5df3.js} +1 -1
  112. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-452a2893dc7fd3a8.js +1 -0
  113. package/app/open-sse/identity/tls/bin/darwin/arm64/switchboard-claude-tls +0 -0
  114. package/app/open-sse/identity/tls/bin/darwin/x64/switchboard-claude-tls +0 -0
  115. package/app/open-sse/identity/tls/bin/linux/arm64/switchboard-claude-tls +0 -0
  116. package/app/open-sse/identity/tls/bin/linux/x64/switchboard-claude-tls +0 -0
  117. package/app/open-sse/identity/tls/bin/win32/arm64/switchboard-claude-tls.exe +0 -0
  118. package/app/open-sse/identity/tls/bin/win32/x64/switchboard-claude-tls.exe +0 -0
  119. package/app/package.json +1 -1
  120. package/package.json +1 -1
  121. package/app/.next/static/chunks/app/(dashboard)/dashboard/quota/page-c9a257b85e05472a.js +0 -1
  122. package/app/.next-cli-build/static/chunks/app/(dashboard)/dashboard/quota/page-c9a257b85e05472a.js +0 -1
  123. /package/app/.next/static/{cd9DZQ978U7eW2QFBhfwd → giMjmOeGIf4YWXDST281N}/_buildManifest.js +0 -0
  124. /package/app/.next/static/{cd9DZQ978U7eW2QFBhfwd → giMjmOeGIf4YWXDST281N}/_ssgManifest.js +0 -0
  125. /package/app/.next-cli-build/static/{cd9DZQ978U7eW2QFBhfwd → giMjmOeGIf4YWXDST281N}/_buildManifest.js +0 -0
  126. /package/app/.next-cli-build/static/{cd9DZQ978U7eW2QFBhfwd → giMjmOeGIf4YWXDST281N}/_ssgManifest.js +0 -0
@@ -42,7 +42,7 @@ ${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(78638);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}]}},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.
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(78638);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}]}},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${a}`).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.
46
46
 
47
47
  --- preview (first 500 chars) ---
48
48
  ${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,19 +56,20 @@ ${b}`:b;return}let c=Array.isArray(a.messages)?a.messages:null;if(!c)return;let
56
56
 
57
57
  ${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:()=>k,Fo:()=>i,MK:()=>j,YZ:()=>l});var d=c(12407),e=c(71413),f=c(78638),g=c(67677);let h=["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 i(a,b){let c={messages:a.messages||[],model:a.model,stream:b};for(let b of h)void 0!==a[b]&&(c[b]=a[b]);return c}function j(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 k(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,toolHistory:a.request?.toolHistoryDiagnostics?{stages:a.request.toolHistoryDiagnostics,dispatched:(0,e.O)(a.providerRequest)}:void 0,response:a.response||{},pxpipe:a.pxpipe||void 0,rtk:a.rtk||void 0,status:a.status||"success",...b}}function l(a){let b=function({provider:a,model:b,tokens:c,connectionId:e,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=e?` | account=${e.slice(0,8)}...`:"";console.log(`${f.lm.green}[${n}] 📊 [${k}] ${a.toUpperCase()} | in=${l} | out=${m}${o}${f.lm.reset}`);let p=(0,g._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:e||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(78638);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}
58
58
 
59
- `),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:()=>V});var e=c(17717),f=c(48664),g=c(94454),h=c(19956),i=c(43788),j=c(5425),k=c(71413),l=c(78638),m=c(15575),n=c(41029),o=c(49263),p=c(18129),q=c(70718),r=c(46052),s=c(27335),t=c(4630),u=c(89865),v=c(60290),w=c(2735),x=c(12407),y=c(48400),z=c(29461),A=c(78255),B=c(15142),C=c(61229),D=c(34267),E=c(18367),F=c(27226),G=c(28190),H=c(10640),I=c(37208),J=c(16799),K=c(92),L=c(10089),M=c(91576),N=c(12197),O=c(54070),P=c(39232),Q=c(90197),R=c(43904),S=c(94501),T=c(96145),U=a([y]);y=(U.then?(await U)():U)[0];let W=new Set([h.h.GEMINI,h.h.GEMINI_CLI,h.h.ANTIGRAVITY,h.h.VERTEX]);async function V({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:U,onRequestSuccess:X,onDisconnect:Y,onUpstreamEmptyExhausted:Z,clientRawRequest:$,connectionId:_,userAgent:aa,clientKeyId:ab,ccFilterNaming:ac,rtkEnabled:ad,vaultEnabled:ae,vaultThresholdKB:af,vaultTtlHours:ag,vaultConversationId:ah,headroomEnabled:ai,headroomUrl:aj,headroomCompressUserMessages:ak,cavemanEnabled:al,cavemanLevel:am,ponytailEnabled:an,ponytailLevel:ao,pxpipeEnabled:ap,pxpipeMinChars:aq,pxpipeTimeoutMs:ar,pxpipeTransform:as,onPxpipeEvent:at,sourceFormatOverride:au,providerThinking:av,bypassNativePassthrough:aw,vaultInternal:ax,abortSignal:ay}){let az,aA,aB,aC,aD,aE;if(ay?.aborted)return(0,u.A1)(499,"Request aborted");let{provider:aF,model:aG}=b,aH=Date.now(),aI=au||(0,e.Tz)(a),aJ=[],aK=(a,b,c=aI)=>{if(aI!==h.h.CLAUDE)return;if(c!==h.h.CLAUDE)return void aJ.push({stage:a,format:c,notApplicable:!0});let d=(0,k.O)(b);d?aJ.push({stage:a,format:c,...d}):aJ.length&&aJ.push({stage:a,format:c,messageCount:b?.messages?.length||0,toolCalls:0,toolResults:0})};aK("inbound",a);let aL=(0,w.c)(a,aG,aa,ac);if(aL)return aL;let aM=s.Xg[aF]||aF,aN=(0,s.ux)(aM,aG),aO=(0,s.ez)(aM,aG),aP=aN||(0,e.jJ)(aF,c),aQ=(0,e.oF)(aF,aI,aO),aR=aQ||(0,e.oF)(aF,aP,aO),aS=aQ?.format===aI;c&&(c.runtimeTransport=aR||void 0);let aT=aS?aI:aR?.format||aP,aU=aI===h.h.CLAUDE&&(0,j.r)(a);if(aU&&aT!==h.h.CLAUDE)return(0,u.A1)(v.gx.BAD_REQUEST,"Claude provider-managed threads require a native Claude route; send full history to change providers.");if(aU&&"continue"===a.thread.type&&!(0,j.k)(a))return(0,u.A1)(v.gx.BAD_REQUEST,"Claude thread continuation requires a previous_message_id.");let aV=(0,s.cY)(aM,aG),aW=(0,s.kt)(aM,aG);if(!aU&&av?.mode&&"auto"!==av.mode){let b=av.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 aX=$?.headers?.accept||"",aY=aX.includes("application/json"),aZ=aX.includes("text/event-stream"),a$=aI===h.h.ANTIGRAVITY||aI===h.h.GEMINI||aI===h.h.GEMINI_CLI,a_=!0===a.stream||a$&&!(aY&&!aZ),a0=t.xq[aF]?.forceStream===!0,a1=!!a0||!1!==a.stream,a2=(0,s.OA)(aM,aG);"imageGen"===a2&&("antigravity"===aF||"gemini-cli"===aF)&&(a1=!1);let a3=(0,F.Jz)($?.headers||{},a);"deepseek-tui"===a3&&!0!==a.stream&&(a1=!1),!aY||aZ||!0===a.stream||a0||(a1=!1),a&&"object"==typeof a&&(a={...a,stream:a1});let a4=await (0,q.q7)(aI,aT,aG);$&&a4.logClientRawRequest($.endpoint,$.body,$.headers),a4.logRawRequest(a),d?.debug?.("FORMAT",`${aI} → ${aT} | stream=${a1}`);let a5=(0,F.Jz)($?.headers||{},a);(0,F.lP)(a5,$?.headers||{},a);let a6=!aw&&((0,F.Qf)(a5,aF)||aU&&["claude","anthropic"].includes(aF));if(aU&&!a6)return(0,u.A1)(v.gx.BAD_REQUEST,"Claude provider-managed threads require a native Claude provider.");if(c&&(c.rawHeaders=$?.headers||{}),!a6){let b=(0,R.nl)(aF,aG);(0,S.X)(a,aI,b)&&d?.debug?.("MODALITY",`stripped unsupported media for ${aF}/${aG}`);try{let b=await (0,T.C)(a,aI,aT,{signal:ay});b>0&&d?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${aT}`)}catch(a){d?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}let a7=(0,H.Ay)(a);if(a7>0&&d?.debug?.("TOOLCLEAN",`pre-translation: stripped ${a7} orphaned tool result(s)`),a6)d?.debug?.("PASSTHROUGH",`${a5} → ${aF} | native lossless`),az={...a,model:(0,g.kD)(aW)},("claude"===a5||aU)&&(0,i.ui)(az,az.model);else{if(!(az=(0,f.GH)(aI,aT,aW,a,a1,c,aF,a4,aV,_,a5)))return(0,x.uw)(aG,aF,_,!1,!0),(0,u.A1)(v.gx.BAD_REQUEST,`Failed to translate request for ${aI} → ${aT}`);if(aA=az._toolNameMap,delete az._toolNameMap,az.model=(0,g.kD)(aW),("claude"===aF||aF?.startsWith("anthropic-compatible"))&&"object"==typeof az){let a=c?.accessToken||c?.apiKey||null;if("string"==typeof a&&a.includes("sk-ant-oat"))try{let b=c?._clientSessionId||(0,M.oV)({headers:$?.headers,body:az,connectionId:_,scope:"claude"});az=await (0,L.Dz)(az,a,b,c?.connectionId||a,{})}catch{}}}if(aK("normalized",az,a6?aI:aT),!aU&&"claude"===a5&&Array.isArray(az.tools)){let{tools:a,stripped:b}=(0,G.F)(az.tools);b.length>0&&(az.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let a8=a6?aI:aT;"tts"===(0,s.OA)(aM,aG)&&az.messages&&(az.messages=az.messages.filter(a=>"tool"!==a.role),delete az.tools);let a9=null;try{if(!aU&&ae&&ah&&Array.isArray(az?.tools)&&az.tools.length>0&&(aI===h.h.OPENAI||aI===h.h.CLAUDE)){let a=1024*(0,N.u1)(af??8),b=3600*Math.max(1,Number(ag??24))*1e3;a9=await (0,N.f3)(az,{conversationId:ah,thresholdBytes:a,ttlMs:b,log:d})}}catch(a){d?.warn?.("VAULT",`store failed (dropped): ${a?.message||a}`)}let ba=!aU&&$?.headers?.[v.SA]?.toLowerCase()!=="off";aK("vault",az,a8);let bb=(0,K.BI)(az,ba&&ad),bc=(0,K.fT)(bb);if(bc&&console.log(bc),a9?.vaulted>0){let a=a9.bytesBefore-a9.bytesAfter;(0,O.DL)(a9.vaulted,a),d?.info?.("VAULT",`externalized ${a9.vaulted} tool result(s), saved ${a}B`)}aK("rtk",az,a8);let bd={},be=await (0,P.SI)(az,{enabled:ba&&ai,url:aj,model:aW,format:a8,compressUserMessages:ak,diagnostics:bd}),bf=(0,P.Nv)(be),bg=(0,P.O2)(bd);bf?(d?.info?.("HEADROOM",`${bf}${bg?` | ${bg}`:""}`),(0,P.cB)(be,bd)&&d?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${bg}`)):ba&&ai&&d?.warn?.("HEADROOM",`skipped: ${bd.reason||"compression unavailable"}${bd.endpoint?` (${bd.endpoint})`:""}`),aK("headroom",az,a8);let bh=(0,H.Ay)(az);bh>0&&d?.debug?.("TOOLCLEAN",`post-compression: stripped ${bh} orphaned tool result(s)`),aK("post-strip",az,a8),ba&&al&&am&&((0,I.p)(az,a8,am),d?.debug?.("CAVEMAN",`${am} | ${a8}`)),ba&&an&&ao&&((0,J.U)(az,a8,ao),d?.debug?.("PONYTAIL",`${ao} | ${a8}`));let bi=null;if(ba&&ap){let a=await (0,Q.H)(az,{enabled:!0,format:a8,model:aW,minChars:aq,timeoutMs:ar,transform:as});bi=a.summary;let b=(0,Q._)(bi);b?d?.info?.("PXPIPE",b):d?.debug?.("PXPIPE",`skipped: ${bi?.reason||"unknown"}`),a.body&&(az=a.body);try{at&&at({provider:aF,model:aG,...bi})}catch{}}if(az&&"object"==typeof az)if(W.has(a8)){let{stream:a,request:b,...c}=az;if(b&&"object"==typeof b){let{stream:a,...d}=b;az={...c,request:d}}else az=c}else az.stream!==a1&&(az={...az,stream:a1});!aU&&a6&&"claude"===a5&&(0,i._W)(az);let bj=(0,y.getExecutor)(aF);(0,x.uw)(aG,aF,_,!0),ax||(0,x.E5)({model:aG,provider:aF,connectionId:_,status:"PENDING"}).catch(()=>{});let bk=az.messages?.length||az.input?.length||az.contents?.length||az.request?.contents?.length||0;d?.debug?.("REQUEST",`${aF.toUpperCase()} | ${aG} | ${bk} msgs`);let bl=(0,m.jd)({onDisconnect:a=>{(0,x.uw)(aG,aF,_,!1),Y&&Y(a)},onError:()=>(0,x.uw)(aG,aF,_,!1),log:d,provider:aF,model:aG});if(ay)if(ay.aborted)try{bl.abort()}catch{}else ay.addEventListener("abort",()=>{try{bl.abort()}catch{}},{once:!0});let bm=(0,r.$6)(c);if(bm.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${aF.toUpperCase()} | ${aG} | conn=${a} | pool=${b} | vercel-relay=${bm.vercelRelayUrl}`)}else if(bm.connectionProxyEnabled&&bm.connectionProxyUrl){let a=bm.connectionProxyUrl;try{let b=new URL(bm.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",`${aF.toUpperCase()} | ${aG} | conn=${e} | pool=${b} | url=${a}`)}if(bm.connectionProxyEnabled&&bm.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${aF.toUpperCase()} | ${aG} | conn=${a} | no_proxy=${bm.connectionNoProxy}`)}aK("final",az,a8);let bn=(0,z.Fo)(a,a1);aJ.length&&(bn.toolHistoryDiagnostics=aJ);let bo=()=>ay?.aborted||bl.signal?.aborted,bp=async()=>{try{await aB?.body?.cancel?.()}catch{}return(0,x.uw)(aG,aF,_,!1),a4?.close?.(),(0,u.A1)(499,"Request aborted")};try{if(bo())return bp();let a=await bj.execute({model:aG,body:structuredClone(az),stream:a1,credentials:c,signal:bl.signal,log:d,proxyOptions:bm});aB=a.response,aC=a.url,aD=a.headers,aE=a.transformedBody,a4.logTargetRequest(aC,aD,aE)}catch(c){let a=bo()||c?.name==="AbortError";if((0,x.uw)(aG,aF,_,!1,!a),a4?.close?.(),(0,x.ox)((0,z.$R)({provider:aF,model:aG,connectionId:_,latency:{ttft:0,total:Date.now()-aH},tokens:{prompt_tokens:0,completion_tokens:0},request:bn,providerRequest:az||null,response:{error:c?.message||(a?"Request aborted":String(c)),status:a?499:502,thinking:null},status:"error",pxpipe:bi||void 0,rtk:bb||void 0})).catch(()=>{}),a)return bl.handleError(new DOMException("Request aborted","AbortError")),(0,u.A1)(499,"Request aborted");let b=(0,u.lR)(c,aF,aG,v.gx.BAD_GATEWAY);return console.log(`${l.lm.red}[ERROR] ${b}${l.lm.reset}`),(0,u.A1)(v.gx.BAD_GATEWAY,b)}if(bo())return bp();let bq=null;if(!bj.noAuth&&(aB.status===v.gx.UNAUTHORIZED||aB.status===v.gx.FORBIDDEN))try{let a=await (0,n.qZ)(async()=>{bl.signal?.throwIfAborted();let a=await (0,p.MF)(aF,c,()=>bj.refreshCredentials(c,d,bm));return a||bl.signal?.throwIfAborted(),a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,d,bl.signal);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${aF.toUpperCase()} | refreshed`),Object.assign(c,a),U)try{await U(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}if(bo())return bp();try{let a=await bj.execute({model:aG,body:structuredClone(az),stream:a1,credentials:c,signal:bl.signal,log:d,proxyOptions:bm});try{await aB.body?.cancel?.()}catch{}aB=a.response,aC=a.url,aD=a.headers??aD,aE=a.transformedBody??aE,a4.logTargetRequest(aC,aD,aE)}catch{d?.warn?.("TOKEN",`${aF.toUpperCase()} | retry after refresh failed`)}}else if((0,n.jT)(a)){let b=a.code||"invalid_grant";if(bq=`OAuth refresh token expired or revoked (${b}): reconnect the ${aF} account in the Switchboard dashboard`,d?.warn?.("TOKEN",`${aF.toUpperCase()} | refresh token revoked, re-auth required (${b})`),U)try{await U({reauthRequired:!0,testStatus:o.RU,lastError:bq,lastErrorAt:new Date().toISOString()})}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}}else d?.warn?.("TOKEN",`${aF.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${aF.toUpperCase()} | refresh threw: ${a.message}`)}if(bo())return bp();if(!aB.ok){(0,x.uw)(aG,aF,_,!1,!0),a4?.close?.();let{statusCode:a,message:b,resetsAtMs:c}=await (0,u.zL)(aB,bj),d=bq||b;(0,x.ox)((0,z.$R)({provider:aF,model:aG,connectionId:_,latency:{ttft:0,total:Date.now()-aH},tokens:{prompt_tokens:0,completion_tokens:0},request:bn,providerRequest:aE||az||null,response:{error:d,status:a,thinking:null},status:"error",pxpipe:bi||void 0,rtk:bb||void 0})).catch(()=>{});let e=(0,u.lR)(Error(d),aF,aG,a);return console.log(`${l.lm.red}[ERROR] ${e}${l.lm.reset}`),a4.logError(Error(d),aE||az),(0,u.A1)(a,e,c)}let br=async()=>{bl.signal?.throwIfAborted();let a=await bj.execute({model:aG,body:structuredClone(az),stream:a1,credentials:c,signal:bl.signal,log:d,proxyOptions:bm});if(bo()){try{await a.response.body?.cancel?.()}catch{}throw new DOMException("Request aborted","AbortError")}if(!a.response.ok){let{statusCode:b,message:c}=await (0,u.zL)(a.response,bj);throw Error(`[${b}] ${c}`)}if(!a.response.body)throw Error("upstream returned no body");return a.response.body},bs="antigravity"===aF||"gemini-cli"===aF||"gemini"===aF||"vertex"===aF;bs&&a1&&aB.body?aB=new Response((0,D.gH)({body:aB.body,reexecute:br,signal:bl.signal,log:d,onExhausted:(a,{upstreamError:b}={})=>{if(!Z)return;let c=bj.parseRetryFromErrorMessage?.(b?.message||a);return Z((0,u.lR)(Error(a),aF,aG,v.gx.BAD_GATEWAY),c?Date.now()+c:void 0)}}),{status:aB.status,headers:aB.headers}):a1&&aB.body&&(aB=new Response((0,E.Z)({body:aB.body,reexecute:br,signal:bl.signal,log:d,maxRetries:+("claude"!==aF)}),{status:aB.status,headers:aB.headers}));let bt=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,bu={provider:aF,model:aG,body:a,stream:a1,requestConfig:bn,translatedBody:az,finalBody:aE,requestStartTime:aH,connectionId:_,clientKeyId:ab,clientRawRequest:$,onRequestSuccess:X,requestId:bt,pxpipe:bi||void 0,streamSignal:bl.signal},bv=a=>{ax||(0,x.E5)({model:aG,provider:aF,connectionId:_,...a}).catch(()=>{})},bw=()=>(0,x.uw)(aG,aF,_,!1);if(!a_&&a0){let a=await (0,A.I)({...bu,providerResponse:aB,sourceFormat:aI,targetFormat:aT,trackDone:bw,appendLog:bv});if(a)return bl.handleComplete(),a}if(!a1){let a=await (0,B.N)({...bu,providerResponse:aB,sourceFormat:aI,targetFormat:aT,reqLogger:a4,toolNameMap:aA,trackDone:bw,appendLog:bv});return bl.handleComplete(),a}let{onStreamComplete:bx,onStreamFailure:by,streamDetailId:bz}=(0,C.$)({...bu});return(0,C.M)({...bu,providerResponse:aB,sourceFormat:aI,targetFormat:aT,userAgent:aa,reqLogger:a4,toolNameMap:aA,streamController:bl,onStreamComplete:bx,onStreamFailure:by,streamDetailId:bz,firstChunkTimeoutMs:bs?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(78638),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,firstProgressTimeoutMs:L=i.Z1,progressStallTimeoutMs:M=i.xM}){let N=(a.headers.get("content-type")||"").toLowerCase();if((N.includes("application/x-ndjson")||N.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}
59
+ `),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:()=>V});var e=c(17717),f=c(48664),g=c(94454),h=c(19956),i=c(43788),j=c(5425),k=c(71413),l=c(78638),m=c(15575),n=c(41029),o=c(49263),p=c(18129),q=c(70718),r=c(46052),s=c(27335),t=c(4630),u=c(89865),v=c(60290),w=c(2735),x=c(12407),y=c(48400),z=c(29461),A=c(78255),B=c(15142),C=c(61229),D=c(34267),E=c(18367),F=c(27226),G=c(28190),H=c(10640),I=c(37208),J=c(16799),K=c(92),L=c(10089),M=c(91576),N=c(12197),O=c(54070),P=c(39232),Q=c(90197),R=c(43904),S=c(94501),T=c(96145),U=a([y]);y=(U.then?(await U)():U)[0];let W=new Set([h.h.GEMINI,h.h.GEMINI_CLI,h.h.ANTIGRAVITY,h.h.VERTEX]);async function V({body:a,modelInfo:b,credentials:c,log:d,onCredentialsRefreshed:U,onRequestSuccess:X,onDisconnect:Y,onUpstreamEmptyExhausted:Z,clientRawRequest:$,connectionId:_,userAgent:aa,clientKeyId:ab,ccFilterNaming:ac,rtkEnabled:ad,vaultEnabled:ae,vaultThresholdKB:af,vaultTtlHours:ag,vaultConversationId:ah,headroomEnabled:ai,headroomUrl:aj,headroomCompressUserMessages:ak,cavemanEnabled:al,cavemanLevel:am,ponytailEnabled:an,ponytailLevel:ao,pxpipeEnabled:ap,pxpipeMinChars:aq,pxpipeTimeoutMs:ar,pxpipeTransform:as,onPxpipeEvent:at,sourceFormatOverride:au,providerThinking:av,bypassNativePassthrough:aw,vaultInternal:ax,abortSignal:ay}){let az,aA,aB,aC,aD,aE;if(ay?.aborted)return(0,u.A1)(499,"Request aborted");let{provider:aF,model:aG}=b,aH=Date.now(),aI=au||(0,e.Tz)(a),aJ=[],aK=(a,b,c=aI)=>{if(aI!==h.h.CLAUDE)return;if(c!==h.h.CLAUDE)return void aJ.push({stage:a,format:c,notApplicable:!0});let d=(0,k.O)(b);d?aJ.push({stage:a,format:c,...d}):aJ.length&&aJ.push({stage:a,format:c,messageCount:b?.messages?.length||0,toolCalls:0,toolResults:0})};aK("inbound",a);let aL=(0,w.c)(a,aG,aa,ac);if(aL)return aL;let aM=s.Xg[aF]||aF,aN=(0,s.ux)(aM,aG),aO=(0,s.ez)(aM,aG),aP=aN||(0,e.jJ)(aF,c),aQ=(0,e.oF)(aF,aI,aO),aR=aQ||(0,e.oF)(aF,aP,aO),aS=aQ?.format===aI;c&&(c.runtimeTransport=aR||void 0);let aT=aS?aI:aR?.format||aP,aU=aI===h.h.CLAUDE&&(0,j.r)(a);if(aU&&aT!==h.h.CLAUDE)return(0,u.A1)(v.gx.BAD_REQUEST,"Claude provider-managed threads require a native Claude route; send full history to change providers.");if(aU&&"continue"===a.thread.type&&!(0,j.k)(a))return(0,u.A1)(v.gx.BAD_REQUEST,"Claude thread continuation requires a previous_message_id.");let aV=(0,s.cY)(aM,aG),aW=(0,s.kt)(aM,aG);if(!aU&&av?.mode&&"auto"!==av.mode){let b=av.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 aX=$?.headers?.accept||"",aY=aX.includes("application/json"),aZ=aX.includes("text/event-stream"),a$=aI===h.h.ANTIGRAVITY||aI===h.h.GEMINI||aI===h.h.GEMINI_CLI,a_=!0===a.stream||a$&&!(aY&&!aZ),a0=t.xq[aF]?.forceStream===!0,a1=!!a0||!1!==a.stream,a2=(0,s.OA)(aM,aG);"imageGen"===a2&&("antigravity"===aF||"gemini-cli"===aF)&&(a1=!1);let a3=(0,F.Jz)($?.headers||{},a);"deepseek-tui"===a3&&!0!==a.stream&&(a1=!1),!aY||aZ||!0===a.stream||a0||(a1=!1),a&&"object"==typeof a&&(a={...a,stream:a1});let a4=await (0,q.q7)(aI,aT,aG);$&&a4.logClientRawRequest($.endpoint,$.body,$.headers),a4.logRawRequest(a),d?.debug?.("FORMAT",`${aI} → ${aT} | stream=${a1}`);let a5=(0,F.Jz)($?.headers||{},a);(0,F.lP)(a5,$?.headers||{},a);let a6=!aw&&((0,F.Qf)(a5,aF)||aU&&["claude","anthropic"].includes(aF));if(aU&&!a6)return(0,u.A1)(v.gx.BAD_REQUEST,"Claude provider-managed threads require a native Claude provider.");let a7=a6&&aI===h.h.CLAUDE&&a?.safeguards!==void 0,a8=aU||a7;if(c&&(c.rawHeaders=$?.headers||{}),!a6){let b=(0,R.nl)(aF,aG);(0,S.X)(a,aI,b)&&d?.debug?.("MODALITY",`stripped unsupported media for ${aF}/${aG}`);try{let b=await (0,T.C)(a,aI,aT,{signal:ay});b>0&&d?.debug?.("MODALITY",`prefetched ${b} remote image(s) for ${aT}`)}catch(a){d?.warn?.("MODALITY",`image prefetch failed: ${a.message}`)}}let a9=(0,H.Ay)(a);if(a9>0&&d?.debug?.("TOOLCLEAN",`pre-translation: stripped ${a9} orphaned tool result(s)`),a6)d?.debug?.("PASSTHROUGH",`${a5} → ${aF} | native lossless`),az={...a,model:(0,g.kD)(aW)},("claude"===a5||aU)&&(0,i.ui)(az,az.model);else{if(!(az=(0,f.GH)(aI,aT,aW,a,a1,c,aF,a4,aV,_,a5)))return(0,x.uw)(aG,aF,_,!1,!0),(0,u.A1)(v.gx.BAD_REQUEST,`Failed to translate request for ${aI} → ${aT}`);if(aA=az._toolNameMap,delete az._toolNameMap,az.model=(0,g.kD)(aW),("claude"===aF||aF?.startsWith("anthropic-compatible"))&&"object"==typeof az){let a=c?.accessToken||c?.apiKey||null;if("string"==typeof a&&a.includes("sk-ant-oat"))try{let b=c?._clientSessionId||(0,M.oV)({headers:$?.headers,body:az,connectionId:_,scope:"claude"});az=await (0,L.Dz)(az,a,b,c?.connectionId||a,{})}catch{}}}if(aK("normalized",az,a6?aI:aT),!a8&&"claude"===a5&&Array.isArray(az.tools)){let{tools:a,stripped:b}=(0,G.F)(az.tools);b.length>0&&(az.tools=a,d?.debug?.("TOOLDEDUP",`stripped ${b.length}: ${b.slice(0,3).join(", ")}${b.length>3?"...":""}`))}let ba=a6?aI:aT;"tts"===(0,s.OA)(aM,aG)&&az.messages&&(az.messages=az.messages.filter(a=>"tool"!==a.role),delete az.tools);let bb=null;try{if(!a8&&ae&&ah&&Array.isArray(az?.tools)&&az.tools.length>0&&(aI===h.h.OPENAI||aI===h.h.CLAUDE)){let a=1024*(0,N.u1)(af??8),b=3600*Math.max(1,Number(ag??24))*1e3;bb=await (0,N.f3)(az,{conversationId:ah,thresholdBytes:a,ttlMs:b,log:d})}}catch(a){d?.warn?.("VAULT",`store failed (dropped): ${a?.message||a}`)}let bc=!a8&&$?.headers?.[v.SA]?.toLowerCase()!=="off";aK("vault",az,ba);let bd=(0,K.BI)(az,bc&&ad),be=(0,K.fT)(bd);if(be&&console.log(be),bb?.vaulted>0){let a=bb.bytesBefore-bb.bytesAfter;(0,O.DL)(bb.vaulted,a),d?.info?.("VAULT",`externalized ${bb.vaulted} tool result(s), saved ${a}B`)}aK("rtk",az,ba);let bf={},bg=await (0,P.SI)(az,{enabled:bc&&ai,url:aj,model:aW,format:ba,compressUserMessages:ak,diagnostics:bf}),bh=(0,P.Nv)(bg),bi=(0,P.O2)(bf);bh?(d?.info?.("HEADROOM",`${bh}${bi?` | ${bi}`:""}`),(0,P.cB)(bg,bf)&&d?.warn?.("HEADROOM",`reported token delta, but outbound JSON shrank <5%; provider may bill near-original payload | ${bi}`)):bc&&ai&&d?.warn?.("HEADROOM",`skipped: ${bf.reason||"compression unavailable"}${bf.endpoint?` (${bf.endpoint})`:""}`),aK("headroom",az,ba);let bj=(0,H.Ay)(az);bj>0&&d?.debug?.("TOOLCLEAN",`post-compression: stripped ${bj} orphaned tool result(s)`),aK("post-strip",az,ba),bc&&al&&am&&((0,I.p)(az,ba,am),d?.debug?.("CAVEMAN",`${am} | ${ba}`)),bc&&an&&ao&&((0,J.U)(az,ba,ao),d?.debug?.("PONYTAIL",`${ao} | ${ba}`));let bk=null;if(bc&&ap){let a=await (0,Q.H)(az,{enabled:!0,format:ba,model:aW,minChars:aq,timeoutMs:ar,transform:as});bk=a.summary;let b=(0,Q._)(bk);b?d?.info?.("PXPIPE",b):d?.debug?.("PXPIPE",`skipped: ${bk?.reason||"unknown"}`),a.body&&(az=a.body);try{at&&at({provider:aF,model:aG,...bk})}catch{}}if(az&&"object"==typeof az)if(W.has(ba)){let{stream:a,request:b,...c}=az;if(b&&"object"==typeof b){let{stream:a,...d}=b;az={...c,request:d}}else az=c}else az.stream!==a1&&(az={...az,stream:a1});!a8&&a6&&"claude"===a5&&(0,i._W)(az);let bl=(0,y.getExecutor)(aF);(0,x.uw)(aG,aF,_,!0),ax||(0,x.E5)({model:aG,provider:aF,connectionId:_,status:"PENDING"}).catch(()=>{});let bm=az.messages?.length||az.input?.length||az.contents?.length||az.request?.contents?.length||0;d?.debug?.("REQUEST",`${aF.toUpperCase()} | ${aG} | ${bm} msgs`);let bn=(0,m.jd)({onDisconnect:a=>{(0,x.uw)(aG,aF,_,!1),Y&&Y(a)},onError:()=>(0,x.uw)(aG,aF,_,!1),log:d,provider:aF,model:aG});if(ay)if(ay.aborted)try{bn.abort()}catch{}else ay.addEventListener("abort",()=>{try{bn.abort()}catch{}},{once:!0});let bo=(0,r.$6)(c);if(bo.vercelRelayUrl){let a=c?.connectionName||c?.connectionId||"unknown",b=c?.providerSpecificData?.connectionProxyPoolId||"none";d?.info?.("PROXY",`${aF.toUpperCase()} | ${aG} | conn=${a} | pool=${b} | vercel-relay=${bo.vercelRelayUrl}`)}else if(bo.connectionProxyEnabled&&bo.connectionProxyUrl){let a=bo.connectionProxyUrl;try{let b=new URL(bo.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",`${aF.toUpperCase()} | ${aG} | conn=${e} | pool=${b} | url=${a}`)}if(bo.connectionProxyEnabled&&bo.connectionNoProxy){let a=c?.connectionName||c?.connectionId||"unknown";d?.debug?.("PROXY",`${aF.toUpperCase()} | ${aG} | conn=${a} | no_proxy=${bo.connectionNoProxy}`)}aK("final",az,ba);let bp=(0,z.Fo)(a,a1);aJ.length&&(bp.toolHistoryDiagnostics=aJ);let bq=()=>ay?.aborted||bn.signal?.aborted,br=async()=>{try{await aB?.body?.cancel?.()}catch{}return(0,x.uw)(aG,aF,_,!1),a4?.close?.(),(0,u.A1)(499,"Request aborted")};try{if(bq())return br();let a=await bl.execute({model:aG,body:structuredClone(az),stream:a1,credentials:c,signal:bn.signal,log:d,proxyOptions:bo});aB=a.response,aC=a.url,aD=a.headers,aE=a.transformedBody,a4.logTargetRequest(aC,aD,aE)}catch(c){let a=bq()||c?.name==="AbortError";if((0,x.uw)(aG,aF,_,!1,!a),a4?.close?.(),(0,x.ox)((0,z.$R)({provider:aF,model:aG,connectionId:_,latency:{ttft:0,total:Date.now()-aH},tokens:{prompt_tokens:0,completion_tokens:0},request:bp,providerRequest:az||null,response:{error:c?.message||(a?"Request aborted":String(c)),status:a?499:502,thinking:null},status:"error",pxpipe:bk||void 0,rtk:bd||void 0})).catch(()=>{}),a)return bn.handleError(new DOMException("Request aborted","AbortError")),(0,u.A1)(499,"Request aborted");let b=(0,u.lR)(c,aF,aG,v.gx.BAD_GATEWAY);return console.log(`${l.lm.red}[ERROR] ${b}${l.lm.reset}`),(0,u.A1)(v.gx.BAD_GATEWAY,b)}if(bq())return br();let bs=null;if(!bl.noAuth&&(aB.status===v.gx.UNAUTHORIZED||aB.status===v.gx.FORBIDDEN))try{let a=await (0,n.qZ)(async()=>{bn.signal?.throwIfAborted();let a=await (0,p.MF)(aF,c,()=>bl.refreshCredentials(c,d,bo));return a||bn.signal?.throwIfAborted(),a?.refreshToken&&a.refreshToken!==c.refreshToken&&(a.accessToken&&(c.accessToken=a.accessToken),c.refreshToken=a.refreshToken),a},3,d,bn.signal);if(a?.accessToken||a?.copilotToken){if(d?.info?.("TOKEN",`${aF.toUpperCase()} | refreshed`),Object.assign(c,a),U)try{await U(a)}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}if(bq())return br();try{let a=await bl.execute({model:aG,body:structuredClone(az),stream:a1,credentials:c,signal:bn.signal,log:d,proxyOptions:bo});try{await aB.body?.cancel?.()}catch{}aB=a.response,aC=a.url,aD=a.headers??aD,aE=a.transformedBody??aE,a4.logTargetRequest(aC,aD,aE)}catch{d?.warn?.("TOKEN",`${aF.toUpperCase()} | retry after refresh failed`)}}else if((0,n.jT)(a)){let b=a.code||"invalid_grant";if(bs=`OAuth refresh token expired or revoked (${b}): reconnect the ${aF} account in the Switchboard dashboard`,d?.warn?.("TOKEN",`${aF.toUpperCase()} | refresh token revoked, re-auth required (${b})`),U)try{await U({reauthRequired:!0,testStatus:o.RU,lastError:bs,lastErrorAt:new Date().toISOString()})}catch(a){d?.warn?.("TOKEN",`onCredentialsRefreshed failed: ${a.message}`)}}else d?.warn?.("TOKEN",`${aF.toUpperCase()} | refresh failed`)}catch(a){d?.warn?.("TOKEN",`${aF.toUpperCase()} | refresh threw: ${a.message}`)}if(bq())return br();if(!aB.ok){(0,x.uw)(aG,aF,_,!1,!0),a4?.close?.();let{statusCode:a,message:b,resetsAtMs:c}=await (0,u.zL)(aB,bl),d=bs||b;(0,x.ox)((0,z.$R)({provider:aF,model:aG,connectionId:_,latency:{ttft:0,total:Date.now()-aH},tokens:{prompt_tokens:0,completion_tokens:0},request:bp,providerRequest:aE||az||null,response:{error:d,status:a,thinking:null},status:"error",pxpipe:bk||void 0,rtk:bd||void 0})).catch(()=>{});let e=(0,u.lR)(Error(d),aF,aG,a);return console.log(`${l.lm.red}[ERROR] ${e}${l.lm.reset}`),a4.logError(Error(d),aE||az),(0,u.A1)(a,e,c)}let bt=async()=>{bn.signal?.throwIfAborted();let a=await bl.execute({model:aG,body:structuredClone(az),stream:a1,credentials:c,signal:bn.signal,log:d,proxyOptions:bo});if(bq()){try{await a.response.body?.cancel?.()}catch{}throw new DOMException("Request aborted","AbortError")}if(!a.response.ok){let{statusCode:b,message:c}=await (0,u.zL)(a.response,bl);throw Error(`[${b}] ${c}`)}if(!a.response.body)throw Error("upstream returned no body");return a.response.body},bu="antigravity"===aF||"gemini-cli"===aF||"gemini"===aF||"vertex"===aF;bu&&a1&&aB.body?aB=new Response((0,D.gH)({body:aB.body,reexecute:bt,signal:bn.signal,log:d,onExhausted:(a,{upstreamError:b}={})=>{if(!Z)return;let c=bl.parseRetryFromErrorMessage?.(b?.message||a);return Z((0,u.lR)(Error(a),aF,aG,v.gx.BAD_GATEWAY),c?Date.now()+c:void 0)}}),{status:aB.status,headers:aB.headers}):a1&&aB.body&&(aB=new Response((0,E.Z)({body:aB.body,reexecute:bt,signal:bn.signal,log:d,maxRetries:+("claude"!==aF)}),{status:aB.status,headers:aB.headers}));let bv=`${Date.now()}-${Math.random().toString(36).slice(2,11)}`,bw={provider:aF,model:aG,body:a,stream:a1,requestConfig:bp,translatedBody:az,finalBody:aE,requestStartTime:aH,connectionId:_,clientKeyId:ab,clientRawRequest:$,onRequestSuccess:X,requestId:bv,pxpipe:bk||void 0,streamSignal:bn.signal},bx=a=>{ax||(0,x.E5)({model:aG,provider:aF,connectionId:_,...a}).catch(()=>{})},by=()=>(0,x.uw)(aG,aF,_,!1);if(!a_&&a0){let a=await (0,A.I)({...bw,providerResponse:aB,sourceFormat:aI,targetFormat:aT,trackDone:by,appendLog:bx});if(a)return bn.handleComplete(),a}if(!a1){let a=await (0,B.N)({...bw,providerResponse:aB,sourceFormat:aI,targetFormat:aT,reqLogger:a4,toolNameMap:aA,trackDone:by,appendLog:bx});return bn.handleComplete(),a}let{onStreamComplete:bz,onStreamFailure:bA,streamDetailId:bB}=(0,C.$)({...bw});return(0,C.M)({...bw,providerResponse:aB,sourceFormat:aI,targetFormat:aT,userAgent:aa,reqLogger:a4,toolNameMap:aA,streamController:bn,onStreamComplete:bz,onStreamFailure:bA,streamDetailId:bB,firstChunkTimeoutMs:bu?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(78638),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,firstProgressTimeoutMs:L=i.Z1,progressStallTimeoutMs:M=i.xM}){let N=(a.headers.get("content-type")||"").toLowerCase();if((N.includes("application/x-ndjson")||N.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}
60
60
 
61
61
  `))}catch{}}}},flush(a){let b=d.trim();if(b)try{JSON.parse(b),a.enqueue(c.encode(`data: ${b}
62
62
 
63
63
  `))}catch{}}}))),{status:a.status,statusText:a.statusText,headers:((e=new Headers(a.headers)).set("content-type","text/event-stream"),e)})}else if(N&&!N.includes("text/event-stream")&&!N.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 (${N})`),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 O=(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)),P=!1,Q=async(...a)=>{a[0]?.completed!==void 0&&(P=!0),await O,await G?.(...a)},R="responses-websocket"!==a.headers.get("x-switchboard-transport"),S=p===d.h.CLAUDE&&q===d.h.CLAUDE,T=S?{firstProgressTimeoutMs:L,stallTimeoutMs:M}:null,U=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,onStreamProgress:r}){let s=g?.toLowerCase().includes("droid")||g?.toLowerCase().includes("codex-cli");if(h.xq[a]?.format===d.h.OPENAI_RESPONSES&&c===d.h.OPENAI_RESPONSES&&!s){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,r)}({provider:b,sourceFormat:p,targetFormat:q,userAgent:r,reqLogger:D,toolNameMap:E,model:c,connectionId:y,body:s,onStreamComplete:Q,clientKeyId:z,terminateOnResponsesTerminal:R,onStreamProgress:T?a=>T.record?.(a):void 0}),V=p===d.h.OPENAI_RESPONSES&&q===d.h.OPENAI_RESPONSES?j.Hr:S?j.LS:q===d.h.OPENAI?j.ah:null,W=h.xq[b]?.stallTimeoutMs||i.xM;return{success:!0,response:new Response((0,g.Jb)(a,U,F,V,W,K,a=>{P||Promise.resolve(O).then(()=>H?.(a)).catch(()=>{})},T),{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()}})))}}}},71413:(a,b,c)=>{c.d(b,{O:()=>e});var d=c(5425);function e(a){let b=a?.messages;if(!Array.isArray(b))return null;let c=new Set,e=new Set,f=0,g=0,h=0;for(let a of b)if(Array.isArray(a?.content))for(let b of(!a.content.length&&h++,a.content))"assistant"===a.role&&b?.type==="tool_use"&&(f++,b.id&&c.add(b.id)),"user"===a.role&&b?.type==="tool_result"&&(g++,b.tool_use_id&&e.add(b.tool_use_id));if(!f&&!g)return null;let i=0,j=0,k=0,l=[];for(let a=0;a<b.length;a++){if(b[a]?.role!=="assistant")continue;let c=a,d=new Set;do{for(let c of Array.isArray(b[a].content)?b[a].content:[])c?.type==="tool_use"&&c.id&&d.add(c.id);a++}while(b[a]?.role==="assistant");let f=a,g=new Set;for(let a=f;b[a]?.role==="user";a++)for(let c of Array.isArray(b[a].content)?b[a].content:[])c?.type==="tool_result"&&c.tool_use_id&&g.add(c.tool_use_id);let h=[...d].filter(a=>!g.has(a));h.length&&(i+=h.length,j+=h.filter(a=>e.has(a)).length,k++,l.length<10&&l.push({assistantIndex:c,callCount:d.size,missingCount:h.length,nextRole:["user","assistant","system","developer"].includes(b[f]?.role)?b[f].role:"other-or-end"})),a--}let m=[...e].filter(a=>!c.has(a)).length,n=(0,d.k)(a);return{...n?{threadContinuation:!0,externalContextResults:m}:{},messageCount:b.length,toolCalls:f,toolResults:g,emptyMessages:h,missingResults:i,misplacedResults:j,orphanResults:n?0:m,invalidTurnCount:k,invalidTurns:l}}},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")}}},78638:(a,b,c)=>{c.d(b,{lm:()=>g.lm,l2:()=>u,i5:()=>t,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),m=c(94176);function n(a=function(a=process.env){let b=Number.parseInt(a?.STREAM_LOG_PREVIEW_MAX_CHARS||"",10);return Number.isFinite(b)&&b>0?b:32768}()){let b=Number.isFinite(a)&&a>0?Math.floor(a):32768,c=Math.ceil(b/2),d=b-c,e="",f="",g=0;return{append(a){if("string"!=typeof a||0===a.length)return;g+=a.length;let b=a;if(e.length<c){let a=b.slice(0,c-e.length);e+=a,b=b.slice(a.length)}b.length>0&&(f=d>0?(f+b).slice(-d):"")},text(){let a=g-e.length-f.length;return a<=0?e+f:`${e}
64
64
  …[truncated ${a} chars]…
65
- ${f}`},get totalLength(){return g},get retainedLength(){return e.length+f.length},get truncated(){return g>e.length+f.length}}}let o=new TextEncoder,p="translate",q="passthrough";function r(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 s(a={}){let{mode:b=p,targetFormat:c,sourceFormat:t,provider:u=null,reqLogger:v=null,toolNameMap:w=null,model:x=null,connectionId:y=null,body:z=null,onStreamComplete:A=null,onStreamProgress:B=null,clientKeyId:C=null,terminateOnResponsesTerminal:D=!0}=a,E="",F=null,G=(0,m.hB)(),H=0,I=new TextDecoder("utf-8",{fatal:!1}),J=b===p?{...(0,d.Ws)(t),provider:u,toolNameMap:w,model:x}:null,K=0,L=n(),M=n(),N=null,O=0,P=0,Q={},R=null,S=!1,T=!1,U=!1,V=!1,W=!1,X=null,Y=!1;function Z(a){Y||(Y=!0,(0,f.uw)(x,u,y,!1,!a.completed),(0,g.Gh)(F)&&(0,g.IF)(u,F,x,y,C),Promise.resolve(A?.({content:L.text(),thinking:M.text(),...a},F,N)).catch(()=>{}),v?.close?.())}let $=(0,l.H)(),_=0;function aa(a){if(j.T&&a&&(O++,a.startsWith("event:"))){let b=a.slice(6).trim();Q[b]=(Q[b]||0)+1}}function ab(a,b){let c;if(!a.trim())return;let d=a.split(/\r?\n/);for(let a of d)aa(a.trim());for(let a of d){let b=a.trim();if(b.startsWith("event:")){let a=b.slice(6).trim();a.startsWith("response.")&&(U=!0),("response.completed"===a||"response.done"===a||"response.failed"===a||"response.incomplete"===a)&&(V=!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(T)return;T=!0,c="data: [DONE]\n\n"}else try{let a=JSON.parse(i.trim());_=0,B?.(a.type),["message_start","message_delta","message_stop","content_block_start","content_block_delta","content_block_stop"].includes(a.type)&&(W=!0),"content_block_delta"===a.type&&("string"==typeof a.delta?.text&&(L.append(a.delta.text),K+=a.delta.text.length),"string"==typeof a.delta?.thinking&&(M.append(a.delta.thinking),K+=a.delta.thinking.length)),"message_stop"===a.type&&(X={completed:!0}),"error"===a.type&&(X={completed:!1,error:a.error?.message||"upstream stream error"});let b=(0,h.A4)(a),d=!1;if(w?.size>0&&a?.type==="content_block_start"&&a?.content_block?.type==="tool_use"){let b=w.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&&(F=(0,g._L)(F,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}=$(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&&(K+=m.length,L.append(m)),n&&"string"==typeof n&&(K+=n.length,M.append(n));let o=(0,g.f5)(a);o&&(F=(0,g._L)(F,o));let p=a.choices?.[0]?.finish_reason;if(p&&!(0,g.Gh)(a.usage)){let b=(0,g.OF)(z,K,e.h.OPENAI);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
65
+ ${f}`},get totalLength(){return g},get retainedLength(){return e.length+f.length},get truncated(){return g>e.length+f.length}}}let o=new TextEncoder,p="translate",q="passthrough";function r(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 s(a={}){let{mode:b=p,targetFormat:c,sourceFormat:t,provider:u=null,reqLogger:v=null,toolNameMap:w=null,model:x=null,connectionId:y=null,body:z=null,onStreamComplete:A=null,onStreamProgress:B=null,clientKeyId:C=null,terminateOnResponsesTerminal:D=!0}=a,E="",F=null,G=(0,m.hB)(),H=0,I=new TextDecoder("utf-8",{fatal:!1}),J=b===p?{...(0,d.Ws)(t),provider:u,toolNameMap:w,model:x}:null,K=0,L=n(),M=n(),N=null,O=0,P=0,Q={},R=null,S=!1,T=!1,U=!1,V=!1,W=!1,X=null,Y=!1;function Z(a){Y||(Y=!0,(0,f.uw)(x,u,y,!1,!a.completed),(0,g.Gh)(F)&&(0,g.IF)(u,F,x,y,C),Promise.resolve(A?.({content:L.text(),thinking:M.text(),...a},F,N)).catch(()=>{}),v?.close?.())}let $=(0,l.H)(),_=0;function aa(a){if(j.T&&a&&(O++,a.startsWith("event:"))){let b=a.slice(6).trim();Q[b]=(Q[b]||0)+1}}function ab(a,b){let c;if(!a.trim())return;let d=a.split(/\r?\n/),f=null;for(let a of d)aa(a.trim());for(let a of d){let b=a.trim();if(b.startsWith("event:")){let a=b.slice(6).trim();f=a,a.startsWith("response.")&&(U=!0),("response.completed"===a||"response.done"===a||"response.failed"===a||"response.incomplete"===a)&&(V=!0)}}let i=d.filter(a=>a.startsWith("data:")),j=i.map(a=>a.slice(5).replace(/^ /,"")).join("\n"),k=!1;if(i.length>0)if("[DONE]"===j.trim()){if(T)return;T=!0,c="data: [DONE]\n\n"}else try{let a=JSON.parse(j.trim());_=0,B?.(a.type),["message_start","message_delta","message_stop","content_block_start","content_block_delta","content_block_stop"].includes(a.type)&&(W=!0),"content_block_delta"===a.type&&("string"==typeof a.delta?.text&&(L.append(a.delta.text),K+=a.delta.text.length),"string"==typeof a.delta?.thinking&&(M.append(a.delta.thinking),K+=a.delta.thinking.length)),"message_stop"===a.type&&(X={completed:!0}),"error"===a.type&&(X={completed:!1,error:a.error?.message||"upstream stream error"});let b=(0,h.A4)(a),d=!1;if(w?.size>0&&a?.type==="content_block_start"&&a?.content_block?.type==="tool_use"){let b=w.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 i=(0,g.f5)(a);if(i&&(F=(0,g._L)(F,i)),!(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}=$(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&&(K+=m.length,L.append(m)),n&&"string"==typeof n&&(K+=n.length,M.append(n));let o=(0,g.f5)(a);o&&(F=(0,g._L)(F,o));let p=a.choices?.[0]?.finish_reason;if(p&&!(0,g.Gh)(a.usage)){let b=(0,g.OF)(z,K,e.h.OPENAI);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
66
66
 
67
- `,F=b,j=!0}else if(p&&F){let b=(0,g.O9)(F);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
67
+ `,F=b,k=!0}else if(p&&F){let b=(0,g.O9)(F);a.usage=(0,g.WL)(b,e.h.OPENAI),c=`data: ${JSON.stringify(a)}
68
68
 
69
- `,j=!0}else(b||f||d)&&(c=`data: ${JSON.stringify(a)}
69
+ `,k=!0}else(b||f||d)&&(c=`data: ${JSON.stringify(a)}
70
70
 
71
- `,j=!0)}catch{if(++_>=5)throw Error(`upstream sent ${_} 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"),v?.appendConvertedChunk?.(c),X&&Z(X),b.enqueue(o.encode(c)),X&&b.terminate()}function ac(a,b=!1){let c=E.split(/\r?\n\r?\n/);for(let b of(E=c.pop()||"",c))if(ab(b,a),Y){E="";return}b&&E&&(ab(E,a),E="")}return new TransformStream({transform(a,j){N||(N=Date.now());var k="number"==typeof a?.byteLength?a.byteLength:0;if((H+=k)>G)throw Error(`SSE reassembly exceeded ${G} bytes`);let l=I.decode(a,{stream:!0});if(E+=l,v?.appendProviderChunk?.(l),b===q)return void ac(j);let m=E.split(/\r?\n\r?\n/);E=m.pop()||"";let n=[];for(let a of m){let b=[];for(let c of a.split("\n"))c.trim().startsWith("data:")?b.push(c):n.push(c);b.length>1&&b.every(r)?n.push(...b):b.length>0&&n.push(b.join("\n"))}for(let a of(n.push(...E.split("\n").slice(0,-1)),E=E.split("\n").pop()||"",n)){let k=a.trim();if(aa(k),b===p&&c===e.h.OPENAI_RESPONSES&&k.startsWith("event:")&&(R=k.slice(6).trim()),!k)continue;let l=(0,h.tV)(k,c);if(!l)continue;let m=c===e.h.OPENAI_RESPONSES,n=m&&t===e.h.OPENAI_RESPONSES,q=m?(0,i.yx)(R,l):null,r=m&&(0,i.nu)(q,l);if(r&&(S=!0),"string"==typeof l?.choices?.[0]?.delta?.content){let a=l.choices[0].delta,{content:b,reasoning:c}=$(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(n&&!S){let a=(0,i.u9)();v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a)),S=!0,P++}if((n||t===e.h.OPENAI)&&!T){let a="data: [DONE]\n\n";v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a))}T=!0;continue}if(l.delta?.text&&(K+=l.delta.text.length,L.append(l.delta.text)),l.delta?.thinking&&(K+=l.delta.thinking.length,M.append(l.delta.thinking)),l.choices?.[0]?.delta?.content&&(K+=l.choices[0].delta.content.length,L.append(l.choices[0].delta.content)),l.choices?.[0]?.delta?.reasoning_content&&(K+=l.choices[0].delta.reasoning_content.length,M.append(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&&(K+=a.text.length,!0===a.thought?M.append(a.text):L.append(a.text));let s=(0,g.f5)(l);if(s&&(J.usage=(0,g._L)(J.usage,s)),n&&q){let a=(0,h.v8)({event:q,data:l},t);v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a)),R=null,P++;continue}R=null;let w=(0,d.Y8)(c,t,l,J);if(w?._openaiIntermediate)for(let a of w._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);v?.appendOpenAIChunk?.(b)}if(w?.length>0)for(let a of w){if(null==a||!(0,h.c2)(a,t))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(J.finishReason&&b&&!(0,g.Gh)(a.usage)&&K>0){let b=(0,g.OF)(z,K,t);a.usage=(0,g.WL)(b,t),J.usage=b}else if(J.finishReason&&b&&J.usage){let b=(0,g.O9)(J.usage);a.usage=(0,g.WL)(b,t)}let c=(0,h.v8)(a,t);v?.appendConvertedChunk?.(c),j.enqueue(o.encode(c)),P++}if(r&&t===e.h.OPENAI&&!T){let a="data: [DONE]\n\n";if(v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a)),T=!0,D){(0,f.uw)(x,u,y,!1),!(0,g.Gh)(J?.usage)&&K>0&&(J.usage=(0,g.OF)(z,K,t)),(0,g.Gh)(J?.usage)&&(0,g.IF)(J.provider||c,J.usage,x,y,C),A&&A({content:L.text(),thinking:M.text()},J?.usage,N).catch(()=>{}),v?.close?.(),j.terminate();return}}}},async flush(a){let l=Object.entries(Q).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,j.s)("SSE",`flush | provider=${u} | model=${x} | recvLines=${O} | emitted=${P} | events=[${l}]`),(0,f.uw)(x,u,y,!1);try{let j=I.decode();if(j&&(E+=j),b===q){if(ac(a,!0),W&&!Y){X={completed:!1,error:"upstream closed before message_stop"},Z(X),a.enqueue(o.encode(`event: error
71
+ `,k=!0)}catch{if(++_>=5)throw Error(`upstream sent ${_} consecutive non-JSON data events`);return}k||c?c&&f&&!c.startsWith("event:")&&(c=`event: ${f}
72
+ ${c}`):c=d.map(a=>a.startsWith("data:")&&!a.startsWith("data: ")?"data: "+a.slice(5):a).join("\n")+"\n\n",v?.appendConvertedChunk?.(c),X&&Z(X),b.enqueue(o.encode(c)),X&&b.terminate()}function ac(a,b=!1){let c=E.split(/\r?\n\r?\n/);for(let b of(E=c.pop()||"",c))if(ab(b,a),Y){E="";return}b&&E&&(ab(E,a),E="")}return new TransformStream({transform(a,j){N||(N=Date.now());var k="number"==typeof a?.byteLength?a.byteLength:0;if((H+=k)>G)throw Error(`SSE reassembly exceeded ${G} bytes`);let l=I.decode(a,{stream:!0});if(E+=l,v?.appendProviderChunk?.(l),b===q)return void ac(j);let m=E.split(/\r?\n\r?\n/);E=m.pop()||"";let n=[];for(let a of m){let b=[];for(let c of a.split("\n"))c.trim().startsWith("data:")?b.push(c):n.push(c);b.length>1&&b.every(r)?n.push(...b):b.length>0&&n.push(b.join("\n"))}for(let a of(n.push(...E.split("\n").slice(0,-1)),E=E.split("\n").pop()||"",n)){let k=a.trim();if(aa(k),b===p&&c===e.h.OPENAI_RESPONSES&&k.startsWith("event:")&&(R=k.slice(6).trim()),!k)continue;let l=(0,h.tV)(k,c);if(!l)continue;let m=c===e.h.OPENAI_RESPONSES,n=m&&t===e.h.OPENAI_RESPONSES,q=m?(0,i.yx)(R,l):null,r=m&&(0,i.nu)(q,l);if(r&&(S=!0),"string"==typeof l?.choices?.[0]?.delta?.content){let a=l.choices[0].delta,{content:b,reasoning:c}=$(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(n&&!S){let a=(0,i.u9)();v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a)),S=!0,P++}if((n||t===e.h.OPENAI)&&!T){let a="data: [DONE]\n\n";v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a))}T=!0;continue}if(l.delta?.text&&(K+=l.delta.text.length,L.append(l.delta.text)),l.delta?.thinking&&(K+=l.delta.thinking.length,M.append(l.delta.thinking)),l.choices?.[0]?.delta?.content&&(K+=l.choices[0].delta.content.length,L.append(l.choices[0].delta.content)),l.choices?.[0]?.delta?.reasoning_content&&(K+=l.choices[0].delta.reasoning_content.length,M.append(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&&(K+=a.text.length,!0===a.thought?M.append(a.text):L.append(a.text));let s=(0,g.f5)(l);if(s&&(J.usage=(0,g._L)(J.usage,s)),n&&q){let a=(0,h.v8)({event:q,data:l},t);v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a)),R=null,P++;continue}R=null;let w=(0,d.Y8)(c,t,l,J);if(w?._openaiIntermediate)for(let a of w._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);v?.appendOpenAIChunk?.(b)}if(w?.length>0)for(let a of w){if(null==a||!(0,h.c2)(a,t))continue;let b="message_delta"===a.type||a.choices?.[0]?.finish_reason;if(J.finishReason&&b&&!(0,g.Gh)(a.usage)&&K>0){let b=(0,g.OF)(z,K,t);a.usage=(0,g.WL)(b,t),J.usage=b}else if(J.finishReason&&b&&J.usage){let b=(0,g.O9)(J.usage);a.usage=(0,g.WL)(b,t)}let c=(0,h.v8)(a,t);v?.appendConvertedChunk?.(c),j.enqueue(o.encode(c)),P++}if(r&&t===e.h.OPENAI&&!T){let a="data: [DONE]\n\n";if(v?.appendConvertedChunk?.(a),j.enqueue(o.encode(a)),T=!0,D){(0,f.uw)(x,u,y,!1),!(0,g.Gh)(J?.usage)&&K>0&&(J.usage=(0,g.OF)(z,K,t)),(0,g.Gh)(J?.usage)&&(0,g.IF)(J.provider||c,J.usage,x,y,C),A&&A({content:L.text(),thinking:M.text()},J?.usage,N).catch(()=>{}),v?.close?.(),j.terminate();return}}}},async flush(a){let l=Object.entries(Q).map(([a,b])=>`${a}=${b}`).join(",")||"none";(0,j.s)("SSE",`flush | provider=${u} | model=${x} | recvLines=${O} | emitted=${P} | events=[${l}]`),(0,f.uw)(x,u,y,!1);try{let j=I.decode();if(j&&(E+=j),b===q){if(ac(a,!0),W&&!Y){X={completed:!1,error:"upstream closed before message_stop"},Z(X),a.enqueue(o.encode(`event: error
72
73
  data: ${JSON.stringify({type:"error",error:{type:"api_error",message:X.error}})}
73
74
 
74
75
  `));return}if(Y)return;!(0,g.Gh)(F)&&K>0&&(F=(0,g.OF)(z,K,e.h.OPENAI)),(0,g.Gh)(F)?(0,g.IF)(u,F,x,y,C):(0,f.E5)({model:x,provider:u,connectionId:y,tokens:null,status:"200 OK"}).catch(()=>{});let b="antigravity"===u||"gemini"===u||"gemini-cli"===u||"vertex"===u||"vertex-partner"===u||u?.endsWith?.("-vertex");if(U&&!V){let b=(0,i.u9)();v?.appendConvertedChunk?.(b),a.enqueue(o.encode(b)),V=!0}if(!T&&!b){let b="data: [DONE]\n\n";v?.appendConvertedChunk?.(b),a.enqueue(o.encode(b))}A&&await A({content:L.text(),thinking:M.text()},F,N),v?.close?.();return}if(E.trim()){let b=(0,h.tV)(E.trim());if(b&&!b.done){let f=(0,d.Y8)(c,t,b,J);if(f?._openaiIntermediate)for(let a of f._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);v?.appendOpenAIChunk?.(b)}if(f?.length>0)for(let b of f){if(null==b)continue;let c=(0,h.v8)(b,t);v?.appendConvertedChunk?.(c),a.enqueue(o.encode(c))}}}let k=(0,d.Y8)(c,t,null,J);if(k?._openaiIntermediate)for(let a of k._openaiIntermediate){let b=(0,h.v8)(a,e.h.OPENAI);v?.appendOpenAIChunk?.(b)}if(k?.length>0)for(let b of k){if(null==b)continue;let c=(0,h.v8)(b,t);v?.appendConvertedChunk?.(c),a.enqueue(o.encode(c))}let l=c===e.h.OPENAI_RESPONSES&&t===e.h.OPENAI_RESPONSES;if(l&&!S){let b=(0,i.u9)();v?.appendConvertedChunk?.(b),a.enqueue(o.encode(b)),S=!0}if((l||t===e.h.OPENAI)&&!T){let b="data: [DONE]\n\n";v?.appendConvertedChunk?.(b),a.enqueue(o.encode(b)),T=!0}!(0,g.Gh)(J?.usage)&&K>0&&(J.usage=(0,g.OF)(z,K,t)),(0,g.Gh)(J?.usage)?(0,g.IF)(J.provider||c,J.usage,x,y,C):(0,f.E5)({model:x,provider:u,connectionId:y,tokens:null,status:"200 OK"}).catch(()=>{}),A&&await A({content:L.text(),thinking:M.text()},J?.usage,N),v?.close?.()}catch(b){v?.close?.();let a=b?.message||String(b);(0,k.BP)("","✗",`FLUSH ERROR \xb7 ${u||c}/${x} \xb7 ${a}${b?.stack?`
@@ -1 +1 @@
1
- "use strict";exports.id=3904,exports.ids=[3904],exports.modules={43904:(a,b,c)=>{c.d(b,{a0:()=>h,hX:()=>q,k1:()=>n,nl:()=>l});var d=c(66755),e=c(84646);let f={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},g={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function h(a){return g[a]||null}let i={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},j={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},k=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*muse-spark*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*muse*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function l(a,b){if(!b)return{...f};let c=function(a,b){let c=j[a]?.[b];if(c)return c;let d=b.includes("/")?b.split("/").pop():b,f=i[d]||i[b];if(f)return f;for(let{pattern:a,caps:c}of k)if((0,e.gH)(a,d||b))return c;return null}(a,b),g=(0,d.uV)(b);return{...f,...g||{},...c||{}}}let m=[{pattern:"*muse-spark*",levels:["minimal","low","medium","high","xhigh","max"]},{pattern:"*muse-wonder*",levels:["minimal","low","medium","high","xhigh","max"]},{pattern:"*claude*opus-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*sonnet-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*haiku-5-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*fable-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-8*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-7*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-6*",levels:["low","medium","high","max"]},{pattern:"*claude*opus-4-5*",levels:["low","medium","high"]},{pattern:"*claude*sonnet-4-6*",levels:["low","medium","high","max"]},{pattern:"*deepseek-v4*",levels:["high","max"]}];function n(a){if("string"!=typeof a||!a)return null;let b=a.includes("/")?a.split("/").pop():a,c=m.find(({pattern:a})=>(0,e.gH)(a,b));if(!c)return null;let d={supported:!0};for(let a of c.levels)d[a]={supported:!0};return{effort:d}}function o(a){if(!a||"object"!=typeof a||!0!==a.supported)return null;let b=Object.keys(a).filter(b=>"supported"!==b&&a[b]&&!0===a[b].supported);return b.length>0?b:null}let p=new Set(["minimal","low","medium","high","xhigh","max"]);function q(a,b){let c=a&&"object"==typeof a?a.effort:null;if(c&&!1===c.supported)return{effort:c};o(c)||(c=function(a){let b=a&&"object"==typeof a?a.reasoning:null;if(!b||"object"!=typeof b)return null;let c=Array.isArray(b.effort)?b.effort:Array.isArray(b.supported_efforts)?b.supported_efforts:null;if(!c)return null;let d={supported:!0},e=!1;for(let a of c){let b=String(a||"").toLowerCase();p.has(b)&&(d[b]={supported:!0},e=!0)}return e?d:null}(a)||c);let d=b&&"object"==typeof b?b.effort:null,e=o(c),f=o(d);if(!e&&!f)return null;if(!e)return{effort:d};if(!f)return{effort:c};let g=f.filter(a=>e.includes(a));if(0===g.length)return{effort:c};let h={supported:!0};for(let a of g)h[a]={...c[a]};return{effort:h}}}};
1
+ "use strict";exports.id=3904,exports.ids=[3904],exports.modules={43904:(a,b,c)=>{c.d(b,{G6:()=>s,a0:()=>h,hX:()=>q,k1:()=>n,nl:()=>l});var d=c(66755),e=c(84646);let f={vision:!1,pdf:!1,audioInput:!1,videoInput:!1,imageOutput:!1,audioOutput:!1,search:!1,tools:!0,reasoning:!1,thinkingFormat:null,thinkingCanDisable:!0,thinkingRange:null,contextWindow:2e5,maxOutput:64e3},g={imageToText:{vision:!0},image:{imageOutput:!0},stt:{audioInput:!0},tts:{audioOutput:!0},embedding:{tools:!1}};function h(a){return g[a]||null}let i={"claude-opus-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-7":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4.8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-opus-4-8-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4.6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-4-6":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"claude-sonnet-5-thinking-agentic":{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive",contextWindow:1e6,maxOutput:128e3},"gpt-image-1":{imageOutput:!0,tools:!1},"glm-4.6v":{vision:!0,reasoning:!0,thinkingFormat:"zai",contextWindow:128e3},"vision-model":{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6},"coder-model":{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},j={nvidia:{"minimaxai/minimax-m2.7":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072},"minimaxai/minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:131072},"z-ai/glm-5.2":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:128e3},"deepseek-ai/deepseek-v4-pro":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536},"deepseek-ai/deepseek-v4-flash":{reasoning:!0,thinkingFormat:"openai",contextWindow:1e6,maxOutput:65536}},"codebuddy-cn":{"glm-5.2":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:48e3},"glm-5.1":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5.0":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"glm-5.0-turbo":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"glm-5v-turbo":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:38e3},"glm-4.7":{reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:48e3},"minimax-m3":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:512e3,maxOutput:48e3},"minimax-m2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:48e3},"kimi-k2.7":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.6":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:256e3,maxOutput:32e3},"kimi-k2.5":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:164e3,maxOutput:32e3},"hy3-preview":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:192e3,maxOutput:64e3},"deepseek-v4-pro":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v4-flash":{vision:!0,reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:1e6,maxOutput:5e4},"deepseek-v3-2-volc":{reasoning:!0,thinkingFormat:"openai",thinkingCanDisable:!1,contextWindow:96e3,maxOutput:32e3}}},k=[{pattern:"*claude*opus-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*opus-4.8*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.6*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet-4.7*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*haiku*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*claude*opus*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*sonnet*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-adaptive"}},{pattern:"*claude*fable*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude*mythos*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget",contextWindow:1e6,maxOutput:128e3}},{pattern:"*claude-3*",caps:{vision:!0}},{pattern:"*claude*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"claude-budget"}},{pattern:"*gemini*image*",caps:{vision:!0,imageOutput:!0,contextWindow:1048576}},{pattern:"*gemini-3*pro*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65535}},{pattern:"*gemini-3*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-level",thinkingCanDisable:!1,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,search:!0,thinkingFormat:"gemini-budget",thinkingRange:{min:0,max:24576},contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini-2*",caps:{vision:!0,audioInput:!0,videoInput:!0,search:!0,contextWindow:1048576,maxOutput:65536}},{pattern:"*gemini*",caps:{vision:!0,search:!0,contextWindow:1048576}},{pattern:"*gemma*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*nanobanana*",caps:{vision:!0,imageOutput:!0}},{pattern:"*gpt-5*image*",caps:{imageOutput:!0}},{pattern:"*gpt-5*codex*",caps:{reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-5*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:4e5,maxOutput:128e3}},{pattern:"*gpt-4o*",caps:{vision:!0,search:!0,contextWindow:128e3,maxOutput:16384}},{pattern:"*gpt-4.1*",caps:{vision:!0,contextWindow:1e6,maxOutput:32768}},{pattern:"*gpt-4-turbo*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*gpt-4*",caps:{contextWindow:128e3}},{pattern:"*gpt-3.5*",caps:{contextWindow:16385,maxOutput:4096}},{pattern:"*gpt-oss*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1-mini*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:128e3}},{pattern:"*o1*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*o4*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:2e5,maxOutput:1e5}},{pattern:"*grok*image*",caps:{imageOutput:!0}},{pattern:"*grok-code*",caps:{reasoning:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-4*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*grok-3*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:131072}},{pattern:"*grok*",caps:{vision:!0,reasoning:!0,search:!0,thinkingFormat:"openai",contextWindow:256e3}},{pattern:"*qwen*vl*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwen*omni*",caps:{vision:!0,audioInput:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:262144,maxOutput:65536}},{pattern:"*qwen*coder*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6}},{pattern:"*qwen*max*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.5*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.6*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen3.7*",caps:{vision:!0,videoInput:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*plus*",caps:{vision:!0,reasoning:!0,thinkingFormat:"qwen",contextWindow:1e6,maxOutput:65536}},{pattern:"*qwen*235b*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*qwq*",caps:{reasoning:!0,thinkingFormat:"qwen",thinkingCanDisable:!1,contextWindow:131072}},{pattern:"*qwen*",caps:{reasoning:!0,thinkingFormat:"qwen",contextWindow:262144}},{pattern:"*kimi*k2.7*code*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",thinkingCanDisable:!1,contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*k2*",caps:{vision:!0,reasoning:!0,thinkingFormat:"kimi",contextWindow:262144,maxOutput:262144}},{pattern:"*kimi*",caps:{reasoning:!0,thinkingFormat:"kimi",contextWindow:262144}},{pattern:"*glm-5*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4.7*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5,maxOutput:128e3}},{pattern:"*glm-4*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*glm*",caps:{reasoning:!0,thinkingFormat:"zai",contextWindow:2e5}},{pattern:"*deepseek-v4*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:1e6,maxOutput:384e3}},{pattern:"*reasoner*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-r*",caps:{reasoning:!0,thinkingFormat:"deepseek",thinkingCanDisable:!1,contextWindow:128e3}},{pattern:"*deepseek-chat*",caps:{contextWindow:128e3}},{pattern:"*deepseek*",caps:{reasoning:!0,thinkingFormat:"deepseek",contextWindow:128e3}},{pattern:"*minimax*image*",caps:{imageOutput:!0}},{pattern:"*minimax-m3*",caps:{vision:!0,reasoning:!0,thinkingFormat:"minimax",contextWindow:1048576,maxOutput:512e3}},{pattern:"*minimax-m2.7*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:204800,maxOutput:131072}},{pattern:"*minimax*",caps:{reasoning:!0,thinkingFormat:"minimax",thinkingCanDisable:!1,contextWindow:2e5,maxOutput:131072}},{pattern:"*mimo*v2.5*",caps:{vision:!0,audioInput:!0,videoInput:!0,contextWindow:1048576,maxOutput:131072}},{pattern:"*mimo*omni*",caps:{vision:!0,audioInput:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*mimo*",caps:{vision:!0,contextWindow:262144,maxOutput:131072}},{pattern:"*llama-4*",caps:{vision:!0,contextWindow:1e6}},{pattern:"*llama*",caps:{contextWindow:128e3}},{pattern:"*codestral*",caps:{contextWindow:256e3}},{pattern:"*mistral-large*",caps:{vision:!0,contextWindow:256e3}},{pattern:"*mistral*",caps:{contextWindow:128e3}},{pattern:"*command-a-vision*",caps:{vision:!0,contextWindow:128e3}},{pattern:"*command*",caps:{contextWindow:128e3}},{pattern:"*sonar*",caps:{search:!0,contextWindow:128e3}},{pattern:"*pplx*",caps:{search:!0,contextWindow:128e3}},{pattern:"*perplexity*",caps:{search:!0,contextWindow:128e3}},{pattern:"*muse-spark*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*muse*",caps:{vision:!0,reasoning:!0,thinkingFormat:"openai",contextWindow:1048576,maxOutput:65536}},{pattern:"*hunyuan*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"hy3*",caps:{reasoning:!0,thinkingFormat:"hunyuan",contextWindow:262144,maxOutput:262144}},{pattern:"*step-*",caps:{reasoning:!0,thinkingFormat:"step",contextWindow:128e3}},{pattern:"*nemotron*",caps:{reasoning:!0,contextWindow:128e3}},{pattern:"*ling-*",caps:{reasoning:!0,contextWindow:128e3}}];function l(a,b){if(!b)return{...f};let c=function(a,b){let c=j[a]?.[b];if(c)return c;let d=b.includes("/")?b.split("/").pop():b,f=i[d]||i[b];if(f)return f;for(let{pattern:a,caps:c}of k)if((0,e.gH)(a,d||b))return c;return null}(a,b),g=(0,d.uV)(b);return{...f,...g||{},...c||{}}}let m=[{pattern:"*muse-spark*",levels:["minimal","low","medium","high","xhigh","max"]},{pattern:"*muse-wonder*",levels:["minimal","low","medium","high","xhigh","max"]},{pattern:"*claude*opus-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*sonnet-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*haiku-5-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*fable-5*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-8*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-7*",levels:["low","medium","high","xhigh","max"]},{pattern:"*claude*opus-4-6*",levels:["low","medium","high","max"]},{pattern:"*claude*opus-4-5*",levels:["low","medium","high"]},{pattern:"*claude*sonnet-4-6*",levels:["low","medium","high","max"]},{pattern:"*deepseek-v4*",levels:["high","max"]}];function n(a){if("string"!=typeof a||!a)return null;let b=a.includes("/")?a.split("/").pop():a,c=m.find(({pattern:a})=>(0,e.gH)(a,b));if(!c)return null;let d={supported:!0};for(let a of c.levels)d[a]={supported:!0};return{effort:d}}function o(a){if(!a||"object"!=typeof a||!0!==a.supported)return null;let b=Object.keys(a).filter(b=>"supported"!==b&&a[b]&&!0===a[b].supported);return b.length>0?b:null}let p=new Set(["minimal","low","medium","high","xhigh","max"]);function q(a,b){let c=a&&"object"==typeof a?a.effort:null;if(c&&!1===c.supported)return{effort:c};o(c)||(c=function(a){let b=a&&"object"==typeof a?a.reasoning:null;if(!b||"object"!=typeof b)return null;let c=Array.isArray(b.effort)?b.effort:Array.isArray(b.supported_efforts)?b.supported_efforts:null;if(!c)return null;let d={supported:!0},e=!1;for(let a of c){let b=String(a||"").toLowerCase();p.has(b)&&(d[b]={supported:!0},e=!0)}return e?d:null}(a)||c);let d=b&&"object"==typeof b?b.effort:null,e=o(c),f=o(d);if(!e&&!f)return null;if(!e)return{effort:d};if(!f)return{effort:c};let g=f.filter(a=>e.includes(a));if(0===g.length)return{effort:c};let h={supported:!0};for(let a of g)h[a]={...c[a]};return{effort:h}}let r=["minimal","low","medium","high","xhigh","max"];function s(a=[]){let b=new Map;for(let c of a||[]){let a=c&&"object"==typeof c?c.effort:null;if(a&&"object"==typeof a&&!1!==a.supported)for(let c of o(a)||[])b.has(c)||b.set(c,a[c])}if(0===b.size)return null;let c=[...r.filter(a=>b.has(a)),...[...b.keys()].filter(a=>!r.includes(a))],d={supported:!0};for(let a of c){let c=b.get(a);d[a]=c&&"object"==typeof c?{...c,supported:!0}:{supported:!0}}return{effort:d}}}};
@@ -1 +1 @@
1
- "use strict";exports.id=5139,exports.ids=[5139],exports.modules={2364:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>I,OPTIONS:()=>G,buildClaudeFullCatalogDiscoveryModels:()=>H,buildModelsList:()=>F});var d=c(81329),e=c(40615),f=c(59353),g=c(16655),h=c(19617),i=c(38955),j=c(58569),k=c(86925),l=c(9155),m=c(46052),n=c(41029);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,m.Fm)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},cache:"no-store",signal:b||c.signal,identity:"copilot",provider:"github",format:"openai"});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(40694),s=c(58255),t=c(63123),u=c(67828),v=c(43904),w=c(7071),x=c(32524),y=c(68393),z=c(39326);let A={kiro:async(a,b={})=>{let c=await (0,j.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},qoder:async(a,b={})=>{let c=await (0,l.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}},{signal:b.signal});return c?.models?.length?{models:c.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async(a,b={})=>{let c=await (0,k.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},github:async(a,b={})=>{let c=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal,onCredentialsRefreshed:async b=>{await (0,u.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},clinepass:async(a,b={})=>{let c=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey},{signal:b.signal});return c?.models?.length?{models:c.models}:null},"grok-cli":async(a,b={})=>{let c=await (0,z.B)(a.providerSpecificData||{}),d=await (0,t.M)({...a,connectionId:a.id},{log:console,signal:b.signal,proxyOptions:c,onCredentialsRefreshed:b=>(0,u.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})});return d?.models?.length?{models:d.models}:null}},B={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function C(a){let b=a?.kind||a?.type;return b&&B[b]||"llm"}async function D(a,b=null){if(!a?.apiKey)return null;let c="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!c)return null;let d=`${c}/models`,f={"Content-Type":"application/json",[h.M]:"1"};if((0,e.mq)(a.provider))f.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return null;d.endsWith("/messages/models")?d=d.slice(0,-9):d.endsWith("/messages")&&(d=`${d.slice(0,-9)}/models`),f["x-api-key"]=a.apiKey,f["anthropic-version"]="2023-06-01",f.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,c=setTimeout(()=>a.abort(),5e3);b&&"function"!=typeof AbortSignal.any&&b.addEventListener("abort",()=>{clearTimeout(c),a.abort(b.reason)},{once:!0});let e=b&&"function"==typeof AbortSignal.any?AbortSignal.any([b,a.signal]):a.signal;try{let a=await fetch(d,{method:"GET",headers:f,cache:"no-store",signal:e});if(!a.ok)return null;let b=await a.json(),c=(a=>{if(Array.isArray(a))return a;for(let b of["data","models","results"])if(Array.isArray(a?.[b]))return a[b];return null})(b);if(!c)return null;let g=Array.from(new Set(c.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim()))),h=new Map;for(let a of c){let b=a?.id||a?.name||a?.model;"string"==typeof b&&""!==b.trim()&&a&&"object"==typeof a&&a.capabilities&&"object"==typeof a.capabilities&&h.set(b.trim(),a.capabilities)}return c.length>0&&0===g.length?null:{ids:g,capsById:h}}finally{clearTimeout(c)}}catch{return null}}function E(a,b){let c=e.Q2[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function F(a,{signal:b=null,skipCompatibleDiscovery:c=!1}={}){let h=[],j=!1;try{h=await (0,f.getProviderConnections)()}catch(a){j=!0,console.log("Could not fetch providers, returning all models")}let k=h.filter(a=>!1!==a.isActive),l=[];try{l=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let m=[];try{m=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let n={};try{n=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let o={};try{o=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let p=new Map(Object.entries(o).map(([a,b])=>[a,(0,i.Iz)(b,a)])),q=(a,b)=>{let c=(0,e.rs)(a);return[...new Set([a,c,(0,e.wG)(c),d.Xg[c]].filter(Boolean))].some(a=>{let c=p.get(a);return!!c&&(0,i.uJ)(c,b,a)})},r=new Map;for(let a of k){if(b?.aborted)break;r.has(a.provider)||r.set(a.provider,a)}let t=r.get("cursor");t&&r.set("cursor",await (0,u.Yx)(t,{force:!0}));let x=new Map;if(!c){let a=Array.from(r.entries()).filter(([a])=>(0,e.mq)(a)||(0,e.gb)(a));await Promise.all(a.map(async([a,c])=>{x.set(a,await D(c,b))}))}let z=new Map,B=Array.from(r.entries()).filter(([b])=>E(b,a)&&!(0,e.mq)(b)&&!(0,e.gb)(b));await Promise.all(B.map(async([a,c])=>{let d=A[a];try{let e=d?await d(c,{signal:b}):await (0,s.Mz)(c,{signal:b,..."cursor"===a?{log:console}:{}});e?.models?.length&&z.set(a,e)}catch(b){console.log(`Live model fetch failed for ${a}: ${b?.message||b}`)}}));let G=[],H=a=>{if("string"!=typeof a)return!1;let b=a.indexOf("/");if(b<=0)return!1;let c=a.slice(0,b),d=(0,e.rs)(c);return!!d&&!!e.Q2[d]&&!r.has(d)},I=!j;for(let b of l){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;if(I){let a=Array.isArray(b.models)?b.models:[];if(a.length>0&&a.every(H))continue}let c={id:b.name,object:"model",owned_by:"combo",name:b.name};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),G.push(c)}if(a.includes("llm")){for(let[a,b]of Object.entries(n||{}))if((0,y.Ng)(a)&&!(I&&H(b))){if("string"==typeof b&&b.includes("/")){let a=b.indexOf("/"),c=b.slice(0,a),d=b.slice(a+1),e=k.find(a=>a.providerSpecificData?.prefix===c);if(q(c,d)||e&&q(e.provider,d))continue}G.push({id:a,object:"model",owned_by:"switchboard-alias",display_name:`Switchboard \xb7 ${a}`})}}if(j){for(let[b,c]of Object.entries(d.PROVIDER_MODELS))if(E((0,e.rs)(b),a))for(let d of c)a.includes(C(d))&&(q(b,d.id)||G.push({id:`${b}/${d.id}`,object:"model",owned_by:b}));for(let b of m){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();!d||q(c,d)||G.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[f,g]of r.entries()){if(b?.aborted)break;if(!E(f,a))continue;let h=d.Xg[f]||f,i=(g?.providerSpecificData?.prefix||(0,e.wG)(f)||h).trim(),j=d.PROVIDER_MODELS[h]||[],k=g?.providerSpecificData?.enabledModels,l=Array.isArray(k)&&k.length>0,o=(0,e.mq)(f)||(0,e.gb)(f),p=new Map(j.map(a=>[a.id,C(a)])),r=new Map,s=new Map,t=l?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id),u=x.get(f);o&&!c&&u&&Array.isArray(u.ids)&&(t=u.ids);let y=u&&u.capsById instanceof Map?u.capsById:null,A=z.get(f);A?.models?.length&&(t=A.models.map(a=>a.id),r=new Map(A.models.filter(a=>a?.id).map(a=>[a.id,C(a)])),s=new Map(A.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])));let B=t.map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),D=new Map;for(let b of Array.from(new Set([...B,...m.filter(b=>{if(!b?.id)return!1;let c=(0,d.CP)(b)||"llm";if(!a.includes(c)&&!("imageToText"===c&&a.includes("llm")))return!1;let e=b.providerAlias;return e===h||e===i||e===f}).map(a=>{let b=String(a.id).trim();return b&&D.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(n||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${i}/`)||a.startsWith(`${h}/`)||a.startsWith(`${f}/`))).map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let c=D.get(b),d=r.get(b),e=c||d||p.get(b)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(b),g="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!g||q(i,b)||q(h,b))continue;let j={id:`${i}/${b}`,object:"model",owned_by:i},k=function(a,b,c,d,e){if(!a)return null;for(let f of[e,`${b}/${e}`,`${c}/${e}`,`${d}/${e}`])if(a.has(f))return a.get(f);return null}(y,i,h,f,b),l=(0,v.a0)(c||d),m=s.get(b)||(k||l?{...l||{},...k||{}}:null),n=(0,w.sM)(f,b),o=(0,v.k1)(b)||n,t=(0,v.hX)(m,o),u=t?{...m||{},...t}:m;u&&(j.capabilities=u),G.push(j)}let F=e.Q2[f];a.includes("webSearch")&&F?.searchConfig&&G.push({id:`${i}/search`,object:"model",kind:"webSearch",owned_by:i}),a.includes("webFetch")&&F?.fetchConfig&&G.push({id:`${i}/fetch`,object:"model",kind:"webFetch",owned_by:i})}let J=[],K=new Set;for(let a of G)!a?.id||K.has(a.id)||(K.add(a.id),"number"!=typeof a.created&&(a.created=0),J.push(a));return J}async function G(){return new Response(null,{headers:{"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}function H(a,b={}){let c=(0,y.OU)(b,a),d=(0,x.HL)(a);return a.map(a=>({id:(0,y.El)(a),object:"model",created:0,owned_by:"switchboard-catalog",display_name:c[a]||(0,x.u0)(a,d),description:a}))}async function I(a){try{if((0,y.at)(a?.headers)){let b=(0,y._1)(a?.headers),c=H(b,(0,y.LU)(a?.headers));return Response.json({object:"list",data:c})}let b=await F(["llm"],{signal:a?.signal,skipCompatibleDiscovery:(0,h.k)(a)});return Response.json({object:"list",data:b},{})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:"Failed to fetch models",type:"server_error"}},{status:500})}}},7071:(a,b,c)=>{c.d(b,{sM:()=>o,QX:()=>m,kl:()=>n});var d=c(43904),e=c(84646),f=c(66755);let g={glm:["zai","zai-coding-plan"],zai:["zai","zai-coding-plan"],"z-ai":["zai","zai-coding-plan"],opencode:["opencode","opencode-go"],"opencode-go":["opencode-go","opencode"]},h=["none","low","medium","high"],i=["none","thinking"],j=["none","low","medium","high","max"],k={openai:["none","minimal","low","medium","high","xhigh"],"claude-adaptive":j,"claude-budget":["none","low","medium","high","xhigh","max"],"gemini-level":["minimal","low","medium","high"],"gemini-budget":h,zai:i,qwen:h,kimi:j,deepseek:["none","high","max"],minimax:i,hunyuan:h,step:h},l=[{pattern:"*codex*",levels:["low","medium","high","xhigh"]}];function m(a,b){return Array.isArray(a)?a.includes(b)?b:"max"===b&&a.includes("xhigh")?"max":null:null}function n(a,b){let c=(0,d.nl)(a,b);if(!c.reasoning)return null;let j=l.find(a=>(0,e.gH)(a.pattern,b)),m=j?.levels||null,n=null;if(!m){let d=k[c.thinkingFormat]||h;d===i&&(n=function(a,b){try{return function(a,b,c){let d;if(!a||"object"!=typeof a||!c)return null;let e=(d=String(c||""),String((d.includes("/")?d.split("/").pop():d)||"").split(":")[0].toLowerCase());if(!e)return null;let f=String(c).toLowerCase(),h=String(b||"").toLowerCase();for(let b of[h,...g[h]||[]].filter(Boolean)){if(a[`${b}/${f}`])return a[`${b}/${f}`];if(a[`${b}/${e}`])return a[`${b}/${e}`]}return a[e]||a[f]||null}((0,f.CQ)(),a,b)}catch{return null}}(a,b),Array.isArray(n?.levels)&&n.levels.length>0&&(m=["none",...n.levels])),m||(m=d)}return(!1===c.thinkingCanDisable||n?.mandatory===!0)&&(m=m.filter(a=>"none"!==a)),m}function o(a,b){let c=n(a,b);if(!Array.isArray(c)||0===c.length)return null;let d=c.filter(a=>"none"!==a&&"thinking"!==a);if(0===d.length)return null;let e={supported:!0};for(let a of d)e[a]={supported:!0};return{effort:e}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(59353)},19225:(a,b,c)=>{a.exports=c(44870)},32524:(a,b,c)=>{c.d(b,{HL:()=>i,pD:()=>h,u0:()=>j});let d=Object.freeze({"lite-llm":"llm",litellm:"llm"}),e=["opus","sonnet","haiku","fable","gemini","gpt","glm","deepseek","composer","kimi","qwen"],f=[{pattern:/ap-southeast|low-carbon-apac|\bapac\b/i,tag:"apac"},{pattern:/eu-west|europe|\beu\b/i,tag:"eu"},{pattern:/us-east|us-west|\bus\b/i,tag:"us"}],g=["bedrock","vertex","azure","openai"];function h(a){var b;let c,h,i,j,k,l,m,n=String(a||"").trim();if(!n)return"";let o=n.indexOf("/");if(o<0)return n;let p=d[c=String(n.slice(0,o)||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-+/g,"-")]||c.slice(0,10),q=n.slice(o+1).split("/").filter(Boolean),r=(h=q.join("/").toLowerCase(),i=e.find(a=>h.includes(a))||null,j=f.find(a=>a.pattern.test(h))?.tag||null,k=g.find(a=>h.includes(a))||null,l=h.match(/\b(\d+m)\b/i)?.[1]?.toLowerCase()||null,m=(b=i?h.match(RegExp(`${i}[-._]?(\\d+(?:[._-]\\d+)*)`,"i"))?.[1]:null)?b.replace(/[._-]/g,"."):null,{family:i,region:j,infra:k,variant:l,version:m}),s=[p];if(r.region&&s.push(r.region),r.infra&&s.push(r.infra),r.family){let a=r.variant?`${r.family} ${r.variant}`:r.version?`${r.family} ${r.version}`:r.family;s.push(a)}else if(q.length>0){let a=q[q.length-1].replace(/^anthropic\./i,"").replace(/[._]/g," ").trim();a&&s.push(a.slice(0,24))}return s.join(" | ")}function i(a){let b=a.map(a=>String(a||"").trim()).filter(Boolean).map(a=>({modelId:a,base:h(a)})),c=new Map;for(let a of b){let b=c.get(a.base)||[];b.push(a.modelId),c.set(a.base,b)}let d=new Map;for(let[a,b]of c.entries()){if(1===b.length){d.set(b[0],a);continue}let c=new Set;b.forEach((b,e)=>{let f=`${a} | ${function(a,b){let c=String(a||"").split("/").filter(Boolean);return c.length>=3?c[1].replace(/[._-]/g," ").trim().slice(0,20):2===c.length?c[1].replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20):(c[c.length-1]||`model-${b+1}`).replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)||String(b+1)}(b,e)}`,g=2;for(;c.has(f);){let d=b.split("/").filter(Boolean).pop()||`alt-${g}`;f=`${a} | ${d.replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)}`,c.has(f)&&(f=`${a} | ${e+1}`),g+=1}c.add(f),d.set(b,f)})}return d}function j(a,b){let c=String(a||"").trim();return c?b?.get(c)||h(c):""}},38955:(a,b,c)=>{c.d(b,{Iz:()=>e,uJ:()=>f});var d=c(65089);function e(a,b=""){return new Set((Array.isArray(a)?a:[]).map(a=>(0,d.v)(a,b)).filter(Boolean))}function f(a,b,c=""){return a.has((0,d.v)(b,c))}c(4489),c(40615),c(27335)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};
1
+ "use strict";exports.id=5139,exports.ids=[5139],exports.modules={2364:(a,b,c)=>{c.r(b),c.d(b,{GET:()=>J,OPTIONS:()=>H,buildClaudeFullCatalogDiscoveryModels:()=>I,buildModelsList:()=>G});var d=c(81329),e=c(40615),f=c(59353),g=c(16655),h=c(19617),i=c(38955),j=c(58569),k=c(86925),l=c(9155),m=c(46052),n=c(41029);let o=new Map;async function p(a,b){let c=new AbortController,d=setTimeout(()=>c.abort(),1e4);try{let d=await (0,m.Fm)("https://api.githubcopilot.com/models",{method:"GET",headers:{Authorization:`Bearer ${a}`,"Content-Type":"application/json"},cache:"no-store",signal:b||c.signal,identity:"copilot",provider:"github",format:"openai"});if(!d.ok){let a=Error(`Copilot /models returned ${d.status}`);throw a.status=d.status,a}let e=await d.json();return Array.isArray(e?.data)?e.data:[]}finally{clearTimeout(d)}}async function q(a,b={}){let c,d=a?.providerSpecificData?.copilotToken||a?.accessToken;if(!d)return b.log?.debug?.("COPILOT_MODELS","No copilotToken/accessToken; skipping live fetch"),null;let e=a?.providerSpecificData?.copilotToken||a?.accessToken||"copilot-anonymous",f=Date.now();if(!b.forceRefresh){let a=o.get(e);if(a&&a.expiresAt>f)return{models:a.models}}try{c=await p(d,b.signal)}catch(d){if(!d||401!==d.status&&403!==d.status||!a.accessToken)return b.log?.warn?.("COPILOT_MODELS",`Live model fetch failed: ${d?.message||d}`),null;{b.log?.info?.("COPILOT_MODELS",`Got ${d.status}; refreshing Copilot token`);let e=await (0,n.jR)(a.accessToken);if(!e?.token)return b.log?.warn?.("COPILOT_MODELS","Token refresh did not return a token"),null;if("function"==typeof b.onCredentialsRefreshed)try{await b.onCredentialsRefreshed({copilotToken:e.token,copilotTokenExpiresAt:e.expiresAt})}catch(a){b.log?.warn?.("COPILOT_MODELS",`onCredentialsRefreshed failed: ${a?.message||a}`)}try{c=await p(e.token,b.signal)}catch(a){return b.log?.warn?.("COPILOT_MODELS",`Retry after refresh failed: ${a?.message||a}`),null}}}let g=function(a){let b=new Set,c=[];for(let d of a){if(!d||"object"!=typeof d||d.capabilities?.type!=="chat"||d.policy&&"enabled"!==d.policy.state)continue;let a=d.id;!a||b.has(a)||(b.add(a),c.push({id:a,name:d.name||a}))}return c}(c);return g.length?(o.set(e,{expiresAt:f+3e5,models:g}),{models:g}):null}var r=c(40694),s=c(58255),t=c(63123),u=c(67828),v=c(43904),w=c(7071),x=c(60290),y=c(32524),z=c(68393),A=c(39326);let B={kiro:async(a,b={})=>{let c=await (0,j.cW)({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},qoder:async(a,b={})=>{let c=await (0,l.EV)({accessToken:a.accessToken,refreshToken:a.refreshToken,email:a.email,displayName:a.displayName,providerSpecificData:a.providerSpecificData||{}},{signal:b.signal});return c?.models?.length?{models:c.models.map(a=>({id:a.id,name:a.name}))}:null},kimchi:async(a,b={})=>{let c=await (0,k.av)({accessToken:a.accessToken,apiKey:a.apiKey,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal});return c?.models?.length?{models:c.models}:null},github:async(a,b={})=>{let c=await q({accessToken:a.accessToken,refreshToken:a.refreshToken,providerSpecificData:a.providerSpecificData||{}},{log:console,signal:b.signal,onCredentialsRefreshed:async b=>{await (0,u.vN)(a.id,{copilotToken:b.copilotToken,copilotTokenExpiresAt:b.copilotTokenExpiresAt,existingProviderSpecificData:a.providerSpecificData||{}})}});return c?.models?.length?{models:c.models}:null},clinepass:async(a,b={})=>{let c=await (0,r.P)({accessToken:a.accessToken,apiKey:a.apiKey},{signal:b.signal});return c?.models?.length?{models:c.models}:null},"grok-cli":async(a,b={})=>{let c=await (0,A.B)(a.providerSpecificData||{}),d=await (0,t.M)({...a,connectionId:a.id},{log:console,signal:b.signal,proxyOptions:c,onCredentialsRefreshed:b=>(0,u.vN)(a.id,{...b,existingProviderSpecificData:a.providerSpecificData||{}})});return d?.models?.length?{models:d.models}:null}},C={image:"image",tts:"tts",embedding:"embedding",stt:"stt",imageToText:"imageToText",video:"video"};function D(a){let b=a?.kind||a?.type;return b&&C[b]||"llm"}async function E(a,b=null){if(!a?.apiKey)return null;let c="string"==typeof a?.providerSpecificData?.baseUrl?a.providerSpecificData.baseUrl.trim().replace(/\/$/,""):"";if(!c)return null;let d=`${c}/models`,f={"Content-Type":"application/json",[h.M]:"1"};if((0,e.mq)(a.provider))f.Authorization=`Bearer ${a.apiKey}`;else{if(!(0,e.gb)(a.provider))return null;d.endsWith("/messages/models")?d=d.slice(0,-9):d.endsWith("/messages")&&(d=`${d.slice(0,-9)}/models`),f["x-api-key"]=a.apiKey,f["anthropic-version"]="2023-06-01",f.Authorization=`Bearer ${a.apiKey}`}try{let a=new AbortController,c=setTimeout(()=>a.abort(),5e3);b&&"function"!=typeof AbortSignal.any&&b.addEventListener("abort",()=>{clearTimeout(c),a.abort(b.reason)},{once:!0});let e=b&&"function"==typeof AbortSignal.any?AbortSignal.any([b,a.signal]):a.signal;try{let a=await fetch(d,{method:"GET",headers:f,cache:"no-store",signal:e});if(!a.ok)return null;let b=await a.json(),c=(a=>{if(Array.isArray(a))return a;for(let b of["data","models","results"])if(Array.isArray(a?.[b]))return a[b];return null})(b);if(!c)return null;let g=Array.from(new Set(c.map(a=>a?.id||a?.name||a?.model).filter(a=>"string"==typeof a&&""!==a.trim()))),h=new Map;for(let a of c){let b=a?.id||a?.name||a?.model;"string"==typeof b&&""!==b.trim()&&a&&"object"==typeof a&&a.capabilities&&"object"==typeof a.capabilities&&h.set(b.trim(),a.capabilities)}return c.length>0&&0===g.length?null:{ids:g,capsById:h}}finally{clearTimeout(c)}}catch{return null}}function F(a,b){let c=e.Q2[a],d=Array.isArray(c?.serviceKinds)&&c.serviceKinds.length>0?c.serviceKinds:["llm"];return b.some(a=>d.includes(a))}async function G(a,{signal:b=null,skipCompatibleDiscovery:c=!1}={}){let h=[],j=!1;try{h=await (0,f.getProviderConnections)()}catch(a){j=!0,console.log("Could not fetch providers, returning all models")}let k=h.filter(a=>!1!==a.isActive),l=[];try{l=await (0,f.Uv)()}catch(a){console.log("Could not fetch combos")}let m=[];try{m=await (0,f.uv)()}catch(a){console.log("Could not fetch custom models")}let n={};try{n=await (0,f.OM)()}catch(a){console.log("Could not fetch model aliases")}let o={};try{o=await (0,g.vF)()}catch(a){console.log("Could not fetch disabled models")}let p=new Map(Object.entries(o).map(([a,b])=>[a,(0,i.Iz)(b,a)])),q=(a,b)=>{let c=(0,e.rs)(a);return[...new Set([a,c,(0,e.wG)(c),d.Xg[c]].filter(Boolean))].some(a=>{let c=p.get(a);return!!c&&(0,i.uJ)(c,b,a)})},r=new Map;for(let a of k){if(b?.aborted)break;r.has(a.provider)||r.set(a.provider,a)}let t=r.get("cursor");t&&r.set("cursor",await (0,u.Yx)(t,{force:!0}));let y=new Map;if(!c){let a=Array.from(r.entries()).filter(([a])=>(0,e.mq)(a)||(0,e.gb)(a));await Promise.all(a.map(async([a,c])=>{y.set(a,await E(c,b))}))}let A=new Map,C=Array.from(r.entries()).filter(([b])=>F(b,a)&&!(0,e.mq)(b)&&!(0,e.gb)(b));await Promise.all(C.map(async([a,c])=>{let d=B[a];try{let e=d?await d(c,{signal:b}):await (0,s.Mz)(c,{signal:b,..."cursor"===a?{log:console}:{}});e?.models?.length&&A.set(a,e)}catch(b){console.log(`Live model fetch failed for ${a}: ${b?.message||b}`)}}));let H=[],I=a=>{if("string"!=typeof a)return!1;let b=a.indexOf("/");if(b<=0)return!1;let c=a.slice(0,b),d=(0,e.rs)(c);return!!d&&!!e.Q2[d]&&!r.has(d)},J=!j;for(let b of l){if(!function(a,b){let c=a?.kind||"llm";return b.includes(c)}(b,a))continue;if(J){let a=Array.isArray(b.models)?b.models:[];if(a.length>0&&a.every(I))continue}let c={id:b.name,object:"model",owned_by:"combo",name:b.name};("webSearch"===b.kind||"webFetch"===b.kind)&&(c.kind=b.kind),H.push(c)}if(a.includes("llm")){for(let[a,b]of Object.entries(n||{}))if((0,z.Ng)(a)&&!(J&&I(b))){if("string"==typeof b&&b.includes("/")){let a=b.indexOf("/"),c=b.slice(0,a),d=b.slice(a+1),e=k.find(a=>a.providerSpecificData?.prefix===c);if(q(c,d)||e&&q(e.provider,d))continue}H.push({id:a,object:"model",owned_by:"switchboard-alias",display_name:`Switchboard \xb7 ${a}`})}}if(j){for(let[b,c]of Object.entries(d.PROVIDER_MODELS))if(F((0,e.rs)(b),a))for(let d of c)a.includes(D(d))&&(q(b,d.id)||H.push({id:`${b}/${d.id}`,object:"model",owned_by:b}));for(let b of m){if(!b?.id||b.type&&"llm"!==b.type||!a.includes("llm"))continue;let c=b.providerAlias;if(!c)continue;let d=String(b.id).trim();!d||q(c,d)||H.push({id:`${c}/${d}`,object:"model",owned_by:c})}}else for(let[f,g]of r.entries()){if(b?.aborted)break;if(!F(f,a))continue;let h=d.Xg[f]||f,i=(g?.providerSpecificData?.prefix||(0,e.wG)(f)||h).trim(),j=d.PROVIDER_MODELS[h]||[],k=g?.providerSpecificData?.enabledModels,l=Array.isArray(k)&&k.length>0,o=(0,e.mq)(f)||(0,e.gb)(f),p=new Map(j.map(a=>[a.id,D(a)])),r=new Map,s=new Map,t=l?Array.from(new Set(k.filter(a=>"string"==typeof a&&""!==a.trim()))):j.map(a=>a.id),u=y.get(f);o&&!c&&u&&Array.isArray(u.ids)&&(t=u.ids);let x=u&&u.capsById instanceof Map?u.capsById:null,z=A.get(f);z?.models?.length&&(t=z.models.map(a=>a.id),r=new Map(z.models.filter(a=>a?.id).map(a=>[a.id,D(a)])),s=new Map(z.models.filter(a=>a?.id&&a.capabilities).map(a=>[a.id,a.capabilities])));let B=t.map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim()),C=new Map;for(let b of Array.from(new Set([...B,...m.filter(b=>{if(!b?.id)return!1;let c=(0,d.CP)(b)||"llm";if(!a.includes(c)&&!("imageToText"===c&&a.includes("llm")))return!1;let e=b.providerAlias;return e===h||e===i||e===f}).map(a=>{let b=String(a.id).trim();return b&&C.set(b,(0,d.CP)(a)||"llm"),b}).filter(a=>""!==a),...Object.values(n||{}).filter(a=>"string"==typeof a&&!!a.includes("/")&&(a.startsWith(`${i}/`)||a.startsWith(`${h}/`)||a.startsWith(`${f}/`))).map(a=>a.startsWith(`${i}/`)?a.slice(i.length+1):a.startsWith(`${h}/`)?a.slice(h.length+1):a.startsWith(`${f}/`)?a.slice(f.length+1):a).filter(a=>"string"==typeof a&&""!==a.trim())]))){let c=C.get(b),d=r.get(b),e=c||d||p.get(b)||function(a){let b=String(a).toLowerCase();return/embed/.test(b)?"embedding":/tts|speech|audio|voice/.test(b)?"tts":/image|imagen|dall-?e|flux|sdxl|sd-|stable-diffusion/.test(b)?"image":"llm"}(b),g="imageToText"===e&&a.includes("llm");if(!a.includes(e)&&!g||q(i,b)||q(h,b))continue;let j={id:`${i}/${b}`,object:"model",owned_by:i},k=function(a,b,c,d,e){if(!a)return null;for(let f of[e,`${b}/${e}`,`${c}/${e}`,`${d}/${e}`])if(a.has(f))return a.get(f);return null}(x,i,h,f,b),l=(0,v.a0)(c||d),m=s.get(b)||(k||l?{...l||{},...k||{}}:null),n=(0,w.sM)(f,b),o=(0,v.k1)(b)||n,t=(0,v.hX)(m,o),u=t?{...m||{},...t}:m;u&&(j.capabilities=u),H.push(j)}let E=e.Q2[f];a.includes("webSearch")&&E?.searchConfig&&H.push({id:`${i}/search`,object:"model",kind:"webSearch",owned_by:i}),a.includes("webFetch")&&E?.fetchConfig&&H.push({id:`${i}/fetch`,object:"model",kind:"webFetch",owned_by:i})}let K=[],L=new Set;for(let a of H)!a?.id||L.has(a.id)||(L.add(a.id),"number"!=typeof a.created&&(a.created=0),K.push(a));let M=new Map((Array.isArray(l)?l:[]).filter(a=>a&&"string"==typeof a.name).map(a=>[a.name,a])),N=new Map(K.map(a=>[a.id,a])),O=(a,b=new Set,c=0)=>{if("string"!=typeof a||!a||b.has(a)||b.size>32)return null;b.add(a);let d=null,e=M.get(a);if(e){let a=c+1;if(a<=x.wg){let c=Array.isArray(e.models)?e.models:[];d=(0,v.G6)(c.map(c=>O(c,b,a)))}}else if(n&&Object.hasOwn(n,a))d=O(n[a],b,c);else{let b=N.get(a);d=b?.capabilities?.effort?{effort:b.capabilities.effort}:(a=>{let[b,...c]=a.split("/"),d=c.join("/")||b;return(0,v.k1)(a)||(0,w.sM)(b,d)})(a)}return b.delete(a),d};for(let a of K){if(a.capabilities?.effort)continue;let b=null;if("combo"===a.owned_by){let c=M.get(a.id);if(!c||"llm"!==(c.kind||"llm"))continue;b=O(a.id)}else"switchboard-alias"===a.owned_by&&(b=O(a.id));b?.effort&&(a.capabilities={...a.capabilities||{},effort:b.effort})}return K}async function H(){return new Response(null,{headers:{"Access-Control-Allow-Methods":"GET, OPTIONS","Access-Control-Allow-Headers":"*"}})}function I(a,b={}){let c=(0,z.OU)(b,a),d=(0,y.HL)(a);return a.map(a=>({id:(0,z.El)(a),object:"model",created:0,owned_by:"switchboard-catalog",display_name:c[a]||(0,y.u0)(a,d),description:a}))}async function J(a){try{if((0,z.at)(a?.headers)){let b=(0,z._1)(a?.headers),c=I(b,(0,z.LU)(a?.headers));return Response.json({object:"list",data:c})}let b=await G(["llm"],{signal:a?.signal,skipCompatibleDiscovery:(0,h.k)(a)});return Response.json({object:"list",data:b},{})}catch(a){return console.log("Error fetching models:",a),Response.json({error:{message:"Failed to fetch models",type:"server_error"}},{status:500})}}},7071:(a,b,c)=>{c.d(b,{sM:()=>o,QX:()=>m,kl:()=>n});var d=c(43904),e=c(84646),f=c(66755);let g={glm:["zai","zai-coding-plan"],zai:["zai","zai-coding-plan"],"z-ai":["zai","zai-coding-plan"],opencode:["opencode","opencode-go"],"opencode-go":["opencode-go","opencode"]},h=["none","low","medium","high"],i=["none","thinking"],j=["none","low","medium","high","max"],k={openai:["none","minimal","low","medium","high","xhigh"],"claude-adaptive":j,"claude-budget":["none","low","medium","high","xhigh","max"],"gemini-level":["minimal","low","medium","high"],"gemini-budget":h,zai:i,qwen:h,kimi:j,deepseek:["none","high","max"],minimax:i,hunyuan:h,step:h},l=[{pattern:"*codex*",levels:["low","medium","high","xhigh"]}];function m(a,b){return Array.isArray(a)?a.includes(b)?b:"max"===b&&a.includes("xhigh")?"max":null:null}function n(a,b){let c=(0,d.nl)(a,b);if(!c.reasoning)return null;let j=l.find(a=>(0,e.gH)(a.pattern,b)),m=j?.levels||null,n=null;if(!m){let d=k[c.thinkingFormat]||h;d===i&&(n=function(a,b){try{return function(a,b,c){let d;if(!a||"object"!=typeof a||!c)return null;let e=(d=String(c||""),String((d.includes("/")?d.split("/").pop():d)||"").split(":")[0].toLowerCase());if(!e)return null;let f=String(c).toLowerCase(),h=String(b||"").toLowerCase();for(let b of[h,...g[h]||[]].filter(Boolean)){if(a[`${b}/${f}`])return a[`${b}/${f}`];if(a[`${b}/${e}`])return a[`${b}/${e}`]}return a[e]||a[f]||null}((0,f.CQ)(),a,b)}catch{return null}}(a,b),Array.isArray(n?.levels)&&n.levels.length>0&&(m=["none",...n.levels])),m||(m=d)}return(!1===c.thinkingCanDisable||n?.mandatory===!0)&&(m=m.filter(a=>"none"!==a)),m}function o(a,b){let c=n(a,b);if(!Array.isArray(c)||0===c.length)return null;let d=c.filter(a=>"none"!==a&&"thinking"!==a);if(0===d.length)return null;let e={supported:!0};for(let a of d)e[a]={supported:!0};return{effort:e}}},16655:(a,b,c)=>{c.d(b,{oF:()=>d.oF,tm:()=>d.tm,vF:()=>d.vF});var d=c(59353)},19225:(a,b,c)=>{a.exports=c(44870)},32524:(a,b,c)=>{c.d(b,{HL:()=>i,pD:()=>h,u0:()=>j});let d=Object.freeze({"lite-llm":"llm",litellm:"llm"}),e=["opus","sonnet","haiku","fable","gemini","gpt","glm","deepseek","composer","kimi","qwen"],f=[{pattern:/ap-southeast|low-carbon-apac|\bapac\b/i,tag:"apac"},{pattern:/eu-west|europe|\beu\b/i,tag:"eu"},{pattern:/us-east|us-west|\bus\b/i,tag:"us"}],g=["bedrock","vertex","azure","openai"];function h(a){var b;let c,h,i,j,k,l,m,n=String(a||"").trim();if(!n)return"";let o=n.indexOf("/");if(o<0)return n;let p=d[c=String(n.slice(0,o)||"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").replace(/-+/g,"-")]||c.slice(0,10),q=n.slice(o+1).split("/").filter(Boolean),r=(h=q.join("/").toLowerCase(),i=e.find(a=>h.includes(a))||null,j=f.find(a=>a.pattern.test(h))?.tag||null,k=g.find(a=>h.includes(a))||null,l=h.match(/\b(\d+m)\b/i)?.[1]?.toLowerCase()||null,m=(b=i?h.match(RegExp(`${i}[-._]?(\\d+(?:[._-]\\d+)*)`,"i"))?.[1]:null)?b.replace(/[._-]/g,"."):null,{family:i,region:j,infra:k,variant:l,version:m}),s=[p];if(r.region&&s.push(r.region),r.infra&&s.push(r.infra),r.family){let a=r.variant?`${r.family} ${r.variant}`:r.version?`${r.family} ${r.version}`:r.family;s.push(a)}else if(q.length>0){let a=q[q.length-1].replace(/^anthropic\./i,"").replace(/[._]/g," ").trim();a&&s.push(a.slice(0,24))}return s.join(" | ")}function i(a){let b=a.map(a=>String(a||"").trim()).filter(Boolean).map(a=>({modelId:a,base:h(a)})),c=new Map;for(let a of b){let b=c.get(a.base)||[];b.push(a.modelId),c.set(a.base,b)}let d=new Map;for(let[a,b]of c.entries()){if(1===b.length){d.set(b[0],a);continue}let c=new Set;b.forEach((b,e)=>{let f=`${a} | ${function(a,b){let c=String(a||"").split("/").filter(Boolean);return c.length>=3?c[1].replace(/[._-]/g," ").trim().slice(0,20):2===c.length?c[1].replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20):(c[c.length-1]||`model-${b+1}`).replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)||String(b+1)}(b,e)}`,g=2;for(;c.has(f);){let d=b.split("/").filter(Boolean).pop()||`alt-${g}`;f=`${a} | ${d.replace(/^anthropic\./i,"").replace(/[._-]/g," ").trim().slice(0,20)}`,c.has(f)&&(f=`${a} | ${e+1}`),g+=1}c.add(f),d.set(b,f)})}return d}function j(a,b){let c=String(a||"").trim();return c?b?.get(c)||h(c):""}},38955:(a,b,c)=>{c.d(b,{Iz:()=>e,uJ:()=>f});var d=c(65089);function e(a,b=""){return new Set((Array.isArray(a)?a:[]).map(a=>(0,d.v)(a,b)).filter(Boolean))}function f(a,b,c=""){return a.has((0,d.v)(b,c))}c(4489),c(40615),c(27335)},92280:(a,b,c)=>{Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}}};