@arcgis/ai-components 5.2.0-next.12 → 5.2.0-next.120

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 (583) hide show
  1. package/LICENSE.md +4 -2
  2. package/README.md +2 -2
  3. package/dist/agent-utils/LLMAgent.d.ts +9 -7
  4. package/dist/agent-utils/LLMAgent.js +90 -62
  5. package/dist/agent-utils/WorkflowAgent.js +14 -15
  6. package/dist/agent-utils/index.d.ts +78 -0
  7. package/dist/agent-utils/index.js +116 -97
  8. package/dist/agent-utils/middlewares/trace.d.ts +2 -0
  9. package/dist/agent-utils/middlewares/trace.js +5 -5
  10. package/dist/agent-utils/types.d.ts +28 -15
  11. package/dist/agentic-workflow/AgenticWorkflowRuntime.d.ts +24 -0
  12. package/dist/agentic-workflow/Edge.d.ts +16 -0
  13. package/dist/agentic-workflow/WebAgent.d.ts +39 -0
  14. package/dist/agentic-workflow/jsonTypes.d.ts +223 -0
  15. package/dist/agentic-workflow/nodes/AgentNode.d.ts +28 -0
  16. package/dist/agentic-workflow/nodes/BaseNode.d.ts +35 -0
  17. package/dist/agentic-workflow/nodes/EndMessageNode.d.ts +25 -0
  18. package/dist/agentic-workflow/nodes/HumanInTheLoopNode.d.ts +37 -0
  19. package/dist/agentic-workflow/nodes/StartNode.d.ts +21 -0
  20. package/dist/agentic-workflow/nodes/tools/ArcgisTool.d.ts +21 -0
  21. package/dist/agentic-workflow/types.d.ts +29 -0
  22. package/dist/agents/runtime/skill/createSkillAgent.d.ts +28 -0
  23. package/dist/agents/runtime/skill/createSkillAgent.js +286 -0
  24. package/dist/agents/runtime/skill/loadAgentSkills.d.ts +16 -0
  25. package/dist/agents/runtime/skill/types.d.ts +20 -0
  26. package/dist/{cdn/WNS5ZUF5.js → agents/runtime/skill/types.js} +1 -1
  27. package/dist/agents/tools/filter/clearFilters/adapter.d.ts +8 -0
  28. package/dist/agents/tools/filter/clearFilters/adapter.js +22 -0
  29. package/dist/agents/tools/filter/resetMap/adapter.d.ts +8 -0
  30. package/dist/agents/tools/filter/resetMap/adapter.js +22 -0
  31. package/dist/agents/tools/filter/setFeatureEffect/adapter.d.ts +8 -0
  32. package/dist/agents/tools/filter/setFeatureEffect/adapter.js +122 -0
  33. package/dist/agents/tools/help/listFields/adapter.d.ts +11 -0
  34. package/dist/agents/tools/help/listFields/adapter.js +30 -0
  35. package/dist/agents/tools/navigation/goToAddress/adapter.d.ts +10 -0
  36. package/dist/agents/tools/navigation/goToAddress/adapter.js +60 -0
  37. package/dist/agents/tools/navigation/goToBookmark/adapter.d.ts +8 -0
  38. package/dist/agents/tools/navigation/goToBookmark/adapter.js +30 -0
  39. package/dist/agents/tools/navigation/goToFeatures/adapter.d.ts +8 -0
  40. package/dist/agents/tools/navigation/goToFeatures/adapter.js +50 -0
  41. package/dist/agents/tools/navigation/goToFullExtent/adapter.d.ts +8 -0
  42. package/dist/agents/tools/navigation/goToFullExtent/adapter.js +27 -0
  43. package/dist/agents/tools/navigation/goToHomeExtent/adapter.d.ts +8 -0
  44. package/dist/agents/tools/navigation/goToHomeExtent/adapter.js +24 -0
  45. package/dist/agents/tools/navigation/goToLayer/adapter.d.ts +8 -0
  46. package/dist/agents/tools/navigation/goToLayer/adapter.js +26 -0
  47. package/dist/agents/tools/navigation/goToScale/adapter.d.ts +8 -0
  48. package/dist/agents/tools/navigation/goToScale/adapter.js +21 -0
  49. package/dist/agents/tools/navigation/goToViewpoint/adapter.d.ts +8 -0
  50. package/dist/agents/tools/navigation/goToViewpoint/adapter.js +42 -0
  51. package/dist/agents/tools/navigation/goToZoom/adapter.d.ts +8 -0
  52. package/dist/agents/tools/navigation/goToZoom/adapter.js +21 -0
  53. package/dist/agents/tools/query/getAttribute/adapter.d.ts +8 -0
  54. package/dist/agents/tools/query/getAttribute/adapter.js +40 -0
  55. package/dist/agents/tools/query/getStatistics/adapter.d.ts +8 -0
  56. package/dist/agents/tools/query/getStatistics/adapter.js +158 -0
  57. package/dist/agents/tools/query/getTopFeatures/adapter.d.ts +8 -0
  58. package/dist/agents/tools/query/getTopFeatures/adapter.js +145 -0
  59. package/dist/agents/tools/query/queryFeatures/adapter.d.ts +8 -0
  60. package/dist/agents/tools/query/queryFeatures/adapter.js +131 -0
  61. package/dist/agents/tools/search/findRelevantFields/adapter.d.ts +8 -0
  62. package/dist/agents/tools/search/findRelevantFields/adapter.js +57 -0
  63. package/dist/agents/tools/search/findRelevantLayers/adapter.d.ts +8 -0
  64. package/dist/agents/tools/search/findRelevantLayers/adapter.js +38 -0
  65. package/dist/agents/tools/shared/resolveToolArtifact.d.ts +22 -0
  66. package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
  67. package/dist/agents/tools/shared/types.d.ts +22 -0
  68. package/dist/agents/tools/shared/types.js +6 -0
  69. package/dist/cdn/2BNQ6A6J.js +2 -0
  70. package/dist/cdn/2I2FHPHR.js +72 -0
  71. package/dist/cdn/2NODROJN.js +50 -0
  72. package/dist/cdn/34O57OGV.js +2 -0
  73. package/dist/cdn/4PKMJMND.js +2 -0
  74. package/dist/cdn/5BBXNT75.js +66 -0
  75. package/dist/cdn/5HBAJ57P.js +2 -0
  76. package/dist/cdn/5MK44FNO.js +2 -0
  77. package/dist/cdn/5Q2XRQS6.js +2 -0
  78. package/dist/cdn/6ECRQVHY.js +2 -0
  79. package/dist/cdn/6OUIUXAJ.js +2 -0
  80. package/dist/cdn/6XZYQ74A.js +6 -0
  81. package/dist/cdn/73TMZQI5.js +2 -0
  82. package/dist/cdn/74CVYM72.js +19 -0
  83. package/dist/cdn/{5CV7R5IS.js → 7W7KWR5O.js} +5 -5
  84. package/dist/cdn/{ZS2TZ6BF.js → AOVJ34QE.js} +1 -1
  85. package/dist/cdn/{Q7TL5Q5N.js → APFZY4PI.js} +1 -1
  86. package/dist/cdn/AUDVUNF3.js +2 -0
  87. package/dist/cdn/AVRS6UCQ.js +2 -0
  88. package/dist/cdn/AXTQU5YL.js +56 -0
  89. package/dist/cdn/BFZ5S7NF.js +2 -0
  90. package/dist/cdn/BJUX4AYP.js +2 -0
  91. package/dist/cdn/BN7CIVBD.js +2 -0
  92. package/dist/cdn/C2W6MBDB.js +2 -0
  93. package/dist/cdn/CA3RNGPN.js +2 -0
  94. package/dist/cdn/CCC6LBMY.js +2 -0
  95. package/dist/cdn/{5ZZGKP7N.js → CEKOEHB3.js} +1 -1
  96. package/dist/cdn/CF2V3NER.js +177 -0
  97. package/dist/cdn/CFAC4FN3.js +2 -0
  98. package/dist/cdn/CLTV27HJ.js +2 -0
  99. package/dist/cdn/COH3QXWG.js +4 -0
  100. package/dist/cdn/CPQGLQGY.js +2 -0
  101. package/dist/cdn/CT2ZOYNX.js +2 -0
  102. package/dist/cdn/DB2TFPIO.js +2 -0
  103. package/dist/cdn/DKA6PSYN.js +2 -0
  104. package/dist/cdn/DNV3L5M6.js +2 -0
  105. package/dist/cdn/EDVH3G5A.js +2 -0
  106. package/dist/cdn/EIZR3Q5O.js +2 -0
  107. package/dist/cdn/EJ7QJLUE.js +2 -0
  108. package/dist/cdn/ES54NWOB.js +11 -0
  109. package/dist/cdn/FCI6M62J.js +2 -0
  110. package/dist/cdn/FDOMMK2M.js +2 -0
  111. package/dist/cdn/FYIZOGHC.js +2 -0
  112. package/dist/cdn/{T537PKP4.js → FYZATVB3.js} +1 -1
  113. package/dist/cdn/FZTNWDOU.js +2 -0
  114. package/dist/cdn/GKWMAWFZ.js +2 -0
  115. package/dist/cdn/HFHRMM6Q.js +2 -0
  116. package/dist/cdn/HIAQARIQ.js +2 -0
  117. package/dist/cdn/HR6GWPKX.js +2 -0
  118. package/dist/cdn/HSILCMAR.js +2 -0
  119. package/dist/cdn/HTB76P2C.js +14 -0
  120. package/dist/cdn/HWGAJ4WN.js +2 -0
  121. package/dist/cdn/{FX7UOGHP.js → ICBIUFK7.js} +1 -1
  122. package/dist/cdn/IHP25JWI.js +99 -0
  123. package/dist/cdn/IHRX74QJ.js +2 -0
  124. package/dist/cdn/IMRIVNHX.js +2 -0
  125. package/dist/cdn/ITCZC2VY.js +2 -0
  126. package/dist/cdn/IYLFJCJ2.js +181 -0
  127. package/dist/cdn/{5W7S2RS4.js → J4YHT55S.js} +1 -1
  128. package/dist/cdn/J6A4AS7E.js +22 -0
  129. package/dist/cdn/{NE7E52YR.js → JEBRN3EU.js} +9 -3
  130. package/dist/cdn/JNOH4PD5.js +2 -0
  131. package/dist/cdn/JTEY4E7E.js +2 -0
  132. package/dist/cdn/K5JVB6FU.js +2 -0
  133. package/dist/cdn/K7BUBCK7.js +2 -0
  134. package/dist/cdn/K7XWGSLN.js +2 -0
  135. package/dist/cdn/K7YQIJFT.js +2 -0
  136. package/dist/cdn/KA3S22NQ.js +2 -0
  137. package/dist/cdn/KH4V4I3W.js +2 -0
  138. package/dist/cdn/KMLJS2VW.js +2 -0
  139. package/dist/cdn/LDIUJUI7.js +2 -0
  140. package/dist/cdn/{7RCQFLPP.js → LK7ZIQW6.js} +1 -1
  141. package/dist/cdn/LOQ2PKV5.js +208 -0
  142. package/dist/cdn/LRH2ZPVW.js +2 -0
  143. package/dist/cdn/LXPGQNXQ.js +5 -0
  144. package/dist/cdn/MJSIYEWN.js +2 -0
  145. package/dist/cdn/{ZEYIBYSF.js → MWYBF3F3.js} +1 -1
  146. package/dist/cdn/NEV6OZN3.js +71 -0
  147. package/dist/cdn/{23EQTPO3.js → OKVLGJAG.js} +1 -1
  148. package/dist/cdn/ONQ6JSBJ.js +2 -0
  149. package/dist/cdn/{6ZW7Z36F.js → OT5ECP4V.js} +5 -3
  150. package/dist/cdn/OTOQL3QM.js +3 -0
  151. package/dist/cdn/OZAZ277H.js +2 -0
  152. package/dist/cdn/P4XZMBU5.js +2 -0
  153. package/dist/cdn/{LQ6R5YRN.js → PQ2DPOFM.js} +1 -1
  154. package/dist/cdn/{DXVU45KM.js → QRMRID2M.js} +1 -1
  155. package/dist/cdn/QUZTFUWM.js +1 -0
  156. package/dist/cdn/QZL4SAYR.js +6 -0
  157. package/dist/cdn/R74ZHFA6.js +2 -0
  158. package/dist/cdn/RGOCE3QN.js +2 -0
  159. package/dist/cdn/RGVC76RW.js +2 -0
  160. package/dist/cdn/RHYNE5OE.js +2 -0
  161. package/dist/cdn/RIN3RP7D.js +3 -0
  162. package/dist/cdn/{X2ZDYHCG.js → SDWWUWAF.js} +10 -5
  163. package/dist/cdn/SLD4ZVT6.js +2 -0
  164. package/dist/cdn/SLR75R32.js +9 -0
  165. package/dist/cdn/STHBRTTD.js +2 -0
  166. package/dist/cdn/SWVRA77H.js +2 -0
  167. package/dist/cdn/TLQ75QXG.js +2 -0
  168. package/dist/cdn/TPF5Z277.js +3 -0
  169. package/dist/cdn/TPULIO6I.js +34 -0
  170. package/dist/cdn/TVEEQSMF.js +2 -0
  171. package/dist/cdn/UCTC4JN4.js +3 -0
  172. package/dist/cdn/{6YMR4QSD.js → UHEYPSOR.js} +1 -1
  173. package/dist/cdn/UIIVUHXL.js +2 -0
  174. package/dist/cdn/UO5PBOQR.js +2 -0
  175. package/dist/cdn/UT6JA4TK.js +14 -0
  176. package/dist/cdn/UWZQWGZP.js +2 -0
  177. package/dist/cdn/UXYYH6XF.js +2 -0
  178. package/dist/cdn/UZLQALHY.js +2 -0
  179. package/dist/cdn/{P7DG5T3Z.js → V7Y22FRP.js} +1 -1
  180. package/dist/cdn/VAXH6RUQ.js +134 -0
  181. package/dist/cdn/VF4BIBQT.js +2 -0
  182. package/dist/cdn/VR3CF3ZY.js +2 -0
  183. package/dist/cdn/VWP2B4LB.js +2 -0
  184. package/dist/cdn/VXFQANGJ.js +2 -0
  185. package/dist/cdn/WKZHFSH3.js +2 -0
  186. package/dist/cdn/WVP73XWD.js +2 -0
  187. package/dist/cdn/WXQ26G5Q.js +2 -0
  188. package/dist/cdn/XQ3NBBQ3.js +2 -0
  189. package/dist/cdn/XUYARLRP.js +2 -0
  190. package/dist/cdn/XV3DHHYJ.js +2 -0
  191. package/dist/cdn/Y2BCEVV6.js +2 -0
  192. package/dist/cdn/{7CYGX4F4.js → YHWYTHID.js} +1 -1
  193. package/dist/cdn/YIZ7PR2G.js +2 -0
  194. package/dist/cdn/YJ4MZOVC.js +2 -0
  195. package/dist/cdn/YXIPCGGP.js +2 -0
  196. package/dist/cdn/YYFKFPSN.js +2 -0
  197. package/dist/cdn/Z5XQLSYH.js +2 -0
  198. package/dist/cdn/ZA2WIUWH.js +2 -0
  199. package/dist/cdn/ZCFYGCCV.js +2 -0
  200. package/dist/cdn/ZGZX7GR5.js +2 -0
  201. package/dist/cdn/{ZTBA5PM7.js → ZU2FHVNK.js} +1 -1
  202. package/dist/cdn/agent-utils/index.js +1 -1
  203. package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -2
  204. package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
  205. package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
  206. package/dist/cdn/assets/agents/t9n/messages.en.json +1 -0
  207. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  208. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  209. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  210. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  211. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  212. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  213. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  214. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  215. package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -1
  216. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  217. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  218. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  219. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  220. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  221. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  222. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  223. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  224. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  225. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  226. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  227. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  228. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  229. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  230. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  231. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  232. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  233. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  234. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  235. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  236. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  237. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  238. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  239. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  240. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  241. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  242. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  243. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  244. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  245. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  246. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  247. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -1
  248. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -1
  249. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -1
  250. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -1
  251. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -1
  252. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -1
  253. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -1
  254. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -1
  255. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -1
  256. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -1
  257. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -1
  258. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -1
  259. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -1
  260. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -1
  261. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -1
  262. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -1
  263. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -1
  264. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -1
  265. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -1
  266. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -1
  267. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -1
  268. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -1
  269. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -1
  270. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -1
  271. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -1
  272. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -1
  273. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -1
  274. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -1
  275. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -1
  276. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -1
  277. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -1
  278. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -1
  279. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -1
  280. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -1
  281. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -1
  282. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -1
  283. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -1
  284. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -1
  285. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -1
  286. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -1
  287. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -1
  288. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -1
  289. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -1
  290. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -1
  291. package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -1
  292. package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -1
  293. package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -1
  294. package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -1
  295. package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -1
  296. package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -1
  297. package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -1
  298. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -1
  299. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -1
  300. package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -1
  301. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -1
  302. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -1
  303. package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -1
  304. package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -1
  305. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -1
  306. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -1
  307. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -1
  308. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -1
  309. package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -1
  310. package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -1
  311. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -1
  312. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -1
  313. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -1
  314. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -1
  315. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -1
  316. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -1
  317. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -1
  318. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -1
  319. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -1
  320. package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -1
  321. package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -1
  322. package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -1
  323. package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -1
  324. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -1
  325. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -1
  326. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -1
  327. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ar.json +1 -0
  328. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bg.json +1 -0
  329. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bs.json +1 -0
  330. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ca.json +1 -0
  331. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.cs.json +1 -0
  332. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.da.json +1 -0
  333. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.de.json +1 -0
  334. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.el.json +1 -0
  335. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.en.json +1 -0
  336. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.es.json +1 -0
  337. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.et.json +1 -0
  338. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fi.json +1 -0
  339. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fr.json +1 -0
  340. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.he.json +1 -0
  341. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hr.json +1 -0
  342. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hu.json +1 -0
  343. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.id.json +1 -0
  344. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.it.json +1 -0
  345. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ja.json +1 -0
  346. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ko.json +1 -0
  347. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lt.json +1 -0
  348. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lv.json +1 -0
  349. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.nl.json +1 -0
  350. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.no.json +1 -0
  351. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pl.json +1 -0
  352. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-BR.json +1 -0
  353. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-PT.json +1 -0
  354. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ro.json +1 -0
  355. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ru.json +1 -0
  356. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sk.json +1 -0
  357. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sl.json +1 -0
  358. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sr.json +1 -0
  359. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sv.json +1 -0
  360. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.th.json +1 -0
  361. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.tr.json +1 -0
  362. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.uk.json +1 -0
  363. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.vi.json +1 -0
  364. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-CN.json +1 -0
  365. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-HK.json +1 -0
  366. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-TW.json +1 -0
  367. package/dist/cdn/assets/assistant-message/t9n/messages.ar.json +1 -0
  368. package/dist/cdn/assets/assistant-message/t9n/messages.bg.json +1 -0
  369. package/dist/cdn/assets/assistant-message/t9n/messages.bs.json +1 -0
  370. package/dist/cdn/assets/assistant-message/t9n/messages.ca.json +1 -0
  371. package/dist/cdn/assets/assistant-message/t9n/messages.cs.json +1 -0
  372. package/dist/cdn/assets/assistant-message/t9n/messages.da.json +1 -0
  373. package/dist/cdn/assets/assistant-message/t9n/messages.de.json +1 -0
  374. package/dist/cdn/assets/assistant-message/t9n/messages.el.json +1 -0
  375. package/dist/cdn/assets/assistant-message/t9n/messages.en.json +1 -0
  376. package/dist/cdn/assets/assistant-message/t9n/messages.es.json +1 -0
  377. package/dist/cdn/assets/assistant-message/t9n/messages.et.json +1 -0
  378. package/dist/cdn/assets/assistant-message/t9n/messages.fi.json +1 -0
  379. package/dist/cdn/assets/assistant-message/t9n/messages.fr.json +1 -0
  380. package/dist/cdn/assets/assistant-message/t9n/messages.he.json +1 -0
  381. package/dist/cdn/assets/assistant-message/t9n/messages.hr.json +1 -0
  382. package/dist/cdn/assets/assistant-message/t9n/messages.hu.json +1 -0
  383. package/dist/cdn/assets/assistant-message/t9n/messages.id.json +1 -0
  384. package/dist/cdn/assets/assistant-message/t9n/messages.it.json +1 -0
  385. package/dist/cdn/assets/assistant-message/t9n/messages.ja.json +1 -0
  386. package/dist/cdn/assets/assistant-message/t9n/messages.ko.json +1 -0
  387. package/dist/cdn/assets/assistant-message/t9n/messages.lt.json +1 -0
  388. package/dist/cdn/assets/assistant-message/t9n/messages.lv.json +1 -0
  389. package/dist/cdn/assets/assistant-message/t9n/messages.nl.json +1 -0
  390. package/dist/cdn/assets/assistant-message/t9n/messages.no.json +1 -0
  391. package/dist/cdn/assets/assistant-message/t9n/messages.pl.json +1 -0
  392. package/dist/cdn/assets/assistant-message/t9n/messages.pt-BR.json +1 -0
  393. package/dist/cdn/assets/assistant-message/t9n/messages.pt-PT.json +1 -0
  394. package/dist/cdn/assets/assistant-message/t9n/messages.ro.json +1 -0
  395. package/dist/cdn/assets/assistant-message/t9n/messages.ru.json +1 -0
  396. package/dist/cdn/assets/assistant-message/t9n/messages.sk.json +1 -0
  397. package/dist/cdn/assets/assistant-message/t9n/messages.sl.json +1 -0
  398. package/dist/cdn/assets/assistant-message/t9n/messages.sr.json +1 -0
  399. package/dist/cdn/assets/assistant-message/t9n/messages.sv.json +1 -0
  400. package/dist/cdn/assets/assistant-message/t9n/messages.th.json +1 -0
  401. package/dist/cdn/assets/assistant-message/t9n/messages.tr.json +1 -0
  402. package/dist/cdn/assets/assistant-message/t9n/messages.uk.json +1 -0
  403. package/dist/cdn/assets/assistant-message/t9n/messages.vi.json +1 -0
  404. package/dist/cdn/assets/assistant-message/t9n/messages.zh-CN.json +1 -0
  405. package/dist/cdn/assets/assistant-message/t9n/messages.zh-HK.json +1 -0
  406. package/dist/cdn/assets/assistant-message/t9n/messages.zh-TW.json +1 -0
  407. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ar.json +1 -0
  408. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bg.json +1 -0
  409. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bs.json +1 -0
  410. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ca.json +1 -0
  411. package/dist/cdn/assets/assistant-message-loading/t9n/messages.cs.json +1 -0
  412. package/dist/cdn/assets/assistant-message-loading/t9n/messages.da.json +1 -0
  413. package/dist/cdn/assets/assistant-message-loading/t9n/messages.de.json +1 -0
  414. package/dist/cdn/assets/assistant-message-loading/t9n/messages.el.json +1 -0
  415. package/dist/cdn/assets/assistant-message-loading/t9n/messages.en.json +1 -0
  416. package/dist/cdn/assets/assistant-message-loading/t9n/messages.es.json +1 -0
  417. package/dist/cdn/assets/assistant-message-loading/t9n/messages.et.json +1 -0
  418. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fi.json +1 -0
  419. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fr.json +1 -0
  420. package/dist/cdn/assets/assistant-message-loading/t9n/messages.he.json +1 -0
  421. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hr.json +1 -0
  422. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hu.json +1 -0
  423. package/dist/cdn/assets/assistant-message-loading/t9n/messages.id.json +1 -0
  424. package/dist/cdn/assets/assistant-message-loading/t9n/messages.it.json +1 -0
  425. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ja.json +1 -0
  426. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ko.json +1 -0
  427. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lt.json +1 -0
  428. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lv.json +1 -0
  429. package/dist/cdn/assets/assistant-message-loading/t9n/messages.nl.json +1 -0
  430. package/dist/cdn/assets/assistant-message-loading/t9n/messages.no.json +1 -0
  431. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pl.json +1 -0
  432. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-BR.json +1 -0
  433. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-PT.json +1 -0
  434. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ro.json +1 -0
  435. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ru.json +1 -0
  436. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sk.json +1 -0
  437. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sl.json +1 -0
  438. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sr.json +1 -0
  439. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sv.json +1 -0
  440. package/dist/cdn/assets/assistant-message-loading/t9n/messages.th.json +1 -0
  441. package/dist/cdn/assets/assistant-message-loading/t9n/messages.tr.json +1 -0
  442. package/dist/cdn/assets/assistant-message-loading/t9n/messages.uk.json +1 -0
  443. package/dist/cdn/assets/assistant-message-loading/t9n/messages.vi.json +1 -0
  444. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-CN.json +1 -0
  445. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-HK.json +1 -0
  446. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-TW.json +1 -0
  447. package/dist/cdn/index.js +1 -1
  448. package/dist/chunks/SKILL.js +5 -0
  449. package/dist/chunks/SKILL2.js +5 -0
  450. package/dist/chunks/SKILL3.js +22 -0
  451. package/dist/chunks/SKILL4.js +5 -0
  452. package/dist/chunks/adapter.js +1126 -2010
  453. package/dist/chunks/aiFactory.js +100 -0
  454. package/dist/chunks/arcgisKnowledgeGraph.js +96 -76
  455. package/dist/chunks/arcgisToolRegistry.js +88 -0
  456. package/dist/chunks/arcgis_knowledge_current_lc_context.js +19 -2
  457. package/dist/chunks/arcgis_knowledge_current_map_context.js +31 -2
  458. package/dist/chunks/arcgis_knowledge_cypher_query_prompt.js +102 -0
  459. package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +116 -27
  460. package/dist/chunks/baseAgentState.js +59 -0
  461. package/dist/chunks/converterUtils.js +66 -41
  462. package/dist/chunks/dataExplorationAgent.js +17 -0
  463. package/dist/chunks/data_explore_query_prompt.js +9 -4
  464. package/dist/chunks/fetchAgentContext.js +13 -0
  465. package/dist/chunks/fetchService.js +10 -0
  466. package/dist/chunks/fieldStatistics.js +79 -0
  467. package/dist/chunks/formatFeatureAttributes.js +132 -0
  468. package/dist/chunks/generateLayerDescriptions.js +183 -307
  469. package/dist/chunks/helpAgent.js +32 -0
  470. package/dist/chunks/help_prompt.js +34 -17
  471. package/dist/chunks/intent_prompt.js +4 -2
  472. package/dist/chunks/layerStylingGraph.js +101 -83
  473. package/dist/chunks/mergeWhereClauses.js +15 -0
  474. package/dist/chunks/navigationAgent.js +25 -0
  475. package/dist/chunks/navigation_intent_prompt.js +8 -2
  476. package/dist/chunks/orchestrator.js +450 -235
  477. package/dist/chunks/requireAgentServices.js +11 -0
  478. package/dist/chunks/resolveGeometryFilter.js +149 -0
  479. package/dist/chunks/state.js +33 -28
  480. package/dist/chunks/utils2.js +11 -11
  481. package/dist/components/arcgis-assistant/customElement.d.ts +131 -4
  482. package/dist/components/arcgis-assistant/customElement.js +398 -212
  483. package/dist/components/arcgis-assistant/types.d.ts +108 -0
  484. package/dist/components/arcgis-assistant-agent/customElement.d.ts +13 -1
  485. package/dist/components/arcgis-assistant-agent/customElement.js +674 -10
  486. package/dist/components/arcgis-assistant-chat/customElement.js +22 -17
  487. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -4
  488. package/dist/components/arcgis-assistant-chat-entry/customElement.js +344 -45
  489. package/dist/components/arcgis-assistant-chat-entry/index.js +3 -0
  490. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +34 -8
  491. package/dist/components/arcgis-assistant-help-agent/customElement.js +31 -8
  492. package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +8 -2
  493. package/dist/components/arcgis-assistant-interrupt/customElement.js +48 -15
  494. package/dist/components/arcgis-assistant-interrupt/index.js +1 -1
  495. package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +12 -8
  496. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +1 -1
  497. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +40 -16
  498. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +30 -7
  499. package/dist/components/arcgis-assistant-message/customElement.d.ts +3 -0
  500. package/dist/components/arcgis-assistant-message/customElement.js +9 -8
  501. package/dist/components/arcgis-assistant-message-block/customElement.js +1 -1
  502. package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +3 -0
  503. package/dist/components/arcgis-assistant-message-loading/customElement.js +11 -10
  504. package/dist/components/arcgis-assistant-message-log/customElement.js +4 -4
  505. package/dist/components/arcgis-assistant-message-text/customElement.d.ts +1 -0
  506. package/dist/components/arcgis-assistant-message-text/customElement.js +12 -12
  507. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +33 -9
  508. package/dist/components/arcgis-assistant-speech-input/customElement.js +34 -52
  509. package/dist/components/arcgis-assistant-user-message/customElement.d.ts +2 -0
  510. package/dist/components/arcgis-assistant-user-message/customElement.js +15 -10
  511. package/dist/docs/api.json +1 -1
  512. package/dist/docs/docs.json +1 -1
  513. package/dist/docs/vscode.html-custom-data.json +1 -1
  514. package/dist/docs/web-types.json +1 -1
  515. package/dist/loader.js +9 -9
  516. package/dist/oauth-callback.html +1 -1
  517. package/dist/orchestrator/models/types.d.ts +1 -0
  518. package/dist/orchestrator/orchestrator/orchestratorEvents.d.ts +78 -0
  519. package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +15 -0
  520. package/dist/orchestrator/types/types.d.ts +17 -0
  521. package/dist/types/lumina.d.ts +6 -5
  522. package/dist/types/preact.d.ts +6 -5
  523. package/dist/types/react.d.ts +6 -5
  524. package/dist/types/stencil.d.ts +8 -7
  525. package/dist/utils/index.d.ts +95 -39
  526. package/dist/utils/index.js +707 -83
  527. package/package.json +35 -12
  528. package/dist/cdn/24QNMEFG.js +0 -2
  529. package/dist/cdn/34SG44C3.js +0 -72
  530. package/dist/cdn/3JGWGKT6.js +0 -2
  531. package/dist/cdn/3NBDVZ2I.js +0 -2
  532. package/dist/cdn/3VOQD2MR.js +0 -2
  533. package/dist/cdn/53NTYC4I.js +0 -2
  534. package/dist/cdn/5QAHYX7Y.js +0 -5
  535. package/dist/cdn/AXDZBBNL.js +0 -45
  536. package/dist/cdn/AZGGTNA3.js +0 -2
  537. package/dist/cdn/B7WJFBOZ.js +0 -2
  538. package/dist/cdn/BX7FSMUU.js +0 -56
  539. package/dist/cdn/CHPQM77M.js +0 -181
  540. package/dist/cdn/DHKUXLU3.js +0 -179
  541. package/dist/cdn/DQSEBKOX.js +0 -2
  542. package/dist/cdn/DZ2QWNUA.js +0 -3
  543. package/dist/cdn/EBISDZ5H.js +0 -2
  544. package/dist/cdn/ERL2CB2Y.js +0 -14
  545. package/dist/cdn/F2AHA4GB.js +0 -54
  546. package/dist/cdn/F6QHMKF5.js +0 -2
  547. package/dist/cdn/FUIGPHBH.js +0 -2
  548. package/dist/cdn/H2CHHGGH.js +0 -2
  549. package/dist/cdn/HWKDNS4K.js +0 -4
  550. package/dist/cdn/IMQ4TVHF.js +0 -16
  551. package/dist/cdn/IOD3GDA7.js +0 -2
  552. package/dist/cdn/IR7PTESF.js +0 -2
  553. package/dist/cdn/IRZDTYO2.js +0 -2
  554. package/dist/cdn/JIWK6QK6.js +0 -2
  555. package/dist/cdn/JLKGS6Y5.js +0 -36
  556. package/dist/cdn/K3JCH4XW.js +0 -2
  557. package/dist/cdn/KHXUWZHB.js +0 -2
  558. package/dist/cdn/KMQ3SP4I.js +0 -5
  559. package/dist/cdn/LIFK3QSD.js +0 -2
  560. package/dist/cdn/NXKKG5TK.js +0 -2
  561. package/dist/cdn/O3EN27N5.js +0 -2
  562. package/dist/cdn/O3RFFPU3.js +0 -6
  563. package/dist/cdn/PBO6FZN6.js +0 -2
  564. package/dist/cdn/Q3ZW4FYA.js +0 -3
  565. package/dist/cdn/Q6LRANX6.js +0 -2
  566. package/dist/cdn/QCSN44H4.js +0 -2
  567. package/dist/cdn/R56X6ZKR.js +0 -161
  568. package/dist/cdn/RUURNLTP.js +0 -2
  569. package/dist/cdn/T43LEBBE.js +0 -47
  570. package/dist/cdn/TR4GFL7X.js +0 -2
  571. package/dist/cdn/UPEEHMSY.js +0 -2
  572. package/dist/cdn/WAIFKDR3.js +0 -2
  573. package/dist/cdn/X4XY5HIE.js +0 -2
  574. package/dist/cdn/XOH56EQ2.js +0 -2
  575. package/dist/cdn/XON27U6U.js +0 -2
  576. package/dist/cdn/YIMNOUTF.js +0 -2
  577. package/dist/cdn/YLN2BZ5J.js +0 -2
  578. package/dist/cdn/YUKR4AZW.js +0 -2
  579. package/dist/cdn/Z2G7MP5L.js +0 -22
  580. package/dist/chunks/dataExplorationGraph.js +0 -310
  581. package/dist/chunks/helpGraph.js +0 -126
  582. package/dist/chunks/navigationGraph.js +0 -270
  583. package/dist/chunks/toolCallResponse.js +0 -31
@@ -1,81 +1,128 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import R from "@arcgis/core/identity/IdentityManager.js";
3
- import C from "@arcgis/core/portal/Portal.js";
4
- import { n as I, o as v, D as k, p as A, q as M, W as F } from "./generateLayerDescriptions.js";
5
- import { isGraphInterrupt as D, StateGraph as L, START as W, END as $, MemorySaver as j } from "@langchain/langgraph/web";
6
- import { HumanMessage as q, AIMessage as H } from "@langchain/core/messages";
7
- import { s as l } from "./index.js";
8
- import * as P from "@arcgis/core/core/reactiveUtils.js";
9
- import U from "@arcgis/core/layers/FeatureLayer.js";
10
- import O from "@arcgis/core/request.js";
11
- const T = async (t) => {
12
- const e = await N(), r = await I("default"), s = C.getDefault(), a = (await R.getCredential(`${s.url}/sharing`)).token, i = {
2
+ import M from "@arcgis/core/identity/IdentityManager.js";
3
+ import _ from "@arcgis/core/portal/Portal.js";
4
+ import { g as $, a as D } from "./aiFactory.js";
5
+ import { isGraphInterrupt as F, StateGraph as L, START as q, END as W, MemorySaver as P } from "@langchain/langgraph/web";
6
+ import { generateGuid as b } from "@arcgis/toolkit/string";
7
+ import { g as A, D as T, b as j, W as H } from "./generateLayerDescriptions.js";
8
+ import { HumanMessage as U, AIMessage as O } from "@langchain/core/messages";
9
+ import { s as p } from "./index.js";
10
+ import { BaseCallbackHandler as G } from "@langchain/core/callbacks/base";
11
+ import * as N from "@arcgis/core/core/reactiveUtils.js";
12
+ import V from "@arcgis/core/layers/FeatureLayer.js";
13
+ import z from "@arcgis/core/request.js";
14
+ const B = async (n) => {
15
+ const e = await Q(), r = await $("default"), s = _.getDefault(), a = (await M.getCredential(`${s.url}/sharing`)).token, i = {
13
16
  type: "generateEmbeddings",
14
- webmapEmbeddings: t,
17
+ webmapEmbeddings: n,
15
18
  auth: { apiUrl: r, token: a }
16
19
  };
17
- return e.postMessage(i), await new Promise((c, d) => {
18
- const o = (u) => {
19
- u.data === "completed" && (e.removeEventListener("message", o), c());
20
- }, g = (u) => {
21
- e.removeEventListener("message", o), d(u instanceof Error ? u : new Error("Embeddings worker error"));
20
+ return e.postMessage(i), await new Promise((o, d) => {
21
+ const c = (g) => {
22
+ g.data === "completed" && (e.removeEventListener("message", c), o());
23
+ }, u = (g) => {
24
+ e.removeEventListener("message", c), d(g instanceof Error ? g : new Error("Embeddings worker error"));
22
25
  };
23
- e.addEventListener("message", o), e.addEventListener("error", g, { once: !0 });
26
+ e.addEventListener("message", c), e.addEventListener("error", u, { once: !0 });
24
27
  }), e;
25
- }, N = async () => {
28
+ }, Q = async () => {
26
29
  {
27
- const t = (await import("./embeddings.worker.js")).default;
28
- return new t();
29
- }
30
- }, G = (t) => {
31
- t.currentIntent = "none";
32
- }, _ = async (t, e) => {
33
- const r = v(e);
34
- if (t.agentExecutionContext.userRequest) {
35
- const n = new q(t.agentExecutionContext.userRequest.trim());
36
- t.agentExecutionContext.messages = [...t.agentExecutionContext.messages, n], G(t);
37
- }
38
- const s = r?.services.agentRegistry.list().map((n) => n.agent.id) ?? [];
39
- return await l({ text: `Available agents: ${[...s].join(", ")}` }, e), await l({ text: "Analyzing user input" }, e), t;
40
- }, V = async (t, e) => (await l({ text: "Exiting..." }, e), t), w = (t) => typeof t == "object" && t !== null && !Array.isArray(t), z = (t, e) => {
41
- if (!w(t)) {
42
- t !== void 0 && console.warn(`Agent "${e}" returned invalid sharedStatePatch. Ignoring it.`);
30
+ const n = (await import("./embeddings.worker.js")).default;
31
+ return new n();
32
+ }
33
+ }, K = (n) => {
34
+ n.currentIntent = "none";
35
+ }, J = async (n, e) => {
36
+ const r = A(e);
37
+ if (n.agentExecutionContext.userRequest) {
38
+ const t = new U(n.agentExecutionContext.userRequest.trim());
39
+ n.agentExecutionContext.messages = [...n.agentExecutionContext.messages, t], K(n);
40
+ }
41
+ const s = r?.services.agentRegistry.list().map((t) => t.agent.id) ?? [];
42
+ return await p({ text: `Available agents: ${[...s].join(", ")}` }, e), await p({ text: "Analyzing user input" }, e), n;
43
+ }, X = async (n, e) => (await p({ text: "Exiting..." }, e), n), E = (n) => typeof n == "object" && n !== null && !Array.isArray(n), Y = (n, e) => {
44
+ if (!E(n)) {
45
+ n !== void 0 && console.warn(`Agent "${e}" returned invalid sharedStatePatch. Ignoring it.`);
43
46
  return;
44
47
  }
45
48
  const r = {};
46
- for (const [s, n] of Object.entries(t)) {
47
- if (!w(n) || !("value" in n)) {
49
+ for (const [s, t] of Object.entries(n)) {
50
+ if (!E(t) || !("value" in t)) {
48
51
  console.warn(
49
52
  `Agent "${e}" returned invalid sharedStatePatch entry for key "${s}". Ignoring that entry.`
50
53
  );
51
54
  continue;
52
55
  }
53
- r[s] = { value: n.value };
56
+ r[s] = { value: t.value };
54
57
  }
55
58
  return r;
56
- }, Q = (t) => {
57
- const { previousSharedState: e, patch: r, agentId: s } = t;
59
+ }, Z = (n) => {
60
+ const { previousSharedState: e, patch: r, agentId: s } = n;
58
61
  if (!r)
59
62
  return e;
60
- const n = Date.now(), a = {
63
+ const t = Date.now(), a = {
61
64
  ...e
62
65
  };
63
- for (const [i, c] of Object.entries(r))
64
- c?.value !== void 0 && (a[i] = {
65
- value: c.value,
66
+ for (const [i, o] of Object.entries(r))
67
+ o?.value !== void 0 && (a[i] = {
68
+ value: o.value,
66
69
  meta: {
67
70
  updatedByAgentId: s,
68
- updatedAt: n
71
+ updatedAt: t
69
72
  }
70
73
  });
71
74
  return a;
72
- }, f = (t) => {
73
- if (typeof t != "string")
75
+ }, ee = 256, te = /* @__PURE__ */ new Set(["point", "polyline", "polygon", "extent", "custom"]), ne = (n) => typeof n == "object" && n !== null && !Array.isArray(n), re = (n, e) => {
76
+ if (n === void 0)
74
77
  return;
75
- const e = t.trim();
78
+ if (!Array.isArray(n)) {
79
+ console.warn(`Agent "${e}" returned invalid sharedResourceAdditions. Ignoring it.`);
80
+ return;
81
+ }
82
+ const r = [];
83
+ for (const [s, t] of n.entries()) {
84
+ if (!ne(t) || typeof t.kind != "string" || !te.has(t.kind) || typeof t.description != "string" || !t.description.trim() || !("payload" in t) || t.payload === void 0) {
85
+ console.warn(
86
+ `Agent "${e}" returned invalid sharedResourceAdditions entry at index ${s}. Ignoring that entry.`
87
+ );
88
+ continue;
89
+ }
90
+ let a;
91
+ try {
92
+ a = structuredClone(t.payload);
93
+ } catch {
94
+ console.warn(
95
+ `Agent "${e}" returned invalid sharedResourceAdditions entry at index ${s}. Ignoring that entry.`
96
+ );
97
+ continue;
98
+ }
99
+ r.push({
100
+ kind: t.kind,
101
+ description: t.description.trim().slice(0, ee),
102
+ payload: a
103
+ });
104
+ }
105
+ return r.length ? r : void 0;
106
+ }, se = (n) => {
107
+ const { previousSharedResources: e, additions: r, agentId: s } = n;
108
+ if (!r?.length)
109
+ return e;
110
+ const t = Date.now(), a = r.map((i) => ({
111
+ ...i,
112
+ id: b(),
113
+ meta: {
114
+ createdByAgentId: s,
115
+ createdAt: t
116
+ }
117
+ }));
118
+ return [...e, ...a].slice(-50);
119
+ }, R = (n) => {
120
+ if (typeof n != "string")
121
+ return;
122
+ const e = n.trim();
76
123
  return e || void 0;
77
- }, B = (t) => {
78
- switch (t) {
124
+ }, ae = (n) => {
125
+ switch (n) {
79
126
  case "failed":
80
127
  return "Agent failed without a summary.";
81
128
  case "unknown":
@@ -85,98 +132,195 @@ const T = async (t) => {
85
132
  default:
86
133
  return "Agent completed without a summary.";
87
134
  }
88
- }, J = (t, e) => {
89
- const r = f(e?.outputMessage), s = f(e?.summary), n = e?.status, a = n === "success" || n === "failed" ? n : "unknown";
90
- a === "unknown" && console.warn(`Agent "${t}" returned missing/invalid status. Defaulting to "unknown".`);
91
- const i = z(e?.sharedStatePatch, t);
135
+ }, ie = (n, e) => {
136
+ const r = R(e?.outputMessage), s = R(e?.summary), t = e?.status, a = t === "success" || t === "failed" ? t : "unknown";
137
+ a === "unknown" && console.warn(`Agent "${n}" returned missing/invalid status. Defaulting to "unknown".`);
138
+ const i = Y(e?.sharedStatePatch, n), o = re(e?.sharedResourceAdditions, n);
92
139
  return {
93
140
  outputMessage: r,
94
- summary: s ?? r ?? B(a),
141
+ summary: s ?? r ?? ae(a),
95
142
  status: a,
96
- sharedStatePatch: i
143
+ sharedStatePatch: i,
144
+ sharedResourceAdditions: o
97
145
  };
98
- }, E = 4e3, K = async (t, e) => {
99
- const r = v(e);
100
- if (r?.abortSignal?.aborted)
101
- return await l({ text: "Run cancelled; skipping agent execution" }, e), {
102
- ...t,
146
+ }, x = 4e3, oe = async (n, e) => {
147
+ const r = A(e);
148
+ if (e?.signal?.aborted)
149
+ return await p({ text: "Run cancelled; skipping agent execution" }, e), {
150
+ ...n,
103
151
  currentIntent: "none",
104
152
  requiresFollowUp: !1
105
153
  };
106
- const { agentRegistry: s } = r?.services ?? {}, n = s?.get(t.currentIntent);
107
- if (!n)
108
- return console.warn(`No agent found for intent: ${t.currentIntent}`), t;
109
- await l({ text: `Executing registered agent: ${n.agent.name}` }, e);
154
+ const { agentRegistry: s } = r?.services ?? {}, t = s?.get(n.currentIntent);
155
+ if (!t)
156
+ return console.warn(`No agent found for intent: ${n.currentIntent}`), n;
157
+ await p({ text: `Executing registered agent: ${t.agent.name}` }, e);
110
158
  const a = {
111
159
  ...e ?? {},
160
+ metadata: {
161
+ ...e?.metadata,
162
+ agentId: t.agent.id
163
+ },
112
164
  configurable: {
113
165
  ...r ?? {},
114
- agentId: n.agent.id,
115
- context: n.getContext ? await n.getContext() : void 0
166
+ agentId: t.agent.id,
167
+ context: t.getContext ? await t.getContext() : void 0
116
168
  }
117
169
  };
118
170
  let i;
119
171
  try {
120
- const o = await n.agent.createGraph().compile().invoke(
172
+ const c = await t.agent.createGraph().compile().invoke(
121
173
  {
122
174
  agentExecutionContext: {
123
- ...t.agentExecutionContext,
175
+ ...n.agentExecutionContext,
124
176
  // deep clone on messages did not work in agents, so its a shallow clone here.
125
- messages: [...t.agentExecutionContext.messages],
177
+ messages: [...n.agentExecutionContext.messages],
126
178
  // deep clone to prevent accidental mutations by agents
127
- priorSteps: structuredClone(t.agentExecutionContext.priorSteps ?? []),
128
- sharedState: structuredClone(t.agentExecutionContext.sharedState ?? {})
179
+ priorSteps: structuredClone(n.agentExecutionContext.priorSteps ?? []),
180
+ sharedState: structuredClone(n.agentExecutionContext.sharedState ?? {}),
181
+ sharedResources: structuredClone(n.agentExecutionContext.sharedResources ?? [])
129
182
  }
130
183
  },
131
184
  a
132
185
  );
133
- i = J(n.agent.name, o), await l({ text: `Finished executing registered agent: ${n.agent.name}` }, e);
134
- } catch (o) {
135
- if (D(o))
136
- throw o;
137
- const g = o instanceof Error ? o.message : String(o);
138
- console.error(`Agent "${n.agent.name}" failed:`, o), await l({ text: `Registered agent failed: ${n.agent.name}. ${g}` }, e), i = {
186
+ i = ie(t.agent.name, c), await p({ text: `Finished executing registered agent: ${t.agent.name}` }, e);
187
+ } catch (c) {
188
+ if (F(c) || e?.signal?.aborted || c instanceof Error && c.name === "AbortError")
189
+ throw c;
190
+ const u = c instanceof Error ? c.message : String(c);
191
+ console.error(`Agent "${t.agent.name}" failed:`, c), await p({ text: `Registered agent failed: ${t.agent.name}. ${u}` }, e), i = {
139
192
  status: "failed",
140
- outputMessage: `Agent execution failed: ${g}`,
141
- summary: `Agent execution failed: ${g}`
193
+ outputMessage: `Agent execution failed: ${u}`,
194
+ summary: `Agent execution failed: ${u}`
142
195
  };
143
196
  }
144
- const c = i.outputMessage, d = [...t.agentExecutionContext.messages];
145
- if (c) {
146
- const o = c.length > E ? `${c.slice(0, E - 14)}
147
- [truncated]` : c;
148
- d.push(new H(o));
197
+ const o = i.outputMessage, d = [...n.agentExecutionContext.messages];
198
+ if (o) {
199
+ const c = o.length > x ? `${o.slice(0, x - 14)}
200
+ [truncated]` : o;
201
+ d.push(new O(c));
149
202
  }
150
203
  return {
151
- ...t,
152
- stepCount: t.stepCount + 1,
153
- lastExecutedAgent: n.agent.id,
154
- requiresFollowUp: i.status === "failed" ? !0 : t.requiresFollowUp,
155
- finalOutputMessage: c ?? "",
204
+ ...n,
205
+ stepCount: n.stepCount + 1,
206
+ lastExecutedAgent: t.agent.id,
207
+ requiresFollowUp: i.status === "failed" ? !0 : n.requiresFollowUp,
208
+ finalOutputMessage: o ?? "",
156
209
  agentExecutionContext: {
157
- ...t.agentExecutionContext,
210
+ ...n.agentExecutionContext,
158
211
  messages: d,
159
212
  priorSteps: [
160
- ...t.agentExecutionContext.priorSteps ?? [],
213
+ ...n.agentExecutionContext.priorSteps ?? [],
161
214
  {
162
- agentId: n.agent.id,
163
- assignedTask: t.agentExecutionContext.assignedTask,
215
+ agentId: t.agent.id,
216
+ assignedTask: n.agentExecutionContext.assignedTask,
164
217
  summary: i?.summary || "No summary provided.",
165
218
  status: i?.status || "unknown"
166
219
  }
167
220
  ],
168
- sharedState: Q({
169
- previousSharedState: t.agentExecutionContext.sharedState,
221
+ sharedState: Z({
222
+ previousSharedState: n.agentExecutionContext.sharedState,
170
223
  patch: i.sharedStatePatch,
171
- agentId: n.agent.id
224
+ agentId: t.agent.id
225
+ }),
226
+ sharedResources: se({
227
+ previousSharedResources: n.agentExecutionContext.sharedResources,
228
+ additions: i.sharedResourceAdditions,
229
+ agentId: t.agent.id
172
230
  })
173
231
  }
174
232
  };
175
- }, X = 3, Y = () => new L(k).addNode("ingestInput", _).addNode("intentLLM", A).addNode("executeRegisteredAgent", K).addNode("exit", V).addEdge(W, "ingestInput").addEdge("ingestInput", "intentLLM").addConditionalEdges("intentLLM", (e) => e.currentIntent === "none" || e.currentIntent === e.lastExecutedAgent ? "exit" : "executeRegisteredAgent").addConditionalEdges(
176
- "executeRegisteredAgent",
177
- (e) => e.stepCount >= X || !e.requiresFollowUp ? "exit" : "intentLLM"
178
- ).addEdge("exit", $);
179
- class Z {
233
+ }, ce = async (n, e) => {
234
+ if (n.routing.mode !== "direct")
235
+ throw new Error("Direct agent assignment requires direct routing.");
236
+ return await p({ text: `Doing a direct route to agent: ${n.routing.agentId}` }, e), {
237
+ ...n,
238
+ currentIntent: n.routing.agentId,
239
+ requiresFollowUp: !1,
240
+ agentExecutionContext: {
241
+ ...n.agentExecutionContext,
242
+ assignedTask: n.agentExecutionContext.userRequest
243
+ }
244
+ };
245
+ }, de = 3, ue = (n) => n.routing.mode === "direct" ? "assignDirectAgent" : "intentLLM", ge = (n) => n.routing.mode === "direct" || n.stepCount >= de || !n.requiresFollowUp ? "exit" : "intentLLM", le = () => new L(T).addNode("ingestInput", J).addNode("assignDirectAgent", ce).addNode("intentLLM", j).addNode("executeRegisteredAgent", oe).addNode("exit", X).addEdge(q, "ingestInput").addConditionalEdges("ingestInput", ue).addEdge("assignDirectAgent", "executeRegisteredAgent").addConditionalEdges("intentLLM", (e) => e.currentIntent === "none" || e.currentIntent === e.lastExecutedAgent ? "exit" : "executeRegisteredAgent").addConditionalEdges("executeRegisteredAgent", ge).addEdge("exit", W), he = (n, e) => {
246
+ const r = n.output?.usage_metadata ?? e.usage_metadata, s = n.output?.llmOutput?.tokenUsage, t = r?.input_tokens ?? s?.promptTokens, a = r?.output_tokens ?? s?.completionTokens, i = r?.total_tokens ?? s?.totalTokens;
247
+ if (t === void 0 || a === void 0 || i === void 0)
248
+ return;
249
+ const o = r?.input_token_details?.cache_read, d = r?.output_token_details?.reasoning;
250
+ return {
251
+ input: t,
252
+ output: a,
253
+ total: i,
254
+ ...o !== void 0 && { cacheRead: o },
255
+ ...d !== void 0 && { reasoning: d }
256
+ };
257
+ }, pe = (n, e, r, s) => {
258
+ switch (n) {
259
+ case "chat_model":
260
+ case "llm":
261
+ return "model";
262
+ case "tool":
263
+ case "retriever":
264
+ return n;
265
+ case "chain":
266
+ return !s || e === "LangGraph" ? "workflow" : r === e ? "node" : "chain";
267
+ default:
268
+ return;
269
+ }
270
+ }, me = (n) => {
271
+ if (n instanceof Error)
272
+ return { message: n.message, name: n.name };
273
+ const e = n, r = typeof e?.message == "string" ? e.message : String(n ?? "Unknown runtime error"), s = typeof e?.name == "string" ? e.name : void 0;
274
+ return { message: r, ...s && { name: s } };
275
+ }, ye = ({
276
+ event: n,
277
+ runId: e,
278
+ parentSpanId: r,
279
+ timestamp: s
280
+ }) => {
281
+ const t = /^on_(.+)_(start|end|error)$/u.exec(n.event);
282
+ if (!t)
283
+ return;
284
+ const [, a, i] = t, o = n.metadata ?? {}, d = o.langgraph_node, c = pe(a, n.name, d, r);
285
+ if (!c)
286
+ return;
287
+ const u = o.agentId, g = o.model ?? o.ls_model_name, l = n.data, f = i === "end" && c === "model" ? he(l, o) : void 0, h = n.tags?.includes("langsmith:hidden") || d === "__start__", v = {
288
+ ...g && { model: g },
289
+ ...f && { tokenUsage: f },
290
+ ...h && { internal: !0 }
291
+ }, w = {
292
+ id: n.run_id,
293
+ ...r && { parentId: r },
294
+ label: n.name,
295
+ type: c,
296
+ ...Object.keys(v).length && { metadata: v }
297
+ }, m = { runId: e, timestamp: s, type: "runtime", ...u && { agentId: u } };
298
+ switch (i) {
299
+ case "start":
300
+ return {
301
+ ...m,
302
+ phase: "started",
303
+ span: {
304
+ ...w,
305
+ ...l?.input !== void 0 && { input: l.input }
306
+ }
307
+ };
308
+ case "end":
309
+ return {
310
+ ...m,
311
+ phase: "completed",
312
+ span: {
313
+ ...w,
314
+ ...l?.output !== void 0 && { output: l.output }
315
+ }
316
+ };
317
+ case "error":
318
+ return { ...m, phase: "failed", span: { ...w, error: me(l?.error) } };
319
+ default:
320
+ return;
321
+ }
322
+ };
323
+ class S {
180
324
  constructor() {
181
325
  this.agentRegistry = /* @__PURE__ */ new Map();
182
326
  }
@@ -193,7 +337,7 @@ class Z {
193
337
  return [...this.agentRegistry.values()];
194
338
  }
195
339
  }
196
- class ee {
340
+ class fe {
197
341
  /**
198
342
  * Create a new InterruptHandler tied to a specific compiled graph and config.
199
343
  */
@@ -217,7 +361,7 @@ class ee {
217
361
  agentId: e.agentId,
218
362
  id: e.id,
219
363
  payload: r
220
- }, n = this.graph.streamEvents(null, {
364
+ }, t = this.graph.streamEvents(null, {
221
365
  ...this.config,
222
366
  configurable: {
223
367
  ...this.config.configurable,
@@ -226,7 +370,7 @@ class ee {
226
370
  subgraphs: !0,
227
371
  version: "v2"
228
372
  });
229
- this.resolveWait?.(n);
373
+ this.resolveWait?.(t);
230
374
  } catch (s) {
231
375
  this.rejectWait?.(s);
232
376
  } finally {
@@ -240,157 +384,157 @@ class ee {
240
384
  this.rejectWait && (this.rejectWait(new Error("Request cancelled by user.")), this.resolveWait = void 0, this.rejectWait = void 0);
241
385
  }
242
386
  }
243
- const te = async (t) => {
387
+ const we = async (n) => {
244
388
  try {
245
- return await (await M()).embedDocuments(t);
389
+ return await (await D()).embedDocuments(n);
246
390
  } catch (e) {
247
391
  throw console.error("Failed to generate embeddings:", e), e;
248
392
  }
249
- }, b = async (t, e) => {
250
- const r = e.get(t);
393
+ }, C = async (n, e) => {
394
+ const r = e.get(n);
251
395
  if (r)
252
396
  return r;
253
- const s = await te([t]);
254
- return e.set(t, s[0]), s[0];
397
+ const s = await we([n]);
398
+ return e.set(n, s[0]), s[0];
255
399
  };
256
- async function re(t, e, r, s) {
257
- const n = `req-${Date.now()}`, i = {
400
+ async function ve(n, e, r, s) {
401
+ const t = `req-${Date.now()}`, i = {
258
402
  type: "layerSearch",
259
- precomputedEmbedding: s ? await b(t, s) : void 0,
260
- requestId: n,
403
+ precomputedEmbedding: s ? await C(n, s) : void 0,
404
+ requestId: t,
261
405
  minScore: r
262
406
  };
263
- return await new Promise((c) => {
264
- const d = (o) => {
265
- o.data.requestId === n && c(o.data.results);
407
+ return await new Promise((o) => {
408
+ const d = (c) => {
409
+ c.data.requestId === t && o(c.data.results);
266
410
  };
267
411
  e.addEventListener("message", d, { once: !0 }), e.postMessage(i);
268
412
  });
269
413
  }
270
- function ne(t) {
271
- const { worker: e } = t;
414
+ function Ee(n) {
415
+ const { worker: e } = n;
272
416
  return {
273
417
  async searchLayers({
274
418
  text: r,
275
419
  minScore: s,
276
- embeddingCache: n
420
+ embeddingCache: t
277
421
  }) {
278
- return await re(r, e, s, n);
422
+ return await ve(r, e, s, t);
279
423
  }
280
424
  };
281
425
  }
282
- const se = async ({
283
- combinedQuery: t,
426
+ const Re = async ({
427
+ combinedQuery: n,
284
428
  layerIds: e,
285
429
  embeddingsWorker: r,
286
430
  minScore: s,
287
- topResults: n,
431
+ topResults: t,
288
432
  embeddingCache: a
289
433
  }) => {
290
- const i = `req-${Date.now()}`, c = a ? await b(t, a) : void 0, d = {
434
+ const i = `req-${Date.now()}`, o = a ? await C(n, a) : void 0, d = {
291
435
  type: "fieldSearch",
292
436
  layerIdForFieldsSearch: e,
293
- precomputedEmbedding: c,
437
+ precomputedEmbedding: o,
294
438
  requestId: i,
295
439
  minScore: s,
296
- topResults: n
440
+ topResults: t
297
441
  };
298
- return await new Promise((o) => {
299
- const g = (u) => {
300
- if (u.data.requestId !== i)
442
+ return await new Promise((c) => {
443
+ const u = (g) => {
444
+ if (g.data.requestId !== i)
301
445
  return;
302
- const p = u.data.results.map(({ layerId: y, results: m }) => ({
303
- layerId: y,
304
- results: m
446
+ const l = g.data.results.map(({ layerId: f, results: h }) => ({
447
+ layerId: f,
448
+ results: h
305
449
  }));
306
- o(p);
450
+ c(l);
307
451
  };
308
- r.addEventListener("message", g, { once: !0 }), r.postMessage(d);
452
+ r.addEventListener("message", u, { once: !0 }), r.postMessage(d);
309
453
  });
310
454
  };
311
- function ae(t) {
312
- const { worker: e } = t;
455
+ function xe(n) {
456
+ const { worker: e } = n;
313
457
  return {
314
- async searchFields({ text: r, layerIds: s, minScore: n, topResults: a, embeddingCache: i }) {
315
- return await se({
458
+ async searchFields({ text: r, layerIds: s, minScore: t, topResults: a, embeddingCache: i }) {
459
+ return await Re({
316
460
  combinedQuery: r,
317
461
  layerIds: s,
318
462
  embeddingsWorker: e,
319
- minScore: n,
463
+ minScore: t,
320
464
  topResults: a,
321
465
  embeddingCache: i
322
466
  });
323
467
  }
324
468
  };
325
469
  }
326
- const ie = (t) => {
327
- const e = F.safeParse(t);
470
+ const Se = (n) => {
471
+ const e = H.safeParse(n);
328
472
  if (!e.success)
329
473
  throw new Error("Embeddings response validation failed. Regenerate embeddings.");
330
474
  return e.data;
331
- }, oe = (t, e) => {
475
+ }, be = (n, e) => {
332
476
  const r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
333
- if (e.allLayers.forEach((n) => {
334
- n instanceof U && s.set(n.id, n);
335
- }), t.length !== s.size)
477
+ if (e.allLayers.forEach((t) => {
478
+ t instanceof V && s.set(t.id, t);
479
+ }), n.length !== s.size)
336
480
  throw new Error("Layer count mismatch during registry restoration. Regenerate embeddings.");
337
- for (const n of t) {
338
- const a = s.get(n.id);
481
+ for (const t of n) {
482
+ const a = s.get(t.id);
339
483
  if (!a)
340
484
  throw new Error(
341
- `Layer with ID ${n.id} not found in the original map during registry restoration. Regenerate embeddings.`
485
+ `Layer with ID ${t.id} not found in the original map during registry restoration. Regenerate embeddings.`
342
486
  );
343
- if (n.fields.length !== a.fields.length)
487
+ if (t.fields.length !== a.fields.length)
344
488
  throw new Error(
345
- `Field count mismatch for layer ID ${n.id} during registry restoration. Regenerate embeddings.`
489
+ `Field count mismatch for layer ID ${t.id} during registry restoration. Regenerate embeddings.`
346
490
  );
347
491
  const i = {
348
- name: n.name,
349
- title: n.title,
350
- description: n.description
351
- }, c = /* @__PURE__ */ new Map();
352
- for (const d of n.fields) {
353
- const o = a.fieldsIndex.get(d.name);
354
- if (!o)
492
+ name: t.name,
493
+ title: t.title,
494
+ description: t.description
495
+ }, o = /* @__PURE__ */ new Map();
496
+ for (const d of t.fields) {
497
+ const c = a.fieldsIndex.get(d.name);
498
+ if (!c)
355
499
  throw new Error(
356
- `Field with name ${d.name} not found in the original layer ${n.id} during registry restoration. Regenerate embeddings.`
500
+ `Field with name ${d.name} not found in the original layer ${t.id} during registry restoration. Regenerate embeddings.`
357
501
  );
358
- c.set(d.name, {
502
+ o.set(d.name, {
359
503
  name: d.name,
360
504
  alias: a.getFieldAlias(d.name) ?? d.alias,
361
505
  description: d.description,
362
- type: o.type || "unknown",
363
- valueType: o.valueType || "unknown",
506
+ type: c.type || "unknown",
507
+ valueType: c.valueType || "unknown",
364
508
  domain: a.getFieldDomain(d.name) ?? void 0
365
509
  });
366
510
  }
367
- r.set(n.id, {
511
+ r.set(t.id, {
368
512
  layerItem: i,
369
- fieldRegistry: c
513
+ fieldRegistry: o
370
514
  });
371
515
  }
372
516
  return r;
373
- }, ce = async (t) => {
517
+ }, Ae = async (n) => {
374
518
  try {
375
- return (await O(t, {
519
+ return (await z(n, {
376
520
  responseType: "json"
377
521
  })).data;
378
522
  } catch (e) {
379
- throw new Error(`Failed to fetch data from ${t}: ${String(e)}`);
523
+ throw new Error(`Failed to fetch data from ${n}: ${String(e)}`);
380
524
  }
381
- }, de = async (t) => {
382
- const e = t.map;
525
+ }, Ce = async (n) => {
526
+ const e = n.map;
383
527
  if (!e?.portalItem)
384
528
  throw new Error("WebMap portal item is missing.");
385
529
  const { resources: r } = await e.portalItem.fetchResources(), s = r.find((i) => i.resource.path === "embeddings-v01.json");
386
530
  if (!s?.resource.url)
387
531
  throw new Error("Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.");
388
- const n = await ce(s.resource.url);
389
- return ie(n);
532
+ const t = await Ae(s.resource.url);
533
+ return Se(t);
390
534
  };
391
- class x {
535
+ class k {
392
536
  constructor() {
393
- this.orchestratorReady = !1, this.chatHistory = [], this.priorSteps = [], this.sharedState = {}, this.agentRegistry = new Z(), this.activeRunId = "", this.cancelledRunIds = /* @__PURE__ */ new Set(), this.streamEpoch = 0;
537
+ this.orchestratorReady = !1, this.chatHistory = [], this.priorSteps = [], this.sharedState = {}, this.sharedResources = [], this.agentRegistry = new S(), this.activeRunId = "", this.cancelledRunIds = /* @__PURE__ */ new Set(), this.parentRunIds = /* @__PURE__ */ new Map(), this.activeRuntimeSpans = /* @__PURE__ */ new Map(), this.runtimeEventsEnabled = !1, this.streamEpoch = 0;
394
538
  }
395
539
  /**
396
540
  * Creates and returns an AI-ready Orchestrator instance.
@@ -398,15 +542,16 @@ class x {
398
542
  * @returns Ready Orchestrator.
399
543
  */
400
544
  static async init(e) {
401
- const r = new x();
545
+ const r = new k();
546
+ r.runtimeEventsEnabled = e.runtimeEventsEnabled ?? !1;
402
547
  try {
403
548
  if (e.view?.map) {
404
- await P.whenOnce(() => e.view.ready);
405
- const s = await de(e.view), n = oe(
549
+ await N.whenOnce(() => e.view.ready);
550
+ const s = await Ce(e.view), t = be(
406
551
  s.layers,
407
552
  e.view.map
408
553
  );
409
- r.layersAndFieldsRegistry = n, r.embeddingsWorker = await T(s);
554
+ r.layersAndFieldsRegistry = t, r.embeddingsWorker = await B(s);
410
555
  }
411
556
  return e.agents?.forEach((s) => {
412
557
  r.agentRegistry.register(s);
@@ -422,97 +567,109 @@ class x {
422
567
  * - `interrupt`: HITL required, wait for `resumeInterrupt()`
423
568
  * - `completed`: final result with chat history + layer styling
424
569
  * - `cancelled`: user aborted the run
570
+ * @param userInput User request to process.
571
+ * @param options Agent selection and routing behavior and locale for this run.
425
572
  */
426
- async *ask(e) {
573
+ async *ask(e, r = {}) {
427
574
  if (!this.orchestratorReady)
428
575
  throw new Error("Orchestrator is not ready yet.");
429
576
  if (!this.agentRegistry.list().length)
430
577
  throw new Error("Orchestrator has no registered agents.");
431
- if (++this.streamEpoch, !e.trim())
578
+ const s = this.createRequestAgentRegistry(r);
579
+ if (!s.list().length)
580
+ throw new Error("Orchestrator has no agents selected for this request.");
581
+ if (++this.streamEpoch, !e.trim() && !r.inputParts?.length)
432
582
  return;
433
- const r = crypto.randomUUID();
434
- this.activeRunId = r, this.activeAbortController = new AbortController(), this.graph || (this.graph = Y().compile({ checkpointer: new j() }));
435
- const s = this.embeddingsWorker ? ne({ worker: this.embeddingsWorker }) : void 0, n = this.embeddingsWorker ? ae({ worker: this.embeddingsWorker }) : void 0, a = /* @__PURE__ */ new Map(), c = {
583
+ if (!e.trim() && r.routing !== "direct")
584
+ throw new Error("Requests containing only structured input require direct agent routing.");
585
+ const t = b();
586
+ this.parentRunIds.clear(), this.activeRuntimeSpans.clear(), this.activeRunId = t, this.activeAbortController = new AbortController(), this.graph || (this.graph = le().compile({ checkpointer: new P() }));
587
+ const a = this.embeddingsWorker ? Ee({ worker: this.embeddingsWorker }) : void 0, i = this.embeddingsWorker ? xe({ worker: this.embeddingsWorker }) : void 0, o = /* @__PURE__ */ new Map(), d = r.routing === "direct" ? { mode: "direct", agentId: r.agentId } : { mode: "auto" }, c = {
588
+ // eslint-disable-next-line @typescript-eslint/naming-convention
589
+ thread_id: t,
590
+ locale: r.locale ?? "en",
591
+ hitlResponse: null,
592
+ services: {
593
+ layerSearch: a,
594
+ fieldSearch: i,
595
+ layersAndFieldsRegistry: this.layersAndFieldsRegistry,
596
+ agentRegistry: s,
597
+ embeddingCache: o
598
+ }
599
+ }, u = {
436
600
  version: "v2",
437
601
  streamMode: "custom",
438
- configurable: {
439
- // eslint-disable-next-line @typescript-eslint/naming-convention
440
- thread_id: r,
441
- abortSignal: this.activeAbortController.signal,
442
- hitlResponse: null,
443
- services: {
444
- layerSearch: s,
445
- fieldSearch: n,
446
- layersAndFieldsRegistry: this.layersAndFieldsRegistry,
447
- agentRegistry: this.agentRegistry,
448
- embeddingCache: a
449
- }
450
- },
602
+ signal: this.activeAbortController.signal,
603
+ ...this.runtimeEventsEnabled && { callbacks: [this.createHierarchyCallback()] },
604
+ configurable: c,
451
605
  subgraphs: !0
452
- }, d = this.graph?.streamEvents(
606
+ }, g = this.graph?.streamEvents(
453
607
  {
608
+ routing: d,
454
609
  agentExecutionContext: {
455
610
  userRequest: e,
611
+ inputParts: [...r.inputParts ?? []],
456
612
  messages: this.chatHistory,
457
613
  priorSteps: this.priorSteps,
458
- sharedState: this.sharedState
614
+ sharedState: this.sharedState,
615
+ sharedResources: this.sharedResources
459
616
  }
460
617
  },
461
- c
462
- ), o = ++this.streamEpoch;
463
- if (yield* this.pipeStream(d, o, r), this.isRunCancelled(r)) {
464
- yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
618
+ u
619
+ ), l = ++this.streamEpoch;
620
+ if (yield* this.pipeStream(g, l, t), this.isRunCancelled(t)) {
621
+ yield* this.createCancellationEvents(t);
465
622
  return;
466
623
  }
467
624
  for (; ; ) {
468
- if (this.isRunCancelled(r)) {
469
- yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
625
+ if (this.isRunCancelled(t)) {
626
+ yield* this.createCancellationEvents(t);
470
627
  return;
471
628
  }
472
- const m = (await this.graph.getState(c, { subgraphs: !0 })).tasks.find((h) => h.interrupts.length > 0)?.interrupts[0]?.value;
629
+ const m = (await this.graph.getState(u, { subgraphs: !0 })).tasks.find((y) => y.interrupts.length > 0)?.interrupts[0]?.value;
473
630
  if (!m)
474
631
  break;
475
- this.currentInterrupt = m, this.interruptHandler = new ee(this.graph, c), yield { runId: r, timestamp: Date.now(), type: "interrupt", interrupt: m };
632
+ this.currentInterrupt = m, this.interruptHandler = new fe(this.graph, u), yield* this.closeActiveRuntimeSpans(t, "interrupted"), yield { runId: t, timestamp: Date.now(), type: "interrupt", interrupt: m };
476
633
  try {
477
- const h = await this.interruptHandler.waitForUser(), S = ++this.streamEpoch;
478
- yield* this.pipeStream(h, S, r);
479
- } catch (h) {
480
- if (this.isRunCancelled(r)) {
481
- yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
634
+ const y = await this.interruptHandler.waitForUser(), I = ++this.streamEpoch;
635
+ yield* this.pipeStream(y, I, t);
636
+ } catch (y) {
637
+ if (this.isRunCancelled(t)) {
638
+ yield* this.createCancellationEvents(t);
482
639
  return;
483
640
  }
484
- if (h) {
641
+ if (y) {
485
642
  yield {
486
- runId: r,
643
+ runId: t,
487
644
  timestamp: Date.now(),
488
645
  type: "error",
489
- error: { message: h?.message }
646
+ error: { message: y?.message }
490
647
  };
491
648
  return;
492
649
  }
493
650
  }
494
651
  }
495
- if (this.isRunCancelled(r)) {
496
- yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
652
+ if (this.isRunCancelled(t)) {
653
+ yield* this.createCancellationEvents(t);
497
654
  return;
498
655
  }
499
- const u = (await this.graph.getState(c, { subgraphs: !0 })).values;
500
- if (this.isRunCancelled(r)) {
501
- yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
656
+ const h = (await this.graph.getState(u, { subgraphs: !0 })).values;
657
+ if (this.isRunCancelled(t)) {
658
+ yield* this.createCancellationEvents(t);
502
659
  return;
503
660
  }
504
- this.chatHistory = u.agentExecutionContext.messages.length ? u.agentExecutionContext.messages : this.chatHistory, this.priorSteps = u.agentExecutionContext.priorSteps?.slice(-5) ?? [], this.sharedState = u.agentExecutionContext.sharedState ?? {}, yield {
505
- runId: r,
661
+ this.chatHistory = h.agentExecutionContext.messages.length ? h.agentExecutionContext.messages : this.chatHistory, this.priorSteps = h.agentExecutionContext.priorSteps?.slice(-5) ?? [], this.sharedState = h.agentExecutionContext.sharedState ?? {}, this.sharedResources = h.agentExecutionContext.sharedResources ?? [], yield {
662
+ runId: t,
506
663
  timestamp: Date.now(),
507
664
  type: "completed",
508
- result: { content: u.finalOutputMessage }
665
+ result: { content: h.finalOutputMessage }
509
666
  };
510
667
  }
511
668
  /**
512
669
  * Start a new conversation by clearing chat history, prior steps, and shared state.
513
670
  */
514
671
  newConversation() {
515
- this.chatHistory = [], this.priorSteps = [], this.sharedState = {};
672
+ this.chatHistory = [], this.priorSteps = [], this.sharedState = {}, this.sharedResources = [];
516
673
  }
517
674
  /**
518
675
  * Generic resume for any HITL interrupt.
@@ -540,29 +697,87 @@ class x {
540
697
  this.activeRunId && (this.cancelledRunIds.add(this.activeRunId), this.activeAbortController?.abort(), ++this.streamEpoch, this.interruptHandler?.cancel());
541
698
  }
542
699
  async *pipeStream(e, r, s) {
543
- for await (const n of e) {
544
- if (this.isRunCancelled(s) || r !== this.streamEpoch)
545
- break;
546
- n.event === "on_custom_event" && n.name === "trace_message" ? yield { runId: s, timestamp: Date.now(), type: "trace", data: n.data } : n.name === "graph_ux_suggestion" && (yield {
547
- runId: s,
548
- timestamp: Date.now(),
549
- type: "ux-suggestion",
550
- suggestion: n.data
551
- });
700
+ try {
701
+ for await (const t of e) {
702
+ if (this.isRunCancelled(s) || r !== this.streamEpoch)
703
+ break;
704
+ if (this.runtimeEventsEnabled) {
705
+ const a = ye({
706
+ event: t,
707
+ runId: s,
708
+ parentSpanId: this.parentRunIds.get(t.run_id),
709
+ timestamp: Date.now()
710
+ });
711
+ a && (a.phase === "started" ? this.activeRuntimeSpans.set(a.span.id, a) : this.activeRuntimeSpans.delete(a.span.id), yield a);
712
+ }
713
+ t.event === "on_custom_event" && t.name === "trace_message" ? yield { runId: s, timestamp: Date.now(), type: "trace", data: t.data } : t.name === "graph_ux_suggestion" && (yield {
714
+ runId: s,
715
+ timestamp: Date.now(),
716
+ type: "ux-suggestion",
717
+ suggestion: t.data
718
+ });
719
+ }
720
+ } catch (t) {
721
+ if (!this.isRunCancelled(s))
722
+ throw t;
723
+ }
724
+ }
725
+ *createCancellationEvents(e) {
726
+ yield* this.closeActiveRuntimeSpans(e, "cancelled"), yield { runId: e, timestamp: Date.now(), type: "cancelled", reason: "user" };
727
+ }
728
+ *closeActiveRuntimeSpans(e, r) {
729
+ const s = Date.now(), t = [...this.activeRuntimeSpans.values()].reverse();
730
+ this.activeRuntimeSpans.clear();
731
+ for (const a of t) {
732
+ const { input: i, ...o } = a.span;
733
+ yield {
734
+ type: "runtime",
735
+ phase: r,
736
+ runId: e,
737
+ timestamp: s,
738
+ ...a.agentId && { agentId: a.agentId },
739
+ span: o
740
+ };
552
741
  }
553
742
  }
743
+ // v2 stream events omit parent run IDs, so capture them through callbacks to preserve the normalized span hierarchy.
744
+ createHierarchyCallback() {
745
+ const e = (r, s) => {
746
+ s && this.parentRunIds.set(r, s);
747
+ };
748
+ return G.fromMethods({
749
+ handleLLMStart: (r, s, t, a) => e(t, a),
750
+ handleChatModelStart: (r, s, t, a) => e(t, a),
751
+ handleChainStart: (r, s, t, a) => e(t, a),
752
+ handleToolStart: (r, s, t, a) => e(t, a),
753
+ handleRetrieverStart: (r, s, t, a) => e(t, a)
754
+ });
755
+ }
554
756
  isRunCancelled(e) {
555
757
  return this.cancelledRunIds.has(e);
556
758
  }
759
+ /**
760
+ * Creates a request-scoped registry containing all agents by default,
761
+ * or only the explicitly selected agents when filtering is requested.
762
+ */
763
+ createRequestAgentRegistry(e) {
764
+ const r = e.routing === "direct" ? [e.agentId] : e.agentIds, s = r ? r.map((a) => {
765
+ const i = this.agentRegistry.get(a);
766
+ if (!i)
767
+ throw new Error(`Agent is not registered: ${a}`);
768
+ return i;
769
+ }) : this.agentRegistry.list(), t = new S();
770
+ return s.forEach((a) => t.register(a)), t;
771
+ }
557
772
  /**
558
773
  * Disposes this instance by terminating the embeddings worker
559
774
  * and cleaning up all related resources.
560
775
  */
561
776
  dispose() {
562
- this.embeddingsWorker && (this.embeddingsWorker.terminate(), this.embeddingsWorker = void 0), this.orchestratorReady = !1;
777
+ this.sharedResources = [], this.embeddingsWorker && (this.embeddingsWorker.terminate(), this.embeddingsWorker = void 0), this.orchestratorReady = !1;
563
778
  }
564
779
  }
565
780
  export {
566
- x as O,
567
- te as g
781
+ k as O,
782
+ we as g
568
783
  };