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

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 (374) 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 +139 -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/middlewares/humanInTheLoop.d.ts +152 -0
  11. package/dist/agent-utils/middlewares/humanInTheLoop.js +94 -0
  12. package/dist/agent-utils/middlewares/middleware.d.ts +25 -0
  13. package/dist/agent-utils/middlewares/middleware.js +44 -0
  14. package/dist/agent-utils/middlewares/trace.d.ts +25 -0
  15. package/dist/agent-utils/middlewares/trace.js +50 -0
  16. package/dist/agent-utils/middlewares/types.d.ts +123 -0
  17. package/dist/agent-utils/middlewares/types.js +2 -0
  18. package/dist/agent-utils/tools/FunctionTool.d.ts +127 -0
  19. package/dist/agent-utils/tools/FunctionTool.js +80 -0
  20. package/dist/agent-utils/types.d.ts +152 -0
  21. package/dist/agent-utils/workflows/BaseWorkflow.d.ts +87 -0
  22. package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +72 -0
  23. package/dist/agent-utils/workflows/ConditionalWorkflow.js +61 -0
  24. package/dist/agent-utils/workflows/LoopWorkflow.d.ts +58 -0
  25. package/dist/agent-utils/workflows/LoopWorkflow.js +56 -0
  26. package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +68 -0
  27. package/dist/agent-utils/workflows/ParallelWorkflow.js +129 -0
  28. package/dist/agent-utils/workflows/RouterWorkflow.d.ts +63 -0
  29. package/dist/agent-utils/workflows/RouterWorkflow.js +75 -0
  30. package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +56 -0
  31. package/dist/agent-utils/workflows/SequentialWorkflow.js +69 -0
  32. package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +74 -0
  33. package/dist/agent-utils/workflows/SwitchWorkflow.js +84 -0
  34. package/dist/assets/embeddings.worker-k9_Ou679.js +1 -0
  35. package/dist/cdn/{24MYCR6F.js → 23EQTPO3.js} +2 -2
  36. package/dist/cdn/{Z3DVGFEE.js → 2AXF774U.js} +2 -2
  37. package/dist/cdn/{UK6CP7BR.js → 3PKJWIC3.js} +2 -2
  38. package/dist/cdn/462JBSEV.js +422 -0
  39. package/dist/cdn/4HU7735A.js +42 -0
  40. package/dist/cdn/5QAHYX7Y.js +5 -0
  41. package/dist/cdn/{YVTKUITE.js → 5ZZGKP7N.js} +2 -2
  42. package/dist/cdn/{DMLSCJAM.js → 6YMR4QSD.js} +2 -2
  43. package/dist/cdn/{LXFCO34K.js → 7BCR6TUO.js} +2 -2
  44. package/dist/cdn/{EUNEQNYC.js → 7GH7VSB2.js} +1 -1
  45. package/dist/cdn/{YNJYG2RG.js → 7PLV4QH6.js} +2 -2
  46. package/dist/cdn/{JDL3HFFX.js → 7RCQFLPP.js} +2 -2
  47. package/dist/cdn/AMP6IALT.js +2 -0
  48. package/dist/cdn/{Y3AUHNRX.js → AO7BQHKC.js} +2 -2
  49. package/dist/cdn/{K6LVZHWM.js → AXDZBBNL.js} +2 -2
  50. package/dist/cdn/{WBRZZ4FB.js → DDLZOMUY.js} +2 -2
  51. package/dist/cdn/DHOVCT6R.js +2 -0
  52. package/dist/cdn/{ESTSYVJP.js → F2AHA4GB.js} +2 -2
  53. package/dist/cdn/FHVXO2WG.js +166 -0
  54. package/dist/cdn/{VHOF6SUZ.js → FL4W4VYN.js} +3 -3
  55. package/dist/cdn/FX5JFRDL.js +2 -0
  56. package/dist/cdn/{CFT5BBC6.js → FX7UOGHP.js} +2 -2
  57. package/dist/cdn/GSEPHN3A.js +106 -0
  58. package/dist/cdn/H7422XUG.js +2 -0
  59. package/dist/cdn/HB5A5R2E.js +2 -0
  60. package/dist/cdn/JY6LLOUJ.js +22 -0
  61. package/dist/cdn/{LSGRWCAO.js → KMQ3SP4I.js} +2 -2
  62. package/dist/cdn/{MZJGADGH.js → LQ6R5YRN.js} +2 -2
  63. package/dist/cdn/MDVYQQUG.js +14 -0
  64. package/dist/cdn/{3QC3BRZP.js → MH5RPXHM.js} +2 -2
  65. package/dist/cdn/{54ATSQPS.js → NAUXSHIE.js} +18 -18
  66. package/dist/cdn/{SFREIREB.js → NE7E52YR.js} +2 -2
  67. package/dist/cdn/{2YEKZADB.js → NVI3I46B.js} +2 -2
  68. package/dist/cdn/{YGW7TUNX.js → OAVEHGB6.js} +1 -1
  69. package/dist/cdn/{DSEMD4M2.js → OH64RMOR.js} +3 -3
  70. package/dist/cdn/ON2V5XI2.js +3 -0
  71. package/dist/cdn/{PTGKT5P6.js → P6OPJQMC.js} +2 -2
  72. package/dist/cdn/{TRDKA5Y6.js → QR54T33D.js} +2 -2
  73. package/dist/cdn/{457RLS3H.js → RVOAPUBN.js} +2 -2
  74. package/dist/cdn/S6W6HV4T.js +36 -0
  75. package/dist/cdn/{5JBT3YNY.js → SXDLXCIM.js} +2 -2
  76. package/dist/cdn/{G4SVCCJH.js → USMDJUFS.js} +2 -2
  77. package/dist/cdn/{Q5D5LJS5.js → V2P4AIGG.js} +2 -2
  78. package/dist/cdn/V5YEZSRY.js +16 -0
  79. package/dist/cdn/{5PT7ZFXF.js → X2ZDYHCG.js} +20 -7
  80. package/dist/cdn/Y333DGV6.js +2 -0
  81. package/dist/cdn/{CFDTXKJ6.js → YIMNOUTF.js} +1 -1
  82. package/dist/cdn/YY2SBO3V.js +2 -0
  83. package/dist/cdn/{7EXACS27.js → ZLXN7NMF.js} +3 -2
  84. package/dist/cdn/ZS2TZ6BF.js +31 -0
  85. package/dist/cdn/{W5CHGOOR.js → ZTBA5PM7.js} +2 -2
  86. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  87. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  88. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  89. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  90. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  91. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  92. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  93. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  94. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  95. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  96. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  97. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  98. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  99. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  100. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  101. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  102. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  103. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  104. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  105. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  106. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  107. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  108. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  109. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  110. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  111. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  112. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  113. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  114. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  115. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  116. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  117. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  118. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  119. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  120. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  121. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  122. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  123. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  124. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  125. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -1
  126. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -1
  127. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -1
  128. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -1
  129. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -1
  130. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -1
  131. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -1
  132. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -1
  133. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -1
  134. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -1
  135. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -1
  136. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -1
  137. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -1
  138. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -1
  139. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -1
  140. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -1
  141. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -1
  142. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -1
  143. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -1
  144. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -1
  145. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -1
  146. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -1
  147. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -1
  148. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -1
  149. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -1
  150. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -1
  151. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -1
  152. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -1
  153. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -1
  154. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -1
  155. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -1
  156. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -1
  157. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -1
  158. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -1
  159. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -1
  160. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -1
  161. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -1
  162. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -1
  163. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -1
  164. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -1
  165. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -1
  166. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -1
  167. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -1
  168. package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -1
  169. package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -1
  170. package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -1
  171. package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -1
  172. package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -1
  173. package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -1
  174. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -1
  175. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -1
  176. package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -1
  177. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -1
  178. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -1
  179. package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -1
  180. package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -1
  181. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -1
  182. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -1
  183. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -1
  184. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -1
  185. package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -1
  186. package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -1
  187. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -1
  188. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -1
  189. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -1
  190. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -1
  191. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -1
  192. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -1
  193. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -1
  194. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -1
  195. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -1
  196. package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -1
  197. package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -1
  198. package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -1
  199. package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -1
  200. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -1
  201. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -1
  202. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -1
  203. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -1
  204. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -1
  205. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -1
  206. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -1
  207. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -1
  208. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -1
  209. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -1
  210. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -1
  211. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -1
  212. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -1
  213. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -1
  214. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -1
  215. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -1
  216. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -1
  217. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -1
  218. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -1
  219. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -1
  220. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -1
  221. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -1
  222. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -1
  223. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -1
  224. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -1
  225. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -1
  226. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -1
  227. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -1
  228. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -1
  229. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -1
  230. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -1
  231. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -1
  232. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -1
  233. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -1
  234. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -1
  235. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -1
  236. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -1
  237. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -1
  238. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -1
  239. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -1
  240. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -1
  241. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -1
  242. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -1
  243. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -1
  244. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -1
  245. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -1
  246. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -1
  247. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -1
  248. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -1
  249. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -1
  250. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -1
  251. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -1
  252. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -1
  253. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -1
  254. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -1
  255. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -1
  256. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -1
  257. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -1
  258. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -1
  259. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -1
  260. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -1
  261. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -1
  262. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -1
  263. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -1
  264. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -1
  265. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -1
  266. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -1
  267. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -1
  268. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -1
  269. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -1
  270. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -1
  271. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -1
  272. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -1
  273. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -1
  274. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -1
  275. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -1
  276. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -1
  277. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -1
  278. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -1
  279. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -1
  280. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -1
  281. package/dist/cdn/index.js +2 -2
  282. package/dist/cdn/main.css +1 -1
  283. package/dist/chunks/BaseWorkflow.js +107 -0
  284. package/dist/chunks/adapter.js +2974 -0
  285. package/dist/chunks/arcgisKnowledgeGraph.js +174 -0
  286. package/dist/chunks/arcgis_knowledge_current_lc_context.js +8 -0
  287. package/dist/chunks/arcgis_knowledge_current_map_context.js +8 -0
  288. package/dist/chunks/arcgis_knowledge_lucene_generation_prompt.js +101 -0
  289. package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +48 -0
  290. package/dist/chunks/arcgis_knowledge_tool_prompt.js +34 -0
  291. package/dist/chunks/converterUtils.js +1 -1
  292. package/dist/chunks/dataExplorationGraph.js +298 -0
  293. package/dist/chunks/data_explore_filter_prompt.js +125 -0
  294. package/dist/chunks/data_explore_query_prompt.js +144 -0
  295. package/dist/chunks/embeddings.worker.js +25 -0
  296. package/dist/chunks/field_descriptions_prompt.js +112 -0
  297. package/dist/chunks/generateLayerDescriptions.js +413 -0
  298. package/dist/chunks/graph.js +86 -0
  299. package/dist/chunks/helpGraph.js +123 -0
  300. package/dist/chunks/help_prompt.js +57 -0
  301. package/dist/chunks/intent_prompt.js +123 -0
  302. package/dist/chunks/layerStylingGraph.js +189 -0
  303. package/dist/chunks/layer_descriptions_prompt.js +59 -0
  304. package/dist/chunks/layer_styling_prompt.js +72 -0
  305. package/dist/chunks/navigationGraph.js +266 -0
  306. package/dist/chunks/navigation_intent_prompt.js +46 -0
  307. package/dist/chunks/navigation_tool_prompt.js +39 -0
  308. package/dist/chunks/orchestrator.js +528 -0
  309. package/dist/chunks/runtime.js +2 -2
  310. package/dist/chunks/slottableRequestUtils.js +1 -1
  311. package/dist/chunks/state.js +71 -0
  312. package/dist/chunks/summarize_query_response_prompt.js +78 -0
  313. package/dist/chunks/toolCallResponse.js +29 -0
  314. package/dist/chunks/useT9n.js +1 -1
  315. package/dist/chunks/utils.js +47 -29
  316. package/dist/chunks/utils2.js +42 -7
  317. package/dist/chunks/utils3.js +16 -0
  318. package/dist/components/arcgis-assistant/customElement.d.ts +60 -8
  319. package/dist/components/arcgis-assistant/customElement.js +32 -24
  320. package/dist/components/arcgis-assistant/types.d.ts +1 -1
  321. package/dist/components/arcgis-assistant-agent/customElement.d.ts +1 -1
  322. package/dist/components/arcgis-assistant-agent/customElement.js +2 -2
  323. package/dist/components/arcgis-assistant-chat/customElement.js +1 -1
  324. package/dist/components/arcgis-assistant-chat-entry/customElement.js +1 -1
  325. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +25 -9
  326. package/dist/components/arcgis-assistant-help-agent/customElement.js +28 -9
  327. package/dist/components/arcgis-assistant-interrupt/customElement.js +8 -12
  328. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +158 -0
  329. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +68 -0
  330. package/dist/components/arcgis-assistant-knowledge-agent/index.d.ts +1 -0
  331. package/dist/components/arcgis-assistant-knowledge-agent/index.js +1 -0
  332. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +28 -9
  333. package/dist/components/arcgis-assistant-message/customElement.js +1 -1
  334. package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
  335. package/dist/components/arcgis-assistant-message-block/customElement.js +1 -1
  336. package/dist/components/arcgis-assistant-message-feedback/customElement.js +1 -1
  337. package/dist/components/arcgis-assistant-message-footer/customElement.js +1 -1
  338. package/dist/components/arcgis-assistant-message-loading/customElement.js +1 -1
  339. package/dist/components/arcgis-assistant-message-log/customElement.js +1 -1
  340. package/dist/components/arcgis-assistant-message-read-aloud/customElement.js +24 -28
  341. package/dist/components/arcgis-assistant-message-text/customElement.js +1 -1
  342. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +26 -8
  343. package/dist/components/arcgis-assistant-speech-input/customElement.js +1 -1
  344. package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +1 -1
  345. package/dist/components/arcgis-assistant-user-message/customElement.js +1 -1
  346. package/dist/docs/api.json +1 -1
  347. package/dist/docs/docs.json +1 -1
  348. package/dist/docs/vscode.html-custom-data.json +1 -1
  349. package/dist/docs/web-types.json +1 -1
  350. package/dist/index.d.ts +4 -0
  351. package/dist/index.js +1 -1
  352. package/dist/loader.js +2 -1
  353. package/dist/types/lumina.d.ts +6 -1
  354. package/dist/types/preact.d.ts +7 -1
  355. package/dist/types/react.d.ts +8 -1
  356. package/dist/types/stencil.d.ts +6 -1
  357. package/dist/utils/index.d.ts +203 -9
  358. package/dist/utils/index.js +109 -11
  359. package/package.json +26 -11
  360. package/dist/cdn/4QVKWA2Z.js +0 -24
  361. package/dist/cdn/5L7OZ37N.js +0 -2
  362. package/dist/cdn/6ALN3KMA.js +0 -269
  363. package/dist/cdn/ARCP5UZY.js +0 -2
  364. package/dist/cdn/B4DEC7PH.js +0 -2
  365. package/dist/cdn/D7WNBUVK.js +0 -106
  366. package/dist/cdn/GER6EQYH.js +0 -2
  367. package/dist/cdn/KVH3PDVW.js +0 -2
  368. package/dist/cdn/O62HTIOD.js +0 -2
  369. package/dist/cdn/R5FWFRWW.js +0 -2
  370. package/dist/cdn/SZBOIYZZ.js +0 -2
  371. package/dist/cdn/WNDUCHXU.js +0 -2
  372. package/dist/cdn/YW52XJMM.js +0 -396
  373. package/dist/cdn/ZLO73NU6.js +0 -2
  374. package/dist/cdn/ZPNJGIAF.js +0 -2
@@ -0,0 +1,298 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { StateGraph as b, START as V, END as v } from "@langchain/langgraph/web";
3
+ import { g as T, O as R, P as C, t as N, Q as k, f as h, R as D, r as z, S as $, T as P } from "./adapter.js";
4
+ import "@arcgis/core/identity/IdentityManager.js";
5
+ import "@arcgis/core/portal/Portal.js";
6
+ import { s as c, j as A, h as Q } from "./generateLayerDescriptions.js";
7
+ import { AIMessage as j } from "@langchain/core/messages";
8
+ import "@langchain/openai";
9
+ import "@arcgis/core/core/reactiveUtils.js";
10
+ import "@arcgis/core/layers/FeatureLayer.js";
11
+ import "@arcgis/core/request.js";
12
+ import "@langchain/core/prompts";
13
+ import { h as I } from "./toolCallResponse.js";
14
+ import { ToolNode as O } from "@langchain/langgraph/prebuilt";
15
+ import G from "@arcgis/core/smartMapping/statistics/summaryStatistics.js";
16
+ import U from "@arcgis/core/smartMapping/statistics/uniqueValues.js";
17
+ const W = async (t, e) => (await c({ text: "Exiting Data Exploration agent" }, e), t), B = async (t, e) => {
18
+ await c({ text: "Requesting LLM for layer filter results" }, e);
19
+ const d = await T("data_explore_filter_prompt");
20
+ if (!e?.configurable)
21
+ throw new Error("config.configurable is required for layer filter tools");
22
+ const { userTimezone: n, userTimezoneOffset: r } = R(), o = {
23
+ layerFieldInfo: t.layerFieldInfo,
24
+ userTimezone: n,
25
+ userTimezoneOffset: r,
26
+ queryResponse: t.queryResponse,
27
+ assignedTask: t.agentExecutionContext.assignedTask,
28
+ userRequest: t.agentExecutionContext.userRequest,
29
+ priorSteps: t.agentExecutionContext.priorSteps
30
+ }, s = await A({
31
+ promptText: d,
32
+ modelTier: "advanced",
33
+ messages: t.dataExplorationMessages,
34
+ inputVariables: o,
35
+ tools: C
36
+ }), i = [...t.dataExplorationMessages, s];
37
+ if (!((s.tool_calls?.length ?? 0) > 0))
38
+ return await c({ text: "LLM determined no filter changes needed" }, e), {
39
+ ...t,
40
+ dataExplorationMessages: i
41
+ // Don't overwrite outputMessage if query already set it
42
+ };
43
+ const m = [...i, s], p = s.content.toString();
44
+ return await I(s, e), { ...t, dataExplorationMessages: m, outputMessage: p };
45
+ }, H = async (t, e) => {
46
+ await c({ text: "Requesting LLM for layer query results" }, e);
47
+ const d = await T("data_explore_query_prompt");
48
+ if (!e?.configurable)
49
+ throw new Error("config.configurable is required for layer query tools");
50
+ const { userTimezone: n, userTimezoneOffset: r } = R(), s = t.agentExecutionContext.sharedState.lastNavigatedFeatures, i = s && typeof s == "object" && "value" in s ? s.value : s;
51
+ let l = "none";
52
+ if (i != null)
53
+ try {
54
+ l = JSON.stringify(i);
55
+ } catch {
56
+ l = "none";
57
+ }
58
+ const m = {
59
+ layerFieldInfo: t.layerFieldInfo,
60
+ userTimezone: n,
61
+ userTimezoneOffset: r,
62
+ assignedTask: t.agentExecutionContext.assignedTask,
63
+ userRequest: t.agentExecutionContext.userRequest,
64
+ priorSteps: t.agentExecutionContext.priorSteps,
65
+ lastNavigatedFeatures: l
66
+ }, p = await A({
67
+ promptText: d,
68
+ modelTier: "advanced",
69
+ messages: t.dataExplorationMessages,
70
+ inputVariables: m,
71
+ tools: k
72
+ }), y = p.content.toString();
73
+ return await I(p, e), {
74
+ ...t,
75
+ dataExplorationMessages: [...t.dataExplorationMessages, p],
76
+ outputMessage: y,
77
+ status: "success",
78
+ summary: y ? N(y) : "Query executed."
79
+ };
80
+ }, J = async (t, e) => {
81
+ try {
82
+ await c({ text: "Requesting LLM for summary on query results" }, e);
83
+ const d = await T("summarize_query_response_prompt"), n = {
84
+ queryResponse: t.queryResponse,
85
+ assignedTask: t.agentExecutionContext.assignedTask,
86
+ userRequest: t.agentExecutionContext.userRequest,
87
+ priorSteps: t.agentExecutionContext.priorSteps
88
+ }, r = await Q({
89
+ promptText: d,
90
+ modelTier: "fast",
91
+ messages: t.dataExplorationMessages,
92
+ inputVariables: n
93
+ }), o = typeof r == "string" ? r : r.content, s = new j(o);
94
+ await c({ text: `Received response from LLM: ${o}` }, e);
95
+ const i = o;
96
+ return {
97
+ ...t,
98
+ outputMessage: i,
99
+ status: "success",
100
+ summary: i ? N(i) : "Summary generated.",
101
+ dataExplorationMessages: [...t.dataExplorationMessages, s]
102
+ };
103
+ } catch (a) {
104
+ throw await c({ text: "Error during filter LLM request" }, e), new Error(`Error during filter LLM request: ${a instanceof Error ? a.message : String(a)}`);
105
+ }
106
+ };
107
+ async function K(t, e) {
108
+ const d = await new O(C).invoke(
109
+ {
110
+ messages: t.dataExplorationMessages
111
+ },
112
+ e
113
+ );
114
+ return await c(
115
+ { text: `Finished executing layer filter tool: ${d.messages.map((n) => n.content).join(", ")}` },
116
+ e
117
+ ), { ...t };
118
+ }
119
+ const X = 10, Y = ["string", "small-integer", "integer"], Z = async (t, e, { includeSummaryStatistics: a = !0, includeUniqueValues: d = !0 } = {}) => {
120
+ let n = null, r = null;
121
+ try {
122
+ if (e.type !== "geometry" && e.type !== "oid" && e.type !== "global-id") {
123
+ a && (n = await G({ layer: t, field: e.name }));
124
+ const o = e.domain?.type === "coded-value" ? e.domain : null;
125
+ d && (Y.includes(e.type) || o) && (r = (await U({ layer: t, field: e.name })).uniqueValueInfos.sort((s, i) => i.count - s.count).slice(0, X), o && (r = r.map((s) => ({
126
+ ...s,
127
+ value: o.getName(s.value) ?? s.value
128
+ }))));
129
+ }
130
+ } catch (o) {
131
+ console.error(`Error fetching statistics for field ${e.name}:`, o);
132
+ }
133
+ return {
134
+ summaryStatistics: n,
135
+ uniqueValues: r
136
+ };
137
+ };
138
+ function ee(t, e) {
139
+ return ["string", "small-integer", "integer"].includes(t) || e === "coded-value";
140
+ }
141
+ async function te(t, e, a, d = !0) {
142
+ const n = [], r = [], o = [];
143
+ for (const s of t) {
144
+ let i = function(g) {
145
+ const u = e.get(g)?.layerItem;
146
+ return u ? [
147
+ u.name && `Name: ${u.name}`,
148
+ u.title && `Title: ${u.title}`,
149
+ u.description && `Description: ${u.description}`
150
+ ].filter(Boolean).join(" | ") : g;
151
+ };
152
+ const { layerId: l, results: m } = s, p = a.map?.allLayers.find((g) => g.id === l), y = e.get(l)?.fieldRegistry;
153
+ if (!y)
154
+ continue;
155
+ let f = n.find((g) => g.layerId === l);
156
+ f || (f = {
157
+ layerId: l,
158
+ layerSummary: i(l),
159
+ fieldInfos: []
160
+ }, n.push(f));
161
+ for (const g of m) {
162
+ const u = y.get(g.name);
163
+ if (!u)
164
+ continue;
165
+ const x = u.statistics, E = d && !x?.summaryStatistics, w = ee(u.type, u.domain?.type) && !x?.uniqueValues, q = E || w;
166
+ if (o.push({
167
+ layerId: l,
168
+ fieldName: u.name,
169
+ didFetchStatistics: q
170
+ }), q) {
171
+ const _ = Z(p, u, {
172
+ includeSummaryStatistics: E,
173
+ includeUniqueValues: w
174
+ }).then((F) => {
175
+ const S = {
176
+ summaryStatistics: x?.summaryStatistics ?? null,
177
+ uniqueValues: x?.uniqueValues ?? null
178
+ };
179
+ E && (S.summaryStatistics = F.summaryStatistics), w && (S.uniqueValues = F.uniqueValues), y.set(u.name, { ...u, statistics: S }), u.statistics = S;
180
+ });
181
+ r.push(_);
182
+ }
183
+ f.fieldInfos.push(u);
184
+ }
185
+ }
186
+ return await Promise.all(r), {
187
+ layerFieldInfo: n,
188
+ didFetchStatistics: r.length > 0,
189
+ fieldStatisticsFetchStatus: o
190
+ };
191
+ }
192
+ const M = /\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;
193
+ function ae(t, e) {
194
+ return M.test(t) || M.test(e);
195
+ }
196
+ const se = async (t, e) => {
197
+ try {
198
+ await c({ text: "Preparing field information for vector search results" }, e);
199
+ const a = h(e, "layersAndFieldsRegistry"), { mapView: d } = D(e), { assignedTask: n, userRequest: r } = t.agentExecutionContext, o = ae(n, r), { layerFieldInfo: s, didFetchStatistics: i, fieldStatisticsFetchStatus: l } = await te(
200
+ t.vectorSearchFieldResults,
201
+ a,
202
+ d,
203
+ o
204
+ );
205
+ i ? await c({ text: "Statistics fetched" }, e) : await c({ text: "Statistics skipped" }, e);
206
+ for (const m of l)
207
+ await c(
208
+ {
209
+ text: ` - ${m.fieldName} - stats ${m.didFetchStatistics ? "fetched" : "skipped"}`
210
+ },
211
+ e
212
+ );
213
+ return await c({ text: "Field information prepared" }, e), { ...t, layerFieldInfo: s };
214
+ } catch (a) {
215
+ throw await c({ text: "Error during fetching statistics" }, e), new Error(`Error during fetching statistics: ${a instanceof Error ? a.message : String(a)}`);
216
+ }
217
+ }, L = 0.7, re = 10, oe = async (t, e) => {
218
+ try {
219
+ await c({ text: "Similarity search to find fields" }, e);
220
+ const a = h(e, "fieldSearch"), d = h(e, "layersAndFieldsRegistry"), n = h(e, "embeddingCache"), r = await a.searchFields({
221
+ text: t.agentExecutionContext.assignedTask,
222
+ layerIds: t.vectorSearchLayerIds,
223
+ minScore: L,
224
+ topResults: re,
225
+ embeddingCache: n
226
+ }), o = r.map(({ layerId: i, results: l }) => {
227
+ const m = l.map((p) => ` - ${p.name} (${p.score.toFixed(2)})`).join(`
228
+ `);
229
+ return `${d.get(i)?.layerItem.name ?? i}:
230
+ ${m}`;
231
+ }).join(`
232
+ `);
233
+ let s;
234
+ return r.length > 0 ? s = `Vector search completed. Matching layers and fields with scores:
235
+ ${o}` : s = `No vector search results found for score over ${L}.`, await c({ text: s }, e), {
236
+ ...t,
237
+ vectorSearchFieldResults: r
238
+ };
239
+ } catch (a) {
240
+ throw await c(
241
+ { text: `Error during vector search: ${a instanceof Error ? a.message : String(a)}` },
242
+ e
243
+ ), new Error(`Vector search failed: ${a instanceof Error ? a.message : String(a)}`);
244
+ }
245
+ }, ie = 0.7, ne = async (t, e) => {
246
+ try {
247
+ await c(
248
+ { text: `Similarity search to find layers: ${t.agentExecutionContext.assignedTask}` },
249
+ e
250
+ );
251
+ const a = h(e, "layerSearch"), d = h(e, "layersAndFieldsRegistry"), n = h(e, "embeddingCache"), r = await a.searchLayers({
252
+ text: t.agentExecutionContext.assignedTask,
253
+ minScore: ie,
254
+ embeddingCache: n
255
+ }), o = r.map((l) => l.id), s = r.map(({ id: l, score: m }) => `${d.get(l)?.layerItem.name ?? l} (${m.toFixed(2)})`).join(`
256
+ `);
257
+ let i;
258
+ return o.length > 0 ? i = `Vector search completed. Matching layers with scores:
259
+ ${s}` : i = "Vector search completed. No matching layers found.", await c({ text: i }, e), {
260
+ ...t,
261
+ vectorSearchLayerIds: o
262
+ };
263
+ } catch (a) {
264
+ throw await c(
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
+ }, le = (t, e) => z(["layerSearch", "fieldSearch", "layersAndFieldsRegistry"], "Data Exploration Agent")(
270
+ t,
271
+ e
272
+ ), ce = () => new 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(V, "requireDataExplorationServices").addEdge("requireDataExplorationServices", "vectorSearchLayers").addConditionalEdges(
273
+ "vectorSearchLayers",
274
+ (e) => e.vectorSearchLayerIds.length ? "vectorSearchFields" : "earlyExit"
275
+ ).addConditionalEdges(
276
+ "vectorSearchFields",
277
+ (e) => e.vectorSearchFieldResults.length ? "fieldStatistics" : "earlyExit"
278
+ ).addEdge("fieldStatistics", "queryAgent").addConditionalEdges("queryAgent", (e) => (e.dataExplorationMessages[e.dataExplorationMessages.length - 1]?.tool_calls?.length ?? 0) > 0 ? "queryTools" : "filterAgent").addConditionalEdges(
279
+ "queryTools",
280
+ (e) => e.queryResponse.length ? "summarizeQueryResponseLLM" : "filterAgent"
281
+ ).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).
282
+ 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.
283
+ _Example: “Only show stations where Brand is Shell”_
284
+ _Example: “Make Shell stations stand out on the map”_
285
+ _Example: “Gray out all stations that aren’t Shell”_
286
+ 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.
287
+ _Example: “How many features are there?”_
288
+ _Example: “What’s the average population?”_
289
+ _Example: “Which values are in the status field?”_`, Me = {
290
+ id: "dataExploration",
291
+ name: "Data Exploration Agent",
292
+ description: de,
293
+ createGraph: ce,
294
+ workspace: $
295
+ };
296
+ export {
297
+ Me as D
298
+ };
@@ -0,0 +1,125 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/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
+ };
@@ -0,0 +1,144 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ const e = `# ArcGIS JavaScript SDK FeatureLayerView Query Assistant
3
+
4
+ You are a GIS assistant that generates query parameters for the ArcGIS JavaScript SDK FeatureLayerView \`queryFeatures()\` method.
5
+
6
+ Analyze the assigned task and construct appropriate query parameters for each relevant layer. Only include parameters that are necessary to answer the assigned task.
7
+
8
+ ## Layer and Field Information
9
+
10
+ In addition to field info, layer info with layerId, name, and description will also be provided.
11
+ It will be an array of multiple layers.
12
+
13
+ You are only allowed to use the field names listed under each layer. Do not invent or use any fields not listed.
14
+
15
+ {layerFieldInfo}
16
+
17
+ ## Critical Guard — Do NOT Hallucinate Fields
18
+
19
+ If the assigned task asks for a filter that requires a field not present in the list above, do not invent the field and do not include it.
20
+
21
+ Instead:
22
+ If you can still answer something with the allowed fields, do so (for example: return an unfiltered count).
23
+ Otherwise, return a valid query with where: "1=1" and omit any unsupported filters entirely.
24
+ Never reference fields beyond those listed. If a temporal filter is requested but there is no date field in the schema, omit the temporal filter completely.
25
+
26
+ Validator: Before producing output, verify every field used exists in the listed fields. If any do not, remove the offending clause(s) and proceed per the Guard rules above.
27
+
28
+ ## Input
29
+
30
+ Assigned task:
31
+ {assignedTask}
32
+
33
+ Latest user request:
34
+ {userRequest}
35
+
36
+ Prior steps:
37
+ {priorSteps}
38
+
39
+ Last navigated features from shared state (if available):
40
+ {lastNavigatedFeatures}
41
+
42
+ Use the assigned task as the primary instruction for the current query.
43
+ Use the latest user request as supporting context when needed.
44
+ Use prior steps only when the assigned task or user request clearly depends on earlier results.
45
+ Use lastNavigatedFeatures as authoritative context for map-navigation references when present.
46
+ Use chat history only when necessary to understand conversational references, and do not override the assigned task.
47
+
48
+ ### Anchor selection rule (strict, single source of truth)
49
+
50
+ When the request is referential (for example: "this", "it", "that", "those", "them", "of those", "the same one(s)"), choose exactly one anchor using this priority order:
51
+
52
+ 1. Explicit entity named in the current request (if present)
53
+ 2. \`lastNavigatedFeatures\` (if present)
54
+ 3. The immediately previous successful relevant step from \`priorSteps\`
55
+
56
+ After selecting the anchor, keep that anchor for this query and do not switch to an older entity.
57
+ If \`lastNavigatedFeatures\` is used as the anchor, reuse its \`layerId\` and \`where\` for query scope unless the current request explicitly overrides it.
58
+
59
+ ### Fresh WHERE clause rule
60
+
61
+ Start with a fresh WHERE clause for each new question. Do not inherit filters from previous questions UNLESS the assigned task explicitly references previous results (see "Referencing Previously Identified Features" below).
62
+
63
+ ### Rules for generating WHERE clause SQL expressions:
64
+
65
+ - Use only the field's **\`name\`** in the output expression.
66
+ - Use metadata (\`alias\`, \`description\`, \`statistics\`) only to help understand the user's meaning — not in the syntax.
67
+ - Use field \`type\` to choose appropriate operators:
68
+ - **String** → \`LIKE '%value%'\`, \`=\`, \`IN (...)\` (prefer \`LIKE\` over \`=\`)
69
+ - **Number/Date** → \`=\`, \`<\`, \`>\`, \`BETWEEN\`, etc.
70
+ - Use fields with the **highest \`relevanceScore\`**.
71
+ - DO NOT use subqueries or \`SELECT\` keyword.
72
+ - Combine conditions with \`AND\`, \`OR\`, or \`NOT\` as appropriate.
73
+ - **Coded-value domain fields** → Always use the numeric/string **code** in WHERE clauses, never the domain name. Domain values are listed under each field as \`code=name\` pairs
74
+ - **Range domain fields** → Use the listed min/max as valid bounds for comparisons.
75
+ - If no meaningful layer filter can be generated, do not call a tool.
76
+
77
+ ## Referencing Previously Identified Features
78
+
79
+ This is an exception to the "fresh WHERE clause" rule above.
80
+
81
+ - If the anchored context indicates \`useCurrentExtent: true\`, use \`useCurrentExtent: true\` with \`where: "1=1"\`.
82
+ - If the anchored context includes specific feature IDs/objectIds, scope to those IDs.
83
+ - Otherwise, use the anchored \`layerId\` + \`where\` combination.
84
+
85
+ ### Mixed Questions
86
+
87
+ If a question has both aggregate and display components (e.g., "How many wells have depth > 100? Show them"):
88
+
89
+ - Focus ONLY on the aggregate part ("how many") for this query
90
+ - The visualization part ("show them") is handled by a separate system
91
+
92
+ ## RULES
93
+
94
+ DO NOT generate sub queries or nested queries as they are not supported by ArcGIS.
95
+
96
+ When dealing with geometry and proximity and spatial queries:
97
+
98
+ 1. TARGET LAYER = What you want to FIND/RETURN in results
99
+ 2. GEOMETRY LAYER = The location to search FROM (with distance buffer)
100
+
101
+ For questions like "Is [specific item A] near/within [any of type B]":
102
+
103
+ - Target: Type B (what we're searching for)
104
+ - Geometry: Specific item A (where we're searching from)
105
+
106
+ Examples:
107
+
108
+ Q: "Is well P132_1873 within 300m from a protected area?"
109
+ Target: Protected Areas (what we want to find)
110
+ Geometry: Well (where="ID = 'P132_1873'" - single point)
111
+ Result: Returns which protected areas are nearby
112
+
113
+ Q: "Find roads within 500m of park X"
114
+ Target: Roads (what we want to find)
115
+ Geometry: Park X (specific location)
116
+ Result: Returns which roads are nearby
117
+
118
+ Key principle: The geometry layer should be the SIMPLER geometry (ideally a single feature or small set),
119
+ not a large collection that requires union operations.
120
+
121
+ ### NOTE:
122
+
123
+ If the assigned task includes no filter (where: 1=1) and the answer can be derived from precomputed fieldStatistics, do NOT call a tool. Instead, respond directly using the provided statistics.
124
+
125
+ If you cannot answer directly, you MUST call a tool.
126
+
127
+ ## SQL-92 Date/Time Syntax
128
+
129
+ User timezone: {userTimezone} ({userTimezoneOffset})
130
+
131
+ Database stores dates in UTC. Convert user's local time to UTC.
132
+
133
+ To convert: if offset is \`-08:00\`, add 8 hours. If \`-05:00\`, add 5 hours.
134
+
135
+ Format: \`TIMESTAMP 'YYYY-MM-DD HH:MM:SS'\`
136
+
137
+ ## Your Task
138
+
139
+ 1. Analyze the assigned task and the provided layer and field information.
140
+ 2. Select zero or one most appropriate tool to call based on the assigned task.
141
+ `;
142
+ export {
143
+ e as default
144
+ };
@@ -0,0 +1,25 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ const o = `(function(){"use strict";const h=(a,r)=>{if(a.length!==r.length)throw new Error("Vectors must be the same length");let c=0,t=0,e=0;for(let n=0;n<a.length;++n){const s=a[n],l=r[n];c+=s*l,t+=s*s,e+=l*l}const i=Math.sqrt(t*e);if(i===0)return 0;const m=c/i;return Math.max(-1,Math.min(1,m))},f=(a,r,c=.6)=>{const t=[],e=[...a];for(;t.length<r&&e.length>0;){let i=-1,m=-1/0;for(let n=0;n<e.length;n++){const s=e[n].score,l=t.length===0?0:Math.max(...t.map(o=>h(e[n].vector,o.vector))),d=c*s-(1-c)*l;d>m&&(m=d,i=n)}t.push(e[i]),e.splice(i,1)}return t.map(({name:i,score:m})=>({name:i,score:m}))};let p=[];const u=new Map,v=12,y=10,M=a=>{p=a.layers.map(r=>({id:r.id,vector:r.vector}))},E=a=>{u.clear();for(const r of a.layers){const c=r.fields.map(t=>({name:t.name,vector:t.vector}));u.set(r.id,c)}};globalThis.addEventListener("message",a=>{(async()=>{const{type:r,webmapEmbeddings:c,layerIdForFieldsSearch:t=[],requestId:e,precomputedEmbedding:i,minScore:m=0,topResults:n=v}=a.data;switch(r){case"generateEmbeddings":{c&&(M(c),E(c)),globalThis.postMessage("completed");break}case"layerSearch":{if(p.length>0)try{const s=p.map(o=>({id:o.id,vector:o.vector,score:h(i,o.vector)})),d=f(s.map(o=>({name:o.id,vector:o.vector,score:o.score})),y).map(({name:o,score:b})=>({id:o,score:b}));globalThis.postMessage({requestId:e,results:d})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Calculation error"})}else globalThis.postMessage({requestId:e,results:[],error:"Layer embeddings not initialized"});break}case"fieldSearch":{if(t.length>0)try{const s=t.map(l=>{const d=u.get(l);if(!d)return{layerId:l,results:[]};const o=d.map(g=>({name:g.name,vector:g.vector,score:h(i,g.vector)})).filter(({score:g})=>g>=m),b=f(o,n);return{layerId:l,results:b}});globalThis.postMessage({requestId:e,results:s})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Field search calculation error"})}break}default:console.warn("Unknown message type:",r)}})()})})();
3
+ `, s = typeof self < "u" && self.Blob && new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);", o], { type: "text/javascript;charset=utf-8" });
4
+ function a(r) {
5
+ let e;
6
+ try {
7
+ if (e = s && (self.URL || self.webkitURL).createObjectURL(s), !e) throw "";
8
+ const t = new Worker(e, {
9
+ name: r?.name
10
+ });
11
+ return t.addEventListener("error", () => {
12
+ (self.URL || self.webkitURL).revokeObjectURL(e);
13
+ }), t;
14
+ } catch {
15
+ return new Worker(
16
+ "data:text/javascript;charset=utf-8," + encodeURIComponent(o),
17
+ {
18
+ name: r?.name
19
+ }
20
+ );
21
+ }
22
+ }
23
+ export {
24
+ a as default
25
+ };