@runlith/tagma 0.1.0 → 0.2.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 (152) hide show
  1. package/host.d.ts +421 -421
  2. package/package.json +6 -1
  3. package/plugin/{Held-6krt6ncs.js → Held-cvetk2wg.js} +1 -1
  4. package/plugin/{accountKey-tdjj67f5.js → accountKey-t44g9avw.js} +1 -1
  5. package/plugin/anthropic-messages-svq0svwe.js +2 -0
  6. package/plugin/anthropic-q1xa9n0j.js +2 -0
  7. package/plugin/{auth-0w6kk39v.js → auth-cp8wnd0z.js} +1 -1
  8. package/plugin/authStatus-d6scztz5.js +2 -0
  9. package/plugin/bundling.d.ts +3 -3
  10. package/plugin/{callback-server-0wrzmjfx.js → callback-server-q2asby82.js} +1 -1
  11. package/plugin/{capabilities-n3vfpy41.js → capabilities-jfhf61dt.js} +1 -1
  12. package/plugin/cli.js +1 -1
  13. package/plugin/{cliStore-9rhjxtht.js → cliStore-5s0qerr7.js} +1 -1
  14. package/plugin/{connect-vrdsw05j.js → connect-d7ec6kfh.js} +1 -1
  15. package/plugin/credential-garn07qc.js +2 -0
  16. package/plugin/deepseek-sp4vxjqy.js +2 -0
  17. package/plugin/definition-0h3gqd2z.js +2 -0
  18. package/plugin/{deviceGrant-vgbscpr4.js → deviceGrant-axpyc7xr.js} +1 -1
  19. package/plugin/duplex-yexjcpv2.js +2 -0
  20. package/plugin/endpoint-0b9bsb4q.js +2 -0
  21. package/plugin/{errors-5t42p4q1.js → errors-kck87dpv.js} +1 -1
  22. package/plugin/{events-e8vv9hda.js → events-81m69vqz.js} +1 -1
  23. package/plugin/executor-avear8af.js +2 -0
  24. package/plugin/failure-ddv4456n.js +2 -0
  25. package/plugin/framing-jnd2zm0h.js +2 -0
  26. package/plugin/grant-85r3bbqn.js +2 -0
  27. package/plugin/{harness-nrh78w4d.js → harness-jm3fhnwg.js} +1 -1
  28. package/plugin/headers-w6p5sp18.js +2 -0
  29. package/plugin/{ids-n269hc5k.js → ids-2dndaq8y.js} +1 -1
  30. package/plugin/images-s2kqebfv.js +2 -0
  31. package/plugin/{index-cyd7v366.js → index-b3yp4szm.js} +1 -1
  32. package/plugin/{index-jpmjpmkn.js → index-xs7nfsck.js} +1 -1
  33. package/plugin/lifecycle-er51apxp.js +2 -0
  34. package/plugin/{messages-1szh3p3k.js → messages-gmwcg1pq.js} +1 -1
  35. package/plugin/{metadata-zm1v3ptf.js → metadata-gpazs3f5.js} +1 -1
  36. package/plugin/muse-g8bc58v8.js +2 -0
  37. package/plugin/notes-5m0m3pdr.js +2 -0
  38. package/plugin/{openai-37dne8v0.js → openai-6f50tf64.js} +1 -1
  39. package/plugin/openai-compatible-chat-eez8hkge.js +2 -0
  40. package/plugin/openai-images-haszbnft.js +2 -0
  41. package/plugin/{openai-0z6fy497.js → openai-mfqwg6pa.js} +1 -1
  42. package/plugin/openai-responses-1gpyp640.js +2 -0
  43. package/plugin/{opencodeGo-173fz5c5.js → opencodeGo-1wgdjtjz.js} +1 -1
  44. package/plugin/{options-pxwjpfdk.js → options-476akxaj.js} +1 -1
  45. package/plugin/{pkce-nrpept7w.js → pkce-y3sh5pk8.js} +1 -1
  46. package/plugin/{plugin-qpda63gv.js → plugin-0e34qaar.js} +1 -1
  47. package/plugin/{plugin-521srf94.js → plugin-1zkx860n.js} +1 -1
  48. package/plugin/{plugin-285exjxd.js → plugin-217mw9ck.js} +1 -1
  49. package/plugin/{plugin-a4ng6krf.js → plugin-24j9hnc7.js} +1 -1
  50. package/plugin/{plugin-pkxw1pfs.js → plugin-2s6bq45c.js} +1 -1
  51. package/plugin/{plugin-q1sqj2tc.js → plugin-3969dy0b.js} +1 -1
  52. package/plugin/{plugin-7y7ndrk9.js → plugin-3t0qp574.js} +1 -1
  53. package/plugin/{plugin-je5cfnqn.js → plugin-6vzw5yyr.js} +1 -1
  54. package/plugin/{plugin-sfdxgkds.js → plugin-7swap1ad.js} +1 -1
  55. package/plugin/{plugin-zz7yc97m.js → plugin-7te9b50h.js} +1 -1
  56. package/plugin/{plugin-1x94cj6e.js → plugin-7xmwhj5h.js} +1 -1
  57. package/plugin/{plugin-vv72e4ah.js → plugin-8g8myq9g.js} +1 -1
  58. package/plugin/{plugin-3whwpedj.js → plugin-8q44b578.js} +1 -1
  59. package/plugin/{plugin-v7k9fx92.js → plugin-8v4g0q0b.js} +1 -1
  60. package/plugin/{plugin-zphe2a5v.js → plugin-8x3c401q.js} +1 -1
  61. package/plugin/{plugin-zxe49p72.js → plugin-92sxs4r1.js} +1 -1
  62. package/plugin/{plugin-ff38dxy1.js → plugin-9zbh7788.js} +1 -1
  63. package/plugin/{plugin-nkb5bb2q.js → plugin-a3vzpk4e.js} +1 -1
  64. package/plugin/{plugin-g65b14k1.js → plugin-azkzdkpk.js} +1 -1
  65. package/plugin/{plugin-nqmb78ez.js → plugin-d28d8jar.js} +1 -1
  66. package/plugin/{plugin-zvyk8bnr.js → plugin-dd951075.js} +1 -1
  67. package/plugin/{plugin-zew2m18x.js → plugin-dqxdznvd.js} +1 -1
  68. package/plugin/plugin-dsjq4tye.js +3 -0
  69. package/plugin/{plugin-3pfrkxg1.js → plugin-e5ybk2a2.js} +1 -1
  70. package/plugin/{plugin-njh1f7b2.js → plugin-eksq91yp.js} +1 -1
  71. package/plugin/{plugin-yxgg03s0.js → plugin-er1kc6f6.js} +1 -1
  72. package/plugin/{plugin-60bdzk1r.js → plugin-fjsmz1vy.js} +1 -1
  73. package/plugin/{plugin-d6hbav22.js → plugin-fre9hdcg.js} +1 -1
  74. package/plugin/{plugin-jjm52353.js → plugin-g0zv4vrz.js} +1 -1
  75. package/plugin/{plugin-ay29ch70.js → plugin-g4hst0jz.js} +1 -1
  76. package/plugin/{plugin-zw3ywa4b.js → plugin-g7hrtg2p.js} +1 -1
  77. package/plugin/{plugin-kjtzm2q6.js → plugin-hkjxkgty.js} +1 -1
  78. package/plugin/{plugin-pfj9nc2e.js → plugin-p6x7emar.js} +1 -1
  79. package/plugin/{plugin-ba1sv0th.js → plugin-pdww1ma8.js} +1 -1
  80. package/plugin/{plugin-fhc5q7r3.js → plugin-psj9935q.js} +1 -1
  81. package/plugin/{plugin-frrvs5yc.js → plugin-q6pvb1xf.js} +1 -1
  82. package/plugin/{plugin-8230g28p.js → plugin-r342d8zf.js} +1 -1
  83. package/plugin/{plugin-q1n5kwx0.js → plugin-r7g3vqrm.js} +1 -1
  84. package/plugin/plugin-t4xrq5q2.js +3 -0
  85. package/plugin/{plugin-z6hkd9rw.js → plugin-tetj2cr3.js} +1 -1
  86. package/plugin/{plugin-h66k1zhn.js → plugin-v80m00bq.js} +1 -1
  87. package/plugin/{plugin-8jf7f360.js → plugin-vqrd05eg.js} +1 -1
  88. package/plugin/{plugin-e2y95zm5.js → plugin-w3zbkmy6.js} +1 -1
  89. package/plugin/{plugin-1n46me5n.js → plugin-y9cdpmbv.js} +1 -1
  90. package/plugin/{plugin-ca4vf4j5.js → plugin-yg0h5k5d.js} +1 -1
  91. package/plugin/{plugin-gkgs7vfv.js → plugin-yp736z4n.js} +1 -1
  92. package/plugin/{plugin-q7rk75bs.js → plugin-zrb8bbr4.js} +1 -1
  93. package/plugin/{plugin-1xze8f5y.js → plugin-zsv7wawc.js} +1 -1
  94. package/plugin/plugin.d.ts +1 -1
  95. package/plugin/process.js +1 -1
  96. package/plugin/protocol-8c26dk6v.js +2 -0
  97. package/plugin/{quota-vrrmfag6.js → quota-v63yvp13.js} +1 -1
  98. package/plugin/quotaRead-esmjycnd.js +2 -0
  99. package/plugin/reasoning-1saw6tds.js +2 -0
  100. package/plugin/responseFold-xxhqx4sa.js +2 -0
  101. package/plugin/{settings-vdypzert.js → settings-8xq8dvhp.js} +1 -1
  102. package/plugin/{shared-a2yyy8ry.js → shared-4jndfh28.js} +1 -1
  103. package/plugin/stepfun-xp1c5wpk.js +2 -0
  104. package/plugin/stream-8yrr289z.js +2 -0
  105. package/plugin/{synthesisDuplex-m2j6pmyv.js → synthesisDuplex-ch9jhqzt.js} +1 -1
  106. package/plugin/template.js +1 -1
  107. package/plugin/testing.js +1 -1
  108. package/plugin/tool-content-vean6rqa.js +2 -0
  109. package/plugin/tool-stream-fb180jmt.js +2 -0
  110. package/plugin/transport-j784dsdr.js +2 -0
  111. package/plugin/ui.generated.d.ts +2 -5
  112. package/plugin/vendorCall-82evk8b3.js +2 -0
  113. package/plugin/{vendorPayload-awxqr7t8.js → vendorPayload-458354fv.js} +1 -1
  114. package/plugin/vendorWeb-cz5t01m7.js +2 -0
  115. package/plugin/verbatim-2f2d9n02.js +2 -0
  116. package/plugin/xai-2cqraa99.js +2 -0
  117. package/plugin/anthropic-messages-7gtja121.js +0 -2
  118. package/plugin/anthropic-z9xqmm3q.js +0 -2
  119. package/plugin/authStatus-a1g3eb9p.js +0 -2
  120. package/plugin/credential-5sgapkh0.js +0 -2
  121. package/plugin/deepseek-v388d1wv.js +0 -2
  122. package/plugin/definition-s3xx207f.js +0 -2
  123. package/plugin/duplex-kpmftvf7.js +0 -2
  124. package/plugin/endpoint-kvf97tz7.js +0 -2
  125. package/plugin/executor-q8kp5q8h.js +0 -2
  126. package/plugin/failure-vr32debc.js +0 -2
  127. package/plugin/framing-nktw5sts.js +0 -2
  128. package/plugin/grant-67b10nhx.js +0 -2
  129. package/plugin/headers-ss3dzznj.js +0 -2
  130. package/plugin/images-q80x3bt1.js +0 -2
  131. package/plugin/lifecycle-qf4fh5m8.js +0 -2
  132. package/plugin/muse-r16jp51z.js +0 -2
  133. package/plugin/notes-6amdhm6h.js +0 -2
  134. package/plugin/openai-compatible-chat-tq9w69h4.js +0 -2
  135. package/plugin/openai-images-x1sj79qh.js +0 -2
  136. package/plugin/openai-responses-dka6k753.js +0 -2
  137. package/plugin/plugin-92redty0.js +0 -3
  138. package/plugin/plugin-ff9hx5a4.js +0 -3
  139. package/plugin/protocol-hwnfh4h1.js +0 -2
  140. package/plugin/quotaRead-vj6e90xc.js +0 -2
  141. package/plugin/reasoning-5nanktp2.js +0 -2
  142. package/plugin/responseFold-w4526gvb.js +0 -2
  143. package/plugin/stepfun-bwsz4nrd.js +0 -2
  144. package/plugin/stream-bt8etfpc.js +0 -2
  145. package/plugin/tool-content-b9jtprr7.js +0 -2
  146. package/plugin/tool-stream-gdajdxn0.js +0 -2
  147. package/plugin/transport-7hfp9sn4.js +0 -2
  148. package/plugin/vendorCall-hv01nwsp.js +0 -2
  149. package/plugin/vendorWeb-vnf344r1.js +0 -2
  150. package/plugin/verbatim-mqt9x4aa.js +0 -2
  151. package/plugin/xai-z1ysta23.js +0 -2
  152. /package/plugin/{plugin-6xpcmvm3.js → plugin-xfcgt5ba.js} +0 -0
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Uv}from"./plugin-h66k1zhn.js";import{wu,Hs,$v,Df,xc}from"./plugin-nqmb78ez.js";import{th,Ty,Iu,od,Vi,Go}from"./plugin-72xxqm1t.js";import{Bm,Of,Pf,$f,ms,mc,py,de}from"./plugin-7y7ndrk9.js";import{Su,sy}from"./plugin-1n46me5n.js";import{Ma}from"./plugin-e2y95zm5.js";import{$s,oy}from"./plugin-3whwpedj.js";import{Hl}from"./plugin-pfj9nc2e.js";import{js}from"./plugin-krbbb4ts.js";import{oe,q,Ne,me,up,et,bt,mn,ze,r,d,y,f,c,s,tt,i,Bt,es,qc,en,Dt,v,ee,ht,IS,Yc}from"./plugin-6xpcmvm3.js";var k=[/prompt is too long/i,/request_too_large/i,/input is too long for requested model/i,/exceeds the context window/i,/exceeds (?:the )?(?:model'?s )?maximum context length(?: of [\d,]+ tokens?|\s*\([\d,]+\))/i,/input token count.*exceeds the maximum/i,/tokens in request more than max tokens allowed/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds (?:the )?maximum allowed input length of [\d,]+ tokens?/i,/input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/context[_ ]length[_ ]exceeded/i,/request entity too large/i,/request payload too large/i,/context length is only \d+ tokens/i,/input length.*exceeds.*context length/i,/prompt too long; exceeded (?:max )?context length/i,/too large for model with \d+ maximum context length/i,/prompt has [\d,]+ tokens?, but the configured context size is [\d,]+ tokens?/i,/model_context_window_exceeded/i,/too many tokens/i,/token limit exceeded/i],w=[/^(throttling error|service unavailable):/i,/rate limit/i,/too many requests/i],qi=(e)=>!w.some((t)=>t.test(e))&&(k.some((t)=>t.test(e))||/^4(00|13)\s*(status code)?\s*\(no body\)/i.test(e));class Io extends oe()("@runlith/llm/HttpExecutor"){}var E=16384,xu=4,O=200,H=0.1,M=(e,t)=>Object.fromEntries(Object.entries(IS(e,[...t,Ty])).map(([n,o])=>[n,String(o)])),L=(e)=>{if(!URL.canParse(e))return th;let t=new URL(e);return t.searchParams.forEach((n,o)=>{if(od(o))t.searchParams.set(o,th)}),t.toString()},_a=(e)=>Object.fromEntries(Object.entries(e).map(([t,n])=>[t.toLowerCase(),n])),Rf=(e)=>e["x-request-id"]??e["request-id"]??e["x-amzn-requestid"]??e["x-amz-request-id"]??e["x-goog-request-id"]??e["cf-ray"],N=(e,t)=>{let n=Number(e["retry-after-ms"]);if(Number.isFinite(n))return Math.max(0,n);let o=e["retry-after"];if(!o)return;let l=Number(o);if(Number.isFinite(l))return Math.max(0,l*1000);let a=Date.parse(o);if(!Number.isNaN(a))return Math.max(0,a-t);return},S=(e,t,n)=>{let o={limit:{},remaining:{},reset:{}};if(n!==void 0)for(let[p,R]of Object.entries(e)){let m=n(p);if(m!==void 0&&m.bucket.length>0)o[m.kind][m.bucket]=R}let{limit:l,remaining:a,reset:u}=o;if(t===void 0&&Object.keys(l).length===0&&Object.keys(a).length===0&&Object.keys(u).length===0)return;return $f.make({retryAfterMs:t,limit:Object.keys(l).length===0?void 0:l,remaining:Object.keys(a).length===0?void 0:a,reset:Object.keys(u).length===0?void 0:u})},T=(e,t)=>new Of({method:e.method,url:L(e.url),headers:M(e.headers,t)}),_=(e,t)=>new Pf({status:e.status,headers:M(e.headers,t)}),zl=(e)=>{let t=URL.canParse(e.url)?[...new URL(e.url).searchParams]:[];return new Set([...Vi(Object.entries(e.headers),Iu),...Vi(t,od)])},D=(e,t)=>{if(e._tag==="Unreadable")return{bodyUnreadable:e.reason};let n=e.text,o=Go(n,zl(t));if(o.length<=E)return{body:o};return{body:o.slice(0,E),bodyTruncated:!0}},P=(e,t)=>{if(t.body&&t.body.length<=500)return`Provider request failed with HTTP ${e}: ${t.body}`;return`Provider request failed with HTTP ${e}`},I=(e)=>new ms({request:T(e.request,e.redactedNames),response:_(e.response,e.redactedNames),...e.body,requestId:e.requestId,rateLimit:e.rateLimit}),U=(e,t,n)=>v(function*(o){if(o.status>=200&&o.status<300)return o;let l=yield*o.text.pipe(i((x)=>({_tag:"Read",text:x})),es("HttpClientError",(x)=>r({_tag:"Unreadable",reason:x.message}))),a=_a(o.headers),u=N(a,yield*ze),p=S(a,u,n),R=D(l,e),m=I({request:e,response:o,redactedNames:t,body:R,requestId:Rf(a),rateLimit:p});return yield*new de({module:"RequestExecutor",method:"execute",reason:py({status:o.status,message:P(o.status,R),retryAfterMs:u,rateLimit:p,http:m,classification:qi(m.body??"")?"context-overflow":void 0})})}),F={ENOTFOUND:"dns",EAI_AGAIN:"dns",EAI_NODATA:"dns",EAI_NONAME:"dns",ECONNRESET:"reset",ECONNABORTED:"reset",EPIPE:"reset",ETIMEDOUT:"connect-timeout",ECONNREFUSED:"connect-timeout",EHOSTUNREACH:"connect-timeout",ENETUNREACH:"connect-timeout"},j=(e)=>e.includes("CERT")||e.startsWith("ERR_TLS")||e.startsWith("ERR_SSL"),b=(e)=>{let t=sy(e);if(t===void 0)return"unknown";if(j(t))return"tls";return F[t]??"unknown"},K=(e)=>URL.canParse(e)?new URL(e).host:th,Q=(e)=>(t)=>{let n=(a)=>new de({module:"RequestExecutor",method:"execute",reason:new mc({message:a.message,kind:a.kind,host:a.request?K(a.request.url):void 0,attempt:e.attempt,elapsedMs:e.elapsedMs,cause:Su(a.cause,a.request?zl(a.request):[]),http:a.request?new ms({request:T(a.request,e.redactedNames)}):void 0})});if(up(t))return n({message:t.message,kind:"connect-timeout",cause:t});if(!wu(t)){let a=b(t);return n({message:`The request never left: ${a}`,kind:a,cause:t})}let o="request"in t?t.request:void 0,l=b(t);return n({message:t.reason.description??`The request never left: ${l}`,kind:l,cause:t,request:o})},C={retry:!1},V=(e)=>{let t=Math.min(O*2**e.attempt,js);return Uv(t*(1-H),t*(1+H)).pipe(i((n)=>Ne(Math.round(n))))},Vk=q("@runlith/llm/RetryHint",{defaultValue:()=>!1}),B=250,Fm=(e)=>s(Vk,(t)=>en(t?Ne(Math.min(me(e),B)):e)),Um=(e,t)=>{if(t.remaining<=0||!Bm(e))return r(C);if(t.retryAfterMs!==void 0)return r(t.retryAfterMs>js?C:{retry:!0,after:Ne(t.retryAfterMs)});return i(V(t),(n)=>({retry:!0,after:n}))},A=(e,t=xu,n=0)=>es(e(n),"LLM.Error",(o)=>Um(o.family,{attempt:n,remaining:t,retryAfterMs:o.retryAfterMs}).pipe(s((l)=>{if(!l.retry)return c(o);return $s({type:"retry-scheduled",transportAttempt:n,delayMs:me(l.after)}).pipe(s(()=>Fm(l.after)),s(()=>A(e,t-1,n+1)))}))),z=(e,t,n)=>s(ze,(o)=>{let l=Rf(_a(n.headers));return $s({type:"http-responded",request:e,status:n.status,afterMs:o-t,upstreamRequestId:l||void 0})}),W=(e,t,n)=>s(ze,(o)=>{let l="http"in n.reason?n.reason.http:void 0,a=l?.response?.status,u=l?.requestId;return $s({type:"http-failed",request:e,reason:n.reason._tag,family:n.family,retryable:n.retryable,message:n.reason.message,afterMs:o-t,status:a,upstreamRequestId:u,retryAfterMs:n.retryAfterMs})}),If=bt(Io,f(function*(){let e=$v(yield*Hs),t=ee("HttpExecutor.attempt")(function*(n,o,l,a,u){let p=yield*Yc,R=yield*ze,m=yield*Hl,x=yield*$s({type:"http-started",transportAttempt:o,body:u,method:n.method,url:L(n.url),cachePrefix:m||void 0});return yield*e.execute(n).pipe(Dt(Df,!1),Bt((g)=>s(ze,(h)=>c(Q({redactedNames:p,attempt:o,elapsedMs:h-R})(g)))),tt((g)=>z(x,R,g)),s(U(n,p,a)),tt((g)=>l===void 0?y:ze.pipe(s((h)=>d(()=>l.accept(l.fromHeaders(ht(_a(g.headers)),new Date(h))))))),qc((g)=>W(x,R,g)))});return Io.of({execute:(n,o,l,a)=>s(oy(n),(u)=>A((p)=>t(n,p,l,a?.rateLimits,u),a?.retry===!1?0:xu)).pipe(Dt(et,o))})})),LT=If.pipe(mn(Ma)),zm=(e)=>If.pipe(mn(xc(r(e))));
2
+ import{Uv}from"./plugin-v80m00bq.js";import{wu,Hs,$v,Df,xc}from"./plugin-d28d8jar.js";import{th,Ty,Iu,od,Vi,Go}from"./plugin-72xxqm1t.js";import{Bm,Of,Pf,$f,ms,mc,py,de}from"./plugin-3t0qp574.js";import{Su,sy}from"./plugin-y9cdpmbv.js";import{Ma}from"./plugin-w3zbkmy6.js";import{$s,oy}from"./plugin-8q44b578.js";import{Hl}from"./plugin-p6x7emar.js";import{js}from"./plugin-krbbb4ts.js";import{oe,q,Ne,me,up,et,bt,mn,ze,r,d,y,f,c,s,tt,i,Bt,es,qc,en,Dt,v,ee,ht,IS,Yc}from"./plugin-xfcgt5ba.js";var k=[/prompt is too long/i,/request_too_large/i,/input is too long for requested model/i,/exceeds the context window/i,/exceeds (?:the )?(?:model'?s )?maximum context length(?: of [\d,]+ tokens?|\s*\([\d,]+\))/i,/input token count.*exceeds the maximum/i,/tokens in request more than max tokens allowed/i,/maximum prompt length is \d+/i,/reduce the length of the messages/i,/maximum context length is \d+ tokens/i,/exceeds (?:the )?maximum allowed input length of [\d,]+ tokens?/i,/input \(\d+ tokens\) is longer than the model'?s context length \(\d+ tokens\)/i,/exceeds the limit of \d+/i,/exceeds the available context size/i,/greater than the context length/i,/context window exceeds limit/i,/exceeded model token limit/i,/context[_ ]length[_ ]exceeded/i,/request entity too large/i,/request payload too large/i,/context length is only \d+ tokens/i,/input length.*exceeds.*context length/i,/prompt too long; exceeded (?:max )?context length/i,/too large for model with \d+ maximum context length/i,/prompt has [\d,]+ tokens?, but the configured context size is [\d,]+ tokens?/i,/model_context_window_exceeded/i,/too many tokens/i,/token limit exceeded/i],w=[/^(throttling error|service unavailable):/i,/rate limit/i,/too many requests/i],qi=(e)=>!w.some((t)=>t.test(e))&&(k.some((t)=>t.test(e))||/^4(00|13)\s*(status code)?\s*\(no body\)/i.test(e));class Io extends oe()("@runlith/llm/HttpExecutor"){}var E=16384,xu=4,O=200,H=0.1,M=(e,t)=>Object.fromEntries(Object.entries(IS(e,[...t,Ty])).map(([n,o])=>[n,String(o)])),L=(e)=>{if(!URL.canParse(e))return th;let t=new URL(e);return t.searchParams.forEach((n,o)=>{if(od(o))t.searchParams.set(o,th)}),t.toString()},_a=(e)=>Object.fromEntries(Object.entries(e).map(([t,n])=>[t.toLowerCase(),n])),Rf=(e)=>e["x-request-id"]??e["request-id"]??e["x-amzn-requestid"]??e["x-amz-request-id"]??e["x-goog-request-id"]??e["cf-ray"],N=(e,t)=>{let n=Number(e["retry-after-ms"]);if(Number.isFinite(n))return Math.max(0,n);let o=e["retry-after"];if(!o)return;let l=Number(o);if(Number.isFinite(l))return Math.max(0,l*1000);let a=Date.parse(o);if(!Number.isNaN(a))return Math.max(0,a-t);return},S=(e,t,n)=>{let o={limit:{},remaining:{},reset:{}};if(n!==void 0)for(let[p,R]of Object.entries(e)){let m=n(p);if(m!==void 0&&m.bucket.length>0)o[m.kind][m.bucket]=R}let{limit:l,remaining:a,reset:u}=o;if(t===void 0&&Object.keys(l).length===0&&Object.keys(a).length===0&&Object.keys(u).length===0)return;return $f.make({retryAfterMs:t,limit:Object.keys(l).length===0?void 0:l,remaining:Object.keys(a).length===0?void 0:a,reset:Object.keys(u).length===0?void 0:u})},T=(e,t)=>new Of({method:e.method,url:L(e.url),headers:M(e.headers,t)}),_=(e,t)=>new Pf({status:e.status,headers:M(e.headers,t)}),zl=(e)=>{let t=URL.canParse(e.url)?[...new URL(e.url).searchParams]:[];return new Set([...Vi(Object.entries(e.headers),Iu),...Vi(t,od)])},D=(e,t)=>{if(e._tag==="Unreadable")return{bodyUnreadable:e.reason};let n=e.text,o=Go(n,zl(t));if(o.length<=E)return{body:o};return{body:o.slice(0,E),bodyTruncated:!0}},P=(e,t)=>{if(t.body&&t.body.length<=500)return`Provider request failed with HTTP ${e}: ${t.body}`;return`Provider request failed with HTTP ${e}`},I=(e)=>new ms({request:T(e.request,e.redactedNames),response:_(e.response,e.redactedNames),...e.body,requestId:e.requestId,rateLimit:e.rateLimit}),U=(e,t,n)=>v(function*(o){if(o.status>=200&&o.status<300)return o;let l=yield*o.text.pipe(i((x)=>({_tag:"Read",text:x})),es("HttpClientError",(x)=>r({_tag:"Unreadable",reason:x.message}))),a=_a(o.headers),u=N(a,yield*ze),p=S(a,u,n),R=D(l,e),m=I({request:e,response:o,redactedNames:t,body:R,requestId:Rf(a),rateLimit:p});return yield*new de({module:"RequestExecutor",method:"execute",reason:py({status:o.status,message:P(o.status,R),retryAfterMs:u,rateLimit:p,http:m,classification:qi(m.body??"")?"context-overflow":void 0})})}),F={ENOTFOUND:"dns",EAI_AGAIN:"dns",EAI_NODATA:"dns",EAI_NONAME:"dns",ECONNRESET:"reset",ECONNABORTED:"reset",EPIPE:"reset",ETIMEDOUT:"connect-timeout",ECONNREFUSED:"connect-timeout",EHOSTUNREACH:"connect-timeout",ENETUNREACH:"connect-timeout"},j=(e)=>e.includes("CERT")||e.startsWith("ERR_TLS")||e.startsWith("ERR_SSL"),b=(e)=>{let t=sy(e);if(t===void 0)return"unknown";if(j(t))return"tls";return F[t]??"unknown"},K=(e)=>URL.canParse(e)?new URL(e).host:th,Q=(e)=>(t)=>{let n=(a)=>new de({module:"RequestExecutor",method:"execute",reason:new mc({message:a.message,kind:a.kind,host:a.request?K(a.request.url):void 0,attempt:e.attempt,elapsedMs:e.elapsedMs,cause:Su(a.cause,a.request?zl(a.request):[]),http:a.request?new ms({request:T(a.request,e.redactedNames)}):void 0})});if(up(t))return n({message:t.message,kind:"connect-timeout",cause:t});if(!wu(t)){let a=b(t);return n({message:`The request never left: ${a}`,kind:a,cause:t})}let o="request"in t?t.request:void 0,l=b(t);return n({message:t.reason.description??`The request never left: ${l}`,kind:l,cause:t,request:o})},C={retry:!1},V=(e)=>{let t=Math.min(O*2**e.attempt,js);return Uv(t*(1-H),t*(1+H)).pipe(i((n)=>Ne(Math.round(n))))},Vk=q("@runlith/llm/RetryHint",{defaultValue:()=>!1}),B=250,Fm=(e)=>s(Vk,(t)=>en(t?Ne(Math.min(me(e),B)):e)),Um=(e,t)=>{if(t.remaining<=0||!Bm(e))return r(C);if(t.retryAfterMs!==void 0)return r(t.retryAfterMs>js?C:{retry:!0,after:Ne(t.retryAfterMs)});return i(V(t),(n)=>({retry:!0,after:n}))},A=(e,t=xu,n=0)=>es(e(n),"LLM.Error",(o)=>Um(o.family,{attempt:n,remaining:t,retryAfterMs:o.retryAfterMs}).pipe(s((l)=>{if(!l.retry)return c(o);return $s({type:"retry-scheduled",transportAttempt:n,delayMs:me(l.after)}).pipe(s(()=>Fm(l.after)),s(()=>A(e,t-1,n+1)))}))),z=(e,t,n)=>s(ze,(o)=>{let l=Rf(_a(n.headers));return $s({type:"http-responded",request:e,status:n.status,afterMs:o-t,upstreamRequestId:l||void 0})}),W=(e,t,n)=>s(ze,(o)=>{let l="http"in n.reason?n.reason.http:void 0,a=l?.response?.status,u=l?.requestId;return $s({type:"http-failed",request:e,reason:n.reason._tag,family:n.family,retryable:n.retryable,message:n.reason.message,afterMs:o-t,status:a,upstreamRequestId:u,retryAfterMs:n.retryAfterMs})}),If=bt(Io,f(function*(){let e=$v(yield*Hs),t=ee("HttpExecutor.attempt")(function*(n,o,l,a,u){let p=yield*Yc,R=yield*ze,m=yield*Hl,x=yield*$s({type:"http-started",transportAttempt:o,body:u,method:n.method,url:L(n.url),cachePrefix:m||void 0});return yield*e.execute(n).pipe(Dt(Df,!1),Bt((g)=>s(ze,(h)=>c(Q({redactedNames:p,attempt:o,elapsedMs:h-R})(g)))),tt((g)=>z(x,R,g)),s(U(n,p,a)),tt((g)=>l===void 0?y:ze.pipe(s((h)=>d(()=>l.accept(l.fromHeaders(ht(_a(g.headers)),new Date(h))))))),qc((g)=>W(x,R,g)))});return Io.of({execute:(n,o,l,a)=>s(oy(n),(u)=>A((p)=>t(n,p,l,a?.rateLimits,u),a?.retry===!1?0:xu)).pipe(Dt(et,o))})})),LT=If.pipe(mn(Ma)),zm=(e)=>If.pipe(mn(xc(r(e))));
3
3
  export{qi,Io,xu,_a,Rf,zl,Vk,Fm,Um,If,LT,zm};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{N}from"./plugin-me00x60n.js";import{Ut}from"./plugin-zz7yc97m.js";import{Fr}from"./plugin-ay29ch70.js";import{Dr,jn,Ie,ds,Hm,Et,Ls,jm,Ds,Fs,fs,Ra,ps,Bl,xt,Us,Xr,lr}from"./plugin-1n46me5n.js";import{Os}from"./plugin-gkgs7vfv.js";import{ln,lc,we}from"./plugin-a4ng6krf.js";import{Lr}from"./plugin-q1n5kwx0.js";import{Zo,Ns}from"./plugin-pfj9nc2e.js";import{qi}from"./plugin-3pfrkxg1.js";import{Ms}from"./plugin-60bdzk1r.js";import{To}from"./plugin-ba1sv0th.js";import{Cs,nn,Vo,cs,yr,Pl,As}from"./plugin-1xze8f5y.js";import{Hi,wa,hu,$l,Nl,Ll}from"./plugin-pkxw1pfs.js";import{Ro}from"./plugin-kc4z9msd.js";import{qt,r,f,c,v,ee,H0,n,w,ce,t,S,z,o,ge,ss,x,O,W,gt,P,Kr}from"./plugin-6xpcmvm3.js";var q=(e)=>({remaining:e,dropped:0}),j=(e)=>e!==void 0&&e>=3600?"1h":void 0;var m=xt,F=4,C={outside:/[^A-Za-z0-9_-]/g},de={type:"ephemeral"},ue={type:"ephemeral",ttl:"1h"},T=(e,i)=>{if(i?.type!=="ephemeral"&&i?.type!=="persistent")return;if(e.remaining<=0){e.dropped+=1;return}return e.remaining-=1,j(i.ttlSeconds)==="1h"?ue:de},fe=(e)=>e.tools.length===0&&e.toolChoice?.type!=="none"&&M(e)?.preserveEmptyTools===!0?[]:void 0,H=(e)=>{let i=e?.anthropic;if(!N(i))return;return typeof i.signature==="string"?i.signature:void 0},he=(e,i,s)=>({name:i.name,description:i.description,input_schema:s,defer_loading:i.deferred===!0?!0:void 0,eager_input_streaming:ye(i)?!0:void 0,cache_control:T(e,i.cache)}),ye=(e)=>{let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;return N(i)&&i.eagerInputStreaming===!0},me=(e)=>Us("Anthropic Messages",e,{auto:()=>({type:"auto"}),none:()=>{return},required:()=>({type:"any"}),tool:(i)=>({type:"tool",name:i})}),_e=(e)=>({type:"tool_use",id:Bl(e.id,C),name:e.name,input:e.input,caller:e.providerMetadata?.anthropic?.caller}),Se=(e)=>({type:"server_tool_use",id:Bl(e.id,C),name:e.name,input:e.input}),ke=(e)=>({type:"fallback",from:{model:e.from.model},to:{model:e.to.model}}),Ae=(e)=>{if(e==="web_search")return"web_search_tool_result";if(e==="code_execution")return"code_execution_tool_result";if(e==="web_fetch")return"web_fetch_tool_result";return},Te=ee("AnthropicMessages.lowerServerToolResult")(function*(e){let i=Ae(e.name);if(!i)return yield*m(`Anthropic Messages does not know how to round-trip server tool result for ${e.name}`);return{type:i,tool_use_id:Bl(e.id,C),content:e.result.value}}),xe=ee("AnthropicMessages.lowerImage")(function*(e){let i=yield*fs("Anthropic Messages",e,new Set(Fs));return{type:"image",source:{type:"base64",media_type:i.mime,data:i.base64}}}),J=ee("AnthropicMessages.lowerToolResultContentItem")(function*(e){if(e.type==="text")return{type:"text",text:e.text};let i=yield*Ra("Anthropic Messages",e,new Set(Fs));return{type:"image",source:{type:"base64",media_type:i.mime,data:i.base64}}}),ve=(e)=>new Set(e.toolChoice?.type==="none"?[]:e.tools.flatMap((i)=>i.deferred?[i.name]:[])),Me=ee("AnthropicMessages.lowerToolResultContent")(function*(e,i){let s=e.toolReferences?.filter((p)=>i.has(p))??[];if(s.length>0){if(e.result.type==="error")return yield*m("Anthropic tool references require a successful tool result.");let p=e.result.type==="content"?yield*qt(e.result.value,J):[{type:"text",text:ps(e)}];return[...s.map((l)=>({type:"tool_reference",tool_name:l})),...p]}if(e.result.type!=="content"){let p=ps(e);if(e.result.type==="error"&&p.length===0)return`The ${e.name} tool failed and reported no message.`;return p}let a=e.result.value;return yield*qt(a,J)}),K=(e)=>{let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;return N(i)&&i.system===!0},V=(e)=>{let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;return N(i)&&i.format==="string"?"string":"blocks"},Re=ee("AnthropicMessages.nativeSystemOutputConfig")(function*(e){let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;if(!N(i)||i.outputConfig===void 0)return;let s=i.outputConfig;if(!N(s))return yield*m("Anthropic native system outputConfig requires an effort");let a=s.effort;if(typeof a!=="string"||!ba.includes(a))return yield*m(`Anthropic native system effort must be one of ${ba.join(", ")}`);return{effort:a}}),be=(e,i)=>e!==void 0&&(e.role==="user"||e.role==="assistant"&&e.content.at(-1)?.type==="server_tool_use")&&(i===void 0||i==="assistant"),Le=ee("AnthropicMessages.lowerNativeSystemUpdate")(function*(e,i,s){let a=yield*jm("Anthropic Messages",e),p=e.native?.anthropic,l=N(p)?p.clearAt:void 0;if(l!==void 0&&l!=="next_user_message")return yield*m("Anthropic native system clearAt must be next_user_message");if(V(e)==="string"&&(a.length>0||s===void 0))return{role:"system",content:a.map((y)=>y.text).join(`
2
+ import{N}from"./plugin-me00x60n.js";import{Ut}from"./plugin-7te9b50h.js";import{Fr}from"./plugin-g4hst0jz.js";import{Dr,jn,Ie,ds,Hm,Et,Ls,jm,Ds,Fs,fs,Ra,ps,Bl,xt,Us,Xr,lr}from"./plugin-y9cdpmbv.js";import{Os}from"./plugin-yp736z4n.js";import{ln,lc,we}from"./plugin-24j9hnc7.js";import{Lr}from"./plugin-r7g3vqrm.js";import{Zo,Ns}from"./plugin-p6x7emar.js";import{qi}from"./plugin-e5ybk2a2.js";import{Ms}from"./plugin-fjsmz1vy.js";import{To}from"./plugin-pdww1ma8.js";import{Cs,nn,Vo,cs,yr,Pl,As}from"./plugin-zsv7wawc.js";import{Hi,wa,hu,$l,Nl,Ll}from"./plugin-2s6bq45c.js";import{Ro}from"./plugin-kc4z9msd.js";import{qt,r,f,c,v,ee,H0,n,w,ce,t,S,z,o,ge,ss,x,O,W,gt,P,Kr}from"./plugin-xfcgt5ba.js";var q=(e)=>({remaining:e,dropped:0}),j=(e)=>e!==void 0&&e>=3600?"1h":void 0;var m=xt,F=4,C={outside:/[^A-Za-z0-9_-]/g},de={type:"ephemeral"},ue={type:"ephemeral",ttl:"1h"},T=(e,i)=>{if(i?.type!=="ephemeral"&&i?.type!=="persistent")return;if(e.remaining<=0){e.dropped+=1;return}return e.remaining-=1,j(i.ttlSeconds)==="1h"?ue:de},fe=(e)=>e.tools.length===0&&e.toolChoice?.type!=="none"&&M(e)?.preserveEmptyTools===!0?[]:void 0,H=(e)=>{let i=e?.anthropic;if(!N(i))return;return typeof i.signature==="string"?i.signature:void 0},he=(e,i,s)=>({name:i.name,description:i.description,input_schema:s,defer_loading:i.deferred===!0?!0:void 0,eager_input_streaming:ye(i)?!0:void 0,cache_control:T(e,i.cache)}),ye=(e)=>{let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;return N(i)&&i.eagerInputStreaming===!0},me=(e)=>Us("Anthropic Messages",e,{auto:()=>({type:"auto"}),none:()=>{return},required:()=>({type:"any"}),tool:(i)=>({type:"tool",name:i})}),_e=(e)=>({type:"tool_use",id:Bl(e.id,C),name:e.name,input:e.input,caller:e.providerMetadata?.anthropic?.caller}),Se=(e)=>({type:"server_tool_use",id:Bl(e.id,C),name:e.name,input:e.input}),ke=(e)=>({type:"fallback",from:{model:e.from.model},to:{model:e.to.model}}),Ae=(e)=>{if(e==="web_search")return"web_search_tool_result";if(e==="code_execution")return"code_execution_tool_result";if(e==="web_fetch")return"web_fetch_tool_result";return},Te=ee("AnthropicMessages.lowerServerToolResult")(function*(e){let i=Ae(e.name);if(!i)return yield*m(`Anthropic Messages does not know how to round-trip server tool result for ${e.name}`);return{type:i,tool_use_id:Bl(e.id,C),content:e.result.value}}),xe=ee("AnthropicMessages.lowerImage")(function*(e){let i=yield*fs("Anthropic Messages",e,new Set(Fs));return{type:"image",source:{type:"base64",media_type:i.mime,data:i.base64}}}),J=ee("AnthropicMessages.lowerToolResultContentItem")(function*(e){if(e.type==="text")return{type:"text",text:e.text};let i=yield*Ra("Anthropic Messages",e,new Set(Fs));return{type:"image",source:{type:"base64",media_type:i.mime,data:i.base64}}}),ve=(e)=>new Set(e.toolChoice?.type==="none"?[]:e.tools.flatMap((i)=>i.deferred?[i.name]:[])),Me=ee("AnthropicMessages.lowerToolResultContent")(function*(e,i){let s=e.toolReferences?.filter((p)=>i.has(p))??[];if(s.length>0){if(e.result.type==="error")return yield*m("Anthropic tool references require a successful tool result.");let p=e.result.type==="content"?yield*qt(e.result.value,J):[{type:"text",text:ps(e)}];return[...s.map((l)=>({type:"tool_reference",tool_name:l})),...p]}if(e.result.type!=="content"){let p=ps(e);if(e.result.type==="error"&&p.length===0)return`The ${e.name} tool failed and reported no message.`;return p}let a=e.result.value;return yield*qt(a,J)}),K=(e)=>{let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;return N(i)&&i.system===!0},V=(e)=>{let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;return N(i)&&i.format==="string"?"string":"blocks"},Re=ee("AnthropicMessages.nativeSystemOutputConfig")(function*(e){let i=N(e.native?.anthropic)?e.native?.anthropic:void 0;if(!N(i)||i.outputConfig===void 0)return;let s=i.outputConfig;if(!N(s))return yield*m("Anthropic native system outputConfig requires an effort");let a=s.effort;if(typeof a!=="string"||!ba.includes(a))return yield*m(`Anthropic native system effort must be one of ${ba.join(", ")}`);return{effort:a}}),be=(e,i)=>e!==void 0&&(e.role==="user"||e.role==="assistant"&&e.content.at(-1)?.type==="server_tool_use")&&(i===void 0||i==="assistant"),Le=ee("AnthropicMessages.lowerNativeSystemUpdate")(function*(e,i,s){let a=yield*jm("Anthropic Messages",e),p=e.native?.anthropic,l=N(p)?p.clearAt:void 0;if(l!==void 0&&l!=="next_user_message")return yield*m("Anthropic native system clearAt must be next_user_message");if(V(e)==="string"&&(a.length>0||s===void 0))return{role:"system",content:a.map((y)=>y.text).join(`
3
3
  `),output_config:s,clear_at:l===void 0?void 0:"next_user_message"};return{role:"system",content:a.map((y)=>({type:"text",text:y.text,cache_control:T(i,y.cache)})),output_config:s,clear_at:l===void 0?void 0:"next_user_message"}}),Ee=ee("AnthropicMessages.lowerMessages")(function*(e,i){let s=[],a=ve(e),p=new Set,l=e.messages.filter((k)=>k.role!=="assistant"||k.content.some((u)=>u.type!=="reasoning"||(u.encrypted??H(u.providerMetadata))!==void 0)),y=Array(l.length),A;for(let k=l.length-1;k>=0;k-=1){y[k]=A;let u=l[k];if(u.role!=="system"||!K(u))A=u.role==="assistant"?"assistant":"user"}let _,g;for(let[k,u]of l.entries()){if(u.role==="system"){let h=K(u),d=h?yield*Re(u):void 0,R=u.content.length===0&&d!==void 0;if(!R&&p.size>0)return yield*m("Anthropic Messages system updates cannot split a local tool call from its tool result");if(R||h&&be(_,y[k])){s.push(yield*Le(u,i,d)),g=void 0;continue}let L=yield*Ds("Anthropic Messages",u),D={type:"text",text:L.text,cache_control:T(i,L.cache)},U=s.at(-1);if(U?.role==="user"){if(g===void 0)g=typeof U.content==="string"?[{type:"text",text:U.content}]:[...U.content],s[s.length-1]={role:"user",content:g};g.push(D)}else g=[D],s.push({role:"user",content:g});if(_=s.at(-1),d!==void 0)s.push({role:"system",content:[],output_config:d}),g=void 0;continue}if(g=void 0,u.role==="user"){if(V(u)==="string"){if(u.content.some((d)=>d.type!=="text"))return yield*m("Anthropic string content requires text parts.");s.push({role:"user",content:u.content.map((d)=>d.type==="text"?d.text:"").join(`
4
4
  `)}),_=s.at(-1);continue}let h=[];for(let d of u.content){if(d.type==="text"){h.push({type:"text",text:d.text,cache_control:T(i,d.cache)});continue}if(d.type==="media"){h.push({...yield*xe(d),cache_control:T(i,d.cache)});continue}return yield*lr("Anthropic Messages","user",["text","media"])}s.push({role:"user",content:h}),_=s.at(-1);continue}if(u.role==="assistant"){let h=[];for(let d of u.content){if(d.type==="text"){h.push({type:"text",text:d.text,cache_control:T(i,d.cache)});continue}if(d.type==="reasoning"){let R=d.encrypted??H(d.providerMetadata);if(R!==void 0)h.push({type:"thinking",thinking:d.text,signature:R});continue}if(d.type==="tool-call"){if(d.providerExecuted!==!0)p.add(d.id);let R=d.providerExecuted?Se(d):_e(d);h.push({...R,cache_control:T(i,d.cache)});continue}if(d.type==="model-fallback"){h.push(ke(d));continue}if(d.type==="tool-result"&&d.providerExecuted){h.push({...yield*Te(d),cache_control:T(i,d.cache)});continue}return yield*m("Anthropic Messages assistant messages only support text, reasoning, and tool-call content for now")}s.push({role:"assistant",content:h}),_=s.at(-1);continue}let B=[];for(let h of u.content){if(!Xr(h,["tool-result"]))return yield*lr("Anthropic Messages","tool",["tool-result"]);p.delete(h.id),B.push({type:"tool_result",tool_use_id:Bl(h.id,C),content:yield*Me(h,a),is_error:h.result.type==="error"?!0:void 0,cache_control:T(i,h.cache)})}s.push({role:"user",content:B}),_=s.at(-1)}return s}),M=(e)=>e.providerOptions?.anthropic,Be=(e)=>M(e)?.disableParallelToolUse===!0?!0:void 0,Ue=(e)=>{let i=M(e)?.userId;return typeof i==="string"&&i.length>0?i:void 0},Ce=ee("AnthropicMessages.lowerThinking")(function*(e){let i=M(e)?.thinking;if(!N(i))return;if(i.type==="disabled")return{type:"disabled"};if(i.type==="adaptive"){let a=i.display;return typeof a==="string"&&LE.includes(a)?{type:"adaptive",display:a}:{type:"adaptive"}}if(i.type!=="enabled")return;let s=typeof i.budgetTokens==="number"?i.budgetTokens:typeof i.budget_tokens==="number"?i.budget_tokens:void 0;if(s===void 0)return yield*m("Anthropic thinking provider option requires budgetTokens");return{type:"enabled",budget_tokens:s}}),Pe=ee("AnthropicMessages.lowerOutputConfig")(function*(e){let i=M(e)?.outputConfig;if(i===void 0)return;if(!N(i))return yield*m("Anthropic outputConfig provider option requires an effort or a format");let{effort:s,format:a}=i;if(s!==void 0&&a!==void 0)return yield*m("Anthropic outputConfig carries either an effort or a format, never both");if(s!==void 0){if(typeof s!=="string"||!ba.includes(s))return yield*m(`Anthropic effort provider option must be one of ${ba.join(", ")}; received ${String(s)}`);return{effort:s}}if(a!==void 0){if(!N(a))return yield*m("Anthropic outputConfig format provider option requires a JSON schema object");return{format:a}}return}),Ne=ee("AnthropicMessages.lowerContextManagement")(function*(e){let i=M(e)?.contextManagement;if(i===void 0)return;if(!N(i)||!Array.isArray(i.edits))return yield*m("Anthropic contextManagement provider option requires an edits list");let s=[];for(let a of i.edits){if(!N(a)||typeof a.type!=="string")return yield*m("Anthropic contextManagement edits each require a type");s.push({type:a.type,keep:typeof a.keep==="string"?a.keep:void 0})}return{edits:s}}),Oe=ee("AnthropicMessages.lowerThread")(function*(e){let i=M(e)?.thread;if(i===void 0)return;if(!N(i)||i.type!=="create"&&i.type!=="continue")return yield*m("Anthropic thread provider option requires a create or continue shape");if(i.type==="create")return{type:"create"};if(typeof i.previous_message_id!=="string"||i.previous_message_id.length===0)return yield*m("Anthropic thread continue requires the previous message id");return{type:"continue",previous_message_id:i.previous_message_id}}),De=ee("AnthropicMessages.lowerDiagnostics")(function*(e){let i=M(e)?.diagnostics;if(i===void 0)return;if(!N(i)||typeof i.previous_message_id!=="string"&&i.previous_message_id!==null)return yield*m("Anthropic diagnostics provider option requires a previous message id or null");return{previous_message_id:i.previous_message_id}}),qe=ee("AnthropicMessages.lowerFallbacks")(function*(e){let i=M(e)?.fallbacks;if(i===void 0)return;if(i==="default")return"default";if(!Array.isArray(i)||!i.every((s)=>N(s)&&typeof s.model==="string"))return yield*m("Anthropic fallbacks provider option requires default or a model list");return i.map((s)=>({model:s.model}))}),G=ee("AnthropicMessages.fromRequest")(function*(e){let i=e.toolChoice?yield*me(e.toolChoice):void 0,s=e.generation,a=e.model.compatibility?.toolSchema,p=e.model.defaults?.limits?.output??e.model.route.defaults.limits?.output??4096,l=q(F),y=e.tools.length===0||e.toolChoice?.type==="none"?fe(e):e.tools.map((L)=>he(l,L,Ro.flatRootObject(Ro.modelCompatibility(L.inputSchema,a)))),A=e.system.map((L)=>({type:"text",text:L.text,cache_control:T(l,L.cache)})),_=A.length===0?void 0:A,g=yield*Ee(e,l);if(l.dropped>0)yield*H0(`Anthropic Messages: dropped ${l.dropped} cache breakpoint(s); the API allows at most ${F} per request.`);let k=y===void 0?void 0:Be(e),u=k===void 0?i:{...i??{type:"auto"},disable_parallel_tool_use:k},B=Ue(e),h=yield*Oe(e),d=yield*De(e),R=yield*qe(e);return{model:e.model.id,system:_,metadata:B===void 0?void 0:{user_id:B},messages:g,tools:y,tool_choice:u,stream:M(e)?.stream!==!1,max_tokens:s?.maxTokens??p,temperature:s?.temperature,top_p:s?.topP,top_k:s?.topK,stop_sequences:s?.stop,thinking:yield*Ce(e),output_config:yield*Pe(e),context_management:yield*Ne(e),thread:h,diagnostics:d,fallbacks:R}});var je=(e)=>{if(e==="end_turn"||e==="stop_sequence"||e==="pause_turn")return"stop";if(e==="max_tokens")return"length";if(e==="tool_use")return"tool-calls";if(e==="refusal")return"content-filter";return"unknown"},Fe="message",$e=(e)=>{let i=e.iterations??[];if(i.length<2)return e;let s=i.findLast((a)=>a.type===Fe||a.type==="fallback_message");if(s===void 0)return e;return{...e,input_tokens:s.input_tokens,output_tokens:s.output_tokens,cache_read_input_tokens:s.cache_read_input_tokens,cache_creation_input_tokens:s.cache_creation_input_tokens}},oe=(e)=>{if(!e)return;let i=$e(e),s=i.input_tokens,a=i.cache_read_input_tokens??void 0,p=i.cache_creation_input_tokens??void 0,l=Hm(s,a,p),y=e.output_tokens_details?.thinking_tokens;return new ln({inputTokens:l,outputTokens:i.output_tokens,reasoningTokens:y,nonCachedInputTokens:s,cacheReadInputTokens:a,cacheWriteInputTokens:p,totalTokens:ds(l,i.output_tokens,void 0),providerMetadata:{anthropic:e}})},He=(e)=>e.inputTokens===void 0?void 0:new lc({inputTokens:e.inputTokens,nonCachedInputTokens:e.nonCachedInputTokens,cacheReadInputTokens:e.cacheReadInputTokens,cacheWriteInputTokens:e.cacheWriteInputTokens,providerMetadata:e.providerMetadata}),ne=(e,i)=>{if(!e)return i;if(!i)return e;let s=i.nonCachedInputTokens??e.nonCachedInputTokens,a=i.cacheReadInputTokens??e.cacheReadInputTokens,p=i.cacheWriteInputTokens??e.cacheWriteInputTokens,l=Hm(s,a,p),y=i.outputTokens??e.outputTokens,A=i.reasoningTokens??e.reasoningTokens;return new ln({inputTokens:l,outputTokens:y,reasoningTokens:A,nonCachedInputTokens:s,cacheReadInputTokens:a,cacheWriteInputTokens:p,totalTokens:ds(l,y,void 0),providerMetadata:{anthropic:{...e.providerMetadata?.anthropic,...i.providerMetadata?.anthropic}}})},re={web_search_tool_result:"web_search",code_execution_tool_result:"code_execution",web_fetch_tool_result:"web_fetch"},We=(e)=>(e in re),ze=(e)=>{if(!e.type||!We(e.type))return;let s=(typeof e.content==="object"&&e.content!==null&&"type"in e.content?String(e.content.type):"").endsWith("_tool_result_error");return we.toolResult({id:e.tool_use_id??"",name:re[e.type],result:Os.from(e.content,s?"error":"json"),providerExecuted:!0,providerMetadata:Rl({blockType:e.type})})},E=[],X=(e,i)=>{let s=typeof i.message?.id==="string"?i.message.id:void 0,a=s===void 0?e:{...e,messageId:s},p=oe(i.message?.usage);if(!p)return[a,E];let l=He(p);return[{...a,usage:ne(e.usage,p)},l?[we.inputUsage({inputUsage:l,messageId:s})]:E]},Z=(e,i)=>{let s=i.content_block;if(!s)return[e,E];if((s.type==="tool_use"||s.type==="server_tool_use")&&i.index!==void 0){let l=[],y=nn(e.lifecycle,l);return[{...e,lifecycle:y,tools:hu(e.tools,i.index,{id:s.id??String(i.index),name:s.name??"",providerExecuted:s.type==="server_tool_use",providerMetadata:s.caller===void 0?void 0:Rl({caller:s.caller})})},[...l,we.toolInputStart({id:s.id??String(i.index),name:s.name??""})]]}if(s.type==="fallback"&&s.from!==void 0&&s.to!==void 0&&s.trigger!==void 0){let l=[];return[{...e,lifecycle:nn(e.lifecycle,l)},[...l,we.modelFallback({from:new Ut({provider:e.provider,model:s.from.model}),to:new Ut({provider:e.provider,model:s.to.model}),trigger:s.trigger,providerMetadata:Rl({blockType:s.type})})]]}if(s.type==="text"&&s.text){let l=[];return[{...e,lifecycle:Vo(e.lifecycle,l,`text-${i.index??0}`,s.text)},l]}if(s.type==="thinking"){let l=[];return[{...e,lifecycle:cs(e.lifecycle,l,`reasoning-${i.index??0}`,s.thinking??"")},l]}let a=ze(s);if(!a)return[e,E];let p=[];return[{...e,lifecycle:nn(e.lifecycle,p)},[...p,a]]},Q=v(function*(e,i){let s=i.delta;if(s?.type==="text_delta"&&s.text){let a=[];return[{...e,lifecycle:Vo(e.lifecycle,a,`text-${i.index??0}`,s.text)},a]}if(s?.type==="thinking_delta"){let a=[];return[{...e,lifecycle:cs(e.lifecycle,a,`reasoning-${i.index??0}`,s.thinking??"")},a]}if(s?.type==="signature_delta"&&s.signature){let a=[];return[{...e,lifecycle:yr(e.lifecycle,a,`reasoning-${i.index??0}`,Rl({signature:s.signature}))},a]}if(s?.type==="input_json_delta"&&i.index!==void 0){if(!s.partial_json)return[e,E];let a=$l(af,e.tools,i.index,s.partial_json,"Anthropic Messages tool argument delta is missing its tool call");if(wa(a))return yield*a;let p=[],l=a.events.length?nn(e.lifecycle,p):e.lifecycle;return p.push(...a.events),[{...e,lifecycle:l,tools:a.tools},p]}return[e,E]}),Y=(e,i)=>{if(i.index===void 0)return[e,E];let s=Nl(e.tools,i.index),a=[],p=s.events??[],l=p.length?nn(e.lifecycle,a):yr(Pl(e.lifecycle,a,`text-${i.index}`),a,`reasoning-${i.index}`);return a.push(...p),[{...e,lifecycle:l,tools:s.tools},a]},te=(e,i)=>{let s=ne(e.usage,oe(i.usage)),a=Ll(e.tools),p=[...a.events],l=As(e.lifecycle,p,{reason:je(i.delta?.stop_reason),usage:s,providerMetadata:i.delta?.stop_sequence?Rl({stopSequence:i.delta.stop_sequence}):void 0});return[{...e,lifecycle:l,usage:s,tools:a.tools},p]},Je=new Set(["api_error","overloaded_error","rate_limit_error","timeout_error"]),Ke=(e,i)=>Ls({module:"AnthropicMessages",refusal:{code:i.error?.type?.trim()||void 0,message:i.error?.message?.trim()??""},evidence:{eventType:i.type,keys:Object.keys(i),payloadKeys:Object.keys(i.error??{})},unrecognized:Object.keys(i.error??{}).some((s)=>s!=="type"&&s!=="message"),contextOverflow:qi(i.error?.message??""),retryable:Je.has(i.error?.type?.trim()??""),modelStarted:e.lifecycle.stepStarted}),PE=(e,i)=>{if(i.type==="message")return f(function*(){if(i.id===void 0||i.content===void 0||i.stop_reason==null)return yield*c(Et(void 0,{route:af,family:"invalid-output",message:"Anthropic completion is missing its id, content or stop reason"}));let[s,a]=X(e,{type:"message_start",message:{id:i.id,usage:i.usage}}),p=[...a];for(let[A,_]of i.content.entries()){let g;if([s,g]=Z(s,{type:"content_block_start",index:A,content_block:_}),p.push(...g),_.type==="tool_use"||_.type==="server_tool_use")[s,g]=yield*Q(s,{type:"content_block_delta",index:A,delta:{type:"input_json_delta",partial_json:JSON.stringify(_.input??{})}}),p.push(...g);[s,g]=Y(s,{type:"content_block_stop",index:A}),p.push(...g)}let[l,y]=te(s,{type:"message_delta",delta:{stop_reason:i.stop_reason},usage:i.usage});return[l,[...p,...y]]});if(i.type==="message_start")return r(X(e,i));if(i.type==="content_block_start")return r(Z(e,i));if(i.type==="content_block_delta")return Q(e,i);if(i.type==="content_block_stop")return r(Y(e,i));if(i.type==="message_delta")return r(te(e,i));if(i.type==="error")return c(Ke(e,i));return r([e,E])},Pw=(e)=>({tools:Hi(),lifecycle:Cs(),provider:e}),$E=(e)=>Pw(e.model.provider);var Ve=/^anthropic-ratelimit-(.+)-(limit|remaining|reset)$/,ie=(e)=>{let i=Ve.exec(e),s=i?.[1],a=i?.[2];if(s===void 0||a!=="limit"&&a!=="remaining"&&a!=="reset")return;return{bucket:s,kind:a}};var af="anthropic-messages",$w="https://api.anthropic.com/v1",Nw="/messages",b=o({type:P("ephemeral"),ttl:n(W(["5m","1h"]))}),cf=o({type:P("text"),text:t,cache_control:n(b)}),NE=o({type:P("image"),source:o({type:P("base64"),media_type:t,data:t}),cache_control:n(b)}),Ge=o({type:P("thinking"),thinking:t,signature:t,cache_control:n(b)}),Lw=o({type:P("tool_use"),id:t,name:t,input:ce,caller:n(Dr),cache_control:n(b)}),Dw=o({type:P("server_tool_use"),id:t,name:t,input:ce,cache_control:n(b)}),Fw=W(["web_search_tool_result","code_execution_tool_result","web_fetch_tool_result"]),Uw=o({type:Fw,tool_use_id:t,content:ce,cache_control:n(b)}),I=o({model:t}),zw=o({type:P("fallback"),from:I,to:I,trigger:n(Dr),cache_control:n(b)}),Xe=o({type:P("tool_reference"),tool_name:t}),Ze=O([cf,NE,Xe]),Hw=o({type:P("tool_result"),tool_use_id:t,content:O([t,x(Ze)]),is_error:n(z),cache_control:n(b)}),jw=O([cf,NE,Hw]),Qe=o({effort:n(W(["low","medium","high","xhigh","max"]))}),qw=O([cf,Ge,Lw,Dw,Uw,zw]),Bw=O([o({role:w("user"),content:O([t,x(jw)])}),o({role:w("assistant"),content:x(qw)}),o({role:w("system"),content:O([t,x(cf)]),output_config:n(Qe),clear_at:n(w("next_user_message"))})]).pipe(Kr("role")),Ww=o({name:t,description:t,input_schema:Dr,eager_input_streaming:n(z),defer_loading:n(w(!0)),cache_control:n(b)}),Ye=O([o({type:W(["auto","any"]),disable_parallel_tool_use:n(z)}),o({type:P("tool"),name:t,disable_parallel_tool_use:n(z)})]),et=O([o({type:P("enabled"),budget_tokens:S}),o({type:P("adaptive"),display:n(W(["summarized","omitted"]))}),o({type:P("disabled")})]),LE=["summarized","omitted"],ba=["low","medium","high","xhigh","max"],tt=o({effort:n(W(ba)),format:n(Dr)}),ot=o({edits:x(o({type:t,keep:n(t)}))}),nt=o({previous_message_id:gt(t)}),rt=O([o({type:P("create")}),o({type:P("continue"),previous_message_id:t})]),it=O([w("default"),x(o({model:t}))]),st=o({user_id:n(t)}),at={model:t,system:jn(cf),metadata:n(st),messages:x(Bw),tools:jn(Ww),tool_choice:n(Ye),stream:z,max_tokens:S,temperature:n(S),top_p:n(S),top_k:n(S),stop_sequences:jn(t),thinking:n(et),output_config:n(tt),context_management:n(ot),thread:n(rt),diagnostics:n(nt),fallbacks:n(it)},ct=o(at),lt=o({type:n(t),input_tokens:n(S),output_tokens:n(S),cache_creation_input_tokens:Ie(S),cache_read_input_tokens:Ie(S)}),DE=o({input_tokens:n(S),output_tokens:n(S),cache_creation_input_tokens:Ie(S),cache_read_input_tokens:Ie(S),output_tokens_details:n(o({thinking_tokens:n(S)})),iterations:jn(lt)}),se=o({type:t,id:n(t),name:n(t),text:n(t),thinking:n(t),signature:n(t),input:n(ce),caller:n(Dr),from:n(I),to:n(I),trigger:n(Dr),tool_use_id:n(t),content:n(ce)}),pt=o({type:n(t),text:n(t),thinking:n(t),partial_json:n(t),signature:n(t),stop_reason:Ie(t),stop_sequence:Ie(t)}),Vw=ss(o({type:t,id:n(t),content:n(x(se)),stop_reason:Ie(t),index:n(S),message:n(o({id:n(t),usage:n(DE)})),content_block:n(se),delta:n(pt),usage:n(DE),error:Ie(ss(o({type:Ie(t),message:Ie(t)}),[ge(t,ce)]))}),[ge(t,ce)]),Rl=(e)=>({anthropic:e}),Il=(e)=>{let i=Object.fromEntries(Object.entries(e).filter(([,s])=>s!==void 0));return Object.keys(i).length===0?void 0:{anthropic:i}},Zw=({request:e})=>({"anthropic-version":"2023-06-01",...e.tools.some((i)=>i.deferred)?{"anthropic-beta":"advanced-tool-use-2025-11-20"}:{}}),Gw=Zo({id:af,body:{schema:ct,from:G,cachePrefix:(e)=>({system:e.system,tools:e.tools?.filter((i)=>i.defer_loading!==!0)})},stream:{event:Ns(Vw),initial:$E,step:PE},rateLimits:ie,inlineCacheHints:!0}),Cl=To.make({id:af,protocol:Gw,endpoint:Lr.path(Nw,{baseURL:$w}),auth:Fr,framing:Ms,headers:Zw});
5
5
  export{PE,Pw,$E,af,$w,Nw,cf,NE,Lw,Dw,Fw,Uw,zw,Hw,jw,qw,Bw,Ww,LE,ba,DE,Vw,Rl,Il,Zw,Gw,Cl};
@@ -1,5 +1,5 @@
1
1
  // @bun
2
- import{N}from"./plugin-me00x60n.js";import{xr,Dr,jn,Ie,ds,Ta,mi,Ds,Fs,fs,ps,Us,Xr,lr}from"./plugin-1n46me5n.js";import{ln}from"./plugin-a4ng6krf.js";import{Fr}from"./plugin-ay29ch70.js";import{Lr}from"./plugin-q1n5kwx0.js";import{Zo,Ns}from"./plugin-pfj9nc2e.js";import{Ms}from"./plugin-60bdzk1r.js";import{kf}from"./plugin-1x94cj6e.js";import{To}from"./plugin-ba1sv0th.js";import{Cs,nn,Vo,cs,yr,As}from"./plugin-1xze8f5y.js";import{lf,df,cc,ff,pf,KE,mf}from"./plugin-fhc5q7r3.js";import{Hi,wa,Bg,Ll}from"./plugin-pkxw1pfs.js";import{Ro}from"./plugin-kc4z9msd.js";import{qt,i,v,ee,n,w,t,S,z,o,x,O,W,gt,P,Kr}from"./plugin-6xpcmvm3.js";var I=df,g="openai-chat",b=new Set(Fs),U="https://api.openai.com/v1",D="/chat/completions",F=o({name:t,description:t,parameters:Dr}),j=o({type:P("function"),function:F}),B=o({id:t,type:P("function"),function:o({name:t,arguments:t})}),q=O([o({type:w("text"),text:t}),o({type:w("image_url"),image_url:o({url:t})})]),J=O([o({role:w("system"),content:t}),o({role:w("user"),content:O([t,x(q)])}),o({role:w("assistant"),content:gt(t),tool_calls:jn(B),reasoning_content:n(t)}),o({role:w("tool"),tool_call_id:t,content:t})]).pipe(Kr("role")),H=O([W(["auto","none","required"]),o({type:P("function"),function:o({name:t})})]),C={model:t,messages:x(J),tools:jn(j),tool_choice:n(H),parallel_tool_calls:n(z),stream:w(!0),stream_options:n(o({include_usage:z})),store:n(z),reasoning_effort:n(lf),max_tokens:n(S),temperature:n(S),top_p:n(S),frequency_penalty:n(S),presence_penalty:n(S),seed:n(S),stop:jn(t)},G=o(C),K=o({prompt_tokens:n(S),completion_tokens:n(S),total_tokens:n(S),prompt_tokens_details:Ie(o({cached_tokens:n(S)})),completion_tokens_details:Ie(o({reasoning_tokens:n(S)}))}),Q=o({name:Ie(t),arguments:Ie(t)}),V=o({index:S,id:Ie(t),function:Ie(Q)}),X=o({content:Ie(t),reasoning_content:Ie(t),tool_calls:Ie(x(V))}),Y=o({delta:Ie(X),finish_reason:Ie(t)}),Z=o({choices:x(Y),usage:Ie(K)});var te=(e,s)=>({type:"function",function:{name:e.name,description:e.description,parameters:s}}),oe=(e)=>Us("OpenAI Chat",e,{auto:()=>"auto",none:()=>"none",required:()=>"required",tool:(s)=>({type:"function",function:{name:s}})}),ne=(e)=>({id:e.id,type:"function",function:{name:e.name,arguments:xr(e.input)}}),_=ee("OpenAIChat.lowerMedia")(function*(e){return{type:"image_url",image_url:{url:(yield*fs("OpenAI Chat",e,b)).dataUrl}}}),se=(e)=>N(e)&&typeof e.reasoning_content==="string"?e.reasoning_content:void 0,ae=(e,s,a)=>{if(e.length>0)return e.map((r)=>r.text).join("");return se(s.native?.openaiCompatible)??(a==="required"?"":void 0)},re=ee("OpenAIChat.lowerUserMessage")(function*(e){let s=[];for(let a of e.content){if(a.type==="text"){s.push({type:"text",text:a.text});continue}if(a.type==="media"){s.push(yield*_(a));continue}return yield*lr("OpenAI Chat","user",["text","media"])}if(s.every((a)=>a.type==="text"))return{role:"user",content:s.map((a)=>a.text).join("")};return{role:"user",content:s}}),ie=ee("OpenAIChat.lowerAssistantMessage")(function*(e,s){let a=[],r=[],p=[];for(let l of e.content){if(!Xr(l,["text","reasoning","tool-call"]))return yield*lr("OpenAI Chat","assistant",["text","reasoning","tool-call"]);if(l.type==="text"){a.push(l);continue}if(l.type==="reasoning"){r.push(l);continue}if(l.type==="tool-call")p.push(ne(l))}let m=a.length===0?null:mi(a);if(p.length===0&&(m===null||m.length===0))return null;return{role:"assistant",content:m,tool_calls:p.length===0?void 0:p,reasoning_content:ae(r,e,s)}}),T=ee("OpenAIChat.lowerToolMessages")(function*(e){let s=[],a=[];for(let r of e.content){if(!Xr(r,["tool-result"]))return yield*lr("OpenAI Chat","tool",["tool-result"]);if(r.result.type!=="content"){s.push({role:"tool",tool_call_id:r.id,content:ps(r)});continue}let p=r.result.value,m=p.filter((c)=>c.type==="text").map((c)=>c.text);s.push({role:"tool",tool_call_id:r.id,content:m.join(`
2
+ import{N}from"./plugin-me00x60n.js";import{xr,Dr,jn,Ie,ds,Ta,mi,Ds,Fs,fs,ps,Us,Xr,lr}from"./plugin-y9cdpmbv.js";import{ln}from"./plugin-24j9hnc7.js";import{Fr}from"./plugin-g4hst0jz.js";import{Lr}from"./plugin-r7g3vqrm.js";import{Zo,Ns}from"./plugin-p6x7emar.js";import{Ms}from"./plugin-fjsmz1vy.js";import{kf}from"./plugin-7xmwhj5h.js";import{To}from"./plugin-pdww1ma8.js";import{Cs,nn,Vo,cs,yr,As}from"./plugin-zsv7wawc.js";import{lf,df,cc,ff,pf,KE,mf}from"./plugin-psj9935q.js";import{Hi,wa,Bg,Ll}from"./plugin-2s6bq45c.js";import{Ro}from"./plugin-kc4z9msd.js";import{qt,i,v,ee,n,w,t,S,z,o,x,O,W,gt,P,Kr}from"./plugin-xfcgt5ba.js";var I=df,g="openai-chat",b=new Set(Fs),U="https://api.openai.com/v1",D="/chat/completions",F=o({name:t,description:t,parameters:Dr}),j=o({type:P("function"),function:F}),B=o({id:t,type:P("function"),function:o({name:t,arguments:t})}),q=O([o({type:w("text"),text:t}),o({type:w("image_url"),image_url:o({url:t})})]),J=O([o({role:w("system"),content:t}),o({role:w("user"),content:O([t,x(q)])}),o({role:w("assistant"),content:gt(t),tool_calls:jn(B),reasoning_content:n(t)}),o({role:w("tool"),tool_call_id:t,content:t})]).pipe(Kr("role")),H=O([W(["auto","none","required"]),o({type:P("function"),function:o({name:t})})]),C={model:t,messages:x(J),tools:jn(j),tool_choice:n(H),parallel_tool_calls:n(z),stream:w(!0),stream_options:n(o({include_usage:z})),store:n(z),reasoning_effort:n(lf),max_tokens:n(S),temperature:n(S),top_p:n(S),frequency_penalty:n(S),presence_penalty:n(S),seed:n(S),stop:jn(t)},G=o(C),K=o({prompt_tokens:n(S),completion_tokens:n(S),total_tokens:n(S),prompt_tokens_details:Ie(o({cached_tokens:n(S)})),completion_tokens_details:Ie(o({reasoning_tokens:n(S)}))}),Q=o({name:Ie(t),arguments:Ie(t)}),V=o({index:S,id:Ie(t),function:Ie(Q)}),X=o({content:Ie(t),reasoning_content:Ie(t),tool_calls:Ie(x(V))}),Y=o({delta:Ie(X),finish_reason:Ie(t)}),Z=o({choices:x(Y),usage:Ie(K)});var te=(e,s)=>({type:"function",function:{name:e.name,description:e.description,parameters:s}}),oe=(e)=>Us("OpenAI Chat",e,{auto:()=>"auto",none:()=>"none",required:()=>"required",tool:(s)=>({type:"function",function:{name:s}})}),ne=(e)=>({id:e.id,type:"function",function:{name:e.name,arguments:xr(e.input)}}),_=ee("OpenAIChat.lowerMedia")(function*(e){return{type:"image_url",image_url:{url:(yield*fs("OpenAI Chat",e,b)).dataUrl}}}),se=(e)=>N(e)&&typeof e.reasoning_content==="string"?e.reasoning_content:void 0,ae=(e,s,a)=>{if(e.length>0)return e.map((r)=>r.text).join("");return se(s.native?.openaiCompatible)??(a==="required"?"":void 0)},re=ee("OpenAIChat.lowerUserMessage")(function*(e){let s=[];for(let a of e.content){if(a.type==="text"){s.push({type:"text",text:a.text});continue}if(a.type==="media"){s.push(yield*_(a));continue}return yield*lr("OpenAI Chat","user",["text","media"])}if(s.every((a)=>a.type==="text"))return{role:"user",content:s.map((a)=>a.text).join("")};return{role:"user",content:s}}),ie=ee("OpenAIChat.lowerAssistantMessage")(function*(e,s){let a=[],r=[],p=[];for(let l of e.content){if(!Xr(l,["text","reasoning","tool-call"]))return yield*lr("OpenAI Chat","assistant",["text","reasoning","tool-call"]);if(l.type==="text"){a.push(l);continue}if(l.type==="reasoning"){r.push(l);continue}if(l.type==="tool-call")p.push(ne(l))}let m=a.length===0?null:mi(a);if(p.length===0&&(m===null||m.length===0))return null;return{role:"assistant",content:m,tool_calls:p.length===0?void 0:p,reasoning_content:ae(r,e,s)}}),T=ee("OpenAIChat.lowerToolMessages")(function*(e){let s=[],a=[];for(let r of e.content){if(!Xr(r,["tool-result"]))return yield*lr("OpenAI Chat","tool",["tool-result"]);if(r.result.type!=="content"){s.push({role:"tool",tool_call_id:r.id,content:ps(r)});continue}let p=r.result.value,m=p.filter((c)=>c.type==="text").map((c)=>c.text);s.push({role:"tool",tool_call_id:r.id,content:m.join(`
3
3
  `)});let l=p.filter((c)=>c.type==="file");a.push(...yield*qt(l,(c)=>_({type:"media",mediaType:c.mime,data:c.uri,filename:c.name})))}return{messages:s,images:a}}),le=ee("OpenAIChat.lowerMessage")(function*(e,s){if(e.role==="user")return[yield*re(e)];if(e.role==="assistant"){let a=yield*ie(e,s);return a===null?[]:[a]}return(yield*T(e)).messages}),ce=ee("OpenAIChat.lowerMessages")(function*(e){let s=e.model.compatibility?.reasoningEcho,r=[...e.system.length===0?[]:[{role:"system",content:mi(e.system)}]],p=[],m=()=>{if(p.length===0)return;r.push({role:"user",content:p.splice(0)})};for(let l of e.messages){if(l.role==="system"){let c=yield*Ds("OpenAI Chat",l);if(p.length>0){r.push({role:"user",content:[...p.splice(0),{type:"text",text:c.text}]});continue}let u=r.at(-1);if(u?.role==="user"&&typeof u.content==="string")r[r.length-1]={role:"user",content:`${u.content}
4
4
  ${c.text}`};else if(u?.role==="user"&&Array.isArray(u.content))r[r.length-1]={role:"user",content:[...u.content,{type:"text",text:c.text}]};else r.push({role:"user",content:c.text});continue}if(l.role==="tool"){let c=yield*T(l);r.push(...c.messages),p.push(...c.images);continue}m(),r.push(...yield*le(l,s))}return m(),r}),pe=ee("OpenAIChat.lowerOptions")(function*(e){let s=cc(e),a=ff(e),r=pf(e);return{store:s,reasoning_effort:a,parallel_tool_calls:r}}),ue=ee("OpenAIChat.fromRequest")(function*(e){let s=e.generation,a=e.model.compatibility?.toolSchema;return{model:e.model.id,messages:yield*ce(e),tools:e.tools.length===0?void 0:e.tools.map((r)=>te(r,Ro.modelCompatibility(r.inputSchema,a))),tool_choice:e.toolChoice?yield*oe(e.toolChoice):void 0,stream:!0,stream_options:{include_usage:!0},max_tokens:s?.maxTokens,temperature:s?.temperature,top_p:s?.topP,frequency_penalty:s?.frequencyPenalty,presence_penalty:s?.presencePenalty,seed:s?.seed,stop:s?.stop,...yield*pe(e)}}),me=(e)=>{if(e==="stop")return"stop";if(e==="length")return"length";if(e==="content_filter")return"content-filter";if(e==="function_call"||e==="tool_calls")return"tool-calls";return"unknown"},he=(e)=>{if(!e)return;let s=e.prompt_tokens_details?.cached_tokens,a=e.completion_tokens_details?.reasoning_tokens,r=Ta(e.prompt_tokens,s);return new ln({inputTokens:e.prompt_tokens,outputTokens:e.completion_tokens,nonCachedInputTokens:r,cacheReadInputTokens:s,reasoningTokens:a,totalTokens:ds(e.prompt_tokens,e.completion_tokens,e.total_tokens),providerMetadata:{openai:e}})},de=v(function*(e,s){let a=[],r=he(s.usage)??e.usage,p=s.choices[0],m=p?.finish_reason?me(p.finish_reason):e.finishReason,l=p?.delta,c=l?.tool_calls??[],{tools:u,lifecycle:h}=e;if(l?.reasoning_content)h=cs(h,a,"reasoning-0",l.reasoning_content);if(l?.content)h=yr(h,a,"reasoning-0"),h=Vo(h,a,"text-0",l.content);if(c.length)h=yr(h,a,"reasoning-0");for(let f of c){let d=Bg(g,u,f.index,{id:f.id||void 0,name:f.function?.name||void 0,text:f.function?.arguments??""},"OpenAI Chat tool call delta is missing id or name");if(wa(d))return yield*d;if(u=d.tools,d.events.length)h=nn(h,a);a.push(...d.events)}let A=m!==void 0&&e.finishReason===void 0&&Object.keys(u).length>0?Ll(u):void 0;return[{tools:A?.tools??u,toolCallEvents:A?.events??e.toolCallEvents,usage:r,finishReason:m,lifecycle:h},a]}),fe=(e)=>{let s=[],a=e.toolCallEvents.length>0,r=e.finishReason==="stop"&&a?"tool-calls":e.finishReason,p=e.toolCallEvents.length?nn(e.lifecycle,s):e.lifecycle;if(s.push(...e.toolCallEvents),r)As(p,s,{reason:r,usage:e.usage});return s},y=Zo({id:g,body:{schema:G,from:ue},stream:{event:Ns(Z),initial:()=>({tools:Hi(),toolCallEvents:[],lifecycle:Cs()}),step:de,onHalt:fe},rateLimits:mf}),ye=kf.with(),we=To.make({id:g,protocol:y,endpoint:Lr.path(D,{baseURL:U}),auth:Fr,transport:ye});var M="openai-compatible-chat",Ea=I,Ce=o({...C,thinking:n(o({type:W(["enabled","disabled"])}))}),tk=Zo({...y,id:M,body:{schema:Ce,from:(e)=>y.body.from(e).pipe(i((s)=>{let a=KE(e);return a===void 0?s:{...s,thinking:a}}))}}),va=To.make({id:M,protocol:tk,endpoint:Lr.path("/chat/completions"),framing:Ms});
5
5
  export{Ea,tk,va};
@@ -1,4 +1,4 @@
1
1
  // @bun
2
- import{Et}from"./plugin-1n46me5n.js";import{r,c,i,Xp,uw,hg,fE,Sg}from"./plugin-6xpcmvm3.js";var u=10485760,A=()=>({line:[],lineChars:0,data:[],dataChars:0,swallowLeadingLf:!1}),E=(n,e)=>{let m=[],{line:t,lineChars:o,data:l,dataChars:h,swallowLeadingLf:d}=n,f=0;if(d&&e.length>0)f=e.charCodeAt(0)===10?1:0,d=!1;for(let a=f;a<e.length;a++){let S=e.charCodeAt(a);if(S!==10&&S!==13)continue;if(a>f){let s=e.slice(f,a);t.push(s),o+=s.length}let g=t.length===0?"":t.length===1?t[0]:t.join("");if(t=[],o=0,g.length===0){if(l.length>0)m.push(l.join(`
2
+ import{Et}from"./plugin-y9cdpmbv.js";import{r,c,i,Xp,uw,hg,fE,Sg}from"./plugin-xfcgt5ba.js";var u=10485760,A=()=>({line:[],lineChars:0,data:[],dataChars:0,swallowLeadingLf:!1}),E=(n,e)=>{let m=[],{line:t,lineChars:o,data:l,dataChars:h,swallowLeadingLf:d}=n,f=0;if(d&&e.length>0)f=e.charCodeAt(0)===10?1:0,d=!1;for(let a=f;a<e.length;a++){let S=e.charCodeAt(a);if(S!==10&&S!==13)continue;if(a>f){let s=e.slice(f,a);t.push(s),o+=s.length}let g=t.length===0?"":t.length===1?t[0]:t.join("");if(t=[],o=0,g.length===0){if(l.length>0)m.push(l.join(`
3
3
  `)),l=[],h=0}else{let s=g.indexOf(":"),y=s>=0;if(g.slice(0,y?s:g.length)==="data"){let C=y?g.charCodeAt(s+1)===32?s+2:s+1:g.length,L=g.slice(C);l.push(L),h+=L.length+1}}let p=S===13&&a+1<e.length&&e.charCodeAt(a+1)===10;if(p)a++;d=S===13&&!p&&a+1===e.length,f=a+1}if(f<e.length){let a=e.slice(f);t.push(a),o+=a.length}return[{line:t,lineChars:o,data:l,dataChars:h,swallowLeadingLf:d},m]},x=(n)=>n.pipe(fE(),hg(A,(e,m)=>{let t=e,o=[];for(let l of m){let[h,d]=E(t,l);if(t=h,d.length>0)o.push(...d)}return t.lineChars+t.dataChars>u?c(Et(void 0,{route:"sse",message:`Pending SSE event exceeded the maximum size of ${u}`,family:"invalid-output"})):r([t,o])}),uw((e)=>e.length>0&&e!=="[DONE]")),Ms={id:"sse",frame:x},OT={id:"json",frame:(n)=>Xp(n.pipe(fE(),Sg(()=>[],(e,m)=>(e.push(m),e)),i((e)=>e.join(""))))};
4
4
  export{Ms,OT};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{hs,zs,Pv,xc}from"./plugin-nqmb78ez.js";import{Co}from"./plugin-ay29ch70.js";import{Ma}from"./plugin-e2y95zm5.js";import{js}from"./plugin-krbbb4ts.js";import{Io,If}from"./plugin-3pfrkxg1.js";import{Nm,Ul,Lm,Dm,Tf,ls,ji}from"./plugin-zw3ywa4b.js";import{q,wi,ze,r,c,s,at,_h,Va,Vc,v,ee,ht}from"./plugin-6xpcmvm3.js";var l=(e)=>("http"in e.reason)?e.reason.http?.body??"":"",FE=(e)=>{if(e.status===401)return new Ul;if(e.status===403)return/user:profile/i.test(l(e))?new Lm({scope:"user:profile"}):new Ul;if(e.status===429)return new Nm({retryAfterMs:e.retryAfterMs});if(e.status!==void 0&&e.status>=500)return new Dm({status:e.status});if(e.reason._tag==="Transport")return new Tf({message:e.message});if(e.reason._tag==="Authentication")return new Ul;return new ls({message:e.message})},Is=()=>c(new ji),f=ee("LLM.quotaGet")(function*(e){let t=e.method,o=yield*Co(e.auth)({method:t,url:e.url,body:e.body===void 0?"":JSON.stringify(e.body),headers:ht(e.headers??{})}).pipe(at(FE)),a=hs(t)(e.url).pipe(zs(o)),i=e.body===void 0?a:yield*Pv(a,e.body).pipe(at((n)=>new ls({message:n.message}))),p=yield*Io;return{body:yield*Vc((n)=>p.execute(i,n,void 0,{retry:!1}).pipe(at(FE),s((d)=>d.json.pipe(at(()=>new ls({message:"The quota endpoint answer was not JSON."})))))),observedAt:new Date(yield*ze)}}),Jw=q("@runlith/llm/QuotaDoor",{defaultValue:()=>{return}}),Kw=v(function*(e){let t=yield*Jw,o=t===void 0?Ma:xc(r(t));return yield*e.pipe(Va(If.pipe(wi(o))))}),u=(e)=>Kw(f(e).pipe(_h({duration:js,orElse:()=>c(new Tf({message:`The quota endpoint did not answer within ${js}ms.`}))}))),Al=(e)=>u({...e,method:"GET"}),W_=(e)=>u({...e,method:"POST"});
2
+ import{hs,zs,Pv,xc}from"./plugin-d28d8jar.js";import{Co}from"./plugin-g4hst0jz.js";import{Ma}from"./plugin-w3zbkmy6.js";import{js}from"./plugin-krbbb4ts.js";import{Io,If}from"./plugin-e5ybk2a2.js";import{Nm,Ul,Lm,Dm,Tf,ls,ji}from"./plugin-g7hrtg2p.js";import{q,wi,ze,r,c,s,at,_h,Va,Vc,v,ee,ht}from"./plugin-xfcgt5ba.js";var l=(e)=>("http"in e.reason)?e.reason.http?.body??"":"",FE=(e)=>{if(e.status===401)return new Ul;if(e.status===403)return/user:profile/i.test(l(e))?new Lm({scope:"user:profile"}):new Ul;if(e.status===429)return new Nm({retryAfterMs:e.retryAfterMs});if(e.status!==void 0&&e.status>=500)return new Dm({status:e.status});if(e.reason._tag==="Transport")return new Tf({message:e.message});if(e.reason._tag==="Authentication")return new Ul;return new ls({message:e.message})},Is=()=>c(new ji),f=ee("LLM.quotaGet")(function*(e){let t=e.method,o=yield*Co(e.auth)({method:t,url:e.url,body:e.body===void 0?"":JSON.stringify(e.body),headers:ht(e.headers??{})}).pipe(at(FE)),a=hs(t)(e.url).pipe(zs(o)),i=e.body===void 0?a:yield*Pv(a,e.body).pipe(at((n)=>new ls({message:n.message}))),p=yield*Io;return{body:yield*Vc((n)=>p.execute(i,n,void 0,{retry:!1}).pipe(at(FE),s((d)=>d.json.pipe(at(()=>new ls({message:"The quota endpoint answer was not JSON."})))))),observedAt:new Date(yield*ze)}}),Jw=q("@runlith/llm/QuotaDoor",{defaultValue:()=>{return}}),Kw=v(function*(e){let t=yield*Jw,o=t===void 0?Ma:xc(r(t));return yield*e.pipe(Va(If.pipe(wi(o))))}),u=(e)=>Kw(f(e).pipe(_h({duration:js,orElse:()=>c(new Tf({message:`The quota endpoint did not answer within ${js}ms.`}))}))),Al=(e)=>u({...e,method:"GET"}),W_=(e)=>u({...e,method:"POST"});
3
3
  export{FE,Is,Jw,Kw,Al,W_};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Mu}from"./plugin-frrvs5yc.js";function Yn(n){return Mu.includes(n)?n:void 0}var o={none:0,minimal:0.0625,low:0.125,medium:0.25,high:0.5,xhigh:0.75,max:0.9},f=1024;function Ml(n,i){if(n===void 0||n==="none")return;let e=Math.floor(i*o[n]);if(e<f)return;return e}
2
+ import{Mu}from"./plugin-q6pvb1xf.js";function Yn(n){return Mu.includes(n)?n:void 0}var o={none:0,minimal:0.0625,low:0.125,medium:0.25,high:0.5,xhigh:0.75,max:0.9},f=1024;function Ml(n,i){if(n===void 0||n==="none")return;let e=Math.floor(i*o[n]);if(e<f)return;return e}
3
3
  export{Yn,Ml};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Ny,id,Bv}from"./plugin-h66k1zhn.js";import{Ao,Pt}from"./plugin-je5cfnqn.js";import{rn,kr,de}from"./plugin-7y7ndrk9.js";import{F,r,f,c,s,i,Bt,at,Md,Ri,si,po,Jr}from"./plugin-6xpcmvm3.js";class Ca extends F("MissingCredentialError"){constructor(e){super({message:`Missing auth credential: ${e}`,source:e});this.name="Error"}}var FT=(e)=>typeof e==="object"&&e!==null&&("apply"in e)&&typeof e.apply==="function",d=(e)=>{let t={load:e,orElse:(n)=>d(e.pipe(Bt(()=>n.load))),bearer:()=>h(t,(n)=>({authorization:`Bearer ${n}`})),header:(n)=>h(t,(a)=>({[n]:a})),pipe:(n)=>n(t)};return t},o=(e)=>{let t={apply:e,andThen:(n)=>o((a)=>e(a).pipe(s((u)=>n.apply({...a,headers:u})))),orElse:(n)=>o((a)=>e(a).pipe(Bt(()=>n.apply(a)))),pipe:(n)=>n(t)};return t},h=(e,t)=>o((n)=>e.load.pipe(i((a)=>po(n.headers,t(si(a)))))),g=(e,t)=>{let n=typeof e==="string"?Ri(e):e;if(si(n)==="")return c(new Ca(t));return r(n)},l=(e,t)=>{if(typeof e==="string"||Md(e))return d(g(e,t));return d(f(function*(){return yield*g(yield*e,t)}))},UT=(e,t="value")=>l(e,t),zT=(e,t="optional value")=>e===void 0?d(c(new Ca(t))):l(e,t),HT=(e)=>l(Bv(e),e),ly=(e)=>d(e),Fr=o((e)=>r(e.headers)),jT=(e)=>o((t)=>r(po(t.headers,e))),qT=(e)=>o((t)=>r(Jr(t.headers,e))),Cf=(e)=>o(e),A=(e)=>e instanceof Ca||e instanceof de&&e.reason instanceof kr&&e.reason.kind==="missing",BT=(e,t)=>o((n)=>e.apply(n).pipe(Bt((a)=>A(a)?t.apply(n):c(a)))),WT=Fr,p=(e)=>typeof e==="string"||Md(e)||Ny(e)?l(e,"value"):e;function Qk(e){return p(e).bearer()}var VT=Qk;function bu(e,t){if(t===void 0)return(n)=>p(n).header(e);return p(t).header(e)}function ZT(e,t){let n=(a)=>h(p(a),(u)=>({[e]:`Bearer ${u}`}));if(t===void 0)return n;return n(t)}var y=(e)=>{if(e instanceof Ca||e instanceof id)return new de({module:"Auth",method:"apply",reason:e instanceof Ca?new kr({message:e.message,kind:"missing"}):new rn({message:`Failed to resolve auth config: ${e.message}`})});return e},Co=(e)=>(t)=>e.apply(t).pipe(i((n)=>Pt(n,Ao(t.headers))),at(y));
2
+ import{Ny,id,Bv}from"./plugin-v80m00bq.js";import{Ao,Pt}from"./plugin-6vzw5yyr.js";import{rn,kr,de}from"./plugin-3t0qp574.js";import{F,r,f,c,s,i,Bt,at,Md,Ri,si,po,Jr}from"./plugin-xfcgt5ba.js";class Ca extends F("MissingCredentialError"){constructor(e){super({message:`Missing auth credential: ${e}`,source:e});this.name="Error"}}var FT=(e)=>typeof e==="object"&&e!==null&&("apply"in e)&&typeof e.apply==="function",d=(e)=>{let t={load:e,orElse:(n)=>d(e.pipe(Bt(()=>n.load))),bearer:()=>h(t,(n)=>({authorization:`Bearer ${n}`})),header:(n)=>h(t,(a)=>({[n]:a})),pipe:(n)=>n(t)};return t},o=(e)=>{let t={apply:e,andThen:(n)=>o((a)=>e(a).pipe(s((u)=>n.apply({...a,headers:u})))),orElse:(n)=>o((a)=>e(a).pipe(Bt(()=>n.apply(a)))),pipe:(n)=>n(t)};return t},h=(e,t)=>o((n)=>e.load.pipe(i((a)=>po(n.headers,t(si(a)))))),g=(e,t)=>{let n=typeof e==="string"?Ri(e):e;if(si(n)==="")return c(new Ca(t));return r(n)},l=(e,t)=>{if(typeof e==="string"||Md(e))return d(g(e,t));return d(f(function*(){return yield*g(yield*e,t)}))},UT=(e,t="value")=>l(e,t),zT=(e,t="optional value")=>e===void 0?d(c(new Ca(t))):l(e,t),HT=(e)=>l(Bv(e),e),ly=(e)=>d(e),Fr=o((e)=>r(e.headers)),jT=(e)=>o((t)=>r(po(t.headers,e))),qT=(e)=>o((t)=>r(Jr(t.headers,e))),Cf=(e)=>o(e),A=(e)=>e instanceof Ca||e instanceof de&&e.reason instanceof kr&&e.reason.kind==="missing",BT=(e,t)=>o((n)=>e.apply(n).pipe(Bt((a)=>A(a)?t.apply(n):c(a)))),WT=Fr,p=(e)=>typeof e==="string"||Md(e)||Ny(e)?l(e,"value"):e;function Qk(e){return p(e).bearer()}var VT=Qk;function bu(e,t){if(t===void 0)return(n)=>p(n).header(e);return p(t).header(e)}function ZT(e,t){let n=(a)=>h(p(a),(u)=>({[e]:`Bearer ${u}`}));if(t===void 0)return n;return n(t)}var y=(e)=>{if(e instanceof Ca||e instanceof id)return new de({module:"Auth",method:"apply",reason:e instanceof Ca?new kr({message:e.message,kind:"missing"}):new rn({message:`Failed to resolve auth config: ${e.message}`})});return e},Co=(e)=>(t)=>e.apply(t).pipe(i((n)=>Pt(n,Ao(t.headers))),at(y));
3
3
  export{Ca,FT,UT,zT,HT,ly,Fr,jT,qT,Cf,BT,WT,Qk,VT,bu,ZT,Co};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{F,n,w,t,S,o,x,O,W,Kr,xo,Ke}from"./plugin-6xpcmvm3.js";var qk=W(["session","weekly","monthly","model","bucket"]);class pc extends Ke("LLM.QuotaWindow")({kind:qk,label:n(t),model:n(t),usedPercent:S,windowMinutes:n(S),resetsAt:n(S)}){}var Bk=W(["reply","usage"]);class Ps extends Ke("LLM.QuotaObservation")({observedAt:xo,source:Bk,windows:x(pc),resetCredits:n(S),plan:n(t)}){}class Nm extends F("rate-limited"){get message(){return"The provider rate-limited quota reading."}}class Ul extends F("stale-token"){get message(){return"The provider refused the quota credential."}}class Lm extends F("missing-scope"){get message(){return`The quota credential lacks ${this.scope}.`}}class Dm extends F("server"){get message(){return`The quota endpoint answered ${this.status}.`}}class Tf extends F("transport"){}class ls extends F("invalid-response"){}class Wk extends F("unavailable"){get message(){return this.reason}}class ji extends F("unsupported"){get message(){return"The provider does not expose quota readings."}}var NT=O([o({_tag:w("rate-limited"),retryAfterMs:n(S)}),o({_tag:w("stale-token")}),o({_tag:w("missing-scope"),scope:t}),o({_tag:w("server"),status:S}),o({_tag:w("transport"),message:t}),o({_tag:w("invalid-response"),message:t}),o({_tag:w("unsupported")}),o({_tag:w("unavailable"),reason:t})]).pipe(Kr("_tag"));
2
+ import{F,n,w,t,S,o,x,O,W,Kr,xo,Ke}from"./plugin-xfcgt5ba.js";var qk=W(["session","weekly","monthly","model","bucket"]);class pc extends Ke("LLM.QuotaWindow")({kind:qk,label:n(t),model:n(t),usedPercent:S,windowMinutes:n(S),resetsAt:n(S)}){}var Bk=W(["reply","usage"]);class Ps extends Ke("LLM.QuotaObservation")({observedAt:xo,source:Bk,windows:x(pc),resetCredits:n(S),plan:n(t)}){}class Nm extends F("rate-limited"){get message(){return"The provider rate-limited quota reading."}}class Ul extends F("stale-token"){get message(){return"The provider refused the quota credential."}}class Lm extends F("missing-scope"){get message(){return`The quota credential lacks ${this.scope}.`}}class Dm extends F("server"){get message(){return`The quota endpoint answered ${this.status}.`}}class Tf extends F("transport"){}class ls extends F("invalid-response"){}class Wk extends F("unavailable"){get message(){return this.reason}}class ji extends F("unsupported"){get message(){return"The provider does not expose quota readings."}}var NT=O([o({_tag:w("rate-limited"),retryAfterMs:n(S)}),o({_tag:w("stale-token")}),o({_tag:w("missing-scope"),scope:t}),o({_tag:w("server"),status:S}),o({_tag:w("transport"),message:t}),o({_tag:w("invalid-response"),message:t}),o({_tag:w("unsupported")}),o({_tag:w("unavailable"),reason:t})]).pipe(Kr("_tag"));
3
3
  export{qk,pc,Bk,Ps,Nm,Ul,Lm,Dm,Tf,ls,Wk,ji,NT};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{ur,Xd}from"./plugin-v7k9fx92.js";import{gu}from"./plugin-92redty0.js";import{q,b,C,wt,Xo,wn,ze,h,y,f,c,Te,ol,en,ni,Ga,Or,Me,mt,v,o,go,ct,ga,Di,ig,zn,nc,vo,rw,Fi,_l}from"./plugin-6xpcmvm3.js";var te=o({rate:ct.check(go({minimum:1,maximum:384000})),channels:ct.check(go({minimum:1,maximum:32}))});var z=(t,u)=>u.length/t.channels;var D=(t,u,d)=>mt(Or(t,(F)=>wn(F)&&!Xo(F.cause)?zn(d,F.cause):y),u);var X=(t)=>typeof t==="string"?t.length:t.byteLength,rm=v(function*(t){let u=yield*gu,d=yield*ni,F=yield*rw(1),i=yield*ga();yield*Ga(()=>vo(i));let l=F.withPermits(1),S=t.initial,p,r=!1,s=!1,O=!1,m,M=[],x=0,k=0,T=t.bytesPerWeight,P=0,g=v(function*(e){if(m!==void 0||s)return;m=e,yield*ig(i,e)}),w=v(function*(e,n){let a=0;for(let E of e){if(p===void 0||m!==void 0)return!1;let W=yield*ol(p.send(E));if(C(W))return yield*g(W.failure),!1;a+=X(E)}if(e.length===0)return!0;if(n>0)T=Math.max(1,a/n);return P=yield*ze,!0}),I=v(function*(e,n){if(S=e.state,e.out.length>0)yield*Di(i,e.out);if(!(yield*w(e.send,n)))return;if(e.done){if(s=!0,yield*nc(i),p!==void 0)yield*p.close;return}if(!r&&p!==void 0&&t.ready(S))r=!0,yield*Q}),_=(e,n)=>{let a=e(S);return C(a)?g(a.failure):I(a.success,n)},Q=f(function*(){let e=M;M=[];for(let n of e){if(x-=n.weight,m!==void 0||s)continue;yield*_(n.step,n.weight)}}),B=v(function*(e){if(m!==void 0||s)return;let n=t.decode(e);if(C(n))return yield*g(n.failure);let a=t.step(S,n.success);if(C(a))return yield*g(a.failure);yield*I(a.success,0)}),K=f(function*(){let e=yield*ol(u.open(t.request));if(C(e))return yield*l(g(e.failure));yield*l(f(function*(){if(p=e.success,!(yield*w(t.init,0)))return;yield*I({state:S,send:[],out:[],done:!1},0)}));let n=yield*ol(_l(e.success.messages,(a)=>l(B(a))));yield*l(g(C(n)?n.failure:ur.transport("the provider closed the connection before it finished")))});yield*D(K,d,i);let V=Te(en(t.readyMs),l(h(()=>r||s?y:g(ur.transport("the provider was not ready in time")))));yield*D(V,d,i);let R=t.keepalive;if(R!==void 0){let e=l(f(function*(){let n=yield*ze;if(r&&!s&&!O&&n-P>=R.everyMs)yield*w([R.message],0)}));yield*D(Me(Te(en(R.everyMs),e)),d,i)}let A=()=>c(m??t.ended),j=(e,n=!1)=>l(f(function*(){if(m!==void 0||s||O)return yield*A();if(n)O=!0;if(!r){M.push({step:e,weight:0});return}if(yield*_(e,0),m!==void 0)return yield*A()})),G=(e,n,a)=>l(f(function*(){if(m!==void 0||s||O)return yield*A();if(e<=0)return;if(!r){if(x+e>n)return yield*new Xd({budgetFrames:n,pendingFrames:x});M.push({step:a,weight:e}),x+=e,k+=e;return}let E=p===void 0?0:Math.ceil((yield*p.buffered)/T);if(E+e>n)return yield*new Xd({budgetFrames:n,pendingFrames:E});if(k+=e,yield*_(a,e),m!==void 0)return yield*A()})),H=f(function*(){let e=p===void 0?0:yield*p.buffered;return Math.max(0,k-x-Math.ceil(e/T))});return{out:Fi(i),act:j,admit:G,accepted:()=>k,delivered:H}});var om=q("speech/DuplexLimits",{defaultValue:()=>({budgetMs:1e4,readyMs:15000})}),L=(t)=>{let u=t.events.findIndex((d)=>d._tag==="Finished");return{state:t.state,send:t.send,out:u===-1?t.events:t.events.slice(0,u+1),done:u!==-1}},P_=v(function*(t){let u=yield*om,d=t.format,F=Math.max(1,Math.round(u.budgetMs*d.rate/1000)),i=yield*rm({request:t.request,init:t.init,initial:t.initial,decode:t.decode,step:(r,s)=>wt(t.step(r,s),L),ready:t.ready,keepalive:t.keepalive,readyMs:u.readyMs,bytesPerWeight:2*d.channels,ended:ur.transport("the connection has finished")}),{commit:l,finalize:S}=t;return{format:d,send:(r)=>i.admit(z(d,r),F,(s)=>b({state:s,send:[t.audio(r)],out:[],done:!1})),commit:(r)=>l===void 0?c(ur.unsupported("this model takes no commit")):i.act((s)=>b(L(l(s,r)))),finalize:S===void 0?c(ur.unsupported("this model takes no finalize")):i.act((r)=>b(L(S(r)))),finish:i.act((r)=>b(L(t.finish(r,i.accepted()))),!0),delivered:i.delivered,events:i.out}});
2
+ import{ur,Xd}from"./plugin-8v4g0q0b.js";import{gu}from"./plugin-t4xrq5q2.js";import{q,b,C,wt,Xo,wn,ze,h,y,f,c,Te,ol,en,ni,Ga,Or,Me,mt,v,o,go,ct,ga,Di,ig,zn,nc,vo,rw,Fi,_l}from"./plugin-xfcgt5ba.js";var te=o({rate:ct.check(go({minimum:1,maximum:384000})),channels:ct.check(go({minimum:1,maximum:32}))});var z=(t,u)=>u.length/t.channels;var D=(t,u,d)=>mt(Or(t,(F)=>wn(F)&&!Xo(F.cause)?zn(d,F.cause):y),u);var X=(t)=>typeof t==="string"?t.length:t.byteLength,rm=v(function*(t){let u=yield*gu,d=yield*ni,F=yield*rw(1),i=yield*ga();yield*Ga(()=>vo(i));let l=F.withPermits(1),S=t.initial,p,r=!1,s=!1,O=!1,m,M=[],x=0,k=0,T=t.bytesPerWeight,P=0,g=v(function*(e){if(m!==void 0||s)return;m=e,yield*ig(i,e)}),w=v(function*(e,n){let a=0;for(let E of e){if(p===void 0||m!==void 0)return!1;let W=yield*ol(p.send(E));if(C(W))return yield*g(W.failure),!1;a+=X(E)}if(e.length===0)return!0;if(n>0)T=Math.max(1,a/n);return P=yield*ze,!0}),I=v(function*(e,n){if(S=e.state,e.out.length>0)yield*Di(i,e.out);if(!(yield*w(e.send,n)))return;if(e.done){if(s=!0,yield*nc(i),p!==void 0)yield*p.close;return}if(!r&&p!==void 0&&t.ready(S))r=!0,yield*Q}),_=(e,n)=>{let a=e(S);return C(a)?g(a.failure):I(a.success,n)},Q=f(function*(){let e=M;M=[];for(let n of e){if(x-=n.weight,m!==void 0||s)continue;yield*_(n.step,n.weight)}}),B=v(function*(e){if(m!==void 0||s)return;let n=t.decode(e);if(C(n))return yield*g(n.failure);let a=t.step(S,n.success);if(C(a))return yield*g(a.failure);yield*I(a.success,0)}),K=f(function*(){let e=yield*ol(u.open(t.request));if(C(e))return yield*l(g(e.failure));yield*l(f(function*(){if(p=e.success,!(yield*w(t.init,0)))return;yield*I({state:S,send:[],out:[],done:!1},0)}));let n=yield*ol(_l(e.success.messages,(a)=>l(B(a))));yield*l(g(C(n)?n.failure:ur.transport("the provider closed the connection before it finished")))});yield*D(K,d,i);let V=Te(en(t.readyMs),l(h(()=>r||s?y:g(ur.transport("the provider was not ready in time")))));yield*D(V,d,i);let R=t.keepalive;if(R!==void 0){let e=l(f(function*(){let n=yield*ze;if(r&&!s&&!O&&n-P>=R.everyMs)yield*w([R.message],0)}));yield*D(Me(Te(en(R.everyMs),e)),d,i)}let A=()=>c(m??t.ended),j=(e,n=!1)=>l(f(function*(){if(m!==void 0||s||O)return yield*A();if(n)O=!0;if(!r){M.push({step:e,weight:0});return}if(yield*_(e,0),m!==void 0)return yield*A()})),G=(e,n,a)=>l(f(function*(){if(m!==void 0||s||O)return yield*A();if(e<=0)return;if(!r){if(x+e>n)return yield*new Xd({budgetFrames:n,pendingFrames:x});M.push({step:a,weight:e}),x+=e,k+=e;return}let E=p===void 0?0:Math.ceil((yield*p.buffered)/T);if(E+e>n)return yield*new Xd({budgetFrames:n,pendingFrames:E});if(k+=e,yield*_(a,e),m!==void 0)return yield*A()})),H=f(function*(){let e=p===void 0?0:yield*p.buffered;return Math.max(0,k-x-Math.ceil(e/T))});return{out:Fi(i),act:j,admit:G,accepted:()=>k,delivered:H}});var om=q("speech/DuplexLimits",{defaultValue:()=>({budgetMs:1e4,readyMs:15000})}),L=(t)=>{let u=t.events.findIndex((d)=>d._tag==="Finished");return{state:t.state,send:t.send,out:u===-1?t.events:t.events.slice(0,u+1),done:u!==-1}},P_=v(function*(t){let u=yield*om,d=t.format,F=Math.max(1,Math.round(u.budgetMs*d.rate/1000)),i=yield*rm({request:t.request,init:t.init,initial:t.initial,decode:t.decode,step:(r,s)=>wt(t.step(r,s),L),ready:t.ready,keepalive:t.keepalive,readyMs:u.readyMs,bytesPerWeight:2*d.channels,ended:ur.transport("the connection has finished")}),{commit:l,finalize:S}=t;return{format:d,send:(r)=>i.admit(z(d,r),F,(s)=>b({state:s,send:[t.audio(r)],out:[],done:!1})),commit:(r)=>l===void 0?c(ur.unsupported("this model takes no commit")):i.act((s)=>b(L(l(s,r)))),finalize:S===void 0?c(ur.unsupported("this model takes no finalize")):i.act((r)=>b(L(S(r)))),finish:i.act((r)=>b(L(t.finish(r,i.accepted()))),!0),delivered:i.delivered,events:i.out}});
3
3
  export{rm,om,P_};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{q,Kn}from"./plugin-6xpcmvm3.js";var Hl=q("@runlith/llm/CurrentCachePrefix",{defaultValue:()=>""}),jl=q("@runlith/llm/CurrentAttempt",{defaultValue:()=>0}),Zo=(e)=>e,Ns=(e)=>Kn(e);
2
+ import{q,Kn}from"./plugin-xfcgt5ba.js";var Hl=q("@runlith/llm/CurrentCachePrefix",{defaultValue:()=>""}),jl=q("@runlith/llm/CurrentAttempt",{defaultValue:()=>0}),Zo=(e)=>e,Ns=(e)=>Kn(e);
3
3
  export{Hl,jl,Zo,Ns};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{$s}from"./plugin-3whwpedj.js";import{qs}from"./plugin-frrvs5yc.js";import{hc,de}from"./plugin-7y7ndrk9.js";import{N}from"./plugin-me00x60n.js";import{Yl,Oo,Xl,Ur,ed,Wi,Sc}from"./plugin-zz7yc97m.js";import{ql,xr,Et,iy}from"./plugin-1n46me5n.js";import{we}from"./plugin-a4ng6krf.js";import{Fr}from"./plugin-ay29ch70.js";import{Lr}from"./plugin-q1n5kwx0.js";import{jl}from"./plugin-pfj9nc2e.js";import{rv,wf,ov,sv,Cm}from"./plugin-1x94cj6e.js";import{Ne,na,F0,ze,Es,r,h,d,f,c,s,i,at,pt,$r,ha,Kn,Eo,cE,ar,xn,Qn,ug,Ot,un,Ui,oc,lg,dg,mg,Gd,dE}from"./plugin-6xpcmvm3.js";var b=(e,t)=>{let n=t.liveness;if(n===void 0)return e;let a=new de({module:"LLM",method:"stream",reason:new hc({message:`The model stream went silent: nothing arrived for ${Math.round(n/1000)} seconds.`,idleMs:n,url:String(t.model.id)})});return Ot(F0((y)=>d(()=>{let P=()=>Number(y.monotonicTimeNanosUnsafe())/1e6,o=Eo(!1),l,m=ar(e,(R)=>r(h(()=>(l=P()+n,o.openUnsafe(),R)).pipe(i((g)=>(o.closeUnsafe(),l=void 0,g))))),u=f(function*(){while(!0){if(yield*o.await,l===void 0)continue;let R=l-P();if(R<=0)return yield*c(a);yield*y.sleep(Ne(R))}});return lg(m,cE(u),{haltStrategy:"left"})})))};var J=(e,t)=>{let n=e.provider??("provider"in t?t.provider:void 0);if(!n)throw Error(`Route.model(${e.id}) requires a provider`);if(!W(e.endpoint))throw Error(`Route.model(${e.id}) requires an endpoint baseURL \u2014 configure it on the route first`);return Sc.make({...t,provider:n,route:e})},A=(e,t)=>{let n=G(e?.headers,t.headers);return{...e,...t,headers:n,limits:t.limits===void 0?e?.limits:Wi.make(t.limits),generation:ed(QE(e?.generation),QE(t.generation)),providerOptions:Yl(e?.providerOptions,t.providerOptions),http:Xl(e?.http,nk(t.http),n===void 0?void 0:new Oo({headers:n}))}},W=(e)=>typeof e.baseURL==="string"?e.baseURL:void 0,G=(...e)=>{let t=e.flatMap((n)=>n===void 0?[]:Object.entries(n).filter((a)=>a[1]!==void 0));if(t.length===0)return;return Object.fromEntries(t)},QE=(e)=>e===void 0?void 0:Ur.make(e),nk=(e)=>{if(e===void 0)return e;return Oo.make(e)},j=(e,t)=>Ot(i(ze,(n)=>ug(na(t,(a)=>iy(a,ov(e,n),e.secrets))))),z=(e,t)=>Ot(f(function*(){let n=yield*ze;return yield*$s({type:"stream-failed",transportAttempt:t.attempt,reason:e.reason._tag,family:e.family,retryable:e.retryable,message:e.reason.message,afterMs:n-t.startedAt,status:t.status,upstreamRequestId:t.upstreamRequestId}),Qn(e)})),K=$r(ql),S=(e,t=[])=>{if(e._tag==="Pointer"){let n=e.path.flatMap((a)=>typeof a==="string"||typeof a==="number"?[a]:[]);return S(e.issue,[...t,...n])}if(e._tag==="Filter"||e._tag==="Encoding")return S(e.issue,t);if(e._tag==="Composite")return S(e.issues[0],t);if(e._tag==="AnyOf"&&e.issues[0]!==void 0)return S(e.issues[0],t);return{path:t,reason:e._tag}},V=(e,t)=>{let n=e;if(typeof e==="string"){let o=K(e);if(o._tag!=="Success")return xr({kind:"malformed-json",eventType:null,keys:[],issue:{path:[],reason:"InvalidJson"}});n=o.success}let a=N(n)?n:void 0,y=typeof a?.type==="string"?a.type:null,P=S(t.issue);return xr({kind:"schema-invalid",eventType:y,keys:a===void 0?[]:Object.keys(a).sort(),issue:P})};function x(e){let t=e.protocol,n=ha(Kn(t.body.schema)),a=pt(t.stream.event),y=(o,l)=>(m)=>a(m).pipe(at((u)=>Et(void 0,{route:e.id,message:`Invalid ${o} stream event`,family:"invalid-output",excerpt:V(m,u),status:l.status,upstreamRequestId:l.upstreamRequestId,attempt:l.attempt,bytesRead:l.bytesRead,lastEvent:wf(l)}))),P=(o)=>{let l={id:o.id,provider:o.provider===void 0?void 0:qs.make(o.provider),protocol:t.id,endpoint:o.endpoint,auth:o.auth??Fr,transport:o.transport,quota:o.quota,quotaFrames:o.quotaFrames,rateLimits:t.rateLimits,inlineCacheHints:t.inlineCacheHints===!0,refusals:o.refusals,presentation:o.presentation,retry:o.retry,defaults:o.defaults??{},body:t.body,with:(m)=>{let{id:u,provider:R,auth:g,transport:q,endpoint:B,quota:k,quotaFrames:v,refusals:L,presentation:M,retry:E,...F}=m;return P({...o,id:u??o.id,provider:R??o.provider,auth:g??o.auth,endpoint:B?Lr.merge(o.endpoint,B):o.endpoint,transport:q??o.transport,quota:k??o.quota,quotaFrames:v??o.quotaFrames,refusals:L??o.refusals,presentation:M??o.presentation,retry:E??o.retry,defaults:A(l.defaults,F)})},model:(m)=>J(l,m),prepareTransport:(m,u,R)=>o.transport.prepare({body:m,request:u,endpoint:o.endpoint,auth:o.auth??Fr,encodeBody:R??n,headers:o.headers}),streamPrepared:(m,u,R,g)=>{let q=`${u.model.provider}/${u.model.route.id}`;return Ot(i(Es([ze,jl]),([B,k])=>{let v=rv(k,B),L=null,M=o.quotaFrames,E=o.quota===void 0&&M===void 0?void 0:{fromHeaders:o.quota??(()=>null),accept:(p)=>{L=p}},F=o.transport.frames(m,u,R,g,v,E),H=M===void 0||E===void 0?F:F.pipe(oc((p)=>ze.pipe(s((C)=>d(()=>{let D=M(p,new Date(C));if(D!==null)E.accept(D)}))))),O=M!==void 0,w=b(H,u).pipe(Ui(y(q,v)),t.stream.terminal&&!O?Gd(t.stream.terminal):(p)=>p).pipe(dE(()=>t.stream.initial(u),t.stream.step,t.stream.onHalt?{onHalt:t.stream.onHalt}:void 0),oc((p)=>d(()=>sv(v,p.type)))),I=(p)=>L===null?p:we.stepFinish({...p,quota:L}),T=(p)=>I(v.upstreamRequestId===void 0?p:{...p,requestId:v.upstreamRequestId});return(O?X(w,T):un(w,(p)=>we.is.stepFinish(p)?T(p):p)).pipe(dg((p)=>j(v,p)),mg("LLM.Error",(p)=>z(p,v)))}))}};return l};return P({...e,defaults:A(void 0,e.defaults??{})})}function rk(e){if("transport"in e)return x(e);let t=e.protocol;return x({id:e.id,provider:e.provider,protocol:t,endpoint:e.endpoint,auth:e.auth,headers:e.headers,quota:e.quota,quotaFrames:e.quotaFrames,refusals:e.refusals,presentation:e.presentation,retry:e.retry,transport:Cm({framing:e.framing}),defaults:e.defaults})}var X=(e,t)=>{let n=!1;return e.pipe(dE(()=>null,(a,y)=>d(()=>{if(!we.is.stepFinish(y))return[a,[y]];return n=!0,[y,[]]}),{onHalt:(a)=>a===null?[]:[t(a)]}),dg((a)=>n?xn:ug(a)))},To={make:rk};
2
+ import{$s}from"./plugin-8q44b578.js";import{qs}from"./plugin-q6pvb1xf.js";import{hc,de}from"./plugin-3t0qp574.js";import{N}from"./plugin-me00x60n.js";import{Yl,Oo,Xl,Ur,ed,Wi,Sc}from"./plugin-7te9b50h.js";import{ql,xr,Et,iy}from"./plugin-y9cdpmbv.js";import{we}from"./plugin-24j9hnc7.js";import{Fr}from"./plugin-g4hst0jz.js";import{Lr}from"./plugin-r7g3vqrm.js";import{jl}from"./plugin-p6x7emar.js";import{rv,wf,ov,sv,Cm}from"./plugin-7xmwhj5h.js";import{Ne,na,F0,ze,Es,r,h,d,f,c,s,i,at,pt,$r,ha,Kn,Eo,cE,ar,xn,Qn,ug,Ot,un,Ui,oc,lg,dg,mg,Gd,dE}from"./plugin-xfcgt5ba.js";var b=(e,t)=>{let n=t.liveness;if(n===void 0)return e;let a=new de({module:"LLM",method:"stream",reason:new hc({message:`The model stream went silent: nothing arrived for ${Math.round(n/1000)} seconds.`,idleMs:n,url:String(t.model.id)})});return Ot(F0((y)=>d(()=>{let P=()=>Number(y.monotonicTimeNanosUnsafe())/1e6,o=Eo(!1),l,m=ar(e,(R)=>r(h(()=>(l=P()+n,o.openUnsafe(),R)).pipe(i((g)=>(o.closeUnsafe(),l=void 0,g))))),u=f(function*(){while(!0){if(yield*o.await,l===void 0)continue;let R=l-P();if(R<=0)return yield*c(a);yield*y.sleep(Ne(R))}});return lg(m,cE(u),{haltStrategy:"left"})})))};var J=(e,t)=>{let n=e.provider??("provider"in t?t.provider:void 0);if(!n)throw Error(`Route.model(${e.id}) requires a provider`);if(!W(e.endpoint))throw Error(`Route.model(${e.id}) requires an endpoint baseURL \u2014 configure it on the route first`);return Sc.make({...t,provider:n,route:e})},A=(e,t)=>{let n=G(e?.headers,t.headers);return{...e,...t,headers:n,limits:t.limits===void 0?e?.limits:Wi.make(t.limits),generation:ed(QE(e?.generation),QE(t.generation)),providerOptions:Yl(e?.providerOptions,t.providerOptions),http:Xl(e?.http,nk(t.http),n===void 0?void 0:new Oo({headers:n}))}},W=(e)=>typeof e.baseURL==="string"?e.baseURL:void 0,G=(...e)=>{let t=e.flatMap((n)=>n===void 0?[]:Object.entries(n).filter((a)=>a[1]!==void 0));if(t.length===0)return;return Object.fromEntries(t)},QE=(e)=>e===void 0?void 0:Ur.make(e),nk=(e)=>{if(e===void 0)return e;return Oo.make(e)},j=(e,t)=>Ot(i(ze,(n)=>ug(na(t,(a)=>iy(a,ov(e,n),e.secrets))))),z=(e,t)=>Ot(f(function*(){let n=yield*ze;return yield*$s({type:"stream-failed",transportAttempt:t.attempt,reason:e.reason._tag,family:e.family,retryable:e.retryable,message:e.reason.message,afterMs:n-t.startedAt,status:t.status,upstreamRequestId:t.upstreamRequestId}),Qn(e)})),K=$r(ql),S=(e,t=[])=>{if(e._tag==="Pointer"){let n=e.path.flatMap((a)=>typeof a==="string"||typeof a==="number"?[a]:[]);return S(e.issue,[...t,...n])}if(e._tag==="Filter"||e._tag==="Encoding")return S(e.issue,t);if(e._tag==="Composite")return S(e.issues[0],t);if(e._tag==="AnyOf"&&e.issues[0]!==void 0)return S(e.issues[0],t);return{path:t,reason:e._tag}},V=(e,t)=>{let n=e;if(typeof e==="string"){let o=K(e);if(o._tag!=="Success")return xr({kind:"malformed-json",eventType:null,keys:[],issue:{path:[],reason:"InvalidJson"}});n=o.success}let a=N(n)?n:void 0,y=typeof a?.type==="string"?a.type:null,P=S(t.issue);return xr({kind:"schema-invalid",eventType:y,keys:a===void 0?[]:Object.keys(a).sort(),issue:P})};function x(e){let t=e.protocol,n=ha(Kn(t.body.schema)),a=pt(t.stream.event),y=(o,l)=>(m)=>a(m).pipe(at((u)=>Et(void 0,{route:e.id,message:`Invalid ${o} stream event`,family:"invalid-output",excerpt:V(m,u),status:l.status,upstreamRequestId:l.upstreamRequestId,attempt:l.attempt,bytesRead:l.bytesRead,lastEvent:wf(l)}))),P=(o)=>{let l={id:o.id,provider:o.provider===void 0?void 0:qs.make(o.provider),protocol:t.id,endpoint:o.endpoint,auth:o.auth??Fr,transport:o.transport,quota:o.quota,quotaFrames:o.quotaFrames,rateLimits:t.rateLimits,inlineCacheHints:t.inlineCacheHints===!0,refusals:o.refusals,presentation:o.presentation,retry:o.retry,defaults:o.defaults??{},body:t.body,with:(m)=>{let{id:u,provider:R,auth:g,transport:q,endpoint:B,quota:k,quotaFrames:v,refusals:L,presentation:M,retry:E,...F}=m;return P({...o,id:u??o.id,provider:R??o.provider,auth:g??o.auth,endpoint:B?Lr.merge(o.endpoint,B):o.endpoint,transport:q??o.transport,quota:k??o.quota,quotaFrames:v??o.quotaFrames,refusals:L??o.refusals,presentation:M??o.presentation,retry:E??o.retry,defaults:A(l.defaults,F)})},model:(m)=>J(l,m),prepareTransport:(m,u,R)=>o.transport.prepare({body:m,request:u,endpoint:o.endpoint,auth:o.auth??Fr,encodeBody:R??n,headers:o.headers}),streamPrepared:(m,u,R,g)=>{let q=`${u.model.provider}/${u.model.route.id}`;return Ot(i(Es([ze,jl]),([B,k])=>{let v=rv(k,B),L=null,M=o.quotaFrames,E=o.quota===void 0&&M===void 0?void 0:{fromHeaders:o.quota??(()=>null),accept:(p)=>{L=p}},F=o.transport.frames(m,u,R,g,v,E),H=M===void 0||E===void 0?F:F.pipe(oc((p)=>ze.pipe(s((C)=>d(()=>{let D=M(p,new Date(C));if(D!==null)E.accept(D)}))))),O=M!==void 0,w=b(H,u).pipe(Ui(y(q,v)),t.stream.terminal&&!O?Gd(t.stream.terminal):(p)=>p).pipe(dE(()=>t.stream.initial(u),t.stream.step,t.stream.onHalt?{onHalt:t.stream.onHalt}:void 0),oc((p)=>d(()=>sv(v,p.type)))),I=(p)=>L===null?p:we.stepFinish({...p,quota:L}),T=(p)=>I(v.upstreamRequestId===void 0?p:{...p,requestId:v.upstreamRequestId});return(O?X(w,T):un(w,(p)=>we.is.stepFinish(p)?T(p):p)).pipe(dg((p)=>j(v,p)),mg("LLM.Error",(p)=>z(p,v)))}))}};return l};return P({...e,defaults:A(void 0,e.defaults??{})})}function rk(e){if("transport"in e)return x(e);let t=e.protocol;return x({id:e.id,provider:e.provider,protocol:t,endpoint:e.endpoint,auth:e.auth,headers:e.headers,quota:e.quota,quotaFrames:e.quotaFrames,refusals:e.refusals,presentation:e.presentation,retry:e.retry,transport:Cm({framing:e.framing}),defaults:e.defaults})}var X=(e,t)=>{let n=!1;return e.pipe(dE(()=>null,(a,y)=>d(()=>{if(!we.is.stepFinish(y))return[a,[y]];return n=!0,[y,[]]}),{onHalt:(a)=>a===null?[]:[t(a)]}),dg((a)=>n?xn:ug(a)))},To={make:rk};
3
3
  export{QE,nk,rk,To};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Mu,Iy,Cy}from"./plugin-frrvs5yc.js";import{W}from"./plugin-6xpcmvm3.js";var s=["file_search_call.results","web_search_call.results","web_search_call.action.sources","message.input_image.image_url","computer_call_output.output.image_url","code_interpreter_call.outputs","reasoning.encrypted_content","message.output_text.logprobs"],i=["auto","default","flex","priority"],a=new Set(Mu),u=new Set(["low","medium","high"]),p=new Set(s),l=new Set(i),lf=Iy,jE=Cy,qE=W(s),BE=W(i),c=(n)=>typeof n==="string"&&a.has(n),d=(n)=>typeof n==="string"&&u.has(n),df=(n)=>({openai:Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0))}),o=(n)=>n.providerOptions?.openai,cc=(n)=>{let e=o(n)?.store;return typeof e==="boolean"?e:void 0},ff=(n)=>{let e=o(n)?.reasoningEffort;return c(e)?e:void 0},WE=(n)=>o(n)?.reasoningSummary==="auto"?"auto":void 0,VE=(n)=>{let e=o(n)?.include;if(!Array.isArray(e))return;let t=e.filter((r)=>p.has(r));return t.length>0?t:void 0},pf=(n)=>{let e=o(n)?.parallelToolCalls;return typeof e==="boolean"?e:void 0},ZE=(n)=>{let e=o(n)?.promptCacheKey;return typeof e==="string"?e:void 0},GE=(n)=>{let e=o(n)?.textVerbosity;return d(e)?e:void 0},pm=(n)=>{let e=o(n)?.serviceTier;return typeof e==="string"&&l.has(e)?e:void 0},JE=(n)=>{let e=o(n)?.instructions;return typeof e==="string"?e:void 0},KE=(n)=>{let e=o(n)?.thinking;if(typeof e!=="object"||e===null)return;let t=e.type;return t==="enabled"||t==="disabled"?{type:t}:void 0};var f=/^x-ratelimit-(limit|remaining|reset)-(.+)$/,mf=(n)=>{let e=f.exec(n),t=e?.[1],r=e?.[2];if(r===void 0||t!=="limit"&&t!=="remaining"&&t!=="reset")return;return{bucket:r,kind:t}};
2
+ import{Mu,Iy,Cy}from"./plugin-q6pvb1xf.js";import{W}from"./plugin-xfcgt5ba.js";var s=["file_search_call.results","web_search_call.results","web_search_call.action.sources","message.input_image.image_url","computer_call_output.output.image_url","code_interpreter_call.outputs","reasoning.encrypted_content","message.output_text.logprobs"],i=["auto","default","flex","priority"],a=new Set(Mu),u=new Set(["low","medium","high"]),p=new Set(s),l=new Set(i),lf=Iy,jE=Cy,qE=W(s),BE=W(i),c=(n)=>typeof n==="string"&&a.has(n),d=(n)=>typeof n==="string"&&u.has(n),df=(n)=>({openai:Object.fromEntries(Object.entries(n).filter(([,e])=>e!==void 0))}),o=(n)=>n.providerOptions?.openai,cc=(n)=>{let e=o(n)?.store;return typeof e==="boolean"?e:void 0},ff=(n)=>{let e=o(n)?.reasoningEffort;return c(e)?e:void 0},WE=(n)=>o(n)?.reasoningSummary==="auto"?"auto":void 0,VE=(n)=>{let e=o(n)?.include;if(!Array.isArray(e))return;let t=e.filter((r)=>p.has(r));return t.length>0?t:void 0},pf=(n)=>{let e=o(n)?.parallelToolCalls;return typeof e==="boolean"?e:void 0},ZE=(n)=>{let e=o(n)?.promptCacheKey;return typeof e==="string"?e:void 0},GE=(n)=>{let e=o(n)?.textVerbosity;return d(e)?e:void 0},pm=(n)=>{let e=o(n)?.serviceTier;return typeof e==="string"&&l.has(e)?e:void 0},JE=(n)=>{let e=o(n)?.instructions;return typeof e==="string"?e:void 0},KE=(n)=>{let e=o(n)?.thinking;if(typeof e!=="object"||e===null)return;let t=e.type;return t==="enabled"||t==="disabled"?{type:t}:void 0};var f=/^x-ratelimit-(limit|remaining|reset)-(.+)$/,mf=(n)=>{let e=f.exec(n),t=e?.[1],r=e?.[2];if(r===void 0||t!=="limit"&&t!=="remaining"&&t!=="reset")return;return{bucket:r,kind:t}};
3
3
  export{lf,jE,qE,BE,df,cc,ff,WE,VE,pf,ZE,GE,pm,JE,KE,mf};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{Cn,J,ce,t,ge,W,ec,iu}from"./plugin-6xpcmvm3.js";function g(e,n,r){if(n==="__proto__")Object.defineProperty(e,n,{value:r,enumerable:!0,writable:!0,configurable:!0});else e[n]=r}function nh(e){return d(e,[])??null}function d(e,n){switch(typeof e){case"string":case"boolean":return e;case"number":return Number.isFinite(e)?e:null;case"bigint":return e.toString();case"object":return e===null?null:y(e,n);default:return}}function y(e,n){if(n.includes(e))return;n.push(e);let r=e.toJSON,o=typeof r==="function"?d(r.call(e),n):Array.isArray(e)?m(e,n):b(e,n);return n.pop(),o}function m(e,n){let r=null;for(let o=0;o<e.length;o+=1){let i=e[o],s=d(i,n)??null;if(r===null&&s!==i)r=e.slice(0,o);if(r!==null)r.push(s)}return r??e}function b(e,n){let r=Object.getPrototypeOf(e),o=r===Object.prototype||r===null,i=e instanceof Error?{...e,message:e.message}:e,s=Object.keys(i),l=o?null:{};for(let u=0;u<s.length;u+=1){let c=s[u],f=i[c],a=d(f,n);if(l===null&&(a!==f||a===void 0)){l={};for(let p of s.slice(0,u))g(l,p,i[p])}if(l!==null&&a!==void 0)g(l,c,a)}return l??e}var Cu=ce.pipe(iu(ce,{encode:J((e)=>nh(e)),decode:Cn()})),Sr=ge(t,Cu),ut=ge(t,Sr).annotate({identifier:"LLM.ProviderMetadata"}),Ry=t,sd=t,Au=t.pipe(ec("LLM.ModelID")),qs=t.pipe(ec("LLM.ProviderID")),QT=t,Oa=t,Pa=t,Mu=["none","minimal","low","medium","high","xhigh","max"],Iy=W(Mu),Cy=W(["low","medium","high"]),Ay=W(["system","user","assistant","tool"]),zf=W(["stop","length","tool-calls","content-filter","error","unknown"]),Ou=ge(t,Cu);
2
+ import{Cn,J,ce,t,ge,W,ec,iu}from"./plugin-xfcgt5ba.js";function g(e,n,r){if(n==="__proto__")Object.defineProperty(e,n,{value:r,enumerable:!0,writable:!0,configurable:!0});else e[n]=r}function nh(e){return d(e,[])??null}function d(e,n){switch(typeof e){case"string":case"boolean":return e;case"number":return Number.isFinite(e)?e:null;case"bigint":return e.toString();case"object":return e===null?null:y(e,n);default:return}}function y(e,n){if(n.includes(e))return;n.push(e);let r=e.toJSON,o=typeof r==="function"?d(r.call(e),n):Array.isArray(e)?m(e,n):b(e,n);return n.pop(),o}function m(e,n){let r=null;for(let o=0;o<e.length;o+=1){let i=e[o],s=d(i,n)??null;if(r===null&&s!==i)r=e.slice(0,o);if(r!==null)r.push(s)}return r??e}function b(e,n){let r=Object.getPrototypeOf(e),o=r===Object.prototype||r===null,i=e instanceof Error?{...e,message:e.message}:e,s=Object.keys(i),l=o?null:{};for(let u=0;u<s.length;u+=1){let c=s[u],f=i[c],a=d(f,n);if(l===null&&(a!==f||a===void 0)){l={};for(let p of s.slice(0,u))g(l,p,i[p])}if(l!==null&&a!==void 0)g(l,c,a)}return l??e}var Cu=ce.pipe(iu(ce,{encode:J((e)=>nh(e)),decode:Cn()})),Sr=ge(t,Cu),ut=ge(t,Sr).annotate({identifier:"LLM.ProviderMetadata"}),Ry=t,sd=t,Au=t.pipe(ec("LLM.ModelID")),qs=t.pipe(ec("LLM.ProviderID")),QT=t,Oa=t,Pa=t,Mu=["none","minimal","low","medium","high","xhigh","max"],Iy=W(Mu),Cy=W(["low","medium","high"]),Ay=W(["system","user","assistant","tool"]),zf=W(["stop","length","tool-calls","content-filter","error","unknown"]),Ou=ge(t,Cu);
3
3
  export{nh,Cu,Sr,ut,Ry,sd,Au,qs,QT,Oa,Pa,Mu,Iy,Cy,Ay,zf,Ou};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{n,w,t,S,o,x,O}from"./plugin-6xpcmvm3.js";var i=o({id:t,label:t}),e={id:t,label:t,hint:n(t),required:n(w(!0)),secret:n(w(!0))},tv=O([o({...e,type:w("text"),placeholder:n(t)}),o({...e,type:w("number"),min:n(S),unit:n(t),placeholder:n(t)}),o({...e,type:w("flag")}),o({...e,type:w("choice"),options:x(i),default:n(t)}),o({...e,type:w("set"),options:x(i)})]),Yg=O([tv,o({...e,type:w("rows"),noun:t,fields:x(tv),discoverable:n(w(!0))})]);
2
+ import{n,w,t,S,o,x,O}from"./plugin-xfcgt5ba.js";var i=o({id:t,label:t}),e={id:t,label:t,hint:n(t),required:n(w(!0)),secret:n(w(!0))},tv=O([o({...e,type:w("text"),placeholder:n(t)}),o({...e,type:w("number"),min:n(S),unit:n(t),placeholder:n(t)}),o({...e,type:w("flag")}),o({...e,type:w("choice"),options:x(i),default:n(t)}),o({...e,type:w("set"),options:x(i)})]),Yg=O([tv,o({...e,type:w("rows"),noun:t,fields:x(tv),discoverable:n(w(!0))})]);
3
3
  export{tv,Yg};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{uy}from"./plugin-1n46me5n.js";var Hk=(o,t={})=>({...t,path:o}),jk=(o,t)=>({...o,...t,baseURL:t.baseURL??o.baseURL,path:t.path??o.path,query:t.query===void 0?o.query:{...o.query,...t.query}}),d=(o,t)=>typeof o==="function"?o(t):o,$m=(o,t)=>{let n=new URL(`${uy(o.baseURL??"")}${d(o.path,t)}`);for(let[e,r]of Object.entries(o.query??{}))n.searchParams.set(e,r);return n},Lr={path:Hk,merge:jk,render:$m};
2
+ import{uy}from"./plugin-y9cdpmbv.js";var Hk=(o,t={})=>({...t,path:o}),jk=(o,t)=>({...o,...t,baseURL:t.baseURL??o.baseURL,path:t.path??o.path,query:t.query===void 0?o.query:{...o.query,...t.query}}),d=(o,t)=>typeof o==="function"?o(t):o,$m=(o,t)=>{let n=new URL(`${uy(o.baseURL??"")}${d(o.path,t)}`);for(let[e,r]of Object.entries(o.query??{}))n.searchParams.set(e,r);return n},Lr={path:Hk,merge:jk,render:$m};
3
3
  export{Hk,jk,$m,Lr};
@@ -0,0 +1,3 @@
1
+ // @bun
2
+ import{oe}from"./plugin-xfcgt5ba.js";class gu extends oe()("speech/DuplexTransport"){}
3
+ export{gu};
@@ -1,3 +1,3 @@
1
1
  // @bun
2
- import{n,w,t,S,z,o,x,O,W,An,au,ct}from"./plugin-6xpcmvm3.js";var nv=W(["provider","client","none"]),hk=W(["word","segment","none"]),gk=o({codes:x(t),hints:S,detect:z}),yk=o({targets:x(t),twoWay:z}),xk=o({prompt:z,terms:z}),i=ct.check(au(0)),e=An.check(au(0)),Sk=o({sessionMs:n(e),clipMs:n(e),clipBytes:n(i)}),bk=o({id:t,label:t,min:S,max:S,initial:S,modes:x(nv)}),r={timestamps:hk,speakers:z,confidence:z,languages:gk,translation:n(yk),prompting:xk},a={...r,rates:x(S),limits:Sk,tuning:x(bk)},Ek=o({...a,kind:w("stream"),partials:z,turns:x(nv),finalize:z}),vk=o({...a,kind:w("batch")}),wk=o({fileMs:n(e)}),kk=o({...r,kind:w("file"),containers:x(t),limits:wk}),_k=O([Ek,vk,kk]),AT=["stream","batch"],MT=["file","batch"],Tk=o({id:t,label:t,languages:x(t)}),Rk=o({characters:n(i),audioMs:n(e),streams:n(i)}),Ik=o({text:W(["stream","whole"]),rates:x(S),voices:x(Tk),languages:x(t),needsLanguage:z,timestamps:z,limits:Rk}),Xg=o({id:t,label:t,recognition:_k}),ey=o({id:t,label:t,synthesis:Ik});
2
+ import{n,w,t,S,z,o,x,O,W,An,au,ct}from"./plugin-xfcgt5ba.js";var nv=W(["provider","client","none"]),hk=W(["word","segment","none"]),gk=o({codes:x(t),hints:S,detect:z}),yk=o({targets:x(t),twoWay:z}),xk=o({prompt:z,terms:z}),i=ct.check(au(0)),e=An.check(au(0)),Sk=o({sessionMs:n(e),clipMs:n(e),clipBytes:n(i)}),bk=o({id:t,label:t,min:S,max:S,initial:S,modes:x(nv)}),r={timestamps:hk,speakers:z,confidence:z,languages:gk,translation:n(yk),prompting:xk},a={...r,rates:x(S),limits:Sk,tuning:x(bk)},Ek=o({...a,kind:w("stream"),partials:z,turns:x(nv),finalize:z}),vk=o({...a,kind:w("batch")}),wk=o({fileMs:n(e)}),kk=o({...r,kind:w("file"),containers:x(t),limits:wk}),_k=O([Ek,vk,kk]),AT=["stream","batch"],MT=["file","batch"],Tk=o({id:t,label:t,languages:x(t)}),Rk=o({characters:n(i),audioMs:n(e),streams:n(i)}),Ik=o({text:W(["stream","whole"]),rates:x(S),voices:x(Tk),languages:x(t),needsLanguage:z,timestamps:z,limits:Rk}),Xg=o({id:t,label:t,recognition:_k}),ey=o({id:t,label:t,synthesis:Ik});
3
3
  export{nv,hk,gk,yk,xk,Sk,bk,Ek,vk,wk,kk,_k,AT,MT,Tk,Rk,Ik,Xg,ey};