@arcgis/ai-components 5.2.0-next.113 → 5.2.0-next.115

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 (297) hide show
  1. package/dist/agent-utils/LLMAgent.js +78 -53
  2. package/dist/agent-utils/types.d.ts +16 -3
  3. package/dist/agents/tools/filter/setFeatureEffect/adapter.js +17 -17
  4. package/dist/agents/tools/query/getStatistics/adapter.js +5 -5
  5. package/dist/agents/tools/query/getTopFeatures/adapter.js +3 -3
  6. package/dist/agents/tools/query/queryFeatures/adapter.js +1 -1
  7. package/dist/cdn/{7KSFIRXB.js → 23CPLCYW.js} +1 -1
  8. package/dist/cdn/{DG27JEYG.js → 2NODROJN.js} +2 -2
  9. package/dist/cdn/{TWU3QXAS.js → 4PKMJMND.js} +1 -1
  10. package/dist/cdn/{6P44KOKX.js → 4WYNWR6R.js} +1 -1
  11. package/dist/cdn/{6OOZSZRJ.js → 5QXGQW2N.js} +1 -1
  12. package/dist/cdn/6KSMVYBS.js +2 -0
  13. package/dist/cdn/{JICNSK6Y.js → 6XZYQ74A.js} +1 -1
  14. package/dist/cdn/{33PB7ALY.js → 6YRLY5TX.js} +1 -1
  15. package/dist/cdn/{WSWB3B7B.js → 7ELUGB4X.js} +1 -1
  16. package/dist/cdn/{BBPD2AS7.js → BJNYJCS5.js} +1 -1
  17. package/dist/cdn/{VNLSYVPE.js → BKAXFQIS.js} +1 -1
  18. package/dist/cdn/{POZYDAU2.js → BN7CIVBD.js} +1 -1
  19. package/dist/cdn/{V6HOUZPZ.js → C7P6MHMZ.js} +1 -1
  20. package/dist/cdn/{SZRJTQ54.js → CA3RNGPN.js} +1 -1
  21. package/dist/cdn/{POL6HKCG.js → CESQ3SFP.js} +1 -1
  22. package/dist/cdn/{ENM3L4AC.js → CLTV27HJ.js} +1 -1
  23. package/dist/cdn/{F5NIRETW.js → CSTXLFCP.js} +1 -1
  24. package/dist/cdn/{5A355PGH.js → CVAVY7R2.js} +1 -1
  25. package/dist/cdn/{HMNBUGH2.js → CZIAU7PC.js} +1 -1
  26. package/dist/cdn/{HMIDFTEI.js → DEPD7PJL.js} +1 -1
  27. package/dist/cdn/EJ7QJLUE.js +2 -0
  28. package/dist/cdn/{AVZ5Y6BK.js → ES54NWOB.js} +1 -1
  29. package/dist/cdn/{EDXTPEEU.js → FYIZOGHC.js} +1 -1
  30. package/dist/cdn/{SITY6L4S.js → FZTNWDOU.js} +1 -1
  31. package/dist/cdn/{HHP5YLUI.js → H4N7VNL5.js} +1 -1
  32. package/dist/cdn/{QNXI3WOF.js → HAHL6K4X.js} +2 -2
  33. package/dist/cdn/{EVMIYZWD.js → HFHRMM6Q.js} +1 -1
  34. package/dist/cdn/{2MWUBKWI.js → HSILCMAR.js} +1 -1
  35. package/dist/cdn/IMRIVNHX.js +2 -0
  36. package/dist/cdn/{IH26MIYY.js → ITCZC2VY.js} +1 -1
  37. package/dist/cdn/{AHCXG7XF.js → JNOH4PD5.js} +1 -1
  38. package/dist/cdn/{LAVFUDUG.js → JTEY4E7E.js} +1 -1
  39. package/dist/cdn/{3UEKINYC.js → JTKVVKZK.js} +1 -1
  40. package/dist/cdn/{O4NVW75A.js → K5FWDMTV.js} +1 -1
  41. package/dist/cdn/KA3S22NQ.js +2 -0
  42. package/dist/cdn/{EYOWRGDP.js → KPJHQ424.js} +1 -1
  43. package/dist/cdn/{MXTXJKFE.js → KQGC2FCP.js} +1 -1
  44. package/dist/cdn/{DE26DAW5.js → LDIUJUI7.js} +1 -1
  45. package/dist/cdn/NR2O3AP2.js +2 -0
  46. package/dist/cdn/NWJQ7KTC.js +2 -0
  47. package/dist/cdn/{BL273EGZ.js → OT5ECP4V.js} +2 -0
  48. package/dist/cdn/{DWH23NJN.js → PGVLC374.js} +1 -1
  49. package/dist/cdn/{SXM4NUT5.js → PQRE67OM.js} +1 -1
  50. package/dist/cdn/QZL4SAYR.js +6 -0
  51. package/dist/cdn/{TO2NY7EA.js → RGOCE3QN.js} +1 -1
  52. package/dist/cdn/{EYY367WR.js → SLD4ZVT6.js} +1 -1
  53. package/dist/cdn/{H6P3WP5D.js → UT6JA4TK.js} +1 -1
  54. package/dist/cdn/{7EHOFQ2P.js → UZ6OAU3F.js} +2 -2
  55. package/dist/cdn/{33SFAZQG.js → VBEZDXBV.js} +1 -1
  56. package/dist/cdn/{RXF2NUOL.js → VF4BIBQT.js} +1 -1
  57. package/dist/cdn/VJRJ2HAM.js +3 -0
  58. package/dist/cdn/{UDRKUVZP.js → VYOIFJVE.js} +1 -1
  59. package/dist/cdn/{C7JPWFZE.js → XUYARLRP.js} +1 -1
  60. package/dist/cdn/ZA2WIUWH.js +2 -0
  61. package/dist/cdn/{TYATJUNF.js → ZCFYGCCV.js} +1 -1
  62. package/dist/cdn/ZGZX7GR5.js +2 -0
  63. package/dist/cdn/agent-utils/index.js +1 -1
  64. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  65. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  66. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  67. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  68. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  69. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  70. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  71. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  72. package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -1
  73. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  74. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  75. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  76. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  77. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  78. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  79. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  80. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  81. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  82. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  83. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  84. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  85. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  86. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  87. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  88. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  89. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  90. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  91. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  92. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  93. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  94. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  95. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  96. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  97. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  98. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  99. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  100. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  101. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  102. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  103. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  104. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -1
  105. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -1
  106. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -1
  107. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -1
  108. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -1
  109. package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -1
  110. package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -1
  111. package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -1
  112. package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -1
  113. package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -1
  114. package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -1
  115. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -1
  116. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -1
  117. package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -1
  118. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -1
  119. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -1
  120. package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -1
  121. package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -1
  122. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -1
  123. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -1
  124. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -1
  125. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -1
  126. package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -1
  127. package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -1
  128. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -1
  129. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -1
  130. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -1
  131. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -1
  132. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -1
  133. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -1
  134. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -1
  135. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -1
  136. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -1
  137. package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -1
  138. package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -1
  139. package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -1
  140. package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -1
  141. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -1
  142. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -1
  143. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -1
  144. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ar.json +1 -0
  145. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bg.json +1 -0
  146. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bs.json +1 -0
  147. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ca.json +1 -0
  148. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.cs.json +1 -0
  149. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.da.json +1 -0
  150. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.de.json +1 -0
  151. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.el.json +1 -0
  152. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.es.json +1 -0
  153. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.et.json +1 -0
  154. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fi.json +1 -0
  155. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fr.json +1 -0
  156. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.he.json +1 -0
  157. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hr.json +1 -0
  158. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hu.json +1 -0
  159. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.id.json +1 -0
  160. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.it.json +1 -0
  161. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ja.json +1 -0
  162. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ko.json +1 -0
  163. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lt.json +1 -0
  164. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lv.json +1 -0
  165. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.nl.json +1 -0
  166. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.no.json +1 -0
  167. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pl.json +1 -0
  168. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-BR.json +1 -0
  169. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-PT.json +1 -0
  170. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ro.json +1 -0
  171. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ru.json +1 -0
  172. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sk.json +1 -0
  173. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sl.json +1 -0
  174. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sr.json +1 -0
  175. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sv.json +1 -0
  176. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.th.json +1 -0
  177. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.tr.json +1 -0
  178. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.uk.json +1 -0
  179. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.vi.json +1 -0
  180. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-CN.json +1 -0
  181. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-HK.json +1 -0
  182. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-TW.json +1 -0
  183. package/dist/cdn/assets/assistant-message/t9n/messages.ar.json +1 -0
  184. package/dist/cdn/assets/assistant-message/t9n/messages.bg.json +1 -0
  185. package/dist/cdn/assets/assistant-message/t9n/messages.bs.json +1 -0
  186. package/dist/cdn/assets/assistant-message/t9n/messages.ca.json +1 -0
  187. package/dist/cdn/assets/assistant-message/t9n/messages.cs.json +1 -0
  188. package/dist/cdn/assets/assistant-message/t9n/messages.da.json +1 -0
  189. package/dist/cdn/assets/assistant-message/t9n/messages.de.json +1 -0
  190. package/dist/cdn/assets/assistant-message/t9n/messages.el.json +1 -0
  191. package/dist/cdn/assets/assistant-message/t9n/messages.es.json +1 -0
  192. package/dist/cdn/assets/assistant-message/t9n/messages.et.json +1 -0
  193. package/dist/cdn/assets/assistant-message/t9n/messages.fi.json +1 -0
  194. package/dist/cdn/assets/assistant-message/t9n/messages.fr.json +1 -0
  195. package/dist/cdn/assets/assistant-message/t9n/messages.he.json +1 -0
  196. package/dist/cdn/assets/assistant-message/t9n/messages.hr.json +1 -0
  197. package/dist/cdn/assets/assistant-message/t9n/messages.hu.json +1 -0
  198. package/dist/cdn/assets/assistant-message/t9n/messages.id.json +1 -0
  199. package/dist/cdn/assets/assistant-message/t9n/messages.it.json +1 -0
  200. package/dist/cdn/assets/assistant-message/t9n/messages.ja.json +1 -0
  201. package/dist/cdn/assets/assistant-message/t9n/messages.ko.json +1 -0
  202. package/dist/cdn/assets/assistant-message/t9n/messages.lt.json +1 -0
  203. package/dist/cdn/assets/assistant-message/t9n/messages.lv.json +1 -0
  204. package/dist/cdn/assets/assistant-message/t9n/messages.nl.json +1 -0
  205. package/dist/cdn/assets/assistant-message/t9n/messages.no.json +1 -0
  206. package/dist/cdn/assets/assistant-message/t9n/messages.pl.json +1 -0
  207. package/dist/cdn/assets/assistant-message/t9n/messages.pt-BR.json +1 -0
  208. package/dist/cdn/assets/assistant-message/t9n/messages.pt-PT.json +1 -0
  209. package/dist/cdn/assets/assistant-message/t9n/messages.ro.json +1 -0
  210. package/dist/cdn/assets/assistant-message/t9n/messages.ru.json +1 -0
  211. package/dist/cdn/assets/assistant-message/t9n/messages.sk.json +1 -0
  212. package/dist/cdn/assets/assistant-message/t9n/messages.sl.json +1 -0
  213. package/dist/cdn/assets/assistant-message/t9n/messages.sr.json +1 -0
  214. package/dist/cdn/assets/assistant-message/t9n/messages.sv.json +1 -0
  215. package/dist/cdn/assets/assistant-message/t9n/messages.th.json +1 -0
  216. package/dist/cdn/assets/assistant-message/t9n/messages.tr.json +1 -0
  217. package/dist/cdn/assets/assistant-message/t9n/messages.uk.json +1 -0
  218. package/dist/cdn/assets/assistant-message/t9n/messages.vi.json +1 -0
  219. package/dist/cdn/assets/assistant-message/t9n/messages.zh-CN.json +1 -0
  220. package/dist/cdn/assets/assistant-message/t9n/messages.zh-HK.json +1 -0
  221. package/dist/cdn/assets/assistant-message/t9n/messages.zh-TW.json +1 -0
  222. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ar.json +1 -0
  223. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bg.json +1 -0
  224. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bs.json +1 -0
  225. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ca.json +1 -0
  226. package/dist/cdn/assets/assistant-message-loading/t9n/messages.cs.json +1 -0
  227. package/dist/cdn/assets/assistant-message-loading/t9n/messages.da.json +1 -0
  228. package/dist/cdn/assets/assistant-message-loading/t9n/messages.de.json +1 -0
  229. package/dist/cdn/assets/assistant-message-loading/t9n/messages.el.json +1 -0
  230. package/dist/cdn/assets/assistant-message-loading/t9n/messages.es.json +1 -0
  231. package/dist/cdn/assets/assistant-message-loading/t9n/messages.et.json +1 -0
  232. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fi.json +1 -0
  233. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fr.json +1 -0
  234. package/dist/cdn/assets/assistant-message-loading/t9n/messages.he.json +1 -0
  235. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hr.json +1 -0
  236. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hu.json +1 -0
  237. package/dist/cdn/assets/assistant-message-loading/t9n/messages.id.json +1 -0
  238. package/dist/cdn/assets/assistant-message-loading/t9n/messages.it.json +1 -0
  239. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ja.json +1 -0
  240. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ko.json +1 -0
  241. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lt.json +1 -0
  242. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lv.json +1 -0
  243. package/dist/cdn/assets/assistant-message-loading/t9n/messages.nl.json +1 -0
  244. package/dist/cdn/assets/assistant-message-loading/t9n/messages.no.json +1 -0
  245. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pl.json +1 -0
  246. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-BR.json +1 -0
  247. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-PT.json +1 -0
  248. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ro.json +1 -0
  249. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ru.json +1 -0
  250. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sk.json +1 -0
  251. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sl.json +1 -0
  252. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sr.json +1 -0
  253. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sv.json +1 -0
  254. package/dist/cdn/assets/assistant-message-loading/t9n/messages.th.json +1 -0
  255. package/dist/cdn/assets/assistant-message-loading/t9n/messages.tr.json +1 -0
  256. package/dist/cdn/assets/assistant-message-loading/t9n/messages.uk.json +1 -0
  257. package/dist/cdn/assets/assistant-message-loading/t9n/messages.vi.json +1 -0
  258. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-CN.json +1 -0
  259. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-HK.json +1 -0
  260. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-TW.json +1 -0
  261. package/dist/cdn/index.js +1 -1
  262. package/dist/chunks/SKILL.js +1 -1
  263. package/dist/chunks/SKILL2.js +1 -1
  264. package/dist/chunks/baseAgentState.js +7 -6
  265. package/dist/chunks/dataExplorationAgent.js +3 -3
  266. package/dist/chunks/intent_prompt.js +2 -0
  267. package/dist/chunks/orchestrator.js +9 -6
  268. package/dist/chunks/resolveGeometryFilter.js +149 -0
  269. package/dist/chunks/state.js +50 -39
  270. package/dist/components/arcgis-assistant/customElement.d.ts +23 -3
  271. package/dist/components/arcgis-assistant/customElement.js +213 -187
  272. package/dist/components/arcgis-assistant/types.d.ts +108 -0
  273. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -4
  274. package/dist/components/arcgis-assistant-chat-entry/customElement.js +344 -45
  275. package/dist/components/arcgis-assistant-chat-entry/index.js +3 -0
  276. package/dist/docs/api.json +1 -1
  277. package/dist/docs/docs.json +1 -1
  278. package/dist/docs/vscode.html-custom-data.json +1 -1
  279. package/dist/docs/web-types.json +1 -1
  280. package/dist/loader.js +2 -2
  281. package/dist/types/lumina.d.ts +2 -2
  282. package/dist/types/preact.d.ts +2 -2
  283. package/dist/types/react.d.ts +2 -2
  284. package/dist/types/stencil.d.ts +2 -2
  285. package/dist/utils/index.d.ts +20 -0
  286. package/package.json +5 -5
  287. package/dist/cdn/2O4DON37.js +0 -2
  288. package/dist/cdn/4AQBRGO2.js +0 -3
  289. package/dist/cdn/4IU63OWQ.js +0 -2
  290. package/dist/cdn/FS7GXTTQ.js +0 -6
  291. package/dist/cdn/JQYLMTDP.js +0 -2
  292. package/dist/cdn/OMF6ITSG.js +0 -2
  293. package/dist/cdn/RLEHNAIA.js +0 -2
  294. package/dist/cdn/SHI76XUV.js +0 -2
  295. package/dist/cdn/UHICISBZ.js +0 -2
  296. package/dist/cdn/ZFOG3KXV.js +0 -2
  297. package/dist/chunks/resolvePointGeometryFilter.js +0 -92
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as ps,b as pl,c as fl,d as dl}from"./FS7GXTTQ.js";import{b as Lc}from"./R74ZHFA6.js";import{a as Cr}from"./V7Y22FRP.js";import{c as ml,d as hl,e as yl}from"./AXTQU5YL.js";import{$ as ll,aa as Za,b as tl,d as nl,e as ol,f as Ai,g as qa,h as Nn,i as Ha,j as sl,k as il,ka as xt,m as al,n as ul,o as bi,p as Xa,q as cl}from"./LOQ2PKV5.js";import{$ as Wc,Da as Xc,Ea as Ne,O as mi,P as Bc,Pb as F,R as Fc,Sb as Wa,W as hi,Wb as $n,X as Kc,d as Tr,da as qc,ec as el,g as Uc,h as fi,ia as Ka,jb as cs,la as Hc,mb as Gc,n as Ba,nb as Yc,o as Fa,oc as gi,p as di,pb as ls,ta as Ue,ua as yi,wa as Cn,xb as Qc,zc as _i}from"./IYLFJCJ2.js";import{a as Be}from"./VXFQANGJ.js";import{$ as Vc,Dd as v,ia as rl,j as Zc,t as Jc}from"./MWYBF3F3.js";import{a as Lm,b as Um,c as Bm}from"./UZLQALHY.js";export default $arcgis.t(([Em,Tm,jb,Mb])=>{var rp=Lm((G,Ri)=>{"use strict";if(typeof Ri<"u"&&Ri!==globalThis.module&&typeof G<"u"&&Ri.exports===G){Object.defineProperty(G,"__esModule",{value:!0}),G.findX509Credential=G.rememberX509Credential=G.findX509OAuthError=G.rememberX509OAuthError=G.isApprovedX509Client=G.markApprovedX509Client=G.isRetryableX509IssuerError=G.markRetryableX509IssuerError=G.isTransientX509ConnectionError=G.markTransientX509ConnectionError=G.rememberRegisteredX509Transport=G.findRegisteredX509Transport=void 0;let t=new WeakMap,e=new WeakSet,r=new WeakSet,n=new WeakSet,o=new WeakMap,s=new WeakMap;G.findRegisteredX509Transport=WeakMap.prototype.get.bind(t),G.rememberRegisteredX509Transport=WeakMap.prototype.set.bind(t),G.markTransientX509ConnectionError=WeakSet.prototype.add.bind(e),G.isTransientX509ConnectionError=WeakSet.prototype.has.bind(e),G.markRetryableX509IssuerError=WeakSet.prototype.add.bind(r),G.isRetryableX509IssuerError=WeakSet.prototype.has.bind(r),G.markApprovedX509Client=WeakSet.prototype.add.bind(n),G.isApprovedX509Client=WeakSet.prototype.has.bind(n),G.rememberX509OAuthError=WeakMap.prototype.set.bind(o),G.findX509OAuthError=WeakMap.prototype.get.bind(o),G.rememberX509Credential=WeakMap.prototype.set.bind(s),G.findX509Credential=WeakMap.prototype.get.bind(s)}});function fs(t,e){return t.lc_error_code=e,t.message=`${t.message}
2
+ import{a as ps,b as pl,c as fl,d as dl}from"./QZL4SAYR.js";import{b as Lc}from"./R74ZHFA6.js";import{a as Cr}from"./V7Y22FRP.js";import{c as ml,d as hl,e as yl}from"./AXTQU5YL.js";import{$ as ll,aa as Za,b as tl,d as nl,e as ol,f as Ai,g as qa,h as Nn,i as Ha,j as sl,k as il,ka as xt,m as al,n as ul,o as bi,p as Xa,q as cl}from"./LOQ2PKV5.js";import{$ as Wc,Da as Xc,Ea as Ne,O as mi,P as Bc,Pb as F,R as Fc,Sb as Wa,W as hi,Wb as $n,X as Kc,d as Tr,da as qc,ec as el,g as Uc,h as fi,ia as Ka,jb as cs,la as Hc,mb as Gc,n as Ba,nb as Yc,o as Fa,oc as gi,p as di,pb as ls,ta as Ue,ua as yi,wa as Cn,xb as Qc,zc as _i}from"./IYLFJCJ2.js";import{a as Be}from"./VXFQANGJ.js";import{$ as Vc,Dd as v,ia as rl,j as Zc,t as Jc}from"./MWYBF3F3.js";import{a as Lm,b as Um,c as Bm}from"./UZLQALHY.js";export default $arcgis.t(([Em,Tm,jb,Mb])=>{var rp=Lm((G,Ri)=>{"use strict";if(typeof Ri<"u"&&Ri!==globalThis.module&&typeof G<"u"&&Ri.exports===G){Object.defineProperty(G,"__esModule",{value:!0}),G.findX509Credential=G.rememberX509Credential=G.findX509OAuthError=G.rememberX509OAuthError=G.isApprovedX509Client=G.markApprovedX509Client=G.isRetryableX509IssuerError=G.markRetryableX509IssuerError=G.isTransientX509ConnectionError=G.markTransientX509ConnectionError=G.rememberRegisteredX509Transport=G.findRegisteredX509Transport=void 0;let t=new WeakMap,e=new WeakSet,r=new WeakSet,n=new WeakSet,o=new WeakMap,s=new WeakMap;G.findRegisteredX509Transport=WeakMap.prototype.get.bind(t),G.rememberRegisteredX509Transport=WeakMap.prototype.set.bind(t),G.markTransientX509ConnectionError=WeakSet.prototype.add.bind(e),G.isTransientX509ConnectionError=WeakSet.prototype.has.bind(e),G.markRetryableX509IssuerError=WeakSet.prototype.add.bind(r),G.isRetryableX509IssuerError=WeakSet.prototype.has.bind(r),G.markApprovedX509Client=WeakSet.prototype.add.bind(n),G.isApprovedX509Client=WeakSet.prototype.has.bind(n),G.rememberX509OAuthError=WeakMap.prototype.set.bind(o),G.findX509OAuthError=WeakMap.prototype.get.bind(o),G.rememberX509Credential=WeakMap.prototype.set.bind(s),G.findX509Credential=WeakMap.prototype.get.bind(s)}});function fs(t,e){return t.lc_error_code=e,t.message=`${t.message}
3
3
 
4
4
  Troubleshooting URL: https://docs.langchain.com/oss/javascript/langchain/errors/${e}/
5
5
  `,t}function O(t,e,r,n,o){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!o:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?o.call(t,r):o?o.value=r:e.set(t,r),r}function c(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)}var Ht=function(){let{crypto:t}=globalThis;if(t?.randomUUID)return Ht=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 Pt(t){return typeof t=="object"&&t!==null&&("name"in t&&t.name==="AbortError"||"message"in t&&String(t.message).includes("FetchRequestCanceledException"))}var ds=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 y=class extends Error{},Y=class t extends y{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 Fe({message:n,cause:ds(r)});let s=r?.error;return e===400?new Xt(e,s,n,o):e===401?new Zt(e,s,n,o):e===403?new Jt(e,s,n,o):e===404?new Vt(e,s,n,o):e===409?new Gt(e,s,n,o):e===422?new Yt(e,s,n,o):e===429?new Qt(e,s,n,o):e>=500?new er(e,s,n,o):new t(e,s,n,o)}},q=class extends Y{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}},Fe=class extends Y{constructor({message:e,cause:r}){super(void 0,void 0,e||"Connection error.",void 0),r&&(this.cause=r)}},ne=class extends Fe{constructor({message:e}={}){super({message:e??"Request timed out."})}},Xt=class extends Y{},Zt=class extends Y{},Jt=class extends Y{},Vt=class extends Y{},Gt=class extends Y{},Yt=class extends Y{},Qt=class extends Y{},er=class extends Y{},tr=class extends y{constructor(){super("Could not parse response content as the length limit was reached")}},rr=class extends y{constructor(){super("Could not parse response content as the request was rejected by the content filter")}},ke=class extends Error{constructor(e){super(e)}},Ke=class extends Y{constructor(e,r,n){let o="OAuth2 authentication error",s;if(r&&typeof r=="object"){let i=r;s=i.error;let a=i.error_description;a&&typeof a=="string"?o=a:s&&(o=s)}super(e,r,o,n),this.error_code=s}},$r=class extends y{constructor(e,r,n){super(e),this.provider=r,this.cause=n}};var Km=/^[a-z][a-z0-9+.-]*:/i,gl=t=>Km.test(t),be=t=>(be=Array.isArray,be(t)),Ja=be;function wi(t){return typeof t!="object"?{}:t??{}}function Va(t){if(!t)return!0;for(let e in t)return!1;return!0}function N(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function We(t){return t!=null&&typeof t=="object"&&!Array.isArray(t)}var Ga=(t,e)=>{if(typeof e!="number"||!Number.isInteger(e))throw new y(`${t} must be an integer`);if(e<0)throw new y(`${t} must be a positive integer`);return e};var _l=t=>{try{return JSON.parse(t)}catch{return}};var jn=t=>new Promise(e=>setTimeout(e,t));function ms(){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 Ya(...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 hs(t){let e=Symbol.asyncIterator in t?t[Symbol.asyncIterator]():t[Symbol.iterator]();return Ya({start(){},async pull(r){let{done:n,value:o}=await e.next();n?r.close():r.enqueue(o)},async cancel(){await e.return?.()}})}function Ii(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 St(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 bl;function Ae(t){let e;return(bl??(e=new globalThis.TextEncoder,bl=e.encode.bind(e)))(t)}var wl;function Il(t){let e;return(wl??(e=new globalThis.TextDecoder,wl=e.decode.bind(e)))(t)}var Qa,ae,re,oe,ht,Nr,xl,ys=64*1024,jr=class{constructor(){Qa.add(this),ae.set(this,void 0),re.set(this,void 0),oe.set(this,void 0),ht.set(this,void 0),Nr.set(this,void 0),O(this,ae,new Uint8Array,"f"),O(this,re,0,"f"),O(this,oe,0,"f"),O(this,ht,0,"f"),O(this,Nr,!1,"f")}decode(e){if(e==null)return[];let r;if(e instanceof ArrayBuffer?r=new Uint8Array(e):typeof e=="string"?r=Ae(e):r=e,r.length===0)return[];if(c(this,Nr,"f")&&(O(this,Nr,!1,"f"),r[0]===10&&(r=r.subarray(1)),r.length===0))return[];c(this,Qa,"m",xl).call(this,r);let n=[],o;for(;(o=Wm(c(this,ae,"f"),c(this,ht,"f"),c(this,oe,"f")))!=null;){let s=Il(c(this,ae,"f").subarray(c(this,re,"f"),o.preceding));n.push(s),O(this,re,o.index,"f"),o.carriage&&(c(this,re,"f")<c(this,oe,"f")&&c(this,ae,"f")[c(this,re,"f")]===10?O(this,re,c(this,re,"f")+1,"f"):c(this,re,"f")===c(this,oe,"f")&&O(this,Nr,!0,"f")),O(this,ht,c(this,re,"f"),"f")}if(O(this,ht,c(this,oe,"f"),"f"),c(this,re,"f")===c(this,oe,"f"))O(this,re,0,"f"),O(this,oe,0,"f"),O(this,ht,0,"f"),c(this,ae,"f").length>ys&&O(this,ae,new Uint8Array,"f");else if(n.length>0&&c(this,ae,"f").length>ys){let s=c(this,oe,"f")-c(this,re,"f");if(s<=ys||c(this,ae,"f").length>s*4){let i=s<=ys?Math.min(Math.max(s*2,256),ys):s*2,a=new Uint8Array(i);a.set(c(this,ae,"f").subarray(c(this,re,"f"),c(this,oe,"f"))),O(this,ae,a,"f"),O(this,re,0,"f"),O(this,oe,s,"f"),O(this,ht,s,"f")}}return n}flush(){return O(this,Nr,!1,"f"),c(this,re,"f")===c(this,oe,"f")?[]:this.decode(`
@@ -38,7 +38,7 @@ https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety
38
38
  ]))`;continue}else if(o[l]==="$"){s+=`($|(?=[\r
39
39
  ]))`;continue}}if(n.s&&o[l]==="."){s+=a?`${o[l]}\r
40
40
  `:`[${o[l]}\r
41
- ]`;continue}s+=o[l],o[l]==="\\"?i=!0:a&&o[l]==="]"?a=!1:!a&&o[l]==="["&&(a=!0)}try{let l=new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return s};function wa(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===F.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:Object.fromEntries(t.keyType._def.values.map(n=>[n,z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}])),additionalProperties:!1};let r={type:"object",additionalProperties:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===F.ZodString&&t.keyType._def.checks?.length){let n=Object.fromEntries(Object.entries(ba(t.keyType._def,e)).filter(([o])=>o!=="type"));return{...r,propertyNames:n}}else if(t.keyType?._def.typeName===F.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function Rd(t,e){if(e.mapStrategy==="record")return wa(t,e);let r=z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Ed(t){let e=t.values,n=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),o=[...new Set(n.map(i=>typeof i))],s=["string","number"];return o.length===1&&(s=o[0]==="string"?"string":"number"),{type:s,enum:n}}function Td(){return{not:{}}}var oi={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function $d(t,e){if(e.target==="openApi3")return Cd(t,e);let r=t.options instanceof Map?[...t.options.values()]:t.options;if(r.every(n=>n._def.typeName in oi&&(!n._def.checks||!n._def.checks.length))){let n=[];for(let o of r){let s=oi[o._def.typeName];s&&!n.includes(s)&&n.push(s)}return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=[];for(let o of r){let s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":{n.push(s);break}case"bigint":{n.push("integer");break}case"object":{o._def.value===null&&n.push("null");break}}}if(n.length===r.length){let o=n.filter((i,a,u)=>u.indexOf(i)===a),s=[];for(let i of r)s.includes(i._def.value)||s.push(i._def.value);return{type:o.length>1?o:o[0],enum:s}}}else if(r.every(n=>n._def.typeName==="ZodEnum")){let n=[];for(let o of r)for(let s of o._def.values)n.includes(s)||n.push(s);return{type:"string",enum:n}}return Cd(t,e)}var Cd=(t,e)=>{let r=(t.options instanceof Map?[...t.options.values()]:t.options).map((n,o)=>z(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Nd(t,e,r){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:oi[t.innerType._def.typeName],nullable:!0}:{type:[oi[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let o=z(t.innerType._def,{...e,currentPath:[...e.currentPath]},r);return o&&"$ref"in o?{allOf:[o],nullable:!0}:o&&{...o,nullable:!0}}let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function jd(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",gc(r,"type",n.message,e);break}case"min":{e.target==="jsonSchema7"?n.inclusive?Z(r,"minimum",n.value,n.message,e):Z(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Z(r,"minimum",n.value,n.message,e));break}case"max":{e.target==="jsonSchema7"?n.inclusive?Z(r,"maximum",n.value,n.message,e):Z(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Z(r,"maximum",n.value,n.message,e));break}case"multipleOf":{Z(r,"multipleOf",n.value,n.message,e);break}}return r}function bA(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function Md(t,e){let r={},n=[];for(let[s,i]of Object.entries(t.shape())){if(i===void 0||i._def===void 0)continue;let a=[...e.currentPath,"properties",s];if(s==="__proto__")throw new Error(`Zod field at \`${a.join("/")}\` uses unsupported property name \`__proto__\`, which Zod omits from parsed output.`);let u=z(i._def,{...e,currentPath:a,propertyPath:a});if(u!==void 0){if(e.openaiStrictMode&&i.isOptional()&&!i.isNullable()&&i._def?.defaultValue===void 0)throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);r[s]=u,(!i.isOptional()||e.openaiStrictMode)&&n.push(s)}}let o={type:"object",properties:r,required:n,additionalProperties:bA(t,e)};return o.required.length||delete o.required,o}var Dd=(t,e,r)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return z(t.innerType._def,{...e,currentPath:e.currentPath},r);let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]},r);return n?{anyOf:[{not:{}},n]}:{}};var zd=(t,e,r)=>{if(e.pipeStrategy==="input")return z(t.in._def,e,r);if(e.pipeStrategy==="output")return z(t.out._def,e,r);let n=z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),o=z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,o].filter(s=>s!==void 0)}};function Ld(t,e,r){return z(t.type._def,e,r)}function Ud(t,e){let n={type:"array",uniqueItems:!0,items:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Z(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Z(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function Bd(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0),additionalItems:z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0)}}function Fd(){return{not:{}}}function Kd(){return{}}var Wd=(t,e,r)=>z(t.innerType._def,e,r);var Hd=Symbol("Let zodToJsonSchema decide on which parser to use"),qd={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"},Xd=t=>{let e=typeof t=="string"?{...qd,basePath:["#"],definitions:{},name:t}:{...qd,basePath:["#"],definitions:{},...t};return typeof t!="string"&&t?.definitions&&e.$refStrategy==="extract-to-root"&&e.nameStrategy==="duplicate-ref"&&(e.definitions={...t.definitions}),e};var On=t=>"_def"in t?t._def:t;function Zd(t){if(!t)return!0;for(let e in t)return!1;return!0}function z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let s=e.override?.(t,e,n,r);if(s!==Hd)return s}if(n&&!r){let s=wA(n,e);if(s!==void 0)return"$ref"in s&&e.seenRefs.add(s.$ref),s}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);try{let s=xA(t,t.typeName,e,r);return s&&PA(t,e,s),o.jsonSchema=s,s}finally{r&&n&&e.seen.set(t,n)}}var wA=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"extract-to-root":{let r=t.path.slice(e.basePath.length+1).map((s,i)=>i===0?s:IA(s)).join("_"),n=r;if(!(n===e.name&&t.path.length===e.basePath.length+2&&t.path[e.basePath.length]===e.definitionPath)&&e.nameStrategy==="duplicate-ref"){let s=a=>{if(!N(e.definitions,a))return!1;let u=e.definitions[a];return u===void 0||On(u)!==t.def},i=0;for(;n===e.name||s(n);)i+=1,n=`${r}_${i}`;N(e.definitions,n)||(e.definitions[n]=t.def)}return{$ref:[...e.basePath,e.definitionPath,n].join("/")}}case"relative":return{$ref:OA(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Jd="_x_",IA=t=>{if(/^[A-Za-z0-9_-]*$/.test(t)&&!t.startsWith(Jd))return t;let e=Jd;for(let r=0;r<t.length;r++)e+=t.charCodeAt(r).toString(16).padStart(4,"0");return e},OA=(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("/")},xA=(t,e,r,n)=>{switch(e){case F.ZodString:return ba(t,r);case F.ZodNumber:return jd(t,r);case F.ZodObject:return Md(t,r);case F.ZodBigInt:return Ad(t,r);case F.ZodBoolean:return bd();case F.ZodDate:return _c(t,r);case F.ZodUndefined:return Fd();case F.ZodNull:return Aa(r);case F.ZodArray:return _d(t,r);case F.ZodUnion:case F.ZodDiscriminatedUnion:return $d(t,r);case F.ZodIntersection:return Sd(t,r);case F.ZodTuple:return Bd(t,r);case F.ZodRecord:return wa(t,r);case F.ZodLiteral:return vd(t,r);case F.ZodEnum:return Pd(t);case F.ZodNativeEnum:return Ed(t);case F.ZodNullable:return Nd(t,r,n);case F.ZodOptional:return Dd(t,r,n);case F.ZodMap:return Rd(t,r);case F.ZodSet:return Ud(t,r);case F.ZodLazy:return z(t.getter()._def,r,n);case F.ZodPromise:return Ld(t,r,n);case F.ZodNaN:case F.ZodNever:return Td();case F.ZodEffects:return xd(t,r,n);case F.ZodAny:return gd();case F.ZodUnknown:return Kd();case F.ZodDefault:return Od(t,r,n);case F.ZodBranded:return wd(t,r,n);case F.ZodReadonly:return Wd(t,r,n);case F.ZodCatch:return Id(t,r,n);case F.ZodPipeline:return zd(t,r,n);case F.ZodFunction:case F.ZodVoid:case F.ZodSymbol:return;default:return(o=>{})(e)}},PA=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Vd=t=>{let e=Xd(t),r=e.name===void 0?e.basePath:[...e.basePath,e.definitionPath,e.name];return{...e,currentPath:r,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[On(o),{def:On(o),path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function SA(t,e,r){if(t===null||typeof t!="object")throw new TypeError("Root schema must be a plain JSON-schema record");let n=Object.getPrototypeOf(t);if(![null,Object.prototype].includes(n))throw new TypeError("Root schema must be a plain JSON-schema record");let o={};for(let[u,l]of Object.entries(Object.getOwnPropertyDescriptors(t))){if(!l.enumerable)continue;if(!("value"in l))throw new TypeError(`Root schema property '${u}' must be a data property`);let p=l.value;if(u==="toJSON"&&typeof p=="function")throw new TypeError("Root schema cannot contain a callable 'toJSON' property");["undefined","function","symbol"].includes(typeof p)||Object.defineProperty(o,u,{configurable:!0,enumerable:!0,value:p,writable:!0})}let{type:s,nullable:i,$ref:a}=o;if(!["undefined","boolean"].includes(typeof i))throw new TypeError("Root schema 'nullable' must be a boolean");if(s!=="object"||i===!0){let u;throw typeof s=="string"?u=i===!0?`${s},null`:s:Array.isArray(s)&&(u=s.join(",")),new Error(`Root schema must have type: 'object' but got type: ${u?`'${u}'`:"undefined"}`)}if(a!==void 0)throw new Error("Root schema must be a concrete object and cannot contain '$ref'");if(e!==void 0&&r!=="duplicate-ref")throw new Error("Root schema must have type: 'object' but got type: undefined");return o}var bc=(t,e)=>{let r=Vd(e);r.openaiStrictMode&&(r.definitions={...r.definitions});let n;typeof e=="string"?n=e:e?.nameStrategy!=="title"&&(n=e?.name);let o=z(t._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},r.openaiStrictMode===!0)??{},s=r.openaiStrictMode?SA(o,n,r.nameStrategy):o,i=r.nameStrategy==="title"?r.name:void 0;i!==void 0&&(s.title=i);let a=(()=>{if(Zd(r.definitions))return;let l={},p=new Set;for(let m=0;m<500;m++){let f=Object.entries(r.definitions).filter(([g])=>!p.has(g));if(f.length===0)break;for(let[g,w]of f)l[g]=z(On(w),{...r,currentPath:[...r.basePath,r.definitionPath,g]},!0)??{},p.add(g)}return l})(),u;return n===void 0?u=a?{...s,[r.definitionPath]:a}:s:r.nameStrategy==="duplicate-ref"?u={...s,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:s}:void 0}}:void 0}:u={$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:s}},r.target==="jsonSchema7"?u.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(u.$schema="https://json-schema.org/draft/2019-09/schema#"),u};var pt=new Set(["$comment","default","description","examples","readOnly","title","writeOnly"]),Pn=new Set(["$id","$schema"]),xc=new Set(["additionalProperties","dependencies","maxProperties","minProperties","patternProperties","properties","propertyNames","required"]),Qd=["additionalItems","additionalProperties","contains","contentSchema","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],em=["allOf","anyOf","items","oneOf","prefixItems"],tm=["$defs","definitions","dependentSchemas","dependencies","patternProperties","properties"],vA=new Set(["$anchor","$dynamicAnchor","$dynamicRef","$recursiveAnchor","$recursiveRef","allOf","contains","contentEncoding","contentMediaType","contentSchema","dependentRequired","dependentSchemas","dependencies","else","if","maxContains","maxProperties","minContains","minProperties","not","patternProperties","prefixItems","propertyNames","then","unevaluatedItems","unevaluatedProperties","uniqueItems"]),Gd=new Set([...pt,"additionalProperties","properties","required","type"]);function ts(t,...e){for(let r of e)Object.prototype.propertyIsEnumerable.call(r,"__proto__")&&!N(t,"__proto__")&&Object.defineProperty(t,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0}),Object.assign(t,r);return t}function $e(t,e,r){let n=t;for(let o of Qd)o in n&&r(n[o],[...e,o],o);for(let o of em){let s=n[o];if(Array.isArray(s))for(let[i,a]of s.entries())r(a,[...e,o,String(i)],o);else s!==void 0&&r(s,[...e,o],o)}for(let o of tm){let s=n[o];if(H(s))for(let[i,a]of Object.entries(s))o==="dependencies"&&!rs(a)||r(a,[...e,o,i],o)}}function rm(t){let e=structuredClone(t);if(nm(e),om(e),BA(e),kA(e),e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);if(e.anyOf!==void 0)throw new Error("Root schema must not use `anyOf` because strict Structured Outputs requires a root object without a union.");Oa(e,[],e),am(e),Oa(e,[],e),KA(e),Pa(e,[],e);let r=Ia(e,[],e);return Oa(r,[],r),r}function nm(t,e=new Set){if(typeof t=="boolean"||!H(t)||e.has(t))return;e.add(t);let r=t;for(let n of Object.keys(r))r[n]===void 0&&delete r[n];$e(t,[],n=>{nm(n,e)})}function kA(t){let e=new Set;for(;;){if(typeof t.$ref=="string"){if(e.has(t.$ref))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(t.$ref));e.add(t.$ref)}RA(t),am(t,!0),EA(t);let r=TA(t);if(t.$ref===void 0&&!r)return}}function RA(t){let e=t.$ref;if(e===void 0)return;if(Yd(e),!NA(t))throw new Error("Schema $ref at `<root>` has non-metadata siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");let r=new Set,n=Object.fromEntries(Object.entries(t).filter(([p])=>pt.has(p))),o;for(;;){if(r.has(e))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(e));r.add(e);let p=Er(t,e);if(p===void 0)throw new Error("Local $ref at `<root>` does not resolve to an object or boolean schema: "+JSON.stringify(e));if(typeof p=="boolean")throw new TypeError("Expected object schema but got boolean; path=<root>");let m=p.$ref;if(m===void 0){o=p;break}if(Yd(m),r.has(m))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(m));if(!ns(p))throw new Error("Schema $ref in root chain has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");for(let f of pt)!(f in n)&&f in p&&(n[f]=p[f]);e=m}let s=t.$defs,i=t.definitions,a=Object.fromEntries(Object.entries(t).filter(([p])=>pt.has(p)||Pn.has(p))),u=structuredClone(o);for(let p of["$defs","definitions"])t[p]!==void 0&&u[p]!==void 0&&delete u[p];let l=t;for(let p of Object.keys(t))delete l[p];ts(t,u,n,a),s!==void 0&&(t.$defs=s),i!==void 0&&(t.definitions=i)}function EA(t){for(;t.allOf!==void 0;){if(Array.isArray(t.allOf))for(let[i,a]of t.allOf.entries())Pa(a,["allOf",String(i)],t);if(vc(t,[],t))continue;let e=t.allOf;if(!Array.isArray(e)||e.length!==1||!jA(t))return;let r=e[0];if(typeof r=="boolean"||!H(r))return;let n={...t};delete n.allOf;let o=structuredClone(r),s=t;for(let i of Object.keys(t))delete s[i];ts(t,o,n)}}function TA(t){let e=t.anyOf;if(!Array.isArray(e)||!MA(t))return!1;let r=e.map((l,p)=>({branch:l,index:p})).filter(({branch:l})=>l!==!1);if(r.length!==1)return!1;let{branch:n,index:o}=r[0];if(typeof n=="boolean"||!H(n)||!xa(n,t))return!1;let s=CA(t,n);$A(t,o,s);let i={...t};delete i.anyOf;let a=structuredClone(n);for(let l of["$defs","definitions"]){let p=t[l],m=a[l];if(!H(p)||!H(m))continue;let f=s.get(l),g={...p};for(let[w,A]of Object.entries(m))Object.defineProperty(g,f?.get(w)??w,{value:A,writable:!0,enumerable:!0,configurable:!0});a[l]=g,delete i[l]}let u=t;for(let l of Object.keys(t))delete u[l];return ts(t,a,i),!0}function CA(t,e){let r=new Map;for(let n of["$defs","definitions"]){let o=t[n],s=e[n];if(!H(o)||!H(s))continue;let i=new Set([...Object.keys(o),...Object.keys(s)]),a=new Map,u=0;for(let[l,p]of Object.entries(s)){if(!N(o,l)||ii(o[l],p))continue;let m="__openai_strict_anyOf_definition_"+u++;for(;i.has(m);)m="__openai_strict_anyOf_definition_"+u++;i.add(m),a.set(l,m)}a.size>0&&r.set(n,a)}return r}function $A(t,e,r){let n=s=>{let i=Sn(s);if(i===void 0||i[0]!=="anyOf"||i[1]!==String(e))return s;let a=i.slice(2),u=a[0];if(a.length>1&&(u==="$defs"||u==="definitions")){let l=r.get(u)?.get(a[1]);l!==void 0&&(a[1]=l)}return a.length===0?"#":"#/"+a.map(im).join("/")},o=s=>{typeof s=="boolean"||!H(s)||(typeof s.$ref=="string"&&(s.$ref=n(s.$ref)),$e(s,[],i=>{o(i)}))};o(t)}function Yd(t){if(typeof t!="string")throw new TypeError("Received non-string $ref - "+String(t)+"; path=<root>");if(!t.startsWith("#"))throw new Error("External $ref at `<root>` is not supported in strict Structured Outputs: "+JSON.stringify(t))}function NA(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||Pn.has(e)||pt.has(e))}function om(t){typeof t=="boolean"||!H(t)||(Array.isArray(t.type)&&t.type.length===1&&(t.type=t.type[0]),$e(t,[],e=>{om(e)}))}function si(t,e,r=new Set){if(typeof t=="boolean")return t;let n=t.$ref;if(n!==void 0){if(typeof n!="string"||!ns(t)||r.has(n))return!1;let o=Er(e,n);return o===void 0?!1:si(o,e,new Set([...r,n]))}return!(t.type!==void 0&&t.type!=="null"&&!(Array.isArray(t.type)&&t.type.includes("null"))||"const"in t&&t.const!==null||t.enum!==void 0&&(!Array.isArray(t.enum)||!t.enum.includes(null))||t.allOf!==void 0&&(!Array.isArray(t.allOf)||!t.allOf.every(o=>si(o,e)))||t.anyOf!==void 0&&(!Array.isArray(t.anyOf)||!t.anyOf.some(o=>si(o,e)))||t.oneOf!==void 0&&(!Array.isArray(t.oneOf)||t.oneOf.filter(o=>si(o,e)).length!==1)||t.not!==void 0||t.if!==void 0||t.then!==void 0||t.else!==void 0)}function Ia(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!H(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);if(vc(t,e,r))return Ia(t,e,r);if(UA(t),zA(t,e,r),Oc(t)){if(!N(t,"additionalProperties"))t.additionalProperties=!1;else if(t.additionalProperties!==!1)throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` must set \`additionalProperties: false\` to be compatible with strict Structured Outputs.`)}let n=t.required??[];if(!Array.isArray(n)||n.some(m=>typeof m!="string"))throw new TypeError(`Expected \`required\` to be an array of strings; path=${e.join("/")||"<root>"}`);let o=t.properties;if(Oc(t)){for(let m of n)if(!H(o)||!N(o,m))throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` requires property \`${m}\` but does not declare it in \`properties\`.`)}if(H(o)){for(let[m,f]of Object.entries(o))if(!si(f,r)&&!n.includes(m))throw new Error(`Schema field at \`${[...e,"properties",m].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);t.required=Object.keys(o)}let s=t.items,i=t.additionalItems;if(Array.isArray(s))throw new TypeError(`Schema at \`${e.join("/")||"<root>"}\` uses tuple-form \`items\`, which cannot be represented in strict Structured Outputs.`);if(i!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`additionalItems\` and cannot be represented in strict Structured Outputs.`);let a=t.allOf;if(Array.isArray(a)&&a.length===1&&Pc(t,"allOf")){let m=a[0];if(m===!1)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses \`allOf: [false]\`, which cannot be represented in strict Structured Outputs.`);if(m===!0)delete t.allOf;else{let f=Ia(m,[...e,"allOf","0"],r),g={...t};delete g.allOf,ts(t,f,g),delete t.allOf}}LA(t,r);let u=t;for(let m of vA){if(u[m]!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`${m}\` and cannot be represented in strict Structured Outputs.`);delete u[m]}let l=t.type,p=t.items;if((l==="array"||Array.isArray(l)&&l.includes("array"))&&p===void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` declares an array without \`items\`, which cannot be represented in strict Structured Outputs.`);return $e(t,e,(m,f,g)=>{typeof m=="boolean"&&(g==="additionalProperties"||g==="additionalItems")||Ia(m,f,r)}),t.default===null&&delete t.default,t}function Sn(t){if(!t.startsWith("#"))return;let e;try{e=decodeURIComponent(t.slice(1))}catch{return}if(e==="")return[];if(!e.startsWith("/"))return;let r=[];for(let n of e.slice(1).split("/")){if(/~(?:[^01]|$)/.test(n))return;r.push(n.replace(/~1/g,"/").replace(/~0/g,"~"))}return r}function xn(t,e){if(Array.isArray(t)){if(!/^(?:0|[1-9]\d*)$/.test(e))return;let r=Number(e);return N(t,r)?t[r]:void 0}if(!(!H(t)||!N(t,e)))return t[e]}function Er(t,e){let r=Sn(e);if(r===void 0)return;let n=t;for(let o=0;o<r.length;){if(!H(n))return;let s=r[o];if(Qd.includes(s)){n=xn(n,s),o+=1;continue}if(em.includes(s)){if(n=xn(n,s),o+=1,Array.isArray(n)){if(o>=r.length)return;n=xn(n,r[o]),o+=1}continue}if(tm.includes(s)){let i=xn(n,s);if(o+=1,!H(i)||o>=r.length||(n=xn(i,r[o]),s==="dependencies"&&!rs(n)))return;o+=1;continue}return}return rs(n)?n:void 0}function H(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function rs(t){return typeof t=="boolean"||H(t)}function xa(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!ns(t)||r.has(t.$ref))return!1;let n=Er(e,t.$ref);return n===void 0?!1:xa(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!Pc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?xa(n,e,r):!1}return t.type==="object"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="object"}function Ic(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!ns(t)||r.has(t.$ref))return!1;let n=Er(e,t.$ref);return n===void 0?!1:Ic(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!Pc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?Ic(n,e,r):!1}return t.type==="array"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="array"}function ns(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||pt.has(e))}function Pc(t,e){let r=t;return Object.keys(t).every(n=>n===e||(n==="$defs"||n==="definitions")&&H(r[n])||pt.has(n))}function jA(t){return Object.keys(t).every(e=>e==="allOf"||e==="$defs"||e==="definitions"||Pn.has(e)||pt.has(e))}function MA(t){return Object.keys(t).every(e=>e==="anyOf"||e==="$defs"||e==="definitions"||e==="type"&&t.type==="object"||Pn.has(e)||pt.has(e))}function DA(t){return Object.keys(t).some(e=>xc.has(e))}function Oc(t){let e=t.type;return e==="object"||Array.isArray(e)&&e.includes("object")||e===void 0&&DA(t)}function sm(t,e){return t===e||Array.isArray(t)&&t.length===2&&t.includes(e)&&t.includes("null")}function zA(t,e,r){if(t.anyOf===void 0)return;let n=H(t.properties)&&Object.keys(t.properties).length===0,o=Array.isArray(t.required)&&t.required.length===0;if(n&&delete t.properties,o&&delete t.required,!Oc(t))return;let s=Object.keys(t).some(i=>xc.has(i));if(sm(t.type,"object")&&!s&&Array.isArray(t.anyOf)&&t.anyOf.every(i=>xa(i,r))){delete t.type;return}throw new Error("Object anyOf schema at `"+(e.join("/")||"<root>")+"` cannot be represented in strict Structured Outputs without changing Draft 7 validation.")}function LA(t,e){sm(t.type,"array")&&t.items===void 0&&Array.isArray(t.anyOf)&&t.anyOf.every(r=>Ic(r,e))&&delete t.type}function UA(t){if(!Array.isArray(t.anyOf))return;let e=t.anyOf.filter(r=>r!==!1);e.length>0&&e.length!==t.anyOf.length&&(t.anyOf=e)}function BA(t){let e=(r,n)=>{if(!(typeof r=="boolean"||!H(r))){if(n.length>0&&r.$id!==void 0)throw new Error("Nested $id at "+JSON.stringify(n.join("/"))+" establishes a separate JSON Schema resource scope and cannot be represented in strict Structured Outputs.");$e(r,n,(o,s)=>{e(o,s)})}};e(t,[])}function FA(t,e){let r=Sn(e);if(r===void 0)return!1;let n=t;for(let[o,s]of r.entries()){if(s==="allOf"&&H(n)&&Array.isArray(n.allOf)&&o<r.length-1)return!0;if(n=xn(n,s),n===void 0)return!1}return!1}function Sc(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}function im(t){return encodeURIComponent(Sc(t)).replace(/%24/g,"$")}function KA(t){let e=n=>{let o=Sn(n);if(o===void 0||o.length===0)return n;let s=[...o],i=t,a=!1;for(let[u,l]of o.entries()){let p=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0;if(l==="anyOf"&&u<o.length-1&&p!==void 0&&Array.isArray(p.anyOf)){let m=p.anyOf,f=o[u+1];if(!/^(?:0|[1-9]\d*)$/.test(f))return n;let g=Number(f);if(!N(m,g))return n;let w=m.filter(A=>A!==!1);if(w.length>0&&w.length!==m.length){if(m[g]===!1)return n;let A=m.slice(0,g).filter(b=>b!==!1).length;A!==g&&(s[u+1]=String(A),a=!0)}}if(i=xn(i,l),i===void 0)return n}return a?"#/"+s.map(im).join("/"):n},r=n=>{typeof n=="boolean"||!H(n)||(typeof n.$ref=="string"&&(n.$ref=e(n.$ref)),$e(n,[],o=>{r(o)}))};r(t)}function am(t,e=!1){let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"&&FA(t,u.$ref)){let l=Sn(u.$ref);(!e||l?.[0]==="allOf")&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve local allOf references.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=Er(t,u);if(!rs(l)){if(e)continue;throw new Error("Local $ref cannot be preserved before allOf flattening: "+JSON.stringify(u))}let p="__openai_strict_allOf_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+Sc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function WA(t,e){if(e.length===0)return;let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"){let l=Sn(u.$ref);l!==void 0&&e.some(p=>l.length>=p.length&&p.every((m,f)=>l[f]===m))&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve discarded allOf properties.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=Er(t,u);if(!rs(l))throw new Error("Local $ref cannot be preserved before allOf property removal: "+JSON.stringify(u));let p="__openai_strict_allOf_property_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_property_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+Sc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function Oa(t,e,r){if(typeof t=="boolean"||!H(t))return;let n=t.$ref;if(n!==void 0){if(typeof n!="string")throw new TypeError(`Received non-string $ref - ${n}; path=${e.join("/")}`);if(!n.startsWith("#"))throw new Error(`External $ref at \`${e.join("/")||"<root>"}\` is not supported in strict Structured Outputs: ${JSON.stringify(n)}`);let o=Er(r,n);if(o===void 0||!rs(o))throw new Error(`Local $ref at \`${e.join("/")||"<root>"}\` does not resolve to an object or boolean schema: ${JSON.stringify(n)}`);if(typeof o=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!ns(t))throw new Error(`Schema $ref at \`${e.join("/")||"<root>"}\` has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.`)}$e(t,e,(o,s)=>{Oa(o,s,r)})}function qA(t,e,r){let n=[t],o=new Set,s=t,i=[];for(;;){for(;s.$ref!==void 0;){let a=s.$ref;if(typeof a!="string"||!ns(s)||o.has(a))return;o.add(a);let u=Er(e,a);if(typeof u=="boolean"||!H(u))return;let l=Sn(a);if(l===void 0)return;s=u,i=l,n.push(s)}if(s.allOf!==void 0&&!r.has(s)){let a=s.allOf;if(Pa(s,i,e,r),s.$ref!==void 0||s.allOf!==a)continue}return{schema:s,refChain:n}}}function Pa(t,e,r,n=new Set){if(!(typeof t=="boolean"||!H(t))&&!n.has(t)){n.add(t);try{for(;;)if($e(t,e,(o,s)=>{Pa(o,s,r,n)}),!vc(t,e,r,n))return}finally{n.delete(t)}}}function vc(t,e,r,n=new Set){let o=t.allOf;if(!Array.isArray(o)||o.length===0)return!1;let s=o.filter((S,$)=>!o.slice(0,$).some(D=>ii(D,S)));if(s.length!==o.length)return t.allOf=s,!0;let i=o.filter(S=>S!==!0);if(i.length!==o.length)return i.length===0?delete t.allOf:t.allOf=i,!0;let a=wc(t),u=o.map(S=>H(S)?qA(S,r,n):void 0),l=u.map(S=>S?.schema).filter(S=>S!==void 0&&wc(S));if(!a&&l.length===0||!a&&o.length===1)return!1;let p=()=>{throw new Error(`Object allOf at \`${e.join("/")||"<root>"}\` cannot be merged without changing Draft 7 validation.`)};!a&&["additionalProperties","properties","required","type"].some(S=>S in t)&&p();for(let S of Object.keys(t))S!=="allOf"&&S!=="$defs"&&S!=="definitions"&&!(e.length===0&&Pn.has(S))&&!Gd.has(S)&&p();let m=[];a&&m.push({schema:t,sourcePath:e});for(let[S,$]of o.entries()){H($)||p();let D=u[S];if(D===void 0)return p();let W=D.schema;wc(W)?m.push({schema:W,sourcePath:W===$?[...e,"allOf",String(S)]:void 0}):HA(W)||p()}let f={};for(let S of["$defs","definitions"])t[S]!==void 0&&(f[S]=t[S]);if(e.length===0)for(let S of Pn)S in t&&(f[S]=t[S]);let g=Object.create(null),w=new Set,A=[],b=[],R=!1,h=!1,I=!1,x=!1,T=S=>{for(let $ of pt)$ in S&&($ in f||(f[$]=S[$]))};T(t);for(let S of u)if(S!==void 0)for(let $ of S.refChain)T($);for(let{schema:S,sourcePath:$}of m){for(let D of Object.keys(S))D==="allOf"&&S===t||(D==="$defs"||D==="definitions")&&H(S[D])||S===t&&e.length===0&&Pn.has(D)||Gd.has(D)||p();if(S.type!==void 0&&(um(S.type)||p(),S.type==="object"?I=!0:x=!0),S.properties!==void 0){H(S.properties)||p(),R=!0;for(let[D,W]of Object.entries(S.properties))b.push({key:D,propertySchema:W,sourcePath:$===void 0?void 0:[...$,"properties",D]})}if(S.required!==void 0){(!Array.isArray(S.required)||S.required.some(D=>typeof D!="string"))&&p(),h=!0;for(let D of S.required)w.add(D)}"additionalProperties"in S&&(S.additionalProperties!==!1&&p(),A.push(new Set(Object.keys(S.properties??{}))))}let k;if(A.length>0){k=new Set(A[0]);for(let S of A.slice(1))for(let $ of k)S.has($)||k.delete($)}let E=k,K=E!==void 0&&[...w].some(S=>!E.has(S)),j=K&&!I&&x,C=b.filter(({key:S,sourcePath:$})=>$!==void 0&&(j||k!==void 0&&!k.has(S))).map(({sourcePath:S})=>S);if(WA(r,C),t===r&&r.$defs!==void 0&&(f.$defs=r.$defs),K){if(j){f.type="null";for(let S of Object.keys(t))delete t[S];return ts(t,f),!0}p()}for(let{key:S,propertySchema:$}of b)k!==void 0&&!k.has(S)||(N(g,S)&&!ii(g[S],$)&&p(),g[S]=$);(I||x)&&(f.type=I?"object":["object","null"]),R&&(f.properties=Object.fromEntries(Object.entries(g))),h&&(f.required=[...w]),A.length>0&&(f.additionalProperties=!1);for(let S of Object.keys(t))delete t[S];return ts(t,f),!0}function wc(t){return t.type!==void 0?um(t.type):Object.keys(t).some(e=>xc.has(e))}function HA(t){let e=t;return Object.keys(t).every(r=>pt.has(r)||(r==="$defs"||r==="definitions")&&H(e[r]))}function um(t){return t==="object"||Array.isArray(t)&&t.length===2&&t.includes("object")&&t.includes("null")}function ii(t,e){if(t===e)return!0;if(Array.isArray(t)||Array.isArray(e))return!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length?!1:t.every((i,a)=>ii(i,e[a]));if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;let r=t,n=e,o=Object.keys(r),s=Object.keys(n);return o.sort(),s.sort(),o.length!==s.length?!1:o.every((i,a)=>i===s[a]&&ii(r[i],n[i]))}var XA={ZodString:"string",ZodNumber:"number",ZodBoolean:"boolean",ZodNull:"null",ZodObject:"object",ZodArray:"array"},ZA=new Set(["ZodOptional","ZodNullable","ZodDefault","ZodReadonly"]),JA=new Set(["ZodString","ZodNumber","ZodBoolean","ZodNull","ZodEnum","ZodNativeEnum","ZodAny","ZodUnknown","ZodLiteral"]),VA=new Map([["ZodBigInt","encode integers as decimal strings and convert with BigInt after parsing"],["ZodDate","native dates do not have a synchronous JSON representation"],["ZodMap","native maps do not have a synchronous JSON representation"],["ZodSet","native sets do not have a synchronous JSON representation"],["ZodPromise","asynchronous values do not have a synchronous JSON representation"],["ZodEffects","custom transformations and refinements are opaque to JSON Schema"],["ZodPipeline","custom pipelines are opaque to JSON Schema"],["ZodIntersection","intersections cannot prove that both branches produce the same value"],["ZodCatch","catch fallbacks cannot be proven to produce JSON-native values"],["ZodTuple","tuple schemas require unsupported array-valued items"],["ZodRecord","open-ended record schemas require unsupported additionalProperties"]]),GA=new Set(["trim","toLowerCase","toUpperCase"]),YA=new Set(["regex","cuid","cuid2","startsWith","endsWith","includes","emoji","ulid","nanoid"]);function Wt(t,e,r){throw new Error(`Zod schema field \`${t}\` uses \`${e}\`, which cannot be represented by strict Structured Outputs: ${r}`)}function Sa(t){if(t===null)return{type:"null",values:new Set([null])};if(typeof t=="string")return{type:"string",values:new Set([t])};if(typeof t=="boolean")return{type:"boolean",values:new Set([t])};if(typeof t=="number"&&Number.isFinite(t))return{type:"number",values:new Set([t])}}function cm(t){let e=t.values;if(!e||Array.isArray(e))return[];let r=e,n=Object.keys(r).filter(o=>{let s=r[o];return(typeof s=="string"||typeof s=="number")&&typeof r[String(s)]!="number"}).map(o=>r[o]).filter(o=>typeof o=="string"||typeof o=="number"&&Number.isFinite(o));return["string","number"].map(o=>({type:o,values:new Set(n.filter(s=>typeof s===o))})).filter(o=>o.values.size>0)}function lm(t){let e=Array.isArray(t.values)?t.values.filter(r=>typeof r=="string"):[];return{type:"string",values:new Set(e)}}function QA(t){if(t.typeName==="ZodLiteral"){let e=Sa(t.value);return e?[e]:[]}return t.typeName==="ZodEnum"?[lm(t)]:t.typeName==="ZodNativeEnum"?cm(t):[]}function eb(t){let e=new Map;for(let[r,n]of Object.entries(t.shape())){let o=QA(n._def);o.length>0&&o.every(({values:s})=>s!==void 0&&s.size>0)&&e.set(r,o)}return{type:"object",discriminators:e}}function os(t,e=new Set){let r=t._def;if(e.has(r))return[{type:"unknown"}];if(e.add(r),r.typeName==="ZodObject")return[eb(r)];let n=XA[r.typeName];if(n!==void 0)return[{type:n}];if(r.typeName==="ZodLiteral"){let o=Sa(r.value);return o?[o]:[{type:"unknown"}]}return r.typeName==="ZodEnum"?[lm(r)]:r.typeName==="ZodNativeEnum"?cm(r):r.typeName==="ZodUnion"||r.typeName==="ZodDiscriminatedUnion"?[...r.options.values()].flatMap(o=>os(o,new Set(e))):r.typeName==="ZodNullable"?[...os(r.innerType,new Set(e)),{type:"null"}]:ZA.has(r.typeName)?os(r.innerType,e):r.typeName==="ZodBranded"?os(r.type,e):r.typeName==="ZodLazy"?os(r.getter(),e):[{type:"unknown"}]}function pm(t,e){if(t.type==="unknown"||e.type==="unknown")return!0;if(t.type!==e.type)return!1;if(t.discriminators&&e.discriminators)for(let[n,o]of t.discriminators){let s=e.discriminators.get(n);if(s&&!o.some(i=>s.some(a=>pm(i,a))))return!1}let r=e.values;return!t.values||!r?!0:[...t.values].some(n=>r.has(n))}function tb(t,e){let r=t.map(n=>os(n));for(let[n,o]of r.entries())for(let s of r.slice(n+1))o.some(i=>s.some(a=>pm(i,a)))&&Wt(e,"ZodUnion","ambiguous union branches overlap; use disjoint JSON types, distinct literals, or a discriminated union")}function rb(t,e){switch(t.typeName){case"ZodObject":{let r=Object.entries(t.shape()).map(([n,o])=>({schema:o,path:`${e}.${n}`}));return t.catchall&&t.catchall._def.typeName!=="ZodNever"&&r.push({schema:t.catchall,path:`${e}.<catchall>`}),r}case"ZodArray":return[{schema:t.type,path:`${e}[]`}];case"ZodUnion":case"ZodDiscriminatedUnion":return[...t.options.values()].map((r,n)=>({schema:r,path:`${e}[${n}]`}));case"ZodOptional":case"ZodNullable":case"ZodDefault":case"ZodReadonly":return[{schema:t.innerType,path:e}];case"ZodBranded":return[{schema:t.type,path:e}];case"ZodLazy":return[{schema:t.getter(),path:e}];default:return}}function fm(t){let e=t.checks??[];return e.some(({kind:r})=>r==="finite"||r==="int")?!0:e.some(({kind:r,value:n})=>r==="min"&&typeof n=="number"&&Number.isFinite(n))&&e.some(({kind:r,value:n})=>r==="max"&&typeof n=="number"&&Number.isFinite(n))}function nb(t,e,r){return t.unknownKeys!=="passthrough"&&(t.catchall===void 0||t.catchall._def.typeName==="ZodNever")&&Object.values(t.shape()).every(n=>r(n,new Set(e)))}function vn(t,e=new Set){let r=t._def;if(e.has(r))return!0;switch(e.add(r),r.typeName){case"ZodString":case"ZodBoolean":case"ZodNull":case"ZodEnum":case"ZodNativeEnum":return!0;case"ZodLiteral":return Sa(r.value)!==void 0;case"ZodNumber":return fm(r);case"ZodArray":return vn(r.type,e);case"ZodObject":return nb(r,e,vn);case"ZodUnion":case"ZodDiscriminatedUnion":return[...r.options.values()].every(n=>vn(n,new Set(e)));case"ZodNullable":case"ZodDefault":case"ZodReadonly":return vn(r.innerType,e);case"ZodBranded":return vn(r.type,e);case"ZodLazy":return vn(r.getter(),e);default:return!1}}function ob(t,e){let r=VA.get(t.typeName);r&&Wt(e,t.typeName,r),t.typeName==="ZodLiteral"&&!Sa(t.value)&&Wt(e,t.typeName,"literal values must be finite JSON primitives"),t.typeName==="ZodNumber"&&t.coerce===!0&&!fm(t)&&Wt(e,t.typeName,"number coercion must prove its parsed output is finite"),t.typeName==="ZodDefault"&&!vn(t.innerType)&&Wt(e,t.typeName,"default factory output is not independently guaranteed to be finite and JSON-native; it may contain bigint"),t.typeName==="ZodString"&&t.checks?.some(({kind:n})=>GA.has(n))&&Wt(e,t.typeName,"value-changing string checks are not represented in JSON Schema"),t.typeName==="ZodString"&&(t.checks?.filter(({kind:n})=>YA.has(n)).length??0)>1&&Wt(e,t.typeName,"multiple pattern-producing checks require unsupported allOf")}function kc(t,e,r){let n=t._def;if(r.has(n)||(r.add(n),n.typeName==="ZodIntersection"&&e==="$"))return;ob(n,e);let o=rb(n,e);if(!o){JA.has(n.typeName)||Wt(e,n.typeName,"this Zod schema is outside the documented JSON-native subset");return}for(let s of o)kc(s.schema,s.path,r);n.typeName==="ZodObject"&&(n.unknownKeys==="passthrough"||n.catchall!==void 0&&n.catchall._def.typeName!=="ZodNever")&&Wt(e,n.typeName,"open object schemas require additionalProperties: false"),n.typeName==="ZodUnion"&&e!=="$"&&tb(o.map(({schema:s})=>s),e)}function dm(t,e){let r=new Set;kc(t,"$",r);for(let[n,o]of Object.entries(e??{}))kc(o,`$.definitions.${n}`,r)}function sb(t,e){for(let r=t;r!==null;r=Object.getPrototypeOf(r)){let n=Object.getOwnPropertyDescriptor(r,"toJSON");if(n){if(!("value"in n)||typeof n.value=="function")throw new Error(`Strict Structured Outputs schema field \`${e}\` contains an unsupported \`toJSON\` serialization hook`);return}}}function ib(t,e){if(Object.is(t,-0))throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains negative zero, which cannot round-trip through JSON`)}function ai(t,e="$",r=new Set){if(t===null||typeof t=="string"||typeof t=="boolean")return;if(typeof t=="number"&&Number.isFinite(t)){ib(t,e);return}if(typeof t!="object")throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON ${typeof t} value`);if(r.has(t))throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a circular JSON value`);let n=Object.getPrototypeOf(t);if(!Array.isArray(t)&&n!==Object.prototype&&n!==null)throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON native object`);if(sb(t,e),r.add(t),Array.isArray(t))for(let o=0;o<t.length;o+=1){let s=Object.getOwnPropertyDescriptor(t,String(o));if(!s)throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains a sparse array`);if(!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains an array accessor`);ai(s.value,`${e}[${o}]`,r)}else for(let o of Object.keys(t)){let s=Object.getOwnPropertyDescriptor(t,o);if(!s||!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}.${o}\` contains an accessor`);ai(s.value,`${e}.${o}`,r)}r.delete(t)}function ab(t){return encodeURIComponent(t.replace(/~/g,"~0").replace(/\//g,"~1"))}function ub(t){if(t&&N(t,"__proto__"))throw new Error('schemaDefinitions cannot include "__proto__" as a definition name')}function mm(t,e){let r=new Map(Object.keys(e??{}).map(s=>[`#/definitions/${s}`,`#/definitions/${ab(s)}`]));if(r.size===0)return t;let n=new Set,o=s=>{if(!s||typeof s!="object"||Array.isArray(s)||n.has(s))return;n.add(s);let i=s,a=i.$ref;if(typeof a=="string"){let u=r.get(a);u!==void 0&&u!==a&&(i.$ref=u)}$e(i,[],o)};return o(t),t}function cb(t,e){if(!e)return t;let r=t;for(;N(e,r);)r=`${r}_root`;return r}function lb(t,e){dm(t,e.schemaDefinitions);let r=cb(e.name,e.schemaDefinitions),n=bc(t,{openaiStrictMode:!0,name:r,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property",...e.schemaDefinitions?{definitions:e.schemaDefinitions}:void 0}),o=mm(n,e.schemaDefinitions);return ai(o),o}function pb(t,e={}){let r=e.schemaDefinitions?Jc():void 0;for(let[s,i]of Object.entries(e.schemaDefinitions??{}))r?.add(i,{id:s});let n=Vc(t,{target:"draft-7",...r?{metadata:r}:void 0,override:({zodSchema:s,jsonSchema:i})=>{let a=s._zod.def;if(a.type==="union"&&"discriminator"in a&&Array.isArray(i.oneOf)){if(i.anyOf!==void 0)throw new Error("Zod discriminated union generated both `anyOf` and `oneOf`, which cannot be represented in an OpenAI strict schema");i.anyOf=i.oneOf,delete i.oneOf}}}),o=mm(n,e.schemaDefinitions);return rm(o)}function hm(t){return"_zod"in t}function fb(t,e){let r=rt({type:"json_schema",$parseRaw:void 0},e),n=t.parse;if(typeof n=="function"){let o=n.call(t,r);return hm(t)||ai(o),o}return rl(t,r)}function ym(t,e,r){let n=t,{schemaDefinitions:o,...s}=r??{};return ub(o),kp({type:"json_schema",json_schema:{...s,name:e,strict:!0,schema:hm(n)?pb(n,{schemaDefinitions:o}):lb(n,{name:e,schemaDefinitions:o})}},i=>fb(t,i))}var gm=["jsonSchema","functionCalling","jsonMode"];function _m(t,e){if(typeof e<"u"&&!gm.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${gm.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 db(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Am(t,e,r){if(Yc(t))return ym(t,e,r);if(Gc(t))return db({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:$n(t,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=e}})}},n=>Zc(t,JSON.parse(n)));throw new Error("Unsupported schema response format")}function bm(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 wm={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:13e4,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};var va="**REDACTED**";function ss(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var kn=class extends ul{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(t){let e=this.invocationParams(t);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:e.temperature??void 0,ls_max_tokens:e.max_tokens??void 0,ls_stop:t.stop}}_getInvocationParamsForTracing(t){let e=this.invocationParams(t);return Array.isArray(e.tools)?{...e,tools:e.tools.map(r=>{if(r?.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=va),"authorization"in n&&(n.authorization=va),n})}:e}_getCallOptionsForTracing(t,e){return Array.isArray(t.tools)?{...t,tools:t.tools.map(r=>{if(typeof r!="object"||r===null||!("type"in r)||r.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=va),"authorization"in n&&(n.authorization=va),n})}:t}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(t){super(t??{});let e=typeof t?.configuration?.apiKey=="string"||typeof t?.configuration?.apiKey=="function"?t?.configuration?.apiKey:void 0,r=nl({baseURL:t?.configuration?.baseURL??(Ne("OPENAI_API_BASE")||Ne("OPENAI_BASE_URL")||void 0),providerPath:"openai/v1"});this.apiKey=t?.apiKey??e??r.apiKey??Ne("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??Ne("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelKwargs=t?.modelKwargs??{},this.timeout=t?.timeout,this.temperature=t?.temperature??this.temperature,this.topP=t?.topP??this.topP,this.frequencyPenalty=t?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=t?.presencePenalty??this.presencePenalty,this.logprobs=t?.logprobs,this.topLogprobs=t?.topLogprobs,this.n=t?.n??this.n,this.logitBias=t?.logitBias,this.stop=t?.stopSequences??t?.stop,this.stopSequences=this.stop,this.user=t?.user,this.__includeRawResponse=t?.__includeRawResponse,this.audio=t?.audio,this.modalities=t?.modalities,this.reasoning=t?.reasoning,this.maxTokens=t?.maxCompletionTokens??t?.maxTokens,this.promptCacheKey=t?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=t?.promptCacheRetention??this.promptCacheRetention,this.verbosity=t?.verbosity??this.verbosity,this.disableStreaming=t?.disableStreaming===!0,this.streaming=t?.streaming===!0,this.disableStreaming&&(this.streaming=!1),t?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=t?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration,baseURL:r.baseURL},t?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=t.supportsStrictToolCalling),t?.service_tier!==void 0&&(this.service_tier=t.service_tier),this.zdrEnabled=t?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.5.11")}_getReasoningParams(t){if(!Ut(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&&ls(t.json_schema.schema)?Am(t.json_schema.schema,t.json_schema.name,{description:t.json_schema.description}):t}_combineCallOptions(t){return{...this.defaultOptions,...t??{}}}_getClientOptions(t){if(!this.client){let e={baseURL:this.clientConfig.baseURL},r=Ft(e),n={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=Kt(n.defaultHeaders),this.client=new M(n)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return wn(t)?yd(t.metadata.customTool):_i(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:id(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(es(n)||wn(n))return n;if(cd(n))return n.extras.providerToolDefinition;let o=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return gi(n)&&n.extras?.defer_loading===!0?{...o,defer_loading:!0}:o}),...e})}async stream(t,e){return super.stream(t,this._combineCallOptions(e))}async invoke(t,e){return super.invoke(t,this._combineCallOptions(e))}_combineLLMOutput(...t){return t.reduce((e,r)=>(r&&r.tokenUsage&&(e.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,e.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,e.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),e),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(t){let e=0,r=0,n=0;this.model==="gpt-3.5-turbo-0301"?(r=4,n=-1):(r=3,n=1);let o=await Promise.all(t.map(async s=>{let[i,a]=await Promise.all([this.getNumTokens(s.content),this.getNumTokens(Bt(s))]),u=s.name!==void 0?n+await this.getNumTokens(s.name):0,l=i+r+a+u,p=s;if(p._getType()==="function"&&(l-=2),p.additional_kwargs?.function_call&&(l+=3),p?.additional_kwargs.function_call?.name&&(l+=await this.getNumTokens(p.additional_kwargs.function_call?.name)),p.additional_kwargs.function_call?.arguments)try{l+=await this.getNumTokens(JSON.stringify(JSON.parse(p.additional_kwargs.function_call?.arguments)))}catch(m){console.error("Error parsing function arguments",m,JSON.stringify(p.additional_kwargs.function_call)),l+=await this.getNumTokens(p.additional_kwargs.function_call?.arguments)}return e+=l,l}));return e+=3,{totalCount:e,countPerMessage:o}}async _getNumTokensFromGenerations(t){return(await Promise.all(t.map(async e=>e.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([e.message])).countPerMessage[0]:await this.getNumTokens(e.message.content)))).reduce((e,r)=>e+r,0)}async _getEstimatedTokenCountFromPrompt(t,e,r){let n=(await this.getNumTokensFromMessages(t)).totalCount;if(e&&r!=="auto"){let o=ad(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 et(o)}})}get profile(){return wm[this.model]??{}}_getStructuredOutputMethod(t){let e={...t};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(e?.method===void 0)return"jsonSchema"}else e.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return e.method}withStructuredOutput(t,e){let r,n,{schema:o,name:s,includeRaw:i}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let a=_m(this.model,e?.method);if(a==="jsonMode"){n=Ha(o);let u=$n(o);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:s??"extract",...u}}})}else if(a==="jsonSchema"){let u=$n(o),l={name:s??"extract",description:Qc(u),schema:ls(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}}}),ls(o)||Wa(o)){let p=Ha(o);n=el.from(async m=>"parsed"in m.additional_kwargs?m.additional_kwargs.parsed:p.invoke(m.content))}else n=new ol}else{let u=s??"extract",l=$n(o),p;ls(o)||Wa(o)?p={name:u,description:l.description,parameters:l}:typeof o.name=="string"&&typeof o.parameters=="object"&&o.parameters!=null?(p=o,u=o.name):(u=o.title??u,p={name:u,description:o.description??"",parameters:o}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:p}],tool_choice:{type:"function",function:{name:u}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:u,...l}},...e?.strict!==void 0?{strict:e.strict}:{}}),n=sl(o,u)}return il(r,n,i)}};var ui={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=Fa({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=Ba(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=Ba(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=Fa({dataUrl:t.url}),r=bn(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=bn(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`)}},ka=({message:t,rawResponse:e,includeRawResponse:r})=>{let n=t.tool_calls,o=t.reasoning_content;switch(t.role){case"assistant":{let s=[],i=[];for(let p of n??[])try{s.push(Ai(p,{returnId:!0}))}catch(m){i.push(Nn(p,m.message))}let a={function_call:t.function_call,tool_calls:n};r!==void 0&&(a.__raw_response=e),o!==void 0&&(a.reasoning_content=o);let u={model_provider:"openai",model_name:e.model,usage:{...e.usage},...e.system_fingerprint?{system_fingerprint:e.system_fingerprint}:{}};t.audio&&(a.audio=t.audio);let l=bm(t.content||"",e.choices?.[0]?.message);return new Ue({content:l,tool_calls:s,invalid_tool_calls:i,additional_kwargs:a,response_metadata:u,id:e.id})}default:return new hi(t.content||"",t.role??"unknown")}},Ra=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:n})=>{let o=t.role??n,s=t.content??"",i;t.function_call?i={function_call:t.function_call}:t.tool_calls?i={tool_calls:t.tool_calls}:i={},r&&(i.__raw_response=e),t.reasoning_content!==void 0&&(i.reasoning_content=t.reasoning_content),t.audio&&(i.audio={...t.audio,index:e.choices[0].index});let a={model_provider:"openai",usage:{...e.usage}};if(o==="user")return new qc({content:s,response_metadata:a});if(o==="assistant"){let u=[];if(Array.isArray(t.tool_calls))for(let l of t.tool_calls)u.push({name:l.function?.name,args:l.function?.arguments,id:l.id,index:l.index,type:"tool_call_chunk"});return new Cn({content:s,tool_call_chunks:u,additional_kwargs:i,id:e.id,response_metadata:a})}else return o==="system"?new Ka({content:s,response_metadata:a}):o==="developer"?new Ka({content:s,response_metadata:a,additional_kwargs:{__openai_role__:"developer"}}):o==="function"?new Wc({content:s,additional_kwargs:i,name:t.name,response_metadata:a}):o==="tool"?new Bc({content:s,additional_kwargs:i,tool_call_id:t.tool_call_id,response_metadata:a}):new Kc({content:s,role:o,response_metadata:a})},Rc=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=Hc(()=>{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=bn(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}}}},Ec=({message:t,model:e})=>{let r=Bt(t);if(r==="system"&&Ut(e)&&(r="developer"),r==="developer")return{role:"developer",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="system")return{role:"system",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="assistant"){let o={role:"assistant",content:t.contentBlocks.filter(s=>s.type==="text")};return Ue.isInstance(t)&&t.tool_calls?.length?o.tool_calls=t.tool_calls.map(qa):t.additional_kwargs.tool_calls!=null&&(o.tool_calls=t.additional_kwargs.tool_calls),Array.isArray(o.content)&&o.content.length===0&&o.tool_calls!=null&&(o.content=null),o}else{if(r==="tool"&&mi.isInstance(t))return{role:"tool",tool_call_id:t.tool_call_id,content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="function")return{role:"function",name:t.name??"",content:t.contentBlocks.filter(o=>o.type==="text").join("")}}function*n(o){for(let s of o){s.type==="text"&&(yield{type:"text",text:s.text});let i=Rc(s);i&&(yield i)}}return{role:"user",content:Array.from(n(t.contentBlocks))}},Rn=({messages:t,model:e})=>t.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return Ec({message:r});let n=Bt(r);n==="system"&&Ut(e)&&(n="developer");let o=typeof r.content=="string"?r.content:r.content.flatMap(i=>fi(i)?di(i,ui):typeof i=="object"&&i!==null&&"type"in i&&(i.type==="tool_use"||i.type==="tool_call"||i.type==="functionCall"||i.type==="reasoning"||i.type==="reasoning_content"||i.type==="thinking")?[]:i),s={role:n,content:o};return r.name!=null&&(s.name=r.name),r.additional_kwargs.function_call!=null&&(s.function_call=r.additional_kwargs.function_call),Ue.isInstance(r)&&r.tool_calls?.length?s.tool_calls=r.tool_calls.map(qa):(r.additional_kwargs.tool_calls!=null&&(s.tool_calls=r.additional_kwargs.tool_calls),mi.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 Ea=class extends kn{constructor(t,e){super(ss(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),!(this.streaming||e?.streaming)&&t?.response_format?.type==="json_schema"&&r!==!1&&(r=!0);let n={};t?.stream_options!==void 0?n={stream_options:t.stream_options}:this.streamUsage&&(this.streaming||e?.streaming)&&(n={stream_options:{include_usage:!0}});let o={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:t?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:t?.functions,function_call:t?.function_call,tools:t?.tools?.length?t.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:r})):void 0,tool_choice:ga(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),Ut(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=Rn({messages:t,model:this.model});if(o.stream){let i=this._streamResponseChunks(t,e,r),a={};for await(let g of i){g.message.response_metadata={...g.generationInfo,...g.message.response_metadata};let w=g.generationInfo?.completion??0;a[w]===void 0?a[w]=g:a[w]=a[w].concat(g)}let u=Object.entries(a).sort(([g],[w])=>parseInt(g,10)-parseInt(w,10)).map(([g,w])=>w),{functions:l,function_call:p}=this.invocationParams(e),m=await this._getEstimatedTokenCountFromPrompt(t,l,p),f=await this._getNumTokensFromGenerations(u);return n.input_tokens=m,n.output_tokens=f,n.total_tokens=m+f,{generations:u,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let i=await this.completionWithRetry({...o,stream:!1,messages:s},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options}),{completion_tokens:a,prompt_tokens:u,total_tokens:l,prompt_tokens_details:p,completion_tokens_details:m}=i?.usage??{};a&&(n.output_tokens=(n.output_tokens??0)+a),u&&(n.input_tokens=(n.input_tokens??0)+u),l&&(n.total_tokens=(n.total_tokens??0)+l),(p?.audio_tokens!==null||p?.cached_tokens!==null||p?.cache_write_tokens!=null)&&(n.input_token_details={...p?.audio_tokens!==null&&{audio:p?.audio_tokens},...p?.cached_tokens!==null&&{cache_read:p?.cached_tokens},...p?.cache_write_tokens!=null&&{cache_creation:p?.cache_write_tokens}}),(m?.audio_tokens!==null||m?.reasoning_tokens!==null)&&(n.output_token_details={...m?.audio_tokens!==null&&{audio:m?.audio_tokens},...m?.reasoning_tokens!==null&&{reasoning:m?.reasoning_tokens}});let f=[];for(let g of i?.choices??[]){let w={text:g.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(g.message??{role:"assistant"},i)};w.generationInfo={...g.finish_reason?{finish_reason:g.finish_reason}:{},...g.logprobs?{logprobs:g.logprobs}:{}},yi(w.message)&&(w.message.usage_metadata=n),w.message=new Ue(Object.fromEntries(Object.entries(w.message).filter(([A])=>!A.startsWith("lc_")))),f.push(w)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamChatModelEvents(t,e,r){let n=Rn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s=await this.completionWithRetry(o,e),i=this.streamUsage??e.streamUsage;yield*bi(async function*(u,l){for await(let p of u){if(l?.aborted)return;yield p}}(s,e.signal),{streamUsage:i??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=Rn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s,i=await this.completionWithRetry(o,e),a;for await(let u of i){if(e.signal?.aborted)return;let l=u?.choices?.[0];if(u.usage&&(a=u.usage),!l)continue;let{delta:p}=l;if(!p)continue;let m=this._convertCompletionsDeltaToBaseMessageChunk(p,u,s);s=p.role??s;let f={prompt:e.promptIndex??0,completion:l.index??0};if(typeof m.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let g={...f};l.finish_reason!=null&&(g.finish_reason=l.finish_reason,g.system_fingerprint=u.system_fingerprint,g.model_name=u.model,g.service_tier=u.service_tier),this.logprobs&&(g.logprobs=l.logprobs);let w=new cs({message:m,text:m.content,generationInfo:g});yield w,await r?.handleLLMNewToken(w.text??"",f,void 0,void 0,void 0,{chunk:w})}if(a){let u={...a.prompt_tokens_details?.audio_tokens!==null&&{audio:a.prompt_tokens_details?.audio_tokens},...a.prompt_tokens_details?.cached_tokens!==null&&{cache_read:a.prompt_tokens_details?.cached_tokens},...a.prompt_tokens_details?.cache_write_tokens!=null&&{cache_creation:a.prompt_tokens_details?.cache_write_tokens}},l={...a.completion_tokens_details?.audio_tokens!==null&&{audio:a.completion_tokens_details?.audio_tokens},...a.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:a.completion_tokens_details?.reasoning_tokens}},p=new cs({message:new Cn({content:"",response_metadata:{usage:{...a}},usage_metadata:{input_tokens:a.prompt_tokens,output_tokens:a.completion_tokens,total_tokens:a.total_tokens,...Object.keys(u).length>0&&{input_token_details:u},...Object.keys(l).length>0&&{output_token_details:l}}}),text:""});yield p,await r?.handleLLMNewToken(p.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:p})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n),s=t.response_format&&t.response_format.type==="json_schema";return this.caller.callWithOptions({maxRetries:r},async()=>{try{return s&&!t.stream?await this.client.chat.completions.parse(t,o):await this.client.chat.completions.create(t,o)}catch(i){throw et(i)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return Ra({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return ka({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var Ta="__openai_function_call_ids__",Ca="__openai_custom_tool_call_ids__";function km(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 hb(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 is=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_tokens},...t?.input_tokens_details?.cache_write_tokens!=null&&{cache_creation:t?.input_tokens_details?.cache_write_tokens}},r={...t?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:t?.output_tokens_details?.reasoning_tokens}};return{input_tokens:t?.input_tokens??0,output_tokens:t?.output_tokens??0,total_tokens:t?.total_tokens??0,input_token_details:e,output_token_details:r}},ci=t=>{if(t.error){let a=new Error(t.error.message);throw a.name=t.error.code,a}let e=[],r=[],n=[],o=t.output.map(a=>{if(a.type==="function_call"&&"parsed_arguments"in a){let u={...a};return delete u.parsed_arguments,u}return a}),s={model_provider:"openai",model:t.model,created_at:t.created_at,id:t.id,incomplete_details:t.incomplete_details,metadata:t.metadata,object:t.object,output:o,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let a of t.output)if(a.type==="message")e.push(...a.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(i.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(km),...a.phase!==null?{phase:a.phase}:{}}):u.type==="refusal"?(i.refusal=u.refusal,[]):u));else if(a.type==="function_call"){let u={function:{name:a.name,arguments:a.arguments},id:a.call_id};try{r.push(Ai(u,{returnId:!0}))}catch(l){let p;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(p=l.message),n.push(Nn(u,p))}i[Ta]??={},a.id&&(i[Ta][a.call_id]=a.id)}else if(a.type==="reasoning"){i.reasoning=a;let u=a.summary?.map(l=>l.text).filter(Boolean).join("");u&&e.push({type:"reasoning",reasoning:u})}else if(a.type==="custom_tool_call"){let u=pd(a);u?(r.push(u),i[Ca]??={},a.id&&a.call_id&&(i[Ca][a.call_id]=a.id)):n.push(Nn(a,"Malformed custom tool call"))}else if(a.type==="computer_call"){let u=fd(a);u?r.push(u):n.push(Nn(a,"Malformed computer call"))}else a.type==="image_generation_call"?(a.result&&e.push({type:"image",mimeType:"image/png",data:a.result,id:a.id,metadata:{status:a.status}}),i.tool_outputs??=[],i.tool_outputs.push(a)):(i.tool_outputs??=[],i.tool_outputs.push(a));return new Ue({id:t.id,content:e,tool_calls:r,invalid_tool_calls:n,usage_metadata:is(t.usage),additional_kwargs:i,response_metadata:s})},Tc=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}},$a=t=>{let e=[],r={},n,o=[],s={model_provider:"openai"},i={},a;if(t.type==="response.output_text.delta")e.push({type:"text",text:t.delta,index:t.content_index});else if(t.type==="response.output_text.annotation.added")e.push({type:"text",text:"",annotations:[km(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){let u="phase"in t.item?t.item.phase:void 0;u&&e.push({type:"text",text:"",phase:u,index:0})}else if(t.type==="response.output_item.added"&&t.item.type==="function_call")o.push({type:"tool_call_chunk",name:t.item.name,args:t.item.arguments,id:t.item.call_id,index:t.output_index}),i[Ta]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.added"&&t.item.type==="custom_tool_call")o.push({type:"tool_call_chunk",isCustomTool:!0,name:t.item.name,args:t.item.input,id:t.item.call_id,index:t.output_index}),i[Ca]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.done"&&t.item.type==="reasoning"&&t.item.encrypted_content)i.reasoning={encrypted_content:t.item.encrypted_content};else if(t.type==="response.output_item.done"&&t.item.type==="computer_call")o.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:t.item.action}),id:t.item.call_id,index:t.output_index}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&t.item.type==="image_generation_call")t.item.result&&e.push({type:"image",mimeType:"image/png",data:t.item.result,id:t.item.id,metadata:{status:t.item.status}}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(t.item.type))i.tool_outputs=[t.item];else if(t.type==="response.created")a=t.response.id,s.id=t.response.id,s.model_name=t.response.model,s.model=t.response.model;else if(t.type==="response.completed"||t.type==="response.incomplete"){a=t.response.id;let u=ci(t.response);if(n=is(t.response.usage),t.response.text?.format?.type==="json_schema"&&u.text)try{i.parsed??=JSON.parse(u.text)}catch{}for(let[l,p]of Object.entries(t.response))l!=="id"&&(l==="output"?s[l]=u.response_metadata.output:s[l]=p)}else if(t.type==="response.function_call_arguments.delta"||t.type==="response.custom_tool_call_input.delta")o.push({type:"tool_call_chunk",args:t.delta,index:t.output_index,...t.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});else if(t.type==="response.web_search_call.in_progress"||t.type==="response.web_search_call.searching"||t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.in_progress"||t.type==="response.file_search_call.searching"||t.type==="response.file_search_call.completed"||t.type==="response.image_generation_call.in_progress"||t.type==="response.image_generation_call.generating"||t.type==="response.image_generation_call.completed"){let[,u,l]=t.type.match(/^response\.(.*)\.([^.]+)$/)??["","",""];r={tool_outputs:{id:t.item_id,type:u,status:l}}}else if(t.type==="response.refusal.done")i.refusal=t.refusal;else if(t.type==="response.output_item.added"&&"item"in t&&t.item.type==="reasoning"){let u=t.item.summary?t.item.summary.map((p,m)=>({...p,index:m})):void 0;i.reasoning={id:t.item.id,type:t.item.type,...u?{summary:u}:{}};let l=t.item.summary?.map(p=>p.text).filter(Boolean).join("");l&&e.push({type:"reasoning",reasoning:l})}else if(t.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text,index:t.summary_index});else if(t.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta,index:t.summary_index});else return t.type==="response.image_generation_call.partial_image",null;return new cs({text:e.map(u=>u.text).join(""),message:new Cn({id:a,content:e,tool_call_chunks:o,usage_metadata:n,additional_kwargs:i,response_metadata:s}),generationInfo:r})},Cc=t=>{let e=Ue.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let n=ut(()=>{try{let h=Bt(t);return h==="system"||h==="developer"||h==="assistant"||h==="user"?h:"assistant"}catch{return"assistant"}}),o=h=>n==="assistant"?{type:"output_text",text:h,annotations:[]}:{type:"input_text",text:h},s,i=new Set,a=new Set,u=new Map,l=new Map;function*p(){if(!s)return;let h=s.content;(typeof h=="string"&&h.length>0||Array.isArray(h)&&h.length>0)&&(yield s),s=void 0}let m=(h,I)=>{s||(s={type:"message",role:n,content:[],...I?{phase:I}:{}}),typeof s.content=="string"?s.content=s.content.length>0?[o(s.content),...h]:[...h]:s.content.push(...h)},f=h=>{if(typeof h=="string")return h;try{return JSON.stringify(h??{})}catch{return"{}"}},g=h=>{let I=ut(()=>{let x=h.metadata?.detail;return x==="low"||x==="high"||x==="auto"?x:"auto"});if(h.fileId)return{type:"input_image",detail:I,file_id:h.fileId};if(h.url)return{type:"input_image",detail:I,image_url:h.url};if(h.data){let x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_image",detail:I,image_url:`data:${h.mimeType??"image/png"};base64,${x}`}}},w=h=>{if(h.fileId){let I=ha(h);return{type:"input_file",file_id:h.fileId,...I?{filename:I}:{}}}if(h.url){let I=ha(h);return{...I?{filename:I}:{},type:"input_file",file_url:h.url}}if(h.data){let I=bn(h),x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_file",file_data:`data:${h.mimeType??"application/octet-stream"};base64,${x}`,filename:I}}},A=h=>{let I=ut(()=>{if(Array.isArray(h.summary)){let T=h.summary?.map(k=>k?.text).filter(k=>typeof k=="string")??[];if(T.length>0)return T}return h.reasoning?[h.reasoning]:[]}),x=I.length>0?I.map(T=>({type:"summary_text",text:T})):[{type:"summary_text",text:""}];return{type:"reasoning",...h.id?{id:h.id}:{},summary:x}},b=h=>({type:"function_call",name:h.name??"",call_id:h.id??"",arguments:f(h.args)}),R=h=>{let I=f(h.output),x=h.status==="success"?"completed":h.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:h.toolCallId??"",output:I,...x?{status:x}:{}}};for(let h of t.contentBlocks)if(h.type==="text"){let I=ut(()=>{if("extras"in h&&typeof h.extras=="object"&&h.extras!==null&&"phase"in h.extras)return h.extras.phase});m([o(h.text)],I)}else if(h.type!=="invalid_tool_call"){if(h.type==="reasoning")yield*p(),yield A(h);else if(h.type==="tool_call"){yield*p();let I=h.id??"";I&&(i.add(I),u.delete(I)),yield b(h)}else if(h.type==="tool_call_chunk"){if(h.id){let I=u.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),u.set(h.id,I)}}else if(h.type==="server_tool_call"){yield*p();let I=h.id??"";I&&(a.add(I),l.delete(I)),yield b(h)}else if(h.type==="server_tool_call_chunk"){if(h.id){let I=l.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),l.set(h.id,I)}}else if(h.type==="server_tool_call_result")yield*p(),yield R(h);else if(h.type!=="audio")if(h.type==="file"){let I=w(h);I&&m([I])}else if(h.type==="image"){let I=g(h);I&&m([I])}else if(h.type==="video"){let I=w(h);I&&m([I])}else h.type==="text-plain"?h.text&&m([o(h.text)]):h.type==="non_standard"&&e&&(yield*p(),yield h.value)}yield*p();for(let[h,I]of u){if(!h||i.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}for(let[h,I]of l){if(!h||a.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}}return Array.from(r())},as=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(n=>{let o=n.response_metadata;if(o?.output_version==="v1")return Cc(n);let s=n.additional_kwargs,i=Bt(n);if(i==="system"&&Ut(r)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let a=n;if(s?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof a.content=="string")return{type:"input_image",image_url:a.content};if(Array.isArray(a.content)){let l=a.content.find(f=>f.type==="input_image");if(l)return l;let p=a.content.find(f=>f.type==="computer_screenshot");if(p)return p;let m=a.content.find(f=>f.type==="image_url");if(m)return{type:"input_image",image_url:typeof m.image_url=="string"?m.image_url:m.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:a.tool_call_id};if(a.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:a.tool_call_id,output:a.content};let u=Array.isArray(a.content)&&a.content.every(l=>typeof l=="object"&&l!==null&&"type"in l&&(l.type==="input_file"||l.type==="input_image"||l.type==="input_text"));return{type:"function_call_output",call_id:a.tool_call_id,id:a.id?.startsWith("fc_")?a.id:void 0,output:u?a.content:typeof a.content!="string"?JSON.stringify(a.content):a.content}}if(i==="assistant"){if(!e&&o?.output!=null&&Array.isArray(o?.output)&&o?.output.length>0&&o?.output.every(A=>"type"in A))return o?.output;let a=[],u=s?.reasoning,l=!!u?.encrypted_content;if(u&&(!e||l)){let A=Tc(u);a.push(A)}let{content:p}=n;if(s?.refusal&&(typeof p=="string"&&(p=[{type:"output_text",text:p,annotations:[]}]),p=[...p,{type:"refusal",refusal:s.refusal}]),typeof p=="string"||p.length>0){let A={type:"message",role:"assistant",...n.id&&!e&&n.id.startsWith("msg_")?{id:n.id}:{},content:ut(()=>typeof p=="string"?p:p.flatMap(b=>{if(b.type==="text"){let R=b;return{type:"output_text",text:R.text,annotations:(R.annotations??[]).map(hb)}}return b.type==="output_text"||b.type==="refusal"?b:[]})),phase:ut(()=>{if(Array.isArray(p))return p.find(b=>"phase"in b&&typeof b.phase=="string")?.phase})};a.push(A)}let m=s?.[Ta],f=s?.[Ca];Ue.isInstance(n)&&n.tool_calls?.length?a.push(...n.tool_calls.map(A=>md(A,f)?{type:"custom_tool_call",id:"call_id"in A&&typeof A.call_id=="string"?A.call_id:f?.[A.id??""]??"",call_id:A.id??"",input:A.args.input,name:A.name}:dd(A)?{type:"computer_call",id:A.call_id,call_id:A.id??"",action:A.args.action}:{type:"function_call",name:A.name,arguments:JSON.stringify(A.args),call_id:A.id,...e?{}:{id:m?.[A.id]}})):s?.tool_calls&&a.push(...s.tool_calls.map(A=>({type:"function_call",name:A.function.name,call_id:A.id,arguments:A.function.arguments,...e?{}:{id:m?.[A.id]}})));let g=o?.output?.length?o?.output:s.tool_outputs,w=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(g!=null){let A=g?.filter(b=>w.includes(b.type));A.length>0&&a.push(...A)}return a}if(i==="user"||i==="system"||i==="developer"){if(typeof n.content=="string")return{type:"message",role:i,content:n.content};let a=[],u=n.content.flatMap(l=>{if(l.type==="mcp_approval_response"&&a.push({type:"mcp_approval_response",approval_request_id:l.approval_request_id,approve:l.approve}),fi(l)){if(l.type==="file"){let p=ha(l);if(l.source_type==="url")return{type:"input_file",file_url:l.url,...p?{filename:p}:{}};if(l.source_type==="id")return{type:"input_file",file_id:l.id,...p?{filename:p}:{}};if(l.source_type==="base64")return{type:"input_file",file_data:`data:${l.mime_type??""};base64,${l.data}`,filename:bn(l)}}return di(l,ui)}return l.type==="text"?{type:"input_text",text:l.text}:l.type==="image_url"?{type:"input_image",image_url:ut(()=>{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:ut(()=>{if(typeof l.image_url=="string")return"auto";if(typeof l.image_url=="object"&&l.image_url!==null&&"detail"in l.image_url)return l.image_url.detail})}:l.type==="input_text"||l.type==="input_image"||l.type==="input_file"?l:[]});return u.length>0&&a.push({type:"message",role:i,content:u}),a}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]});async function*$c(t,e={}){let r=e.streamUsage??!0,n=e.provider??"openai",o=new Map,s=new Map,i=0,a=!1,u,l,p,m,f=new Set,g=(b,R)=>{let h=s.get(b);if(h!==void 0)return{index:h,isNew:!1};let I=i++;return s.set(b,I),o.set(I,{...R}),{index:I,isNew:!0}},w=function*(){a||(a=!0,yield{event:"message-start",id:u})},A=function*(b){if(f.has(b))return;let R=o.get(b);R&&(f.add(b),yield{event:"content-block-finish",index:b,content:al(R)})};for await(let b of t){if(b.type==="response.created"){u=b.response.id,yield*w(),yield{event:"provider",provider:n,name:"response.created",payload:{model:b.response.model,id:b.response.id}};continue}if(b.type==="response.output_text.delta"){yield*w();let{index:R,isNew:h}=g(`text:${b.output_index}:${b.content_index}`,{type:"text",text:""});h&&(yield{event:"content-block-start",index:R,content:{type:"text",text:""}});let I=o.get(R);I.text=(I.text??"")+b.delta,yield{event:"content-block-delta",index:R,delta:{type:"text-delta",text:b.delta}};continue}if(b.type==="response.reasoning_summary_text.delta"){yield*w();let{index:R,isNew:h}=g(`reasoning:${b.output_index}:${b.summary_index}`,{type:"reasoning",reasoning:""});h&&(yield{event:"content-block-start",index:R,content:{type:"reasoning",reasoning:""}});let I=o.get(R);I.reasoning=(I.reasoning??"")+b.delta,yield{event:"content-block-delta",index:R,delta:{type:"reasoning-delta",reasoning:b.delta}};continue}if(b.type==="response.output_item.added"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let R=`tool:${b.output_index}`,h=b.item.type==="custom_tool_call",I=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:x,isNew:T}=g(R,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index,...h?{isCustomTool:!0}:{}});if(T&&(yield{event:"content-block-start",index:x,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index}}),I){let k=o.get(x);yield{event:"content-block-delta",index:x,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...k.id!=null?{id:k.id}:{},...k.name!=null?{name:k.name}:{},args:k.args}}}}continue}if(b.type==="response.function_call_arguments.delta"||b.type==="response.custom_tool_call_input.delta"){yield*w();let{index:R,isNew:h}=g(`tool:${b.output_index}`,{type:"tool_call_chunk",args:"",index:b.output_index,...b.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});h&&(yield{event:"content-block-start",index:R,content:{type:"tool_call_chunk",args:"",index:b.output_index}});let I=o.get(R);I.args=(I.args??"")+b.delta,yield{event:"content-block-delta",index:R,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...I.id!=null?{id:I.id}:{},...I.name!=null?{name:I.name}:{},args:I.args}}};continue}if(b.type==="response.output_item.done"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let R=`tool:${b.output_index}`,h=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:I,isNew:x}=g(R,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index});if(x)yield{event:"content-block-start",index:I,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index}};else{let T=o.get(I);T.args=h,T.id=b.item.call_id,T.name=b.item.name}yield*A(I);continue}if(b.type==="response.completed"||b.type==="response.incomplete"){yield*w(),u=b.response.id,p=yb(b.response.status,b.type),m={model_provider:n,id:b.response.id,model:b.response.model,status:b.response.status},r&&b.response.usage&&(l=is(b.response.usage),yield{event:"usage",usage:l});continue}b.type!=="response.image_generation_call.partial_image"&&(yield*w(),yield{event:"provider",provider:n,name:b.type,payload:b})}a||(yield{event:"message-start"});for(let[b]of o)f.has(b)||(yield*A(b));yield{event:"message-finish",reason:p,...l?{usage:l}:{},...m?{responseMetadata:m}:{}}}function yb(t,e){return e==="response.incomplete"?"length":t==="completed"?"stop":t==="incomplete"?"length":"stop"}var Na=class extends kn{constructor(t,e){super(ss(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:ld(t?.tool_choice)?t?.tool_choice:(()=>{let o=ga(t?.tool_choice);if(typeof o=="object"&&"type"in o){if(o.type==="function")return{type:"function",name:o.function.name};if(o.type==="allowed_tools")return{type:"allowed_tools",mode:o.allowed_tools.mode,tools:o.allowed_tools.tools};if(o.type==="custom")return{type:"custom",name:o.custom.name}}})(),text:(()=>{if(t?.text)return t.text;let o=this._getResponseFormat(t?.response_format);return o?.type==="json_schema"?o.json_schema.schema!=null?{format:{type:"json_schema",schema:o.json_schema.schema,description:o.json_schema.description,name:o.json_schema.name,strict:o.json_schema.strict},verbosity:t?.verbosity}:void 0:{format:o,verbosity:t?.verbosity}})(),parallel_tool_calls:t?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},n=this._getReasoningParams(t);return n!==void 0&&(r.reasoning=n),r}async _generate(t,e,r){e.signal?.throwIfAborted();let n=this.invocationParams(e);if(n.stream){let o=this._streamResponseChunks(t,e,r),s;for await(let i of o)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},s=s?.concat(i)??i;return{generations:s?[s]:[],llmOutput:{estimatedTokenUsage:s?.message?.usage_metadata}}}else{let o=await this.completionWithRetry({input:as({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options});return{generations:[{text:o.output_text,message:ci(o)}],llmOutput:{id:o.id,estimatedTokenUsage:o.usage?{promptTokens:o.usage.input_tokens,completionTokens:o.usage.output_tokens,totalTokens:o.usage.total_tokens}:void 0}}}}async*_streamChatModelEvents(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:as({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e),o=this.streamUsage??e.streamUsage;yield*$c(async function*(i,a){for await(let u of i){if(a?.aborted)return;yield u}}(n,e.signal),{streamUsage:o??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:as({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);try{for await(let o of n){if(e.signal?.aborted)return;let s=$a(o);s!=null&&(yield s,await r?.handleLLMNewToken(s.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:s}))}}catch(o){throw et(o)}}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n);return this.caller.callWithOptions({maxRetries:r},async()=>{try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,o):await this.client.responses.create(t,o)}catch(s){throw et(s)}})}_reduceChatOpenAITools(t,e){let r=[];for(let n of t)if(es(n))n.type==="image_generation"&&e?.stream&&(n.partial_images=1),r.push(n);else if(wn(n)){let o=n.metadata.customTool;r.push({type:"custom",name:o.name,description:o.description,format:o.format})}else if(_i(n)){let o={};for(let[s,i]of Object.entries(n))s!=="type"&&s!=="function"&&(o[s]=i);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:e?.strict??null,...o})}else _a(n)&&r.push(hd(n));return r}};var ja=class Rm extends kn{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=ss(e,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new Na(n),this.completions=n?.completions??new Ea(n)}_useResponsesApi(e){let r=e?.tools?.some(es),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(_a)||e?.tools?.some(wn);return this.useResponsesApi||r||n||o||nd(this.model)}getLsParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(e,r,n){return this._useResponsesApi(r)?this.responses._generate(e,r,n):this.completions._generate(e,r,n)}async*_streamChatModelEvents(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamChatModelEvents(e,this._combineCallOptions(r),n);return}yield*this.completions._streamChatModelEvents(e,this._combineCallOptions(r),n)}async*_streamResponseChunks(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(r),n);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(r),n)}withConfig(e){let r=new Rm(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var Ma=class extends cl{model="text-embedding-ada-002";modelName;batchSize=512;stripNewLines=!0;dimensions;timeout;organization;encodingFormat;client;clientConfig;apiKey;constructor(t){let e={maxConcurrency:2,...t};super(e);let r=e?.apiKey??e?.openAIApiKey??Ne("OPENAI_API_KEY");this.organization=e?.configuration?.organization??Ne("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelName=this.model,this.batchSize=e?.batchSize??this.batchSize,this.stripNewLines=e?.stripNewLines??this.stripNewLines,this.timeout=e?.timeout,this.dimensions=e?.dimensions,this.encodingFormat=e?.encodingFormat,this.clientConfig={apiKey:r,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration}}async embedDocuments(t){let e=Xa(this.stripNewLines?t.map(s=>s.replace(/\n/g," ")):t,this.batchSize),r=e.map(s=>{let i={model:this.model,input:s};return this.dimensions&&(i.dimensions=this.dimensions),this.encodingFormat&&(i.encoding_format=this.encodingFormat),this.embeddingWithRetry(i)}),n=await Promise.all(r),o=[];for(let s=0;s<n.length;s+=1){let i=e[s],{data:a}=n[s];for(let u=0;u<i.length;u+=1)o.push(a[u].embedding)}return o}async embedQuery(t){let e={model:this.model,input:this.stripNewLines?t.replace(/\n/g," "):t};this.dimensions&&(e.dimensions=this.dimensions),this.encodingFormat&&(e.encoding_format=this.encodingFormat);let{data:r}=await this.embeddingWithRetry(e);return r[0].embedding}async embeddingWithRetry(t){if(!this.client){let r={baseURL:this.clientConfig.baseURL},n=Ft(r),o={...this.clientConfig,baseURL:n,timeout:this.timeout,maxRetries:0};o.baseURL||delete o.baseURL,o.defaultHeaders=Kt(o.defaultHeaders),this.client=new M(o)}let e={};return this.caller.call(async()=>{try{return await this.client.embeddings.create(t,e)}catch(r){throw et(r)}})}};var bb=v.object({type:v.literal("screenshot")}),wb=v.object({type:v.literal("click"),x:v.number(),y:v.number(),button:v.enum(["left","right","wheel","back","forward"]).default("left")}),Ib=v.object({type:v.literal("double_click"),x:v.number(),y:v.number(),button:v.enum(["left","right","wheel","back","forward"]).default("left")}),Ob=v.object({type:v.literal("drag"),path:v.array(v.object({x:v.number(),y:v.number()}))}),xb=v.object({type:v.literal("keypress"),keys:v.array(v.string())}),Pb=v.object({type:v.literal("move"),x:v.number(),y:v.number()}),Sb=v.object({type:v.literal("scroll"),x:v.number(),y:v.number(),scroll_x:v.number(),scroll_y:v.number()}),vb=v.object({type:v.literal("type"),text:v.string()}),kb=v.object({type:v.literal("wait"),duration:v.number().optional()}),Rb=v.union([bb,wb,Ib,Ob,xb,Pb,Sb,vb,kb]),nz=v.object({action:Rb});var Eb=v.object({type:v.literal("exec"),command:v.array(v.string()),env:v.record(v.string(),v.string()).optional(),working_directory:v.string().optional(),timeout_ms:v.number().optional(),user:v.string().optional()}),az=v.union([Eb]);var pz=v.object({commands:v.array(v.string()).describe("Array of shell commands to execute"),timeout_ms:v.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:v.number().optional().describe("Optional maximum number of characters to return from each command")});var Tb=v.object({type:v.literal("create_file"),path:v.string(),diff:v.string()}),Cb=v.object({type:v.literal("update_file"),path:v.string(),diff:v.string()}),$b=v.object({type:v.literal("delete_file"),path:v.string()}),hz=v.union([Tb,Cb,$b]);var Cm={advanced:"gpt-5.6-sol",default:"gpt-5.6-terra",fast:"gpt-5.6-luna"},za={default:"text-embedding-ada-002"},jc=new Map,Da=null,Db=()=>{let t=Em.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},$m=async t=>{let e=Db();jc.size===0&&(Da||(Da=(async()=>{try{(await Tm(`${e}/models`)).data.models.forEach(n=>jc.set(n.name,n))}catch(n){throw Da=null,n}})()),await Da);let r=jc.get(t);if(!r)throw new Error(`Model '${t}' is not available in the discovery service.`);return r.endpoint},zb=async(t="default")=>await $m(Cm[t]),Lb=async(t="default")=>await $m(za[t]),Ub=t=>typeof t=="string"&&t.length>0?t:void 0,Bb=()=>Lc(),Fb=t=>typeof t!="string"||t.trim().length===0?"MapsSDK":`MapsSDK - ${t.trim()}`,Kb=t=>{let e=t?.configurable;return{conversationId:Ub(e?.thread_id),abortSignal:t?.signal,requestId:Bb(),requestSource:Fb(Mb.applicationName)}},Wb=t=>{if(t==null||typeof t=="string"||t instanceof FormData||t instanceof HTMLFormElement)return t;if(t instanceof URLSearchParams)return t.toString();throw new TypeError(`Unsupported request body type: ${Object.prototype.toString.call(t)}`)},Nm=async({config:t,withCredentials:e})=>{let r=Em.getDefault(),n=await jb.getCredential(`${r.url}/sharing`);return async(o,s)=>{let{conversationId:i,abortSignal:a,requestId:u,requestSource:l}=Kb(t),p=new Headers(s?.headers);for(let g of[...p.keys()]){let w=g.toLowerCase();(w==="authorization"||w==="api-key"||w.startsWith("x-stainless-"))&&p.delete(g)}let m=n?.token;m&&m.length>0&&p.set("X-Esri-Authorization",`Bearer ${m}`),r.isPortal||(l&&l.length>0&&p.set("X-Esri-Request-Source",l),i&&i.length>0&&p.set("X-Esri-Conversation-Id",i),u.length>0&&p.set("X-Esri-Request-Id",u));let f=a&&s?.signal?AbortSignal.any([a,s.signal]):s?.signal??a;return(await Tm(o instanceof Request?o.url:o.toString(),{body:Wb(s?.body),headers:Object.fromEntries(p),responseType:"native",withCredentials:e,signal:f})).data}},us=async(t={})=>{let{modelTier:e="default",config:r}=t,n=Cm[e],o=await zb(e);return new ja({modelName:n,apiKey:"dummy-key",useResponsesApi:!0,zdrEnabled:!0,configuration:{baseURL:o,fetch:await Nm({config:r,withCredentials:!0})}})},ML=async(t={})=>{let{tier:e="default",config:r}=t,n=za[e],o=await Lb(e);return new Ma({modelName:n,apiKey:"dummy-key",configuration:{baseURL:o,fetch:await Nm({config:r})},batchSize:2048,maxConcurrency:10})};var HL=xt.Root({agentExecutionContext:xt({default:dl,reducer:pl}),currentIntent:xt({default:()=>"none",reducer:ps}),routing:xt({default:()=>({mode:"auto"}),reducer:ps}),lastExecutedAgent:xt({default:()=>"",reducer:ps}),requiresFollowUp:xt({default:()=>!0,reducer:ps}),stepCount:xt({default:()=>0,reducer:(t,e)=>e??t+1}),finalOutputMessage:xt({default:()=>"",reducer:fl})}),qb=t=>{if(!t||typeof t!="object"||!("services"in t))return!1;let e=t.services;return!!e&&typeof e=="object"&&"agentRegistry"in e},Hb=t=>{let e=t?.configurable;return qb(e)?e:void 0},Xb=(t,e,r)=>{let n=t[e];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((o,s)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(s.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},Dc=async t=>(await Xb(Object.assign({"./field_descriptions_prompt.md":()=>import("./ZU2FHVNK.js"),"./intent_prompt.md":()=>import("./BL273EGZ.js"),"./layer_descriptions_prompt.md":()=>import("./LK7ZIQW6.js")}),`./${t}.md`,2)).default,Zb=async t=>{let{agent:e,messages:r,config:n}=t;return{structuredResponse:(await e.invoke({messages:r},n)).structuredResponse}},Jb=v.object({id:v.string().min(1),name:v.string().min(1),description:v.string().min(1)});v.array(Jb);var jm=t=>JSON.stringify(t,null,2),Vb=t=>{let e=t.map(n=>n.id),r=v.enum(e);return v.object({intent:r.nullable(),assignedTask:v.string().nullable(),requiresFollowUp:v.boolean()})},XL=async(t,e)=>{let r=Hb(e);if(e?.signal?.aborted)return await Cr({text:"Run cancelled; skipping intent routing"},e),{...t,currentIntent:"none",finalOutputMessage:"Operation cancelled.",requiresFollowUp:!1};try{await Cr({text:"Asking LLM to route to an agent"},e);let n=r.services.agentRegistry?.list()??[],o=n.map(({agent:A})=>({id:A.id,name:A.name,description:A.description}));if(!o.length)return await Cr({text:"No agents registered; skipping intent detection"},e),{...t,currentIntent:"none",finalOutputMessage:"No agents registered; skipping intent detection."};let s=await Dc("intent_prompt"),i=jm(o),a=Vb(o),u={registeredAgents:i,priorSteps:jm(t.agentExecutionContext.priorSteps),userRequest:t.agentExecutionContext.userRequest},l=await Za.fromTemplate(s).format(u),p=ml({model:await us({modelTier:"fast",config:e}),tools:[],systemPrompt:l,responseFormat:a,middleware:[hl({model:await us({modelTier:"fast",config:e}),trigger:{tokens:4e3},keep:{messages:6}}),yl({runLimit:2})]}),{structuredResponse:m}=await Zb({agent:p,messages:t.agentExecutionContext.messages,config:e}),f=a.parse(m??{intent:null,assignedTask:null,requiresFollowUp:!1}),g=f.intent??"none",w={...t,currentIntent:g,requiresFollowUp:f.requiresFollowUp,agentExecutionContext:{...t.agentExecutionContext,assignedTask:f.assignedTask??""}};if(g==="none"){let A=`I could not find an agent that can handle that request. I have access to the following agents: ${n.map(({agent:b})=>b.name).join(", ")}.
41
+ ]`;continue}s+=o[l],o[l]==="\\"?i=!0:a&&o[l]==="]"?a=!1:!a&&o[l]==="["&&(a=!0)}try{let l=new RegExp(s)}catch{return console.warn(`Could not convert regex pattern at ${e.currentPath.join("/")} to a flag-independent form! Falling back to the flag-ignorant source`),r.source}return s};function wa(t,e){if(e.target==="openApi3"&&t.keyType?._def.typeName===F.ZodEnum)return{type:"object",required:t.keyType._def.values,properties:Object.fromEntries(t.keyType._def.values.map(n=>[n,z(t.valueType._def,{...e,currentPath:[...e.currentPath,"properties",n]})??{}])),additionalProperties:!1};let r={type:"object",additionalProperties:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??{}};if(e.target==="openApi3")return r;if(t.keyType?._def.typeName===F.ZodString&&t.keyType._def.checks?.length){let n=Object.fromEntries(Object.entries(ba(t.keyType._def,e)).filter(([o])=>o!=="type"));return{...r,propertyNames:n}}else if(t.keyType?._def.typeName===F.ZodEnum)return{...r,propertyNames:{enum:t.keyType._def.values}};return r}function Rd(t,e){if(e.mapStrategy==="record")return wa(t,e);let r=z(t.keyType._def,{...e,currentPath:[...e.currentPath,"items","items","0"]})||{},n=z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items","items","1"]})||{};return{type:"array",maxItems:125,items:{type:"array",items:[r,n],minItems:2,maxItems:2}}}function Ed(t){let e=t.values,n=Object.keys(t.values).filter(i=>typeof e[e[i]]!="number").map(i=>e[i]),o=[...new Set(n.map(i=>typeof i))],s=["string","number"];return o.length===1&&(s=o[0]==="string"?"string":"number"),{type:s,enum:n}}function Td(){return{not:{}}}var oi={ZodString:"string",ZodNumber:"number",ZodBigInt:"integer",ZodBoolean:"boolean",ZodNull:"null"};function $d(t,e){if(e.target==="openApi3")return Cd(t,e);let r=t.options instanceof Map?[...t.options.values()]:t.options;if(r.every(n=>n._def.typeName in oi&&(!n._def.checks||!n._def.checks.length))){let n=[];for(let o of r){let s=oi[o._def.typeName];s&&!n.includes(s)&&n.push(s)}return{type:n.length>1?n:n[0]}}else if(r.every(n=>n._def.typeName==="ZodLiteral"&&!n.description)){let n=[];for(let o of r){let s=typeof o._def.value;switch(s){case"string":case"number":case"boolean":{n.push(s);break}case"bigint":{n.push("integer");break}case"object":{o._def.value===null&&n.push("null");break}}}if(n.length===r.length){let o=n.filter((i,a,u)=>u.indexOf(i)===a),s=[];for(let i of r)s.includes(i._def.value)||s.push(i._def.value);return{type:o.length>1?o:o[0],enum:s}}}else if(r.every(n=>n._def.typeName==="ZodEnum")){let n=[];for(let o of r)for(let s of o._def.values)n.includes(s)||n.push(s);return{type:"string",enum:n}}return Cd(t,e)}var Cd=(t,e)=>{let r=(t.options instanceof Map?[...t.options.values()]:t.options).map((n,o)=>z(n._def,{...e,currentPath:[...e.currentPath,"anyOf",`${o}`]})).filter(n=>!!n&&(!e.strictUnions||typeof n=="object"&&Object.keys(n).length>0));return r.length?{anyOf:r}:void 0};function Nd(t,e,r){if(["ZodString","ZodNumber","ZodBigInt","ZodBoolean","ZodNull"].includes(t.innerType._def.typeName)&&(!t.innerType._def.checks||!t.innerType._def.checks.length))return e.target==="openApi3"||e.nullableStrategy==="property"?{type:oi[t.innerType._def.typeName],nullable:!0}:{type:[oi[t.innerType._def.typeName],"null"]};if(e.target==="openApi3"){let o=z(t.innerType._def,{...e,currentPath:[...e.currentPath]},r);return o&&"$ref"in o?{allOf:[o],nullable:!0}:o&&{...o,nullable:!0}}let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","0"]});return n&&{anyOf:[n,{type:"null"}]}}function jd(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",gc(r,"type",n.message,e);break}case"min":{e.target==="jsonSchema7"?n.inclusive?Z(r,"minimum",n.value,n.message,e):Z(r,"exclusiveMinimum",n.value,n.message,e):(n.inclusive||(r.exclusiveMinimum=!0),Z(r,"minimum",n.value,n.message,e));break}case"max":{e.target==="jsonSchema7"?n.inclusive?Z(r,"maximum",n.value,n.message,e):Z(r,"exclusiveMaximum",n.value,n.message,e):(n.inclusive||(r.exclusiveMaximum=!0),Z(r,"maximum",n.value,n.message,e));break}case"multipleOf":{Z(r,"multipleOf",n.value,n.message,e);break}}return r}function bA(t,e){return e.removeAdditionalStrategy==="strict"?t.catchall._def.typeName==="ZodNever"?t.unknownKeys!=="strict":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0:t.catchall._def.typeName==="ZodNever"?t.unknownKeys==="passthrough":z(t.catchall._def,{...e,currentPath:[...e.currentPath,"additionalProperties"]})??!0}function Md(t,e){let r={},n=[];for(let[s,i]of Object.entries(t.shape())){if(i===void 0||i._def===void 0)continue;let a=[...e.currentPath,"properties",s];if(s==="__proto__")throw new Error(`Zod field at \`${a.join("/")}\` uses unsupported property name \`__proto__\`, which Zod omits from parsed output.`);let u=z(i._def,{...e,currentPath:a,propertyPath:a});if(u!==void 0){if(e.openaiStrictMode&&i.isOptional()&&!i.isNullable()&&i._def?.defaultValue===void 0)throw new Error(`Zod field at \`${a.join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);r[s]=u,(!i.isOptional()||e.openaiStrictMode)&&n.push(s)}}let o={type:"object",properties:r,required:n,additionalProperties:bA(t,e)};return o.required.length||delete o.required,o}var Dd=(t,e,r)=>{if(e.propertyPath&&e.currentPath.slice(0,e.propertyPath.length).toString()===e.propertyPath.toString())return z(t.innerType._def,{...e,currentPath:e.currentPath},r);let n=z(t.innerType._def,{...e,currentPath:[...e.currentPath,"anyOf","1"]},r);return n?{anyOf:[{not:{}},n]}:{}};var zd=(t,e,r)=>{if(e.pipeStrategy==="input")return z(t.in._def,e,r);if(e.pipeStrategy==="output")return z(t.out._def,e,r);let n=z(t.in._def,{...e,currentPath:[...e.currentPath,"allOf","0"]}),o=z(t.out._def,{...e,currentPath:[...e.currentPath,"allOf",n?"1":"0"]});return{allOf:[n,o].filter(s=>s!==void 0)}};function Ld(t,e,r){return z(t.type._def,e,r)}function Ud(t,e){let n={type:"array",uniqueItems:!0,items:z(t.valueType._def,{...e,currentPath:[...e.currentPath,"items"]})};return t.minSize&&Z(n,"minItems",t.minSize.value,t.minSize.message,e),t.maxSize&&Z(n,"maxItems",t.maxSize.value,t.maxSize.message,e),n}function Bd(t,e){return t.rest?{type:"array",minItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0),additionalItems:z(t.rest._def,{...e,currentPath:[...e.currentPath,"additionalItems"]})}:{type:"array",minItems:t.items.length,maxItems:t.items.length,items:t.items.map((r,n)=>z(r._def,{...e,currentPath:[...e.currentPath,"items",`${n}`]})).filter(r=>r!==void 0)}}function Fd(){return{not:{}}}function Kd(){return{}}var Wd=(t,e,r)=>z(t.innerType._def,e,r);var Hd=Symbol("Let zodToJsonSchema decide on which parser to use"),qd={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"},Xd=t=>{let e=typeof t=="string"?{...qd,basePath:["#"],definitions:{},name:t}:{...qd,basePath:["#"],definitions:{},...t};return typeof t!="string"&&t?.definitions&&e.$refStrategy==="extract-to-root"&&e.nameStrategy==="duplicate-ref"&&(e.definitions={...t.definitions}),e};var On=t=>"_def"in t?t._def:t;function Zd(t){if(!t)return!0;for(let e in t)return!1;return!0}function z(t,e,r=!1){let n=e.seen.get(t);if(e.override){let s=e.override?.(t,e,n,r);if(s!==Hd)return s}if(n&&!r){let s=wA(n,e);if(s!==void 0)return"$ref"in s&&e.seenRefs.add(s.$ref),s}let o={def:t,path:e.currentPath,jsonSchema:void 0};e.seen.set(t,o);try{let s=xA(t,t.typeName,e,r);return s&&PA(t,e,s),o.jsonSchema=s,s}finally{r&&n&&e.seen.set(t,n)}}var wA=(t,e)=>{switch(e.$refStrategy){case"root":return{$ref:t.path.join("/")};case"extract-to-root":{let r=t.path.slice(e.basePath.length+1).map((s,i)=>i===0?s:IA(s)).join("_"),n=r;if(!(n===e.name&&t.path.length===e.basePath.length+2&&t.path[e.basePath.length]===e.definitionPath)&&e.nameStrategy==="duplicate-ref"){let s=a=>{if(!N(e.definitions,a))return!1;let u=e.definitions[a];return u===void 0||On(u)!==t.def},i=0;for(;n===e.name||s(n);)i+=1,n=`${r}_${i}`;N(e.definitions,n)||(e.definitions[n]=t.def)}return{$ref:[...e.basePath,e.definitionPath,n].join("/")}}case"relative":return{$ref:OA(e.currentPath,t.path)};case"none":case"seen":return t.path.length<e.currentPath.length&&t.path.every((r,n)=>e.currentPath[n]===r)?(console.warn(`Recursive reference detected at ${e.currentPath.join("/")}! Defaulting to any`),{}):e.$refStrategy==="seen"?{}:void 0}},Jd="_x_",IA=t=>{if(/^[A-Za-z0-9_-]*$/.test(t)&&!t.startsWith(Jd))return t;let e=Jd;for(let r=0;r<t.length;r++)e+=t.charCodeAt(r).toString(16).padStart(4,"0");return e},OA=(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("/")},xA=(t,e,r,n)=>{switch(e){case F.ZodString:return ba(t,r);case F.ZodNumber:return jd(t,r);case F.ZodObject:return Md(t,r);case F.ZodBigInt:return Ad(t,r);case F.ZodBoolean:return bd();case F.ZodDate:return _c(t,r);case F.ZodUndefined:return Fd();case F.ZodNull:return Aa(r);case F.ZodArray:return _d(t,r);case F.ZodUnion:case F.ZodDiscriminatedUnion:return $d(t,r);case F.ZodIntersection:return Sd(t,r);case F.ZodTuple:return Bd(t,r);case F.ZodRecord:return wa(t,r);case F.ZodLiteral:return vd(t,r);case F.ZodEnum:return Pd(t);case F.ZodNativeEnum:return Ed(t);case F.ZodNullable:return Nd(t,r,n);case F.ZodOptional:return Dd(t,r,n);case F.ZodMap:return Rd(t,r);case F.ZodSet:return Ud(t,r);case F.ZodLazy:return z(t.getter()._def,r,n);case F.ZodPromise:return Ld(t,r,n);case F.ZodNaN:case F.ZodNever:return Td();case F.ZodEffects:return xd(t,r,n);case F.ZodAny:return gd();case F.ZodUnknown:return Kd();case F.ZodDefault:return Od(t,r,n);case F.ZodBranded:return wd(t,r,n);case F.ZodReadonly:return Wd(t,r,n);case F.ZodCatch:return Id(t,r,n);case F.ZodPipeline:return zd(t,r,n);case F.ZodFunction:case F.ZodVoid:case F.ZodSymbol:return;default:return(o=>{})(e)}},PA=(t,e,r)=>(t.description&&(r.description=t.description,e.markdownDescription&&(r.markdownDescription=t.description)),r);var Vd=t=>{let e=Xd(t),r=e.name===void 0?e.basePath:[...e.basePath,e.definitionPath,e.name];return{...e,currentPath:r,propertyPath:void 0,seenRefs:new Set,seen:new Map(Object.entries(e.definitions).map(([n,o])=>[On(o),{def:On(o),path:[...e.basePath,e.definitionPath,n],jsonSchema:void 0}]))}};function SA(t,e,r){if(t===null||typeof t!="object")throw new TypeError("Root schema must be a plain JSON-schema record");let n=Object.getPrototypeOf(t);if(![null,Object.prototype].includes(n))throw new TypeError("Root schema must be a plain JSON-schema record");let o={};for(let[u,l]of Object.entries(Object.getOwnPropertyDescriptors(t))){if(!l.enumerable)continue;if(!("value"in l))throw new TypeError(`Root schema property '${u}' must be a data property`);let p=l.value;if(u==="toJSON"&&typeof p=="function")throw new TypeError("Root schema cannot contain a callable 'toJSON' property");["undefined","function","symbol"].includes(typeof p)||Object.defineProperty(o,u,{configurable:!0,enumerable:!0,value:p,writable:!0})}let{type:s,nullable:i,$ref:a}=o;if(!["undefined","boolean"].includes(typeof i))throw new TypeError("Root schema 'nullable' must be a boolean");if(s!=="object"||i===!0){let u;throw typeof s=="string"?u=i===!0?`${s},null`:s:Array.isArray(s)&&(u=s.join(",")),new Error(`Root schema must have type: 'object' but got type: ${u?`'${u}'`:"undefined"}`)}if(a!==void 0)throw new Error("Root schema must be a concrete object and cannot contain '$ref'");if(e!==void 0&&r!=="duplicate-ref")throw new Error("Root schema must have type: 'object' but got type: undefined");return o}var bc=(t,e)=>{let r=Vd(e);r.openaiStrictMode&&(r.definitions={...r.definitions});let n;typeof e=="string"?n=e:e?.nameStrategy!=="title"&&(n=e?.name);let o=z(t._def,n===void 0?r:{...r,currentPath:[...r.basePath,r.definitionPath,n]},r.openaiStrictMode===!0)??{},s=r.openaiStrictMode?SA(o,n,r.nameStrategy):o,i=r.nameStrategy==="title"?r.name:void 0;i!==void 0&&(s.title=i);let a=(()=>{if(Zd(r.definitions))return;let l={},p=new Set;for(let m=0;m<500;m++){let f=Object.entries(r.definitions).filter(([g])=>!p.has(g));if(f.length===0)break;for(let[g,w]of f)l[g]=z(On(w),{...r,currentPath:[...r.basePath,r.definitionPath,g]},!0)??{},p.add(g)}return l})(),u;return n===void 0?u=a?{...s,[r.definitionPath]:a}:s:r.nameStrategy==="duplicate-ref"?u={...s,...a||r.seenRefs.size?{[r.definitionPath]:{...a,...r.seenRefs.size?{[n]:s}:void 0}}:void 0}:u={$ref:[...r.$refStrategy==="relative"?[]:r.basePath,r.definitionPath,n].join("/"),[r.definitionPath]:{...a,[n]:s}},r.target==="jsonSchema7"?u.$schema="http://json-schema.org/draft-07/schema#":r.target==="jsonSchema2019-09"&&(u.$schema="https://json-schema.org/draft/2019-09/schema#"),u};var pt=new Set(["$comment","default","description","examples","readOnly","title","writeOnly"]),Pn=new Set(["$id","$schema"]),xc=new Set(["additionalProperties","dependencies","maxProperties","minProperties","patternProperties","properties","propertyNames","required"]),Qd=["additionalItems","additionalProperties","contains","contentSchema","else","if","not","propertyNames","then","unevaluatedItems","unevaluatedProperties"],em=["allOf","anyOf","items","oneOf","prefixItems"],tm=["$defs","definitions","dependentSchemas","dependencies","patternProperties","properties"],vA=new Set(["$anchor","$dynamicAnchor","$dynamicRef","$recursiveAnchor","$recursiveRef","allOf","contains","contentEncoding","contentMediaType","contentSchema","dependentRequired","dependentSchemas","dependencies","else","if","maxContains","maxProperties","minContains","minProperties","not","patternProperties","prefixItems","propertyNames","then","unevaluatedItems","unevaluatedProperties","uniqueItems"]),Gd=new Set([...pt,"additionalProperties","properties","required","type"]);function ts(t,...e){for(let r of e)Object.prototype.propertyIsEnumerable.call(r,"__proto__")&&!N(t,"__proto__")&&Object.defineProperty(t,"__proto__",{value:void 0,writable:!0,enumerable:!0,configurable:!0}),Object.assign(t,r);return t}function $e(t,e,r){let n=t;for(let o of Qd)o in n&&r(n[o],[...e,o],o);for(let o of em){let s=n[o];if(Array.isArray(s))for(let[i,a]of s.entries())r(a,[...e,o,String(i)],o);else s!==void 0&&r(s,[...e,o],o)}for(let o of tm){let s=n[o];if(H(s))for(let[i,a]of Object.entries(s))o==="dependencies"&&!rs(a)||r(a,[...e,o,i],o)}}function rm(t){let e=structuredClone(t);if(nm(e),om(e),BA(e),kA(e),e.type!=="object")throw new Error(`Root schema must have type: 'object' but got type: ${e.type?`'${e.type}'`:"undefined"}`);if(e.anyOf!==void 0)throw new Error("Root schema must not use `anyOf` because strict Structured Outputs requires a root object without a union.");Oa(e,[],e),am(e),Oa(e,[],e),KA(e),Pa(e,[],e);let r=Ia(e,[],e);return Oa(r,[],r),r}function nm(t,e=new Set){if(typeof t=="boolean"||!H(t)||e.has(t))return;e.add(t);let r=t;for(let n of Object.keys(r))r[n]===void 0&&delete r[n];$e(t,[],n=>{nm(n,e)})}function kA(t){let e=new Set;for(;;){if(typeof t.$ref=="string"){if(e.has(t.$ref))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(t.$ref));e.add(t.$ref)}RA(t),am(t,!0),EA(t);let r=TA(t);if(t.$ref===void 0&&!r)return}}function RA(t){let e=t.$ref;if(e===void 0)return;if(Yd(e),!NA(t))throw new Error("Schema $ref at `<root>` has non-metadata siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");let r=new Set,n=Object.fromEntries(Object.entries(t).filter(([p])=>pt.has(p))),o;for(;;){if(r.has(e))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(e));r.add(e);let p=Er(t,e);if(p===void 0)throw new Error("Local $ref at `<root>` does not resolve to an object or boolean schema: "+JSON.stringify(e));if(typeof p=="boolean")throw new TypeError("Expected object schema but got boolean; path=<root>");let m=p.$ref;if(m===void 0){o=p;break}if(Yd(m),r.has(m))throw new Error("Cyclic local $ref at `<root>` is not supported: "+JSON.stringify(m));if(!ns(p))throw new Error("Schema $ref in root chain has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.");for(let f of pt)!(f in n)&&f in p&&(n[f]=p[f]);e=m}let s=t.$defs,i=t.definitions,a=Object.fromEntries(Object.entries(t).filter(([p])=>pt.has(p)||Pn.has(p))),u=structuredClone(o);for(let p of["$defs","definitions"])t[p]!==void 0&&u[p]!==void 0&&delete u[p];let l=t;for(let p of Object.keys(t))delete l[p];ts(t,u,n,a),s!==void 0&&(t.$defs=s),i!==void 0&&(t.definitions=i)}function EA(t){for(;t.allOf!==void 0;){if(Array.isArray(t.allOf))for(let[i,a]of t.allOf.entries())Pa(a,["allOf",String(i)],t);if(vc(t,[],t))continue;let e=t.allOf;if(!Array.isArray(e)||e.length!==1||!jA(t))return;let r=e[0];if(typeof r=="boolean"||!H(r))return;let n={...t};delete n.allOf;let o=structuredClone(r),s=t;for(let i of Object.keys(t))delete s[i];ts(t,o,n)}}function TA(t){let e=t.anyOf;if(!Array.isArray(e)||!MA(t))return!1;let r=e.map((l,p)=>({branch:l,index:p})).filter(({branch:l})=>l!==!1);if(r.length!==1)return!1;let{branch:n,index:o}=r[0];if(typeof n=="boolean"||!H(n)||!xa(n,t))return!1;let s=CA(t,n);$A(t,o,s);let i={...t};delete i.anyOf;let a=structuredClone(n);for(let l of["$defs","definitions"]){let p=t[l],m=a[l];if(!H(p)||!H(m))continue;let f=s.get(l),g={...p};for(let[w,A]of Object.entries(m))Object.defineProperty(g,f?.get(w)??w,{value:A,writable:!0,enumerable:!0,configurable:!0});a[l]=g,delete i[l]}let u=t;for(let l of Object.keys(t))delete u[l];return ts(t,a,i),!0}function CA(t,e){let r=new Map;for(let n of["$defs","definitions"]){let o=t[n],s=e[n];if(!H(o)||!H(s))continue;let i=new Set([...Object.keys(o),...Object.keys(s)]),a=new Map,u=0;for(let[l,p]of Object.entries(s)){if(!N(o,l)||ii(o[l],p))continue;let m="__openai_strict_anyOf_definition_"+u++;for(;i.has(m);)m="__openai_strict_anyOf_definition_"+u++;i.add(m),a.set(l,m)}a.size>0&&r.set(n,a)}return r}function $A(t,e,r){let n=s=>{let i=Sn(s);if(i===void 0||i[0]!=="anyOf"||i[1]!==String(e))return s;let a=i.slice(2),u=a[0];if(a.length>1&&(u==="$defs"||u==="definitions")){let l=r.get(u)?.get(a[1]);l!==void 0&&(a[1]=l)}return a.length===0?"#":"#/"+a.map(im).join("/")},o=s=>{typeof s=="boolean"||!H(s)||(typeof s.$ref=="string"&&(s.$ref=n(s.$ref)),$e(s,[],i=>{o(i)}))};o(t)}function Yd(t){if(typeof t!="string")throw new TypeError("Received non-string $ref - "+String(t)+"; path=<root>");if(!t.startsWith("#"))throw new Error("External $ref at `<root>` is not supported in strict Structured Outputs: "+JSON.stringify(t))}function NA(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||Pn.has(e)||pt.has(e))}function om(t){typeof t=="boolean"||!H(t)||(Array.isArray(t.type)&&t.type.length===1&&(t.type=t.type[0]),$e(t,[],e=>{om(e)}))}function si(t,e,r=new Set){if(typeof t=="boolean")return t;let n=t.$ref;if(n!==void 0){if(typeof n!="string"||!ns(t)||r.has(n))return!1;let o=Er(e,n);return o===void 0?!1:si(o,e,new Set([...r,n]))}return!(t.type!==void 0&&t.type!=="null"&&!(Array.isArray(t.type)&&t.type.includes("null"))||"const"in t&&t.const!==null||t.enum!==void 0&&(!Array.isArray(t.enum)||!t.enum.includes(null))||t.allOf!==void 0&&(!Array.isArray(t.allOf)||!t.allOf.every(o=>si(o,e)))||t.anyOf!==void 0&&(!Array.isArray(t.anyOf)||!t.anyOf.some(o=>si(o,e)))||t.oneOf!==void 0&&(!Array.isArray(t.oneOf)||t.oneOf.filter(o=>si(o,e)).length!==1)||t.not!==void 0||t.if!==void 0||t.then!==void 0||t.else!==void 0)}function Ia(t,e,r){if(typeof t=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!H(t))throw new TypeError(`Expected ${JSON.stringify(t)} to be an object; path=${e.join("/")}`);if(vc(t,e,r))return Ia(t,e,r);if(UA(t),zA(t,e,r),Oc(t)){if(!N(t,"additionalProperties"))t.additionalProperties=!1;else if(t.additionalProperties!==!1)throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` must set \`additionalProperties: false\` to be compatible with strict Structured Outputs.`)}let n=t.required??[];if(!Array.isArray(n)||n.some(m=>typeof m!="string"))throw new TypeError(`Expected \`required\` to be an array of strings; path=${e.join("/")||"<root>"}`);let o=t.properties;if(Oc(t)){for(let m of n)if(!H(o)||!N(o,m))throw new Error(`Object schema at \`${e.join("/")||"<root>"}\` requires property \`${m}\` but does not declare it in \`properties\`.`)}if(H(o)){for(let[m,f]of Object.entries(o))if(!si(f,r)&&!n.includes(m))throw new Error(`Schema field at \`${[...e,"properties",m].join("/")}\` uses \`.optional()\` without \`.nullable()\` which is not supported by the API. See: https://platform.openai.com/docs/guides/structured-outputs?api-mode=responses#all-fields-must-be-required`);t.required=Object.keys(o)}let s=t.items,i=t.additionalItems;if(Array.isArray(s))throw new TypeError(`Schema at \`${e.join("/")||"<root>"}\` uses tuple-form \`items\`, which cannot be represented in strict Structured Outputs.`);if(i!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`additionalItems\` and cannot be represented in strict Structured Outputs.`);let a=t.allOf;if(Array.isArray(a)&&a.length===1&&Pc(t,"allOf")){let m=a[0];if(m===!1)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses \`allOf: [false]\`, which cannot be represented in strict Structured Outputs.`);if(m===!0)delete t.allOf;else{let f=Ia(m,[...e,"allOf","0"],r),g={...t};delete g.allOf,ts(t,f,g),delete t.allOf}}LA(t,r);let u=t;for(let m of vA){if(u[m]!==void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` uses unsupported keyword \`${m}\` and cannot be represented in strict Structured Outputs.`);delete u[m]}let l=t.type,p=t.items;if((l==="array"||Array.isArray(l)&&l.includes("array"))&&p===void 0)throw new Error(`Schema at \`${e.join("/")||"<root>"}\` declares an array without \`items\`, which cannot be represented in strict Structured Outputs.`);return $e(t,e,(m,f,g)=>{typeof m=="boolean"&&(g==="additionalProperties"||g==="additionalItems")||Ia(m,f,r)}),t.default===null&&delete t.default,t}function Sn(t){if(!t.startsWith("#"))return;let e;try{e=decodeURIComponent(t.slice(1))}catch{return}if(e==="")return[];if(!e.startsWith("/"))return;let r=[];for(let n of e.slice(1).split("/")){if(/~(?:[^01]|$)/.test(n))return;r.push(n.replace(/~1/g,"/").replace(/~0/g,"~"))}return r}function xn(t,e){if(Array.isArray(t)){if(!/^(?:0|[1-9]\d*)$/.test(e))return;let r=Number(e);return N(t,r)?t[r]:void 0}if(!(!H(t)||!N(t,e)))return t[e]}function Er(t,e){let r=Sn(e);if(r===void 0)return;let n=t;for(let o=0;o<r.length;){if(!H(n))return;let s=r[o];if(Qd.includes(s)){n=xn(n,s),o+=1;continue}if(em.includes(s)){if(n=xn(n,s),o+=1,Array.isArray(n)){if(o>=r.length)return;n=xn(n,r[o]),o+=1}continue}if(tm.includes(s)){let i=xn(n,s);if(o+=1,!H(i)||o>=r.length||(n=xn(i,r[o]),s==="dependencies"&&!rs(n)))return;o+=1;continue}return}return rs(n)?n:void 0}function H(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function rs(t){return typeof t=="boolean"||H(t)}function xa(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!ns(t)||r.has(t.$ref))return!1;let n=Er(e,t.$ref);return n===void 0?!1:xa(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!Pc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?xa(n,e,r):!1}return t.type==="object"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="object"}function Ic(t,e,r=new Set){if(typeof t=="boolean"||!H(t))return!1;if(t.$ref!==void 0){if(typeof t.$ref!="string"||!ns(t)||r.has(t.$ref))return!1;let n=Er(e,t.$ref);return n===void 0?!1:Ic(n,e,new Set([...r,t.$ref]))}if(t.allOf!==void 0){if(!Array.isArray(t.allOf)||t.allOf.length!==1||!Pc(t,"allOf"))return!1;let n=t.allOf[0];return n!==void 0&&n!==!0&&n!==!1?Ic(n,e,r):!1}return t.type==="array"||Array.isArray(t.type)&&t.type.length===1&&t.type[0]==="array"}function ns(t){return Object.keys(t).every(e=>e==="$ref"||e==="$defs"||e==="definitions"||pt.has(e))}function Pc(t,e){let r=t;return Object.keys(t).every(n=>n===e||(n==="$defs"||n==="definitions")&&H(r[n])||pt.has(n))}function jA(t){return Object.keys(t).every(e=>e==="allOf"||e==="$defs"||e==="definitions"||Pn.has(e)||pt.has(e))}function MA(t){return Object.keys(t).every(e=>e==="anyOf"||e==="$defs"||e==="definitions"||e==="type"&&t.type==="object"||Pn.has(e)||pt.has(e))}function DA(t){return Object.keys(t).some(e=>xc.has(e))}function Oc(t){let e=t.type;return e==="object"||Array.isArray(e)&&e.includes("object")||e===void 0&&DA(t)}function sm(t,e){return t===e||Array.isArray(t)&&t.length===2&&t.includes(e)&&t.includes("null")}function zA(t,e,r){if(t.anyOf===void 0)return;let n=H(t.properties)&&Object.keys(t.properties).length===0,o=Array.isArray(t.required)&&t.required.length===0;if(n&&delete t.properties,o&&delete t.required,!Oc(t))return;let s=Object.keys(t).some(i=>xc.has(i));if(sm(t.type,"object")&&!s&&Array.isArray(t.anyOf)&&t.anyOf.every(i=>xa(i,r))){delete t.type;return}throw new Error("Object anyOf schema at `"+(e.join("/")||"<root>")+"` cannot be represented in strict Structured Outputs without changing Draft 7 validation.")}function LA(t,e){sm(t.type,"array")&&t.items===void 0&&Array.isArray(t.anyOf)&&t.anyOf.every(r=>Ic(r,e))&&delete t.type}function UA(t){if(!Array.isArray(t.anyOf))return;let e=t.anyOf.filter(r=>r!==!1);e.length>0&&e.length!==t.anyOf.length&&(t.anyOf=e)}function BA(t){let e=(r,n)=>{if(!(typeof r=="boolean"||!H(r))){if(n.length>0&&r.$id!==void 0)throw new Error("Nested $id at "+JSON.stringify(n.join("/"))+" establishes a separate JSON Schema resource scope and cannot be represented in strict Structured Outputs.");$e(r,n,(o,s)=>{e(o,s)})}};e(t,[])}function FA(t,e){let r=Sn(e);if(r===void 0)return!1;let n=t;for(let[o,s]of r.entries()){if(s==="allOf"&&H(n)&&Array.isArray(n.allOf)&&o<r.length-1)return!0;if(n=xn(n,s),n===void 0)return!1}return!1}function Sc(t){return t.replace(/~/g,"~0").replace(/\//g,"~1")}function im(t){return encodeURIComponent(Sc(t)).replace(/%24/g,"$")}function KA(t){let e=n=>{let o=Sn(n);if(o===void 0||o.length===0)return n;let s=[...o],i=t,a=!1;for(let[u,l]of o.entries()){let p=typeof i=="object"&&i!==null&&!Array.isArray(i)?i:void 0;if(l==="anyOf"&&u<o.length-1&&p!==void 0&&Array.isArray(p.anyOf)){let m=p.anyOf,f=o[u+1];if(!/^(?:0|[1-9]\d*)$/.test(f))return n;let g=Number(f);if(!N(m,g))return n;let w=m.filter(A=>A!==!1);if(w.length>0&&w.length!==m.length){if(m[g]===!1)return n;let A=m.slice(0,g).filter(b=>b!==!1).length;A!==g&&(s[u+1]=String(A),a=!0)}}if(i=xn(i,l),i===void 0)return n}return a?"#/"+s.map(im).join("/"):n},r=n=>{typeof n=="boolean"||!H(n)||(typeof n.$ref=="string"&&(n.$ref=e(n.$ref)),$e(n,[],o=>{r(o)}))};r(t)}function am(t,e=!1){let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"&&FA(t,u.$ref)){let l=Sn(u.$ref);(!e||l?.[0]==="allOf")&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve local allOf references.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=Er(t,u);if(!rs(l)){if(e)continue;throw new Error("Local $ref cannot be preserved before allOf flattening: "+JSON.stringify(u))}let p="__openai_strict_allOf_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+Sc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function WA(t,e){if(e.length===0)return;let r=new Set,n=u=>{if(!(typeof u=="boolean"||!H(u))){if(typeof u.$ref=="string"){let l=Sn(u.$ref);l!==void 0&&e.some(p=>l.length>=p.length&&p.every((m,f)=>l[f]===m))&&r.add(u.$ref)}$e(u,[],l=>{n(l)})}};if(n(t),r.size===0)return;if(t.$defs!==void 0&&!H(t.$defs))throw new Error("Root schema has invalid $defs and cannot preserve discarded allOf properties.");let o=t.$defs??(t.$defs={}),s=new Map,i=0;for(let u of r){let l=Er(t,u);if(!rs(l))throw new Error("Local $ref cannot be preserved before allOf property removal: "+JSON.stringify(u));let p="__openai_strict_allOf_property_ref_"+i++;for(;N(o,p);)p="__openai_strict_allOf_property_ref_"+i++;o[p]=structuredClone(l),s.set(u,"#/$defs/"+Sc(p))}let a=u=>{typeof u=="boolean"||!H(u)||(typeof u.$ref=="string"&&(u.$ref=s.get(u.$ref)??u.$ref),$e(u,[],l=>{a(l)}))};a(t)}function Oa(t,e,r){if(typeof t=="boolean"||!H(t))return;let n=t.$ref;if(n!==void 0){if(typeof n!="string")throw new TypeError(`Received non-string $ref - ${n}; path=${e.join("/")}`);if(!n.startsWith("#"))throw new Error(`External $ref at \`${e.join("/")||"<root>"}\` is not supported in strict Structured Outputs: ${JSON.stringify(n)}`);let o=Er(r,n);if(o===void 0||!rs(o))throw new Error(`Local $ref at \`${e.join("/")||"<root>"}\` does not resolve to an object or boolean schema: ${JSON.stringify(n)}`);if(typeof o=="boolean")throw new TypeError(`Expected object schema but got boolean; path=${e.join("/")}`);if(!ns(t))throw new Error(`Schema $ref at \`${e.join("/")||"<root>"}\` has non-annotation siblings that Draft 7 ignores and cannot be represented in strict Structured Outputs.`)}$e(t,e,(o,s)=>{Oa(o,s,r)})}function qA(t,e,r){let n=[t],o=new Set,s=t,i=[];for(;;){for(;s.$ref!==void 0;){let a=s.$ref;if(typeof a!="string"||!ns(s)||o.has(a))return;o.add(a);let u=Er(e,a);if(typeof u=="boolean"||!H(u))return;let l=Sn(a);if(l===void 0)return;s=u,i=l,n.push(s)}if(s.allOf!==void 0&&!r.has(s)){let a=s.allOf;if(Pa(s,i,e,r),s.$ref!==void 0||s.allOf!==a)continue}return{schema:s,refChain:n}}}function Pa(t,e,r,n=new Set){if(!(typeof t=="boolean"||!H(t))&&!n.has(t)){n.add(t);try{for(;;)if($e(t,e,(o,s)=>{Pa(o,s,r,n)}),!vc(t,e,r,n))return}finally{n.delete(t)}}}function vc(t,e,r,n=new Set){let o=t.allOf;if(!Array.isArray(o)||o.length===0)return!1;let s=o.filter((S,$)=>!o.slice(0,$).some(D=>ii(D,S)));if(s.length!==o.length)return t.allOf=s,!0;let i=o.filter(S=>S!==!0);if(i.length!==o.length)return i.length===0?delete t.allOf:t.allOf=i,!0;let a=wc(t),u=o.map(S=>H(S)?qA(S,r,n):void 0),l=u.map(S=>S?.schema).filter(S=>S!==void 0&&wc(S));if(!a&&l.length===0||!a&&o.length===1)return!1;let p=()=>{throw new Error(`Object allOf at \`${e.join("/")||"<root>"}\` cannot be merged without changing Draft 7 validation.`)};!a&&["additionalProperties","properties","required","type"].some(S=>S in t)&&p();for(let S of Object.keys(t))S!=="allOf"&&S!=="$defs"&&S!=="definitions"&&!(e.length===0&&Pn.has(S))&&!Gd.has(S)&&p();let m=[];a&&m.push({schema:t,sourcePath:e});for(let[S,$]of o.entries()){H($)||p();let D=u[S];if(D===void 0)return p();let W=D.schema;wc(W)?m.push({schema:W,sourcePath:W===$?[...e,"allOf",String(S)]:void 0}):HA(W)||p()}let f={};for(let S of["$defs","definitions"])t[S]!==void 0&&(f[S]=t[S]);if(e.length===0)for(let S of Pn)S in t&&(f[S]=t[S]);let g=Object.create(null),w=new Set,A=[],b=[],R=!1,h=!1,I=!1,x=!1,T=S=>{for(let $ of pt)$ in S&&($ in f||(f[$]=S[$]))};T(t);for(let S of u)if(S!==void 0)for(let $ of S.refChain)T($);for(let{schema:S,sourcePath:$}of m){for(let D of Object.keys(S))D==="allOf"&&S===t||(D==="$defs"||D==="definitions")&&H(S[D])||S===t&&e.length===0&&Pn.has(D)||Gd.has(D)||p();if(S.type!==void 0&&(um(S.type)||p(),S.type==="object"?I=!0:x=!0),S.properties!==void 0){H(S.properties)||p(),R=!0;for(let[D,W]of Object.entries(S.properties))b.push({key:D,propertySchema:W,sourcePath:$===void 0?void 0:[...$,"properties",D]})}if(S.required!==void 0){(!Array.isArray(S.required)||S.required.some(D=>typeof D!="string"))&&p(),h=!0;for(let D of S.required)w.add(D)}"additionalProperties"in S&&(S.additionalProperties!==!1&&p(),A.push(new Set(Object.keys(S.properties??{}))))}let k;if(A.length>0){k=new Set(A[0]);for(let S of A.slice(1))for(let $ of k)S.has($)||k.delete($)}let E=k,K=E!==void 0&&[...w].some(S=>!E.has(S)),j=K&&!I&&x,C=b.filter(({key:S,sourcePath:$})=>$!==void 0&&(j||k!==void 0&&!k.has(S))).map(({sourcePath:S})=>S);if(WA(r,C),t===r&&r.$defs!==void 0&&(f.$defs=r.$defs),K){if(j){f.type="null";for(let S of Object.keys(t))delete t[S];return ts(t,f),!0}p()}for(let{key:S,propertySchema:$}of b)k!==void 0&&!k.has(S)||(N(g,S)&&!ii(g[S],$)&&p(),g[S]=$);(I||x)&&(f.type=I?"object":["object","null"]),R&&(f.properties=Object.fromEntries(Object.entries(g))),h&&(f.required=[...w]),A.length>0&&(f.additionalProperties=!1);for(let S of Object.keys(t))delete t[S];return ts(t,f),!0}function wc(t){return t.type!==void 0?um(t.type):Object.keys(t).some(e=>xc.has(e))}function HA(t){let e=t;return Object.keys(t).every(r=>pt.has(r)||(r==="$defs"||r==="definitions")&&H(e[r]))}function um(t){return t==="object"||Array.isArray(t)&&t.length===2&&t.includes("object")&&t.includes("null")}function ii(t,e){if(t===e)return!0;if(Array.isArray(t)||Array.isArray(e))return!Array.isArray(t)||!Array.isArray(e)||t.length!==e.length?!1:t.every((i,a)=>ii(i,e[a]));if(typeof t!="object"||t===null||typeof e!="object"||e===null)return!1;let r=t,n=e,o=Object.keys(r),s=Object.keys(n);return o.sort(),s.sort(),o.length!==s.length?!1:o.every((i,a)=>i===s[a]&&ii(r[i],n[i]))}var XA={ZodString:"string",ZodNumber:"number",ZodBoolean:"boolean",ZodNull:"null",ZodObject:"object",ZodArray:"array"},ZA=new Set(["ZodOptional","ZodNullable","ZodDefault","ZodReadonly"]),JA=new Set(["ZodString","ZodNumber","ZodBoolean","ZodNull","ZodEnum","ZodNativeEnum","ZodAny","ZodUnknown","ZodLiteral"]),VA=new Map([["ZodBigInt","encode integers as decimal strings and convert with BigInt after parsing"],["ZodDate","native dates do not have a synchronous JSON representation"],["ZodMap","native maps do not have a synchronous JSON representation"],["ZodSet","native sets do not have a synchronous JSON representation"],["ZodPromise","asynchronous values do not have a synchronous JSON representation"],["ZodEffects","custom transformations and refinements are opaque to JSON Schema"],["ZodPipeline","custom pipelines are opaque to JSON Schema"],["ZodIntersection","intersections cannot prove that both branches produce the same value"],["ZodCatch","catch fallbacks cannot be proven to produce JSON-native values"],["ZodTuple","tuple schemas require unsupported array-valued items"],["ZodRecord","open-ended record schemas require unsupported additionalProperties"]]),GA=new Set(["trim","toLowerCase","toUpperCase"]),YA=new Set(["regex","cuid","cuid2","startsWith","endsWith","includes","emoji","ulid","nanoid"]);function Wt(t,e,r){throw new Error(`Zod schema field \`${t}\` uses \`${e}\`, which cannot be represented by strict Structured Outputs: ${r}`)}function Sa(t){if(t===null)return{type:"null",values:new Set([null])};if(typeof t=="string")return{type:"string",values:new Set([t])};if(typeof t=="boolean")return{type:"boolean",values:new Set([t])};if(typeof t=="number"&&Number.isFinite(t))return{type:"number",values:new Set([t])}}function cm(t){let e=t.values;if(!e||Array.isArray(e))return[];let r=e,n=Object.keys(r).filter(o=>{let s=r[o];return(typeof s=="string"||typeof s=="number")&&typeof r[String(s)]!="number"}).map(o=>r[o]).filter(o=>typeof o=="string"||typeof o=="number"&&Number.isFinite(o));return["string","number"].map(o=>({type:o,values:new Set(n.filter(s=>typeof s===o))})).filter(o=>o.values.size>0)}function lm(t){let e=Array.isArray(t.values)?t.values.filter(r=>typeof r=="string"):[];return{type:"string",values:new Set(e)}}function QA(t){if(t.typeName==="ZodLiteral"){let e=Sa(t.value);return e?[e]:[]}return t.typeName==="ZodEnum"?[lm(t)]:t.typeName==="ZodNativeEnum"?cm(t):[]}function eb(t){let e=new Map;for(let[r,n]of Object.entries(t.shape())){let o=QA(n._def);o.length>0&&o.every(({values:s})=>s!==void 0&&s.size>0)&&e.set(r,o)}return{type:"object",discriminators:e}}function os(t,e=new Set){let r=t._def;if(e.has(r))return[{type:"unknown"}];if(e.add(r),r.typeName==="ZodObject")return[eb(r)];let n=XA[r.typeName];if(n!==void 0)return[{type:n}];if(r.typeName==="ZodLiteral"){let o=Sa(r.value);return o?[o]:[{type:"unknown"}]}return r.typeName==="ZodEnum"?[lm(r)]:r.typeName==="ZodNativeEnum"?cm(r):r.typeName==="ZodUnion"||r.typeName==="ZodDiscriminatedUnion"?[...r.options.values()].flatMap(o=>os(o,new Set(e))):r.typeName==="ZodNullable"?[...os(r.innerType,new Set(e)),{type:"null"}]:ZA.has(r.typeName)?os(r.innerType,e):r.typeName==="ZodBranded"?os(r.type,e):r.typeName==="ZodLazy"?os(r.getter(),e):[{type:"unknown"}]}function pm(t,e){if(t.type==="unknown"||e.type==="unknown")return!0;if(t.type!==e.type)return!1;if(t.discriminators&&e.discriminators)for(let[n,o]of t.discriminators){let s=e.discriminators.get(n);if(s&&!o.some(i=>s.some(a=>pm(i,a))))return!1}let r=e.values;return!t.values||!r?!0:[...t.values].some(n=>r.has(n))}function tb(t,e){let r=t.map(n=>os(n));for(let[n,o]of r.entries())for(let s of r.slice(n+1))o.some(i=>s.some(a=>pm(i,a)))&&Wt(e,"ZodUnion","ambiguous union branches overlap; use disjoint JSON types, distinct literals, or a discriminated union")}function rb(t,e){switch(t.typeName){case"ZodObject":{let r=Object.entries(t.shape()).map(([n,o])=>({schema:o,path:`${e}.${n}`}));return t.catchall&&t.catchall._def.typeName!=="ZodNever"&&r.push({schema:t.catchall,path:`${e}.<catchall>`}),r}case"ZodArray":return[{schema:t.type,path:`${e}[]`}];case"ZodUnion":case"ZodDiscriminatedUnion":return[...t.options.values()].map((r,n)=>({schema:r,path:`${e}[${n}]`}));case"ZodOptional":case"ZodNullable":case"ZodDefault":case"ZodReadonly":return[{schema:t.innerType,path:e}];case"ZodBranded":return[{schema:t.type,path:e}];case"ZodLazy":return[{schema:t.getter(),path:e}];default:return}}function fm(t){let e=t.checks??[];return e.some(({kind:r})=>r==="finite"||r==="int")?!0:e.some(({kind:r,value:n})=>r==="min"&&typeof n=="number"&&Number.isFinite(n))&&e.some(({kind:r,value:n})=>r==="max"&&typeof n=="number"&&Number.isFinite(n))}function nb(t,e,r){return t.unknownKeys!=="passthrough"&&(t.catchall===void 0||t.catchall._def.typeName==="ZodNever")&&Object.values(t.shape()).every(n=>r(n,new Set(e)))}function vn(t,e=new Set){let r=t._def;if(e.has(r))return!0;switch(e.add(r),r.typeName){case"ZodString":case"ZodBoolean":case"ZodNull":case"ZodEnum":case"ZodNativeEnum":return!0;case"ZodLiteral":return Sa(r.value)!==void 0;case"ZodNumber":return fm(r);case"ZodArray":return vn(r.type,e);case"ZodObject":return nb(r,e,vn);case"ZodUnion":case"ZodDiscriminatedUnion":return[...r.options.values()].every(n=>vn(n,new Set(e)));case"ZodNullable":case"ZodDefault":case"ZodReadonly":return vn(r.innerType,e);case"ZodBranded":return vn(r.type,e);case"ZodLazy":return vn(r.getter(),e);default:return!1}}function ob(t,e){let r=VA.get(t.typeName);r&&Wt(e,t.typeName,r),t.typeName==="ZodLiteral"&&!Sa(t.value)&&Wt(e,t.typeName,"literal values must be finite JSON primitives"),t.typeName==="ZodNumber"&&t.coerce===!0&&!fm(t)&&Wt(e,t.typeName,"number coercion must prove its parsed output is finite"),t.typeName==="ZodDefault"&&!vn(t.innerType)&&Wt(e,t.typeName,"default factory output is not independently guaranteed to be finite and JSON-native; it may contain bigint"),t.typeName==="ZodString"&&t.checks?.some(({kind:n})=>GA.has(n))&&Wt(e,t.typeName,"value-changing string checks are not represented in JSON Schema"),t.typeName==="ZodString"&&(t.checks?.filter(({kind:n})=>YA.has(n)).length??0)>1&&Wt(e,t.typeName,"multiple pattern-producing checks require unsupported allOf")}function kc(t,e,r){let n=t._def;if(r.has(n)||(r.add(n),n.typeName==="ZodIntersection"&&e==="$"))return;ob(n,e);let o=rb(n,e);if(!o){JA.has(n.typeName)||Wt(e,n.typeName,"this Zod schema is outside the documented JSON-native subset");return}for(let s of o)kc(s.schema,s.path,r);n.typeName==="ZodObject"&&(n.unknownKeys==="passthrough"||n.catchall!==void 0&&n.catchall._def.typeName!=="ZodNever")&&Wt(e,n.typeName,"open object schemas require additionalProperties: false"),n.typeName==="ZodUnion"&&e!=="$"&&tb(o.map(({schema:s})=>s),e)}function dm(t,e){let r=new Set;kc(t,"$",r);for(let[n,o]of Object.entries(e??{}))kc(o,`$.definitions.${n}`,r)}function sb(t,e){for(let r=t;r!==null;r=Object.getPrototypeOf(r)){let n=Object.getOwnPropertyDescriptor(r,"toJSON");if(n){if(!("value"in n)||typeof n.value=="function")throw new Error(`Strict Structured Outputs schema field \`${e}\` contains an unsupported \`toJSON\` serialization hook`);return}}}function ib(t,e){if(Object.is(t,-0))throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains negative zero, which cannot round-trip through JSON`)}function ai(t,e="$",r=new Set){if(t===null||typeof t=="string"||typeof t=="boolean")return;if(typeof t=="number"&&Number.isFinite(t)){ib(t,e);return}if(typeof t!="object")throw new TypeError(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON ${typeof t} value`);if(r.has(t))throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a circular JSON value`);let n=Object.getPrototypeOf(t);if(!Array.isArray(t)&&n!==Object.prototype&&n!==null)throw new Error(`Strict Structured Outputs schema field \`${e}\` contains a non-JSON native object`);if(sb(t,e),r.add(t),Array.isArray(t))for(let o=0;o<t.length;o+=1){let s=Object.getOwnPropertyDescriptor(t,String(o));if(!s)throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains a sparse array`);if(!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}[${o}]\` contains an array accessor`);ai(s.value,`${e}[${o}]`,r)}else for(let o of Object.keys(t)){let s=Object.getOwnPropertyDescriptor(t,o);if(!s||!("value"in s))throw new Error(`Strict Structured Outputs schema field \`${e}.${o}\` contains an accessor`);ai(s.value,`${e}.${o}`,r)}r.delete(t)}function ab(t){return encodeURIComponent(t.replace(/~/g,"~0").replace(/\//g,"~1"))}function ub(t){if(t&&N(t,"__proto__"))throw new Error('schemaDefinitions cannot include "__proto__" as a definition name')}function mm(t,e){let r=new Map(Object.keys(e??{}).map(s=>[`#/definitions/${s}`,`#/definitions/${ab(s)}`]));if(r.size===0)return t;let n=new Set,o=s=>{if(!s||typeof s!="object"||Array.isArray(s)||n.has(s))return;n.add(s);let i=s,a=i.$ref;if(typeof a=="string"){let u=r.get(a);u!==void 0&&u!==a&&(i.$ref=u)}$e(i,[],o)};return o(t),t}function cb(t,e){if(!e)return t;let r=t;for(;N(e,r);)r=`${r}_root`;return r}function lb(t,e){dm(t,e.schemaDefinitions);let r=cb(e.name,e.schemaDefinitions),n=bc(t,{openaiStrictMode:!0,name:r,nameStrategy:"duplicate-ref",$refStrategy:"extract-to-root",nullableStrategy:"property",...e.schemaDefinitions?{definitions:e.schemaDefinitions}:void 0}),o=mm(n,e.schemaDefinitions);return ai(o),o}function pb(t,e={}){let r=e.schemaDefinitions?Jc():void 0;for(let[s,i]of Object.entries(e.schemaDefinitions??{}))r?.add(i,{id:s});let n=Vc(t,{target:"draft-7",...r?{metadata:r}:void 0,override:({zodSchema:s,jsonSchema:i})=>{let a=s._zod.def;if(a.type==="union"&&"discriminator"in a&&Array.isArray(i.oneOf)){if(i.anyOf!==void 0)throw new Error("Zod discriminated union generated both `anyOf` and `oneOf`, which cannot be represented in an OpenAI strict schema");i.anyOf=i.oneOf,delete i.oneOf}}}),o=mm(n,e.schemaDefinitions);return rm(o)}function hm(t){return"_zod"in t}function fb(t,e){let r=rt({type:"json_schema",$parseRaw:void 0},e),n=t.parse;if(typeof n=="function"){let o=n.call(t,r);return hm(t)||ai(o),o}return rl(t,r)}function ym(t,e,r){let n=t,{schemaDefinitions:o,...s}=r??{};return ub(o),kp({type:"json_schema",json_schema:{...s,name:e,strict:!0,schema:hm(n)?pb(n,{schemaDefinitions:o}):lb(n,{name:e,schemaDefinitions:o})}},i=>fb(t,i))}var gm=["jsonSchema","functionCalling","jsonMode"];function _m(t,e){if(typeof e<"u"&&!gm.includes(e))throw new Error(`Invalid method: ${e}. Supported methods are: ${gm.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 db(t,e){let r={...t};return Object.defineProperties(r,{$brand:{value:"auto-parseable-response-format",enumerable:!1},$parseRaw:{value:e,enumerable:!1}}),r}function Am(t,e,r){if(Yc(t))return ym(t,e,r);if(Gc(t))return db({type:"json_schema",json_schema:{...r,name:e,strict:!0,schema:$n(t,{cycles:"ref",reused:"ref",override(n){n.jsonSchema.title=e}})}},n=>Zc(t,JSON.parse(n)));throw new Error("Unsupported schema response format")}function bm(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 wm={"gpt-4o-2024-11-20":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:272e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-mini":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-ada-002":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-chat-latest":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"codex-mini-latest":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex-max":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-05-13":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o1:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini-deep-research":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.3-codex-spark":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},o3:{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-small":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1536,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-nano":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"text-embedding-3-large":{maxInputTokens:8191,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:3072,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-3.5-turbo":{maxInputTokens:16385,imageInputs:!1,audioInputs:!1,pdfInputs:!1,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!1,imageUrlInputs:!1,pdfToolMessage:!1,imageToolMessage:!1,toolChoice:!0},"gpt-5.1-codex-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4-turbo":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:4096,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o4-mini":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4.1-mini":{maxInputTokens:1047576,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-preview":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:32768,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.4-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:13e4,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.5-pro":{maxInputTokens:105e4,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-pro":{maxInputTokens:2e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-codex":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.2-pro":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o3-mini":{maxInputTokens:2e5,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:1e5,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o-2024-08-06":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-mini":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5.1-chat-latest":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4":{maxInputTokens:8192,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:8192,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-5-nano":{maxInputTokens:4e5,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:128e3,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"o1-mini":{maxInputTokens:128e3,imageInputs:!1,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:65536,reasoningOutput:!0,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!1,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0},"gpt-4o":{maxInputTokens:128e3,imageInputs:!0,audioInputs:!1,pdfInputs:!0,videoInputs:!1,maxOutputTokens:16384,reasoningOutput:!1,imageOutputs:!1,audioOutputs:!1,videoOutputs:!1,toolCalling:!0,structuredOutput:!0,imageUrlInputs:!0,pdfToolMessage:!0,imageToolMessage:!0,toolChoice:!0}};var va="**REDACTED**";function ss(t,e){return typeof t=="string"?{model:t,...e??{}}:t??e}var kn=class extends ul{temperature;topP;frequencyPenalty;presencePenalty;n;logitBias;model="gpt-3.5-turbo";modelKwargs;stop;stopSequences;user;timeout;streaming=!1;streamUsage=!0;maxTokens;logprobs;topLogprobs;apiKey;organization;__includeRawResponse;client;clientConfig;supportsStrictToolCalling;audio;modalities;reasoning;zdrEnabled;service_tier;promptCacheKey;promptCacheRetention;verbosity;defaultOptions;_llmType(){return"openai"}static lc_name(){return"ChatOpenAI"}get callKeys(){return[...super.callKeys,"options","function_call","functions","tools","tool_choice","promptIndex","response_format","seed","reasoning","reasoning_effort","service_tier"]}lc_serializable=!0;get lc_secrets(){return{apiKey:"OPENAI_API_KEY",organization:"OPENAI_ORGANIZATION"}}get lc_aliases(){return{apiKey:"openai_api_key",modelName:"model"}}get lc_serializable_keys(){return["configuration","logprobs","topLogprobs","prefixMessages","supportsStrictToolCalling","modalities","audio","temperature","maxTokens","topP","frequencyPenalty","presencePenalty","n","logitBias","user","streaming","streamUsage","model","modelName","modelKwargs","stop","stopSequences","timeout","apiKey","cache","maxConcurrency","maxRetries","verbose","callbacks","tags","metadata","disableStreaming","zdrEnabled","reasoning","promptCacheKey","promptCacheRetention","verbosity"]}getLsParams(t){let e=this.invocationParams(t);return{ls_provider:"openai",ls_model_name:this.model,ls_model_type:"chat",ls_temperature:e.temperature??void 0,ls_max_tokens:e.max_tokens??void 0,ls_stop:t.stop}}_getInvocationParamsForTracing(t){let e=this.invocationParams(t);return Array.isArray(e.tools)?{...e,tools:e.tools.map(r=>{if(r?.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=va),"authorization"in n&&(n.authorization=va),n})}:e}_getCallOptionsForTracing(t,e){return Array.isArray(t.tools)?{...t,tools:t.tools.map(r=>{if(typeof r!="object"||r===null||!("type"in r)||r.type!=="mcp")return r;let n={...r};return"headers"in n&&(n.headers=va),"authorization"in n&&(n.authorization=va),n})}:t}_identifyingParams(){return{model_name:this.model,...this.invocationParams(),...this.clientConfig}}identifyingParams(){return this._identifyingParams()}constructor(t){super(t??{});let e=typeof t?.configuration?.apiKey=="string"||typeof t?.configuration?.apiKey=="function"?t?.configuration?.apiKey:void 0,r=nl({baseURL:t?.configuration?.baseURL??(Ne("OPENAI_API_BASE")||Ne("OPENAI_BASE_URL")||void 0),providerPath:"openai/v1"});this.apiKey=t?.apiKey??e??r.apiKey??Ne("OPENAI_API_KEY"),this.organization=t?.configuration?.organization??Ne("OPENAI_ORGANIZATION"),this.model=t?.model??t?.modelName??this.model,this.modelKwargs=t?.modelKwargs??{},this.timeout=t?.timeout,this.temperature=t?.temperature??this.temperature,this.topP=t?.topP??this.topP,this.frequencyPenalty=t?.frequencyPenalty??this.frequencyPenalty,this.presencePenalty=t?.presencePenalty??this.presencePenalty,this.logprobs=t?.logprobs,this.topLogprobs=t?.topLogprobs,this.n=t?.n??this.n,this.logitBias=t?.logitBias,this.stop=t?.stopSequences??t?.stop,this.stopSequences=this.stop,this.user=t?.user,this.__includeRawResponse=t?.__includeRawResponse,this.audio=t?.audio,this.modalities=t?.modalities,this.reasoning=t?.reasoning,this.maxTokens=t?.maxCompletionTokens??t?.maxTokens,this.promptCacheKey=t?.promptCacheKey??this.promptCacheKey,this.promptCacheRetention=t?.promptCacheRetention??this.promptCacheRetention,this.verbosity=t?.verbosity??this.verbosity,this.disableStreaming=t?.disableStreaming===!0,this.streaming=t?.streaming===!0,this.disableStreaming&&(this.streaming=!1),t?.streaming===!1&&(this.disableStreaming=!0),this.streamUsage=t?.streamUsage??this.streamUsage,this.disableStreaming&&(this.streamUsage=!1),this.clientConfig={apiKey:this.apiKey,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration,baseURL:r.baseURL},t?.supportsStrictToolCalling!==void 0&&(this.supportsStrictToolCalling=t.supportsStrictToolCalling),t?.service_tier!==void 0&&(this.service_tier=t.service_tier),this.zdrEnabled=t?.zdrEnabled??!1,this._addVersion("@langchain/openai","1.5.11")}_getReasoningParams(t){if(!Ut(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&&ls(t.json_schema.schema)?Am(t.json_schema.schema,t.json_schema.name,{description:t.json_schema.description}):t}_combineCallOptions(t){return{...this.defaultOptions,...t??{}}}_getClientOptions(t){if(!this.client){let e={baseURL:this.clientConfig.baseURL},r=Ft(e),n={...this.clientConfig,baseURL:r,timeout:this.timeout,maxRetries:0};n.baseURL||delete n.baseURL,n.defaultHeaders=Kt(n.defaultHeaders),this.client=new M(n)}return{...this.clientConfig,...t}}_convertChatOpenAIToolToCompletionsTool(t,e){return wn(t)?yd(t.metadata.customTool):_i(t)?e?.strict!==void 0?{...t,function:{...t.function,strict:e.strict}}:t:id(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(es(n)||wn(n))return n;if(cd(n))return n.extras.providerToolDefinition;let o=this._convertChatOpenAIToolToCompletionsTool(n,{strict:r});return gi(n)&&n.extras?.defer_loading===!0?{...o,defer_loading:!0}:o}),...e})}async stream(t,e){return super.stream(t,this._combineCallOptions(e))}async invoke(t,e){return super.invoke(t,this._combineCallOptions(e))}_combineLLMOutput(...t){return t.reduce((e,r)=>(r&&r.tokenUsage&&(e.tokenUsage.completionTokens+=r.tokenUsage.completionTokens??0,e.tokenUsage.promptTokens+=r.tokenUsage.promptTokens??0,e.tokenUsage.totalTokens+=r.tokenUsage.totalTokens??0),e),{tokenUsage:{completionTokens:0,promptTokens:0,totalTokens:0}})}async getNumTokensFromMessages(t){let e=0,r=0,n=0;this.model==="gpt-3.5-turbo-0301"?(r=4,n=-1):(r=3,n=1);let o=await Promise.all(t.map(async s=>{let[i,a]=await Promise.all([this.getNumTokens(s.content),this.getNumTokens(Bt(s))]),u=s.name!==void 0?n+await this.getNumTokens(s.name):0,l=i+r+a+u,p=s;if(p._getType()==="function"&&(l-=2),p.additional_kwargs?.function_call&&(l+=3),p?.additional_kwargs.function_call?.name&&(l+=await this.getNumTokens(p.additional_kwargs.function_call?.name)),p.additional_kwargs.function_call?.arguments)try{l+=await this.getNumTokens(JSON.stringify(JSON.parse(p.additional_kwargs.function_call?.arguments)))}catch(m){console.error("Error parsing function arguments",m,JSON.stringify(p.additional_kwargs.function_call)),l+=await this.getNumTokens(p.additional_kwargs.function_call?.arguments)}return e+=l,l}));return e+=3,{totalCount:e,countPerMessage:o}}async _getNumTokensFromGenerations(t){return(await Promise.all(t.map(async e=>e.message.additional_kwargs?.function_call?(await this.getNumTokensFromMessages([e.message])).countPerMessage[0]:await this.getNumTokens(e.message.content)))).reduce((e,r)=>e+r,0)}async _getEstimatedTokenCountFromPrompt(t,e,r){let n=(await this.getNumTokensFromMessages(t)).totalCount;if(e&&r!=="auto"){let o=ad(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 et(o)}})}get profile(){return wm[this.model]??{}}_getStructuredOutputMethod(t){let e={...t};if(!this.model.startsWith("gpt-3")&&!this.model.startsWith("gpt-4-")&&this.model!=="gpt-4"){if(e?.method===void 0)return"jsonSchema"}else e.method==="jsonSchema"&&console.warn(`[WARNING]: JSON Schema is not supported for model "${this.model}". Falling back to tool calling.`);return e.method}withStructuredOutput(t,e){let r,n,{schema:o,name:s,includeRaw:i}={...e,schema:t};if(e?.strict!==void 0&&e.method==="jsonMode")throw new Error("Argument `strict` is only supported for `method` = 'function_calling'");let a=_m(this.model,e?.method);if(a==="jsonMode"){n=Ha(o);let u=$n(o);r=this.withConfig({outputVersion:"v0",response_format:{type:"json_object"},ls_structured_output_format:{kwargs:{method:"json_mode"},schema:{title:s??"extract",...u}}})}else if(a==="jsonSchema"){let u=$n(o),l={name:s??"extract",description:Qc(u),schema:ls(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}}}),ls(o)||Wa(o)){let p=Ha(o);n=el.from(async m=>"parsed"in m.additional_kwargs?m.additional_kwargs.parsed:p.invoke(m.content))}else n=new ol}else{let u=s??"extract",l=$n(o),p;ls(o)||Wa(o)?p={name:u,description:l.description,parameters:l}:typeof o.name=="string"&&typeof o.parameters=="object"&&o.parameters!=null?(p=o,u=o.name):(u=o.title??u,p={name:u,description:o.description??"",parameters:o}),r=this.withConfig({outputVersion:"v0",tools:[{type:"function",function:p}],tool_choice:{type:"function",function:{name:u}},ls_structured_output_format:{kwargs:{method:"function_calling"},schema:{title:u,...l}},...e?.strict!==void 0?{strict:e.strict}:{}}),n=sl(o,u)}return il(r,n,i)}};var ui={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=Fa({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=Ba(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=Ba(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=Fa({dataUrl:t.url}),r=bn(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=bn(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`)}},ka=({message:t,rawResponse:e,includeRawResponse:r})=>{let n=t.tool_calls,o=t.reasoning_content;switch(t.role){case"assistant":{let s=[],i=[];for(let p of n??[])try{s.push(Ai(p,{returnId:!0}))}catch(m){i.push(Nn(p,m.message))}let a={function_call:t.function_call,tool_calls:n};r!==void 0&&(a.__raw_response=e),o!==void 0&&(a.reasoning_content=o);let u={model_provider:"openai",model_name:e.model,usage:{...e.usage},...e.system_fingerprint?{system_fingerprint:e.system_fingerprint}:{}};t.audio&&(a.audio=t.audio);let l=bm(t.content||"",e.choices?.[0]?.message);return new Ue({content:l,tool_calls:s,invalid_tool_calls:i,additional_kwargs:a,response_metadata:u,id:e.id})}default:return new hi(t.content||"",t.role??"unknown")}},Ra=({delta:t,rawResponse:e,includeRawResponse:r,defaultRole:n})=>{let o=t.role??n,s=t.content??"",i;t.function_call?i={function_call:t.function_call}:t.tool_calls?i={tool_calls:t.tool_calls}:i={},r&&(i.__raw_response=e),t.reasoning_content!==void 0&&(i.reasoning_content=t.reasoning_content),t.audio&&(i.audio={...t.audio,index:e.choices[0].index});let a={model_provider:"openai",usage:{...e.usage}};if(o==="user")return new qc({content:s,response_metadata:a});if(o==="assistant"){let u=[];if(Array.isArray(t.tool_calls))for(let l of t.tool_calls)u.push({name:l.function?.name,args:l.function?.arguments,id:l.id,index:l.index,type:"tool_call_chunk"});return new Cn({content:s,tool_call_chunks:u,additional_kwargs:i,id:e.id,response_metadata:a})}else return o==="system"?new Ka({content:s,response_metadata:a}):o==="developer"?new Ka({content:s,response_metadata:a,additional_kwargs:{__openai_role__:"developer"}}):o==="function"?new Wc({content:s,additional_kwargs:i,name:t.name,response_metadata:a}):o==="tool"?new Bc({content:s,additional_kwargs:i,tool_call_id:t.tool_call_id,response_metadata:a}):new Kc({content:s,role:o,response_metadata:a})},Rc=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=Hc(()=>{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=bn(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}}}},Ec=({message:t,model:e})=>{let r=Bt(t);if(r==="system"&&Ut(e)&&(r="developer"),r==="developer")return{role:"developer",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="system")return{role:"system",content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="assistant"){let o={role:"assistant",content:t.contentBlocks.filter(s=>s.type==="text")};return Ue.isInstance(t)&&t.tool_calls?.length?o.tool_calls=t.tool_calls.map(qa):t.additional_kwargs.tool_calls!=null&&(o.tool_calls=t.additional_kwargs.tool_calls),Array.isArray(o.content)&&o.content.length===0&&o.tool_calls!=null&&(o.content=null),o}else{if(r==="tool"&&mi.isInstance(t))return{role:"tool",tool_call_id:t.tool_call_id,content:t.contentBlocks.filter(o=>o.type==="text")};if(r==="function")return{role:"function",name:t.name??"",content:t.contentBlocks.filter(o=>o.type==="text").join("")}}function*n(o){for(let s of o){s.type==="text"&&(yield{type:"text",text:s.text});let i=Rc(s);i&&(yield i)}}return{role:"user",content:Array.from(n(t.contentBlocks))}},Rn=({messages:t,model:e})=>t.flatMap(r=>{if("output_version"in r.response_metadata&&r.response_metadata?.output_version==="v1")return Ec({message:r});let n=Bt(r);n==="system"&&Ut(e)&&(n="developer");let o=typeof r.content=="string"?r.content:r.content.flatMap(i=>fi(i)?di(i,ui):typeof i=="object"&&i!==null&&"type"in i&&(i.type==="tool_use"||i.type==="tool_call"||i.type==="functionCall"||i.type==="reasoning"||i.type==="reasoning_content"||i.type==="thinking")?[]:i),s={role:n,content:o};return r.name!=null&&(s.name=r.name),r.additional_kwargs.function_call!=null&&(s.function_call=r.additional_kwargs.function_call),Ue.isInstance(r)&&r.tool_calls?.length?s.tool_calls=r.tool_calls.map(qa):(r.additional_kwargs.tool_calls!=null&&(s.tool_calls=r.additional_kwargs.tool_calls),mi.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 Ea=class extends kn{constructor(t,e){super(ss(t,e))}invocationParams(t,e){let r;t?.strict!==void 0?r=t.strict:this.supportsStrictToolCalling!==void 0&&(r=this.supportsStrictToolCalling),!(this.streaming||e?.streaming)&&t?.response_format?.type==="json_schema"&&r!==!1&&(r=!0);let n={};t?.stream_options!==void 0?n={stream_options:t.stream_options}:this.streamUsage&&(this.streaming||e?.streaming)&&(n={stream_options:{include_usage:!0}});let o={model:this.model,temperature:this.temperature,top_p:this.topP,frequency_penalty:this.frequencyPenalty,presence_penalty:this.presencePenalty,logprobs:this.logprobs,top_logprobs:this.topLogprobs,n:this.n,logit_bias:this.logitBias,stop:t?.stop??this.stopSequences,user:this.user,stream:this.streaming,functions:t?.functions,function_call:t?.function_call,tools:t?.tools?.length?t.tools.map(i=>this._convertChatOpenAIToolToCompletionsTool(i,{strict:r})):void 0,tool_choice:ga(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),Ut(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=Rn({messages:t,model:this.model});if(o.stream){let i=this._streamResponseChunks(t,e,r),a={};for await(let g of i){g.message.response_metadata={...g.generationInfo,...g.message.response_metadata};let w=g.generationInfo?.completion??0;a[w]===void 0?a[w]=g:a[w]=a[w].concat(g)}let u=Object.entries(a).sort(([g],[w])=>parseInt(g,10)-parseInt(w,10)).map(([g,w])=>w),{functions:l,function_call:p}=this.invocationParams(e),m=await this._getEstimatedTokenCountFromPrompt(t,l,p),f=await this._getNumTokensFromGenerations(u);return n.input_tokens=m,n.output_tokens=f,n.total_tokens=m+f,{generations:u,llmOutput:{estimatedTokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}else{let i=await this.completionWithRetry({...o,stream:!1,messages:s},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options}),{completion_tokens:a,prompt_tokens:u,total_tokens:l,prompt_tokens_details:p,completion_tokens_details:m}=i?.usage??{};a&&(n.output_tokens=(n.output_tokens??0)+a),u&&(n.input_tokens=(n.input_tokens??0)+u),l&&(n.total_tokens=(n.total_tokens??0)+l),(p?.audio_tokens!==null||p?.cached_tokens!==null||p?.cache_write_tokens!=null)&&(n.input_token_details={...p?.audio_tokens!==null&&{audio:p?.audio_tokens},...p?.cached_tokens!==null&&{cache_read:p?.cached_tokens},...p?.cache_write_tokens!=null&&{cache_creation:p?.cache_write_tokens}}),(m?.audio_tokens!==null||m?.reasoning_tokens!==null)&&(n.output_token_details={...m?.audio_tokens!==null&&{audio:m?.audio_tokens},...m?.reasoning_tokens!==null&&{reasoning:m?.reasoning_tokens}});let f=[];for(let g of i?.choices??[]){let w={text:g.message?.content??"",message:this._convertCompletionsMessageToBaseMessage(g.message??{role:"assistant"},i)};w.generationInfo={...g.finish_reason?{finish_reason:g.finish_reason}:{},...g.logprobs?{logprobs:g.logprobs}:{}},yi(w.message)&&(w.message.usage_metadata=n),w.message=new Ue(Object.fromEntries(Object.entries(w.message).filter(([A])=>!A.startsWith("lc_")))),f.push(w)}return{generations:f,llmOutput:{tokenUsage:{promptTokens:n.input_tokens,completionTokens:n.output_tokens,totalTokens:n.total_tokens}}}}}async*_streamChatModelEvents(t,e,r){let n=Rn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s=await this.completionWithRetry(o,e),i=this.streamUsage??e.streamUsage;yield*bi(async function*(u,l){for await(let p of u){if(l?.aborted)return;yield p}}(s,e.signal),{streamUsage:i??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=Rn({messages:t,model:this.model}),o={...this.invocationParams(e,{streaming:!0}),messages:n,stream:!0},s,i=await this.completionWithRetry(o,e),a;for await(let u of i){if(e.signal?.aborted)return;let l=u?.choices?.[0];if(u.usage&&(a=u.usage),!l)continue;let{delta:p}=l;if(!p)continue;let m=this._convertCompletionsDeltaToBaseMessageChunk(p,u,s);s=p.role??s;let f={prompt:e.promptIndex??0,completion:l.index??0};if(typeof m.content!="string"){console.log("[WARNING]: Received non-string content from OpenAI. This is currently not supported.");continue}let g={...f};l.finish_reason!=null&&(g.finish_reason=l.finish_reason,g.system_fingerprint=u.system_fingerprint,g.model_name=u.model,g.service_tier=u.service_tier),this.logprobs&&(g.logprobs=l.logprobs);let w=new cs({message:m,text:m.content,generationInfo:g});yield w,await r?.handleLLMNewToken(w.text??"",f,void 0,void 0,void 0,{chunk:w})}if(a){let u={...a.prompt_tokens_details?.audio_tokens!==null&&{audio:a.prompt_tokens_details?.audio_tokens},...a.prompt_tokens_details?.cached_tokens!==null&&{cache_read:a.prompt_tokens_details?.cached_tokens},...a.prompt_tokens_details?.cache_write_tokens!=null&&{cache_creation:a.prompt_tokens_details?.cache_write_tokens}},l={...a.completion_tokens_details?.audio_tokens!==null&&{audio:a.completion_tokens_details?.audio_tokens},...a.completion_tokens_details?.reasoning_tokens!==null&&{reasoning:a.completion_tokens_details?.reasoning_tokens}},p=new cs({message:new Cn({content:"",response_metadata:{usage:{...a}},usage_metadata:{input_tokens:a.prompt_tokens,output_tokens:a.completion_tokens,total_tokens:a.total_tokens,...Object.keys(u).length>0&&{input_token_details:u},...Object.keys(l).length>0&&{output_token_details:l}}}),text:""});yield p,await r?.handleLLMNewToken(p.text??"",{prompt:0,completion:0},void 0,void 0,void 0,{chunk:p})}if(e.signal?.aborted)throw new Error("AbortError")}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n),s=t.response_format&&t.response_format.type==="json_schema";return this.caller.callWithOptions({maxRetries:r},async()=>{try{return s&&!t.stream?await this.client.chat.completions.parse(t,o):await this.client.chat.completions.create(t,o)}catch(i){throw et(i)}})}_convertCompletionsDeltaToBaseMessageChunk(t,e,r){return Ra({delta:t,rawResponse:e,includeRawResponse:this.__includeRawResponse,defaultRole:r})}_convertCompletionsMessageToBaseMessage(t,e){return ka({message:t,rawResponse:e,includeRawResponse:this.__includeRawResponse})}};var Ta="__openai_function_call_ids__",Ca="__openai_custom_tool_call_ids__";function km(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 hb(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 is=t=>{let e={...t?.input_tokens_details?.cached_tokens!=null&&{cache_read:t?.input_tokens_details?.cached_tokens},...t?.input_tokens_details?.cache_write_tokens!=null&&{cache_creation:t?.input_tokens_details?.cache_write_tokens}},r={...t?.output_tokens_details?.reasoning_tokens!=null&&{reasoning:t?.output_tokens_details?.reasoning_tokens}};return{input_tokens:t?.input_tokens??0,output_tokens:t?.output_tokens??0,total_tokens:t?.total_tokens??0,input_token_details:e,output_token_details:r}},ci=t=>{if(t.error){let a=new Error(t.error.message);throw a.name=t.error.code,a}let e=[],r=[],n=[],o=t.output.map(a=>{if(a.type==="function_call"&&"parsed_arguments"in a){let u={...a};return delete u.parsed_arguments,u}return a}),s={model_provider:"openai",model:t.model,created_at:t.created_at,id:t.id,incomplete_details:t.incomplete_details,metadata:t.metadata,object:t.object,output:o,status:t.status,user:t.user,service_tier:t.service_tier,model_name:t.model},i={};for(let a of t.output)if(a.type==="message")e.push(...a.content.flatMap(u=>u.type==="output_text"?("parsed"in u&&u.parsed!=null&&(i.parsed=u.parsed),{type:"text",text:u.text,annotations:u.annotations.map(km),...a.phase!==null?{phase:a.phase}:{}}):u.type==="refusal"?(i.refusal=u.refusal,[]):u));else if(a.type==="function_call"){let u={function:{name:a.name,arguments:a.arguments},id:a.call_id};try{r.push(Ai(u,{returnId:!0}))}catch(l){let p;typeof l=="object"&&l!=null&&"message"in l&&typeof l.message=="string"&&(p=l.message),n.push(Nn(u,p))}i[Ta]??={},a.id&&(i[Ta][a.call_id]=a.id)}else if(a.type==="reasoning"){i.reasoning=a;let u=a.summary?.map(l=>l.text).filter(Boolean).join("");u&&e.push({type:"reasoning",reasoning:u})}else if(a.type==="custom_tool_call"){let u=pd(a);u?(r.push(u),i[Ca]??={},a.id&&a.call_id&&(i[Ca][a.call_id]=a.id)):n.push(Nn(a,"Malformed custom tool call"))}else if(a.type==="computer_call"){let u=fd(a);u?r.push(u):n.push(Nn(a,"Malformed computer call"))}else a.type==="image_generation_call"?(a.result&&e.push({type:"image",mimeType:"image/png",data:a.result,id:a.id,metadata:{status:a.status}}),i.tool_outputs??=[],i.tool_outputs.push(a)):(i.tool_outputs??=[],i.tool_outputs.push(a));return new Ue({id:t.id,content:e,tool_calls:r,invalid_tool_calls:n,usage_metadata:is(t.usage),additional_kwargs:i,response_metadata:s})},Tc=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}},$a=t=>{let e=[],r={},n,o=[],s={model_provider:"openai"},i={},a;if(t.type==="response.output_text.delta")e.push({type:"text",text:t.delta,index:t.content_index});else if(t.type==="response.output_text.annotation.added")e.push({type:"text",text:"",annotations:[km(t.annotation)],index:t.content_index});else if(t.type==="response.output_item.added"&&t.item.type==="message"){let u="phase"in t.item?t.item.phase:void 0;u&&e.push({type:"text",text:"",phase:u,index:0})}else if(t.type==="response.output_item.added"&&t.item.type==="function_call")o.push({type:"tool_call_chunk",name:t.item.name,args:t.item.arguments,id:t.item.call_id,index:t.output_index}),i[Ta]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.added"&&t.item.type==="custom_tool_call")o.push({type:"tool_call_chunk",isCustomTool:!0,name:t.item.name,args:t.item.input,id:t.item.call_id,index:t.output_index}),i[Ca]={[t.item.call_id]:t.item.id};else if(t.type==="response.output_item.done"&&t.item.type==="reasoning"&&t.item.encrypted_content)i.reasoning={encrypted_content:t.item.encrypted_content};else if(t.type==="response.output_item.done"&&t.item.type==="computer_call")o.push({type:"tool_call_chunk",name:"computer_use",args:JSON.stringify({action:t.item.action}),id:t.item.call_id,index:t.output_index}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&t.item.type==="image_generation_call")t.item.result&&e.push({type:"image",mimeType:"image/png",data:t.item.result,id:t.item.id,metadata:{status:t.item.status}}),i.tool_outputs=[t.item];else if(t.type==="response.output_item.done"&&["web_search_call","file_search_call","code_interpreter_call","shell_call","local_shell_call","mcp_call","mcp_list_tools","mcp_approval_request","custom_tool_call","tool_search_call","tool_search_output"].includes(t.item.type))i.tool_outputs=[t.item];else if(t.type==="response.created")a=t.response.id,s.id=t.response.id,s.model_name=t.response.model,s.model=t.response.model;else if(t.type==="response.completed"||t.type==="response.incomplete"){a=t.response.id;let u=ci(t.response);if(n=is(t.response.usage),t.response.text?.format?.type==="json_schema"&&u.text)try{i.parsed??=JSON.parse(u.text)}catch{}for(let[l,p]of Object.entries(t.response))l!=="id"&&(l==="output"?s[l]=u.response_metadata.output:s[l]=p)}else if(t.type==="response.function_call_arguments.delta"||t.type==="response.custom_tool_call_input.delta")o.push({type:"tool_call_chunk",args:t.delta,index:t.output_index,...t.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});else if(t.type==="response.web_search_call.in_progress"||t.type==="response.web_search_call.searching"||t.type==="response.web_search_call.completed"||t.type==="response.file_search_call.in_progress"||t.type==="response.file_search_call.searching"||t.type==="response.file_search_call.completed"||t.type==="response.image_generation_call.in_progress"||t.type==="response.image_generation_call.generating"||t.type==="response.image_generation_call.completed"){let[,u,l]=t.type.match(/^response\.(.*)\.([^.]+)$/)??["","",""];r={tool_outputs:{id:t.item_id,type:u,status:l}}}else if(t.type==="response.refusal.done")i.refusal=t.refusal;else if(t.type==="response.output_item.added"&&"item"in t&&t.item.type==="reasoning"){let u=t.item.summary?t.item.summary.map((p,m)=>({...p,index:m})):void 0;i.reasoning={id:t.item.id,type:t.item.type,...u?{summary:u}:{}};let l=t.item.summary?.map(p=>p.text).filter(Boolean).join("");l&&e.push({type:"reasoning",reasoning:l})}else if(t.type==="response.reasoning_summary_part.added")i.reasoning={type:"reasoning",summary:[{...t.part,index:t.summary_index}]},t.part.text&&e.push({type:"reasoning",reasoning:t.part.text,index:t.summary_index});else if(t.type==="response.reasoning_summary_text.delta")i.reasoning={type:"reasoning",summary:[{text:t.delta,type:"summary_text",index:t.summary_index}]},t.delta&&e.push({type:"reasoning",reasoning:t.delta,index:t.summary_index});else return t.type==="response.image_generation_call.partial_image",null;return new cs({text:e.map(u=>u.text).join(""),message:new Cn({id:a,content:e,tool_call_chunks:o,usage_metadata:n,additional_kwargs:i,response_metadata:s}),generationInfo:r})},Cc=t=>{let e=Ue.isInstance(t)&&t.response_metadata?.model_provider==="openai";function*r(){let n=ut(()=>{try{let h=Bt(t);return h==="system"||h==="developer"||h==="assistant"||h==="user"?h:"assistant"}catch{return"assistant"}}),o=h=>n==="assistant"?{type:"output_text",text:h,annotations:[]}:{type:"input_text",text:h},s,i=new Set,a=new Set,u=new Map,l=new Map;function*p(){if(!s)return;let h=s.content;(typeof h=="string"&&h.length>0||Array.isArray(h)&&h.length>0)&&(yield s),s=void 0}let m=(h,I)=>{s||(s={type:"message",role:n,content:[],...I?{phase:I}:{}}),typeof s.content=="string"?s.content=s.content.length>0?[o(s.content),...h]:[...h]:s.content.push(...h)},f=h=>{if(typeof h=="string")return h;try{return JSON.stringify(h??{})}catch{return"{}"}},g=h=>{let I=ut(()=>{let x=h.metadata?.detail;return x==="low"||x==="high"||x==="auto"?x:"auto"});if(h.fileId)return{type:"input_image",detail:I,file_id:h.fileId};if(h.url)return{type:"input_image",detail:I,image_url:h.url};if(h.data){let x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_image",detail:I,image_url:`data:${h.mimeType??"image/png"};base64,${x}`}}},w=h=>{if(h.fileId){let I=ha(h);return{type:"input_file",file_id:h.fileId,...I?{filename:I}:{}}}if(h.url){let I=ha(h);return{...I?{filename:I}:{},type:"input_file",file_url:h.url}}if(h.data){let I=bn(h),x=typeof h.data=="string"?h.data:Buffer.from(h.data).toString("base64");return{type:"input_file",file_data:`data:${h.mimeType??"application/octet-stream"};base64,${x}`,filename:I}}},A=h=>{let I=ut(()=>{if(Array.isArray(h.summary)){let T=h.summary?.map(k=>k?.text).filter(k=>typeof k=="string")??[];if(T.length>0)return T}return h.reasoning?[h.reasoning]:[]}),x=I.length>0?I.map(T=>({type:"summary_text",text:T})):[{type:"summary_text",text:""}];return{type:"reasoning",...h.id?{id:h.id}:{},summary:x}},b=h=>({type:"function_call",name:h.name??"",call_id:h.id??"",arguments:f(h.args)}),R=h=>{let I=f(h.output),x=h.status==="success"?"completed":h.status==="error"?"incomplete":void 0;return{type:"function_call_output",call_id:h.toolCallId??"",output:I,...x?{status:x}:{}}};for(let h of t.contentBlocks)if(h.type==="text"){let I=ut(()=>{if("extras"in h&&typeof h.extras=="object"&&h.extras!==null&&"phase"in h.extras)return h.extras.phase});m([o(h.text)],I)}else if(h.type!=="invalid_tool_call"){if(h.type==="reasoning")yield*p(),yield A(h);else if(h.type==="tool_call"){yield*p();let I=h.id??"";I&&(i.add(I),u.delete(I)),yield b(h)}else if(h.type==="tool_call_chunk"){if(h.id){let I=u.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),u.set(h.id,I)}}else if(h.type==="server_tool_call"){yield*p();let I=h.id??"";I&&(a.add(I),l.delete(I)),yield b(h)}else if(h.type==="server_tool_call_chunk"){if(h.id){let I=l.get(h.id)??{name:h.name,args:[]};h.name&&(I.name=h.name),h.args&&I.args.push(h.args),l.set(h.id,I)}}else if(h.type==="server_tool_call_result")yield*p(),yield R(h);else if(h.type!=="audio")if(h.type==="file"){let I=w(h);I&&m([I])}else if(h.type==="image"){let I=g(h);I&&m([I])}else if(h.type==="video"){let I=w(h);I&&m([I])}else h.type==="text-plain"?h.text&&m([o(h.text)]):h.type==="non_standard"&&e&&(yield*p(),yield h.value)}yield*p();for(let[h,I]of u){if(!h||i.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}for(let[h,I]of l){if(!h||a.has(h))continue;let x=I.args.join("");!I.name&&!x||(yield{type:"function_call",call_id:h,name:I.name??"",arguments:x})}}return Array.from(r())},as=({messages:t,zdrEnabled:e,model:r})=>t.flatMap(n=>{let o=n.response_metadata;if(o?.output_version==="v1")return Cc(n);let s=n.additional_kwargs,i=Bt(n);if(i==="system"&&Ut(r)&&(i="developer"),i==="function")throw new Error("Function messages are not supported in Responses API");if(i==="tool"){let a=n;if(s?.type==="computer_call_output")return{type:"computer_call_output",output:(()=>{if(typeof a.content=="string")return{type:"input_image",image_url:a.content};if(Array.isArray(a.content)){let l=a.content.find(f=>f.type==="input_image");if(l)return l;let p=a.content.find(f=>f.type==="computer_screenshot");if(p)return p;let m=a.content.find(f=>f.type==="image_url");if(m)return{type:"input_image",image_url:typeof m.image_url=="string"?m.image_url:m.image_url.url}}throw new Error("Invalid computer call output")})(),call_id:a.tool_call_id};if(a.additional_kwargs?.customTool)return{type:"custom_tool_call_output",call_id:a.tool_call_id,output:a.content};let u=Array.isArray(a.content)&&a.content.every(l=>typeof l=="object"&&l!==null&&"type"in l&&(l.type==="input_file"||l.type==="input_image"||l.type==="input_text"));return{type:"function_call_output",call_id:a.tool_call_id,id:a.id?.startsWith("fc_")?a.id:void 0,output:u?a.content:typeof a.content!="string"?JSON.stringify(a.content):a.content}}if(i==="assistant"){if(!e&&o?.output!=null&&Array.isArray(o?.output)&&o?.output.length>0&&o?.output.every(A=>"type"in A))return o?.output;let a=[],u=s?.reasoning,l=!!u?.encrypted_content;if(u&&(!e||l)){let A=Tc(u);a.push(A)}let{content:p}=n;if(s?.refusal&&(typeof p=="string"&&(p=[{type:"output_text",text:p,annotations:[]}]),p=[...p,{type:"refusal",refusal:s.refusal}]),typeof p=="string"||p.length>0){let A={type:"message",role:"assistant",...n.id&&!e&&n.id.startsWith("msg_")?{id:n.id}:{},content:ut(()=>typeof p=="string"?p:p.flatMap(b=>{if(b.type==="text"){let R=b;return{type:"output_text",text:R.text,annotations:(R.annotations??[]).map(hb)}}return b.type==="output_text"||b.type==="refusal"?b:[]})),phase:ut(()=>{if(Array.isArray(p))return p.find(b=>"phase"in b&&typeof b.phase=="string")?.phase})};a.push(A)}let m=s?.[Ta],f=s?.[Ca];Ue.isInstance(n)&&n.tool_calls?.length?a.push(...n.tool_calls.map(A=>md(A,f)?{type:"custom_tool_call",id:"call_id"in A&&typeof A.call_id=="string"?A.call_id:f?.[A.id??""]??"",call_id:A.id??"",input:A.args.input,name:A.name}:dd(A)?{type:"computer_call",id:A.call_id,call_id:A.id??"",action:A.args.action}:{type:"function_call",name:A.name,arguments:JSON.stringify(A.args),call_id:A.id,...e?{}:{id:m?.[A.id]}})):s?.tool_calls&&a.push(...s.tool_calls.map(A=>({type:"function_call",name:A.function.name,call_id:A.id,arguments:A.function.arguments,...e?{}:{id:m?.[A.id]}})));let g=o?.output?.length?o?.output:s.tool_outputs,w=["computer_call","mcp_call","code_interpreter_call","image_generation_call","shell_call","local_shell_call"];if(g!=null){let A=g?.filter(b=>w.includes(b.type));A.length>0&&a.push(...A)}return a}if(i==="user"||i==="system"||i==="developer"){if(typeof n.content=="string")return{type:"message",role:i,content:n.content};let a=[],u=n.content.flatMap(l=>{if(l.type==="mcp_approval_response"&&a.push({type:"mcp_approval_response",approval_request_id:l.approval_request_id,approve:l.approve}),fi(l)){if(l.type==="file"){let p=ha(l);if(l.source_type==="url")return{type:"input_file",file_url:l.url,...p?{filename:p}:{}};if(l.source_type==="id")return{type:"input_file",file_id:l.id,...p?{filename:p}:{}};if(l.source_type==="base64")return{type:"input_file",file_data:`data:${l.mime_type??""};base64,${l.data}`,filename:bn(l)}}return di(l,ui)}return l.type==="text"?{type:"input_text",text:l.text}:l.type==="image_url"?{type:"input_image",image_url:ut(()=>{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:ut(()=>{if(typeof l.image_url=="string")return"auto";if(typeof l.image_url=="object"&&l.image_url!==null&&"detail"in l.image_url)return l.image_url.detail})}:l.type==="input_text"||l.type==="input_image"||l.type==="input_file"?l:[]});return u.length>0&&a.push({type:"message",role:i,content:u}),a}return console.warn(`Unsupported role found when converting to OpenAI Responses API: ${i}`),[]});async function*$c(t,e={}){let r=e.streamUsage??!0,n=e.provider??"openai",o=new Map,s=new Map,i=0,a=!1,u,l,p,m,f=new Set,g=(b,R)=>{let h=s.get(b);if(h!==void 0)return{index:h,isNew:!1};let I=i++;return s.set(b,I),o.set(I,{...R}),{index:I,isNew:!0}},w=function*(){a||(a=!0,yield{event:"message-start",id:u})},A=function*(b){if(f.has(b))return;let R=o.get(b);R&&(f.add(b),yield{event:"content-block-finish",index:b,content:al(R)})};for await(let b of t){if(b.type==="response.created"){u=b.response.id,yield*w(),yield{event:"provider",provider:n,name:"response.created",payload:{model:b.response.model,id:b.response.id}};continue}if(b.type==="response.output_text.delta"){yield*w();let{index:R,isNew:h}=g(`text:${b.output_index}:${b.content_index}`,{type:"text",text:""});h&&(yield{event:"content-block-start",index:R,content:{type:"text",text:""}});let I=o.get(R);I.text=(I.text??"")+b.delta,yield{event:"content-block-delta",index:R,delta:{type:"text-delta",text:b.delta}};continue}if(b.type==="response.reasoning_summary_text.delta"){yield*w();let{index:R,isNew:h}=g(`reasoning:${b.output_index}:${b.summary_index}`,{type:"reasoning",reasoning:""});h&&(yield{event:"content-block-start",index:R,content:{type:"reasoning",reasoning:""}});let I=o.get(R);I.reasoning=(I.reasoning??"")+b.delta,yield{event:"content-block-delta",index:R,delta:{type:"reasoning-delta",reasoning:b.delta}};continue}if(b.type==="response.output_item.added"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let R=`tool:${b.output_index}`,h=b.item.type==="custom_tool_call",I=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:x,isNew:T}=g(R,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index,...h?{isCustomTool:!0}:{}});if(T&&(yield{event:"content-block-start",index:x,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:I,index:b.output_index}}),I){let k=o.get(x);yield{event:"content-block-delta",index:x,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...k.id!=null?{id:k.id}:{},...k.name!=null?{name:k.name}:{},args:k.args}}}}continue}if(b.type==="response.function_call_arguments.delta"||b.type==="response.custom_tool_call_input.delta"){yield*w();let{index:R,isNew:h}=g(`tool:${b.output_index}`,{type:"tool_call_chunk",args:"",index:b.output_index,...b.type==="response.custom_tool_call_input.delta"?{isCustomTool:!0}:{}});h&&(yield{event:"content-block-start",index:R,content:{type:"tool_call_chunk",args:"",index:b.output_index}});let I=o.get(R);I.args=(I.args??"")+b.delta,yield{event:"content-block-delta",index:R,delta:{type:"block-delta",fields:{type:"tool_call_chunk",...I.id!=null?{id:I.id}:{},...I.name!=null?{name:I.name}:{},args:I.args}}};continue}if(b.type==="response.output_item.done"&&(b.item.type==="function_call"||b.item.type==="custom_tool_call")){yield*w();let R=`tool:${b.output_index}`,h=b.item.type==="function_call"?b.item.arguments??"":b.item.input??"",{index:I,isNew:x}=g(R,{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index});if(x)yield{event:"content-block-start",index:I,content:{type:"tool_call_chunk",id:b.item.call_id,name:b.item.name,args:h,index:b.output_index}};else{let T=o.get(I);T.args=h,T.id=b.item.call_id,T.name=b.item.name}yield*A(I);continue}if(b.type==="response.completed"||b.type==="response.incomplete"){yield*w(),u=b.response.id,p=yb(b.response.status,b.type),m={model_provider:n,id:b.response.id,model:b.response.model,status:b.response.status},r&&b.response.usage&&(l=is(b.response.usage),yield{event:"usage",usage:l});continue}b.type!=="response.image_generation_call.partial_image"&&(yield*w(),yield{event:"provider",provider:n,name:b.type,payload:b})}a||(yield{event:"message-start"});for(let[b]of o)f.has(b)||(yield*A(b));yield{event:"message-finish",reason:p,...l?{usage:l}:{},...m?{responseMetadata:m}:{}}}function yb(t,e){return e==="response.incomplete"?"length":t==="completed"?"stop":t==="incomplete"?"length":"stop"}var Na=class extends kn{constructor(t,e){super(ss(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:ld(t?.tool_choice)?t?.tool_choice:(()=>{let o=ga(t?.tool_choice);if(typeof o=="object"&&"type"in o){if(o.type==="function")return{type:"function",name:o.function.name};if(o.type==="allowed_tools")return{type:"allowed_tools",mode:o.allowed_tools.mode,tools:o.allowed_tools.tools};if(o.type==="custom")return{type:"custom",name:o.custom.name}}})(),text:(()=>{if(t?.text)return t.text;let o=this._getResponseFormat(t?.response_format);return o?.type==="json_schema"?o.json_schema.schema!=null?{format:{type:"json_schema",schema:o.json_schema.schema,description:o.json_schema.description,name:o.json_schema.name,strict:o.json_schema.strict},verbosity:t?.verbosity}:void 0:{format:o,verbosity:t?.verbosity}})(),parallel_tool_calls:t?.parallel_tool_calls,max_output_tokens:this.maxTokens===-1?void 0:this.maxTokens,prompt_cache_key:t?.promptCacheKey??this.promptCacheKey,prompt_cache_retention:t?.promptCacheRetention??this.promptCacheRetention,...this.zdrEnabled?{store:!1}:{},...this.modelKwargs},n=this._getReasoningParams(t);return n!==void 0&&(r.reasoning=n),r}async _generate(t,e,r){e.signal?.throwIfAborted();let n=this.invocationParams(e);if(n.stream){let o=this._streamResponseChunks(t,e,r),s;for await(let i of o)i.message.response_metadata={...i.generationInfo,...i.message.response_metadata},s=s?.concat(i)??i;return{generations:s?[s]:[],llmOutput:{estimatedTokenUsage:s?.message?.usage_metadata}}}else{let o=await this.completionWithRetry({input:as({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),...n,stream:!1},{signal:e?.signal,maxRetries:e?.maxRetries,...e?.options});return{generations:[{text:o.output_text,message:ci(o)}],llmOutput:{id:o.id,estimatedTokenUsage:o.usage?{promptTokens:o.usage.input_tokens,completionTokens:o.usage.output_tokens,totalTokens:o.usage.total_tokens}:void 0}}}}async*_streamChatModelEvents(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:as({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e),o=this.streamUsage??e.streamUsage;yield*$c(async function*(i,a){for await(let u of i){if(a?.aborted)return;yield u}}(n,e.signal),{streamUsage:o??!0,provider:this.streamEventProvider})}get streamEventProvider(){return"openai"}async*_streamResponseChunks(t,e,r){let n=await this.completionWithRetry({...this.invocationParams(e),input:as({messages:t,zdrEnabled:this.zdrEnabled??!1,model:this.model}),stream:!0},e);try{for await(let o of n){if(e.signal?.aborted)return;let s=$a(o);s!=null&&(yield s,await r?.handleLLMNewToken(s.text||"",{prompt:e.promptIndex??0,completion:0},void 0,void 0,void 0,{chunk:s}))}}catch(o){throw et(o)}}async completionWithRetry(t,e){let{maxRetries:r,...n}=e??{},o=this._getClientOptions(n);return this.caller.callWithOptions({maxRetries:r},async()=>{try{return t.text?.format?.type==="json_schema"&&!t.stream?await this.client.responses.parse(t,o):await this.client.responses.create(t,o)}catch(s){throw et(s)}})}_reduceChatOpenAITools(t,e){let r=[];for(let n of t)if(es(n))n.type==="image_generation"&&e?.stream&&(n.partial_images=1),r.push(n);else if(wn(n)){let o=n.metadata.customTool;r.push({type:"custom",name:o.name,description:o.description,format:o.format})}else if(_i(n)){let o={};for(let[s,i]of Object.entries(n))s!=="type"&&s!=="function"&&(o[s]=i);r.push({type:"function",name:n.function.name,parameters:n.function.parameters,description:n.function.description,strict:e?.strict??null,...o})}else _a(n)&&r.push(hd(n));return r}};var ja=class Rm extends kn{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=ss(e,r);super(n),this.fields=n,this.useResponsesApi=n?.useResponsesApi??!1,this.responses=n?.responses??new Na(n),this.completions=n?.completions??new Ea(n)}_useResponsesApi(e){let r=e?.tools?.some(es),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(_a)||e?.tools?.some(wn);return this.useResponsesApi||r||n||o||nd(this.model)}getLsParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.getLsParams(r):this.completions.getLsParams(r)}invocationParams(e){let r=this._combineCallOptions(e);return this._useResponsesApi(e)?this.responses.invocationParams(r):this.completions.invocationParams(r)}async _generate(e,r,n){return this._useResponsesApi(r)?this.responses._generate(e,r,n):this.completions._generate(e,r,n)}async*_streamChatModelEvents(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamChatModelEvents(e,this._combineCallOptions(r),n);return}yield*this.completions._streamChatModelEvents(e,this._combineCallOptions(r),n)}async*_streamResponseChunks(e,r,n){if(this._useResponsesApi(r)){yield*this.responses._streamResponseChunks(e,this._combineCallOptions(r),n);return}yield*this.completions._streamResponseChunks(e,this._combineCallOptions(r),n)}withConfig(e){let r=new Rm(this.fields);return r.defaultOptions={...this.defaultOptions,...e},r}};var Ma=class extends cl{model="text-embedding-ada-002";modelName;batchSize=512;stripNewLines=!0;dimensions;timeout;organization;encodingFormat;client;clientConfig;apiKey;constructor(t){let e={maxConcurrency:2,...t};super(e);let r=e?.apiKey??e?.openAIApiKey??Ne("OPENAI_API_KEY");this.organization=e?.configuration?.organization??Ne("OPENAI_ORGANIZATION"),this.model=e?.model??e?.modelName??this.model,this.modelName=this.model,this.batchSize=e?.batchSize??this.batchSize,this.stripNewLines=e?.stripNewLines??this.stripNewLines,this.timeout=e?.timeout,this.dimensions=e?.dimensions,this.encodingFormat=e?.encodingFormat,this.clientConfig={apiKey:r,organization:this.organization,dangerouslyAllowBrowser:!0,...t?.configuration}}async embedDocuments(t){let e=Xa(this.stripNewLines?t.map(s=>s.replace(/\n/g," ")):t,this.batchSize),r=e.map(s=>{let i={model:this.model,input:s};return this.dimensions&&(i.dimensions=this.dimensions),this.encodingFormat&&(i.encoding_format=this.encodingFormat),this.embeddingWithRetry(i)}),n=await Promise.all(r),o=[];for(let s=0;s<n.length;s+=1){let i=e[s],{data:a}=n[s];for(let u=0;u<i.length;u+=1)o.push(a[u].embedding)}return o}async embedQuery(t){let e={model:this.model,input:this.stripNewLines?t.replace(/\n/g," "):t};this.dimensions&&(e.dimensions=this.dimensions),this.encodingFormat&&(e.encoding_format=this.encodingFormat);let{data:r}=await this.embeddingWithRetry(e);return r[0].embedding}async embeddingWithRetry(t){if(!this.client){let r={baseURL:this.clientConfig.baseURL},n=Ft(r),o={...this.clientConfig,baseURL:n,timeout:this.timeout,maxRetries:0};o.baseURL||delete o.baseURL,o.defaultHeaders=Kt(o.defaultHeaders),this.client=new M(o)}let e={};return this.caller.call(async()=>{try{return await this.client.embeddings.create(t,e)}catch(r){throw et(r)}})}};var bb=v.object({type:v.literal("screenshot")}),wb=v.object({type:v.literal("click"),x:v.number(),y:v.number(),button:v.enum(["left","right","wheel","back","forward"]).default("left")}),Ib=v.object({type:v.literal("double_click"),x:v.number(),y:v.number(),button:v.enum(["left","right","wheel","back","forward"]).default("left")}),Ob=v.object({type:v.literal("drag"),path:v.array(v.object({x:v.number(),y:v.number()}))}),xb=v.object({type:v.literal("keypress"),keys:v.array(v.string())}),Pb=v.object({type:v.literal("move"),x:v.number(),y:v.number()}),Sb=v.object({type:v.literal("scroll"),x:v.number(),y:v.number(),scroll_x:v.number(),scroll_y:v.number()}),vb=v.object({type:v.literal("type"),text:v.string()}),kb=v.object({type:v.literal("wait"),duration:v.number().optional()}),Rb=v.union([bb,wb,Ib,Ob,xb,Pb,Sb,vb,kb]),nz=v.object({action:Rb});var Eb=v.object({type:v.literal("exec"),command:v.array(v.string()),env:v.record(v.string(),v.string()).optional(),working_directory:v.string().optional(),timeout_ms:v.number().optional(),user:v.string().optional()}),az=v.union([Eb]);var pz=v.object({commands:v.array(v.string()).describe("Array of shell commands to execute"),timeout_ms:v.number().optional().describe("Optional timeout in milliseconds for the commands"),max_output_length:v.number().optional().describe("Optional maximum number of characters to return from each command")});var Tb=v.object({type:v.literal("create_file"),path:v.string(),diff:v.string()}),Cb=v.object({type:v.literal("update_file"),path:v.string(),diff:v.string()}),$b=v.object({type:v.literal("delete_file"),path:v.string()}),hz=v.union([Tb,Cb,$b]);var Cm={advanced:"gpt-5.6-sol",default:"gpt-5.6-terra",fast:"gpt-5.6-luna"},za={default:"text-embedding-ada-002"},jc=new Map,Da=null,Db=()=>{let t=Em.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},$m=async t=>{let e=Db();jc.size===0&&(Da||(Da=(async()=>{try{(await Tm(`${e}/models`)).data.models.forEach(n=>jc.set(n.name,n))}catch(n){throw Da=null,n}})()),await Da);let r=jc.get(t);if(!r)throw new Error(`Model '${t}' is not available in the discovery service.`);return r.endpoint},zb=async(t="default")=>await $m(Cm[t]),Lb=async(t="default")=>await $m(za[t]),Ub=t=>typeof t=="string"&&t.length>0?t:void 0,Bb=()=>Lc(),Fb=t=>typeof t!="string"||t.trim().length===0?"MapsSDK":`MapsSDK - ${t.trim()}`,Kb=t=>{let e=t?.configurable;return{conversationId:Ub(e?.thread_id),abortSignal:t?.signal,requestId:Bb(),requestSource:Fb(Mb.applicationName)}},Wb=t=>{if(t==null||typeof t=="string"||t instanceof FormData||t instanceof HTMLFormElement)return t;if(t instanceof URLSearchParams)return t.toString();throw new TypeError(`Unsupported request body type: ${Object.prototype.toString.call(t)}`)},Nm=async({config:t,withCredentials:e})=>{let r=Em.getDefault(),n=await jb.getCredential(`${r.url}/sharing`);return async(o,s)=>{let{conversationId:i,abortSignal:a,requestId:u,requestSource:l}=Kb(t),p=new Headers(s?.headers);for(let g of[...p.keys()]){let w=g.toLowerCase();(w==="authorization"||w==="api-key"||w.startsWith("x-stainless-"))&&p.delete(g)}let m=n?.token;m&&m.length>0&&p.set("X-Esri-Authorization",`Bearer ${m}`),r.isPortal||(l&&l.length>0&&p.set("X-Esri-Request-Source",l),i&&i.length>0&&p.set("X-Esri-Conversation-Id",i),u.length>0&&p.set("X-Esri-Request-Id",u));let f=a&&s?.signal?AbortSignal.any([a,s.signal]):s?.signal??a;return(await Tm(o instanceof Request?o.url:o.toString(),{body:Wb(s?.body),headers:Object.fromEntries(p),responseType:"native",withCredentials:e,signal:f})).data}},us=async(t={})=>{let{modelTier:e="default",config:r}=t,n=Cm[e],o=await zb(e);return new ja({modelName:n,apiKey:"dummy-key",useResponsesApi:!0,zdrEnabled:!0,configuration:{baseURL:o,fetch:await Nm({config:r,withCredentials:!0})}})},ML=async(t={})=>{let{tier:e="default",config:r}=t,n=za[e],o=await Lb(e);return new Ma({modelName:n,apiKey:"dummy-key",configuration:{baseURL:o,fetch:await Nm({config:r})},batchSize:2048,maxConcurrency:10})};var HL=xt.Root({agentExecutionContext:xt({default:dl,reducer:pl}),currentIntent:xt({default:()=>"none",reducer:ps}),routing:xt({default:()=>({mode:"auto"}),reducer:ps}),lastExecutedAgent:xt({default:()=>"",reducer:ps}),requiresFollowUp:xt({default:()=>!0,reducer:ps}),stepCount:xt({default:()=>0,reducer:(t,e)=>e??t+1}),finalOutputMessage:xt({default:()=>"",reducer:fl})}),qb=t=>{if(!t||typeof t!="object"||!("services"in t))return!1;let e=t.services;return!!e&&typeof e=="object"&&"agentRegistry"in e},Hb=t=>{let e=t?.configurable;return qb(e)?e:void 0},Xb=(t,e,r)=>{let n=t[e];return n?typeof n=="function"?n():Promise.resolve(n):new Promise((o,s)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(s.bind(null,new Error("Unknown variable dynamic import: "+e+(e.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},Dc=async t=>(await Xb(Object.assign({"./field_descriptions_prompt.md":()=>import("./ZU2FHVNK.js"),"./intent_prompt.md":()=>import("./OT5ECP4V.js"),"./layer_descriptions_prompt.md":()=>import("./LK7ZIQW6.js")}),`./${t}.md`,2)).default,Zb=async t=>{let{agent:e,messages:r,config:n}=t;return{structuredResponse:(await e.invoke({messages:r},n)).structuredResponse}},Jb=v.object({id:v.string().min(1),name:v.string().min(1),description:v.string().min(1)});v.array(Jb);var jm=t=>JSON.stringify(t,null,2),Vb=t=>{let e=t.map(n=>n.id),r=v.enum(e);return v.object({intent:r.nullable(),assignedTask:v.string().nullable(),requiresFollowUp:v.boolean()})},XL=async(t,e)=>{let r=Hb(e);if(e?.signal?.aborted)return await Cr({text:"Run cancelled; skipping intent routing"},e),{...t,currentIntent:"none",finalOutputMessage:"Operation cancelled.",requiresFollowUp:!1};try{await Cr({text:"Asking LLM to route to an agent"},e);let n=r.services.agentRegistry?.list()??[],o=n.map(({agent:A})=>({id:A.id,name:A.name,description:A.description}));if(!o.length)return await Cr({text:"No agents registered; skipping intent detection"},e),{...t,currentIntent:"none",finalOutputMessage:"No agents registered; skipping intent detection."};let s=await Dc("intent_prompt"),i=jm(o),a=Vb(o),u={registeredAgents:i,priorSteps:jm(t.agentExecutionContext.priorSteps),userRequest:t.agentExecutionContext.userRequest},l=await Za.fromTemplate(s).format(u),p=ml({model:await us({modelTier:"fast",config:e}),tools:[],systemPrompt:l,responseFormat:a,middleware:[hl({model:await us({modelTier:"fast",config:e}),trigger:{tokens:4e3},keep:{messages:6}}),yl({runLimit:2})]}),{structuredResponse:m}=await Zb({agent:p,messages:t.agentExecutionContext.messages,config:e}),f=a.parse(m??{intent:null,assignedTask:null,requiresFollowUp:!1}),g=f.intent??"none",w={...t,currentIntent:g,requiresFollowUp:f.requiresFollowUp,agentExecutionContext:{...t.agentExecutionContext,assignedTask:f.assignedTask??""}};if(g==="none"){let A=`I could not find an agent that can handle that request. I have access to the following agents: ${n.map(({agent:b})=>b.name).join(", ")}.
42
42
 
43
43
  Please ask a question that can be answered by one of these agents.`;return await Cr({text:"LLM did not identify a clear intent."},e),{...t,currentIntent:g,requiresFollowUp:!1,finalOutputMessage:A,agentExecutionContext:{...t.agentExecutionContext,assignedTask:"",messages:[...t.agentExecutionContext.messages,new Ue(A)],priorSteps:[...t.agentExecutionContext.priorSteps??[],{agentId:"no-intent-router",assignedTask:t.agentExecutionContext.userRequest,summary:"No matching agent found; asked user to rephrase.",status:"failed"}]}}}return await Cr({text:`Agent picked: ${g}
44
44
  Task Assigned: ${f.assignedTask??""}