@arcgis/ai-components 5.1.0-next.98 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (446) hide show
  1. package/README.md +2 -2
  2. package/dist/agent-utils/BaseAgent.d.ts +90 -0
  3. package/dist/agent-utils/BaseAgent.js +87 -0
  4. package/dist/agent-utils/FunctionAgent.d.ts +64 -0
  5. package/dist/agent-utils/FunctionAgent.js +98 -0
  6. package/dist/agent-utils/LLMAgent.d.ts +65 -0
  7. package/dist/agent-utils/LLMAgent.js +140 -0
  8. package/dist/agent-utils/WorkflowAgent.d.ts +44 -0
  9. package/dist/agent-utils/WorkflowAgent.js +70 -0
  10. package/dist/agent-utils/index.d.ts +177 -0
  11. package/dist/agent-utils/index.js +167 -0
  12. package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +152 -0
  13. package/dist/agent-utils/middlewares/humanInTheLoop.js +94 -0
  14. package/dist/agent-utils/middlewares/middleware.d.ts +25 -0
  15. package/dist/agent-utils/middlewares/middleware.js +44 -0
  16. package/dist/agent-utils/middlewares/trace.d.ts +27 -0
  17. package/dist/agent-utils/middlewares/trace.js +42 -0
  18. package/dist/agent-utils/middlewares/types.d.ts +123 -0
  19. package/dist/agent-utils/middlewares/types.js +2 -0
  20. package/dist/agent-utils/tools/FunctionTool.d.ts +127 -0
  21. package/dist/agent-utils/tools/FunctionTool.js +80 -0
  22. package/dist/agent-utils/types.d.ts +181 -0
  23. package/dist/agent-utils/workflows/BaseWorkflow.d.ts +87 -0
  24. package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +72 -0
  25. package/dist/agent-utils/workflows/ConditionalWorkflow.js +61 -0
  26. package/dist/agent-utils/workflows/LoopWorkflow.d.ts +58 -0
  27. package/dist/agent-utils/workflows/LoopWorkflow.js +56 -0
  28. package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +68 -0
  29. package/dist/agent-utils/workflows/ParallelWorkflow.js +129 -0
  30. package/dist/agent-utils/workflows/RouterWorkflow.d.ts +63 -0
  31. package/dist/agent-utils/workflows/RouterWorkflow.js +75 -0
  32. package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +56 -0
  33. package/dist/agent-utils/workflows/SequentialWorkflow.js +69 -0
  34. package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +74 -0
  35. package/dist/agent-utils/workflows/SwitchWorkflow.js +84 -0
  36. package/dist/assets/embeddings.worker-k9_Ou679.js +1 -0
  37. package/dist/cdn/23JKEYWV.js +2 -0
  38. package/dist/cdn/2XP5E435.js +2 -0
  39. package/dist/cdn/3H7F4V6U.js +2 -0
  40. package/dist/cdn/3J5RM5OR.js +36 -0
  41. package/dist/cdn/46U2PGRW.js +65 -0
  42. package/dist/cdn/4ASZF5I2.js +181 -0
  43. package/dist/cdn/4BA4OUWC.js +134 -0
  44. package/dist/cdn/4EALV6QJ.js +2 -0
  45. package/dist/cdn/4Z4AESFZ.js +2 -0
  46. package/dist/cdn/{5PT7ZFXF.js → 5RQUSM3T.js} +23 -5
  47. package/dist/cdn/6FEB6XYK.js +2 -0
  48. package/dist/cdn/7CCULIWM.js +2 -0
  49. package/dist/cdn/7Q2WROGA.js +2 -0
  50. package/dist/cdn/7WSTR3WA.js +2 -0
  51. package/dist/cdn/7ZN4HYX2.js +2 -0
  52. package/dist/cdn/A6C7XUI4.js +2 -0
  53. package/dist/cdn/{SFREIREB.js → AJKWCXDA.js} +8 -2
  54. package/dist/cdn/AXOPGQGZ.js +2 -0
  55. package/dist/cdn/BAGQCT2N.js +2 -0
  56. package/dist/cdn/BBB2NVY5.js +3 -0
  57. package/dist/cdn/BGZV7RUS.js +2 -0
  58. package/dist/cdn/BUTKUPXN.js +34 -0
  59. package/dist/cdn/CU2TRUZQ.js +99 -0
  60. package/dist/cdn/D5PZVUO7.js +2 -0
  61. package/dist/cdn/DB2C7FK7.js +2 -0
  62. package/dist/cdn/DHGNGMNJ.js +2 -0
  63. package/dist/cdn/DKNDDDWM.js +2 -0
  64. package/dist/cdn/DTRZOJOT.js +2 -0
  65. package/dist/cdn/ESRKMM6P.js +2 -0
  66. package/dist/cdn/FDBWYCAB.js +22 -0
  67. package/dist/cdn/FYNHAVHL.js +2 -0
  68. package/dist/cdn/H3EEFM4A.js +179 -0
  69. package/dist/cdn/HIGLOYFN.js +9 -0
  70. package/dist/cdn/JNDONBTW.js +2 -0
  71. package/dist/cdn/JOLKZ6S5.js +2 -0
  72. package/dist/cdn/JQ5VH32K.js +2 -0
  73. package/dist/cdn/K6BGVUQ7.js +2 -0
  74. package/dist/cdn/KGYSBUFO.js +9 -0
  75. package/dist/cdn/L6GVMINQ.js +2 -0
  76. package/dist/cdn/LTPDBXQ7.js +6 -0
  77. package/dist/cdn/LUY7QCZ3.js +2 -0
  78. package/dist/cdn/LXJWWOGK.js +66 -0
  79. package/dist/cdn/M7C6Y752.js +2 -0
  80. package/dist/cdn/{3QC3BRZP.js → MEQ67UQH.js} +1 -1
  81. package/dist/cdn/MJM2MHJW.js +44 -0
  82. package/dist/cdn/MNCG7Q7C.js +3 -0
  83. package/dist/cdn/MNHNUIMV.js +2 -0
  84. package/dist/cdn/N2SKXRLK.js +71 -0
  85. package/dist/cdn/OBDCCGVH.js +2 -0
  86. package/dist/cdn/OFH2TDZM.js +2 -0
  87. package/dist/cdn/OP6ENMCN.js +180 -0
  88. package/dist/cdn/P5M2HNJ7.js +2 -0
  89. package/dist/cdn/PFW7KXCP.js +48 -0
  90. package/dist/cdn/PIUDMACH.js +56 -0
  91. package/dist/cdn/PKH5BECA.js +2 -0
  92. package/dist/cdn/PTKZXFXB.js +31 -0
  93. package/dist/cdn/{O62HTIOD.js → Q33HJXYV.js} +1 -1
  94. package/dist/cdn/QH6TSBNI.js +2 -0
  95. package/dist/cdn/QZXQIJSW.js +2 -0
  96. package/dist/cdn/SHCVYGIH.js +4 -0
  97. package/dist/cdn/SUFXLHTD.js +2 -0
  98. package/dist/cdn/{VHOF6SUZ.js → TIXCHLEN.js} +17 -1
  99. package/dist/cdn/TOYQ22PR.js +2 -0
  100. package/dist/cdn/UDXMJNRF.js +3 -0
  101. package/dist/cdn/UE3CP46P.js +2 -0
  102. package/dist/cdn/VDAF255D.js +22 -0
  103. package/dist/cdn/VPZHLYPA.js +2 -0
  104. package/dist/cdn/{7EXACS27.js → VWMJ7HIK.js} +10 -7
  105. package/dist/cdn/W2CWLWUT.js +14 -0
  106. package/dist/cdn/W6HO4D6J.js +18 -0
  107. package/dist/cdn/WNJM5TET.js +2 -0
  108. package/dist/cdn/XKIAXVPE.js +2 -0
  109. package/dist/cdn/XMJF5F4M.js +2 -0
  110. package/dist/cdn/Y5GGIKKC.js +2 -0
  111. package/dist/cdn/YURWID37.js +2 -0
  112. package/dist/cdn/agent-utils/index.js +2 -0
  113. package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +3 -0
  114. package/dist/cdn/agent-utils/middlewares/middleware.js +2 -0
  115. package/dist/cdn/agent-utils/middlewares/trace.js +2 -0
  116. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  117. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  118. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  119. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  120. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  121. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  122. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  123. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  124. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  125. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  126. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  127. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  128. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  129. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  130. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  131. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  132. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  133. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  134. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  135. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  136. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  137. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  138. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  139. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  140. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  141. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  142. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  143. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  144. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  145. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  146. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  147. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  148. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  149. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  150. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  151. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  152. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  153. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  154. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  155. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -1
  156. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -1
  157. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -1
  158. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -1
  159. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -1
  160. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -1
  161. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -1
  162. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -1
  163. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -1
  164. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -1
  165. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -1
  166. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -1
  167. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -1
  168. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -1
  169. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -1
  170. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -1
  171. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -1
  172. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -1
  173. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -1
  174. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -1
  175. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -1
  176. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -1
  177. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -1
  178. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -1
  179. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -1
  180. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -1
  181. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -1
  182. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -1
  183. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -1
  184. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -1
  185. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -1
  186. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -1
  187. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -1
  188. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -1
  189. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -1
  190. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -1
  191. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -1
  192. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -1
  193. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -1
  194. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -1
  195. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -1
  196. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -1
  197. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -1
  198. package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -1
  199. package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -1
  200. package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -1
  201. package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -1
  202. package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -1
  203. package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -1
  204. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -1
  205. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -1
  206. package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -1
  207. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -1
  208. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -1
  209. package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -1
  210. package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -1
  211. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -1
  212. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -1
  213. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -1
  214. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -1
  215. package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -1
  216. package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -1
  217. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -1
  218. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -1
  219. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -1
  220. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -1
  221. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -1
  222. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -1
  223. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -1
  224. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -1
  225. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -1
  226. package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -1
  227. package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -1
  228. package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -1
  229. package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -1
  230. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -1
  231. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -1
  232. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -1
  233. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -1
  234. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -1
  235. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -1
  236. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -1
  237. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -1
  238. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -1
  239. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -1
  240. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -1
  241. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -1
  242. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -1
  243. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -1
  244. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -1
  245. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -1
  246. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -1
  247. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -1
  248. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -1
  249. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -1
  250. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -1
  251. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -1
  252. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -1
  253. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -1
  254. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -1
  255. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -1
  256. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -1
  257. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -1
  258. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -1
  259. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -1
  260. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -1
  261. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -1
  262. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -1
  263. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -1
  264. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -1
  265. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -1
  266. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -1
  267. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -1
  268. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -1
  269. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -1
  270. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -1
  271. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -1
  272. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -1
  273. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -1
  274. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -1
  275. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -1
  276. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -1
  277. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -1
  278. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -1
  279. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -1
  280. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -1
  281. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -1
  282. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -1
  283. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -1
  284. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -1
  285. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -1
  286. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -1
  287. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -1
  288. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -1
  289. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -1
  290. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -1
  291. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -1
  292. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -1
  293. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -1
  294. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -1
  295. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -1
  296. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -1
  297. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -1
  298. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -1
  299. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -1
  300. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -1
  301. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -1
  302. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -1
  303. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -1
  304. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -1
  305. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -1
  306. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -1
  307. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -1
  308. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -1
  309. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -1
  310. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -1
  311. package/dist/cdn/index.js +1 -1
  312. package/dist/cdn/main.css +1 -1
  313. package/dist/chunks/BaseWorkflow.js +107 -0
  314. package/dist/chunks/adapter.js +3130 -0
  315. package/dist/chunks/arcgisKnowledgeGraph.js +229 -0
  316. package/dist/chunks/arcgis_knowledge_current_lc_context.js +25 -0
  317. package/dist/chunks/arcgis_knowledge_current_map_context.js +37 -0
  318. package/dist/chunks/arcgis_knowledge_cypher_query_prompt.js +102 -0
  319. package/dist/chunks/arcgis_knowledge_lucene_generation_prompt.js +101 -0
  320. package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +137 -0
  321. package/dist/chunks/arcgis_knowledge_tool_prompt.js +34 -0
  322. package/dist/chunks/converterUtils.js +39 -32
  323. package/dist/chunks/dataExplorationGraph.js +324 -0
  324. package/dist/chunks/data_explore_filter_prompt.js +125 -0
  325. package/dist/chunks/data_explore_query_prompt.js +149 -0
  326. package/dist/chunks/embeddings.worker.js +25 -0
  327. package/dist/chunks/field_descriptions_prompt.js +112 -0
  328. package/dist/chunks/generateLayerDescriptions.js +453 -0
  329. package/dist/chunks/graph.js +86 -0
  330. package/dist/chunks/helpGraph.js +127 -0
  331. package/dist/chunks/help_prompt.js +74 -0
  332. package/dist/chunks/index.js +11 -0
  333. package/dist/chunks/intent_prompt.js +139 -0
  334. package/dist/chunks/layerStylingGraph.js +193 -0
  335. package/dist/chunks/layer_descriptions_prompt.js +59 -0
  336. package/dist/chunks/layer_styling_prompt.js +72 -0
  337. package/dist/chunks/navigationGraph.js +271 -0
  338. package/dist/chunks/navigation_intent_prompt.js +52 -0
  339. package/dist/chunks/navigation_tool_prompt.js +39 -0
  340. package/dist/chunks/orchestrator.js +569 -0
  341. package/dist/chunks/runtime.js +1 -1
  342. package/dist/chunks/slottableRequestUtils.js +3 -7
  343. package/dist/chunks/state.js +71 -0
  344. package/dist/chunks/summarize_query_response_prompt.js +80 -0
  345. package/dist/chunks/toolCallResponse.js +32 -0
  346. package/dist/chunks/utils.js +46 -28
  347. package/dist/chunks/utils2.js +41 -6
  348. package/dist/chunks/utils3.js +16 -0
  349. package/dist/components/arcgis-assistant/customElement.d.ts +82 -8
  350. package/dist/components/arcgis-assistant/customElement.js +393 -152
  351. package/dist/components/arcgis-assistant/index.js +2 -3
  352. package/dist/components/arcgis-assistant/types.d.ts +15 -2
  353. package/dist/components/arcgis-assistant-agent/customElement.d.ts +1 -1
  354. package/dist/components/arcgis-assistant-agent/customElement.js +6 -2
  355. package/dist/components/arcgis-assistant-chat/customElement.d.ts +8 -2
  356. package/dist/components/arcgis-assistant-chat/customElement.js +23 -18
  357. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +4 -1
  358. package/dist/components/arcgis-assistant-chat-entry/customElement.js +25 -18
  359. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +30 -8
  360. package/dist/components/arcgis-assistant-help-agent/customElement.js +33 -8
  361. package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +4 -1
  362. package/dist/components/arcgis-assistant-interrupt/customElement.js +5 -5
  363. package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +20 -0
  364. package/dist/components/arcgis-assistant-interrupt-preview/index.js +2 -0
  365. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +158 -0
  366. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +74 -0
  367. package/dist/components/arcgis-assistant-knowledge-agent/index.d.ts +1 -0
  368. package/dist/components/arcgis-assistant-knowledge-agent/index.js +1 -0
  369. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +31 -6
  370. package/dist/components/arcgis-assistant-message/customElement.d.ts +23 -0
  371. package/dist/components/arcgis-assistant-message/customElement.js +28 -26
  372. package/dist/components/arcgis-assistant-message/index.d.ts +1 -0
  373. package/dist/components/arcgis-assistant-message/index.js +2 -0
  374. package/dist/components/arcgis-assistant-message-block/customElement.d.ts +2 -2
  375. package/dist/components/arcgis-assistant-message-block/customElement.js +18 -11
  376. package/dist/components/arcgis-assistant-message-block/index.js +1 -0
  377. package/dist/components/arcgis-assistant-message-feedback/customElement.d.ts +4 -1
  378. package/dist/components/arcgis-assistant-message-footer/customElement.d.ts +4 -1
  379. package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +8 -1
  380. package/dist/components/arcgis-assistant-message-loading/customElement.js +8 -8
  381. package/dist/components/arcgis-assistant-message-loading/index.js +1 -0
  382. package/dist/components/arcgis-assistant-message-log/customElement.d.ts +4 -1
  383. package/dist/components/arcgis-assistant-message-read-aloud/customElement.d.ts +4 -1
  384. package/dist/components/arcgis-assistant-message-read-aloud/customElement.js +23 -27
  385. package/dist/components/arcgis-assistant-message-text/customElement.d.ts +5 -1
  386. package/dist/components/arcgis-assistant-message-text/customElement.js +12 -12
  387. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +31 -7
  388. package/dist/components/arcgis-assistant-speech-input/customElement.d.ts +6 -1
  389. package/dist/components/arcgis-assistant-suggested-prompts/customElement.d.ts +4 -1
  390. package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +8 -8
  391. package/dist/components/arcgis-assistant-user-message/customElement.d.ts +4 -1
  392. package/dist/components/arcgis-assistant-user-message/customElement.js +10 -8
  393. package/dist/docs/api.json +1 -1
  394. package/dist/docs/docs.json +1 -1
  395. package/dist/docs/vscode.html-custom-data.json +1 -1
  396. package/dist/docs/web-types.json +1 -1
  397. package/dist/index.d.ts +8 -0
  398. package/dist/loader.js +8 -6
  399. package/dist/types/lumina.d.ts +16 -5
  400. package/dist/types/preact.d.ts +18 -5
  401. package/dist/types/react.d.ts +20 -5
  402. package/dist/types/stencil.d.ts +16 -5
  403. package/dist/utils/index.d.ts +246 -9
  404. package/dist/utils/index.js +113 -10
  405. package/package.json +28 -12
  406. package/dist/cdn/2YEKZADB.js +0 -2
  407. package/dist/cdn/457RLS3H.js +0 -2
  408. package/dist/cdn/4CPZZBYD.js +0 -2
  409. package/dist/cdn/54ATSQPS.js +0 -72
  410. package/dist/cdn/5JBT3YNY.js +0 -2
  411. package/dist/cdn/5JS65BCP.js +0 -29
  412. package/dist/cdn/7EHQLXMU.js +0 -2
  413. package/dist/cdn/AKOWC7YT.js +0 -18
  414. package/dist/cdn/ARCP5UZY.js +0 -2
  415. package/dist/cdn/B4DEC7PH.js +0 -2
  416. package/dist/cdn/D7WNBUVK.js +0 -106
  417. package/dist/cdn/DSEMD4M2.js +0 -4
  418. package/dist/cdn/ESTSYVJP.js +0 -54
  419. package/dist/cdn/EUNEQNYC.js +0 -2
  420. package/dist/cdn/G4SVCCJH.js +0 -2
  421. package/dist/cdn/I2KPFZDL.js +0 -2
  422. package/dist/cdn/KVH3PDVW.js +0 -2
  423. package/dist/cdn/LSGRWCAO.js +0 -5
  424. package/dist/cdn/LXFCO34K.js +0 -2
  425. package/dist/cdn/M73KKJSM.js +0 -2
  426. package/dist/cdn/PTGKT5P6.js +0 -3
  427. package/dist/cdn/Q5D5LJS5.js +0 -2
  428. package/dist/cdn/R5FWFRWW.js +0 -2
  429. package/dist/cdn/TRDKA5Y6.js +0 -2
  430. package/dist/cdn/UK6CP7BR.js +0 -2
  431. package/dist/cdn/WBRZZ4FB.js +0 -2
  432. package/dist/cdn/Y3AUHNRX.js +0 -2
  433. package/dist/cdn/YGW7TUNX.js +0 -2
  434. package/dist/cdn/YNJYG2RG.js +0 -2
  435. package/dist/cdn/YW52XJMM.js +0 -396
  436. package/dist/cdn/Z3DVGFEE.js +0 -2
  437. package/dist/cdn/Z4N6N4OZ.js +0 -271
  438. package/dist/cdn/ZLO73NU6.js +0 -2
  439. package/dist/cdn/ZPNJGIAF.js +0 -2
  440. /package/dist/cdn/{YVTKUITE.js → 53Z3R4OY.js} +0 -0
  441. /package/dist/cdn/{CFT5BBC6.js → 77GAVZIK.js} +0 -0
  442. /package/dist/cdn/{W5CHGOOR.js → G7XK3XOR.js} +0 -0
  443. /package/dist/cdn/{DMLSCJAM.js → HJGF7W5O.js} +0 -0
  444. /package/dist/cdn/{JDL3HFFX.js → MQ7QXIOW.js} +0 -0
  445. /package/dist/cdn/{MZJGADGH.js → NMWLJECU.js} +0 -0
  446. /package/dist/cdn/{24MYCR6F.js → URYKQKFE.js} +0 -0
@@ -0,0 +1,569 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/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 { generateGuid as q } from "@arcgis/toolkit/string";
7
+ import { HumanMessage as H, AIMessage as P } from "@langchain/core/messages";
8
+ import { s as l } from "./index.js";
9
+ import * as O from "@arcgis/core/core/reactiveUtils.js";
10
+ import T from "@arcgis/core/layers/FeatureLayer.js";
11
+ import U from "@arcgis/core/request.js";
12
+ const G = async (t) => {
13
+ const e = await N(), r = await I("default"), s = C.getDefault(), o = (await R.getCredential(`${s.url}/sharing`)).token, i = {
14
+ type: "generateEmbeddings",
15
+ webmapEmbeddings: t,
16
+ auth: { apiUrl: r, token: o }
17
+ };
18
+ return e.postMessage(i), await new Promise((c, d) => {
19
+ const a = (u) => {
20
+ u.data === "completed" && (e.removeEventListener("message", a), c());
21
+ }, g = (u) => {
22
+ e.removeEventListener("message", a), d(u instanceof Error ? u : new Error("Embeddings worker error"));
23
+ };
24
+ e.addEventListener("message", a), e.addEventListener("error", g, { once: !0 });
25
+ }), e;
26
+ }, N = async () => {
27
+ {
28
+ const t = (await import("./embeddings.worker.js")).default;
29
+ return new t();
30
+ }
31
+ }, _ = (t) => {
32
+ t.currentIntent = "none";
33
+ }, V = async (t, e) => {
34
+ const r = v(e);
35
+ if (t.agentExecutionContext.userRequest) {
36
+ const n = new H(t.agentExecutionContext.userRequest.trim());
37
+ t.agentExecutionContext.messages = [...t.agentExecutionContext.messages, n], _(t);
38
+ }
39
+ const s = r?.services.agentRegistry.list().map((n) => n.agent.id) ?? [];
40
+ return await l({ text: `Available agents: ${[...s].join(", ")}` }, e), await l({ text: "Analyzing user input" }, e), t;
41
+ }, z = async (t, e) => (await l({ text: "Exiting..." }, e), t), w = (t) => typeof t == "object" && t !== null && !Array.isArray(t), Q = (t, e) => {
42
+ if (!w(t)) {
43
+ t !== void 0 && console.warn(`Agent "${e}" returned invalid sharedStatePatch. Ignoring it.`);
44
+ return;
45
+ }
46
+ const r = {};
47
+ for (const [s, n] of Object.entries(t)) {
48
+ if (!w(n) || !("value" in n)) {
49
+ console.warn(
50
+ `Agent "${e}" returned invalid sharedStatePatch entry for key "${s}". Ignoring that entry.`
51
+ );
52
+ continue;
53
+ }
54
+ r[s] = { value: n.value };
55
+ }
56
+ return r;
57
+ }, B = (t) => {
58
+ const { previousSharedState: e, patch: r, agentId: s } = t;
59
+ if (!r)
60
+ return e;
61
+ const n = Date.now(), o = {
62
+ ...e
63
+ };
64
+ for (const [i, c] of Object.entries(r))
65
+ c?.value !== void 0 && (o[i] = {
66
+ value: c.value,
67
+ meta: {
68
+ updatedByAgentId: s,
69
+ updatedAt: n
70
+ }
71
+ });
72
+ return o;
73
+ }, f = (t) => {
74
+ if (typeof t != "string")
75
+ return;
76
+ const e = t.trim();
77
+ return e || void 0;
78
+ }, J = (t) => {
79
+ switch (t) {
80
+ case "failed":
81
+ return "Agent failed without a summary.";
82
+ case "unknown":
83
+ return "Agent returned with unknown status.";
84
+ case "success":
85
+ return "Agent completed without a summary.";
86
+ default:
87
+ return "Agent completed without a summary.";
88
+ }
89
+ }, K = (t, e) => {
90
+ const r = f(e?.outputMessage), s = f(e?.summary), n = e?.status, o = n === "success" || n === "failed" ? n : "unknown";
91
+ o === "unknown" && console.warn(`Agent "${t}" returned missing/invalid status. Defaulting to "unknown".`);
92
+ const i = Q(e?.sharedStatePatch, t);
93
+ return {
94
+ outputMessage: r,
95
+ summary: s ?? r ?? J(o),
96
+ status: o,
97
+ sharedStatePatch: i
98
+ };
99
+ }, E = 4e3, X = async (t, e) => {
100
+ const r = v(e);
101
+ if (e?.signal?.aborted)
102
+ return await l({ text: "Run cancelled; skipping agent execution" }, e), {
103
+ ...t,
104
+ currentIntent: "none",
105
+ requiresFollowUp: !1
106
+ };
107
+ const { agentRegistry: s } = r?.services ?? {}, n = s?.get(t.currentIntent);
108
+ if (!n)
109
+ return console.warn(`No agent found for intent: ${t.currentIntent}`), t;
110
+ await l({ text: `Executing registered agent: ${n.agent.name}` }, e);
111
+ const o = {
112
+ ...e ?? {},
113
+ configurable: {
114
+ ...r ?? {},
115
+ agentId: n.agent.id,
116
+ context: n.getContext ? await n.getContext() : void 0
117
+ }
118
+ };
119
+ let i;
120
+ try {
121
+ const a = await n.agent.createGraph().compile().invoke(
122
+ {
123
+ agentExecutionContext: {
124
+ ...t.agentExecutionContext,
125
+ // deep clone on messages did not work in agents, so its a shallow clone here.
126
+ messages: [...t.agentExecutionContext.messages],
127
+ // deep clone to prevent accidental mutations by agents
128
+ priorSteps: structuredClone(t.agentExecutionContext.priorSteps ?? []),
129
+ sharedState: structuredClone(t.agentExecutionContext.sharedState ?? {})
130
+ }
131
+ },
132
+ o
133
+ );
134
+ i = K(n.agent.name, a), await l({ text: `Finished executing registered agent: ${n.agent.name}` }, e);
135
+ } catch (a) {
136
+ if (D(a) || e?.signal?.aborted || a instanceof Error && a.name === "AbortError")
137
+ throw a;
138
+ const g = a instanceof Error ? a.message : String(a);
139
+ console.error(`Agent "${n.agent.name}" failed:`, a), await l({ text: `Registered agent failed: ${n.agent.name}. ${g}` }, e), i = {
140
+ status: "failed",
141
+ outputMessage: `Agent execution failed: ${g}`,
142
+ summary: `Agent execution failed: ${g}`
143
+ };
144
+ }
145
+ const c = i.outputMessage, d = [...t.agentExecutionContext.messages];
146
+ if (c) {
147
+ const a = c.length > E ? `${c.slice(0, E - 14)}
148
+ [truncated]` : c;
149
+ d.push(new P(a));
150
+ }
151
+ return {
152
+ ...t,
153
+ stepCount: t.stepCount + 1,
154
+ lastExecutedAgent: n.agent.id,
155
+ requiresFollowUp: i.status === "failed" ? !0 : t.requiresFollowUp,
156
+ finalOutputMessage: c ?? "",
157
+ agentExecutionContext: {
158
+ ...t.agentExecutionContext,
159
+ messages: d,
160
+ priorSteps: [
161
+ ...t.agentExecutionContext.priorSteps ?? [],
162
+ {
163
+ agentId: n.agent.id,
164
+ assignedTask: t.agentExecutionContext.assignedTask,
165
+ summary: i?.summary || "No summary provided.",
166
+ status: i?.status || "unknown"
167
+ }
168
+ ],
169
+ sharedState: B({
170
+ previousSharedState: t.agentExecutionContext.sharedState,
171
+ patch: i.sharedStatePatch,
172
+ agentId: n.agent.id
173
+ })
174
+ }
175
+ };
176
+ }, Y = 3, Z = () => new L(k).addNode("ingestInput", V).addNode("intentLLM", A).addNode("executeRegisteredAgent", X).addNode("exit", z).addEdge(W, "ingestInput").addEdge("ingestInput", "intentLLM").addConditionalEdges("intentLLM", (e) => e.currentIntent === "none" || e.currentIntent === e.lastExecutedAgent ? "exit" : "executeRegisteredAgent").addConditionalEdges(
177
+ "executeRegisteredAgent",
178
+ (e) => e.stepCount >= Y || !e.requiresFollowUp ? "exit" : "intentLLM"
179
+ ).addEdge("exit", $);
180
+ class ee {
181
+ constructor() {
182
+ this.agentRegistry = /* @__PURE__ */ new Map();
183
+ }
184
+ register(e) {
185
+ const { agent: r } = e;
186
+ if (this.agentRegistry.has(r.id))
187
+ throw new Error(`Duplicate agent id: ${r.id}`);
188
+ this.agentRegistry.set(r.id, e);
189
+ }
190
+ get(e) {
191
+ return this.agentRegistry.get(e);
192
+ }
193
+ list() {
194
+ return [...this.agentRegistry.values()];
195
+ }
196
+ }
197
+ class te {
198
+ /**
199
+ * Create a new InterruptHandler tied to a specific compiled graph and config.
200
+ */
201
+ constructor(e, r) {
202
+ this.graph = e, this.config = { ...r };
203
+ }
204
+ /**
205
+ * Returns a promise that resolves when the user provides a HITL response.
206
+ */
207
+ async waitForUser() {
208
+ return await new Promise((e, r) => {
209
+ this.resolveWait = e, this.rejectWait = r;
210
+ });
211
+ }
212
+ /**
213
+ * Resume graph execution after the UI responds to an interrupt.
214
+ */
215
+ handle(e, r) {
216
+ try {
217
+ const s = {
218
+ agentId: e.agentId,
219
+ id: e.id,
220
+ payload: r
221
+ }, n = this.graph.streamEvents(null, {
222
+ ...this.config,
223
+ configurable: {
224
+ ...this.config.configurable,
225
+ hitlResponse: s
226
+ },
227
+ subgraphs: !0,
228
+ version: "v2"
229
+ });
230
+ this.resolveWait?.(n);
231
+ } catch (s) {
232
+ this.rejectWait?.(s);
233
+ } finally {
234
+ this.resolveWait = void 0, this.rejectWait = void 0;
235
+ }
236
+ }
237
+ /**
238
+ * Abort the HITL wait and reject any pending continuation.
239
+ */
240
+ cancel() {
241
+ this.rejectWait && (this.rejectWait(new Error("Request cancelled by user.")), this.resolveWait = void 0, this.rejectWait = void 0);
242
+ }
243
+ }
244
+ const re = async (t) => {
245
+ try {
246
+ return await (await M()).embedDocuments(t);
247
+ } catch (e) {
248
+ throw console.error("Failed to generate embeddings:", e), e;
249
+ }
250
+ }, x = async (t, e) => {
251
+ const r = e.get(t);
252
+ if (r)
253
+ return r;
254
+ const s = await re([t]);
255
+ return e.set(t, s[0]), s[0];
256
+ };
257
+ async function ne(t, e, r, s) {
258
+ const n = `req-${Date.now()}`, i = {
259
+ type: "layerSearch",
260
+ precomputedEmbedding: s ? await x(t, s) : void 0,
261
+ requestId: n,
262
+ minScore: r
263
+ };
264
+ return await new Promise((c) => {
265
+ const d = (a) => {
266
+ a.data.requestId === n && c(a.data.results);
267
+ };
268
+ e.addEventListener("message", d, { once: !0 }), e.postMessage(i);
269
+ });
270
+ }
271
+ function se(t) {
272
+ const { worker: e } = t;
273
+ return {
274
+ async searchLayers({
275
+ text: r,
276
+ minScore: s,
277
+ embeddingCache: n
278
+ }) {
279
+ return await ne(r, e, s, n);
280
+ }
281
+ };
282
+ }
283
+ const ae = async ({
284
+ combinedQuery: t,
285
+ layerIds: e,
286
+ embeddingsWorker: r,
287
+ minScore: s,
288
+ topResults: n,
289
+ embeddingCache: o
290
+ }) => {
291
+ const i = `req-${Date.now()}`, c = o ? await x(t, o) : void 0, d = {
292
+ type: "fieldSearch",
293
+ layerIdForFieldsSearch: e,
294
+ precomputedEmbedding: c,
295
+ requestId: i,
296
+ minScore: s,
297
+ topResults: n
298
+ };
299
+ return await new Promise((a) => {
300
+ const g = (u) => {
301
+ if (u.data.requestId !== i)
302
+ return;
303
+ const p = u.data.results.map(({ layerId: y, results: m }) => ({
304
+ layerId: y,
305
+ results: m
306
+ }));
307
+ a(p);
308
+ };
309
+ r.addEventListener("message", g, { once: !0 }), r.postMessage(d);
310
+ });
311
+ };
312
+ function ie(t) {
313
+ const { worker: e } = t;
314
+ return {
315
+ async searchFields({ text: r, layerIds: s, minScore: n, topResults: o, embeddingCache: i }) {
316
+ return await ae({
317
+ combinedQuery: r,
318
+ layerIds: s,
319
+ embeddingsWorker: e,
320
+ minScore: n,
321
+ topResults: o,
322
+ embeddingCache: i
323
+ });
324
+ }
325
+ };
326
+ }
327
+ const oe = (t) => {
328
+ const e = F.safeParse(t);
329
+ if (!e.success)
330
+ throw new Error("Embeddings response validation failed. Regenerate embeddings.");
331
+ return e.data;
332
+ }, ce = (t, e) => {
333
+ const r = /* @__PURE__ */ new Map(), s = /* @__PURE__ */ new Map();
334
+ if (e.allLayers.forEach((n) => {
335
+ n instanceof T && s.set(n.id, n);
336
+ }), t.length !== s.size)
337
+ throw new Error("Layer count mismatch during registry restoration. Regenerate embeddings.");
338
+ for (const n of t) {
339
+ const o = s.get(n.id);
340
+ if (!o)
341
+ throw new Error(
342
+ `Layer with ID ${n.id} not found in the original map during registry restoration. Regenerate embeddings.`
343
+ );
344
+ if (n.fields.length !== o.fields.length)
345
+ throw new Error(
346
+ `Field count mismatch for layer ID ${n.id} during registry restoration. Regenerate embeddings.`
347
+ );
348
+ const i = {
349
+ name: n.name,
350
+ title: n.title,
351
+ description: n.description
352
+ }, c = /* @__PURE__ */ new Map();
353
+ for (const d of n.fields) {
354
+ const a = o.fieldsIndex.get(d.name);
355
+ if (!a)
356
+ throw new Error(
357
+ `Field with name ${d.name} not found in the original layer ${n.id} during registry restoration. Regenerate embeddings.`
358
+ );
359
+ c.set(d.name, {
360
+ name: d.name,
361
+ alias: o.getFieldAlias(d.name) ?? d.alias,
362
+ description: d.description,
363
+ type: a.type || "unknown",
364
+ valueType: a.valueType || "unknown",
365
+ domain: o.getFieldDomain(d.name) ?? void 0
366
+ });
367
+ }
368
+ r.set(n.id, {
369
+ layerItem: i,
370
+ fieldRegistry: c
371
+ });
372
+ }
373
+ return r;
374
+ }, de = async (t) => {
375
+ try {
376
+ return (await U(t, {
377
+ responseType: "json"
378
+ })).data;
379
+ } catch (e) {
380
+ throw new Error(`Failed to fetch data from ${t}: ${String(e)}`);
381
+ }
382
+ }, ue = async (t) => {
383
+ const e = t.map;
384
+ if (!e?.portalItem)
385
+ throw new Error("WebMap portal item is missing.");
386
+ const { resources: r } = await e.portalItem.fetchResources(), s = r.find((i) => i.resource.path === "embeddings-v01.json");
387
+ if (!s?.resource.url)
388
+ throw new Error("Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.");
389
+ const n = await de(s.resource.url);
390
+ return oe(n);
391
+ };
392
+ class b {
393
+ constructor() {
394
+ this.orchestratorReady = !1, this.chatHistory = [], this.priorSteps = [], this.sharedState = {}, this.agentRegistry = new ee(), this.activeRunId = "", this.cancelledRunIds = /* @__PURE__ */ new Set(), this.streamEpoch = 0;
395
+ }
396
+ /**
397
+ * Creates and returns an AI-ready Orchestrator instance.
398
+ * @param deps Core dependencies (layer/field registry plus optional map views).
399
+ * @returns Ready Orchestrator.
400
+ */
401
+ static async init(e) {
402
+ const r = new b();
403
+ try {
404
+ if (e.view?.map) {
405
+ await O.whenOnce(() => e.view.ready);
406
+ const s = await ue(e.view), n = ce(
407
+ s.layers,
408
+ e.view.map
409
+ );
410
+ r.layersAndFieldsRegistry = n, r.embeddingsWorker = await G(s);
411
+ }
412
+ return e.agents?.forEach((s) => {
413
+ r.agentRegistry.register(s);
414
+ }), r.orchestratorReady = !0, r;
415
+ } catch (s) {
416
+ throw console.error("Orchestrator initialization failed:", s), s;
417
+ }
418
+ }
419
+ /**
420
+ * Run a new chat turn through the graph.
421
+ * Yields structured events for the UI to consume:
422
+ * - `trace`: intermediate model output
423
+ * - `interrupt`: HITL required, wait for `resumeInterrupt()`
424
+ * - `completed`: final result with chat history + layer styling
425
+ * - `cancelled`: user aborted the run
426
+ */
427
+ async *ask(e) {
428
+ if (!this.orchestratorReady)
429
+ throw new Error("Orchestrator is not ready yet.");
430
+ if (!this.agentRegistry.list().length)
431
+ throw new Error("Orchestrator has no registered agents.");
432
+ if (++this.streamEpoch, !e.trim())
433
+ return;
434
+ const r = q();
435
+ this.activeRunId = r, this.activeAbortController = new AbortController(), this.graph || (this.graph = Z().compile({ checkpointer: new j() }));
436
+ const s = this.embeddingsWorker ? se({ worker: this.embeddingsWorker }) : void 0, n = this.embeddingsWorker ? ie({ worker: this.embeddingsWorker }) : void 0, o = /* @__PURE__ */ new Map(), i = {
437
+ // eslint-disable-next-line @typescript-eslint/naming-convention
438
+ thread_id: r,
439
+ hitlResponse: null,
440
+ services: {
441
+ layerSearch: s,
442
+ fieldSearch: n,
443
+ layersAndFieldsRegistry: this.layersAndFieldsRegistry,
444
+ agentRegistry: this.agentRegistry,
445
+ embeddingCache: o
446
+ }
447
+ }, c = {
448
+ version: "v2",
449
+ streamMode: "custom",
450
+ signal: this.activeAbortController.signal,
451
+ configurable: i,
452
+ subgraphs: !0
453
+ }, d = this.graph?.streamEvents(
454
+ {
455
+ agentExecutionContext: {
456
+ userRequest: e,
457
+ messages: this.chatHistory,
458
+ priorSteps: this.priorSteps,
459
+ sharedState: this.sharedState
460
+ }
461
+ },
462
+ c
463
+ ), a = ++this.streamEpoch;
464
+ if (yield* this.pipeStream(d, a, r), this.isRunCancelled(r)) {
465
+ yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
466
+ return;
467
+ }
468
+ for (; ; ) {
469
+ if (this.isRunCancelled(r)) {
470
+ yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
471
+ return;
472
+ }
473
+ const m = (await this.graph.getState(c, { subgraphs: !0 })).tasks.find((h) => h.interrupts.length > 0)?.interrupts[0]?.value;
474
+ if (!m)
475
+ break;
476
+ this.currentInterrupt = m, this.interruptHandler = new te(this.graph, c), yield { runId: r, timestamp: Date.now(), type: "interrupt", interrupt: m };
477
+ try {
478
+ const h = await this.interruptHandler.waitForUser(), S = ++this.streamEpoch;
479
+ yield* this.pipeStream(h, S, r);
480
+ } catch (h) {
481
+ if (this.isRunCancelled(r)) {
482
+ yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
483
+ return;
484
+ }
485
+ if (h) {
486
+ yield {
487
+ runId: r,
488
+ timestamp: Date.now(),
489
+ type: "error",
490
+ error: { message: h?.message }
491
+ };
492
+ return;
493
+ }
494
+ }
495
+ }
496
+ if (this.isRunCancelled(r)) {
497
+ yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
498
+ return;
499
+ }
500
+ const u = (await this.graph.getState(c, { subgraphs: !0 })).values;
501
+ if (this.isRunCancelled(r)) {
502
+ yield { runId: r, timestamp: Date.now(), type: "cancelled", reason: "user" };
503
+ return;
504
+ }
505
+ this.chatHistory = u.agentExecutionContext.messages.length ? u.agentExecutionContext.messages : this.chatHistory, this.priorSteps = u.agentExecutionContext.priorSteps?.slice(-5) ?? [], this.sharedState = u.agentExecutionContext.sharedState ?? {}, yield {
506
+ runId: r,
507
+ timestamp: Date.now(),
508
+ type: "completed",
509
+ result: { content: u.finalOutputMessage }
510
+ };
511
+ }
512
+ /**
513
+ * Start a new conversation by clearing chat history, prior steps, and shared state.
514
+ */
515
+ newConversation() {
516
+ this.chatHistory = [], this.priorSteps = [], this.sharedState = {};
517
+ }
518
+ /**
519
+ * Generic resume for any HITL interrupt.
520
+ * The payload is whatever the UI collected (e.g. "yes", "no", layerId, etc).
521
+ */
522
+ resumeInterrupt(e) {
523
+ if (!this.currentInterrupt || !this.interruptHandler)
524
+ throw new Error("No pending interrupt to resume.");
525
+ this.interruptHandler.handle(this.currentInterrupt, e);
526
+ }
527
+ /**
528
+ * Optional: allow UI to cancel the current HITL.
529
+ */
530
+ cancelInterrupt() {
531
+ this.interruptHandler && this.interruptHandler.cancel();
532
+ }
533
+ /**
534
+ * Cancels the active run.
535
+ *
536
+ * - Aborts in-flight work for consumers that honor AbortSignal.
537
+ * - Invalidates active stream iterators via epoch bump.
538
+ * - Unblocks any pending HITL wait.
539
+ */
540
+ cancel() {
541
+ this.activeRunId && (this.cancelledRunIds.add(this.activeRunId), this.activeAbortController?.abort(), ++this.streamEpoch, this.interruptHandler?.cancel());
542
+ }
543
+ async *pipeStream(e, r, s) {
544
+ for await (const n of e) {
545
+ if (this.isRunCancelled(s) || r !== this.streamEpoch)
546
+ break;
547
+ 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 {
548
+ runId: s,
549
+ timestamp: Date.now(),
550
+ type: "ux-suggestion",
551
+ suggestion: n.data
552
+ });
553
+ }
554
+ }
555
+ isRunCancelled(e) {
556
+ return this.cancelledRunIds.has(e);
557
+ }
558
+ /**
559
+ * Disposes this instance by terminating the embeddings worker
560
+ * and cleaning up all related resources.
561
+ */
562
+ dispose() {
563
+ this.embeddingsWorker && (this.embeddingsWorker.terminate(), this.embeddingsWorker = void 0), this.orchestratorReady = !1;
564
+ }
565
+ }
566
+ export {
567
+ b as O,
568
+ re as g
569
+ };
@@ -2,7 +2,7 @@
2
2
  import "../cdn/main.css";
3
3
  import { makeRuntime as e } from "@arcgis/lumina";
4
4
  import { trackAccess as s, createObservable as a, createTrackingTarget as r, runTracked as c } from "@arcgis/core/applications/Components/reactiveUtils.js";
5
- const t = e({ defaultAssetPath: "https://jsdev.arcgis.com/5.1.0-next/ai-components/", hydratedAttribute: "hydrated" }), { customElement: n, getAssetPath: i, setAssetPath: d } = t;
5
+ const t = e({ defaultAssetPath: "https://js.arcgis.com/5.1.0/ai-components/", hydratedAttribute: "hydrated" }), { customElement: n, getAssetPath: i, setAssetPath: d } = t;
6
6
  t.t = s;
7
7
  t.o = a;
8
8
  t.c = r;
@@ -1,11 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- function a(e) {
3
- return `message-${e}`;
4
- }
5
- function o(e, t) {
6
- return `block-${e}-${t}`;
2
+ function e(o, t) {
3
+ return `block-${o}-${t}`;
7
4
  }
8
5
  export {
9
- o as a,
10
- a as g
6
+ e as g
11
7
  };
@@ -0,0 +1,71 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import { Annotation as s } from "@langchain/langgraph/web";
3
+ const c = /* @__PURE__ */ new Set(["agentExecutionContext", "outputMessage", "summary", "status"]);
4
+ function u() {
5
+ return {
6
+ assignedTask: "",
7
+ messages: [],
8
+ priorSteps: [],
9
+ sharedState: {},
10
+ userRequest: ""
11
+ };
12
+ }
13
+ function i(r) {
14
+ const n = [...new Set([...r].filter((t) => c.has(t)))];
15
+ if (n.length !== 0)
16
+ throw new Error(`custom state cannot define reserved runtime fields: ${n.join(", ")}.`);
17
+ }
18
+ function f(r) {
19
+ const n = Object.entries(r);
20
+ return Object.fromEntries(
21
+ n.map(([t, e]) => [
22
+ t,
23
+ s({
24
+ reducer: (o, a) => a,
25
+ default: () => e
26
+ })
27
+ ])
28
+ );
29
+ }
30
+ function m(r = {}) {
31
+ i(Object.keys(r));
32
+ const n = f(r);
33
+ return s.Root({
34
+ ...n,
35
+ agentExecutionContext: s({
36
+ reducer: (t, e) => ({
37
+ ...t,
38
+ ...e
39
+ }),
40
+ default: u
41
+ }),
42
+ outputMessage: s({
43
+ // Preserve the last meaningful user-facing message produced by the graph.
44
+ reducer: (t = "", e) => typeof e == "string" && e.trim() ? e : t,
45
+ default: () => ""
46
+ }),
47
+ summary: s({
48
+ // Summary is a compact orchestrator-facing outcome, so replacement semantics are enough.
49
+ reducer: (t = "", e) => typeof e == "string" ? e : t,
50
+ default: () => ""
51
+ }),
52
+ status: s({
53
+ // Keep the first meaningful status until a later node explicitly replaces it.
54
+ reducer: (t, e) => e ?? t,
55
+ default: () => {
56
+ }
57
+ })
58
+ });
59
+ }
60
+ function l(r) {
61
+ const n = /* @__PURE__ */ new Set();
62
+ for (const e of r)
63
+ for (const o of Object.keys(e.shape ?? {}))
64
+ n.add(o);
65
+ const t = Object.fromEntries([...n].map((e) => [e, void 0]));
66
+ return m(t);
67
+ }
68
+ export {
69
+ m as a,
70
+ l as c
71
+ };