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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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/4QVKWA2Z.js +0 -24
  409. package/dist/cdn/54ATSQPS.js +0 -72
  410. package/dist/cdn/5JBT3YNY.js +0 -2
  411. package/dist/cdn/5L7OZ37N.js +0 -2
  412. package/dist/cdn/6ALN3KMA.js +0 -269
  413. package/dist/cdn/ARCP5UZY.js +0 -2
  414. package/dist/cdn/B4DEC7PH.js +0 -2
  415. package/dist/cdn/D7WNBUVK.js +0 -106
  416. package/dist/cdn/DSEMD4M2.js +0 -4
  417. package/dist/cdn/ESTSYVJP.js +0 -54
  418. package/dist/cdn/EUNEQNYC.js +0 -2
  419. package/dist/cdn/G4SVCCJH.js +0 -2
  420. package/dist/cdn/GER6EQYH.js +0 -2
  421. package/dist/cdn/K6LVZHWM.js +0 -45
  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/PTGKT5P6.js +0 -3
  426. package/dist/cdn/Q5D5LJS5.js +0 -2
  427. package/dist/cdn/R5FWFRWW.js +0 -2
  428. package/dist/cdn/SZBOIYZZ.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/WNDUCHXU.js +0 -2
  433. package/dist/cdn/Y3AUHNRX.js +0 -2
  434. package/dist/cdn/YGW7TUNX.js +0 -2
  435. package/dist/cdn/YNJYG2RG.js +0 -2
  436. package/dist/cdn/YW52XJMM.js +0 -396
  437. package/dist/cdn/Z3DVGFEE.js +0 -2
  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
@@ -36,68 +36,74 @@ function x(e) {
36
36
  return null;
37
37
  for (let r = A(e, 0); r !== -1; r = A(e, r + 1)) {
38
38
  let a = 0, c = 0;
39
- for (let l = r; l < e.length; l++) {
40
- const n = e[l];
41
- if (n === "{" ? a++ : n === "}" ? a-- : n === "[" ? c++ : n === "]" && c--, a < 0 || c < 0)
39
+ for (let n = r; n < e.length; n++) {
40
+ const l = e[n];
41
+ if (l === "{" ? a++ : l === "}" ? a-- : l === "[" ? c++ : l === "]" && c--, a < 0 || c < 0)
42
42
  break;
43
- if (a === 0 && c === 0 && l > r)
44
- return e.slice(r, l + 1);
43
+ if (a === 0 && c === 0 && n > r)
44
+ return e.slice(r, n + 1);
45
45
  }
46
46
  }
47
47
  return null;
48
48
  }
49
- function H(e) {
49
+ function O(e) {
50
50
  if (!e)
51
51
  return "";
52
52
  let t = e;
53
53
  const r = x(e);
54
54
  if (r)
55
55
  try {
56
- const l = JSON.parse(r), f = `
56
+ const c = JSON.parse(r), l = `
57
57
 
58
58
  \`\`\`json
59
- ${JSON.stringify(l, null, 2)}
59
+ ${JSON.stringify(c, null, 2)}
60
60
  \`\`\`
61
61
 
62
62
  `;
63
- t = e.replace(r, f);
63
+ t = e.replace(r, l);
64
64
  } catch {
65
65
  }
66
- const a = q(t), c = E(a);
67
- return T(c);
66
+ const a = E(t);
67
+ return q(a);
68
68
  }
69
69
  function q(e) {
70
- return e ? S.parse(e, { async: !1 }) : "";
70
+ if (!e)
71
+ return "";
72
+ const t = M(e);
73
+ return T(t);
71
74
  }
72
75
  function E(e) {
76
+ return e ? S.parse(e, { async: !1 }) : "";
77
+ }
78
+ function M(e) {
73
79
  if (!e || typeof DOMParser > "u")
74
80
  return e;
75
81
  try {
76
82
  const t = new DOMParser().parseFromString(e, "text/html");
77
83
  return Array.from(t.querySelectorAll("table")).forEach((a, c) => {
78
- const l = t.createElement("calcite-table");
79
- l.setAttribute("caption", `Table ${c + 1}`), l.setAttribute("striped", "true");
80
- const n = a.querySelector("thead");
81
- if (n) {
82
- const d = Array.from(n.querySelectorAll("tr"));
83
- for (const h of d) {
84
+ const n = t.createElement("calcite-table");
85
+ n.setAttribute("caption", `Table ${c + 1}`), n.setAttribute("striped", "true");
86
+ const l = a.querySelector("thead");
87
+ if (l) {
88
+ const d = Array.from(l.querySelectorAll("tr"));
89
+ for (const u of d) {
84
90
  const o = t.createElement("calcite-table-row");
85
91
  o.setAttribute("slot", "table-header");
86
- const u = Array.from(h.querySelectorAll("th, td"));
87
- for (const b of u) {
88
- const s = (b.textContent ?? "").trim(), i = t.createElement("calcite-table-header");
92
+ const f = Array.from(u.querySelectorAll("th, td"));
93
+ for (const h of f) {
94
+ const s = (h.textContent ?? "").trim(), i = t.createElement("calcite-table-header");
89
95
  i.setAttribute("heading", s), o.appendChild(i);
90
96
  }
91
- l.appendChild(o);
97
+ n.appendChild(o);
92
98
  }
93
99
  }
94
- const f = a.querySelector("tbody");
95
- (f ? Array.from(f.querySelectorAll("tr")) : Array.from(a.querySelectorAll("tr")).filter((d) => !n?.contains(d))).forEach((d, h) => {
96
- const o = t.createElement("calcite-table-row"), u = !n && h === 0 && d.querySelectorAll("th").length > 0;
97
- u && o.setAttribute("slot", "table-header");
98
- const b = Array.from(d.querySelectorAll("th, td"));
99
- for (const s of b) {
100
- if (u && s.localName === "th") {
100
+ const b = a.querySelector("tbody");
101
+ (b ? Array.from(b.querySelectorAll("tr")) : Array.from(a.querySelectorAll("tr")).filter((d) => !l?.contains(d))).forEach((d, u) => {
102
+ const o = t.createElement("calcite-table-row"), f = !l && u === 0 && d.querySelectorAll("th").length > 0;
103
+ f && o.setAttribute("slot", "table-header");
104
+ const h = Array.from(d.querySelectorAll("th, td"));
105
+ for (const s of h) {
106
+ if (f && s.localName === "th") {
101
107
  const w = (s.textContent ?? "").trim(), y = t.createElement("calcite-table-header");
102
108
  y.setAttribute("heading", w), o.appendChild(y);
103
109
  return;
@@ -105,13 +111,14 @@ function E(e) {
105
111
  const i = t.createElement("calcite-table-cell"), p = s.getAttribute("colspan"), m = s.getAttribute("rowspan");
106
112
  p && i.setAttribute("colspan", p), m && i.setAttribute("rowspan", m), i.innerHTML = s.innerHTML, o.appendChild(i);
107
113
  }
108
- l.appendChild(o);
109
- }), a.replaceWith(l);
114
+ n.appendChild(o);
115
+ }), a.replaceWith(n);
110
116
  }), t.body.innerHTML;
111
117
  } catch {
112
118
  return e;
113
119
  }
114
120
  }
115
121
  export {
116
- H as p
122
+ q as a,
123
+ O as p
117
124
  };
@@ -0,0 +1,324 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import { StateGraph as I, START as k, END as v } from "@langchain/langgraph/web";
3
+ import { g as T, O as R, P as C, t as N, Q as V, f, R as D, r as z, S as b, T as P } from "./adapter.js";
4
+ import "@arcgis/core/identity/IdentityManager.js";
5
+ import "@arcgis/core/portal/Portal.js";
6
+ import "@arcgis/toolkit/string";
7
+ import { h as _, e as Q } from "./generateLayerDescriptions.js";
8
+ import { AIMessage as O } from "@langchain/core/messages";
9
+ import { s as n } from "./index.js";
10
+ import "@langchain/openai";
11
+ import "@arcgis/core/config.js";
12
+ import "@arcgis/core/core/reactiveUtils.js";
13
+ import "@arcgis/core/layers/FeatureLayer.js";
14
+ import "@arcgis/core/request.js";
15
+ import "@langchain/core/prompts";
16
+ import { h as $ } from "./toolCallResponse.js";
17
+ import { ToolNode as j } from "@langchain/langgraph/prebuilt";
18
+ import G from "@arcgis/core/smartMapping/statistics/summaryStatistics.js";
19
+ import U from "@arcgis/core/smartMapping/statistics/uniqueValues.js";
20
+ const W = async (t, e) => (await n({ text: "Exiting Data Exploration agent" }, e), t), B = async (t, e) => {
21
+ await n({ text: "Requesting LLM for layer filter results" }, e);
22
+ const d = await T("data_explore_filter_prompt");
23
+ if (!e?.configurable)
24
+ throw new Error("config.configurable is required for layer filter tools");
25
+ const { userTimezone: l, userTimezoneOffset: s } = R(), r = {
26
+ layerFieldInfo: t.layerFieldInfo,
27
+ userTimezone: l,
28
+ userTimezoneOffset: s,
29
+ queryResponse: t.queryResponse,
30
+ assignedTask: t.agentExecutionContext.assignedTask,
31
+ userRequest: t.agentExecutionContext.userRequest,
32
+ priorSteps: t.agentExecutionContext.priorSteps
33
+ }, o = await _({
34
+ promptText: d,
35
+ modelTier: "advanced",
36
+ config: e,
37
+ messages: t.dataExplorationMessages,
38
+ inputVariables: r,
39
+ tools: C
40
+ }), i = [...t.dataExplorationMessages, o];
41
+ if (!((o.tool_calls?.length ?? 0) > 0))
42
+ return await n({ text: "LLM determined no filter changes needed" }, e), {
43
+ ...t,
44
+ dataExplorationMessages: i
45
+ // Don't overwrite outputMessage if query already set it
46
+ };
47
+ const m = i, g = o.content.toString();
48
+ return await $(o, e), { ...t, dataExplorationMessages: m, outputMessage: g };
49
+ }, H = async (t, e) => {
50
+ await n({ text: "Requesting LLM for layer query results" }, e);
51
+ const d = await T("data_explore_query_prompt");
52
+ if (!e?.configurable)
53
+ throw new Error("config.configurable is required for layer query tools");
54
+ const { userTimezone: l, userTimezoneOffset: s } = R(), r = t.agentExecutionContext.sharedState, o = r.lastNavigatedFeatures?.value, i = r.lastResolvedLocation?.value;
55
+ let c = "none";
56
+ if (o != null)
57
+ try {
58
+ c = JSON.stringify(o);
59
+ } catch {
60
+ c = "none";
61
+ }
62
+ let m = "none";
63
+ if (i != null)
64
+ try {
65
+ m = JSON.stringify({
66
+ address: i.address,
67
+ location: i.location
68
+ });
69
+ } catch {
70
+ m = "none";
71
+ }
72
+ const g = {
73
+ layerFieldInfo: t.layerFieldInfo,
74
+ userTimezone: l,
75
+ userTimezoneOffset: s,
76
+ assignedTask: t.agentExecutionContext.assignedTask,
77
+ userRequest: t.agentExecutionContext.userRequest,
78
+ priorSteps: t.agentExecutionContext.priorSteps,
79
+ lastNavigatedFeatures: c,
80
+ lastResolvedLocation: m
81
+ }, y = await _({
82
+ promptText: d,
83
+ modelTier: "advanced",
84
+ config: e,
85
+ messages: t.dataExplorationMessages,
86
+ inputVariables: g,
87
+ tools: V
88
+ }), h = (y.tool_calls?.length ?? 0) > 0, p = y.content.toString();
89
+ return await $(y, e), {
90
+ ...t,
91
+ dataExplorationMessages: [...t.dataExplorationMessages, y],
92
+ // Only emit output here when no tools are being called.
93
+ // For tool-calling flows, downstream summarizer nodes provide the final user-facing message.
94
+ ...h ? {} : { outputMessage: p },
95
+ status: "success",
96
+ summary: p && !h ? N(p) : "Query planning completed."
97
+ };
98
+ }, J = async (t, e) => {
99
+ try {
100
+ await n({ text: "Requesting LLM for summary on query results" }, e);
101
+ const d = await T("summarize_query_response_prompt"), l = {
102
+ queryResponse: t.queryResponse,
103
+ assignedTask: t.agentExecutionContext.assignedTask,
104
+ userRequest: t.agentExecutionContext.userRequest,
105
+ priorSteps: t.agentExecutionContext.priorSteps
106
+ }, s = await Q({
107
+ promptText: d,
108
+ modelTier: "fast",
109
+ config: e,
110
+ messages: t.dataExplorationMessages,
111
+ inputVariables: l
112
+ }), r = typeof s == "string" ? s : s.content, o = new O(r);
113
+ await n({ text: `Received response from LLM: ${r}` }, e);
114
+ const i = r;
115
+ return {
116
+ ...t,
117
+ outputMessage: i,
118
+ status: "success",
119
+ summary: i ? N(i) : "Summary generated.",
120
+ dataExplorationMessages: [...t.dataExplorationMessages, o]
121
+ };
122
+ } catch (a) {
123
+ throw await n({ text: "Error during filter LLM request" }, e), new Error(`Error during filter LLM request: ${a instanceof Error ? a.message : String(a)}`);
124
+ }
125
+ };
126
+ async function K(t, e) {
127
+ if ((t.queryResponse ?? []).some((s) => {
128
+ const r = s.details;
129
+ return typeof r == "object" && r !== null && "error" in r;
130
+ }))
131
+ return await n({ text: "Skipping layer filter tool because query response contains an error." }, e), { ...t };
132
+ const l = await new j(C, { handleToolErrors: !1 }).invoke(
133
+ {
134
+ messages: t.dataExplorationMessages
135
+ },
136
+ e
137
+ );
138
+ return await n(
139
+ { text: `Finished executing layer filter tool: ${l.messages.map((s) => s.content).join(", ")}` },
140
+ e
141
+ ), { ...t };
142
+ }
143
+ const X = 10, Y = ["string", "small-integer", "integer"], Z = async (t, e, { includeSummaryStatistics: a = !0, includeUniqueValues: d = !0 } = {}) => {
144
+ let l = null, s = null;
145
+ try {
146
+ if (e.type !== "geometry" && e.type !== "oid" && e.type !== "global-id") {
147
+ a && (l = await G({ layer: t, field: e.name }));
148
+ const r = e.domain?.type === "coded-value" ? e.domain : null;
149
+ d && (Y.includes(e.type) || r) && (s = (await U({ layer: t, field: e.name })).uniqueValueInfos.sort((o, i) => i.count - o.count).slice(0, X), r && (s = s.map((o) => ({
150
+ ...o,
151
+ value: r.getName(o.value) ?? o.value
152
+ }))));
153
+ }
154
+ } catch (r) {
155
+ console.error(`Error fetching statistics for field ${e.name}:`, r);
156
+ }
157
+ return {
158
+ summaryStatistics: l,
159
+ uniqueValues: s
160
+ };
161
+ };
162
+ function ee(t, e) {
163
+ return ["string", "small-integer", "integer"].includes(t) || e === "coded-value";
164
+ }
165
+ async function te(t, e, a, d = !0) {
166
+ const l = [], s = [], r = [];
167
+ for (const o of t) {
168
+ let i = function(p) {
169
+ const u = e.get(p)?.layerItem;
170
+ return u ? [
171
+ u.name && `Name: ${u.name}`,
172
+ u.title && `Title: ${u.title}`,
173
+ u.description && `Description: ${u.description}`
174
+ ].filter(Boolean).join(" | ") : p;
175
+ };
176
+ const { layerId: c, results: m } = o, g = a.map?.allLayers.find((p) => p.id === c), y = e.get(c)?.fieldRegistry;
177
+ if (!y)
178
+ continue;
179
+ let h = l.find((p) => p.layerId === c);
180
+ h || (h = {
181
+ layerId: c,
182
+ layerSummary: i(c),
183
+ fieldInfos: []
184
+ }, l.push(h));
185
+ for (const p of m) {
186
+ const u = y.get(p.name);
187
+ if (!u)
188
+ continue;
189
+ const x = u.statistics, E = d && !x?.summaryStatistics, w = ee(u.type, u.domain?.type) && !x?.uniqueValues, q = E || w;
190
+ if (r.push({
191
+ layerId: c,
192
+ fieldName: u.name,
193
+ didFetchStatistics: q
194
+ }), q) {
195
+ const A = Z(g, u, {
196
+ includeSummaryStatistics: E,
197
+ includeUniqueValues: w
198
+ }).then((F) => {
199
+ const S = {
200
+ summaryStatistics: x?.summaryStatistics ?? null,
201
+ uniqueValues: x?.uniqueValues ?? null
202
+ };
203
+ E && (S.summaryStatistics = F.summaryStatistics), w && (S.uniqueValues = F.uniqueValues), y.set(u.name, { ...u, statistics: S }), u.statistics = S;
204
+ });
205
+ s.push(A);
206
+ }
207
+ h.fieldInfos.push(u);
208
+ }
209
+ }
210
+ return await Promise.all(s), {
211
+ layerFieldInfo: l,
212
+ didFetchStatistics: s.length > 0,
213
+ fieldStatisticsFetchStatus: r
214
+ };
215
+ }
216
+ const L = /\b(average|avg|mean|median|max(?:imum)?|min(?:imum)?|sum|total|count|std(?:dev|\s*deviation)|variance|null\s*count|missing\s*values?|range)\b/iu;
217
+ function ae(t, e) {
218
+ return L.test(t) || L.test(e);
219
+ }
220
+ const se = async (t, e) => {
221
+ try {
222
+ await n({ text: "Preparing field information for vector search results" }, e);
223
+ const a = f(e, "layersAndFieldsRegistry"), { mapView: d } = D(e), { assignedTask: l, userRequest: s } = t.agentExecutionContext, r = ae(l, s), { layerFieldInfo: o, didFetchStatistics: i, fieldStatisticsFetchStatus: c } = await te(
224
+ t.vectorSearchFieldResults,
225
+ a,
226
+ d,
227
+ r
228
+ );
229
+ i ? await n({ text: "Statistics fetched" }, e) : await n({ text: "Statistics skipped" }, e);
230
+ for (const m of c)
231
+ await n(
232
+ {
233
+ text: ` - ${m.fieldName} - stats ${m.didFetchStatistics ? "fetched" : "skipped"}`
234
+ },
235
+ e
236
+ );
237
+ return await n({ text: "Field information prepared" }, e), { ...t, layerFieldInfo: o };
238
+ } catch (a) {
239
+ throw await n({ text: "Error during fetching statistics" }, e), new Error(`Error during fetching statistics: ${a instanceof Error ? a.message : String(a)}`);
240
+ }
241
+ }, M = 0.7, re = 10, oe = async (t, e) => {
242
+ try {
243
+ await n({ text: "Similarity search to find fields" }, e);
244
+ const a = f(e, "fieldSearch"), d = f(e, "layersAndFieldsRegistry"), l = f(e, "embeddingCache"), s = await a.searchFields({
245
+ text: t.agentExecutionContext.assignedTask,
246
+ layerIds: t.vectorSearchLayerIds,
247
+ minScore: M,
248
+ topResults: re,
249
+ embeddingCache: l
250
+ }), r = s.map(({ layerId: i, results: c }) => {
251
+ const m = c.map((g) => ` - ${g.name} (${g.score.toFixed(2)})`).join(`
252
+ `);
253
+ return `${d.get(i)?.layerItem.name ?? i}:
254
+ ${m}`;
255
+ }).join(`
256
+ `);
257
+ let o;
258
+ return s.length > 0 ? o = `Vector search completed. Matching layers and fields with scores:
259
+ ${r}` : o = `No vector search results found for score over ${M}.`, await n({ text: o }, e), {
260
+ ...t,
261
+ vectorSearchFieldResults: s
262
+ };
263
+ } catch (a) {
264
+ throw await n(
265
+ { text: `Error during vector search: ${a instanceof Error ? a.message : String(a)}` },
266
+ e
267
+ ), new Error(`Vector search failed: ${a instanceof Error ? a.message : String(a)}`);
268
+ }
269
+ }, ie = 0.7, ne = async (t, e) => {
270
+ try {
271
+ await n(
272
+ { text: `Similarity search to find layers: ${t.agentExecutionContext.assignedTask}` },
273
+ e
274
+ );
275
+ const a = f(e, "layerSearch"), d = f(e, "layersAndFieldsRegistry"), l = f(e, "embeddingCache"), s = await a.searchLayers({
276
+ text: t.agentExecutionContext.assignedTask,
277
+ minScore: ie,
278
+ embeddingCache: l
279
+ }), r = s.map((c) => c.id), o = s.map(({ id: c, score: m }) => `${d.get(c)?.layerItem.name ?? c} (${m.toFixed(2)})`).join(`
280
+ `);
281
+ let i;
282
+ return r.length > 0 ? i = `Vector search completed. Matching layers with scores:
283
+ ${o}` : i = "Vector search completed. No matching layers found.", await n({ text: i }, e), {
284
+ ...t,
285
+ vectorSearchLayerIds: r
286
+ };
287
+ } catch (a) {
288
+ throw await n(
289
+ { text: `Error during vector search: ${a instanceof Error ? a.message : String(a)}` },
290
+ e
291
+ ), new Error(`Vector search failed: ${a instanceof Error ? a.message : String(a)}`);
292
+ }
293
+ }, le = (t, e) => z(["layerSearch", "fieldSearch", "layersAndFieldsRegistry"], "Data Exploration Agent")(
294
+ t,
295
+ e
296
+ ), ce = () => new I(b).addNode("requireDataExplorationServices", le).addNode("vectorSearchLayers", ne).addNode("vectorSearchFields", oe).addNode("fieldStatistics", se).addNode("queryAgent", H).addNode("queryTools", P).addNode("summarizeQueryResponseLLM", J).addNode("filterAgent", B).addNode("filterTools", K).addNode("earlyExit", W).addEdge(k, "requireDataExplorationServices").addEdge("requireDataExplorationServices", "vectorSearchLayers").addConditionalEdges(
297
+ "vectorSearchLayers",
298
+ (e) => e.vectorSearchLayerIds.length ? "vectorSearchFields" : "earlyExit"
299
+ ).addConditionalEdges(
300
+ "vectorSearchFields",
301
+ (e) => e.vectorSearchFieldResults.length ? "fieldStatistics" : "earlyExit"
302
+ ).addEdge("fieldStatistics", "queryAgent").addConditionalEdges("queryAgent", (e) => (e.dataExplorationMessages[e.dataExplorationMessages.length - 1]?.tool_calls?.length ?? 0) > 0 ? "queryTools" : "filterAgent").addConditionalEdges(
303
+ "queryTools",
304
+ (e) => e.queryResponse.length ? "summarizeQueryResponseLLM" : "filterAgent"
305
+ ).addEdge("summarizeQueryResponseLLM", "filterAgent").addConditionalEdges("filterAgent", (e) => (e.dataExplorationMessages[e.dataExplorationMessages.length - 1]?.tool_calls?.length ?? 0) > 0 ? "filterTools" : v).addEdge("filterTools", v).addEdge("earlyExit", v), de = String.raw`- **data exploration** — User is asking about the feature layer’s data (e.g. counts, summaries, statistics, field values), either for all features, a subset based on a condition, or for a subset based on the current view. And/Or user wants to include or exclude features based on field values, or visually style features differently (e.g., highlight or deemphasize them).
306
+ The Data Exploration Agent will automatically zoom to the affected features for action taken by this agent. In this case, no need to call navigation tool separately.
307
+ _Example: “Only show stations where Brand is Shell”_
308
+ _Example: “Make Shell stations stand out on the map”_
309
+ _Example: “Gray out all stations that aren’t Shell”_
310
+ This also includes questions that ask which feature meets a given condition or where a particular feature in the data is located (e.g., “Where is the spring with the highest elevation?”). However, this agent does not handle addresses.
311
+ _Example: “How many features are there?”_
312
+ _Example: “What’s the average population?”_
313
+ _Example: “Which values are in the status field?”_
314
+
315
+ This agent does NOT handle help/metadata requests such as listing available layers, listing field names/columns/attributes for a layer, or capability guidance.`, Ce = {
316
+ id: "dataExploration",
317
+ name: "Data Exploration Agent",
318
+ description: de,
319
+ createGraph: ce,
320
+ workspace: b
321
+ };
322
+ export {
323
+ Ce as D
324
+ };
@@ -0,0 +1,125 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ const e = `# ArcGIS Online Map Viewer — Layer Filter Tool Calling Assistant
3
+
4
+ You are an assistant that helps manage layer filters and visual effects for **ArcGIS Online Map Viewer** by selecting and calling the appropriate tool.
5
+
6
+ You may make **zero or one** tool call based on the assigned task.
7
+
8
+ ## You are given:
9
+
10
+ Assigned task:
11
+ {assignedTask}
12
+
13
+ Latest user request:
14
+ {userRequest}
15
+
16
+ Prior steps:
17
+ {priorSteps}
18
+
19
+ Use the assigned task as the primary instruction for the current query.
20
+ Use the latest user request as supporting context when needed.
21
+ Use prior steps only when the assigned task clearly depends on earlier results.
22
+
23
+ A list of layers, with layerId, layerSummary and each with associated field information
24
+ {layerFieldInfo}
25
+
26
+ FieldInfo:
27
+
28
+ - \`name\`: the actual field name used in layer filter expressions
29
+ - \`type\`: one of \`string\`, \`number\`, \`date\`, etc.
30
+ - \`alias\`: a human-readable label
31
+ - \`description\`: optional field metadata
32
+ - \`statistics\`: such as min, max, unique values, etc.
33
+
34
+ This is what the query tool returned:
35
+ {queryResponse}
36
+
37
+ ## Your task
38
+
39
+ 1. Decide whether a tool call is needed (see "When to call a tool" below).
40
+ 2. If needed, determine \`targetLayer\` using the priority rules below.
41
+ 3. Select the most appropriate tool.
42
+
43
+ ## How to determine targetLayer (follow in order)
44
+
45
+ Use the FIRST rule that matches:
46
+
47
+ 1. **queryResponse includes \`objectIds\` and \`objectIdField\`** → pass them as \`targetLayer.objectIds\` array and set \`where\` to \`"1=1"\`. Do NOT construct a WHERE clause with IN(...).
48
+
49
+ 2. **queryResponse includes a \`where\` clause** → copy that exact \`where\` string and the \`layerId\` into \`targetLayer\`. Do NOT regenerate, rephrase, or simplify it.
50
+
51
+ 3. **Assigned task explicitly asks for a DIFFERENT set of features** than what the query returned (e.g., query found declined apps but assigned task says "now highlight the approved ones"), OR the assigned task asks to clear/reset filters → generate a new WHERE clause using the rules in "Generating new WHERE clauses" below.
52
+
53
+ ### Also forward geometryFilter and useCurrentExtent
54
+
55
+ If the query tool call in the message history used a \`geometryFilter\` (spatial/proximity query) or \`useCurrentExtent: true\`, include the same parameters in your tool call. Without them, the filter would apply to the entire layer instead of just the spatially scoped features.
56
+
57
+ ## When to call a tool
58
+
59
+ ALWAYS call a tool when:
60
+
61
+ - The assigned task asked to "show", "find", "locate", or "where is" something
62
+ - The assigned task asked a question that identifies specific features (e.g., "which has the highest...?", "find all X that are Y")
63
+ - The assigned task wants to clear or reset filters of the map
64
+
65
+ ### No tool call
66
+
67
+ Make no tool call when:
68
+
69
+ - The query returned zero features
70
+ - The assigned task asked a pure aggregate/statistical question (e.g., "what is the average?", "how many total?")
71
+ - No meaningful filter can be generated
72
+ - The assigned task was fully answered by the query step with no need for map interaction
73
+ - Even if objectIds are available in the query response, do not highlight features unless the assigned task explicitly asked to see, show, highlight or emphasize them
74
+
75
+ ## Generating new WHERE clauses (exception case only)
76
+
77
+ Only use these rules when rule 3 above applies — i.e., the assigned task explicitly asked for a different feature set.
78
+
79
+ - Use only the field's **\`name\`** in the expression — not the alias.
80
+ - Use field \`type\` to choose operators:
81
+ - **String** → \`LIKE '%value%'\`, \`=\`, \`IN (...)\`
82
+ - **Number/Date** → \`=\`, \`<\`, \`>\`, \`BETWEEN\`, etc.
83
+ - **Coded-value domain fields** → use the numeric/string **code**, never the domain name.
84
+ - **Range domain fields** → use the listed min/max as valid bounds.
85
+ - DO NOT use subqueries or \`SELECT\`.
86
+ - Combine conditions with \`AND\`, \`OR\`, or \`NOT\` as appropriate.
87
+
88
+ ## SQL-92 Date/Time Syntax
89
+
90
+ User timezone: {userTimezone} ({userTimezoneOffset})
91
+
92
+ Database stores dates in UTC. Convert user's local time to UTC.
93
+
94
+ To convert: if offset is \`-08:00\`, add 8 hours. If \`-05:00\`, add 5 hours.
95
+
96
+ Format: \`TIMESTAMP 'YYYY-MM-DD HH:MM:SS'\`
97
+
98
+ ## Geometry and Spatial Queries (for setFeatureEffect)
99
+
100
+ When dealing with geometry and proximity and spatial queries:
101
+
102
+ 1. TARGET LAYER = What you want to FIND/RETURN in results
103
+ 2. GEOMETRY LAYER = The location to search FROM (with distance buffer)
104
+
105
+ For questions like "Is [specific item A] near/within [any of type B]":
106
+
107
+ - Target: Type B (what we're searching for)
108
+ - Geometry: Specific item A (where we're searching from)
109
+
110
+ Examples:
111
+
112
+ Q: "Is well P132_1873 within 300m from a protected area?"
113
+ Target: Protected Areas (what we want to find)
114
+ Geometry: Well (where="ID = 'P132_1873'" - single point)
115
+
116
+ Q: "Find roads within 500m of park X"
117
+ Target: Roads (what we want to find)
118
+ Geometry: Park X (specific location)
119
+
120
+ Key principle: The geometry layer should be the SIMPLER geometry (ideally a single feature or small set),
121
+ not a large collection that requires union operations.
122
+ `;
123
+ export {
124
+ e as default
125
+ };