@arcgis/portal-components 5.1.0-next.99 → 5.1.0

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 (259) hide show
  1. package/README.md +2 -2
  2. package/dist/cdn/3AFLX4RZ.js +31 -0
  3. package/dist/cdn/3XDKOO6K.js +2 -0
  4. package/dist/cdn/4ISLOZQ3.js +2 -0
  5. package/dist/cdn/{TTZBF4KI.js → 563BUCQX.js} +1 -1
  6. package/dist/cdn/{JOYFDD4B.js → 5BPXS3WU.js} +1 -1
  7. package/dist/cdn/65JPRIL4.js +98 -0
  8. package/dist/cdn/6K7GPATC.js +2 -0
  9. package/dist/cdn/6RA33SDH.js +34 -0
  10. package/dist/cdn/7IAAHGM2.js +2 -0
  11. package/dist/cdn/{SOPWLUP4.js → ABRHXRFP.js} +1 -1
  12. package/dist/cdn/BCUEYBNI.js +2 -0
  13. package/dist/cdn/CAQR2NSG.js +4 -0
  14. package/dist/cdn/D42PED2R.js +2 -0
  15. package/dist/cdn/DEHBTA5D.js +2 -0
  16. package/dist/cdn/EZ7YC5N5.js +99 -0
  17. package/dist/cdn/{SEZNHA2J.js → FK7QXBE2.js} +1 -1
  18. package/dist/cdn/IBYY5ORN.js +122 -0
  19. package/dist/cdn/ITFWXO7A.js +49 -0
  20. package/dist/cdn/JWUQZ52F.js +134 -0
  21. package/dist/cdn/KBYWRUKO.js +2 -0
  22. package/dist/cdn/KFH2OM2D.js +2 -0
  23. package/dist/cdn/{GPPEHGUO.js → LVUHKMSB.js} +1 -1
  24. package/dist/cdn/NDKFZPYE.js +2 -0
  25. package/dist/cdn/NX4L2LC2.js +2 -0
  26. package/dist/cdn/OYABHYVF.js +2 -0
  27. package/dist/cdn/{V5ZWDMLE.js → PIZFXU2N.js} +1 -1
  28. package/dist/cdn/QOCYNLQ7.js +71 -0
  29. package/dist/cdn/{ERNT74VA.js → QUYBZ3J7.js} +1 -1
  30. package/dist/cdn/R2XPTETT.js +22 -0
  31. package/dist/cdn/R53CO5LK.js +77 -0
  32. package/dist/cdn/{HQAGVE4P.js → RNRPTWHT.js} +17 -1
  33. package/dist/cdn/{32DRTMS4.js → SFKRR7GW.js} +1 -1
  34. package/dist/cdn/SQ54YADV.js +533 -0
  35. package/dist/cdn/SX4KDMYV.js +69 -0
  36. package/dist/cdn/TKQAFRBM.js +36 -0
  37. package/dist/cdn/TNDL67UN.js +2 -0
  38. package/dist/cdn/{LJUIMVQ2.js → W4RAJWHA.js} +1 -1
  39. package/dist/cdn/WHLL7DNC.js +146 -0
  40. package/dist/cdn/X3LZYQ4U.js +66 -0
  41. package/dist/cdn/XR4PMNYP.js +2 -0
  42. package/dist/cdn/YJK6JAPE.js +422 -0
  43. package/dist/cdn/{5WK4GJK2.js → Z5UVAVHJ.js} +1 -1
  44. package/dist/cdn/{3OTUKLZI.js → ZCL2V7W3.js} +1 -1
  45. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ar.json +1 -1
  46. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.bg.json +1 -1
  47. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.bs.json +1 -1
  48. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ca.json +1 -1
  49. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.cs.json +1 -1
  50. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.da.json +1 -1
  51. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.de.json +1 -1
  52. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.el.json +1 -1
  53. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.en.json +1 -1
  54. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.es.json +1 -1
  55. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.et.json +1 -1
  56. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.fi.json +1 -1
  57. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.fr.json +1 -1
  58. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.he.json +1 -1
  59. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.hr.json +1 -1
  60. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.hu.json +1 -1
  61. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.id.json +1 -1
  62. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.it.json +1 -1
  63. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ja.json +1 -1
  64. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ko.json +1 -1
  65. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.lt.json +1 -1
  66. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.lv.json +1 -1
  67. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.nl.json +1 -1
  68. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.no.json +1 -1
  69. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.pl.json +1 -1
  70. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.pt-BR.json +1 -1
  71. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.pt-PT.json +1 -1
  72. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ro.json +1 -1
  73. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ru.json +1 -1
  74. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sk.json +1 -1
  75. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sl.json +1 -1
  76. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sr.json +1 -1
  77. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sv.json +1 -1
  78. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.th.json +1 -1
  79. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.tr.json +1 -1
  80. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.uk.json +1 -1
  81. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.vi.json +1 -1
  82. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.zh-CN.json +1 -1
  83. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.zh-HK.json +1 -1
  84. package/dist/cdn/assets/portal-ai-assistant/t9n/messages.zh-TW.json +1 -1
  85. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ar.json +1 -0
  86. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.bg.json +1 -0
  87. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.bs.json +1 -0
  88. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ca.json +1 -0
  89. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.cs.json +1 -0
  90. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.da.json +1 -0
  91. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.de.json +1 -0
  92. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.el.json +1 -0
  93. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.en.json +1 -0
  94. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.es.json +1 -0
  95. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.et.json +1 -0
  96. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.fi.json +1 -0
  97. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.fr.json +1 -0
  98. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.he.json +1 -0
  99. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.hr.json +1 -0
  100. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.hu.json +1 -0
  101. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.id.json +1 -0
  102. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.it.json +1 -0
  103. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ja.json +1 -0
  104. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ko.json +1 -0
  105. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.lt.json +1 -0
  106. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.lv.json +1 -0
  107. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.nl.json +1 -0
  108. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.no.json +1 -0
  109. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.pl.json +1 -0
  110. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.pt-BR.json +1 -0
  111. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.pt-PT.json +1 -0
  112. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ro.json +1 -0
  113. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ru.json +1 -0
  114. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sk.json +1 -0
  115. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sl.json +1 -0
  116. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sr.json +1 -0
  117. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sv.json +1 -0
  118. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.th.json +1 -0
  119. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.tr.json +1 -0
  120. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.uk.json +1 -0
  121. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.vi.json +1 -0
  122. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.zh-CN.json +1 -0
  123. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.zh-HK.json +1 -0
  124. package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.zh-TW.json +1 -0
  125. package/dist/cdn/assets/portal-item-type/t9n/messages.ar.json +1 -1
  126. package/dist/cdn/assets/portal-item-type/t9n/messages.bg.json +1 -1
  127. package/dist/cdn/assets/portal-item-type/t9n/messages.bs.json +1 -1
  128. package/dist/cdn/assets/portal-item-type/t9n/messages.ca.json +1 -1
  129. package/dist/cdn/assets/portal-item-type/t9n/messages.cs.json +1 -1
  130. package/dist/cdn/assets/portal-item-type/t9n/messages.da.json +1 -1
  131. package/dist/cdn/assets/portal-item-type/t9n/messages.de.json +1 -1
  132. package/dist/cdn/assets/portal-item-type/t9n/messages.el.json +1 -1
  133. package/dist/cdn/assets/portal-item-type/t9n/messages.es.json +1 -1
  134. package/dist/cdn/assets/portal-item-type/t9n/messages.et.json +1 -1
  135. package/dist/cdn/assets/portal-item-type/t9n/messages.fi.json +1 -1
  136. package/dist/cdn/assets/portal-item-type/t9n/messages.fr.json +1 -1
  137. package/dist/cdn/assets/portal-item-type/t9n/messages.he.json +1 -1
  138. package/dist/cdn/assets/portal-item-type/t9n/messages.hr.json +1 -1
  139. package/dist/cdn/assets/portal-item-type/t9n/messages.hu.json +1 -1
  140. package/dist/cdn/assets/portal-item-type/t9n/messages.id.json +1 -1
  141. package/dist/cdn/assets/portal-item-type/t9n/messages.it.json +1 -1
  142. package/dist/cdn/assets/portal-item-type/t9n/messages.ja.json +1 -1
  143. package/dist/cdn/assets/portal-item-type/t9n/messages.ko.json +1 -1
  144. package/dist/cdn/assets/portal-item-type/t9n/messages.lt.json +1 -1
  145. package/dist/cdn/assets/portal-item-type/t9n/messages.lv.json +1 -1
  146. package/dist/cdn/assets/portal-item-type/t9n/messages.nl.json +1 -1
  147. package/dist/cdn/assets/portal-item-type/t9n/messages.no.json +1 -1
  148. package/dist/cdn/assets/portal-item-type/t9n/messages.pl.json +1 -1
  149. package/dist/cdn/assets/portal-item-type/t9n/messages.pt-BR.json +1 -1
  150. package/dist/cdn/assets/portal-item-type/t9n/messages.pt-PT.json +1 -1
  151. package/dist/cdn/assets/portal-item-type/t9n/messages.ro.json +1 -1
  152. package/dist/cdn/assets/portal-item-type/t9n/messages.ru.json +1 -1
  153. package/dist/cdn/assets/portal-item-type/t9n/messages.sk.json +1 -1
  154. package/dist/cdn/assets/portal-item-type/t9n/messages.sl.json +1 -1
  155. package/dist/cdn/assets/portal-item-type/t9n/messages.sr.json +1 -1
  156. package/dist/cdn/assets/portal-item-type/t9n/messages.sv.json +1 -1
  157. package/dist/cdn/assets/portal-item-type/t9n/messages.th.json +1 -1
  158. package/dist/cdn/assets/portal-item-type/t9n/messages.tr.json +1 -1
  159. package/dist/cdn/assets/portal-item-type/t9n/messages.uk.json +1 -1
  160. package/dist/cdn/assets/portal-item-type/t9n/messages.vi.json +1 -1
  161. package/dist/cdn/assets/portal-item-type/t9n/messages.zh-CN.json +1 -1
  162. package/dist/cdn/assets/portal-item-type/t9n/messages.zh-HK.json +1 -1
  163. package/dist/cdn/assets/portal-item-type/t9n/messages.zh-TW.json +1 -1
  164. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ar.json +1 -1
  165. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.bg.json +1 -1
  166. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.bs.json +1 -1
  167. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ca.json +1 -1
  168. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.cs.json +1 -1
  169. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.da.json +1 -1
  170. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.de.json +1 -1
  171. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.el.json +1 -1
  172. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.en.json +1 -1
  173. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.es.json +1 -1
  174. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.et.json +1 -1
  175. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.fi.json +1 -1
  176. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.fr.json +1 -1
  177. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.he.json +1 -1
  178. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.hr.json +1 -1
  179. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.hu.json +1 -1
  180. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.id.json +1 -1
  181. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.it.json +1 -1
  182. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ja.json +1 -1
  183. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ko.json +1 -1
  184. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.lt.json +1 -1
  185. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.lv.json +1 -1
  186. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.nl.json +1 -1
  187. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.no.json +1 -1
  188. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.pl.json +1 -1
  189. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.pt-BR.json +1 -1
  190. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.pt-PT.json +1 -1
  191. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ro.json +1 -1
  192. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ru.json +1 -1
  193. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.sk.json +1 -1
  194. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.sl.json +1 -1
  195. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.sr.json +1 -1
  196. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.sv.json +1 -1
  197. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.th.json +1 -1
  198. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.tr.json +1 -1
  199. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.uk.json +1 -1
  200. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.vi.json +1 -1
  201. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.zh-CN.json +1 -1
  202. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.zh-HK.json +1 -1
  203. package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.zh-TW.json +1 -1
  204. package/dist/cdn/index.js +1 -1
  205. package/dist/cdn/main.css +1 -1
  206. package/dist/chunks/fieldAddDelete.js +1 -1
  207. package/dist/chunks/functionalities.js +10 -0
  208. package/dist/chunks/groups.js +86 -0
  209. package/dist/chunks/item.js +124 -22
  210. package/dist/chunks/portal.js +48 -8
  211. package/dist/chunks/runtime.js +3 -3
  212. package/dist/chunks/user.js +4 -109
  213. package/dist/chunks/user2.js +113 -0
  214. package/dist/components/arcgis-portal-ai-assistant/agents/types.d.ts +7 -0
  215. package/dist/components/arcgis-portal-ai-assistant/customElement.d.ts +20 -6
  216. package/dist/components/arcgis-portal-ai-assistant/customElement.js +738 -124
  217. package/dist/components/arcgis-portal-ai-assistant/index.js +2 -1
  218. package/dist/components/arcgis-portal-ai-assistant-interrupt/customElement.d.ts +42 -0
  219. package/dist/components/arcgis-portal-ai-assistant-interrupt/customElement.js +51 -0
  220. package/dist/components/arcgis-portal-ai-assistant-interrupt/index.d.ts +1 -0
  221. package/dist/components/arcgis-portal-ai-assistant-interrupt/index.js +6 -0
  222. package/dist/components/arcgis-portal-classification-config/customElement.js +44 -37
  223. package/dist/components/arcgis-portal-item-type/customElement.js +1 -1
  224. package/dist/components/arcgis-portal-mentionable-text-area/customElement.d.ts +2 -1
  225. package/dist/components/arcgis-portal-mentionable-text-area/customElement.js +38 -41
  226. package/dist/components/arcgis-portal-mentionable-text-area/utils.d.ts +7 -0
  227. package/dist/components/arcgis-portal-replacement-item-redirect/customElement.d.ts +3 -3
  228. package/dist/components/arcgis-portal-replacement-item-redirect/customElement.js +131 -63
  229. package/dist/components/arcgis-portal-user-avatar/customElement.js +24 -27
  230. package/dist/components/arcgis-portal-voice-input/customElement.d.ts +1 -1
  231. package/dist/docs/api.json +1 -1
  232. package/dist/docs/docs.json +1 -1
  233. package/dist/docs/vscode.html-custom-data.json +1 -1
  234. package/dist/docs/web-types.json +1 -1
  235. package/dist/index.d.ts +16 -0
  236. package/dist/loader.js +3 -2
  237. package/dist/types/lumina.d.ts +9 -1
  238. package/dist/types/preact.d.ts +10 -1
  239. package/dist/types/react.d.ts +11 -1
  240. package/dist/types/stencil.d.ts +9 -1
  241. package/package.json +12 -10
  242. package/dist/cdn/2UAWM45V.js +0 -2
  243. package/dist/cdn/4XGP5S32.js +0 -2
  244. package/dist/cdn/AMCZ4UZQ.js +0 -2
  245. package/dist/cdn/CVTNZK7F.js +0 -2
  246. package/dist/cdn/DAD7LUKA.js +0 -2
  247. package/dist/cdn/F5QGCGHF.js +0 -2
  248. package/dist/cdn/HGOHRPAD.js +0 -2
  249. package/dist/cdn/IZQBJ5VK.js +0 -2
  250. package/dist/cdn/JFG6QVNF.js +0 -2
  251. package/dist/cdn/LCWXNCUX.js +0 -396
  252. package/dist/cdn/NJMHL2Y7.js +0 -4
  253. package/dist/cdn/OGQ2PD7M.js +0 -2
  254. package/dist/cdn/S2PHM4WZ.js +0 -2
  255. package/dist/cdn/ZAHK6WQT.js +0 -138
  256. package/dist/chunks/item2.js +0 -128
  257. /package/dist/cdn/{3OPKWSWR.js → 34BMNP6G.js} +0 -0
  258. /package/dist/cdn/{JQKWT7SI.js → FPAFR5IL.js} +0 -0
  259. /package/dist/cdn/{N5K4DR3J.js → FPKINYFN.js} +0 -0
@@ -1,138 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import a from"./AMCZ4UZQ.js";import{$ as Hs,C as js,D as xe,E as Ls,F as pn,Fa as G,G as ho,H as go,I as mn,J as U,K as yo,L as P,M as _o,N as Ne,O as dn,P as zs,Q as Us,R as wo,S as fn,T as Fs,U as Bs,V as Mr,W as hn,X as Ws,Xa as In,Y as qs,Ya as An,Z as Ks,Za as Tn,_ as gn,a as cn,aa as tt,b as et,ba as bo,ca as yn,da as S,ea as g,fa as rt,ga as _n,ha as wn,ia as Vs,ja as Js,ka as bn,la as Zs,ma as Mt,na as xo,oa as Gs,pa as Ys,qa as xn,ra as Xs,sa as Qs,ta as Pr,ua as w,va as Io}from"./LCWXNCUX.js";import{a as Ds}from"./V5ZWDMLE.js";import"./32DRTMS4.js";import{G as Sr,H as Er,I as Ns,O as $s,h as Rs,j as fo}from"./NJMHL2Y7.js";import"./CFDTXKJ6.js";export default $arcgis.t(([Bp,El,Wp,X0,eR,{b:ea}])=>{async function Ao(t,e,r){if(r===void 0)throw new Error(["Unable to dispatch a custom event without a parent run id.",'"dispatchCustomEvent" can only be called from within an existing run (e.g.,',"inside a tool or a RunnableLambda).",`
3
-
4
- If you continue to see this error, please import from "@langchain/core/callbacks/dispatch/web"`,"and explicitly pass in a config parameter.",`
5
-
6
- Or, if you are calling this from a custom tool, ensure you're using the "tool" helper constructor as documented here:`,`
7
- |`,`
8
- \u2514-> https://js.langchain.com/docs/how_to/custom_tools#tool-function`,`
9
- `].join(" "));let n=await Bs(r),o=n?.getParentRunId();n!==void 0&&o!==void 0&&await n.handleCustomEvent?.(t,e,o)}var $=w;var Wl={openai:{package:"@langchain/openai",className:"ChatOpenAI"},anthropic:{package:"@langchain/anthropic",className:"ChatAnthropic"},azure_openai:{package:"@langchain/openai",className:"AzureChatOpenAI"},cohere:{package:"@langchain/cohere",className:"ChatCohere"},google:{package:"@langchain/google",className:"ChatGoogle"},"google-vertexai":{package:"@langchain/google-vertexai",className:"ChatVertexAI"},"google-vertexai-web":{package:"@langchain/google-vertexai-web",className:"ChatVertexAI"},"google-genai":{package:"@langchain/google-genai",className:"ChatGoogleGenerativeAI"},ollama:{package:"@langchain/ollama",className:"ChatOllama"},mistralai:{package:"@langchain/mistralai",className:"ChatMistralAI"},mistral:{package:"@langchain/mistralai",className:"ChatMistralAI"},groq:{package:"@langchain/groq",className:"ChatGroq"},bedrock:{package:"@langchain/aws",className:"ChatBedrockConverse"},aws:{package:"@langchain/aws",className:"ChatBedrockConverse"},deepseek:{package:"@langchain/deepseek",className:"ChatDeepSeek"},xai:{package:"@langchain/xai",className:"ChatXAI"},cerebras:{package:"@langchain/cerebras",className:"ChatCerebras"},fireworks:{package:"@langchain/fireworks",className:"ChatFireworks"},together:{package:"@langchain/together-ai",className:"ChatTogetherAI",hasCircularDependency:!0},perplexity:{package:"@langchain/perplexity",className:"ChatPerplexity"}},Rm=Object.keys(Wl);var To=Symbol.for("langgraph-zod");To in globalThis||(globalThis[To]=new WeakSet);function ra(t){let e=globalThis[To];e.has(t)||(Object.defineProperty(t,"langgraph",{get(){let r=this;return{metadata(n){return An(r,{jsonSchemaExtra:n})},reducer(n,o){return An(r,{default:yn(r),reducer:{schema:o,fn:n}})}}}}),e.add(t))}try{ra(g.ZodType.prototype),ra(w.ZodType.prototype)}catch(t){throw new Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.",{cause:t})}var na=class extends qs{constructor(t){super(),this.parent=t,this._map=this.parent._map}add(t,...e){let r=e[0];if(r&&!r?.default){let n=yn(t);n!=null&&(r.default=n)}return super.add(t,...e)}},Vl=new na(In);var du=g.function().args(g.custom(),g.custom(),g.custom()).returns(g.union([g.string(),g.promise(g.string())])),fu=["approve","edit","reject"],hu=g.enum(fu),gu=g.object({allowedDecisions:g.array(hu),description:g.union([g.string(),du]).optional(),argsSchema:g.record(g.any()).optional()}),Ph=g.object({interruptOn:g.record(g.union([g.boolean(),gu])).optional(),descriptionPrefix:g.string().default("Tool execution requires approval")});var bu=`<role>
10
- Context Extraction Assistant
11
- </role>
12
-
13
- <primary_objective>
14
- Your sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.
15
- </primary_objective>
16
-
17
- <objective_information>
18
- You're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.
19
- This context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.
20
- </objective_information>
21
-
22
- <instructions>
23
- The conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.
24
- You want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.
25
- </instructions>
26
-
27
- The user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:
28
-
29
- With all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.
30
- Respond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.
31
-
32
- <messages>
33
- Messages to summarize:
34
- {messages}
35
- </messages>`;var xu=g.function().args(g.array(g.custom())).returns(g.union([g.number(),g.promise(g.number())])),So=g.object({fraction:g.number().gt(0,"Fraction must be greater than 0").max(1,"Fraction must be less than or equal to 1").optional(),tokens:g.number().positive("Tokens must be greater than 0").optional(),messages:g.number().int("Messages must be an integer").positive("Messages must be greater than 0").optional()}).refine(t=>[t.fraction,t.tokens,t.messages].filter(e=>e!==void 0).length>=1,{message:"At least one of fraction, tokens, or messages must be provided"}),ca=g.object({fraction:g.number().min(0,"Messages must be non-negative").max(1,"Fraction must be less than or equal to 1").optional(),tokens:g.number().min(0,"Tokens must be greater than or equal to 0").optional(),messages:g.number().int("Messages must be an integer").min(0,"Messages must be non-negative").optional()}).refine(t=>[t.fraction,t.tokens,t.messages].filter(e=>e!==void 0).length===1,{message:"Exactly one of fraction, tokens, or messages must be provided"}),Zh=g.object({model:g.custom(),trigger:g.union([So,g.array(So)]).optional(),keep:ca.optional(),tokenCounter:xu.optional(),summaryPrompt:g.string().default(bu),trimTokensToSummarize:g.number().optional(),summaryPrefix:g.string().optional(),maxTokensBeforeSummary:g.number().optional(),messagesToKeep:g.number().optional()});var sg=g.object({model:g.string().or(g.instanceof(Vs)).optional(),systemPrompt:g.string().optional(),maxTools:g.number().optional(),alwaysInclude:g.array(g.string()).optional()});var mg=g.object({applyToInput:g.boolean().optional(),applyToOutput:g.boolean().optional(),applyToToolResults:g.boolean().optional()});var yg=g.object({rules:g.record(g.string(),g.instanceof(RegExp).describe("Regular expression pattern to match PII")).optional()});var Iu=["continue","error","end"],Au="continue";var Tu=g.enum(Iu).default(Au);g.object({toolName:g.string().optional(),threadLimit:g.number().optional(),runLimit:g.number().optional(),exitBehavior:Tu});var Sg=g.object({threadToolCallCount:g.record(g.string(),g.number()).default({}),runToolCallCount:g.record(g.string(),g.number()).default({})});var vu=g.enum(["pending","in_progress","completed"]).describe("Status of the todo"),Cu=g.object({content:g.string().describe("Content of the todo item"),status:vu}),jg=g.object({todos:g.array(Cu).default([])});var Bg=g.object({threadLimit:g.number().optional(),runLimit:g.number().optional(),exitBehavior:g.enum(["error","end"]).optional()}),Wg=g.object({threadModelCallCount:g.number().default(0),runModelCallCount:g.number().default(0)});var vn=g.object({maxRetries:g.number().min(0).default(2),retryOn:g.union([g.function().args(g.instanceof(Error)).returns(g.boolean()),g.array(g.custom())]).default(()=>()=>!0),backoffFactor:g.number().min(0).default(2),initialDelayMs:g.number().min(0).default(1e3),maxDelayMs:g.number().min(0).default(6e4),jitter:g.boolean().default(!0)});var oy=g.object({onFailure:g.union([g.literal("error"),g.literal("continue"),g.function().args(g.instanceof(Error)).returns(g.string())]).default("continue")}).merge(vn);var my=g.object({tools:g.array(g.union([g.custom(),g.custom(),g.string()])).optional(),onFailure:g.union([g.literal("error"),g.literal("continue"),g.literal("raise"),g.literal("return_message"),g.function().args(g.instanceof(Error)).returns(g.string())]).default("continue")}).merge(vn);var Ty=g.object({enableCaching:g.boolean().optional(),ttl:g.enum(["5m","1h"]).optional(),minMessagesToCache:g.number().optional(),unsupportedModelBehavior:g.enum(["ignore","warn","raise"]).optional()});function Nr(t,e){return t.lc_error_code=e,t.message=`${t.message}
36
-
37
- Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${e}/
38
- `,t}function v(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 Eo=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return Eo=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 $r(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var Dr=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 A=class extends Error{},W=class t extends A{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 De({message:n,cause:Dr(r)});let s=r?.error;return e===400?new Nt(e,s,n,o):e===401?new $t(e,s,n,o):e===403?new Dt(e,s,n,o):e===404?new jt(e,s,n,o):e===409?new Lt(e,s,n,o):e===422?new zt(e,s,n,o):e===429?new Ut(e,s,n,o):e>=500?new Ft(e,s,n,o):new t(e,s,n,o)}},D=class extends W{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},De=class extends W{constructor({message:e,cause:r}){super(void 0,void 0,e||"Connection error.",void 0),r&&(this.cause=r)}},me=class extends De{constructor({message:e}={}){super({message:e??"Request timed out."})}},Nt=class extends W{},$t=class extends W{},Dt=class extends W{},jt=class extends W{},Lt=class extends W{},zt=class extends W{},Ut=class extends W{},Ft=class extends W{},Bt=class extends A{constructor(){super("Could not parse response content as the length limit was reached")}},Wt=class extends A{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},de=class extends Error{constructor(e){super(e)}};var Du=/^[a-z][a-z0-9+.-]*:/i,pa=t=>Du.test(t),Q=t=>(Q=Array.isArray,Q(t)),Mo=Q;function Po(t){return typeof t!="object"?{}:t??{}}function Ro(t){if(!t)return!0;for(let e in t)return!1;return!0}function ma(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function jr(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}var da=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new A(`${t} must be an integer`);if(e<0)throw new A(`${t} must be a positive integer`);return e};var fa=t=>{try{return JSON.parse(t)}catch{return}};var fe=t=>new Promise(e=>setTimeout(e,t));var je="6.32.0";var _a=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";function ju(){return typeof Deno<"u"&&Deno.build!=null?"deno":typeof EdgeRuntime<"u"?"edge":Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]"?"node":"unknown"}var Lu=()=>{let t=ju();if(t==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":je,"X-Stainless-OS":ga(Deno.build.os),"X-Stainless-Arch":ha(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version=="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":je,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if(t==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":je,"X-Stainless-OS":ga(globalThis.process.platform??"unknown"),"X-Stainless-Arch":ha(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let e=zu();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":je,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":je,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function zu(){if(typeof navigator>"u"||!navigator)return null;let t=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:e,pattern:r}of t){let n=r.exec(navigator.userAgent);if(n){let o=n[1]||0,s=n[2]||0,a=n[3]||0;return{browser:e,version:`${o}.${s}.${a}`}}}return null}var ha=t=>t==="x32"?"x32":t==="x86_64"||t==="x64"?"x64":t==="arm"?"arm":t==="aarch64"||t==="arm64"?"arm64":t?`other:${t}`:"unknown",ga=t=>(t=t.toLowerCase(),t.includes("ios")?"iOS":t==="android"?"Android":t==="darwin"?"MacOS":t==="win32"?"Windows":t==="freebsd"?"FreeBSD":t==="openbsd"?"OpenBSD":t==="linux"?"Linux":t?`Other:${t}`:"Unknown"),ya,wa=()=>ya??(ya=Lu());function ba(){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 No(...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 Cn(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return No({start(){},async pull(r){let{done:n,value:o}=await e.next();n?r.close():r.enqueue(o)},async cancel(){await e.return?.()}})}function $o(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 xa(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 Ia=({headers:t,body:e})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(e)});var Do="RFC3986",jo=t=>String(t),Lo={RFC1738:t=>String(t).replace(/%20/g,"+"),RFC3986:jo},Aa="RFC1738";var On=(t,e)=>(On=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),On(t,e)),he=(()=>{let t=[];for(let e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t})();var zo=1024,Ta=(t,e,r,n,o)=>{if(t.length===0)return t;let s=t;if(typeof t=="symbol"?s=Symbol.prototype.toString.call(t):typeof t!="string"&&(s=String(t)),r==="iso-8859-1")return escape(s).replace(/%u[0-9a-f]{4}/gi,function(i){return"%26%23"+parseInt(i.slice(2),16)+"%3B"});let a="";for(let i=0;i<s.length;i+=zo){let u=s.length>=zo?s.slice(i,i+zo):s,l=[];for(let m=0;m<u.length;++m){let d=u.charCodeAt(m);if(d===45||d===46||d===95||d===126||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||o===Aa&&(d===40||d===41)){l[l.length]=u.charAt(m);continue}if(d<128){l[l.length]=he[d];continue}if(d<2048){l[l.length]=he[192|d>>6]+he[128|d&63];continue}if(d<55296||d>=57344){l[l.length]=he[224|d>>12]+he[128|d>>6&63]+he[128|d&63];continue}m+=1,d=65536+((d&1023)<<10|u.charCodeAt(m)&1023),l[l.length]=he[240|d>>18]+he[128|d>>12&63]+he[128|d>>6&63]+he[128|d&63]}a+=l.join("")}return a};function va(t){return!t||typeof t!="object"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function Uo(t,e){if(Q(t)){let r=[];for(let n=0;n<t.length;n+=1)r.push(e(t[n]));return r}return e(t)}var Oa={brackets(t){return String(t)+"[]"},comma:"comma",indices(t,e){return String(t)+"["+e+"]"},repeat(t){return String(t)}},ka=function(t,e){Array.prototype.push.apply(t,Q(e)?e:[e])},Ca,q={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:Ta,encodeValuesOnly:!1,format:Do,formatter:jo,indices:!1,serializeDate(t){return(Ca??(Ca=Function.prototype.call.bind(Date.prototype.toISOString)))(t)},skipNulls:!1,strictNullHandling:!1};function Bu(t){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"||typeof t=="symbol"||typeof t=="bigint"}var Fo={};function Sa(t,e,r,n,o,s,a,i,u,l,m,d,b,p,I,T,N,h){let _=t,E=h,R=0,H=!1;for(;(E=E.get(Fo))!==void 0&&!H;){let z=E.get(t);if(R+=1,typeof z<"u"){if(z===R)throw new RangeError("Cyclic object value");H=!0}typeof E.get(Fo)>"u"&&(R=0)}if(typeof l=="function"?_=l(e,_):_ instanceof Date?_=b?.(_):r==="comma"&&Q(_)&&(_=Uo(_,function(z){return z instanceof Date?b?.(z):z})),_===null){if(s)return u&&!T?u(e,q.encoder,N,"key",p):e;_=""}if(Bu(_)||va(_)){if(u){let z=T?e:u(e,q.encoder,N,"key",p);return[I?.(z)+"="+I?.(u(_,q.encoder,N,"value",p))]}return[I?.(e)+"="+I?.(String(_))]}let F=[];if(typeof _>"u")return F;let j;if(r==="comma"&&Q(_))T&&u&&(_=Uo(_,u)),j=[{value:_.length>0?_.join(",")||null:void 0}];else if(Q(l))j=l;else{let z=Object.keys(_);j=m?z.sort(m):z}let V=i?String(e).replace(/\./g,"%2E"):String(e),J=n&&Q(_)&&_.length===1?V+"[]":V;if(o&&Q(_)&&_.length===0)return J+"[]";for(let z=0;z<j.length;++z){let B=j[z],Ms=typeof B=="object"&&typeof B.value<"u"?B.value:_[B];if(a&&Ms===null)continue;let mo=d&&i?B.replace(/\./g,"%2E"):B,Ul=Q(_)?typeof r=="function"?r(J,mo):J:J+(d?"."+mo:"["+mo+"]");h.set(t,R);let Ps=new WeakMap;Ps.set(Fo,h),ka(F,Sa(Ms,Ul,r,n,o,s,a,i,r==="comma"&&T&&Q(_)?null:u,l,m,d,b,p,I,T,N,Ps))}return F}function Wu(t=q){if(typeof t.allowEmptyArrays<"u"&&typeof t.allowEmptyArrays!="boolean")throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(typeof t.encodeDotInKeys<"u"&&typeof t.encodeDotInKeys!="boolean")throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(t.encoder!==null&&typeof t.encoder<"u"&&typeof t.encoder!="function")throw new TypeError("Encoder has to be a function.");let e=t.charset||q.charset;if(typeof t.charset<"u"&&t.charset!=="utf-8"&&t.charset!=="iso-8859-1")throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let r=Do;if(typeof t.format<"u"){if(!On(Lo,t.format))throw new TypeError("Unknown format option provided.");r=t.format}let n=Lo[r],o=q.filter;(typeof t.filter=="function"||Q(t.filter))&&(o=t.filter);let s;if(t.arrayFormat&&t.arrayFormat in Oa?s=t.arrayFormat:"indices"in t?s=t.indices?"indices":"repeat":s=q.arrayFormat,"commaRoundTrip"in t&&typeof t.commaRoundTrip!="boolean")throw new TypeError("`commaRoundTrip` must be a boolean, or absent");let a=typeof t.allowDots>"u"?t.encodeDotInKeys?!0:q.allowDots:!!t.allowDots;return{addQueryPrefix:typeof t.addQueryPrefix=="boolean"?t.addQueryPrefix:q.addQueryPrefix,allowDots:a,allowEmptyArrays:typeof t.allowEmptyArrays=="boolean"?!!t.allowEmptyArrays:q.allowEmptyArrays,arrayFormat:s,charset:e,charsetSentinel:typeof t.charsetSentinel=="boolean"?t.charsetSentinel:q.charsetSentinel,commaRoundTrip:!!t.commaRoundTrip,delimiter:typeof t.delimiter>"u"?q.delimiter:t.delimiter,encode:typeof t.encode=="boolean"?t.encode:q.encode,encodeDotInKeys:typeof t.encodeDotInKeys=="boolean"?t.encodeDotInKeys:q.encodeDotInKeys,encoder:typeof t.encoder=="function"?t.encoder:q.encoder,encodeValuesOnly:typeof t.encodeValuesOnly=="boolean"?t.encodeValuesOnly:q.encodeValuesOnly,filter:o,format:r,formatter:n,serializeDate:typeof t.serializeDate=="function"?t.serializeDate:q.serializeDate,skipNulls:typeof t.skipNulls=="boolean"?t.skipNulls:q.skipNulls,sort:typeof t.sort=="function"?t.sort:null,strictNullHandling:typeof t.strictNullHandling=="boolean"?t.strictNullHandling:q.strictNullHandling}}function Ea(t,e={}){let r=t,n=Wu(e),o,s;typeof n.filter=="function"?(s=n.filter,r=s("",r)):Q(n.filter)&&(s=n.filter,o=s);let a=[];if(typeof r!="object"||r===null)return"";let i=Oa[n.arrayFormat],u=i==="comma"&&n.commaRoundTrip;o||(o=Object.keys(r)),n.sort&&o.sort(n.sort);let l=new WeakMap;for(let b=0;b<o.length;++b){let p=o[b];n.skipNulls&&r[p]===null||ka(a,Sa(r[p],p,i,u,n.allowEmptyArrays,n.strictNullHandling,n.skipNulls,n.encodeDotInKeys,n.encode?n.encoder:null,n.filter,n.sort,n.allowDots,n.serializeDate,n.format,n.formatter,n.encodeValuesOnly,n.charset,l))}let m=a.join(n.delimiter),d=n.addQueryPrefix===!0?"?":"";return n.charsetSentinel&&(n.charset==="iso-8859-1"?d+="utf8=%26%2310003%3B&":d+="utf8=%E2%9C%93&"),m.length>0?d+m:""}function Ma(t){return Ea(t,{arrayFormat:"brackets"})}function Na(t){let e=0;for(let o of t)e+=o.length;let r=new Uint8Array(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return r}var Pa;function qt(t){let e;return(Pa??(e=new globalThis.TextEncoder,Pa=e.encode.bind(e)))(t)}var Ra;function Bo(t){let e;return(Ra??(e=new globalThis.TextDecoder,Ra=e.decode.bind(e)))(t)}var re,ne,nt=class{constructor(){re.set(this,void 0),ne.set(this,void 0),v(this,re,new Uint8Array,"f"),v(this,ne,null,"f")}decode(e){if(e==null)return[];let r=e instanceof ArrayBuffer?new Uint8Array(e):typeof e=="string"?qt(e):e;v(this,re,Na([c(this,re,"f"),r]),"f");let n=[],o;for(;(o=Ku(c(this,re,"f"),c(this,ne,"f")))!=null;){if(o.carriage&&c(this,ne,"f")==null){v(this,ne,o.index,"f");continue}if(c(this,ne,"f")!=null&&(o.index!==c(this,ne,"f")+1||o.carriage)){n.push(Bo(c(this,re,"f").subarray(0,c(this,ne,"f")-1))),v(this,re,c(this,re,"f").subarray(c(this,ne,"f")),"f"),v(this,ne,null,"f");continue}let s=c(this,ne,"f")!==null?o.preceding-1:o.preceding,a=Bo(c(this,re,"f").subarray(0,s));n.push(a),v(this,re,c(this,re,"f").subarray(o.index),"f"),v(this,ne,null,"f")}return n}flush(){return c(this,re,"f").length?this.decode(`
39
- `):[]}};re=new WeakMap,ne=new WeakMap;nt.NEWLINE_CHARS=new Set([`
40
- `,"\r"]);nt.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function Ku(t,e){for(let o=e??0;o<t.length;o++){if(t[o]===10)return{preceding:o,index:o+1,carriage:!1};if(t[o]===13)return{preceding:o,index:o+1,carriage:!0}}return null}function $a(t){for(let n=0;n<t.length-1;n++){if(t[n]===10&&t[n+1]===10||t[n]===13&&t[n+1]===13)return n+2;if(t[n]===13&&t[n+1]===10&&n+3<t.length&&t[n+2]===13&&t[n+3]===10)return n+4}return-1}var Sn={off:0,error:200,warn:300,info:400,debug:500},Wo=(t,e,r)=>{if(t){if(ma(Sn,t))return t;L(r).warn(`${e} was set to ${JSON.stringify(t)}, expected one of ${JSON.stringify(Object.keys(Sn))}`)}};function Lr(){}function kn(t,e,r){return!e||Sn[t]>Sn[r]?Lr:e[t].bind(e)}var Hu={error:Lr,warn:Lr,info:Lr,debug:Lr},Da=new WeakMap;function L(t){let e=t.logger,r=t.logLevel??"off";if(!e)return Hu;let n=Da.get(e);if(n&&n[0]===r)return n[1];let o={error:kn("error",e,r),warn:kn("warn",e,r),info:kn("info",e,r),debug:kn("debug",e,r)};return Da.set(e,[r,o]),o}var Ie=t=>(t.options&&(t.options={...t.options},delete t.options.headers),t.headers&&(t.headers=Object.fromEntries((t.headers instanceof Headers?[...t.headers]:Object.entries(t.headers)).map(([e,r])=>[e,e.toLowerCase()==="authorization"||e.toLowerCase()==="cookie"||e.toLowerCase()==="set-cookie"?"***":r]))),"retryOfRequestLogID"in t&&(t.retryOfRequestLogID&&(t.retryOf=t.retryOfRequestLogID),delete t.retryOfRequestLogID),t);var zr,ge=class t{constructor(e,r,n){this.iterator=e,zr.set(this,void 0),this.controller=r,v(this,zr,n,"f")}static fromSSEResponse(e,r,n,o){let s=!1,a=n?L(n):console;async function*i(){if(s)throw new A("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let u=!1;try{for await(let l of Vu(e,r))if(!u){if(l.data.startsWith("[DONE]")){u=!0;continue}if(l.event===null||!l.event.startsWith("thread.")){let m;try{m=JSON.parse(l.data)}catch(d){throw a.error("Could not parse message into JSON:",l.data),a.error("From chunk:",l.raw),d}if(m&&m.error)throw new W(void 0,m.error,void 0,e.headers);yield o?{event:l.event,data:m}:m}else{let m;try{m=JSON.parse(l.data)}catch(d){throw console.error("Could not parse message into JSON:",l.data),console.error("From chunk:",l.raw),d}if(l.event=="error")throw new W(void 0,m.error,m.message,void 0);yield{event:l.event,data:m}}}u=!0}catch(l){if($r(l))return;throw l}finally{u||r.abort()}}return new t(i,r,n)}static fromReadableStream(e,r,n){let o=!1;async function*s(){let i=new nt,u=$o(e);for await(let l of u)for(let m of i.decode(l))yield m;for(let l of i.flush())yield l}async function*a(){if(o)throw new A("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let i=!1;try{for await(let u of s())i||u&&(yield JSON.parse(u));i=!0}catch(u){if($r(u))return;throw u}finally{i||r.abort()}}return new t(a,r,n)}[(zr=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],r=[],n=this.iterator(),o=s=>({next:()=>{if(s.length===0){let a=n.next();e.push(a),r.push(a)}return s.shift()}});return[new t(()=>o(e),this.controller,c(this,zr,"f")),new t(()=>o(r),this.controller,c(this,zr,"f"))]}toReadableStream(){let e=this,r;return No({async start(){r=e[Symbol.asyncIterator]()},async pull(n){try{let{value:o,done:s}=await r.next();if(s)return n.close();let a=qt(JSON.stringify(o)+`
41
- `);n.enqueue(a)}catch(o){n.error(o)}},async cancel(){await r.return?.()}})}};async function*Vu(t,e){if(!t.body)throw e.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative"?new A("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api"):new A("Attempted to iterate over a response with no body");let r=new qo,n=new nt,o=$o(t.body);for await(let s of Ju(o))for(let a of n.decode(s)){let i=r.decode(a);i&&(yield i)}for(let s of n.flush()){let a=r.decode(s);a&&(yield a)}}async function*Ju(t){let e=new Uint8Array;for await(let r of t){if(r==null)continue;let n=r instanceof ArrayBuffer?new Uint8Array(r):typeof r=="string"?qt(r):r,o=new Uint8Array(e.length+n.length);o.set(e),o.set(n,e.length),e=o;let s;for(;(s=$a(e))!==-1;)yield e.slice(0,s),e=e.slice(s)}e.length>0&&(yield e)}var qo=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let s={event:this.event,data:this.data.join(`
42
- `),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],s}if(this.chunks.push(e),e.startsWith(":"))return null;let[r,n,o]=Zu(e,":");return o.startsWith(" ")&&(o=o.substring(1)),r==="event"?this.event=o:r==="data"&&this.data.push(o),null}};function Zu(t,e){let r=t.indexOf(e);return r!==-1?[t.substring(0,r),e,t.substring(r+e.length)]:[t,"",""]}async function En(t,e){let{response:r,requestLogID:n,retryOfRequestLogID:o,startTime:s}=e,a=await(async()=>{if(e.options.stream)return L(t).debug("response",r.status,r.url,r.headers,r.body),e.options.__streamClass?e.options.__streamClass.fromSSEResponse(r,e.controller,t,e.options.__synthesizeEventData):ge.fromSSEResponse(r,e.controller,t,e.options.__synthesizeEventData);if(r.status===204)return null;if(e.options.__binaryResponse)return r;let u=r.headers.get("content-type")?.split(";")[0]?.trim();if(u?.includes("application/json")||u?.endsWith("+json")){if(r.headers.get("content-length")==="0")return;let b=await r.json();return Ko(b,r)}return await r.text()})();return L(t).debug(`[${n}] response parsed`,Ie({retryOfRequestLogID:o,url:r.url,status:r.status,body:a,durationMs:Date.now()-s})),a}function Ko(t,e){return!t||typeof t!="object"||Array.isArray(t)?t:Object.defineProperty(t,"_request_id",{value:e.headers.get("x-request-id"),enumerable:!1})}var Ur,ot=class t extends Promise{constructor(e,r,n=En){super(o=>{o(null)}),this.responsePromise=r,this.parseResponse=n,Ur.set(this,void 0),v(this,Ur,e,"f")}_thenUnwrap(e){return new t(c(this,Ur,"f"),this.responsePromise,async(r,n)=>Ko(e(await this.parseResponse(r,n),n),n.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,r]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:r,request_id:r.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(e=>this.parseResponse(c(this,Ur,"f"),e))),this.parsedPromise}then(e,r){return this.parse().then(e,r)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}};Ur=new WeakMap;var Mn,Fr=class{constructor(e,r,n,o){Mn.set(this,void 0),v(this,Mn,e,"f"),this.options=o,this.response=r,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageRequestOptions()!=null:!1}async getNextPage(){let e=this.nextPageRequestOptions();if(!e)throw new A("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await c(this,Mn,"f").requestAPIList(this.constructor,e)}async*iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async*[(Mn=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let r of e.getPaginatedItems())yield r}},Br=class extends ot{constructor(e,r,n){super(e,r,async(o,s)=>new n(o,s.response,await En(o,s),s.options))}async*[Symbol.asyncIterator](){let e=await this;for await(let r of e)yield r}},ye=class extends Fr{constructor(e,r,n,o){super(e,r,n,o),this.data=n.data||[],this.object=n.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}},k=class extends Fr{constructor(e,r,n,o){super(e,r,n,o),this.data=n.data||[],this.has_more=n.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.getPaginatedItems(),r=e[e.length-1]?.id;return r?{...this.options,query:{...Po(this.options.query),after:r}}:null}},se=class extends Fr{constructor(e,r,n,o){super(e,r,n,o),this.data=n.data||[],this.has_more=n.has_more||!1,this.last_id=n.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return this.has_more===!1?!1:super.hasNextPage()}nextPageRequestOptions(){let e=this.last_id;return e?{...this.options,query:{...Po(this.options.query),after:e}}:null}};var Jo=()=>{if(typeof File>"u"){let{process:t}=globalThis,e=typeof t?.versions?.node=="string"&&parseInt(t.versions.node.split("."))<20;throw new Error("`File` is not defined as a global, which is required for file uploads."+(e?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function Kt(t,e,r){return Jo(),new File(t,e??"unknown_file",r)}function Wr(t){return(typeof t=="object"&&t!==null&&("name"in t&&t.name&&String(t.name)||"url"in t&&t.url&&String(t.url)||"filename"in t&&t.filename&&String(t.filename)||"path"in t&&t.path&&String(t.path))||"").split(/[\\/]/).pop()||void 0}var Pn=t=>t!=null&&typeof t=="object"&&typeof t[Symbol.asyncIterator]=="function",Le=async(t,e)=>Ho(t.body)?{...t,body:await La(t.body,e)}:t,ee=async(t,e)=>({...t,body:await La(t.body,e)}),ja=new WeakMap;function Yu(t){let e=typeof t=="function"?t:t.fetch,r=ja.get(e);if(r)return r;let n=(async()=>{try{let o="Response"in e?e.Response:(await e("data:,")).constructor,s=new FormData;return s.toString()!==await new o(s).text()}catch{return!0}})();return ja.set(e,n),n}var La=async(t,e)=>{if(!await Yu(e))throw new TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let r=new FormData;return await Promise.all(Object.entries(t||{}).map(([n,o])=>Vo(r,n,o))),r},za=t=>t instanceof Blob&&"name"in t,Xu=t=>typeof t=="object"&&t!==null&&(t instanceof Response||Pn(t)||za(t)),Ho=t=>{if(Xu(t))return!0;if(Array.isArray(t))return t.some(Ho);if(t&&typeof t=="object"){for(let e in t)if(Ho(t[e]))return!0}return!1},Vo=async(t,e,r)=>{if(r!==void 0){if(r==null)throw new TypeError(`Received null for "${e}"; to pass null in FormData, you must use the string 'null'`);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")t.append(e,String(r));else if(r instanceof Response)t.append(e,Kt([await r.blob()],Wr(r)));else if(Pn(r))t.append(e,Kt([await new Response(Cn(r)).blob()],Wr(r)));else if(za(r))t.append(e,r,Wr(r));else if(Array.isArray(r))await Promise.all(r.map(n=>Vo(t,e+"[]",n)));else if(typeof r=="object")await Promise.all(Object.entries(r).map(([n,o])=>Vo(t,`${e}[${n}]`,o)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${r} instead`)}};var Ua=t=>t!=null&&typeof t=="object"&&typeof t.size=="number"&&typeof t.type=="string"&&typeof t.text=="function"&&typeof t.slice=="function"&&typeof t.arrayBuffer=="function",Qu=t=>t!=null&&typeof t=="object"&&typeof t.name=="string"&&typeof t.lastModified=="number"&&Ua(t),ec=t=>t!=null&&typeof t=="object"&&typeof t.url=="string"&&typeof t.blob=="function";async function qr(t,e,r){if(Jo(),t=await t,Qu(t))return t instanceof File?t:Kt([await t.arrayBuffer()],t.name);if(ec(t)){let o=await t.blob();return e||(e=new URL(t.url).pathname.split(/[\\/]/).pop()),Kt(await Zo(o),e,r)}let n=await Zo(t);if(e||(e=Wr(t)),!r?.type){let o=n.find(s=>typeof s=="object"&&"type"in s&&s.type);typeof o=="string"&&(r={...r,type:o})}return Kt(n,e,r)}async function Zo(t){let e=[];if(typeof t=="string"||ArrayBuffer.isView(t)||t instanceof ArrayBuffer)e.push(t);else if(Ua(t))e.push(t instanceof Blob?t:await t.arrayBuffer());else if(Pn(t))for await(let r of t)e.push(...await Zo(r));else{let r=t?.constructor?.name;throw new Error(`Unexpected data type: ${typeof t}${r?`; constructor: ${r}`:""}${tc(t)}`)}return e}function tc(t){return typeof t!="object"||t===null?"":`; props: [${Object.getOwnPropertyNames(t).map(r=>`"${r}"`).join(", ")}]`}var y=class{constructor(e){this._client=e}};function Ba(t){return t.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var Fa=Object.freeze(Object.create(null)),nc=(t=Ba)=>function(r,...n){if(r.length===1)return r[0];let o=!1,s=[],a=r.reduce((m,d,b)=>{/[?#]/.test(d)&&(o=!0);let p=n[b],I=(o?encodeURIComponent:t)(""+p);return b!==n.length&&(p==null||typeof p=="object"&&p.toString===Object.getPrototypeOf(Object.getPrototypeOf(p.hasOwnProperty??Fa)??Fa)?.toString)&&(I=p+"",s.push({start:m.length+d.length,length:I.length,error:`Value of type ${Object.prototype.toString.call(p).slice(8,-1)} is not a valid path parameter`})),m+d+(b===n.length?"":I)},""),i=a.split(/[?#]/,1)[0],u=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,l;for(;(l=u.exec(i))!==null;)s.push({start:l.index,length:l[0].length,error:`Value "${l[0]}" can't be safely passed as a path parameter`});if(s.sort((m,d)=>m.start-d.start),s.length>0){let m=0,d=s.reduce((b,p)=>{let I=" ".repeat(p.start-m),T="^".repeat(p.length);return m=p.start+p.length,b+I+T},"");throw new A(`Path parameters result in path with invalid segments:
43
- ${s.map(b=>b.error).join(`
44
- `)}
45
- ${a}
46
- ${d}`)}return a},f=nc(Ba);var st=class extends y{list(e,r={},n){return this._client.getAPIList(f`/chat/completions/${e}/messages`,k,{query:r,...n})}};function Kr(t){return t!==void 0&&"function"in t&&t.function!==void 0}function Wa(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Hr(t){return t?.$brand==="auto-parseable-response-format"}function at(t){return t?.$brand==="auto-parseable-tool"}function qa(t,e){return!e||!Go(e)?{...t,choices:t.choices.map(r=>(Ha(r.message.tool_calls),{...r,message:{...r.message,parsed:null,...r.message.tool_calls?{tool_calls:r.message.tool_calls}:void 0}}))}:Vr(t,e)}function Vr(t,e){let r=t.choices.map(n=>{if(n.finish_reason==="length")throw new Bt;if(n.finish_reason==="content_filter")throw new Wt;return Ha(n.message.tool_calls),{...n,message:{...n.message,...n.message.tool_calls?{tool_calls:n.message.tool_calls?.map(o=>ic(e,o))??void 0}:void 0,parsed:n.message.content&&!n.message.refusal?ac(e,n.message.content):null}}});return{...t,choices:r}}function ac(t,e){return t.response_format?.type!=="json_schema"?null:t.response_format?.type==="json_schema"?"$parseRaw"in t.response_format?t.response_format.$parseRaw(e):JSON.parse(e):null}function ic(t,e){let r=t.tools?.find(n=>Kr(n)&&n.function?.name===e.function.name);return{...e,function:{...e.function,parsed_arguments:at(r)?r.$parseRaw(e.function.arguments):r?.function.strict?JSON.parse(e.function.arguments):null}}}function Ka(t,e){if(!t||!("tools"in t)||!t.tools)return!1;let r=t.tools?.find(n=>Kr(n)&&n.function?.name===e.function.name);return Kr(r)&&(at(r)||r?.function.strict||!1)}function Go(t){return Hr(t.response_format)?!0:t.tools?.some(e=>at(e)||e.type==="function"&&e.function.strict===!0)??!1}function Ha(t){for(let e of t||[])if(e.type!=="function")throw new A(`Currently only \`function\` tool calls are supported; Received \`${e.type}\``)}function Va(t){for(let e of t??[]){if(e.type!=="function")throw new A(`Currently only \`function\` tool types support auto-parsing; Received \`${e.type}\``);if(e.function.strict!==!0)throw new A(`The \`${e.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}}var Ht=t=>t?.role==="assistant",Yo=t=>t?.role==="tool";var Xo,Rn,Nn,Jr,Zr,$n,Gr,Ae,Yr,Dn,jn,Vt,Ja,ze=class{constructor(){Xo.add(this),this.controller=new AbortController,Rn.set(this,void 0),Nn.set(this,()=>{}),Jr.set(this,()=>{}),Zr.set(this,void 0),$n.set(this,()=>{}),Gr.set(this,()=>{}),Ae.set(this,{}),Yr.set(this,!1),Dn.set(this,!1),jn.set(this,!1),Vt.set(this,!1),v(this,Rn,new Promise((e,r)=>{v(this,Nn,e,"f"),v(this,Jr,r,"f")}),"f"),v(this,Zr,new Promise((e,r)=>{v(this,$n,e,"f"),v(this,Gr,r,"f")}),"f"),c(this,Rn,"f").catch(()=>{}),c(this,Zr,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},c(this,Xo,"m",Ja).bind(this))},0)}_connected(){this.ended||(c(this,Nn,"f").call(this),this._emit("connect"))}get ended(){return c(this,Yr,"f")}get errored(){return c(this,Dn,"f")}get aborted(){return c(this,jn,"f")}abort(){this.controller.abort()}on(e,r){return(c(this,Ae,"f")[e]||(c(this,Ae,"f")[e]=[])).push({listener:r}),this}off(e,r){let n=c(this,Ae,"f")[e];if(!n)return this;let o=n.findIndex(s=>s.listener===r);return o>=0&&n.splice(o,1),this}once(e,r){return(c(this,Ae,"f")[e]||(c(this,Ae,"f")[e]=[])).push({listener:r,once:!0}),this}emitted(e){return new Promise((r,n)=>{v(this,Vt,!0,"f"),e!=="error"&&this.once("error",n),this.once(e,r)})}async done(){v(this,Vt,!0,"f"),await c(this,Zr,"f")}_emit(e,...r){if(c(this,Yr,"f"))return;e==="end"&&(v(this,Yr,!0,"f"),c(this,$n,"f").call(this));let n=c(this,Ae,"f")[e];if(n&&(c(this,Ae,"f")[e]=n.filter(o=>!o.once),n.forEach(({listener:o})=>o(...r))),e==="abort"){let o=r[0];!c(this,Vt,"f")&&!n?.length&&Promise.reject(o),c(this,Jr,"f").call(this,o),c(this,Gr,"f").call(this,o),this._emit("end");return}if(e==="error"){let o=r[0];!c(this,Vt,"f")&&!n?.length&&Promise.reject(o),c(this,Jr,"f").call(this,o),c(this,Gr,"f").call(this,o),this._emit("end")}}_emitFinal(){}};Rn=new WeakMap,Nn=new WeakMap,Jr=new WeakMap,Zr=new WeakMap,$n=new WeakMap,Gr=new WeakMap,Ae=new WeakMap,Yr=new WeakMap,Dn=new WeakMap,jn=new WeakMap,Vt=new WeakMap,Xo=new WeakSet,Ja=function(e){if(v(this,Dn,!0,"f"),e instanceof Error&&e.name==="AbortError"&&(e=new D),e instanceof D)return v(this,jn,!0,"f"),this._emit("abort",e);if(e instanceof A)return this._emit("error",e);if(e instanceof Error){let r=new A(e.message);return r.cause=e,this._emit("error",r)}return this._emit("error",new A(String(e)))};function Za(t){return typeof t.parse=="function"}var te,Qo,Ln,es,ts,rs,Ga,Ya,lc=10,Jt=class extends ze{constructor(){super(...arguments),te.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let r=e.choices[0]?.message;return r&&this._addMessage(r),e}_addMessage(e,r=!0){if("content"in e||(e.content=null),this.messages.push(e),r){if(this._emit("message",e),Yo(e)&&e.content)this._emit("functionToolCallResult",e.content);else if(Ht(e)&&e.tool_calls)for(let n of e.tool_calls)n.type==="function"&&this._emit("functionToolCall",n.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new A("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),c(this,te,"m",Qo).call(this)}async finalMessage(){return await this.done(),c(this,te,"m",Ln).call(this)}async finalFunctionToolCall(){return await this.done(),c(this,te,"m",es).call(this)}async finalFunctionToolCallResult(){return await this.done(),c(this,te,"m",ts).call(this)}async totalUsage(){return await this.done(),c(this,te,"m",rs).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let r=c(this,te,"m",Ln).call(this);r&&this._emit("finalMessage",r);let n=c(this,te,"m",Qo).call(this);n&&this._emit("finalContent",n);let o=c(this,te,"m",es).call(this);o&&this._emit("finalFunctionToolCall",o);let s=c(this,te,"m",ts).call(this);s!=null&&this._emit("finalFunctionToolCallResult",s),this._chatCompletions.some(a=>a.usage)&&this._emit("totalUsage",c(this,te,"m",rs).call(this))}async _createChatCompletion(e,r,n){let o=n?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort())),c(this,te,"m",Ga).call(this,r);let s=await e.chat.completions.create({...r,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(Vr(s,r))}async _runChatCompletion(e,r,n){for(let o of r.messages)this._addMessage(o,!1);return await this._createChatCompletion(e,r,n)}async _runTools(e,r,n){let o="tool",{tool_choice:s="auto",stream:a,...i}=r,u=typeof s!="string"&&s.type==="function"&&s?.function?.name,{maxChatCompletions:l=lc}=n||{},m=r.tools.map(p=>{if(at(p)){if(!p.$callback)throw new A("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:p.$callback,name:p.function.name,description:p.function.description||"",parameters:p.function.parameters,parse:p.$parseRaw,strict:!0}}}return p}),d={};for(let p of m)p.type==="function"&&(d[p.function.name||p.function.function.name]=p.function);let b="tools"in r?m.map(p=>p.type==="function"?{type:"function",function:{name:p.function.name||p.function.function.name,parameters:p.function.parameters,description:p.function.description,strict:p.function.strict}}:p):void 0;for(let p of r.messages)this._addMessage(p,!1);for(let p=0;p<l;++p){let T=(await this._createChatCompletion(e,{...i,tool_choice:s,tools:b,messages:[...this.messages]},n)).choices[0]?.message;if(!T)throw new A("missing message in ChatCompletion response");if(!T.tool_calls?.length)return;for(let N of T.tool_calls){if(N.type!=="function")continue;let h=N.id,{name:_,arguments:E}=N.function,R=d[_];if(R){if(u&&u!==_){let V=`Invalid tool_call: ${JSON.stringify(_)}. ${JSON.stringify(u)} requested. Please try again`;this._addMessage({role:o,tool_call_id:h,content:V});continue}}else{let V=`Invalid tool_call: ${JSON.stringify(_)}. Available options are: ${Object.keys(d).map(J=>JSON.stringify(J)).join(", ")}. Please try again`;this._addMessage({role:o,tool_call_id:h,content:V});continue}let H;try{H=Za(R)?await R.parse(E):E}catch(V){let J=V instanceof Error?V.message:String(V);this._addMessage({role:o,tool_call_id:h,content:J});continue}let F=await R.function(H,this),j=c(this,te,"m",Ya).call(this,F);if(this._addMessage({role:o,tool_call_id:h,content:j}),u)return}}}};te=new WeakSet,Qo=function(){return c(this,te,"m",Ln).call(this).content??null},Ln=function(){let e=this.messages.length;for(;e-- >0;){let r=this.messages[e];if(Ht(r))return{...r,content:r.content??null,refusal:r.refusal??null}}throw new A("stream ended without producing a ChatCompletionMessage with role=assistant")},es=function(){for(let e=this.messages.length-1;e>=0;e--){let r=this.messages[e];if(Ht(r)&&r?.tool_calls?.length)return r.tool_calls.filter(n=>n.type==="function").at(-1)?.function}},ts=function(){for(let e=this.messages.length-1;e>=0;e--){let r=this.messages[e];if(Yo(r)&&r.content!=null&&typeof r.content=="string"&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(o=>o.type==="function"&&o.id===r.tool_call_id)))return r.content}},rs=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:r}of this._chatCompletions)r&&(e.completion_tokens+=r.completion_tokens,e.prompt_tokens+=r.prompt_tokens,e.total_tokens+=r.total_tokens);return e},Ga=function(e){if(e.n!=null&&e.n>1)throw new A("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},Ya=function(e){return typeof e=="string"?e:e===void 0?"undefined":JSON.stringify(e)};var Xr=class t extends Jt{static runTools(e,r,n){let o=new t,s={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return o._run(()=>o._runTools(e,r,s)),o}_addMessage(e,r=!0){super._addMessage(e,r),Ht(e)&&e.content&&this._emit("content",e.content)}};var Z={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,SPECIAL:496,ATOM:499,COLLECTION:12,ALL:511},ns=class extends Error{},os=class extends Error{};function uc(t,e=Z.ALL){if(typeof t!="string")throw new TypeError(`expecting str, got ${typeof t}`);if(!t.trim())throw new Error(`${t} is empty`);return cc(t.trim(),e)}var cc=(t,e)=>{let r=t.length,n=0,o=b=>{throw new ns(`${b} at position ${n}`)},s=b=>{throw new os(`${b} at position ${n}`)},a=()=>(d(),n>=r&&o("Unexpected end of input"),t[n]==='"'?i():t[n]==="{"?u():t[n]==="["?l():t.substring(n,n+4)==="null"||Z.NULL&e&&r-n<4&&"null".startsWith(t.substring(n))?(n+=4,null):t.substring(n,n+4)==="true"||Z.BOOL&e&&r-n<4&&"true".startsWith(t.substring(n))?(n+=4,!0):t.substring(n,n+5)==="false"||Z.BOOL&e&&r-n<5&&"false".startsWith(t.substring(n))?(n+=5,!1):t.substring(n,n+8)==="Infinity"||Z.INFINITY&e&&r-n<8&&"Infinity".startsWith(t.substring(n))?(n+=8,1/0):t.substring(n,n+9)==="-Infinity"||Z.MINUS_INFINITY&e&&1<r-n&&r-n<9&&"-Infinity".startsWith(t.substring(n))?(n+=9,-1/0):t.substring(n,n+3)==="NaN"||Z.NAN&e&&r-n<3&&"NaN".startsWith(t.substring(n))?(n+=3,NaN):m()),i=()=>{let b=n,p=!1;for(n++;n<r&&(t[n]!=='"'||p&&t[n-1]==="\\");)p=t[n]==="\\"?!p:!1,n++;if(t.charAt(n)=='"')try{return JSON.parse(t.substring(b,++n-Number(p)))}catch(I){s(String(I))}else if(Z.STR&e)try{return JSON.parse(t.substring(b,n-Number(p))+'"')}catch{return JSON.parse(t.substring(b,t.lastIndexOf("\\"))+'"')}o("Unterminated string literal")},u=()=>{n++,d();let b={};try{for(;t[n]!=="}";){if(d(),n>=r&&Z.OBJ&e)return b;let p=i();d(),n++;try{let I=a();Object.defineProperty(b,p,{value:I,writable:!0,enumerable:!0,configurable:!0})}catch(I){if(Z.OBJ&e)return b;throw I}d(),t[n]===","&&n++}}catch{if(Z.OBJ&e)return b;o("Expected '}' at end of object")}return n++,b},l=()=>{n++;let b=[];try{for(;t[n]!=="]";)b.push(a()),d(),t[n]===","&&n++}catch{if(Z.ARR&e)return b;o("Expected ']' at end of array")}return n++,b},m=()=>{if(n===0){t==="-"&&Z.NUM&e&&o("Not sure what '-' is");try{return JSON.parse(t)}catch(p){if(Z.NUM&e)try{return t[t.length-1]==="."?JSON.parse(t.substring(0,t.lastIndexOf("."))):JSON.parse(t.substring(0,t.lastIndexOf("e")))}catch{}s(String(p))}}let b=n;for(t[n]==="-"&&n++;t[n]&&!",]}".includes(t[n]);)n++;n==r&&!(Z.NUM&e)&&o("Unterminated number literal");try{return JSON.parse(t.substring(b,n))}catch{t.substring(b,n)==="-"&&Z.NUM&e&&o("Not sure what '-' is");try{return JSON.parse(t.substring(b,t.lastIndexOf("e")))}catch(I){s(String(I))}}},d=()=>{for(;n<r&&`
47
- \r `.includes(t[n]);)n++};return a()},ss=t=>uc(t,Z.ALL^Z.NUM);var K,Te,Zt,Ue,as,zn,is,ls,us,Un,cs,Xa,it=class t extends Jt{constructor(e){super(),K.add(this),Te.set(this,void 0),Zt.set(this,void 0),Ue.set(this,void 0),v(this,Te,e,"f"),v(this,Zt,[],"f")}get currentChatCompletionSnapshot(){return c(this,Ue,"f")}static fromReadableStream(e){let r=new t(null);return r._run(()=>r._fromReadableStream(e)),r}static createChatCompletion(e,r,n){let o=new t(r);return o._run(()=>o._runChatCompletion(e,{...r,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),o}async _createChatCompletion(e,r,n){super._createChatCompletion;let o=n?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort())),c(this,K,"m",as).call(this);let s=await e.chat.completions.create({...r,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(let a of s)c(this,K,"m",is).call(this,a);if(s.controller.signal?.aborted)throw new D;return this._addChatCompletion(c(this,K,"m",Un).call(this))}async _fromReadableStream(e,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),c(this,K,"m",as).call(this),this._connected();let o=ge.fromReadableStream(e,this.controller),s;for await(let a of o)s&&s!==a.id&&this._addChatCompletion(c(this,K,"m",Un).call(this)),c(this,K,"m",is).call(this,a),s=a.id;if(o.controller.signal?.aborted)throw new D;return this._addChatCompletion(c(this,K,"m",Un).call(this))}[(Te=new WeakMap,Zt=new WeakMap,Ue=new WeakMap,K=new WeakSet,as=function(){this.ended||v(this,Ue,void 0,"f")},zn=function(r){let n=c(this,Zt,"f")[r.index];return n||(n={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},c(this,Zt,"f")[r.index]=n,n)},is=function(r){if(this.ended)return;let n=c(this,K,"m",Xa).call(this,r);this._emit("chunk",r,n);for(let o of r.choices){let s=n.choices[o.index];o.delta.content!=null&&s.message?.role==="assistant"&&s.message?.content&&(this._emit("content",o.delta.content,s.message.content),this._emit("content.delta",{delta:o.delta.content,snapshot:s.message.content,parsed:s.message.parsed})),o.delta.refusal!=null&&s.message?.role==="assistant"&&s.message?.refusal&&this._emit("refusal.delta",{delta:o.delta.refusal,snapshot:s.message.refusal}),o.logprobs?.content!=null&&s.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:o.logprobs?.content,snapshot:s.logprobs?.content??[]}),o.logprobs?.refusal!=null&&s.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:o.logprobs?.refusal,snapshot:s.logprobs?.refusal??[]});let a=c(this,K,"m",zn).call(this,s);s.finish_reason&&(c(this,K,"m",us).call(this,s),a.current_tool_call_index!=null&&c(this,K,"m",ls).call(this,s,a.current_tool_call_index));for(let i of o.delta.tool_calls??[])a.current_tool_call_index!==i.index&&(c(this,K,"m",us).call(this,s),a.current_tool_call_index!=null&&c(this,K,"m",ls).call(this,s,a.current_tool_call_index)),a.current_tool_call_index=i.index;for(let i of o.delta.tool_calls??[]){let u=s.message.tool_calls?.[i.index];u?.type&&(u?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:u.function?.name,index:i.index,arguments:u.function.arguments,parsed_arguments:u.function.parsed_arguments,arguments_delta:i.function?.arguments??""}):(u?.type,void 0))}}},ls=function(r,n){if(c(this,K,"m",zn).call(this,r).done_tool_calls.has(n))return;let s=r.message.tool_calls?.[n];if(!s)throw new Error("no tool call snapshot");if(!s.type)throw new Error("tool call snapshot missing `type`");if(s.type==="function"){let a=c(this,Te,"f")?.tools?.find(i=>Kr(i)&&i.function.name===s.function.name);this._emit("tool_calls.function.arguments.done",{name:s.function.name,index:n,arguments:s.function.arguments,parsed_arguments:at(a)?a.$parseRaw(s.function.arguments):a?.function.strict?JSON.parse(s.function.arguments):null})}else s.type},us=function(r){let n=c(this,K,"m",zn).call(this,r);if(r.message.content&&!n.content_done){n.content_done=!0;let o=c(this,K,"m",cs).call(this);this._emit("content.done",{content:r.message.content,parsed:o?o.$parseRaw(r.message.content):null})}r.message.refusal&&!n.refusal_done&&(n.refusal_done=!0,this._emit("refusal.done",{refusal:r.message.refusal})),r.logprobs?.content&&!n.logprobs_content_done&&(n.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:r.logprobs.content})),r.logprobs?.refusal&&!n.logprobs_refusal_done&&(n.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:r.logprobs.refusal}))},Un=function(){if(this.ended)throw new A("stream has ended, this shouldn't happen");let r=c(this,Ue,"f");if(!r)throw new A("request ended without sending any chunks");return v(this,Ue,void 0,"f"),v(this,Zt,[],"f"),pc(r,c(this,Te,"f"))},cs=function(){let r=c(this,Te,"f")?.response_format;return Hr(r)?r:null},Xa=function(r){var n,o,s,a;let i=c(this,Ue,"f"),{choices:u,...l}=r;i?Object.assign(i,l):i=v(this,Ue,{...l,choices:[]},"f");for(let{delta:m,finish_reason:d,index:b,logprobs:p=null,...I}of r.choices){let T=i.choices[b];if(T||(T=i.choices[b]={finish_reason:d,index:b,message:{},logprobs:p,...I}),p)if(!T.logprobs)T.logprobs=Object.assign({},p);else{let{content:F,refusal:j,...V}=p;Object.assign(T.logprobs,V),F&&((n=T.logprobs).content??(n.content=[]),T.logprobs.content.push(...F)),j&&((o=T.logprobs).refusal??(o.refusal=[]),T.logprobs.refusal.push(...j))}if(d&&(T.finish_reason=d,c(this,Te,"f")&&Go(c(this,Te,"f")))){if(d==="length")throw new Bt;if(d==="content_filter")throw new Wt}if(Object.assign(T,I),!m)continue;let{content:N,refusal:h,function_call:_,role:E,tool_calls:R,...H}=m;if(Object.assign(T.message,H),h&&(T.message.refusal=(T.message.refusal||"")+h),E&&(T.message.role=E),_&&(T.message.function_call?(_.name&&(T.message.function_call.name=_.name),_.arguments&&((s=T.message.function_call).arguments??(s.arguments=""),T.message.function_call.arguments+=_.arguments)):T.message.function_call=_),N&&(T.message.content=(T.message.content||"")+N,!T.message.refusal&&c(this,K,"m",cs).call(this)&&(T.message.parsed=ss(T.message.content))),R){T.message.tool_calls||(T.message.tool_calls=[]);for(let{index:F,id:j,type:V,function:J,...z}of R){let B=(a=T.message.tool_calls)[F]??(a[F]={});Object.assign(B,z),j&&(B.id=j),V&&(B.type=V),J&&(B.function??(B.function={name:J.name??"",arguments:""})),J?.name&&(B.function.name=J.name),J?.arguments&&(B.function.arguments+=J.arguments,Ka(c(this,Te,"f"),B)&&(B.function.parsed_arguments=ss(B.function.arguments)))}}}return i},Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("chunk",o=>{let s=r.shift();s?s.resolve(o):e.push(o)}),this.on("end",()=>{n=!0;for(let o of r)o.resolve(void 0);r.length=0}),this.on("abort",o=>{n=!0;for(let s of r)s.reject(o);r.length=0}),this.on("error",o=>{n=!0;for(let s of r)s.reject(o);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((s,a)=>r.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new ge(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function pc(t,e){let{id:r,choices:n,created:o,model:s,system_fingerprint:a,...i}=t,u={...i,id:r,choices:n.map(({message:l,finish_reason:m,index:d,logprobs:b,...p})=>{if(!m)throw new A(`missing finish_reason for choice ${d}`);let{content:I=null,function_call:T,tool_calls:N,...h}=l,_=l.role;if(!_)throw new A(`missing role for choice ${d}`);if(T){let{arguments:E,name:R}=T;if(E==null)throw new A(`missing function_call.arguments for choice ${d}`);if(!R)throw new A(`missing function_call.name for choice ${d}`);return{...p,message:{content:I,function_call:{arguments:E,name:R},role:_,refusal:l.refusal??null},finish_reason:m,index:d,logprobs:b}}return N?{...p,index:d,finish_reason:m,logprobs:b,message:{...h,role:_,content:I,refusal:l.refusal??null,tool_calls:N.map((E,R)=>{let{function:H,type:F,id:j,...V}=E,{arguments:J,name:z,...B}=H||{};if(j==null)throw new A(`missing choices[${d}].tool_calls[${R}].id
48
- ${Fn(t)}`);if(F==null)throw new A(`missing choices[${d}].tool_calls[${R}].type
49
- ${Fn(t)}`);if(z==null)throw new A(`missing choices[${d}].tool_calls[${R}].function.name
50
- ${Fn(t)}`);if(J==null)throw new A(`missing choices[${d}].tool_calls[${R}].function.arguments
51
- ${Fn(t)}`);return{...V,id:j,type:F,function:{...B,name:z,arguments:J}}})}}:{...p,message:{...h,content:I,role:_,refusal:l.refusal??null},finish_reason:m,index:d,logprobs:b}}),created:o,model:s,object:"chat.completion",...a?{system_fingerprint:a}:{}};return qa(u,e)}function Fn(t){return JSON.stringify(t)}var Qr=class t extends it{static fromReadableStream(e){let r=new t(null);return r._run(()=>r._fromReadableStream(e)),r}static runTools(e,r,n){let o=new t(r),s={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return o._run(()=>o._runTools(e,r,s)),o}};var ve=class extends y{constructor(){super(...arguments),this.messages=new st(this._client)}create(e,r){return this._client.post("/chat/completions",{body:e,...r,stream:e.stream??!1})}retrieve(e,r){return this._client.get(f`/chat/completions/${e}`,r)}update(e,r,n){return this._client.post(f`/chat/completions/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/chat/completions",k,{query:e,...r})}delete(e,r){return this._client.delete(f`/chat/completions/${e}`,r)}parse(e,r){return Va(e.tools),this._client.chat.completions.create(e,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"chat.completions.parse"}})._thenUnwrap(n=>Vr(n,e))}runTools(e,r){return e.stream?Qr.runTools(this._client,e,r):Xr.runTools(this._client,e,r)}stream(e,r){return it.createChatCompletion(this._client,e,r)}};ve.Messages=st;var Fe=class extends y{constructor(){super(...arguments),this.completions=new ve(this._client)}};Fe.Completions=ve;var Qa=Symbol("brand.privateNullableHeaders");function*dc(t){if(!t)return;if(Qa in t){let{values:n,nulls:o}=t;yield*n.entries();for(let s of o)yield[s,null];return}let e=!1,r;t instanceof Headers?r=t.entries():Mo(t)?r=t:(e=!0,r=Object.entries(t??{}));for(let n of r){let o=n[0];if(typeof o!="string")throw new TypeError("expected header name to be a string");let s=Mo(n[1])?n[1]:[n[1]],a=!1;for(let i of s)i!==void 0&&(e&&!a&&(a=!0,yield[o,null]),yield[o,i])}}var x=t=>{let e=new Headers,r=new Set;for(let n of t){let o=new Set;for(let[s,a]of dc(n)){let i=s.toLowerCase();o.has(i)||(e.delete(s),o.add(i)),a===null?(e.delete(s),r.add(i)):(e.append(s,a),r.delete(i))}}return{[Qa]:!0,values:e,nulls:r}};var Gt=class extends y{create(e,r){return this._client.post("/audio/speech",{body:e,...r,headers:x([{Accept:"application/octet-stream"},r?.headers]),__binaryResponse:!0})}};var Yt=class extends y{create(e,r){return this._client.post("/audio/transcriptions",ee({body:e,...r,stream:e.stream??!1,__metadata:{model:e.model}},this._client))}};var Xt=class extends y{create(e,r){return this._client.post("/audio/translations",ee({body:e,...r,__metadata:{model:e.model}},this._client))}};var _e=class extends y{constructor(){super(...arguments),this.transcriptions=new Yt(this._client),this.translations=new Xt(this._client),this.speech=new Gt(this._client)}};_e.Transcriptions=Yt;_e.Translations=Xt;_e.Speech=Gt;var lt=class extends y{create(e,r){return this._client.post("/batches",{body:e,...r})}retrieve(e,r){return this._client.get(f`/batches/${e}`,r)}list(e={},r){return this._client.getAPIList("/batches",k,{query:e,...r})}cancel(e,r){return this._client.post(f`/batches/${e}/cancel`,r)}};var Qt=class extends y{create(e,r){return this._client.post("/assistants",{body:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(f`/assistants/${e}`,{...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(f`/assistants/${e}`,{body:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},r){return this._client.getAPIList("/assistants",k,{query:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,r){return this._client.delete(f`/assistants/${e}`,{...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var er=class extends y{create(e,r){return this._client.post("/realtime/sessions",{body:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var tr=class extends y{create(e,r){return this._client.post("/realtime/transcription_sessions",{body:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}};var Be=class extends y{constructor(){super(...arguments),this.sessions=new er(this._client),this.transcriptionSessions=new tr(this._client)}};Be.Sessions=er;Be.TranscriptionSessions=tr;var rr=class extends y{create(e,r){return this._client.post("/chatkit/sessions",{body:e,...r,headers:x([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}cancel(e,r){return this._client.post(f`/chatkit/sessions/${e}/cancel`,{...r,headers:x([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}};var nr=class extends y{retrieve(e,r){return this._client.get(f`/chatkit/threads/${e}`,{...r,headers:x([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}list(e={},r){return this._client.getAPIList("/chatkit/threads",se,{query:e,...r,headers:x([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}delete(e,r){return this._client.delete(f`/chatkit/threads/${e}`,{...r,headers:x([{"OpenAI-Beta":"chatkit_beta=v1"},r?.headers])})}listItems(e,r={},n){return this._client.getAPIList(f`/chatkit/threads/${e}/items`,se,{query:r,...n,headers:x([{"OpenAI-Beta":"chatkit_beta=v1"},n?.headers])})}};var We=class extends y{constructor(){super(...arguments),this.sessions=new rr(this._client),this.threads=new nr(this._client)}};We.Sessions=rr;We.Threads=nr;var or=class extends y{create(e,r,n){return this._client.post(f`/threads/${e}/messages`,{body:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{thread_id:o}=r;return this._client.get(f`/threads/${o}/messages/${e}`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{thread_id:o,...s}=r;return this._client.post(f`/threads/${o}/messages/${e}`,{body:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(f`/threads/${e}/messages`,k,{query:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r,n){let{thread_id:o}=r;return this._client.delete(f`/threads/${o}/messages/${e}`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var sr=class extends y{retrieve(e,r,n){let{thread_id:o,run_id:s,...a}=r;return this._client.get(f`/threads/${o}/runs/${s}/steps/${e}`,{query:a,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r,n){let{thread_id:o,...s}=r;return this._client.getAPIList(f`/threads/${o}/runs/${e}/steps`,k,{query:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var ei=t=>{if(typeof Buffer<"u"){let e=Buffer.from(t,"base64");return Array.from(new Float32Array(e.buffer,e.byteOffset,e.length/Float32Array.BYTES_PER_ELEMENT))}else{let e=atob(t),r=e.length,n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=e.charCodeAt(o);return Array.from(new Float32Array(n.buffer))}};var qe=t=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[t]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.(t)?.trim()};var Y,ct,ps,we,Bn,ae,pt,ar,ut,Kn,oe,Wn,qn,rn,en,tn,ti,ri,ni,oi,si,ai,ii,Ce=class extends ze{constructor(){super(...arguments),Y.add(this),ps.set(this,[]),we.set(this,{}),Bn.set(this,{}),ae.set(this,void 0),pt.set(this,void 0),ar.set(this,void 0),ut.set(this,void 0),Kn.set(this,void 0),oe.set(this,void 0),Wn.set(this,void 0),qn.set(this,void 0),rn.set(this,void 0)}[(ps=new WeakMap,we=new WeakMap,Bn=new WeakMap,ae=new WeakMap,pt=new WeakMap,ar=new WeakMap,ut=new WeakMap,Kn=new WeakMap,oe=new WeakMap,Wn=new WeakMap,qn=new WeakMap,rn=new WeakMap,Y=new WeakSet,Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("event",o=>{let s=r.shift();s?s.resolve(o):e.push(o)}),this.on("end",()=>{n=!0;for(let o of r)o.resolve(void 0);r.length=0}),this.on("abort",o=>{n=!0;for(let s of r)s.reject(o);r.length=0}),this.on("error",o=>{n=!0;for(let s of r)s.reject(o);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((s,a)=>r.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let r=new ct;return r._run(()=>r._fromReadableStream(e)),r}async _fromReadableStream(e,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),this._connected();let o=ge.fromReadableStream(e,this.controller);for await(let s of o)c(this,Y,"m",en).call(this,s);if(o.controller.signal?.aborted)throw new D;return this._addRun(c(this,Y,"m",tn).call(this))}toReadableStream(){return new ge(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,r,n,o){let s=new ct;return s._run(()=>s._runToolAssistantStream(e,r,n,{...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"stream"}})),s}async _createToolAssistantStream(e,r,n,o){let s=o?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},i=await e.submitToolOutputs(r,a,{...o,signal:this.controller.signal});this._connected();for await(let u of i)c(this,Y,"m",en).call(this,u);if(i.controller.signal?.aborted)throw new D;return this._addRun(c(this,Y,"m",tn).call(this))}static createThreadAssistantStream(e,r,n){let o=new ct;return o._run(()=>o._threadAssistantStream(e,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),o}static createAssistantStream(e,r,n,o){let s=new ct;return s._run(()=>s._runAssistantStream(e,r,n,{...o,headers:{...o?.headers,"X-Stainless-Helper-Method":"stream"}})),s}currentEvent(){return c(this,Wn,"f")}currentRun(){return c(this,qn,"f")}currentMessageSnapshot(){return c(this,ae,"f")}currentRunStepSnapshot(){return c(this,rn,"f")}async finalRunSteps(){return await this.done(),Object.values(c(this,we,"f"))}async finalMessages(){return await this.done(),Object.values(c(this,Bn,"f"))}async finalRun(){if(await this.done(),!c(this,pt,"f"))throw Error("Final run was not received.");return c(this,pt,"f")}async _createThreadAssistantStream(e,r,n){let o=n?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort()));let s={...r,stream:!0},a=await e.createAndRun(s,{...n,signal:this.controller.signal});this._connected();for await(let i of a)c(this,Y,"m",en).call(this,i);if(a.controller.signal?.aborted)throw new D;return this._addRun(c(this,Y,"m",tn).call(this))}async _createAssistantStream(e,r,n,o){let s=o?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort()));let a={...n,stream:!0},i=await e.create(r,a,{...o,signal:this.controller.signal});this._connected();for await(let u of i)c(this,Y,"m",en).call(this,u);if(i.controller.signal?.aborted)throw new D;return this._addRun(c(this,Y,"m",tn).call(this))}static accumulateDelta(e,r){for(let[n,o]of Object.entries(r)){if(!e.hasOwnProperty(n)){e[n]=o;continue}let s=e[n];if(s==null){e[n]=o;continue}if(n==="index"||n==="type"){e[n]=o;continue}if(typeof s=="string"&&typeof o=="string")s+=o;else if(typeof s=="number"&&typeof o=="number")s+=o;else if(jr(s)&&jr(o))s=this.accumulateDelta(s,o);else if(Array.isArray(s)&&Array.isArray(o)){if(s.every(a=>typeof a=="string"||typeof a=="number")){s.push(...o);continue}for(let a of o){if(!jr(a))throw new Error(`Expected array delta entry to be an object but got: ${a}`);let i=a.index;if(i==null)throw console.error(a),new Error("Expected array delta entry to have an `index` property");if(typeof i!="number")throw new Error(`Expected array delta entry \`index\` property to be a number but got ${i}`);let u=s[i];u==null?s.push(a):s[i]=this.accumulateDelta(u,a)}continue}else throw Error(`Unhandled record type: ${n}, deltaValue: ${o}, accValue: ${s}`);e[n]=s}return e}_addRun(e){return e}async _threadAssistantStream(e,r,n){return await this._createThreadAssistantStream(r,e,n)}async _runAssistantStream(e,r,n,o){return await this._createAssistantStream(r,e,n,o)}async _runToolAssistantStream(e,r,n,o){return await this._createToolAssistantStream(r,e,n,o)}};ct=Ce,en=function(e){if(!this.ended)switch(v(this,Wn,e,"f"),c(this,Y,"m",ni).call(this,e),e.event){case"thread.created":break;case"thread.run.created":case"thread.run.queued":case"thread.run.in_progress":case"thread.run.requires_action":case"thread.run.completed":case"thread.run.incomplete":case"thread.run.failed":case"thread.run.cancelling":case"thread.run.cancelled":case"thread.run.expired":c(this,Y,"m",ii).call(this,e);break;case"thread.run.step.created":case"thread.run.step.in_progress":case"thread.run.step.delta":case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":c(this,Y,"m",ri).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":c(this,Y,"m",ti).call(this,e);break;case"error":throw new Error("Encountered an error event in event processing - errors should be processed earlier");default:}},tn=function(){if(this.ended)throw new A("stream has ended, this shouldn't happen");if(!c(this,pt,"f"))throw Error("Final run has not been received");return c(this,pt,"f")},ti=function(e){let[r,n]=c(this,Y,"m",si).call(this,e,c(this,ae,"f"));v(this,ae,r,"f"),c(this,Bn,"f")[r.id]=r;for(let o of n){let s=r.content[o.index];s?.type=="text"&&this._emit("textCreated",s.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,r),e.data.delta.content)for(let o of e.data.delta.content){if(o.type=="text"&&o.text){let s=o.text,a=r.content[o.index];if(a&&a.type=="text")this._emit("textDelta",s,a.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(o.index!=c(this,ar,"f")){if(c(this,ut,"f"))switch(c(this,ut,"f").type){case"text":this._emit("textDone",c(this,ut,"f").text,c(this,ae,"f"));break;case"image_file":this._emit("imageFileDone",c(this,ut,"f").image_file,c(this,ae,"f"));break}v(this,ar,o.index,"f")}v(this,ut,r.content[o.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(c(this,ar,"f")!==void 0){let o=e.data.content[c(this,ar,"f")];if(o)switch(o.type){case"image_file":this._emit("imageFileDone",o.image_file,c(this,ae,"f"));break;case"text":this._emit("textDone",o.text,c(this,ae,"f"));break}}c(this,ae,"f")&&this._emit("messageDone",e.data),v(this,ae,void 0,"f")}},ri=function(e){let r=c(this,Y,"m",oi).call(this,e);switch(v(this,rn,r,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let n=e.data.delta;if(n.step_details&&n.step_details.type=="tool_calls"&&n.step_details.tool_calls&&r.step_details.type=="tool_calls")for(let s of n.step_details.tool_calls)s.index==c(this,Kn,"f")?this._emit("toolCallDelta",s,r.step_details.tool_calls[s.index]):(c(this,oe,"f")&&this._emit("toolCallDone",c(this,oe,"f")),v(this,Kn,s.index,"f"),v(this,oe,r.step_details.tool_calls[s.index],"f"),c(this,oe,"f")&&this._emit("toolCallCreated",c(this,oe,"f")));this._emit("runStepDelta",e.data.delta,r);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":v(this,rn,void 0,"f"),e.data.step_details.type=="tool_calls"&&c(this,oe,"f")&&(this._emit("toolCallDone",c(this,oe,"f")),v(this,oe,void 0,"f")),this._emit("runStepDone",e.data,r);break;case"thread.run.step.in_progress":break}},ni=function(e){c(this,ps,"f").push(e),this._emit("event",e)},oi=function(e){switch(e.event){case"thread.run.step.created":return c(this,we,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let r=c(this,we,"f")[e.data.id];if(!r)throw Error("Received a RunStepDelta before creation of a snapshot");let n=e.data;if(n.delta){let o=ct.accumulateDelta(r,n.delta);c(this,we,"f")[e.data.id]=o}return c(this,we,"f")[e.data.id];case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":case"thread.run.step.in_progress":c(this,we,"f")[e.data.id]=e.data;break}if(c(this,we,"f")[e.data.id])return c(this,we,"f")[e.data.id];throw new Error("No snapshot available")},si=function(e,r){let n=[];switch(e.event){case"thread.message.created":return[e.data,n];case"thread.message.delta":if(!r)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let o=e.data;if(o.delta.content)for(let s of o.delta.content)if(s.index in r.content){let a=r.content[s.index];r.content[s.index]=c(this,Y,"m",ai).call(this,s,a)}else r.content[s.index]=s,n.push(s);return[r,n];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(r)return[r,n];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},ai=function(e,r){return ct.accumulateDelta(r,e)},ii=function(e){switch(v(this,qn,e.data,"f"),e.event){case"thread.run.created":break;case"thread.run.queued":break;case"thread.run.in_progress":break;case"thread.run.requires_action":case"thread.run.cancelled":case"thread.run.failed":case"thread.run.completed":case"thread.run.expired":case"thread.run.incomplete":v(this,pt,e.data,"f"),c(this,oe,"f")&&(this._emit("toolCallDone",c(this,oe,"f")),v(this,oe,void 0,"f"));break;case"thread.run.cancelling":break}};var mt=class extends y{constructor(){super(...arguments),this.steps=new sr(this._client)}create(e,r,n){let{include:o,...s}=r;return this._client.post(f`/threads/${e}/runs`,{query:{include:o},body:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:r.stream??!1,__synthesizeEventData:!0})}retrieve(e,r,n){let{thread_id:o}=r;return this._client.get(f`/threads/${o}/runs/${e}`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{thread_id:o,...s}=r;return this._client.post(f`/threads/${o}/runs/${e}`,{body:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(f`/threads/${e}/runs`,k,{query:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,r,n){let{thread_id:o}=r;return this._client.post(f`/threads/${o}/runs/${e}/cancel`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let o=await this.create(e,r,n);return await this.poll(o.id,{thread_id:e},n)}createAndStream(e,r,n){return Ce.createAssistantStream(e,this._client.beta.threads.runs,r,n)}async poll(e,r,n){let o=x([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:s,response:a}=await this.retrieve(e,r,{...n,headers:{...n?.headers,...o}}).withResponse();switch(s.status){case"queued":case"in_progress":case"cancelling":let i=5e3;if(n?.pollIntervalMs)i=n.pollIntervalMs;else{let u=a.headers.get("openai-poll-after-ms");if(u){let l=parseInt(u);isNaN(l)||(i=l)}}await fe(i);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return s}}}stream(e,r,n){return Ce.createAssistantStream(e,this._client.beta.threads.runs,r,n)}submitToolOutputs(e,r,n){let{thread_id:o,...s}=r;return this._client.post(f`/threads/${o}/runs/${e}/submit_tool_outputs`,{body:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers]),stream:r.stream??!1,__synthesizeEventData:!0})}async submitToolOutputsAndPoll(e,r,n){let o=await this.submitToolOutputs(e,r,n);return await this.poll(o.id,r,n)}submitToolOutputsStream(e,r,n){return Ce.createToolAssistantStream(e,this._client.beta.threads.runs,r,n)}};mt.Steps=sr;var Ke=class extends y{constructor(){super(...arguments),this.runs=new mt(this._client),this.messages=new or(this._client)}create(e={},r){return this._client.post("/threads",{body:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(f`/threads/${e}`,{...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(f`/threads/${e}`,{body:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r){return this._client.delete(f`/threads/${e}`,{...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}createAndRun(e,r){return this._client.post("/threads/runs",{body:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers]),stream:e.stream??!1,__synthesizeEventData:!0})}async createAndRunPoll(e,r){let n=await this.createAndRun(e,r);return await this.runs.poll(n.id,{thread_id:n.thread_id},r)}createAndRunStream(e,r){return Ce.createThreadAssistantStream(e,this._client.beta.threads,r)}};Ke.Runs=mt;Ke.Messages=or;var ie=class extends y{constructor(){super(...arguments),this.realtime=new Be(this._client),this.chatkit=new We(this._client),this.assistants=new Qt(this._client),this.threads=new Ke(this._client)}};ie.Realtime=Be;ie.ChatKit=We;ie.Assistants=Qt;ie.Threads=Ke;var dt=class extends y{create(e,r){return this._client.post("/completions",{body:e,...r,stream:e.stream??!1})}};var ir=class extends y{retrieve(e,r,n){let{container_id:o}=r;return this._client.get(f`/containers/${o}/files/${e}/content`,{...n,headers:x([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}};var ft=class extends y{constructor(){super(...arguments),this.content=new ir(this._client)}create(e,r,n){return this._client.post(f`/containers/${e}/files`,Le({body:r,...n},this._client))}retrieve(e,r,n){let{container_id:o}=r;return this._client.get(f`/containers/${o}/files/${e}`,n)}list(e,r={},n){return this._client.getAPIList(f`/containers/${e}/files`,k,{query:r,...n})}delete(e,r,n){let{container_id:o}=r;return this._client.delete(f`/containers/${o}/files/${e}`,{...n,headers:x([{Accept:"*/*"},n?.headers])})}};ft.Content=ir;var He=class extends y{constructor(){super(...arguments),this.files=new ft(this._client)}create(e,r){return this._client.post("/containers",{body:e,...r})}retrieve(e,r){return this._client.get(f`/containers/${e}`,r)}list(e={},r){return this._client.getAPIList("/containers",k,{query:e,...r})}delete(e,r){return this._client.delete(f`/containers/${e}`,{...r,headers:x([{Accept:"*/*"},r?.headers])})}};He.Files=ft;var lr=class extends y{create(e,r,n){let{include:o,...s}=r;return this._client.post(f`/conversations/${e}/items`,{query:{include:o},body:s,...n})}retrieve(e,r,n){let{conversation_id:o,...s}=r;return this._client.get(f`/conversations/${o}/items/${e}`,{query:s,...n})}list(e,r={},n){return this._client.getAPIList(f`/conversations/${e}/items`,se,{query:r,...n})}delete(e,r,n){let{conversation_id:o}=r;return this._client.delete(f`/conversations/${o}/items/${e}`,n)}};var Ve=class extends y{constructor(){super(...arguments),this.items=new lr(this._client)}create(e={},r){return this._client.post("/conversations",{body:e,...r})}retrieve(e,r){return this._client.get(f`/conversations/${e}`,r)}update(e,r,n){return this._client.post(f`/conversations/${e}`,{body:r,...n})}delete(e,r){return this._client.delete(f`/conversations/${e}`,r)}};Ve.Items=lr;var ht=class extends y{create(e,r){let n=!!e.encoding_format,o=n?e.encoding_format:"base64";n&&L(this._client).debug("embeddings/user defined encoding_format:",e.encoding_format);let s=this._client.post("/embeddings",{body:{...e,encoding_format:o},...r});return n?s:(L(this._client).debug("embeddings/decoding base64 embeddings from base64"),s._thenUnwrap(a=>(a&&a.data&&a.data.forEach(i=>{let u=i.embedding;i.embedding=ei(u)}),a)))}};var ur=class extends y{retrieve(e,r,n){let{eval_id:o,run_id:s}=r;return this._client.get(f`/evals/${o}/runs/${s}/output_items/${e}`,n)}list(e,r,n){let{eval_id:o,...s}=r;return this._client.getAPIList(f`/evals/${o}/runs/${e}/output_items`,k,{query:s,...n})}};var gt=class extends y{constructor(){super(...arguments),this.outputItems=new ur(this._client)}create(e,r,n){return this._client.post(f`/evals/${e}/runs`,{body:r,...n})}retrieve(e,r,n){let{eval_id:o}=r;return this._client.get(f`/evals/${o}/runs/${e}`,n)}list(e,r={},n){return this._client.getAPIList(f`/evals/${e}/runs`,k,{query:r,...n})}delete(e,r,n){let{eval_id:o}=r;return this._client.delete(f`/evals/${o}/runs/${e}`,n)}cancel(e,r,n){let{eval_id:o}=r;return this._client.post(f`/evals/${o}/runs/${e}`,n)}};gt.OutputItems=ur;var Je=class extends y{constructor(){super(...arguments),this.runs=new gt(this._client)}create(e,r){return this._client.post("/evals",{body:e,...r})}retrieve(e,r){return this._client.get(f`/evals/${e}`,r)}update(e,r,n){return this._client.post(f`/evals/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/evals",k,{query:e,...r})}delete(e,r){return this._client.delete(f`/evals/${e}`,r)}};Je.Runs=gt;var yt=class extends y{create(e,r){return this._client.post("/files",ee({body:e,...r},this._client))}retrieve(e,r){return this._client.get(f`/files/${e}`,r)}list(e={},r){return this._client.getAPIList("/files",k,{query:e,...r})}delete(e,r){return this._client.delete(f`/files/${e}`,r)}content(e,r){return this._client.get(f`/files/${e}/content`,{...r,headers:x([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}async waitForProcessing(e,{pollInterval:r=5e3,maxWait:n=1800*1e3}={}){let o=new Set(["processed","error","deleted"]),s=Date.now(),a=await this.retrieve(e);for(;!a.status||!o.has(a.status);)if(await fe(r),a=await this.retrieve(e),Date.now()-s>n)throw new me({message:`Giving up on waiting for file ${e} to finish processing after ${n} milliseconds.`});return a}};var cr=class extends y{};var pr=class extends y{run(e,r){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...r})}validate(e,r){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...r})}};var _t=class extends y{constructor(){super(...arguments),this.graders=new pr(this._client)}};_t.Graders=pr;var mr=class extends y{create(e,r,n){return this._client.getAPIList(f`/fine_tuning/checkpoints/${e}/permissions`,ye,{body:r,method:"post",...n})}retrieve(e,r={},n){return this._client.get(f`/fine_tuning/checkpoints/${e}/permissions`,{query:r,...n})}list(e,r={},n){return this._client.getAPIList(f`/fine_tuning/checkpoints/${e}/permissions`,se,{query:r,...n})}delete(e,r,n){let{fine_tuned_model_checkpoint:o}=r;return this._client.delete(f`/fine_tuning/checkpoints/${o}/permissions/${e}`,n)}};var wt=class extends y{constructor(){super(...arguments),this.permissions=new mr(this._client)}};wt.Permissions=mr;var dr=class extends y{list(e,r={},n){return this._client.getAPIList(f`/fine_tuning/jobs/${e}/checkpoints`,k,{query:r,...n})}};var bt=class extends y{constructor(){super(...arguments),this.checkpoints=new dr(this._client)}create(e,r){return this._client.post("/fine_tuning/jobs",{body:e,...r})}retrieve(e,r){return this._client.get(f`/fine_tuning/jobs/${e}`,r)}list(e={},r){return this._client.getAPIList("/fine_tuning/jobs",k,{query:e,...r})}cancel(e,r){return this._client.post(f`/fine_tuning/jobs/${e}/cancel`,r)}listEvents(e,r={},n){return this._client.getAPIList(f`/fine_tuning/jobs/${e}/events`,k,{query:r,...n})}pause(e,r){return this._client.post(f`/fine_tuning/jobs/${e}/pause`,r)}resume(e,r){return this._client.post(f`/fine_tuning/jobs/${e}/resume`,r)}};bt.Checkpoints=dr;var le=class extends y{constructor(){super(...arguments),this.methods=new cr(this._client),this.jobs=new bt(this._client),this.checkpoints=new wt(this._client),this.alpha=new _t(this._client)}};le.Methods=cr;le.Jobs=bt;le.Checkpoints=wt;le.Alpha=_t;var fr=class extends y{};var Ze=class extends y{constructor(){super(...arguments),this.graderModels=new fr(this._client)}};Ze.GraderModels=fr;var xt=class extends y{createVariation(e,r){return this._client.post("/images/variations",ee({body:e,...r},this._client))}edit(e,r){return this._client.post("/images/edits",ee({body:e,...r,stream:e.stream??!1},this._client))}generate(e,r){return this._client.post("/images/generations",{body:e,...r,stream:e.stream??!1})}};var It=class extends y{retrieve(e,r){return this._client.get(f`/models/${e}`,r)}list(e){return this._client.getAPIList("/models",ye,e)}delete(e,r){return this._client.delete(f`/models/${e}`,r)}};var At=class extends y{create(e,r){return this._client.post("/moderations",{body:e,...r})}};var hr=class extends y{accept(e,r,n){return this._client.post(f`/realtime/calls/${e}/accept`,{body:r,...n,headers:x([{Accept:"*/*"},n?.headers])})}hangup(e,r){return this._client.post(f`/realtime/calls/${e}/hangup`,{...r,headers:x([{Accept:"*/*"},r?.headers])})}refer(e,r,n){return this._client.post(f`/realtime/calls/${e}/refer`,{body:r,...n,headers:x([{Accept:"*/*"},n?.headers])})}reject(e,r={},n){return this._client.post(f`/realtime/calls/${e}/reject`,{body:r,...n,headers:x([{Accept:"*/*"},n?.headers])})}};var gr=class extends y{create(e,r){return this._client.post("/realtime/client_secrets",{body:e,...r})}};var Oe=class extends y{constructor(){super(...arguments),this.clientSecrets=new gr(this._client),this.calls=new hr(this._client)}};Oe.ClientSecrets=gr;Oe.Calls=hr;function li(t,e){return!e||!qc(e)?{...t,output_parsed:null,output:t.output.map(r=>r.type==="function_call"?{...r,parsed_arguments:null}:r.type==="message"?{...r,content:r.content.map(n=>({...n,parsed:null}))}:r)}:ms(t,e)}function ms(t,e){let r=t.output.map(o=>{if(o.type==="function_call")return{...o,parsed_arguments:Vc(e,o)};if(o.type==="message"){let s=o.content.map(a=>a.type==="output_text"?{...a,parsed:Wc(e,a.text)}:a);return{...o,content:s}}return o}),n=Object.assign({},t,{output:r});return Object.getOwnPropertyDescriptor(t,"output_text")||Hn(n),Object.defineProperty(n,"output_parsed",{enumerable:!0,get(){for(let o of n.output)if(o.type==="message"){for(let s of o.content)if(s.type==="output_text"&&s.parsed!==null)return s.parsed}return null}}),n}function Wc(t,e){return t.text?.format?.type!=="json_schema"?null:"$parseRaw"in t.text?.format?(t.text?.format).$parseRaw(e):JSON.parse(e)}function qc(t){return!!Hr(t.text?.format)}function Kc(t){return t?.$brand==="auto-parseable-tool"}function Hc(t,e){return t.find(r=>r.type==="function"&&r.name===e)}function Vc(t,e){let r=Hc(t.tools??[],e.name);return{...e,...e,parsed_arguments:Kc(r)?r.$parseRaw(e.arguments):r?.strict?JSON.parse(e.arguments):null}}function Hn(t){let e=[];for(let r of t.output)if(r.type==="message")for(let n of r.content)n.type==="output_text"&&e.push(n.text);t.output_text=e.join("")}var yr,Vn,Ge,Jn,ui,ci,pi,mi,Zn=class t extends ze{constructor(e){super(),yr.add(this),Vn.set(this,void 0),Ge.set(this,void 0),Jn.set(this,void 0),v(this,Vn,e,"f")}static createResponse(e,r,n){let o=new t(r);return o._run(()=>o._createOrRetrieveResponse(e,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),o}async _createOrRetrieveResponse(e,r,n){let o=n?.signal;o&&(o.aborted&&this.controller.abort(),o.addEventListener("abort",()=>this.controller.abort())),c(this,yr,"m",ui).call(this);let s,a=null;"response_id"in r?(s=await e.responses.retrieve(r.response_id,{stream:!0},{...n,signal:this.controller.signal,stream:!0}),a=r.starting_after??null):s=await e.responses.create({...r,stream:!0},{...n,signal:this.controller.signal}),this._connected();for await(let i of s)c(this,yr,"m",ci).call(this,i,a);if(s.controller.signal?.aborted)throw new D;return c(this,yr,"m",pi).call(this)}[(Vn=new WeakMap,Ge=new WeakMap,Jn=new WeakMap,yr=new WeakSet,ui=function(){this.ended||v(this,Ge,void 0,"f")},ci=function(r,n){if(this.ended)return;let o=(a,i)=>{(n==null||i.sequence_number>n)&&this._emit(a,i)},s=c(this,yr,"m",mi).call(this,r);switch(o("event",r),r.type){case"response.output_text.delta":{let a=s.output[r.output_index];if(!a)throw new A(`missing output at index ${r.output_index}`);if(a.type==="message"){let i=a.content[r.content_index];if(!i)throw new A(`missing content at index ${r.content_index}`);if(i.type!=="output_text")throw new A(`expected content to be 'output_text', got ${i.type}`);o("response.output_text.delta",{...r,snapshot:i.text})}break}case"response.function_call_arguments.delta":{let a=s.output[r.output_index];if(!a)throw new A(`missing output at index ${r.output_index}`);a.type==="function_call"&&o("response.function_call_arguments.delta",{...r,snapshot:a.arguments});break}default:o(r.type,r);break}},pi=function(){if(this.ended)throw new A("stream has ended, this shouldn't happen");let r=c(this,Ge,"f");if(!r)throw new A("request ended without sending any events");v(this,Ge,void 0,"f");let n=Jc(r,c(this,Vn,"f"));return v(this,Jn,n,"f"),n},mi=function(r){let n=c(this,Ge,"f");if(!n){if(r.type!=="response.created")throw new A(`When snapshot hasn't been set yet, expected 'response.created' event, got ${r.type}`);return n=v(this,Ge,r.response,"f"),n}switch(r.type){case"response.output_item.added":{n.output.push(r.item);break}case"response.content_part.added":{let o=n.output[r.output_index];if(!o)throw new A(`missing output at index ${r.output_index}`);let s=o.type,a=r.part;s==="message"&&a.type!=="reasoning_text"?o.content.push(a):s==="reasoning"&&a.type==="reasoning_text"&&(o.content||(o.content=[]),o.content.push(a));break}case"response.output_text.delta":{let o=n.output[r.output_index];if(!o)throw new A(`missing output at index ${r.output_index}`);if(o.type==="message"){let s=o.content[r.content_index];if(!s)throw new A(`missing content at index ${r.content_index}`);if(s.type!=="output_text")throw new A(`expected content to be 'output_text', got ${s.type}`);s.text+=r.delta}break}case"response.function_call_arguments.delta":{let o=n.output[r.output_index];if(!o)throw new A(`missing output at index ${r.output_index}`);o.type==="function_call"&&(o.arguments+=r.delta);break}case"response.reasoning_text.delta":{let o=n.output[r.output_index];if(!o)throw new A(`missing output at index ${r.output_index}`);if(o.type==="reasoning"){let s=o.content?.[r.content_index];if(!s)throw new A(`missing content at index ${r.content_index}`);if(s.type!=="reasoning_text")throw new A(`expected content to be 'reasoning_text', got ${s.type}`);s.text+=r.delta}break}case"response.completed":{v(this,Ge,r.response,"f");break}}return n},Symbol.asyncIterator)](){let e=[],r=[],n=!1;return this.on("event",o=>{let s=r.shift();s?s.resolve(o):e.push(o)}),this.on("end",()=>{n=!0;for(let o of r)o.resolve(void 0);r.length=0}),this.on("abort",o=>{n=!0;for(let s of r)s.reject(o);r.length=0}),this.on("error",o=>{n=!0;for(let s of r)s.reject(o);r.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise((s,a)=>r.push({resolve:s,reject:a})).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=c(this,Jn,"f");if(!e)throw new A("stream ended without producing a ChatCompletion");return e}};function Jc(t,e){return li(t,e)}var _r=class extends y{list(e,r={},n){return this._client.getAPIList(f`/responses/${e}/input_items`,k,{query:r,...n})}};var wr=class extends y{count(e={},r){return this._client.post("/responses/input_tokens",{body:e,...r})}};var ke=class extends y{constructor(){super(...arguments),this.inputItems=new _r(this._client),this.inputTokens=new wr(this._client)}create(e,r){return this._client.post("/responses",{body:e,...r,stream:e.stream??!1})._thenUnwrap(n=>("object"in n&&n.object==="response"&&Hn(n),n))}retrieve(e,r={},n){return this._client.get(f`/responses/${e}`,{query:r,...n,stream:r?.stream??!1})._thenUnwrap(o=>("object"in o&&o.object==="response"&&Hn(o),o))}delete(e,r){return this._client.delete(f`/responses/${e}`,{...r,headers:x([{Accept:"*/*"},r?.headers])})}parse(e,r){return this._client.responses.create(e,r)._thenUnwrap(n=>ms(n,e))}stream(e,r){return Zn.createResponse(this._client,e,r)}cancel(e,r){return this._client.post(f`/responses/${e}/cancel`,r)}compact(e,r){return this._client.post("/responses/compact",{body:e,...r})}};ke.InputItems=_r;ke.InputTokens=wr;var br=class extends y{retrieve(e,r){return this._client.get(f`/skills/${e}/content`,{...r,headers:x([{Accept:"application/binary"},r?.headers]),__binaryResponse:!0})}};var xr=class extends y{retrieve(e,r,n){let{skill_id:o}=r;return this._client.get(f`/skills/${o}/versions/${e}/content`,{...n,headers:x([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}};var Tt=class extends y{constructor(){super(...arguments),this.content=new xr(this._client)}create(e,r={},n){return this._client.post(f`/skills/${e}/versions`,Le({body:r,...n},this._client))}retrieve(e,r,n){let{skill_id:o}=r;return this._client.get(f`/skills/${o}/versions/${e}`,n)}list(e,r={},n){return this._client.getAPIList(f`/skills/${e}/versions`,k,{query:r,...n})}delete(e,r,n){let{skill_id:o}=r;return this._client.delete(f`/skills/${o}/versions/${e}`,n)}};Tt.Content=xr;var Se=class extends y{constructor(){super(...arguments),this.content=new br(this._client),this.versions=new Tt(this._client)}create(e={},r){return this._client.post("/skills",Le({body:e,...r},this._client))}retrieve(e,r){return this._client.get(f`/skills/${e}`,r)}update(e,r,n){return this._client.post(f`/skills/${e}`,{body:r,...n})}list(e={},r){return this._client.getAPIList("/skills",k,{query:e,...r})}delete(e,r){return this._client.delete(f`/skills/${e}`,r)}};Se.Content=br;Se.Versions=Tt;var Ir=class extends y{create(e,r,n){return this._client.post(f`/uploads/${e}/parts`,ee({body:r,...n},this._client))}};var Ye=class extends y{constructor(){super(...arguments),this.parts=new Ir(this._client)}create(e,r){return this._client.post("/uploads",{body:e,...r})}cancel(e,r){return this._client.post(f`/uploads/${e}/cancel`,r)}complete(e,r,n){return this._client.post(f`/uploads/${e}/complete`,{body:r,...n})}};Ye.Parts=Ir;var di=async t=>{let e=await Promise.allSettled(t),r=e.filter(o=>o.status==="rejected");if(r.length){for(let o of r)console.error(o.reason);throw new Error(`${r.length} promise(s) failed - see the above errors`)}let n=[];for(let o of e)o.status==="fulfilled"&&n.push(o.value);return n};var Ar=class extends y{create(e,r,n){return this._client.post(f`/vector_stores/${e}/file_batches`,{body:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{vector_store_id:o}=r;return this._client.get(f`/vector_stores/${o}/file_batches/${e}`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}cancel(e,r,n){let{vector_store_id:o}=r;return this._client.post(f`/vector_stores/${o}/file_batches/${e}/cancel`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let o=await this.create(e,r);return await this.poll(e,o.id,n)}listFiles(e,r,n){let{vector_store_id:o,...s}=r;return this._client.getAPIList(f`/vector_stores/${o}/file_batches/${e}/files`,k,{query:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async poll(e,r,n){let o=x([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:s,response:a}=await this.retrieve(r,{vector_store_id:e},{...n,headers:o}).withResponse();switch(s.status){case"in_progress":let i=5e3;if(n?.pollIntervalMs)i=n.pollIntervalMs;else{let u=a.headers.get("openai-poll-after-ms");if(u){let l=parseInt(u);isNaN(l)||(i=l)}}await fe(i);break;case"failed":case"cancelled":case"completed":return s}}}async uploadAndPoll(e,{files:r,fileIds:n=[]},o){if(r==null||r.length==0)throw new Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let s=o?.maxConcurrency??5,a=Math.min(s,r.length),i=this._client,u=r.values(),l=[...n];async function m(b){for(let p of b){let I=await i.files.create({file:p,purpose:"assistants"},o);l.push(I.id)}}let d=Array(a).fill(u).map(m);return await di(d),await this.createAndPoll(e,{file_ids:l})}};var Tr=class extends y{create(e,r,n){return this._client.post(f`/vector_stores/${e}/files`,{body:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}retrieve(e,r,n){let{vector_store_id:o}=r;return this._client.get(f`/vector_stores/${o}/files/${e}`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}update(e,r,n){let{vector_store_id:o,...s}=r;return this._client.post(f`/vector_stores/${o}/files/${e}`,{body:s,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e,r={},n){return this._client.getAPIList(f`/vector_stores/${e}/files`,k,{query:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}delete(e,r,n){let{vector_store_id:o}=r;return this._client.delete(f`/vector_stores/${o}/files/${e}`,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}async createAndPoll(e,r,n){let o=await this.create(e,r,n);return await this.poll(e,o.id,n)}async poll(e,r,n){let o=x([n?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":n?.pollIntervalMs?.toString()??void 0}]);for(;;){let s=await this.retrieve(r,{vector_store_id:e},{...n,headers:o}).withResponse(),a=s.data;switch(a.status){case"in_progress":let i=5e3;if(n?.pollIntervalMs)i=n.pollIntervalMs;else{let u=s.response.headers.get("openai-poll-after-ms");if(u){let l=parseInt(u);isNaN(l)||(i=l)}}await fe(i);break;case"failed":case"completed":return a}}}async upload(e,r,n){let o=await this._client.files.create({file:r,purpose:"assistants"},n);return this.create(e,{file_id:o.id},n)}async uploadAndPoll(e,r,n){let o=await this.upload(e,r,n);return await this.poll(e,o.id,n)}content(e,r,n){let{vector_store_id:o}=r;return this._client.getAPIList(f`/vector_stores/${o}/files/${e}/content`,ye,{...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};var Ee=class extends y{constructor(){super(...arguments),this.files=new Tr(this._client),this.fileBatches=new Ar(this._client)}create(e,r){return this._client.post("/vector_stores",{body:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}retrieve(e,r){return this._client.get(f`/vector_stores/${e}`,{...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}update(e,r,n){return this._client.post(f`/vector_stores/${e}`,{body:r,...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}list(e={},r){return this._client.getAPIList("/vector_stores",k,{query:e,...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}delete(e,r){return this._client.delete(f`/vector_stores/${e}`,{...r,headers:x([{"OpenAI-Beta":"assistants=v2"},r?.headers])})}search(e,r,n){return this._client.getAPIList(f`/vector_stores/${e}/search`,ye,{body:r,method:"post",...n,headers:x([{"OpenAI-Beta":"assistants=v2"},n?.headers])})}};Ee.Files=Tr;Ee.FileBatches=Ar;var vt=class extends y{create(e,r){return this._client.post("/videos",ee({body:e,...r},this._client))}retrieve(e,r){return this._client.get(f`/videos/${e}`,r)}list(e={},r){return this._client.getAPIList("/videos",se,{query:e,...r})}delete(e,r){return this._client.delete(f`/videos/${e}`,r)}createCharacter(e,r){return this._client.post("/videos/characters",ee({body:e,...r},this._client))}downloadContent(e,r={},n){return this._client.get(f`/videos/${e}/content`,{query:r,...n,headers:x([{Accept:"application/binary"},n?.headers]),__binaryResponse:!0})}edit(e,r){return this._client.post("/videos/edits",ee({body:e,...r},this._client))}extend(e,r){return this._client.post("/videos/extensions",ee({body:e,...r},this._client))}getCharacter(e,r){return this._client.get(f`/videos/characters/${e}`,r)}remix(e,r,n){return this._client.post(f`/videos/${e}/remix`,Le({body:r,...n},this._client))}};var vr,fi,Gn,Ct=class extends y{constructor(){super(...arguments),vr.add(this)}async unwrap(e,r,n=this._client.webhookSecret,o=300){return await this.verifySignature(e,r,n,o),JSON.parse(e)}async verifySignature(e,r,n=this._client.webhookSecret,o=300){if(typeof crypto>"u"||typeof crypto.subtle.importKey!="function"||typeof crypto.subtle.verify!="function")throw new Error("Webhook signature verification is only supported when the `crypto` global is defined");c(this,vr,"m",fi).call(this,n);let s=x([r]).values,a=c(this,vr,"m",Gn).call(this,s,"webhook-signature"),i=c(this,vr,"m",Gn).call(this,s,"webhook-timestamp"),u=c(this,vr,"m",Gn).call(this,s,"webhook-id"),l=parseInt(i,10);if(isNaN(l))throw new de("Invalid webhook timestamp format");let m=Math.floor(Date.now()/1e3);if(m-l>o)throw new de("Webhook timestamp is too old");if(l>m+o)throw new de("Webhook timestamp is too new");let d=a.split(" ").map(T=>T.startsWith("v1,")?T.substring(3):T),b=n.startsWith("whsec_")?Buffer.from(n.replace("whsec_",""),"base64"):Buffer.from(n,"utf-8"),p=u?`${u}.${i}.${e}`:`${i}.${e}`,I=await crypto.subtle.importKey("raw",b,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let T of d)try{let N=Buffer.from(T,"base64");if(await crypto.subtle.verify("HMAC",I,N,new TextEncoder().encode(p)))return}catch{continue}throw new de("The given webhook signature does not match the expected signature")}};vr=new WeakSet,fi=function(e){if(typeof e!="string"||e.length===0)throw new Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},Gn=function(e,r){if(!e)throw new Error("Headers are required");let n=e.get(r);if(n==null)throw new Error(`Missing required header: ${r}`);return n};var ds,fs,Yn,hi,C=class{constructor({baseURL:e=qe("OPENAI_BASE_URL"),apiKey:r=qe("OPENAI_API_KEY"),organization:n=qe("OPENAI_ORG_ID")??null,project:o=qe("OPENAI_PROJECT_ID")??null,webhookSecret:s=qe("OPENAI_WEBHOOK_SECRET")??null,...a}={}){if(ds.add(this),Yn.set(this,void 0),this.completions=new dt(this),this.chat=new Fe(this),this.embeddings=new ht(this),this.files=new yt(this),this.images=new xt(this),this.audio=new _e(this),this.moderations=new At(this),this.models=new It(this),this.fineTuning=new le(this),this.graders=new Ze(this),this.vectorStores=new Ee(this),this.webhooks=new Ct(this),this.beta=new ie(this),this.batches=new lt(this),this.uploads=new Ye(this),this.responses=new ke(this),this.realtime=new Oe(this),this.conversations=new Ve(this),this.evals=new Je(this),this.containers=new He(this),this.skills=new Se(this),this.videos=new vt(this),r===void 0)throw new A("Missing credentials. Please pass an `apiKey`, or set the `OPENAI_API_KEY` environment variable.");let i={apiKey:r,organization:n,project:o,webhookSecret:s,...a,baseURL:e||"https://api.openai.com/v1"};if(!i.dangerouslyAllowBrowser&&_a())throw new A(`It looks like you're running in a browser-like environment.
52
-
53
- This is disabled by default, as it risks exposing your secret API credentials to attackers.
54
- If you understand the risks and have appropriate mitigations in place,
55
- you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
56
-
57
- new OpenAI({ apiKey, dangerouslyAllowBrowser: true });
58
-
59
- https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
60
- `);this.baseURL=i.baseURL,this.timeout=i.timeout??fs.DEFAULT_TIMEOUT,this.logger=i.logger??console;let u="warn";this.logLevel=u,this.logLevel=Wo(i.logLevel,"ClientOptions.logLevel",this)??Wo(qe("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??u,this.fetchOptions=i.fetchOptions,this.maxRetries=i.maxRetries??2,this.fetch=i.fetch??ba(),v(this,Yn,Ia,"f"),this._options=i,this.apiKey=typeof r=="string"?r:"Missing Key",this.organization=n,this.project=o,this.webhookSecret=s}withOptions(e){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret,...e})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:e,nulls:r}){}async authHeaders(e){return x([{Authorization:`Bearer ${this.apiKey}`}])}stringifyQuery(e){return Ma(e)}getUserAgent(){return`${this.constructor.name}/JS ${je}`}defaultIdempotencyKey(){return`stainless-node-retry-${Eo()}`}makeStatusError(e,r,n,o){return W.generate(e,r,n,o)}async _callApiKey(){let e=this._options.apiKey;if(typeof e!="function")return!1;let r;try{r=await e()}catch(n){throw n instanceof A?n:new A(`Failed to get token from 'apiKey' function: ${n.message}`,{cause:n})}if(typeof r!="string"||!r)throw new A(`Expected 'apiKey' function argument to return a string but it returned ${r}`);return this.apiKey=r,!0}buildURL(e,r,n){let o=!c(this,ds,"m",hi).call(this)&&n||this.baseURL,s=pa(e)?new URL(e):new URL(o+(o.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),a=this.defaultQuery(),i=Object.fromEntries(s.searchParams);return(!Ro(a)||!Ro(i))&&(r={...i,...a,...r}),typeof r=="object"&&r&&!Array.isArray(r)&&(s.search=this.stringifyQuery(r)),s.toString()}async prepareOptions(e){await this._callApiKey()}async prepareRequest(e,{url:r,options:n}){}get(e,r){return this.methodRequest("get",e,r)}post(e,r){return this.methodRequest("post",e,r)}patch(e,r){return this.methodRequest("patch",e,r)}put(e,r){return this.methodRequest("put",e,r)}delete(e,r){return this.methodRequest("delete",e,r)}methodRequest(e,r,n){return this.request(Promise.resolve(n).then(o=>({method:e,path:r,...o})))}request(e,r=null){return new ot(this,this.makeRequest(e,r,void 0))}async makeRequest(e,r,n){let o=await e,s=o.maxRetries??this.maxRetries;r==null&&(r=s),await this.prepareOptions(o);let{req:a,url:i,timeout:u}=await this.buildRequest(o,{retryCount:s-r});await this.prepareRequest(a,{url:i,options:o});let l="log_"+(Math.random()*(1<<24)|0).toString(16).padStart(6,"0"),m=n===void 0?"":`, retryOf: ${n}`,d=Date.now();if(L(this).debug(`[${l}] sending request`,Ie({retryOfRequestLogID:n,method:o.method,url:i,options:o,headers:a.headers})),o.signal?.aborted)throw new D;let b=new AbortController,p=await this.fetchWithTimeout(i,a,u,b).catch(Dr),I=Date.now();if(p instanceof globalThis.Error){let h=`retrying, ${r} attempts remaining`;if(o.signal?.aborted)throw new D;let _=$r(p)||/timed? ?out/i.test(String(p)+("cause"in p?String(p.cause):""));if(r)return L(this).info(`[${l}] connection ${_?"timed out":"failed"} - ${h}`),L(this).debug(`[${l}] connection ${_?"timed out":"failed"} (${h})`,Ie({retryOfRequestLogID:n,url:i,durationMs:I-d,message:p.message})),this.retryRequest(o,r,n??l);throw L(this).info(`[${l}] connection ${_?"timed out":"failed"} - error; no more retries left`),L(this).debug(`[${l}] connection ${_?"timed out":"failed"} (error; no more retries left)`,Ie({retryOfRequestLogID:n,url:i,durationMs:I-d,message:p.message})),_?new me:new De({cause:p})}let T=[...p.headers.entries()].filter(([h])=>h==="x-request-id").map(([h,_])=>", "+h+": "+JSON.stringify(_)).join(""),N=`[${l}${m}${T}] ${a.method} ${i} ${p.ok?"succeeded":"failed"} with status ${p.status} in ${I-d}ms`;if(!p.ok){let h=await this.shouldRetry(p);if(r&&h){let j=`retrying, ${r} attempts remaining`;return await xa(p.body),L(this).info(`${N} - ${j}`),L(this).debug(`[${l}] response error (${j})`,Ie({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,durationMs:I-d})),this.retryRequest(o,r,n??l,p.headers)}let _=h?"error; no more retries left":"error; not retryable";L(this).info(`${N} - ${_}`);let E=await p.text().catch(j=>Dr(j).message),R=fa(E),H=R?void 0:E;throw L(this).debug(`[${l}] response error (${_})`,Ie({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,message:H,durationMs:Date.now()-d})),this.makeStatusError(p.status,R,H,p.headers)}return L(this).info(N),L(this).debug(`[${l}] response start`,Ie({retryOfRequestLogID:n,url:p.url,status:p.status,headers:p.headers,durationMs:I-d})),{response:p,options:o,controller:b,requestLogID:l,retryOfRequestLogID:n,startTime:d}}getAPIList(e,r,n){return this.requestAPIList(r,n&&"then"in n?n.then(o=>({method:"get",path:e,...o})):{method:"get",path:e,...n})}requestAPIList(e,r){let n=this.makeRequest(r,null,void 0);return new Br(this,n,e)}async fetchWithTimeout(e,r,n,o){let{signal:s,method:a,...i}=r||{},u=this._makeAbort(o);s&&s.addEventListener("abort",u,{once:!0});let l=setTimeout(u,n),m=globalThis.ReadableStream&&i.body instanceof globalThis.ReadableStream||typeof i.body=="object"&&i.body!==null&&Symbol.asyncIterator in i.body,d={signal:o.signal,...m?{duplex:"half"}:{},method:"GET",...i};a&&(d.method=a.toUpperCase());try{return await this.fetch.call(void 0,e,d)}finally{clearTimeout(l)}}async shouldRetry(e){let r=e.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:e.status===408||e.status===409||e.status===429||e.status>=500}async retryRequest(e,r,n,o){let s,a=o?.get("retry-after-ms");if(a){let u=parseFloat(a);Number.isNaN(u)||(s=u)}let i=o?.get("retry-after");if(i&&!s){let u=parseFloat(i);Number.isNaN(u)?s=Date.parse(i)-Date.now():s=u*1e3}if(s===void 0){let u=e.maxRetries??this.maxRetries;s=this.calculateDefaultRetryTimeoutMillis(r,u)}return await fe(s),this.makeRequest(e,r-1,n)}calculateDefaultRetryTimeoutMillis(e,r){let s=r-e,a=Math.min(.5*Math.pow(2,s),8),i=1-Math.random()*.25;return a*i*1e3}async buildRequest(e,{retryCount:r=0}={}){let n={...e},{method:o,path:s,query:a,defaultBaseURL:i}=n,u=this.buildURL(s,a,i);"timeout"in n&&da("timeout",n.timeout),n.timeout=n.timeout??this.timeout;let{bodyHeaders:l,body:m}=this.buildBody({options:n}),d=await this.buildHeaders({options:e,method:o,bodyHeaders:l,retryCount:r});return{req:{method:o,headers:d,...n.signal&&{signal:n.signal},...globalThis.ReadableStream&&m instanceof globalThis.ReadableStream&&{duplex:"half"},...m&&{body:m},...this.fetchOptions??{},...n.fetchOptions??{}},url:u,timeout:n.timeout}}async buildHeaders({options:e,method:r,bodyHeaders:n,retryCount:o}){let s={};this.idempotencyHeader&&r!=="get"&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=e.idempotencyKey);let a=x([s,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(o),...e.timeout?{"X-Stainless-Timeout":String(Math.trunc(e.timeout/1e3))}:{},...wa(),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},await this.authHeaders(e),this._options.defaultHeaders,n,e.headers]);return this.validateHeaders(a),a.values}_makeAbort(e){return()=>e.abort()}buildBody({options:{body:e,headers:r}}){if(!e)return{bodyHeaders:void 0,body:void 0};let n=x([r]);return ArrayBuffer.isView(e)||e instanceof ArrayBuffer||e instanceof DataView||typeof e=="string"&&n.values.has("content-type")||globalThis.Blob&&e instanceof globalThis.Blob||e instanceof FormData||e instanceof URLSearchParams||globalThis.ReadableStream&&e instanceof globalThis.ReadableStream?{bodyHeaders:void 0,body:e}:typeof e=="object"&&(Symbol.asyncIterator in e||Symbol.iterator in e&&"next"in e&&typeof e.next=="function")?{bodyHeaders:void 0,body:Cn(e)}:typeof e=="object"&&n.values.get("content-type")==="application/x-www-form-urlencoded"?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(e)}:c(this,Yn,"f").call(this,{body:e,headers:n})}};fs=C,Yn=new WeakMap,ds=new WeakSet,hi=function(){return this.baseURL!=="https://api.openai.com/v1"};C.OpenAI=fs;C.DEFAULT_TIMEOUT=6e5;C.OpenAIError=A;C.APIError=W;C.APIConnectionError=De;C.APIConnectionTimeoutError=me;C.APIUserAbortError=D;C.NotFoundError=jt;C.ConflictError=Lt;C.RateLimitError=Ut;C.BadRequestError=Nt;C.AuthenticationError=$t;C.InternalServerError=Ft;C.PermissionDeniedError=Dt;C.UnprocessableEntityError=zt;C.InvalidWebhookSignatureError=de;C.toFile=qr;C.Completions=dt;C.Chat=Fe;C.Embeddings=ht;C.Files=yt;C.Images=xt;C.Audio=_e;C.Moderations=At;C.Models=It;C.FineTuning=le;C.Graders=Ze;C.VectorStores=Ee;C.Webhooks=Ct;C.Beta=ie;C.Batches=lt;C.Uploads=Ye;C.Responses=ke;C.Realtime=Oe;C.Conversations=Ve;C.Evals=Je;C.Containers=He;C.Skills=Se;C.Videos=vt;function op(t){return!!(String(t).includes("context_length_exceeded")||"message"in t&&typeof t.message=="string"&&(t.message.includes("Input tokens exceed the configured limit")||t.message.includes("exceeds the context window")||t.message.includes("maximum context length")))}function be(t){if(!t||typeof t!="object")return t;let e;return t.constructor.name===me.name&&"message"in t&&typeof t.message=="string"?(e=new Error(t.message),e.name="TimeoutError"):t.constructor.name===D.name&&"message"in t&&typeof t.message=="string"?(e=new Error(t.message),e.name="AbortError"):op(t)?e=Ls.fromError(t):"status"in t&&t.status===400&&"message"in t&&typeof t.message=="string"&&t.message.includes("tool_calls")?e=Nr(t,"INVALID_TOOL_RESULTS"):"status"in t&&t.status===401?e=Nr(t,"MODEL_AUTHENTICATION"):"status"in t&&t.status===429?e=Nr(t,"MODEL_RATE_LIMIT"):"status"in t&&t.status===404?e=Nr(t,"MODEL_NOT_FOUND"):e=t,e}var ue=t=>t();function Me(t){return t?!!(/^o\d/.test(t??"")||t.startsWith("gpt-5")&&!t.startsWith("gpt-5-chat")):!1}function sp(t){return t.role!=="system"&&t.role!=="developer"&&t.role!=="assistant"&&t.role!=="user"&&t.role!=="function"&&t.role!=="tool"&&console.warn(`Unknown message role: ${t.role}`),t.role}function gs(t){return t.metadata?.filename??t.metadata?.name??t.metadata?.title}var ap="LC_AUTOGENERATED";function Cr(t){let e=t.metadata?.filename??t.metadata?.name??t.metadata?.title;return e||(console.warn("OpenAI may require a filename for file uploads. Specify a filename in the content block metadata, e.g.: { type: 'file', mimeType: '...', data: '...', metadata: { filename: 'my-file.pdf' } }. Using placeholder filename 'LC_AUTOGENERATED'."),ap)}function Pe(t){let e=t._getType();switch(e){case"system":return"system";case"ai":return"assistant";case"human":return"user";case"function":return"function";case"tool":return"tool";case"generic":if(!dn.isInstance(t))throw new Error("Invalid generic chat message");return sp(t);default:throw new Error(`Unknown message type: ${e}`)}}function gi(t){return!!(t.includes("gpt-5.2-pro")||t.includes("gpt-5.4-pro")||t.includes("codex"))}function Xe(t){let{azureOpenAIApiDeploymentName:e,azureOpenAIApiInstanceName:r,azureOpenAIApiKey:n,azureOpenAIBasePath:o,baseURL:s,azureADTokenProvider:a,azureOpenAIEndpoint:i}=t;if((n||a)&&o&&e)return`${o}/${e}`;if((n||a)&&i&&e)return`${i}/openai/deployments/${e}`;if(n||a){if(!r)throw new Error("azureOpenAIApiInstanceName is required when using azureOpenAIApiKey");if(!e)throw new Error("azureOpenAIApiDeploymentName is a required parameter when using azureOpenAIApiKey");return`https://${r}.openai.azure.com/openai/deployments/${e}`}return s}function ys(t){return typeof Headers<"u"&&t!==null&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Headers]"}function yi(t){let e=ue(()=>{if(ys(t))return t;if(Array.isArray(t))return new Headers(t);if(typeof t=="object"&&t!==null&&"values"in t&&ys(t.values))return t.values;if(typeof t=="object"&&t!==null){let r=Object.entries(t).filter(([,n])=>typeof n=="string").map(([n,o])=>[n,o]);return new Headers(r)}return new Headers});return Object.fromEntries(e.entries())}function _i(){let t=js();return(t==="node"||t==="deno")&&(t=`(${t}/${process.version}; ${process.platform}; ${process.arch})`),t}function Qe(t,e=!1,r="1.0.0"){let n=yi(t),o=_i(),s=`langchainjs${e?"-azure":""}-openai`;return{...n,"User-Agent":n["User-Agent"]?`${s}/${r} (${o})${n["User-Agent"]}`:`${s}/${r} (${o})`}}function wi(t,e){let r;return Pr(t)?r=Io(t):r=t,e?.strict!==void 0&&(r.function.strict=e.strict),r}function ip(t){return t.anyOf!==void 0&&Array.isArray(t.anyOf)}function bi(t){let e=["namespace functions {",""];for(let r of t)r.description&&e.push(`// ${r.description}`),Object.keys(r.parameters.properties??{}).length>0?(e.push(`type ${r.name} = (_: {`),e.push(xi(r.parameters,0)),e.push("}) => any;")):e.push(`type ${r.name} = () => any;`),e.push("");return e.push("} // namespace functions"),e.join(`
61
- `)}function xi(t,e){let r=[];for(let[n,o]of Object.entries(t.properties??{}))o.description&&e<2&&r.push(`// ${o.description}`),t.required?.includes(n)?r.push(`${n}: ${Xn(o,e)},`):r.push(`${n}?: ${Xn(o,e)},`);return r.map(n=>" ".repeat(e)+n).join(`
62
- `)}function Xn(t,e){if(ip(t))return t.anyOf.map(r=>Xn(r,e)).join(" | ");switch(t.type){case"string":return t.enum?t.enum.map(r=>`"${r}"`).join(" | "):"string";case"number":return t.enum?t.enum.map(r=>`${r}`).join(" | "):"number";case"integer":return t.enum?t.enum.map(r=>`${r}`).join(" | "):"number";case"boolean":return"boolean";case"null":return"null";case"object":return["{",xi(t,e+2),"}"].join(`
63
- `);case"array":return t.items?`${Xn(t.items,e)}[]`:"any[]";default:return""}}function Qn(t){if(t)return t==="any"||t==="required"?"required":t==="auto"?"auto":t==="none"?"none":typeof t=="string"?{type:"function",function:{name:t}}:t}function Or(t){return"type"in t&&t.type!=="function"}function Ii(t){return typeof t=="object"&&t!==null&&"extras"in t&&typeof t.extras=="object"&&t.extras!==null&&"providerToolDefinition"in t.extras&&typeof t.extras.providerToolDefinition=="object"&&t.extras.providerToolDefinition!==null}function Ai(t){return t!=null&&typeof t=="object"&&"type"in t&&t.type!=="function"}function Ot(t){return typeof t=="object"&&t!==null&&"metadata"in t&&typeof t.metadata=="object"&&t.metadata!==null&&"customTool"in t.metadata&&typeof t.metadata.customTool=="object"&&t.metadata.customTool!==null}function eo(t){return"type"in t&&t.type==="custom"&&"custom"in t&&typeof t.custom=="object"&&t.custom!==null}function Ti(t){if(t.type==="custom_tool_call")return{...t,type:"tool_call",call_id:t.id,id:t.call_id,name:t.name,isCustomTool:!0,args:{input:t.input}}}function vi(t){if(t.type==="computer_call")return{...t,type:"tool_call",call_id:t.id,id:t.call_id,name:"computer_use",isComputerTool:!0,args:{action:t.action}}}function Ci(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="tool_call"&&"isComputerTool"in t&&t.isComputerTool===!0}function Oi(t){return typeof t=="object"&&t!==null&&"type"in t&&t.type==="tool_call"&&"isCustomTool"in t&&t.isCustomTool===!0}function ki(t){let e=()=>{if(t.custom.format){if(t.custom.format.type==="grammar")return{type:"grammar",definition:t.custom.format.grammar.definition,syntax:t.custom.format.grammar.syntax};if(t.custom.format.type==="text")return{type:"text"}}};return{type:"custom",name:t.custom.name,description:t.custom.description,format:e()}}function Si(t){let e=()=>{if(t.format){if(t.format.type==="grammar")return{type:"grammar",grammar:{definition:t.format.definition,syntax:t.format.syntax}};if(t.format.type==="text")return{type:"text"}}};return{type:"custom",custom:{name:t.name,description:t.description,format:e()}}}var Mi=Symbol("Let zodToJsonSchema decide on which parser to use"),Ei={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"},Pi=t=>typeof t=="string"?{...Ei,basePath:["#"],definitions:{},name:t}:{...Ei,basePath:["#"],definitions:{},...t};var nn=t=>"_def"in t?t._def:t;function Ri(t){if(!t)return!0;for(let e in t)return!1;return!0}var Ni=t=>{let e=Pi(t),r=e.name!==void 0?[...e.basePath,e.definitionPath,e.name]:e.basePath;return{...e,currentPath:r,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[nn(o),{def:nn(o),path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function _s(t,e,r,n){n?.errorMessages&&r&&(t.errorMessage={...t.errorMessage,[e]:r})}function M(t,e,r,n,o){t[e]=r,_s(t,e,n,o)}function $i(){return{}}function Di(t,e){let r={type:"array"};return t.type?._def?.typeName!==S.ZodAny&&(r.items=O(t.type._def,{...e,currentPath:[...e.currentPath,"items"]})),t.minLength&&M(r,"minItems",t.minLength.value,t.minLength.message,e),t.maxLength&&M(r,"maxItems",t.maxLength.value,t.maxLength.message,e),t.exactLength&&(M(r,"minItems",t.exactLength.value,t.exactLength.message,e),M(r,"maxItems",t.exactLength.value,t.exactLength.message,e)),r}function ji(t,e){let r={type:"integer",format:"int64"};if(!t.checks)return r;for(let n of t.checks)switch(n.kind){case"min":e.target==="jsonSchema7"?n.inclusive?M(r,"minimum",n.value,n.message,e):M(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),M(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?M(r,"maximum",n.value,n.message,e):M(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),M(r,"maximum",n.value,n.message,e));break;case"multipleOf":M(r,"multipleOf",n.value,n.message,e);break}return r}function Li(){return{type:"boolean"}}function zi(t,e){return O(t.type._def,e)}var Ui=(t,e)=>O(t.innerType._def,e);function ws(t,e,r){let n=r??e.dateStrategy;if(Array.isArray(n))return{anyOf:n.map((o,s)=>ws(t,e,o))};switch(n){case"string":case"format:date-time":return{type:"string",format:"date-time"};case"format:date":return{type:"string",format:"date"};case"integer":return lp(t,e)}}var lp=(t,e)=>{let r={type:"integer",format:"unix-time"};if(e.target==="openApi3")return r;for(let n of t.checks)switch(n.kind){case"min":M(r,"minimum",n.value,n.message,e);break;case"max":M(r,"maximum",n.value,n.message,e);break}return r};function Fi(t,e){return{...O(t.innerType._def,e),default:t.defaultValue()}}function Bi(t,e,r){return e.effectStrategy==="input"?O(t.schema._def,e,r):{}}function Wi(t){return{type:"string",enum:[...t.values]}}var up=t=>"type"in t&&t.type==="string"?!1:"allOf"in t;function qi(t,e){let r=[O(t.left._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),O(t.right._def,{...e,currentPath:[...e.currentPath,"allOf","1"]})].filter(s=>!!s),n=e.target==="jsonSchema2019-09"?{unevaluatedProperties:!1}:void 0,o=[];return r.forEach(s=>{if(up(s))o.push(...s.allOf),s.unevaluatedProperties===void 0&&(n=void 0);else{let a=s;if("additionalProperties"in s&&s.additionalProperties===!1){let{additionalProperties:i,...u}=s;a=u}else n=void 0;o.push(a)}}),o.length?{allOf:o,...n}:void 0}function Ki(t,e){let r=typeof t.value;return r!=="bigint"&&r!=="number"&&r!=="boolean"&&r!=="string"?{type:Array.isArray(t.value)?"array":"object"}:e.target==="openApi3"?{type:r==="bigint"?"integer":r,enum:[t.value]}:{type:r==="bigint"?"integer":r,const:t.value}}var bs,kt={cuid:/^[cC][^\s-]{8,}$/,cuid2:/^[0-9a-z]+$/,ulid:/^[0-9A-HJKMNP-TV-Z]{26}$/,email:/^(?!\.)(?!.*\.\.)([a-zA-Z0-9_'+\-\.]*)[a-zA-Z0-9_+-]@([a-zA-Z0-9][a-zA-Z0-9\-]*\.)+[a-zA-Z]{2,}$/,emoji:()=>(bs===void 0&&(bs=RegExp("^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$","u")),bs),uuid:/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/,ipv4:/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,ipv6:/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,base64:/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nanoid:/^[a-zA-Z0-9_-]{21}$/};function to(t,e){let r={type:"string"};function n(o){return e.patternStrategy==="escape"?cp(o):o}if(t.checks)for(let o of t.checks)switch(o.kind){case"min":M(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,o.value):o.value,o.message,e);break;case"max":M(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,o.value):o.value,o.message,e);break;case"email":switch(e.emailStrategy){case"format:email":ce(r,"email",o.message,e);break;case"format:idn-email":ce(r,"idn-email",o.message,e);break;case"pattern:zod":pe(r,kt.email,o.message,e);break}break;case"url":ce(r,"uri",o.message,e);break;case"uuid":ce(r,"uuid",o.message,e);break;case"regex":pe(r,o.regex,o.message,e);break;case"cuid":pe(r,kt.cuid,o.message,e);break;case"cuid2":pe(r,kt.cuid2,o.message,e);break;case"startsWith":pe(r,RegExp(`^${n(o.value)}`),o.message,e);break;case"endsWith":pe(r,RegExp(`${n(o.value)}$`),o.message,e);break;case"datetime":ce(r,"date-time",o.message,e);break;case"date":ce(r,"date",o.message,e);break;case"time":ce(r,"time",o.message,e);break;case"duration":ce(r,"duration",o.message,e);break;case"length":M(r,"minLength",typeof r.minLength=="number"?Math.max(r.minLength,o.value):o.value,o.message,e),M(r,"maxLength",typeof r.maxLength=="number"?Math.min(r.maxLength,o.value):o.value,o.message,e);break;case"includes":{pe(r,RegExp(n(o.value)),o.message,e);break}case"ip":{o.version!=="v6"&&ce(r,"ipv4",o.message,e),o.version!=="v4"&&ce(r,"ipv6",o.message,e);break}case"emoji":pe(r,kt.emoji,o.message,e);break;case"ulid":{pe(r,kt.ulid,o.message,e);break}case"base64":{switch(e.base64Strategy){case"format:binary":{ce(r,"binary",o.message,e);break}case"contentEncoding:base64":{M(r,"contentEncoding","base64",o.message,e);break}case"pattern:zod":{pe(r,kt.base64,o.message,e);break}}break}case"nanoid":pe(r,kt.nanoid,o.message,e);case"toLowerCase":case"toUpperCase":case"trim":break;default:}return r}var cp=t=>Array.from(t).map(e=>/[a-zA-Z0-9]/.test(e)?e:`\\${e}`).join(""),ce=(t,e,r,n)=>{t.format||t.anyOf?.some(o=>o.format)?(t.anyOf||(t.anyOf=[]),t.format&&(t.anyOf.push({format:t.format,...t.errorMessage&&n.errorMessages&&{errorMessage:{format:t.errorMessage.format}}}),delete t.format,t.errorMessage&&(delete t.errorMessage.format,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.anyOf.push({format:e,...r&&n.errorMessages&&{errorMessage:{format:r}}})):M(t,"format",e,r,n)},pe=(t,e,r,n)=>{t.pattern||t.allOf?.some(o=>o.pattern)?(t.allOf||(t.allOf=[]),t.pattern&&(t.allOf.push({pattern:t.pattern,...t.errorMessage&&n.errorMessages&&{errorMessage:{pattern:t.errorMessage.pattern}}}),delete t.pattern,t.errorMessage&&(delete t.errorMessage.pattern,Object.keys(t.errorMessage).length===0&&delete t.errorMessage)),t.allOf.push({pattern:Hi(e,n),...r&&n.errorMessages&&{errorMessage:{pattern:r}}})):M(t,"pattern",Hi(e,n),r,n)},Hi=(t,e)=>{let r=typeof t=="function"?t():t;if(!e.applyRegexFlags||!r.flags)return r.source;let n={i:r.flags.includes("i"),m:r.flags.includes("m"),s:r.flags.includes("s")},o=n.i?r.source.toLowerCase():r.source,s="",a=!1,i=!1,u=!1;for(let l=0;l<o.length;l++){if(a){s+=o[l],a=!1;continue}if(n.i){if(i){if(o[l].match(/[a-z]/)){u?(s+=o[l],s+=`${o[l-2]}-${o[l]}`.toUpperCase(),u=!1):o[l+1]==="-"&&o[l+2]?.match(/[a-z]/)?(s+=o[l],u=!0):s+=`${o[l]}${o[l].toUpperCase()}`;continue}}else if(o[l].match(/[a-z]/)){s+=`[${o[l]}${o[l].toUpperCase()}]`;continue}}if(n.m){if(o[l]==="^"){s+=`(^|(?<=[\r
64
- ]))`;continue}else if(o[l]==="$"){s+=`($|(?=[\r
65
- ]))`;continue}}if(n.s&&o[l]==="."){s+=i?`${o[l]}\r
66
- `:`[${o[l]}\r
67
- ]`;continue}s+=o[l],o[l]==="\\"?a=!0:i&&o[l]==="]"?i=!1:!i&&o[l]==="["&&(i=!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 ro(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===S.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:t.keyType._def.values.reduce((n,o)=>({...n,[o]:O(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",o]})??{}}),{}),additionalProperties:!1};let r={type:"object",additionalProperties:O(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===S.ZodString&&t.keyType._def.checks?.length){let n=Object.entries(to(t.keyType._def,e)).reduce((o,[s,a])=>s==="type"?o:{...o,[s]:a},{});return{...r,propertyNames:n}}else if(t.keyType?._def.typeName===S.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function Vi(t,e){if(e.mapStrategy==="record")return ro(t,e);let r=O(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=O(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 Ji(t){let e=t.values,n=Object.keys(t.values).filter(s=>typeof e[e[s]]!="number").map(s=>e[s]),o=Array.from(new Set(n.map(s=>typeof s)));return{type:o.length===1?o[0]==="string"?"string":"number":["string","number"],enum:n}}function Zi(){return{not:{}}}function Gi(t){return t.target==="openApi3"?{enum:["null"],nullable:!0}:{type:"null"}}var on={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function Xi(t,e){if(e.target==="openApi3")return Yi(t,e);let r=t.options instanceof Map?Array.from(t.options.values()):t.options;if(r.every(n=>n._def.typeName in on&&(!n._def.checks||!n._def.checks.length))){let n=r.reduce((o,s)=>{let a=on[s._def.typeName];return a&&!o.includes(a)?[...o,a]:o},[]);return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=r.reduce((o,s)=>{let a=typeof s._def.value;switch(a){case"string":case"number":case"boolean":return[...o,a];case"bigint":return[...o,"integer"];case"object":if(s._def.value===null)return[...o,"null"];default:return o}},[]);if(n.length===r.length){let o=n.filter((s,a,i)=>i.indexOf(s)===a);return{type:o.length>1?o:o[0],enum:r.reduce((s,a)=>s.includes(a._def.value)?s:[...s,a._def.value],[])}}}else if(r.every(n=>n._def.typeName==="ZodEnum"))return{type:"string",enum:r.reduce((n,o)=>[...n,...o._def.values.filter(s=>!n.includes(s))],[])};return Yi(t,e)}var Yi=(t,e)=>{let r=(t.options instanceof Map?Array.from(t.options.values()):t.options).map((n,o)=>O(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 Qi(t,e){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:on[t.innerType._def.typeName],nullable:!0}:{type:[on[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let n=O(t.innerType._def,{...e,currentPath:[...e.currentPath]});return n&&"$ref"in n?{allOf:[n],nullable:!0}:n&&{...n,nullable:!0}}let r=O(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return r&&{anyOf:[r,{type:"null"}]}}function el(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",_s(r,"type",n.message,e);break;case"min":e.target==="jsonSchema7"?n.inclusive?M(r,"minimum",n.value,n.message,e):M(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),M(r,"minimum",n.value,n.message,e));break;case"max":e.target==="jsonSchema7"?n.inclusive?M(r,"maximum",n.value,n.message,e):M(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),M(r,"maximum",n.value,n.message,e));break;case"multipleOf":M(r,"multipleOf",n.value,n.message,e);break}return r}function pp(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":O(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":O(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function tl(t,e){let r={type:"object",...Object.entries(t.shape()).reduce((n,[o,s])=>{if(s===void 0||s._def===void 0)return n;let a=[...e.currentPath,"properties",o],i=O(s._def,{...e,currentPath:a,propertyPath:a});if(i===void 0)return n;if(e.openaiStrictMode&&s.isOptional()&&!s.isNullable()&&typeof s._def?.defaultValue>"u")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`);return{properties:{...n.properties,[o]:i},required:s.isOptional()&&!e.openaiStrictMode?n.required:[...n.required,o]}},{properties:{},required:[]}),additionalProperties:pp(t,e)};return r.required.length||delete r.required,r}var rl=(t,e)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return O(t.innerType._def,{...e,currentPath:e.currentPath});let r=O(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]});return r?{anyOf:[{not:{}},r]}:{}};var nl=(t,e)=>{if(e.pipeStrategy==="input")return O(t.in._def,e);if(e.pipeStrategy==="output")return O(t.out._def,e);let r=O(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),n=O(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",r?"1":"0"]});return{allOf:[r,n].filter(o=>o!==void 0)}};function ol(t,e){return O(t.type._def,e)}function sl(t,e){let n={type:"array",uniqueItems:!0,items:O(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&M(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&M(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function al(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>O(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[]),additionalItems:O(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>O(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).reduce((r,n)=>n===void 0?r:[...r,n],[])}}function il(){return{not:{}}}function ll(){return{}}var ul=(t,e)=>O(t.innerType._def,e);function O(t,e,r=!1){let n=e.seen.get(t);if(e.override){let a=e.override?.(t,e,n,r);if(a!==Mi)return a}if(n&&!r){let a=mp(n,e);if(a!==void 0)return"$ref"in a&&e.seenRefs.add(a.$ref),a}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);let s=fp(t,t.typeName,e,r);return s&&hp(t,e,s),o.jsonSchema=s,s}var mp=(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).join("_");return r!==e.name&&e.nameStrategy==="duplicate-ref"&&(e.definitions[r]=t.def),{$ref:[...e.basePath,e.definitionPath,r].join("/")};case"relative":return{$ref:dp(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((n,o)=>e.currentPath[o]===n)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},dp=(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("/")},fp=(t,e,r,n)=>{switch(e){case S.ZodString:return to(t,r);case S.ZodNumber:return el(t,r);case S.ZodObject:return tl(t,r);case S.ZodBigInt:return ji(t,r);case S.ZodBoolean:return Li();case S.ZodDate:return ws(t,r);case S.ZodUndefined:return il();case S.ZodNull:return Gi(r);case S.ZodArray:return Di(t,r);case S.ZodUnion:case S.ZodDiscriminatedUnion:return Xi(t,r);case S.ZodIntersection:return qi(t,r);case S.ZodTuple:return al(t,r);case S.ZodRecord:return ro(t,r);case S.ZodLiteral:return Ki(t,r);case S.ZodEnum:return Wi(t);case S.ZodNativeEnum:return Ji(t);case S.ZodNullable:return Qi(t,r);case S.ZodOptional:return rl(t,r);case S.ZodMap:return Vi(t,r);case S.ZodSet:return sl(t,r);case S.ZodLazy:return O(t.getter()._def,r);case S.ZodPromise:return ol(t,r);case S.ZodNaN:case S.ZodNever:return Zi();case S.ZodEffects:return Bi(t,r,n);case S.ZodAny:return $i();case S.ZodUnknown:return ll();case S.ZodDefault:return Fi(t,r);case S.ZodBranded:return zi(t,r);case S.ZodReadonly:return ul(t,r);case S.ZodCatch:return Ui(t,r);case S.ZodPipeline:return nl(t,r);case S.ZodFunction:case S.ZodVoid:case S.ZodSymbol:return;default:return(o=>{})(e)}},hp=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var xs=(t,e)=>{let r=Ni(e),n=typeof e=="string"?e:e?.nameStrategy==="title"?void 0:e?.name,o=O(t._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},!1)??{},s=typeof e=="object"&&e.name!==void 0&&e.nameStrategy==="title"?e.name:void 0;s!==void 0&&(o.title=s);let a=(()=>{if(Ri(r.definitions))return;let u={},l=new Set;for(let m=0;m<500;m++){let d=Object.entries(r.definitions).filter(([b])=>!l.has(b));if(d.length===0)break;for(let[b,p]of d)u[b]=O(nn(p),{...r,currentPath:[...r.basePath,r.definitionPath,b]},!0)??{},l.add(b)}return u})(),i=n===void 0?a?{...o,[r.definitionPath]:a}:o:r.nameStrategy==="duplicate-ref"?{...o,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:o}:void 0}}:void 0}:{$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:o}};return r.target==="jsonSchema7"?i.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(i.$schema="https://json-schema.org/draft/2019-09/schema#"),i};function cl(t){if(t.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${t.type?`'${t.type}'`:"undefined"}`);let e=structuredClone(t);return Re(e,[],e)}function Is(t){if(typeof t=="boolean")return!1;if(t.type==="null")return!0;for(let e of t.oneOf??[])if(Is(e))return!0;for(let e of t.anyOf??[])if(Is(e))return!0;return!1}function Re(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!St(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);let n=t.$defs;if(St(n))for(let[b,p]of Object.entries(n))Re(p,[...e,"$defs",b],r);let o=t.definitions;if(St(o))for(let[b,p]of Object.entries(o))Re(p,[...e,"definitions",b],r);t.type==="object"&&!("additionalProperties"in t)&&(t.additionalProperties=!1);let a=t.required??[],i=t.properties;if(St(i)){for(let[b,p]of Object.entries(i))if(!Is(p)&&!a.includes(b))throw new Error(`Zod field at \`${[...e,"properties",b].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(i),t.properties=Object.fromEntries(Object.entries(i).map(([b,p])=>[b,Re(p,[...e,"properties",b],r)]))}let u=t.items;St(u)&&(t.items=Re(u,[...e,"items"],r));let l=t.anyOf;Array.isArray(l)&&(t.anyOf=l.map((b,p)=>Re(b,[...e,"anyOf",String(p)],r)));let m=t.allOf;if(Array.isArray(m))if(m.length===1){let b=Re(m[0],[...e,"allOf","0"],r);Object.assign(t,b),delete t.allOf}else t.allOf=m.map((b,p)=>Re(b,[...e,"allOf",String(p)],r));t.default===null&&delete t.default;let d=t.$ref;if(d&&yp(t,1)){if(typeof d!="string")throw new TypeError(`Received non-string $ref - ${d}; path=${e.join("/")}`);let b=gp(r,d);if(typeof b=="boolean")throw new Error(`Expected \`$ref: ${d}\` to resolve to an object schema but got boolean`);if(!St(b))throw new Error(`Expected \`$ref: ${d}\` to resolve to an object but got ${JSON.stringify(b)}`);return Object.assign(t,{...b,...t}),delete t.$ref,Re(t,e,r)}return t}function gp(t,e){if(!e.startsWith("#/"))throw new Error(`Unexpected $ref format ${JSON.stringify(e)}; Does not start with #/`);let r=e.slice(2).split("/"),n=t;for(let o of r){if(!St(n))throw new Error(`encountered non-object entry while resolving ${e} - ${JSON.stringify(n)}`);let s=n[o];if(s===void 0)throw new Error(`Key ${o} not found while resolving ${e}`);n=s}return n}function St(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function yp(t,e){let r=0;for(let n in t)if(r++,r>e)return!0;return!1}function _p(t,e){return xs(t,{openaiStrictMode:!0,name:e.name,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property"})}function wp(t){return cl(Ks(t,{target:"draft-7"}))}function bp(t){return"_zod"in t}function pl(t,e,r){return Wa({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:bp(t)?wp(t):_p(t,{name:e})}},n=>t.parse(JSON.parse(n)))}var ml=["jsonSchema","functionCalling","jsonMode"];function dl(t,e){if(typeof e<"u"&&!ml.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${ml.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 xp(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function fl(t,e,r){if(Hs(t))return pl(t,e,r);if(gn(t))return xp({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:rt(t,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=e}})}},n=>Ws(t,JSON.parse(n)));throw new Error("Unsupported schema response format")}function hl(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 gl={"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},"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}};function kr(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var Et=class extends xn{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}}_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;this.apiKey=t?.apiKey??e??xe("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??xe("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},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.4.3")}_getReasoningParams(t){if(!Me(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&&tt(t.json_schema.schema)?fl(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=Xe({baseURL:this.clientConfig.baseURL}),r={...this.clientConfig,baseURL:e,timeout:this.timeout,maxRetries:0};r.baseURL||delete r.baseURL,r.defaultHeaders=Qe(r.defaultHeaders),this.client=new C(r)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return Ot(t)?Si(t.metadata.customTool):wn(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:wi(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(Or(n)||Ot(n))return n;if(Ii(n))return n.extras.providerToolDefinition;let o=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return Pr(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[a,i]=await Promise.all([this.getNumTokens(s.content),this.getNumTokens(Pe(s))]),u=s.name!==void 0?n+await this.getNumTokens(s.name):0,l=a+r+i+u,m=s;if(m._getType()==="function"&&(l-=2),m.additional_kwargs?.function_call&&(l+=3),m?.additional_kwargs.function_call?.name&&(l+=await this.getNumTokens(m.additional_kwargs.function_call?.name)),m.additional_kwargs.function_call?.arguments)try{l+=await this.getNumTokens(JSON.stringify(JSON.parse(m.additional_kwargs.function_call?.arguments)))}catch(d){console.error("Error parsing function arguments",d,JSON.stringify(m.additional_kwargs.function_call)),l+=await this.getNumTokens(m.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=bi(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 be(o)}})}get profile(){return gl[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:a}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let i=dl(this.model,e?.method);if(i==="jsonMode"){n=xo(o);let u=rt(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(i==="jsonSchema"){let u=rt(o),l={name:s??"extract",description:bo(u),schema:tt(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}}}),tt(o)||hn(o)){let m=xo(o);n=_n.from(async d=>"parsed"in d.additional_kwargs?d.additional_kwargs.parsed:m.invoke(d.content))}else n=new Js}else{let u=s??"extract",l=rt(o),m;tt(o)||hn(o)?m={name:u,description:l.description,parameters:l}:typeof o.name=="string"&&typeof o.parameters=="object"&&o.parameters!=null?(m=o,u=o.name):(u=o.title??u,m={name:u,description:o.description??"",parameters:o}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:m}],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=Gs(o,u)}return Ys(r,n,a)}};var no={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=go({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=ho(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=ho(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=go({dataUrl:t.url}),r=Cr(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=Cr(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`)}},As=({message:t,rawResponse:e,includeRawResponse:r})=>{let n=t.tool_calls,o=t.reasoning_content;switch(t.role){case"assistant":{let s=[],a=[];for(let l of n??[])try{s.push(bn(l,{returnId:!0}))}catch(m){a.push(Mt(l,m.message))}let i={function_call:t.function_call,tool_calls:n};r!==void 0&&(i.__raw_response=e),o!==void 0&&(i.reasoning_content=o);let u={model_provider:"openai",model_name:e.model,...e.system_fingerprint?{usage:{...e.usage},system_fingerprint:e.system_fingerprint}:{}};return t.audio&&(i.audio=t.audio),new P({content:hl(t.content||"",e.choices?.[0]?.message),tool_calls:s,invalid_tool_calls:a,additional_kwargs:i,response_metadata:u,id:e.id})}default:return new dn(t.content||"",t.role??"unknown")}},Ts=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:n})=>{let o=t.role??n,s=t.content??"",a;t.function_call?a={function_call:t.function_call}:t.tool_calls?a={tool_calls:t.tool_calls}:a={},r&&(a.__raw_response=e),t.reasoning_content!==void 0&&(a.reasoning_content=t.reasoning_content),t.audio&&(a.audio={...t.audio,index:e.choices[0].index});let i={model_provider:"openai",usage:{...e.usage}};if(o==="user")return new wo({content:s,response_metadata:i});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 Ne({content:s,tool_call_chunks:u,additional_kwargs:a,id:e.id,response_metadata:i})}else return o==="system"?new fn({content:s,response_metadata:i}):o==="developer"?new fn({content:s,response_metadata:i,additional_kwargs:{__openai_role__:"developer"}}):o==="function"?new Us({content:s,additional_kwargs:a,name:t.name,response_metadata:i}):o==="tool"?new yo({content:s,additional_kwargs:a,tool_call_id:t.tool_call_id,response_metadata:i}):new zs({content:s,role:o,response_metadata:i})},yl=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=Fs(()=>{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=Cr(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}}}},_l=({message:t,model:e})=>{let r=Pe(t);if(r==="system"&&Me(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")return{role:"assistant",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="tool"&&U.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 a=yl(s);a&&(yield a)}}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 _l({message:r});let n=Pe(r);n==="system"&&Me(e)&&(n="developer");let o=typeof r.content=="string"?r.content:r.content.flatMap(a=>pn(a)?mn(a,no):typeof a=="object"&&a!==null&&"type"in a&&a.type==="tool_use"?[]:a),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),P.isInstance(r)&&r.tool_calls?.length?s.tool_calls=r.tool_calls.map(Zs):(r.additional_kwargs.tool_calls!=null&&(s.tool_calls=r.additional_kwargs.tool_calls),U.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 oo=class extends Et{constructor(t,e){super(kr(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling);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(a=>this._convertChatOpenAIToolToCompletionsTool(a,{strict:r})):void 0,tool_choice:Qn(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),Me(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 a=this._streamResponseChunks(t,e,r),i={};for await(let p of a){p.message.response_metadata={...p.generationInfo,...p.message.response_metadata};let I=p.generationInfo?.completion??0;i[I]===void 0?i[I]=p:i[I]=i[I].concat(p)}let u=Object.entries(i).sort(([p],[I])=>parseInt(p,10)-parseInt(I,10)).map(([p,I])=>I),{functions:l,function_call:m}=this.invocationParams(e),d=await this._getEstimatedTokenCountFromPrompt(t,l,m),b=await this._getNumTokensFromGenerations(u);return n.input_tokens=d,n.output_tokens=b,n.total_tokens=d+b,{generations:u,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let a=await this.completionWithRetry({...o,stream:!1,messages:s},{signal:e?.signal,...e?.options}),{completion_tokens:i,prompt_tokens:u,total_tokens:l,prompt_tokens_details:m,completion_tokens_details:d}=a?.usage??{};i&&(n.output_tokens=(n.output_tokens??0)+i),u&&(n.input_tokens=(n.input_tokens??0)+u),l&&(n.total_tokens=(n.total_tokens??0)+l),(m?.audio_tokens!==null||m?.cached_tokens!==null)&&(n.input_token_details={...m?.audio_tokens!==null&&{audio:m?.audio_tokens},...m?.cached_tokens!==null&&{cache_read:m?.cached_tokens}}),(d?.audio_tokens!==null||d?.reasoning_tokens!==null)&&(n.output_token_details={...d?.audio_tokens!==null&&{audio:d?.audio_tokens},...d?.reasoning_tokens!==null&&{reasoning:d?.reasoning_tokens}});let b=[];for(let p of a?.choices??[]){let I={text:p.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(p.message??{role:"assistant"},a)};I.generationInfo={...p.finish_reason?{finish_reason:p.finish_reason}:{},...p.logprobs?{logprobs:p.logprobs}:{}},_o(I.message)&&(I.message.usage_metadata=n),I.message=new P(Object.fromEntries(Object.entries(I.message).filter(([T])=>!T.startsWith("lc_")))),b.push(I)}return{generations:b,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamResponseChunks(t,e,r){let n=sn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s,a=await this.completionWithRetry(o,e),i;for await(let u of a){if(e.signal?.aborted)return;let l=u?.choices?.[0];if(u.usage&&(i=u.usage),!l)continue;let{delta:m}=l;if(!m)continue;let d=this._convertCompletionsDeltaToBaseMessageChunk(m,u,s);s=m.role??s;let b={prompt:e.promptIndex??0,completion:l.index??0};if(typeof d.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let p={...b};l.finish_reason!=null&&(p.finish_reason=l.finish_reason,p.system_fingerprint=u.system_fingerprint,p.model_name=u.model,p.service_tier=u.service_tier),this.logprobs&&(p.logprobs=l.logprobs);let I=new Mr({message:d,text:d.content,generationInfo:p});yield I,await r?.handleLLMNewToken(I.text??"",b,void 0,void 0,void 0,{chunk:I})}if(i){let u={...i.prompt_tokens_details?.audio_tokens!==null&&{audio:i.prompt_tokens_details?.audio_tokens},...i.prompt_tokens_details?.cached_tokens!==null&&{cache_read:i.prompt_tokens_details?.cached_tokens}},l={...i.completion_tokens_details?.audio_tokens!==null&&{audio:i.completion_tokens_details?.audio_tokens},...i.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:i.completion_tokens_details?.reasoning_tokens}},m=new Mr({message:new Ne({content:"",response_metadata:{usage:{...i}},usage_metadata:{input_tokens:i.prompt_tokens,output_tokens:i.completion_tokens,total_tokens:i.total_tokens,...Object.keys(u).length>0&&{input_token_details:u},...Object.keys(l).length>0&&{output_token_details:l}}}),text:""});yield m,await r?.handleLLMNewToken(m.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:m})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let r=this._getClientOptions(e),n=t.response_format&&t.response_format.type==="json_schema";return this.caller.call(async()=>{try{return n&&!t.stream?await this.client.chat.completions.parse(t,r):await this.client.chat.completions.create(t,r)}catch(o){throw be(o)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return Ts({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return As({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var so="__openai_function_call_ids__";function vl(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 Ap(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 vs=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_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}},ao=t=>{if(t.error){let u=new Error(t.error.message);throw u.name=t.error.code,u}let e,r=[],n=[],o=[],s=t.output.map(u=>{if(u.type==="function_call"&&"parsed_arguments"in u){let l={...u};return delete l.parsed_arguments,l}return u}),a={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:s,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let u of t.output)if(u.type==="message")e=u.id,r.push(...u.content.flatMap(l=>l.type==="output_text"?("parsed"in l&&l.parsed!=null&&(i.parsed=l.parsed),{type:"text",text:l.text,annotations:l.annotations.map(vl),...u.phase!==null?{phase:u.phase}:{}}):l.type==="refusal"?(i.refusal=l.refusal,[]):l));else if(u.type==="function_call"){let l={function:{name:u.name,arguments:u.arguments},id:u.call_id};try{n.push(bn(l,{returnId:!0}))}catch(m){let d;typeof m=="object"&&m!=null&&"message"in m&&typeof m.message=="string"&&(d=m.message),o.push(Mt(l,d))}i[so]??={},u.id&&(i[so][u.call_id]=u.id)}else if(u.type==="reasoning"){i.reasoning=u;let l=u.summary?.map(m=>m.text).filter(Boolean).join("");l&&r.push({type:"reasoning",reasoning:l})}else if(u.type==="custom_tool_call"){let l=Ti(u);l?n.push(l):o.push(Mt(u,"Malformed custom tool call"))}else if(u.type==="computer_call"){let l=vi(u);l?n.push(l):o.push(Mt(u,"Malformed computer call"))}else u.type==="image_generation_call"?(u.result&&r.push({type:"image",mimeType:"image/png",data:u.result,id:u.id,metadata:{status:u.status}}),i.tool_outputs??=[],i.tool_outputs.push(u)):(i.tool_outputs??=[],i.tool_outputs.push(u));return new P({id:e,content:r,tool_calls:n,invalid_tool_calls:o,usage_metadata:vs(t.usage),additional_kwargs:i,response_metadata:a})},Cl=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}},Cs=t=>{let e=[],r={},n,o=[],s={model_provider:"openai"},a={},i;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:[vl(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){i=t.item.id;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}),a[so]={[t.item.call_id]:t.item.id};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}),a.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}}),a.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))a.tool_outputs=[t.item];else if(t.type==="response.created")s.id=t.response.id,s.model_name=t.response.model,s.model=t.response.model;else if(t.type==="response.completed"){let u=ao(t.response);n=vs(t.response.usage),t.response.text?.format?.type==="json_schema"&&u.text&&(a.parsed??=JSON.parse(u.text));for(let[l,m]of Object.entries(t.response))l!=="id"&&(l==="output"?s[l]=u.response_metadata.output:s[l]=m)}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});else if(t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.completed")r={tool_outputs:{id:t.item_id,type:t.type.replace("response.","").replace(".completed",""),status:"completed"}};else if(t.type==="response.refusal.done")a.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((m,d)=>({...m,index:d})):void 0;a.reasoning={id:t.item.id,type:t.item.type,...u?{summary:u}:{}};let l=t.item.summary?.map(m=>m.text).filter(Boolean).join("");l&&e.push({type:"reasoning",reasoning:l})}else if(t.type==="response.reasoning_summary_part.added")a.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text});else if(t.type==="response.reasoning_summary_text.delta")a.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta});else return t.type==="response.image_generation_call.partial_image",null;return new Mr({text:e.map(u=>u.text).join(""),message:new Ne({id:i,content:e,tool_call_chunks:o,usage_metadata:n,additional_kwargs:a,response_metadata:s}),generationInfo:r})},Ol=t=>{let e=P.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let n=ue(()=>{try{let h=Pe(t);return h==="system"||h==="developer"||h==="assistant"||h==="user"?h:"assistant"}catch{return"assistant"}}),o,s=new Set,a=new Set,i=new Map,u=new Map;function*l(){if(!o)return;let h=o.content;(typeof h=="string"&&h.length>0||Array.isArray(h)&&h.length>0)&&(yield o),o=void 0}let m=(h,_)=>{o||(o={type:"message",role:n,content:[],..._?{phase:_}:{}}),typeof o.content=="string"?o.content=o.content.length>0?[{type:"input_text",text:o.content},...h]:[...h]:o.content.push(...h)},d=h=>{if(typeof h=="string")return h;try{return JSON.stringify(h??{})}catch{return"{}"}},b=h=>{let _=ue(()=>{let E=h.metadata?.detail;return E==="low"||E==="high"||E==="auto"?E:"auto"});if(h.fileId)return{type:"input_image",detail:_,file_id:h.fileId};if(h.url)return{type:"input_image",detail:_,image_url:h.url};if(h.data){let E=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_image",detail:_,image_url:`data:${h.mimeType??"image/png"};base64,${E}`}}},p=h=>{if(h.fileId){let _=gs(h);return{type:"input_file",file_id:h.fileId,..._?{filename:_}:{}}}if(h.url){let _=gs(h);return{..._?{filename:_}:{},type:"input_file",file_url:h.url}}if(h.data){let _=Cr(h),E=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,${E}`,filename:_}}},I=h=>{let _=ue(()=>{if(Array.isArray(h.summary)){let H=h.summary?.map(F=>F?.text).filter(F=>typeof F=="string")??[];if(H.length>0)return H}return h.reasoning?[h.reasoning]:[]}),E=_.length>0?_.map(H=>({type:"summary_text",text:H})):[{type:"summary_text",text:""}],R={type:"reasoning",id:h.id??"",summary:E};return h.reasoning&&(R.content=[{type:"reasoning_text",text:h.reasoning}]),R},T=h=>({type:"function_call",name:h.name??"",call_id:h.id??"",arguments:d(h.args)}),N=h=>{let _=d(h.output),E=h.status==="success"?"completed":h.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:h.toolCallId??"",output:_,...E?{status:E}:{}}};for(let h of t.contentBlocks)if(h.type==="text"){let _=ue(()=>{if("extras"in h&&typeof h.extras=="object"&&h.extras!==null&&"phase"in h.extras)return h.extras.phase});m([{type:"input_text",text:h.text}],_)}else if(h.type!=="invalid_tool_call"){if(h.type==="reasoning")yield*l(),yield I(h);else if(h.type==="tool_call"){yield*l();let _=h.id??"";_&&(s.add(_),i.delete(_)),yield T(h)}else if(h.type==="tool_call_chunk"){if(h.id){let _=i.get(h.id)??{name:h.name,args:[]};h.name&&(_.name=h.name),h.args&&_.args.push(h.args),i.set(h.id,_)}}else if(h.type==="server_tool_call"){yield*l();let _=h.id??"";_&&(a.add(_),u.delete(_)),yield T(h)}else if(h.type==="server_tool_call_chunk"){if(h.id){let _=u.get(h.id)??{name:h.name,args:[]};h.name&&(_.name=h.name),h.args&&_.args.push(h.args),u.set(h.id,_)}}else if(h.type==="server_tool_call_result")yield*l(),yield N(h);else if(h.type!=="audio")if(h.type==="file"){let _=p(h);_&&m([_])}else if(h.type==="image"){let _=b(h);_&&m([_])}else if(h.type==="video"){let _=p(h);_&&m([_])}else h.type==="text-plain"?h.text&&m([{type:"input_text",text:h.text}]):h.type==="non_standard"&&e&&(yield*l(),yield h.value)}yield*l();for(let[h,_]of i){if(!h||s.has(h))continue;let E=_.args.join("");!_.name&&!E||(yield{type:"function_call",call_id:h,name:_.name??"",arguments:E})}for(let[h,_]of u){if(!h||a.has(h))continue;let E=_.args.join("");!_.name&&!E||(yield{type:"function_call",call_id:h,name:_.name??"",arguments:E})}}return Array.from(r())},io=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(n=>{let o=n.response_metadata;if(o?.output_version==="v1")return Ol(n);let s=n.additional_kwargs,a=Pe(n);if(a==="system"&&Me(r)&&(a="developer"),a==="function")throw new Error("Function messages are not supported in Responses API");if(a==="tool"){let i=n;if(s?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof i.content=="string")return{type:"input_image",image_url:i.content};if(Array.isArray(i.content)){let l=i.content.find(b=>b.type==="input_image");if(l)return l;let m=i.content.find(b=>b.type==="computer_screenshot");if(m)return m;let d=i.content.find(b=>b.type==="image_url");if(d)return{type:"input_image",image_url:typeof d.image_url=="string"?d.image_url:d.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:i.tool_call_id};if(i.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:i.tool_call_id,output:i.content};let u=Array.isArray(i.content)&&i.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:i.tool_call_id,id:i.id?.startsWith("fc_")?i.id:void 0,output:u?i.content:typeof i.content!="string"?JSON.stringify(i.content):i.content}}if(a==="assistant"){if(!e&&o?.output!=null&&Array.isArray(o?.output)&&o?.output.length>0&&o?.output.every(I=>"type"in I))return o?.output;let i=[],u=s?.reasoning,l=!!u?.encrypted_content;if(u&&(!e||l)){let I=Cl(u);i.push(I)}let{content:m}=n;if(s?.refusal&&(typeof m=="string"&&(m=[{type:"output_text",text:m,annotations:[]}]),m=[...m,{type:"refusal",refusal:s.refusal}]),typeof m=="string"||m.length>0){let I={type:"message",role:"assistant",...n.id&&!e&&n.id.startsWith("msg_")?{id:n.id}:{},content:ue(()=>typeof m=="string"?m:m.flatMap(T=>{if(T.type==="text"){let N=T;return{type:"output_text",text:N.text,annotations:(N.annotations??[]).map(Ap)}}return T.type==="output_text"||T.type==="refusal"?T:[]})),phase:ue(()=>{if(Array.isArray(m))return m.find(T=>"phase"in T&&typeof T.phase=="string")?.phase})};i.push(I)}let d=s?.[so];P.isInstance(n)&&n.tool_calls?.length?i.push(...n.tool_calls.map(I=>Oi(I)?{type:"custom_tool_call",id:I.call_id,call_id:I.id??"",input:I.args.input,name:I.name}:Ci(I)?{type:"computer_call",id:I.call_id,call_id:I.id??"",action:I.args.action}:{type:"function_call",name:I.name,arguments:JSON.stringify(I.args),call_id:I.id,...e?{}:{id:d?.[I.id]}})):s?.tool_calls&&i.push(...s.tool_calls.map(I=>({type:"function_call",name:I.function.name,call_id:I.id,arguments:I.function.arguments,...e?{}:{id:d?.[I.id]}})));let b=o?.output?.length?o?.output:s.tool_outputs,p=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(b!=null){let I=b?.filter(T=>p.includes(T.type));I.length>0&&i.push(...I)}return i}if(a==="user"||a==="system"||a==="developer"){if(typeof n.content=="string")return{type:"message",role:a,content:n.content};let i=[],u=n.content.flatMap(l=>(l.type==="mcp_approval_response"&&i.push({type:"mcp_approval_response",approval_request_id:l.approval_request_id,approve:l.approve}),pn(l)?mn(l,no):l.type==="text"?{type:"input_text",text:l.text}:l.type==="image_url"?{type:"input_image",image_url:ue(()=>{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:ue(()=>{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&&i.push({type:"message",role:a,content:u}),i}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${a}`),[]});var lo=class extends Et{constructor(t,e){super(kr(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:Ai(t?.tool_choice)?t?.tool_choice:(()=>{let o=Qn(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 a of o)a.message.response_metadata={...a.generationInfo,...a.message.response_metadata},s=s?.concat(a)??a;return{generations:s?[s]:[],llmOutput:{estimatedTokenUsage:s?.message?.usage_metadata}}}else{let o=await this.completionWithRetry({input:io({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:e?.signal,...e?.options});return{generations:[{text:o.output_text,message:ao(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*_streamResponseChunks(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:io({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);for await(let o of n){if(e.signal?.aborted)return;let s=Cs(o);s!=null&&(yield s,await r?.handleLLMNewToken(s.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:s}))}}async completionWithRetry(t,e){return this.caller.call(async()=>{let r=this._getClientOptions(e);try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,r):await this.client.responses.create(t,r)}catch(n){throw be(n)}})}_reduceChatOpenAITools(t,e){let r=[];for(let n of t)if(Or(n))n.type==="image_generation"&&e?.stream&&(n.partial_images=1),r.push(n);else if(Ot(n)){let o=n.metadata.customTool;r.push({type:"custom",name:o.name,description:o.description,format:o.format})}else if(wn(n)){let o={};for(let[s,a]of Object.entries(n))s!=="type"&&s!=="function"&&(o[s]=a);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:e?.strict??null,...o})}else eo(n)&&r.push(ki(n));return r}};var uo=class kl extends Et{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=kr(e,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new lo(n),this.completions=n?.completions??new oo(n)}_useResponsesApi(e){let r=e?.tools?.some(Or),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(eo)||e?.tools?.some(Ot);return this.useResponsesApi||r||n||o||gi(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*_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 kl(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var kp=w.object({type:w.literal("screenshot")}),Sp=w.object({type:w.literal("click"),x:w.number(),y:w.number(),button:w.enum(["left","right","wheel","back","forward"]).default("left")}),Ep=w.object({type:w.literal("double_click"),x:w.number(),y:w.number(),button:w.enum(["left","right","wheel","back","forward"]).default("left")}),Mp=w.object({type:w.literal("drag"),path:w.array(w.object({x:w.number(),y:w.number()}))}),Pp=w.object({type:w.literal("keypress"),keys:w.array(w.string())}),Rp=w.object({type:w.literal("move"),x:w.number(),y:w.number()}),Np=w.object({type:w.literal("scroll"),x:w.number(),y:w.number(),scroll_x:w.number(),scroll_y:w.number()}),$p=w.object({type:w.literal("type"),text:w.string()}),Dp=w.object({type:w.literal("wait"),duration:w.number().optional()}),jp=w.union([kp,Sp,Ep,Mp,Pp,Rp,Np,$p,Dp]),_P=w.object({action:jp});var Lp=w.object({type:w.literal("exec"),command:w.array(w.string()),env:w.record(w.string(),w.string()).optional(),working_directory:w.string().optional(),timeout_ms:w.number().optional(),user:w.string().optional()}),IP=w.union([Lp]);var CP=w.object({commands:w.array(w.string()).describe("Array of shell commands to execute"),timeout_ms:w.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:w.number().optional().describe("Optional maximum number of characters to return from each command")});var zp=w.object({type:w.literal("create_file"),path:w.string(),diff:w.string()}),Up=w.object({type:w.literal("update_file"),path:w.string(),diff:w.string()}),Fp=w.object({type:w.literal("delete_file"),path:w.string()}),EP=w.union([zp,Up,Fp]);var Ml={advanced:"gpt-5.2",default:"gpt-5-mini",fast:"gpt-5.4-nano"},qp={default:"text-embedding-ada-002"},Os=new Map,co=null,Kp=()=>{let t=El.getDefault().helperServices;if(!t?.aiModels?.url)throw new Error("AI Models Service URL is not defined in the portal's helper services.");return t.aiModels.url},Hp=async t=>{let e=Kp();Os.size===0&&(co||(co=(async()=>{try{let n=await fetch(`${e}/models`);if(!n.ok)throw new Error("Failed to fetch AI service discovery data.");(await n.json()).models.forEach(o=>Os.set(o.name,o))}catch(n){throw co=null,n}})()),await co);let r=Os.get(t);if(!r)throw new Error(`Model '${t}' is not available in the discovery service.`);return r.endpoint},Vp=async(t="default")=>await Hp(Ml[t]);var ln=(t,e)=>e,Pl=(t,e)=>({...t,...e}),Rl=(t="",e)=>{let r=typeof e=="string"?e.trim():"";if(!r)return t;let n=t.trim();if(!n)return r;if(n===r)return t;let o=n.split(`
68
-
69
- `);return o[o.length-1]?.trim()===r?t:`${t}
70
-
71
- ${r}`},Nl=()=>({userRequest:"",assignedTask:"",messages:[],priorSteps:[],sharedState:{}}),Jp=()=>({agentExecutionContext:G({reducer:Pl,default:Nl}),outputMessage:G({reducer:Rl,default:()=>""}),summary:G({reducer:ln,default:()=>""}),status:G({reducer:ln})}),$l=()=>({...Jp(),sharedStatePatch:G({reducer:ln})}),tR=G.Root({agentExecutionContext:G({default:Nl,reducer:Pl}),currentIntent:G({default:()=>"none",reducer:ln}),requiresFollowUp:G({default:()=>!0,reducer:ln}),stepCount:G({default:()=>0,reducer:(t,e)=>e??t+1}),finalOutputMessage:G({default:()=>"",reducer:Rl})}),un=async(t,e)=>{await Ao("trace_message",t,e)},Dl=async(t,e)=>{await Ao("graph_ux_suggestion",t,e)};var Zp=t=>async(e,r)=>{let n=new Headers(r?.headers);return n.delete("Authorization"),n.delete("api-key"),t&&t.length>0&&(n.set("X-Esri-Authorization",`Bearer ${t}`),n.set("X-Esri-Request-Source","MapsSDK")),await fetch(e,{...r,headers:n})},Gp=async(t="default",e=0)=>{let r=El.getDefault(),n=await Bp.getCredential(`${r.url}/sharing`),o=Ml[t],s=await Vp(t);return new uo({modelName:o,apiKey:"dummy-key",...t!=="default"&&{temperature:e},configuration:{baseURL:s,fetch:Zp(n.token)}})};var Yp=w.object({id:w.string().min(1),name:w.string().min(1),description:w.string().min(1)});w.array(Yp);var Xp="0.1",an=1536,Qp="openai",em=qp.default,tm=`Name: {name}
72
- Title: {title}
73
- Description: {description}`,rm=`Name: {name}
74
- Alias: {alias}
75
- Description: {description}`,rR=w.object({schemaVersion:w.literal(Xp),modified:w.number().int().nonnegative(),embeddings:w.object({modelProvider:w.literal(Qp),model:w.literal(em),dimensions:w.literal(an),templates:w.object({layer:w.string().default(tm),field:w.string().default(rm)})}),layers:w.array(w.object({id:w.string().min(1),name:w.string().min(1),title:w.string().catch(""),description:w.string().catch(""),vector:w.array(w.number()).length(an,{message:`Layer vector must be exactly ${an} dimensions`}),fields:w.array(w.object({name:w.string().min(1),alias:w.string().catch(""),description:w.string().catch(""),vector:w.array(w.number()).length(an,{message:`Field vector must be exactly ${an} dimensions`})}))})).default([])});var nm=(t,e)=>{let r=Xs.fromTemplate(t);return Qs.fromMessages([r,...e])};var po=async t=>{let{promptText:e,modelTier:r="default",temperature:n=0,messages:o,inputVariables:s,schema:a}=t,i=nm(e,o??[]),u=(await Gp(r,n)).withStructuredOutput(a);return await i.pipe(u).invoke(s??{})};var om=$.object({name:$.string(),description:$.string(),valueType:$.string(),alias:$.string()}),nR=$.object({fields:$.array(om)});var oR=$.object({title:$.string(),description:$.string(),name:$.string().nullable()});var jl="portalItemAnalyticsSummaryMemory",sm=()=>({latestItemId:null,memory:{}}),Es=t=>{let e=t?.[jl]?.value;if(!e||typeof e!="object")return sm();let r=e,n=typeof r.latestItemId=="string"?r.latestItemId:null,o=r.memory&&typeof r.memory=="object"?r.memory:{};return{latestItemId:n,memory:o}},am=t=>({[jl]:{value:t}}),im=$.object({intent:$.enum(["summarize","followUp","clarify"]),itemId:$.string().default(""),question:$.string().default("")}),lm=$.object({summary:$.string(),followUpQuestions:$.array($.string()).default([])}),um=$.object({answer:$.string(),isRelevant:$.boolean()}),Ll=t=>{for(let e=t.length-1;e>=0;e-=1){let r=t[e];if(r.type!=="human")continue;let n=r.content;if(typeof n=="string")return n;if(Array.isArray(n))return n.map(o=>typeof o=="string"?o:"text"in o&&typeof o.text=="string"?o.text:"").join(" ").trim()}return""},cm=async(t,e)=>{await un({text:"Answering follow-up...",agentName:"analytics"},e);let r=Es(t.agentExecutionContext.sharedState),n=t.analyticsItemId??r.latestItemId,o=n?r.memory[n]:void 0,s=t.analyticsQuestion||Ll(t.agentExecutionContext.messages);return o?{status:"success",outputMessage:(await po({promptText:pm,schema:um,modelTier:"default",inputVariables:{summary:o.summary,question:s,fullContext:JSON.stringify(o.fullContext)}})).answer}:{status:"success",outputMessage:"I don't have enough information yet. Please ask me to summarize the item first using summarize item <item id>."}},pm=`
76
- You answer follow-up questions about an ArcGIS item.
77
-
78
- Ground your answer in the provided item context.
79
- If the answer is not available from the provided context, state that clearly and suggest what to check next.
80
-
81
- Response rules:
82
- - Reply in concise markdown.
83
- - Keep the answer focused on the follow-up question.
84
- - Do not include internal identifiers.
85
- - Mark isRelevant=false when the question is not about this item or cannot be grounded in this item context.
86
-
87
- Item summary:
88
- {summary}
89
-
90
- Item full context
91
- {fullContext}
92
-
93
- Question:
94
- {question}
95
- `,mm=async(t,e)=>{await un({text:"Analyzing intent...",agentName:"analytics"},e);let r=Ll(t.agentExecutionContext.messages),n=!!Es(t.agentExecutionContext.sharedState).latestItemId,o=await po({promptText:dm,schema:im,inputVariables:{userMessage:r,hasSummaryContext:String(n)}}),{intent:s,itemId:a,question:i}=o,u=s==="clarify"||s==="summarize"&&!a||s==="followUp"&&!i;return{agentExecutionContext:{...t.agentExecutionContext},analyticsIntent:u?"clarify":s,analyticsItemId:a||null,analyticsQuestion:i||"",status:"success",outputMessage:u?"Please clarify with summarize item <item id> or ask a follow-up question about a summarized item.":""}},dm=`
96
- Classify the user analytics request.
97
-
98
- Rules:
99
- - intent="summarize" only when the user explicitly asks to summarize/overview/recap an item.
100
- - intent="followUp" for analytical questions about item details, including schema/fields/attributes/layers.
101
- - intent="clarify" when neither summarize nor follow-up intent is clear.
102
- - Extract itemId only when explicit in the request.
103
- - If intent is "followUp", set question to the user's full question/request text.
104
- - If intent is "summarize", set question="".
105
- - When user asks to show/list/explain fields, schema, attributes, columns, or layer details, classify as "followUp" unless they explicitly request a summary.
106
- - If hasSummaryContext is true, prefer "followUp" for detail-oriented requests that do not explicitly ask to summarize.
107
-
108
- Examples:
109
- - "Summarize item 0123456789abcdef0123456789abcdef" => summarize
110
- - "Show the layer's available fields" => followUp
111
- - "List attributes and explain what status means" => followUp
112
- - "What fields are available?" with hasSummaryContext=true => followUp
113
- - "Give me an overview of item 0123456789abcdef0123456789abcdef" => summarize
114
-
115
- hasSummaryContext:
116
- {hasSummaryContext}
117
-
118
- User message:
119
- {userMessage}
120
- `;function fm(t){let{portal:e,user:r}=t??{};if(!t||!e||!r)throw new Error("Invalid context: PortalAssistantContext with portal and user is required.")}var hm=async(t,e)=>{let r=t.analyticsItemId;if(!r)return{status:"success",outputMessage:"Please clarify with summarize item <item id>."};await un({text:`Summarizing item ${r}...`,agentName:"analytics"},e);let n=e?.configurable?.context;fm(n);let{portal:o,user:s}=n,{result:a,error:i}=await ea(s,o,r);if(i||!a)return await un({text:"Failed to get item context for summarization",agentName:"analytics"},e),{status:"success",outputMessage:"Unable to retrieve item context for summarization."};let{context:u}=a,l=await po({promptText:gm,schema:lm,modelTier:"default",inputVariables:{context:JSON.stringify(u)}}),{followUpQuestions:m,summary:d}=l,b=Es(t.agentExecutionContext.sharedState),p={latestItemId:r,memory:{...b.memory,[r]:{summary:d,followUpQuestions:m,fullContext:u}}};return m.length&&await Dl({type:"suggested-prompts",data:{prompts:m}},e),{status:"success",outputMessage:d,sharedStatePatch:am(p)}},gm=`
121
- You are a item summary tool for ArcGIS. Your job is to summarize an item's info based on the provided context.
122
- Summary rules:
123
- - The summary should be concise markdown, make sure to format the output nicely so it's easy to read.
124
- - Target length: 80-150 words.
125
- - Provide one short descriptive paragraph.
126
- - Also propose 3 concise follow-up questions grounded in the item summary.
127
- - Keep follow-up questions specific and actionable.
128
- Follow-up questions rules:
129
- - These questions should be in the format of a prompt that the user can click on.
130
- - Make sure the questions are relevant to the item summary and that you can answer based solely on the provided context.
131
- Do not include internal identifiers.
132
- If the user asks for a detailed summary, you may expand the response up to 300 words.
133
- Item context:
134
- {context}
135
- `,ks=(t,e)=>e??t,zl=G.Root({...$l(),analyticsIntent:G({reducer:ks,default:()=>"clarify"}),analyticsItemId:G({reducer:ks,default:()=>null}),analyticsQuestion:G({reducer:ks,default:()=>""})}),ym=()=>new Tn(zl).addNode("detectAnalyticsIntent",mm).addNode("summarizePortalItem",hm).addNode("answerAnalyticsFollowUp",cm).addEdge(cn,"detectAnalyticsIntent").addConditionalEdges("detectAnalyticsIntent",t=>t.analyticsIntent==="summarize"?"summarizePortalItem":t.analyticsIntent==="followUp"?"answerAnalyticsFollowUp":et).addEdge("summarizePortalItem",et).addEdge("answerAnalyticsFollowUp",et),_m=String.raw`- **portal-item-analytics** - Portal item analytics assistant:
136
- - summarizes ArcGIS portal items from item context
137
- - suggests follow-up prompts grounded in the item
138
- `,wm={id:"portal-item-analytics",name:"Portal Item Analytics",description:_m,createGraph:ym,workspace:zl},bm=Rs`:host{height:100%;border-width:1px;border-style:solid;border-color:var(--calcite-color-border-3);display:block;width:100%;--tw-shadow: 0 1px 6px -1px rgba(0, 0, 0, .16), 0 1px 2px -1px rgba(0, 0, 0, .08);--tw-shadow-colored: 0 1px 6px -1px var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.chat-entry{display:flex;flex-direction:column;gap:.75rem;width:100%}.chat-actions{display:flex;justify-content:flex-end;gap:.5rem}.header-actions{display:flex;gap:.5rem;padding-inline-start:.75rem}`,Ss=class extends Ns{constructor(){super(...arguments),this.t9n=Ds({blocking:!0}),this.assistantEl=Sr(),this.formEl=Sr(),this.voiceInputEl=Sr(),this.inputEl=Sr(),this.inputText="",this.showVoiceInput=!0,this.isListening=!1,this.isVoiceInputDisabled=!1,this.autoDestroyDisabled=!1,this.defaultClosed=!1,this.openEntitiesInNewTab=!1}static{this.properties={inputText:16,showVoiceInput:16,isListening:16,isVoiceInputDisabled:16,autoDestroyDisabled:5,portal:0,user:0,config:0,defaultClosed:5,openEntitiesInNewTab:5}}static{this.styles=bm}render(){let{t9n:e,inputText:r,portal:n,user:o,showVoiceInput:s,isListening:a,isVoiceInputDisabled:i}=this;return fo`<arcgis-assistant keep-suggested-prompts .heading=${e.heading} .entryMessage=${e.entryMessage} @arcgisPromptSelect=${({detail:u})=>{this.inputText=u.prompt,requestAnimationFrame(()=>{this.inputEl.value?.focusTextArea()})}} ${Er(this.assistantEl)}><div slot=header-actions-start class="header-actions"><calcite-icon icon=effects></calcite-icon></div><form slot=chat-entry class="chat-entry" @submit=${u=>{u.preventDefault();let l=r.trim();l&&(this.assistantEl.value?.submitMessage(l),this.inputText="")}} ${Er(this.formEl)}><arcgis-portal-mentionable-text-area .portal=${n} .user=${o} rows=3 .popoverListLabel=${e.mentionEntities} .placeholder=${e.placeholder} .value=${r} @arcgisUserMentionableTextAreaKeyDown=${({detail:u})=>{u.key==="Enter"&&!u.shiftKey&&(u.preventDefault(),this.formEl.value?.requestSubmit())}} @arcgisUserMentionableTextAreaChange=${({detail:u})=>{this.inputText=u??""}} ${Er(this.inputEl)}></arcgis-portal-mentionable-text-area><div class="chat-actions"><arcgis-portal-voice-input @arcgisVoiceInputStart=${()=>{this.isListening=!0,this.isVoiceInputDisabled=!1}} @arcgisVoiceInputStop=${()=>{this.isListening=!1,this.isVoiceInputDisabled=!1}} @arcgisVoiceInputError=${u=>{u.detail.errorCode==="not-supported"&&(this.showVoiceInput=!1)}} @arcgisVoiceInputInterimTranscription=${u=>{this.inputText=u.detail.text}} ${Er(this.voiceInputEl)}></arcgis-portal-voice-input>${s&&fo`<calcite-button icon-start=microphone .label=${e.voiceInput} round .disabled=${i} .appearance=${a?"solid":"outline-fill"} @click=${async()=>{this.isVoiceInputDisabled=!0;let u=this.voiceInputEl.value;a?await u?.stopListening():await u?.startListening()}}></calcite-button>`||""}<calcite-button type=submit icon-start=send round .disabled=${!r.trim()} .label=${e.send}>${e.send}</calcite-button></div></form><arcgis-assistant-agent .agent=${wm} .context=${{portal:n,user:o}}></arcgis-assistant-agent></arcgis-assistant>`}};$s("arcgis-portal-ai-assistant",Ss);return Ss},"identity/IdentityManager","portal/Portal","core/reactiveUtils","layers/FeatureLayer","request",a)