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

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 (615) hide show
  1. package/LICENSE.md +4 -2
  2. package/README.md +2 -2
  3. package/dist/agent-utils/LLMAgent.d.ts +9 -7
  4. package/dist/agent-utils/LLMAgent.js +92 -62
  5. package/dist/agent-utils/WorkflowAgent.js +14 -15
  6. package/dist/agent-utils/index.d.ts +78 -0
  7. package/dist/agent-utils/index.js +116 -97
  8. package/dist/agent-utils/middlewares/trace.d.ts +2 -0
  9. package/dist/agent-utils/middlewares/trace.js +5 -5
  10. package/dist/agent-utils/types.d.ts +28 -15
  11. package/dist/agentic-workflow/AgenticWorkflowRuntime.d.ts +24 -0
  12. package/dist/agentic-workflow/Edge.d.ts +16 -0
  13. package/dist/agentic-workflow/WebAgent.d.ts +39 -0
  14. package/dist/agentic-workflow/jsonTypes.d.ts +223 -0
  15. package/dist/agentic-workflow/nodes/AgentNode.d.ts +28 -0
  16. package/dist/agentic-workflow/nodes/BaseNode.d.ts +35 -0
  17. package/dist/agentic-workflow/nodes/EndMessageNode.d.ts +25 -0
  18. package/dist/agentic-workflow/nodes/HumanInTheLoopNode.d.ts +37 -0
  19. package/dist/agentic-workflow/nodes/StartNode.d.ts +21 -0
  20. package/dist/agentic-workflow/nodes/tools/ArcgisTool.d.ts +21 -0
  21. package/dist/agentic-workflow/types.d.ts +29 -0
  22. package/dist/agents/runtime/skill/createSkillAgent.d.ts +28 -0
  23. package/dist/agents/runtime/skill/createSkillAgent.js +270 -0
  24. package/dist/agents/runtime/skill/loadAgentSkills.d.ts +16 -0
  25. package/dist/agents/runtime/skill/types.d.ts +20 -0
  26. package/dist/{cdn/WNS5ZUF5.js → agents/runtime/skill/types.js} +1 -1
  27. package/dist/agents/tools/filter/clearFilters/adapter.d.ts +8 -0
  28. package/dist/agents/tools/filter/clearFilters/adapter.js +22 -0
  29. package/dist/agents/tools/filter/resetMap/adapter.d.ts +8 -0
  30. package/dist/agents/tools/filter/resetMap/adapter.js +22 -0
  31. package/dist/agents/tools/filter/setFeatureEffect/adapter.d.ts +8 -0
  32. package/dist/agents/tools/filter/setFeatureEffect/adapter.js +122 -0
  33. package/dist/agents/tools/help/listFields/adapter.d.ts +11 -0
  34. package/dist/agents/tools/help/listFields/adapter.js +30 -0
  35. package/dist/agents/tools/navigation/goToAddress/adapter.d.ts +10 -0
  36. package/dist/agents/tools/navigation/goToAddress/adapter.js +60 -0
  37. package/dist/agents/tools/navigation/goToBookmark/adapter.d.ts +8 -0
  38. package/dist/agents/tools/navigation/goToBookmark/adapter.js +30 -0
  39. package/dist/agents/tools/navigation/goToFeatures/adapter.d.ts +8 -0
  40. package/dist/agents/tools/navigation/goToFeatures/adapter.js +50 -0
  41. package/dist/agents/tools/navigation/goToFullExtent/adapter.d.ts +8 -0
  42. package/dist/agents/tools/navigation/goToFullExtent/adapter.js +27 -0
  43. package/dist/agents/tools/navigation/goToHomeExtent/adapter.d.ts +8 -0
  44. package/dist/agents/tools/navigation/goToHomeExtent/adapter.js +24 -0
  45. package/dist/agents/tools/navigation/goToLayer/adapter.d.ts +8 -0
  46. package/dist/agents/tools/navigation/goToLayer/adapter.js +26 -0
  47. package/dist/agents/tools/navigation/goToScale/adapter.d.ts +8 -0
  48. package/dist/agents/tools/navigation/goToScale/adapter.js +21 -0
  49. package/dist/agents/tools/navigation/goToViewpoint/adapter.d.ts +8 -0
  50. package/dist/agents/tools/navigation/goToViewpoint/adapter.js +42 -0
  51. package/dist/agents/tools/navigation/goToZoom/adapter.d.ts +8 -0
  52. package/dist/agents/tools/navigation/goToZoom/adapter.js +21 -0
  53. package/dist/agents/tools/query/getAttribute/adapter.d.ts +8 -0
  54. package/dist/agents/tools/query/getAttribute/adapter.js +40 -0
  55. package/dist/agents/tools/query/getStatistics/adapter.d.ts +8 -0
  56. package/dist/agents/tools/query/getStatistics/adapter.js +158 -0
  57. package/dist/agents/tools/query/getTopFeatures/adapter.d.ts +8 -0
  58. package/dist/agents/tools/query/getTopFeatures/adapter.js +145 -0
  59. package/dist/agents/tools/query/queryFeatures/adapter.d.ts +8 -0
  60. package/dist/agents/tools/query/queryFeatures/adapter.js +131 -0
  61. package/dist/agents/tools/search/findRelevantFields/adapter.d.ts +8 -0
  62. package/dist/agents/tools/search/findRelevantFields/adapter.js +57 -0
  63. package/dist/agents/tools/search/findRelevantLayers/adapter.d.ts +8 -0
  64. package/dist/agents/tools/search/findRelevantLayers/adapter.js +38 -0
  65. package/dist/agents/tools/shared/resolveToolArtifact.d.ts +22 -0
  66. package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
  67. package/dist/agents/tools/shared/types.d.ts +22 -0
  68. package/dist/agents/tools/shared/types.js +6 -0
  69. package/dist/cdn/2BNQ6A6J.js +2 -0
  70. package/dist/cdn/2DYOTV7W.js +4 -0
  71. package/dist/cdn/2WT4JANT.js +2 -0
  72. package/dist/cdn/34O57OGV.js +2 -0
  73. package/dist/cdn/3F5EZZSG.js +46 -0
  74. package/dist/cdn/4PKMJMND.js +2 -0
  75. package/dist/cdn/4V3Q7XGS.js +2 -0
  76. package/dist/cdn/5GALSAQF.js +3 -0
  77. package/dist/cdn/5Q2XRQS6.js +2 -0
  78. package/dist/cdn/6OUIUXAJ.js +2 -0
  79. package/dist/cdn/6XZYQ74A.js +6 -0
  80. package/dist/cdn/72KYGCIU.js +2 -0
  81. package/dist/cdn/73TMZQI5.js +2 -0
  82. package/dist/cdn/74CVYM72.js +19 -0
  83. package/dist/cdn/75OPJOCY.js +2 -0
  84. package/dist/cdn/7D6POJJA.js +2 -0
  85. package/dist/cdn/7HVK7G55.js +9 -0
  86. package/dist/cdn/7L6LPWRH.js +2 -0
  87. package/dist/cdn/7TAIUEMW.js +2 -0
  88. package/dist/cdn/{ZS2TZ6BF.js → AOVJ34QE.js} +1 -1
  89. package/dist/cdn/{Q7TL5Q5N.js → APFZY4PI.js} +1 -1
  90. package/dist/cdn/AVRS6UCQ.js +2 -0
  91. package/dist/cdn/AXTQU5YL.js +56 -0
  92. package/dist/cdn/BFZ5S7NF.js +2 -0
  93. package/dist/cdn/BN7CIVBD.js +2 -0
  94. package/dist/cdn/CA3RNGPN.js +2 -0
  95. package/dist/cdn/CCC6LBMY.js +2 -0
  96. package/dist/cdn/{5ZZGKP7N.js → CEKOEHB3.js} +1 -1
  97. package/dist/cdn/CFAC4FN3.js +2 -0
  98. package/dist/cdn/CLTV27HJ.js +2 -0
  99. package/dist/cdn/D3E5NSY3.js +2 -0
  100. package/dist/cdn/DB2TFPIO.js +2 -0
  101. package/dist/cdn/DKA6PSYN.js +2 -0
  102. package/dist/cdn/EJ7QJLUE.js +2 -0
  103. package/dist/cdn/ES54NWOB.js +11 -0
  104. package/dist/cdn/ESPC6NTI.js +68 -0
  105. package/dist/cdn/EWO73MJA.js +14 -0
  106. package/dist/cdn/FCI6M62J.js +2 -0
  107. package/dist/cdn/FDOMMK2M.js +2 -0
  108. package/dist/cdn/FGQLS3UX.js +2 -0
  109. package/dist/cdn/FOZAOJCM.js +2 -0
  110. package/dist/cdn/FYIZOGHC.js +2 -0
  111. package/dist/cdn/{T537PKP4.js → FYZATVB3.js} +1 -1
  112. package/dist/cdn/FZTNWDOU.js +2 -0
  113. package/dist/cdn/{WAIFKDR3.js → GZDI2LAT.js} +1 -1
  114. package/dist/cdn/H4ERKWFA.js +2 -0
  115. package/dist/cdn/{5CV7R5IS.js → H5AVPDSE.js} +5 -5
  116. package/dist/cdn/HDAMDEYL.js +72 -0
  117. package/dist/cdn/HFHRMM6Q.js +2 -0
  118. package/dist/cdn/HIAQARIQ.js +2 -0
  119. package/dist/cdn/HR6GWPKX.js +2 -0
  120. package/dist/cdn/HSILCMAR.js +2 -0
  121. package/dist/cdn/{FX7UOGHP.js → ICBIUFK7.js} +1 -1
  122. package/dist/cdn/IHP25JWI.js +99 -0
  123. package/dist/cdn/IMRIVNHX.js +2 -0
  124. package/dist/cdn/ITCZC2VY.js +2 -0
  125. package/dist/cdn/IYLFJCJ2.js +181 -0
  126. package/dist/cdn/J6A4AS7E.js +22 -0
  127. package/dist/cdn/{UPEEHMSY.js → JE55XX2C.js} +1 -1
  128. package/dist/cdn/{NE7E52YR.js → JEBRN3EU.js} +9 -3
  129. package/dist/cdn/JNOH4PD5.js +2 -0
  130. package/dist/cdn/JTEY4E7E.js +2 -0
  131. package/dist/cdn/K36XPG2M.js +2 -0
  132. package/dist/cdn/K5JVB6FU.js +2 -0
  133. package/dist/cdn/K7XWGSLN.js +2 -0
  134. package/dist/cdn/K7YQIJFT.js +2 -0
  135. package/dist/cdn/KA3S22NQ.js +2 -0
  136. package/dist/cdn/KDE5MMMR.js +2 -0
  137. package/dist/cdn/KH4V4I3W.js +2 -0
  138. package/dist/cdn/KMLJS2VW.js +2 -0
  139. package/dist/cdn/KONQTXBJ.js +2 -0
  140. package/dist/cdn/LDIUJUI7.js +2 -0
  141. package/dist/cdn/{7RCQFLPP.js → LK7ZIQW6.js} +1 -1
  142. package/dist/cdn/LOQ2PKV5.js +208 -0
  143. package/dist/cdn/LXPGQNXQ.js +5 -0
  144. package/dist/cdn/{5W7S2RS4.js → MCZJD3A4.js} +1 -1
  145. package/dist/cdn/MJSIYEWN.js +2 -0
  146. package/dist/cdn/MNZAQM3Q.js +3 -0
  147. package/dist/cdn/{ZEYIBYSF.js → MWYBF3F3.js} +1 -1
  148. package/dist/cdn/NEV6OZN3.js +71 -0
  149. package/dist/cdn/NHZRDYLP.js +2 -0
  150. package/dist/cdn/NYFV4A6L.js +3 -0
  151. package/dist/cdn/OGYNTGNM.js +2 -0
  152. package/dist/cdn/{23EQTPO3.js → OKVLGJAG.js} +1 -1
  153. package/dist/cdn/ONQ6JSBJ.js +2 -0
  154. package/dist/cdn/{6ZW7Z36F.js → OT5ECP4V.js} +5 -3
  155. package/dist/cdn/OZAZ277H.js +2 -0
  156. package/dist/cdn/P4XZMBU5.js +2 -0
  157. package/dist/cdn/PGIXKPTW.js +2 -0
  158. package/dist/cdn/{LQ6R5YRN.js → PQ2DPOFM.js} +1 -1
  159. package/dist/cdn/PTEKX5TX.js +2 -0
  160. package/dist/cdn/PUHPFUCU.js +2 -0
  161. package/dist/cdn/QDOKDRBB.js +2 -0
  162. package/dist/cdn/{DXVU45KM.js → QRMRID2M.js} +1 -1
  163. package/dist/cdn/QUZTFUWM.js +1 -0
  164. package/dist/cdn/QZL4SAYR.js +6 -0
  165. package/dist/cdn/RGOCE3QN.js +2 -0
  166. package/dist/cdn/RHYNE5OE.js +2 -0
  167. package/dist/cdn/{X2ZDYHCG.js → SDWWUWAF.js} +10 -5
  168. package/dist/cdn/SLD4ZVT6.js +2 -0
  169. package/dist/cdn/STHBRTTD.js +2 -0
  170. package/dist/cdn/TGZBLBEJ.js +2 -0
  171. package/dist/cdn/TPULIO6I.js +34 -0
  172. package/dist/cdn/TVEEQSMF.js +2 -0
  173. package/dist/cdn/UBKYXKMW.js +2 -0
  174. package/dist/cdn/UCTC4JN4.js +3 -0
  175. package/dist/cdn/{6YMR4QSD.js → UHEYPSOR.js} +1 -1
  176. package/dist/cdn/UO5PBOQR.js +2 -0
  177. package/dist/cdn/UT6JA4TK.js +14 -0
  178. package/dist/cdn/UXECAKJ7.js +2 -0
  179. package/dist/cdn/UZLQALHY.js +2 -0
  180. package/dist/cdn/{P7DG5T3Z.js → V7Y22FRP.js} +1 -1
  181. package/dist/cdn/VAXH6RUQ.js +134 -0
  182. package/dist/cdn/VF4BIBQT.js +2 -0
  183. package/dist/cdn/VR3CF3ZY.js +2 -0
  184. package/dist/cdn/VWP2B4LB.js +2 -0
  185. package/dist/cdn/VXFQANGJ.js +2 -0
  186. package/dist/cdn/WKZHFSH3.js +2 -0
  187. package/dist/cdn/WVP73XWD.js +2 -0
  188. package/dist/cdn/{24QNMEFG.js → WXOKGQ4D.js} +1 -1
  189. package/dist/cdn/WXQ26G5Q.js +2 -0
  190. package/dist/cdn/XQ3NBBQ3.js +2 -0
  191. package/dist/cdn/{AZGGTNA3.js → Y364LLPN.js} +1 -1
  192. package/dist/cdn/YBSY32EU.js +2 -0
  193. package/dist/cdn/{7CYGX4F4.js → YHWYTHID.js} +1 -1
  194. package/dist/cdn/YIZ7PR2G.js +2 -0
  195. package/dist/cdn/Z5XQLSYH.js +2 -0
  196. package/dist/cdn/ZA2WIUWH.js +2 -0
  197. package/dist/cdn/ZCFYGCCV.js +2 -0
  198. package/dist/cdn/ZLLVPKDN.js +177 -0
  199. package/dist/cdn/{ZTBA5PM7.js → ZU2FHVNK.js} +1 -1
  200. package/dist/cdn/agent-utils/index.js +1 -1
  201. package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -2
  202. package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
  203. package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
  204. package/dist/cdn/assets/agents/t9n/messages.ar.json +1 -0
  205. package/dist/cdn/assets/agents/t9n/messages.bg.json +1 -0
  206. package/dist/cdn/assets/agents/t9n/messages.ca.json +1 -0
  207. package/dist/cdn/assets/agents/t9n/messages.cs.json +1 -0
  208. package/dist/cdn/assets/agents/t9n/messages.da.json +1 -0
  209. package/dist/cdn/assets/agents/t9n/messages.de.json +1 -0
  210. package/dist/cdn/assets/agents/t9n/messages.el.json +1 -0
  211. package/dist/cdn/assets/agents/t9n/messages.en.json +1 -0
  212. package/dist/cdn/assets/agents/t9n/messages.es.json +1 -0
  213. package/dist/cdn/assets/agents/t9n/messages.et.json +1 -0
  214. package/dist/cdn/assets/agents/t9n/messages.fi.json +1 -0
  215. package/dist/cdn/assets/agents/t9n/messages.fr.json +1 -0
  216. package/dist/cdn/assets/agents/t9n/messages.he.json +1 -0
  217. package/dist/cdn/assets/agents/t9n/messages.hr.json +1 -0
  218. package/dist/cdn/assets/agents/t9n/messages.hu.json +1 -0
  219. package/dist/cdn/assets/agents/t9n/messages.id.json +1 -0
  220. package/dist/cdn/assets/agents/t9n/messages.it.json +1 -0
  221. package/dist/cdn/assets/agents/t9n/messages.ja.json +1 -0
  222. package/dist/cdn/assets/agents/t9n/messages.ko.json +1 -0
  223. package/dist/cdn/assets/agents/t9n/messages.lt.json +1 -0
  224. package/dist/cdn/assets/agents/t9n/messages.lv.json +1 -0
  225. package/dist/cdn/assets/agents/t9n/messages.nl.json +1 -0
  226. package/dist/cdn/assets/agents/t9n/messages.no.json +1 -0
  227. package/dist/cdn/assets/agents/t9n/messages.pl.json +1 -0
  228. package/dist/cdn/assets/agents/t9n/messages.pt-BR.json +1 -0
  229. package/dist/cdn/assets/agents/t9n/messages.pt-PT.json +1 -0
  230. package/dist/cdn/assets/agents/t9n/messages.ro.json +1 -0
  231. package/dist/cdn/assets/agents/t9n/messages.ru.json +1 -0
  232. package/dist/cdn/assets/agents/t9n/messages.sk.json +1 -0
  233. package/dist/cdn/assets/agents/t9n/messages.sl.json +1 -0
  234. package/dist/cdn/assets/agents/t9n/messages.sr.json +1 -0
  235. package/dist/cdn/assets/agents/t9n/messages.sv.json +1 -0
  236. package/dist/cdn/assets/agents/t9n/messages.th.json +1 -0
  237. package/dist/cdn/assets/agents/t9n/messages.tr.json +1 -0
  238. package/dist/cdn/assets/agents/t9n/messages.uk.json +1 -0
  239. package/dist/cdn/assets/agents/t9n/messages.vi.json +1 -0
  240. package/dist/cdn/assets/agents/t9n/messages.zh-CN.json +1 -0
  241. package/dist/cdn/assets/agents/t9n/messages.zh-TW.json +1 -0
  242. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  243. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  244. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  245. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  246. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  247. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  248. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  249. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  250. package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -1
  251. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  252. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  253. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  254. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  255. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  256. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  257. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  258. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  259. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  260. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  261. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  262. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  263. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  264. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  265. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  266. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  267. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  268. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  269. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  270. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  271. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  272. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  273. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  274. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  275. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  276. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  277. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  278. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  279. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  280. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  281. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  282. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ar.json +1 -1
  283. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -1
  284. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -1
  285. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -1
  286. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -1
  287. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -1
  288. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -1
  289. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -1
  290. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -1
  291. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -1
  292. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -1
  293. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -1
  294. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -1
  295. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -1
  296. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -1
  297. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -1
  298. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -1
  299. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -1
  300. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -1
  301. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -1
  302. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -1
  303. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -1
  304. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -1
  305. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -1
  306. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -1
  307. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -1
  308. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -1
  309. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -1
  310. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -1
  311. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -1
  312. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -1
  313. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -1
  314. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -1
  315. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -1
  316. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -1
  317. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -1
  318. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -1
  319. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -1
  320. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -1
  321. package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -1
  322. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -1
  323. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -1
  324. package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -1
  325. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -1
  326. package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -1
  327. package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -1
  328. package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -1
  329. package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -1
  330. package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -1
  331. package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -1
  332. package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -1
  333. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -1
  334. package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -1
  335. package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -1
  336. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -1
  337. package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -1
  338. package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -1
  339. package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -1
  340. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -1
  341. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -1
  342. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -1
  343. package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -1
  344. package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -1
  345. package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -1
  346. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -1
  347. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -1
  348. package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -1
  349. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -1
  350. package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -1
  351. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -1
  352. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -1
  353. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -1
  354. package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -1
  355. package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -1
  356. package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -1
  357. package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -1
  358. package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -1
  359. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -1
  360. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -1
  361. package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -1
  362. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ar.json +1 -0
  363. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bg.json +1 -0
  364. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bs.json +1 -0
  365. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ca.json +1 -0
  366. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.cs.json +1 -0
  367. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.da.json +1 -0
  368. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.de.json +1 -0
  369. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.el.json +1 -0
  370. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.en.json +1 -0
  371. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.es.json +1 -0
  372. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.et.json +1 -0
  373. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fi.json +1 -0
  374. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fr.json +1 -0
  375. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.he.json +1 -0
  376. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hr.json +1 -0
  377. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hu.json +1 -0
  378. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.id.json +1 -0
  379. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.it.json +1 -0
  380. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ja.json +1 -0
  381. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ko.json +1 -0
  382. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lt.json +1 -0
  383. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lv.json +1 -0
  384. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.nl.json +1 -0
  385. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.no.json +1 -0
  386. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pl.json +1 -0
  387. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-BR.json +1 -0
  388. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-PT.json +1 -0
  389. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ro.json +1 -0
  390. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ru.json +1 -0
  391. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sk.json +1 -0
  392. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sl.json +1 -0
  393. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sr.json +1 -0
  394. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sv.json +1 -0
  395. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.th.json +1 -0
  396. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.tr.json +1 -0
  397. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.uk.json +1 -0
  398. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.vi.json +1 -0
  399. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-CN.json +1 -0
  400. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-HK.json +1 -0
  401. package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-TW.json +1 -0
  402. package/dist/cdn/assets/assistant-message/t9n/messages.ar.json +1 -0
  403. package/dist/cdn/assets/assistant-message/t9n/messages.bg.json +1 -0
  404. package/dist/cdn/assets/assistant-message/t9n/messages.bs.json +1 -0
  405. package/dist/cdn/assets/assistant-message/t9n/messages.ca.json +1 -0
  406. package/dist/cdn/assets/assistant-message/t9n/messages.cs.json +1 -0
  407. package/dist/cdn/assets/assistant-message/t9n/messages.da.json +1 -0
  408. package/dist/cdn/assets/assistant-message/t9n/messages.de.json +1 -0
  409. package/dist/cdn/assets/assistant-message/t9n/messages.el.json +1 -0
  410. package/dist/cdn/assets/assistant-message/t9n/messages.en.json +1 -0
  411. package/dist/cdn/assets/assistant-message/t9n/messages.es.json +1 -0
  412. package/dist/cdn/assets/assistant-message/t9n/messages.et.json +1 -0
  413. package/dist/cdn/assets/assistant-message/t9n/messages.fi.json +1 -0
  414. package/dist/cdn/assets/assistant-message/t9n/messages.fr.json +1 -0
  415. package/dist/cdn/assets/assistant-message/t9n/messages.he.json +1 -0
  416. package/dist/cdn/assets/assistant-message/t9n/messages.hr.json +1 -0
  417. package/dist/cdn/assets/assistant-message/t9n/messages.hu.json +1 -0
  418. package/dist/cdn/assets/assistant-message/t9n/messages.id.json +1 -0
  419. package/dist/cdn/assets/assistant-message/t9n/messages.it.json +1 -0
  420. package/dist/cdn/assets/assistant-message/t9n/messages.ja.json +1 -0
  421. package/dist/cdn/assets/assistant-message/t9n/messages.ko.json +1 -0
  422. package/dist/cdn/assets/assistant-message/t9n/messages.lt.json +1 -0
  423. package/dist/cdn/assets/assistant-message/t9n/messages.lv.json +1 -0
  424. package/dist/cdn/assets/assistant-message/t9n/messages.nl.json +1 -0
  425. package/dist/cdn/assets/assistant-message/t9n/messages.no.json +1 -0
  426. package/dist/cdn/assets/assistant-message/t9n/messages.pl.json +1 -0
  427. package/dist/cdn/assets/assistant-message/t9n/messages.pt-BR.json +1 -0
  428. package/dist/cdn/assets/assistant-message/t9n/messages.pt-PT.json +1 -0
  429. package/dist/cdn/assets/assistant-message/t9n/messages.ro.json +1 -0
  430. package/dist/cdn/assets/assistant-message/t9n/messages.ru.json +1 -0
  431. package/dist/cdn/assets/assistant-message/t9n/messages.sk.json +1 -0
  432. package/dist/cdn/assets/assistant-message/t9n/messages.sl.json +1 -0
  433. package/dist/cdn/assets/assistant-message/t9n/messages.sr.json +1 -0
  434. package/dist/cdn/assets/assistant-message/t9n/messages.sv.json +1 -0
  435. package/dist/cdn/assets/assistant-message/t9n/messages.th.json +1 -0
  436. package/dist/cdn/assets/assistant-message/t9n/messages.tr.json +1 -0
  437. package/dist/cdn/assets/assistant-message/t9n/messages.uk.json +1 -0
  438. package/dist/cdn/assets/assistant-message/t9n/messages.vi.json +1 -0
  439. package/dist/cdn/assets/assistant-message/t9n/messages.zh-CN.json +1 -0
  440. package/dist/cdn/assets/assistant-message/t9n/messages.zh-HK.json +1 -0
  441. package/dist/cdn/assets/assistant-message/t9n/messages.zh-TW.json +1 -0
  442. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ar.json +1 -0
  443. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bg.json +1 -0
  444. package/dist/cdn/assets/assistant-message-loading/t9n/messages.bs.json +1 -0
  445. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ca.json +1 -0
  446. package/dist/cdn/assets/assistant-message-loading/t9n/messages.cs.json +1 -0
  447. package/dist/cdn/assets/assistant-message-loading/t9n/messages.da.json +1 -0
  448. package/dist/cdn/assets/assistant-message-loading/t9n/messages.de.json +1 -0
  449. package/dist/cdn/assets/assistant-message-loading/t9n/messages.el.json +1 -0
  450. package/dist/cdn/assets/assistant-message-loading/t9n/messages.en.json +1 -0
  451. package/dist/cdn/assets/assistant-message-loading/t9n/messages.es.json +1 -0
  452. package/dist/cdn/assets/assistant-message-loading/t9n/messages.et.json +1 -0
  453. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fi.json +1 -0
  454. package/dist/cdn/assets/assistant-message-loading/t9n/messages.fr.json +1 -0
  455. package/dist/cdn/assets/assistant-message-loading/t9n/messages.he.json +1 -0
  456. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hr.json +1 -0
  457. package/dist/cdn/assets/assistant-message-loading/t9n/messages.hu.json +1 -0
  458. package/dist/cdn/assets/assistant-message-loading/t9n/messages.id.json +1 -0
  459. package/dist/cdn/assets/assistant-message-loading/t9n/messages.it.json +1 -0
  460. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ja.json +1 -0
  461. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ko.json +1 -0
  462. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lt.json +1 -0
  463. package/dist/cdn/assets/assistant-message-loading/t9n/messages.lv.json +1 -0
  464. package/dist/cdn/assets/assistant-message-loading/t9n/messages.nl.json +1 -0
  465. package/dist/cdn/assets/assistant-message-loading/t9n/messages.no.json +1 -0
  466. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pl.json +1 -0
  467. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-BR.json +1 -0
  468. package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-PT.json +1 -0
  469. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ro.json +1 -0
  470. package/dist/cdn/assets/assistant-message-loading/t9n/messages.ru.json +1 -0
  471. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sk.json +1 -0
  472. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sl.json +1 -0
  473. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sr.json +1 -0
  474. package/dist/cdn/assets/assistant-message-loading/t9n/messages.sv.json +1 -0
  475. package/dist/cdn/assets/assistant-message-loading/t9n/messages.th.json +1 -0
  476. package/dist/cdn/assets/assistant-message-loading/t9n/messages.tr.json +1 -0
  477. package/dist/cdn/assets/assistant-message-loading/t9n/messages.uk.json +1 -0
  478. package/dist/cdn/assets/assistant-message-loading/t9n/messages.vi.json +1 -0
  479. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-CN.json +1 -0
  480. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-HK.json +1 -0
  481. package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-TW.json +1 -0
  482. package/dist/cdn/assets/orchestrator/t9n/messages.en.json +1 -0
  483. package/dist/cdn/index.js +1 -1
  484. package/dist/chunks/SKILL.js +5 -0
  485. package/dist/chunks/SKILL2.js +5 -0
  486. package/dist/chunks/SKILL3.js +22 -0
  487. package/dist/chunks/SKILL4.js +5 -0
  488. package/dist/chunks/adapter.js +1128 -2010
  489. package/dist/chunks/aiFactory.js +118 -0
  490. package/dist/chunks/arcgisKnowledgeGraph.js +98 -76
  491. package/dist/chunks/arcgisToolRegistry.js +88 -0
  492. package/dist/chunks/arcgis_knowledge_current_lc_context.js +19 -2
  493. package/dist/chunks/arcgis_knowledge_current_map_context.js +31 -2
  494. package/dist/chunks/arcgis_knowledge_cypher_query_prompt.js +102 -0
  495. package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +116 -27
  496. package/dist/chunks/baseAgentState.js +59 -0
  497. package/dist/chunks/converterUtils.js +66 -41
  498. package/dist/chunks/dataExplorationAgent.js +17 -0
  499. package/dist/chunks/data_explore_query_prompt.js +9 -4
  500. package/dist/chunks/fetchAgentContext.js +13 -0
  501. package/dist/chunks/fetchService.js +10 -0
  502. package/dist/chunks/fieldStatistics.js +79 -0
  503. package/dist/chunks/formatFeatureAttributes.js +132 -0
  504. package/dist/chunks/generateLayerDescriptions.js +195 -315
  505. package/dist/chunks/helpAgent.js +32 -0
  506. package/dist/chunks/help_prompt.js +34 -17
  507. package/dist/chunks/intent_prompt.js +4 -2
  508. package/dist/chunks/layerStylingGraph.js +103 -83
  509. package/dist/chunks/mergeWhereClauses.js +15 -0
  510. package/dist/chunks/navigationAgent.js +25 -0
  511. package/dist/chunks/navigation_intent_prompt.js +8 -2
  512. package/dist/chunks/orchestrator.js +438 -193
  513. package/dist/chunks/requireAgentServices.js +11 -0
  514. package/dist/chunks/resolveGeometryFilter.js +149 -0
  515. package/dist/chunks/state.js +33 -28
  516. package/dist/chunks/utils2.js +11 -11
  517. package/dist/components/arcgis-assistant/customElement.d.ts +131 -4
  518. package/dist/components/arcgis-assistant/customElement.js +399 -212
  519. package/dist/components/arcgis-assistant/types.d.ts +108 -0
  520. package/dist/components/arcgis-assistant-agent/customElement.d.ts +13 -1
  521. package/dist/components/arcgis-assistant-agent/customElement.js +675 -10
  522. package/dist/components/arcgis-assistant-chat/customElement.js +22 -17
  523. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -4
  524. package/dist/components/arcgis-assistant-chat-entry/customElement.js +344 -45
  525. package/dist/components/arcgis-assistant-chat-entry/index.js +3 -0
  526. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +35 -8
  527. package/dist/components/arcgis-assistant-help-agent/customElement.js +32 -8
  528. package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +8 -2
  529. package/dist/components/arcgis-assistant-interrupt/customElement.js +48 -15
  530. package/dist/components/arcgis-assistant-interrupt/index.js +1 -1
  531. package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +12 -8
  532. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +1 -1
  533. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +41 -16
  534. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +31 -7
  535. package/dist/components/arcgis-assistant-message/customElement.d.ts +3 -0
  536. package/dist/components/arcgis-assistant-message/customElement.js +9 -8
  537. package/dist/components/arcgis-assistant-message-block/customElement.js +1 -1
  538. package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +3 -0
  539. package/dist/components/arcgis-assistant-message-loading/customElement.js +11 -10
  540. package/dist/components/arcgis-assistant-message-log/customElement.js +4 -4
  541. package/dist/components/arcgis-assistant-message-text/customElement.d.ts +1 -0
  542. package/dist/components/arcgis-assistant-message-text/customElement.js +12 -12
  543. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +34 -9
  544. package/dist/components/arcgis-assistant-speech-input/customElement.js +34 -52
  545. package/dist/components/arcgis-assistant-user-message/customElement.d.ts +2 -0
  546. package/dist/components/arcgis-assistant-user-message/customElement.js +15 -10
  547. package/dist/docs/api.json +1 -1
  548. package/dist/docs/docs.json +1 -1
  549. package/dist/docs/vscode.html-custom-data.json +1 -1
  550. package/dist/docs/web-types.json +1 -1
  551. package/dist/loader.js +9 -9
  552. package/dist/oauth-callback.html +1 -1
  553. package/dist/orchestrator/models/types.d.ts +1 -0
  554. package/dist/orchestrator/orchestrator/orchestratorEvents.d.ts +78 -0
  555. package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +15 -0
  556. package/dist/orchestrator/types/types.d.ts +17 -0
  557. package/dist/types/lumina.d.ts +6 -5
  558. package/dist/types/preact.d.ts +6 -5
  559. package/dist/types/react.d.ts +6 -5
  560. package/dist/types/stencil.d.ts +8 -7
  561. package/dist/utils/index.d.ts +95 -39
  562. package/dist/utils/index.js +709 -83
  563. package/package.json +35 -12
  564. package/dist/cdn/34SG44C3.js +0 -72
  565. package/dist/cdn/3JGWGKT6.js +0 -2
  566. package/dist/cdn/3NBDVZ2I.js +0 -2
  567. package/dist/cdn/3VOQD2MR.js +0 -2
  568. package/dist/cdn/53NTYC4I.js +0 -2
  569. package/dist/cdn/5QAHYX7Y.js +0 -5
  570. package/dist/cdn/AXDZBBNL.js +0 -45
  571. package/dist/cdn/B7WJFBOZ.js +0 -2
  572. package/dist/cdn/BX7FSMUU.js +0 -56
  573. package/dist/cdn/CHPQM77M.js +0 -181
  574. package/dist/cdn/DHKUXLU3.js +0 -179
  575. package/dist/cdn/DQSEBKOX.js +0 -2
  576. package/dist/cdn/DZ2QWNUA.js +0 -3
  577. package/dist/cdn/EBISDZ5H.js +0 -2
  578. package/dist/cdn/ERL2CB2Y.js +0 -14
  579. package/dist/cdn/F2AHA4GB.js +0 -54
  580. package/dist/cdn/F6QHMKF5.js +0 -2
  581. package/dist/cdn/FUIGPHBH.js +0 -2
  582. package/dist/cdn/H2CHHGGH.js +0 -2
  583. package/dist/cdn/HWKDNS4K.js +0 -4
  584. package/dist/cdn/IMQ4TVHF.js +0 -16
  585. package/dist/cdn/IOD3GDA7.js +0 -2
  586. package/dist/cdn/IR7PTESF.js +0 -2
  587. package/dist/cdn/IRZDTYO2.js +0 -2
  588. package/dist/cdn/JIWK6QK6.js +0 -2
  589. package/dist/cdn/JLKGS6Y5.js +0 -36
  590. package/dist/cdn/K3JCH4XW.js +0 -2
  591. package/dist/cdn/KHXUWZHB.js +0 -2
  592. package/dist/cdn/KMQ3SP4I.js +0 -5
  593. package/dist/cdn/LIFK3QSD.js +0 -2
  594. package/dist/cdn/NXKKG5TK.js +0 -2
  595. package/dist/cdn/O3EN27N5.js +0 -2
  596. package/dist/cdn/O3RFFPU3.js +0 -6
  597. package/dist/cdn/PBO6FZN6.js +0 -2
  598. package/dist/cdn/Q3ZW4FYA.js +0 -3
  599. package/dist/cdn/Q6LRANX6.js +0 -2
  600. package/dist/cdn/QCSN44H4.js +0 -2
  601. package/dist/cdn/R56X6ZKR.js +0 -161
  602. package/dist/cdn/RUURNLTP.js +0 -2
  603. package/dist/cdn/T43LEBBE.js +0 -47
  604. package/dist/cdn/TR4GFL7X.js +0 -2
  605. package/dist/cdn/X4XY5HIE.js +0 -2
  606. package/dist/cdn/XOH56EQ2.js +0 -2
  607. package/dist/cdn/XON27U6U.js +0 -2
  608. package/dist/cdn/YIMNOUTF.js +0 -2
  609. package/dist/cdn/YLN2BZ5J.js +0 -2
  610. package/dist/cdn/YUKR4AZW.js +0 -2
  611. package/dist/cdn/Z2G7MP5L.js +0 -22
  612. package/dist/chunks/dataExplorationGraph.js +0 -310
  613. package/dist/chunks/helpGraph.js +0 -126
  614. package/dist/chunks/navigationGraph.js +0 -270
  615. package/dist/chunks/toolCallResponse.js +0 -31
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ export default $arcgis.t(([{formatDateOnly:h,convertDateFormatToIntlOptions:m,formatTimeOnly:N,formatDate:c}])=>{var T=new Set(["date","esrifieldtypedate","date-only","dateonly","esrifieldtypedateonly","time-only","timeonly","esrifieldtypetimeonly","timestamp-offset","timestampoffset","esrifieldtypetimestampoffset"]),y=e=>{if(!e)return!1;let t=e.toLowerCase();return T.has(t)},f=e=>{if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e=="number"&&Number.isFinite(e)){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}return null},S=e=>!e||e==="system"?Intl.DateTimeFormat().resolvedOptions().timeZone:e==="unknown"?"UTC":e,w=e=>{if(typeof e=="string"&&e)return e;let t=f(e);return t?t.toISOString().slice(0,10):null},j=()=>{let e=new Date().getTimezoneOffset(),t=e<=0?"+":"-",n=Math.floor(Math.abs(e)/60).toString().padStart(2,"0"),r=(Math.abs(e)%60).toString().padStart(2,"0"),i=`${t}${n}:${r}`;return{userTimezone:Intl.DateTimeFormat().resolvedOptions().timeZone,userTimezoneOffset:i}},I=(e,t,n)=>{let r=t?.toLowerCase();if(r&&!y(r))return e;if(r==="date-only"){let o=w(e);return o?h(o,m("short-date")):e}if(r==="time-only"){if(typeof e=="string"&&e)return N(e,m("long-time"));let o=f(e);return o?c(o,{...m("long-time"),timeZone:"UTC"}):e}let i=f(e);return i?c(i,{...m("short-date-short-time"),timeZone:S(n)}):e},g=(e,t,n)=>{if(e&&typeof e!="function"){let r="getField"in n&&n.getField?.(e),i=r&&"getFieldDomain"in n&&n.getFieldDomain?n.getFieldDomain(r.name):null;if(i?.type==="coded-value"){let o=i.codedValues.find(s=>s.code===t);return o?o.name:null}}return null},O=e=>!e||e==="system"?Intl.DateTimeFormat().resolvedOptions().timeZone:e==="unknown"?"UTC":e,v=e=>{if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e=="number"&&Number.isFinite(e)){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}if(typeof e=="string"&&e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t}return null},x=(e,t)=>{if(typeof e!="number")return e;let n={};t.minimumFractionDigits!==void 0&&(n.minimumFractionDigits=t.minimumFractionDigits),t.maximumFractionDigits!==void 0&&(n.maximumFractionDigits=t.maximumFractionDigits),t.useGrouping==="always"?n.useGrouping=!0:t.useGrouping==="never"&&(n.useGrouping=!1);try{return new Intl.NumberFormat(void 0,n).format(e)}catch{return e}},C=(e,t,n)=>{let r=v(e);if(!r)return e;let i={};t.dateStyle?i.dateStyle=t.dateStyle:(t.year&&(i.year=t.year),t.month&&(i.month=t.month)),t.timeStyle&&(i.timeStyle=t.timeStyle),t.timeStyle&&t.hour12==="always"?i.hour12=!0:t.timeStyle&&t.hour12==="never"&&(i.hour12=!1),i.timeZone=O(n);try{return new Intl.DateTimeFormat(void 0,i).format(r)}catch{return e}},p=(e,t)=>e.getFieldAlias?.(t)??e.fieldsIndex?.get(t)?.alias??e.fieldsIndex?.get(t)?.name??t,F=(e,t,n,r,i)=>{if(n==null)return n;let o=e.getFieldConfiguration?.(t)?.fieldFormat;return o?.type==="number"?x(n,o):o?.type==="date-time"?!r||y(r)?C(n,o,i):n:I(n,r,i)},G=(e,t,n,r)=>{let i=e.fieldsIndex?.get(t),o=g(t,n,e)??n;return F(e,t,o,i?.type,r)},$=(e,t)=>p(e,t),k=(e,t,n)=>{let r=e.objectIdField,i=t.features.map(s=>s.attributes[r]),o=t.features.map(s=>{let d=s.attributes,u={};return e.fields.forEach(a=>{if(!Object.hasOwn(d,a.name))return;let l=d[a.name];if(a.name===r){u[a.name]=l;return}let D=g(a.name,l,e)??l,b=p(e,a.name);u[b]=F(e,a.name,D,a.type,n)}),u});return{objectIds:i,attributes:o}};return{a:j,b:G,c:$,d:k}},"intl")
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"./YIMNOUTF.js";var e=`## ArcgisKnowledge Agent - Lucene Generation for Graph Search
2
+ import"./UZLQALHY.js";var e=`## ArcgisKnowledge Agent - Lucene Generation for Graph Search
3
3
 
4
4
  You are an assistant that generates a lucene query for graph query searching.
5
5
 
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import"./UZLQALHY.js";var e="---\nname: navigation\ndescription: Navigates the map to addresses, bookmarks, layers, matching features, extents, scales, zoom levels, and viewpoints using live map context and semantic layer and field search.\nallowed-tools: findRelevantLayers findRelevantFields goToAddress goToBookmark goToFeatures goToFullExtent goToHomeExtent goToLayer goToScale goToViewpoint goToZoom\n---\n\n# Navigation\n\n- Complete exactly one map-changing navigation action for the assigned task. Semantic search calls do not count as navigation actions.\n- Use the runtime context as the authoritative source for the current zoom level and exact available bookmark names.\n- Prefer an available bookmark over a feature or address when it clearly matches the requested place. Prefer a matching map feature over geocoding when the request identifies a layer or feature. Otherwise use `goToAddress` for an address or place name.\n- Use `goToZoom`, `goToScale`, or `goToViewpoint` directly for explicit numeric requests. For a relative zoom request, calculate one level above or below the current zoom from the runtime context and keep it within the tool's supported range.\n- Use `goToHomeExtent` to reset the map and `goToFullExtent` for the full-world extent. These actions do not require semantic search.\n- Before `goToLayer`, call `findRelevantLayers` with a concise query describing the requested layer. Use only a returned `layerId`. If there is no clear match, do not invent an ID or navigate.\n- Before `goToFeatures`, call `findRelevantLayers`, then call `findRelevantFields` with the relevant returned layer IDs and a query describing the requested condition. Use only the exact layer IDs returned by `findRelevantLayers`. Use only the exact field names and categorical values returned by `findRelevantFields`.\n- Build `goToFeatures` filters with valid ArcGIS SQL-92. Use field names rather than aliases, use coded-value domain codes when supplied, quote string values, and use `1=1` when all features in the selected layer are requested.\n- Do not call `findRelevantFields` for layer-only navigation or direct address, bookmark, extent, scale, viewpoint, or zoom navigation.\n- If required map context or semantic search results are missing or ambiguous, explain what is missing instead of guessing.\n- Report the navigation tool result faithfully. Never claim the map moved when the tool failed.\n";export{e as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import a from"./HFHRMM6Q.js";import"./ZA2WIUWH.js";import"./QZL4SAYR.js";import"./LOQ2PKV5.js";import"./IYLFJCJ2.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([{property:g,subclass:y},{c:p,d:w}])=>{var b=Object.defineProperty,k=Object.getOwnPropertyDescriptor,v=e=>{throw TypeError(e)},h=(e,t,r,s)=>{for(var n=s>1?void 0:s?k(t,r):t,o=e.length-1,a;o>=0;o--)(a=e[o])&&(n=(s?a(t,r,n):a(n))||n);return s&&n&&b(t,r,n),n},A=(e,t,r)=>t.has(e)||v("Cannot "+r),M=(e,t,r)=>t.has(e)?v("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),m=(e,t,r)=>(A(e,t,"access private method"),r),c,u,i=class extends w{constructor(e){super(e),M(this,c)}getAgents(){let e=Object.values(this.agentsMap);return this.defaultAgent?e.concat(this.defaultAgent):e}buildNodes(e){let t=super.buildNodes(e);return t[d]=()=>({}),t}buildEdges(e){m(this,c,u).call(this);let t=this.resolver,r=new Map;for(let[o,[a]]of Object.entries(this.agentsMap).entries())r.set(a,p(e[o],o));let{defaultAgent:s}=this,n=s?p(s,e.length-1):void 0;return[{from:d,decide:async(o,a)=>{let l=await Promise.resolve(t(o,a));if(!l)return;let f=r.get(l);if(f)return f;if(s)return n;throw new Error(`SwitchWorkflow resolver returned unknown case: ${l}. Expected one of: ${Object.keys(this.agentsMap).join(", ")||"(none)"}.`)}}]}getEntryNode(){return d}isTerminalAgent(){return!0}validateAgents(e){m(this,c,u).call(this),super.validateAgents(e)}};c=new WeakSet;u=function(){if(!Object.keys(this.agentsMap).length)throw new Error("SwitchWorkflow requires a non-empty agentsMap.")};h([g()],i.prototype,"agentsMap",2);h([g()],i.prototype,"resolver",2);h([g()],i.prototype,"defaultAgent",2);i=h([y("SwitchWorkflow")],i);var d="__switch_decide";return i},"core/accessorSupport/decorators",a)
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import a from"./ZLLVPKDN.js";export default $arcgis.t(([{a:i}])=>{var d=(r,e)=>{let n=Array.from(r?.values()??[]).map(({fieldRegistry:s,layerItem:t})=>{let a=Array.from(s.values(),({name:o})=>o);return{title:t.title,description:t.description,fields:a.slice(0,10),additionalFieldCount:Math.max(a.length-10,0)}}),l=(e?.list()??[]).map(({agent:{description:s,id:t,name:a}})=>({id:t,name:a,description:s}));return JSON.stringify({layers:n,agents:l},null,2)},p=({config:r})=>{let e=r?.configurable?.services;return d(e?.layersAndFieldsRegistry,e?.agentRegistry)},m=[async()=>(await import("./74CVYM72.js")).default],u=i({id:"help",name:"Help Agent",description:"Answers questions about the current map, its layers and fields, and available assistant capabilities. Use for general help, unsupported map actions, and unrelated requests that should be redirected to map-related questions.",skillLoaders:m,modelTier:"default",systemPrompt:"You are an ArcGIS map help agent.",runtimeContextLoader:p});return u},a)
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import b from"./RHYNE5OE.js";import{a as t}from"./FDOMMK2M.js";import{a as l}from"./ONQ6JSBJ.js";import{Dc as d}from"./IYLFJCJ2.js";import{a}from"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([o])=>{var g=.7,b=10;async function S(i){let{query:e,layerIds:s,includeSummaryStatistics:r=!1,fieldSearch:c,layersAndFieldsRegistry:m,embeddingCache:y,mapView:u,minScore:f=g,topResults:h=b}=i,n=await c.searchFields({text:e,layerIds:s,minScore:f,topResults:h,embeddingCache:y}),p=await o(n,m,u,r);return{matches:n,...p}}var v=a.object({query:a.string().describe("A concise semantic description of the fields relevant to the user's task."),layerIds:a.array(a.string()).min(1).describe("Layer IDs returned by findRelevantLayers, restricted to layers relevant to the current task."),includeSummaryStatistics:a.boolean().optional().default(!1).describe("Set to true only when the task directly asks for numeric summaries such as average, minimum, maximum, total, variance, or range.")});async function w(i,e){let{mapView:s}=l(e,["mapView"]),r=await S({...i,fieldSearch:t(e,"fieldSearch"),layersAndFieldsRegistry:t(e,"layersAndFieldsRegistry"),embeddingCache:t(e,"embeddingCache"),mapView:s});return JSON.stringify(r,null,2)}var A=d(w,{name:"findRelevantFields",description:"Finds relevant fields within candidate layers. Returns ranked matches, field metadata, categorical values, and optional numeric summary statistics. Call findRelevantLayers first when layer IDs are not already known.",schema:v});return A},b)
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a}from"./FCI6M62J.js";import"./ONQ6JSBJ.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export{a as goToLayerTool};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import"./UZLQALHY.js";var e='---\nname: query\ndescription: Answers questions about feature-layer data, including counts, matching records, field values, aggregates, rankings, and spatially constrained results. Use when the user asks to inspect or summarize map data.\nallowed-tools: findRelevantLayers findRelevantFields getAttribute getStatistics getTopFeatures queryFeatures\n---\n\n# Query\n\n- When the task refers to geometry produced by an earlier agent, call `listSharedResources` with `point`, `polyline` and `polygon` as the requested kinds. If a resource description clearly matches, pass its exact ID as `geometryFilter.sharedResourceId` and use `where: "1=1"` unless the user requests an additional attribute filter. If no resource clearly matches, state that the spatial constraint is unavailable and do not guess geometry.\n- Start with `findRelevantLayers` unless a previous tool result from this run explicitly identifies the relevant layer ID. Use the assigned task as the semantic query.\n- If no relevant layers are returned, explain that no matching map layer was found and stop. Never invent a layer ID.\n- Before querying, call `findRelevantFields` with only relevant layer IDs. Use only the exact field names and categorical values returned by `findRelevantFields`.\n- Set `includeSummaryStatistics` to true when the requested answer directly depends on whole-layer numeric summary statistics such as average, minimum, maximum, sum, variance, standard deviation, null count, or range. Otherwise leave it false and use `getStatistics` later if analysis requires statistics under an attribute or spatial constraint.\n- Use statistics returned by `findRelevantFields` when they directly answer an unfiltered whole-layer question. Use `getStatistics` when a where clause or spatial constraint must be applied.\n- Use `queryFeatures` to count, find, or list matching features. It is the default query tool.\n- Use `getTopFeatures` for highest, lowest, first, last, or top-N records ranked by an existing field.\n- Use `getAttribute` only when retrieving a particular attribute from a specifically identified feature.\n- Use real field names rather than aliases in SQL-92 where clauses. Use `1=1` when no attribute filter is requested.\n- Set `useCurrentExtent` only when the user explicitly refers to the current view or visible map area.\n- If the request asks to visually show, display, highlight, map, filter, reveal, emphasize, hide, include, or exclude matching features, preserve the information needed for a visual operation in the working context: layer ID, where clause, geometry filter, `useCurrentExtent`, object IDs when available, and count. Preserve the exact values returned or used by tools so another skill can reuse them without repeating discovery.\n- Only answer requests about the current map\'s layers, features, fields, spatial relationships, or supported map actions. Do not use general model knowledge to answer unrelated requests, even when the assigned task or user asks for it. For an unsupported request, respond only: "I can help with questions about the data and features in this map."\n- Answer the assigned question directly. Do not provide unsolicited recommendations about dataset design, publishing, classification, grouping, future analysis, or alternate workflows.\n- Ask for clarification only when the requested result is genuinely ambiguous or cannot be computed reliably from the available layers and fields.\n- Base the final answer only on returned tool data. State failures or empty results directly and do not fabricate values.\n';export{e as default};
@@ -0,0 +1,11 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import b from"./CCC6LBMY.js";import{a as x,b as O}from"./34O57OGV.js";import a from"./KA3S22NQ.js";import{a as L}from"./ONQ6JSBJ.js";import{Dc as T}from"./IYLFJCJ2.js";import{a as e}from"./VXFQANGJ.js";export default $arcgis.t(([{a:p,b:g,c:b,d:v,e:R,f:j},{d:N}])=>{var w=25,k=i=>i.flatMap(r=>r.split(",")).map(r=>r.trim()).map(r=>r.split(/\s+/u)[0]?.replace(/^"|"$/gu,"")).filter(r=>!!r),E=async(i,r,t,l)=>{let s=r.map?.allLayers.find(u=>u.id===i.layerId),d=await r.whenLayerView(s),f=s.title??i.layerId,h;if(t){let u=await v(t,r);if("error"in u){let o={error:u.error};if(b(t)){let c=r.map?.allLayers.find(m=>m.id===t.layerId);o.geometryLayerName=c?.title??c?.id,o.geometryLayerId=t.layerId,o.geometryWhere=t.where}else g(t)&&(o.point=t.point);return{tool:"queryFeatures",layerName:f,summary:"Geometry lookup failed",details:o}}if(!u.geometry){let o={};if(b(t)){let c=r.map?.allLayers.find(m=>m.id===t.layerId);o.error=`No features found matching: ${t.where}`,o.geometryLayerName=c?.title??c?.id,o.geometryLayerId=t.layerId,o.geometryWhere=t.where}else g(t)&&(o.error="Failed to create point geometry",o.point=t.point);return{tool:"queryFeatures",layerName:f,summary:"No features found for geometry filter",details:o}}h=u.geometry}else l&&(h=r.extent.clone());let C=[...new Set([...i.outFields,...k(i.orderByFields)])],F=x(d,C,l??!1),I=s.objectIdField,a=s.createQuery();a.where=O(s.definitionExpression,i.where||"1=1"),a.outFields=i.outFields.includes("*")?["*"]:[...new Set([...i.outFields,I])],a.orderByFields=i.orderByFields,h&&(a.geometry=h,a.spatialRelationship="intersects"),t?.distance&&(a.distance=t.distance),t?.units&&(a.units=t.units),a.outSpatialReference=r.spatialReference;let n,y;try{n=F?await d.queryFeatureCount(a):await s.queryFeatureCount(a),n>0&&n<=w&&(y=F?await d.queryFeatures(a):await s.queryFeatures(a))}catch(u){console.warn("Client-side query failed, falling back to server:",u),n=await s.queryFeatureCount(a),n>0&&n<=w&&(y=await s.queryFeatures(a))}let{objectIds:q,attributes:S}=y?N(s,y,r.timeZone):{objectIds:void 0,attributes:void 0};return{tool:"queryFeatures",layerName:f,summary:`${n} features found`,details:{totalCount:n,where:i.where,orderByFields:i.orderByFields,outFields:i.outFields,...q&&{objectIds:q,objectIdField:I},...S&&{attributes:S},...n>w&&{note:`${n} features found.`}}}};async function W({targetLayer:i,geometryFilter:r,useCurrentExtent:t},l){let{mapView:s}=L(l,["mapView"]),d=j(r,l.state?.agentExecutionContext?.sharedResources),f=await E(i,s,d,t);return JSON.stringify(f,null,2)}var B=e.object({layerId:e.string().describe("The layerId of the layer containing the geometry by which to filter."),where:e.string().describe("The SQL-92 where clause representing the features from which to filter."),distance:e.number().optional().describe("The buffer distance around the geometry."),units:p.optional().describe("The units for the distance buffer.")}),U=e.object({point:e.object({x:e.number().describe("X coordinate (longitude) from navigation result"),y:e.number().describe("Y coordinate (latitude) from navigation result"),spatialReference:e.object({wkid:e.number().describe("Spatial reference WKID (e.g., 4326 for WGS84)")}).optional().describe("Spatial reference. Defaults to map's spatial reference if not provided.")}).describe("Point coordinates from a previous navigation/geocoding result"),distance:e.number().optional().describe("Optional buffer distance around the point."),units:p.optional().describe("The units for the distance buffer.")}),D=e.object({targetLayer:e.object({layerId:e.string().describe("The layerId of the layer containing the field from which to get a value."),where:e.string().describe("SQL-92 where clause. IMPORTANT: When using geometryFilter.point or geometryFilter.sharedResourceId for point-in-polygon queries, set this to '1=1' to return all features that intersect the point. Only add attribute filters if the user specifically requests them in addition to the spatial query."),orderByFields:e.array(e.string().describe("The field(s) and order for which to sort the resulting features.")),outFields:e.array(e.string().describe('The fields to include in the output that will be presented to the user. This should include identifying information about the resulting features, like a name or id, along with the values desired in the output. If unsure, choose all fields ("*").').default("*"))}),geometryFilter:e.union([B,U,R]).optional().describe("Geometry filter for spatial queries. Use 'sharedResourceId' with an ID from listSharedResources for a previously geocoded location. Use 'point' for inline coordinates or 'layerId/where' for features from another layer."),useCurrentExtent:e.boolean().optional().describe("Set to true ONLY when user explicitly asks about features 'in my view', 'on my map', 'I am looking at', OR when the user refers back to features previously identified using the current extent (e.g. 'these', 'those', 'them', 'the same ones'). Default is false (queries entire layer).")}),H=T(W,{name:"queryFeatures",description:`Queries features from a layer. Returns the total count of matching features, plus individual feature attributes if \u226425 features match.
3
+
4
+ USE THIS TOOL FOR:
5
+ - "Show / display / list features where..." \u2014 finding and listing features
6
+ - "How many X are Y?" \u2014 counting features that match a condition
7
+ - "Which features..." / "Find features..." \u2014 identifying specific features
8
+ - Spatial queries \u2014 finding features near/within/intersecting other features
9
+ - Any question where the user wants to SEE or COUNT matching features
10
+
11
+ This is the DEFAULT tool for most queries. When in doubt, use this tool.`,schema:D});return H},a,b)
@@ -0,0 +1,68 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ function U(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var A=U();function ge(r){A=r}var T={exec:()=>null};function P(r){let e=[];return t=>{let s=Math.max(0,Math.min(3,t-1)),n=e[s];return n||(n=r(s),e[s]=n),n}}function u(r,e=""){let t=typeof r=="string"?r:r.source,s={replace:(n,i)=>{let a=typeof i=="string"?i:i.source;return a=a.replace(b.caret,"$1"),t=t.replace(n,a),s},getRegex:()=>new RegExp(t,e)};return s}var Te=((r="")=>{try{return!!new RegExp("(?<=1)(?<!1)"+r)}catch{return!1}})(),b={codeRemoveIndent:/^(?: {0,3}\t| {1,4})/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,endingSpaceTabChar:/[ \t]$/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,leadingSpaceTab:/^[ \t]+/,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,numericCharacterReference:/&#(?:(\d{1,7})|[Xx]([A-Fa-f0-9]{1,6}));/g,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:r=>new RegExp(`^( {0,3}${r})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:P(r=>new RegExp(`^ {0,${r}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`)),hrRegex:P(r=>new RegExp(`^ {0,${r}}((?:-[ ]*){3,}|(?:_[ ]*){3,}|(?:\\*[ ]*){3,})(?:\\n+|$)`)),fencesBeginRegex:P(r=>new RegExp(`^ {0,${r}}(?:\`\`\`|~~~)`)),headingBeginRegex:P(r=>new RegExp(`^ {0,${r}}#`)),htmlBeginRegex:P(r=>new RegExp(`^ {0,${r}}(?:</?(?:${Z})(?: +|$|/?>)|<(?:script|pre|style|textarea|!--))`,"i")),blockquoteBeginRegex:P(r=>new RegExp(`^ {0,${r}}>`))},ze=/^(?:[ \t]*(?:\n|$))+/,Ae=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,_e=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,q=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Pe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,W=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,ke=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |fences|blockquote|heading|hr|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,fe=u(ke).replace(/bull/g,W).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),Le=u(ke).replace(/bull/g,W).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}(?:\s|$)/).replace(/hr/g,/ {0,3}(?:(?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),J=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table|[ \t]+\n)[^\n]+)*)/,Ie=/^[^\n]+/,K=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ee=u(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",K).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Ce=u(/^(bull)([ \t][^\n]*?)?(?:\n|$)/).replace(/bull/g,W).getRegex(),Z="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",V=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Be=u("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n*|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>[^\\n]*\\n*|$)|<![A-Z][\\s\\S]*?(?:>[^\\n]*\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>[^\\n]*\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][a-z0-9-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][a-z0-9-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",V).replace("tag",Z).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),de=r=>u(J).replace("hr",q).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list",r).replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex(),ve=de(/ {0,3}(?:[*+-]|1[.)])[ \t]+[^ \t\n]/),qe=de(/ {0,3}(?:[*+-]|\d{1,9}[.)])(?:[ \t]|\n|$)/),Ze=u(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",qe).getRegex(),Y={blockquote:Ze,code:Ae,def:Ee,fences:_e,heading:Pe,hr:q,html:Be,lheading:fe,list:Ce,newline:ze,paragraph:ve,table:T,text:Ie},ne=u("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",q).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex(),De={...Y,lheading:Le,table:ne,paragraph:u(J).replace("hr",q).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ne).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*(?:\\n|$))|~~~)[^\\n]*(?:\\n|$)").replace("list"," {0,3}(?:[*+-]|1[.)])[ \\t]+[^ \\t\\n]").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Z).getRegex()},Qe={...Y,html:u(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",V).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:T,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:u(J).replace("hr",q).replace("heading",` *#{1,6} *[^
3
+ ]`).replace("lheading",fe).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Oe=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Me=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,xe=/^( {2,}|\\)\n(?!\s*$)[ \t]*/,je=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,y=/[\p{P}\p{S}]/u,L=/[\s\p{P}\p{S}]/u,D=/[^\s\p{P}\p{S}]/u,Ne=u(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,L).getRegex(),He=/[\p{Pi}\p{Ps}"']/u,be=/(?!~)[\p{P}\p{S}]/u,Ge=/(?!~)[\s\p{P}\p{S}]/u,Fe=/(?:[^\s\p{P}\p{S}]|~)/u,Xe=u(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",Te?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),me=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,Ue=u(me,"u").replace(/punct/g,y).getRegex(),We=u(me,"u").replace(/punct/g,be).getRegex(),Je=/^(?:\*+(?:((?!\*)(?!openQuote)punct)|([^\s*]))?)|^_+(?:((?!_)(?!openQuote)punct)|([^\s_]))?/,Ke=u(Je,"u").replace(/openQuote/g,He).replace(/punct/g,y).getRegex(),we="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",Ve=u(we,"gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,y).getRegex(),Ye=u(we,"gu").replace(/notPunctSpace/g,Fe).replace(/punctSpace/g,Ge).replace(/punct/g,be).getRegex(),et="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)[\\s](\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|(?:(?!\\*)punct|notPunctSpace)(\\*+)(?!\\*)(?=notPunctSpace)",tt=u(et,"gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,y).getRegex(),rt=u("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,y).getRegex(),nt="^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)[\\s](_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)|(?:(?!_)punct|notPunctSpace)(_+)(?!_)(?=notPunctSpace)",st=u(nt,"gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,y).getRegex(),it=u(/^~~?(?:((?!~)punct)|[^\s~])/,"u").replace(/punct/g,y).getRegex(),lt="^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)",at=u(lt,"gu").replace(/notPunctSpace/g,D).replace(/punctSpace/g,L).replace(/punct/g,y).getRegex(),ot=u(/\\(punct)/,"gu").replace(/punct/g,y).getRegex(),ct=u(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),pt=u(V).replace("(?:-->|$)","-->").getRegex(),ht=u("^comment|^</[a-zA-Z][a-zA-Z0-9-]*\\s*>|^<[a-zA-Z][a-zA-Z0-9-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",pt).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Se=/\[(?:\\[\s\S]|[^\[\]\\])*\]/,O=u(/(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/).replace("brackets",Se).getRegex(),ut=u(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label",O).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]+|(?=\))/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),gt=u(/^!?\[(label)\]\[(ref)\]/).replace("label",O).replace("ref",K).getRegex(),kt=u(/^!?\[(ref)\](?:\[\])?/).replace("ref",K).getRegex(),se=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\]){1,999}/,ft=u(/(?:[^\[\]\\`]*(?:\[(?:brackets|\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\]))){0,999}?[^\[\]\\`]*?/).replace("brackets",Se).getRegex(),dt=u("reflink|nolink(?!\\()","g").replace("reflink",u(/^!?\[(label)\]\[(ref)\]/).replace("label",ft).replace("ref",se).getRegex()).replace("nolink",u(/^!?\[(ref)\](?:\[\])?/).replace("ref",se).getRegex()).getRegex(),ie=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,xt=/[A-Za-z0-9._+-]+@[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/,bt=u(/(?:mailto:email|xmpp:email(?:\/[A-Za-z0-9@.]+)?)/).replace(/email/g,xt).getRegex(),ee={_backpedal:T,anyPunctuation:ot,autolink:ct,blockSkip:Xe,br:xe,code:Me,del:T,delLDelim:T,delRDelim:T,emStrongLDelim:Ue,emStrongRDelimAst:Ve,emStrongRDelimUnd:rt,escape:Oe,link:ut,nolink:kt,punctuation:Ne,reflink:gt,reflinkSearch:dt,tag:ht,text:je,url:T},mt={...ee,emStrongLDelim:Ke,emStrongRDelimAst:tt,emStrongRDelimUnd:st,link:u(/^!?\[(label)\]\((.*?)\)/).replace("label",O).getRegex(),reflink:u(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",O).getRegex()},G={...ee,emStrongRDelimAst:Ye,emStrongLDelim:We,delLDelim:it,delRDelim:at,url:u(/^emailProtocol|^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("emailProtocol",bt).replace("protocol",ie).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![\w-])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:u(/^(?:[^a-zA-Z0-9](?=emailProtocol)|(`+|~+|[^`~])(?:(?=[`~])|(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9](?=emailProtocol)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))))/).replace("protocol",ie).replace(/emailProtocol/g,/(?:mailto|xmpp):/).getRegex()},wt={...G,br:u(xe).replace("{2,}","*").getRegex(),text:u(G.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},Q={normal:Y,gfm:De,pedantic:Qe},B={normal:ee,gfm:G,breaks:wt,pedantic:mt},St={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},le=r=>St[r];function w(r,e){if(e){if(b.escapeTest.test(r))return r.replace(b.escapeReplace,le)}else if(b.escapeTestNoEncode.test(r))return r.replace(b.escapeReplaceNoEncode,le);return r}function $t(r){return r.replace(b.numericCharacterReference,(e,t,s)=>{let n=t===void 0?Number.parseInt(s,16):Number.parseInt(t,10);return n===0||n>1114111||n>=55296&&n<=57343?"\uFFFD":String.fromCodePoint(n)})}function ae(r){try{r=encodeURI(r).replace(b.percentDecode,"%")}catch{return null}return r}function oe(r,e){let t=r.replace(b.findPipe,(i,a,l)=>{let c=!1,o=a;for(;--o>=0&&l[o]==="\\";)c=!c;return c?"|":" |"}),s=t.split(b.splitPipe),n=0;if(s[0].trim()||s.shift(),s.length>0&&!s.at(-1)?.trim()&&s.pop(),e)if(s.length>e)s.splice(e);else for(;s.length<e;)s.push("");for(;n<s.length;n++)s[n]=s[n].trim().replace(b.slashPipe,"|");return s}function R(r,e,t){let s=r.length;if(s===0)return"";let n=0;for(;n<s;){let i=r.charAt(s-n-1);if(i===e&&!t)n++;else if(i!==e&&t)n++;else break}return r.slice(0,s-n)}function ce(r){let e=r.split(`
4
+ `),t=e.length-1;for(;t>=0&&b.blankLine.test(e[t]);)t--;return e.length-t<=2?r:e.slice(0,t+1).join(`
5
+ `)}function M(r){return r.trim().toLowerCase().toUpperCase().toLowerCase()}function yt(r,e){if(r.indexOf(e[1])===-1)return-1;let t=0;for(let s=0;s<r.length;s++)if(r[s]==="\\")s++;else if(r[s]===e[0])t++;else if(r[s]===e[1]&&(t--,t<0))return s;return t>0?-2:-1}function pe(r,e=0){let t=e,s="";for(let n of r)if(n===" "){let i=4-t%4;s+=" ".repeat(i),t+=i}else s+=n,t++;return s}function he(r,e,t,s,n){let i=e.href,a=e.title||null,l=r[1].replace(n.other.outputLinkReplace,"$1"),c=r[0].charAt(0)==="!";s.state.inLink=!0;let o=s.state.linkEmitted,p=s.state.inRawBlock;s.state.linkEmitted=!1;let h=s.inlineTokens(l),x=s.state.linkEmitted;if(s.state.linkEmitted=o,s.state.inLink=!1,!c){if(x){s.state.inRawBlock=p;return}s.state.linkEmitted=!0}return{type:c?"image":"link",raw:t,href:i,title:a,text:l,tokens:h}}function Rt(r,e,t){let s=r.match(t.other.indentCodeCompensation);if(s===null)return e;let n=s[1];return e.split(`
6
+ `).map(i=>{let a=i.match(t.other.beginningSpace);if(a===null)return i;let[l]=a;return i.slice(Math.min(l.length,n.length))}).join(`
7
+ `)}function ue(r,e,t,s){if(!e.includes("<"))return!1;for(let n=0;n<e.length;n++){if(e[n]==="\\"){n++;continue}if(e[n]==="`"){let l=s.inline.code.exec(e.slice(n));if(l){n+=l[0].length-1;continue}}if(e[n]!=="<")continue;let i=r.slice(t+n),a=s.inline.tag.exec(i)||s.inline.autolink.exec(i);if(a){if(a[0].length>e.length-n)return!0;n+=a[0].length-1}}return!1}var j=class{options;rules;lexer;constructor(r){this.options=r||A}space(r){let e=this.rules.block.newline.exec(r);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(r){let e=this.rules.block.code.exec(r);if(e){let t=this.options.pedantic?e[0]:ce(e[0]),s=t.replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t,codeBlockStyle:"indented",text:s}}}fences(r){let e=this.rules.block.fences.exec(r);if(e){let t=e[0],s=Rt(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:s}}}heading(r){let e=this.rules.block.heading.exec(r);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let s=R(t,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceTabChar.test(s))&&(t=s.trim())}return{type:"heading",raw:R(e[0],`
8
+ `),depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(r){let e=this.rules.block.hr.exec(r);if(e)return{type:"hr",raw:R(e[0],`
9
+ `)}}blockquote(r){let e=this.rules.block.blockquote.exec(r);if(e){let t=R(e[0],`
10
+ `).split(`
11
+ `),s="",n="",i=[];for(;t.length>0;){let a=!1,l=[],c;for(c=0;c<t.length;c++)if(this.rules.other.blockquoteStart.test(t[c]))l.push(t[c]),a=!0;else if(!a)l.push(t[c]);else break;t=t.slice(c);let o=l.join(`
12
+ `),p=o.replace(this.rules.other.blockquoteSetextReplace,`
13
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");s=s?`${s}
14
+ ${o}`:o,n=n?`${n}
15
+ ${p}`:p;let h=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(p,i,!0),this.lexer.state.top=h,t.length===0)break;let x=i.at(-1);if(x?.type==="code")break;if(x?.type==="blockquote"){let d=x,k=t.join(`
16
+ `),m=d.raw+`
17
+ `+k.replace(this.rules.other.blockquoteSetextReplace2,""),f=this.blockquote(m);i[i.length-1]=f;let _=m.substring(f.raw.length).replace(/^\n/,""),I=_?_.split(`
18
+ `).length:0,E=I?t.slice(0,-I):t;E.length>0&&(s=`${s}
19
+ ${E.join(`
20
+ `)}`),n=n.substring(0,n.length-d.text.length)+f.text;break}else if(x?.type==="list"){let d=x,k=d.raw+`
21
+ `+t.join(`
22
+ `),m=this.list(k);i[i.length-1]=m,s=s.substring(0,s.length-x.raw.length)+m.raw,n=n.substring(0,n.length-d.raw.length)+m.raw,t=k.substring(i.at(-1).raw.length).split(`
23
+ `);continue}}return{type:"blockquote",raw:s,tokens:i,text:n}}}list(r){let e=this.rules.block.list.exec(r);if(e){let t=e[1].trim(),s=t.length>1,n={type:"list",raw:"",ordered:s,start:s?+t.slice(0,-1):"",loose:!1,items:[]};t=s?`\\d{1,9}\\${t.slice(-1)}`:`\\${t}`,this.options.pedantic&&(t=s?t:"[*+-]");let i=this.rules.other.listItemRegex(t),a=!1;for(;r;){let c=!1,o="",p="";if(!(e=i.exec(r))||this.rules.block.hr.test(r))break;o=e[0],r=r.substring(o.length);let h=e[2].split(`
24
+ `,1)[0],x=e[1].length,d=this.options.pedantic?pe(h,x):h.replace(this.rules.other.leadingSpaceTab,_=>pe(_,x)),k=r.split(`
25
+ `,1)[0],m=!d.trim(),f=0;if(this.options.pedantic?(f=2,p=d.trimStart()):m?f=x+1:(f=d.search(this.rules.other.nonSpaceChar),f=f>4?1:f,p=d.slice(f),f+=x),m&&this.rules.other.blankLine.test(k)&&(o+=k+`
26
+ `,r=r.substring(k.length+1),c=!0),!c){let _=this.rules.other.nextBulletRegex(f),I=this.rules.other.hrRegex(f),E=this.rules.other.fencesBeginRegex(f),re=this.rules.other.headingBeginRegex(f),$e=this.rules.other.htmlBeginRegex(f),ye=this.rules.other.blockquoteBeginRegex(f);for(;r;){let H=r.split(`
27
+ `,1)[0],C;if(k=H,this.options.pedantic?(k=k.replace(this.rules.other.listReplaceNesting," "),C=k):C=k.replace(this.rules.other.leadingSpaceTab,Re=>Re.replace(this.rules.other.tabCharGlobal," ")),E.test(k)||re.test(k)||$e.test(k)||ye.test(k)||_.test(k)||I.test(k))break;if(C.search(this.rules.other.nonSpaceChar)>=f||!k.trim())p+=`
28
+ `+C.slice(f);else{if(m||d.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||E.test(d)||re.test(d)||I.test(d))break;p+=`
29
+ `+k}m=!k.trim(),o+=H+`
30
+ `,r=r.substring(H.length+1),d=C.slice(f)}}n.loose||(a?n.loose=!0:this.rules.other.doubleBlankLine.test(o)&&(a=!0)),n.items.push({type:"list_item",raw:o,task:!!this.options.gfm&&this.rules.other.listIsTask.test(p),loose:!1,text:p,tokens:[]}),n.raw+=o}let l=n.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;n.raw=n.raw.trimEnd();for(let c of n.items)if(this.lexer.state.top=!1,c.tokens=this.lexer.blockTokens(c.text,[]),!n.loose){let o=c.tokens.filter(h=>h.type==="space"),p=o.length>0&&o.some(h=>this.rules.other.anyLine.test(h.raw));n.loose=p}for(let c of n.items){let o=c.tokens[0];if(c.task&&(o?.type==="text"||o?.type==="paragraph")){c.text=c.text.replace(this.rules.other.listReplaceTask,""),o.raw=o.raw.replace(this.rules.other.listReplaceTask,""),o.text=o.text.replace(this.rules.other.listReplaceTask,"");for(let h=this.lexer.inlineQueue.length-1;h>=0;h--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[h].src)){this.lexer.inlineQueue[h].src=this.lexer.inlineQueue[h].src.replace(this.rules.other.listReplaceTask,"");break}let p=this.rules.other.listTaskCheckbox.exec(c.raw);if(p){let h={type:"checkbox",raw:p[0]+" ",checked:p[0]!=="[ ]"};c.checked=h.checked,n.loose?c.tokens[0]&&["paragraph","text"].includes(c.tokens[0].type)&&"tokens"in c.tokens[0]&&c.tokens[0].tokens?(c.tokens[0].raw=h.raw+c.tokens[0].raw,c.tokens[0].text=h.raw+c.tokens[0].text,c.tokens[0].tokens.unshift(h)):c.tokens.unshift({type:"paragraph",raw:h.raw,text:h.raw,tokens:[h]}):c.tokens.unshift(h)}}else c.task&&(c.task=!1)}if(n.loose)for(let c of n.items){c.loose=!0;for(let o of c.tokens)o.type==="text"&&(o.type="paragraph")}return n}}html(r){let e=this.rules.block.html.exec(r);if(e){let t=ce(e[0]);return{type:"html",block:!0,raw:t,pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:t}}}def(r){let e=this.rules.block.def.exec(r);if(e){let t=M(e[1]).replace(this.rules.other.multipleSpaceGlobal," "),s=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:R(e[0],`
31
+ `),href:s,title:n}}}table(r){let e=this.rules.block.table.exec(r);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=oe(e[1]),s=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),n=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
32
+ `):[],i={type:"table",raw:R(e[0],`
33
+ `),header:[],align:[],rows:[]};if(t.length===s.length){for(let a of s)this.rules.other.tableAlignRight.test(a)?i.align.push("right"):this.rules.other.tableAlignCenter.test(a)?i.align.push("center"):this.rules.other.tableAlignLeft.test(a)?i.align.push("left"):i.align.push(null);for(let a=0;a<t.length;a++)i.header.push({text:t[a],tokens:this.lexer.inline(t[a]),header:!0,align:i.align[a]});for(let a of n)i.rows.push(oe(a,i.header.length).map((l,c)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:i.align[c]})));return i}}lheading(r){let e=this.rules.block.lheading.exec(r);if(e){let t=e[1].trim();return{type:"heading",raw:R(e[0],`
34
+ `),depth:e[2].charAt(0)==="="?1:2,text:t,tokens:this.lexer.inline(t)}}}paragraph(r){let e=this.rules.block.paragraph.exec(r);if(e){let t=e[1].charAt(e[1].length-1)===`
35
+ `?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(r){let e=this.rules.block.text.exec(r);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(r){let e=this.rules.inline.escape.exec(r);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(r){let e=this.rules.inline.tag.exec(r);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(r){let e=this.rules.inline.link.exec(r);if(e){let t=e[0].charAt(0)==="!"?2:1;if(!this.options.pedantic&&ue(r,e[1],t,this.rules))return;let s=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(s)){if(!this.rules.other.endAngleBracket.test(s))return;let a=R(s.slice(0,-1),"\\");if((s.length-a.length)%2===0)return}else{let a=yt(e[2],"()");if(a===-2)return;if(a>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+a;e[2]=e[2].substring(0,a),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let n=e[2],i="";if(this.options.pedantic){let a=this.rules.other.pedanticHrefTitle.exec(n);a&&(n=a[1],i=a[3])}else i=e[3]?e[3].slice(1,-1):"";return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(s)?n=n.slice(1):n=n.slice(1,-1)),he(e,{href:n&&n.replace(this.rules.inline.anyPunctuation,"$1"),title:i&&i.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(r,e){let t;if((t=this.rules.inline.reflink.exec(r))||(t=this.rules.inline.nolink.exec(r))){let s=t[0].charAt(0)==="!"?2:1;if(!this.options.pedantic&&ue(r,t[1],s,this.rules))return;let n=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),i=e[M(n)];if(!i){let a=t[0].charAt(0);return{type:"text",raw:a,text:a}}return he(t,i,t[0],this.lexer,this.rules)}}emStrong(r,e,t=""){let s=this.rules.inline.emStrongLDelim.exec(r);if(!(!s||!s[1]&&!s[2]&&!s[3]&&!s[4]||s[4]&&t.match(this.rules.other.unicodeAlphaNumeric))&&(!(s[1]||s[3])||!t||this.rules.inline.punctuation.exec(t))){let n=[...s[0]].length-1,i,a,l=n,c=0,o=s[0][0],p=t===o,h=o==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*r.length+n);(s=h.exec(e))!==null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i)continue;if(a=[...i].length,s[3]||s[4]){l+=a;continue}else if(s[5]||s[6]){if(n%3&&!((n+a)%3)){c+=a;continue}if(p)break}if(l-=a,l>0)continue;a=Math.min(a,a+l+c);let x=[...s[0]][0].length,d=r.slice(0,n+s.index+x+a);if(Math.min(n,a)%2){let m=d.slice(1,-1);return{type:"em",raw:d,text:m,tokens:this.lexer.inlineTokens(m)}}let k=d.slice(2,-2);return{type:"strong",raw:d,text:k,tokens:this.lexer.inlineTokens(k)}}}}codespan(r){let e=this.rules.inline.code.exec(r);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),s=this.rules.other.nonSpaceChar.test(t),n=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return s&&n&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(r){let e=this.rules.inline.br.exec(r);if(e)return{type:"br",raw:e[0]}}del(r,e,t=""){let s=this.rules.inline.delLDelim.exec(r);if(s&&(!s[1]||!t||this.rules.inline.punctuation.exec(t))){let n=[...s[0]].length-1,i,a,l=n,c=this.rules.inline.delRDelim;for(c.lastIndex=0,e=e.slice(-1*r.length+n);(s=c.exec(e))!==null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i||(a=[...i].length,a!==n))continue;if(s[3]||s[4]){l+=a;continue}if(l-=a,l>0)continue;a=Math.min(a,a+l);let o=[...s[0]][0].length,p=r.slice(0,n+s.index+o+a),h=p.slice(n,-n);return{type:"del",raw:p,text:h,tokens:this.lexer.inlineTokens(h)}}}}autolink(r){let e=this.rules.inline.autolink.exec(r);if(e){let t,s;return e[2]==="@"?(t=e[1],s="mailto:"+t):(t=e[1],s=t),{type:"link",raw:e[0],text:t,href:s,autolink:!0,tokens:[{type:"text",raw:t,text:t}]}}}url(r){let e;if(e=this.rules.inline.url.exec(r)){let t,s;if(e[2]==="@")t=e[0],s="mailto:"+t;else{let n;do n=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(n!==e[0]);t=e[0],e[1]==="www."?s="http://"+e[0]:s=e[0]}return{type:"link",raw:e[0],text:t,href:s,autolink:!0,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(r){let e=this.rules.inline.text.exec(r);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:t?e[0]:$t(e[0]),escaped:t}}}},S=class F{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||A,this.options.tokenizer=this.options.tokenizer||new j,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,linkEmitted:!1,top:!0};let t={other:b,block:Q.normal,inline:B.normal};this.options.pedantic?(t.block=Q.pedantic,t.inline=B.pedantic):this.options.gfm&&(t.block=Q.gfm,this.options.breaks?t.inline=B.breaks:t.inline=B.gfm),this.tokenizer.rules=t}static get rules(){return{block:Q,inline:B}}static lex(e,t){return new F(t).lex(e)}static lexInline(e,t){return new F(t).inlineTokens(e)}lex(e){e=e.replace(b.carriageReturn,`
36
+ `),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let s=this.inlineQueue[t];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],s=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(b.tabCharGlobal," ").replace(b.spaceLine,""));let n=1/0;for(;e;){if(e.length<n)n=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(l=>(i=l.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let l=t.at(-1);i.raw.length===1&&l!==void 0?l.raw+=`
37
+ `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let l=t.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(`
38
+ `)?"":`
39
+ `)+i.raw,l.text+=`
40
+ `+i.text,this.inlineQueue.at(-1).src=l.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let l=t.at(-1);l?.type==="paragraph"||l?.type==="text"?(l.raw+=(l.raw.endsWith(`
41
+ `)?"":`
42
+ `)+i.raw,l.text+=`
43
+ `+i.raw,this.inlineQueue.at(-1).src=l.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let l=1/0,c=e.slice(1),o;this.options.extensions.startBlock.forEach(p=>{o=p.call({lexer:this},c),typeof o=="number"&&o>=0&&(l=Math.min(l,o))}),l<1/0&&l>=0&&(a=e.substring(0,l+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let l=t.at(-1);s&&l?.type==="paragraph"?(l.raw+=(l.raw.endsWith(`
44
+ `)?"":`
45
+ `)+i.raw,l.text+=`
46
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):t.push(i),s=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let l=t.at(-1);l?.type==="text"?(l.raw+=(l.raw.endsWith(`
47
+ `)?"":`
48
+ `)+i.raw,l.text+=`
49
+ `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=l.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}linkInText(e){if(!e.includes("["))return!1;let t=this.tokenizer.rules.inline.link;for(let s of e.matchAll(this.tokenizer.rules.inline.blockSkip))if(t.test(s[0])&&e.charAt(s.index-1)!=="!")return!0;for(let s of e.matchAll(this.tokenizer.rules.inline.reflinkSearch)){let n=s[0],i=n.lastIndexOf("[");if(!(n.charAt(0)==="!"||!Object.hasOwn(this.tokens.links,M(n.slice(i+1,-1))))&&!(i>1&&this.linkInText(n.slice(1,i-1))))return!0}return!1}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let s=e;if(this.tokens.links&&e.includes("[")){let l=this.tokenizer.rules.inline.reflinkSearch,c=o=>{let p=o.lastIndexOf("[");if(!Object.hasOwn(this.tokens.links,M(o.slice(p+1,-1))))return o;if(p>1&&o.charAt(0)!=="!"){let h=o.slice(1,p-1);if(this.linkInText(h))return"["+h.replace(l,c)+"]["+"a".repeat(o.length-p-2)+"]"}return"["+"a".repeat(o.length-2)+"]"};s=s.replace(l,c)}s=s.replace(this.tokenizer.rules.inline.anyPunctuation,l=>"+".repeat(l.length)),s=s.replace(this.tokenizer.rules.inline.blockSkip,(l,c,o)=>{let p=o?o.length:0;return l.slice(0,p)+"["+"a".repeat(l.length-p-2)+"]"}),s=this.options.hooks?.emStrongMask?.call({lexer:this},s)??s;let n=!1,i="",a=1/0;for(;e;){if(e.length<a)a=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}n||(i=""),n=!1;let l;if(this.options.extensions?.inline?.some(o=>(l=o.call({lexer:this},e,t))?(e=e.substring(l.raw.length),t.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let o=t.at(-1);l.type==="text"&&o?.type==="text"?(o.raw+=l.raw,o.text+=l.text):t.push(l);continue}if(l=this.tokenizer.emStrong(e,s,i)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.del(e,s,i)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),t.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),t.push(l);continue}let c=e;if(this.options.extensions?.startInline){let o=1/0,p=e.slice(1),h;this.options.extensions.startInline.forEach(x=>{h=x.call({lexer:this},p),typeof h=="number"&&h>=0&&(o=Math.min(o,h))}),o<1/0&&o>=0&&(c=e.substring(0,o+1))}if(l=this.tokenizer.inlineText(c)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(i=l.raw.slice(-1)),n=!0;let o=t.at(-1);o?.type==="text"?(o.raw+=l.raw,o.text+=l.text):t.push(l);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t="Infinite loop on byte: "+e;if(this.options.silent)console.error(t);else throw new Error(t)}},N=class{options;parser;constructor(r){this.options=r||A}space(r){return""}code({text:r,lang:e,escaped:t}){let s=(e||"").match(b.notSpaceStart)?.[0],n=r?r.replace(b.endingNewline,"")+`
50
+ `:"";return s?'<pre><code class="language-'+w(s)+'">'+(t?n:w(n,!0))+`</code></pre>
51
+ `:"<pre><code>"+(t?n:w(n,!0))+`</code></pre>
52
+ `}blockquote({tokens:r}){return`<blockquote>
53
+ ${this.parser.parse(r)}</blockquote>
54
+ `}html({text:r}){return r}def(r){return""}heading({tokens:r,depth:e}){return`<h${e}>${this.parser.parseInline(r)}</h${e}>
55
+ `}hr(r){return`<hr>
56
+ `}list(r){let e=r.ordered,t=r.start,s="";for(let a=0;a<r.items.length;a++){let l=r.items[a];s+=this.listitem(l)}let n=e?"ol":"ul",i=e&&t!==1?' start="'+t+'"':"";return"<"+n+i+`>
57
+ `+s+"</"+n+`>
58
+ `}listitem(r){return`<li>${this.parser.parse(r.tokens)}</li>
59
+ `}checkbox({checked:r}){return"<input "+(r?'checked="" ':"")+'disabled="" type="checkbox"> '}paragraph({tokens:r}){return`<p>${this.parser.parseInline(r)}</p>
60
+ `}table(r){let e="",t="";for(let n=0;n<r.header.length;n++)t+=this.tablecell(r.header[n]);e+=this.tablerow({text:t});let s="";for(let n=0;n<r.rows.length;n++){let i=r.rows[n];t="";for(let a=0;a<i.length;a++)t+=this.tablecell(i[a]);s+=this.tablerow({text:t})}return s&&(s=`<tbody>${s}</tbody>`),`<table>
61
+ <thead>
62
+ `+e+`</thead>
63
+ `+s+`</table>
64
+ `}tablerow({text:r}){return`<tr>
65
+ ${r}</tr>
66
+ `}tablecell(r){let e=this.parser.parseInline(r.tokens),t=r.header?"th":"td";return(r.align?`<${t} align="${r.align}">`:`<${t}>`)+e+`</${t}>
67
+ `}strong({tokens:r}){return`<strong>${this.parser.parseInline(r)}</strong>`}em({tokens:r}){return`<em>${this.parser.parseInline(r)}</em>`}codespan({text:r}){return`<code>${w(r,!0)}</code>`}br(r){return"<br>"}del({tokens:r}){return`<del>${this.parser.parseInline(r)}</del>`}link({href:r,title:e,text:t,tokens:s,autolink:n}){let i=n?w(t,!0):this.parser.parseInline(s),a=ae(r);if(a===null)return i;r=w(a,n);let l='<a href="'+r+'"';return e&&(l+=' title="'+w(e)+'"'),l+=">"+i+"</a>",l}image({href:r,title:e,text:t,tokens:s}){s&&(t=this.parser.parseInline(s,this.parser.textRenderer));let n=ae(r);if(n===null)return w(t);r=n;let i=`<img src="${w(r)}" alt="${w(t)}"`;return e&&(i+=` title="${w(e)}"`),i+=">",i}text(r){return"tokens"in r&&r.tokens?this.parser.parseInline(r.tokens):"escaped"in r&&r.escaped?r.text:w(r.text)}},te=class{strong({text:r}){return r}em({text:r}){return r}codespan({text:r}){return r}del({text:r}){return r}html({text:r}){return r}text({text:r}){return r}link({text:r}){return""+r}image({text:r}){return""+r}br(){return""}checkbox({raw:r}){return r}},$=class X{options;renderer;textRenderer;constructor(e){this.options=e||A,this.options.renderer=this.options.renderer||new N,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new te}static parse(e,t){return new X(t).parse(e)}static parseInline(e,t){return new X(t).parseInline(e)}parse(e){this.renderer.parser=this;let t="";for(let s=0;s<e.length;s++){let n=e[s];if(this.options.extensions?.renderers?.[n.type]){let a=n,l=this.options.extensions.renderers[a.type].call({parser:this},a);if(l!==!1||!["space","hr","heading","code","table","blockquote","list","checkbox","html","def","paragraph","text"].includes(a.type)){t+=l||"";continue}}let i=n;switch(i.type){case"space":{t+=this.renderer.space(i);break}case"hr":{t+=this.renderer.hr(i);break}case"heading":{t+=this.renderer.heading(i);break}case"code":{t+=this.renderer.code(i);break}case"table":{t+=this.renderer.table(i);break}case"blockquote":{t+=this.renderer.blockquote(i);break}case"list":{t+=this.renderer.list(i);break}case"checkbox":{t+=this.renderer.checkbox(i);break}case"html":{t+=this.renderer.html(i);break}case"def":{t+=this.renderer.def(i);break}case"paragraph":{t+=this.renderer.paragraph(i);break}case"text":{t+=this.renderer.text(i);break}default:{let a='Token with "'+i.type+'" type was not found.';if(this.options.silent)return console.error(a),"";throw new Error(a)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let s="";for(let n=0;n<e.length;n++){let i=e[n];if(this.options.extensions?.renderers?.[i.type]){let l=this.options.extensions.renderers[i.type].call({parser:this},i);if(l!==!1||!["escape","html","link","image","checkbox","strong","em","codespan","br","del","text"].includes(i.type)){s+=l||"";continue}}let a=i;switch(a.type){case"escape":{s+=t.text(a);break}case"html":{s+=t.html(a);break}case"link":{s+=t.link(a);break}case"image":{s+=t.image(a);break}case"checkbox":{s+=t.checkbox(a);break}case"strong":{s+=t.strong(a);break}case"em":{s+=t.em(a);break}case"codespan":{s+=t.codespan(a);break}case"br":{s+=t.br(a);break}case"del":{s+=t.del(a);break}case"text":{s+=t.text(a);break}default:{let l='Token with "'+a.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return s}},v=class{options;block;constructor(r){this.options=r||A}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess(r){return r}postprocess(r){return r}processAllTokens(r){return r}emStrongMask(r){return r}provideLexer(r=this.block){return r?S.lex:S.lexInline}provideParser(r=this.block){return r?$.parse:$.parseInline}},Tt=class{defaults=U();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=$;Renderer=N;TextRenderer=te;Lexer=S;Tokenizer=j;Hooks=v;constructor(...r){this.use(...r)}walkTokens(r,e){let t=[];for(let s of r)switch(t=t.concat(e.call(this,s)),s.type){case"table":{let n=s;for(let i of n.header)t=t.concat(this.walkTokens(i.tokens,e));for(let i of n.rows)for(let a of i)t=t.concat(this.walkTokens(a.tokens,e));break}case"list":{let n=s;t=t.concat(this.walkTokens(n.items,e));break}default:{let n=s;this.defaults.extensions?.childTokens?.[n.type]?this.defaults.extensions.childTokens[n.type].forEach(i=>{let a=n[i].flat(1/0);t=t.concat(this.walkTokens(a,e))}):n.tokens&&(t=t.concat(this.walkTokens(n.tokens,e)))}}return t}use(...r){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return r.forEach(t=>{let s={...t};if(s.async=this.defaults.async||s.async||!1,t.extensions&&(t.extensions.forEach(n=>{if(!n.name)throw new Error("extension name required");if("renderer"in n){let i=e.renderers[n.name];i?e.renderers[n.name]=function(...a){let l=n.renderer.apply(this,a);return l===!1&&(l=i.apply(this,a)),l}:e.renderers[n.name]=n.renderer}if("tokenizer"in n){if(!n.level||n.level!=="block"&&n.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let i=e[n.level];i?i.unshift(n.tokenizer):e[n.level]=[n.tokenizer],n.start&&(n.level==="block"?e.startBlock?e.startBlock.push(n.start):e.startBlock=[n.start]:n.level==="inline"&&(e.startInline?e.startInline.push(n.start):e.startInline=[n.start]))}"childTokens"in n&&n.childTokens&&(e.childTokens[n.name]=n.childTokens)}),s.extensions=e),t.renderer){let n=this.defaults.renderer||new N(this.defaults);for(let i in t.renderer){if(!(i in n))throw new Error(`renderer '${i}' does not exist`);if(["options","parser"].includes(i))continue;let a=i,l=t.renderer[a],c=n[a];n[a]=(...o)=>{let p=l.apply(n,o);return p===!1&&(p=c.apply(n,o)),p||""}}s.renderer=n}if(t.tokenizer){let n=this.defaults.tokenizer||new j(this.defaults);for(let i in t.tokenizer){if(!(i in n))throw new Error(`tokenizer '${i}' does not exist`);if(["options","rules","lexer"].includes(i))continue;let a=i,l=t.tokenizer[a],c=n[a];n[a]=(...o)=>{let p=l.apply(n,o);return p===!1&&(p=c.apply(n,o)),p}}s.tokenizer=n}if(t.hooks){let n=this.defaults.hooks||new v;for(let i in t.hooks){if(!(i in n))throw new Error(`hook '${i}' does not exist`);if(["options","block"].includes(i))continue;let a=i,l=t.hooks[a],c=n[a];v.passThroughHooks.has(i)?n[a]=o=>{if(this.defaults.async&&v.passThroughHooksRespectAsync.has(i))return(async()=>{let h=await l.call(n,o);return c.call(n,h)})();let p=l.call(n,o);return c.call(n,p)}:n[a]=(...o)=>{if(this.defaults.async)return(async()=>{let h=await l.apply(n,o);return h===!1&&(h=await c.apply(n,o)),h})();let p=l.apply(n,o);return p===!1&&(p=c.apply(n,o)),p}}s.hooks=n}if(t.walkTokens){let n=this.defaults.walkTokens,i=t.walkTokens;s.walkTokens=function(a){let l=[];return l.push(i.call(this,a)),n&&(l=l.concat(n.call(this,a))),l}}this.defaults={...this.defaults,...s}}),this}setOptions(r){return this.defaults={...this.defaults,...r},this}lexer(r,e){return S.lex(r,e??this.defaults)}parser(r,e){return $.parse(r,e??this.defaults)}parseMarkdown(r){return(e,t)=>{let s={...t},n={...this.defaults,...s},i=this.onError(!!n.silent,!!n.async);if(this.defaults.async===!0&&s.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof e>"u"||e===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof e!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected"));if(n.hooks&&(n.hooks.options=n,n.hooks.block=r),n.async)return(async()=>{let a=n.hooks?await n.hooks.preprocess(e):e,l=await(n.hooks?await n.hooks.provideLexer(r):r?S.lex:S.lexInline)(a,n),c=n.hooks?await n.hooks.processAllTokens(l):l;n.walkTokens&&await Promise.all(this.walkTokens(c,n.walkTokens));let o=await(n.hooks?await n.hooks.provideParser(r):r?$.parse:$.parseInline)(c,n);return n.hooks?await n.hooks.postprocess(o):o})().catch(i);try{n.hooks&&(e=n.hooks.preprocess(e));let a=(n.hooks?n.hooks.provideLexer(r):r?S.lex:S.lexInline)(e,n);n.hooks&&(a=n.hooks.processAllTokens(a)),n.walkTokens&&this.walkTokens(a,n.walkTokens);let l=(n.hooks?n.hooks.provideParser(r):r?$.parse:$.parseInline)(a,n);return n.hooks&&(l=n.hooks.postprocess(l)),l}catch(a){return i(a)}}}onError(r,e){return t=>{if(t.message+=`
68
+ Please report this to https://github.com/markedjs/marked.`,r){let s="<p>An error occurred:</p><pre>"+w(t.message+"",!0)+"</pre>";return e?Promise.resolve(s):s}if(e)return Promise.reject(t);throw t}}},z=new Tt;function g(r,e){return z.parse(r,e)}g.options=g.setOptions=function(r){return z.setOptions(r),g.defaults=z.defaults,ge(g.defaults),g};g.getDefaults=U;g.defaults=A;function zt(...r){return z.use(...r),g.defaults=z.defaults,ge(g.defaults),g}g.use=zt;g.walkTokens=function(r,e){return z.walkTokens(r,e)};g.parseInline=z.parseInline;g.Parser=$;g.parser=$.parse;g.Renderer=N;g.TextRenderer=te;g.Lexer=S;g.lexer=S.lex;g.Tokenizer=j;g.Hooks=v;g.parse=g;var At=g.options,_t=g.setOptions,Pt=g.walkTokens,Lt=g.parseInline;var It=$.parse,Et=S.lex;export{g as a};
@@ -0,0 +1,14 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a as A}from"./XQ3NBBQ3.js";import b from"./ZLLVPKDN.js";import{a as y}from"./FDOMMK2M.js";import a from"./3F5EZZSG.js";import{a as i}from"./V7Y22FRP.js";import{J as f,Ya as S,r as u,s as p}from"./LOQ2PKV5.js";export default $arcgis.t(([,,,,,,{r:x},{b:w,d:E,j:I,k:L,l:v,m:F,n:$,o:C,p:N,q:R,r:T,s:_,t:b,u:h}])=>{var M=async(t,a)=>{let e=t.tool_calls??[];if(e.length===0){await i({text:`LLM did not request any tool calls: ${String(t?.content)}`},a);return}await Promise.all(e.map(async r=>await i({text:`LLM invoked ${r.name} tool with arguments: ${JSON.stringify(r.args,null,2)}`},a)))},k=.7,P=10,z=async(t,a)=>{try{await i({text:"Similarity search to find fields"},a);let e=y(a,"fieldSearch"),r=y(a,"layersAndFieldsRegistry"),n=y(a,"embeddingCache"),o=await e.searchFields({text:t.agentExecutionContext.assignedTask,layerIds:t.vectorSearchLayerIds,minScore:k,topResults:P,embeddingCache:n}),m=o.map(({layerId:c,results:d})=>{let g=d.map(s=>` - ${s.name} (${s.score.toFixed(2)})`).join(`
3
+ `);return`${r.get(c)?.layerItem.name??c}:
4
+ ${g}`}).join(`
5
+ `),l;return o.length>0?l=`Vector search completed. Matching layers and fields with scores:
6
+ ${m}`:l=`No vector search results found for score over ${k}.`,await i({text:l},a),{...t,vectorSearchFieldResults:o}}catch(e){throw await i({text:`Error during vector search: ${e instanceof Error?e.message:String(e)}`},a),new Error(`Vector search failed: ${e instanceof Error?e.message:String(e)}`)}},D=.7,G=async(t,a)=>{try{await i({text:`Similarity search to find layers: ${t.agentExecutionContext.assignedTask}`},a);let e=y(a,"layerSearch"),r=y(a,"layersAndFieldsRegistry"),n=await e.searchLayers({text:t.agentExecutionContext.assignedTask,minScore:D}),o=n.map(c=>c.id),m=n.map(({id:c,score:d})=>`${r.get(c)?.layerItem.name??c} (${d.toFixed(2)})`).join(`
7
+ `),l;return o.length>0?l=`Vector search completed. Matching layers with scores:
8
+ ${m}`:l="Vector search completed. No matching layers found.",await i({text:l},a),{...t,vectorSearchLayerIds:o}}catch(e){throw await i({text:`Error during vector search: ${e instanceof Error?e.message:String(e)}`},a),new Error(`Vector search failed: ${e instanceof Error?e.message:String(e)}`)}},j=[I,L,v,F,$,C,N,R,T,_,b],V=(t,a=3)=>{let e=t.map((n,o)=>n.type==="human"?o:-1).filter(n=>n!==-1);if(e.length===0)return[];let r=e.length>a?e[e.length-a]:e[0];return t.slice(r)},H=async(t,a)=>{await i({text:"Requesting LLM for layer query results"},a);let e=await E("navigation_intent_prompt");if(!a?.configurable)throw new Error("config.configurable is required for layer query tools");let r={layerFieldInfo:t.layerFieldInfo},n=await x({promptText:e,modelTier:"advanced",config:a,messages:V(t.agentExecutionContext.messages),inputVariables:r,tools:j});return await M(n,a),{...t,agentExecutionContext:{...t.agentExecutionContext,messages:[...t.agentExecutionContext.messages,n]}}};async function B(t,a){let e=await new w(j,{handleToolErrors:!1}).invoke({messages:V(t.agentExecutionContext.messages)},a),r=e.messages.map(o=>o.text).join(`
9
+ `);await i({text:`Finished executing layer filter tool: ${r}`},a);let n=e.messages.map(o=>o.text).join(`
10
+ `);return{...t,outputMessage:n}}var J=async(t,a)=>(await i({text:"Exiting Layer Styling agent"},a),t),O=async(t,a)=>{try{await i({text:"Populating layer and field info"},a);let e=[];for(let r of t.vectorSearchFieldResults){let n=function(g){let s=l.get(g)?.layerItem;return s?[s.name&&`Name: ${s.name}`,s.title&&`Title: ${s.title}`,s.description&&`Description: ${s.description}`].filter(Boolean).join(" | "):g},{layerId:o,results:m}=r,l=y(a,"layersAndFieldsRegistry"),c=l.get(o)?.fieldRegistry;if(!c)continue;let d=e.find(g=>g.layerId===o);d||(d={layerId:o,layerSummary:n(o),fieldInfos:[]},e.push(d));for(let g of m){let s=c.get(g.name);s&&d.fieldInfos.push(s)}}return await i({text:"Populated layerFieldInfo"},a),{...t,layerFieldInfo:e}}catch(e){throw await i({text:"Error populating layerFieldInfo"},a),new Error(`Error populating layerFieldInfo: ${e instanceof Error?e.message:String(e)}`)}},U=(t,a)=>{let e=t.vectorSearchLayerIds??[];if(e.length<=1)return{...t,selectedLayerId:t.vectorSearchLayerIds[0]};let{hitlResponse:r}=a.configurable;if(r?.agentId!==q.id||r.id!=="reviewLayerSelection"){let o={agentId:q.id,id:"reviewLayerSelection",kind:"singleSelection",message:"Choose a layer to apply the styles.",metadata:[...e]};throw new f(o)}let n=null;return Array.isArray(r.payload)&&r.payload.length>0&&(n=r.payload[0]),{...t,selectedLayerId:n??t.vectorSearchLayerIds[0]}},K=(t,a)=>A(["layerSearch","fieldSearch","layersAndFieldsRegistry"],"Layer Styling Agent")(t,a),Q=()=>new S(h).addNode("requireLayerStylingServices",K).addNode("vectorSearchLayers",G).addNode("layerSelectionHITL",U).addNode("vectorSearchFields",z).addNode("populateLayerFieldInfo",O).addNode("agent",H).addNode("tools",B).addNode("earlyExit",J).addEdge(u,"requireLayerStylingServices").addEdge("requireLayerStylingServices","vectorSearchLayers").addConditionalEdges("layerSelectionHITL",t=>t.vectorSearchLayerIds.length?"vectorSearchFields":"earlyExit").addConditionalEdges("vectorSearchFields",t=>t.vectorSearchFieldResults.length?"populateLayerFieldInfo":"earlyExit").addEdge("populateLayerFieldInfo","agent").addEdge("agent","tools").addEdge("tools",p).addEdge("earlyExit",p),W=String.raw`- **layerStyling** — User wants to change how features are drawn or styled on the map based on their data, such as applying color, size, transparency, symbols, or charts according to field values.
11
+ _Example: “Color points by sales amount”_
12
+ _Example: “Show population density with a color gradient”_
13
+ _Example: “Create a relationship map between height and depth”_
14
+ _Example: “Vary circle sizes according to population”_`,q={id:"layerStyling",name:"Layer Styling Agent",description:W,createGraph:Q,workspace:h};return{a:M,b:q}},"identity/IdentityManager","portal/Portal","request","config","core/reactiveUtils","layers/FeatureLayer",a,b)
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a as i}from"./ONQ6JSBJ.js";import{Dc as n}from"./IYLFJCJ2.js";import{Dd as r}from"./MWYBF3F3.js";async function s(a,t){await t.when();let e=t.map?.allLayers.find(l=>l.id===a);if(!e)return console.warn(`[goToLayer] No matching FeatureLayer found for: ${a}`),{text:`Could not find layer for: ${a}`};let o;return(e.type==="link-chart"||e.type==="knowledge-graph-sublayer")&&t.map?.activeLinkChartLayer?o=t.map.diagramNodesExtent:o=e.fullExtent,o?(await t.goTo(o),e.visible=!0,{text:`Successfully zoomed to: ${e.title??""}`}):{text:"Layer has no defined extent. Cannot zoom to layer."}}async function m({layerId:a},t){let{mapView:e}=i(t,["mapView"]);return await s(a,e)}var c=r.object({layerId:r.string().describe("The id of the layer to navigate to")}),p=n(m,{name:"goToLayer",description:"Zooms the map view to the full extent of the top matching layer.",schema:c});export{p as a};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ var s=(n,r)=>{let i=n?.configurable?.services?.[r];if(i==null)throw new Error(`${r} missing in config.configurable.services`);return i};export{s as a};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{b as w,c as L}from"./H4ERKWFA.js";import{B as O,a as b,b as E,c as u,d as h,e as y,f as x,m as f,n as C,o as P}from"./2DYOTV7W.js";var _=e=>(...n)=>{let t=h(),o=new e(...n),s=o.exports;u(t.at(-1));let r=o.component.manager;r.W(o,s),o.watchExports(r.W.bind(r,o)),y(o);let i=[o.component,...t].reverse();return f(i,a=>a===void 0?void 0:M(o,a,s),s)},M=(e,{host:n,key:t,isReactive:o},s)=>{let r=n,i=r[t]!==e.exports,a=r[t]!==s,p=s!==e.exports;if(i&&!a&&p&&(r[t]=e.exports),n===e.component){if(o){let l=e.component.manager;a&&l.W(e,r[t]),e.onUpdate(m=>{if(m.has(t)){let g=r[t];g!==e.exports&&l.W(e,g)}})}e.O=o?void 0:t}let c=e.component.constructor.elementProperties.get(t)?.readOnly;e.watchExports(()=>{r[t]!==e.exports&&(c?x(()=>{r[t]=e.exports}):r[t]=e.exports)})};var D=e=>R(void 0,e);var v=class extends P{constructor(n,t){super(n);let o=this.exports;try{E(this.component);let s=t(this.component,this),r=this.exports!==o;if(b(s)){r||this.setProvisionalExports(s);let i=s.then(a=>{this.exports=a,super.catchUpLifecycle()}).catch(a=>{this.P.reject(a)});this.onLoad(async()=>await i)}else(!r||s!==void 0)&&(this.exports=s),queueMicrotask(()=>super.catchUpLifecycle())}catch(s){this.P.reject(s)}}catchUpLifecycle(){}},R=_(v);var S=(e,n,t)=>D((o,s)=>{let r=n,i=C({bubbles:!1,composed:!1});return s.onUpdated(a=>{if(!r.some(c=>a.has(c)))return;let p=t(A(e,r,a)),d=t(A(e,r));p.forEach((c,l)=>{d.has(l)||i.emit({...c,data:void 0})}),d.forEach((c,l)=>{let m=p.get(l);(!m||!N(m,c))&&i.emit(c)})}),i});function A(e,n,t){let o={};return n.forEach(s=>{o[s]=t?.has(s)?t.get(s):e[s]}),o}function N(e,n){if(e===n)return!0;if(!e||!n||typeof e!="object"||typeof n!="object"||Array.isArray(e)||Array.isArray(n))return!1;let t=Object.entries(e),o=Object.entries(n);return t.length!==o.length?!1:t.every(([s,r])=>N(r,n[s]))}var V=e=>(n={})=>D((t,o)=>{let s=w(t.el),r={_lang:s.lang,_t9nLocale:s.t9nLocale,_loading:!0},i=t;o.onLifecycle(()=>L(t.el,()=>e("./assets"),({t9nLocale:p,t9nStrings:d,lang:c})=>{let l={...d,_lang:c,_t9nLocale:p,_loading:!1};o.exports=l;let m=d.componentLabel;typeof m=="string"&&"label"in t&&t.label==null&&(t.label??=m),a(i.messageOverrides)},n.name));let a=p=>{let d=o.exports,c=d._original??d,l=j(c,p);p&&(l._original=c),o.exports=l};return"messageOverrides"in i&&o.onUpdate(p=>{p.has("messageOverrides")&&a(i.messageOverrides)}),n.blocking?(o.setProvisionalExports(r,!1),o.ready):r}),j=(e,n)=>{if(!n)return e;let t={...e};return Object.entries(n).forEach(([o,s])=>{e[o]!==void 0&&(typeof s=="object"?t[o]=j(e[o],s):t[o]=s??e[o])}),t};var X=V(O);export{S as a,X as b};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import n from"./H5AVPDSE.js";import"./XQ3NBBQ3.js";import m from"./ZLLVPKDN.js";import{c as s,d as p}from"./UBKYXKMW.js";import"./4PKMJMND.js";import l from"./VWP2B4LB.js";import"./5Q2XRQS6.js";import k from"./K7YQIJFT.js";import j from"./UT6JA4TK.js";import i from"./CA3RNGPN.js";import h from"./ES54NWOB.js";import g from"./CCC6LBMY.js";import"./34O57OGV.js";import"./LXPGQNXQ.js";import"./FDOMMK2M.js";import f from"./WVP73XWD.js";import"./Z5XQLSYH.js";import"./OZAZ277H.js";import d from"./AVRS6UCQ.js";import"./K5JVB6FU.js";import"./FCI6M62J.js";import"./BFZ5S7NF.js";import"./MCZJD3A4.js";import"./QUZTFUWM.js";import c from"./3F5EZZSG.js";import"./QZL4SAYR.js";import"./H4ERKWFA.js";import"./WXQ26G5Q.js";import"./MJSIYEWN.js";import b from"./JNOH4PD5.js";import a from"./KA3S22NQ.js";import"./ONQ6JSBJ.js";import{A as o,w as e}from"./2DYOTV7W.js";import"./V7Y22FRP.js";import"./AXTQU5YL.js";import"./LOQ2PKV5.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([,,,,,,,,,{fetchKnowledgeGraph:n},,,,,,,,,,,,,m])=>{var r=class extends e{constructor(){super(...arguments),this.agent=m}static{this.properties={referenceElement:1,serviceUrl:3,context:0}}#i;#r;#t;#e;get serviceUrl(){return this.#r}set serviceUrl(t){this.#r=t}async getContext(){let t=this.context?{...this.context,knowledgeGraph:void 0,view:void 0}:{};if(this.#i)return{...t,view:this.#i};if(this.#t)try{let i=await this.#t;return{...t,knowledgeGraph:i}}catch(i){console.error("Failed to load knowledge graph via service URL:",i)}if(!this.context?.knowledgeGraph&&!this.context?.view)throw new Error("arcgis-assistant-knowledge-agent requires either a knowledgeGraph or view in context, and neither were provided");return this.context}willUpdate(t){t.has("serviceUrl")&&this.serviceUrl?this.#t=n(this.serviceUrl):this.#t=void 0}load(){this.#i=p(this)??void 0,this.#e=s(this)}disconnectedCallback(){this.#e?.unregister(this.agent.id),super.disconnectedCallback()}};o("arcgis-assistant-knowledge-agent",r);return r},"identity/IdentityManager","portal/Portal","request","config","core/reactiveUtils","layers/FeatureLayer","intl","smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","rest/knowledgeGraphService",a,b,c,d,f,g,h,i,j,k,l,m,n)
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import b from"./JNOH4PD5.js";import a from"./KA3S22NQ.js";import"./ONQ6JSBJ.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([,a])=>{return a},a,b)
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"./YIMNOUTF.js";var e=`## Task: Summarize Geographic Features
2
+ import"./UZLQALHY.js";var e=`## Task: Summarize Geographic Features
3
3
 
4
4
  You are given features from ArcGIS Feature layer for multiple layers:
5
5
  {queryResponse}
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import c from"./ES54NWOB.js";import b from"./CCC6LBMY.js";import"./34O57OGV.js";import a from"./KA3S22NQ.js";import"./ONQ6JSBJ.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([,,a])=>{return a},a,b,c)
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{a as c}from"./YLN2BZ5J.js";import"./QCSN44H4.js";import"./NXKKG5TK.js";import{g as i,h as s,n as r,v as a,z as p}from"./HWKDNS4K.js";import"./YIMNOUTF.js";var l=i`:host{display:block;max-width:100%}.group{max-width:100%}.prompt{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;cursor:pointer;font-weight:var(--calcite-font-weight-regular)}calcite-chip{max-width:100%}`,e=class extends a{constructor(){super(...arguments),this._messages=c({blocking:!0}),this.prompts=[],this.arcgisPromptSelect=r()}static{this.properties={label:1,prompts:0}}static{this.styles=l}_emitPromptSelect(t){this.arcgisPromptSelect.emit({prompt:t})}render(){return this.prompts.length?s`<calcite-chip-group class="group" .label=${this.label??this._messages.suggestedPromptsLabel}>${this.prompts.map(t=>s`<calcite-chip .value=${t} .label=${t} appearance=outline-fill kind=brand @calciteChipSelect=${()=>this._emitPromptSelect(t)}><div class="prompt">${t}</div></calcite-chip>`)}</calcite-chip-group>`:null}};p("arcgis-assistant-suggested-prompts",e);export{e as ArcgisAssistantSuggestedPrompts};
2
+ import{b as c}from"./FGQLS3UX.js";import"./QUZTFUWM.js";import"./H4ERKWFA.js";import{A as p,g as i,h as s,n as r,w as a}from"./2DYOTV7W.js";import"./UZLQALHY.js";var l=i`:host{display:block;max-width:100%}.group{max-width:100%}.prompt{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal;cursor:pointer;font-weight:var(--calcite-font-weight-regular)}calcite-chip{max-width:100%}`,e=class extends a{constructor(){super(...arguments),this._messages=c({blocking:!0}),this.prompts=[],this.arcgisPromptSelect=r()}static{this.properties={label:1,prompts:0}}static{this.styles=l}_emitPromptSelect(t){this.arcgisPromptSelect.emit({prompt:t})}render(){return this.prompts.length?s`<calcite-chip-group class="group" .label=${this.label??this._messages.suggestedPromptsLabel}>${this.prompts.map(t=>s`<calcite-chip .value=${t} .label=${t} appearance=outline-fill kind=brand @calciteChipSelect=${()=>this._emitPromptSelect(t)}><div class="prompt">${t}</div></calcite-chip>`)}</calcite-chip-group>`:null}};p("arcgis-assistant-suggested-prompts",e);export{e as ArcgisAssistantSuggestedPrompts};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{k as l}from"./2DYOTV7W.js";var p=(t,s)=>{let e=t;for(;e;){if(e===s)return!0;if(!e.parentNode)return!1;e.parentNode instanceof ShadowRoot?e=e.parentNode.host:e=e.parentNode}return!1},u=(t,s,e)=>{let n=C(s).subscribe;return n(o=>{o.some(r=>p(t,r.target))&&e()})},d={},C=t=>{let s=t.join(","),e=d[s];if(e!==void 0)return e;let n=new Set,o=new MutationObserver(r=>n.forEach(i=>i(r)));globalThis.document&&o.observe(document.documentElement,{attributes:!0,attributeFilter:t,subtree:!0});let a={subscribe:r=>(n.add(r),()=>{n.delete(r),n.size===0&&(o.disconnect(),d[s]=void 0)})};return d[s]=a,a},E=(t,s)=>{let e=t;for(;e;){let n=e.closest?.(s);if(n)return n;let o=e.getRootNode?.();if(o===globalThis.document)return;e=o?.host}};var g=(t,s,e)=>E(t,`[${s}]`)?.getAttribute(s)??e;var b=t=>{let s=g(t,"lang",globalThis.navigator?.language||c);return{lang:s,t9nLocale:m(s)}},k=(t,s,e,n)=>{let o,a=()=>v(t,s(),n).then(r=>{(o?.lang!==r.lang||o.t9nLocale!==r.t9nLocale||o.t9nStrings!==r.t9nStrings)&&e(r),o=r}).catch(r=>{l("error","intl","Error updating component locale state",{detail:{error:r}})});return queueMicrotask(a),u(t,["lang"],a)},v=async(t,s,e=t.localName.split("-").slice(1).join("-"))=>{let{lang:n,t9nLocale:o}=b(t),a=`${s}/${e}/t9n`,i=e===null?{}:await y(o,a,"messages.");return{lang:n,t9nLocale:o,t9nStrings:i}};var $="ar,bg,bs,ca,cs,da,de,el,en,es,et,fi,fr,he,hr,hu,id,it,ja,ko,lt,lv,nl,nb,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sr,sv,th,tr,uk,vi,zh-CN,zh-HK,zh-TW".split(","),A=new Set($),c="en",N={pt:"pt-BR",nb:"no",nn:"no",zh:"zh-CN"},y=async(t,s,e="")=>{let n=`${s}/${e}`,o=`${n}${t}.json`;return h[o]??=f(t,n),await h[o]},h={},f=async(t,s)=>{let e=`${s}${t}.json`;try{let n=await fetch(e);if(n.ok)return await n.json()}catch(n){return l("error","intl",`An unknown error occurred while fetching localization strings at ${e}`,{detail:{error:n}}),{}}return t===c?{}:await f(c,s)},m=t=>{let[s,e]=t.split("-"),n=s.toLowerCase(),o=n;return e&&(o=`${n}-${e.toUpperCase()}`),o=N[o]??o,A.has(o)?o:e?m(n):c};export{E as a,b,k as c,y as d};
@@ -1,9 +1,9 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"./R56X6ZKR.js";import a from"./T43LEBBE.js";import{c as K,d as E}from"./RUURNLTP.js";import"./5W7S2RS4.js";import"./NXKKG5TK.js";import{v as y,z as f}from"./HWKDNS4K.js";import{a as c,b}from"./P7DG5T3Z.js";import"./BX7FSMUU.js";import{a as x,b as d,j as k,ta as _}from"./DHKUXLU3.js";import{Z as v}from"./CHPQM77M.js";import"./WNS5ZUF5.js";import"./ZEYIBYSF.js";import"./YIMNOUTF.js";export default $arcgis.t(([,,,,,,,,,,,,,,,{fetchKnowledgeGraph:B},{j:A,l:q},{K:u,L:C,M:G,N:T,O:N,P:R,Q:L,R:$,S:z,T:F,U:D,a:S,m:g,n:h,p:M}])=>{var I=[R,L,F,$,N,D,z];async function O(e,a){let r=await g("arcgis_knowledge_tool_prompt"),o=C(a),s={assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps,contextType:o},n=await q({promptText:r,messages:e.arcgisKnowledgeMessages,inputVariables:s,tools:I}),i=(n.tool_calls?.length??0)>0,t=typeof n.text=="string"?n.text.trim():"",l=t.length>0,p=n.content.toString();return!i&&(o==="map"||o==="knowledgeGraph")?{...e,arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,n],outputMessage:o==="map"?"No tools were found for the current view and prompt. Maps do not support changing nonspatial visibility, layout changes, or generation from queries.":"No tools were found for the current prompt and knowledge graph service. A knowledge graph service only supports search and query.",status:"success"}:{...e,arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,n],outputMessage:i?p:t,status:i?e.status:l?"success":"failed",summary:p?h(p):"ArcGIS Knowledge Agent tool executed."}}var U={generateCypher:"generated-cypher-query",queryGraphData:"graph-query-result",searchGraphData:"graph-search-result",addRecords:"added-records",applyLayout:"applied-layout",changeNonspatialVisibility:"changed-nonspatial-visibility",createLinkChart:"created-link-chart"};function V(e){return!!e&&e.status==="success"&&!!U[e.toolName]}function J(e){return{type:U[e.toolName],data:e.details}}async function P(e,a){let r=new S(I,{handleToolErrors:!1});try{let o=await r.invoke({messages:e.arcgisKnowledgeMessages},a),s=[];for(let t of o.messages){let l;if(typeof t.content!="string")throw new Error(`Unexpected tool message content type: ${typeof t.content}. Expected string.`);try{l=JSON.parse(t.content)}catch{throw new Error(`Failed to parse tool message content as JSON. Tool: ${t.name??"unknown"}.
2
+ import{a as R}from"./XQ3NBBQ3.js";import b from"./ZLLVPKDN.js";import a from"./3F5EZZSG.js";import{a as c,b as k}from"./V7Y22FRP.js";import{A as f,Ya as x,r as w,s as d}from"./LOQ2PKV5.js";import{ta as u}from"./IYLFJCJ2.js";export default $arcgis.t(([,,,,,,{p:_,r:b},{A:S,B:M,C:T,D:E,E:C,F:G,G:N,b:v,d:m,e:h,w:y,x:A,y:K,z:q}])=>{var z=[M,T,G,E,S,N,C];async function $(e,a){let s=await m("arcgis_knowledge_tool_prompt"),o=A(a),n={assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps,contextType:o},r=await b({promptText:s,messages:e.arcgisKnowledgeMessages,inputVariables:n,tools:z,config:a}),i=(r.tool_calls?.length??0)>0,t=typeof r.text=="string"?r.text.trim():"",l=t.length>0,p=r.text;return!i&&(o==="map"||o==="knowledgeGraph")?{...e,arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,r],outputMessage:o==="map"?"No tools were found for the current view and prompt. Maps do not support changing nonspatial visibility, layout changes, or generation from queries.":"No tools were found for the current prompt and knowledge graph service. A knowledge graph service only supports search and query.",status:"success"}:{...e,arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,r],outputMessage:i?p:t,status:i?e.status:l?"success":"failed",summary:p?h(p):"ArcGIS Knowledge Agent tool executed."}}var L={generateCypher:"generated-cypher-query",queryGraphData:"graph-query-result",searchGraphData:"graph-search-result",addRecords:"added-records",applyLayout:"applied-layout",changeNonspatialVisibility:"changed-nonspatial-visibility",createLinkChart:"created-link-chart"};function I(e){return!!e&&e.status==="success"&&!!L[e.toolName]}function D(e){return{type:L[e.toolName],data:e.details}}async function F(e,a){let s=new v(z,{handleToolErrors:!1});try{let o=await s.invoke({messages:e.arcgisKnowledgeMessages},a),n=[];for(let t of o.messages){let l;if(typeof t.content!="string")throw new Error(`Unexpected tool message content type: ${typeof t.content}. Expected string.`);try{l=JSON.parse(t.content)}catch{throw new Error(`Failed to parse tool message content as JSON. Tool: ${t.name??"unknown"}.
3
3
 
4
- Original Content: ${t.content}`)}if(!l||typeof l!="object"||!("toolName"in l))throw new Error(`Parsed tool message content does not have expected structure. Parsed content: ${JSON.stringify(l)}`);s.push(l)}await c({text:`Finished executing ArcGIS Knowledge Agent tools: ${o.messages.filter(t=>t.name).map(t=>t.name).join(", ")}`},a);let n=s.filter(t=>typeof t!="string").map(t=>`- Called Tool: ${t.toolName}, Status: ${t.status}`),i=s[0];return i&&V(i)&&await b(J(i),a),{...e,outputMessage:n.join(`
5
- `),summary:n.length?h(n.join(`
6
- `)):"ArcGIS Knowledge Agent did not execute any tools or return any results.",arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,...o.messages],arcgisKnowledgeToolResult:s}}catch(o){let s=o instanceof Error?o.message:String(o);return await c({text:`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${s}`},a),{...e,outputMessage:`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${s}`,status:"failed",summary:h(`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${s}`),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages]}}}var H=(e,a)=>M([],"ArcgisKnowledge Agent")(e,a);async function Q(e,a){let r=(e.arcgisKnowledgeToolResult??[]).map(l=>({...l,details:void 0})),{knowledgeGraph:o}=await G(a),s=T.getDataModelTypesSummary(o.dataModel),n={assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,toolResult:r,dataModelSummary:s},i=await A({promptText:await g("arcgis_knowledge_summarize_result_prompt"),modelTier:"default",inputVariables:n}),t=typeof i=="string"?i:i.content;return{...e,outputMessage:t,status:"success",summary:h(t),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,new v(t)]}}function m(e){return async(a,r)=>r?.configurable?.abortSignal?.aborted?(await c({text:"Knowledge Agent execution cancelled"},r),new k({goto:d,update:{outputMessage:"Knowledge Agent execution cancelled",summary:"Knowledge Agent execution cancelled",status:"failed"}})):await e(a,r)}var X=()=>new _(u).addNode("requireArcgisKnowledgeServices",H).addNode("agent",m(O)).addNode("tools",m(P)).addNode("summarizationLLM",m(Q)).addEdge(x,"requireArcgisKnowledgeServices").addEdge("requireArcgisKnowledgeServices","agent").addConditionalEdges("agent",e=>(e.arcgisKnowledgeMessages[e.arcgisKnowledgeMessages.length-1]?.tool_calls?.length??0)>0?"tools":d).addConditionalEdges("tools",e=>e.status==="failed"?d:"summarizationLLM").addEdge("summarizationLLM",d),Y=String.raw`The purpose of this agent is to work with Knowledge Graph data, a graph database technology that represents and stores data as interconnected entities (nodes) and relationships (edges).
4
+ Original Content: ${t.content}`)}if(!l||typeof l!="object"||!("toolName"in l))throw new Error(`Parsed tool message content does not have expected structure. Parsed content: ${JSON.stringify(l)}`);n.push(l)}await c({text:`Finished executing ArcGIS Knowledge Agent tools: ${o.messages.filter(t=>t.name).map(t=>t.name).join(", ")}`},a);let r=n.filter(t=>typeof t!="string").map(t=>`- Called Tool: ${t.toolName}, Status: ${t.status}`),i=n[0];return i&&I(i)&&await k(D(i),a),{...e,outputMessage:r.join(`
5
+ `),summary:r.length?h(r.join(`
6
+ `)):"ArcGIS Knowledge Agent did not execute any tools or return any results.",arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,...o.messages],arcgisKnowledgeToolResult:n}}catch(o){let n=o instanceof Error?o.message:String(o);return await c({text:`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${n}`},a),{...e,outputMessage:`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${n}`,status:"failed",summary:h(`ArcGIS Knowledge Agent tool execution failed unexpectedly: ${n}`),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages]}}}var V=(e,a)=>R([],"ArcgisKnowledge Agent")(e,a);async function O(e,a){let s=(e.arcgisKnowledgeToolResult??[]).map(l=>({...l,details:void 0})),{knowledgeGraph:o}=await K(a),n=q.getDataModelTypesSummary(o.dataModel),r={assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,toolResult:s,dataModelSummary:n},i=await _({promptText:await m("arcgis_knowledge_summarize_result_prompt"),modelTier:"default",inputVariables:r,config:a}),t=typeof i=="string"?i:i.content;return{...e,outputMessage:t,status:"success",summary:h(t),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,new u(t)]}}async function j(e){let a=e.arcgisKnowledgeToolResult?.[0],s=a?.status==="success"?a.summary:"ArcGIS Knowledge Agent tool execution failed.";return{...e,outputMessage:s,status:"success",summary:h(s),arcgisKnowledgeMessages:[...e.arcgisKnowledgeMessages,new u(s)]}}function g(e){return async(a,s)=>s?.signal?.aborted?(await c({text:"Knowledge Agent execution cancelled"},s),new f({goto:d,update:{outputMessage:"Knowledge Agent execution cancelled",summary:"Knowledge Agent execution cancelled",status:"failed"}})):await e(a,s)}var J=()=>new x(y).addNode("requireArcgisKnowledgeServices",V).addNode("agent",g($)).addNode("tools",g(F)).addNode("summarizationLLM",g(O)).addNode("finalizeToolSummary",g(j)).addEdge(w,"requireArcgisKnowledgeServices").addEdge("requireArcgisKnowledgeServices","agent").addConditionalEdges("agent",e=>(e.arcgisKnowledgeMessages[e.arcgisKnowledgeMessages.length-1]?.tool_calls?.length??0)>0?"tools":d).addConditionalEdges("tools",e=>{if(e.status==="failed")return d;let a=e.arcgisKnowledgeToolResult?.[0];return a?.status==="success"&&["applyLayout","changeNonspatialVisibility"].includes(a.toolName)?"finalizeToolSummary":"summarizationLLM"}).addEdge("summarizationLLM",d).addEdge("finalizeToolSummary",d),P=String.raw`The purpose of this agent is to work with Knowledge Graph data, a graph database technology that represents and stores data as interconnected entities (nodes) and relationships (edges).
7
7
  This agent has two categories of skills: those that work with an active link chart visualization of a subset of the data in the knowledge graph, and those that work with the knowledge graph data more generally against the entire dataset in the service and database.
8
8
  For link charts, the agent enables users to interact with a link chart by adding new entities (also called nodes) or relationships (also called edges), removing existing entities or relationships,
9
9
  expanding the graph from particular entities, finding relationships between specified entities on the link chart and adding them to the link chart, finding all relationships
@@ -41,4 +41,4 @@ _example: "Discover and add all the relationships originating at 'Entity E' to t
41
41
  _example: "Show me all entities with a name similar to 'Smith' and add them to the link chart"_
42
42
  _example: "Find reports in my graph that have a title similar to 'Quarterly Earnings'"_
43
43
  _example: "Find John Smith and all people he has made phone calls to in the last year"_
44
- _example: "What is the average age of all people who work for Esri?"_`,j={id:"arcgisKnowledge",name:"ArcgisKnowledge Agent",description:Y,createGraph:X,workspace:u};var w=class extends y{constructor(){super(...arguments),this.agent=j}static{this.properties={referenceElement:1,serviceUrl:3,context:0}}#t;#a;#e;get serviceUrl(){return this.#a}set serviceUrl(a){this.#a=a}async getContext(){let a=this.context?{...this.context,knowledgeGraph:void 0,view:void 0}:{};if(this.#t)return{...a,view:this.#t};if(this.#e)try{let r=await this.#e;return{...a,knowledgeGraph:r}}catch(r){console.error("Failed to load knowledge graph via service URL:",r)}if(!this.context?.knowledgeGraph&&!this.context?.view)throw new Error("arcgis-assistant-knowledge-agent requires either a knowledgeGraph or view in context, and neither were provided");return this.context}willUpdate(a){a.has("serviceUrl")&&this.serviceUrl?this.#e=B(this.serviceUrl):this.#e=void 0}load(){this.#t=E(this)??void 0,K(this)}};f("arcgis-assistant-knowledge-agent",w);return w},"identity/IdentityManager","portal/Portal","config","core/reactiveUtils","layers/FeatureLayer","request","intl","smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","identity/IdentityManager","portal/Portal","config","core/reactiveUtils","layers/FeatureLayer","request","rest/knowledgeGraphService",a,e)
44
+ _example: "What is the average age of all people who work for Esri?"_`,he={id:"arcgisKnowledge",name:"ArcgisKnowledge Agent",description:P,createGraph:J,workspace:y};return he},"identity/IdentityManager","portal/Portal","request","config","core/reactiveUtils","layers/FeatureLayer",a,b)
@@ -0,0 +1,72 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import x from"./PTEKX5TX.js";import w from"./D3E5NSY3.js";import t from"./H5AVPDSE.js";import s from"./EWO73MJA.js";import{a as $}from"./XQ3NBBQ3.js";import r from"./QDOKDRBB.js";import q from"./ZLLVPKDN.js";import"./4PKMJMND.js";import p from"./VWP2B4LB.js";import{a as ne}from"./5Q2XRQS6.js";import o from"./RHYNE5OE.js";import n from"./K7YQIJFT.js";import m from"./UT6JA4TK.js";import l from"./CA3RNGPN.js";import k from"./ES54NWOB.js";import i from"./CCC6LBMY.js";import"./34O57OGV.js";import{a as X}from"./LXPGQNXQ.js";import{a as u}from"./FDOMMK2M.js";import h from"./WVP73XWD.js";import{a as Y}from"./Z5XQLSYH.js";import{a as ee}from"./OZAZ277H.js";import g from"./AVRS6UCQ.js";import{a as ae}from"./K5JVB6FU.js";import{a as se}from"./FCI6M62J.js";import{a as oe}from"./BFZ5S7NF.js";import f from"./MNZAQM3Q.js";import e from"./3F5EZZSG.js";import{e as D,f as H}from"./QZL4SAYR.js";import"./H4ERKWFA.js";import"./WXQ26G5Q.js";import"./MJSIYEWN.js";import c from"./JNOH4PD5.js";import a from"./KA3S22NQ.js";import{a as b}from"./ONQ6JSBJ.js";import"./2DYOTV7W.js";import{a as d,b as G}from"./V7Y22FRP.js";import"./AXTQU5YL.js";import{Ya as T,r as v,s as y}from"./LOQ2PKV5.js";import{ta as j}from"./IYLFJCJ2.js";import{a as M}from"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([be,Se,,,,,,,{d:O,i:P,j:Z,k:W,l:B,m:R,n:C,o:J,p:_,q:q,r:S,s:Q,t:U},{a:F,b:Te},te,K,{a:N},,,,,ie,re,{b:k,c:L,d:x,e:w,f:A,g:le,h:I,i:ce,v:z},pe,{a:E,b:ue},me,ge,de])=>{var ke=async e=>{let t=e.allLayers.toArray(),a=[],r=new Map;for(let s of t)if(s instanceof be){let o=(async()=>{let i=await Q(s),n=await U(s,i);r.set(s.id,{layerItem:n,fieldRegistry:i})})();a.push(o)}return await Promise.all(a),r},$e=async e=>{await Se.whenOnce(()=>e.ready);let t=await ke(e.map),{layers:a}=await Me(t),r={schemaVersion:P,modified:Date.now(),embeddings:{modelProvider:W,model:B,dimensions:Z,templates:{layer:R,field:C}},layers:a},s=J.safeParse(r);if(!s.success)throw console.error("Schema Mismatch:",s.error.format()),new Error("Webmap embedding generation failed validation.");return s.data},Me=async e=>{let t=[],a=[];for(let[o,{fieldRegistry:i,layerItem:n}]of e.entries()){let l=he(R,{name:n.name,title:n.title,description:n.description});t.push(l);let c={id:o,name:n.name??"",title:n.title,description:n.description,vector:[],fields:[]};for(let[,m]of i.entries()){let g=he(C,{name:m.name,alias:m.alias,description:m.description});t.push(g),c.fields.push({name:m.name,alias:m.alias,description:m.description,vector:[]})}a.push(c)}let r=await F(t),s=0;return{layers:a.map(o=>(o.vector=r[s++],o.fields.forEach(i=>{i.vector=r[s++]}),o))}},he=(e,t)=>e.replace(/\{(\w+)\}/gu,(a,r)=>t[r]??""),Re=(e,t)=>{if(e.length!==t.length)throw new Error("Vectors must be the same length");let a=0,r=0,s=0;for(let n=0;n<e.length;++n){let l=e[n],c=t[n];a+=l*c,r+=l*l,s+=c*c}let o=Math.sqrt(r*s);if(o===0)return 0;let i=a/o;return Math.max(-1,Math.min(1,i))},V=[K,Y,ee,te,ae,se,oe,re,ne];async function Ce(e,t){let a=await x("navigation_tool_prompt"),{mapView:r}=b(t,["mapView"]),s=r.map.bookmarks?.map(f=>f.name).filter(Boolean)??[],o=e.vectorSearchLayerResults?.length>0?e.vectorSearchLayerResults.map((f,ve)=>`${ve+1}. layerId=${f.id} | title=${f.title??""} | name=${f.name??""} | score=${f.score.toFixed(2)}`).join(`
3
+ `):"",i=e.vectorSearchFieldResults?.length>0?JSON.stringify(e.vectorSearchFieldResults,null,2):"",n=e.intent==="goToBookmark"&&s.length?`Available bookmarks:
4
+ ${s.map(f=>`- ${f}`).join(`
5
+ `)}`:"",l=(e.intent==="goToLayer"||e.intent==="goToFeatures")&&e.vectorSearchLayerResults?.length?`Candidate layers:
6
+ ${o}`:"",c=e.intent==="goToFeatures"&&e.vectorSearchFieldResults?.length?`Candidate fields:
7
+ ${i}`:"",m={intent:e.intent,bookmarksSection:n,layersSection:l,fieldsSection:c,currentZoom:r.zoom,assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps},g=await S({promptText:a,modelTier:"fast",config:t,inputVariables:m,tools:V});await E(g,t);let p=(g.tool_calls?.length??0)>0,h=typeof g.text=="string"?g.text.trim():"",Ee=h.length>0;return{...e,navigationInternalState:{...e.navigationInternalState,toolCallMessage:p?g:void 0},outputMessage:p?e.outputMessage:h,status:p?e.status:Ee?"success":"failed"}}var _e=e=>{let t=typeof e=="string"?e:String(e);try{let a=JSON.parse(t);if(a&&typeof a=="object"&&typeof a.text=="string")return a}catch{console.warn("Failed to parse tool response as JSON:",t)}return{text:t}};async function qe(e,t){let a=new k(V,{handleToolErrors:!1});try{let r=e.navigationInternalState.toolCallMessage;if(!r)throw new Error("navigationToolCalling: missing navigationInternalState.toolCallMessage");let{messages:s}=await a.invoke({messages:[r]},t),o="",i,n;for(let l of s){let c=_e(l.content),m=l.artifact;c.text&&(o+=`${c.text}
8
+ `);let g=m?.sharedStatePatch??c.sharedStatePatch;g&&(i={...i,...g}),m?.sharedResourceAdditions&&(n=[...n??[],...m.sharedResourceAdditions])}return await d({text:`Finished executing navigation tool: ${o}`},t),{...e,outputMessage:o,sharedStatePatch:i,sharedResourceAdditions:n,status:"success",summary:o?w(o):"Navigation executed.",navigationInternalState:{...e.navigationInternalState,toolCallMessage:void 0}}}catch(r){let s=r instanceof Error?r.message:String(r);return await d({text:`Navigation tool execution failed: ${s}`},t),{...e,outputMessage:`Navigation tool execution failed: ${s}`,status:"failed",summary:`Navigation tool execution failed: ${s}`,navigationInternalState:{...e.navigationInternalState,toolCallMessage:void 0}}}}async function Fe(e,t){let a=await x("navigation_intent_prompt"),{mapView:r}=b(t,["mapView"]),s=V.map(g=>({name:g.name,description:g.description,schema:g.schema})),o=r.map.bookmarks?.map(g=>g.name).filter(Boolean)??[],i=o.length?`Available bookmarks:
9
+ ${o.map(g=>`- ${g}`).join(`
10
+ `)}`:"No bookmarks are available in this map.",n={tools:s.map(({name:g,description:p,schema:h})=>`${g}: ${p}, ${JSON.stringify(h)}`).join(`
11
+ `),bookmarks:i,assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps},l=M.object({intent:M.string()}),c=await q({promptText:a,config:t,inputVariables:n,schema:l,modelTier:"fast"}),m=typeof c.intent=="string"?c.intent.trim().replace(/^"|"$/gu,""):"";return{...e,intent:m||""}}var Ne=.7,Le=async(e,t)=>{try{await d({text:`Similarity search to find layers: ${e.agentExecutionContext.assignedTask}`},t);let a=u(t,"layerSearch"),r=u(t,"layersAndFieldsRegistry"),s=u(t,"embeddingCache"),o=(await a.searchLayers({text:e.agentExecutionContext.assignedTask,minScore:Ne,embeddingCache:s})).map(({id:n,score:l})=>{let c=r.get(n)?.layerItem;return{id:n,title:c?.title,name:c?.name??void 0,score:l}}),i;return o.length>0?i=`Vector search completed. Matching layers:
12
+ ${o.map(n=>`- layerId=${n.id} | title=${n.title??""} | name=${n.name??""} | score=${n.score.toFixed(2)}`).join(`
13
+ `)}`:i="Vector search completed. No matching layers found.",await d({text:i},t),{...e,vectorSearchLayerResults:o}}catch(a){throw await d({text:`Error during vector search layers: ${a instanceof Error?a.message:String(a)}`},t),a}},fe=.7,Ae=10,Ie=async(e,t)=>{try{await d({text:`Similarity search to find fields: ${e.agentExecutionContext.assignedTask}`},t);let a=u(t,"fieldSearch"),r=u(t,"layersAndFieldsRegistry"),s=u(t,"embeddingCache"),o=e.vectorSearchLayerResults?.map(l=>l.id)??[];if(o.length===0)return await d({text:"No candidate layers for field search"},t),e;let i=(await a.searchFields({text:e.agentExecutionContext.assignedTask,layerIds:o,minScore:fe,topResults:Ae,embeddingCache:s})).map(({layerId:l,results:c})=>{let m=r.get(l)?.fieldRegistry;return{layerId:l,layerName:r.get(l)?.layerItem.name,results:c.map(g=>{let p=m?.get(g.name);return{name:g.name,score:g.score,type:p?.type,alias:p?.alias,description:p?.description,statistics:p?.statistics,domain:p?.domain}})}}),n;return i.length>0?n=`Vector search completed. Matching layers and fields:
14
+ ${i.map(l=>`${l.layerName??l.layerId}:
15
+ ${l.results.map(c=>` - ${c.name} (${c.score.toFixed(2)})`).join(`
16
+ `)}`).join(`
17
+ `)}`:n=`No vector search field results found for score over ${fe}.`,await d({text:n},t),{...e,vectorSearchFieldResults:i}}catch(a){throw await d({text:`Error during vector search fields: ${a instanceof Error?a.message:String(a)}`},t),a}},ze=(e,t)=>$(["layerSearch","layersAndFieldsRegistry"],"Navigation Agent")(e,t),Ve=()=>new T(L).addNode("requireNavigationServices",ze).addNode("intentLLM",Fe).addNode("vectorSearchLayers",Le).addNode("vectorSearchFields",Ie).addNode("agent",Ce).addNode("tools",qe).addEdge(v,"requireNavigationServices").addEdge("requireNavigationServices","intentLLM").addConditionalEdges("intentLLM",e=>e.intent==="goToLayer"||e.intent==="goToFeatures"?"vectorSearchLayers":"agent",{vectorSearchLayers:"vectorSearchLayers",agent:"agent"}).addConditionalEdges("vectorSearchLayers",e=>e.intent==="goToFeatures"?"vectorSearchFields":"agent",{vectorSearchFields:"vectorSearchFields",agent:"agent"}).addEdge("vectorSearchFields","agent").addEdge("agent","tools").addEdge("tools",y),je=String.raw`- **navigation** — Enables users to interact with the map by navigating to specific locations, layers, features, or extents.
18
+ This includes zooming, panning, centering, or geocoding based on user input. The agent is designed to handle explicit map movement requests. NOTE: DO NOT call this agent if the user asks "show me...", that is meant to be handled by another agent. If the query is about where a certain address is, call this agent.
19
+
20
+ Supported actions:
21
+ - **Zooming**: Adjust the map's zoom level (e.g., "Zoom to level 10", "Zoom in").
22
+ - **Viewpoints**: Navigate to a specific center point with optional zoom or scale (e.g., "Center the map on San Francisco at zoom level 16").
23
+ - **Scales**: Set the map to a specific scale (e.g., "Set the map scale to 1:50,000").
24
+ - **Layers**: Zoom to the full extent of a specific layer (e.g., "Go to the water mains layer"). For the purposes of link charts, if the user requests to go to the extent of a link chart or the entities/nodes within it, that should be treated as a request to use the goToLayer tool on the link chart layer
25
+ - **Features**: Zoom to features in a layer that match a filter (e.g., "Zoom to all schools in the city").
26
+ - **Bookmarks**: Navigate to a predefined bookmark extent (e.g., "Go to the Downtown bookmark").
27
+ - **Extents**: Reset to the initial web map extent or zoom to the full world extent (e.g., "Reset the map", "Zoom to the full world extent").
28
+ - **Addresses**: Zoom to an address or place name (e.g., "Zoom to 1600 Pennsylvania Ave").
29
+
30
+ _Example: “Zoom to Texas”_
31
+ _Example: “Go to the water mains layer”_
32
+ _Example: “Zoom to to the extent of my link chart”_
33
+ _Example: “Center the map on San Francisco at scale 50000”_
34
+ _Example: “Zoom to the features in the schools layer where city = 'Austin'”_
35
+ _Example: “Go to the Downtown bookmark”_
36
+ _Example: “Where is Mount Rainier?”_`,Oe={id:"navigation-graph",name:"Navigation Graph Agent",description:je,createGraph:Ve,workspace:L},De=async(e,t)=>(await d({text:"Exiting Data Exploration agent"},t),e),He=async(e,t)=>{await d({text:"Requesting LLM for layer filter results"},t);let a=await x("data_explore_filter_prompt");if(!t?.configurable)throw new Error("config.configurable is required for layer filter tools");let{userTimezone:r,userTimezoneOffset:s}=N(),o={layerFieldInfo:e.layerFieldInfo,userTimezone:r,userTimezoneOffset:s,queryResponse:e.queryResponse,assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps},i=await S({promptText:a,modelTier:"default",config:t,messages:e.dataExplorationMessages,inputVariables:o,tools:I}),n=[...e.dataExplorationMessages,i];if(!((i.tool_calls?.length??0)>0))return await d({text:"LLM determined no filter changes needed"},t),{...e,dataExplorationMessages:n};let l=n,c=i.text;return await E(i,t),{...e,dataExplorationMessages:l,outputMessage:c}},Ge=async(e,t)=>{await d({text:"Requesting LLM for layer query results"},t);let a=await x("data_explore_query_prompt");if(!t?.configurable)throw new Error("config.configurable is required for layer query tools");let{userTimezone:r,userTimezoneOffset:s}=N(),o=e.agentExecutionContext.sharedState,i=o.lastNavigatedFeatures?.value,n=o.lastResolvedLocation?.value,l="none";if(i!=null)try{l=JSON.stringify(i)}catch{l="none"}let c="none";if(n!=null)try{c=JSON.stringify({address:n.address,location:n.location})}catch{c="none"}let m={layerFieldInfo:e.layerFieldInfo,userTimezone:r,userTimezoneOffset:s,assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps,lastNavigatedFeatures:l,lastResolvedLocation:c},g=await S({promptText:a,modelTier:"default",config:t,messages:e.dataExplorationMessages,inputVariables:m,tools:le}),p=(g.tool_calls?.length??0)>0,h=g.text;return await E(g,t),{...e,dataExplorationMessages:[...e.dataExplorationMessages,g],...p?{}:{outputMessage:h},status:"success",summary:h&&!p?w(h):"Query planning completed."}},Pe=async(e,t)=>{try{await d({text:"Requesting LLM for summary on query results"},t);let a=await x("summarize_query_response_prompt"),r={queryResponse:e.queryResponse,assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps},s=await _({promptText:a,modelTier:"fast",config:t,messages:e.dataExplorationMessages,inputVariables:r}),o=typeof s=="string"?s:s.content,i=new j(o);await d({text:`Received response from LLM: ${o}`},t);let n=o;return{...e,outputMessage:n,status:"success",summary:n?w(n):"Summary generated.",dataExplorationMessages:[...e.dataExplorationMessages,i]}}catch(a){throw await d({text:"Error during filter LLM request"},t),new Error(`Error during filter LLM request: ${a instanceof Error?a.message:String(a)}`)}};async function Ze(e,t){if((e.queryResponse??[]).some(r=>{let s=r.details;return typeof s=="object"&&s!==null&&"error"in s}))return await d({text:"Skipping layer filter tool because query response contains an error."},t),{...e};let a=await new k(I,{handleToolErrors:!1}).invoke({messages:e.dataExplorationMessages},t);return await d({text:`Finished executing layer filter tool: ${a.messages.map(r=>r.content).join(", ")}`},t),{...e}}var ye=/\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;function We(e,t){return ye.test(e)||ye.test(t)}var Be=async(e,t)=>{try{await d({text:"Preparing field information for vector search results"},t);let a=u(t,"layersAndFieldsRegistry"),{mapView:r}=b(t,["mapView"]),{assignedTask:s,userRequest:o}=e.agentExecutionContext,i=We(s,o),{layerFieldInfo:n,didFetchStatistics:l,fieldStatisticsFetchStatus:c}=await ie(e.vectorSearchFieldResults,a,r,i);l?await d({text:"Statistics fetched"},t):await d({text:"Statistics skipped"},t);for(let m of c)await d({text:` - ${m.fieldName} - stats ${m.didFetchStatistics?"fetched":"skipped"}`},t);return await d({text:"Field information prepared"},t),{...e,layerFieldInfo:n}}catch(a){throw await d({text:"Error during fetching statistics"},t),new Error(`Error during fetching statistics: ${a instanceof Error?a.message:String(a)}`)}},xe=.7,Je=10,Qe=async(e,t)=>{try{await d({text:"Similarity search to find fields"},t);let a=u(t,"fieldSearch"),r=u(t,"layersAndFieldsRegistry"),s=u(t,"embeddingCache"),o=await a.searchFields({text:e.agentExecutionContext.assignedTask,layerIds:e.vectorSearchLayerIds,minScore:xe,topResults:Je,embeddingCache:s}),i=o.map(({layerId:l,results:c})=>{let m=c.map(g=>` - ${g.name} (${g.score.toFixed(2)})`).join(`
37
+ `);return`${r.get(l)?.layerItem.name??l}:
38
+ ${m}`}).join(`
39
+ `),n;return o.length>0?n=`Vector search completed. Matching layers and fields with scores:
40
+ ${i}`:n=`No vector search results found for score over ${xe}.`,await d({text:n},t),{...e,vectorSearchFieldResults:o}}catch(a){throw await d({text:`Error during vector search: ${a instanceof Error?a.message:String(a)}`},t),new Error(`Vector search failed: ${a instanceof Error?a.message:String(a)}`)}},Ue=.7,Xe=async(e,t)=>{try{await d({text:`Similarity search to find layers: ${e.agentExecutionContext.assignedTask}`},t);let a=u(t,"layerSearch"),r=u(t,"layersAndFieldsRegistry"),s=u(t,"embeddingCache"),o=await a.searchLayers({text:e.agentExecutionContext.assignedTask,minScore:Ue,embeddingCache:s}),i=o.map(c=>c.id),n=o.map(({id:c,score:m})=>`${r.get(c)?.layerItem.name??c} (${m.toFixed(2)})`).join(`
41
+ `),l;return i.length>0?l=`Vector search completed. Matching layers with scores:
42
+ ${n}`:l="Vector search completed. No matching layers found.",await d({text:l},t),{...e,vectorSearchLayerIds:i}}catch(a){throw await d({text:`Error during vector search: ${a instanceof Error?a.message:String(a)}`},t),new Error(`Vector search failed: ${a instanceof Error?a.message:String(a)}`)}},Ke=(e,t)=>$(["layerSearch","fieldSearch","layersAndFieldsRegistry"],"Data Exploration Agent")(e,t),Ye=()=>new T(A).addNode("requireDataExplorationServices",Ke).addNode("vectorSearchLayers",Xe).addNode("vectorSearchFields",Qe).addNode("fieldStatistics",Be).addNode("queryAgent",Ge).addNode("queryTools",ce).addNode("summarizeQueryResponseLLM",Pe).addNode("filterAgent",He).addNode("filterTools",Ze).addNode("earlyExit",De).addEdge(v,"requireDataExplorationServices").addEdge("requireDataExplorationServices","vectorSearchLayers").addConditionalEdges("vectorSearchLayers",e=>e.vectorSearchLayerIds.length?"vectorSearchFields":"earlyExit").addConditionalEdges("vectorSearchFields",e=>e.vectorSearchFieldResults.length?"fieldStatistics":"earlyExit").addEdge("fieldStatistics","queryAgent").addConditionalEdges("queryAgent",e=>(e.dataExplorationMessages[e.dataExplorationMessages.length-1]?.tool_calls?.length??0)>0?"queryTools":"filterAgent").addConditionalEdges("queryTools",e=>e.queryResponse.length?"summarizeQueryResponseLLM":"filterAgent").addEdge("summarizeQueryResponseLLM","filterAgent").addConditionalEdges("filterAgent",e=>(e.dataExplorationMessages[e.dataExplorationMessages.length-1]?.tool_calls?.length??0)>0?"filterTools":y).addEdge("filterTools",y).addEdge("earlyExit",y),et=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).
43
+ 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.
44
+ _Example: “Only show stations where Brand is Shell”_
45
+ _Example: “Make Shell stations stand out on the map”_
46
+ _Example: “Gray out all stations that aren’t Shell”_
47
+ 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.
48
+ _Example: “How many features are there?”_
49
+ _Example: “What’s the average population?”_
50
+ _Example: “Which values are in the status field?”_
51
+
52
+ This agent does NOT handle help/metadata requests such as listing available layers, listing field names/columns/attributes for a layer, or capability guidance.`,tt={id:"data-exploration-graph",name:"Data Exploration Graph Agent",description:et,createGraph:Ye,workspace:A},we=[X],at=e=>{if(!e||e.size===0)return"No layers available in this map.";let t=Array.from(e.values()).map(({layerItem:a,fieldRegistry:r},s)=>{let o=Array.from(r.values()).map(n=>n.name).slice(0,10).join(", "),i=r.size>10?` (and ${r.size-10} more)`:"";return`${s+1}. "${a.title}". Description: ${a.description}
53
+ Fields: ${o}${i}`}).join(`
54
+
55
+ `);return`This map contains ${e.size} layer(s):
56
+
57
+ ${t}`},st=e=>{let t=e?.list()??[];return t.length?t.map(a=>`- ${a.agent.name}: ${a.agent.description}`).join(`
58
+ `):"No agents currently available."};async function ot(e,t){let a=await x("help_prompt"),r=u(t,"layersAndFieldsRegistry"),s=u(t,"agentRegistry");try{let o=await S({promptText:a,modelTier:"default",config:t,tools:we,inputVariables:{layerSummary:at(r),agents:st(s),assignedTask:e.agentExecutionContext.assignedTask,userRequest:e.agentExecutionContext.userRequest,priorSteps:e.agentExecutionContext.priorSteps}});await E(o,t);let i=(o.tool_calls?.length??0)>0,n=typeof o.text=="string"?o.text.trim():"";return{...e,helpInternalState:{...e.helpInternalState,toolCallMessage:i?o:void 0},outputMessage:i?e.outputMessage:n,summary:i?"Prepared help tool call from assigned task.":"Provided map-related help based on the assigned task.",status:i?e.status:"success"}}catch(o){let i=o instanceof Error?o.message:String(o);return{...e,outputMessage:`Error invoking help agent: ${i}`,summary:"Help agent execution failed.",status:"failed"}}}var rt=(e,t)=>$(["agentRegistry"],"Help Agent")(e,t);async function nt(e,t){let a=new k(we,{handleToolErrors:!1});try{let r=e.helpInternalState.toolCallMessage;if(!r)throw new Error("helpToolCalling: missing helpInternalState.toolCallMessage");let s=(await a.invoke({messages:[r]},t)).messages.map(o=>o.text).join(`
59
+ `);return await d({text:`Finished executing help tool: ${s}`},t),{...e,outputMessage:s,status:"success",summary:s?w(s):"Help executed.",helpInternalState:{...e.helpInternalState,toolCallMessage:void 0}}}catch(r){let s=r instanceof Error?r.message:String(r);return await d({text:`Help tool execution failed: ${s}`},t),{...e,outputMessage:`Help tool execution failed: ${s}`,status:"failed",summary:`Help tool execution failed: ${s}`,helpInternalState:{...e.helpInternalState,toolCallMessage:void 0}}}}var it=()=>new T(z).addNode("requireHelpServices",rt).addNode("agent",ot).addNode("tools",nt).addEdge(v,"requireHelpServices").addEdge("requireHelpServices","agent").addConditionalEdges("agent",e=>e.helpInternalState.toolCallMessage?"tools":y).addEdge("tools",y),lt=String.raw`- **help** — Enables users to ask questions about the map, layers, fields, and it's capabilities.
60
+
61
+ _Example: “Tell me about this map”_
62
+ _Example: “List all layers in this map”_
63
+ _Example: “List fields in protected areas layer”_
64
+ _Example: “What agents are available to me?”_
65
+ _Example: “What can you do?”_
66
+ _Example: “What can I ask”_
67
+
68
+ If the user asks unrelated queries like "What are the vowels in English alphabet" or "How to cook", call this agent so it can politely refuse and redirect to map-related questions.
69
+
70
+ IF the user asks map related queries, but those that are not performed by any of the agents, call this agent so we can respond that the requested action is not supported.
71
+ _Example: "Create a chart"_
72
+ _Example: "Create a table"_`,ct={id:"help-graph",name:"Help Graph Agent",description:lt,createGraph:it,workspace:z},Xt=_,Kt=q,Yt=S,ea=d,ta=F,aa=Re,sa=pe,oa=Oe,ra=ue,na=de,ia=tt,la=ge,ca=ct,da=me,ga=$e,ma=()=>D(),ua=()=>H(),pa=async(e,t)=>await G(e,t),ha=async({modelTier:e="default",config:t}={})=>await O({modelTier:e,config:t});return{ArcgisKnowledgeAgent:da,DataExplorationAgent:na,DataExplorationGraphAgent:ia,HelpAgent:la,HelpGraphAgent:ca,LayerStylingAgent:ra,NavigationAgent:sa,NavigationGraphAgent:oa,Orchestrator:Te,cosineSimilarity:aa,createAgentRuntimeState:ma,createAgentRuntimeStateWithSharedState:ua,createChatModel:ha,createWebmapEmbeddings:ga,getEmbeddings:ta,invokeStructuredPrompt:Kt,invokeTextPrompt:Xt,invokeToolPrompt:Yt,sendTraceMessage:ea,sendUXSuggestion:pa}},"layers/FeatureLayer","core/reactiveUtils","identity/IdentityManager","portal/Portal","request","config",a,c,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,w,x)
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{c as i,e as c}from"./ZA2WIUWH.js";export default $arcgis.t(([m,{subclass:p}])=>{function a(t){return t?Object.keys(t.shape??{}):[]}function d(t){let e={};for(let n of t)for(let s of a(n))e[s]=void 0;return e}function g(t,e){return Object.fromEntries(e.filter(n=>Object.hasOwn(t,n)).map(n=>[n,t[n]]))}function l(t,e){return`${t.id}_${e}`}function h(t,e){let n=e.inputSchema;return n?{...g(t,a(n)),agentExecutionContext:t.agentExecutionContext,outputMessage:t.outputMessage,status:void 0,summary:""}:{...t,status:void 0,summary:""}}function x(t,e){return t.outputSchema?g(e,a(t.outputSchema)):{}}function y(t){let e={outputMessage:t.outputMessage,status:t.status,summary:t.summary};return t.agentExecutionContext&&(e.agentExecutionContext=t.agentExecutionContext),e}function v(t,e){return async(n,s)=>{let o=await t.run(h(n,t),s),r=x(t,o);return e||o.status==="failed"?{...r,...y(o)}:{...r,outputMessage:o.outputMessage}}}var w=Object.getOwnPropertyDescriptor,E=(t,e,n,s)=>{for(var o=s>1?void 0:s?w(e,n):e,r=t.length-1,u;r>=0;r--)(u=t[r])&&(o=u(o)||o);return o},f=class extends m{generate(){let t=this.getAgents();this.validateAgents(t);for(let r of t)r.generate();let e=d(t.flatMap(r=>r.getSchemas())),n=i(e),s=this.buildNodes(t),o=this.buildEdges(t);return{workspace:n,createGraph:()=>c(s,o,n,{entryNode:this.getEntryNode(t)})}}buildNodes(t){let e={};for(let[n,s]of t.entries())e[l(s,n)]=v(s,this.isTerminalAgent(t,n));return e}validateAgents(t){if(!t.length)throw new Error("Workflow requires at least one agent.")}};f=E([p("BaseWorkflow")],f);return{a:a,b:d,c:l,d:f}},"core/Accessor","core/accessorSupport/decorators")
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a}from"./MJSIYEWN.js";import"./ONQ6JSBJ.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export{a as resetMapTool};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a}from"./LXPGQNXQ.js";import"./FDOMMK2M.js";import"./IYLFJCJ2.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export{a as listLayerFieldsTool};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import a from"./HFHRMM6Q.js";import"./ZA2WIUWH.js";import"./QZL4SAYR.js";import"./LOQ2PKV5.js";import"./IYLFJCJ2.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([{property:g,subclass:p},{c:d,d:u}])=>{var f=Object.defineProperty,w=Object.getOwnPropertyDescriptor,c=(e,r,n,o)=>{for(var t=o>1?void 0:o?w(r,n):r,i=e.length-1,a;i>=0;i--)(a=e[i])&&(t=(o?a(r,n,t):a(t))||t);return o&&t&&f(r,n,t),t},s=class extends u{constructor(e){super(e)}getAgents(){return this.agents}buildNodes(e){let r=super.buildNodes(e);return r[l]=()=>({}),r}buildEdges(e){let r=this.condition;if(!r)throw new Error("ConditionalWorkflow requires a condition.");let n=d(e[0],0),o=d(e[1],1);return[{from:l,decide:async(t,i)=>await Promise.resolve(r(t,i))?n:o}]}getEntryNode(){return l}isTerminalAgent(){return!0}validateAgents(e){if(super.validateAgents(e),e.length!==2)throw new Error(`ConditionalWorkflow requires exactly 2 agents; received ${e.length}.`)}};c([g()],s.prototype,"condition",2);c([g()],s.prototype,"agents",2);s=c([p("ConditionalWorkflow")],s);var l="__conditional_decide";return s},"core/accessorSupport/decorators",a)
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"./YIMNOUTF.js";var e=`# ArcGIS Online Map Viewer \u2014 Smart Mapping Assistant
2
+ import"./UZLQALHY.js";var e=`# ArcGIS Online Map Viewer \u2014 Smart Mapping Assistant
3
3
 
4
4
  You are a Smart Mapping Assistant for ArcGIS Online Map Viewer.
5
5