@shumai-one/shumai 0.5.2 → 0.5.3

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 (138) hide show
  1. package/bin/{chunk-zf5cyxnt.js → chunk-03zkxckm.js} +1 -1
  2. package/bin/{chunk-2w6gve12.js → chunk-04nqnkzs.js} +3 -3
  3. package/bin/{chunk-rw5h0n0s.js → chunk-157axqz1.js} +1 -1
  4. package/bin/{chunk-w9z27p0m.js → chunk-1tesbv8w.js} +1 -1
  5. package/bin/{chunk-vzdgsfkf.js → chunk-24da4wg9.js} +1 -1
  6. package/bin/chunk-24nx3krz.js +2 -0
  7. package/bin/{chunk-twpc640e.js → chunk-26am2rzm.js} +1 -1
  8. package/bin/{chunk-8ayz61rc.js → chunk-2pt9h882.js} +3 -3
  9. package/bin/{chunk-mn108p93.js → chunk-2rrcdhkj.js} +1 -1
  10. package/bin/{chunk-ryepy5er.js → chunk-2w2bknn2.js} +4 -4
  11. package/bin/{chunk-ypkkfwfb.js → chunk-3ahax79y.js} +2 -2
  12. package/bin/{chunk-zdzkjp4q.js → chunk-3fjgf7eb.js} +2 -2
  13. package/bin/{chunk-rmvhyqyb.js → chunk-3wcvema0.js} +3 -3
  14. package/bin/{chunk-kvwec0p3.js → chunk-40tmh04g.js} +2 -2
  15. package/bin/chunk-45p7d22e.js +2 -0
  16. package/bin/chunk-461gcgrs.js +2 -0
  17. package/bin/{chunk-p0j4wpa5.js → chunk-4bc3gqmn.js} +1 -1
  18. package/bin/{chunk-8tzfcqtb.js → chunk-4nkwe7dz.js} +1 -1
  19. package/bin/{chunk-eqr0znmc.js → chunk-59ayg5am.js} +1 -1
  20. package/bin/{chunk-8zgq5sav.js → chunk-5ebb2pdf.js} +2 -2
  21. package/bin/{chunk-n76w2wcr.js → chunk-5y3kx4kk.js} +1 -1
  22. package/bin/{chunk-d2dgazjj.js → chunk-68xsb3t8.js} +1 -1
  23. package/bin/{chunk-n9vp9nbg.js → chunk-6hs63sva.js} +30 -30
  24. package/bin/{chunk-bpxw19ez.js → chunk-6pwf7qa6.js} +1 -1
  25. package/bin/{chunk-f5z3096k.js → chunk-6sq6dfa1.js} +2 -2
  26. package/bin/chunk-87secbzy.js +1 -0
  27. package/bin/chunk-8pykp70z.js +1 -0
  28. package/bin/{chunk-3pm6q6kg.js → chunk-8ts3xkme.js} +1 -1
  29. package/bin/{chunk-rza95y4z.js → chunk-909h3qzp.js} +2 -2
  30. package/bin/{chunk-0v9srsdz.js → chunk-929abwgr.js} +1 -1
  31. package/bin/{chunk-j53sjkxt.js → chunk-9ca8a5f2.js} +1 -1
  32. package/bin/{chunk-2pw7xcrn.js → chunk-9fyb95r5.js} +1 -1
  33. package/bin/{chunk-mneeg71d.js → chunk-axeq2pq5.js} +2 -2
  34. package/bin/{chunk-r249n1xe.js → chunk-b3tkvdfk.js} +2 -2
  35. package/bin/{chunk-9ggwc289.js → chunk-b6dbqs39.js} +1 -1
  36. package/bin/{chunk-w73v578p.js → chunk-b88tdt79.js} +2 -2
  37. package/bin/{chunk-19q13a80.js → chunk-bcyvxp1c.js} +4 -4
  38. package/bin/{chunk-7qvvf0yd.js → chunk-bn0taqr3.js} +2 -2
  39. package/bin/chunk-cb37q6t0.js +1 -0
  40. package/bin/chunk-cfqny70c.js +3 -0
  41. package/bin/{chunk-ffj9cq9y.js → chunk-cqnected.js} +1 -1
  42. package/bin/{chunk-98mg3dpd.js → chunk-cvfznrnt.js} +4 -4
  43. package/bin/{chunk-951r2rx1.js → chunk-d1q1tn36.js} +1 -1
  44. package/bin/{chunk-0asthrjf.js → chunk-d1rjpbgv.js} +2 -2
  45. package/bin/{chunk-81dawvn4.js → chunk-eshwjf91.js} +2 -2
  46. package/bin/{chunk-04avc4fn.js → chunk-fa9yq17g.js} +26 -26
  47. package/bin/{chunk-m6v8vt2b.js → chunk-fnkkwna8.js} +2 -2
  48. package/bin/{chunk-3q5qkfkc.js → chunk-fpjvr3qw.js} +1 -1
  49. package/bin/{chunk-ggfx2b0f.js → chunk-fsr83nb1.js} +1 -1
  50. package/bin/{chunk-kzr6ecke.js → chunk-fznchvm7.js} +1 -1
  51. package/bin/chunk-g2z0c39g.js +1 -0
  52. package/bin/{chunk-5vqbzsjv.js → chunk-gvcjqcjf.js} +1 -1
  53. package/bin/{chunk-0ge2mm8j.js → chunk-hbnpx0a5.js} +1 -1
  54. package/bin/{chunk-tvkekn4z.js → chunk-hgy9rqt1.js} +1 -1
  55. package/bin/chunk-hk659cg2.css +1 -0
  56. package/bin/{chunk-8ny7wvzb.js → chunk-hn2g40r6.js} +1 -1
  57. package/bin/{chunk-0y4zq3y4.js → chunk-hsx4pns6.js} +1 -1
  58. package/bin/{chunk-bbcmhcvc.js → chunk-hy5ncvpf.js} +2 -2
  59. package/bin/{chunk-5nqvqvqp.js → chunk-j420aqk8.js} +3 -3
  60. package/bin/{chunk-t1yamxgk.js → chunk-k3ds96cb.js} +1 -1
  61. package/bin/{chunk-dppfek34.js → chunk-m41tbrvt.js} +2 -2
  62. package/bin/chunk-m9f21ye9.js +1 -0
  63. package/bin/chunk-md7pgk86.js +2 -0
  64. package/bin/chunk-me3zmpj5.js +14 -0
  65. package/bin/chunk-mg6sybt0.js +1 -0
  66. package/bin/{chunk-jgfye6nf.js → chunk-mzme3m82.js} +1 -1
  67. package/bin/{chunk-ce0bhc72.js → chunk-n08h1jgx.js} +1 -1
  68. package/bin/{chunk-ae6zgjhd.js → chunk-ncv8v6mj.js} +2 -2
  69. package/bin/{chunk-cx32wsa1.js → chunk-nmd1901j.js} +1 -1
  70. package/bin/{chunk-wnqxyqrg.js → chunk-np39aknv.js} +2 -2
  71. package/bin/{chunk-dche0gy0.js → chunk-p7zw53ep.js} +1 -1
  72. package/bin/{chunk-xr2v0d6y.js → chunk-ppb4aj0y.js} +4 -4
  73. package/bin/{chunk-15vsw36h.js → chunk-pwq6dbb5.js} +5 -5
  74. package/bin/chunk-q1gfypy3.js +2 -0
  75. package/bin/{chunk-0j22699g.js → chunk-q4qqmes7.js} +2 -2
  76. package/bin/{chunk-vm2pz2hm.js → chunk-q7t5zs7n.js} +2 -2
  77. package/bin/{chunk-e439kt05.js → chunk-qcpeefhr.js} +1 -1
  78. package/bin/{chunk-6rn094yj.js → chunk-qjdvs1s5.js} +1 -1
  79. package/bin/{chunk-9zgqjdx1.js → chunk-qqapw198.js} +2 -2
  80. package/bin/chunk-qx553512.js +211 -0
  81. package/bin/chunk-r3s1x5wp.js +1 -0
  82. package/bin/{chunk-rtaya5wc.js → chunk-rh8dy99a.js} +2 -2
  83. package/bin/{chunk-5rzxekn4.js → chunk-s0vfj06y.js} +1 -1
  84. package/bin/{chunk-4zksqvwj.js → chunk-s6g2mzpn.js} +2 -2
  85. package/bin/{chunk-zckxc8m6.js → chunk-s9sf37dv.js} +2 -2
  86. package/bin/{chunk-19jpn3r6.js → chunk-scvepfv8.js} +1 -1
  87. package/bin/chunk-sjbvt3wa.js +2 -0
  88. package/bin/{chunk-mn208vrv.js → chunk-srmx5z3v.js} +2 -2
  89. package/bin/{chunk-r776bhsg.js → chunk-srv5kvm4.js} +1 -1
  90. package/bin/{chunk-qmrg2jhs.js → chunk-t1h12r3q.js} +5 -5
  91. package/bin/{chunk-gvas3xkp.js → chunk-t6myw0jf.js} +1 -1
  92. package/bin/{chunk-z8e4wc59.js → chunk-t8jfp3vx.js} +1 -1
  93. package/bin/{chunk-15w79661.js → chunk-tqdde9bj.js} +1 -1
  94. package/bin/chunk-vk9ecq8n.js +2 -0
  95. package/bin/{chunk-d5hbzp7t.js → chunk-vsnq4381.js} +1 -1
  96. package/bin/{chunk-1nvj833s.js → chunk-w4adkd0a.js} +5 -5
  97. package/bin/{chunk-qxscgcn9.js → chunk-wbmqbpgm.js} +1 -1
  98. package/bin/{chunk-v034sfw8.js → chunk-wperd2h9.js} +2 -2
  99. package/bin/{chunk-y2dhf3p0.js → chunk-xbw7ffrz.js} +2 -2
  100. package/bin/{chunk-9bakwac0.js → chunk-xdrpahym.js} +4 -4
  101. package/bin/{chunk-6jkjx0n2.js → chunk-xfmnfcv2.js} +3 -3
  102. package/bin/chunk-xhngtwn9.js +1 -0
  103. package/bin/chunk-xjnehexk.js +2 -0
  104. package/bin/chunk-xzb0t8mx.js +1 -0
  105. package/bin/{chunk-k3prp6c6.js → chunk-y5h5d5gx.js} +4 -4
  106. package/bin/{chunk-wwkhskce.js → chunk-y6xyc4wp.js} +2 -2
  107. package/bin/{chunk-93p27bbm.js → chunk-zpk87b33.js} +5 -5
  108. package/bin/{chunk-asy868kq.js → chunk-zq5j9wsc.js} +1 -1
  109. package/bin/{chunk-grjek810.js → chunk-zsg61vr0.js} +2 -2
  110. package/bin/chunk-zts21ft7.js +1 -0
  111. package/bin/{chunk-cpj562n6.js → chunk-zzbn0b6c.js} +1 -1
  112. package/bin/shumai-app.html +1 -1
  113. package/bin/shumai-app.js +350 -333
  114. package/package.json +7 -7
  115. package/prisma/migrations/20261014054332_add_embedding_768/migration.sql +8 -0
  116. package/prisma/schema.prisma +10 -8
  117. package/bin/chunk-2gf95tj0.js +0 -1
  118. package/bin/chunk-2tk5w3jc.js +0 -1
  119. package/bin/chunk-301e7g3z.js +0 -2
  120. package/bin/chunk-3kmjbc3m.js +0 -2
  121. package/bin/chunk-3td60k1m.js +0 -2
  122. package/bin/chunk-42hrvk6k.js +0 -211
  123. package/bin/chunk-5bk16qdp.js +0 -2
  124. package/bin/chunk-8abhmarc.js +0 -2
  125. package/bin/chunk-965102pf.js +0 -3
  126. package/bin/chunk-acn3r2m2.js +0 -1
  127. package/bin/chunk-ce75dw3k.css +0 -1
  128. package/bin/chunk-d9qpgkek.js +0 -2
  129. package/bin/chunk-dv6p6n5e.js +0 -1
  130. package/bin/chunk-qb178ntp.js +0 -2
  131. package/bin/chunk-s4r6e6ms.js +0 -1
  132. package/bin/chunk-syjjke3f.js +0 -1
  133. package/bin/chunk-tgfxe0sb.js +0 -1
  134. package/bin/chunk-tjretpx8.js +0 -1
  135. package/bin/chunk-w4yjgez6.js +0 -14
  136. package/bin/chunk-wjcebkpb.js +0 -1
  137. package/bin/chunk-ws71fg50.js +0 -2
  138. package/bin/chunk-yfp3q4da.js +0 -1
@@ -1,7 +1,7 @@
1
1
  // @bun
2
- import{Ye}from"./chunk-cdk8vqeg.js";import{Xr}from"./chunk-8zgq5sav.js";import{dr}from"./chunk-b5r0be06.js";import{zi,ji}from"./chunk-rq2h2bwt.js";import{as}from"./chunk-23780yj6.js";import{xn,Sn}from"./chunk-sbyyn9yw.js";import{Ts}from"./chunk-y2dhf3p0.js";import{ls}from"./chunk-6hzktewz.js";import{He,dc,fc,po,Xa,Wn,Tr,mo}from"./chunk-dppfek34.js";import{mn}from"./chunk-zdzkjp4q.js";import{hn,Gr}from"./chunk-ae6zgjhd.js";import{Jt}from"./chunk-vm2pz2hm.js";function B(e,n){if(!e)return!1;let t=n.toLowerCase();for(let[r,s]of Object.entries(e))if(r.toLowerCase()===t&&s!==null&&s.trim().length>0)return!0;return!1}function z(e,n,t){if(n)return n;if(B(t,"authorization")||B(t,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${e}`)}function Q(e){for(let n of e){if(n.role==="toolResult")return!0;if(n.role==="assistant"){if(n.content.some((t)=>t.type==="toolCall"))return!0}}return!1}function X(e){let n=new Set;for(let t of e)if(t.role==="toolResult")for(let r of t.addedToolNames??[])n.add(r);return n}function Y(e,n){if(!e)return[];let t=new Map(e.map((r)=>[r.name,r]));return Array.from(n).map((r)=>t.get(r)).filter((r)=>r!==void 0)}function D(e){return e.type==="text"}function ee(e){return e.type==="thinking"}function te(e){return e.type==="toolCall"}function ne(e){return e.type==="image"}function re(e){if(typeof e!=="object"||e===null)return!1;let n=e;return n.type==="reasoning.encrypted"&&typeof n.id==="string"&&n.id.length>0&&typeof n.data==="string"&&n.data.length>0}function G(e,n){if(e)return e;if(dr("PI_CACHE_RETENTION",n)==="long")return"long";return"short"}var se=(e,n,t)=>{let r=new Jt;return(async()=>{let s={role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let g=z(e.provider,t?.apiKey,t?.headers),f=P(e),k=Wn(n.tools,f.supportsOpenAIGrammarTools),i=G(t?.cacheRetention,t?.env),d=i==="none"?void 0:t?.sessionId,l=oe(e,n,g,t?.headers,d,f),a=ie(e,n,t,f,i,k),m=await t?.onPayload?.(a,e);if(m!==void 0)a=m;let y={...t?.signal?{signal:t.signal}:{},...t?.timeoutMs!==void 0?{timeout:t.timeoutMs}:{},maxRetries:0},{data:v,response:C}=await ls(()=>l.chat.completions.create(a,y).withResponse(),{maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,signal:t?.signal});await t?.onResponse?.({status:C.status,headers:mn(C.headers)},e),r.push({type:"start",partial:s});let M=null,h=null,T=!1,x=new Map,E=new Map,O=new Map,F=s.content,w=(o)=>F.indexOf(o),q=(o)=>{let u=o.customInput?.property;if(u===void 0)return"";let _=o.arguments[u];return typeof _==="string"?_:""},L=(o,u,_)=>{let c=o.customInput;if(!c)return;let A=fc(c.jsonBuffer,c.property,u,_);return o.arguments={[c.property]:u},A},H=(o)=>{let u=w(o);if(u===-1)return;if(o.type==="text")r.push({type:"text_end",contentIndex:u,content:o.text,partial:s});else if(o.type==="thinking")r.push({type:"thinking_end",contentIndex:u,content:o.thinking,partial:s});else if(o.type==="toolCall"){if(o.customInput){let _=L(o,q(o),!0);if(_!==void 0)r.push({type:"toolcall_delta",contentIndex:u,delta:_,partial:s})}else o.arguments=Xr(o.partialArgs);delete o.partialArgs,delete o.customInput,delete o.streamIndex,r.push({type:"toolcall_end",contentIndex:u,toolCall:o,partial:s})}},W=()=>{if(!M)M={type:"text",text:""},F.push(M),r.push({type:"text_start",contentIndex:w(M),partial:s});return M},U=(o)=>{if(!h)h={type:"thinking",thinking:"",thinkingSignature:o},F.push(h),r.push({type:"thinking_start",contentIndex:w(h),partial:s});return h},J=(o)=>{if(!o.id)return;let u=O.get(o.id);if(u)o.thoughtSignature=u,O.delete(o.id)},V=(o)=>{let u=typeof o.index==="number"?o.index:void 0,_=o.function?.name??o.custom?.name??"",c=u!==void 0?x.get(u):void 0;if(!c&&o.id)c=E.get(o.id);if(!c){let A=o.custom?k.get(_)??"input":void 0,S=A!==void 0;if(c={type:"toolCall",id:o.id||"",name:_,arguments:S?{[A]:""}:{},partialArgs:S?void 0:"",customInput:S?{property:A,jsonBuffer:{input:"",started:!1,closed:!1}}:void 0,streamIndex:u},u!==void 0)x.set(u,c);if(o.id)E.set(o.id,c);F.push(c),r.push({type:"toolcall_start",contentIndex:w(c),partial:s})}if(u!==void 0&&c.streamIndex===void 0)c.streamIndex=u,x.set(u,c);if(o.id)E.set(o.id,c);if(!c.name&&_)c.name=_;if(o.custom&&!c.customInput){let A=k.get(c.name)??"input";c.arguments={[A]:""},c.customInput={property:A,jsonBuffer:{input:"",started:!1,closed:!1}},delete c.partialArgs}return J(c),c};for await(let o of v){if(!o||typeof o!=="object")continue;if(s.responseId||=o.id,typeof o.model==="string"&&o.model.length>0&&o.model!==e.id)s.responseModel||=o.model;if(o.usage)s.usage=N(o.usage,e);let u=Array.isArray(o.choices)?o.choices[0]:void 0;if(!u)continue;if(!o.usage&&u.usage)s.usage=N(u.usage,e);if(u.finish_reason){let _=ye(u.finish_reason);if(s.stopReason=_.stopReason,_.errorMessage)s.errorMessage=_.errorMessage;T=!0}if(u.delta){if(u.delta.content!==null&&u.delta.content!==void 0&&u.delta.content.length>0){let p=W();p.text+=u.delta.content,r.push({type:"text_delta",contentIndex:w(p),delta:u.delta.content,partial:s})}let _=["reasoning_content","reasoning","reasoning_text"],c=u.delta,A=null;for(let p of _){let R=c[p];if(typeof R==="string"&&R.length>0){A=p;break}}if(A){let p=c[A];if(typeof p==="string"&&p.length>0){let R=e.provider==="opencode-go"&&A==="reasoning"?"reasoning_content":A,I=U(R);I.thinking+=p,r.push({type:"thinking_delta",contentIndex:w(I),delta:p,partial:s})}}if(u?.delta?.tool_calls)for(let p of u.delta.tool_calls){let R=V(p);if(!R.id&&p.id)R.id=p.id,E.set(p.id,R);let I=p.function?.name??p.custom?.name;if(!R.name&&I)R.name=I;let b="";if(p.function?.arguments)b=p.function.arguments,R.partialArgs=(R.partialArgs??"")+p.function.arguments,R.arguments=Xr(R.partialArgs);else if(p.custom?.input){let Z=q(R)+p.custom.input;b=L(R,Z,!1)??""}r.push({type:"toolcall_delta",contentIndex:w(R),delta:b,partial:s})}let S=u.delta.reasoning_details;if(Array.isArray(S)){for(let p of S)if(re(p)){let R=JSON.stringify(p),I=E.get(p.id);if(I)I.thoughtSignature=R;else O.set(p.id,R)}}}}for(let o of F)H(o);if(t?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="aborted")throw Error("Request was aborted");if(s.stopReason==="error")throw Error(s.errorMessage||"Provider returned an error stop reason");if(!T)throw Error("Stream ended without finish_reason");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(g){for(let k of s.content)delete k.index,delete k.partialArgs,delete k.customInput,delete k.streamIndex;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=Sn(xn(g));let f=g?.error?.metadata?.raw;if(f&&!s.errorMessage.includes(String(f)))s.errorMessage+=`
3
- ${f}`;r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},Pe=(e,n,t)=>{z(e.provider,t?.apiKey,t?.headers);let r=Tr(e,n,t,t?.apiKey),s=t?.reasoning?Gr(e,t.reasoning):void 0,g=s==="off"?void 0:s,f=t?.toolChoice;return se(e,n,{...r,reasoningEffort:g,toolChoice:f})};function oe(e,n,t,r,s,g=P(e)){let f={...e.headers};if(e.provider==="github-copilot"){let k=zi(n.messages),i=ji({messages:n.messages,hasImages:k});Object.assign(f,i)}if(s&&g.sendSessionAffinityHeaders)if(g.sessionAffinityFormat==="openrouter")f["x-session-id"]=s;else{if(g.sessionAffinityFormat==="openai")f.session_id=s;f["x-client-request-id"]=s,f["x-session-affinity"]=s}if(r)Object.assign(f,r);return new Ye({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function ie(e,n,t,r=P(e),s=G(t?.cacheRetention,t?.env),g=Wn(n.tools,r.supportsOpenAIGrammarTools)){let f=me(e,n,r,{grammarToolInputProperties:g}),k=fe(r,s),i={model:e.id,messages:f,stream:!0,prompt_cache_key:e.baseUrl.includes("api.openai.com")&&s!=="none"||s==="long"&&r.supportsLongCacheRetention?as(t?.sessionId):void 0,prompt_cache_retention:s==="long"&&r.supportsLongCacheRetention?"24h":void 0};if(r.supportsUsageInStreaming!==!1)i.stream_options={include_usage:!0};if(r.supportsStore)i.store=!1;if(t?.maxTokens)if(r.maxTokensField==="max_tokens")i.max_tokens=t.maxTokens;else i.max_completion_tokens=t.maxTokens;if(t?.temperature!==void 0)i.temperature=t.temperature;let d=r.deferredToolsMode==="kimi"?X(n.messages):new Set,l=n.tools?.filter((a)=>!d.has(a.name));if(l&&l.length>0){if(i.tools=K(l,r),r.zaiToolStream)i.tool_stream=!0}else if(Q(n.messages))i.tools=[];if(k)le(f,i.tools,k);if(t?.toolChoice)i.tool_choice=t.toolChoice;if(r.thinkingFormat==="zai"&&e.reasoning){let a=i;if(a.thinking=t?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},t?.reasoningEffort&&r.supportsReasoningEffort){let m=e.thinkingLevelMap?.[t.reasoningEffort],y=m===void 0?t.reasoningEffort:m;if(typeof y==="string")a.reasoning_effort=y}}else if(r.thinkingFormat==="qwen"&&e.reasoning)i.enable_thinking=!!t?.reasoningEffort;else if(r.thinkingFormat==="qwen-chat-template"&&e.reasoning)i.chat_template_kwargs={enable_thinking:!!t?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat==="chat-template"&&e.reasoning){let a=ae(e,t,r);if(a)i.chat_template_kwargs=a}else if(r.thinkingFormat==="deepseek"&&e.reasoning){if(t?.reasoningEffort)i.thinking={type:"enabled"};else if(e.thinkingLevelMap?.off!==null)i.thinking={type:"disabled"};if(t?.reasoningEffort&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="openrouter"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.reasoning={effort:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort};else if(e.thinkingLevelMap?.off!==null)a.reasoning={effort:e.thinkingLevelMap?.off??"none"}}else if(r.thinkingFormat==="ant-ling"&&e.reasoning&&t?.reasoningEffort){let a=e.thinkingLevelMap?.[t.reasoningEffort];if(typeof a==="string")i.reasoning={effort:a}}else if(r.thinkingFormat==="together"&&e.reasoning){let a=i;if(a.reasoning={enabled:!!t?.reasoningEffort},t?.reasoningEffort&&r.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="string-thinking"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.thinking=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(e.thinkingLevelMap?.off!==null)a.thinking=e.thinkingLevelMap?.off??"none"}else if(t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(!t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let a=e.thinkingLevelMap?.off;if(typeof a==="string")i.reasoning_effort=a}if(e.compat?.openRouterRouting)i.provider=e.compat.openRouterRouting;if(e.compat?.vercelGatewayRouting){let a=e.compat.vercelGatewayRouting;if(a.only||a.order){let m={};if(a.only)m.only=a.only;if(a.order)m.order=a.order;i.providerOptions={gateway:m}}}return i}function ae(e,n,t){let r={};for(let[s,g]of Object.entries(t.chatTemplateKwargs)){let f=ue(e,n,g);if(f!==void 0)r[s]=f}return Object.keys(r).length>0?r:void 0}function ue(e,n,t){if(typeof t!=="object"||t===null)return t;let r=n?.reasoningEffort;if(!r&&t.omitWhenOff)return;if(t.$var==="thinking.enabled")return!!r;let s=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return s===void 0?r:typeof s==="string"?s:void 0}function fe(e,n){if(e.cacheControlFormat!=="anthropic"||n==="none")return;let t=n==="long"&&e.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...t?{ttl:t}:{}}}function le(e,n,t){ce(e,t),ge(n,t),pe(e,t)}function ce(e,n){for(let t of e)if(t.role==="system"||t.role==="developer"){de(t,n);return}}function pe(e,n){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.role==="user"||r.role==="assistant"||r.role==="tool"){if(he(r,n))return}}}function ge(e,n){if(!e||e.length===0)return;let t=e[e.length-1];t.cache_control=n}function de(e,n){return j(e,n)}function he(e,n){if(e.role==="user"||e.role==="assistant"||e.role==="tool")return j(e,n);return!1}function j(e,n){let t=e.content;if(typeof t==="string"){if(t.length===0)return!1;return e.content=[{type:"text",text:t,cache_control:n}],!0}if(!Array.isArray(t))return!1;for(let r=t.length-1;r>=0;r--){let s=t[r];if(s?.type==="text"){let g=s;return g.cache_control=n,!0}}return!1}function me(e,n,t,r){let s=[],g=(i)=>{if(i.includes("|")){let d=i.indexOf("|"),l=i.slice(0,d).replace(/[^a-zA-Z0-9_-]/g,"_"),a=i.slice(d+1).replace(/[^a-zA-Z0-9_-]/g,"_"),m=a.length>0?`${l}_${a}`:l;if(m.length<=40)return m;let y=Ts(i).slice(0,8);return`${l.slice(0,Math.max(1,40-y.length-1))}_${y}`}if(e.provider==="openai")return i.length>40?i.slice(0,40):i;return i},f=mo(n.messages,e,(i)=>g(i));if(n.systemPrompt){let d=e.reasoning&&t.supportsDeveloperRole?"developer":"system";s.push({role:d,content:He(n.systemPrompt)})}let k=null;for(let i=0;i<f.length;i++){let d=f[i];if(t.requiresAssistantAfterToolResult&&k==="toolResult"&&d.role==="user")s.push({role:"assistant",content:"I have processed the tool results."});if(d.role==="user")if(typeof d.content==="string")s.push({role:"user",content:He(d.content)});else{let l=d.content.map((a)=>{if(a.type==="text")return{type:"text",text:He(a.text)};else return{type:"image_url",image_url:{url:`data:${a.mimeType};base64,${a.data}`}}});if(l.length===0)continue;s.push({role:"user",content:l})}else if(d.role==="assistant"){let l={role:"assistant",content:t.requiresAssistantAfterToolResult?"":null},a=d.content.filter(D).filter((h)=>h.text.trim().length>0).map((h)=>({type:"text",text:He(h.text)})),m=a.map((h)=>h.text).join(""),y=d.content.filter(ee).filter((h)=>h.thinking.trim().length>0);if(y.length>0)if(t.requiresThinkingAsText){let h=y.map((T)=>He(T.thinking)).join(`
2
+ import{Ye}from"./chunk-cdk8vqeg.js";import{Jr}from"./chunk-5ebb2pdf.js";import{dr}from"./chunk-b5r0be06.js";import{zi,ji}from"./chunk-rq2h2bwt.js";import{as}from"./chunk-23780yj6.js";import{xn,Sn}from"./chunk-sbyyn9yw.js";import{Ms}from"./chunk-xbw7ffrz.js";import{ls}from"./chunk-6hzktewz.js";import{He,mc,hc,po,rl,Wn,Tr,mo}from"./chunk-m41tbrvt.js";import{pn}from"./chunk-3fjgf7eb.js";import{mn,Gr}from"./chunk-ncv8v6mj.js";import{Jt}from"./chunk-q7t5zs7n.js";function B(e,n){if(!e)return!1;let t=n.toLowerCase();for(let[r,s]of Object.entries(e))if(r.toLowerCase()===t&&s!==null&&s.trim().length>0)return!0;return!1}function z(e,n,t){if(n)return n;if(B(t,"authorization")||B(t,"cf-aig-authorization"))return"unused";throw Error(`No API key for provider: ${e}`)}function Q(e){for(let n of e){if(n.role==="toolResult")return!0;if(n.role==="assistant"){if(n.content.some((t)=>t.type==="toolCall"))return!0}}return!1}function X(e){let n=new Set;for(let t of e)if(t.role==="toolResult")for(let r of t.addedToolNames??[])n.add(r);return n}function Y(e,n){if(!e)return[];let t=new Map(e.map((r)=>[r.name,r]));return Array.from(n).map((r)=>t.get(r)).filter((r)=>r!==void 0)}function D(e){return e.type==="text"}function ee(e){return e.type==="thinking"}function te(e){return e.type==="toolCall"}function ne(e){return e.type==="image"}function re(e){if(typeof e!=="object"||e===null)return!1;let n=e;return n.type==="reasoning.encrypted"&&typeof n.id==="string"&&n.id.length>0&&typeof n.data==="string"&&n.data.length>0}function G(e,n){if(e)return e;if(dr("PI_CACHE_RETENTION",n)==="long")return"long";return"short"}var se=(e,n,t)=>{let r=new Jt;return(async()=>{let s={role:"assistant",content:[],api:e.api,provider:e.provider,model:e.id,usage:{input:0,output:0,cacheRead:0,cacheWrite:0,totalTokens:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}},stopReason:"stop",timestamp:Date.now()};try{let g=z(e.provider,t?.apiKey,t?.headers),f=P(e),k=Wn(n.tools,f.supportsOpenAIGrammarTools),i=G(t?.cacheRetention,t?.env),d=i==="none"?void 0:t?.sessionId,l=oe(e,n,g,t?.headers,d,f),a=ie(e,n,t,f,i,k),m=await t?.onPayload?.(a,e);if(m!==void 0)a=m;let y={...t?.signal?{signal:t.signal}:{},...t?.timeoutMs!==void 0?{timeout:t.timeoutMs}:{},maxRetries:0},{data:v,response:C}=await ls(()=>l.chat.completions.create(a,y).withResponse(),{maxRetries:t?.maxRetries,maxRetryDelayMs:t?.maxRetryDelayMs,signal:t?.signal});await t?.onResponse?.({status:C.status,headers:pn(C.headers)},e),r.push({type:"start",partial:s});let M=null,h=null,T=!1,x=new Map,E=new Map,O=new Map,F=s.content,w=(o)=>F.indexOf(o),q=(o)=>{let u=o.customInput?.property;if(u===void 0)return"";let _=o.arguments[u];return typeof _==="string"?_:""},L=(o,u,_)=>{let c=o.customInput;if(!c)return;let A=hc(c.jsonBuffer,c.property,u,_);return o.arguments={[c.property]:u},A},H=(o)=>{let u=w(o);if(u===-1)return;if(o.type==="text")r.push({type:"text_end",contentIndex:u,content:o.text,partial:s});else if(o.type==="thinking")r.push({type:"thinking_end",contentIndex:u,content:o.thinking,partial:s});else if(o.type==="toolCall"){if(o.customInput){let _=L(o,q(o),!0);if(_!==void 0)r.push({type:"toolcall_delta",contentIndex:u,delta:_,partial:s})}else o.arguments=Jr(o.partialArgs);delete o.partialArgs,delete o.customInput,delete o.streamIndex,r.push({type:"toolcall_end",contentIndex:u,toolCall:o,partial:s})}},W=()=>{if(!M)M={type:"text",text:""},F.push(M),r.push({type:"text_start",contentIndex:w(M),partial:s});return M},U=(o)=>{if(!h)h={type:"thinking",thinking:"",thinkingSignature:o},F.push(h),r.push({type:"thinking_start",contentIndex:w(h),partial:s});return h},J=(o)=>{if(!o.id)return;let u=O.get(o.id);if(u)o.thoughtSignature=u,O.delete(o.id)},V=(o)=>{let u=typeof o.index==="number"?o.index:void 0,_=o.function?.name??o.custom?.name??"",c=u!==void 0?x.get(u):void 0;if(!c&&o.id)c=E.get(o.id);if(!c){let A=o.custom?k.get(_)??"input":void 0,S=A!==void 0;if(c={type:"toolCall",id:o.id||"",name:_,arguments:S?{[A]:""}:{},partialArgs:S?void 0:"",customInput:S?{property:A,jsonBuffer:{input:"",started:!1,closed:!1}}:void 0,streamIndex:u},u!==void 0)x.set(u,c);if(o.id)E.set(o.id,c);F.push(c),r.push({type:"toolcall_start",contentIndex:w(c),partial:s})}if(u!==void 0&&c.streamIndex===void 0)c.streamIndex=u,x.set(u,c);if(o.id)E.set(o.id,c);if(!c.name&&_)c.name=_;if(o.custom&&!c.customInput){let A=k.get(c.name)??"input";c.arguments={[A]:""},c.customInput={property:A,jsonBuffer:{input:"",started:!1,closed:!1}},delete c.partialArgs}return J(c),c};for await(let o of v){if(!o||typeof o!=="object")continue;if(s.responseId||=o.id,typeof o.model==="string"&&o.model.length>0&&o.model!==e.id)s.responseModel||=o.model;if(o.usage)s.usage=N(o.usage,e);let u=Array.isArray(o.choices)?o.choices[0]:void 0;if(!u)continue;if(!o.usage&&u.usage)s.usage=N(u.usage,e);if(u.finish_reason){let _=ye(u.finish_reason);if(s.stopReason=_.stopReason,_.errorMessage)s.errorMessage=_.errorMessage;T=!0}if(u.delta){if(u.delta.content!==null&&u.delta.content!==void 0&&u.delta.content.length>0){let p=W();p.text+=u.delta.content,r.push({type:"text_delta",contentIndex:w(p),delta:u.delta.content,partial:s})}let _=["reasoning_content","reasoning","reasoning_text"],c=u.delta,A=null;for(let p of _){let R=c[p];if(typeof R==="string"&&R.length>0){A=p;break}}if(A){let p=c[A];if(typeof p==="string"&&p.length>0){let R=e.provider==="opencode-go"&&A==="reasoning"?"reasoning_content":A,I=U(R);I.thinking+=p,r.push({type:"thinking_delta",contentIndex:w(I),delta:p,partial:s})}}if(u?.delta?.tool_calls)for(let p of u.delta.tool_calls){let R=V(p);if(!R.id&&p.id)R.id=p.id,E.set(p.id,R);let I=p.function?.name??p.custom?.name;if(!R.name&&I)R.name=I;let b="";if(p.function?.arguments)b=p.function.arguments,R.partialArgs=(R.partialArgs??"")+p.function.arguments,R.arguments=Jr(R.partialArgs);else if(p.custom?.input){let Z=q(R)+p.custom.input;b=L(R,Z,!1)??""}r.push({type:"toolcall_delta",contentIndex:w(R),delta:b,partial:s})}let S=u.delta.reasoning_details;if(Array.isArray(S)){for(let p of S)if(re(p)){let R=JSON.stringify(p),I=E.get(p.id);if(I)I.thoughtSignature=R;else O.set(p.id,R)}}}}for(let o of F)H(o);if(t?.signal?.aborted)throw Error("Request was aborted");if(s.stopReason==="aborted")throw Error("Request was aborted");if(s.stopReason==="error")throw Error(s.errorMessage||"Provider returned an error stop reason");if(!T)throw Error("Stream ended without finish_reason");r.push({type:"done",reason:s.stopReason,message:s}),r.end()}catch(g){for(let k of s.content)delete k.index,delete k.partialArgs,delete k.customInput,delete k.streamIndex;s.stopReason=t?.signal?.aborted?"aborted":"error",s.errorMessage=Sn(xn(g));let f=g?.error?.metadata?.raw;if(f&&!s.errorMessage.includes(String(f)))s.errorMessage+=`
3
+ ${f}`;r.push({type:"error",reason:s.stopReason,error:s}),r.end()}})(),r},Pe=(e,n,t)=>{z(e.provider,t?.apiKey,t?.headers);let r=Tr(e,n,t,t?.apiKey),s=t?.reasoning?Gr(e,t.reasoning):void 0,g=s==="off"?void 0:s,f=t?.toolChoice;return se(e,n,{...r,reasoningEffort:g,toolChoice:f})};function oe(e,n,t,r,s,g=P(e)){let f={...e.headers};if(e.provider==="github-copilot"){let k=zi(n.messages),i=ji({messages:n.messages,hasImages:k});Object.assign(f,i)}if(s&&g.sendSessionAffinityHeaders)if(g.sessionAffinityFormat==="openrouter")f["x-session-id"]=s;else{if(g.sessionAffinityFormat==="openai")f.session_id=s;f["x-client-request-id"]=s,f["x-session-affinity"]=s}if(r)Object.assign(f,r);return new Ye({apiKey:t,baseURL:e.baseUrl,dangerouslyAllowBrowser:!0,defaultHeaders:f})}function ie(e,n,t,r=P(e),s=G(t?.cacheRetention,t?.env),g=Wn(n.tools,r.supportsOpenAIGrammarTools)){let f=me(e,n,r,{grammarToolInputProperties:g}),k=fe(r,s),i={model:e.id,messages:f,stream:!0,prompt_cache_key:e.baseUrl.includes("api.openai.com")&&s!=="none"||s==="long"&&r.supportsLongCacheRetention?as(t?.sessionId):void 0,prompt_cache_retention:s==="long"&&r.supportsLongCacheRetention?"24h":void 0};if(r.supportsUsageInStreaming!==!1)i.stream_options={include_usage:!0};if(r.supportsStore)i.store=!1;if(t?.maxTokens)if(r.maxTokensField==="max_tokens")i.max_tokens=t.maxTokens;else i.max_completion_tokens=t.maxTokens;if(t?.temperature!==void 0)i.temperature=t.temperature;let d=r.deferredToolsMode==="kimi"?X(n.messages):new Set,l=n.tools?.filter((a)=>!d.has(a.name));if(l&&l.length>0){if(i.tools=K(l,r),r.zaiToolStream)i.tool_stream=!0}else if(Q(n.messages))i.tools=[];if(k)le(f,i.tools,k);if(t?.toolChoice)i.tool_choice=t.toolChoice;if(r.thinkingFormat==="zai"&&e.reasoning){let a=i;if(a.thinking=t?.reasoningEffort?{type:"enabled",clear_thinking:!1}:{type:"disabled"},t?.reasoningEffort&&r.supportsReasoningEffort){let m=e.thinkingLevelMap?.[t.reasoningEffort],y=m===void 0?t.reasoningEffort:m;if(typeof y==="string")a.reasoning_effort=y}}else if(r.thinkingFormat==="qwen"&&e.reasoning)i.enable_thinking=!!t?.reasoningEffort;else if(r.thinkingFormat==="qwen-chat-template"&&e.reasoning)i.chat_template_kwargs={enable_thinking:!!t?.reasoningEffort,preserve_thinking:!0};else if(r.thinkingFormat==="chat-template"&&e.reasoning){let a=ae(e,t,r);if(a)i.chat_template_kwargs=a}else if(r.thinkingFormat==="deepseek"&&e.reasoning){if(t?.reasoningEffort)i.thinking={type:"enabled"};else if(e.thinkingLevelMap?.off!==null)i.thinking={type:"disabled"};if(t?.reasoningEffort&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="openrouter"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.reasoning={effort:e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort};else if(e.thinkingLevelMap?.off!==null)a.reasoning={effort:e.thinkingLevelMap?.off??"none"}}else if(r.thinkingFormat==="ant-ling"&&e.reasoning&&t?.reasoningEffort){let a=e.thinkingLevelMap?.[t.reasoningEffort];if(typeof a==="string")i.reasoning={effort:a}}else if(r.thinkingFormat==="together"&&e.reasoning){let a=i;if(a.reasoning={enabled:!!t?.reasoningEffort},t?.reasoningEffort&&r.supportsReasoningEffort)a.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort}else if(r.thinkingFormat==="string-thinking"&&e.reasoning){let a=i;if(t?.reasoningEffort)a.thinking=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(e.thinkingLevelMap?.off!==null)a.thinking=e.thinkingLevelMap?.off??"none"}else if(t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort)i.reasoning_effort=e.thinkingLevelMap?.[t.reasoningEffort]??t.reasoningEffort;else if(!t?.reasoningEffort&&e.reasoning&&r.supportsReasoningEffort){let a=e.thinkingLevelMap?.off;if(typeof a==="string")i.reasoning_effort=a}if(e.compat?.openRouterRouting)i.provider=e.compat.openRouterRouting;if(e.compat?.vercelGatewayRouting){let a=e.compat.vercelGatewayRouting;if(a.only||a.order){let m={};if(a.only)m.only=a.only;if(a.order)m.order=a.order;i.providerOptions={gateway:m}}}return i}function ae(e,n,t){let r={};for(let[s,g]of Object.entries(t.chatTemplateKwargs)){let f=ue(e,n,g);if(f!==void 0)r[s]=f}return Object.keys(r).length>0?r:void 0}function ue(e,n,t){if(typeof t!=="object"||t===null)return t;let r=n?.reasoningEffort;if(!r&&t.omitWhenOff)return;if(t.$var==="thinking.enabled")return!!r;let s=r?e.thinkingLevelMap?.[r]:e.thinkingLevelMap?.off;return s===void 0?r:typeof s==="string"?s:void 0}function fe(e,n){if(e.cacheControlFormat!=="anthropic"||n==="none")return;let t=n==="long"&&e.supportsLongCacheRetention?"1h":void 0;return{type:"ephemeral",...t?{ttl:t}:{}}}function le(e,n,t){ce(e,t),ge(n,t),pe(e,t)}function ce(e,n){for(let t of e)if(t.role==="system"||t.role==="developer"){de(t,n);return}}function pe(e,n){for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.role==="user"||r.role==="assistant"||r.role==="tool"){if(he(r,n))return}}}function ge(e,n){if(!e||e.length===0)return;let t=e[e.length-1];t.cache_control=n}function de(e,n){return j(e,n)}function he(e,n){if(e.role==="user"||e.role==="assistant"||e.role==="tool")return j(e,n);return!1}function j(e,n){let t=e.content;if(typeof t==="string"){if(t.length===0)return!1;return e.content=[{type:"text",text:t,cache_control:n}],!0}if(!Array.isArray(t))return!1;for(let r=t.length-1;r>=0;r--){let s=t[r];if(s?.type==="text"){let g=s;return g.cache_control=n,!0}}return!1}function me(e,n,t,r){let s=[],g=(i)=>{if(i.includes("|")){let d=i.indexOf("|"),l=i.slice(0,d).replace(/[^a-zA-Z0-9_-]/g,"_"),a=i.slice(d+1).replace(/[^a-zA-Z0-9_-]/g,"_"),m=a.length>0?`${l}_${a}`:l;if(m.length<=40)return m;let y=Ms(i).slice(0,8);return`${l.slice(0,Math.max(1,40-y.length-1))}_${y}`}if(e.provider==="openai")return i.length>40?i.slice(0,40):i;return i},f=mo(n.messages,e,(i)=>g(i));if(n.systemPrompt){let d=e.reasoning&&t.supportsDeveloperRole?"developer":"system";s.push({role:d,content:He(n.systemPrompt)})}let k=null;for(let i=0;i<f.length;i++){let d=f[i];if(t.requiresAssistantAfterToolResult&&k==="toolResult"&&d.role==="user")s.push({role:"assistant",content:"I have processed the tool results."});if(d.role==="user")if(typeof d.content==="string")s.push({role:"user",content:He(d.content)});else{let l=d.content.map((a)=>{if(a.type==="text")return{type:"text",text:He(a.text)};else return{type:"image_url",image_url:{url:`data:${a.mimeType};base64,${a.data}`}}});if(l.length===0)continue;s.push({role:"user",content:l})}else if(d.role==="assistant"){let l={role:"assistant",content:t.requiresAssistantAfterToolResult?"":null},a=d.content.filter(D).filter((h)=>h.text.trim().length>0).map((h)=>({type:"text",text:He(h.text)})),m=a.map((h)=>h.text).join(""),y=d.content.filter(ee).filter((h)=>h.thinking.trim().length>0);if(y.length>0)if(t.requiresThinkingAsText){let h=y.map((T)=>He(T.thinking)).join(`
4
4
 
5
5
  `);l.content=[{type:"text",text:h},...a]}else{if(m.length>0)l.content=m;let h=y[0].thinkingSignature;if(e.provider==="opencode-go"&&h==="reasoning")h="reasoning_content";if(h&&h.length>0)l[h]=y.map((T)=>T.thinking).join(`
6
- `)}else if(m.length>0)l.content=m;let v=d.content.filter(te);if(v.length>0){l.tool_calls=v.map((T)=>{let x=r?.grammarToolInputProperties?.get(T.name);if(x!==void 0)return{id:T.id,type:"custom",custom:{name:T.name,input:He(dc(T.name,T.arguments,x))}};return{id:T.id,type:"function",function:{name:T.name,arguments:JSON.stringify(T.arguments)}}});let h=v.filter((T)=>T.thoughtSignature).map((T)=>{try{return JSON.parse(T.thoughtSignature)}catch{return null}}).filter(Boolean);if(h.length>0)l.reasoning_details=h}if(t.requiresReasoningContentOnAssistantMessages&&e.reasoning&&l.reasoning_content===void 0)l.reasoning_content="";let C=l.content;if(!(C!==null&&C!==void 0&&(typeof C==="string"?C.length>0:C.length>0))&&!l.tool_calls)continue;s.push(l)}else if(d.role==="toolResult"){let l=[],a=new Set,m=i;for(;m<f.length&&f[m].role==="toolResult";m++){let y=f[m],v=y.content.filter(D).map((x)=>x.text).join(`
7
- `),C=y.content.some((x)=>x.type==="image"),h=v.length>0?v:C?"(see attached image)":"(no tool output)",T={role:"tool",content:He(h),tool_call_id:y.toolCallId};if(t.requiresToolResultName&&y.toolName)T.name=y.toolName;if(s.push(T),t.deferredToolsMode==="kimi")for(let x of y.addedToolNames??[])a.add(x);if(C&&e.input.includes("image")){for(let x of y.content)if(ne(x))l.push({type:"image_url",image_url:{url:`data:${x.mimeType};base64,${x.data}`}})}}if(i=m-1,l.length>0){if(t.requiresAssistantAfterToolResult)s.push({role:"assistant",content:"I have processed the tool results."});s.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...l]}),k="user"}else k="toolResult";if(a.size>0){let y=Y(n.tools,a);if(y.length>0){let v={role:"system",tools:K(y,t)};s.push(v)}}continue}k=d.role}return s}function K(e,n){return e.map((t)=>{let r=Xa(t,n.supportsOpenAIGrammarTools);if(r)return{type:"custom",custom:{name:t.name,description:t.description,format:{type:"grammar",grammar:{syntax:r.format,definition:r.definition}}}};let s=po(t,n.supportsStrictMode!==!1);return{type:"function",function:{name:t.name,description:t.description,parameters:t.parameters,...n.supportsStrictMode!==!1&&{strict:s??!1}}}})}function N(e,n){let t=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,s=e.prompt_tokens_details?.cache_write_tokens||0,g=Math.max(0,t-r-s),f=e.completion_tokens||0,k={input:g,output:f,cacheRead:r,cacheWrite:s,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:g+f+r+s,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return hn(n,k),k}function ye(e){if(e===null)return{stopReason:"stop"};switch(e){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${e}`}}}function ke(e){let{provider:n,baseUrl:t}=e,r=n==="zai"||n==="zai-coding-cn"||t.includes("api.z.ai")||t.includes("open.bigmodel.cn"),s=n==="together"||t.includes("api.together.ai")||t.includes("api.together.xyz"),g=n==="moonshotai"||n==="moonshotai-cn"||t.includes("api.moonshot."),f=n==="openrouter"||t.includes("openrouter.ai"),k=n==="cloudflare-workers-ai"||t.includes("api.cloudflare.com"),i=n==="cloudflare-ai-gateway"||t.includes("gateway.ai.cloudflare.com"),d=n==="nvidia"||t.includes("integrate.api.nvidia.com"),l=n==="ant-ling"||t.includes("api.ant-ling.com"),a=d||n==="cerebras"||t.includes("cerebras.ai")||n==="xai"||t.includes("api.x.ai")||s||t.includes("chutes.ai")||t.includes("deepseek.com")||r||g||n==="opencode"||t.includes("opencode.ai")||k||i||l,m=t.includes("chutes.ai")||g||i||s||d||l,y=n==="xai"||t.includes("api.x.ai"),v=n==="deepseek"||t.includes("deepseek.com"),C=f&&(e.id.startsWith("anthropic/")||e.id.startsWith("openai/")),M=n==="openrouter"&&e.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!a,supportsDeveloperRole:C||!a&&!f,supportsReasoningEffort:!y&&!r&&!g&&!s&&!i&&!d&&!l,supportsUsageInStreaming:!0,maxTokensField:m?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:v,thinkingFormat:v?"deepseek":r?"zai":s?"together":l?"ant-ling":f?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!g&&!s&&!i&&!d,supportsOpenAIGrammarTools:!1,cacheControlFormat:M,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:f?"openrouter":"openai",supportsLongCacheRetention:!(s||k||i||d||l)}}function P(e){let n=ke(e);if(!e.compat)return n;return{supportsStore:e.compat.supportsStore??n.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??n.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??n.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??n.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??n.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??n.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??n.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??n.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??n.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??n.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??n.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??n.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??n.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??n.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??n.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??n.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??n.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??n.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??n.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??n.supportsLongCacheRetention}}export{me as convertMessages,se as stream,Pe as streamSimple};
6
+ `)}else if(m.length>0)l.content=m;let v=d.content.filter(te);if(v.length>0){l.tool_calls=v.map((T)=>{let x=r?.grammarToolInputProperties?.get(T.name);if(x!==void 0)return{id:T.id,type:"custom",custom:{name:T.name,input:He(mc(T.name,T.arguments,x))}};return{id:T.id,type:"function",function:{name:T.name,arguments:JSON.stringify(T.arguments)}}});let h=v.filter((T)=>T.thoughtSignature).map((T)=>{try{return JSON.parse(T.thoughtSignature)}catch{return null}}).filter(Boolean);if(h.length>0)l.reasoning_details=h}if(t.requiresReasoningContentOnAssistantMessages&&e.reasoning&&l.reasoning_content===void 0)l.reasoning_content="";let C=l.content;if(!(C!==null&&C!==void 0&&(typeof C==="string"?C.length>0:C.length>0))&&!l.tool_calls)continue;s.push(l)}else if(d.role==="toolResult"){let l=[],a=new Set,m=i;for(;m<f.length&&f[m].role==="toolResult";m++){let y=f[m],v=y.content.filter(D).map((x)=>x.text).join(`
7
+ `),C=y.content.some((x)=>x.type==="image"),h=v.length>0?v:C?"(see attached image)":"(no tool output)",T={role:"tool",content:He(h),tool_call_id:y.toolCallId};if(t.requiresToolResultName&&y.toolName)T.name=y.toolName;if(s.push(T),t.deferredToolsMode==="kimi")for(let x of y.addedToolNames??[])a.add(x);if(C&&e.input.includes("image")){for(let x of y.content)if(ne(x))l.push({type:"image_url",image_url:{url:`data:${x.mimeType};base64,${x.data}`}})}}if(i=m-1,l.length>0){if(t.requiresAssistantAfterToolResult)s.push({role:"assistant",content:"I have processed the tool results."});s.push({role:"user",content:[{type:"text",text:"Attached image(s) from tool result:"},...l]}),k="user"}else k="toolResult";if(a.size>0){let y=Y(n.tools,a);if(y.length>0){let v={role:"system",tools:K(y,t)};s.push(v)}}continue}k=d.role}return s}function K(e,n){return e.map((t)=>{let r=rl(t,n.supportsOpenAIGrammarTools);if(r)return{type:"custom",custom:{name:t.name,description:t.description,format:{type:"grammar",grammar:{syntax:r.format,definition:r.definition}}}};let s=po(t,n.supportsStrictMode!==!1);return{type:"function",function:{name:t.name,description:t.description,parameters:t.parameters,...n.supportsStrictMode!==!1&&{strict:s??!1}}}})}function N(e,n){let t=e.prompt_tokens||0,r=e.prompt_tokens_details?.cached_tokens??e.prompt_cache_hit_tokens??0,s=e.prompt_tokens_details?.cache_write_tokens||0,g=Math.max(0,t-r-s),f=e.completion_tokens||0,k={input:g,output:f,cacheRead:r,cacheWrite:s,reasoning:e.completion_tokens_details?.reasoning_tokens||0,totalTokens:g+f+r+s,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}};return mn(n,k),k}function ye(e){if(e===null)return{stopReason:"stop"};switch(e){case"stop":case"end":return{stopReason:"stop"};case"length":return{stopReason:"length"};case"function_call":case"tool_calls":return{stopReason:"toolUse"};case"content_filter":return{stopReason:"error",errorMessage:"Provider finish_reason: content_filter"};case"network_error":return{stopReason:"error",errorMessage:"Provider finish_reason: network_error"};default:return{stopReason:"error",errorMessage:`Provider finish_reason: ${e}`}}}function ke(e){let{provider:n,baseUrl:t}=e,r=n==="zai"||n==="zai-coding-cn"||t.includes("api.z.ai")||t.includes("open.bigmodel.cn"),s=n==="together"||t.includes("api.together.ai")||t.includes("api.together.xyz"),g=n==="moonshotai"||n==="moonshotai-cn"||t.includes("api.moonshot."),f=n==="openrouter"||t.includes("openrouter.ai"),k=n==="cloudflare-workers-ai"||t.includes("api.cloudflare.com"),i=n==="cloudflare-ai-gateway"||t.includes("gateway.ai.cloudflare.com"),d=n==="nvidia"||t.includes("integrate.api.nvidia.com"),l=n==="ant-ling"||t.includes("api.ant-ling.com"),a=d||n==="cerebras"||t.includes("cerebras.ai")||n==="xai"||t.includes("api.x.ai")||s||t.includes("chutes.ai")||t.includes("deepseek.com")||r||g||n==="opencode"||t.includes("opencode.ai")||k||i||l,m=t.includes("chutes.ai")||g||i||s||d||l,y=n==="xai"||t.includes("api.x.ai"),v=n==="deepseek"||t.includes("deepseek.com"),C=f&&(e.id.startsWith("anthropic/")||e.id.startsWith("openai/")),M=n==="openrouter"&&e.id.startsWith("anthropic/")?"anthropic":void 0;return{supportsStore:!a,supportsDeveloperRole:C||!a&&!f,supportsReasoningEffort:!y&&!r&&!g&&!s&&!i&&!d&&!l,supportsUsageInStreaming:!0,maxTokensField:m?"max_tokens":"max_completion_tokens",requiresToolResultName:!1,requiresAssistantAfterToolResult:!1,requiresThinkingAsText:!1,requiresReasoningContentOnAssistantMessages:v,thinkingFormat:v?"deepseek":r?"zai":s?"together":l?"ant-ling":f?"openrouter":"openai",openRouterRouting:{},vercelGatewayRouting:{},chatTemplateKwargs:{},zaiToolStream:!1,supportsStrictMode:!g&&!s&&!i&&!d,supportsOpenAIGrammarTools:!1,cacheControlFormat:M,sendSessionAffinityHeaders:!1,deferredToolsMode:void 0,sessionAffinityFormat:f?"openrouter":"openai",supportsLongCacheRetention:!(s||k||i||d||l)}}function P(e){let n=ke(e);if(!e.compat)return n;return{supportsStore:e.compat.supportsStore??n.supportsStore,supportsDeveloperRole:e.compat.supportsDeveloperRole??n.supportsDeveloperRole,supportsReasoningEffort:e.compat.supportsReasoningEffort??n.supportsReasoningEffort,supportsUsageInStreaming:e.compat.supportsUsageInStreaming??n.supportsUsageInStreaming,maxTokensField:e.compat.maxTokensField??n.maxTokensField,requiresToolResultName:e.compat.requiresToolResultName??n.requiresToolResultName,requiresAssistantAfterToolResult:e.compat.requiresAssistantAfterToolResult??n.requiresAssistantAfterToolResult,requiresThinkingAsText:e.compat.requiresThinkingAsText??n.requiresThinkingAsText,requiresReasoningContentOnAssistantMessages:e.compat.requiresReasoningContentOnAssistantMessages??n.requiresReasoningContentOnAssistantMessages,thinkingFormat:e.compat.thinkingFormat??n.thinkingFormat,openRouterRouting:e.compat.openRouterRouting??{},vercelGatewayRouting:e.compat.vercelGatewayRouting??n.vercelGatewayRouting,chatTemplateKwargs:e.compat.chatTemplateKwargs??n.chatTemplateKwargs,zaiToolStream:e.compat.zaiToolStream??n.zaiToolStream,supportsStrictMode:e.compat.supportsStrictMode??n.supportsStrictMode,supportsOpenAIGrammarTools:e.compat.supportsOpenAIGrammarTools??n.supportsOpenAIGrammarTools,cacheControlFormat:e.compat.cacheControlFormat??n.cacheControlFormat,sendSessionAffinityHeaders:e.compat.sendSessionAffinityHeaders??n.sendSessionAffinityHeaders,deferredToolsMode:e.compat.deferredToolsMode??n.deferredToolsMode,sessionAffinityFormat:e.compat.sessionAffinityFormat??n.sessionAffinityFormat,supportsLongCacheRetention:e.compat.supportsLongCacheRetention??n.supportsLongCacheRetention}}export{me as convertMessages,se as stream,Pe as streamSimple};