@arcgis/ai-components 5.2.0-next.99 → 6.0.0-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (731) hide show
  1. package/dist/agent-utils/BaseAgent.d.ts +18 -34
  2. package/dist/agent-utils/BaseAgent.js +53 -54
  3. package/dist/agent-utils/FunctionAgent.d.ts +11 -17
  4. package/dist/agent-utils/FunctionAgent.js +24 -60
  5. package/dist/agent-utils/LLMAgent.d.ts +18 -24
  6. package/dist/agent-utils/LLMAgent.js +71 -106
  7. package/dist/agent-utils/SkillAgent.d.ts +66 -0
  8. package/dist/agent-utils/SkillAgent.js +37 -0
  9. package/dist/agent-utils/WorkflowAgent.d.ts +10 -16
  10. package/dist/agent-utils/WorkflowAgent.js +19 -55
  11. package/dist/agent-utils/createSchema.d.ts +12 -0
  12. package/dist/agent-utils/createSchema.js +8 -0
  13. package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +1 -1
  14. package/dist/agent-utils/middlewares/trace.js +8 -8
  15. package/dist/agent-utils/tools/FunctionTool.d.ts +8 -9
  16. package/dist/agent-utils/tools/FunctionTool.js +21 -52
  17. package/dist/agent-utils/types.d.ts +30 -34
  18. package/dist/agent-utils/workflows/BaseWorkflow.d.ts +6 -7
  19. package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +2 -2
  20. package/dist/agent-utils/workflows/ConditionalWorkflow.js +14 -29
  21. package/dist/agent-utils/workflows/LoopWorkflow.d.ts +3 -7
  22. package/dist/agent-utils/workflows/LoopWorkflow.js +14 -29
  23. package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +2 -6
  24. package/dist/agent-utils/workflows/ParallelWorkflow.js +69 -78
  25. package/dist/agent-utils/workflows/RouterWorkflow.d.ts +3 -3
  26. package/dist/agent-utils/workflows/RouterWorkflow.js +30 -47
  27. package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +1 -1
  28. package/dist/agent-utils/workflows/SequentialWorkflow.js +15 -27
  29. package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +3 -3
  30. package/dist/agent-utils/workflows/SwitchWorkflow.js +30 -49
  31. package/dist/agentic-workflow/jsonTypes.d.ts +116 -46
  32. package/dist/agents/agents/arcgisKnowledge/graph/arcgisKnowledgeGraph.d.ts +8 -0
  33. package/dist/{chunks → agents/agents/arcgisKnowledge/graph}/arcgisKnowledgeGraph.js +21 -29
  34. package/dist/agents/agents/dataExploration/dataExplorationAgent.d.ts +18 -0
  35. package/dist/agents/agents/dataExploration/dataExplorationAgent.js +17 -0
  36. package/dist/agents/agents/dataExplorationGraph/graph/dataExplorationGraph.d.ts +8 -0
  37. package/dist/{chunks → agents/agents/dataExplorationGraph/graph}/dataExplorationGraph.js +39 -46
  38. package/dist/agents/agents/help/helpAgent.d.ts +8 -0
  39. package/dist/agents/agents/help/helpAgent.js +32 -0
  40. package/dist/agents/agents/helpGraph/graph/helpGraph.d.ts +8 -0
  41. package/dist/{chunks → agents/agents/helpGraph/graph}/helpGraph.js +23 -32
  42. package/dist/agents/agents/layerStyling/context/layerStylingContext.d.ts +11 -0
  43. package/dist/agents/agents/layerStyling/context/layerStylingContext.js +5 -0
  44. package/dist/agents/agents/layerStyling/graph/layerStylingGraph.d.ts +8 -0
  45. package/dist/{chunks → agents/agents/layerStyling/graph}/layerStylingGraph.js +31 -40
  46. package/dist/agents/agents/navigation/navigationAgent.d.ts +18 -0
  47. package/dist/agents/agents/navigation/navigationAgent.js +25 -0
  48. package/dist/agents/agents/navigationGraph/graph/navigationGraph.d.ts +8 -0
  49. package/dist/{chunks → agents/agents/navigationGraph/graph}/navigationGraph.js +52 -61
  50. package/dist/agents/tools/filter/setFeatureEffect/adapter.js +4 -3
  51. package/dist/agents/tools/query/getStatistics/adapter.js +8 -7
  52. package/dist/agents/tools/query/getTopFeatures/adapter.js +123 -98
  53. package/dist/agents/tools/query/queryFeatures/adapter.js +4 -3
  54. package/dist/agents/tools/shared/resolveToolArtifact.d.ts +24 -0
  55. package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
  56. package/dist/agents/tools/shared/types.d.ts +22 -0
  57. package/dist/agents/tools/shared/types.js +6 -0
  58. package/dist/cdn/25CQLMB4.js +2 -0
  59. package/dist/cdn/{COH3QXWG.js → 2FUTKTNO.js} +2 -2
  60. package/dist/cdn/{5MK44FNO.js → 2GSHUAQ2.js} +1 -1
  61. package/dist/cdn/2UKFCF2J.js +150 -0
  62. package/dist/cdn/{MWYBF3F3.js → 2XXM52PS.js} +5 -5
  63. package/dist/cdn/{YEZ3AMNX.js → 2ZH5JNHL.js} +1 -1
  64. package/dist/cdn/34HKOU3T.js +2 -0
  65. package/dist/cdn/37EJSNE3.js +2 -0
  66. package/dist/cdn/3HV6OXCZ.js +2 -0
  67. package/dist/cdn/3WS4DSWD.js +2 -0
  68. package/dist/cdn/43OJZMBB.js +2 -0
  69. package/dist/cdn/46DT6BIG.js +68 -0
  70. package/dist/cdn/4BRIOLDJ.js +2 -0
  71. package/dist/cdn/4KFTUBFL.js +2 -0
  72. package/dist/cdn/{7SRLZQVC.js → 4OLV5LA7.js} +1 -1
  73. package/dist/cdn/4ZPGFIE2.js +2 -0
  74. package/dist/cdn/{22KHSDJI.js → 645SDZBB.js} +1 -1
  75. package/dist/cdn/{LLUGJKAQ.js → 6GQCLDLJ.js} +1 -1
  76. package/dist/cdn/6JCDY4FL.js +2 -0
  77. package/dist/cdn/74CVYM72.js +19 -0
  78. package/dist/cdn/7DRHB24Z.js +2 -0
  79. package/dist/cdn/{655YIKL3.js → 7GQCNR4P.js} +2 -2
  80. package/dist/cdn/7OQA4GCM.js +2 -0
  81. package/dist/cdn/A3KIOUWB.js +2 -0
  82. package/dist/cdn/AAUVOBPS.js +2 -0
  83. package/dist/cdn/AMFZY5QK.js +18 -0
  84. package/dist/cdn/B2JRBDJZ.js +2 -0
  85. package/dist/cdn/B4C7NIB5.js +23 -0
  86. package/dist/cdn/BIEX4MVV.js +9 -0
  87. package/dist/cdn/BKKLQUK2.js +2 -0
  88. package/dist/cdn/CADNOKIK.js +2 -0
  89. package/dist/cdn/CFAC4FN3.js +2 -0
  90. package/dist/cdn/DQRKGYR3.js +2 -0
  91. package/dist/cdn/DWMZ23QK.js +2 -0
  92. package/dist/cdn/{C4JT4S5E.js → DXCDVRGL.js} +1 -1
  93. package/dist/cdn/DYSPEU7W.js +2 -0
  94. package/dist/cdn/{5WYRJMBW.js → ENVTUTY6.js} +1 -1
  95. package/dist/cdn/EOSKJPQV.js +2 -0
  96. package/dist/cdn/EU6YSCZL.js +2 -0
  97. package/dist/cdn/EXIA3APU.js +75 -0
  98. package/dist/cdn/F7VQ3WH2.js +2 -0
  99. package/dist/cdn/FBIPIDP7.js +2 -0
  100. package/dist/cdn/FFWPUYGD.js +6 -0
  101. package/dist/cdn/FX4LV2S3.js +2 -0
  102. package/dist/cdn/{5HBAJ57P.js → FXRZCD5Y.js} +1 -1
  103. package/dist/cdn/GEFFWUB2.js +2 -0
  104. package/dist/cdn/GMZUN5SF.js +2 -0
  105. package/dist/cdn/{C4FEETBZ.js → GOET2CH4.js} +1 -1
  106. package/dist/cdn/GVFJHADC.js +2 -0
  107. package/dist/cdn/H7WJUUJT.js +2 -0
  108. package/dist/cdn/HWNPZ4CF.js +2 -0
  109. package/dist/cdn/I5OBL24F.js +2 -0
  110. package/dist/cdn/I7PHDOEQ.js +2 -0
  111. package/dist/cdn/{HHFNQR6Z.js → IEAHAC6B.js} +1 -1
  112. package/dist/cdn/ISDNOFHU.js +3 -0
  113. package/dist/cdn/J37GSI7C.js +2 -0
  114. package/dist/cdn/JZS6ZSWH.js +2 -0
  115. package/dist/cdn/KEBMHD4R.js +9 -0
  116. package/dist/cdn/KJZVYKWL.js +2 -0
  117. package/dist/cdn/KKXOSV62.js +2 -0
  118. package/dist/cdn/KPHHXMRK.js +2 -0
  119. package/dist/cdn/LCI5MEDN.js +2 -0
  120. package/dist/cdn/LVSIZRTB.js +2 -0
  121. package/dist/cdn/M7TMD2HP.js +41 -0
  122. package/dist/cdn/MHUEU6MR.js +2 -0
  123. package/dist/cdn/MPWEXYYB.js +2 -0
  124. package/dist/cdn/MQSOVP27.js +2 -0
  125. package/dist/cdn/NN6MELJ7.js +2 -0
  126. package/dist/cdn/O62IJLTZ.js +2 -0
  127. package/dist/cdn/OFM2S6U7.js +2 -0
  128. package/dist/cdn/{VXFQANGJ.js → OJP56R5R.js} +1 -1
  129. package/dist/cdn/{BL273EGZ.js → OT5ECP4V.js} +2 -0
  130. package/dist/cdn/OVIQ5NSE.js +2 -0
  131. package/dist/cdn/OYHYHALE.js +2 -0
  132. package/dist/cdn/{VOKXKU7M.js → Q6PCXSZT.js} +10 -10
  133. package/dist/cdn/QJOO6IIX.js +119 -0
  134. package/dist/cdn/QQPVN5MG.js +2 -0
  135. package/dist/cdn/QUZTFUWM.js +1 -0
  136. package/dist/cdn/RBRHDEOB.js +2 -0
  137. package/dist/cdn/REE4K4J7.js +2 -0
  138. package/dist/cdn/RFKOCMMT.js +2 -0
  139. package/dist/cdn/RKHDRUX5.js +2 -0
  140. package/dist/cdn/SBIYXWXZ.js +2 -0
  141. package/dist/cdn/T2FKFOHE.js +2 -0
  142. package/dist/cdn/{KWD2ECTM.js → TGI7QCB2.js} +1 -1
  143. package/dist/cdn/TPMZRJEC.js +2 -0
  144. package/dist/cdn/TRZJYWEB.js +33 -0
  145. package/dist/cdn/TTPTZBCM.js +2 -0
  146. package/dist/cdn/U3ZTF2BC.js +2 -0
  147. package/dist/cdn/U53SVXZK.js +3 -0
  148. package/dist/cdn/UALF45Q2.js +2 -0
  149. package/dist/cdn/{K2R6XVK3.js → UPSFL6U3.js} +1 -1
  150. package/dist/cdn/UYEF3IKE.js +44 -0
  151. package/dist/cdn/V6AQFRUC.js +2 -0
  152. package/dist/cdn/V7ERVXIO.js +2 -0
  153. package/dist/cdn/VIJVRJHL.js +2 -0
  154. package/dist/cdn/VVWKEN53.js +8 -0
  155. package/dist/cdn/W3OJTTVX.js +2 -0
  156. package/dist/cdn/W3ZLMBEE.js +155 -0
  157. package/dist/cdn/W6TS2TIE.js +2 -0
  158. package/dist/cdn/WB5AFS42.js +2 -0
  159. package/dist/cdn/WC6SHIEX.js +2 -0
  160. package/dist/cdn/WSIZ2OTL.js +2 -0
  161. package/dist/cdn/WVMQ3I6F.js +2 -0
  162. package/dist/cdn/XI4BPYGB.js +2 -0
  163. package/dist/cdn/{Z5W4V7RC.js → XJUYG2M3.js} +1 -1
  164. package/dist/cdn/XPSPAZUD.js +2 -0
  165. package/dist/cdn/XQ3NBBQ3.js +2 -0
  166. package/dist/cdn/{HHUQXL3R.js → YAUQJ6NV.js} +1 -1
  167. package/dist/cdn/YD3DLETZ.js +2 -0
  168. package/dist/cdn/YKKIJTJY.js +2 -0
  169. package/dist/cdn/YO3L3XIH.js +2 -0
  170. package/dist/cdn/YOQCQAKT.js +2 -0
  171. package/dist/cdn/ZBBI5M2X.js +14 -0
  172. package/dist/cdn/{KITIP6J2.js → ZBRZU4XB.js} +1 -1
  173. package/dist/cdn/{NNXISHCA.js → ZCNCYKXW.js} +2 -2
  174. package/dist/cdn/ZESTW6HJ.js +2 -0
  175. package/dist/cdn/ZKDCEL6K.js +2 -0
  176. package/dist/cdn/{6ECRQVHY.js → ZMMUAYDN.js} +1 -1
  177. package/dist/cdn/ZQTCPJUV.js +2 -0
  178. package/dist/cdn/ZS5P7NRI.js +2 -0
  179. package/dist/cdn/agent-utils/BaseAgent.js +2 -0
  180. package/dist/cdn/agent-utils/FunctionAgent.js +2 -0
  181. package/dist/cdn/agent-utils/LLMAgent.js +2 -0
  182. package/dist/cdn/agent-utils/SkillAgent.js +2 -0
  183. package/dist/cdn/agent-utils/WorkflowAgent.js +2 -0
  184. package/dist/cdn/agent-utils/createSchema.js +2 -0
  185. package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -2
  186. package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
  187. package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
  188. package/dist/cdn/agent-utils/tools/FunctionTool.js +2 -0
  189. package/dist/cdn/agent-utils/workflows/ConditionalWorkflow.js +2 -0
  190. package/dist/cdn/agent-utils/workflows/LoopWorkflow.js +2 -0
  191. package/dist/cdn/agent-utils/workflows/ParallelWorkflow.js +6 -0
  192. package/dist/cdn/agent-utils/workflows/RouterWorkflow.js +2 -0
  193. package/dist/cdn/agent-utils/workflows/SequentialWorkflow.js +2 -0
  194. package/dist/cdn/agent-utils/workflows/SwitchWorkflow.js +2 -0
  195. package/dist/cdn/assets/agents/t9n/messages.ar.json +1 -0
  196. package/dist/cdn/assets/agents/t9n/messages.bg.json +1 -0
  197. package/dist/cdn/assets/agents/t9n/messages.ca.json +1 -0
  198. package/dist/cdn/assets/agents/t9n/messages.cs.json +1 -0
  199. package/dist/cdn/assets/agents/t9n/messages.da.json +1 -0
  200. package/dist/cdn/assets/agents/t9n/messages.de.json +1 -0
  201. package/dist/cdn/assets/agents/t9n/messages.el.json +1 -0
  202. package/dist/cdn/assets/agents/t9n/messages.en.json +1 -0
  203. package/dist/cdn/assets/agents/t9n/messages.es.json +1 -0
  204. package/dist/cdn/assets/agents/t9n/messages.et.json +1 -0
  205. package/dist/cdn/assets/agents/t9n/messages.fi.json +1 -0
  206. package/dist/cdn/assets/agents/t9n/messages.fr.json +1 -0
  207. package/dist/cdn/assets/agents/t9n/messages.he.json +1 -0
  208. package/dist/cdn/assets/agents/t9n/messages.hr.json +1 -0
  209. package/dist/cdn/assets/agents/t9n/messages.hu.json +1 -0
  210. package/dist/cdn/assets/agents/t9n/messages.id.json +1 -0
  211. package/dist/cdn/assets/agents/t9n/messages.it.json +1 -0
  212. package/dist/cdn/assets/agents/t9n/messages.ja.json +1 -0
  213. package/dist/cdn/assets/agents/t9n/messages.ko.json +1 -0
  214. package/dist/cdn/assets/agents/t9n/messages.lt.json +1 -0
  215. package/dist/cdn/assets/agents/t9n/messages.lv.json +1 -0
  216. package/dist/cdn/assets/agents/t9n/messages.nl.json +1 -0
  217. package/dist/cdn/assets/agents/t9n/messages.no.json +1 -0
  218. package/dist/cdn/assets/agents/t9n/messages.pl.json +1 -0
  219. package/dist/cdn/assets/agents/t9n/messages.pt-BR.json +1 -0
  220. package/dist/cdn/assets/agents/t9n/messages.pt-PT.json +1 -0
  221. package/dist/cdn/assets/agents/t9n/messages.ro.json +1 -0
  222. package/dist/cdn/assets/agents/t9n/messages.ru.json +1 -0
  223. package/dist/cdn/assets/agents/t9n/messages.sk.json +1 -0
  224. package/dist/cdn/assets/agents/t9n/messages.sl.json +1 -0
  225. package/dist/cdn/assets/agents/t9n/messages.sr.json +1 -0
  226. package/dist/cdn/assets/agents/t9n/messages.sv.json +1 -0
  227. package/dist/cdn/assets/agents/t9n/messages.th.json +1 -0
  228. package/dist/cdn/assets/agents/t9n/messages.tr.json +1 -0
  229. package/dist/cdn/assets/agents/t9n/messages.uk.json +1 -0
  230. package/dist/cdn/assets/agents/t9n/messages.vi.json +1 -0
  231. package/dist/cdn/assets/agents/t9n/messages.zh-CN.json +1 -0
  232. package/dist/cdn/assets/agents/t9n/messages.zh-TW.json +1 -0
  233. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  234. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  235. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  236. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  237. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  238. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  239. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  240. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  241. package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -1
  242. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  243. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  244. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  245. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  246. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  247. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  248. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  249. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  250. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  251. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  252. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  253. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  254. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  255. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  256. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  257. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  258. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  259. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  260. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  261. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  262. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  263. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  264. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  265. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  266. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  267. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  268. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  269. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  270. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  271. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  272. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  273. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -1
  274. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -1
  275. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -1
  276. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -1
  277. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -1
  278. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -1
  279. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -1
  280. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -1
  281. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -1
  282. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -1
  283. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -1
  284. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -1
  285. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -1
  286. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -1
  287. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -1
  288. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -1
  289. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -1
  290. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -1
  291. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -1
  292. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -1
  293. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -1
  294. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -1
  295. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -1
  296. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -1
  297. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -1
  298. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -1
  299. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -1
  300. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -1
  301. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -1
  302. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -1
  303. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -1
  304. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -1
  305. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -1
  306. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -1
  307. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -1
  308. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -1
  309. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -1
  310. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -1
  311. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -1
  312. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -1
  313. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -1
  314. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -1
  315. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -1
  316. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -1
  317. package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -1
  318. package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -1
  319. package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -1
  320. package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -1
  321. package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -1
  322. package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -1
  323. package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -1
  324. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -1
  325. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -1
  326. package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -1
  327. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -1
  328. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -1
  329. package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -1
  330. package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -1
  331. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -1
  332. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -1
  333. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -1
  334. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -1
  335. package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -1
  336. package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -1
  337. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -1
  338. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -1
  339. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -1
  340. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -1
  341. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -1
  342. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -1
  343. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -1
  344. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -1
  345. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -1
  346. package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -1
  347. package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -1
  348. package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -1
  349. package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -1
  350. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -1
  351. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -1
  352. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -1
  353. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ar.json +1 -0
  354. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bg.json +1 -0
  355. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bs.json +1 -0
  356. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ca.json +1 -0
  357. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.cs.json +1 -0
  358. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.da.json +1 -0
  359. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.de.json +1 -0
  360. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.el.json +1 -0
  361. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.es.json +1 -0
  362. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.et.json +1 -0
  363. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fi.json +1 -0
  364. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fr.json +1 -0
  365. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.he.json +1 -0
  366. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hr.json +1 -0
  367. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hu.json +1 -0
  368. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.id.json +1 -0
  369. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.it.json +1 -0
  370. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ja.json +1 -0
  371. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ko.json +1 -0
  372. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lt.json +1 -0
  373. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lv.json +1 -0
  374. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.nl.json +1 -0
  375. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.no.json +1 -0
  376. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pl.json +1 -0
  377. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-BR.json +1 -0
  378. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-PT.json +1 -0
  379. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ro.json +1 -0
  380. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ru.json +1 -0
  381. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sk.json +1 -0
  382. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sl.json +1 -0
  383. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sr.json +1 -0
  384. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sv.json +1 -0
  385. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.th.json +1 -0
  386. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.tr.json +1 -0
  387. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.uk.json +1 -0
  388. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.vi.json +1 -0
  389. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-CN.json +1 -0
  390. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-HK.json +1 -0
  391. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-TW.json +1 -0
  392. package/dist/cdn/assets/assistant-message/t9n/messages.ar.json +1 -0
  393. package/dist/cdn/assets/assistant-message/t9n/messages.bg.json +1 -0
  394. package/dist/cdn/assets/assistant-message/t9n/messages.bs.json +1 -0
  395. package/dist/cdn/assets/assistant-message/t9n/messages.ca.json +1 -0
  396. package/dist/cdn/assets/assistant-message/t9n/messages.cs.json +1 -0
  397. package/dist/cdn/assets/assistant-message/t9n/messages.da.json +1 -0
  398. package/dist/cdn/assets/assistant-message/t9n/messages.de.json +1 -0
  399. package/dist/cdn/assets/assistant-message/t9n/messages.el.json +1 -0
  400. package/dist/cdn/assets/assistant-message/t9n/messages.es.json +1 -0
  401. package/dist/cdn/assets/assistant-message/t9n/messages.et.json +1 -0
  402. package/dist/cdn/assets/assistant-message/t9n/messages.fi.json +1 -0
  403. package/dist/cdn/assets/assistant-message/t9n/messages.fr.json +1 -0
  404. package/dist/cdn/assets/assistant-message/t9n/messages.he.json +1 -0
  405. package/dist/cdn/assets/assistant-message/t9n/messages.hr.json +1 -0
  406. package/dist/cdn/assets/assistant-message/t9n/messages.hu.json +1 -0
  407. package/dist/cdn/assets/assistant-message/t9n/messages.id.json +1 -0
  408. package/dist/cdn/assets/assistant-message/t9n/messages.it.json +1 -0
  409. package/dist/cdn/assets/assistant-message/t9n/messages.ja.json +1 -0
  410. package/dist/cdn/assets/assistant-message/t9n/messages.ko.json +1 -0
  411. package/dist/cdn/assets/assistant-message/t9n/messages.lt.json +1 -0
  412. package/dist/cdn/assets/assistant-message/t9n/messages.lv.json +1 -0
  413. package/dist/cdn/assets/assistant-message/t9n/messages.nl.json +1 -0
  414. package/dist/cdn/assets/assistant-message/t9n/messages.no.json +1 -0
  415. package/dist/cdn/assets/assistant-message/t9n/messages.pl.json +1 -0
  416. package/dist/cdn/assets/assistant-message/t9n/messages.pt-BR.json +1 -0
  417. package/dist/cdn/assets/assistant-message/t9n/messages.pt-PT.json +1 -0
  418. package/dist/cdn/assets/assistant-message/t9n/messages.ro.json +1 -0
  419. package/dist/cdn/assets/assistant-message/t9n/messages.ru.json +1 -0
  420. package/dist/cdn/assets/assistant-message/t9n/messages.sk.json +1 -0
  421. package/dist/cdn/assets/assistant-message/t9n/messages.sl.json +1 -0
  422. package/dist/cdn/assets/assistant-message/t9n/messages.sr.json +1 -0
  423. package/dist/cdn/assets/assistant-message/t9n/messages.sv.json +1 -0
  424. package/dist/cdn/assets/assistant-message/t9n/messages.th.json +1 -0
  425. package/dist/cdn/assets/assistant-message/t9n/messages.tr.json +1 -0
  426. package/dist/cdn/assets/assistant-message/t9n/messages.uk.json +1 -0
  427. package/dist/cdn/assets/assistant-message/t9n/messages.vi.json +1 -0
  428. package/dist/cdn/assets/assistant-message/t9n/messages.zh-CN.json +1 -0
  429. package/dist/cdn/assets/assistant-message/t9n/messages.zh-HK.json +1 -0
  430. package/dist/cdn/assets/assistant-message/t9n/messages.zh-TW.json +1 -0
  431. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ar.json +1 -0
  432. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bg.json +1 -0
  433. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bs.json +1 -0
  434. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ca.json +1 -0
  435. package/dist/cdn/assets/assistant-message-loading/t9n/messages.cs.json +1 -0
  436. package/dist/cdn/assets/assistant-message-loading/t9n/messages.da.json +1 -0
  437. package/dist/cdn/assets/assistant-message-loading/t9n/messages.de.json +1 -0
  438. package/dist/cdn/assets/assistant-message-loading/t9n/messages.el.json +1 -0
  439. package/dist/cdn/assets/assistant-message-loading/t9n/messages.es.json +1 -0
  440. package/dist/cdn/assets/assistant-message-loading/t9n/messages.et.json +1 -0
  441. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fi.json +1 -0
  442. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fr.json +1 -0
  443. package/dist/cdn/assets/assistant-message-loading/t9n/messages.he.json +1 -0
  444. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hr.json +1 -0
  445. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hu.json +1 -0
  446. package/dist/cdn/assets/assistant-message-loading/t9n/messages.id.json +1 -0
  447. package/dist/cdn/assets/assistant-message-loading/t9n/messages.it.json +1 -0
  448. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ja.json +1 -0
  449. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ko.json +1 -0
  450. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lt.json +1 -0
  451. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lv.json +1 -0
  452. package/dist/cdn/assets/assistant-message-loading/t9n/messages.nl.json +1 -0
  453. package/dist/cdn/assets/assistant-message-loading/t9n/messages.no.json +1 -0
  454. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pl.json +1 -0
  455. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-BR.json +1 -0
  456. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-PT.json +1 -0
  457. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ro.json +1 -0
  458. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ru.json +1 -0
  459. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sk.json +1 -0
  460. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sl.json +1 -0
  461. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sr.json +1 -0
  462. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sv.json +1 -0
  463. package/dist/cdn/assets/assistant-message-loading/t9n/messages.th.json +1 -0
  464. package/dist/cdn/assets/assistant-message-loading/t9n/messages.tr.json +1 -0
  465. package/dist/cdn/assets/assistant-message-loading/t9n/messages.uk.json +1 -0
  466. package/dist/cdn/assets/assistant-message-loading/t9n/messages.vi.json +1 -0
  467. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-CN.json +1 -0
  468. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-HK.json +1 -0
  469. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-TW.json +1 -0
  470. package/dist/cdn/assets/orchestrator/t9n/messages.ar.json +1 -0
  471. package/dist/cdn/assets/orchestrator/t9n/messages.bg.json +1 -0
  472. package/dist/cdn/assets/orchestrator/t9n/messages.ca.json +1 -0
  473. package/dist/cdn/assets/orchestrator/t9n/messages.cs.json +1 -0
  474. package/dist/cdn/assets/orchestrator/t9n/messages.da.json +1 -0
  475. package/dist/cdn/assets/orchestrator/t9n/messages.de.json +1 -0
  476. package/dist/cdn/assets/orchestrator/t9n/messages.el.json +1 -0
  477. package/dist/cdn/assets/orchestrator/t9n/messages.en.json +1 -0
  478. package/dist/cdn/assets/orchestrator/t9n/messages.es.json +1 -0
  479. package/dist/cdn/assets/orchestrator/t9n/messages.et.json +1 -0
  480. package/dist/cdn/assets/orchestrator/t9n/messages.fi.json +1 -0
  481. package/dist/cdn/assets/orchestrator/t9n/messages.fr.json +1 -0
  482. package/dist/cdn/assets/orchestrator/t9n/messages.he.json +1 -0
  483. package/dist/cdn/assets/orchestrator/t9n/messages.hr.json +1 -0
  484. package/dist/cdn/assets/orchestrator/t9n/messages.hu.json +1 -0
  485. package/dist/cdn/assets/orchestrator/t9n/messages.id.json +1 -0
  486. package/dist/cdn/assets/orchestrator/t9n/messages.it.json +1 -0
  487. package/dist/cdn/assets/orchestrator/t9n/messages.ja.json +1 -0
  488. package/dist/cdn/assets/orchestrator/t9n/messages.ko.json +1 -0
  489. package/dist/cdn/assets/orchestrator/t9n/messages.lt.json +1 -0
  490. package/dist/cdn/assets/orchestrator/t9n/messages.lv.json +1 -0
  491. package/dist/cdn/assets/orchestrator/t9n/messages.nl.json +1 -0
  492. package/dist/cdn/assets/orchestrator/t9n/messages.no.json +1 -0
  493. package/dist/cdn/assets/orchestrator/t9n/messages.pl.json +1 -0
  494. package/dist/cdn/assets/orchestrator/t9n/messages.pt-BR.json +1 -0
  495. package/dist/cdn/assets/orchestrator/t9n/messages.pt-PT.json +1 -0
  496. package/dist/cdn/assets/orchestrator/t9n/messages.ro.json +1 -0
  497. package/dist/cdn/assets/orchestrator/t9n/messages.ru.json +1 -0
  498. package/dist/cdn/assets/orchestrator/t9n/messages.sk.json +1 -0
  499. package/dist/cdn/assets/orchestrator/t9n/messages.sl.json +1 -0
  500. package/dist/cdn/assets/orchestrator/t9n/messages.sr.json +1 -0
  501. package/dist/cdn/assets/orchestrator/t9n/messages.sv.json +1 -0
  502. package/dist/cdn/assets/orchestrator/t9n/messages.th.json +1 -0
  503. package/dist/cdn/assets/orchestrator/t9n/messages.tr.json +1 -0
  504. package/dist/cdn/assets/orchestrator/t9n/messages.uk.json +1 -0
  505. package/dist/cdn/assets/orchestrator/t9n/messages.vi.json +1 -0
  506. package/dist/cdn/assets/orchestrator/t9n/messages.zh-CN.json +1 -0
  507. package/dist/cdn/assets/orchestrator/t9n/messages.zh-TW.json +1 -0
  508. package/dist/cdn/index.js +1 -1
  509. package/dist/cdn/main.css +1 -1
  510. package/dist/cdn/orchestrator/embeddings/getEmbeddings.js +2 -0
  511. package/dist/cdn/orchestrator/models/chatModel.js +2 -0
  512. package/dist/cdn/orchestrator/models/prompts.js +2 -0
  513. package/dist/cdn/orchestrator/signals.js +2 -0
  514. package/dist/cdn/orchestrator/state/runtime.js +2 -0
  515. package/dist/chunks/BaseWorkflow.js +52 -49
  516. package/dist/chunks/SKILL.js +5 -0
  517. package/dist/chunks/SKILL2.js +5 -0
  518. package/dist/chunks/SKILL3.js +22 -0
  519. package/dist/chunks/SKILL4.js +5 -0
  520. package/dist/chunks/adapter.js +20 -2156
  521. package/dist/chunks/adapter2.js +1129 -0
  522. package/dist/chunks/aiFactory.js +21 -0
  523. package/dist/chunks/aiUtilityService.js +29 -0
  524. package/dist/chunks/arcgisToolRegistry.js +92 -0
  525. package/dist/chunks/createSkillAgent.js +235 -0
  526. package/dist/chunks/fetchUtils.js +46 -0
  527. package/dist/chunks/getPrompt.js +32 -0
  528. package/dist/chunks/helpState.js +17 -0
  529. package/dist/chunks/intent_prompt.js +2 -0
  530. package/dist/chunks/layerQueryToolCalling.js +67 -0
  531. package/dist/chunks/layerStylingState.js +907 -0
  532. package/dist/chunks/localization.js +21 -0
  533. package/dist/chunks/modelConfig.js +12 -0
  534. package/dist/chunks/modelPricing.js +59 -0
  535. package/dist/chunks/navigationState.js +27 -0
  536. package/dist/chunks/observationSnapshot.js +110 -0
  537. package/dist/chunks/reducers.js +5 -0
  538. package/dist/chunks/requireAgentServices.js +11 -0
  539. package/dist/chunks/resolveGeometryFilter.js +149 -0
  540. package/dist/chunks/{baseAgentState.js → runtime2.js} +7 -6
  541. package/dist/chunks/runtimeSpans.js +103 -0
  542. package/dist/chunks/schema.js +45 -0
  543. package/dist/chunks/state.js +34 -23
  544. package/dist/chunks/textFormatters.js +8 -0
  545. package/dist/chunks/toolCallResponse.js +10 -23
  546. package/dist/chunks/utils.js +2 -2
  547. package/dist/chunks/utils2.js +15 -39
  548. package/dist/chunks/utils3.js +41 -10
  549. package/dist/chunks/webmapSchema.js +56 -0
  550. package/dist/components/arcgis-assistant/customElement.d.ts +54 -6
  551. package/dist/components/arcgis-assistant/customElement.js +268 -235
  552. package/dist/components/arcgis-assistant/types.d.ts +109 -1
  553. package/dist/components/arcgis-assistant-agent/customElement.d.ts +2 -2
  554. package/dist/components/arcgis-assistant-agent/customElement.js +330 -331
  555. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -4
  556. package/dist/components/arcgis-assistant-chat-entry/customElement.js +344 -45
  557. package/dist/components/arcgis-assistant-chat-entry/index.js +3 -0
  558. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +24 -19
  559. package/dist/components/arcgis-assistant-help-agent/customElement.js +14 -18
  560. package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +4 -2
  561. package/dist/components/arcgis-assistant-interrupt/customElement.js +49 -15
  562. package/dist/components/arcgis-assistant-interrupt/index.js +1 -1
  563. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +1 -1
  564. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +19 -25
  565. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +13 -19
  566. package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
  567. package/dist/components/arcgis-assistant-message-log/customElement.js +4 -4
  568. package/dist/components/arcgis-assistant-message-text/customElement.js +1 -1
  569. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +24 -19
  570. package/dist/components/arcgis-assistant-observation-inspector/customElement.d.ts +18 -0
  571. package/dist/components/arcgis-assistant-observation-inspector/customElement.js +90 -0
  572. package/dist/components/arcgis-assistant-observation-inspector/index.d.ts +1 -0
  573. package/dist/components/arcgis-assistant-observation-inspector/index.js +14 -0
  574. package/dist/components/arcgis-assistant-observation-latency/customElement.d.ts +15 -0
  575. package/dist/components/arcgis-assistant-observation-latency/customElement.js +65 -0
  576. package/dist/components/arcgis-assistant-observation-latency/index.d.ts +1 -0
  577. package/dist/components/arcgis-assistant-observation-latency/index.js +5 -0
  578. package/dist/components/arcgis-assistant-observation-panel/customElement.d.ts +28 -0
  579. package/dist/components/arcgis-assistant-observation-panel/customElement.js +68 -0
  580. package/dist/components/arcgis-assistant-observation-panel/index.d.ts +1 -0
  581. package/dist/components/arcgis-assistant-observation-panel/index.js +7 -0
  582. package/dist/components/arcgis-assistant-observation-panel/support/modelPricing.d.ts +34 -0
  583. package/dist/components/arcgis-assistant-observation-panel/support/observationSnapshot.d.ts +63 -0
  584. package/dist/components/arcgis-assistant-observation-panel/support/runtimeSpans.d.ts +36 -0
  585. package/dist/components/arcgis-assistant-observation-run/customElement.d.ts +21 -0
  586. package/dist/components/arcgis-assistant-observation-run/customElement.js +43 -0
  587. package/dist/components/arcgis-assistant-observation-run/index.d.ts +1 -0
  588. package/dist/components/arcgis-assistant-observation-run/index.js +7 -0
  589. package/dist/components/arcgis-assistant-observation-usage/customElement.d.ts +22 -0
  590. package/dist/components/arcgis-assistant-observation-usage/customElement.js +82 -0
  591. package/dist/components/arcgis-assistant-observation-usage/index.d.ts +1 -0
  592. package/dist/components/arcgis-assistant-observation-usage/index.js +5 -0
  593. package/dist/components/assistant/assistant-agents/types.d.ts +19 -0
  594. package/dist/docs/api.json +1 -1
  595. package/dist/docs/docs.json +1 -1
  596. package/dist/docs/vscode.html-custom-data.json +1 -1
  597. package/dist/docs/web-types.json +1 -1
  598. package/dist/index.d.ts +20 -0
  599. package/dist/loader.js +11 -6
  600. package/dist/orchestrator/embeddings/cosineSimilarity.d.ts +12 -0
  601. package/dist/orchestrator/embeddings/cosineSimilarity.js +18 -0
  602. package/dist/orchestrator/embeddings/getEmbeddings.d.ts +7 -0
  603. package/dist/orchestrator/embeddings/getEmbeddings.js +12 -0
  604. package/dist/orchestrator/embeddings/webmapEmbeddings.d.ts +15 -0
  605. package/dist/orchestrator/embeddings/webmapEmbeddings.js +141 -0
  606. package/dist/orchestrator/embeddings/webmapSchema.d.ts +50 -0
  607. package/dist/orchestrator/models/chatModel.d.ts +22 -0
  608. package/dist/orchestrator/models/chatModel.js +19 -0
  609. package/dist/orchestrator/models/modelConfig.d.ts +2 -0
  610. package/dist/orchestrator/models/prompts.d.ts +105 -0
  611. package/dist/orchestrator/models/prompts.js +46 -0
  612. package/dist/orchestrator/orchestrator/orchestrator.d.ts +75 -0
  613. package/dist/orchestrator/orchestrator/orchestrator.js +977 -0
  614. package/dist/orchestrator/orchestrator/orchestratorEvents.d.ts +127 -33
  615. package/dist/orchestrator/orchestrator/orchestratorEvents.js +2 -0
  616. package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +17 -0
  617. package/dist/orchestrator/registry/agentRegistry.d.ts +10 -0
  618. package/dist/orchestrator/services/fieldSearch.d.ts +17 -0
  619. package/dist/orchestrator/services/layerSearch.d.ts +18 -0
  620. package/dist/orchestrator/signals.d.ts +66 -0
  621. package/dist/orchestrator/signals.js +12 -0
  622. package/dist/orchestrator/state/runtime.d.ts +31 -0
  623. package/dist/orchestrator/state/runtime.js +8 -0
  624. package/dist/orchestrator/state/types.d.ts +67 -0
  625. package/dist/orchestrator/state/types.js +2 -0
  626. package/dist/orchestrator/types.d.ts +305 -0
  627. package/dist/orchestrator/types.js +2 -0
  628. package/dist/types/lumina.d.ts +27 -2
  629. package/dist/types/preact.d.ts +32 -2
  630. package/dist/types/react.d.ts +37 -2
  631. package/dist/types/stencil.d.ts +27 -2
  632. package/dist/utils/index.d.ts +167 -37
  633. package/dist/utils/index.js +40 -113
  634. package/package.json +36 -13
  635. package/dist/agent-utils/index.d.ts +0 -177
  636. package/dist/agent-utils/index.js +0 -167
  637. package/dist/agentic-workflow/AgenticWorkflowRuntime.d.ts +0 -24
  638. package/dist/agentic-workflow/Edge.d.ts +0 -16
  639. package/dist/agentic-workflow/WebAgent.d.ts +0 -39
  640. package/dist/agentic-workflow/nodes/AgentNode.d.ts +0 -28
  641. package/dist/agentic-workflow/nodes/BaseNode.d.ts +0 -35
  642. package/dist/agentic-workflow/nodes/EndMessageNode.d.ts +0 -25
  643. package/dist/agentic-workflow/nodes/StartNode.d.ts +0 -21
  644. package/dist/agentic-workflow/nodes/tools/ArcgisTool.d.ts +0 -21
  645. package/dist/agentic-workflow/types.d.ts +0 -29
  646. package/dist/cdn/2EY3BQQX.js +0 -2
  647. package/dist/cdn/2O4DON37.js +0 -2
  648. package/dist/cdn/3UEKINYC.js +0 -2
  649. package/dist/cdn/4OGR5QKS.js +0 -2
  650. package/dist/cdn/5FL5BTTX.js +0 -66
  651. package/dist/cdn/5K5ZY267.js +0 -2
  652. package/dist/cdn/5X7EG7D2.js +0 -2
  653. package/dist/cdn/5XZLS7UO.js +0 -2
  654. package/dist/cdn/5ZFUGNRN.js +0 -2
  655. package/dist/cdn/6OOZSZRJ.js +0 -2
  656. package/dist/cdn/6P44KOKX.js +0 -2
  657. package/dist/cdn/6YYPVU7H.js +0 -3
  658. package/dist/cdn/7BCQMK6D.js +0 -2
  659. package/dist/cdn/7V6OSTFC.js +0 -2
  660. package/dist/cdn/7VAQUCBU.js +0 -9
  661. package/dist/cdn/7VUSIGEM.js +0 -2
  662. package/dist/cdn/ACJTJLZN.js +0 -2
  663. package/dist/cdn/AI6DYOKR.js +0 -181
  664. package/dist/cdn/AKD5UOVX.js +0 -2
  665. package/dist/cdn/ANRQWYU2.js +0 -2
  666. package/dist/cdn/APFZY4PI.js +0 -2
  667. package/dist/cdn/B2JDVLA6.js +0 -2
  668. package/dist/cdn/BE7BRJZD.js +0 -2
  669. package/dist/cdn/CCC6LBMY.js +0 -2
  670. package/dist/cdn/CJMUJXPL.js +0 -2
  671. package/dist/cdn/CP5BVGJU.js +0 -2
  672. package/dist/cdn/D5UFYQHN.js +0 -44
  673. package/dist/cdn/EWLXNGKH.js +0 -208
  674. package/dist/cdn/EYOWRGDP.js +0 -2
  675. package/dist/cdn/F5NIRETW.js +0 -2
  676. package/dist/cdn/FG647IP6.js +0 -2
  677. package/dist/cdn/FJO4KNOZ.js +0 -2
  678. package/dist/cdn/FUF3NAU7.js +0 -2
  679. package/dist/cdn/FXP5UIQU.js +0 -156
  680. package/dist/cdn/G2EGT3CF.js +0 -6
  681. package/dist/cdn/G3SF6U2U.js +0 -2
  682. package/dist/cdn/G7OMHU2B.js +0 -2
  683. package/dist/cdn/HAEFC2SJ.js +0 -2
  684. package/dist/cdn/HDACNIZF.js +0 -2
  685. package/dist/cdn/IBZ2NEAO.js +0 -2
  686. package/dist/cdn/ICQCK5D3.js +0 -2
  687. package/dist/cdn/IJVMUS2L.js +0 -14
  688. package/dist/cdn/J6SZIQJA.js +0 -2
  689. package/dist/cdn/JCOA24UH.js +0 -3
  690. package/dist/cdn/JO5ETMPS.js +0 -2
  691. package/dist/cdn/LAYVGCPL.js +0 -44
  692. package/dist/cdn/MXTXJKFE.js +0 -2
  693. package/dist/cdn/MY47B3CE.js +0 -3
  694. package/dist/cdn/NZSOJ726.js +0 -2
  695. package/dist/cdn/O4NVW75A.js +0 -2
  696. package/dist/cdn/OE3GW5LE.js +0 -2
  697. package/dist/cdn/OX64WOEL.js +0 -22
  698. package/dist/cdn/PUHRBGKB.js +0 -2
  699. package/dist/cdn/Q57QWN5W.js +0 -2
  700. package/dist/cdn/QUKNPVAF.js +0 -2
  701. package/dist/cdn/R2PQVY4O.js +0 -2
  702. package/dist/cdn/RBE55SWR.js +0 -2
  703. package/dist/cdn/RHYNE5OE.js +0 -2
  704. package/dist/cdn/RLEHNAIA.js +0 -2
  705. package/dist/cdn/RVSTAUQS.js +0 -2
  706. package/dist/cdn/SXM4NUT5.js +0 -2
  707. package/dist/cdn/SZ2QSSB3.js +0 -2
  708. package/dist/cdn/T4RIGOXB.js +0 -2
  709. package/dist/cdn/TCH5I5LS.js +0 -2
  710. package/dist/cdn/TEPP7YPR.js +0 -2
  711. package/dist/cdn/TMVF2W5N.js +0 -36
  712. package/dist/cdn/UDRKUVZP.js +0 -2
  713. package/dist/cdn/UHNVDALX.js +0 -18
  714. package/dist/cdn/V6HOUZPZ.js +0 -2
  715. package/dist/cdn/VLLZ2FFU.js +0 -2
  716. package/dist/cdn/WGO5SER7.js +0 -6
  717. package/dist/cdn/WJXXOKGA.js +0 -9
  718. package/dist/cdn/WKTQVBFJ.js +0 -2
  719. package/dist/cdn/WSWB3B7B.js +0 -2
  720. package/dist/cdn/XX6GHMNR.js +0 -2
  721. package/dist/cdn/Y7XD7ZRD.js +0 -2
  722. package/dist/cdn/YLVJA4ZE.js +0 -2
  723. package/dist/cdn/Z5HWPSZN.js +0 -2
  724. package/dist/cdn/ZDV4K4WG.js +0 -2
  725. package/dist/cdn/ZOEMBHRF.js +0 -2
  726. package/dist/cdn/ZRVZMPFN.js +0 -2
  727. package/dist/cdn/agent-utils/index.js +0 -2
  728. package/dist/chunks/generateLayerDescriptions.js +0 -417
  729. package/dist/chunks/index.js +0 -11
  730. package/dist/chunks/orchestrator.js +0 -778
  731. package/dist/chunks/resolvePointGeometryFilter.js +0 -92
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a as p,c}from"./AAUVOBPS.js";import{B as b,g,h as l,w as u}from"./2FUTKTNO.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";var m=g`:host{display:block;min-width:0}h3{margin:0 0 var(--calcite-spacing-sm);font-size:var(--calcite-font-size-relative-base);font-weight:var(--calcite-font-weight-semibold)}.token-table{overflow-x:auto}calcite-table{font-variant-numeric:tabular-nums}.pricing{margin:var(--calcite-spacing-sm) 0 0;color:var(--calcite-color-text-3);font-size:var(--calcite-font-size-relative-sm);overflow-wrap:anywhere}`,v=new Intl.NumberFormat(void 0,{style:"currency",currency:"USD",maximumFractionDigits:6});function n(r){return r===void 0?"Unavailable":v.format(r)}var s=class extends u{constructor(){super(...arguments),this.aggregate=!1,this.pricing=p}static{this.properties={usage:0,aggregate:5,pricing:0}}static{this.styles=m}render(){let d=this.usage;if(!d)return null;let{tokens:t,cost:e,rates:i,uncached:o}=d,h=[{group:"Input",groupRows:4,label:"Non-cached input",tokens:o===void 0?"Not reported":Number.isFinite(o)&&o>=0?o.toLocaleString():"Invalid usage",rate:n(i?.input),cost:c(e?.input)},{label:"Cache reads",tokens:t.cacheRead?.toLocaleString()??"Not reported",rate:n(i?.cachedInput),cost:t.cacheRead===void 0?"Not reported":c(e?.cachedInput)},{label:"Cache writes",tokens:t.cacheWrite?.toLocaleString()??"Not reported",rate:n(i?.cacheWrite),cost:t.cacheWrite===void 0?"Not reported":c(e?.cacheWrite)},{label:"Input (total)",tokens:t.input?.toLocaleString()??"Unavailable",rate:"-",cost:c(e?e.input+e.cachedInput+e.cacheWrite:void 0)},{group:"Output",groupRows:2,label:"Reasoning (within output)",tokens:t.reasoning?.toLocaleString()??"Not reported",rate:"-",cost:"Included in output"},{label:"Output (total)",tokens:t.output?.toLocaleString()??"Unavailable",rate:n(i?.output),cost:c(e?.output)}];return l`<section aria-label=Usage><h3>Usage</h3><div class="token-table"><calcite-table aria-label="Token usage and estimated cost (USD)" caption="Token usage and estimated cost (USD)" scale=s interaction-mode=static bordered><calcite-table-row slot=table-header><calcite-table-header heading=Category col-span=2></calcite-table-header><calcite-table-header heading=Tokens alignment=end></calcite-table-header>${this.aggregate?null:l`<calcite-table-header heading="Rate / 1M" alignment=end></calcite-table-header>`}<calcite-table-header heading="Est. cost" alignment=end></calcite-table-header></calcite-table-row>${h.map(a=>l`<calcite-table-row>${a.group?l`<calcite-table-header .heading=${a.group} .rowSpan=${a.groupRows}></calcite-table-header>`:null}<calcite-table-header .heading=${a.label}></calcite-table-header><calcite-table-cell alignment=end>${a.tokens}</calcite-table-cell>${this.aggregate?null:l`<calcite-table-cell alignment=end>${a.rate}</calcite-table-cell>`}<calcite-table-cell alignment=end>${a.cost}</calcite-table-cell></calcite-table-row>`)}<calcite-table-row slot=table-footer><calcite-table-header heading=Total col-span=2></calcite-table-header><calcite-table-cell alignment=end>${t.total?.toLocaleString()??"Unavailable"}</calcite-table-cell>${this.aggregate?null:l`<calcite-table-cell alignment=end>-</calcite-table-cell>`}<calcite-table-cell alignment=end>${c(e?.total)}</calcite-table-cell></calcite-table-row></calcite-table></div><p class="pricing">Rates last updated: ${this.pricing.updatedAt}</p></section>`}};b("arcgis-assistant-observation-usage",s);export{s as ArcgisAssistantObservationUsage};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import"./UZLQALHY.js";var e='---\nname: query\ndescription: Answers questions about feature-layer data, including counts, matching records, field values, aggregates, rankings, and spatially constrained results. Use when the user asks to inspect or summarize map data.\nallowed-tools: listSharedResources findRelevantLayers findRelevantFields getAttribute getStatistics getTopFeatures queryFeatures\n---\n\n# Query\n\n- When the task refers to geometry produced by an earlier agent, call `listSharedResources` with `point`, `polyline` and `polygon` as the requested kinds. If a resource description clearly matches, pass its exact ID as `geometryFilter.sharedResourceId` and use `where: "1=1"` unless the user requests an additional attribute filter. If no resource clearly matches, state that the spatial constraint is unavailable and do not guess geometry.\n- Start with `findRelevantLayers` unless a previous tool result from this run explicitly identifies the relevant layer ID. Use the assigned task as the semantic query.\n- If no relevant layers are returned, explain that no matching map layer was found and stop. Never invent a layer ID.\n- Before querying, call `findRelevantFields` with only relevant layer IDs. Use only the exact field names and categorical values returned by `findRelevantFields`.\n- Set `includeSummaryStatistics` to true when the requested answer directly depends on whole-layer numeric summary statistics such as average, minimum, maximum, sum, variance, standard deviation, null count, or range. Otherwise leave it false and use `getStatistics` later if analysis requires statistics under an attribute or spatial constraint.\n- Use statistics returned by `findRelevantFields` when they directly answer an unfiltered whole-layer question. Use `getStatistics` when a where clause or spatial constraint must be applied.\n- Use `queryFeatures` to count, find, or list matching features. It is the default query tool.\n- Use `getTopFeatures` for highest, lowest, earliest, latest,first, last, or top-N records ranked by an existing field. Display all the features that meet the ranking criteria, including ties at the cutoff value.\n- Use `getAttribute` only when retrieving a particular attribute from a specifically identified feature.\n- Use real field names rather than aliases in SQL-92 where clauses. Use `1=1` when no attribute filter is requested.\n- Set `useCurrentExtent` only when the user explicitly refers to the current view or visible map area.\n- If the request asks to visually show, display, highlight, map, filter, reveal, emphasize, hide, include, or exclude matching features, preserve the information needed for a visual operation in the working context: layer ID, where clause, geometry filter, `useCurrentExtent`, object IDs when available, and count. Preserve the exact values returned or used by tools so another skill can reuse them without repeating discovery.\n- Only answer requests about the current map\'s layers, features, fields, spatial relationships, or supported map actions. Do not use general model knowledge to answer unrelated requests, even when the assigned task or user asks for it. For an unsupported request, respond only: "I can help with questions about the data and features in this map."\n- Answer the assigned question directly. Do not provide unsolicited recommendations about dataset design, publishing, classification, grouping, future analysis, or alternate workflows.\n- Ask for clarification only when the requested result is genuinely ambiguous or cannot be computed reliably from the available layers and fields.\n- Base the final answer only on returned tool data. State failures or empty results directly and do not fabricate values.\n';export{e as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a}from"./ONQ6JSBJ.js";import{Fa as n}from"./TRZJYWEB.js";import{o as e}from"./2XXM52PS.js";export default $arcgis.t(([m])=>{async function r(t){let o=new m({xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}}).expand(.7);return await t.goTo(o),{text:"Successfully zoomed to world extent"}}async function s(t,o){let{mapView:i}=a(o,["mapView"]);return await r(i)}var c=e.object({}),u=n(s,{name:"goToFullExtent",description:"Zooms the map to the full world extent using Esri's Geocoding Service.",schema:c});return u},"geometry/Extent")
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{o as n}from"./2XXM52PS.js";function c(e){let r=new Set(e.required??[]),o=Object.fromEntries(Object.entries(e.properties).map(([t,i])=>{let a=s(i);return[t,r.has(t)?a:a.optional()]}));for(let t of r)Object.hasOwn(o,t)||(o[t]=n.unknown().refine(i=>i!==void 0));return n.object(o)}function s(e){let r;switch(e.type){case"array":r=n.array(e.items?s(e.items):n.unknown());break;case"boolean":r=n.boolean();break;case"number":r=n.number();break;case"object":r=c({properties:e.properties??{},required:e.required});break;case"string":if(e.enum!==void 0){if(e.enum.length===0)throw new Error("String schema field enum must include at least one value.");r=n.enum(e.enum)}else r=n.string();break}return e.description!==void 0?r.describe(e.description):r}export{c as a};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a as u}from"./ONQ6JSBJ.js";import{Fa as d}from"./TRZJYWEB.js";import{o as s}from"./2XXM52PS.js";async function f(o,a,n){let e=n.map?.allLayers.find(r=>r.id===o);if(!e)return{text:`Error: Layer with id ${o} not found`};let t=a?.trim()?a:"1=1",l=e.createQuery();l.where=t;try{let{extent:r,count:i}=await e.queryExtent(l);if(i===0)return{text:`No features found in ${e.title} matching: ${t}`,where:t};if(r)await n.goTo(r);else return{text:`Error: Unable to determine extent for ${e.title}`,where:t};let c={layerId:o,layerTitle:e.title??o,where:t,count:i};return{text:`Successfully zoomed to ${i} feature(s) in ${e.title} matching: ${t}`,where:t,sharedStatePatch:{lastNavigatedFeatures:{value:c}}}}catch(r){return console.error("Error in goToFeatures:",r),{text:`Error: ${r instanceof Error?r.message:"Unknown error"}`,where:t}}}async function h({layerId:o,where:a},n){let{mapView:e}=u(n,["mapView"]);return await f(o,a,e)}var m=s.object({layerId:s.string().describe("The layerId of the layer to zoom to."),where:s.string().describe("ArcGIS SQL-92 WHERE expression used for `query.where` on the selected layer. Start with a fresh filter for the current request unless the task explicitly refers to prior results. Use only field name values from the selected layer, not aliases. Use field metadata only to interpret intent: prefer LIKE '%value%' for string fields, and use =, <, >, BETWEEN, IN, IS NULL, AND/OR/NOT as appropriate for number/date fields. For coded-value domain fields, use the domain code already provided in layerInfo.domain.codedValues, never the display label. Respect range-domain bounds when they are provided. Do NOT include subqueries, nested SELECT, JOIN, GROUP BY, HAVING, ORDER BY, or semicolons.")}),E=d(h,{name:"goToFeatures",description:"Go to the features that match the given filter for the given layerId. Use coded-value domain codes from layer field metadata when building the WHERE clause.",schema:m});export{E as a};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{c as t}from"./V6AQFRUC.js";var r=()=>{throw new Error("createGraph method not implemented.")},s=class{constructor(){this._createGraph=r,this._workspace=t(),this.description=""}_ensureGenerated(){this._createGraph===r&&this.generate()}get id(){return this._id??=this.name.replace(/\s+/gu,"-").toLowerCase()}set id(e){this._id=e}get createGraph(){return this._ensureGenerated(),this._createGraph}set createGraph(e){this._createGraph=e,this._compiledGraph=void 0}get workspace(){return this._ensureGenerated(),this._workspace}set workspace(e){this._workspace=e}get registration(){return{id:this.id,name:this.name,description:this.description,createGraph:this.createGraph,workspace:this.workspace}}async run(e={},a){return this._compiledGraph=this._compiledGraph??this.createGraph().compile(),await this._compiledGraph.invoke(e,a)}};export{s as a};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{Dd as o}from"./MWYBF3F3.js";var r=o;export{r as a};
2
+ import{o}from"./2XXM52PS.js";var r=o;export{r as a};
@@ -120,6 +120,8 @@ Do not leave ambiguous references like "these", "those", "them", "this", or "it"
120
120
 
121
121
  - Keep the task short, specific, and directly executable
122
122
  - Keep wording close to the user\u2019s request with minimal transformation
123
+ - Do not expand the assigned task into unsolicited recommendations, implementation advice, publishing guidance, classification proposals, future analysis, or other work the selected agent was not asked to perform.
124
+ - Route a request to an agent only when the request fits that agent's registered description, supported actions, and available app context. Do not route unrelated general-knowledge, advice, opinion, political, health, security, or other out-of-scope requests to an agent merely because the user asks for that agent by name.
123
125
  - When resolving follow-up references, only replace the ambiguous reference with the resolved prior context; keep the rest of the user\u2019s wording as close as possible.
124
126
 
125
127
  - Use only information explicitly present in the user request or provided context
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{b as r}from"./DYSPEU7W.js";function u(n,t){if(!t)return;let e=typeof t=="string"?i(n,t):t;return e?.localName==="arcgis-assistant"&&e.isConnected?e:void 0}function l(n,t){return t?typeof t=="string"?i(n,t)??null:t:r(n,"arcgis-map")??null}function a(n,t){return t?typeof t=="string"?i(n,t)??null:t:r(n,"arcgis-link-chart")??r(n,"arcgis-map")??null}function i(n,t){let e=t.includes("#")||t.includes(".")||t.includes("["),o=n.getRootNode();return(e?void 0:o.querySelector(`#${t}`))??o.querySelector(t)??void 0}export{u as a,l as b,a as c};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import a from"./GVFJHADC.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";export default $arcgis.t(([a])=>{return a},a)
@@ -1,8 +1,8 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{$ as It,J as ot,Na as oe,Oa as at,Qa as W,Ra as Ot,S as Et,U as rt,Ua as Le,Wa as be,Xa as De,Ya as Nt,_ as At,a as ft,aa as Rt,b as R,f as $,j as L,k as H,ta as je,wa as Pt,x as Ke,y as pt}from"./EWLXNGKH.js";import{$ as wt,Ab as Ct,Ac as st,Ba as yt,Bb as te,Cb as _t,K as Ze,Kb as F,Lb as de,Nb as xt,Qb as Pe,Sb as St,Vb as i,W as M,Wa as qe,Xb as tt,Za as B,Zb as Oe,_a as ce,ab as Ae,bb as Mt,bc as Te,c as ht,cc as Y,db as et,ea as T,fb as Tt,fc as ue,ha as Xe,hc as Ne,p as Ye,qa as Q,qb as Me,rb as Ie,ua as Qe,ub as Re,uc as nt,v as gt,va as z,wc as kt,yb as vt}from"./AI6DYOKR.js";import{Dd as U,s as bt}from"./MWYBF3F3.js";var $e=Symbol.for("AgentMiddleware");function E(e){return{[$e]:!0,name:e.name,stateSchema:e.stateSchema,contextSchema:e.contextSchema,wrapToolCall:e.wrapToolCall,wrapModelCall:e.wrapModelCall,beforeAgent:e.beforeAgent,beforeModel:e.beforeModel,afterModel:e.afterModel,afterAgent:e.afterAgent,tools:e.tools,streamTransformers:e.streamTransformers}}var ve=class extends Error{constructor(){super("The provided LLM already has bound tools. Please provide an LLM without bound tools to createAgent. The agent will bind the tools provided in the 'tools' parameter.")}},Ce=class extends Error{toolNames;constructor(e){super(`The model has called multiple tools: ${e.join(", ")} to return a structured output. This is not supported. Please provide a single structured output.`),this.toolNames=e}},me=class extends Error{toolName;errors;constructor(e,t){super(`Failed to parse structured output for tool '${e}':${t.map(o=>`
3
- - ${o}`).join("")}.`),this.toolName=e,this.errors=t}},fe=class extends Error{"~brand"="ToolInvocationError";toolCall;toolError;constructor(e,t){let o=e instanceof Error?e:new Error(String(e)),n=JSON.stringify(t.args);super(`Error invoking tool '${t.name}' with kwargs ${n} with error: ${o.stack}
4
- Please fix the error and try again.`),this.toolCall=t,this.toolError=o}static isInstance(e){return e instanceof Error&&"~brand"in e&&e["~brand"]==="ToolInvocationError"}static[Symbol.hasInstance](e){return this.isInstance(e)}},ne=class jt extends Error{"~brand"="MiddlewareError";constructor(t,o){let n=t instanceof Error?t.message:String(t);super(n),this.name=t instanceof Error?t.name:`${o[0].toUpperCase()+o.slice(1)}Error`,t instanceof Error&&(this.cause=t)}static wrap(t,o){return Ke(t)?t:new jt(t,o)}static isInstance(t){return t instanceof Error&&"~brand"in t&&t["~brand"]==="MiddlewareError"}static[Symbol.hasInstance](t){return this.isInstance(t)}};function _e(e){return"invoke"in e&&typeof e.invoke=="function"&&"_streamResponseChunks"in e}function pe(e){return typeof e=="object"&&e!=null&&"_queuedMethodOperations"in e&&"_getModelInstance"in e&&typeof e._getModelInstance=="function"}var Lt=!0,vo=0,G=class it{schema;tool;options;constructor(t,o,n){this.schema=t,this.tool=o,this.options=n}get name(){return this.tool.function.name}static fromSchema(t,o){function n(a){return a??`extract-${++vo}`}if(Me(t)||Re(t)){let a=Oe(t),l={type:"function",function:{name:n(a.title),strict:!1,description:a.description??"Tool for extracting structured output from the model's response.",parameters:a}};return new it(a,l,o)}let r;typeof t.name=="string"&&typeof t.parameters=="object"&&t.parameters!=null?r=t:r={name:n(t.title),description:t.description??"",parameters:t.schema||t};let s=Oe(t);return new it(s,{type:"function",function:r},o)}parse(t){let o=new tt(this.schema).validate(t);if(!o.valid)throw new me(this.name,o.errors.map(n=>n.error));return t}},q=class Dt{_schemaType;schema;strict;constructor(t,o){if("schema"in t&&typeof t.schema=="object"&&t.schema!==null&&!("type"in t)){let n=t;this.schema=n.schema,this.strict=n.strict??Lt}else this.schema=t,this.strict=o??Lt}static fromSchema(t,o){let n=Oe(t);return new Dt(n,o)}parse(t){let o;if(typeof t.content=="string")o=t.content;else if(Array.isArray(t.content)){for(let n of t.content)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&"text"in n&&typeof n.text=="string"){o=n.text;break}}if(!(!o||o===""))try{let n=JSON.parse(o);return new tt(this.schema).validate(n).valid?n:void 0}catch{}}};function $t(e,t,o){if(!e)return[];if(typeof e=="object"&&e!==null&&"__responseFormatUndefined"in e)return[];if(Array.isArray(e)){if(e.every(r=>r instanceof G||r instanceof q))return e;if(e.every(r=>Me(r)))return e.map(r=>G.fromSchema(r,t));if(e.every(r=>F(r)))return e.map(r=>G.fromSchema(r,t));if(e.every(r=>typeof r=="object"&&r!==null&&!F(r)&&!Me(r)))return e.map(r=>G.fromSchema(r,t));throw new Error(`Invalid response format: list contains mixed types.
5
- All items must be either InteropZodObject, Standard Schema, or plain JSON schema objects.`)}if(e instanceof G||e instanceof q)return[e];let n=Co(o);if(Me(e))return n?[q.fromSchema(e)]:[G.fromSchema(e,t)];if(F(e))return n?[q.fromSchema(e)]:[G.fromSchema(e,t)];if(typeof e=="object"&&e!==null&&"properties"in e)return n?[q.fromSchema(e)]:[G.fromSchema(e,t)];throw new Error(`Invalid response format: ${String(e)}`)}function Co(e){return!e||!_e(e)||!("profile"in e)||typeof e.profile!="object"||!e.profile?!1:"structuredOutput"in e.profile&&e.profile.structuredOutput===!0}function _o(e,t){if(e.length<t.length||e.length>t.length+1)return!1;for(let o=0;o<t.length;o+=1)if(e[o]!==t[o])return!1;return!0}function xo(e){let t;try{t=JSON.parse(e)}catch{return!1}return!Array.isArray(t)||t.length===0?!1:t.every(o=>{if(o==null||typeof o!="object")return!1;let n=o;return typeof n.id=="string"&&"value"in n})}function So(e){if(e==null||typeof e!="object")return!1;let t=e;return t.type!=="constructor"||!Array.isArray(t.id)?!1:t.id[t.id.length-1]==="ToolMessage"}function ko(e){return M.isInstance(e)?e.content:So(e)?e.kwargs?.content:e}function ae(e){return()=>{let t=je.local(),o=new Map;function n(r,s,a){if(o.has(r))return;let l=typeof a=="string"?JSON.parse(a):a,u,m,c,h,d=new Promise((x,y)=>{u=x,m=y}),f=new Promise(x=>{c=x}),g=new Promise(x=>{h=x});o.set(r,{resolveOutput:u,rejectOutput:m,resolveStatus:c,resolveError:h}),t.push({name:s,callId:r,input:l,output:d,status:f,error:g})}return{__native:!0,init:()=>({toolCalls:t}),process(r){if(!_o(r.params.namespace,e))return!0;if(r.method==="messages"){let s=r.params.data;if(s.event==="content-block-finish"){let a=s.contentBlock??s.content_block;a?.type==="tool_call"&&n(String(a.id??""),String(a.name??""),a.args??a.input)}}if(r.method==="tools"){let s=r.params.data,a=s.tool_call_id;s.event==="tool-started"&&n(a,s.tool_name??"unknown",s.input);let l=a?o.get(a):void 0;if(l){if(s.event==="tool-finished")l.resolveOutput(ko(s.output)),l.resolveStatus("finished"),l.resolveError(void 0),o.delete(a);else if(s.event==="tool-error"){let u=s.message??"unknown error";if(xo(u))return!0;l.rejectOutput(new Error(u)),l.resolveStatus("error"),l.resolveError(u),o.delete(a)}}}return!0},finalize(){for(let r of o.values())r.resolveStatus("finished"),r.resolveError(void 0),r.resolveOutput(void 0);o.clear(),t.close()},fail(r){for(let s of o.values())s.resolveStatus("error"),s.resolveError(r instanceof Error?r.message:String(r)),s.rejectOutput(r);o.clear(),t.fail(r)}}}}function Z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xe(e){return e.join("\0")}function Bt(e,t){if(t.length>e.length)return!1;for(let o=0;o<t.length;o+=1)if(e[o]!==t[o])return!1;return!0}function he(e=[]){return()=>{let t=je.local(),o=new Map,n=new Map,r=new Map,s=new Map,a=e.length;function l(d,f){let g=xe(d);if(o.has(g))return;let x=(Z(f)&&Z(f.metadata)?f.metadata:void 0)?.lc_agent_name;o.set(g,typeof x=="string"?x:void 0)}function u(d){if(!Z(d))return;let f=d.id;if(typeof f!="string")return;let g=d.input,x;if(Z(g)&&Z(g.tool_call)){let y=g.tool_call.id;typeof y=="string"&&(x=y)}else if(Array.isArray(g)){for(let y of g)if(Z(y)&&typeof y.id=="string"){x=y.id;break}}x!=null&&n.set(f,x)}function m(d){let f=r.get(xe(d));if(typeof f=="string"&&f.length>0)return{type:"toolCall",tool_call_id:f};let g=d[d.length-1],x=g.indexOf(":");if(x===-1)return;let y=g.slice(x+1);if(y.length===0)return;let w=n.get(y);if(!(typeof w!="string"||w.length===0))return{type:"toolCall",tool_call_id:w}}function c(d){if(d.length!==a+1||!Bt(d,e))return;let f=xe(d);if(s.has(f))return;let g=o.get(f);if(typeof g!="string"||g.length===0)return;let x=Pt(d),y=x.init(),w=ae(d)(),O=w.init(),A=he(d)(),N=A.init(),K,j,b=new Promise((J,le)=>{K=J,j=le});s.set(f,{key:f,path:d,name:g,messages:x,toolCall:w,nested:A,resolveOutput:K,rejectOutput:j,latestValues:void 0,done:!1}),t.push({name:g,cause:m(d),output:b,messages:y.messages,toolCalls:O.toolCalls,subagents:N.subagents})}function h(d,f){d.done||(d.done=!0,f.type==="resolve"?d.resolveOutput(d.latestValues):d.rejectOutput(f.error),d.messages.finalize?.(),d.toolCall.finalize?.(),d.nested.finalize?.())}return{__native:!0,init:()=>({subagents:t}),process(d){let f=d.params.namespace,g=d.params.data,x=d.method==="tasks"&&Z(g)&&"result"in g;d.method==="tools"&&Z(g)&&g.event==="tool-started"&&typeof g.tool_call_id=="string"&&g.tool_call_id.length>0&&r.set(xe(f),g.tool_call_id),d.method==="tasks"&&!x&&(l(f,g),u(g),c(f));for(let y of s.values())if(!y.done&&Bt(f,y.path)&&(y.messages.process(d),y.toolCall.process(d),y.nested.process(d),xe(f)===y.key)){if(d.method==="values"&&Z(g))y.latestValues=g;else if(d.method==="lifecycle"&&Z(g)){let w=g.event;w==="completed"||w==="interrupted"?h(y,{type:"resolve"}):w==="failed"&&h(y,{type:"reject",error:new Error(`Subagent ${y.name} failed`)})}}return!0},finalize(){for(let d of s.values())h(d,{type:"resolve"});t.close()},fail(d){for(let f of s.values())h(f,{type:"reject",error:d});t.fail(d)}}}}var lt=Symbol.for("langgraph-zod");lt in globalThis||(globalThis[lt]=new WeakSet);function Ut(e){let t=globalThis[lt];t.has(e)||(Object.defineProperty(e,"langgraph",{get(){let o=this;return{metadata(n){return De(o,{jsonSchemaExtra:n})},reducer(n,r){return De(o,{default:Pe(o),reducer:{schema:r,fn:n}})}}}}),t.add(e))}try{Ut(i.ZodType.prototype),Ut(U.ZodType.prototype)}catch(e){throw new Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.",{cause:e})}var zt=class extends bt{constructor(e){super(),this.parent=e,this._map=this.parent._map}add(e,...t){let o=t[0];if(o&&!o?.default){let n=Pe(e);n!=null&&(o.default=n)}return super.add(e,...t)}},Eo=new zt(be);function Ft(e=!0,t,o=[]){let n={jumpTo:new at},r={},s={},a=l=>{if(W.isInstance(l)){for(let[m,c]of Object.entries(l.fields))if(!(m in n)){if(n[m]=c,m.startsWith("_"))continue;oe.isInstance(c)?(r[m]=c.inputSchema||c.valueSchema,s[m]=c.valueSchema):(r[m]=c,s[m]=c)}return}let u=de(l);for(let[m,c]of Object.entries(u)){let h=m.startsWith("_");if(!(m in n)){if(Ie(c)){let d=be.get(c);if(d?.reducer){d.reducer.schema?(n[m]=new oe(c,{inputSchema:d.reducer.schema,reducer:d.reducer.fn}),h||(r[m]=d.reducer.schema,s[m]=c)):(n[m]=new oe(c,{reducer:d.reducer.fn}),h||(r[m]=c,s[m]=c));continue}}n[m]=c,h||(r[m]=c,s[m]=c)}}};t&&(W.isInstance(t)||F(t))&&a(t);for(let l of o)l.stateSchema&&(W.isInstance(l.stateSchema)||F(l.stateSchema))&&a(l.stateSchema);return e&&(s.structuredResponse=new at),{state:new W({messages:Le,...n}),input:new W({messages:Le,...r}),output:new W({messages:Le,...s})}}var ct=/<name>(.*?)<\/name>/s,dt=/<content>(.*?)<\/content>/s;function Ao(e,t){if(W.isInstance(e)){let o={};for(let n of Object.keys(e.fields))n in t&&(o[n]=t[n]);return o}if(Re(e))return te(e,t);throw new Error(`Invalid state schema type: ${typeof e}`)}function Ht(e){if(!T.isInstance(e)||Xe.isInstance(e)||!e.name)return e;let{name:t}=e;if(typeof e.content=="string")return new T({...e.lc_kwargs,content:`<name>${t}</name><content>${e.content}</content>`,name:void 0});let o=[],n=0;for(let r of e.content)typeof r=="string"?(n+=1,o.push(`<name>${t}</name><content>${r}</content>`)):typeof r=="object"&&"type"in r&&r.type==="text"?(n+=1,o.push({...r,text:`<name>${t}</name><content>${r.text}</content>`})):o.push(r);return n||o.unshift({type:"text",text:`<name>${t}</name><content></content>`}),new T({...e.lc_kwargs,content:o,name:void 0})}function Gt(e){if(!T.isInstance(e)||!e.content)return e;let t=[],o;if(Array.isArray(e.content))t=e.content.filter(n=>{if(n.type==="text"&&typeof n.text=="string"){let r=n.text.match(ct),s=n.text.match(dt);return r&&(!s||s[1]==="")?(o=r[1],!1):!0}return!0}).map(n=>{if(n.type==="text"&&typeof n.text=="string"){let r=n.text.match(ct),s=n.text.match(dt);return!r||!s?n:(o=r[1],{...n,text:s[1]})}return n});else{let n=e.content,r=n.match(ct),s=n.match(dt);if(!r||!s)return e;o=r[1],t=s[1]}return new T({...Object.keys(e.lc_kwargs??{}).length>0?e.lc_kwargs:e,content:t,name:o})}function ie(e){return Te.isRunnable(e)}function Wt(e){return _e(e)?"bindTools"in e&&typeof e.bindTools=="function":!1}var ut=(e,t,o={})=>{if(Wt(e))return e.bindTools(t,o);if(Y.isRunnableBinding(e)&&Wt(e.bound)){let n=e.bound.bindTools(t,o);return Y.isRunnableBinding(n)?new Y({bound:n.bound,config:{...e.config,...n.config},kwargs:{...e.kwargs,...n.kwargs},configFactories:n.configFactories??e.configFactories}):new Y({bound:n,config:e.config,kwargs:e.kwargs,configFactories:e.configFactories})}return null};function Be(e){if(typeof e=="function")return;let t=e;if(ue.isRunnableSequence(t)&&(t=t.steps.find(o=>Y.isRunnableBinding(o))||t),!pe(t)){if(Y.isRunnableBinding(t)){let o=t.kwargs!=null&&typeof t.kwargs=="object"&&"tools"in t.kwargs&&Array.isArray(t.kwargs.tools)&&t.kwargs.tools.length>0,n=t.config!=null&&typeof t.config=="object"&&"tools"in t.config&&Array.isArray(t.config.tools)&&t.config.tools.length>0;if(o||n)throw new ve}if("tools"in t&&t.tools!==void 0&&Array.isArray(t.tools)&&t.tools.length>0)throw new ve}}function ge(e){return!!(T.isInstance(e)&&e.tool_calls&&e.tool_calls.length>0)}function Jt(e){if(e==null)return new z("");if(z.isInstance(e))return e;if(typeof e=="string")return new z({content:[{type:"text",text:e}]});throw new Error(`Invalid systemPrompt type: expected string or SystemMessage, got ${typeof e}`)}async function Vt(e,t,o={}){let n=ut(e,t,o);if(n)return n;if(pe(e)){let r=ut(await e._getModelInstance(),t,o);if(r)return r}if(ue.isRunnableSequence(e)){let r=e.steps.findIndex(s=>Y.isRunnableBinding(s)||_e(s)||pe(s));if(r>=0){let s=ut(e.steps[r],t,o);if(s){let a=e.steps.slice();return a.splice(r,1,s),ue.from(a)}}}throw new Error(`llm ${e} must define bindTools method.`)}function Io(e){if(e.length===0)return;if(e.length===1)return e[0];function t(n,r){return async(s,a)=>n(s,async u=>r(u,a))}let o=e[e.length-1];for(let n=e.length-2;n>=0;n--)o=t(e[n],o);return o}function Kt(e){let t=e.filter(o=>o.wrapToolCall);if(t.length!==0)return Io(t.map(o=>{let n=o.wrapToolCall;return async(s,a)=>{let l=s.state,u=new Set,m=async c=>{let h={...l,...c.state};try{return await a({...c,state:h})}catch(d){throw u.add(d),d}};try{let c=await n({...s,state:{messages:l.messages,...o.stateSchema?Ao(o.stateSchema,{...l}):{}}},m);if(!M.isInstance(c)&&!H(c))throw new Error(`Invalid response from "wrapToolCall" in middleware "${o.name}": expected ToolMessage or Command, got ${typeof c}`);return c}catch(c){throw u.has(c)?c:ne.wrap(c,o.name)}}}))}var Ro=["tags","metadata","runName","maxConcurrency","recursionLimit","configurable"];function Yt(e){let t={};for(let o of Ro){let n=e[o];n!==void 0&&(t[o]=n)}return t}async function Zt(e,t){let o={};for(let n of e){if(!n.stateSchema)continue;let r;if(W.isInstance(n.stateSchema)){let l={};for(let[u,m]of Object.entries(n.stateSchema.fields))oe.isInstance(m)?l[u]=m.inputSchema||m.valueSchema:l[u]=m;r=U.object(l)}else if(F(n.stateSchema))r=n.stateSchema;else continue;let s=await vt(St(r,l=>l.startsWith("_")),t);if(s.success){Object.assign(o,s.data);continue}let a=s.error.issues.filter(l=>l.code==="invalid_type").map(l=>` - ${l.path.join(".")}: Required`).join(`
2
+ import{$ as je,Aa as Le,Ca as ve,Da as De,Ea as Nt,a as ft,b as R,ca as Pt,f as $,j as L,k as H,ta as oe,ua as at,wa as W,x as Ke,xa as Ot,y as pt}from"./QJOO6IIX.js";import{I as At,K as It,L as Rt,a as ot,v as Et,z as rt}from"./EXIA3APU.js";import{$ as Oe,A as vt,C as Ct,Ca as st,D as te,E as _t,M as F,N as ue,P as xt,S as Pe,U as St,X as i,Z as tt,d as Mt,da as be,ea as Z,f as et,h as Tt,ha as me,ja as Ne,s as de,t as Re,w as Te,wa as nt,ya as kt}from"./TRZJYWEB.js";import{h as bt,o as U}from"./2XXM52PS.js";import{$a as B,Ca as yt,J as Ze,V as M,Ya as qe,aa as wt,ab as ce,c as ht,cb as Ie,fa as T,ia as Xe,q as Ye,ra as q,u as gt,va as Qe,wa as z}from"./2UKFCF2J.js";function Ce(e){return"invoke"in e&&typeof e.invoke=="function"&&"_streamResponseChunks"in e}function fe(e){return typeof e=="object"&&e!=null&&"_queuedMethodOperations"in e&&"_getModelInstance"in e&&typeof e._getModelInstance=="function"}var _e=class extends Error{constructor(){super("The provided LLM already has bound tools. Please provide an LLM without bound tools to createAgent. The agent will bind the tools provided in the 'tools' parameter.")}},xe=class extends Error{toolNames;constructor(e){super(`The model has called multiple tools: ${e.join(", ")} to return a structured output. This is not supported. Please provide a single structured output.`),this.toolNames=e}},pe=class extends Error{toolName;errors;constructor(e,t){super(`Failed to parse structured output for tool '${e}':${t.map(o=>`
3
+ - ${o}`).join("")}.`),this.toolName=e,this.errors=t}},he=class extends Error{"~brand"="ToolInvocationError";toolCall;toolError;constructor(e,t){let o=e instanceof Error?e:new Error(String(e)),n=JSON.stringify(t.args);super(`Error invoking tool '${t.name}' with kwargs ${n} with error: ${o.stack}
4
+ Please fix the error and try again.`),this.toolCall=t,this.toolError=o}static isInstance(e){return e instanceof Error&&"~brand"in e&&e["~brand"]==="ToolInvocationError"}static[Symbol.hasInstance](e){return this.isInstance(e)}},ne=class jt extends Error{"~brand"="MiddlewareError";constructor(t,o){let n=t instanceof Error?t.message:String(t);super(n),this.name=t instanceof Error?t.name:`${o[0].toUpperCase()+o.slice(1)}Error`,t instanceof Error&&(this.cause=t)}static wrap(t,o){return Ke(t)?t:new jt(t,o)}static isInstance(t){return t instanceof Error&&"~brand"in t&&t["~brand"]==="MiddlewareError"}static[Symbol.hasInstance](t){return this.isInstance(t)}};var Lt=!0,Co=0,G=class it{schema;tool;options;constructor(t,o,n){this.schema=t,this.tool=o,this.options=n}get name(){return this.tool.function.name}static fromSchema(t,o){function n(a){return a??`extract-${++Co}`}if(de(t)||Te(t)){let a=Oe(t),l={type:"function",function:{name:n(a.title),strict:!1,description:a.description??"Tool for extracting structured output from the model's response.",parameters:a}};return new it(a,l,o)}let r;typeof t.name=="string"&&typeof t.parameters=="object"&&t.parameters!=null?r=t:r={name:n(t.title),description:t.description??"",parameters:t.schema||t};let s=Oe(t);return new it(s,{type:"function",function:r},o)}parse(t){let o=new tt(this.schema).validate(t);if(!o.valid)throw new pe(this.name,o.errors.map(n=>n.error));return t}},V=class Dt{_schemaType;schema;strict;constructor(t,o){if("schema"in t&&typeof t.schema=="object"&&t.schema!==null&&!("type"in t)){let n=t;this.schema=n.schema,this.strict=n.strict??Lt}else this.schema=t,this.strict=o??Lt}static fromSchema(t,o){let n=Oe(t);return new Dt(n,o)}parse(t){let o;if(typeof t.content=="string")o=t.content;else if(Array.isArray(t.content)){for(let n of t.content)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&"text"in n&&typeof n.text=="string"){o=n.text;break}}if(!(!o||o===""))try{let n=JSON.parse(o);return new tt(this.schema).validate(n).valid?n:void 0}catch{}}};function $t(e,t,o){if(!e)return[];if(typeof e=="object"&&e!==null&&"__responseFormatUndefined"in e)return[];if(Array.isArray(e)){if(e.every(r=>r instanceof G||r instanceof V))return e;if(e.every(r=>de(r)))return e.map(r=>G.fromSchema(r,t));if(e.every(r=>F(r)))return e.map(r=>G.fromSchema(r,t));if(e.every(r=>typeof r=="object"&&r!==null&&!F(r)&&!de(r)))return e.map(r=>G.fromSchema(r,t));throw new Error(`Invalid response format: list contains mixed types.
5
+ All items must be either InteropZodObject, Standard Schema, or plain JSON schema objects.`)}if(e instanceof G||e instanceof V)return[e];let n=_o(o);if(de(e))return n?[V.fromSchema(e)]:[G.fromSchema(e,t)];if(F(e))return n?[V.fromSchema(e)]:[G.fromSchema(e,t)];if(typeof e=="object"&&e!==null&&"properties"in e)return n?[V.fromSchema(e)]:[G.fromSchema(e,t)];throw new Error(`Invalid response format: ${String(e)}`)}function Bt(e){if(typeof e=="object"&&e!==null&&"schema"in e&&!Te(e)&&!de(e)&&!("type"in e)){let{schema:t,strict:o}=e;return V.fromSchema(t,o)}return V.fromSchema(e)}function _o(e){return!e||!Ce(e)||!("profile"in e)||typeof e.profile!="object"||!e.profile?!1:"structuredOutput"in e.profile&&e.profile.structuredOutput===!0}var $e=Symbol.for("AgentMiddleware");function E(e){return{[$e]:!0,name:e.name,stateSchema:e.stateSchema,contextSchema:e.contextSchema,wrapToolCall:e.wrapToolCall,wrapModelCall:e.wrapModelCall,beforeAgent:e.beforeAgent,beforeModel:e.beforeModel,afterModel:e.afterModel,afterAgent:e.afterAgent,tools:e.tools,streamTransformers:e.streamTransformers}}function xo(e,t){if(e.length<t.length||e.length>t.length+1)return!1;for(let o=0;o<t.length;o+=1)if(e[o]!==t[o])return!1;return!0}function So(e){let t;try{t=JSON.parse(e)}catch{return!1}return!Array.isArray(t)||t.length===0?!1:t.every(o=>{if(o==null||typeof o!="object")return!1;let n=o;return typeof n.id=="string"&&"value"in n})}function ko(e){if(e==null||typeof e!="object")return!1;let t=e;return t.type!=="constructor"||!Array.isArray(t.id)?!1:t.id[t.id.length-1]==="ToolMessage"}function Eo(e){return M.isInstance(e)?e.content:ko(e)?e.kwargs?.content:e}function ae(e){return()=>{let t=je.local(),o=new Map;function n(r,s,a){if(o.has(r))return;let l=typeof a=="string"?JSON.parse(a):a,u,m,c,h,d=new Promise((x,y)=>{u=x,m=y}),f=new Promise(x=>{c=x}),g=new Promise(x=>{h=x});o.set(r,{resolveOutput:u,rejectOutput:m,resolveStatus:c,resolveError:h}),t.push({name:s,callId:r,input:l,output:d,status:f,error:g})}return{__native:!0,init:()=>({toolCalls:t}),process(r){if(!xo(r.params.namespace,e))return!0;if(r.method==="messages"){let s=r.params.data;if(s.event==="content-block-finish"){let a=s.contentBlock??s.content_block;a?.type==="tool_call"&&n(String(a.id??""),String(a.name??""),a.args??a.input)}}if(r.method==="tools"){let s=r.params.data,a=s.tool_call_id;s.event==="tool-started"&&n(a,s.tool_name??"unknown",s.input);let l=a?o.get(a):void 0;if(l){if(s.event==="tool-finished")l.resolveOutput(Eo(s.output)),l.resolveStatus("finished"),l.resolveError(void 0),o.delete(a);else if(s.event==="tool-error"){let u=s.message??"unknown error";if(So(u))return!0;l.rejectOutput(new Error(u)),l.resolveStatus("error"),l.resolveError(u),o.delete(a)}}}return!0},finalize(){for(let r of o.values())r.resolveStatus("finished"),r.resolveError(void 0),r.resolveOutput(void 0);o.clear(),t.close()},fail(r){for(let s of o.values())s.resolveStatus("error"),s.resolveError(r instanceof Error?r.message:String(r)),s.rejectOutput(r);o.clear(),t.fail(r)}}}}function X(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Se(e){return e.join("\0")}function Ut(e,t){if(t.length>e.length)return!1;for(let o=0;o<t.length;o+=1)if(e[o]!==t[o])return!1;return!0}function ge(e=[]){return()=>{let t=je.local(),o=new Map,n=new Map,r=new Map,s=new Map,a=e.length;function l(d,f){let g=Se(d);if(o.has(g))return;let x=(X(f)&&X(f.metadata)?f.metadata:void 0)?.lc_agent_name;o.set(g,typeof x=="string"?x:void 0)}function u(d){if(!X(d))return;let f=d.id;if(typeof f!="string")return;let g=d.input,x;if(X(g)&&X(g.tool_call)){let y=g.tool_call.id;typeof y=="string"&&(x=y)}else if(Array.isArray(g)){for(let y of g)if(X(y)&&typeof y.id=="string"){x=y.id;break}}x!=null&&n.set(f,x)}function m(d){let f=r.get(Se(d));if(typeof f=="string"&&f.length>0)return{type:"toolCall",tool_call_id:f};let g=d[d.length-1],x=g.indexOf(":");if(x===-1)return;let y=g.slice(x+1);if(y.length===0)return;let w=n.get(y);if(!(typeof w!="string"||w.length===0))return{type:"toolCall",tool_call_id:w}}function c(d){if(d.length!==a+1||!Ut(d,e))return;let f=Se(d);if(s.has(f))return;let g=o.get(f);if(typeof g!="string"||g.length===0)return;let x=Pt(d),y=x.init(),w=ae(d)(),O=w.init(),A=ge(d)(),N=A.init(),Y,j,b=new Promise((J,le)=>{Y=J,j=le});s.set(f,{key:f,path:d,name:g,messages:x,toolCall:w,nested:A,resolveOutput:Y,rejectOutput:j,latestValues:void 0,done:!1}),t.push({name:g,cause:m(d),output:b,messages:y.messages,toolCalls:O.toolCalls,subagents:N.subagents})}function h(d,f){d.done||(d.done=!0,f.type==="resolve"?d.resolveOutput(d.latestValues):d.rejectOutput(f.error),d.messages.finalize?.(),d.toolCall.finalize?.(),d.nested.finalize?.())}return{__native:!0,init:()=>({subagents:t}),process(d){let f=d.params.namespace,g=d.params.data,x=d.method==="tasks"&&X(g)&&"result"in g;d.method==="tools"&&X(g)&&g.event==="tool-started"&&typeof g.tool_call_id=="string"&&g.tool_call_id.length>0&&r.set(Se(f),g.tool_call_id),d.method==="tasks"&&!x&&(l(f,g),u(g),c(f));for(let y of s.values())if(!y.done&&Ut(f,y.path)&&(y.messages.process(d),y.toolCall.process(d),y.nested.process(d),Se(f)===y.key)){if(d.method==="values"&&X(g))y.latestValues=g;else if(d.method==="lifecycle"&&X(g)){let w=g.event;w==="completed"||w==="interrupted"?h(y,{type:"resolve"}):w==="failed"&&h(y,{type:"reject",error:new Error(`Subagent ${y.name} failed`)})}}return!0},finalize(){for(let d of s.values())h(d,{type:"resolve"});t.close()},fail(d){for(let f of s.values())h(f,{type:"reject",error:d});t.fail(d)}}}}var lt=Symbol.for("langgraph-zod");lt in globalThis||(globalThis[lt]=new WeakSet);function zt(e){let t=globalThis[lt];t.has(e)||(Object.defineProperty(e,"langgraph",{get(){let o=this;return{metadata(n){return De(o,{jsonSchemaExtra:n})},reducer(n,r){return De(o,{default:Pe(o),reducer:{schema:r,fn:n}})}}}}),t.add(e))}try{zt(i.ZodType.prototype),zt(U.ZodType.prototype)}catch(e){throw new Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.",{cause:e})}var Ft=class extends bt{constructor(e){super(),this.parent=e,this._map=this.parent._map}add(e,...t){let o=t[0];if(o&&!o?.default){let n=Pe(e);n!=null&&(o.default=n)}return super.add(e,...t)}},Ao=new Ft(ve);function Wt(e=!0,t,o=[]){let n={jumpTo:new at},r={},s={},a=l=>{if(W.isInstance(l)){for(let[m,c]of Object.entries(l.fields))if(!(m in n)){if(n[m]=c,m.startsWith("_"))continue;oe.isInstance(c)?(r[m]=c.inputSchema||c.valueSchema,s[m]=c.valueSchema):(r[m]=c,s[m]=c)}return}let u=ue(l);for(let[m,c]of Object.entries(u)){let h=m.startsWith("_");if(!(m in n)){if(Re(c)){let d=ve.get(c);if(d?.reducer){d.reducer.schema?(n[m]=new oe(c,{inputSchema:d.reducer.schema,reducer:d.reducer.fn}),h||(r[m]=d.reducer.schema,s[m]=c)):(n[m]=new oe(c,{reducer:d.reducer.fn}),h||(r[m]=c,s[m]=c));continue}}n[m]=c,h||(r[m]=c,s[m]=c)}}};t&&(W.isInstance(t)||F(t))&&a(t);for(let l of o)l.stateSchema&&(W.isInstance(l.stateSchema)||F(l.stateSchema))&&a(l.stateSchema);return e&&(s.structuredResponse=new at),{state:new W({messages:Le,...n}),input:new W({messages:Le,...r}),output:new W({messages:Le,...s})}}var ct=/<name>(.*?)<\/name>/s,dt=/<content>(.*?)<\/content>/s;function Io(e,t){if(W.isInstance(e)){let o={};for(let n of Object.keys(e.fields))n in t&&(o[n]=t[n]);return o}if(Te(e))return te(e,t);throw new Error(`Invalid state schema type: ${typeof e}`)}function Gt(e){if(!T.isInstance(e)||Xe.isInstance(e)||!e.name)return e;let{name:t}=e;if(typeof e.content=="string")return new T({...e.lc_kwargs,content:`<name>${t}</name><content>${e.content}</content>`,name:void 0});let o=[],n=0;for(let r of e.content)typeof r=="string"?(n+=1,o.push(`<name>${t}</name><content>${r}</content>`)):typeof r=="object"&&"type"in r&&r.type==="text"?(n+=1,o.push({...r,text:`<name>${t}</name><content>${r.text}</content>`})):o.push(r);return n||o.unshift({type:"text",text:`<name>${t}</name><content></content>`}),new T({...e.lc_kwargs,content:o,name:void 0})}function Jt(e){if(!T.isInstance(e)||!e.content)return e;let t=[],o;if(Array.isArray(e.content))t=e.content.filter(n=>{if(n.type==="text"&&typeof n.text=="string"){let r=n.text.match(ct),s=n.text.match(dt);return r&&(!s||s[1]==="")?(o=r[1],!1):!0}return!0}).map(n=>{if(n.type==="text"&&typeof n.text=="string"){let r=n.text.match(ct),s=n.text.match(dt);return!r||!s?n:(o=r[1],{...n,text:s[1]})}return n});else{let n=e.content,r=n.match(ct),s=n.match(dt);if(!r||!s)return e;o=r[1],t=s[1]}return new T({...Object.keys(e.lc_kwargs??{}).length>0?e.lc_kwargs:e,content:t,name:o})}function ie(e){return be.isRunnable(e)}function Ht(e){return Ce(e)?"bindTools"in e&&typeof e.bindTools=="function":!1}var ut=(e,t,o={})=>{if(Ht(e))return e.bindTools(t,o);if(Z.isRunnableBinding(e)&&Ht(e.bound)){let n=e.bound.bindTools(t,o);return Z.isRunnableBinding(n)?new Z({bound:n.bound,config:{...e.config,...n.config},kwargs:{...e.kwargs,...n.kwargs},configFactories:n.configFactories??e.configFactories}):new Z({bound:n,config:e.config,kwargs:e.kwargs,configFactories:e.configFactories})}return null};function Be(e){if(typeof e=="function")return;let t=e;if(me.isRunnableSequence(t)&&(t=t.steps.find(o=>Z.isRunnableBinding(o))||t),!fe(t)){if(Z.isRunnableBinding(t)){let o=t.kwargs!=null&&typeof t.kwargs=="object"&&"tools"in t.kwargs&&Array.isArray(t.kwargs.tools)&&t.kwargs.tools.length>0,n=t.config!=null&&typeof t.config=="object"&&"tools"in t.config&&Array.isArray(t.config.tools)&&t.config.tools.length>0;if(o||n)throw new _e}if("tools"in t&&t.tools!==void 0&&Array.isArray(t.tools)&&t.tools.length>0)throw new _e}}function we(e){return!!(T.isInstance(e)&&e.tool_calls&&e.tool_calls.length>0)}function Vt(e){if(e==null)return new z("");if(z.isInstance(e))return e;if(typeof e=="string")return new z({content:[{type:"text",text:e}]});throw new Error(`Invalid systemPrompt type: expected string or SystemMessage, got ${typeof e}`)}async function Kt(e,t,o={}){let n=ut(e,t,o);if(n)return n;if(fe(e)){let r=ut(await e._getModelInstance(),t,o);if(r)return r}if(me.isRunnableSequence(e)){let r=e.steps.findIndex(s=>Z.isRunnableBinding(s)||Ce(s)||fe(s));if(r>=0){let s=ut(e.steps[r],t,o);if(s){let a=e.steps.slice();return a.splice(r,1,s),me.from(a)}}}throw new Error(`llm ${e} must define bindTools method.`)}function Ro(e){if(e.length===0)return;if(e.length===1)return e[0];function t(n,r){return async(s,a)=>n(s,async u=>r(u,a))}let o=e[e.length-1];for(let n=e.length-2;n>=0;n--)o=t(e[n],o);return o}function Yt(e){let t=e.filter(o=>o.wrapToolCall);if(t.length!==0)return Ro(t.map(o=>{let n=o.wrapToolCall;return async(s,a)=>{let l=s.state,u=new Set,m=async c=>{let h={...l,...c.state};try{return await a({...c,state:h})}catch(d){throw u.add(d),d}};try{let c=await n({...s,state:{messages:l.messages,...o.stateSchema?Io(o.stateSchema,{...l}):{}}},m);if(!M.isInstance(c)&&!H(c))throw new Error(`Invalid response from "wrapToolCall" in middleware "${o.name}": expected ToolMessage or Command, got ${typeof c}`);return c}catch(c){throw u.has(c)?c:ne.wrap(c,o.name)}}}))}var Po=["tags","metadata","runName","maxConcurrency","recursionLimit","configurable"];function Zt(e){let t={};for(let o of Po){let n=e[o];n!==void 0&&(t[o]=n)}return t}async function Xt(e,t){let o={};for(let n of e){if(!n.stateSchema)continue;let r;if(W.isInstance(n.stateSchema)){let l={};for(let[u,m]of Object.entries(n.stateSchema.fields))oe.isInstance(m)?l[u]=m.inputSchema||m.valueSchema:l[u]=m;r=U.object(l)}else if(F(n.stateSchema))r=n.stateSchema;else continue;let s=await vt(St(r,l=>l.startsWith("_")),t);if(s.success){Object.assign(o,s.data);continue}let a=s.error.issues.filter(l=>l.code==="invalid_type").map(l=>` - ${l.path.join(".")}: Required`).join(`
6
6
  `);throw new Error(`Middleware "${n.name}" has required state fields that must be initialized:
7
7
  ${a}
8
8
 
@@ -21,11 +21,11 @@ To fix this, either:
21
21
  agent.invoke({
22
22
  messages: [...],
23
23
  ${s.error.issues[0]?.path.join(".")}: "value"
24
- })`)}return o}function Xt(e){let t={messages:U.custom(()=>[]),structuredResponse:U.any().optional()};if(!e)return U.object(t);let o;if(W.isInstance(e)){o={};for(let[r,s]of Object.entries(e.fields))oe.isInstance(s)?o[r]=s.inputSchema||s.valueSchema:o[r]=s}else if(F(e))o=de(e);else return U.object(t);let n={...t};for(let[r,s]of Object.entries(o))r.startsWith("_")?n[r]=s.optional():n[r]=s;return U.object(n)}function Qt(e){if(F(e))return xt(e);if(W.isInstance(e)){let t={};for(let[o,n]of Object.entries(e.fields)){let r;oe.isInstance(n)?r=n.inputSchema||n.valueSchema:r=n,t[o]=Ie(r)?r.optional():U.any().optional()}return U.object(t)}return U.object({})}function V(e){if(e){if(["model_request","tools",R].includes(e))return e;if(e==="model")return"model_request";if(e==="tools")return"tools";if(e==="end")return R;throw new Error(`Invalid jump target: ${e}, must be "model", "tools" or "end".`)}}function Ue(...e){return AbortSignal.any(e.filter(t=>t!=null&&typeof t=="object"&&"aborted"in t&&typeof t.aborted=="boolean"))}function Oo({apiKey:e,configuration:t={}}){let o=Rt({baseURL:t.baseURL,providerPath:"v1"});return{apiKey:e??t.apiKey??o.apiKey??(Ye("LANGSMITH_GATEWAY_API_KEY")||Ye("LANGSMITH_API_KEY")),configuration:{...t,baseURL:o.baseURL??`${It}/v1`},useResponsesApi:!0}}var Fe={openai:{package:"@langchain/openai",className:"ChatOpenAI"},anthropic:{package:"@langchain/anthropic",className:"ChatAnthropic"},azure_openai:{package:"@langchain/openai",className:"AzureChatOpenAI"},langsmith:{package:"@langchain/openai",className:"ChatOpenAI"},cohere:{package:"@langchain/cohere",className:"ChatCohere"},google:{package:"@langchain/google",className:"ChatGoogle"},"google-vertexai":{package:"@langchain/google-vertexai",className:"ChatVertexAI"},"google-vertexai-web":{package:"@langchain/google-vertexai-web",className:"ChatVertexAI"},"google-genai":{package:"@langchain/google-genai",className:"ChatGoogleGenerativeAI"},ollama:{package:"@langchain/ollama",className:"ChatOllama"},mistralai:{package:"@langchain/mistralai",className:"ChatMistralAI"},mistral:{package:"@langchain/mistralai",className:"ChatMistralAI"},groq:{package:"@langchain/groq",className:"ChatGroq"},bedrock:{package:"@langchain/aws",className:"ChatBedrockConverse"},aws:{package:"@langchain/aws",className:"ChatBedrockConverse"},deepseek:{package:"@langchain/deepseek",className:"ChatDeepSeek"},xai:{package:"@langchain/xai",className:"ChatXAI"},cerebras:{package:"@langchain/cerebras",className:"ChatCerebras"},fireworks:{package:"@langchain/fireworks",className:"ChatFireworks"},together:{package:"@langchain/together-ai",className:"ChatTogetherAI",hasCircularDependency:!0},perplexity:{package:"@langchain/perplexity",className:"ChatPerplexity"}},eo=Object.keys(Fe);async function No(e,t){let o;if(t)o=Fe[t];else{let n=Object.entries(Fe).find(([,r])=>r.className===e);o=n?n[1]:void 0}if(o)try{return(await import(o.package))[o.className]}catch(n){let r=n;if("code"in r&&r.code?.toString().includes("ERR_MODULE_NOT_FOUND")&&"message"in r&&typeof r.message=="string"){let s=(r.message.startsWith("Error: ")?r.message.slice(7):r.message).split("Cannot find package '")[1].split("'")[0];throw new Error(`Unable to import ${s}. Please install with \`npm install ${s}\` or \`pnpm install ${s}\``)}throw n}}async function jo(e,t,o={}){let n=t||Lo(e);if(!n)throw new Error(`Unable to infer model provider for { model: ${e} }, please specify modelProvider directly.`);let r=Fe[n];if(!r){let l=eo.join(", ");throw new Error(`Unsupported { modelProvider: ${n} }.
24
+ })`)}return o}function Qt(e){let t={messages:U.custom(()=>[]),structuredResponse:U.any().optional()};if(!e)return U.object(t);let o;if(W.isInstance(e)){o={};for(let[r,s]of Object.entries(e.fields))oe.isInstance(s)?o[r]=s.inputSchema||s.valueSchema:o[r]=s}else if(F(e))o=ue(e);else return U.object(t);let n={...t};for(let[r,s]of Object.entries(o))r.startsWith("_")?n[r]=s.optional():n[r]=s;return U.object(n)}function qt(e){if(F(e))return xt(e);if(W.isInstance(e)){let t={};for(let[o,n]of Object.entries(e.fields)){let r;oe.isInstance(n)?r=n.inputSchema||n.valueSchema:r=n,t[o]=Re(r)?r.optional():U.any().optional()}return U.object(t)}return U.object({})}function K(e){if(e){if(["model_request","tools",R].includes(e))return e;if(e==="model")return"model_request";if(e==="tools")return"tools";if(e==="end")return R;throw new Error(`Invalid jump target: ${e}, must be "model", "tools" or "end".`)}}function Ue(...e){return AbortSignal.any(e.filter(t=>t!=null&&typeof t=="object"&&"aborted"in t&&typeof t.aborted=="boolean"))}function No({apiKey:e,configuration:t={}}){let o=Rt({baseURL:t.baseURL,providerPath:"v1"});return{apiKey:e??t.apiKey??o.apiKey??(Ye("LANGSMITH_GATEWAY_API_KEY")||Ye("LANGSMITH_API_KEY")),configuration:{...t,baseURL:o.baseURL??`${It}/v1`},useResponsesApi:!0}}var Fe={openai:{package:"@langchain/openai",className:"ChatOpenAI"},anthropic:{package:"@langchain/anthropic",className:"ChatAnthropic"},azure_openai:{package:"@langchain/openai",className:"AzureChatOpenAI"},langsmith:{package:"@langchain/openai",className:"ChatOpenAI"},cohere:{package:"@langchain/cohere",className:"ChatCohere"},google:{package:"@langchain/google",className:"ChatGoogle"},"google-vertexai":{package:"@langchain/google-vertexai",className:"ChatVertexAI"},"google-vertexai-web":{package:"@langchain/google-vertexai-web",className:"ChatVertexAI"},"google-genai":{package:"@langchain/google-genai",className:"ChatGoogleGenerativeAI"},ollama:{package:"@langchain/ollama",className:"ChatOllama"},mistralai:{package:"@langchain/mistralai",className:"ChatMistralAI"},mistral:{package:"@langchain/mistralai",className:"ChatMistralAI"},groq:{package:"@langchain/groq",className:"ChatGroq"},bedrock:{package:"@langchain/aws",className:"ChatBedrockConverse"},aws:{package:"@langchain/aws",className:"ChatBedrockConverse"},deepseek:{package:"@langchain/deepseek",className:"ChatDeepSeek"},xai:{package:"@langchain/xai",className:"ChatXAI"},cerebras:{package:"@langchain/cerebras",className:"ChatCerebras"},fireworks:{package:"@langchain/fireworks",className:"ChatFireworks"},together:{package:"@langchain/together-ai",className:"ChatTogetherAI",hasCircularDependency:!0},perplexity:{package:"@langchain/perplexity",className:"ChatPerplexity"}},to=Object.keys(Fe);async function jo(e,t){let o;if(t)o=Fe[t];else{let n=Object.entries(Fe).find(([,r])=>r.className===e);o=n?n[1]:void 0}if(o)try{return(await import(o.package))[o.className]}catch(n){let r=n;if("code"in r&&r.code?.toString().includes("ERR_MODULE_NOT_FOUND")&&"message"in r&&typeof r.message=="string"){let s=(r.message.startsWith("Error: ")?r.message.slice(7):r.message).split("Cannot find package '")[1].split("'")[0];throw new Error(`Unable to import ${s}. Please install with \`npm install ${s}\` or \`pnpm install ${s}\``)}throw n}}async function Lo(e,t,o={}){let n=t||Do(e);if(!n)throw new Error(`Unable to infer model provider for { model: ${e} }, please specify modelProvider directly.`);let r=Fe[n];if(!r){let l=to.join(", ");throw new Error(`Unsupported { modelProvider: ${n} }.
25
25
 
26
- Supported model providers are: ${l}`)}let{modelProvider:s,...a}=o;return new(await No(r.className,n))({model:e,...a,...n==="langsmith"?Oo(a):{}})}function Lo(e){return e.startsWith("gpt-3")||e.startsWith("gpt-4")||e.startsWith("gpt-5")||e.startsWith("o1")||e.startsWith("o3")||e.startsWith("o4")?"openai":e.startsWith("claude")?"anthropic":e.startsWith("command")?"cohere":e.startsWith("accounts/fireworks")?"fireworks":e.startsWith("gemini")?"google-vertexai":e.startsWith("amazon.")?"bedrock":e.startsWith("mistral")?"mistralai":e.startsWith("sonar")||e.startsWith("pplx")?"perplexity":void 0}var qt=class ze extends rt{_llmType(){return"chat_model"}lc_namespace=["langchain","chat_models"];_defaultConfig={};_configurableFields="any";_configPrefix;_queuedMethodOperations={};_modelInstanceCache=new Map;_profile;constructor(t){super(t),this._defaultConfig=t.defaultConfig??{},t.configurableFields==="any"?this._configurableFields="any":this._configurableFields=t.configurableFields??["model","modelProvider"],t.configPrefix?this._configPrefix=t.configPrefix.endsWith("_")?t.configPrefix:`${t.configPrefix}_`:this._configPrefix="",this._queuedMethodOperations=t.queuedMethodOperations??this._queuedMethodOperations,this._profile=t.profile??void 0,this.metadata={...this.metadata,ls_integration:"langchain_init_chat_model"}}async _getModelInstance(t){let o=this._getCacheKey(t),n=this._modelInstanceCache.get(o);if(n)return n;let r={...this._defaultConfig,...this._modelParams(t)},s=await jo(r.model,r.modelProvider,r);for(let[a,l]of Object.entries(this._queuedMethodOperations))a in s&&typeof s[a]=="function"&&(s=await s[a](...l));return this._modelInstanceCache.set(o,s),s}async _generate(t,o,n){return(await this._getModelInstance(o))._generate(t,o??{},n)}bindTools(t,o){let n={...this._queuedMethodOperations};return n.bindTools=[t,o],new ze({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:n})}withStructuredOutput=(t,...o)=>{let n={...this._queuedMethodOperations};return n.withStructuredOutput=[t,...o],new ze({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:n})};_modelParams(t){let o=t?.configurable??{},n={};for(let[r,s]of Object.entries(o))if(r.startsWith(this._configPrefix)){let a=this._removePrefix(r,this._configPrefix);n[a]=s}return this._configurableFields!=="any"&&(n=Object.fromEntries(Object.entries(n).filter(([r])=>this._configurableFields.includes(r)))),n}_removePrefix(t,o){return t.startsWith(o)?t.slice(o.length):t}withConfig(t){let o={...t||{}},n=this._modelParams(o),r=Object.fromEntries(Object.entries(o).filter(([s])=>s!=="configurable"));return r.configurable=Object.fromEntries(Object.entries(o.configurable||{}).filter(([s])=>this._configPrefix&&!Object.keys(n).includes(this._removePrefix(s,this._configPrefix)))),new Y({config:o,bound:new ze({defaultConfig:{...this._defaultConfig,...n},configurableFields:Array.isArray(this._configurableFields)?[...this._configurableFields]:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:this._queuedMethodOperations})})}async invoke(t,o){let n=await this._getModelInstance(o),r=ce(o);return n.invoke(t,r)}async stream(t,o){let n=new Tt({generator:await(await this._getModelInstance(o)).stream(t,o),config:o});return await n.setup,et.fromAsyncGenerator(n)}async batch(t,o,n){return super.batch(t,o,n)}async*transform(t,o){let n=await this._getModelInstance(o),r=ce(o);yield*n.transform(t,r)}async*streamLog(t,o,n){let r=await this._getModelInstance(o),s=ce(o);yield*r.streamLog(t,s,{...n,_schemaFormat:"original",includeNames:n?.includeNames,includeTypes:n?.includeTypes,includeTags:n?.includeTags,excludeNames:n?.excludeNames,excludeTypes:n?.excludeTypes,excludeTags:n?.excludeTags})}streamEvents(t,o,n){if(o?.version==="v1"||o?.version==="v2"){let a=this,l=o;async function*u(){let m=await a._getModelInstance(l),c={...ce(l),version:l.version,...l.encoding!==void 0?{encoding:l.encoding}:{}},h;l.version==="v1"&&l.encoding==="text/event-stream"||l.version==="v1"||l.version==="v2"&&l.encoding,h=m.streamEvents(t,c,n);for await(let d of h)yield d}return et.fromAsyncGenerator(u())}let r=this;async function*s(){let a=await r._getModelInstance(o),l=ce(o);yield*a.streamEvents(t,l)}return new Et(s())}get profile(){if(this._profile)return this._profile;let t=this._getCacheKey({});return this._modelInstanceCache.get(t)?.profile??{}}_getCacheKey(t){let o=t??{};if(o.configurable){let{configurable:n}=o,r={};for(let[s,a]of Object.entries(n))s.startsWith("__pregel_")||(r[s]=a);o={...o,configurable:r}}return JSON.stringify(o)}};async function ee(e,t){let{configurableFields:o,configPrefix:n,modelProvider:r,profile:s,...a}={configPrefix:"",...t??{}};if(r===void 0&&e?.includes(":")){let[c,...h]=e.split(":"),d=h.length===0?[c]:[c,h.join(":")];eo.includes(d[0])&&([r,e]=d)}let l=Array.isArray(o)?[...o]:o;!e&&l===void 0&&(l=["model","modelProvider"]),n&&l===void 0&&console.warn(`{ configPrefix: ${n} } has been set but no fields are configurable. Set { configurableFields: [...] } to specify the model params that are configurable.`);let u={...a},m;return l===void 0?m=new qt({defaultConfig:{...u,model:e,modelProvider:r},configPrefix:n,profile:s}):(e&&(u.model=e),r&&(u.modelProvider=r),m=new qt({defaultConfig:u,configPrefix:n,configurableFields:l,profile:s})),await m._getModelInstance(),m}var we=class extends Te{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;#e;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.recurse=e.recurse??this.recurse}getState(){return this.#e}setState(e){this.#e={...this.#e,...e}}async invoke(e,t){let o=B(this.config,t),n=await qe.runWithConfig(o,async()=>this.func(e,o));return Te.isRunnable(n)&&this.recurse?await qe.runWithConfig(o,async()=>n.invoke(e,o)):(this.#e=n,n)}};function to(e,t){let o,n;if(t==="inline")o=Ht,n=Gt;else throw new Error(`Invalid agent name mode: ${t}. Needs to be one of: "inline"`);function r(s){return s.map(o)}return ue.from([Ne.from(r),e,Ne.from(n)])}function Do(e){return T.isInstance(e)||H(e)||typeof e=="object"&&e!==null&&"structuredResponse"in e&&"messages"in e}var P="model_request",oo=class extends we{#e;#o;constructor(e){super({name:e.name??"model",func:(t,o)=>this.#t(t,o)}),this.#e=e,this.#o=e.systemMessage}async#r(e,t=this.#e.responseFormat){if(!t)return;let o;pe(e)?o=await e._getModelInstance():typeof e!="string"&&(o=e);let n=$t(t,void 0,o);if(n.length!==0)return n.every(r=>r instanceof q)?{type:"native",strategy:n[0]}:{type:"tool",tools:n.filter(r=>r instanceof G).reduce((r,s)=>(r[s.name]=s,r),{})}}async#t(e,t){let o=e.messages.at(-1);if(o&&M.isInstance(o)&&o.name&&this.#e.shouldReturnDirect.has(o.name))return[new L({update:{messages:[]}})];let{response:n,lastAiMessage:r,collectedCommands:s}=await this.#a(e,t);if(typeof n=="object"&&n!==null&&"structuredResponse"in n&&"messages"in n){let{structuredResponse:u,messages:m}=n;return{messages:[...e.messages,...m],structuredResponse:u}}let a=[],l=T.isInstance(n)?n:r;return l&&(l.name=this.name,l.lc_kwargs.name=this.name,this.#c(e,l)?a.push(new L({update:{messages:[new T({content:"Sorry, need more steps to process this request.",name:this.name,id:l.id})]}})):a.push(new L({update:{messages:[l]}}))),H(n)&&!s.includes(n)&&a.push(n),a.push(...s),a}#s(){if(typeof this.#e.model=="string")return ee(this.#e.model);if(this.#e.model)return this.#e.model;throw new Error("No model option was provided, either via `model` option.")}async#a(e,t,o={}){let n=await this.#s(),r=t,s=this.#o,a=null,l=[],u=async d=>{Be(d.model);let f=await this.#r(d.model,d.responseFormat),g=await this.#d(d.model,d,f),x=[...s.text===""?[]:[s],...d.messages],y=Ue(this.#e.signal,t.signal),w=await Mt(g.invoke(x,{...t,signal:y}),y);if(a=w,f?.type==="native"){let N=f.strategy.parse(w);if(N)return{structuredResponse:N,messages:[w]};if(!w.tool_calls||w.tool_calls.length===0)throw new me(typeof f.strategy.schema?.title=="string"?f.strategy.schema.title:"providerStrategy",["Model output did not satisfy the provided response schema."]);return w}if(!f||!w.tool_calls)return w;let O=w.tool_calls.filter(N=>N.name in f.tools);if(O.length===0)return w;if(O.length>1)return this.#i(w,O,f);let A=f.tools[O[0].name]?.options?.toolMessageContent;return this.#l(w,O[0],f,A??o.lastMessage)},m=this.#e.wrapModelCallHookMiddleware??[],c=u;for(let d=m.length-1;d>=0;d--){let f=m[d],g=Array.isArray(f)?f[0]:f;if(g.wrapModelCall){let x=c,y=g;c=async w=>{let O=s,A=y.contextSchema?te(y.contextSchema,r?.context||{}):r?.context,N=Object.freeze({context:A,store:r.store,configurable:r.configurable,writer:r.writer,interrupt:r.interrupt,signal:r.signal}),K={...w,state:{...g.stateSchema?te(Qt(g.stateSchema),e):{},messages:e.messages},runtime:N},j=async b=>{s=O;let J=b.tools??[],le=new Map(this.#e.toolClasses.filter(ie).map(_=>[_.name,_])),Ee=J.filter(_=>ie(_)&&!le.has(_.name)),ye=J.filter(_=>{if(!ie(_))return!1;let v=le.get(_.name);return v!=null&&v!==_});if(Ee.length>0&&!this.#e.middleware?.some(_=>_.wrapToolCall!=null))throw new Error(`You have added a new tool in "wrapModelCall" hook of middleware "${y.name}": ${Ee.map(_=>_.name).join(", ")}. This is not supported unless a middleware provides a "wrapToolCall" handler to execute it.`);if(ye.length>0)throw new Error(`You have modified a tool in "wrapModelCall" hook of middleware "${y.name}": ${ye.map(_=>_.name).join(", ")}. This is not supported.`);let p=b,C=b.systemPrompt!==s.text,I=b.systemMessage!==s;if(C&&I)throw new Error("Cannot change both systemPrompt and systemMessage in the same request.");C&&(s=new z({content:[{type:"text",text:b.systemPrompt}]}),p={...b,systemPrompt:s.text,systemMessage:s}),I&&(s=new z({...b.systemMessage}),p={...b,systemPrompt:s.text,systemMessage:s});let k=await x(p);return H(k)&&a?(l.includes(k)||l.push(k),a):k};if(!y.wrapModelCall)return j(K);try{let b=await y.wrapModelCall(K,j);if(!Do(b))throw new Error(`Invalid response from "wrapModelCall" in middleware "${y.name}": expected AIMessage or Command, got ${typeof b}`);return T.isInstance(b)?a=b:H(b)&&l.push(b),b}catch(b){throw ne.wrap(b,y.name)}}}}s=this.#o;let h={model:n,responseFormat:this.#e.responseFormat,systemPrompt:s?.text,systemMessage:s,messages:e.messages,tools:this.#e.toolClasses,state:e,runtime:Object.freeze({context:r?.context,store:r.store,configurable:r.configurable,writer:r.writer,interrupt:r.interrupt,signal:r.signal})};return{response:await c(h),lastAiMessage:a,collectedCommands:l}}#i(e,t,o){let n=new Ce(t.map(r=>r.name));return this.#n(n,e,t[0],o)}#l(e,t,o,n){let r=o.tools[t.name];try{let s=r.parse(t.args);return{structuredResponse:s,messages:[e,new M({tool_call_id:t.id??"",content:JSON.stringify(s),name:t.name}),new T(n??`Returning structured response: ${JSON.stringify(s)}`)]}}catch(s){return this.#n(s,e,t,o)}}async#n(e,t,o,n){let r=Object.values(n.tools).at(0)?.options?.handleError,s=o.id;if(!s)throw new Error("Tool call ID is required to handle tool output errors. Please provide a tool call ID.");if(r===!1)throw e;if(r===void 0||typeof r=="boolean"&&r||Array.isArray(r)&&r.some(a=>a instanceof Ce))return new L({update:{messages:[t,new M({content:e.message,tool_call_id:s})]},goto:P});if(typeof r=="string")return new L({update:{messages:[t,new M({content:r,tool_call_id:s})]},goto:P});if(typeof r=="function"){let a=await r(e);if(typeof a!="string")throw new Error("Error handler must return a string.");return new L({update:{messages:[t,new M({content:a,tool_call_id:s})]},goto:P})}return new L({update:{messages:[t,new M({content:e.message,tool_call_id:s})]},goto:P})}#c(e,t){let o=T.isInstance(t)&&t.tool_calls?.every(r=>this.#e.shouldReturnDirect.has(r.name)),n="remainingSteps"in e?e.remainingSteps:void 0;return!!(n&&(n<1&&o||n<2&&ge(e.messages.at(-1))))}async#d(e,t,o){let n={},r=Object.values(o&&"tools"in o?o.tools:{}),s=[...t?.tools??this.#e.toolClasses,...r.map(u=>u.tool)],a=t?.toolChoice||(r.length>0?"any":void 0);if(o?.type==="native"){let u=t?.modelSettings?.strict??o?.strategy?.strict??!0,m={name:o.strategy.schema?.name??"extract",description:_t(o.strategy.schema),schema:o.strategy.schema,strict:u};Object.assign(n,{response_format:{type:"json_schema",json_schema:m},outputConfig:{format:{type:"json_schema",schema:o.strategy.schema}},responseSchema:o.strategy.schema,ls_structured_output_format:{kwargs:{method:"json_schema"},schema:o.strategy.schema},strict:t?.modelSettings?.strict})}let l=await Vt(e,s,{...n,...t?.modelSettings,tool_choice:a});return this.#e.includeAgentName==="inline"?to(l,this.#e.includeAgentName):l}getState(){let e=super.getState();return{messages:[],...e&&!H(e)?e:{}}}};var no=(e,t)=>`Error: ${e} is not a valid tool, try one of [${t.join(", ")}].`,D="tools",ro=e=>Array.isArray(e)&&e.every(Ze.isInstance),$o=e=>typeof e=="object"&&e!=null&&"messages"in e&&ro(e.messages),Bo=e=>typeof e=="object"&&e!=null&&"lg_tool_call"in e;function Uo(e,t){return fe.isInstance(e)?new M({content:e.message,tool_call_id:t.id,name:t.name}):new M({content:`${e}
27
- Please fix your mistakes.`,tool_call_id:t.id,name:t.name})}var so=class extends we{options;tools;trace=!1;signal;handleToolErrors=Uo;wrapToolCall;constructor(e,t){let{name:o,tags:n,handleToolErrors:r,signal:s,wrapToolCall:a}=t??{};super({name:o,tags:n,func:(l,u)=>this.run(l,u)}),this.options=t,this.tools=e,this.handleToolErrors=r??this.handleToolErrors,this.signal=s,this.wrapToolCall=a}#e(e,t,o){if(pt(e)||this.signal?.aborted)throw e;let n=e,r=o;if(o){let s=e;for(;ne.isInstance(s);)s=s.cause;fe.isInstance(s)&&(n=s,r=!1)}if(r&&this.handleToolErrors!==!0||!this.handleToolErrors)throw n;if(typeof this.handleToolErrors=="function"){let s=this.handleToolErrors(n,t);if(s&&M.isInstance(s))return s;throw n}else if(this.handleToolErrors)return new M({name:t.name,content:`${n}
28
- Please fix your mistakes.`,tool_call_id:t.id});throw n}async runTool(e,t,o){let n=t,r={context:n?.context,store:n?.store,configurable:n?.configurable,writer:n?.writer,interrupt:n?.interrupt,signal:n?.signal},s=this.tools.find(u=>u.name===e.name),a=async u=>{let{toolCall:m,tool:c}=u,h=c??this.tools.find(f=>f.name===m.name);if(h===void 0){let f=this.tools.map(g=>g.name);return new M({content:no(m.name,f),tool_call_id:m.id,name:m.name,status:"error"})}let d=h;try{let f=await d.invoke({...m,type:"tool_call"},{...t,config:t,toolCallId:m.id,state:t.configurable?.__pregel_scratchpad?.currentTaskInput,signal:Ue(this.signal,t.signal)});return M.isInstance(f)||H(f)?f:new M({name:d.name,content:typeof f=="string"?f:JSON.stringify(f),tool_call_id:m.id})}catch(f){throw f instanceof wt?new fe(f,m):f}},l={toolCall:e,tool:s,state:o,runtime:r};if(this.wrapToolCall)try{return await this.wrapToolCall(l,a)}catch(u){return this.#e(u,e,!0)}if(!s){let u=this.tools.map(m=>m.name);return new M({content:no(e.name,u),tool_call_id:e.id,name:e.name,status:"error"})}try{return await a(l)}catch(u){return this.#e(u,e,!1)}}async run(e,t){let o;if(Bo(e)){let{lg_tool_call:s,jumpTo:a,...l}=e;o=[await this.runTool(e.lg_tool_call,t,l)]}else{let s;if(ro(e))s=e;else if($o(e))s=e.messages;else throw new Error("ToolNode only accepts BaseMessage[] or { messages: BaseMessage[] } as input.");let a=new Set(s.filter(u=>u.getType()==="tool").map(u=>u.tool_call_id)),l;for(let u=s.length-1;u>=0;u-=1){let m=s[u];if(T.isInstance(m)){l=m;break}}if(!T.isInstance(l))throw new Error("ToolNode only accepts AIMessages as input.");o=await Promise.all(l.tool_calls?.filter(u=>u.id==null||!a.has(u.id)).map(u=>this.runTool(u,t,e))??[])}if(!o.some(H))return Array.isArray(e)?o:{messages:o};let n=[],r=null;for(let s of o)H(s)?s.graph===L.PARENT&&Array.isArray(s.goto)&&s.goto.every(a=>zo(a))?r?r.goto.push(...s.goto):r=new L({graph:L.PARENT,goto:s.goto}):n.push(s):n.push(Array.isArray(e)?[s]:{messages:[s]});return r&&n.push(r),n}};function zo(e){return e instanceof $}function Se(e,t){let n=0;if(t&&t.length>0){let r=0;for(let s of t){let a=st(s)?At(s):s;r+=JSON.stringify(a).length}n+=r}for(let r of e){let s;typeof r.content=="string"?s=r.content:Array.isArray(r.content)?s=r.content.map(a=>typeof a=="string"?a:a.type==="text"&&"text"in a?a.text:"").join(""):s="",T.isInstance(r)&&Array.isArray(r.tool_calls)&&r.tool_calls.length>0&&(s+=JSON.stringify(r.tool_calls)),M.isInstance(r)&&(s+=r.tool_call_id??""),n+=s.length}return Math.ceil(n/4)}function X(e){if(!(!e||typeof e=="function"))return e.canJumpTo}function re(e){return typeof e=="function"?e:e.hook}var Fo=class{},Wo=class{},se=class extends we{constructor(e){super(e)}async invokeMiddleware(e,t){let o={};if(this.middleware.contextSchema&&F(this.middleware.contextSchema)){let u=de(this.middleware.contextSchema);if(u){let m={},c=t?.context||{};for(let h of Object.keys(u))h in c&&(m[h]=c[h]);o=te(this.middleware.contextSchema,m)}}let n={...e,messages:e.messages},r={context:o,store:t?.store,configurable:t?.configurable,writer:t?.writer,interrupt:t?.interrupt,signal:t?.signal},s=await this.runHook(n,Object.freeze(Object.assign(new Wo,{...r,context:Object.freeze(Object.assign(new Fo,o))})));if(!s)return{jumpTo:void 0};let a,l;if(this.name?.startsWith("BeforeAgentNode_")?(a=X(this.middleware.beforeAgent),l="beforeAgent.canJumpTo"):this.name?.startsWith("BeforeModelNode_")?(a=X(this.middleware.beforeModel),l="beforeModel.canJumpTo"):this.name?.startsWith("AfterAgentNode_")?(a=X(this.middleware.afterAgent),l="afterAgent.canJumpTo"):this.name?.startsWith("AfterModelNode_")&&(a=X(this.middleware.afterModel),l="afterModel.canJumpTo"),typeof s.jumpTo=="string"&&!a?.includes(s.jumpTo)){let u=a&&a.length>0?`must be one of: ${a?.join(", ")}.`:l?`no ${l} defined in middleware ${this.middleware.name}`:"";throw new Error(`Invalid jump target: ${s.jumpTo}, ${u}.`)}if(typeof s=="object"&&"type"in s){if(s.type==="terminate"){if(s.error)throw s.error;return{...n,...s.result||{},jumpTo:s.jumpTo}}throw new Error(`Invalid control action: ${JSON.stringify(s)}`)}return{...n,...s,jumpTo:s.jumpTo}}get nodeOptions(){return{input:Xt(this.middleware.stateSchema)}}};var ao=class extends se{middleware;lc_namespace=["langchain","agents","beforeAgentNodes"];constructor(e){super({name:`BeforeAgentNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.beforeAgent)(e,t)}};var io=class extends se{middleware;lc_namespace=["langchain","agents","beforeModelNodes"];constructor(e){super({name:`BeforeModelNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.beforeModel)(e,t)}};var lo=class extends se{middleware;lc_namespace=["langchain","agents","afterModelNodes"];constructor(e){super({name:`AfterModelNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.afterModel)(e,t)}};var co=class extends se{middleware;lc_namespace=["langchain","agents","afterAgentNodes"];constructor(e){super({name:`AfterAgentNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.afterAgent)(e,t)}};var uo=class mo{options;#e;#o="v2";#r;#t;constructor(t,o){if(this.options=t,this.#t=B(o??{},{metadata:{ls_integration:"langchain_create_agent"},configurable:{ls_agent_type:"root"}}),t.name&&(this.#t=B(this.#t,{metadata:{lc_agent_name:t.name}})),this.#o=t.version??this.#o,!t.model)throw new Error("`model` option is required to create an agent.");typeof t.model!="string"&&Be(t.model);let n=this.options.middleware?.filter(p=>p.tools).flatMap(p=>p.tools)??[],r=[...t.tools??[],...n],s=new Set(r.filter(ie).filter(p=>"returnDirect"in p&&p.returnDirect).map(p=>p.name)),a=!!this.options.middleware?.some(p=>p.wrapModelCall),{state:l,input:u,output:m}=Ft(this.options.responseFormat!==void 0||a,this.options.stateSchema,this.options.middleware),c=new Nt(l,{input:u,output:m,context:this.options.contextSchema}),h=[],d=[],f=[],g=[],x=[];this.#r=new oo({model:this.options.model,systemMessage:Jt(this.options.systemPrompt),includeAgentName:this.options.includeAgentName,name:this.options.name,responseFormat:this.options.responseFormat,middleware:this.options.middleware,toolClasses:r,shouldReturnDirect:s,signal:this.options.signal,wrapModelCallHookMiddleware:x});let y=new Set,w=this.options.middleware??[];for(let p=0;p<w.length;p++){let C,I,k,_,v=w[p];if(y.has(v.name))throw new Error(`Middleware ${v.name} is defined multiple times`);if(y.add(v.name),v.beforeAgent){C=new ao(v);let S=`${v.name}.before_agent`;h.push({index:p,name:S,allowed:X(v.beforeAgent)}),c.addNode(S,C,C.nodeOptions)}if(v.beforeModel){I=new io(v);let S=`${v.name}.before_model`;d.push({index:p,name:S,allowed:X(v.beforeModel)}),c.addNode(S,I,I.nodeOptions)}if(v.afterModel){k=new lo(v);let S=`${v.name}.after_model`;f.push({index:p,name:S,allowed:X(v.afterModel)}),c.addNode(S,k,k.nodeOptions)}if(v.afterAgent){_=new co(v);let S=`${v.name}.after_agent`;g.push({index:p,name:S,allowed:X(v.afterAgent)}),c.addNode(S,_,_.nodeOptions)}v.wrapModelCall&&x.push(v)}c.addNode(P,this.#r);let O=w.some(p=>p.wrapToolCall),A=r.filter(ie);if(A.length>0||O){let p=new so(A,{signal:this.options.signal,wrapToolCall:Kt(w)});c.addNode(D,p)}let N;h.length>0?N=h[0].name:d.length>0?N=d[0].name:N=P;let K=d.length>0?d[0].name:P,j=g.length>0?g[g.length-1].name:R;c.addEdge(ft,N);let b=A.length>0||O;for(let p=0;p<h.length;p++){let C=h[p],I=C.name,k=p===h.length-1?K:h[p+1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._.map(S=>S===R?j:S)]));c.addConditionalEdges(I,this.#c(A,k,j,b),v)}else c.addEdge(I,k)}for(let p=0;p<d.length;p++){let C=d[p],I=C.name,k=p===d.length-1?P:d[p+1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#d(A,k,b),v)}else c.addEdge(I,k)}let J=f.at(-1);if(f.length>0&&J)c.addEdge(P,J.name);else{let p=this.#s(A,!1,b).map(C=>C===R?j:C);p.length===1?c.addEdge(P,p[0]):c.addConditionalEdges(P,this.#i(j),p)}for(let p=f.length-1;p>0;p--){let C=f[p],I=C.name,k=f[p-1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#n(A,C.allowed,k,b),v)}else c.addEdge(I,k)}if(f.length>0){let p=f[0],C=p.name,I=this.#s(A,!0,b).filter(v=>v!=="tools"||b),k=!!(p.allowed&&p.allowed.length>0),_=I.map(v=>v===R?j:v);c.addConditionalEdges(C,this.#l(A,k,j,b),_)}for(let p=g.length-1;p>0;p--){let C=g[p],I=C.name,k=g[p-1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#n(A,C.allowed,k,b),v)}else c.addEdge(I,k)}if(g.length>0){let p=g[0],C=p.name;if(p.allowed&&p.allowed.length>0){let I=p.allowed.map(_=>V(_)).filter(_=>_!=="tools"||b),k=Array.from(new Set([R,...I]));c.addConditionalEdges(C,this.#n(A,p.allowed,R,b),k)}else c.addEdge(C,R)}if(b){let p=K;s.size>0?c.addConditionalEdges(D,this.#a(s,j,p),[p,j]):c.addEdge(D,p)}let le=(this.options.middleware??[]).flatMap(p=>p.streamTransformers??[]),Ee=[ae([]),he([]),...le,...this.options.streamTransformers??[]];this.#e=c.compile({checkpointer:this.options.checkpointer,store:this.options.store,name:this.options.name,description:this.options.description,transformers:Ee});let ye=Yt(this.#t);Object.keys(ye).length>0&&(this.#e=this.#e.withConfig(ye))}get graph(){return this.#e}get checkpointer(){return this.#e.checkpointer}set checkpointer(t){this.#e.checkpointer=t}get store(){return this.#e.store}set store(t){this.#e.store=t}withConfig(t){return new mo(this.options,B(this.#t,t))}#s(t,o=!1,n=t.length>0){let r=[];return n&&r.push(D),o&&r.push(P),r.push(R),r}#a(t,o,n){return r=>{let s=r.messages,a=s[s.length-1];return M.isInstance(a)&&a.name&&t.has(a.name)?this.options.responseFormat?n:o:n}}#i(t=R){return o=>{let n=o.messages.at(-1);if(!T.isInstance(n)||!n.tool_calls||n.tool_calls.length===0||n.tool_calls.every(s=>s.name.startsWith("extract-")))return t;if(this.#o==="v1")return D;let r=n.tool_calls.filter(s=>!s.name.startsWith("extract-"));return r.length===0?t:r.map(s=>new $(D,{...o,lg_tool_call:s}))}}#l(t,o,n,r=t.length>0){let s=!!this.options.responseFormat;return a=>{let l=a,u=l.messages,m=u.at(-1);if(T.isInstance(m)&&(!m.tool_calls||m.tool_calls.length===0))return n;if(o&&l.jumpTo){let w=V(l.jumpTo);return w===R?n:w==="tools"?r?new $(D,{...a,jumpTo:void 0}):n:new $(P,{...a,jumpTo:void 0})}let c=u.filter(M.isInstance),h=u.filter(T.isInstance).at(-1),d=h?.tool_calls?.filter(w=>!c.some(O=>O.tool_call_id===w.id));if(d&&d.length>0)return this.#o==="v1"?D:d.map(w=>new $(D,{...a,lg_tool_call:w}));let f=h?.tool_calls?.some(w=>w.name.startsWith("extract-"));if(d&&d.length===0&&!f&&s)return P;if(!T.isInstance(m)||!m.tool_calls||m.tool_calls.length===0)return n;let g=m.tool_calls.every(w=>w.name.startsWith("extract-")),x=m.tool_calls.some(w=>!w.name.startsWith("extract-"));if(g||!x)return n;if(this.#o==="v1")return D;let y=m.tool_calls.filter(w=>!w.name.startsWith("extract-"));return y.length===0?n:y.map(w=>new $(D,{...a,lg_tool_call:w}))}}#n(t,o,n,r=t.length>0){let s=new Set(o.map(a=>V(a)));return a=>{let l=a;if(l.jumpTo){let u=V(l.jumpTo);if(u===R&&s.has(R))return R;if(u==="tools"&&s.has("tools"))return r?new $(D,{...a,jumpTo:void 0}):R;if(u==="model_request"&&s.has("model_request"))return new $(P,{...a,jumpTo:void 0})}return n}}#c(t,o,n,r=t.length>0){return s=>{let a=s;if(!a.jumpTo)return o;let l=V(a.jumpTo);return l===R?n:l==="tools"?r?new $(D,{...s,jumpTo:void 0}):n:new $(P,{...s,jumpTo:void 0})}}#d(t,o,n=t.length>0){return r=>{let s=r;if(!s.jumpTo)return o;let a=V(s.jumpTo);return a===R?R:a==="tools"?n?new $(D,{...r,jumpTo:void 0}):R:new $(P,{...r,jumpTo:void 0})}}async#u(t,o){if(!this.options.middleware||this.options.middleware.length===0||t instanceof L||!t)return t;let n=await Zt(this.options.middleware,t),r={...(await this.#e.getState(o).catch(()=>({values:{}}))).values,...t};if(!r)return r;for(let[s,a]of Object.entries(n))s in r||(r[s]=a);return r}async invoke(t,o){let n=B(this.#t,o),r=await this.#u(t,n);return this.#e.invoke(r,n)}async stream(t,o){let n=B(this.#t,o),r=await this.#u(t,n);return this.#e.stream(r,n)}streamEvents(t,o,n){if(o?.version!=="v3"||n!=null){let r=B(this.#t,o),s=o?.version==="v1"||o?.version==="v2"?o.version:"v2";return this.#e.streamEvents(t,{...r,version:s},n)}return(async()=>{let{transformers:r,version:s,...a}=o??{},l=B(this.#t,a),u=await this.#u(t,l);return await this.#e.streamEvents(u,{...l,version:"v3",transformers:r})})()}async drawMermaidPng(t){let o=await(await(await this.#e.getGraphAsync()).drawMermaidPng(t)).arrayBuffer();return new Uint8Array(o)}async drawMermaid(t){return(await this.#e.getGraphAsync()).drawMermaid(t)}getGraphAsync(t){return this.#e.getGraphAsync(t)}getState(t,o){return this.#e.getState(t,o)}getStateHistory(t,o){return this.#e.getStateHistory(t,o)}getSubgraphs(t,o){return this.#e.getSubgraphs(t,o)}getSubgraphsAsync(t,o){return this.#e.getSubgraphsAsync(t,o)}updateState(t,o,n){return this.#e.updateState(t,o,n)}get builder(){return this.#e.builder}};function Vo(e){return new uo(e)}var Yo=i.function().args(i.custom()).returns(i.union([i.boolean(),i.promise(i.boolean())])),Zo=i.function().args(i.custom(),i.custom(),i.custom()).returns(i.union([i.string(),i.promise(i.string())])),Xo=["approve","edit","reject"],Qo=i.enum(Xo),qo=i.object({allowedDecisions:i.array(Qo),description:i.union([i.string(),Zo]).optional(),argsSchema:i.record(i.any()).optional(),when:Yo.optional()}),qa=i.object({interruptOn:i.record(i.union([i.boolean(),qo])).optional(),descriptionPrefix:i.string().default("Tool execution requires approval")});var We="nostream",He=i.object({maxRetries:i.number().min(0).default(2),retryOn:i.union([i.function().args(i.instanceof(Error)).returns(i.boolean()),i.array(i.custom())]).default(()=>e=>gt(e)??!0),backoffFactor:i.number().min(0).default(2),initialDelayMs:i.number().min(0).default(1e3),maxDelayMs:i.number().min(0).default(6e4),jitter:i.boolean().default(!0)});var Ge=`<role>
26
+ Supported model providers are: ${l}`)}let{modelProvider:s,...a}=o;return new(await jo(r.className,n))({model:e,...a,...n==="langsmith"?No(a):{}})}function Do(e){return e.startsWith("gpt-3")||e.startsWith("gpt-4")||e.startsWith("gpt-5")||e.startsWith("o1")||e.startsWith("o3")||e.startsWith("o4")?"openai":e.startsWith("claude")?"anthropic":e.startsWith("command")?"cohere":e.startsWith("accounts/fireworks")?"fireworks":e.startsWith("gemini")?"google-vertexai":e.startsWith("amazon.")?"bedrock":e.startsWith("mistral")?"mistralai":e.startsWith("sonar")||e.startsWith("pplx")?"perplexity":void 0}var eo=class ze extends rt{_llmType(){return"chat_model"}lc_namespace=["langchain","chat_models"];_defaultConfig={};_configurableFields="any";_configPrefix;_queuedMethodOperations={};_modelInstanceCache=new Map;_profile;constructor(t){super(t),this._defaultConfig=t.defaultConfig??{},t.configurableFields==="any"?this._configurableFields="any":this._configurableFields=t.configurableFields??["model","modelProvider"],t.configPrefix?this._configPrefix=t.configPrefix.endsWith("_")?t.configPrefix:`${t.configPrefix}_`:this._configPrefix="",this._queuedMethodOperations=t.queuedMethodOperations??this._queuedMethodOperations,this._profile=t.profile??void 0,this.metadata={...this.metadata,ls_integration:"langchain_init_chat_model"}}async _getModelInstance(t){let o=this._getCacheKey(t),n=this._modelInstanceCache.get(o);if(n)return n;let r={...this._defaultConfig,...this._modelParams(t)},s=await Lo(r.model,r.modelProvider,r);for(let[a,l]of Object.entries(this._queuedMethodOperations))a in s&&typeof s[a]=="function"&&(s=await s[a](...l));return this._modelInstanceCache.set(o,s),s}async _generate(t,o,n){return(await this._getModelInstance(o))._generate(t,o??{},n)}bindTools(t,o){let n={...this._queuedMethodOperations};return n.bindTools=[t,o],new ze({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:n})}withStructuredOutput=(t,...o)=>{let n={...this._queuedMethodOperations};return n.withStructuredOutput=[t,...o],new ze({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:n})};_modelParams(t){let o=t?.configurable??{},n={};for(let[r,s]of Object.entries(o))if(r.startsWith(this._configPrefix)){let a=this._removePrefix(r,this._configPrefix);n[a]=s}return this._configurableFields!=="any"&&(n=Object.fromEntries(Object.entries(n).filter(([r])=>this._configurableFields.includes(r)))),n}_removePrefix(t,o){return t.startsWith(o)?t.slice(o.length):t}withConfig(t){let o={...t||{}},n=this._modelParams(o),r=Object.fromEntries(Object.entries(o).filter(([s])=>s!=="configurable"));return r.configurable=Object.fromEntries(Object.entries(o.configurable||{}).filter(([s])=>this._configPrefix&&!Object.keys(n).includes(this._removePrefix(s,this._configPrefix)))),new Z({config:o,bound:new ze({defaultConfig:{...this._defaultConfig,...n},configurableFields:Array.isArray(this._configurableFields)?[...this._configurableFields]:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:this._queuedMethodOperations})})}async invoke(t,o){let n=await this._getModelInstance(o),r=ce(o);return n.invoke(t,r)}async stream(t,o){let n=new Tt({generator:await(await this._getModelInstance(o)).stream(t,o),config:o});return await n.setup,et.fromAsyncGenerator(n)}async batch(t,o,n){return super.batch(t,o,n)}async*transform(t,o){let n=await this._getModelInstance(o),r=ce(o);yield*n.transform(t,r)}async*streamLog(t,o,n){let r=await this._getModelInstance(o),s=ce(o);yield*r.streamLog(t,s,{...n,_schemaFormat:"original",includeNames:n?.includeNames,includeTypes:n?.includeTypes,includeTags:n?.includeTags,excludeNames:n?.excludeNames,excludeTypes:n?.excludeTypes,excludeTags:n?.excludeTags})}streamEvents(t,o,n){if(o?.version==="v1"||o?.version==="v2"){let a=this,l=o;async function*u(){let m=await a._getModelInstance(l),c={...ce(l),version:l.version,...l.encoding!==void 0?{encoding:l.encoding}:{}},h;l.version==="v1"&&l.encoding==="text/event-stream"||l.version==="v1"||l.version==="v2"&&l.encoding,h=m.streamEvents(t,c,n);for await(let d of h)yield d}return et.fromAsyncGenerator(u())}let r=this;async function*s(){let a=await r._getModelInstance(o),l=ce(o);yield*a.streamEvents(t,l)}return new Et(s())}get profile(){if(this._profile)return this._profile;let t=this._getCacheKey({});return this._modelInstanceCache.get(t)?.profile??{}}_getCacheKey(t){let o=t??{};if(o.configurable){let{configurable:n}=o,r={};for(let[s,a]of Object.entries(n))s.startsWith("__pregel_")||(r[s]=a);o={...o,configurable:r}}return JSON.stringify(o)}};async function ee(e,t){let{configurableFields:o,configPrefix:n,modelProvider:r,profile:s,...a}={configPrefix:"",...t??{}};if(r===void 0&&e?.includes(":")){let[c,...h]=e.split(":"),d=h.length===0?[c]:[c,h.join(":")];to.includes(d[0])&&([r,e]=d)}let l=Array.isArray(o)?[...o]:o;!e&&l===void 0&&(l=["model","modelProvider"]),n&&l===void 0&&console.warn(`{ configPrefix: ${n} } has been set but no fields are configurable. Set { configurableFields: [...] } to specify the model params that are configurable.`);let u={...a},m;return l===void 0?m=new eo({defaultConfig:{...u,model:e,modelProvider:r},configPrefix:n,profile:s}):(e&&(u.model=e),r&&(u.modelProvider=r),m=new eo({defaultConfig:u,configPrefix:n,configurableFields:l,profile:s})),await m._getModelInstance(),m}var ye=class extends be{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;#e;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.recurse=e.recurse??this.recurse}getState(){return this.#e}setState(e){this.#e={...this.#e,...e}}async invoke(e,t){let o=B(this.config,t),n=await qe.runWithConfig(o,async()=>this.func(e,o));return be.isRunnable(n)&&this.recurse?await qe.runWithConfig(o,async()=>n.invoke(e,o)):(this.#e=n,n)}};function oo(e,t){let o,n;if(t==="inline")o=Gt,n=Jt;else throw new Error(`Invalid agent name mode: ${t}. Needs to be one of: "inline"`);function r(s){return s.map(o)}return me.from([Ne.from(r),e,Ne.from(n)])}function $o(e){return T.isInstance(e)||H(e)||typeof e=="object"&&e!==null&&"structuredResponse"in e&&"messages"in e}var P="model_request",no=class extends ye{#e;#o;constructor(e){super({name:e.name??"model",func:(t,o)=>this.#t(t,o)}),this.#e=e,this.#o=e.systemMessage}async#r(e,t=this.#e.responseFormat){if(!t)return;let o;fe(e)?o=await e._getModelInstance():typeof e!="string"&&(o=e);let n=$t(t,void 0,o);if(n.length!==0)return n.every(r=>r instanceof V)?{type:"native",strategy:n[0]}:{type:"tool",tools:n.filter(r=>r instanceof G).reduce((r,s)=>(r[s.name]=s,r),{})}}async#t(e,t){let o=e.messages.at(-1);if(o&&M.isInstance(o)&&o.name&&this.#e.shouldReturnDirect.has(o.name))return[new L({update:{messages:[]}})];let{response:n,lastAiMessage:r,collectedCommands:s}=await this.#a(e,t);if(typeof n=="object"&&n!==null&&"structuredResponse"in n&&"messages"in n){let{structuredResponse:u,messages:m}=n;return{messages:[...e.messages,...m],structuredResponse:u}}let a=[],l=T.isInstance(n)?n:r;return l&&(l.name=this.name,l.lc_kwargs.name=this.name,this.#c(e,l)?a.push(new L({update:{messages:[new T({content:"Sorry, need more steps to process this request.",name:this.name,id:l.id})]}})):a.push(new L({update:{messages:[l]}}))),H(n)&&!s.includes(n)&&a.push(n),a.push(...s),a}#s(){if(typeof this.#e.model=="string")return ee(this.#e.model);if(this.#e.model)return this.#e.model;throw new Error("No model option was provided, either via `model` option.")}async#a(e,t,o={}){let n=await this.#s(),r=t,s=this.#o,a=null,l=[],u=async d=>{Be(d.model);let f=await this.#r(d.model,d.responseFormat),g=await this.#d(d.model,d,f),x=[...s.text===""?[]:[s],...d.messages],y=Ue(this.#e.signal,t.signal),w=await Mt(g.invoke(x,{...t,signal:y}),y);if(a=w,f?.type==="native"){let N=f.strategy.parse(w);if(N)return{structuredResponse:N,messages:[w]};if(!w.tool_calls||w.tool_calls.length===0)throw new pe(typeof f.strategy.schema?.title=="string"?f.strategy.schema.title:"providerStrategy",["Model output did not satisfy the provided response schema."]);return w}if(!f||!w.tool_calls)return w;let O=w.tool_calls.filter(N=>N.name in f.tools);if(O.length===0)return w;if(O.length>1)return this.#i(w,O,f);let A=f.tools[O[0].name]?.options?.toolMessageContent;return this.#l(w,O[0],f,A??o.lastMessage)},m=this.#e.wrapModelCallHookMiddleware??[],c=u;for(let d=m.length-1;d>=0;d--){let f=m[d],g=Array.isArray(f)?f[0]:f;if(g.wrapModelCall){let x=c,y=g;c=async w=>{let O=s,A=y.contextSchema?te(y.contextSchema,r?.context||{}):r?.context,N=Object.freeze({context:A,store:r.store,configurable:r.configurable,writer:r.writer,interrupt:r.interrupt,signal:r.signal}),Y={...w,state:{...g.stateSchema?te(qt(g.stateSchema),e):{},messages:e.messages},runtime:N},j=async b=>{s=O;let J=b.tools??[],le=new Map(this.#e.toolClasses.filter(ie).map(_=>[_.name,_])),Ae=J.filter(_=>ie(_)&&!le.has(_.name)),Me=J.filter(_=>{if(!ie(_))return!1;let v=le.get(_.name);return v!=null&&v!==_});if(Ae.length>0&&!this.#e.middleware?.some(_=>_.wrapToolCall!=null))throw new Error(`You have added a new tool in "wrapModelCall" hook of middleware "${y.name}": ${Ae.map(_=>_.name).join(", ")}. This is not supported unless a middleware provides a "wrapToolCall" handler to execute it.`);if(Me.length>0)throw new Error(`You have modified a tool in "wrapModelCall" hook of middleware "${y.name}": ${Me.map(_=>_.name).join(", ")}. This is not supported.`);let p=b,C=b.systemPrompt!==s.text,I=b.systemMessage!==s;if(C&&I)throw new Error("Cannot change both systemPrompt and systemMessage in the same request.");C&&(s=new z({content:[{type:"text",text:b.systemPrompt}]}),p={...b,systemPrompt:s.text,systemMessage:s}),I&&(s=new z({...b.systemMessage}),p={...b,systemPrompt:s.text,systemMessage:s});let k=await x(p);return H(k)&&a?(l.includes(k)||l.push(k),a):k};if(!y.wrapModelCall)return j(Y);try{let b=await y.wrapModelCall(Y,j);if(!$o(b))throw new Error(`Invalid response from "wrapModelCall" in middleware "${y.name}": expected AIMessage or Command, got ${typeof b}`);return T.isInstance(b)?a=b:H(b)&&l.push(b),b}catch(b){throw ne.wrap(b,y.name)}}}}s=this.#o;let h={model:n,responseFormat:this.#e.responseFormat,systemPrompt:s?.text,systemMessage:s,messages:e.messages,tools:this.#e.toolClasses,state:e,runtime:Object.freeze({context:r?.context,store:r.store,configurable:r.configurable,writer:r.writer,interrupt:r.interrupt,signal:r.signal})};return{response:await c(h),lastAiMessage:a,collectedCommands:l}}#i(e,t,o){let n=new xe(t.map(r=>r.name));return this.#n(n,e,t[0],o)}#l(e,t,o,n){let r=o.tools[t.name];try{let s=r.parse(t.args);return{structuredResponse:s,messages:[e,new M({tool_call_id:t.id??"",content:JSON.stringify(s),name:t.name}),new T(n??`Returning structured response: ${JSON.stringify(s)}`)]}}catch(s){return this.#n(s,e,t,o)}}async#n(e,t,o,n){let r=Object.values(n.tools).at(0)?.options?.handleError,s=o.id;if(!s)throw new Error("Tool call ID is required to handle tool output errors. Please provide a tool call ID.");if(r===!1)throw e;if(r===void 0||typeof r=="boolean"&&r||Array.isArray(r)&&r.some(a=>a instanceof xe))return new L({update:{messages:[t,new M({content:e.message,tool_call_id:s})]},goto:P});if(typeof r=="string")return new L({update:{messages:[t,new M({content:r,tool_call_id:s})]},goto:P});if(typeof r=="function"){let a=await r(e);if(typeof a!="string")throw new Error("Error handler must return a string.");return new L({update:{messages:[t,new M({content:a,tool_call_id:s})]},goto:P})}return new L({update:{messages:[t,new M({content:e.message,tool_call_id:s})]},goto:P})}#c(e,t){let o=T.isInstance(t)&&t.tool_calls?.every(r=>this.#e.shouldReturnDirect.has(r.name)),n="remainingSteps"in e?e.remainingSteps:void 0;return!!(n&&(n<1&&o||n<2&&we(e.messages.at(-1))))}async#d(e,t,o){let n={},r=Object.values(o&&"tools"in o?o.tools:{}),s=[...t?.tools??this.#e.toolClasses,...r.map(u=>u.tool)],a=t?.toolChoice||(r.length>0?"any":void 0);if(o?.type==="native"){let u=t?.modelSettings?.strict??o?.strategy?.strict??!0,m={name:o.strategy.schema?.name??"extract",description:_t(o.strategy.schema),schema:o.strategy.schema,strict:u};Object.assign(n,{response_format:{type:"json_schema",json_schema:m},outputConfig:{format:{type:"json_schema",schema:o.strategy.schema}},responseSchema:o.strategy.schema,ls_structured_output_format:{kwargs:{method:"json_schema"},schema:o.strategy.schema},strict:t?.modelSettings?.strict})}let l=await Kt(e,s,{...n,...t?.modelSettings,tool_choice:a});return this.#e.includeAgentName==="inline"?oo(l,this.#e.includeAgentName):l}getState(){let e=super.getState();return{messages:[],...e&&!H(e)?e:{}}}};var ro=(e,t)=>`Error: ${e} is not a valid tool, try one of [${t.join(", ")}].`,D="tools",so=e=>Array.isArray(e)&&e.every(Ze.isInstance),Bo=e=>typeof e=="object"&&e!=null&&"messages"in e&&so(e.messages),Uo=e=>typeof e=="object"&&e!=null&&"lg_tool_call"in e;function zo(e,t){return he.isInstance(e)?new M({content:e.message,tool_call_id:t.id,name:t.name}):new M({content:`${e}
27
+ Please fix your mistakes.`,tool_call_id:t.id,name:t.name})}var ao=class extends ye{options;tools;trace=!1;signal;handleToolErrors=zo;wrapToolCall;constructor(e,t){let{name:o,tags:n,handleToolErrors:r,signal:s,wrapToolCall:a}=t??{};super({name:o,tags:n,func:(l,u)=>this.run(l,u)}),this.options=t,this.tools=e,this.handleToolErrors=r??this.handleToolErrors,this.signal=s,this.wrapToolCall=a}#e(e,t,o){if(pt(e)||this.signal?.aborted)throw e;let n=e,r=o;if(o){let s=e;for(;ne.isInstance(s);)s=s.cause;he.isInstance(s)&&(n=s,r=!1)}if(r&&this.handleToolErrors!==!0||!this.handleToolErrors)throw n;if(typeof this.handleToolErrors=="function"){let s=this.handleToolErrors(n,t);if(s&&M.isInstance(s))return s;throw n}else if(this.handleToolErrors)return new M({name:t.name,content:`${n}
28
+ Please fix your mistakes.`,tool_call_id:t.id});throw n}async runTool(e,t,o){let n=t,r={context:n?.context,store:n?.store,configurable:n?.configurable,writer:n?.writer,interrupt:n?.interrupt,signal:n?.signal},s=this.tools.find(u=>u.name===e.name),a=async u=>{let{toolCall:m,tool:c}=u,h=c??this.tools.find(f=>f.name===m.name);if(h===void 0){let f=this.tools.map(g=>g.name);return new M({content:ro(m.name,f),tool_call_id:m.id,name:m.name,status:"error"})}let d=h;try{let f=await d.invoke({...m,type:"tool_call"},{...t,config:t,toolCallId:m.id,state:t.configurable?.__pregel_scratchpad?.currentTaskInput,signal:Ue(this.signal,t.signal)});return M.isInstance(f)||H(f)?f:new M({name:d.name,content:typeof f=="string"?f:JSON.stringify(f),tool_call_id:m.id})}catch(f){throw f instanceof wt?new he(f,m):f}},l={toolCall:e,tool:s,state:o,runtime:r};if(this.wrapToolCall)try{return await this.wrapToolCall(l,a)}catch(u){return this.#e(u,e,!0)}if(!s){let u=this.tools.map(m=>m.name);return new M({content:ro(e.name,u),tool_call_id:e.id,name:e.name,status:"error"})}try{return await a(l)}catch(u){return this.#e(u,e,!1)}}async run(e,t){let o;if(Uo(e)){let{lg_tool_call:s,jumpTo:a,...l}=e;o=[await this.runTool(e.lg_tool_call,t,l)]}else{let s;if(so(e))s=e;else if(Bo(e))s=e.messages;else throw new Error("ToolNode only accepts BaseMessage[] or { messages: BaseMessage[] } as input.");let a=new Set(s.filter(u=>u.getType()==="tool").map(u=>u.tool_call_id)),l;for(let u=s.length-1;u>=0;u-=1){let m=s[u];if(T.isInstance(m)){l=m;break}}if(!T.isInstance(l))throw new Error("ToolNode only accepts AIMessages as input.");o=await Promise.all(l.tool_calls?.filter(u=>u.id==null||!a.has(u.id)).map(u=>this.runTool(u,t,e))??[])}if(!o.some(H))return Array.isArray(e)?o:{messages:o};let n=[],r=null;for(let s of o)H(s)?s.graph===L.PARENT&&Array.isArray(s.goto)&&s.goto.every(a=>Fo(a))?r?r.goto.push(...s.goto):r=new L({graph:L.PARENT,goto:s.goto}):n.push(s):n.push(Array.isArray(e)?[s]:{messages:[s]});return r&&n.push(r),n}};function Fo(e){return e instanceof $}function ke(e,t){let n=0;if(t&&t.length>0){let r=0;for(let s of t){let a=st(s)?At(s):s;r+=JSON.stringify(a).length}n+=r}for(let r of e){let s;typeof r.content=="string"?s=r.content:Array.isArray(r.content)?s=r.content.map(a=>typeof a=="string"?a:a.type==="text"&&"text"in a?a.text:"").join(""):s="",T.isInstance(r)&&Array.isArray(r.tool_calls)&&r.tool_calls.length>0&&(s+=JSON.stringify(r.tool_calls)),M.isInstance(r)&&(s+=r.tool_call_id??""),n+=s.length}return Math.ceil(n/4)}function Q(e){if(!(!e||typeof e=="function"))return e.canJumpTo}function re(e){return typeof e=="function"?e:e.hook}var Wo=class{},Ho=class{},se=class extends ye{constructor(e){super(e)}async invokeMiddleware(e,t){let o={};if(this.middleware.contextSchema&&F(this.middleware.contextSchema)){let u=ue(this.middleware.contextSchema);if(u){let m={},c=t?.context||{};for(let h of Object.keys(u))h in c&&(m[h]=c[h]);o=te(this.middleware.contextSchema,m)}}let n={...e,messages:e.messages},r={context:o,store:t?.store,configurable:t?.configurable,writer:t?.writer,interrupt:t?.interrupt,signal:t?.signal},s=await this.runHook(n,Object.freeze(Object.assign(new Ho,{...r,context:Object.freeze(Object.assign(new Wo,o))})));if(!s)return{jumpTo:void 0};let a,l;if(this.name?.startsWith("BeforeAgentNode_")?(a=Q(this.middleware.beforeAgent),l="beforeAgent.canJumpTo"):this.name?.startsWith("BeforeModelNode_")?(a=Q(this.middleware.beforeModel),l="beforeModel.canJumpTo"):this.name?.startsWith("AfterAgentNode_")?(a=Q(this.middleware.afterAgent),l="afterAgent.canJumpTo"):this.name?.startsWith("AfterModelNode_")&&(a=Q(this.middleware.afterModel),l="afterModel.canJumpTo"),typeof s.jumpTo=="string"&&!a?.includes(s.jumpTo)){let u=a&&a.length>0?`must be one of: ${a?.join(", ")}.`:l?`no ${l} defined in middleware ${this.middleware.name}`:"";throw new Error(`Invalid jump target: ${s.jumpTo}, ${u}.`)}if(typeof s=="object"&&"type"in s){if(s.type==="terminate"){if(s.error)throw s.error;return{...n,...s.result||{},jumpTo:s.jumpTo}}throw new Error(`Invalid control action: ${JSON.stringify(s)}`)}return{...n,...s,jumpTo:s.jumpTo}}get nodeOptions(){return{input:Qt(this.middleware.stateSchema)}}};var io=class extends se{middleware;lc_namespace=["langchain","agents","beforeAgentNodes"];constructor(e){super({name:`BeforeAgentNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.beforeAgent)(e,t)}};var lo=class extends se{middleware;lc_namespace=["langchain","agents","beforeModelNodes"];constructor(e){super({name:`BeforeModelNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.beforeModel)(e,t)}};var co=class extends se{middleware;lc_namespace=["langchain","agents","afterModelNodes"];constructor(e){super({name:`AfterModelNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.afterModel)(e,t)}};var uo=class extends se{middleware;lc_namespace=["langchain","agents","afterAgentNodes"];constructor(e){super({name:`AfterAgentNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.afterAgent)(e,t)}};var mo=class fo{options;#e;#o="v2";#r;#t;constructor(t,o){if(this.options=t,this.#t=B(o??{},{metadata:{ls_integration:"langchain_create_agent"},configurable:{ls_agent_type:"root"}}),t.name&&(this.#t=B(this.#t,{metadata:{lc_agent_name:t.name}})),this.#o=t.version??this.#o,!t.model)throw new Error("`model` option is required to create an agent.");typeof t.model!="string"&&Be(t.model);let n=this.options.middleware?.filter(p=>p.tools).flatMap(p=>p.tools)??[],r=[...t.tools??[],...n],s=new Set(r.filter(ie).filter(p=>"returnDirect"in p&&p.returnDirect).map(p=>p.name)),a=!!this.options.middleware?.some(p=>p.wrapModelCall),{state:l,input:u,output:m}=Wt(this.options.responseFormat!==void 0||a,this.options.stateSchema,this.options.middleware),c=new Nt(l,{input:u,output:m,context:this.options.contextSchema}),h=[],d=[],f=[],g=[],x=[];this.#r=new no({model:this.options.model,systemMessage:Vt(this.options.systemPrompt),includeAgentName:this.options.includeAgentName,name:this.options.name,responseFormat:this.options.responseFormat,middleware:this.options.middleware,toolClasses:r,shouldReturnDirect:s,signal:this.options.signal,wrapModelCallHookMiddleware:x});let y=new Set,w=this.options.middleware??[];for(let p=0;p<w.length;p++){let C,I,k,_,v=w[p];if(y.has(v.name))throw new Error(`Middleware ${v.name} is defined multiple times`);if(y.add(v.name),v.beforeAgent){C=new io(v);let S=`${v.name}.before_agent`;h.push({index:p,name:S,allowed:Q(v.beforeAgent)}),c.addNode(S,C,C.nodeOptions)}if(v.beforeModel){I=new lo(v);let S=`${v.name}.before_model`;d.push({index:p,name:S,allowed:Q(v.beforeModel)}),c.addNode(S,I,I.nodeOptions)}if(v.afterModel){k=new co(v);let S=`${v.name}.after_model`;f.push({index:p,name:S,allowed:Q(v.afterModel)}),c.addNode(S,k,k.nodeOptions)}if(v.afterAgent){_=new uo(v);let S=`${v.name}.after_agent`;g.push({index:p,name:S,allowed:Q(v.afterAgent)}),c.addNode(S,_,_.nodeOptions)}v.wrapModelCall&&x.push(v)}c.addNode(P,this.#r);let O=w.some(p=>p.wrapToolCall),A=r.filter(ie);if(A.length>0||O){let p=new ao(A,{signal:this.options.signal,wrapToolCall:Yt(w)});c.addNode(D,p)}let N;h.length>0?N=h[0].name:d.length>0?N=d[0].name:N=P;let Y=d.length>0?d[0].name:P,j=g.length>0?g[g.length-1].name:R;c.addEdge(ft,N);let b=A.length>0||O;for(let p=0;p<h.length;p++){let C=h[p],I=C.name,k=p===h.length-1?Y:h[p+1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>K(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._.map(S=>S===R?j:S)]));c.addConditionalEdges(I,this.#c(A,k,j,b),v)}else c.addEdge(I,k)}for(let p=0;p<d.length;p++){let C=d[p],I=C.name,k=p===d.length-1?P:d[p+1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>K(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#d(A,k,b),v)}else c.addEdge(I,k)}let J=f.at(-1);if(f.length>0&&J)c.addEdge(P,J.name);else{let p=this.#s(A,!1,b).map(C=>C===R?j:C);p.length===1?c.addEdge(P,p[0]):c.addConditionalEdges(P,this.#i(j),p)}for(let p=f.length-1;p>0;p--){let C=f[p],I=C.name,k=f[p-1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>K(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#n(A,C.allowed,k,b),v)}else c.addEdge(I,k)}if(f.length>0){let p=f[0],C=p.name,I=this.#s(A,!0,b).filter(v=>v!=="tools"||b),k=!!(p.allowed&&p.allowed.length>0),_=I.map(v=>v===R?j:v);c.addConditionalEdges(C,this.#l(A,k,j,b),_)}for(let p=g.length-1;p>0;p--){let C=g[p],I=C.name,k=g[p-1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>K(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#n(A,C.allowed,k,b),v)}else c.addEdge(I,k)}if(g.length>0){let p=g[0],C=p.name;if(p.allowed&&p.allowed.length>0){let I=p.allowed.map(_=>K(_)).filter(_=>_!=="tools"||b),k=Array.from(new Set([R,...I]));c.addConditionalEdges(C,this.#n(A,p.allowed,R,b),k)}else c.addEdge(C,R)}if(b){let p=Y;s.size>0?c.addConditionalEdges(D,this.#a(s,j,p),[p,j]):c.addEdge(D,p)}let le=(this.options.middleware??[]).flatMap(p=>p.streamTransformers??[]),Ae=[ae([]),ge([]),...le,...this.options.streamTransformers??[]];this.#e=c.compile({checkpointer:this.options.checkpointer,store:this.options.store,name:this.options.name,description:this.options.description,transformers:Ae});let Me=Zt(this.#t);Object.keys(Me).length>0&&(this.#e=this.#e.withConfig(Me))}get graph(){return this.#e}get checkpointer(){return this.#e.checkpointer}set checkpointer(t){this.#e.checkpointer=t}get store(){return this.#e.store}set store(t){this.#e.store=t}withConfig(t){return new fo(this.options,B(this.#t,t))}#s(t,o=!1,n=t.length>0){let r=[];return n&&r.push(D),o&&r.push(P),r.push(R),r}#a(t,o,n){return r=>{let s=r.messages,a=s[s.length-1];return M.isInstance(a)&&a.name&&t.has(a.name)?this.options.responseFormat?n:o:n}}#i(t=R){return o=>{let n=o.messages.at(-1);if(!T.isInstance(n)||!n.tool_calls||n.tool_calls.length===0||n.tool_calls.every(s=>s.name.startsWith("extract-")))return t;if(this.#o==="v1")return D;let r=n.tool_calls.filter(s=>!s.name.startsWith("extract-"));return r.length===0?t:r.map(s=>new $(D,{...o,lg_tool_call:s}))}}#l(t,o,n,r=t.length>0){let s=!!this.options.responseFormat;return a=>{let l=a,u=l.messages,m=u.at(-1);if(T.isInstance(m)&&(!m.tool_calls||m.tool_calls.length===0))return n;if(o&&l.jumpTo){let w=K(l.jumpTo);return w===R?n:w==="tools"?r?new $(D,{...a,jumpTo:void 0}):n:new $(P,{...a,jumpTo:void 0})}let c=u.filter(M.isInstance),h=u.filter(T.isInstance).at(-1),d=h?.tool_calls?.filter(w=>!c.some(O=>O.tool_call_id===w.id));if(d&&d.length>0)return this.#o==="v1"?D:d.map(w=>new $(D,{...a,lg_tool_call:w}));let f=h?.tool_calls?.some(w=>w.name.startsWith("extract-"));if(d&&d.length===0&&!f&&s)return P;if(!T.isInstance(m)||!m.tool_calls||m.tool_calls.length===0)return n;let g=m.tool_calls.every(w=>w.name.startsWith("extract-")),x=m.tool_calls.some(w=>!w.name.startsWith("extract-"));if(g||!x)return n;if(this.#o==="v1")return D;let y=m.tool_calls.filter(w=>!w.name.startsWith("extract-"));return y.length===0?n:y.map(w=>new $(D,{...a,lg_tool_call:w}))}}#n(t,o,n,r=t.length>0){let s=new Set(o.map(a=>K(a)));return a=>{let l=a;if(l.jumpTo){let u=K(l.jumpTo);if(u===R&&s.has(R))return R;if(u==="tools"&&s.has("tools"))return r?new $(D,{...a,jumpTo:void 0}):R;if(u==="model_request"&&s.has("model_request"))return new $(P,{...a,jumpTo:void 0})}return n}}#c(t,o,n,r=t.length>0){return s=>{let a=s;if(!a.jumpTo)return o;let l=K(a.jumpTo);return l===R?n:l==="tools"?r?new $(D,{...s,jumpTo:void 0}):n:new $(P,{...s,jumpTo:void 0})}}#d(t,o,n=t.length>0){return r=>{let s=r;if(!s.jumpTo)return o;let a=K(s.jumpTo);return a===R?R:a==="tools"?n?new $(D,{...r,jumpTo:void 0}):R:new $(P,{...r,jumpTo:void 0})}}async#u(t,o){if(!this.options.middleware||this.options.middleware.length===0||t instanceof L||!t)return t;let n=await Xt(this.options.middleware,t),r={...(await this.#e.getState(o).catch(()=>({values:{}}))).values,...t};if(!r)return r;for(let[s,a]of Object.entries(n))s in r||(r[s]=a);return r}async invoke(t,o){let n=B(this.#t,o),r=await this.#u(t,n);return this.#e.invoke(r,n)}async stream(t,o){let n=B(this.#t,o),r=await this.#u(t,n);return this.#e.stream(r,n)}streamEvents(t,o,n){if(o?.version!=="v3"||n!=null){let r=B(this.#t,o),s=o?.version==="v1"||o?.version==="v2"?o.version:"v2";return this.#e.streamEvents(t,{...r,version:s},n)}return(async()=>{let{transformers:r,version:s,...a}=o??{},l=B(this.#t,a),u=await this.#u(t,l);return await this.#e.streamEvents(u,{...l,version:"v3",transformers:r})})()}async drawMermaidPng(t){let o=await(await(await this.#e.getGraphAsync()).drawMermaidPng(t)).arrayBuffer();return new Uint8Array(o)}async drawMermaid(t){return(await this.#e.getGraphAsync()).drawMermaid(t)}getGraphAsync(t){return this.#e.getGraphAsync(t)}getState(t,o){return this.#e.getState(t,o)}getStateHistory(t,o){return this.#e.getStateHistory(t,o)}getSubgraphs(t,o){return this.#e.getSubgraphs(t,o)}getSubgraphsAsync(t,o){return this.#e.getSubgraphsAsync(t,o)}updateState(t,o,n){return this.#e.updateState(t,o,n)}get builder(){return this.#e.builder}};function Vo(e){return new mo(e)}var Yo=i.function().args(i.custom()).returns(i.union([i.boolean(),i.promise(i.boolean())])),Zo=i.function().args(i.custom(),i.custom(),i.custom()).returns(i.union([i.string(),i.promise(i.string())])),Xo=["approve","edit","reject"],Qo=i.enum(Xo),qo=i.object({allowedDecisions:i.array(Qo),description:i.union([i.string(),Zo]).optional(),argsSchema:i.record(i.any()).optional(),when:Yo.optional()}),qa=i.object({interruptOn:i.record(i.union([i.boolean(),qo])).optional(),descriptionPrefix:i.string().default("Tool execution requires approval")});var We="nostream",He=i.object({maxRetries:i.number().min(0).default(2),retryOn:i.union([i.function().args(i.instanceof(Error)).returns(i.boolean()),i.array(i.custom())]).default(()=>e=>gt(e)??!0),backoffFactor:i.number().min(0).default(2),initialDelayMs:i.number().min(0).default(1e3),maxDelayMs:i.number().min(0).default(6e4),jitter:i.boolean().default(!0)});var Ge=`<role>
29
29
  Context Extraction Assistant
30
30
  </role>
31
31
 
@@ -51,6 +51,6 @@ Respond ONLY with the extracted context. Do not include any additional informati
51
51
  <messages>
52
52
  Messages to summarize:
53
53
  {messages}
54
- </messages>`,en="Here is a summary of the conversation to date:",Je=20,tn=4e3,fo=5,on=i.function().args(i.array(i.custom())).returns(i.union([i.number(),i.promise(i.number())])),ke=i.object({fraction:i.number().gt(0,"Fraction must be greater than 0").max(1,"Fraction must be less than or equal to 1").optional(),tokens:i.number().positive("Tokens must be greater than 0").optional(),messages:i.number().int("Messages must be an integer").positive("Messages must be greater than 0").optional()}).refine(e=>[e.fraction,e.tokens,e.messages].filter(t=>t!==void 0).length>=1,{message:"At least one of fraction, tokens, or messages must be provided"}),mt=i.object({fraction:i.number().min(0,"Messages must be non-negative").max(1,"Fraction must be less than or equal to 1").optional(),tokens:i.number().min(0,"Tokens must be greater than or equal to 0").optional(),messages:i.number().int("Messages must be an integer").min(0,"Messages must be non-negative").optional()}).refine(e=>[e.fraction,e.tokens,e.messages].filter(t=>t!==void 0).length===1,{message:"Exactly one of fraction, tokens, or messages must be provided"}),po=i.object({model:i.custom(),trigger:i.union([ke,i.array(ke)]).optional(),keep:mt.optional(),tokenCounter:on.optional(),summaryPrompt:i.string().default(Ge),trimTokensToSummarize:i.number().optional(),summaryPrefix:i.string().optional(),maxTokensBeforeSummary:i.number().optional(),messagesToKeep:i.number().optional()});function Ve(e){if("profile"in e&&typeof e.profile=="object"&&e.profile&&"maxInputTokens"in e.profile&&(typeof e.profile.maxInputTokens=="number"||e.profile.maxInputTokens==null))return e.profile.maxInputTokens??void 0;if("model"in e&&typeof e.model=="string")return nt(e.model);if("modelName"in e&&typeof e.modelName=="string")return nt(e.modelName)}function go(e){let{data:t,error:o}=Ct(po,e);if(o)throw new Error(`Invalid summarization middleware options: ${U.prettifyError(o)}`);return E({name:"SummarizationMiddleware",contextSchema:po.extend({model:i.custom().optional()}),beforeModel:async(n,r)=>{let s=t.trigger,a=t.keep;t.maxTokensBeforeSummary!==void 0&&(console.warn("maxTokensBeforeSummary is deprecated. Use `trigger: { tokens: value }` instead."),s===void 0&&(s={tokens:t.maxTokensBeforeSummary})),t.messagesToKeep!==void 0&&(console.warn("messagesToKeep is deprecated. Use `keep: { messages: value }` instead."),(!a||a&&"messages"in a&&a.messages===Je)&&(a={messages:t.messagesToKeep}));let l=r.context?.trigger!==void 0?r.context.trigger:s,u=r.context?.keep!==void 0?r.context.keep:a??{messages:Je},m=mt.parse(u),c=[];l===void 0?c=[]:Array.isArray(l)?c=l.map(J=>ke.parse(J)):c=[ke.parse(l)];let h=c.some(J=>"fraction"in J)||"fraction"in m,d=typeof t.model=="string"?await ee(t.model):t.model;if(h&&!Ve(d))throw new Error("Model profile information is required to use fractional token limits. Use absolute token counts instead.");let f=r.context?.summaryPrompt===Ge?t.summaryPrompt??Ge:r.context?.summaryPrompt??t.summaryPrompt??Ge,g=r.context.summaryPrefix??t.summaryPrefix??en,x=r.context?.trimTokensToSummarize!==void 0?r.context.trimTokensToSummarize:t.trimTokensToSummarize??tn;nn(n.messages);let y=r.context?.tokenCounter!==void 0?r.context.tokenCounter:t.tokenCounter??Se,w=await y(n.messages);if(!await an(n.messages,w,c,d))return;let{systemPrompt:O,conversationMessages:A}=rn(n.messages),N=await ln(A,m,y,d);if(N<=0)return;let{messagesToSummarize:K,preservedMessages:j}=sn(O,A,N),b=new Q({content:`${g}
54
+ </messages>`,en="Here is a summary of the conversation to date:",Je=20,tn=4e3,po=5,on=i.function().args(i.array(i.custom())).returns(i.union([i.number(),i.promise(i.number())])),Ee=i.object({fraction:i.number().gt(0,"Fraction must be greater than 0").max(1,"Fraction must be less than or equal to 1").optional(),tokens:i.number().positive("Tokens must be greater than 0").optional(),messages:i.number().int("Messages must be an integer").positive("Messages must be greater than 0").optional()}).refine(e=>[e.fraction,e.tokens,e.messages].filter(t=>t!==void 0).length>=1,{message:"At least one of fraction, tokens, or messages must be provided"}),mt=i.object({fraction:i.number().min(0,"Messages must be non-negative").max(1,"Fraction must be less than or equal to 1").optional(),tokens:i.number().min(0,"Tokens must be greater than or equal to 0").optional(),messages:i.number().int("Messages must be an integer").min(0,"Messages must be non-negative").optional()}).refine(e=>[e.fraction,e.tokens,e.messages].filter(t=>t!==void 0).length===1,{message:"Exactly one of fraction, tokens, or messages must be provided"}),ho=i.object({model:i.custom(),trigger:i.union([Ee,i.array(Ee)]).optional(),keep:mt.optional(),tokenCounter:on.optional(),summaryPrompt:i.string().default(Ge),trimTokensToSummarize:i.number().optional(),summaryPrefix:i.string().optional(),maxTokensBeforeSummary:i.number().optional(),messagesToKeep:i.number().optional()});function Ve(e){if("profile"in e&&typeof e.profile=="object"&&e.profile&&"maxInputTokens"in e.profile&&(typeof e.profile.maxInputTokens=="number"||e.profile.maxInputTokens==null))return e.profile.maxInputTokens??void 0;if("model"in e&&typeof e.model=="string")return nt(e.model);if("modelName"in e&&typeof e.modelName=="string")return nt(e.modelName)}function wo(e){let{data:t,error:o}=Ct(ho,e);if(o)throw new Error(`Invalid summarization middleware options: ${U.prettifyError(o)}`);return E({name:"SummarizationMiddleware",contextSchema:ho.extend({model:i.custom().optional()}),beforeModel:async(n,r)=>{let s=t.trigger,a=t.keep;t.maxTokensBeforeSummary!==void 0&&(console.warn("maxTokensBeforeSummary is deprecated. Use `trigger: { tokens: value }` instead."),s===void 0&&(s={tokens:t.maxTokensBeforeSummary})),t.messagesToKeep!==void 0&&(console.warn("messagesToKeep is deprecated. Use `keep: { messages: value }` instead."),(!a||a&&"messages"in a&&a.messages===Je)&&(a={messages:t.messagesToKeep}));let l=r.context?.trigger!==void 0?r.context.trigger:s,u=r.context?.keep!==void 0?r.context.keep:a??{messages:Je},m=mt.parse(u),c=[];l===void 0?c=[]:Array.isArray(l)?c=l.map(J=>Ee.parse(J)):c=[Ee.parse(l)];let h=c.some(J=>"fraction"in J)||"fraction"in m,d=typeof t.model=="string"?await ee(t.model):t.model;if(h&&!Ve(d))throw new Error("Model profile information is required to use fractional token limits. Use absolute token counts instead.");let f=r.context?.summaryPrompt===Ge?t.summaryPrompt??Ge:r.context?.summaryPrompt??t.summaryPrompt??Ge,g=r.context.summaryPrefix??t.summaryPrefix??en,x=r.context?.trimTokensToSummarize!==void 0?r.context.trimTokensToSummarize:t.trimTokensToSummarize??tn;nn(n.messages);let y=r.context?.tokenCounter!==void 0?r.context.tokenCounter:t.tokenCounter??ke,w=await y(n.messages);if(!await an(n.messages,w,c,d))return;let{systemPrompt:O,conversationMessages:A}=rn(n.messages),N=await ln(A,m,y,d);if(N<=0)return;let{messagesToSummarize:Y,preservedMessages:j}=sn(O,A,N),b=new q({content:`${g}
55
55
 
56
- ${await un(K,d,f,y,x,r)}`,id:A[0].id,additional_kwargs:{lc_source:"summarization"}});return{messages:[new Qe({id:Ot}),b,...j]}}})}function nn(e){for(let t of e)t.id||(t.id=ht())}function rn(e){return e.length>0&&z.isInstance(e[0])?{systemPrompt:e[0],conversationMessages:e.slice(1)}:{conversationMessages:e}}function sn(e,t,o){let n=t.slice(0,o),r=t.slice(o);return e&&n.unshift(e),{messagesToSummarize:n,preservedMessages:r}}async function an(e,t,o,n){if(o.length===0)return!1;for(let r of o){let s=!0,a=!1;if(r.messages!==void 0&&(a=!0,e.length<r.messages&&(s=!1)),r.tokens!==void 0&&(a=!0,t<r.tokens&&(s=!1)),r.fraction!==void 0){a=!0;let l=Ve(n);typeof l=="number"?t<Math.floor(l*r.fraction)&&(s=!1):s=!1}if(a&&s)return!0}return!1}async function ln(e,t,o,n){if("tokens"in t||"fraction"in t){let r=await cn(e,t,o,n);return typeof r=="number"?r:ho(e,Je)}return ho(e,t.messages??Je)}async function cn(e,t,o,n){if(e.length===0)return 0;let r;if("fraction"in t&&t.fraction!==void 0){let c=Ve(n);if(typeof c!="number")return;r=Math.floor(c*t.fraction)}else if("tokens"in t&&t.tokens!==void 0)r=Math.floor(t.tokens);else return;if(r<=0&&(r=1),await o(e)<=r)return 0;let s=0,a=e.length,l=e.length,u=Math.floor(Math.log2(e.length))+1;for(let c=0;c<u&&!(s>=a);c++){let h=Math.floor((s+a)/2);await o(e.slice(h))<=r?(l=h,a=h):s=h+1}if(l===e.length&&(l=s),l>=e.length){if(e.length===1)return 0;l=e.length-1}let m=Mo(e,l);if(m<=l)return m;for(let c=l;c>=0;c--)if(wo(e,c))return c;return 0}function ho(e,t){if(e.length<=t)return 0;let o=e.length-t,n=Mo(e,o);if(n<=o)return n;for(let r=o;r>=0;r--)if(wo(e,r))return r;return 0}function wo(e,t){if(t>=e.length)return!0;if(t<e.length&&T.isInstance(e[t])&&ge(e[t]))return!1;let o=Math.max(0,t-fo),n=Math.min(e.length,t+fo);for(let r=o;r<n;r++){if(!ge(e[r]))continue;let s=yo(e[r]);if(dn(e,r,t,s))return!1}return!0}function yo(e){let t=new Set;if(e.tool_calls)for(let o of e.tool_calls){let n=typeof o=="object"&&"id"in o?o.id:null;n&&t.add(n)}return t}function Mo(e,t){if(t>=e.length||!M.isInstance(e[t]))return t;let o=new Set,n=t;for(;n<e.length&&M.isInstance(e[n]);){let r=e[n];r.tool_call_id&&o.add(r.tool_call_id),n++}for(let r=t-1;r>=0;r--){let s=e[r];if(T.isInstance(s)&&ge(s)){let a=yo(s);for(let l of o)if(a.has(l))return r}}return n}function dn(e,t,o,n){for(let r=t+1;r<e.length;r++){let s=e[r];if(M.isInstance(s)&&n.has(s.tool_call_id)&&t<o!=r<o)return!0}return!1}async function un(e,t,o,n,r,s){if(!e.length)return"No previous conversation history.";let a=await mn(e,n,r);if(!a.length)return"Previous conversation was too long to summarize.";let l=yt(a);try{let u=o.replace("{messages}",l),m=B(Ae(s)??{},{metadata:{lc_source:"summarization"},tags:[We]}),c=(await t.invoke(u,m)).content;return typeof c=="string"?c.trim():Array.isArray(c)?c.map(h=>typeof h=="string"?h:typeof h=="object"&&h!==null&&"text"in h?h.text:"").join("").trim():"Error generating summary: Invalid response format"}catch(u){return`Error generating summary: ${u}`}}async function mn(e,t,o){if(o===void 0)return e;try{return await ot(e,{maxTokens:o,tokenCounter:async n=>t(n),strategy:"last",allowPartial:!0,includeSystem:!0})}catch{return e.slice(-15)}}var Ei=i.object({model:i.string().or(i.instanceof(kt)).optional(),systemPrompt:i.string().optional(),maxTools:i.number().optional(),alwaysInclude:i.array(i.string()).optional()});var ji=i.object({applyToInput:i.boolean().optional(),applyToOutput:i.boolean().optional(),applyToToolResults:i.boolean().optional()});var Ui=i.object({rules:i.record(i.string(),i.instanceof(RegExp).describe("Regular expression pattern to match PII")).optional()});var fn=["continue","error","end"],pn="continue";var hn=i.enum(fn).default(pn);i.object({toolName:i.string().optional(),threadLimit:i.number().optional(),runLimit:i.number().optional(),exitBehavior:hn});var Zi=i.object({threadToolCallCount:i.record(i.string(),i.number()).default({}),runToolCallCount:i.record(i.string(),i.number()).default({})});var gn=i.enum(["pending","in_progress","completed"]).describe("Status of the todo"),wn=i.object({content:i.string().describe("Content of the todo item"),status:gn}),rl=i.object({todos:i.array(wn).default([])});var yn="end",Mn=i.object({threadLimit:i.number().optional(),runLimit:i.number().optional(),exitBehavior:i.enum(["error","end"]).optional()}),Tn=i.object({threadModelCallCount:i.number().default(0),runModelCallCount:i.number().default(0)}),To=class extends Error{constructor({threadLimit:e,runLimit:t,threadCount:o,runCount:n}){let r=[];typeof e=="number"&&typeof o=="number"&&r.push(`thread level call limit reached with ${o} model calls`),typeof t=="number"&&typeof n=="number"&&r.push(`run level call limit reached with ${n} model calls`),super(`Model call limits exceeded${r.length>0?`: ${r.join(", ")}`:""}`),this.name="ModelCallLimitMiddlewareError"}};function bo(e){return E({name:"ModelCallLimitMiddleware",contextSchema:Mn,stateSchema:Tn,beforeModel:{canJumpTo:["end"],hook:(t,o)=>{let n=o.context.exitBehavior??e?.exitBehavior??yn;n==="throw"&&(console.warn("The 'throw' exit behavior is deprecated. Please use 'error' instead."),n="error");let r=o.context.threadLimit??e?.threadLimit,s=o.context.runLimit??e?.runLimit,a=t.threadModelCallCount,l=t.runModelCallCount;if(typeof r=="number"&&r<=a){let u=new To({threadLimit:r,threadCount:a});if(n==="end")return{jumpTo:"end",messages:[new T(u.message)]};throw u}if(typeof s=="number"&&s<=l){let u=new To({runLimit:s,runCount:l});if(n==="end")return{jumpTo:"end",messages:[new T(u.message)]};throw u}return t}},afterModel:t=>({runModelCallCount:t.runModelCallCount+1,threadModelCallCount:t.threadModelCallCount+1}),afterAgent:()=>({runModelCallCount:0})})}var bl=i.object({onFailure:i.union([i.literal("error"),i.literal("continue"),i.function().args(i.instanceof(Error)).returns(i.string())]).default("continue")}).merge(He);var Al=i.object({tools:i.array(i.union([i.custom(),i.custom(),i.string()])).optional(),onFailure:i.union([i.literal("error"),i.literal("continue"),i.literal("raise"),i.literal("return_message"),i.function().args(i.instanceof(Error)).returns(i.string())]).default("continue")}).merge(He);var Zl=i.object({enableCaching:i.boolean().optional(),ttl:i.enum(["5m","1h"]).optional(),minMessagesToCache:i.number().optional(),unsupportedModelBehavior:i.enum(["ignore","warn","raise"]).optional()});var ec=i.object({enableCaching:i.boolean().optional(),ttl:i.enum(["5m","1h"]).optional(),minMessagesToCache:i.number().optional(),unsupportedModelBehavior:i.enum(["ignore","warn","raise"]).optional()});export{E as a,Vo as b,go as c,bo as d};
56
+ ${await un(Y,d,f,y,x,r)}`,id:A[0].id,additional_kwargs:{lc_source:"summarization"}});return{messages:[new Qe({id:Ot}),b,...j]}}})}function nn(e){for(let t of e)t.id||(t.id=ht())}function rn(e){return e.length>0&&z.isInstance(e[0])?{systemPrompt:e[0],conversationMessages:e.slice(1)}:{conversationMessages:e}}function sn(e,t,o){let n=t.slice(0,o),r=t.slice(o);return e&&n.unshift(e),{messagesToSummarize:n,preservedMessages:r}}async function an(e,t,o,n){if(o.length===0)return!1;for(let r of o){let s=!0,a=!1;if(r.messages!==void 0&&(a=!0,e.length<r.messages&&(s=!1)),r.tokens!==void 0&&(a=!0,t<r.tokens&&(s=!1)),r.fraction!==void 0){a=!0;let l=Ve(n);typeof l=="number"?t<Math.floor(l*r.fraction)&&(s=!1):s=!1}if(a&&s)return!0}return!1}async function ln(e,t,o,n){if("tokens"in t||"fraction"in t){let r=await cn(e,t,o,n);return typeof r=="number"?r:go(e,Je)}return go(e,t.messages??Je)}async function cn(e,t,o,n){if(e.length===0)return 0;let r;if("fraction"in t&&t.fraction!==void 0){let c=Ve(n);if(typeof c!="number")return;r=Math.floor(c*t.fraction)}else if("tokens"in t&&t.tokens!==void 0)r=Math.floor(t.tokens);else return;if(r<=0&&(r=1),await o(e)<=r)return 0;let s=0,a=e.length,l=e.length,u=Math.floor(Math.log2(e.length))+1;for(let c=0;c<u&&!(s>=a);c++){let h=Math.floor((s+a)/2);await o(e.slice(h))<=r?(l=h,a=h):s=h+1}if(l===e.length&&(l=s),l>=e.length){if(e.length===1)return 0;l=e.length-1}let m=To(e,l);if(m<=l)return m;for(let c=l;c>=0;c--)if(yo(e,c))return c;return 0}function go(e,t){if(e.length<=t)return 0;let o=e.length-t,n=To(e,o);if(n<=o)return n;for(let r=o;r>=0;r--)if(yo(e,r))return r;return 0}function yo(e,t){if(t>=e.length)return!0;if(t<e.length&&T.isInstance(e[t])&&we(e[t]))return!1;let o=Math.max(0,t-po),n=Math.min(e.length,t+po);for(let r=o;r<n;r++){if(!we(e[r]))continue;let s=Mo(e[r]);if(dn(e,r,t,s))return!1}return!0}function Mo(e){let t=new Set;if(e.tool_calls)for(let o of e.tool_calls){let n=typeof o=="object"&&"id"in o?o.id:null;n&&t.add(n)}return t}function To(e,t){if(t>=e.length||!M.isInstance(e[t]))return t;let o=new Set,n=t;for(;n<e.length&&M.isInstance(e[n]);){let r=e[n];r.tool_call_id&&o.add(r.tool_call_id),n++}for(let r=t-1;r>=0;r--){let s=e[r];if(T.isInstance(s)&&we(s)){let a=Mo(s);for(let l of o)if(a.has(l))return r}}return n}function dn(e,t,o,n){for(let r=t+1;r<e.length;r++){let s=e[r];if(M.isInstance(s)&&n.has(s.tool_call_id)&&t<o!=r<o)return!0}return!1}async function un(e,t,o,n,r,s){if(!e.length)return"No previous conversation history.";let a=await mn(e,n,r);if(!a.length)return"Previous conversation was too long to summarize.";let l=yt(a);try{let u=o.replace("{messages}",l),m=B(Ie(s)??{},{metadata:{lc_source:"summarization"},tags:[We]}),c=(await t.invoke(u,m)).content;return typeof c=="string"?c.trim():Array.isArray(c)?c.map(h=>typeof h=="string"?h:typeof h=="object"&&h!==null&&"text"in h?h.text:"").join("").trim():"Error generating summary: Invalid response format"}catch(u){return`Error generating summary: ${u}`}}async function mn(e,t,o){if(o===void 0)return e;try{return await ot(e,{maxTokens:o,tokenCounter:async n=>t(n),strategy:"last",allowPartial:!0,includeSystem:!0})}catch{return e.slice(-15)}}var Ei=i.object({model:i.string().or(i.instanceof(kt)).optional(),systemPrompt:i.string().optional(),maxTools:i.number().optional(),alwaysInclude:i.array(i.string()).optional()});var ji=i.object({applyToInput:i.boolean().optional(),applyToOutput:i.boolean().optional(),applyToToolResults:i.boolean().optional()});var Ui=i.object({rules:i.record(i.string(),i.instanceof(RegExp).describe("Regular expression pattern to match PII")).optional()});var fn=["continue","error","end"],pn="continue";var hn=i.enum(fn).default(pn);i.object({toolName:i.string().optional(),threadLimit:i.number().optional(),runLimit:i.number().optional(),exitBehavior:hn});var Zi=i.object({threadToolCallCount:i.record(i.string(),i.number()).default({}),runToolCallCount:i.record(i.string(),i.number()).default({})});var gn=i.enum(["pending","in_progress","completed"]).describe("Status of the todo"),wn=i.object({content:i.string().describe("Content of the todo item"),status:gn}),rl=i.object({todos:i.array(wn).default([])});var yn="end",Mn=i.object({threadLimit:i.number().optional(),runLimit:i.number().optional(),exitBehavior:i.enum(["error","end"]).optional()}),Tn=i.object({threadModelCallCount:i.number().default(0),runModelCallCount:i.number().default(0)}),bo=class extends Error{constructor({threadLimit:e,runLimit:t,threadCount:o,runCount:n}){let r=[];typeof e=="number"&&typeof o=="number"&&r.push(`thread level call limit reached with ${o} model calls`),typeof t=="number"&&typeof n=="number"&&r.push(`run level call limit reached with ${n} model calls`),super(`Model call limits exceeded${r.length>0?`: ${r.join(", ")}`:""}`),this.name="ModelCallLimitMiddlewareError"}};function vo(e){return E({name:"ModelCallLimitMiddleware",contextSchema:Mn,stateSchema:Tn,beforeModel:{canJumpTo:["end"],hook:(t,o)=>{let n=o.context.exitBehavior??e?.exitBehavior??yn;n==="throw"&&(console.warn("The 'throw' exit behavior is deprecated. Please use 'error' instead."),n="error");let r=o.context.threadLimit??e?.threadLimit,s=o.context.runLimit??e?.runLimit,a=t.threadModelCallCount,l=t.runModelCallCount;if(typeof r=="number"&&r<=a){let u=new bo({threadLimit:r,threadCount:a});if(n==="end")return{jumpTo:"end",messages:[new T(u.message)]};throw u}if(typeof s=="number"&&s<=l){let u=new bo({runLimit:s,runCount:l});if(n==="end")return{jumpTo:"end",messages:[new T(u.message)]};throw u}return t}},afterModel:t=>({runModelCallCount:t.runModelCallCount+1,threadModelCallCount:t.threadModelCallCount+1}),afterAgent:()=>({runModelCallCount:0})})}var bl=i.object({onFailure:i.union([i.literal("error"),i.literal("continue"),i.function().args(i.instanceof(Error)).returns(i.string())]).default("continue")}).merge(He);var Al=i.object({tools:i.array(i.union([i.custom(),i.custom(),i.string()])).optional(),onFailure:i.union([i.literal("error"),i.literal("continue"),i.literal("raise"),i.literal("return_message"),i.function().args(i.instanceof(Error)).returns(i.string())]).default("continue")}).merge(He);var Zl=i.object({enableCaching:i.boolean().optional(),ttl:i.enum(["5m","1h"]).optional(),minMessagesToCache:i.number().optional(),unsupportedModelBehavior:i.enum(["ignore","warn","raise"]).optional()});var ec=i.object({enableCaching:i.boolean().optional(),ttl:i.enum(["5m","1h"]).optional(),minMessagesToCache:i.number().optional(),unsupportedModelBehavior:i.enum(["ignore","warn","raise"]).optional()});export{Bt as a,E as b,Vo as c,wo as d,vo as e};