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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (374) hide show
  1. package/README.md +2 -2
  2. package/dist/agent-utils/BaseAgent.d.ts +90 -0
  3. package/dist/agent-utils/BaseAgent.js +87 -0
  4. package/dist/agent-utils/FunctionAgent.d.ts +64 -0
  5. package/dist/agent-utils/FunctionAgent.js +98 -0
  6. package/dist/agent-utils/LLMAgent.d.ts +65 -0
  7. package/dist/agent-utils/LLMAgent.js +139 -0
  8. package/dist/agent-utils/WorkflowAgent.d.ts +44 -0
  9. package/dist/agent-utils/WorkflowAgent.js +70 -0
  10. package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +152 -0
  11. package/dist/agent-utils/middlewares/humanInTheLoop.js +94 -0
  12. package/dist/agent-utils/middlewares/middleware.d.ts +25 -0
  13. package/dist/agent-utils/middlewares/middleware.js +44 -0
  14. package/dist/agent-utils/middlewares/trace.d.ts +25 -0
  15. package/dist/agent-utils/middlewares/trace.js +50 -0
  16. package/dist/agent-utils/middlewares/types.d.ts +123 -0
  17. package/dist/agent-utils/middlewares/types.js +2 -0
  18. package/dist/agent-utils/tools/FunctionTool.d.ts +127 -0
  19. package/dist/agent-utils/tools/FunctionTool.js +80 -0
  20. package/dist/agent-utils/types.d.ts +152 -0
  21. package/dist/agent-utils/workflows/BaseWorkflow.d.ts +87 -0
  22. package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +72 -0
  23. package/dist/agent-utils/workflows/ConditionalWorkflow.js +61 -0
  24. package/dist/agent-utils/workflows/LoopWorkflow.d.ts +58 -0
  25. package/dist/agent-utils/workflows/LoopWorkflow.js +56 -0
  26. package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +68 -0
  27. package/dist/agent-utils/workflows/ParallelWorkflow.js +129 -0
  28. package/dist/agent-utils/workflows/RouterWorkflow.d.ts +63 -0
  29. package/dist/agent-utils/workflows/RouterWorkflow.js +75 -0
  30. package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +56 -0
  31. package/dist/agent-utils/workflows/SequentialWorkflow.js +69 -0
  32. package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +74 -0
  33. package/dist/agent-utils/workflows/SwitchWorkflow.js +84 -0
  34. package/dist/assets/embeddings.worker-k9_Ou679.js +1 -0
  35. package/dist/cdn/{24MYCR6F.js → 23EQTPO3.js} +2 -2
  36. package/dist/cdn/{Z3DVGFEE.js → 2AXF774U.js} +2 -2
  37. package/dist/cdn/{UK6CP7BR.js → 3PKJWIC3.js} +2 -2
  38. package/dist/cdn/462JBSEV.js +422 -0
  39. package/dist/cdn/4HU7735A.js +42 -0
  40. package/dist/cdn/5QAHYX7Y.js +5 -0
  41. package/dist/cdn/{YVTKUITE.js → 5ZZGKP7N.js} +2 -2
  42. package/dist/cdn/{DMLSCJAM.js → 6YMR4QSD.js} +2 -2
  43. package/dist/cdn/{LXFCO34K.js → 7BCR6TUO.js} +2 -2
  44. package/dist/cdn/{EUNEQNYC.js → 7GH7VSB2.js} +1 -1
  45. package/dist/cdn/{YNJYG2RG.js → 7PLV4QH6.js} +2 -2
  46. package/dist/cdn/{JDL3HFFX.js → 7RCQFLPP.js} +2 -2
  47. package/dist/cdn/AMP6IALT.js +2 -0
  48. package/dist/cdn/{Y3AUHNRX.js → AO7BQHKC.js} +2 -2
  49. package/dist/cdn/{K6LVZHWM.js → AXDZBBNL.js} +2 -2
  50. package/dist/cdn/{WBRZZ4FB.js → DDLZOMUY.js} +2 -2
  51. package/dist/cdn/DHOVCT6R.js +2 -0
  52. package/dist/cdn/{ESTSYVJP.js → F2AHA4GB.js} +2 -2
  53. package/dist/cdn/FHVXO2WG.js +166 -0
  54. package/dist/cdn/{VHOF6SUZ.js → FL4W4VYN.js} +3 -3
  55. package/dist/cdn/FX5JFRDL.js +2 -0
  56. package/dist/cdn/{CFT5BBC6.js → FX7UOGHP.js} +2 -2
  57. package/dist/cdn/GSEPHN3A.js +106 -0
  58. package/dist/cdn/H7422XUG.js +2 -0
  59. package/dist/cdn/HB5A5R2E.js +2 -0
  60. package/dist/cdn/JY6LLOUJ.js +22 -0
  61. package/dist/cdn/{LSGRWCAO.js → KMQ3SP4I.js} +2 -2
  62. package/dist/cdn/{MZJGADGH.js → LQ6R5YRN.js} +2 -2
  63. package/dist/cdn/MDVYQQUG.js +14 -0
  64. package/dist/cdn/{3QC3BRZP.js → MH5RPXHM.js} +2 -2
  65. package/dist/cdn/{54ATSQPS.js → NAUXSHIE.js} +18 -18
  66. package/dist/cdn/{SFREIREB.js → NE7E52YR.js} +2 -2
  67. package/dist/cdn/{2YEKZADB.js → NVI3I46B.js} +2 -2
  68. package/dist/cdn/{YGW7TUNX.js → OAVEHGB6.js} +1 -1
  69. package/dist/cdn/{DSEMD4M2.js → OH64RMOR.js} +3 -3
  70. package/dist/cdn/ON2V5XI2.js +3 -0
  71. package/dist/cdn/{PTGKT5P6.js → P6OPJQMC.js} +2 -2
  72. package/dist/cdn/{TRDKA5Y6.js → QR54T33D.js} +2 -2
  73. package/dist/cdn/{457RLS3H.js → RVOAPUBN.js} +2 -2
  74. package/dist/cdn/S6W6HV4T.js +36 -0
  75. package/dist/cdn/{5JBT3YNY.js → SXDLXCIM.js} +2 -2
  76. package/dist/cdn/{G4SVCCJH.js → USMDJUFS.js} +2 -2
  77. package/dist/cdn/{Q5D5LJS5.js → V2P4AIGG.js} +2 -2
  78. package/dist/cdn/V5YEZSRY.js +16 -0
  79. package/dist/cdn/{5PT7ZFXF.js → X2ZDYHCG.js} +20 -7
  80. package/dist/cdn/Y333DGV6.js +2 -0
  81. package/dist/cdn/{CFDTXKJ6.js → YIMNOUTF.js} +1 -1
  82. package/dist/cdn/YY2SBO3V.js +2 -0
  83. package/dist/cdn/{7EXACS27.js → ZLXN7NMF.js} +3 -2
  84. package/dist/cdn/ZS2TZ6BF.js +31 -0
  85. package/dist/cdn/{W5CHGOOR.js → ZTBA5PM7.js} +2 -2
  86. package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
  87. package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
  88. package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
  89. package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
  90. package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
  91. package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
  92. package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
  93. package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
  94. package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
  95. package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
  96. package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
  97. package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
  98. package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
  99. package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
  100. package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
  101. package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
  102. package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
  103. package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
  104. package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
  105. package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
  106. package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
  107. package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
  108. package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
  109. package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
  110. package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
  111. package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
  112. package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
  113. package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
  114. package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
  115. package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
  116. package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
  117. package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
  118. package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
  119. package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
  120. package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
  121. package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
  122. package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
  123. package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
  124. package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
  125. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -1
  126. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -1
  127. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -1
  128. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -1
  129. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -1
  130. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -1
  131. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -1
  132. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -1
  133. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -1
  134. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -1
  135. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -1
  136. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -1
  137. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -1
  138. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -1
  139. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -1
  140. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -1
  141. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -1
  142. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -1
  143. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -1
  144. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -1
  145. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -1
  146. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -1
  147. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -1
  148. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -1
  149. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -1
  150. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -1
  151. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -1
  152. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -1
  153. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -1
  154. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -1
  155. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -1
  156. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -1
  157. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -1
  158. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -1
  159. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -1
  160. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -1
  161. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -1
  162. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -1
  163. package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -1
  164. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -1
  165. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -1
  166. package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -1
  167. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -1
  168. package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -1
  169. package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -1
  170. package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -1
  171. package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -1
  172. package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -1
  173. package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -1
  174. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -1
  175. package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -1
  176. package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -1
  177. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -1
  178. package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -1
  179. package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -1
  180. package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -1
  181. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -1
  182. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -1
  183. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -1
  184. package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -1
  185. package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -1
  186. package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -1
  187. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -1
  188. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -1
  189. package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -1
  190. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -1
  191. package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -1
  192. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -1
  193. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -1
  194. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -1
  195. package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -1
  196. package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -1
  197. package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -1
  198. package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -1
  199. package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -1
  200. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -1
  201. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -1
  202. package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -1
  203. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -1
  204. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -1
  205. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -1
  206. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -1
  207. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -1
  208. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -1
  209. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -1
  210. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -1
  211. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -1
  212. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -1
  213. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -1
  214. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -1
  215. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -1
  216. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -1
  217. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -1
  218. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -1
  219. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -1
  220. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -1
  221. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -1
  222. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -1
  223. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -1
  224. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -1
  225. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -1
  226. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -1
  227. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -1
  228. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -1
  229. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -1
  230. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -1
  231. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -1
  232. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -1
  233. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -1
  234. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -1
  235. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -1
  236. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -1
  237. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -1
  238. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -1
  239. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -1
  240. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -1
  241. package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -1
  242. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -1
  243. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -1
  244. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -1
  245. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -1
  246. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -1
  247. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -1
  248. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -1
  249. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -1
  250. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -1
  251. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -1
  252. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -1
  253. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -1
  254. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -1
  255. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -1
  256. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -1
  257. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -1
  258. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -1
  259. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -1
  260. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -1
  261. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -1
  262. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -1
  263. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -1
  264. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -1
  265. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -1
  266. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -1
  267. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -1
  268. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -1
  269. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -1
  270. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -1
  271. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -1
  272. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -1
  273. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -1
  274. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -1
  275. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -1
  276. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -1
  277. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -1
  278. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -1
  279. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -1
  280. package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -1
  281. package/dist/cdn/index.js +2 -2
  282. package/dist/cdn/main.css +1 -1
  283. package/dist/chunks/BaseWorkflow.js +107 -0
  284. package/dist/chunks/adapter.js +2974 -0
  285. package/dist/chunks/arcgisKnowledgeGraph.js +174 -0
  286. package/dist/chunks/arcgis_knowledge_current_lc_context.js +8 -0
  287. package/dist/chunks/arcgis_knowledge_current_map_context.js +8 -0
  288. package/dist/chunks/arcgis_knowledge_lucene_generation_prompt.js +101 -0
  289. package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +48 -0
  290. package/dist/chunks/arcgis_knowledge_tool_prompt.js +34 -0
  291. package/dist/chunks/converterUtils.js +1 -1
  292. package/dist/chunks/dataExplorationGraph.js +298 -0
  293. package/dist/chunks/data_explore_filter_prompt.js +125 -0
  294. package/dist/chunks/data_explore_query_prompt.js +144 -0
  295. package/dist/chunks/embeddings.worker.js +25 -0
  296. package/dist/chunks/field_descriptions_prompt.js +112 -0
  297. package/dist/chunks/generateLayerDescriptions.js +413 -0
  298. package/dist/chunks/graph.js +86 -0
  299. package/dist/chunks/helpGraph.js +123 -0
  300. package/dist/chunks/help_prompt.js +57 -0
  301. package/dist/chunks/intent_prompt.js +123 -0
  302. package/dist/chunks/layerStylingGraph.js +189 -0
  303. package/dist/chunks/layer_descriptions_prompt.js +59 -0
  304. package/dist/chunks/layer_styling_prompt.js +72 -0
  305. package/dist/chunks/navigationGraph.js +266 -0
  306. package/dist/chunks/navigation_intent_prompt.js +46 -0
  307. package/dist/chunks/navigation_tool_prompt.js +39 -0
  308. package/dist/chunks/orchestrator.js +528 -0
  309. package/dist/chunks/runtime.js +2 -2
  310. package/dist/chunks/slottableRequestUtils.js +1 -1
  311. package/dist/chunks/state.js +71 -0
  312. package/dist/chunks/summarize_query_response_prompt.js +78 -0
  313. package/dist/chunks/toolCallResponse.js +29 -0
  314. package/dist/chunks/useT9n.js +1 -1
  315. package/dist/chunks/utils.js +47 -29
  316. package/dist/chunks/utils2.js +42 -7
  317. package/dist/chunks/utils3.js +16 -0
  318. package/dist/components/arcgis-assistant/customElement.d.ts +60 -8
  319. package/dist/components/arcgis-assistant/customElement.js +32 -24
  320. package/dist/components/arcgis-assistant/types.d.ts +1 -1
  321. package/dist/components/arcgis-assistant-agent/customElement.d.ts +1 -1
  322. package/dist/components/arcgis-assistant-agent/customElement.js +2 -2
  323. package/dist/components/arcgis-assistant-chat/customElement.js +1 -1
  324. package/dist/components/arcgis-assistant-chat-entry/customElement.js +1 -1
  325. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +25 -9
  326. package/dist/components/arcgis-assistant-help-agent/customElement.js +28 -9
  327. package/dist/components/arcgis-assistant-interrupt/customElement.js +8 -12
  328. package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +158 -0
  329. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +68 -0
  330. package/dist/components/arcgis-assistant-knowledge-agent/index.d.ts +1 -0
  331. package/dist/components/arcgis-assistant-knowledge-agent/index.js +1 -0
  332. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +28 -9
  333. package/dist/components/arcgis-assistant-message/customElement.js +1 -1
  334. package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
  335. package/dist/components/arcgis-assistant-message-block/customElement.js +1 -1
  336. package/dist/components/arcgis-assistant-message-feedback/customElement.js +1 -1
  337. package/dist/components/arcgis-assistant-message-footer/customElement.js +1 -1
  338. package/dist/components/arcgis-assistant-message-loading/customElement.js +1 -1
  339. package/dist/components/arcgis-assistant-message-log/customElement.js +1 -1
  340. package/dist/components/arcgis-assistant-message-read-aloud/customElement.js +24 -28
  341. package/dist/components/arcgis-assistant-message-text/customElement.js +1 -1
  342. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +26 -8
  343. package/dist/components/arcgis-assistant-speech-input/customElement.js +1 -1
  344. package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +1 -1
  345. package/dist/components/arcgis-assistant-user-message/customElement.js +1 -1
  346. package/dist/docs/api.json +1 -1
  347. package/dist/docs/docs.json +1 -1
  348. package/dist/docs/vscode.html-custom-data.json +1 -1
  349. package/dist/docs/web-types.json +1 -1
  350. package/dist/index.d.ts +4 -0
  351. package/dist/index.js +1 -1
  352. package/dist/loader.js +2 -1
  353. package/dist/types/lumina.d.ts +6 -1
  354. package/dist/types/preact.d.ts +7 -1
  355. package/dist/types/react.d.ts +8 -1
  356. package/dist/types/stencil.d.ts +6 -1
  357. package/dist/utils/index.d.ts +203 -9
  358. package/dist/utils/index.js +109 -11
  359. package/package.json +26 -11
  360. package/dist/cdn/4QVKWA2Z.js +0 -24
  361. package/dist/cdn/5L7OZ37N.js +0 -2
  362. package/dist/cdn/6ALN3KMA.js +0 -269
  363. package/dist/cdn/ARCP5UZY.js +0 -2
  364. package/dist/cdn/B4DEC7PH.js +0 -2
  365. package/dist/cdn/D7WNBUVK.js +0 -106
  366. package/dist/cdn/GER6EQYH.js +0 -2
  367. package/dist/cdn/KVH3PDVW.js +0 -2
  368. package/dist/cdn/O62HTIOD.js +0 -2
  369. package/dist/cdn/R5FWFRWW.js +0 -2
  370. package/dist/cdn/SZBOIYZZ.js +0 -2
  371. package/dist/cdn/WNDUCHXU.js +0 -2
  372. package/dist/cdn/YW52XJMM.js +0 -396
  373. package/dist/cdn/ZLO73NU6.js +0 -2
  374. package/dist/cdn/ZPNJGIAF.js +0 -2
@@ -0,0 +1,112 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ const e = `You are a knowledgeable GIS expert.
3
+
4
+ You are given a Feature Service description and title.
5
+
6
+ {existingItemTitle}
7
+ {existingItemDescription}
8
+
9
+ You are given Feature Layer descriptions and title.
10
+
11
+ {existingLayerTitle}
12
+ {existingLayerDescription}
13
+
14
+ ## Existing field descriptions:
15
+
16
+ Here is an extensive list of fields with their existing descriptions. These fields together represent a summary of the data contained in this feature layer. NOTE that these field descriptions are not final and may need to be improved.
17
+ Some fields will have summary statistics, which are also included in the field descriptions. Statistics can help you decipher the type of data better.
18
+
19
+ {fieldInformation}
20
+
21
+ Your task is to generate the following for each field:
22
+
23
+ 1. field_description: A short description of the field.
24
+ 2. field_value_type: Field Value Type
25
+ 3. field_alias: A display name that concisely conveys the field contents to help readers understand the data
26
+
27
+ ## Instructions to generate Field Description:
28
+
29
+ - You must generate a field description for each field in the feature layer.
30
+ - You must not skip any field.
31
+ - If you think the existing field description is good, you must still add it in your response.
32
+ - If the existing field description is empty, you must generate a new field description.
33
+ - The field description should be a short description of the field.
34
+ - If the existing field description has units, you should include them in the new field description.
35
+ - If the existing field description is not clear, you should improve it.
36
+ - Do not have duplicate field descriptions. Always keep the one that is the best.
37
+
38
+ ## Instructions to determine Field Value Type:
39
+
40
+ Following is a list of field value types you can assign to a field in a feature layer. Each field value type is used to define the kind of data that can be stored in that field. The field value type you choose for a field should be based on the kind of data stored in that field.
41
+
42
+ - NAME_OR_TITLE:
43
+ Text that represents a name, title, label, or keyword for each feature.
44
+
45
+ - DESCRIPTION:
46
+ Text that provides a longer description of the feature, more than just a name or title.
47
+
48
+ For example, if you have a layer to collect information from the public regarding issues in the community, a field in that layer that allows people to specify the nature of the issue can be defined with the Description field value type.
49
+
50
+ - TYPE_OR_CATEGORY:
51
+ Field values represent types or categories for group features that are based on a common characteristic, for example, soil type, zoning code, species, or asset type.
52
+
53
+ - COUNT_OR_AMOUNT:
54
+ Integers (no decimal) that represent the quantity of a specific attribute.
55
+
56
+ - PERCENTAGE_OR_RATIO:
57
+ Number values in this field reflect the relationship between different quantities, for example, the percentage of males in a population or the ratio between the number of males and females.
58
+
59
+ - MEASUREMENT:
60
+ A number that reflects a characteristic that you can precisely measure, for example, elevation, distance, temperature, or age.
61
+
62
+ - CURRENCY:
63
+ A number that represents monetary values.
64
+
65
+ - UNIQUE_IDENTIFIER:
66
+ The values in this field are used to positively distinguish one feature or entity from another, for example, an assessor's parcel number, a membership ID, or an invoice number.
67
+
68
+ Each value per entity must be unique, but that does not necessarily mean all the values in this field will be unique for the layer.
69
+
70
+ For example, if you have two layers—one for employees and one for job sites—both can contain an employee ID unique identifier field. In the employees layer, the employee ID field should contain unique values. In the job sites layer, the employee ID field can contain duplicate values, as an employee may work at multiple job sites. The employee ID field in the job sites layer is still a unique identifier because it distinguishes one employee from another, even though the field does not contain unique values in the job sites layer.
71
+
72
+ - PHONE_NUMBER:
73
+ This field stores phone numbers.
74
+
75
+ - EMAIL_ADDRESS:
76
+ This field stores email address strings.
77
+
78
+ - ORDERED_OR_RANKED_LIST:
79
+ The values in this field represent a feature's status in an ordered or ranked list. For example, a feature can be one of the following:
80
+
81
+ Small, medium, or large
82
+ First, second, third, or fourth
83
+ Informational, warning, error, or failure
84
+
85
+ - BINARY
86
+ Only one of two values are possible for each feature. Examples include the following:
87
+
88
+ On or off
89
+ Yes or no
90
+ True or false
91
+ Inhabited or vacant
92
+
93
+ - LOCATION_OR_PLACE_NAME:
94
+ Values in this field represent a geographic location. Examples include a street address, city name, region, building name (such as A.K. Smiley Public Library), attraction name (such as Alameda County Fairgrounds or Cairngorms National Park), postal code, or country.
95
+
96
+ - COORDINATE:
97
+ These fields store a geographic coordinate value such as x, y, z, latitude, or longitude.
98
+
99
+ - DATE_AND_TIME:
100
+ Values in this field store explicit dates and times or date references such as days of the week, months, or years.
101
+
102
+ - OTHER:
103
+ If a field does not fit any of the above categories, you can assign it to the "OTHER" category.
104
+
105
+ If a field already has a field value type assigned, you MUST use that value type.
106
+ If a field already has a field description assigned, you MUST use it in order to determine a fitting field value type and field alias. You can improve the field description if you think it is necessary.
107
+ If a field already has a field alias assigned, you must use it in order to determine a fitting field description. You can improve the field alias if you think it is necessary.
108
+ If a field does not have a field description, field value type, or field alias assigned, you must generate them based on the field name and the data type of the field. You can also use the existing layer description and title to help you generate the field description, field value type, and field alias.
109
+ `;
110
+ export {
111
+ e as default
112
+ };
@@ -0,0 +1,413 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { Annotation as d } from "@langchain/langgraph/web";
3
+ import p, { z as r } from "zod";
4
+ import { ChatPromptTemplate as C, SystemMessagePromptTemplate as K } from "@langchain/core/prompts";
5
+ import { dispatchCustomEvent as F } from "@langchain/core/callbacks/dispatch/web";
6
+ import { AIMessage as B, isAIMessage as W, isToolMessage as H } from "@langchain/core/messages";
7
+ import { createAgent as J, summarizationMiddleware as X, modelCallLimitMiddleware as G } from "langchain";
8
+ import { ChatOpenAI as Q, OpenAIEmbeddings as Y } from "@langchain/openai";
9
+ import U from "@arcgis/core/identity/IdentityManager.js";
10
+ import S from "@arcgis/core/portal/Portal.js";
11
+ const _ = {
12
+ advanced: "gpt-5.2",
13
+ default: "gpt-5-mini",
14
+ fast: "gpt-5.4-nano"
15
+ }, k = {
16
+ default: "text-embedding-ada-002"
17
+ }, M = /* @__PURE__ */ new Map();
18
+ let T = null;
19
+ const Z = () => {
20
+ const t = S.getDefault().helperServices;
21
+ if (!t?.aiModels?.url)
22
+ throw new Error("AI Models Service URL is not defined in the portal's helper services.");
23
+ return t.aiModels.url;
24
+ }, P = async (e) => {
25
+ const t = Z();
26
+ M.size === 0 && (T || (T = (async () => {
27
+ try {
28
+ const n = await fetch(`${t}/models`);
29
+ if (!n.ok)
30
+ throw new Error("Failed to fetch AI service discovery data.");
31
+ (await n.json()).models.forEach((o) => M.set(o.name, o));
32
+ } catch (n) {
33
+ throw T = null, n;
34
+ }
35
+ })()), await T);
36
+ const s = M.get(e);
37
+ if (!s)
38
+ throw new Error(`Model '${e}' is not available in the discovery service.`);
39
+ return s.endpoint;
40
+ }, ee = async (e = "default") => await P(_[e]), te = async (e = "default") => await P(k[e]), u = (e, t) => t, q = (e, t) => ({
41
+ ...e,
42
+ ...t
43
+ }), $ = (e = "", t) => {
44
+ const s = typeof t == "string" ? t.trim() : "";
45
+ if (!s)
46
+ return e;
47
+ const n = e.trim();
48
+ if (!n)
49
+ return s;
50
+ if (n === s)
51
+ return e;
52
+ const i = n.split(`
53
+
54
+ `);
55
+ return i[i.length - 1]?.trim() === s ? e : `${e}
56
+
57
+ ${s}`;
58
+ }, j = () => ({
59
+ userRequest: "",
60
+ assignedTask: "",
61
+ messages: [],
62
+ priorSteps: [],
63
+ sharedState: {}
64
+ }), ne = () => ({
65
+ agentExecutionContext: d({
66
+ reducer: q,
67
+ default: j
68
+ }),
69
+ outputMessage: d({
70
+ reducer: $,
71
+ default: () => ""
72
+ }),
73
+ summary: d({
74
+ reducer: u,
75
+ default: () => ""
76
+ }),
77
+ status: d({
78
+ reducer: u
79
+ })
80
+ }), Ee = () => ({
81
+ ...ne(),
82
+ sharedStatePatch: d({
83
+ reducer: u
84
+ })
85
+ }), Ie = d.Root({
86
+ agentExecutionContext: d({
87
+ default: j,
88
+ reducer: q
89
+ }),
90
+ currentIntent: d({
91
+ default: () => "none",
92
+ reducer: u
93
+ }),
94
+ lastExecutedAgent: d({
95
+ default: () => "",
96
+ reducer: u
97
+ }),
98
+ requiresFollowUp: d({
99
+ default: () => !0,
100
+ reducer: u
101
+ }),
102
+ stepCount: d({
103
+ default: () => 0,
104
+ reducer: (e, t) => t ?? e + 1
105
+ }),
106
+ finalOutputMessage: d({
107
+ default: () => "",
108
+ reducer: $
109
+ })
110
+ }), y = async (e, t) => {
111
+ await F("trace_message", e, t);
112
+ }, De = async (e, t) => {
113
+ await F("graph_ux_suggestion", e, t);
114
+ }, se = (e, t, s) => {
115
+ const n = e[t];
116
+ return n ? typeof n == "function" ? n() : Promise.resolve(n) : new Promise((i, o) => {
117
+ (typeof queueMicrotask == "function" ? queueMicrotask : setTimeout)(o.bind(null, /* @__PURE__ */ new Error("Unknown variable dynamic import: " + t + (t.split("/").length !== s ? ". Note that variables only represent file names one level deep." : ""))));
118
+ });
119
+ }, A = async (e) => (await se(/* @__PURE__ */ Object.assign({ "./field_descriptions_prompt.md": () => import("./field_descriptions_prompt.js"), "./intent_prompt.md": () => import("./intent_prompt.js"), "./layer_descriptions_prompt.md": () => import("./layer_descriptions_prompt.js") }), `./${e}.md`, 2)).default, ie = async (e) => {
120
+ const { agent: t, messages: s, config: n } = e;
121
+ return { structuredResponse: (await t.invoke(
122
+ {
123
+ messages: s
124
+ },
125
+ n
126
+ )).structuredResponse };
127
+ }, N = (e) => async (t, s) => {
128
+ const n = new Headers(s?.headers);
129
+ return n.delete("Authorization"), n.delete("api-key"), e && e.length > 0 && (n.set("X-Esri-Authorization", `Bearer ${e}`), n.set("X-Esri-Request-Source", "MapsSDK")), await fetch(t, {
130
+ ...s,
131
+ headers: n
132
+ });
133
+ }, x = async (e = "default", t = 0) => {
134
+ const s = S.getDefault(), n = await U.getCredential(`${s.url}/sharing`), i = _[e], o = await ee(e);
135
+ return new Q({
136
+ modelName: i,
137
+ apiKey: "dummy-key",
138
+ // 5-mini does not support temperature parameter
139
+ ...e !== "default" && { temperature: t },
140
+ configuration: {
141
+ baseURL: o,
142
+ fetch: N(n.token)
143
+ }
144
+ });
145
+ }, Re = async (e = "default") => {
146
+ const t = S.getDefault(), s = await U.getCredential(`${t.url}/sharing`), n = k[e], i = await te(e);
147
+ return new Y({
148
+ modelName: n,
149
+ apiKey: "dummy-key",
150
+ configuration: {
151
+ baseURL: i,
152
+ fetch: N(s.token)
153
+ },
154
+ batchSize: 2048,
155
+ maxConcurrency: 10
156
+ });
157
+ }, re = r.object({
158
+ id: r.string().min(1),
159
+ name: r.string().min(1),
160
+ description: r.string().min(1)
161
+ });
162
+ r.array(re);
163
+ const D = (e) => JSON.stringify(e, null, 2), oe = (e) => {
164
+ const t = e.map((n) => n.id), s = r.enum(t);
165
+ return r.object({
166
+ intent: s.nullable(),
167
+ assignedTask: r.string().nullable(),
168
+ requiresFollowUp: r.boolean()
169
+ });
170
+ }, Ce = async (e, t) => {
171
+ try {
172
+ await y({ text: "Asking LLM to route to an agent" }, t);
173
+ const i = (t?.configurable?.services.agentRegistry?.list() ?? []).map(({ agent: h }) => ({
174
+ id: h.id,
175
+ name: h.name,
176
+ description: h.description
177
+ }));
178
+ if (!i.length)
179
+ return await y({ text: "No agents registered; skipping intent detection" }, t), { ...e, currentIntent: "none" };
180
+ const o = await A("intent_prompt"), a = D(i), c = oe(i), l = {
181
+ registeredAgents: a,
182
+ priorSteps: D(e.agentExecutionContext.priorSteps),
183
+ userRequest: e.agentExecutionContext.userRequest
184
+ }, g = await C.fromTemplate(o).format(l), I = J({
185
+ model: await x("fast"),
186
+ tools: [],
187
+ systemPrompt: g,
188
+ checkpointer: !0,
189
+ responseFormat: c,
190
+ middleware: [
191
+ // Preserve recent conversation context while summarizing older messages
192
+ // to control token usage without losing important intent signals.
193
+ // The trigger and keep parameters can be tuned based on token limits and behavior.
194
+ X({
195
+ model: await x("fast"),
196
+ trigger: { tokens: 4e3 },
197
+ keep: { messages: 6 }
198
+ }),
199
+ // Enforce no loop/retry.
200
+ // 1 usual LLM call and 1 optional summarization call.
201
+ G({ runLimit: 2 })
202
+ ]
203
+ }), { structuredResponse: z } = await ie({
204
+ agent: I,
205
+ messages: e.agentExecutionContext.messages,
206
+ config: t
207
+ }), f = c.parse(
208
+ z ?? { intent: null, assignedTask: null, requiresFollowUp: !1 }
209
+ ), v = f.intent ?? "none", L = {
210
+ ...e,
211
+ currentIntent: v,
212
+ requiresFollowUp: f.requiresFollowUp,
213
+ agentExecutionContext: {
214
+ ...e.agentExecutionContext,
215
+ assignedTask: f.assignedTask ?? ""
216
+ }
217
+ };
218
+ if (v === "none") {
219
+ const h = "I could not find a matching agent for that request. Please rephrase your question with more detail.";
220
+ return await y({ text: "LLM did not identify a clear intent." }, t), {
221
+ ...e,
222
+ currentIntent: v,
223
+ requiresFollowUp: !1,
224
+ agentExecutionContext: {
225
+ ...e.agentExecutionContext,
226
+ assignedTask: "",
227
+ messages: [...e.agentExecutionContext.messages, new B(h)],
228
+ priorSteps: [
229
+ ...e.agentExecutionContext.priorSteps ?? [],
230
+ {
231
+ agentId: "no-intent-router",
232
+ assignedTask: e.agentExecutionContext.userRequest,
233
+ summary: "No matching agent found; asked user to rephrase.",
234
+ status: "failed"
235
+ }
236
+ ]
237
+ }
238
+ };
239
+ }
240
+ return await y(
241
+ {
242
+ text: `Agent picked: ${v}
243
+ Task Assigned: ${f.assignedTask ?? ""}
244
+ Requires Follow-Up: ${f.requiresFollowUp}`
245
+ },
246
+ t
247
+ ), L;
248
+ } catch (s) {
249
+ throw await y({ text: "Error during intent detection" }, t), new Error(`Error during intent detection: ${s instanceof Error ? s.message : String(s)}`);
250
+ }
251
+ }, ae = "0.1", w = 1536, ce = "openai", le = k.default, de = `Name: {name}
252
+ Title: {title}
253
+ Description: {description}`, pe = `Name: {name}
254
+ Alias: {alias}
255
+ Description: {description}`, Fe = r.object({
256
+ schemaVersion: r.literal(ae),
257
+ modified: r.number().int().nonnegative(),
258
+ embeddings: r.object({
259
+ modelProvider: r.literal(ce),
260
+ model: r.literal(le),
261
+ dimensions: r.literal(w),
262
+ templates: r.object({
263
+ layer: r.string().default(de),
264
+ field: r.string().default(pe)
265
+ })
266
+ }),
267
+ layers: r.array(
268
+ r.object({
269
+ id: r.string().min(1),
270
+ name: r.string().min(1),
271
+ title: r.string().catch(""),
272
+ description: r.string().catch(""),
273
+ vector: r.array(r.number()).length(w, {
274
+ message: `Layer vector must be exactly ${w} dimensions`
275
+ }),
276
+ fields: r.array(
277
+ r.object({
278
+ name: r.string().min(1),
279
+ alias: r.string().catch(""),
280
+ description: r.string().catch(""),
281
+ vector: r.array(r.number()).length(w, {
282
+ message: `Field vector must be exactly ${w} dimensions`
283
+ })
284
+ })
285
+ )
286
+ })
287
+ ).default([])
288
+ }), me = (e) => {
289
+ const t = /* @__PURE__ */ new Set();
290
+ for (const n of e)
291
+ if (W(n)) {
292
+ const i = n;
293
+ i.tool_calls && i.tool_calls.length > 0 && i.tool_calls.forEach((o) => {
294
+ o.id && t.add(o.id);
295
+ });
296
+ }
297
+ return e.filter((n) => {
298
+ if (H(n)) {
299
+ const i = n;
300
+ return t.has(i.tool_call_id);
301
+ }
302
+ return !0;
303
+ });
304
+ }, E = (e, t) => {
305
+ const s = K.fromTemplate(e);
306
+ return C.fromMessages([s, ...t]);
307
+ }, ue = async (e) => {
308
+ const { promptText: t, modelTier: s, temperature: n, messages: i } = e, o = E(t, i ?? []), a = await x(s, n);
309
+ return o.pipe(a);
310
+ }, Ue = async (e) => {
311
+ const { promptText: t, modelTier: s = "default", temperature: n = 0, messages: i, inputVariables: o } = e, c = await (await ue({
312
+ promptText: t,
313
+ modelTier: s,
314
+ temperature: n,
315
+ messages: i
316
+ })).invoke(o ?? {});
317
+ if (typeof c == "string")
318
+ return c;
319
+ const l = c.content;
320
+ return typeof l == "string" ? l : JSON.stringify(l);
321
+ }, O = async (e) => {
322
+ const { promptText: t, modelTier: s = "default", temperature: n = 0, messages: i, inputVariables: o, schema: a } = e, c = E(t, i ?? []), m = (await x(s, n)).withStructuredOutput(a);
323
+ return await c.pipe(m).invoke(o ?? {});
324
+ }, _e = async (e) => {
325
+ const { promptText: t, modelTier: s = "default", temperature: n = 0, messages: i, inputVariables: o, tools: a } = e, c = a.length > 0 ? me(i ?? []) : i ?? [], l = E(t, c), m = await x(s, n);
326
+ return await l.pipe(m.bindTools(a)).invoke(o ?? {});
327
+ }, ge = p.object({
328
+ name: p.string(),
329
+ description: p.string(),
330
+ valueType: p.string(),
331
+ alias: p.string()
332
+ }), fe = p.object({
333
+ fields: p.array(ge)
334
+ }), V = (e, t) => e.getFieldAlias(t) ?? void 0, b = (e, t) => V(e, t.name) ?? t.alias ?? "", he = (e, t) => {
335
+ const s = V(e, t.name);
336
+ return !!(s && s !== (t.alias ?? ""));
337
+ };
338
+ function R(e, t) {
339
+ const s = /* @__PURE__ */ new Map();
340
+ for (const n of e.fields) {
341
+ const i = t.fields.find((l) => l.name === n.name), o = b(e, n), a = he(e, n), c = {
342
+ name: n.name,
343
+ type: n.type,
344
+ alias: a ? o : i?.alias ?? o,
345
+ description: i?.description ?? n.description ?? "",
346
+ valueType: i?.valueType ?? n.valueType ?? "",
347
+ domain: e.getFieldDomain(n.name) ?? void 0
348
+ };
349
+ s.set(n.name, c);
350
+ }
351
+ return s;
352
+ }
353
+ const Pe = async (e) => {
354
+ const s = await A("field_descriptions_prompt"), n = e.fields.filter((a) => !(b(e, a) && a.description)).map((a) => {
355
+ const { name: c, type: l, description: m } = a, g = b(e, a);
356
+ return [`Name: ${c}`, `Type: ${l}`, `Alias: ${g}`, `Description: ${m ?? "N/A"}`].join(", ");
357
+ }).join(`
358
+ `);
359
+ if (n.length === 0)
360
+ return R(e, { fields: [] });
361
+ const i = {
362
+ existingItemTitle: e.portalItem?.title,
363
+ existingItemDescription: e.portalItem?.description,
364
+ existingLayerTitle: e.title,
365
+ existingLayerDescription: e.portalItem?.description,
366
+ fieldInformation: n
367
+ }, o = await O({
368
+ promptText: s,
369
+ schema: fe,
370
+ inputVariables: i
371
+ });
372
+ return R(e, o);
373
+ }, ye = p.object({
374
+ title: p.string(),
375
+ description: p.string(),
376
+ name: p.string().nullable()
377
+ }), qe = async (e, t) => {
378
+ const n = await A("layer_descriptions_prompt"), i = Array.from(t.values()), o = {
379
+ fieldInformation: JSON.stringify(i, null, 2),
380
+ existingLayerTitle: e.title,
381
+ existingLayerDescription: e.portalItem?.description,
382
+ existingLayerSnippet: e.portalItem?.snippet,
383
+ layerGeometryType: e.geometryType
384
+ };
385
+ return { ...await O({
386
+ promptText: n,
387
+ schema: ye,
388
+ inputVariables: o
389
+ }), name: e.title ?? null };
390
+ };
391
+ export {
392
+ Ie as D,
393
+ Fe as W,
394
+ qe as a,
395
+ ce as b,
396
+ x as c,
397
+ w as d,
398
+ ae as e,
399
+ pe as f,
400
+ Pe as g,
401
+ Ue as h,
402
+ O as i,
403
+ _e as j,
404
+ ne as k,
405
+ de as l,
406
+ le as m,
407
+ Ee as n,
408
+ De as o,
409
+ te as p,
410
+ Ce as q,
411
+ Re as r,
412
+ y as s
413
+ };
@@ -0,0 +1,86 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { StateGraph as G, END as p, START as k } from "@langchain/langgraph/web";
3
+ function b(t, c, o, s = {}) {
4
+ const { agent: h, entryNode: u, middlewares: l = [] } = s;
5
+ let r = new G(o);
6
+ if (Object.keys(t).length === 0)
7
+ throw new Error("Graph requires at least one node.");
8
+ if (c.length === 0)
9
+ throw new Error("Graph requires at least one edge.");
10
+ if (l.length > 0 && !h)
11
+ throw new Error("Graph middleware requires agent metadata.");
12
+ const n = new Set(Object.keys(t)), d = /* @__PURE__ */ new Map(), w = /* @__PURE__ */ new Map();
13
+ for (const e of n)
14
+ d.set(e, 0), w.set(e, 0);
15
+ for (const e of c)
16
+ "to" in e ? (n.has(e.from) && w.set(e.from, (w.get(e.from) ?? 0) + 1), n.has(e.to) && d.set(e.to, (d.get(e.to) ?? 0) + 1)) : n.has(e.from) && w.set(e.from, (w.get(e.from) ?? 0) + 1);
17
+ for (const [e, a] of Object.entries(t)) {
18
+ const f = $(
19
+ h,
20
+ e,
21
+ l,
22
+ async (i, m) => await Promise.resolve(a(i, m))
23
+ ), g = async (i, m) => await f(i, m);
24
+ r = r.addNode(e, g);
25
+ }
26
+ for (const e of c)
27
+ if ("to" in e) {
28
+ const a = e.from, f = e.to;
29
+ if (!n.has(a))
30
+ throw new Error(`Graph edge references unknown from-node: ${a}`);
31
+ if (!n.has(f))
32
+ throw new Error(`Graph edge references unknown to-node: ${f}`);
33
+ r.addEdge(a, f);
34
+ } else {
35
+ const a = e.from;
36
+ if (!n.has(a))
37
+ throw new Error(`Graph conditional edge references unknown from-node: ${a}`);
38
+ r.addConditionalEdges(
39
+ a,
40
+ async (f, g) => {
41
+ const i = await e.decide(f, g);
42
+ if (!i)
43
+ return p;
44
+ if (!n.has(i))
45
+ throw new Error(`Graph conditional edge returned unknown node: ${i}`);
46
+ return i;
47
+ }
48
+ );
49
+ }
50
+ const E = x(n, d, u);
51
+ r.addEdge(k, E);
52
+ const y = [...n].filter((e) => (w.get(e) ?? 0) === 0);
53
+ for (const e of y)
54
+ r.addEdge(e, p);
55
+ return r;
56
+ }
57
+ function $(t, c, o, s) {
58
+ return !o.length || !t ? s : async (h, u) => await o.reduceRight(
59
+ (r, n) => async (d) => await n.handler(d, r),
60
+ async (r) => {
61
+ const n = await s(r.state, r.config);
62
+ return { ...r.state, ...n };
63
+ }
64
+ )({
65
+ agent: t,
66
+ config: u,
67
+ nodeName: c,
68
+ state: h
69
+ });
70
+ }
71
+ function x(t, c, o) {
72
+ if (o) {
73
+ if (!t.has(o))
74
+ throw new Error(`Graph entry node references unknown node: ${o}`);
75
+ return o;
76
+ }
77
+ const s = [...t].filter((h) => (c.get(h) ?? 0) === 0);
78
+ if (s.length !== 1)
79
+ throw new Error(
80
+ `Graph could not infer a single entry node (found ${s.length}). Provide an explicit entryNode or ensure exactly one node has no incoming edges.`
81
+ );
82
+ return s[0];
83
+ }
84
+ export {
85
+ b as c
86
+ };