@arcgis/portal-components 6.0.0-next.20 → 6.0.0-next.21

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 (172) hide show
  1. package/dist/cdn/{EHHFEPC2.js → 22TDAUX4.js} +1 -1
  2. package/dist/cdn/{5D5INKHG.js → 234TH32X.js} +1 -1
  3. package/dist/cdn/2D3FQXJ4.js +2 -0
  4. package/dist/cdn/{AXKMKCEW.js → 2DXO6FVX.js} +1 -1
  5. package/dist/cdn/{57MT7FOI.js → 2XJX2JUO.js} +1 -1
  6. package/dist/cdn/{SCRIVOPW.js → 3EQGUCO4.js} +1 -1
  7. package/dist/cdn/{HXFKOELM.js → 3J3ISO3E.js} +1 -1
  8. package/dist/cdn/{PXG2SRSN.js → 3RTST3I6.js} +1 -1
  9. package/dist/cdn/{TKTMO2NO.js → 3XH3JHOI.js} +1 -1
  10. package/dist/cdn/{SASCLFKY.js → 4ONCJSSP.js} +1 -1
  11. package/dist/cdn/{O5MB4QQ2.js → 4WQA7UAJ.js} +1 -1
  12. package/dist/cdn/5OWIWCEQ.js +2 -0
  13. package/dist/cdn/{AYHYABMC.js → 5R4JJWGB.js} +1 -1
  14. package/dist/cdn/{SQCDEL42.js → 63HYFDRU.js} +1 -1
  15. package/dist/cdn/{IRCWBDGJ.js → 6MATPHXT.js} +10 -10
  16. package/dist/cdn/{565U4WSN.js → 7IP3RVPH.js} +1 -1
  17. package/dist/cdn/{QKGHH3FS.js → 7ISSDO2T.js} +1 -1
  18. package/dist/cdn/AKTIIRJQ.js +2 -0
  19. package/dist/cdn/{APLSVK3C.js → ASID6YW7.js} +1 -1
  20. package/dist/cdn/{OQ3OHDEB.js → B3HV5JVN.js} +1 -1
  21. package/dist/cdn/B6666VUQ.js +2 -0
  22. package/dist/cdn/{LVUKORME.js → BOO7GG5L.js} +1 -1
  23. package/dist/cdn/CZ4FC4GM.js +2 -0
  24. package/dist/cdn/{LY7NVMME.js → D3LZFIHV.js} +1 -1
  25. package/dist/cdn/{UYROTXZP.js → D3Q72PPN.js} +1 -1
  26. package/dist/cdn/{RAWBYOFF.js → DABNV2OO.js} +1 -1
  27. package/dist/cdn/DOCNBKQZ.js +2 -0
  28. package/dist/cdn/{VXYEF3XW.js → EP7NWEC5.js} +1 -1
  29. package/dist/cdn/{MK2KDBUL.js → EQRBP6H6.js} +1 -1
  30. package/dist/cdn/{AAWXEOVL.js → ESKKH4DE.js} +1 -1
  31. package/dist/cdn/{CUJG43PQ.js → EUQQZIRW.js} +1 -1
  32. package/dist/cdn/F2HT5PVQ.js +2 -0
  33. package/dist/cdn/FE3O23SE.js +2 -0
  34. package/dist/cdn/{U4PHGRXB.js → FGRMURKX.js} +1 -1
  35. package/dist/cdn/{ULTSLT4L.js → FYVATGMR.js} +1 -1
  36. package/dist/cdn/{5SKCVK2P.js → G3WDR53S.js} +1 -1
  37. package/dist/cdn/GAU6DNV5.js +2 -0
  38. package/dist/cdn/GPAIXN52.js +2 -0
  39. package/dist/cdn/GRSBU4PD.js +2 -0
  40. package/dist/cdn/{4I7NKRIH.js → H7FA5HFE.js} +1 -1
  41. package/dist/cdn/{3ZC26CT6.js → HHGKNVCH.js} +1 -1
  42. package/dist/cdn/{OQE662U3.js → HJLWIQDI.js} +1 -1
  43. package/dist/cdn/I3EWDYTU.js +2 -0
  44. package/dist/cdn/{I4ZRFXQ3.js → IKPVMXXW.js} +1 -1
  45. package/dist/cdn/{C5FTQSU6.js → IOFXDIWC.js} +1 -1
  46. package/dist/cdn/IPHBVKMY.js +2 -0
  47. package/dist/cdn/{ZS3JUQN3.js → IUIFCQQU.js} +1 -1
  48. package/dist/cdn/{QJB32L7F.js → IVDZGUNZ.js} +1 -1
  49. package/dist/cdn/J6SI4Z4F.js +2 -0
  50. package/dist/cdn/K7LYYLUF.js +2 -0
  51. package/dist/cdn/{Y72W3QFF.js → KDORI7H4.js} +1 -1
  52. package/dist/cdn/{2267AKWE.js → LGJWULAW.js} +1 -1
  53. package/dist/cdn/LTMPXQTC.js +2 -0
  54. package/dist/cdn/M5STJJRX.js +2 -0
  55. package/dist/cdn/{VAJV46OF.js → M7J7RAM4.js} +1 -1
  56. package/dist/cdn/{HIPJAMO4.js → N4ZRMYZL.js} +1 -1
  57. package/dist/cdn/NBCYYUHP.js +2 -0
  58. package/dist/cdn/NHVPNSNH.js +2 -0
  59. package/dist/cdn/{VNVGVYX6.js → NQ2IAQKL.js} +2 -2
  60. package/dist/cdn/NXGTEDK4.js +2 -0
  61. package/dist/cdn/{I3ECBIYX.js → NYOXMT6S.js} +1 -1
  62. package/dist/cdn/O3JP4FQ3.js +2 -0
  63. package/dist/cdn/{MXUHZ474.js → ODSA6NNS.js} +1 -1
  64. package/dist/cdn/{PVPTFK7N.js → OHAQPQAP.js} +1 -1
  65. package/dist/cdn/OOXTSCQT.js +2 -0
  66. package/dist/cdn/OQ2JULON.js +2 -0
  67. package/dist/cdn/{7XBN6ZF4.js → OVH4YLTS.js} +1 -1
  68. package/dist/cdn/{6T4X4RAB.js → QB5BGHLA.js} +1 -1
  69. package/dist/cdn/QKCRNS75.js +2 -0
  70. package/dist/cdn/{6XAFP5OI.js → RKMW4FUN.js} +1 -1
  71. package/dist/cdn/{E26PFYPI.js → RT26JZP5.js} +1 -1
  72. package/dist/cdn/SKHFISBA.js +2 -0
  73. package/dist/cdn/SKIDJ4QI.js +2 -0
  74. package/dist/cdn/{VXDDXPD7.js → SSCKCDXD.js} +1 -1
  75. package/dist/cdn/{YERFI6P2.js → T66G7GIR.js} +1 -1
  76. package/dist/cdn/{MOE6L5RN.js → TIMYD2HM.js} +1 -1
  77. package/dist/cdn/TJWJ3LTU.js +2 -0
  78. package/dist/cdn/{EXEAVQRP.js → TMR4BRFI.js} +1 -1
  79. package/dist/cdn/{ZJWAM6OL.js → TTQGRN2V.js} +1 -1
  80. package/dist/cdn/{YTVLEHJT.js → UHOW7Q65.js} +1 -1
  81. package/dist/cdn/{2XIDYV73.js → US3N5L73.js} +1 -1
  82. package/dist/cdn/W5POIPYP.js +2 -0
  83. package/dist/cdn/{EQTGOMBD.js → WJWWYBZ7.js} +1 -1
  84. package/dist/cdn/WNEPEEPZ.js +2 -0
  85. package/dist/cdn/{NDCMZLMU.js → WPAZDJHU.js} +1 -1
  86. package/dist/cdn/WT72SOAU.js +2 -0
  87. package/dist/cdn/XJGKRAN5.js +2 -0
  88. package/dist/cdn/{MSP6STQ7.js → XS5EOWBK.js} +1 -1
  89. package/dist/cdn/{7PBECSW5.js → YCIFVZ4J.js} +1 -1
  90. package/dist/cdn/{TNRHHR67.js → YDXJHNDI.js} +1 -1
  91. package/dist/cdn/{TRFH3KNJ.js → YIOJIA4Y.js} +1 -1
  92. package/dist/cdn/{I57CRKF7.js → YK6FCXWU.js} +1 -1
  93. package/dist/cdn/{FLUCWAMC.js → YPDHSE2J.js} +1 -1
  94. package/dist/cdn/{ZJCG6JI7.js → YQLFXHFG.js} +1 -1
  95. package/dist/cdn/{QSRWVCWP.js → YSVPB3BO.js} +1 -1
  96. package/dist/cdn/{SHGPWFEC.js → YUOVGTP5.js} +1 -1
  97. package/dist/cdn/{GOUAS2Q5.js → Z5CA4C6H.js} +1 -1
  98. package/dist/cdn/{GDCXUNOL.js → ZD6XJVGV.js} +1 -1
  99. package/dist/cdn/{4B2URSFO.js → ZHQXYCPA.js} +1 -1
  100. package/dist/cdn/{Y6WQZMYW.js → ZOX4RLS4.js} +1 -1
  101. package/dist/cdn/assets/portal-item-card-sublayer-select/t9n/messages.en.json +1 -0
  102. package/dist/cdn/index.js +1 -1
  103. package/dist/cdn/main.css +1 -1
  104. package/dist/chunks/item2.js +29 -25
  105. package/dist/chunks/itemThumbnail.js +21 -21
  106. package/dist/chunks/request.js +51 -43
  107. package/dist/chunks/utils3.js +88 -657
  108. package/dist/chunks/utils4.js +664 -0
  109. package/dist/components/arcgis-portal-account-switcher/customElement.js +1 -1
  110. package/dist/components/arcgis-portal-classification-banner/customElement.js +2 -2
  111. package/dist/components/arcgis-portal-classification-config/customElement.js +1 -1
  112. package/dist/components/arcgis-portal-classification-favorite/customElement.js +1 -1
  113. package/dist/components/arcgis-portal-classification-form-element/customElement.js +1 -1
  114. package/dist/components/arcgis-portal-entity-picker/customElement.d.ts +1 -1
  115. package/dist/components/arcgis-portal-item-card/customElement.d.ts +20 -8
  116. package/dist/components/arcgis-portal-item-card/customElement.js +79 -70
  117. package/dist/components/arcgis-portal-item-card/index.js +1 -0
  118. package/dist/components/arcgis-portal-item-card-sublayer-select/customElement.d.ts +102 -0
  119. package/dist/components/arcgis-portal-item-card-sublayer-select/customElement.js +352 -0
  120. package/dist/components/arcgis-portal-item-card-sublayer-select/index.d.ts +1 -0
  121. package/dist/components/arcgis-portal-item-card-sublayer-select/index.js +8 -0
  122. package/dist/components/arcgis-portal-item-card-sublayer-select/types.d.ts +22 -0
  123. package/dist/components/arcgis-portal-item-thumbnail/customElement.d.ts +1 -0
  124. package/dist/components/arcgis-portal-item-thumbnail/customElement.js +13 -13
  125. package/dist/components/arcgis-portal-item-type/customElement.js +1 -1
  126. package/dist/components/arcgis-portal-navigation/customElement.js +1 -1
  127. package/dist/components/arcgis-portal-navigation/index.js +4 -4
  128. package/dist/components/arcgis-portal-sublayer-type/customElement.js +13 -103
  129. package/dist/docs/api.json +1 -1
  130. package/dist/docs/docs.json +1 -1
  131. package/dist/docs/vscode.html-custom-data.json +1 -1
  132. package/dist/docs/web-types.json +1 -1
  133. package/dist/index.d.ts +10 -0
  134. package/dist/loader.js +2 -1
  135. package/dist/types/item.d.ts +11 -11
  136. package/dist/types/lumina.d.ts +9 -1
  137. package/dist/types/preact.d.ts +10 -1
  138. package/dist/types/react.d.ts +11 -1
  139. package/dist/types/services.d.ts +3 -0
  140. package/dist/types/stencil.d.ts +9 -1
  141. package/package.json +7 -7
  142. package/dist/cdn/225AERRK.js +0 -2
  143. package/dist/cdn/5VAV267L.js +0 -2
  144. package/dist/cdn/67QXUNKX.js +0 -2
  145. package/dist/cdn/6BQUKFTK.js +0 -2
  146. package/dist/cdn/723D3EKN.js +0 -2
  147. package/dist/cdn/AEPP4WJM.js +0 -2
  148. package/dist/cdn/B474WTYE.js +0 -2
  149. package/dist/cdn/C7KQT5QW.js +0 -2
  150. package/dist/cdn/CL5FABMT.js +0 -2
  151. package/dist/cdn/FTT33ZZJ.js +0 -2
  152. package/dist/cdn/FXTPC2Q5.js +0 -2
  153. package/dist/cdn/GJNGP34L.js +0 -2
  154. package/dist/cdn/IAK4F5SX.js +0 -2
  155. package/dist/cdn/JOQEFKCE.js +0 -2
  156. package/dist/cdn/K5Q4ZROX.js +0 -2
  157. package/dist/cdn/K6LF5U7K.js +0 -2
  158. package/dist/cdn/MUW2YNAS.js +0 -2
  159. package/dist/cdn/OQUQ7Z3E.js +0 -2
  160. package/dist/cdn/P74FP43E.js +0 -2
  161. package/dist/cdn/RA75BDVB.js +0 -2
  162. package/dist/cdn/RLI7T32U.js +0 -2
  163. package/dist/cdn/RYPYVJ5U.js +0 -2
  164. package/dist/cdn/TLZO6KZO.js +0 -2
  165. package/dist/cdn/UD4KPMGF.js +0 -2
  166. package/dist/cdn/UL3XBQUT.js +0 -2
  167. package/dist/cdn/VH2IMPMN.js +0 -2
  168. package/dist/cdn/VRGGPMVR.js +0 -2
  169. package/dist/cdn/WQWJVM5B.js +0 -2
  170. package/dist/cdn/XT6IKL7A.js +0 -2
  171. /package/dist/cdn/{OUMTV5H5.js → KHKREBVZ.js} +0 -0
  172. /package/dist/cdn/{XYT4533U.js → U2HTYOBB.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{Ca as Wc,E as is,Fa as qc,K as Dc,S as li,U as pi,b as Nc,c as jc,d as ss,fa as Lc,g as Mc,ia as fi,ja,ka as Tn,ma as Ma,n as F,na as Uc,oa as Bc,q as Na,sa as Fc,t as En,ua as Kc,wa as di}from"./5D5INKHG.js";import{$ as Rn,Ga as Ec,Ha as Ye,J as ui,K as Oc,Q as Rr,T as xc,Y as dt,Z as Pc,aa as ci,ba as Sc,fa as vc,ja as kc,l as ii,oa as $a,r as Ta,ra as Rc,s as Ca,t as ai}from"./XYT4533U.js";import{c as Tc,i as Cc,m as $c,n as zc,o as E}from"./K3GAZFRI.js";import{a as Hc}from"./3UFTKKFG.js";import{a as im,b as am,c as um}from"./5PV2GUZW.js";var Cl=im((G,Ii)=>{"use strict";if(typeof Ii<"u"&&Ii!==globalThis.module&&typeof G<"u"&&Ii.exports===G){Object.defineProperty(G,"__esModule",{value:!0}),G.findX509Credential=G.rememberX509Credential=G.findX509OAuthError=G.rememberX509OAuthError=G.isApprovedX509Client=G.markApprovedX509Client=G.isRetryableX509IssuerError=G.markRetryableX509IssuerError=G.isTransientX509ConnectionError=G.markTransientX509ConnectionError=G.rememberRegisteredX509Transport=G.findRegisteredX509Transport=void 0;let t=new WeakMap,e=new WeakSet,r=new WeakSet,n=new WeakSet,o=new WeakMap,s=new WeakMap;G.findRegisteredX509Transport=WeakMap.prototype.get.bind(t),G.rememberRegisteredX509Transport=WeakMap.prototype.set.bind(t),G.markTransientX509ConnectionError=WeakSet.prototype.add.bind(e),G.isTransientX509ConnectionError=WeakSet.prototype.has.bind(e),G.markRetryableX509IssuerError=WeakSet.prototype.add.bind(r),G.isRetryableX509IssuerError=WeakSet.prototype.has.bind(r),G.markApprovedX509Client=WeakSet.prototype.add.bind(n),G.isApprovedX509Client=WeakSet.prototype.has.bind(n),G.rememberX509OAuthError=WeakMap.prototype.set.bind(o),G.findX509OAuthError=WeakMap.prototype.get.bind(o),G.rememberX509Credential=WeakMap.prototype.set.bind(s),G.findX509Credential=WeakMap.prototype.get.bind(s)}});function as(t,e){return t.lc_error_code=e,t.message=`${t.message}
2
+ import{Ca as Wc,E as is,Fa as qc,K as Dc,S as li,U as pi,b as Nc,c as jc,d as ss,fa as Lc,g as Mc,ia as fi,ja,ka as Tn,ma as Ma,n as F,na as Uc,oa as Bc,q as Na,sa as Fc,t as En,ua as Kc,wa as di}from"./234TH32X.js";import{$ as Rn,Ga as Ec,Ha as Ye,J as ui,K as Oc,Q as Rr,T as xc,Y as dt,Z as Pc,aa as ci,ba as Sc,fa as vc,ja as kc,l as ii,oa as $a,r as Ta,ra as Rc,s as Ca,t as ai}from"./U2HTYOBB.js";import{c as Tc,i as Cc,m as $c,n as zc,o as E}from"./K3GAZFRI.js";import{a as Hc}from"./3UFTKKFG.js";import{a as im,b as am,c as um}from"./5PV2GUZW.js";var Cl=im((G,Ii)=>{"use strict";if(typeof Ii<"u"&&Ii!==globalThis.module&&typeof G<"u"&&Ii.exports===G){Object.defineProperty(G,"__esModule",{value:!0}),G.findX509Credential=G.rememberX509Credential=G.findX509OAuthError=G.rememberX509OAuthError=G.isApprovedX509Client=G.markApprovedX509Client=G.isRetryableX509IssuerError=G.markRetryableX509IssuerError=G.isTransientX509ConnectionError=G.markTransientX509ConnectionError=G.rememberRegisteredX509Transport=G.findRegisteredX509Transport=void 0;let t=new WeakMap,e=new WeakSet,r=new WeakSet,n=new WeakSet,o=new WeakMap,s=new WeakMap;G.findRegisteredX509Transport=WeakMap.prototype.get.bind(t),G.rememberRegisteredX509Transport=WeakMap.prototype.set.bind(t),G.markTransientX509ConnectionError=WeakSet.prototype.add.bind(e),G.isTransientX509ConnectionError=WeakSet.prototype.has.bind(e),G.markRetryableX509IssuerError=WeakSet.prototype.add.bind(r),G.isRetryableX509IssuerError=WeakSet.prototype.has.bind(r),G.markApprovedX509Client=WeakSet.prototype.add.bind(n),G.isApprovedX509Client=WeakSet.prototype.has.bind(n),G.rememberX509OAuthError=WeakMap.prototype.set.bind(o),G.findX509OAuthError=WeakMap.prototype.get.bind(o),G.rememberX509Credential=WeakMap.prototype.set.bind(s),G.findX509Credential=WeakMap.prototype.get.bind(s)}});function as(t,e){return t.lc_error_code=e,t.message=`${t.message}
3
3
 
4
4
  Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${e}/
5
5
  `,t}function O(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r}function c(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)}var Ft=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return Ft=t.randomUUID.bind(t),t.randomUUID();let e=new Uint8Array(1),r=t?()=>t.getRandomValues(e)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,n=>(+n^r()&15>>+n/4).toString(16))};function Ot(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var us=t=>{if(t instanceof Error)return t;if(typeof t=="object"&&t!==null){try{if(Object.prototype.toString.call(t)==="[object Error]"){let e=new Error(t.message,t.cause?{cause:t.cause}:{});return t.stack&&(e.stack=t.stack),t.cause&&!e.cause&&(e.cause=t.cause),t.name&&(e.name=t.name),e}}catch{}try{return new Error(JSON.stringify(t))}catch{}}return new Error(t)};var _=class extends Error{},Y=class t extends _{constructor(e,r,n,o){super(`${t.makeMessage(e,r,n)}`),this.status=e,this.headers=o,this.requestID=o?.get("x-request-id"),this.error=r;let s=r;this.code=s?.code,this.param=s?.param,this.type=s?.type}static makeMessage(e,r,n){let o=r?.message?typeof r.message=="string"?r.message:JSON.stringify(r.message):r?JSON.stringify(r):n;return e&&o?`${e} ${o}`:e?`${e} status code (no body)`:o||"(no status code or body)"}static generate(e,r,n,o){if(!e||!o)return new Le({message:n,cause:us(r)});let s=r?.error;return e===400?new Kt(e,s,n,o):e===401?new Wt(e,s,n,o):e===403?new qt(e,s,n,o):e===404?new Ht(e,s,n,o):e===409?new Xt(e,s,n,o):e===422?new Zt(e,s,n,o):e===429?new Jt(e,s,n,o):e>=500?new Vt(e,s,n,o):new t(e,s,n,o)}},q=class extends Y{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},Le=class extends Y{constructor({message:e,cause:r}){super(void 0,void 0,e||"Connection error.",void 0),r&&(this.cause=r)}},ne=class extends Le{constructor({message:e}={}){super({message:e??"Request timed out."})}},Kt=class extends Y{},Wt=class extends Y{},qt=class extends Y{},Ht=class extends Y{},Xt=class extends Y{},Zt=class extends Y{},Jt=class extends Y{},Vt=class extends Y{},Gt=class extends _{constructor(){super("Could not parse response content as the length limit was reached")}},Yt=class extends _{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},ke=class extends Error{constructor(e){super(e)}},Ue=class extends Y{constructor(e,r,n){let o="OAuth2 authentication error",s;if(r&&typeof r=="object"){let i=r;s=i.error;let a=i.error_description;a&&typeof a=="string"?o=a:s&&(o=s)}super(e,r,o,n),this.error_code=s}},Er=class extends _{constructor(e,r,n){super(e),this.provider=r,this.cause=n}};var lm=/^[a-z][a-z0-9+.-]*:/i,Xc=t=>lm.test(t),be=t=>(be=Array.isArray,be(t)),Da=be;function mi(t){return typeof t!="object"?{}:t??{}}function za(t){if(!t)return!0;for(let e in t)return!1;return!0}function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function Be(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}var La=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new _(`${t} must be an integer`);if(e<0)throw new _(`${t} must be a positive integer`);return e};var Zc=t=>{try{return JSON.parse(t)}catch{return}};var Cn=t=>new Promise(e=>setTimeout(e,t));function cs(){if(typeof fetch<"u")return fetch;throw new Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function Ua(...t){let e=globalThis.ReadableStream;if(typeof e>"u")throw new Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new e(...t)}function ls(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return Ua({start(){},async pull(r){let{done:n,value:o}=await e.next();n?r.close():r.enqueue(o)},async cancel(){await e.return?.()}})}function hi(t){if(t[Symbol.asyncIterator])return t;let e=t.getReader();return{async next(){try{let r=await e.read();return r?.done&&e.releaseLock(),r}catch(r){throw e.releaseLock(),r}},async return(){let r=e.cancel();return e.releaseLock(),await r,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function xt(t){if(t===null||typeof t!="object")return;if(t[Symbol.asyncIterator]){await t[Symbol.asyncIterator]().return?.();return}let e=t.getReader(),r=e.cancel();e.releaseLock(),await r}var Vc;function Ae(t){let e;return(Vc??(e=new globalThis.TextEncoder,Vc=e.encode.bind(e)))(t)}var Gc;function Yc(t){let e;return(Gc??(e=new globalThis.TextDecoder,Gc=e.decode.bind(e)))(t)}var Ba,ae,re,oe,mt,Tr,el,ps=64*1024,Cr=class{constructor(){Ba.add(this),ae.set(this,void 0),re.set(this,void 0),oe.set(this,void 0),mt.set(this,void 0),Tr.set(this,void 0),O(this,ae,new Uint8Array,"f"),O(this,re,0,"f"),O(this,oe,0,"f"),O(this,mt,0,"f"),O(this,Tr,!1,"f")}decode(e){if(e==null)return[];let r;if(e instanceof ArrayBuffer?r=new Uint8Array(e):typeof e=="string"?r=Ae(e):r=e,r.length===0)return[];if(c(this,Tr,"f")&&(O(this,Tr,!1,"f"),r[0]===10&&(r=r.subarray(1)),r.length===0))return[];c(this,Ba,"m",el).call(this,r);let n=[],o;for(;(o=pm(c(this,ae,"f"),c(this,mt,"f"),c(this,oe,"f")))!=null;){let s=Yc(c(this,ae,"f").subarray(c(this,re,"f"),o.preceding));n.push(s),O(this,re,o.index,"f"),o.carriage&&(c(this,re,"f")<c(this,oe,"f")&&c(this,ae,"f")[c(this,re,"f")]===10?O(this,re,c(this,re,"f")+1,"f"):c(this,re,"f")===c(this,oe,"f")&&O(this,Tr,!0,"f")),O(this,mt,c(this,re,"f"),"f")}if(O(this,mt,c(this,oe,"f"),"f"),c(this,re,"f")===c(this,oe,"f"))O(this,re,0,"f"),O(this,oe,0,"f"),O(this,mt,0,"f"),c(this,ae,"f").length>ps&&O(this,ae,new Uint8Array,"f");else if(n.length>0&&c(this,ae,"f").length>ps){let s=c(this,oe,"f")-c(this,re,"f");if(s<=ps||c(this,ae,"f").length>s*4){let i=s<=ps?Math.min(Math.max(s*2,256),ps):s*2,a=new Uint8Array(i);a.set(c(this,ae,"f").subarray(c(this,re,"f"),c(this,oe,"f"))),O(this,ae,a,"f"),O(this,re,0,"f"),O(this,oe,s,"f"),O(this,mt,s,"f")}}return n}flush(){return O(this,Tr,!1,"f"),c(this,re,"f")===c(this,oe,"f")?[]:this.decode(`
@@ -38,4 +38,4 @@ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
38
38
  ]))`;continue}else if(o[l]==="$"){s+=`($|(?=[\r
39
39
  ]))`;continue}}if(n.s&&o[l]==="."){s+=a?`${o[l]}\r
40
40
  `:`[${o[l]}\r
41
- ]`;continue}s+=o[l],o[l]==="\\"?i=!0:a&&o[l]==="]"?a=!1:!a&&o[l]==="["&&(a=!0)}try{let l=new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return s};function ma(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===F.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:Object.fromEntries(t.keyType._def.values.map(n=>[n,z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}])),additionalProperties:!1};let r={type:"object",additionalProperties:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===F.ZodString&&t.keyType._def.checks?.length){let n=Object.fromEntries(Object.entries(da(t.keyType._def,e)).filter(([o])=>o!=="type"));return{...r,propertyNames:n}}else if(t.keyType?._def.typeName===F.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function sd(t,e){if(e.mapStrategy==="record")return ma(t,e);let r=z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function id(t){let e=t.values,n=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),o=[...new Set(n.map(i=>typeof i))],s=["string","number"];return o.length===1&&(s=o[0]==="string"?"string":"number"),{type:s,enum:n}}function ad(){return{not:{}}}var Qs={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function cd(t,e){if(e.target==="openApi3")return ud(t,e);let r=t.options instanceof Map?[...t.options.values()]:t.options;if(r.every(n=>n._def.typeName in Qs&&(!n._def.checks||!n._def.checks.length))){let n=[];for(let o of r){let s=Qs[o._def.typeName];s&&!n.includes(s)&&n.push(s)}return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=[];for(let o of r){let s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":{n.push(s);break}case"bigint":{n.push("integer");break}case"object":{o._def.value===null&&n.push("null");break}}}if(n.length===r.length){let o=n.filter((i,a,u)=>u.indexOf(i)===a),s=[];for(let i of r)s.includes(i._def.value)||s.push(i._def.value);return{type:o.length>1?o:o[0],enum:s}}}else if(r.every(n=>n._def.typeName==="ZodEnum")){let n=[];for(let o of r)for(let s of o._def.values)n.includes(s)||n.push(s);return{type:"string",enum:n}}return ud(t,e)}var ud=(t,e)=>{let r=(t.options instanceof Map?[...t.options.values()]:t.options).map((n,o)=>z(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ld(t,e,r){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:Qs[t.innerType._def.typeName],nullable:!0}:{type:[Qs[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let o=z(t.innerType._def,{...e,currentPath:[...e.currentPath]},r);return o&&"$ref"in o?{allOf:[o],nullable:!0}:o&&{...o,nullable:!0}}let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function pd(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":{r.type="integer",sc(r,"type",n.message,e);break}case"min":{e.target==="jsonSchema7"?n.inclusive?Z(r,"minimum",n.value,n.message,e):Z(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Z(r,"minimum",n.value,n.message,e));break}case"max":{e.target==="jsonSchema7"?n.inclusive?Z(r,"maximum",n.value,n.message,e):Z(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Z(r,"maximum",n.value,n.message,e));break}case"multipleOf":{Z(r,"multipleOf",n.value,n.message,e);break}}return r}function Bg(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function fd(t,e){let r={},n=[];for(let[s,i]of Object.entries(t.shape())){if(i===void 0||i._def===void 0)continue;let a=[...e.currentPath,"properties",s];if(s==="__proto__")throw new Error(`Zod field at \`${a.join("/")}\` uses unsupported property name \`__proto__\`, which Zod omits from parsed output.`);let u=z(i._def,{...e,currentPath:a,propertyPath:a});if(u!==void 0){if(e.openaiStrictMode&&i.isOptional()&&!i.isNullable()&&i._def?.defaultValue===void 0)throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);r[s]=u,(!i.isOptional()||e.openaiStrictMode)&&n.push(s)}}let o={type:"object",properties:r,required:n,additionalProperties:Bg(t,e)};return o.required.length||delete o.required,o}var dd=(t,e,r)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return z(t.innerType._def,{...e,currentPath:e.currentPath},r);let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]},r);return n?{anyOf:[{not:{}},n]}:{}};var md=(t,e,r)=>{if(e.pipeStrategy==="input")return z(t.in._def,e,r);if(e.pipeStrategy==="output")return z(t.out._def,e,r);let n=z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),o=z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,o].filter(s=>s!==void 0)}};function hd(t,e,r){return z(t.type._def,e,r)}function _d(t,e){let n={type:"array",uniqueItems:!0,items:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Z(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Z(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function yd(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0),additionalItems:z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0)}}function gd(){return{not:{}}}function Ad(){return{}}var bd=(t,e,r)=>z(t.innerType._def,e,r);var Id=Symbol("Let zodToJsonSchema decide on which parser to use"),wd={name:void 0,$refStrategy:"root",effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",nullableStrategy:"from-target",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},Od=t=>{let e=typeof t=="string"?{...wd,basePath:["#"],definitions:{},name:t}:{...wd,basePath:["#"],definitions:{},...t};return typeof t!="string"&&t?.definitions&&e.$refStrategy==="extract-to-root"&&e.nameStrategy==="duplicate-ref"&&(e.definitions={...t.definitions}),e};var bn=t=>"_def"in t?t._def:t;function xd(t){if(!t)return!0;for(let e in t)return!1;return!0}function z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let s=e.override?.(t,e,n,r);if(s!==Id)return s}if(n&&!r){let s=Fg(n,e);if(s!==void 0)return"$ref"in s&&e.seenRefs.add(s.$ref),s}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);try{let s=qg(t,t.typeName,e,r);return s&&Hg(t,e,s),o.jsonSchema=s,s}finally{r&&n&&e.seen.set(t,n)}}var Fg=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"extract-to-root":{let r=t.path.slice(e.basePath.length+1).map((s,i)=>i===0?s:Kg(s)).join("_"),n=r;if(!(n===e.name&&t.path.length===e.basePath.length+2&&t.path[e.basePath.length]===e.definitionPath)&&e.nameStrategy==="duplicate-ref"){let s=a=>{if(!N(e.definitions,a))return!1;let u=e.definitions[a];return u===void 0||bn(u)!==t.def},i=0;for(;n===e.name||s(n);)i+=1,n=`${r}_${i}`;N(e.definitions,n)||(e.definitions[n]=t.def)}return{$ref:[...e.basePath,e.definitionPath,n].join("/")}}case"relative":return{$ref:Wg(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Pd="_x_",Kg=t=>{if(/^[A-Za-z0-9_-]*$/.test(t)&&!t.startsWith(Pd))return t;let e=Pd;for(let r=0;r<t.length;r++)e+=t.charCodeAt(r).toString(16).padStart(4,"0");return e},Wg=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")},qg=(t,e,r,n)=>{switch(e){case F.ZodString:return da(t,r);case F.ZodNumber:return pd(t,r);case F.ZodObject:return fd(t,r);case F.ZodBigInt:return Jf(t,r);case F.ZodBoolean:return Vf();case F.ZodDate:return ic(t,r);case F.ZodUndefined:return gd();case F.ZodNull:return fa(r);case F.ZodArray:return Zf(t,r);case F.ZodUnion:case F.ZodDiscriminatedUnion:return cd(t,r);case F.ZodIntersection:return rd(t,r);case F.ZodTuple:return yd(t,r);case F.ZodRecord:return ma(t,r);case F.ZodLiteral:return nd(t,r);case F.ZodEnum:return td(t);case F.ZodNativeEnum:return id(t);case F.ZodNullable:return ld(t,r,n);case F.ZodOptional:return dd(t,r,n);case F.ZodMap:return sd(t,r);case F.ZodSet:return _d(t,r);case F.ZodLazy:return z(t.getter()._def,r,n);case F.ZodPromise:return hd(t,r,n);case F.ZodNaN:case F.ZodNever:return ad();case F.ZodEffects:return ed(t,r,n);case F.ZodAny:return Xf();case F.ZodUnknown:return Ad();case F.ZodDefault:return Qf(t,r,n);case F.ZodBranded:return Gf(t,r,n);case F.ZodReadonly:return bd(t,r,n);case F.ZodCatch:return Yf(t,r,n);case F.ZodPipeline:return md(t,r,n);case F.ZodFunction:case F.ZodVoid:case F.ZodSymbol:return;default:return(o=>{})(e)}},Hg=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Sd=t=>{let e=Od(t),r=e.name===void 0?e.basePath:[...e.basePath,e.definitionPath,e.name];return{...e,currentPath:r,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[bn(o),{def:bn(o),path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Xg(t,e,r){if(t===null||typeof t!="object")throw new TypeError("Root schema must be a plain JSON-schema record");let n=Object.getPrototypeOf(t);if(![null,Object.prototype].includes(n))throw new TypeError("Root schema must be a plain JSON-schema record");let o={};for(let[u,l]of Object.entries(Object.getOwnPropertyDescriptors(t))){if(!l.enumerable)continue;if(!("value"in l))throw new TypeError(`Root schema property '${u}' must be a data property`);let p=l.value;if(u==="toJSON"&&typeof p=="function")throw new TypeError("Root schema cannot contain a callable 'toJSON' property");["undefined","function","symbol"].includes(typeof p)||Object.defineProperty(o,u,{configurable:!0,enumerable:!0,value:p,writable:!0})}let{type:s,nullable:i,$ref:a}=o;if(!["undefined","boolean"].includes(typeof i))throw new TypeError("Root schema 'nullable' must be a boolean");if(s!=="object"||i===!0){let u;throw typeof s=="string"?u=i===!0?`${s},null`:s:Array.isArray(s)&&(u=s.join(",")),new Error(`Root schema must have type: 'object' but got type: ${u?`'${u}'`:"undefined"}`)}if(a!==void 0)throw new Error("Root schema must be a concrete object and cannot contain '$ref'");if(e!==void 0&&r!=="duplicate-ref")throw new Error("Root schema must have type: 'object' but got type: undefined");return o}var uc=(t,e)=>{let r=Sd(e);r.openaiStrictMode&&(r.definitions={...r.definitions});let n;typeof e=="string"?n=e:e?.nameStrategy!=="title"&&(n=e?.name);let o=z(t._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},r.openaiStrictMode===!0)??{},s=r.openaiStrictMode?Xg(o,n,r.nameStrategy):o,i=r.nameStrategy==="title"?r.name:void 0;i!==void 0&&(s.title=i);let a=(()=>{if(xd(r.definitions))return;let l={},p=new Set;for(let m=0;m<500;m++){let f=Object.entries(r.definitions).filter(([g])=>!p.has(g));if(f.length===0)break;for(let[g,w]of f)l[g]=z(bn(w),{...r,currentPath:[...r.basePath,r.definitionPath,g]},!0)??{},p.add(g)}return l})(),u;return n===void 0?u=a?{...s,[r.definitionPath]:a}:s:r.nameStrategy==="duplicate-ref"?u={...s,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:s}:void 0}}:void 0}:u={$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:s}},r.target==="jsonSchema7"?u.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(u.$schema="https://json-schema.org/draft/2019-09/schema#"),u};var ct=new Set(["$comment","default","description","examples","readOnly","title","writeOnly"]),In=new Set(["$id","$schema"]),fc=new Set(["additionalProperties","dependencies","maxProperties","minProperties","patternProperties","properties","propertyNames","required"]),Rd=["additionalItems","additionalProperties","contains","contentSchema","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],Ed=["allOf","anyOf","items","oneOf","prefixItems"],Td=["$defs","definitions","dependentSchemas","dependencies","patternProperties","properties"],Zg=new Set(["$anchor","$dynamicAnchor","$dynamicRef","$recursiveAnchor","$recursiveRef","allOf","contains","contentEncoding","contentMediaType","contentSchema","dependentRequired","dependentSchemas","dependencies","else","if","maxContains","maxProperties","minContains","minProperties","not","patternProperties","prefixItems","propertyNames","then","unevaluatedItems","unevaluatedProperties","uniqueItems"]),vd=new Set([...ct,"additionalProperties","properties","required","type"]);function Yo(t,...e){for(let r of e)Object.prototype.propertyIsEnumerable.call(r,"__proto__")&&!N(t,"__proto__")&&Object.defineProperty(t,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0}),Object.assign(t,r);return t}function $e(t,e,r){let n=t;for(let o of Rd)o in n&&r(n[o],[...e,o],o);for(let o of Ed){let s=n[o];if(Array.isArray(s))for(let[i,a]of s.entries())r(a,[...e,o,String(i)],o);else s!==void 0&&r(s,[...e,o],o)}for(let o of Td){let s=n[o];if(H(s))for(let[i,a]of Object.entries(s))o==="dependencies"&&!Qo(a)||r(a,[...e,o,i],o)}}function Cd(t){let e=structuredClone(t);if($d(e),Nd(e),uA(e),Jg(e),e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);if(e.anyOf!==void 0)throw new Error("Root schema must not use `anyOf` because strict Structured Outputs requires a root object without a union.");_a(e,[],e),Dd(e),_a(e,[],e),lA(e),ga(e,[],e);let r=ha(e,[],e);return _a(r,[],r),r}function $d(t,e=new Set){if(typeof t=="boolean"||!H(t)||e.has(t))return;e.add(t);let r=t;for(let n of Object.keys(r))r[n]===void 0&&delete r[n];$e(t,[],n=>{$d(n,e)})}function Jg(t){let e=new Set;for(;;){if(typeof t.$ref=="string"){if(e.has(t.$ref))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(t.$ref));e.add(t.$ref)}Vg(t),Dd(t,!0),Gg(t);let r=Yg(t);if(t.$ref===void 0&&!r)return}}function Vg(t){let e=t.$ref;if(e===void 0)return;if(kd(e),!tA(t))throw new Error("Schema $ref at `<root>` has non-metadata siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");let r=new Set,n=Object.fromEntries(Object.entries(t).filter(([p])=>ct.has(p))),o;for(;;){if(r.has(e))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(e));r.add(e);let p=kr(t,e);if(p===void 0)throw new Error("Local $ref at `<root>` does not resolve to an object or boolean schema: "+JSON.stringify(e));if(typeof p=="boolean")throw new TypeError("Expected object schema but got boolean; path=<root>");let m=p.$ref;if(m===void 0){o=p;break}if(kd(m),r.has(m))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(m));if(!es(p))throw new Error("Schema $ref in root chain has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");for(let f of ct)!(f in n)&&f in p&&(n[f]=p[f]);e=m}let s=t.$defs,i=t.definitions,a=Object.fromEntries(Object.entries(t).filter(([p])=>ct.has(p)||In.has(p))),u=structuredClone(o);for(let p of["$defs","definitions"])t[p]!==void 0&&u[p]!==void 0&&delete u[p];let l=t;for(let p of Object.keys(t))delete l[p];Yo(t,u,n,a),s!==void 0&&(t.$defs=s),i!==void 0&&(t.definitions=i)}function Gg(t){for(;t.allOf!==void 0;){if(Array.isArray(t.allOf))for(let[i,a]of t.allOf.entries())ga(a,["allOf",String(i)],t);if(hc(t,[],t))continue;let e=t.allOf;if(!Array.isArray(e)||e.length!==1||!rA(t))return;let r=e[0];if(typeof r=="boolean"||!H(r))return;let n={...t};delete n.allOf;let o=structuredClone(r),s=t;for(let i of Object.keys(t))delete s[i];Yo(t,o,n)}}function Yg(t){let e=t.anyOf;if(!Array.isArray(e)||!nA(t))return!1;let r=e.map((l,p)=>({branch:l,index:p})).filter(({branch:l})=>l!==!1);if(r.length!==1)return!1;let{branch:n,index:o}=r[0];if(typeof n=="boolean"||!H(n)||!ya(n,t))return!1;let s=Qg(t,n);eA(t,o,s);let i={...t};delete i.anyOf;let a=structuredClone(n);for(let l of["$defs","definitions"]){let p=t[l],m=a[l];if(!H(p)||!H(m))continue;let f=s.get(l),g={...p};for(let[w,A]of Object.entries(m))Object.defineProperty(g,f?.get(w)??w,{value:A,writable:!0,enumerable:!0,configurable:!0});a[l]=g,delete i[l]}let u=t;for(let l of Object.keys(t))delete u[l];return Yo(t,a,i),!0}function Qg(t,e){let r=new Map;for(let n of["$defs","definitions"]){let o=t[n],s=e[n];if(!H(o)||!H(s))continue;let i=new Set([...Object.keys(o),...Object.keys(s)]),a=new Map,u=0;for(let[l,p]of Object.entries(s)){if(!N(o,l)||ti(o[l],p))continue;let m="__openai_strict_anyOf_definition_"+u++;for(;i.has(m);)m="__openai_strict_anyOf_definition_"+u++;i.add(m),a.set(l,m)}a.size>0&&r.set(n,a)}return r}function eA(t,e,r){let n=s=>{let i=On(s);if(i===void 0||i[0]!=="anyOf"||i[1]!==String(e))return s;let a=i.slice(2),u=a[0];if(a.length>1&&(u==="$defs"||u==="definitions")){let l=r.get(u)?.get(a[1]);l!==void 0&&(a[1]=l)}return a.length===0?"#":"#/"+a.map(Md).join("/")},o=s=>{typeof s=="boolean"||!H(s)||(typeof s.$ref=="string"&&(s.$ref=n(s.$ref)),$e(s,[],i=>{o(i)}))};o(t)}function kd(t){if(typeof t!="string")throw new TypeError("Received non-string $ref - "+String(t)+"; path=<root>");if(!t.startsWith("#"))throw new Error("External $ref at `<root>` is not supported in strict Structured Outputs: "+JSON.stringify(t))}function tA(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||In.has(e)||ct.has(e))}function Nd(t){typeof t=="boolean"||!H(t)||(Array.isArray(t.type)&&t.type.length===1&&(t.type=t.type[0]),$e(t,[],e=>{Nd(e)}))}function ei(t,e,r=new Set){if(typeof t=="boolean")return t;let n=t.$ref;if(n!==void 0){if(typeof n!="string"||!es(t)||r.has(n))return!1;let o=kr(e,n);return o===void 0?!1:ei(o,e,new Set([...r,n]))}return!(t.type!==void 0&&t.type!=="null"&&!(Array.isArray(t.type)&&t.type.includes("null"))||"const"in t&&t.const!==null||t.enum!==void 0&&(!Array.isArray(t.enum)||!t.enum.includes(null))||t.allOf!==void 0&&(!Array.isArray(t.allOf)||!t.allOf.every(o=>ei(o,e)))||t.anyOf!==void 0&&(!Array.isArray(t.anyOf)||!t.anyOf.some(o=>ei(o,e)))||t.oneOf!==void 0&&(!Array.isArray(t.oneOf)||t.oneOf.filter(o=>ei(o,e)).length!==1)||t.not!==void 0||t.if!==void 0||t.then!==void 0||t.else!==void 0)}function ha(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!H(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);if(hc(t,e,r))return ha(t,e,r);if(aA(t),sA(t,e,r),pc(t)){if(!N(t,"additionalProperties"))t.additionalProperties=!1;else if(t.additionalProperties!==!1)throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` must set \`additionalProperties: false\` to be compatible with strict Structured Outputs.`)}let n=t.required??[];if(!Array.isArray(n)||n.some(m=>typeof m!="string"))throw new TypeError(`Expected \`required\` to be an array of strings; path=${e.join("/")||"<root>"}`);let o=t.properties;if(pc(t)){for(let m of n)if(!H(o)||!N(o,m))throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` requires property \`${m}\` but does not declare it in \`properties\`.`)}if(H(o)){for(let[m,f]of Object.entries(o))if(!ei(f,r)&&!n.includes(m))throw new Error(`Schema field at \`${[...e,"properties",m].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);t.required=Object.keys(o)}let s=t.items,i=t.additionalItems;if(Array.isArray(s))throw new TypeError(`Schema at \`${e.join("/")||"<root>"}\` uses tuple-form \`items\`, which cannot be represented in strict Structured Outputs.`);if(i!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`additionalItems\` and cannot be represented in strict Structured Outputs.`);let a=t.allOf;if(Array.isArray(a)&&a.length===1&&dc(t,"allOf")){let m=a[0];if(m===!1)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses \`allOf: [false]\`, which cannot be represented in strict Structured Outputs.`);if(m===!0)delete t.allOf;else{let f=ha(m,[...e,"allOf","0"],r),g={...t};delete g.allOf,Yo(t,f,g),delete t.allOf}}iA(t,r);let u=t;for(let m of Zg){if(u[m]!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`${m}\` and cannot be represented in strict Structured Outputs.`);delete u[m]}let l=t.type,p=t.items;if((l==="array"||Array.isArray(l)&&l.includes("array"))&&p===void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` declares an array without \`items\`, which cannot be represented in strict Structured Outputs.`);return $e(t,e,(m,f,g)=>{typeof m=="boolean"&&(g==="additionalProperties"||g==="additionalItems")||ha(m,f,r)}),t.default===null&&delete t.default,t}function On(t){if(!t.startsWith("#"))return;let e;try{e=decodeURIComponent(t.slice(1))}catch{return}if(e==="")return[];if(!e.startsWith("/"))return;let r=[];for(let n of e.slice(1).split("/")){if(/~(?:[^01]|$)/.test(n))return;r.push(n.replace(/~1/g,"/").replace(/~0/g,"~"))}return r}function wn(t,e){if(Array.isArray(t)){if(!/^(?:0|[1-9]\d*)$/.test(e))return;let r=Number(e);return N(t,r)?t[r]:void 0}if(!(!H(t)||!N(t,e)))return t[e]}function kr(t,e){let r=On(e);if(r===void 0)return;let n=t;for(let o=0;o<r.length;){if(!H(n))return;let s=r[o];if(Rd.includes(s)){n=wn(n,s),o+=1;continue}if(Ed.includes(s)){if(n=wn(n,s),o+=1,Array.isArray(n)){if(o>=r.length)return;n=wn(n,r[o]),o+=1}continue}if(Td.includes(s)){let i=wn(n,s);if(o+=1,!H(i)||o>=r.length||(n=wn(i,r[o]),s==="dependencies"&&!Qo(n)))return;o+=1;continue}return}return Qo(n)?n:void 0}function H(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qo(t){return typeof t=="boolean"||H(t)}function ya(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!es(t)||r.has(t.$ref))return!1;let n=kr(e,t.$ref);return n===void 0?!1:ya(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!dc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?ya(n,e,r):!1}return t.type==="object"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="object"}function lc(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!es(t)||r.has(t.$ref))return!1;let n=kr(e,t.$ref);return n===void 0?!1:lc(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!dc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?lc(n,e,r):!1}return t.type==="array"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="array"}function es(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||ct.has(e))}function dc(t,e){let r=t;return Object.keys(t).every(n=>n===e||(n==="$defs"||n==="definitions")&&H(r[n])||ct.has(n))}function rA(t){return Object.keys(t).every(e=>e==="allOf"||e==="$defs"||e==="definitions"||In.has(e)||ct.has(e))}function nA(t){return Object.keys(t).every(e=>e==="anyOf"||e==="$defs"||e==="definitions"||e==="type"&&t.type==="object"||In.has(e)||ct.has(e))}function oA(t){return Object.keys(t).some(e=>fc.has(e))}function pc(t){let e=t.type;return e==="object"||Array.isArray(e)&&e.includes("object")||e===void 0&&oA(t)}function jd(t,e){return t===e||Array.isArray(t)&&t.length===2&&t.includes(e)&&t.includes("null")}function sA(t,e,r){if(t.anyOf===void 0)return;let n=H(t.properties)&&Object.keys(t.properties).length===0,o=Array.isArray(t.required)&&t.required.length===0;if(n&&delete t.properties,o&&delete t.required,!pc(t))return;let s=Object.keys(t).some(i=>fc.has(i));if(jd(t.type,"object")&&!s&&Array.isArray(t.anyOf)&&t.anyOf.every(i=>ya(i,r))){delete t.type;return}throw new Error("Object anyOf schema at `"+(e.join("/")||"<root>")+"` cannot be represented in strict Structured Outputs without changing Draft 7 validation.")}function iA(t,e){jd(t.type,"array")&&t.items===void 0&&Array.isArray(t.anyOf)&&t.anyOf.every(r=>lc(r,e))&&delete t.type}function aA(t){if(!Array.isArray(t.anyOf))return;let e=t.anyOf.filter(r=>r!==!1);e.length>0&&e.length!==t.anyOf.length&&(t.anyOf=e)}function uA(t){let e=(r,n)=>{if(!(typeof r=="boolean"||!H(r))){if(n.length>0&&r.$id!==void 0)throw new Error("Nested $id at "+JSON.stringify(n.join("/"))+" establishes a separate JSON Schema resource scope and cannot be represented in strict Structured Outputs.");$e(r,n,(o,s)=>{e(o,s)})}};e(t,[])}function cA(t,e){let r=On(e);if(r===void 0)return!1;let n=t;for(let[o,s]of r.entries()){if(s==="allOf"&&H(n)&&Array.isArray(n.allOf)&&o<r.length-1)return!0;if(n=wn(n,s),n===void 0)return!1}return!1}function mc(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}function Md(t){return encodeURIComponent(mc(t)).replace(/%24/g,"$")}function lA(t){let e=n=>{let o=On(n);if(o===void 0||o.length===0)return n;let s=[...o],i=t,a=!1;for(let[u,l]of o.entries()){let p=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0;if(l==="anyOf"&&u<o.length-1&&p!==void 0&&Array.isArray(p.anyOf)){let m=p.anyOf,f=o[u+1];if(!/^(?:0|[1-9]\d*)$/.test(f))return n;let g=Number(f);if(!N(m,g))return n;let w=m.filter(A=>A!==!1);if(w.length>0&&w.length!==m.length){if(m[g]===!1)return n;let A=m.slice(0,g).filter(b=>b!==!1).length;A!==g&&(s[u+1]=String(A),a=!0)}}if(i=wn(i,l),i===void 0)return n}return a?"#/"+s.map(Md).join("/"):n},r=n=>{typeof n=="boolean"||!H(n)||(typeof n.$ref=="string"&&(n.$ref=e(n.$ref)),$e(n,[],o=>{r(o)}))};r(t)}function Dd(t,e=!1){let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"&&cA(t,u.$ref)){let l=On(u.$ref);(!e||l?.[0]==="allOf")&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve local allOf references.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=kr(t,u);if(!Qo(l)){if(e)continue;throw new Error("Local $ref cannot be preserved before allOf flattening: "+JSON.stringify(u))}let p="__openai_strict_allOf_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+mc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function pA(t,e){if(e.length===0)return;let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"){let l=On(u.$ref);l!==void 0&&e.some(p=>l.length>=p.length&&p.every((m,f)=>l[f]===m))&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve discarded allOf properties.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=kr(t,u);if(!Qo(l))throw new Error("Local $ref cannot be preserved before allOf property removal: "+JSON.stringify(u));let p="__openai_strict_allOf_property_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_property_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+mc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function _a(t,e,r){if(typeof t=="boolean"||!H(t))return;let n=t.$ref;if(n!==void 0){if(typeof n!="string")throw new TypeError(`Received non-string $ref - ${n}; path=${e.join("/")}`);if(!n.startsWith("#"))throw new Error(`External $ref at \`${e.join("/")||"<root>"}\` is not supported in strict Structured Outputs: ${JSON.stringify(n)}`);let o=kr(r,n);if(o===void 0||!Qo(o))throw new Error(`Local $ref at \`${e.join("/")||"<root>"}\` does not resolve to an object or boolean schema: ${JSON.stringify(n)}`);if(typeof o=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!es(t))throw new Error(`Schema $ref at \`${e.join("/")||"<root>"}\` has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.`)}$e(t,e,(o,s)=>{_a(o,s,r)})}function fA(t,e,r){let n=[t],o=new Set,s=t,i=[];for(;;){for(;s.$ref!==void 0;){let a=s.$ref;if(typeof a!="string"||!es(s)||o.has(a))return;o.add(a);let u=kr(e,a);if(typeof u=="boolean"||!H(u))return;let l=On(a);if(l===void 0)return;s=u,i=l,n.push(s)}if(s.allOf!==void 0&&!r.has(s)){let a=s.allOf;if(ga(s,i,e,r),s.$ref!==void 0||s.allOf!==a)continue}return{schema:s,refChain:n}}}function ga(t,e,r,n=new Set){if(!(typeof t=="boolean"||!H(t))&&!n.has(t)){n.add(t);try{for(;;)if($e(t,e,(o,s)=>{ga(o,s,r,n)}),!hc(t,e,r,n))return}finally{n.delete(t)}}}function hc(t,e,r,n=new Set){let o=t.allOf;if(!Array.isArray(o)||o.length===0)return!1;let s=o.filter((S,$)=>!o.slice(0,$).some(D=>ti(D,S)));if(s.length!==o.length)return t.allOf=s,!0;let i=o.filter(S=>S!==!0);if(i.length!==o.length)return i.length===0?delete t.allOf:t.allOf=i,!0;let a=cc(t),u=o.map(S=>H(S)?fA(S,r,n):void 0),l=u.map(S=>S?.schema).filter(S=>S!==void 0&&cc(S));if(!a&&l.length===0||!a&&o.length===1)return!1;let p=()=>{throw new Error(`Object allOf at \`${e.join("/")||"<root>"}\` cannot be merged without changing Draft 7 validation.`)};!a&&["additionalProperties","properties","required","type"].some(S=>S in t)&&p();for(let S of Object.keys(t))S!=="allOf"&&S!=="$defs"&&S!=="definitions"&&!(e.length===0&&In.has(S))&&!vd.has(S)&&p();let m=[];a&&m.push({schema:t,sourcePath:e});for(let[S,$]of o.entries()){H($)||p();let D=u[S];if(D===void 0)return p();let W=D.schema;cc(W)?m.push({schema:W,sourcePath:W===$?[...e,"allOf",String(S)]:void 0}):dA(W)||p()}let f={};for(let S of["$defs","definitions"])t[S]!==void 0&&(f[S]=t[S]);if(e.length===0)for(let S of In)S in t&&(f[S]=t[S]);let g=Object.create(null),w=new Set,A=[],b=[],k=!1,h=!1,I=!1,x=!1,T=S=>{for(let $ of ct)$ in S&&($ in f||(f[$]=S[$]))};T(t);for(let S of u)if(S!==void 0)for(let $ of S.refChain)T($);for(let{schema:S,sourcePath:$}of m){for(let D of Object.keys(S))D==="allOf"&&S===t||(D==="$defs"||D==="definitions")&&H(S[D])||S===t&&e.length===0&&In.has(D)||vd.has(D)||p();if(S.type!==void 0&&(zd(S.type)||p(),S.type==="object"?I=!0:x=!0),S.properties!==void 0){H(S.properties)||p(),k=!0;for(let[D,W]of Object.entries(S.properties))b.push({key:D,propertySchema:W,sourcePath:$===void 0?void 0:[...$,"properties",D]})}if(S.required!==void 0){(!Array.isArray(S.required)||S.required.some(D=>typeof D!="string"))&&p(),h=!0;for(let D of S.required)w.add(D)}"additionalProperties"in S&&(S.additionalProperties!==!1&&p(),A.push(new Set(Object.keys(S.properties??{}))))}let v;if(A.length>0){v=new Set(A[0]);for(let S of A.slice(1))for(let $ of v)S.has($)||v.delete($)}let R=v,K=R!==void 0&&[...w].some(S=>!R.has(S)),j=K&&!I&&x,C=b.filter(({key:S,sourcePath:$})=>$!==void 0&&(j||v!==void 0&&!v.has(S))).map(({sourcePath:S})=>S);if(pA(r,C),t===r&&r.$defs!==void 0&&(f.$defs=r.$defs),K){if(j){f.type="null";for(let S of Object.keys(t))delete t[S];return Yo(t,f),!0}p()}for(let{key:S,propertySchema:$}of b)v!==void 0&&!v.has(S)||(N(g,S)&&!ti(g[S],$)&&p(),g[S]=$);(I||x)&&(f.type=I?"object":["object","null"]),k&&(f.properties=Object.fromEntries(Object.entries(g))),h&&(f.required=[...w]),A.length>0&&(f.additionalProperties=!1);for(let S of Object.keys(t))delete t[S];return Yo(t,f),!0}function cc(t){return t.type!==void 0?zd(t.type):Object.keys(t).some(e=>fc.has(e))}function dA(t){let e=t;return Object.keys(t).every(r=>ct.has(r)||(r==="$defs"||r==="definitions")&&H(e[r]))}function zd(t){return t==="object"||Array.isArray(t)&&t.length===2&&t.includes("object")&&t.includes("null")}function ti(t,e){if(t===e)return!0;if(Array.isArray(t)||Array.isArray(e))return!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length?!1:t.every((i,a)=>ti(i,e[a]));if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;let r=t,n=e,o=Object.keys(r),s=Object.keys(n);return o.sort(),s.sort(),o.length!==s.length?!1:o.every((i,a)=>i===s[a]&&ti(r[i],n[i]))}var mA={ZodString:"string",ZodNumber:"number",ZodBoolean:"boolean",ZodNull:"null",ZodObject:"object",ZodArray:"array"},hA=new Set(["ZodOptional","ZodNullable","ZodDefault","ZodReadonly"]),_A=new Set(["ZodString","ZodNumber","ZodBoolean","ZodNull","ZodEnum","ZodNativeEnum","ZodAny","ZodUnknown","ZodLiteral"]),yA=new Map([["ZodBigInt","encode integers as decimal strings and convert with BigInt after parsing"],["ZodDate","native dates do not have a synchronous JSON representation"],["ZodMap","native maps do not have a synchronous JSON representation"],["ZodSet","native sets do not have a synchronous JSON representation"],["ZodPromise","asynchronous values do not have a synchronous JSON representation"],["ZodEffects","custom transformations and refinements are opaque to JSON Schema"],["ZodPipeline","custom pipelines are opaque to JSON Schema"],["ZodIntersection","intersections cannot prove that both branches produce the same value"],["ZodCatch","catch fallbacks cannot be proven to produce JSON-native values"],["ZodTuple","tuple schemas require unsupported array-valued items"],["ZodRecord","open-ended record schemas require unsupported additionalProperties"]]),gA=new Set(["trim","toLowerCase","toUpperCase"]),AA=new Set(["regex","cuid","cuid2","startsWith","endsWith","includes","emoji","ulid","nanoid"]);function Ut(t,e,r){throw new Error(`Zod schema field \`${t}\` uses \`${e}\`, which cannot be represented by strict Structured Outputs: ${r}`)}function Aa(t){if(t===null)return{type:"null",values:new Set([null])};if(typeof t=="string")return{type:"string",values:new Set([t])};if(typeof t=="boolean")return{type:"boolean",values:new Set([t])};if(typeof t=="number"&&Number.isFinite(t))return{type:"number",values:new Set([t])}}function Ld(t){let e=t.values;if(!e||Array.isArray(e))return[];let r=e,n=Object.keys(r).filter(o=>{let s=r[o];return(typeof s=="string"||typeof s=="number")&&typeof r[String(s)]!="number"}).map(o=>r[o]).filter(o=>typeof o=="string"||typeof o=="number"&&Number.isFinite(o));return["string","number"].map(o=>({type:o,values:new Set(n.filter(s=>typeof s===o))})).filter(o=>o.values.size>0)}function Ud(t){let e=Array.isArray(t.values)?t.values.filter(r=>typeof r=="string"):[];return{type:"string",values:new Set(e)}}function bA(t){if(t.typeName==="ZodLiteral"){let e=Aa(t.value);return e?[e]:[]}return t.typeName==="ZodEnum"?[Ud(t)]:t.typeName==="ZodNativeEnum"?Ld(t):[]}function wA(t){let e=new Map;for(let[r,n]of Object.entries(t.shape())){let o=bA(n._def);o.length>0&&o.every(({values:s})=>s!==void 0&&s.size>0)&&e.set(r,o)}return{type:"object",discriminators:e}}function ts(t,e=new Set){let r=t._def;if(e.has(r))return[{type:"unknown"}];if(e.add(r),r.typeName==="ZodObject")return[wA(r)];let n=mA[r.typeName];if(n!==void 0)return[{type:n}];if(r.typeName==="ZodLiteral"){let o=Aa(r.value);return o?[o]:[{type:"unknown"}]}return r.typeName==="ZodEnum"?[Ud(r)]:r.typeName==="ZodNativeEnum"?Ld(r):r.typeName==="ZodUnion"||r.typeName==="ZodDiscriminatedUnion"?[...r.options.values()].flatMap(o=>ts(o,new Set(e))):r.typeName==="ZodNullable"?[...ts(r.innerType,new Set(e)),{type:"null"}]:hA.has(r.typeName)?ts(r.innerType,e):r.typeName==="ZodBranded"?ts(r.type,e):r.typeName==="ZodLazy"?ts(r.getter(),e):[{type:"unknown"}]}function Bd(t,e){if(t.type==="unknown"||e.type==="unknown")return!0;if(t.type!==e.type)return!1;if(t.discriminators&&e.discriminators)for(let[n,o]of t.discriminators){let s=e.discriminators.get(n);if(s&&!o.some(i=>s.some(a=>Bd(i,a))))return!1}let r=e.values;return!t.values||!r?!0:[...t.values].some(n=>r.has(n))}function IA(t,e){let r=t.map(n=>ts(n));for(let[n,o]of r.entries())for(let s of r.slice(n+1))o.some(i=>s.some(a=>Bd(i,a)))&&Ut(e,"ZodUnion","ambiguous union branches overlap; use disjoint JSON types, distinct literals, or a discriminated union")}function OA(t,e){switch(t.typeName){case"ZodObject":{let r=Object.entries(t.shape()).map(([n,o])=>({schema:o,path:`${e}.${n}`}));return t.catchall&&t.catchall._def.typeName!=="ZodNever"&&r.push({schema:t.catchall,path:`${e}.<catchall>`}),r}case"ZodArray":return[{schema:t.type,path:`${e}[]`}];case"ZodUnion":case"ZodDiscriminatedUnion":return[...t.options.values()].map((r,n)=>({schema:r,path:`${e}[${n}]`}));case"ZodOptional":case"ZodNullable":case"ZodDefault":case"ZodReadonly":return[{schema:t.innerType,path:e}];case"ZodBranded":return[{schema:t.type,path:e}];case"ZodLazy":return[{schema:t.getter(),path:e}];default:return}}function Fd(t){let e=t.checks??[];return e.some(({kind:r})=>r==="finite"||r==="int")?!0:e.some(({kind:r,value:n})=>r==="min"&&typeof n=="number"&&Number.isFinite(n))&&e.some(({kind:r,value:n})=>r==="max"&&typeof n=="number"&&Number.isFinite(n))}function xA(t,e,r){return t.unknownKeys!=="passthrough"&&(t.catchall===void 0||t.catchall._def.typeName==="ZodNever")&&Object.values(t.shape()).every(n=>r(n,new Set(e)))}function xn(t,e=new Set){let r=t._def;if(e.has(r))return!0;switch(e.add(r),r.typeName){case"ZodString":case"ZodBoolean":case"ZodNull":case"ZodEnum":case"ZodNativeEnum":return!0;case"ZodLiteral":return Aa(r.value)!==void 0;case"ZodNumber":return Fd(r);case"ZodArray":return xn(r.type,e);case"ZodObject":return xA(r,e,xn);case"ZodUnion":case"ZodDiscriminatedUnion":return[...r.options.values()].every(n=>xn(n,new Set(e)));case"ZodNullable":case"ZodDefault":case"ZodReadonly":return xn(r.innerType,e);case"ZodBranded":return xn(r.type,e);case"ZodLazy":return xn(r.getter(),e);default:return!1}}function PA(t,e){let r=yA.get(t.typeName);r&&Ut(e,t.typeName,r),t.typeName==="ZodLiteral"&&!Aa(t.value)&&Ut(e,t.typeName,"literal values must be finite JSON primitives"),t.typeName==="ZodNumber"&&t.coerce===!0&&!Fd(t)&&Ut(e,t.typeName,"number coercion must prove its parsed output is finite"),t.typeName==="ZodDefault"&&!xn(t.innerType)&&Ut(e,t.typeName,"default factory output is not independently guaranteed to be finite and JSON-native; it may contain bigint"),t.typeName==="ZodString"&&t.checks?.some(({kind:n})=>gA.has(n))&&Ut(e,t.typeName,"value-changing string checks are not represented in JSON Schema"),t.typeName==="ZodString"&&(t.checks?.filter(({kind:n})=>AA.has(n)).length??0)>1&&Ut(e,t.typeName,"multiple pattern-producing checks require unsupported allOf")}function _c(t,e,r){let n=t._def;if(r.has(n)||(r.add(n),n.typeName==="ZodIntersection"&&e==="$"))return;PA(n,e);let o=OA(n,e);if(!o){_A.has(n.typeName)||Ut(e,n.typeName,"this Zod schema is outside the documented JSON-native subset");return}for(let s of o)_c(s.schema,s.path,r);n.typeName==="ZodObject"&&(n.unknownKeys==="passthrough"||n.catchall!==void 0&&n.catchall._def.typeName!=="ZodNever")&&Ut(e,n.typeName,"open object schemas require additionalProperties: false"),n.typeName==="ZodUnion"&&e!=="$"&&IA(o.map(({schema:s})=>s),e)}function Kd(t,e){let r=new Set;_c(t,"$",r);for(let[n,o]of Object.entries(e??{}))_c(o,`$.definitions.${n}`,r)}function SA(t,e){for(let r=t;r!==null;r=Object.getPrototypeOf(r)){let n=Object.getOwnPropertyDescriptor(r,"toJSON");if(n){if(!("value"in n)||typeof n.value=="function")throw new Error(`Strict Structured Outputs schema field \`${e}\` contains an unsupported \`toJSON\` serialization hook`);return}}}function vA(t,e){if(Object.is(t,-0))throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains negative zero, which cannot round-trip through JSON`)}function ri(t,e="$",r=new Set){if(t===null||typeof t=="string"||typeof t=="boolean")return;if(typeof t=="number"&&Number.isFinite(t)){vA(t,e);return}if(typeof t!="object")throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON ${typeof t} value`);if(r.has(t))throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a circular JSON value`);let n=Object.getPrototypeOf(t);if(!Array.isArray(t)&&n!==Object.prototype&&n!==null)throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON native object`);if(SA(t,e),r.add(t),Array.isArray(t))for(let o=0;o<t.length;o+=1){let s=Object.getOwnPropertyDescriptor(t,String(o));if(!s)throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains a sparse array`);if(!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains an array accessor`);ri(s.value,`${e}[${o}]`,r)}else for(let o of Object.keys(t)){let s=Object.getOwnPropertyDescriptor(t,o);if(!s||!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}.${o}\` contains an accessor`);ri(s.value,`${e}.${o}`,r)}r.delete(t)}function kA(t){return encodeURIComponent(t.replace(/~/g,"~0").replace(/\//g,"~1"))}function RA(t){if(t&&N(t,"__proto__"))throw new Error('schemaDefinitions cannot include "__proto__" as a definition name')}function Wd(t,e){let r=new Map(Object.keys(e??{}).map(s=>[`#/definitions/${s}`,`#/definitions/${kA(s)}`]));if(r.size===0)return t;let n=new Set,o=s=>{if(!s||typeof s!="object"||Array.isArray(s)||n.has(s))return;n.add(s);let i=s,a=i.$ref;if(typeof a=="string"){let u=r.get(a);u!==void 0&&u!==a&&(i.$ref=u)}$e(i,[],o)};return o(t),t}function EA(t,e){if(!e)return t;let r=t;for(;N(e,r);)r=`${r}_root`;return r}function TA(t,e){Kd(t,e.schemaDefinitions);let r=EA(e.name,e.schemaDefinitions),n=uc(t,{openaiStrictMode:!0,name:r,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property",...e.schemaDefinitions?{definitions:e.schemaDefinitions}:void 0}),o=Wd(n,e.schemaDefinitions);return ri(o),o}function CA(t,e={}){let r=e.schemaDefinitions?Cc():void 0;for(let[s,i]of Object.entries(e.schemaDefinitions??{}))r?.add(i,{id:s});let n=$c(t,{target:"draft-7",...r?{metadata:r}:void 0,override:({zodSchema:s,jsonSchema:i})=>{let a=s._zod.def;if(a.type==="union"&&"discriminator"in a&&Array.isArray(i.oneOf)){if(i.anyOf!==void 0)throw new Error("Zod discriminated union generated both `anyOf` and `oneOf`, which cannot be represented in an OpenAI strict schema");i.anyOf=i.oneOf,delete i.oneOf}}}),o=Wd(n,e.schemaDefinitions);return Cd(o)}function qd(t){return"_zod"in t}function $A(t,e){let r=Qe({type:"json_schema",$parseRaw:void 0},e),n=t.parse;if(typeof n=="function"){let o=n.call(t,r);return qd(t)||ri(o),o}return zc(t,r)}function Hd(t,e,r){let n=t,{schemaDefinitions:o,...s}=r??{};return RA(o),op({type:"json_schema",json_schema:{...s,name:e,strict:!0,schema:qd(n)?CA(n,{schemaDefinitions:o}):TA(n,{name:e,schemaDefinitions:o})}},i=>$A(t,i))}var Xd=["jsonSchema","functionCalling","jsonMode"];function Zd(t,e){if(typeof e<"u"&&!Xd.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${Xd.join(", ")}`);let r=!t.startsWith("gpt-3")&&!t.startsWith("gpt-4-")&&t!=="gpt-4";if(r&&!e)return"jsonSchema";if(!r&&e==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${t}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return e??"functionCalling"}function NA(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Jd(t,e,r){if(jc(t))return Hd(t,e,r);if(Nc(t))return NA({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:En(t,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=e}})}},n=>Tc(t,JSON.parse(n)));throw new Error("Unsupported schema response format")}function Vd(t,e){if(e&&typeof e=="object"&&"images"in e&&Array.isArray(e.images)){let r=e.images.filter(n=>typeof n?.image_url?.url=="string").map(n=>({type:"image",url:n.image_url.url}));return[{type:"text",text:t},...r]}return t}var Gd={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:13e4,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};var ba="**REDACTED**";function rs(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var Pn=class extends Kc{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(t){let e=this.invocationParams(t);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:e.temperature??void 0,ls_max_tokens:e.max_tokens??void 0,ls_stop:t.stop}}_getInvocationParamsForTracing(t){let e=this.invocationParams(t);return Array.isArray(e.tools)?{...e,tools:e.tools.map(r=>{if(r?.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=ba),"authorization"in n&&(n.authorization=ba),n})}:e}_getCallOptionsForTracing(t,e){return Array.isArray(t.tools)?{...t,tools:t.tools.map(r=>{if(typeof r!="object"||r===null||!("type"in r)||r.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=ba),"authorization"in n&&(n.authorization=ba),n})}:t}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(t){super(t??{});let e=typeof t?.configuration?.apiKey=="string"||typeof t?.configuration?.apiKey=="function"?t?.configuration?.apiKey:void 0,r=qc({baseURL:t?.configuration?.baseURL??(Ye("OPENAI_API_BASE")||Ye("OPENAI_BASE_URL")||void 0),providerPath:"openai/v1"});this.apiKey=t?.apiKey??e??r.apiKey??Ye("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??Ye("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelKwargs=t?.modelKwargs??{},this.timeout=t?.timeout,this.temperature=t?.temperature??this.temperature,this.topP=t?.topP??this.topP,this.frequencyPenalty=t?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=t?.presencePenalty??this.presencePenalty,this.logprobs=t?.logprobs,this.topLogprobs=t?.topLogprobs,this.n=t?.n??this.n,this.logitBias=t?.logitBias,this.stop=t?.stopSequences??t?.stop,this.stopSequences=this.stop,this.user=t?.user,this.__includeRawResponse=t?.__includeRawResponse,this.audio=t?.audio,this.modalities=t?.modalities,this.reasoning=t?.reasoning,this.maxTokens=t?.maxCompletionTokens??t?.maxTokens,this.promptCacheKey=t?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=t?.promptCacheRetention??this.promptCacheRetention,this.verbosity=t?.verbosity??this.verbosity,this.disableStreaming=t?.disableStreaming===!0,this.streaming=t?.streaming===!0,this.disableStreaming&&(this.streaming=!1),t?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=t?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration,baseURL:r.baseURL},t?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=t.supportsStrictToolCalling),t?.service_tier!==void 0&&(this.service_tier=t.service_tier),this.zdrEnabled=t?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.5.11")}_getReasoningParams(t){if(!zt(this.model))return;let e;return this.reasoning!==void 0&&(e={...e,...this.reasoning}),t?.reasoning!==void 0&&(e={...e,...t.reasoning}),t?.reasoningEffort!==void 0&&e?.effort===void 0&&(e={...e,effort:t.reasoningEffort}),e}_getResponseFormat(t){return t&&t.type==="json_schema"&&t.json_schema.schema&&ss(t.json_schema.schema)?Jd(t.json_schema.schema,t.json_schema.name,{description:t.json_schema.description}):t}_combineCallOptions(t){return{...this.defaultOptions,...t??{}}}_getClientOptions(t){if(!this.client){let e={baseURL:this.clientConfig.baseURL},r=Sr(e),n={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=vr(n.defaultHeaders),this.client=new M(n)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return gn(t)?Hf(t.metadata.customTool):li(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:Mf(t,e)}bindTools(t,e){let r;return e?.strict!==void 0?r=e.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),this.withConfig({tools:t.map(n=>{if(Go(n)||gn(n))return n;if(Lf(n))return n.extras.providerToolDefinition;let o=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return pi(n)&&n.extras?.defer_loading===!0?{...o,defer_loading:!0}:o}),...e})}async stream(t,e){return super.stream(t,this._combineCallOptions(e))}async invoke(t,e){return super.invoke(t,this._combineCallOptions(e))}_combineLLMOutput(...t){return t.reduce((e,r)=>(r&&r.tokenUsage&&(e.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,e.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,e.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),e),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(t){let e=0,r=0,n=0;this.model==="gpt-3.5-turbo-0301"?(r=4,n=-1):(r=3,n=1);let o=await Promise.all(t.map(async s=>{let[i,a]=await Promise.all([this.getNumTokens(s.content),this.getNumTokens(Lt(s))]),u=s.name!==void 0?n+await this.getNumTokens(s.name):0,l=i+r+a+u,p=s;if(p._getType()==="function"&&(l-=2),p.additional_kwargs?.function_call&&(l+=3),p?.additional_kwargs.function_call?.name&&(l+=await this.getNumTokens(p.additional_kwargs.function_call?.name)),p.additional_kwargs.function_call?.arguments)try{l+=await this.getNumTokens(JSON.stringify(JSON.parse(p.additional_kwargs.function_call?.arguments)))}catch(m){console.error("Error parsing function arguments",m,JSON.stringify(p.additional_kwargs.function_call)),l+=await this.getNumTokens(p.additional_kwargs.function_call?.arguments)}return e+=l,l}));return e+=3,{totalCount:e,countPerMessage:o}}async _getNumTokensFromGenerations(t){return(await Promise.all(t.map(async e=>e.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([e.message])).countPerMessage[0]:await this.getNumTokens(e.message.content)))).reduce((e,r)=>e+r,0)}async _getEstimatedTokenCountFromPrompt(t,e,r){let n=(await this.getNumTokensFromMessages(t)).totalCount;if(e&&r!=="auto"){let o=Df(e);n+=await this.getNumTokens(o),n+=9}return e&&t.find(o=>o._getType()==="system")&&(n-=4),r==="none"?n+=1:typeof r=="object"&&(n+=await this.getNumTokens(r.name)+4),n}async moderateContent(t,e){let r=this._getClientOptions(e?.options),n={input:t,model:e?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(n,r)}catch(o){throw st(o)}})}get profile(){return Gd[this.model]??{}}_getStructuredOutputMethod(t){let e={...t};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(e?.method===void 0)return"jsonSchema"}else e.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return e.method}withStructuredOutput(t,e){let r,n,{schema:o,name:s,includeRaw:i}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let a=Zd(this.model,e?.method);if(a==="jsonMode"){n=Ma(o);let u=En(o);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:s??"extract",...u}}})}else if(a==="jsonSchema"){let u=En(o),l={name:s??"extract",description:Mc(u),schema:ss(o)?o:u,strict:e?.strict};if(r=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:l},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:l.name,description:l.description,...u}}}),ss(o)||Na(o)){let p=Ma(o);n=Dc.from(async m=>"parsed"in m.additional_kwargs?m.additional_kwargs.parsed:p.invoke(m.content))}else n=new Lc}else{let u=s??"extract",l=En(o),p;ss(o)||Na(o)?p={name:u,description:l.description,parameters:l}:typeof o.name=="string"&&typeof o.parameters=="object"&&o.parameters!=null?(p=o,u=o.name):(u=o.title??u,p={name:u,description:o.description??"",parameters:o}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:p}],tool_choice:{type:"function",function:{name:u}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:u,...l}},...e?.strict!==void 0?{strict:e.strict}:{}}),n=Uc(o,u)}return Bc(r,n,i)}};var ni={providerName:"ChatOpenAI",fromStandardTextBlock(t){return{type:"text",text:t.text}},fromStandardImageBlock(t){if(t.source_type==="url")return{type:"image_url",image_url:{url:t.url,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};if(t.source_type==="base64")return{type:"image_url",image_url:{url:`data:${t.mime_type??""};base64,${t.data}`,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(t){if(t.source_type==="url"){let e=Ca({dataUrl:t.url});if(!e)throw new Error(`URL audio blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);let r=e.mime_type||t.mime_type||"",n;try{n=Ta(r)}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(n.type!=="audio"||n.subtype!=="wav"&&n.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:n.subtype,data:e.data}}}if(t.source_type==="base64"){let e;try{e=Ta(t.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(e.type!=="audio"||e.subtype!=="wav"&&e.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:e.subtype,data:t.data}}}throw new Error(`Audio content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(t){if(t.source_type==="url"){let e=Ca({dataUrl:t.url}),r=yn(t);if(!e)throw new Error(`URL file blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:t.url,filename:r}}}if(t.source_type==="base64"){let e=yn(t);return{type:"file",file:{file_data:`data:${t.mime_type??""};base64,${t.data}`,filename:e}}}if(t.source_type==="id")return{type:"file",file:{file_id:t.id}};throw new Error(`File content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)}},wa=({message:t,rawResponse:e,includeRawResponse:r})=>{let n=t.tool_calls,o=t.reasoning_content;switch(t.role){case"assistant":{let s=[],i=[];for(let p of n??[])try{s.push(fi(p,{returnId:!0}))}catch(m){i.push(Tn(p,m.message))}let a={function_call:t.function_call,tool_calls:n};r!==void 0&&(a.__raw_response=e),o!==void 0&&(a.reasoning_content=o);let u={model_provider:"openai",model_name:e.model,usage:{...e.usage},...e.system_fingerprint?{system_fingerprint:e.system_fingerprint}:{}};t.audio&&(a.audio=t.audio);let l=Vd(t.content||"",e.choices?.[0]?.message);return new dt({content:l,tool_calls:s,invalid_tool_calls:i,additional_kwargs:a,response_metadata:u,id:e.id})}default:return new ci(t.content||"",t.role??"unknown")}},Ia=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:n})=>{let o=t.role??n,s=t.content??"",i;t.function_call?i={function_call:t.function_call}:t.tool_calls?i={tool_calls:t.tool_calls}:i={},r&&(i.__raw_response=e),t.reasoning_content!==void 0&&(i.reasoning_content=t.reasoning_content),t.audio&&(i.audio={...t.audio,index:e.choices[0].index});let a={model_provider:"openai",usage:{...e.usage}};if(o==="user")return new kc({content:s,response_metadata:a});if(o==="assistant"){let u=[];if(Array.isArray(t.tool_calls))for(let l of t.tool_calls)u.push({name:l.function?.name,args:l.function?.arguments,id:l.id,index:l.index,type:"tool_call_chunk"});return new Rn({content:s,tool_call_chunks:u,additional_kwargs:i,id:e.id,response_metadata:a})}else return o==="system"?new $a({content:s,response_metadata:a}):o==="developer"?new $a({content:s,response_metadata:a,additional_kwargs:{__openai_role__:"developer"}}):o==="function"?new vc({content:s,additional_kwargs:i,name:t.name,response_metadata:a}):o==="tool"?new Oc({content:s,additional_kwargs:i,tool_call_id:t.tool_call_id,response_metadata:a}):new Sc({content:s,role:o,response_metadata:a})},yc=t=>{if(t.type==="image"){if(t.url)return{type:"image_url",image_url:{url:t.url}};if(t.data)return{type:"image_url",image_url:{url:`data:${t.mimeType};base64,${t.data}`}}}if(t.type==="audio"&&t.data){let e=Rc(()=>{let[,r]=t.mimeType.split("/");return r==="wav"||r==="mp3"?r:"wav"});return{type:"input_audio",input_audio:{data:t.data.toString(),format:e}}}if(t.type==="file"){if(t.data){let e=yn(t);return{type:"file",file:{file_data:`data:${t.mimeType};base64,${t.data}`,filename:e}}}if(t.fileId)return{type:"file",file:{file_id:t.fileId}}}},gc=({message:t,model:e})=>{let r=Lt(t);if(r==="system"&&zt(e)&&(r="developer"),r==="developer")return{role:"developer",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="system")return{role:"system",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="assistant"){let o={role:"assistant",content:t.contentBlocks.filter(s=>s.type==="text")};return dt.isInstance(t)&&t.tool_calls?.length?o.tool_calls=t.tool_calls.map(ja):t.additional_kwargs.tool_calls!=null&&(o.tool_calls=t.additional_kwargs.tool_calls),Array.isArray(o.content)&&o.content.length===0&&o.tool_calls!=null&&(o.content=null),o}else{if(r==="tool"&&ui.isInstance(t))return{role:"tool",tool_call_id:t.tool_call_id,content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="function")return{role:"function",name:t.name??"",content:t.contentBlocks.filter(o=>o.type==="text").join("")}}function*n(o){for(let s of o){s.type==="text"&&(yield{type:"text",text:s.text});let i=yc(s);i&&(yield i)}}return{role:"user",content:Array.from(n(t.contentBlocks))}},Sn=({messages:t,model:e})=>t.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return gc({message:r});let n=Lt(r);n==="system"&&zt(e)&&(n="developer");let o=typeof r.content=="string"?r.content:r.content.flatMap(i=>ii(i)?ai(i,ni):typeof i=="object"&&i!==null&&"type"in i&&(i.type==="tool_use"||i.type==="tool_call"||i.type==="functionCall"||i.type==="reasoning"||i.type==="reasoning_content"||i.type==="thinking")?[]:i),s={role:n,content:o};return r.name!=null&&(s.name=r.name),r.additional_kwargs.function_call!=null&&(s.function_call=r.additional_kwargs.function_call),dt.isInstance(r)&&r.tool_calls?.length?s.tool_calls=r.tool_calls.map(ja):(r.additional_kwargs.tool_calls!=null&&(s.tool_calls=r.additional_kwargs.tool_calls),ui.isInstance(r)&&r.tool_call_id!=null&&(s.tool_call_id=r.tool_call_id)),r.additional_kwargs.audio&&typeof r.additional_kwargs.audio=="object"&&"id"in r.additional_kwargs.audio?[s,{role:"assistant",audio:{id:r.additional_kwargs.audio.id}}]:s});var Oa=class extends Pn{constructor(t,e){super(rs(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),!(this.streaming||e?.streaming)&&t?.response_format?.type==="json_schema"&&r!==!1&&(r=!0);let n={};t?.stream_options!==void 0?n={stream_options:t.stream_options}:this.streamUsage&&(this.streaming||e?.streaming)&&(n={stream_options:{include_usage:!0}});let o={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:t?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:t?.functions,function_call:t?.function_call,tools:t?.tools?.length?t.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:r})):void 0,tool_choice:la(t?.tool_choice),response_format:this._getResponseFormat(t?.response_format),seed:t?.seed,...n,parallel_tool_calls:t?.parallel_tool_calls,...this.audio||t?.audio?{audio:this.audio||t?.audio}:{},...this.modalities||t?.modalities?{modalities:this.modalities||t?.modalities}:{},...this.modelKwargs,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,verbosity:t?.verbosity??this.verbosity};t?.prediction!==void 0&&(o.prediction=t.prediction),this.service_tier!==void 0&&(o.service_tier=this.service_tier),t?.service_tier!==void 0&&(o.service_tier=t.service_tier);let s=this._getReasoningParams(t);return s!==void 0&&s.effort!==void 0&&(o.reasoning_effort=s.effort),zt(o.model)?o.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:o.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,o}async _generate(t,e,r){e.signal?.throwIfAborted();let n={},o=this.invocationParams(e),s=Sn({messages:t,model:this.model});if(o.stream){let i=this._streamResponseChunks(t,e,r),a={};for await(let g of i){g.message.response_metadata={...g.generationInfo,...g.message.response_metadata};let w=g.generationInfo?.completion??0;a[w]===void 0?a[w]=g:a[w]=a[w].concat(g)}let u=Object.entries(a).sort(([g],[w])=>parseInt(g,10)-parseInt(w,10)).map(([g,w])=>w),{functions:l,function_call:p}=this.invocationParams(e),m=await this._getEstimatedTokenCountFromPrompt(t,l,p),f=await this._getNumTokensFromGenerations(u);return n.input_tokens=m,n.output_tokens=f,n.total_tokens=m+f,{generations:u,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let i=await this.completionWithRetry({...o,stream:!1,messages:s},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options}),{completion_tokens:a,prompt_tokens:u,total_tokens:l,prompt_tokens_details:p,completion_tokens_details:m}=i?.usage??{};a&&(n.output_tokens=(n.output_tokens??0)+a),u&&(n.input_tokens=(n.input_tokens??0)+u),l&&(n.total_tokens=(n.total_tokens??0)+l),(p?.audio_tokens!==null||p?.cached_tokens!==null||p?.cache_write_tokens!=null)&&(n.input_token_details={...p?.audio_tokens!==null&&{audio:p?.audio_tokens},...p?.cached_tokens!==null&&{cache_read:p?.cached_tokens},...p?.cache_write_tokens!=null&&{cache_creation:p?.cache_write_tokens}}),(m?.audio_tokens!==null||m?.reasoning_tokens!==null)&&(n.output_token_details={...m?.audio_tokens!==null&&{audio:m?.audio_tokens},...m?.reasoning_tokens!==null&&{reasoning:m?.reasoning_tokens}});let f=[];for(let g of i?.choices??[]){let w={text:g.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(g.message??{role:"assistant"},i)};w.generationInfo={...g.finish_reason?{finish_reason:g.finish_reason}:{},...g.logprobs?{logprobs:g.logprobs}:{}},Pc(w.message)&&(w.message.usage_metadata=n),w.message=new dt(Object.fromEntries(Object.entries(w.message).filter(([A])=>!A.startsWith("lc_")))),f.push(w)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamChatModelEvents(t,e,r){let n=Sn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s=await this.completionWithRetry(o,e),i=this.streamUsage??e.streamUsage;yield*di(async function*(u,l){for await(let p of u){if(l?.aborted)return;yield p}}(s,e.signal),{streamUsage:i??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=Sn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s,i=await this.completionWithRetry(o,e),a;for await(let u of i){if(e.signal?.aborted)return;let l=u?.choices?.[0];if(u.usage&&(a=u.usage),!l)continue;let{delta:p}=l;if(!p)continue;let m=this._convertCompletionsDeltaToBaseMessageChunk(p,u,s);s=p.role??s;let f={prompt:e.promptIndex??0,completion:l.index??0};if(typeof m.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let g={...f};l.finish_reason!=null&&(g.finish_reason=l.finish_reason,g.system_fingerprint=u.system_fingerprint,g.model_name=u.model,g.service_tier=u.service_tier),this.logprobs&&(g.logprobs=l.logprobs);let w=new is({message:m,text:m.content,generationInfo:g});yield w,await r?.handleLLMNewToken(w.text??"",f,void 0,void 0,void 0,{chunk:w})}if(a){let u={...a.prompt_tokens_details?.audio_tokens!==null&&{audio:a.prompt_tokens_details?.audio_tokens},...a.prompt_tokens_details?.cached_tokens!==null&&{cache_read:a.prompt_tokens_details?.cached_tokens},...a.prompt_tokens_details?.cache_write_tokens!=null&&{cache_creation:a.prompt_tokens_details?.cache_write_tokens}},l={...a.completion_tokens_details?.audio_tokens!==null&&{audio:a.completion_tokens_details?.audio_tokens},...a.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:a.completion_tokens_details?.reasoning_tokens}},p=new is({message:new Rn({content:"",response_metadata:{usage:{...a}},usage_metadata:{input_tokens:a.prompt_tokens,output_tokens:a.completion_tokens,total_tokens:a.total_tokens,...Object.keys(u).length>0&&{input_token_details:u},...Object.keys(l).length>0&&{output_token_details:l}}}),text:""});yield p,await r?.handleLLMNewToken(p.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:p})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n),s=t.response_format&&t.response_format.type==="json_schema";return this.caller.callWithOptions({maxRetries:r},async()=>{try{return s&&!t.stream?await this.client.chat.completions.parse(t,o):await this.client.chat.completions.create(t,o)}catch(i){throw st(i)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return Ia({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return wa({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var xa="__openai_function_call_ids__",Pa="__openai_custom_tool_call_ids__";function om(t){return t.type==="url_citation"?{type:"citation",source:"url_citation",url:t.url,title:t.title,startIndex:t.start_index,endIndex:t.end_index}:t.type==="file_citation"?{type:"citation",source:"file_citation",title:t.filename,startIndex:t.index,file_id:t.file_id}:t.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:t.filename,startIndex:t.start_index,endIndex:t.end_index,file_id:t.file_id,container_id:t.container_id}:t.type==="file_path"?{type:"citation",source:"file_path",startIndex:t.index,file_id:t.file_id}:{type:"non_standard",value:t}}function MA(t){if(t.type==="url_citation"||t.type==="file_citation"||t.type==="container_file_citation"||t.type==="file_path")return t;if(t.type==="citation"){let e=t;if(e.source==="url_citation")return{type:"url_citation",url:e.url??"",title:e.title??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_citation")return{type:"file_citation",file_id:e.file_id??"",filename:e.title??"",index:e.startIndex??0};if(e.source==="container_file_citation")return{type:"container_file_citation",file_id:e.file_id??"",filename:e.title??"",container_id:e.container_id??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_path")return{type:"file_path",file_id:e.file_id??"",index:e.startIndex??0}}return t.type==="non_standard"?t.value:t}var ns=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_tokens},...t?.input_tokens_details?.cache_write_tokens!=null&&{cache_creation:t?.input_tokens_details?.cache_write_tokens}},r={...t?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:t?.output_tokens_details?.reasoning_tokens}};return{input_tokens:t?.input_tokens??0,output_tokens:t?.output_tokens??0,total_tokens:t?.total_tokens??0,input_token_details:e,output_token_details:r}},oi=t=>{if(t.error){let a=new Error(t.error.message);throw a.name=t.error.code,a}let e=[],r=[],n=[],o=t.output.map(a=>{if(a.type==="function_call"&&"parsed_arguments"in a){let u={...a};return delete u.parsed_arguments,u}return a}),s={model_provider:"openai",model:t.model,created_at:t.created_at,id:t.id,incomplete_details:t.incomplete_details,metadata:t.metadata,object:t.object,output:o,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let a of t.output)if(a.type==="message")e.push(...a.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(i.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(om),...a.phase!==null?{phase:a.phase}:{}}):u.type==="refusal"?(i.refusal=u.refusal,[]):u));else if(a.type==="function_call"){let u={function:{name:a.name,arguments:a.arguments},id:a.call_id};try{r.push(fi(u,{returnId:!0}))}catch(l){let p;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(p=l.message),n.push(Tn(u,p))}i[xa]??={},a.id&&(i[xa][a.call_id]=a.id)}else if(a.type==="reasoning"){i.reasoning=a;let u=a.summary?.map(l=>l.text).filter(Boolean).join("");u&&e.push({type:"reasoning",reasoning:u})}else if(a.type==="custom_tool_call"){let u=Bf(a);u?(r.push(u),i[Pa]??={},a.id&&a.call_id&&(i[Pa][a.call_id]=a.id)):n.push(Tn(a,"Malformed custom tool call"))}else if(a.type==="computer_call"){let u=Ff(a);u?r.push(u):n.push(Tn(a,"Malformed computer call"))}else a.type==="image_generation_call"?(a.result&&e.push({type:"image",mimeType:"image/png",data:a.result,id:a.id,metadata:{status:a.status}}),i.tool_outputs??=[],i.tool_outputs.push(a)):(i.tool_outputs??=[],i.tool_outputs.push(a));return new dt({id:t.id,content:e,tool_calls:r,invalid_tool_calls:n,usage_metadata:ns(t.usage),additional_kwargs:i,response_metadata:s})},Ac=t=>{let e=(t.summary.length>1?t.summary.reduce((r,n)=>{let o=r[r.length-1];return o.index===n.index?o.text+=n.text:r.push(n),r},[{...t.summary[0]}]):t.summary).map(r=>Object.fromEntries(Object.entries(r).filter(([n])=>n!=="index")));return{...t,summary:e}},Sa=t=>{let e=[],r={},n,o=[],s={model_provider:"openai"},i={},a;if(t.type==="response.output_text.delta")e.push({type:"text",text:t.delta,index:t.content_index});else if(t.type==="response.output_text.annotation.added")e.push({type:"text",text:"",annotations:[om(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){let u="phase"in t.item?t.item.phase:void 0;u&&e.push({type:"text",text:"",phase:u,index:0})}else if(t.type==="response.output_item.added"&&t.item.type==="function_call")o.push({type:"tool_call_chunk",name:t.item.name,args:t.item.arguments,id:t.item.call_id,index:t.output_index}),i[xa]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.added"&&t.item.type==="custom_tool_call")o.push({type:"tool_call_chunk",isCustomTool:!0,name:t.item.name,args:t.item.input,id:t.item.call_id,index:t.output_index}),i[Pa]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.done"&&t.item.type==="reasoning"&&t.item.encrypted_content)i.reasoning={encrypted_content:t.item.encrypted_content};else if(t.type==="response.output_item.done"&&t.item.type==="computer_call")o.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:t.item.action}),id:t.item.call_id,index:t.output_index}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&t.item.type==="image_generation_call")t.item.result&&e.push({type:"image",mimeType:"image/png",data:t.item.result,id:t.item.id,metadata:{status:t.item.status}}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(t.item.type))i.tool_outputs=[t.item];else if(t.type==="response.created")a=t.response.id,s.id=t.response.id,s.model_name=t.response.model,s.model=t.response.model;else if(t.type==="response.completed"||t.type==="response.incomplete"){a=t.response.id;let u=oi(t.response);if(n=ns(t.response.usage),t.response.text?.format?.type==="json_schema"&&u.text)try{i.parsed??=JSON.parse(u.text)}catch{}for(let[l,p]of Object.entries(t.response))l!=="id"&&(l==="output"?s[l]=u.response_metadata.output:s[l]=p)}else if(t.type==="response.function_call_arguments.delta"||t.type==="response.custom_tool_call_input.delta")o.push({type:"tool_call_chunk",args:t.delta,index:t.output_index,...t.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});else if(t.type==="response.web_search_call.in_progress"||t.type==="response.web_search_call.searching"||t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.in_progress"||t.type==="response.file_search_call.searching"||t.type==="response.file_search_call.completed"||t.type==="response.image_generation_call.in_progress"||t.type==="response.image_generation_call.generating"||t.type==="response.image_generation_call.completed"){let[,u,l]=t.type.match(/^response\.(.*)\.([^.]+)$/)??["","",""];r={tool_outputs:{id:t.item_id,type:u,status:l}}}else if(t.type==="response.refusal.done")i.refusal=t.refusal;else if(t.type==="response.output_item.added"&&"item"in t&&t.item.type==="reasoning"){let u=t.item.summary?t.item.summary.map((p,m)=>({...p,index:m})):void 0;i.reasoning={id:t.item.id,type:t.item.type,...u?{summary:u}:{}};let l=t.item.summary?.map(p=>p.text).filter(Boolean).join("");l&&e.push({type:"reasoning",reasoning:l})}else if(t.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text,index:t.summary_index});else if(t.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta,index:t.summary_index});else return t.type==="response.image_generation_call.partial_image",null;return new is({text:e.map(u=>u.text).join(""),message:new Rn({id:a,content:e,tool_call_chunks:o,usage_metadata:n,additional_kwargs:i,response_metadata:s}),generationInfo:r})},bc=t=>{let e=dt.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let n=it(()=>{try{let h=Lt(t);return h==="system"||h==="developer"||h==="assistant"||h==="user"?h:"assistant"}catch{return"assistant"}}),o=h=>n==="assistant"?{type:"output_text",text:h,annotations:[]}:{type:"input_text",text:h},s,i=new Set,a=new Set,u=new Map,l=new Map;function*p(){if(!s)return;let h=s.content;(typeof h=="string"&&h.length>0||Array.isArray(h)&&h.length>0)&&(yield s),s=void 0}let m=(h,I)=>{s||(s={type:"message",role:n,content:[],...I?{phase:I}:{}}),typeof s.content=="string"?s.content=s.content.length>0?[o(s.content),...h]:[...h]:s.content.push(...h)},f=h=>{if(typeof h=="string")return h;try{return JSON.stringify(h??{})}catch{return"{}"}},g=h=>{let I=it(()=>{let x=h.metadata?.detail;return x==="low"||x==="high"||x==="auto"?x:"auto"});if(h.fileId)return{type:"input_image",detail:I,file_id:h.fileId};if(h.url)return{type:"input_image",detail:I,image_url:h.url};if(h.data){let x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_image",detail:I,image_url:`data:${h.mimeType??"image/png"};base64,${x}`}}},w=h=>{if(h.fileId){let I=ua(h);return{type:"input_file",file_id:h.fileId,...I?{filename:I}:{}}}if(h.url){let I=ua(h);return{...I?{filename:I}:{},type:"input_file",file_url:h.url}}if(h.data){let I=yn(h),x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_file",file_data:`data:${h.mimeType??"application/octet-stream"};base64,${x}`,filename:I}}},A=h=>{let I=it(()=>{if(Array.isArray(h.summary)){let T=h.summary?.map(v=>v?.text).filter(v=>typeof v=="string")??[];if(T.length>0)return T}return h.reasoning?[h.reasoning]:[]}),x=I.length>0?I.map(T=>({type:"summary_text",text:T})):[{type:"summary_text",text:""}];return{type:"reasoning",...h.id?{id:h.id}:{},summary:x}},b=h=>({type:"function_call",name:h.name??"",call_id:h.id??"",arguments:f(h.args)}),k=h=>{let I=f(h.output),x=h.status==="success"?"completed":h.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:h.toolCallId??"",output:I,...x?{status:x}:{}}};for(let h of t.contentBlocks)if(h.type==="text"){let I=it(()=>{if("extras"in h&&typeof h.extras=="object"&&h.extras!==null&&"phase"in h.extras)return h.extras.phase});m([o(h.text)],I)}else if(h.type!=="invalid_tool_call"){if(h.type==="reasoning")yield*p(),yield A(h);else if(h.type==="tool_call"){yield*p();let I=h.id??"";I&&(i.add(I),u.delete(I)),yield b(h)}else if(h.type==="tool_call_chunk"){if(h.id){let I=u.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),u.set(h.id,I)}}else if(h.type==="server_tool_call"){yield*p();let I=h.id??"";I&&(a.add(I),l.delete(I)),yield b(h)}else if(h.type==="server_tool_call_chunk"){if(h.id){let I=l.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),l.set(h.id,I)}}else if(h.type==="server_tool_call_result")yield*p(),yield k(h);else if(h.type!=="audio")if(h.type==="file"){let I=w(h);I&&m([I])}else if(h.type==="image"){let I=g(h);I&&m([I])}else if(h.type==="video"){let I=w(h);I&&m([I])}else h.type==="text-plain"?h.text&&m([o(h.text)]):h.type==="non_standard"&&e&&(yield*p(),yield h.value)}yield*p();for(let[h,I]of u){if(!h||i.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}for(let[h,I]of l){if(!h||a.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}}return Array.from(r())},os=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(n=>{let o=n.response_metadata;if(o?.output_version==="v1")return bc(n);let s=n.additional_kwargs,i=Lt(n);if(i==="system"&&zt(r)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let a=n;if(s?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof a.content=="string")return{type:"input_image",image_url:a.content};if(Array.isArray(a.content)){let l=a.content.find(f=>f.type==="input_image");if(l)return l;let p=a.content.find(f=>f.type==="computer_screenshot");if(p)return p;let m=a.content.find(f=>f.type==="image_url");if(m)return{type:"input_image",image_url:typeof m.image_url=="string"?m.image_url:m.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:a.tool_call_id};if(a.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:a.tool_call_id,output:a.content};let u=Array.isArray(a.content)&&a.content.every(l=>typeof l=="object"&&l!==null&&"type"in l&&(l.type==="input_file"||l.type==="input_image"||l.type==="input_text"));return{type:"function_call_output",call_id:a.tool_call_id,id:a.id?.startsWith("fc_")?a.id:void 0,output:u?a.content:typeof a.content!="string"?JSON.stringify(a.content):a.content}}if(i==="assistant"){if(!e&&o?.output!=null&&Array.isArray(o?.output)&&o?.output.length>0&&o?.output.every(A=>"type"in A))return o?.output;let a=[],u=s?.reasoning,l=!!u?.encrypted_content;if(u&&(!e||l)){let A=Ac(u);a.push(A)}let{content:p}=n;if(s?.refusal&&(typeof p=="string"&&(p=[{type:"output_text",text:p,annotations:[]}]),p=[...p,{type:"refusal",refusal:s.refusal}]),typeof p=="string"||p.length>0){let A={type:"message",role:"assistant",...n.id&&!e&&n.id.startsWith("msg_")?{id:n.id}:{},content:it(()=>typeof p=="string"?p:p.flatMap(b=>{if(b.type==="text"){let k=b;return{type:"output_text",text:k.text,annotations:(k.annotations??[]).map(MA)}}return b.type==="output_text"||b.type==="refusal"?b:[]})),phase:it(()=>{if(Array.isArray(p))return p.find(b=>"phase"in b&&typeof b.phase=="string")?.phase})};a.push(A)}let m=s?.[xa],f=s?.[Pa];dt.isInstance(n)&&n.tool_calls?.length?a.push(...n.tool_calls.map(A=>Wf(A,f)?{type:"custom_tool_call",id:"call_id"in A&&typeof A.call_id=="string"?A.call_id:f?.[A.id??""]??"",call_id:A.id??"",input:A.args.input,name:A.name}:Kf(A)?{type:"computer_call",id:A.call_id,call_id:A.id??"",action:A.args.action}:{type:"function_call",name:A.name,arguments:JSON.stringify(A.args),call_id:A.id,...e?{}:{id:m?.[A.id]}})):s?.tool_calls&&a.push(...s.tool_calls.map(A=>({type:"function_call",name:A.function.name,call_id:A.id,arguments:A.function.arguments,...e?{}:{id:m?.[A.id]}})));let g=o?.output?.length?o?.output:s.tool_outputs,w=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(g!=null){let A=g?.filter(b=>w.includes(b.type));A.length>0&&a.push(...A)}return a}if(i==="user"||i==="system"||i==="developer"){if(typeof n.content=="string")return{type:"message",role:i,content:n.content};let a=[],u=n.content.flatMap(l=>{if(l.type==="mcp_approval_response"&&a.push({type:"mcp_approval_response",approval_request_id:l.approval_request_id,approve:l.approve}),ii(l)){if(l.type==="file"){let p=ua(l);if(l.source_type==="url")return{type:"input_file",file_url:l.url,...p?{filename:p}:{}};if(l.source_type==="id")return{type:"input_file",file_id:l.id,...p?{filename:p}:{}};if(l.source_type==="base64")return{type:"input_file",file_data:`data:${l.mime_type??""};base64,${l.data}`,filename:yn(l)}}return ai(l,ni)}return l.type==="text"?{type:"input_text",text:l.text}:l.type==="image_url"?{type:"input_image",image_url:it(()=>{if(typeof l.image_url=="string")return l.image_url;if(typeof l.image_url=="object"&&l.image_url!==null&&"url"in l.image_url)return l.image_url.url}),detail:it(()=>{if(typeof l.image_url=="string")return"auto";if(typeof l.image_url=="object"&&l.image_url!==null&&"detail"in l.image_url)return l.image_url.detail})}:l.type==="input_text"||l.type==="input_image"||l.type==="input_file"?l:[]});return u.length>0&&a.push({type:"message",role:i,content:u}),a}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]});async function*wc(t,e={}){let r=e.streamUsage??!0,n=e.provider??"openai",o=new Map,s=new Map,i=0,a=!1,u,l,p,m,f=new Set,g=(b,k)=>{let h=s.get(b);if(h!==void 0)return{index:h,isNew:!1};let I=i++;return s.set(b,I),o.set(I,{...k}),{index:I,isNew:!0}},w=function*(){a||(a=!0,yield{event:"message-start",id:u})},A=function*(b){if(f.has(b))return;let k=o.get(b);k&&(f.add(b),yield{event:"content-block-finish",index:b,content:Fc(k)})};for await(let b of t){if(b.type==="response.created"){u=b.response.id,yield*w(),yield{event:"provider",provider:n,name:"response.created",payload:{model:b.response.model,id:b.response.id}};continue}if(b.type==="response.output_text.delta"){yield*w();let{index:k,isNew:h}=g(`text:${b.output_index}:${b.content_index}`,{type:"text",text:""});h&&(yield{event:"content-block-start",index:k,content:{type:"text",text:""}});let I=o.get(k);I.text=(I.text??"")+b.delta,yield{event:"content-block-delta",index:k,delta:{type:"text-delta",text:b.delta}};continue}if(b.type==="response.reasoning_summary_text.delta"){yield*w();let{index:k,isNew:h}=g(`reasoning:${b.output_index}:${b.summary_index}`,{type:"reasoning",reasoning:""});h&&(yield{event:"content-block-start",index:k,content:{type:"reasoning",reasoning:""}});let I=o.get(k);I.reasoning=(I.reasoning??"")+b.delta,yield{event:"content-block-delta",index:k,delta:{type:"reasoning-delta",reasoning:b.delta}};continue}if(b.type==="response.output_item.added"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let k=`tool:${b.output_index}`,h=b.item.type==="custom_tool_call",I=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:x,isNew:T}=g(k,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index,...h?{isCustomTool:!0}:{}});if(T&&(yield{event:"content-block-start",index:x,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index}}),I){let v=o.get(x);yield{event:"content-block-delta",index:x,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...v.id!=null?{id:v.id}:{},...v.name!=null?{name:v.name}:{},args:v.args}}}}continue}if(b.type==="response.function_call_arguments.delta"||b.type==="response.custom_tool_call_input.delta"){yield*w();let{index:k,isNew:h}=g(`tool:${b.output_index}`,{type:"tool_call_chunk",args:"",index:b.output_index,...b.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});h&&(yield{event:"content-block-start",index:k,content:{type:"tool_call_chunk",args:"",index:b.output_index}});let I=o.get(k);I.args=(I.args??"")+b.delta,yield{event:"content-block-delta",index:k,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...I.id!=null?{id:I.id}:{},...I.name!=null?{name:I.name}:{},args:I.args}}};continue}if(b.type==="response.output_item.done"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let k=`tool:${b.output_index}`,h=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:I,isNew:x}=g(k,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index});if(x)yield{event:"content-block-start",index:I,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index}};else{let T=o.get(I);T.args=h,T.id=b.item.call_id,T.name=b.item.name}yield*A(I);continue}if(b.type==="response.completed"||b.type==="response.incomplete"){yield*w(),u=b.response.id,p=DA(b.response.status,b.type),m={model_provider:n,id:b.response.id,model:b.response.model,status:b.response.status},r&&b.response.usage&&(l=ns(b.response.usage),yield{event:"usage",usage:l});continue}b.type!=="response.image_generation_call.partial_image"&&(yield*w(),yield{event:"provider",provider:n,name:b.type,payload:b})}a||(yield{event:"message-start"});for(let[b]of o)f.has(b)||(yield*A(b));yield{event:"message-finish",reason:p,...l?{usage:l}:{},...m?{responseMetadata:m}:{}}}function DA(t,e){return e==="response.incomplete"?"length":t==="completed"?"stop":t==="incomplete"?"length":"stop"}var va=class extends Pn{constructor(t,e){super(rs(t,e))}invocationParams(t){let e;t?.strict!==void 0&&(e=t.strict),e===void 0&&this.supportsStrictToolCalling!==void 0&&(e=this.supportsStrictToolCalling);let r={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:t?.previous_response_id,truncation:t?.truncation,include:t?.include,tools:t?.tools?.length?this._reduceChatOpenAITools(t.tools,{stream:this.streaming,strict:e}):void 0,tool_choice:Uf(t?.tool_choice)?t?.tool_choice:(()=>{let o=la(t?.tool_choice);if(typeof o=="object"&&"type"in o){if(o.type==="function")return{type:"function",name:o.function.name};if(o.type==="allowed_tools")return{type:"allowed_tools",mode:o.allowed_tools.mode,tools:o.allowed_tools.tools};if(o.type==="custom")return{type:"custom",name:o.custom.name}}})(),text:(()=>{if(t?.text)return t.text;let o=this._getResponseFormat(t?.response_format);return o?.type==="json_schema"?o.json_schema.schema!=null?{format:{type:"json_schema",schema:o.json_schema.schema,description:o.json_schema.description,name:o.json_schema.name,strict:o.json_schema.strict},verbosity:t?.verbosity}:void 0:{format:o,verbosity:t?.verbosity}})(),parallel_tool_calls:t?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},n=this._getReasoningParams(t);return n!==void 0&&(r.reasoning=n),r}async _generate(t,e,r){e.signal?.throwIfAborted();let n=this.invocationParams(e);if(n.stream){let o=this._streamResponseChunks(t,e,r),s;for await(let i of o)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},s=s?.concat(i)??i;return{generations:s?[s]:[],llmOutput:{estimatedTokenUsage:s?.message?.usage_metadata}}}else{let o=await this.completionWithRetry({input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options});return{generations:[{text:o.output_text,message:oi(o)}],llmOutput:{id:o.id,estimatedTokenUsage:o.usage?{promptTokens:o.usage.input_tokens,completionTokens:o.usage.output_tokens,totalTokens:o.usage.total_tokens}:void 0}}}}async*_streamChatModelEvents(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e),o=this.streamUsage??e.streamUsage;yield*wc(async function*(i,a){for await(let u of i){if(a?.aborted)return;yield u}}(n,e.signal),{streamUsage:o??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);try{for await(let o of n){if(e.signal?.aborted)return;let s=Sa(o);s!=null&&(yield s,await r?.handleLLMNewToken(s.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:s}))}}catch(o){throw st(o)}}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n);return this.caller.callWithOptions({maxRetries:r},async()=>{try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,o):await this.client.responses.create(t,o)}catch(s){throw st(s)}})}_reduceChatOpenAITools(t,e){let r=[];for(let n of t)if(Go(n))n.type==="image_generation"&&e?.stream&&(n.partial_images=1),r.push(n);else if(gn(n)){let o=n.metadata.customTool;r.push({type:"custom",name:o.name,description:o.description,format:o.format})}else if(li(n)){let o={};for(let[s,i]of Object.entries(n))s!=="type"&&s!=="function"&&(o[s]=i);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:e?.strict??null,...o})}else pa(n)&&r.push(qf(n));return r}};var ka=class sm extends Pn{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(e,r){let n=rs(e,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new va(n),this.completions=n?.completions??new Oa(n)}_useResponsesApi(e){let r=e?.tools?.some(Go),n=e?.previous_response_id!=null||e?.text!=null||e?.truncation!=null||e?.include!=null||e?.reasoning?.summary!=null||this.reasoning?.summary!=null,o=e?.tools?.some(pa)||e?.tools?.some(gn);return this.useResponsesApi||r||n||o||$f(this.model)}getLsParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(e,r,n){return this._useResponsesApi(r)?this.responses._generate(e,r,n):this.completions._generate(e,r,n)}async*_streamChatModelEvents(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamChatModelEvents(e,this._combineCallOptions(r),n);return}yield*this.completions._streamChatModelEvents(e,this._combineCallOptions(r),n)}async*_streamResponseChunks(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(r),n);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(r),n)}withConfig(e){let r=new sm(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var KA=E.object({type:E.literal("screenshot")}),WA=E.object({type:E.literal("click"),x:E.number(),y:E.number(),button:E.enum(["left","right","wheel","back","forward"]).default("left")}),qA=E.object({type:E.literal("double_click"),x:E.number(),y:E.number(),button:E.enum(["left","right","wheel","back","forward"]).default("left")}),HA=E.object({type:E.literal("drag"),path:E.array(E.object({x:E.number(),y:E.number()}))}),XA=E.object({type:E.literal("keypress"),keys:E.array(E.string())}),ZA=E.object({type:E.literal("move"),x:E.number(),y:E.number()}),JA=E.object({type:E.literal("scroll"),x:E.number(),y:E.number(),scroll_x:E.number(),scroll_y:E.number()}),VA=E.object({type:E.literal("type"),text:E.string()}),GA=E.object({type:E.literal("wait"),duration:E.number().optional()}),YA=E.union([KA,WA,qA,HA,XA,ZA,JA,VA,GA]),QM=E.object({action:YA});var QA=E.object({type:E.literal("exec"),command:E.array(E.string()),env:E.record(E.string(),E.string()).optional(),working_directory:E.string().optional(),timeout_ms:E.number().optional(),user:E.string().optional()}),nD=E.union([QA]);var aD=E.object({commands:E.array(E.string()).describe("Array of shell commands to execute"),timeout_ms:E.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:E.number().optional().describe("Optional maximum number of characters to return from each command")});var eb=E.object({type:E.literal("create_file"),path:E.string(),diff:E.string()}),tb=E.object({type:E.literal("update_file"),path:E.string(),diff:E.string()}),rb=E.object({type:E.literal("delete_file"),path:E.string()}),pD=E.union([eb,tb,rb]);var kz=async(t={})=>{let{modelTier:e="default",config:r}=t,{getChatAIUtilityServiceUrl:n}=await import("./KRORL7QC.js").then(m=>m.default),{createAuthenticatedFetch:o}=await import("./E26PFYPI.js").then(m=>m.default.then(e=>({createAuthenticatedFetch:e}))),s=Hc[e],i=await n(e);return new ka({modelName:s,apiKey:"dummy-key",useResponsesApi:!0,zdrEnabled:!0,configuration:{baseURL:i,fetch:await o({config:r,withCredentials:!0})}})};export{kz as createChatModel};
41
+ ]`;continue}s+=o[l],o[l]==="\\"?i=!0:a&&o[l]==="]"?a=!1:!a&&o[l]==="["&&(a=!0)}try{let l=new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return s};function ma(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===F.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:Object.fromEntries(t.keyType._def.values.map(n=>[n,z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}])),additionalProperties:!1};let r={type:"object",additionalProperties:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===F.ZodString&&t.keyType._def.checks?.length){let n=Object.fromEntries(Object.entries(da(t.keyType._def,e)).filter(([o])=>o!=="type"));return{...r,propertyNames:n}}else if(t.keyType?._def.typeName===F.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function sd(t,e){if(e.mapStrategy==="record")return ma(t,e);let r=z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function id(t){let e=t.values,n=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),o=[...new Set(n.map(i=>typeof i))],s=["string","number"];return o.length===1&&(s=o[0]==="string"?"string":"number"),{type:s,enum:n}}function ad(){return{not:{}}}var Qs={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function cd(t,e){if(e.target==="openApi3")return ud(t,e);let r=t.options instanceof Map?[...t.options.values()]:t.options;if(r.every(n=>n._def.typeName in Qs&&(!n._def.checks||!n._def.checks.length))){let n=[];for(let o of r){let s=Qs[o._def.typeName];s&&!n.includes(s)&&n.push(s)}return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=[];for(let o of r){let s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":{n.push(s);break}case"bigint":{n.push("integer");break}case"object":{o._def.value===null&&n.push("null");break}}}if(n.length===r.length){let o=n.filter((i,a,u)=>u.indexOf(i)===a),s=[];for(let i of r)s.includes(i._def.value)||s.push(i._def.value);return{type:o.length>1?o:o[0],enum:s}}}else if(r.every(n=>n._def.typeName==="ZodEnum")){let n=[];for(let o of r)for(let s of o._def.values)n.includes(s)||n.push(s);return{type:"string",enum:n}}return ud(t,e)}var ud=(t,e)=>{let r=(t.options instanceof Map?[...t.options.values()]:t.options).map((n,o)=>z(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function ld(t,e,r){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:Qs[t.innerType._def.typeName],nullable:!0}:{type:[Qs[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let o=z(t.innerType._def,{...e,currentPath:[...e.currentPath]},r);return o&&"$ref"in o?{allOf:[o],nullable:!0}:o&&{...o,nullable:!0}}let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function pd(t,e){let r={type:"number"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"int":{r.type="integer",sc(r,"type",n.message,e);break}case"min":{e.target==="jsonSchema7"?n.inclusive?Z(r,"minimum",n.value,n.message,e):Z(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Z(r,"minimum",n.value,n.message,e));break}case"max":{e.target==="jsonSchema7"?n.inclusive?Z(r,"maximum",n.value,n.message,e):Z(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Z(r,"maximum",n.value,n.message,e));break}case"multipleOf":{Z(r,"multipleOf",n.value,n.message,e);break}}return r}function Bg(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function fd(t,e){let r={},n=[];for(let[s,i]of Object.entries(t.shape())){if(i===void 0||i._def===void 0)continue;let a=[...e.currentPath,"properties",s];if(s==="__proto__")throw new Error(`Zod field at \`${a.join("/")}\` uses unsupported property name \`__proto__\`, which Zod omits from parsed output.`);let u=z(i._def,{...e,currentPath:a,propertyPath:a});if(u!==void 0){if(e.openaiStrictMode&&i.isOptional()&&!i.isNullable()&&i._def?.defaultValue===void 0)throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);r[s]=u,(!i.isOptional()||e.openaiStrictMode)&&n.push(s)}}let o={type:"object",properties:r,required:n,additionalProperties:Bg(t,e)};return o.required.length||delete o.required,o}var dd=(t,e,r)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return z(t.innerType._def,{...e,currentPath:e.currentPath},r);let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]},r);return n?{anyOf:[{not:{}},n]}:{}};var md=(t,e,r)=>{if(e.pipeStrategy==="input")return z(t.in._def,e,r);if(e.pipeStrategy==="output")return z(t.out._def,e,r);let n=z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),o=z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,o].filter(s=>s!==void 0)}};function hd(t,e,r){return z(t.type._def,e,r)}function _d(t,e){let n={type:"array",uniqueItems:!0,items:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Z(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Z(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function yd(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0),additionalItems:z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0)}}function gd(){return{not:{}}}function Ad(){return{}}var bd=(t,e,r)=>z(t.innerType._def,e,r);var Id=Symbol("Let zodToJsonSchema decide on which parser to use"),wd={name:void 0,$refStrategy:"root",effectStrategy:"input",pipeStrategy:"all",dateStrategy:"format:date-time",mapStrategy:"entries",nullableStrategy:"from-target",removeAdditionalStrategy:"passthrough",definitionPath:"definitions",target:"jsonSchema7",strictUnions:!1,errorMessages:!1,markdownDescription:!1,patternStrategy:"escape",applyRegexFlags:!1,emailStrategy:"format:email",base64Strategy:"contentEncoding:base64",nameStrategy:"ref"},Od=t=>{let e=typeof t=="string"?{...wd,basePath:["#"],definitions:{},name:t}:{...wd,basePath:["#"],definitions:{},...t};return typeof t!="string"&&t?.definitions&&e.$refStrategy==="extract-to-root"&&e.nameStrategy==="duplicate-ref"&&(e.definitions={...t.definitions}),e};var bn=t=>"_def"in t?t._def:t;function xd(t){if(!t)return!0;for(let e in t)return!1;return!0}function z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let s=e.override?.(t,e,n,r);if(s!==Id)return s}if(n&&!r){let s=Fg(n,e);if(s!==void 0)return"$ref"in s&&e.seenRefs.add(s.$ref),s}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);try{let s=qg(t,t.typeName,e,r);return s&&Hg(t,e,s),o.jsonSchema=s,s}finally{r&&n&&e.seen.set(t,n)}}var Fg=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"extract-to-root":{let r=t.path.slice(e.basePath.length+1).map((s,i)=>i===0?s:Kg(s)).join("_"),n=r;if(!(n===e.name&&t.path.length===e.basePath.length+2&&t.path[e.basePath.length]===e.definitionPath)&&e.nameStrategy==="duplicate-ref"){let s=a=>{if(!N(e.definitions,a))return!1;let u=e.definitions[a];return u===void 0||bn(u)!==t.def},i=0;for(;n===e.name||s(n);)i+=1,n=`${r}_${i}`;N(e.definitions,n)||(e.definitions[n]=t.def)}return{$ref:[...e.basePath,e.definitionPath,n].join("/")}}case"relative":return{$ref:Wg(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Pd="_x_",Kg=t=>{if(/^[A-Za-z0-9_-]*$/.test(t)&&!t.startsWith(Pd))return t;let e=Pd;for(let r=0;r<t.length;r++)e+=t.charCodeAt(r).toString(16).padStart(4,"0");return e},Wg=(t,e)=>{let r=0;for(;r<t.length&&r<e.length&&t[r]===e[r];r++);return[(t.length-r).toString(),...e.slice(r)].join("/")},qg=(t,e,r,n)=>{switch(e){case F.ZodString:return da(t,r);case F.ZodNumber:return pd(t,r);case F.ZodObject:return fd(t,r);case F.ZodBigInt:return Jf(t,r);case F.ZodBoolean:return Vf();case F.ZodDate:return ic(t,r);case F.ZodUndefined:return gd();case F.ZodNull:return fa(r);case F.ZodArray:return Zf(t,r);case F.ZodUnion:case F.ZodDiscriminatedUnion:return cd(t,r);case F.ZodIntersection:return rd(t,r);case F.ZodTuple:return yd(t,r);case F.ZodRecord:return ma(t,r);case F.ZodLiteral:return nd(t,r);case F.ZodEnum:return td(t);case F.ZodNativeEnum:return id(t);case F.ZodNullable:return ld(t,r,n);case F.ZodOptional:return dd(t,r,n);case F.ZodMap:return sd(t,r);case F.ZodSet:return _d(t,r);case F.ZodLazy:return z(t.getter()._def,r,n);case F.ZodPromise:return hd(t,r,n);case F.ZodNaN:case F.ZodNever:return ad();case F.ZodEffects:return ed(t,r,n);case F.ZodAny:return Xf();case F.ZodUnknown:return Ad();case F.ZodDefault:return Qf(t,r,n);case F.ZodBranded:return Gf(t,r,n);case F.ZodReadonly:return bd(t,r,n);case F.ZodCatch:return Yf(t,r,n);case F.ZodPipeline:return md(t,r,n);case F.ZodFunction:case F.ZodVoid:case F.ZodSymbol:return;default:return(o=>{})(e)}},Hg=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Sd=t=>{let e=Od(t),r=e.name===void 0?e.basePath:[...e.basePath,e.definitionPath,e.name];return{...e,currentPath:r,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[bn(o),{def:bn(o),path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function Xg(t,e,r){if(t===null||typeof t!="object")throw new TypeError("Root schema must be a plain JSON-schema record");let n=Object.getPrototypeOf(t);if(![null,Object.prototype].includes(n))throw new TypeError("Root schema must be a plain JSON-schema record");let o={};for(let[u,l]of Object.entries(Object.getOwnPropertyDescriptors(t))){if(!l.enumerable)continue;if(!("value"in l))throw new TypeError(`Root schema property '${u}' must be a data property`);let p=l.value;if(u==="toJSON"&&typeof p=="function")throw new TypeError("Root schema cannot contain a callable 'toJSON' property");["undefined","function","symbol"].includes(typeof p)||Object.defineProperty(o,u,{configurable:!0,enumerable:!0,value:p,writable:!0})}let{type:s,nullable:i,$ref:a}=o;if(!["undefined","boolean"].includes(typeof i))throw new TypeError("Root schema 'nullable' must be a boolean");if(s!=="object"||i===!0){let u;throw typeof s=="string"?u=i===!0?`${s},null`:s:Array.isArray(s)&&(u=s.join(",")),new Error(`Root schema must have type: 'object' but got type: ${u?`'${u}'`:"undefined"}`)}if(a!==void 0)throw new Error("Root schema must be a concrete object and cannot contain '$ref'");if(e!==void 0&&r!=="duplicate-ref")throw new Error("Root schema must have type: 'object' but got type: undefined");return o}var uc=(t,e)=>{let r=Sd(e);r.openaiStrictMode&&(r.definitions={...r.definitions});let n;typeof e=="string"?n=e:e?.nameStrategy!=="title"&&(n=e?.name);let o=z(t._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},r.openaiStrictMode===!0)??{},s=r.openaiStrictMode?Xg(o,n,r.nameStrategy):o,i=r.nameStrategy==="title"?r.name:void 0;i!==void 0&&(s.title=i);let a=(()=>{if(xd(r.definitions))return;let l={},p=new Set;for(let m=0;m<500;m++){let f=Object.entries(r.definitions).filter(([g])=>!p.has(g));if(f.length===0)break;for(let[g,w]of f)l[g]=z(bn(w),{...r,currentPath:[...r.basePath,r.definitionPath,g]},!0)??{},p.add(g)}return l})(),u;return n===void 0?u=a?{...s,[r.definitionPath]:a}:s:r.nameStrategy==="duplicate-ref"?u={...s,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:s}:void 0}}:void 0}:u={$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:s}},r.target==="jsonSchema7"?u.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(u.$schema="https://json-schema.org/draft/2019-09/schema#"),u};var ct=new Set(["$comment","default","description","examples","readOnly","title","writeOnly"]),In=new Set(["$id","$schema"]),fc=new Set(["additionalProperties","dependencies","maxProperties","minProperties","patternProperties","properties","propertyNames","required"]),Rd=["additionalItems","additionalProperties","contains","contentSchema","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],Ed=["allOf","anyOf","items","oneOf","prefixItems"],Td=["$defs","definitions","dependentSchemas","dependencies","patternProperties","properties"],Zg=new Set(["$anchor","$dynamicAnchor","$dynamicRef","$recursiveAnchor","$recursiveRef","allOf","contains","contentEncoding","contentMediaType","contentSchema","dependentRequired","dependentSchemas","dependencies","else","if","maxContains","maxProperties","minContains","minProperties","not","patternProperties","prefixItems","propertyNames","then","unevaluatedItems","unevaluatedProperties","uniqueItems"]),vd=new Set([...ct,"additionalProperties","properties","required","type"]);function Yo(t,...e){for(let r of e)Object.prototype.propertyIsEnumerable.call(r,"__proto__")&&!N(t,"__proto__")&&Object.defineProperty(t,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0}),Object.assign(t,r);return t}function $e(t,e,r){let n=t;for(let o of Rd)o in n&&r(n[o],[...e,o],o);for(let o of Ed){let s=n[o];if(Array.isArray(s))for(let[i,a]of s.entries())r(a,[...e,o,String(i)],o);else s!==void 0&&r(s,[...e,o],o)}for(let o of Td){let s=n[o];if(H(s))for(let[i,a]of Object.entries(s))o==="dependencies"&&!Qo(a)||r(a,[...e,o,i],o)}}function Cd(t){let e=structuredClone(t);if($d(e),Nd(e),uA(e),Jg(e),e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);if(e.anyOf!==void 0)throw new Error("Root schema must not use `anyOf` because strict Structured Outputs requires a root object without a union.");_a(e,[],e),Dd(e),_a(e,[],e),lA(e),ga(e,[],e);let r=ha(e,[],e);return _a(r,[],r),r}function $d(t,e=new Set){if(typeof t=="boolean"||!H(t)||e.has(t))return;e.add(t);let r=t;for(let n of Object.keys(r))r[n]===void 0&&delete r[n];$e(t,[],n=>{$d(n,e)})}function Jg(t){let e=new Set;for(;;){if(typeof t.$ref=="string"){if(e.has(t.$ref))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(t.$ref));e.add(t.$ref)}Vg(t),Dd(t,!0),Gg(t);let r=Yg(t);if(t.$ref===void 0&&!r)return}}function Vg(t){let e=t.$ref;if(e===void 0)return;if(kd(e),!tA(t))throw new Error("Schema $ref at `<root>` has non-metadata siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");let r=new Set,n=Object.fromEntries(Object.entries(t).filter(([p])=>ct.has(p))),o;for(;;){if(r.has(e))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(e));r.add(e);let p=kr(t,e);if(p===void 0)throw new Error("Local $ref at `<root>` does not resolve to an object or boolean schema: "+JSON.stringify(e));if(typeof p=="boolean")throw new TypeError("Expected object schema but got boolean; path=<root>");let m=p.$ref;if(m===void 0){o=p;break}if(kd(m),r.has(m))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(m));if(!es(p))throw new Error("Schema $ref in root chain has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");for(let f of ct)!(f in n)&&f in p&&(n[f]=p[f]);e=m}let s=t.$defs,i=t.definitions,a=Object.fromEntries(Object.entries(t).filter(([p])=>ct.has(p)||In.has(p))),u=structuredClone(o);for(let p of["$defs","definitions"])t[p]!==void 0&&u[p]!==void 0&&delete u[p];let l=t;for(let p of Object.keys(t))delete l[p];Yo(t,u,n,a),s!==void 0&&(t.$defs=s),i!==void 0&&(t.definitions=i)}function Gg(t){for(;t.allOf!==void 0;){if(Array.isArray(t.allOf))for(let[i,a]of t.allOf.entries())ga(a,["allOf",String(i)],t);if(hc(t,[],t))continue;let e=t.allOf;if(!Array.isArray(e)||e.length!==1||!rA(t))return;let r=e[0];if(typeof r=="boolean"||!H(r))return;let n={...t};delete n.allOf;let o=structuredClone(r),s=t;for(let i of Object.keys(t))delete s[i];Yo(t,o,n)}}function Yg(t){let e=t.anyOf;if(!Array.isArray(e)||!nA(t))return!1;let r=e.map((l,p)=>({branch:l,index:p})).filter(({branch:l})=>l!==!1);if(r.length!==1)return!1;let{branch:n,index:o}=r[0];if(typeof n=="boolean"||!H(n)||!ya(n,t))return!1;let s=Qg(t,n);eA(t,o,s);let i={...t};delete i.anyOf;let a=structuredClone(n);for(let l of["$defs","definitions"]){let p=t[l],m=a[l];if(!H(p)||!H(m))continue;let f=s.get(l),g={...p};for(let[w,A]of Object.entries(m))Object.defineProperty(g,f?.get(w)??w,{value:A,writable:!0,enumerable:!0,configurable:!0});a[l]=g,delete i[l]}let u=t;for(let l of Object.keys(t))delete u[l];return Yo(t,a,i),!0}function Qg(t,e){let r=new Map;for(let n of["$defs","definitions"]){let o=t[n],s=e[n];if(!H(o)||!H(s))continue;let i=new Set([...Object.keys(o),...Object.keys(s)]),a=new Map,u=0;for(let[l,p]of Object.entries(s)){if(!N(o,l)||ti(o[l],p))continue;let m="__openai_strict_anyOf_definition_"+u++;for(;i.has(m);)m="__openai_strict_anyOf_definition_"+u++;i.add(m),a.set(l,m)}a.size>0&&r.set(n,a)}return r}function eA(t,e,r){let n=s=>{let i=On(s);if(i===void 0||i[0]!=="anyOf"||i[1]!==String(e))return s;let a=i.slice(2),u=a[0];if(a.length>1&&(u==="$defs"||u==="definitions")){let l=r.get(u)?.get(a[1]);l!==void 0&&(a[1]=l)}return a.length===0?"#":"#/"+a.map(Md).join("/")},o=s=>{typeof s=="boolean"||!H(s)||(typeof s.$ref=="string"&&(s.$ref=n(s.$ref)),$e(s,[],i=>{o(i)}))};o(t)}function kd(t){if(typeof t!="string")throw new TypeError("Received non-string $ref - "+String(t)+"; path=<root>");if(!t.startsWith("#"))throw new Error("External $ref at `<root>` is not supported in strict Structured Outputs: "+JSON.stringify(t))}function tA(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||In.has(e)||ct.has(e))}function Nd(t){typeof t=="boolean"||!H(t)||(Array.isArray(t.type)&&t.type.length===1&&(t.type=t.type[0]),$e(t,[],e=>{Nd(e)}))}function ei(t,e,r=new Set){if(typeof t=="boolean")return t;let n=t.$ref;if(n!==void 0){if(typeof n!="string"||!es(t)||r.has(n))return!1;let o=kr(e,n);return o===void 0?!1:ei(o,e,new Set([...r,n]))}return!(t.type!==void 0&&t.type!=="null"&&!(Array.isArray(t.type)&&t.type.includes("null"))||"const"in t&&t.const!==null||t.enum!==void 0&&(!Array.isArray(t.enum)||!t.enum.includes(null))||t.allOf!==void 0&&(!Array.isArray(t.allOf)||!t.allOf.every(o=>ei(o,e)))||t.anyOf!==void 0&&(!Array.isArray(t.anyOf)||!t.anyOf.some(o=>ei(o,e)))||t.oneOf!==void 0&&(!Array.isArray(t.oneOf)||t.oneOf.filter(o=>ei(o,e)).length!==1)||t.not!==void 0||t.if!==void 0||t.then!==void 0||t.else!==void 0)}function ha(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!H(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);if(hc(t,e,r))return ha(t,e,r);if(aA(t),sA(t,e,r),pc(t)){if(!N(t,"additionalProperties"))t.additionalProperties=!1;else if(t.additionalProperties!==!1)throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` must set \`additionalProperties: false\` to be compatible with strict Structured Outputs.`)}let n=t.required??[];if(!Array.isArray(n)||n.some(m=>typeof m!="string"))throw new TypeError(`Expected \`required\` to be an array of strings; path=${e.join("/")||"<root>"}`);let o=t.properties;if(pc(t)){for(let m of n)if(!H(o)||!N(o,m))throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` requires property \`${m}\` but does not declare it in \`properties\`.`)}if(H(o)){for(let[m,f]of Object.entries(o))if(!ei(f,r)&&!n.includes(m))throw new Error(`Schema field at \`${[...e,"properties",m].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);t.required=Object.keys(o)}let s=t.items,i=t.additionalItems;if(Array.isArray(s))throw new TypeError(`Schema at \`${e.join("/")||"<root>"}\` uses tuple-form \`items\`, which cannot be represented in strict Structured Outputs.`);if(i!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`additionalItems\` and cannot be represented in strict Structured Outputs.`);let a=t.allOf;if(Array.isArray(a)&&a.length===1&&dc(t,"allOf")){let m=a[0];if(m===!1)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses \`allOf: [false]\`, which cannot be represented in strict Structured Outputs.`);if(m===!0)delete t.allOf;else{let f=ha(m,[...e,"allOf","0"],r),g={...t};delete g.allOf,Yo(t,f,g),delete t.allOf}}iA(t,r);let u=t;for(let m of Zg){if(u[m]!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`${m}\` and cannot be represented in strict Structured Outputs.`);delete u[m]}let l=t.type,p=t.items;if((l==="array"||Array.isArray(l)&&l.includes("array"))&&p===void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` declares an array without \`items\`, which cannot be represented in strict Structured Outputs.`);return $e(t,e,(m,f,g)=>{typeof m=="boolean"&&(g==="additionalProperties"||g==="additionalItems")||ha(m,f,r)}),t.default===null&&delete t.default,t}function On(t){if(!t.startsWith("#"))return;let e;try{e=decodeURIComponent(t.slice(1))}catch{return}if(e==="")return[];if(!e.startsWith("/"))return;let r=[];for(let n of e.slice(1).split("/")){if(/~(?:[^01]|$)/.test(n))return;r.push(n.replace(/~1/g,"/").replace(/~0/g,"~"))}return r}function wn(t,e){if(Array.isArray(t)){if(!/^(?:0|[1-9]\d*)$/.test(e))return;let r=Number(e);return N(t,r)?t[r]:void 0}if(!(!H(t)||!N(t,e)))return t[e]}function kr(t,e){let r=On(e);if(r===void 0)return;let n=t;for(let o=0;o<r.length;){if(!H(n))return;let s=r[o];if(Rd.includes(s)){n=wn(n,s),o+=1;continue}if(Ed.includes(s)){if(n=wn(n,s),o+=1,Array.isArray(n)){if(o>=r.length)return;n=wn(n,r[o]),o+=1}continue}if(Td.includes(s)){let i=wn(n,s);if(o+=1,!H(i)||o>=r.length||(n=wn(i,r[o]),s==="dependencies"&&!Qo(n)))return;o+=1;continue}return}return Qo(n)?n:void 0}function H(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Qo(t){return typeof t=="boolean"||H(t)}function ya(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!es(t)||r.has(t.$ref))return!1;let n=kr(e,t.$ref);return n===void 0?!1:ya(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!dc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?ya(n,e,r):!1}return t.type==="object"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="object"}function lc(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!es(t)||r.has(t.$ref))return!1;let n=kr(e,t.$ref);return n===void 0?!1:lc(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!dc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?lc(n,e,r):!1}return t.type==="array"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="array"}function es(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||ct.has(e))}function dc(t,e){let r=t;return Object.keys(t).every(n=>n===e||(n==="$defs"||n==="definitions")&&H(r[n])||ct.has(n))}function rA(t){return Object.keys(t).every(e=>e==="allOf"||e==="$defs"||e==="definitions"||In.has(e)||ct.has(e))}function nA(t){return Object.keys(t).every(e=>e==="anyOf"||e==="$defs"||e==="definitions"||e==="type"&&t.type==="object"||In.has(e)||ct.has(e))}function oA(t){return Object.keys(t).some(e=>fc.has(e))}function pc(t){let e=t.type;return e==="object"||Array.isArray(e)&&e.includes("object")||e===void 0&&oA(t)}function jd(t,e){return t===e||Array.isArray(t)&&t.length===2&&t.includes(e)&&t.includes("null")}function sA(t,e,r){if(t.anyOf===void 0)return;let n=H(t.properties)&&Object.keys(t.properties).length===0,o=Array.isArray(t.required)&&t.required.length===0;if(n&&delete t.properties,o&&delete t.required,!pc(t))return;let s=Object.keys(t).some(i=>fc.has(i));if(jd(t.type,"object")&&!s&&Array.isArray(t.anyOf)&&t.anyOf.every(i=>ya(i,r))){delete t.type;return}throw new Error("Object anyOf schema at `"+(e.join("/")||"<root>")+"` cannot be represented in strict Structured Outputs without changing Draft 7 validation.")}function iA(t,e){jd(t.type,"array")&&t.items===void 0&&Array.isArray(t.anyOf)&&t.anyOf.every(r=>lc(r,e))&&delete t.type}function aA(t){if(!Array.isArray(t.anyOf))return;let e=t.anyOf.filter(r=>r!==!1);e.length>0&&e.length!==t.anyOf.length&&(t.anyOf=e)}function uA(t){let e=(r,n)=>{if(!(typeof r=="boolean"||!H(r))){if(n.length>0&&r.$id!==void 0)throw new Error("Nested $id at "+JSON.stringify(n.join("/"))+" establishes a separate JSON Schema resource scope and cannot be represented in strict Structured Outputs.");$e(r,n,(o,s)=>{e(o,s)})}};e(t,[])}function cA(t,e){let r=On(e);if(r===void 0)return!1;let n=t;for(let[o,s]of r.entries()){if(s==="allOf"&&H(n)&&Array.isArray(n.allOf)&&o<r.length-1)return!0;if(n=wn(n,s),n===void 0)return!1}return!1}function mc(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}function Md(t){return encodeURIComponent(mc(t)).replace(/%24/g,"$")}function lA(t){let e=n=>{let o=On(n);if(o===void 0||o.length===0)return n;let s=[...o],i=t,a=!1;for(let[u,l]of o.entries()){let p=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0;if(l==="anyOf"&&u<o.length-1&&p!==void 0&&Array.isArray(p.anyOf)){let m=p.anyOf,f=o[u+1];if(!/^(?:0|[1-9]\d*)$/.test(f))return n;let g=Number(f);if(!N(m,g))return n;let w=m.filter(A=>A!==!1);if(w.length>0&&w.length!==m.length){if(m[g]===!1)return n;let A=m.slice(0,g).filter(b=>b!==!1).length;A!==g&&(s[u+1]=String(A),a=!0)}}if(i=wn(i,l),i===void 0)return n}return a?"#/"+s.map(Md).join("/"):n},r=n=>{typeof n=="boolean"||!H(n)||(typeof n.$ref=="string"&&(n.$ref=e(n.$ref)),$e(n,[],o=>{r(o)}))};r(t)}function Dd(t,e=!1){let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"&&cA(t,u.$ref)){let l=On(u.$ref);(!e||l?.[0]==="allOf")&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve local allOf references.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=kr(t,u);if(!Qo(l)){if(e)continue;throw new Error("Local $ref cannot be preserved before allOf flattening: "+JSON.stringify(u))}let p="__openai_strict_allOf_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+mc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function pA(t,e){if(e.length===0)return;let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"){let l=On(u.$ref);l!==void 0&&e.some(p=>l.length>=p.length&&p.every((m,f)=>l[f]===m))&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve discarded allOf properties.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=kr(t,u);if(!Qo(l))throw new Error("Local $ref cannot be preserved before allOf property removal: "+JSON.stringify(u));let p="__openai_strict_allOf_property_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_property_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+mc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function _a(t,e,r){if(typeof t=="boolean"||!H(t))return;let n=t.$ref;if(n!==void 0){if(typeof n!="string")throw new TypeError(`Received non-string $ref - ${n}; path=${e.join("/")}`);if(!n.startsWith("#"))throw new Error(`External $ref at \`${e.join("/")||"<root>"}\` is not supported in strict Structured Outputs: ${JSON.stringify(n)}`);let o=kr(r,n);if(o===void 0||!Qo(o))throw new Error(`Local $ref at \`${e.join("/")||"<root>"}\` does not resolve to an object or boolean schema: ${JSON.stringify(n)}`);if(typeof o=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!es(t))throw new Error(`Schema $ref at \`${e.join("/")||"<root>"}\` has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.`)}$e(t,e,(o,s)=>{_a(o,s,r)})}function fA(t,e,r){let n=[t],o=new Set,s=t,i=[];for(;;){for(;s.$ref!==void 0;){let a=s.$ref;if(typeof a!="string"||!es(s)||o.has(a))return;o.add(a);let u=kr(e,a);if(typeof u=="boolean"||!H(u))return;let l=On(a);if(l===void 0)return;s=u,i=l,n.push(s)}if(s.allOf!==void 0&&!r.has(s)){let a=s.allOf;if(ga(s,i,e,r),s.$ref!==void 0||s.allOf!==a)continue}return{schema:s,refChain:n}}}function ga(t,e,r,n=new Set){if(!(typeof t=="boolean"||!H(t))&&!n.has(t)){n.add(t);try{for(;;)if($e(t,e,(o,s)=>{ga(o,s,r,n)}),!hc(t,e,r,n))return}finally{n.delete(t)}}}function hc(t,e,r,n=new Set){let o=t.allOf;if(!Array.isArray(o)||o.length===0)return!1;let s=o.filter((S,$)=>!o.slice(0,$).some(D=>ti(D,S)));if(s.length!==o.length)return t.allOf=s,!0;let i=o.filter(S=>S!==!0);if(i.length!==o.length)return i.length===0?delete t.allOf:t.allOf=i,!0;let a=cc(t),u=o.map(S=>H(S)?fA(S,r,n):void 0),l=u.map(S=>S?.schema).filter(S=>S!==void 0&&cc(S));if(!a&&l.length===0||!a&&o.length===1)return!1;let p=()=>{throw new Error(`Object allOf at \`${e.join("/")||"<root>"}\` cannot be merged without changing Draft 7 validation.`)};!a&&["additionalProperties","properties","required","type"].some(S=>S in t)&&p();for(let S of Object.keys(t))S!=="allOf"&&S!=="$defs"&&S!=="definitions"&&!(e.length===0&&In.has(S))&&!vd.has(S)&&p();let m=[];a&&m.push({schema:t,sourcePath:e});for(let[S,$]of o.entries()){H($)||p();let D=u[S];if(D===void 0)return p();let W=D.schema;cc(W)?m.push({schema:W,sourcePath:W===$?[...e,"allOf",String(S)]:void 0}):dA(W)||p()}let f={};for(let S of["$defs","definitions"])t[S]!==void 0&&(f[S]=t[S]);if(e.length===0)for(let S of In)S in t&&(f[S]=t[S]);let g=Object.create(null),w=new Set,A=[],b=[],k=!1,h=!1,I=!1,x=!1,T=S=>{for(let $ of ct)$ in S&&($ in f||(f[$]=S[$]))};T(t);for(let S of u)if(S!==void 0)for(let $ of S.refChain)T($);for(let{schema:S,sourcePath:$}of m){for(let D of Object.keys(S))D==="allOf"&&S===t||(D==="$defs"||D==="definitions")&&H(S[D])||S===t&&e.length===0&&In.has(D)||vd.has(D)||p();if(S.type!==void 0&&(zd(S.type)||p(),S.type==="object"?I=!0:x=!0),S.properties!==void 0){H(S.properties)||p(),k=!0;for(let[D,W]of Object.entries(S.properties))b.push({key:D,propertySchema:W,sourcePath:$===void 0?void 0:[...$,"properties",D]})}if(S.required!==void 0){(!Array.isArray(S.required)||S.required.some(D=>typeof D!="string"))&&p(),h=!0;for(let D of S.required)w.add(D)}"additionalProperties"in S&&(S.additionalProperties!==!1&&p(),A.push(new Set(Object.keys(S.properties??{}))))}let v;if(A.length>0){v=new Set(A[0]);for(let S of A.slice(1))for(let $ of v)S.has($)||v.delete($)}let R=v,K=R!==void 0&&[...w].some(S=>!R.has(S)),j=K&&!I&&x,C=b.filter(({key:S,sourcePath:$})=>$!==void 0&&(j||v!==void 0&&!v.has(S))).map(({sourcePath:S})=>S);if(pA(r,C),t===r&&r.$defs!==void 0&&(f.$defs=r.$defs),K){if(j){f.type="null";for(let S of Object.keys(t))delete t[S];return Yo(t,f),!0}p()}for(let{key:S,propertySchema:$}of b)v!==void 0&&!v.has(S)||(N(g,S)&&!ti(g[S],$)&&p(),g[S]=$);(I||x)&&(f.type=I?"object":["object","null"]),k&&(f.properties=Object.fromEntries(Object.entries(g))),h&&(f.required=[...w]),A.length>0&&(f.additionalProperties=!1);for(let S of Object.keys(t))delete t[S];return Yo(t,f),!0}function cc(t){return t.type!==void 0?zd(t.type):Object.keys(t).some(e=>fc.has(e))}function dA(t){let e=t;return Object.keys(t).every(r=>ct.has(r)||(r==="$defs"||r==="definitions")&&H(e[r]))}function zd(t){return t==="object"||Array.isArray(t)&&t.length===2&&t.includes("object")&&t.includes("null")}function ti(t,e){if(t===e)return!0;if(Array.isArray(t)||Array.isArray(e))return!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length?!1:t.every((i,a)=>ti(i,e[a]));if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;let r=t,n=e,o=Object.keys(r),s=Object.keys(n);return o.sort(),s.sort(),o.length!==s.length?!1:o.every((i,a)=>i===s[a]&&ti(r[i],n[i]))}var mA={ZodString:"string",ZodNumber:"number",ZodBoolean:"boolean",ZodNull:"null",ZodObject:"object",ZodArray:"array"},hA=new Set(["ZodOptional","ZodNullable","ZodDefault","ZodReadonly"]),_A=new Set(["ZodString","ZodNumber","ZodBoolean","ZodNull","ZodEnum","ZodNativeEnum","ZodAny","ZodUnknown","ZodLiteral"]),yA=new Map([["ZodBigInt","encode integers as decimal strings and convert with BigInt after parsing"],["ZodDate","native dates do not have a synchronous JSON representation"],["ZodMap","native maps do not have a synchronous JSON representation"],["ZodSet","native sets do not have a synchronous JSON representation"],["ZodPromise","asynchronous values do not have a synchronous JSON representation"],["ZodEffects","custom transformations and refinements are opaque to JSON Schema"],["ZodPipeline","custom pipelines are opaque to JSON Schema"],["ZodIntersection","intersections cannot prove that both branches produce the same value"],["ZodCatch","catch fallbacks cannot be proven to produce JSON-native values"],["ZodTuple","tuple schemas require unsupported array-valued items"],["ZodRecord","open-ended record schemas require unsupported additionalProperties"]]),gA=new Set(["trim","toLowerCase","toUpperCase"]),AA=new Set(["regex","cuid","cuid2","startsWith","endsWith","includes","emoji","ulid","nanoid"]);function Ut(t,e,r){throw new Error(`Zod schema field \`${t}\` uses \`${e}\`, which cannot be represented by strict Structured Outputs: ${r}`)}function Aa(t){if(t===null)return{type:"null",values:new Set([null])};if(typeof t=="string")return{type:"string",values:new Set([t])};if(typeof t=="boolean")return{type:"boolean",values:new Set([t])};if(typeof t=="number"&&Number.isFinite(t))return{type:"number",values:new Set([t])}}function Ld(t){let e=t.values;if(!e||Array.isArray(e))return[];let r=e,n=Object.keys(r).filter(o=>{let s=r[o];return(typeof s=="string"||typeof s=="number")&&typeof r[String(s)]!="number"}).map(o=>r[o]).filter(o=>typeof o=="string"||typeof o=="number"&&Number.isFinite(o));return["string","number"].map(o=>({type:o,values:new Set(n.filter(s=>typeof s===o))})).filter(o=>o.values.size>0)}function Ud(t){let e=Array.isArray(t.values)?t.values.filter(r=>typeof r=="string"):[];return{type:"string",values:new Set(e)}}function bA(t){if(t.typeName==="ZodLiteral"){let e=Aa(t.value);return e?[e]:[]}return t.typeName==="ZodEnum"?[Ud(t)]:t.typeName==="ZodNativeEnum"?Ld(t):[]}function wA(t){let e=new Map;for(let[r,n]of Object.entries(t.shape())){let o=bA(n._def);o.length>0&&o.every(({values:s})=>s!==void 0&&s.size>0)&&e.set(r,o)}return{type:"object",discriminators:e}}function ts(t,e=new Set){let r=t._def;if(e.has(r))return[{type:"unknown"}];if(e.add(r),r.typeName==="ZodObject")return[wA(r)];let n=mA[r.typeName];if(n!==void 0)return[{type:n}];if(r.typeName==="ZodLiteral"){let o=Aa(r.value);return o?[o]:[{type:"unknown"}]}return r.typeName==="ZodEnum"?[Ud(r)]:r.typeName==="ZodNativeEnum"?Ld(r):r.typeName==="ZodUnion"||r.typeName==="ZodDiscriminatedUnion"?[...r.options.values()].flatMap(o=>ts(o,new Set(e))):r.typeName==="ZodNullable"?[...ts(r.innerType,new Set(e)),{type:"null"}]:hA.has(r.typeName)?ts(r.innerType,e):r.typeName==="ZodBranded"?ts(r.type,e):r.typeName==="ZodLazy"?ts(r.getter(),e):[{type:"unknown"}]}function Bd(t,e){if(t.type==="unknown"||e.type==="unknown")return!0;if(t.type!==e.type)return!1;if(t.discriminators&&e.discriminators)for(let[n,o]of t.discriminators){let s=e.discriminators.get(n);if(s&&!o.some(i=>s.some(a=>Bd(i,a))))return!1}let r=e.values;return!t.values||!r?!0:[...t.values].some(n=>r.has(n))}function IA(t,e){let r=t.map(n=>ts(n));for(let[n,o]of r.entries())for(let s of r.slice(n+1))o.some(i=>s.some(a=>Bd(i,a)))&&Ut(e,"ZodUnion","ambiguous union branches overlap; use disjoint JSON types, distinct literals, or a discriminated union")}function OA(t,e){switch(t.typeName){case"ZodObject":{let r=Object.entries(t.shape()).map(([n,o])=>({schema:o,path:`${e}.${n}`}));return t.catchall&&t.catchall._def.typeName!=="ZodNever"&&r.push({schema:t.catchall,path:`${e}.<catchall>`}),r}case"ZodArray":return[{schema:t.type,path:`${e}[]`}];case"ZodUnion":case"ZodDiscriminatedUnion":return[...t.options.values()].map((r,n)=>({schema:r,path:`${e}[${n}]`}));case"ZodOptional":case"ZodNullable":case"ZodDefault":case"ZodReadonly":return[{schema:t.innerType,path:e}];case"ZodBranded":return[{schema:t.type,path:e}];case"ZodLazy":return[{schema:t.getter(),path:e}];default:return}}function Fd(t){let e=t.checks??[];return e.some(({kind:r})=>r==="finite"||r==="int")?!0:e.some(({kind:r,value:n})=>r==="min"&&typeof n=="number"&&Number.isFinite(n))&&e.some(({kind:r,value:n})=>r==="max"&&typeof n=="number"&&Number.isFinite(n))}function xA(t,e,r){return t.unknownKeys!=="passthrough"&&(t.catchall===void 0||t.catchall._def.typeName==="ZodNever")&&Object.values(t.shape()).every(n=>r(n,new Set(e)))}function xn(t,e=new Set){let r=t._def;if(e.has(r))return!0;switch(e.add(r),r.typeName){case"ZodString":case"ZodBoolean":case"ZodNull":case"ZodEnum":case"ZodNativeEnum":return!0;case"ZodLiteral":return Aa(r.value)!==void 0;case"ZodNumber":return Fd(r);case"ZodArray":return xn(r.type,e);case"ZodObject":return xA(r,e,xn);case"ZodUnion":case"ZodDiscriminatedUnion":return[...r.options.values()].every(n=>xn(n,new Set(e)));case"ZodNullable":case"ZodDefault":case"ZodReadonly":return xn(r.innerType,e);case"ZodBranded":return xn(r.type,e);case"ZodLazy":return xn(r.getter(),e);default:return!1}}function PA(t,e){let r=yA.get(t.typeName);r&&Ut(e,t.typeName,r),t.typeName==="ZodLiteral"&&!Aa(t.value)&&Ut(e,t.typeName,"literal values must be finite JSON primitives"),t.typeName==="ZodNumber"&&t.coerce===!0&&!Fd(t)&&Ut(e,t.typeName,"number coercion must prove its parsed output is finite"),t.typeName==="ZodDefault"&&!xn(t.innerType)&&Ut(e,t.typeName,"default factory output is not independently guaranteed to be finite and JSON-native; it may contain bigint"),t.typeName==="ZodString"&&t.checks?.some(({kind:n})=>gA.has(n))&&Ut(e,t.typeName,"value-changing string checks are not represented in JSON Schema"),t.typeName==="ZodString"&&(t.checks?.filter(({kind:n})=>AA.has(n)).length??0)>1&&Ut(e,t.typeName,"multiple pattern-producing checks require unsupported allOf")}function _c(t,e,r){let n=t._def;if(r.has(n)||(r.add(n),n.typeName==="ZodIntersection"&&e==="$"))return;PA(n,e);let o=OA(n,e);if(!o){_A.has(n.typeName)||Ut(e,n.typeName,"this Zod schema is outside the documented JSON-native subset");return}for(let s of o)_c(s.schema,s.path,r);n.typeName==="ZodObject"&&(n.unknownKeys==="passthrough"||n.catchall!==void 0&&n.catchall._def.typeName!=="ZodNever")&&Ut(e,n.typeName,"open object schemas require additionalProperties: false"),n.typeName==="ZodUnion"&&e!=="$"&&IA(o.map(({schema:s})=>s),e)}function Kd(t,e){let r=new Set;_c(t,"$",r);for(let[n,o]of Object.entries(e??{}))_c(o,`$.definitions.${n}`,r)}function SA(t,e){for(let r=t;r!==null;r=Object.getPrototypeOf(r)){let n=Object.getOwnPropertyDescriptor(r,"toJSON");if(n){if(!("value"in n)||typeof n.value=="function")throw new Error(`Strict Structured Outputs schema field \`${e}\` contains an unsupported \`toJSON\` serialization hook`);return}}}function vA(t,e){if(Object.is(t,-0))throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains negative zero, which cannot round-trip through JSON`)}function ri(t,e="$",r=new Set){if(t===null||typeof t=="string"||typeof t=="boolean")return;if(typeof t=="number"&&Number.isFinite(t)){vA(t,e);return}if(typeof t!="object")throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON ${typeof t} value`);if(r.has(t))throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a circular JSON value`);let n=Object.getPrototypeOf(t);if(!Array.isArray(t)&&n!==Object.prototype&&n!==null)throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON native object`);if(SA(t,e),r.add(t),Array.isArray(t))for(let o=0;o<t.length;o+=1){let s=Object.getOwnPropertyDescriptor(t,String(o));if(!s)throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains a sparse array`);if(!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains an array accessor`);ri(s.value,`${e}[${o}]`,r)}else for(let o of Object.keys(t)){let s=Object.getOwnPropertyDescriptor(t,o);if(!s||!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}.${o}\` contains an accessor`);ri(s.value,`${e}.${o}`,r)}r.delete(t)}function kA(t){return encodeURIComponent(t.replace(/~/g,"~0").replace(/\//g,"~1"))}function RA(t){if(t&&N(t,"__proto__"))throw new Error('schemaDefinitions cannot include "__proto__" as a definition name')}function Wd(t,e){let r=new Map(Object.keys(e??{}).map(s=>[`#/definitions/${s}`,`#/definitions/${kA(s)}`]));if(r.size===0)return t;let n=new Set,o=s=>{if(!s||typeof s!="object"||Array.isArray(s)||n.has(s))return;n.add(s);let i=s,a=i.$ref;if(typeof a=="string"){let u=r.get(a);u!==void 0&&u!==a&&(i.$ref=u)}$e(i,[],o)};return o(t),t}function EA(t,e){if(!e)return t;let r=t;for(;N(e,r);)r=`${r}_root`;return r}function TA(t,e){Kd(t,e.schemaDefinitions);let r=EA(e.name,e.schemaDefinitions),n=uc(t,{openaiStrictMode:!0,name:r,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property",...e.schemaDefinitions?{definitions:e.schemaDefinitions}:void 0}),o=Wd(n,e.schemaDefinitions);return ri(o),o}function CA(t,e={}){let r=e.schemaDefinitions?Cc():void 0;for(let[s,i]of Object.entries(e.schemaDefinitions??{}))r?.add(i,{id:s});let n=$c(t,{target:"draft-7",...r?{metadata:r}:void 0,override:({zodSchema:s,jsonSchema:i})=>{let a=s._zod.def;if(a.type==="union"&&"discriminator"in a&&Array.isArray(i.oneOf)){if(i.anyOf!==void 0)throw new Error("Zod discriminated union generated both `anyOf` and `oneOf`, which cannot be represented in an OpenAI strict schema");i.anyOf=i.oneOf,delete i.oneOf}}}),o=Wd(n,e.schemaDefinitions);return Cd(o)}function qd(t){return"_zod"in t}function $A(t,e){let r=Qe({type:"json_schema",$parseRaw:void 0},e),n=t.parse;if(typeof n=="function"){let o=n.call(t,r);return qd(t)||ri(o),o}return zc(t,r)}function Hd(t,e,r){let n=t,{schemaDefinitions:o,...s}=r??{};return RA(o),op({type:"json_schema",json_schema:{...s,name:e,strict:!0,schema:qd(n)?CA(n,{schemaDefinitions:o}):TA(n,{name:e,schemaDefinitions:o})}},i=>$A(t,i))}var Xd=["jsonSchema","functionCalling","jsonMode"];function Zd(t,e){if(typeof e<"u"&&!Xd.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${Xd.join(", ")}`);let r=!t.startsWith("gpt-3")&&!t.startsWith("gpt-4-")&&t!=="gpt-4";if(r&&!e)return"jsonSchema";if(!r&&e==="jsonSchema")throw new Error(`JSON Schema is not supported for model "${t}". Please use a different method, e.g. "functionCalling" or "jsonMode".`);return e??"functionCalling"}function NA(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Jd(t,e,r){if(jc(t))return Hd(t,e,r);if(Nc(t))return NA({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:En(t,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=e}})}},n=>Tc(t,JSON.parse(n)));throw new Error("Unsupported schema response format")}function Vd(t,e){if(e&&typeof e=="object"&&"images"in e&&Array.isArray(e.images)){let r=e.images.filter(n=>typeof n?.image_url?.url=="string").map(n=>({type:"image",url:n.image_url.url}));return[{type:"text",text:t},...r]}return t}var Gd={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:13e4,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};var ba="**REDACTED**";function rs(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var Pn=class extends Kc{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(t){let e=this.invocationParams(t);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:e.temperature??void 0,ls_max_tokens:e.max_tokens??void 0,ls_stop:t.stop}}_getInvocationParamsForTracing(t){let e=this.invocationParams(t);return Array.isArray(e.tools)?{...e,tools:e.tools.map(r=>{if(r?.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=ba),"authorization"in n&&(n.authorization=ba),n})}:e}_getCallOptionsForTracing(t,e){return Array.isArray(t.tools)?{...t,tools:t.tools.map(r=>{if(typeof r!="object"||r===null||!("type"in r)||r.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=ba),"authorization"in n&&(n.authorization=ba),n})}:t}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(t){super(t??{});let e=typeof t?.configuration?.apiKey=="string"||typeof t?.configuration?.apiKey=="function"?t?.configuration?.apiKey:void 0,r=qc({baseURL:t?.configuration?.baseURL??(Ye("OPENAI_API_BASE")||Ye("OPENAI_BASE_URL")||void 0),providerPath:"openai/v1"});this.apiKey=t?.apiKey??e??r.apiKey??Ye("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??Ye("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelKwargs=t?.modelKwargs??{},this.timeout=t?.timeout,this.temperature=t?.temperature??this.temperature,this.topP=t?.topP??this.topP,this.frequencyPenalty=t?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=t?.presencePenalty??this.presencePenalty,this.logprobs=t?.logprobs,this.topLogprobs=t?.topLogprobs,this.n=t?.n??this.n,this.logitBias=t?.logitBias,this.stop=t?.stopSequences??t?.stop,this.stopSequences=this.stop,this.user=t?.user,this.__includeRawResponse=t?.__includeRawResponse,this.audio=t?.audio,this.modalities=t?.modalities,this.reasoning=t?.reasoning,this.maxTokens=t?.maxCompletionTokens??t?.maxTokens,this.promptCacheKey=t?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=t?.promptCacheRetention??this.promptCacheRetention,this.verbosity=t?.verbosity??this.verbosity,this.disableStreaming=t?.disableStreaming===!0,this.streaming=t?.streaming===!0,this.disableStreaming&&(this.streaming=!1),t?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=t?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration,baseURL:r.baseURL},t?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=t.supportsStrictToolCalling),t?.service_tier!==void 0&&(this.service_tier=t.service_tier),this.zdrEnabled=t?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.5.11")}_getReasoningParams(t){if(!zt(this.model))return;let e;return this.reasoning!==void 0&&(e={...e,...this.reasoning}),t?.reasoning!==void 0&&(e={...e,...t.reasoning}),t?.reasoningEffort!==void 0&&e?.effort===void 0&&(e={...e,effort:t.reasoningEffort}),e}_getResponseFormat(t){return t&&t.type==="json_schema"&&t.json_schema.schema&&ss(t.json_schema.schema)?Jd(t.json_schema.schema,t.json_schema.name,{description:t.json_schema.description}):t}_combineCallOptions(t){return{...this.defaultOptions,...t??{}}}_getClientOptions(t){if(!this.client){let e={baseURL:this.clientConfig.baseURL},r=Sr(e),n={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=vr(n.defaultHeaders),this.client=new M(n)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return gn(t)?Hf(t.metadata.customTool):li(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:Mf(t,e)}bindTools(t,e){let r;return e?.strict!==void 0?r=e.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),this.withConfig({tools:t.map(n=>{if(Go(n)||gn(n))return n;if(Lf(n))return n.extras.providerToolDefinition;let o=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return pi(n)&&n.extras?.defer_loading===!0?{...o,defer_loading:!0}:o}),...e})}async stream(t,e){return super.stream(t,this._combineCallOptions(e))}async invoke(t,e){return super.invoke(t,this._combineCallOptions(e))}_combineLLMOutput(...t){return t.reduce((e,r)=>(r&&r.tokenUsage&&(e.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,e.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,e.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),e),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(t){let e=0,r=0,n=0;this.model==="gpt-3.5-turbo-0301"?(r=4,n=-1):(r=3,n=1);let o=await Promise.all(t.map(async s=>{let[i,a]=await Promise.all([this.getNumTokens(s.content),this.getNumTokens(Lt(s))]),u=s.name!==void 0?n+await this.getNumTokens(s.name):0,l=i+r+a+u,p=s;if(p._getType()==="function"&&(l-=2),p.additional_kwargs?.function_call&&(l+=3),p?.additional_kwargs.function_call?.name&&(l+=await this.getNumTokens(p.additional_kwargs.function_call?.name)),p.additional_kwargs.function_call?.arguments)try{l+=await this.getNumTokens(JSON.stringify(JSON.parse(p.additional_kwargs.function_call?.arguments)))}catch(m){console.error("Error parsing function arguments",m,JSON.stringify(p.additional_kwargs.function_call)),l+=await this.getNumTokens(p.additional_kwargs.function_call?.arguments)}return e+=l,l}));return e+=3,{totalCount:e,countPerMessage:o}}async _getNumTokensFromGenerations(t){return(await Promise.all(t.map(async e=>e.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([e.message])).countPerMessage[0]:await this.getNumTokens(e.message.content)))).reduce((e,r)=>e+r,0)}async _getEstimatedTokenCountFromPrompt(t,e,r){let n=(await this.getNumTokensFromMessages(t)).totalCount;if(e&&r!=="auto"){let o=Df(e);n+=await this.getNumTokens(o),n+=9}return e&&t.find(o=>o._getType()==="system")&&(n-=4),r==="none"?n+=1:typeof r=="object"&&(n+=await this.getNumTokens(r.name)+4),n}async moderateContent(t,e){let r=this._getClientOptions(e?.options),n={input:t,model:e?.model??"omni-moderation-latest"};return this.caller.call(async()=>{try{return await this.client.moderations.create(n,r)}catch(o){throw st(o)}})}get profile(){return Gd[this.model]??{}}_getStructuredOutputMethod(t){let e={...t};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(e?.method===void 0)return"jsonSchema"}else e.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return e.method}withStructuredOutput(t,e){let r,n,{schema:o,name:s,includeRaw:i}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let a=Zd(this.model,e?.method);if(a==="jsonMode"){n=Ma(o);let u=En(o);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:s??"extract",...u}}})}else if(a==="jsonSchema"){let u=En(o),l={name:s??"extract",description:Mc(u),schema:ss(o)?o:u,strict:e?.strict};if(r=this.withConfig({outputVersion:"v0",response_format:{type:"json_schema",json_schema:l},ls_structured_output_format:{kwargs:{method:"json_schema"},schema:{title:l.name,description:l.description,...u}}}),ss(o)||Na(o)){let p=Ma(o);n=Dc.from(async m=>"parsed"in m.additional_kwargs?m.additional_kwargs.parsed:p.invoke(m.content))}else n=new Lc}else{let u=s??"extract",l=En(o),p;ss(o)||Na(o)?p={name:u,description:l.description,parameters:l}:typeof o.name=="string"&&typeof o.parameters=="object"&&o.parameters!=null?(p=o,u=o.name):(u=o.title??u,p={name:u,description:o.description??"",parameters:o}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:p}],tool_choice:{type:"function",function:{name:u}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:u,...l}},...e?.strict!==void 0?{strict:e.strict}:{}}),n=Uc(o,u)}return Bc(r,n,i)}};var ni={providerName:"ChatOpenAI",fromStandardTextBlock(t){return{type:"text",text:t.text}},fromStandardImageBlock(t){if(t.source_type==="url")return{type:"image_url",image_url:{url:t.url,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};if(t.source_type==="base64")return{type:"image_url",image_url:{url:`data:${t.mime_type??""};base64,${t.data}`,...t.metadata?.detail?{detail:t.metadata.detail}:{}}};throw new Error(`Image content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardAudioBlock(t){if(t.source_type==="url"){let e=Ca({dataUrl:t.url});if(!e)throw new Error(`URL audio blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);let r=e.mime_type||t.mime_type||"",n;try{n=Ta(r)}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(n.type!=="audio"||n.subtype!=="wav"&&n.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:n.subtype,data:e.data}}}if(t.source_type==="base64"){let e;try{e=Ta(t.mime_type??"")}catch{throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`)}if(e.type!=="audio"||e.subtype!=="wav"&&e.subtype!=="mp3")throw new Error(`Audio blocks with source_type ${t.source_type} must have mime type of audio/wav or audio/mp3`);return{type:"input_audio",input_audio:{format:e.subtype,data:t.data}}}throw new Error(`Audio content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)},fromStandardFileBlock(t){if(t.source_type==="url"){let e=Ca({dataUrl:t.url}),r=yn(t);if(!e)throw new Error(`URL file blocks with source_type ${t.source_type} must be formatted as a data URL for ChatOpenAI`);return{type:"file",file:{file_data:t.url,filename:r}}}if(t.source_type==="base64"){let e=yn(t);return{type:"file",file:{file_data:`data:${t.mime_type??""};base64,${t.data}`,filename:e}}}if(t.source_type==="id")return{type:"file",file:{file_id:t.id}};throw new Error(`File content blocks with source_type ${t.source_type} are not supported for ChatOpenAI`)}},wa=({message:t,rawResponse:e,includeRawResponse:r})=>{let n=t.tool_calls,o=t.reasoning_content;switch(t.role){case"assistant":{let s=[],i=[];for(let p of n??[])try{s.push(fi(p,{returnId:!0}))}catch(m){i.push(Tn(p,m.message))}let a={function_call:t.function_call,tool_calls:n};r!==void 0&&(a.__raw_response=e),o!==void 0&&(a.reasoning_content=o);let u={model_provider:"openai",model_name:e.model,usage:{...e.usage},...e.system_fingerprint?{system_fingerprint:e.system_fingerprint}:{}};t.audio&&(a.audio=t.audio);let l=Vd(t.content||"",e.choices?.[0]?.message);return new dt({content:l,tool_calls:s,invalid_tool_calls:i,additional_kwargs:a,response_metadata:u,id:e.id})}default:return new ci(t.content||"",t.role??"unknown")}},Ia=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:n})=>{let o=t.role??n,s=t.content??"",i;t.function_call?i={function_call:t.function_call}:t.tool_calls?i={tool_calls:t.tool_calls}:i={},r&&(i.__raw_response=e),t.reasoning_content!==void 0&&(i.reasoning_content=t.reasoning_content),t.audio&&(i.audio={...t.audio,index:e.choices[0].index});let a={model_provider:"openai",usage:{...e.usage}};if(o==="user")return new kc({content:s,response_metadata:a});if(o==="assistant"){let u=[];if(Array.isArray(t.tool_calls))for(let l of t.tool_calls)u.push({name:l.function?.name,args:l.function?.arguments,id:l.id,index:l.index,type:"tool_call_chunk"});return new Rn({content:s,tool_call_chunks:u,additional_kwargs:i,id:e.id,response_metadata:a})}else return o==="system"?new $a({content:s,response_metadata:a}):o==="developer"?new $a({content:s,response_metadata:a,additional_kwargs:{__openai_role__:"developer"}}):o==="function"?new vc({content:s,additional_kwargs:i,name:t.name,response_metadata:a}):o==="tool"?new Oc({content:s,additional_kwargs:i,tool_call_id:t.tool_call_id,response_metadata:a}):new Sc({content:s,role:o,response_metadata:a})},yc=t=>{if(t.type==="image"){if(t.url)return{type:"image_url",image_url:{url:t.url}};if(t.data)return{type:"image_url",image_url:{url:`data:${t.mimeType};base64,${t.data}`}}}if(t.type==="audio"&&t.data){let e=Rc(()=>{let[,r]=t.mimeType.split("/");return r==="wav"||r==="mp3"?r:"wav"});return{type:"input_audio",input_audio:{data:t.data.toString(),format:e}}}if(t.type==="file"){if(t.data){let e=yn(t);return{type:"file",file:{file_data:`data:${t.mimeType};base64,${t.data}`,filename:e}}}if(t.fileId)return{type:"file",file:{file_id:t.fileId}}}},gc=({message:t,model:e})=>{let r=Lt(t);if(r==="system"&&zt(e)&&(r="developer"),r==="developer")return{role:"developer",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="system")return{role:"system",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="assistant"){let o={role:"assistant",content:t.contentBlocks.filter(s=>s.type==="text")};return dt.isInstance(t)&&t.tool_calls?.length?o.tool_calls=t.tool_calls.map(ja):t.additional_kwargs.tool_calls!=null&&(o.tool_calls=t.additional_kwargs.tool_calls),Array.isArray(o.content)&&o.content.length===0&&o.tool_calls!=null&&(o.content=null),o}else{if(r==="tool"&&ui.isInstance(t))return{role:"tool",tool_call_id:t.tool_call_id,content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="function")return{role:"function",name:t.name??"",content:t.contentBlocks.filter(o=>o.type==="text").join("")}}function*n(o){for(let s of o){s.type==="text"&&(yield{type:"text",text:s.text});let i=yc(s);i&&(yield i)}}return{role:"user",content:Array.from(n(t.contentBlocks))}},Sn=({messages:t,model:e})=>t.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return gc({message:r});let n=Lt(r);n==="system"&&zt(e)&&(n="developer");let o=typeof r.content=="string"?r.content:r.content.flatMap(i=>ii(i)?ai(i,ni):typeof i=="object"&&i!==null&&"type"in i&&(i.type==="tool_use"||i.type==="tool_call"||i.type==="functionCall"||i.type==="reasoning"||i.type==="reasoning_content"||i.type==="thinking")?[]:i),s={role:n,content:o};return r.name!=null&&(s.name=r.name),r.additional_kwargs.function_call!=null&&(s.function_call=r.additional_kwargs.function_call),dt.isInstance(r)&&r.tool_calls?.length?s.tool_calls=r.tool_calls.map(ja):(r.additional_kwargs.tool_calls!=null&&(s.tool_calls=r.additional_kwargs.tool_calls),ui.isInstance(r)&&r.tool_call_id!=null&&(s.tool_call_id=r.tool_call_id)),r.additional_kwargs.audio&&typeof r.additional_kwargs.audio=="object"&&"id"in r.additional_kwargs.audio?[s,{role:"assistant",audio:{id:r.additional_kwargs.audio.id}}]:s});var Oa=class extends Pn{constructor(t,e){super(rs(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),!(this.streaming||e?.streaming)&&t?.response_format?.type==="json_schema"&&r!==!1&&(r=!0);let n={};t?.stream_options!==void 0?n={stream_options:t.stream_options}:this.streamUsage&&(this.streaming||e?.streaming)&&(n={stream_options:{include_usage:!0}});let o={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:t?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:t?.functions,function_call:t?.function_call,tools:t?.tools?.length?t.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:r})):void 0,tool_choice:la(t?.tool_choice),response_format:this._getResponseFormat(t?.response_format),seed:t?.seed,...n,parallel_tool_calls:t?.parallel_tool_calls,...this.audio||t?.audio?{audio:this.audio||t?.audio}:{},...this.modalities||t?.modalities?{modalities:this.modalities||t?.modalities}:{},...this.modelKwargs,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,verbosity:t?.verbosity??this.verbosity};t?.prediction!==void 0&&(o.prediction=t.prediction),this.service_tier!==void 0&&(o.service_tier=this.service_tier),t?.service_tier!==void 0&&(o.service_tier=t.service_tier);let s=this._getReasoningParams(t);return s!==void 0&&s.effort!==void 0&&(o.reasoning_effort=s.effort),zt(o.model)?o.max_completion_tokens=this.maxTokens===-1?void 0:this.maxTokens:o.max_tokens=this.maxTokens===-1?void 0:this.maxTokens,o}async _generate(t,e,r){e.signal?.throwIfAborted();let n={},o=this.invocationParams(e),s=Sn({messages:t,model:this.model});if(o.stream){let i=this._streamResponseChunks(t,e,r),a={};for await(let g of i){g.message.response_metadata={...g.generationInfo,...g.message.response_metadata};let w=g.generationInfo?.completion??0;a[w]===void 0?a[w]=g:a[w]=a[w].concat(g)}let u=Object.entries(a).sort(([g],[w])=>parseInt(g,10)-parseInt(w,10)).map(([g,w])=>w),{functions:l,function_call:p}=this.invocationParams(e),m=await this._getEstimatedTokenCountFromPrompt(t,l,p),f=await this._getNumTokensFromGenerations(u);return n.input_tokens=m,n.output_tokens=f,n.total_tokens=m+f,{generations:u,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let i=await this.completionWithRetry({...o,stream:!1,messages:s},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options}),{completion_tokens:a,prompt_tokens:u,total_tokens:l,prompt_tokens_details:p,completion_tokens_details:m}=i?.usage??{};a&&(n.output_tokens=(n.output_tokens??0)+a),u&&(n.input_tokens=(n.input_tokens??0)+u),l&&(n.total_tokens=(n.total_tokens??0)+l),(p?.audio_tokens!==null||p?.cached_tokens!==null||p?.cache_write_tokens!=null)&&(n.input_token_details={...p?.audio_tokens!==null&&{audio:p?.audio_tokens},...p?.cached_tokens!==null&&{cache_read:p?.cached_tokens},...p?.cache_write_tokens!=null&&{cache_creation:p?.cache_write_tokens}}),(m?.audio_tokens!==null||m?.reasoning_tokens!==null)&&(n.output_token_details={...m?.audio_tokens!==null&&{audio:m?.audio_tokens},...m?.reasoning_tokens!==null&&{reasoning:m?.reasoning_tokens}});let f=[];for(let g of i?.choices??[]){let w={text:g.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(g.message??{role:"assistant"},i)};w.generationInfo={...g.finish_reason?{finish_reason:g.finish_reason}:{},...g.logprobs?{logprobs:g.logprobs}:{}},Pc(w.message)&&(w.message.usage_metadata=n),w.message=new dt(Object.fromEntries(Object.entries(w.message).filter(([A])=>!A.startsWith("lc_")))),f.push(w)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamChatModelEvents(t,e,r){let n=Sn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s=await this.completionWithRetry(o,e),i=this.streamUsage??e.streamUsage;yield*di(async function*(u,l){for await(let p of u){if(l?.aborted)return;yield p}}(s,e.signal),{streamUsage:i??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=Sn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s,i=await this.completionWithRetry(o,e),a;for await(let u of i){if(e.signal?.aborted)return;let l=u?.choices?.[0];if(u.usage&&(a=u.usage),!l)continue;let{delta:p}=l;if(!p)continue;let m=this._convertCompletionsDeltaToBaseMessageChunk(p,u,s);s=p.role??s;let f={prompt:e.promptIndex??0,completion:l.index??0};if(typeof m.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let g={...f};l.finish_reason!=null&&(g.finish_reason=l.finish_reason,g.system_fingerprint=u.system_fingerprint,g.model_name=u.model,g.service_tier=u.service_tier),this.logprobs&&(g.logprobs=l.logprobs);let w=new is({message:m,text:m.content,generationInfo:g});yield w,await r?.handleLLMNewToken(w.text??"",f,void 0,void 0,void 0,{chunk:w})}if(a){let u={...a.prompt_tokens_details?.audio_tokens!==null&&{audio:a.prompt_tokens_details?.audio_tokens},...a.prompt_tokens_details?.cached_tokens!==null&&{cache_read:a.prompt_tokens_details?.cached_tokens},...a.prompt_tokens_details?.cache_write_tokens!=null&&{cache_creation:a.prompt_tokens_details?.cache_write_tokens}},l={...a.completion_tokens_details?.audio_tokens!==null&&{audio:a.completion_tokens_details?.audio_tokens},...a.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:a.completion_tokens_details?.reasoning_tokens}},p=new is({message:new Rn({content:"",response_metadata:{usage:{...a}},usage_metadata:{input_tokens:a.prompt_tokens,output_tokens:a.completion_tokens,total_tokens:a.total_tokens,...Object.keys(u).length>0&&{input_token_details:u},...Object.keys(l).length>0&&{output_token_details:l}}}),text:""});yield p,await r?.handleLLMNewToken(p.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:p})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n),s=t.response_format&&t.response_format.type==="json_schema";return this.caller.callWithOptions({maxRetries:r},async()=>{try{return s&&!t.stream?await this.client.chat.completions.parse(t,o):await this.client.chat.completions.create(t,o)}catch(i){throw st(i)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return Ia({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return wa({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var xa="__openai_function_call_ids__",Pa="__openai_custom_tool_call_ids__";function om(t){return t.type==="url_citation"?{type:"citation",source:"url_citation",url:t.url,title:t.title,startIndex:t.start_index,endIndex:t.end_index}:t.type==="file_citation"?{type:"citation",source:"file_citation",title:t.filename,startIndex:t.index,file_id:t.file_id}:t.type==="container_file_citation"?{type:"citation",source:"container_file_citation",title:t.filename,startIndex:t.start_index,endIndex:t.end_index,file_id:t.file_id,container_id:t.container_id}:t.type==="file_path"?{type:"citation",source:"file_path",startIndex:t.index,file_id:t.file_id}:{type:"non_standard",value:t}}function MA(t){if(t.type==="url_citation"||t.type==="file_citation"||t.type==="container_file_citation"||t.type==="file_path")return t;if(t.type==="citation"){let e=t;if(e.source==="url_citation")return{type:"url_citation",url:e.url??"",title:e.title??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_citation")return{type:"file_citation",file_id:e.file_id??"",filename:e.title??"",index:e.startIndex??0};if(e.source==="container_file_citation")return{type:"container_file_citation",file_id:e.file_id??"",filename:e.title??"",container_id:e.container_id??"",start_index:e.startIndex??0,end_index:e.endIndex??0};if(e.source==="file_path")return{type:"file_path",file_id:e.file_id??"",index:e.startIndex??0}}return t.type==="non_standard"?t.value:t}var ns=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_tokens},...t?.input_tokens_details?.cache_write_tokens!=null&&{cache_creation:t?.input_tokens_details?.cache_write_tokens}},r={...t?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:t?.output_tokens_details?.reasoning_tokens}};return{input_tokens:t?.input_tokens??0,output_tokens:t?.output_tokens??0,total_tokens:t?.total_tokens??0,input_token_details:e,output_token_details:r}},oi=t=>{if(t.error){let a=new Error(t.error.message);throw a.name=t.error.code,a}let e=[],r=[],n=[],o=t.output.map(a=>{if(a.type==="function_call"&&"parsed_arguments"in a){let u={...a};return delete u.parsed_arguments,u}return a}),s={model_provider:"openai",model:t.model,created_at:t.created_at,id:t.id,incomplete_details:t.incomplete_details,metadata:t.metadata,object:t.object,output:o,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let a of t.output)if(a.type==="message")e.push(...a.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(i.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(om),...a.phase!==null?{phase:a.phase}:{}}):u.type==="refusal"?(i.refusal=u.refusal,[]):u));else if(a.type==="function_call"){let u={function:{name:a.name,arguments:a.arguments},id:a.call_id};try{r.push(fi(u,{returnId:!0}))}catch(l){let p;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(p=l.message),n.push(Tn(u,p))}i[xa]??={},a.id&&(i[xa][a.call_id]=a.id)}else if(a.type==="reasoning"){i.reasoning=a;let u=a.summary?.map(l=>l.text).filter(Boolean).join("");u&&e.push({type:"reasoning",reasoning:u})}else if(a.type==="custom_tool_call"){let u=Bf(a);u?(r.push(u),i[Pa]??={},a.id&&a.call_id&&(i[Pa][a.call_id]=a.id)):n.push(Tn(a,"Malformed custom tool call"))}else if(a.type==="computer_call"){let u=Ff(a);u?r.push(u):n.push(Tn(a,"Malformed computer call"))}else a.type==="image_generation_call"?(a.result&&e.push({type:"image",mimeType:"image/png",data:a.result,id:a.id,metadata:{status:a.status}}),i.tool_outputs??=[],i.tool_outputs.push(a)):(i.tool_outputs??=[],i.tool_outputs.push(a));return new dt({id:t.id,content:e,tool_calls:r,invalid_tool_calls:n,usage_metadata:ns(t.usage),additional_kwargs:i,response_metadata:s})},Ac=t=>{let e=(t.summary.length>1?t.summary.reduce((r,n)=>{let o=r[r.length-1];return o.index===n.index?o.text+=n.text:r.push(n),r},[{...t.summary[0]}]):t.summary).map(r=>Object.fromEntries(Object.entries(r).filter(([n])=>n!=="index")));return{...t,summary:e}},Sa=t=>{let e=[],r={},n,o=[],s={model_provider:"openai"},i={},a;if(t.type==="response.output_text.delta")e.push({type:"text",text:t.delta,index:t.content_index});else if(t.type==="response.output_text.annotation.added")e.push({type:"text",text:"",annotations:[om(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){let u="phase"in t.item?t.item.phase:void 0;u&&e.push({type:"text",text:"",phase:u,index:0})}else if(t.type==="response.output_item.added"&&t.item.type==="function_call")o.push({type:"tool_call_chunk",name:t.item.name,args:t.item.arguments,id:t.item.call_id,index:t.output_index}),i[xa]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.added"&&t.item.type==="custom_tool_call")o.push({type:"tool_call_chunk",isCustomTool:!0,name:t.item.name,args:t.item.input,id:t.item.call_id,index:t.output_index}),i[Pa]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.done"&&t.item.type==="reasoning"&&t.item.encrypted_content)i.reasoning={encrypted_content:t.item.encrypted_content};else if(t.type==="response.output_item.done"&&t.item.type==="computer_call")o.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:t.item.action}),id:t.item.call_id,index:t.output_index}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&t.item.type==="image_generation_call")t.item.result&&e.push({type:"image",mimeType:"image/png",data:t.item.result,id:t.item.id,metadata:{status:t.item.status}}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(t.item.type))i.tool_outputs=[t.item];else if(t.type==="response.created")a=t.response.id,s.id=t.response.id,s.model_name=t.response.model,s.model=t.response.model;else if(t.type==="response.completed"||t.type==="response.incomplete"){a=t.response.id;let u=oi(t.response);if(n=ns(t.response.usage),t.response.text?.format?.type==="json_schema"&&u.text)try{i.parsed??=JSON.parse(u.text)}catch{}for(let[l,p]of Object.entries(t.response))l!=="id"&&(l==="output"?s[l]=u.response_metadata.output:s[l]=p)}else if(t.type==="response.function_call_arguments.delta"||t.type==="response.custom_tool_call_input.delta")o.push({type:"tool_call_chunk",args:t.delta,index:t.output_index,...t.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});else if(t.type==="response.web_search_call.in_progress"||t.type==="response.web_search_call.searching"||t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.in_progress"||t.type==="response.file_search_call.searching"||t.type==="response.file_search_call.completed"||t.type==="response.image_generation_call.in_progress"||t.type==="response.image_generation_call.generating"||t.type==="response.image_generation_call.completed"){let[,u,l]=t.type.match(/^response\.(.*)\.([^.]+)$/)??["","",""];r={tool_outputs:{id:t.item_id,type:u,status:l}}}else if(t.type==="response.refusal.done")i.refusal=t.refusal;else if(t.type==="response.output_item.added"&&"item"in t&&t.item.type==="reasoning"){let u=t.item.summary?t.item.summary.map((p,m)=>({...p,index:m})):void 0;i.reasoning={id:t.item.id,type:t.item.type,...u?{summary:u}:{}};let l=t.item.summary?.map(p=>p.text).filter(Boolean).join("");l&&e.push({type:"reasoning",reasoning:l})}else if(t.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text,index:t.summary_index});else if(t.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta,index:t.summary_index});else return t.type==="response.image_generation_call.partial_image",null;return new is({text:e.map(u=>u.text).join(""),message:new Rn({id:a,content:e,tool_call_chunks:o,usage_metadata:n,additional_kwargs:i,response_metadata:s}),generationInfo:r})},bc=t=>{let e=dt.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let n=it(()=>{try{let h=Lt(t);return h==="system"||h==="developer"||h==="assistant"||h==="user"?h:"assistant"}catch{return"assistant"}}),o=h=>n==="assistant"?{type:"output_text",text:h,annotations:[]}:{type:"input_text",text:h},s,i=new Set,a=new Set,u=new Map,l=new Map;function*p(){if(!s)return;let h=s.content;(typeof h=="string"&&h.length>0||Array.isArray(h)&&h.length>0)&&(yield s),s=void 0}let m=(h,I)=>{s||(s={type:"message",role:n,content:[],...I?{phase:I}:{}}),typeof s.content=="string"?s.content=s.content.length>0?[o(s.content),...h]:[...h]:s.content.push(...h)},f=h=>{if(typeof h=="string")return h;try{return JSON.stringify(h??{})}catch{return"{}"}},g=h=>{let I=it(()=>{let x=h.metadata?.detail;return x==="low"||x==="high"||x==="auto"?x:"auto"});if(h.fileId)return{type:"input_image",detail:I,file_id:h.fileId};if(h.url)return{type:"input_image",detail:I,image_url:h.url};if(h.data){let x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_image",detail:I,image_url:`data:${h.mimeType??"image/png"};base64,${x}`}}},w=h=>{if(h.fileId){let I=ua(h);return{type:"input_file",file_id:h.fileId,...I?{filename:I}:{}}}if(h.url){let I=ua(h);return{...I?{filename:I}:{},type:"input_file",file_url:h.url}}if(h.data){let I=yn(h),x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_file",file_data:`data:${h.mimeType??"application/octet-stream"};base64,${x}`,filename:I}}},A=h=>{let I=it(()=>{if(Array.isArray(h.summary)){let T=h.summary?.map(v=>v?.text).filter(v=>typeof v=="string")??[];if(T.length>0)return T}return h.reasoning?[h.reasoning]:[]}),x=I.length>0?I.map(T=>({type:"summary_text",text:T})):[{type:"summary_text",text:""}];return{type:"reasoning",...h.id?{id:h.id}:{},summary:x}},b=h=>({type:"function_call",name:h.name??"",call_id:h.id??"",arguments:f(h.args)}),k=h=>{let I=f(h.output),x=h.status==="success"?"completed":h.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:h.toolCallId??"",output:I,...x?{status:x}:{}}};for(let h of t.contentBlocks)if(h.type==="text"){let I=it(()=>{if("extras"in h&&typeof h.extras=="object"&&h.extras!==null&&"phase"in h.extras)return h.extras.phase});m([o(h.text)],I)}else if(h.type!=="invalid_tool_call"){if(h.type==="reasoning")yield*p(),yield A(h);else if(h.type==="tool_call"){yield*p();let I=h.id??"";I&&(i.add(I),u.delete(I)),yield b(h)}else if(h.type==="tool_call_chunk"){if(h.id){let I=u.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),u.set(h.id,I)}}else if(h.type==="server_tool_call"){yield*p();let I=h.id??"";I&&(a.add(I),l.delete(I)),yield b(h)}else if(h.type==="server_tool_call_chunk"){if(h.id){let I=l.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),l.set(h.id,I)}}else if(h.type==="server_tool_call_result")yield*p(),yield k(h);else if(h.type!=="audio")if(h.type==="file"){let I=w(h);I&&m([I])}else if(h.type==="image"){let I=g(h);I&&m([I])}else if(h.type==="video"){let I=w(h);I&&m([I])}else h.type==="text-plain"?h.text&&m([o(h.text)]):h.type==="non_standard"&&e&&(yield*p(),yield h.value)}yield*p();for(let[h,I]of u){if(!h||i.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}for(let[h,I]of l){if(!h||a.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}}return Array.from(r())},os=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(n=>{let o=n.response_metadata;if(o?.output_version==="v1")return bc(n);let s=n.additional_kwargs,i=Lt(n);if(i==="system"&&zt(r)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let a=n;if(s?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof a.content=="string")return{type:"input_image",image_url:a.content};if(Array.isArray(a.content)){let l=a.content.find(f=>f.type==="input_image");if(l)return l;let p=a.content.find(f=>f.type==="computer_screenshot");if(p)return p;let m=a.content.find(f=>f.type==="image_url");if(m)return{type:"input_image",image_url:typeof m.image_url=="string"?m.image_url:m.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:a.tool_call_id};if(a.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:a.tool_call_id,output:a.content};let u=Array.isArray(a.content)&&a.content.every(l=>typeof l=="object"&&l!==null&&"type"in l&&(l.type==="input_file"||l.type==="input_image"||l.type==="input_text"));return{type:"function_call_output",call_id:a.tool_call_id,id:a.id?.startsWith("fc_")?a.id:void 0,output:u?a.content:typeof a.content!="string"?JSON.stringify(a.content):a.content}}if(i==="assistant"){if(!e&&o?.output!=null&&Array.isArray(o?.output)&&o?.output.length>0&&o?.output.every(A=>"type"in A))return o?.output;let a=[],u=s?.reasoning,l=!!u?.encrypted_content;if(u&&(!e||l)){let A=Ac(u);a.push(A)}let{content:p}=n;if(s?.refusal&&(typeof p=="string"&&(p=[{type:"output_text",text:p,annotations:[]}]),p=[...p,{type:"refusal",refusal:s.refusal}]),typeof p=="string"||p.length>0){let A={type:"message",role:"assistant",...n.id&&!e&&n.id.startsWith("msg_")?{id:n.id}:{},content:it(()=>typeof p=="string"?p:p.flatMap(b=>{if(b.type==="text"){let k=b;return{type:"output_text",text:k.text,annotations:(k.annotations??[]).map(MA)}}return b.type==="output_text"||b.type==="refusal"?b:[]})),phase:it(()=>{if(Array.isArray(p))return p.find(b=>"phase"in b&&typeof b.phase=="string")?.phase})};a.push(A)}let m=s?.[xa],f=s?.[Pa];dt.isInstance(n)&&n.tool_calls?.length?a.push(...n.tool_calls.map(A=>Wf(A,f)?{type:"custom_tool_call",id:"call_id"in A&&typeof A.call_id=="string"?A.call_id:f?.[A.id??""]??"",call_id:A.id??"",input:A.args.input,name:A.name}:Kf(A)?{type:"computer_call",id:A.call_id,call_id:A.id??"",action:A.args.action}:{type:"function_call",name:A.name,arguments:JSON.stringify(A.args),call_id:A.id,...e?{}:{id:m?.[A.id]}})):s?.tool_calls&&a.push(...s.tool_calls.map(A=>({type:"function_call",name:A.function.name,call_id:A.id,arguments:A.function.arguments,...e?{}:{id:m?.[A.id]}})));let g=o?.output?.length?o?.output:s.tool_outputs,w=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(g!=null){let A=g?.filter(b=>w.includes(b.type));A.length>0&&a.push(...A)}return a}if(i==="user"||i==="system"||i==="developer"){if(typeof n.content=="string")return{type:"message",role:i,content:n.content};let a=[],u=n.content.flatMap(l=>{if(l.type==="mcp_approval_response"&&a.push({type:"mcp_approval_response",approval_request_id:l.approval_request_id,approve:l.approve}),ii(l)){if(l.type==="file"){let p=ua(l);if(l.source_type==="url")return{type:"input_file",file_url:l.url,...p?{filename:p}:{}};if(l.source_type==="id")return{type:"input_file",file_id:l.id,...p?{filename:p}:{}};if(l.source_type==="base64")return{type:"input_file",file_data:`data:${l.mime_type??""};base64,${l.data}`,filename:yn(l)}}return ai(l,ni)}return l.type==="text"?{type:"input_text",text:l.text}:l.type==="image_url"?{type:"input_image",image_url:it(()=>{if(typeof l.image_url=="string")return l.image_url;if(typeof l.image_url=="object"&&l.image_url!==null&&"url"in l.image_url)return l.image_url.url}),detail:it(()=>{if(typeof l.image_url=="string")return"auto";if(typeof l.image_url=="object"&&l.image_url!==null&&"detail"in l.image_url)return l.image_url.detail})}:l.type==="input_text"||l.type==="input_image"||l.type==="input_file"?l:[]});return u.length>0&&a.push({type:"message",role:i,content:u}),a}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]});async function*wc(t,e={}){let r=e.streamUsage??!0,n=e.provider??"openai",o=new Map,s=new Map,i=0,a=!1,u,l,p,m,f=new Set,g=(b,k)=>{let h=s.get(b);if(h!==void 0)return{index:h,isNew:!1};let I=i++;return s.set(b,I),o.set(I,{...k}),{index:I,isNew:!0}},w=function*(){a||(a=!0,yield{event:"message-start",id:u})},A=function*(b){if(f.has(b))return;let k=o.get(b);k&&(f.add(b),yield{event:"content-block-finish",index:b,content:Fc(k)})};for await(let b of t){if(b.type==="response.created"){u=b.response.id,yield*w(),yield{event:"provider",provider:n,name:"response.created",payload:{model:b.response.model,id:b.response.id}};continue}if(b.type==="response.output_text.delta"){yield*w();let{index:k,isNew:h}=g(`text:${b.output_index}:${b.content_index}`,{type:"text",text:""});h&&(yield{event:"content-block-start",index:k,content:{type:"text",text:""}});let I=o.get(k);I.text=(I.text??"")+b.delta,yield{event:"content-block-delta",index:k,delta:{type:"text-delta",text:b.delta}};continue}if(b.type==="response.reasoning_summary_text.delta"){yield*w();let{index:k,isNew:h}=g(`reasoning:${b.output_index}:${b.summary_index}`,{type:"reasoning",reasoning:""});h&&(yield{event:"content-block-start",index:k,content:{type:"reasoning",reasoning:""}});let I=o.get(k);I.reasoning=(I.reasoning??"")+b.delta,yield{event:"content-block-delta",index:k,delta:{type:"reasoning-delta",reasoning:b.delta}};continue}if(b.type==="response.output_item.added"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let k=`tool:${b.output_index}`,h=b.item.type==="custom_tool_call",I=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:x,isNew:T}=g(k,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index,...h?{isCustomTool:!0}:{}});if(T&&(yield{event:"content-block-start",index:x,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index}}),I){let v=o.get(x);yield{event:"content-block-delta",index:x,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...v.id!=null?{id:v.id}:{},...v.name!=null?{name:v.name}:{},args:v.args}}}}continue}if(b.type==="response.function_call_arguments.delta"||b.type==="response.custom_tool_call_input.delta"){yield*w();let{index:k,isNew:h}=g(`tool:${b.output_index}`,{type:"tool_call_chunk",args:"",index:b.output_index,...b.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});h&&(yield{event:"content-block-start",index:k,content:{type:"tool_call_chunk",args:"",index:b.output_index}});let I=o.get(k);I.args=(I.args??"")+b.delta,yield{event:"content-block-delta",index:k,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...I.id!=null?{id:I.id}:{},...I.name!=null?{name:I.name}:{},args:I.args}}};continue}if(b.type==="response.output_item.done"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let k=`tool:${b.output_index}`,h=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:I,isNew:x}=g(k,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index});if(x)yield{event:"content-block-start",index:I,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index}};else{let T=o.get(I);T.args=h,T.id=b.item.call_id,T.name=b.item.name}yield*A(I);continue}if(b.type==="response.completed"||b.type==="response.incomplete"){yield*w(),u=b.response.id,p=DA(b.response.status,b.type),m={model_provider:n,id:b.response.id,model:b.response.model,status:b.response.status},r&&b.response.usage&&(l=ns(b.response.usage),yield{event:"usage",usage:l});continue}b.type!=="response.image_generation_call.partial_image"&&(yield*w(),yield{event:"provider",provider:n,name:b.type,payload:b})}a||(yield{event:"message-start"});for(let[b]of o)f.has(b)||(yield*A(b));yield{event:"message-finish",reason:p,...l?{usage:l}:{},...m?{responseMetadata:m}:{}}}function DA(t,e){return e==="response.incomplete"?"length":t==="completed"?"stop":t==="incomplete"?"length":"stop"}var va=class extends Pn{constructor(t,e){super(rs(t,e))}invocationParams(t){let e;t?.strict!==void 0&&(e=t.strict),e===void 0&&this.supportsStrictToolCalling!==void 0&&(e=this.supportsStrictToolCalling);let r={model:this.model,temperature:this.temperature,top_p:this.topP,user:this.user,service_tier:this.service_tier,stream:this.streaming,previous_response_id:t?.previous_response_id,truncation:t?.truncation,include:t?.include,tools:t?.tools?.length?this._reduceChatOpenAITools(t.tools,{stream:this.streaming,strict:e}):void 0,tool_choice:Uf(t?.tool_choice)?t?.tool_choice:(()=>{let o=la(t?.tool_choice);if(typeof o=="object"&&"type"in o){if(o.type==="function")return{type:"function",name:o.function.name};if(o.type==="allowed_tools")return{type:"allowed_tools",mode:o.allowed_tools.mode,tools:o.allowed_tools.tools};if(o.type==="custom")return{type:"custom",name:o.custom.name}}})(),text:(()=>{if(t?.text)return t.text;let o=this._getResponseFormat(t?.response_format);return o?.type==="json_schema"?o.json_schema.schema!=null?{format:{type:"json_schema",schema:o.json_schema.schema,description:o.json_schema.description,name:o.json_schema.name,strict:o.json_schema.strict},verbosity:t?.verbosity}:void 0:{format:o,verbosity:t?.verbosity}})(),parallel_tool_calls:t?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},n=this._getReasoningParams(t);return n!==void 0&&(r.reasoning=n),r}async _generate(t,e,r){e.signal?.throwIfAborted();let n=this.invocationParams(e);if(n.stream){let o=this._streamResponseChunks(t,e,r),s;for await(let i of o)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},s=s?.concat(i)??i;return{generations:s?[s]:[],llmOutput:{estimatedTokenUsage:s?.message?.usage_metadata}}}else{let o=await this.completionWithRetry({input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options});return{generations:[{text:o.output_text,message:oi(o)}],llmOutput:{id:o.id,estimatedTokenUsage:o.usage?{promptTokens:o.usage.input_tokens,completionTokens:o.usage.output_tokens,totalTokens:o.usage.total_tokens}:void 0}}}}async*_streamChatModelEvents(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e),o=this.streamUsage??e.streamUsage;yield*wc(async function*(i,a){for await(let u of i){if(a?.aborted)return;yield u}}(n,e.signal),{streamUsage:o??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:os({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);try{for await(let o of n){if(e.signal?.aborted)return;let s=Sa(o);s!=null&&(yield s,await r?.handleLLMNewToken(s.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:s}))}}catch(o){throw st(o)}}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n);return this.caller.callWithOptions({maxRetries:r},async()=>{try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,o):await this.client.responses.create(t,o)}catch(s){throw st(s)}})}_reduceChatOpenAITools(t,e){let r=[];for(let n of t)if(Go(n))n.type==="image_generation"&&e?.stream&&(n.partial_images=1),r.push(n);else if(gn(n)){let o=n.metadata.customTool;r.push({type:"custom",name:o.name,description:o.description,format:o.format})}else if(li(n)){let o={};for(let[s,i]of Object.entries(n))s!=="type"&&s!=="function"&&(o[s]=i);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:e?.strict??null,...o})}else pa(n)&&r.push(qf(n));return r}};var ka=class sm extends Pn{useResponsesApi=!1;responses;completions;get lc_serializable_keys(){return[...super.lc_serializable_keys,"useResponsesApi"]}get callKeys(){return[...super.callKeys,"useResponsesApi"]}fields;constructor(e,r){let n=rs(e,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new va(n),this.completions=n?.completions??new Oa(n)}_useResponsesApi(e){let r=e?.tools?.some(Go),n=e?.previous_response_id!=null||e?.text!=null||e?.truncation!=null||e?.include!=null||e?.reasoning?.summary!=null||this.reasoning?.summary!=null,o=e?.tools?.some(pa)||e?.tools?.some(gn);return this.useResponsesApi||r||n||o||$f(this.model)}getLsParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(e,r,n){return this._useResponsesApi(r)?this.responses._generate(e,r,n):this.completions._generate(e,r,n)}async*_streamChatModelEvents(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamChatModelEvents(e,this._combineCallOptions(r),n);return}yield*this.completions._streamChatModelEvents(e,this._combineCallOptions(r),n)}async*_streamResponseChunks(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(r),n);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(r),n)}withConfig(e){let r=new sm(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var KA=E.object({type:E.literal("screenshot")}),WA=E.object({type:E.literal("click"),x:E.number(),y:E.number(),button:E.enum(["left","right","wheel","back","forward"]).default("left")}),qA=E.object({type:E.literal("double_click"),x:E.number(),y:E.number(),button:E.enum(["left","right","wheel","back","forward"]).default("left")}),HA=E.object({type:E.literal("drag"),path:E.array(E.object({x:E.number(),y:E.number()}))}),XA=E.object({type:E.literal("keypress"),keys:E.array(E.string())}),ZA=E.object({type:E.literal("move"),x:E.number(),y:E.number()}),JA=E.object({type:E.literal("scroll"),x:E.number(),y:E.number(),scroll_x:E.number(),scroll_y:E.number()}),VA=E.object({type:E.literal("type"),text:E.string()}),GA=E.object({type:E.literal("wait"),duration:E.number().optional()}),YA=E.union([KA,WA,qA,HA,XA,ZA,JA,VA,GA]),QM=E.object({action:YA});var QA=E.object({type:E.literal("exec"),command:E.array(E.string()),env:E.record(E.string(),E.string()).optional(),working_directory:E.string().optional(),timeout_ms:E.number().optional(),user:E.string().optional()}),nD=E.union([QA]);var aD=E.object({commands:E.array(E.string()).describe("Array of shell commands to execute"),timeout_ms:E.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:E.number().optional().describe("Optional maximum number of characters to return from each command")});var eb=E.object({type:E.literal("create_file"),path:E.string(),diff:E.string()}),tb=E.object({type:E.literal("update_file"),path:E.string(),diff:E.string()}),rb=E.object({type:E.literal("delete_file"),path:E.string()}),pD=E.union([eb,tb,rb]);var kz=async(t={})=>{let{modelTier:e="default",config:r}=t,{getChatAIUtilityServiceUrl:n}=await import("./KRORL7QC.js").then(m=>m.default),{createAuthenticatedFetch:o}=await import("./RT26JZP5.js").then(m=>m.default.then(e=>({createAuthenticatedFetch:e}))),s=Hc[e],i=await n(e);return new ka({modelName:s,apiKey:"dummy-key",useResponsesApi:!0,zdrEnabled:!0,configuration:{baseURL:i,fetch:await o({config:r,withCredentials:!0})}})};export{kz as createChatModel};