@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,129 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { property as A, subclass as I } from "@arcgis/core/core/accessorSupport/decorators.js";
3
+ import { c as U } from "../../chunks/graph.js";
4
+ import { a as W } from "../../chunks/state.js";
5
+ import { B as G, c as J, g as m, a as j } from "../../chunks/BaseWorkflow.js";
6
+ var k = Object.defineProperty, B = Object.getOwnPropertyDescriptor, C = (e, t, s, n) => {
7
+ for (var a = n > 1 ? void 0 : n ? B(t, s) : t, o = e.length - 1, r; o >= 0; o--)
8
+ (r = e[o]) && (a = (n ? r(t, s, a) : r(a)) || a);
9
+ return n && a && k(t, s, a), a;
10
+ };
11
+ let y = class extends G {
12
+ //#region Lifecycle
13
+ constructor(e) {
14
+ super(e);
15
+ }
16
+ //#endregion
17
+ //#region Public Methods
18
+ getAgents() {
19
+ return this.agents;
20
+ }
21
+ generate() {
22
+ const e = this.getAgents();
23
+ this.validateAgents(e);
24
+ for (const r of e)
25
+ r.generate();
26
+ const t = J(e.flatMap((r) => r.getSchemas()));
27
+ for (const [r] of e.entries())
28
+ t[_(r)] = void 0;
29
+ const s = W(t), n = this.buildNodes(e), a = this.buildEdges(e);
30
+ return { workspace: s, createGraph: () => U(n, a, s, { entryNode: this.getEntryNode(e) }) };
31
+ }
32
+ //#endregion
33
+ //#region Protected Methods
34
+ getEntryNode(e) {
35
+ return h;
36
+ }
37
+ isTerminalAgent(e, t) {
38
+ return !1;
39
+ }
40
+ buildNodes(e) {
41
+ const t = {};
42
+ for (const [s, n] of e.entries()) {
43
+ const a = _(s), o = m(n, s);
44
+ t[o] = async (r, i) => {
45
+ const d = await n.run(K(r, n), i), u = {}, f = u;
46
+ return f[a] = d, u;
47
+ };
48
+ }
49
+ return t[h] = () => ({}), t[w] = (s) => $(s, e), t;
50
+ }
51
+ buildEdges(e) {
52
+ return [
53
+ ...e.map((t, s) => ({ from: h, to: m(t, s) })),
54
+ ...e.map((t, s) => ({ from: m(t, s), to: w }))
55
+ ];
56
+ }
57
+ //#endregion
58
+ };
59
+ C([
60
+ A()
61
+ ], y.prototype, "agents", 2);
62
+ y = C([
63
+ I("ParallelWorkflow")
64
+ ], y);
65
+ const h = "__parallel_fanOut", w = "__parallel_join";
66
+ function _(e) {
67
+ return `__parallel_update_${e}`;
68
+ }
69
+ function F(e, t) {
70
+ return Object.fromEntries(
71
+ t.filter((s) => Object.hasOwn(e, s)).map((s) => [s, e[s]])
72
+ );
73
+ }
74
+ function K(e, t) {
75
+ const s = t.inputSchema;
76
+ return s ? {
77
+ ...F(e, j(s)),
78
+ agentExecutionContext: e.agentExecutionContext,
79
+ outputMessage: e.outputMessage,
80
+ status: void 0,
81
+ summary: ""
82
+ } : { ...e, status: void 0, summary: "" };
83
+ }
84
+ function D(e, t) {
85
+ return e.outputSchema ? F(t, j(e.outputSchema)) : {};
86
+ }
87
+ function R(e, t) {
88
+ const s = e.agentExecutionContext?.messages ?? [], n = t.agentExecutionContext?.messages ?? [];
89
+ return n.length > s.length ? n.slice(s.length) : void 0;
90
+ }
91
+ function $(e, t) {
92
+ const s = [], n = [], a = [], o = {}, r = {}, i = /* @__PURE__ */ new Set();
93
+ for (const [f, P] of t.entries()) {
94
+ const x = _(f), g = e[x];
95
+ if (r[x] = void 0, !g || typeof g != "object")
96
+ continue;
97
+ const c = g, S = c.outputMessage, b = R(e, c), v = c.summary, M = D(P, c), O = S.trim();
98
+ typeof S == "string" && O && s.push(O);
99
+ const E = v.trim();
100
+ typeof v == "string" && E && n.push(E), Array.isArray(b) && a.push(...b), c.status && i.add(c.status);
101
+ for (const [l, p] of Object.entries(M))
102
+ if (!(p === void 0 || l.startsWith("__parallel_update_")) && !N(e[l], p)) {
103
+ if (!Object.hasOwn(o, l)) {
104
+ o[l] = p;
105
+ continue;
106
+ }
107
+ if (!N(o[l], p))
108
+ throw new Error(`ParallelWorkflow detected conflicting updates for state key "${l}".`);
109
+ }
110
+ }
111
+ const d = {
112
+ ...r,
113
+ ...o
114
+ }, u = d;
115
+ return a.length > 0 && (u.agentExecutionContext = {
116
+ ...e.agentExecutionContext,
117
+ messages: [...e.agentExecutionContext.messages, ...a]
118
+ }), s.length && (u.outputMessage = s.join(`
119
+
120
+ `)), n.length && (u.summary = n.join(`
121
+
122
+ `)), i.size && (u.status = i.has("failed") ? "failed" : i.has("success") ? "success" : void 0), d;
123
+ }
124
+ function N(e, t) {
125
+ return e === t ? !0 : e && t ? JSON.stringify(e) === JSON.stringify(t) : !1;
126
+ }
127
+ export {
128
+ y as ParallelWorkflow
129
+ };
@@ -0,0 +1,63 @@
1
+ import type { AgentData, AgentGraphState, BaseAgentLike, GraphEdge } from "../types.js";
2
+ import type { BaseWorkflow } from "./BaseWorkflow.js";
3
+
4
+ /**
5
+ * RouterWorkflow runs a router agent, then dispatches to exactly one downstream agent.
6
+ *
7
+ * Use in the following scenarios:
8
+ * - A model (or routing step) should choose the destination,
9
+ * - Only one branch should run per request
10
+ *
11
+ * How it works:
12
+ * - `routerAgent` always runs first,
13
+ * - `routerAgent` reads the selected route key from `routerOutputKey`,
14
+ * - The agent corresponding to the selected route key is dispatched from `agentsMap`.
15
+ *
16
+ * @since 5.1
17
+ */
18
+ export class RouterWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
19
+ constructor(properties: ConstructProperties<TState>);
20
+ /**
21
+ * Mapping of route keys to destination agents.
22
+ *
23
+ * @required
24
+ */
25
+ accessor agentsMap: Record<string, BaseAgentLike<TState>>;
26
+ /**
27
+ * The agent that decides which route key to select.
28
+ *
29
+ * @required
30
+ */
31
+ accessor routerAgent: BaseAgentLike<TState>;
32
+ /**
33
+ * State key containing the selected route returned by the router agent.
34
+ *
35
+ * @required
36
+ */
37
+ accessor routerOutputKey: keyof AgentGraphState<TState>;
38
+ /**
39
+ * Builds the workflow-specific edges.
40
+ *
41
+ * @param agents
42
+ */
43
+ protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
44
+ /** A list of agents that are part of this workflow. */
45
+ getAgents(): BaseAgentLike<TState>[];
46
+ /** Returns the id of the first node in the workflow graph. */
47
+ protected getEntryNode(): string;
48
+ /**
49
+ * Returns whether the agent at this position should expose terminal runtime fields.
50
+ *
51
+ * @param _agents
52
+ * @param index
53
+ */
54
+ protected isTerminalAgent(_agents: BaseAgentLike<TState>[], index: number): boolean;
55
+ /**
56
+ * Validates the workflow configuration and throws if invalid.
57
+ *
58
+ * @param agents
59
+ */
60
+ protected validateAgents(agents: BaseAgentLike<TState>[]): void;
61
+ }
62
+
63
+ export type ConstructProperties<TState extends AgentData> = Pick<RouterWorkflow<TState>, "agentsMap" | "routerAgent" | "routerOutputKey">;
@@ -0,0 +1,75 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { property as h, subclass as g } from "@arcgis/core/core/accessorSupport/decorators.js";
3
+ import { B as v, g as l } from "../../chunks/BaseWorkflow.js";
4
+ var w = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, f = (e) => {
5
+ throw TypeError(e);
6
+ }, c = (e, t, o, s) => {
7
+ for (var r = s > 1 ? void 0 : s ? _(t, o) : t, n = e.length - 1, d; n >= 0; n--)
8
+ (d = e[n]) && (r = (s ? d(t, o, r) : d(r)) || r);
9
+ return s && r && w(t, o, r), r;
10
+ }, y = (e, t, o) => t.has(e) || f("Cannot " + o), A = (e, t, o) => t.has(e) ? f("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, o), p = (e, t, o) => (y(e, t, "access private method"), o), a, i;
11
+ let u = class extends v {
12
+ //#region Lifecycle
13
+ constructor(e) {
14
+ super(e), A(this, a);
15
+ }
16
+ //#endregion
17
+ //#region Public Methods
18
+ getAgents() {
19
+ return p(this, a, i).call(this), [this.routerAgent, ...Object.values(this.agentsMap)];
20
+ }
21
+ buildEdges(e) {
22
+ p(this, a, i).call(this);
23
+ const t = l(this.routerAgent, 0), o = /* @__PURE__ */ new Map();
24
+ for (const [s, [r]] of Object.entries(this.agentsMap).entries())
25
+ o.set(r, l(e[s + 1], s + 1));
26
+ return [
27
+ {
28
+ from: t,
29
+ decide: (s) => {
30
+ const r = s[this.routerOutputKey];
31
+ if (typeof r != "string" || !r)
32
+ throw new Error("RouterWorkflow decideRoute could not determine next agent from state.");
33
+ const n = o.get(r);
34
+ if (!n)
35
+ throw new Error(
36
+ `RouterWorkflow decideRoute returned unknown agent: ${r}. Expected one of: ${Object.keys(this.agentsMap).join(", ") || "(none)"}.`
37
+ );
38
+ return n;
39
+ }
40
+ }
41
+ ];
42
+ }
43
+ //#endregion
44
+ //#region Protected Methods
45
+ getEntryNode() {
46
+ return p(this, a, i).call(this), l(this.routerAgent, 0);
47
+ }
48
+ isTerminalAgent(e, t) {
49
+ return t > 0;
50
+ }
51
+ validateAgents(e) {
52
+ p(this, a, i).call(this), super.validateAgents(e);
53
+ }
54
+ //#endregion
55
+ };
56
+ a = /* @__PURE__ */ new WeakSet();
57
+ i = function() {
58
+ if (!Object.keys(this.agentsMap).length)
59
+ throw new Error("RouterWorkflow requires a non-empty agentsMap.");
60
+ };
61
+ c([
62
+ h()
63
+ ], u.prototype, "agentsMap", 2);
64
+ c([
65
+ h()
66
+ ], u.prototype, "routerAgent", 2);
67
+ c([
68
+ h()
69
+ ], u.prototype, "routerOutputKey", 2);
70
+ u = c([
71
+ g("RouterWorkflow")
72
+ ], u);
73
+ export {
74
+ u as RouterWorkflow
75
+ };
@@ -0,0 +1,56 @@
1
+ import type { BaseWorkflow } from "./BaseWorkflow.js";
2
+ import type { AgentData, AgentGraphState, BaseAgentLike, GraphEdge } from "../types.js";
3
+
4
+ /**
5
+ * SequentialWorkflow executes agents in strict linear order.
6
+ *
7
+ * Use in the following scenarios:
8
+ * - Later steps depend on values produced by earlier steps,
9
+ * - You want a simple linear pipeline.
10
+ *
11
+ * How it works:
12
+ * - First agent runs and passes shared state forward,
13
+ * - Each subsequent agent receives the updated shared state from the previous agent,
14
+ * - Run agent 2, then agent 3, and so on,
15
+ * - Stop after the final agent in the sequence runs.
16
+ *
17
+ * @since 5.1
18
+ */
19
+ export class SequentialWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
20
+ constructor(properties: ConstructProperties<TState>);
21
+ /**
22
+ * A list of agents to execute in the specified order.
23
+ *
24
+ * @required
25
+ */
26
+ accessor agents: BaseAgentLike<TState>[];
27
+ /**
28
+ * Builds the workflow-specific edges.
29
+ *
30
+ * @param agents
31
+ */
32
+ protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
33
+ /** A list of agents that are part of this workflow. */
34
+ getAgents(): BaseAgentLike<TState>[];
35
+ /**
36
+ * Returns the id of the first node in the workflow graph.
37
+ *
38
+ * @param agents
39
+ */
40
+ protected getEntryNode(agents: BaseAgentLike<TState>[]): string | undefined;
41
+ /**
42
+ * Returns whether the agent at this position should expose terminal runtime fields.
43
+ *
44
+ * @param agents
45
+ * @param index
46
+ */
47
+ protected isTerminalAgent(agents: BaseAgentLike<TState>[], index: number): boolean;
48
+ /**
49
+ * Validates the workflow configuration and throws if invalid.
50
+ *
51
+ * @param agents
52
+ */
53
+ protected validateAgents(agents: BaseAgentLike<TState>[]): void;
54
+ }
55
+
56
+ export type ConstructProperties<TState extends AgentData> = Pick<SequentialWorkflow<TState>, "agents">;
@@ -0,0 +1,69 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { property as p, subclass as f } from "@arcgis/core/core/accessorSupport/decorators.js";
3
+ import { B as c, g as i, a as m } from "../../chunks/BaseWorkflow.js";
4
+ var d = Object.defineProperty, w = Object.getOwnPropertyDescriptor, u = (e, o, r, t) => {
5
+ for (var s = t > 1 ? void 0 : t ? w(o, r) : o, n = e.length - 1, a; n >= 0; n--)
6
+ (a = e[n]) && (s = (t ? a(o, r, s) : a(s)) || s);
7
+ return t && s && d(o, r, s), s;
8
+ };
9
+ let l = class extends c {
10
+ //#region Lifecycle
11
+ constructor(e) {
12
+ super(e);
13
+ }
14
+ //#endregion
15
+ //#region Public Methods
16
+ getAgents() {
17
+ return this.agents;
18
+ }
19
+ //#endregion
20
+ //#region Protected Methods
21
+ getEntryNode(e) {
22
+ return e[0] ? i(e[0], 0) : void 0;
23
+ }
24
+ isTerminalAgent(e, o) {
25
+ return o === e.length - 1;
26
+ }
27
+ validateAgents(e) {
28
+ super.validateAgents(e);
29
+ const o = /* @__PURE__ */ new Map();
30
+ for (const [r, t] of e.entries()) {
31
+ const s = e[r - 1];
32
+ if (t.outputSchema)
33
+ for (const n of m(t.outputSchema)) {
34
+ const a = o.get(n) ?? [];
35
+ a.push(`${t.name} [${r}]`), o.set(n, a);
36
+ }
37
+ if (!(r === 0 || !t.inputSchema || s?.outputSchema))
38
+ throw new Error(
39
+ `Workflow agent "${t.name}" declares an input schema, so upstream agent "${s.name}" must declare an output schema.`
40
+ );
41
+ }
42
+ for (const [r, t] of o.entries())
43
+ t.length > 1 && console.warn(
44
+ `Workflow output field "${r}" is declared by multiple steps (${t.join(", ")}). Later steps will overwrite earlier values in shared state.`
45
+ );
46
+ }
47
+ buildEdges(e) {
48
+ return e.length === 1 ? [
49
+ {
50
+ from: i(e[0], 0),
51
+ decide: () => {
52
+ }
53
+ }
54
+ ] : e.slice(0, -1).map((o, r) => ({
55
+ from: i(o, r),
56
+ decide: (t) => t.status === "failed" ? void 0 : i(e[r + 1], r + 1)
57
+ }));
58
+ }
59
+ //#endregion
60
+ };
61
+ u([
62
+ p()
63
+ ], l.prototype, "agents", 2);
64
+ l = u([
65
+ f("SequentialWorkflow")
66
+ ], l);
67
+ export {
68
+ l as SequentialWorkflow
69
+ };
@@ -0,0 +1,74 @@
1
+ import type { AgentData, AgentExecutionConfig, AgentGraphState, BaseAgentLike, GraphEdge, GraphNodes } from "../types.js";
2
+ import type { BaseWorkflow } from "./BaseWorkflow.js";
3
+
4
+ /**
5
+ * Resolver function that chooses a switch case key from current graph state.
6
+ *
7
+ * @param state - Current workflow graph state.
8
+ * @param config - Optional execution configuration.
9
+ * @since 5.1
10
+ */
11
+ export type SwitchDecider<TState extends AgentData = AgentData> = (state: AgentGraphState<TState>, config?: AgentExecutionConfig) => Promise<string | undefined> | string | undefined;
12
+
13
+ /**
14
+ * SwitchWorkflow routes execution to one of several branches based on a resolver function.
15
+ *
16
+ * Use in the following scenarios:
17
+ * - Branch selection should be based on complex logic that doesn't fit a simple true/false condition.
18
+ * - You want explicit case handling with optional fallback.
19
+ *
20
+ * How it works:
21
+ * - Run `resolver(state, config)` to get a case key,
22
+ * - Route to matching `agentsMap` entry,
23
+ * - If unknown and `defaultAgent` exists, run default,
24
+ * - If unknown and no default, throw an error.
25
+ *
26
+ * @since 5.1
27
+ */
28
+ export class SwitchWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
29
+ constructor(properties: ConstructProperties<TState>);
30
+ /**
31
+ * Mapping of keys to destination agents.
32
+ *
33
+ * @required
34
+ */
35
+ accessor agentsMap: Record<string, BaseAgentLike<TState>>;
36
+ /** Optional fallback agent used when the resolver returns an unknown case. */
37
+ accessor defaultAgent: BaseAgentLike<TState> | undefined;
38
+ /**
39
+ * Resolver used to select the case key for routing.
40
+ *
41
+ * @required
42
+ */
43
+ accessor resolver: SwitchDecider<TState>;
44
+ /**
45
+ * Builds the workflow-specific edges.
46
+ *
47
+ * @param agents
48
+ */
49
+ protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
50
+ /**
51
+ * Builds the workflow's graph nodes.
52
+ *
53
+ * Node ids use the agent id plus its position (`agent.id_index`) instead of only the raw
54
+ * agent id. That prevents collisions when the same agent instance is used multiple times.
55
+ *
56
+ * @param agents
57
+ */
58
+ protected buildNodes(agents: BaseAgentLike<TState>[]): GraphNodes<AgentGraphState<TState>>;
59
+ /** A list of agents that are part of this workflow. */
60
+ getAgents(): BaseAgentLike<TState>[];
61
+ /** Returns the id of the first node in the workflow graph. */
62
+ protected getEntryNode(): string;
63
+ /** Returns whether the agent at this position should expose terminal runtime fields. */
64
+ protected isTerminalAgent(): boolean;
65
+ /**
66
+ * Validates the workflow configuration and throws if invalid.
67
+ *
68
+ * @param agents
69
+ */
70
+ protected validateAgents(agents: BaseAgentLike<TState>[]): void;
71
+ }
72
+
73
+ export type ConstructProperties<TState extends AgentData> = Partial<Pick<SwitchWorkflow<TState>, "defaultAgent">>
74
+ & Pick<SwitchWorkflow<TState>, "agentsMap" | "resolver">;
@@ -0,0 +1,84 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import { property as u, subclass as _ } from "@arcgis/core/core/accessorSupport/decorators.js";
3
+ import { B as y, g as v } from "../../chunks/BaseWorkflow.js";
4
+ var A = Object.defineProperty, N = Object.getOwnPropertyDescriptor, g = (e) => {
5
+ throw TypeError(e);
6
+ }, d = (e, t, r, o) => {
7
+ for (var s = o > 1 ? void 0 : o ? N(t, r) : t, n = e.length - 1, a; n >= 0; n--)
8
+ (a = e[n]) && (s = (o ? a(t, r, s) : a(s)) || s);
9
+ return o && s && A(t, r, s), s;
10
+ }, m = (e, t, r) => t.has(e) || g("Cannot " + r), M = (e, t, r) => t.has(e) ? g("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), w = (e, t, r) => (m(e, t, "access private method"), r), c, p;
11
+ let i = class extends y {
12
+ //#region Lifecycle
13
+ constructor(e) {
14
+ super(e), M(this, c);
15
+ }
16
+ //#endregion
17
+ //#region Public Methods
18
+ getAgents() {
19
+ const e = Object.values(this.agentsMap);
20
+ return this.defaultAgent ? e.concat(this.defaultAgent) : e;
21
+ }
22
+ //#endregion
23
+ //#region Protected Methods
24
+ buildNodes(e) {
25
+ const t = super.buildNodes(e);
26
+ return t[h] = () => ({}), t;
27
+ }
28
+ buildEdges(e) {
29
+ w(this, c, p).call(this);
30
+ const t = this.resolver, r = /* @__PURE__ */ new Map();
31
+ for (const [n, [a]] of Object.entries(this.agentsMap).entries())
32
+ r.set(a, v(e[n], n));
33
+ const { defaultAgent: o } = this, s = o ? v(o, e.length - 1) : void 0;
34
+ return [
35
+ {
36
+ from: h,
37
+ decide: async (n, a) => {
38
+ const l = await Promise.resolve(t(n, a));
39
+ if (!l)
40
+ return;
41
+ const f = r.get(l);
42
+ if (f)
43
+ return f;
44
+ if (o)
45
+ return s;
46
+ throw new Error(
47
+ `SwitchWorkflow resolver returned unknown case: ${l}. Expected one of: ${Object.keys(this.agentsMap).join(", ") || "(none)"}.`
48
+ );
49
+ }
50
+ }
51
+ ];
52
+ }
53
+ getEntryNode() {
54
+ return h;
55
+ }
56
+ isTerminalAgent() {
57
+ return !0;
58
+ }
59
+ validateAgents(e) {
60
+ w(this, c, p).call(this), super.validateAgents(e);
61
+ }
62
+ //#endregion
63
+ };
64
+ c = /* @__PURE__ */ new WeakSet();
65
+ p = function() {
66
+ if (!Object.keys(this.agentsMap).length)
67
+ throw new Error("SwitchWorkflow requires a non-empty agentsMap.");
68
+ };
69
+ d([
70
+ u()
71
+ ], i.prototype, "agentsMap", 2);
72
+ d([
73
+ u()
74
+ ], i.prototype, "resolver", 2);
75
+ d([
76
+ u()
77
+ ], i.prototype, "defaultAgent", 2);
78
+ i = d([
79
+ _("SwitchWorkflow")
80
+ ], i);
81
+ const h = "__switch_decide";
82
+ export {
83
+ i as SwitchWorkflow
84
+ };
@@ -0,0 +1 @@
1
+ (function(){"use strict";const h=(a,r)=>{if(a.length!==r.length)throw new Error("Vectors must be the same length");let c=0,t=0,e=0;for(let n=0;n<a.length;++n){const s=a[n],l=r[n];c+=s*l,t+=s*s,e+=l*l}const i=Math.sqrt(t*e);if(i===0)return 0;const m=c/i;return Math.max(-1,Math.min(1,m))},f=(a,r,c=.6)=>{const t=[],e=[...a];for(;t.length<r&&e.length>0;){let i=-1,m=-1/0;for(let n=0;n<e.length;n++){const s=e[n].score,l=t.length===0?0:Math.max(...t.map(o=>h(e[n].vector,o.vector))),d=c*s-(1-c)*l;d>m&&(m=d,i=n)}t.push(e[i]),e.splice(i,1)}return t.map(({name:i,score:m})=>({name:i,score:m}))};let p=[];const u=new Map,v=12,y=10,M=a=>{p=a.layers.map(r=>({id:r.id,vector:r.vector}))},E=a=>{u.clear();for(const r of a.layers){const c=r.fields.map(t=>({name:t.name,vector:t.vector}));u.set(r.id,c)}};globalThis.addEventListener("message",a=>{(async()=>{const{type:r,webmapEmbeddings:c,layerIdForFieldsSearch:t=[],requestId:e,precomputedEmbedding:i,minScore:m=0,topResults:n=v}=a.data;switch(r){case"generateEmbeddings":{c&&(M(c),E(c)),globalThis.postMessage("completed");break}case"layerSearch":{if(p.length>0)try{const s=p.map(o=>({id:o.id,vector:o.vector,score:h(i,o.vector)})),d=f(s.map(o=>({name:o.id,vector:o.vector,score:o.score})),y).map(({name:o,score:b})=>({id:o,score:b}));globalThis.postMessage({requestId:e,results:d})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Calculation error"})}else globalThis.postMessage({requestId:e,results:[],error:"Layer embeddings not initialized"});break}case"fieldSearch":{if(t.length>0)try{const s=t.map(l=>{const d=u.get(l);if(!d)return{layerId:l,results:[]};const o=d.map(g=>({name:g.name,vector:g.vector,score:h(i,g.vector)})).filter(({score:g})=>g>=m),b=f(o,n);return{layerId:l,results:b}});globalThis.postMessage({requestId:e,results:s})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Field search calculation error"})}break}default:console.warn("Unknown message type:",r)}})()})})();
@@ -1,3 +1,3 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./CFDTXKJ6.js";var o=`(function(){"use strict";const h=(a,r)=>{if(a.length!==r.length)throw new Error("Vectors must be the same length");let c=0,t=0,e=0;for(let n=0;n<a.length;++n){const s=a[n],l=r[n];c+=s*l,t+=s*s,e+=l*l}const i=Math.sqrt(t*e);if(i===0)return 0;const m=c/i;return Math.max(-1,Math.min(1,m))},f=(a,r,c=.6)=>{const t=[],e=[...a];for(;t.length<r&&e.length>0;){let i=-1,m=-1/0;for(let n=0;n<e.length;n++){const s=e[n].score,l=t.length===0?0:Math.max(...t.map(o=>h(e[n].vector,o.vector))),d=c*s-(1-c)*l;d>m&&(m=d,i=n)}t.push(e[i]),e.splice(i,1)}return t.map(({name:i,score:m})=>({name:i,score:m}))};let p=[];const u=new Map,v=12,y=10,M=a=>{p=a.layers.map(r=>({id:r.id,vector:r.vector}))},E=a=>{u.clear();for(const r of a.layers){const c=r.fields.map(t=>({name:t.name,vector:t.vector}));u.set(r.id,c)}};globalThis.addEventListener("message",a=>{(async()=>{const{type:r,webmapEmbeddings:c,layerIdForFieldsSearch:t=[],requestId:e,precomputedEmbedding:i,minScore:m=0,topResults:n=v}=a.data;switch(r){case"generateEmbeddings":{c&&(M(c),E(c)),globalThis.postMessage("completed");break}case"layerSearch":{if(p.length>0)try{const s=p.map(o=>({id:o.id,vector:o.vector,score:h(i,o.vector)})),d=f(s.map(o=>({name:o.id,vector:o.vector,score:o.score})),y).map(({name:o,score:b})=>({id:o,score:b}));globalThis.postMessage({requestId:e,results:d})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Calculation error"})}else globalThis.postMessage({requestId:e,results:[],error:"Layer embeddings not initialized"});break}case"fieldSearch":{if(t.length>0)try{const s=t.map(l=>{const d=u.get(l);if(!d)return{layerId:l,results:[]};const o=d.map(g=>({name:g.name,vector:g.vector,score:h(i,g.vector)})).filter(({score:g})=>g>=m),b=f(o,n);return{layerId:l,results:b}});globalThis.postMessage({requestId:e,results:s})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Field search calculation error"})}break}default:console.warn("Unknown message type:",r)}})()})})();
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import"./YIMNOUTF.js";var o=`(function(){"use strict";const h=(a,r)=>{if(a.length!==r.length)throw new Error("Vectors must be the same length");let c=0,t=0,e=0;for(let n=0;n<a.length;++n){const s=a[n],l=r[n];c+=s*l,t+=s*s,e+=l*l}const i=Math.sqrt(t*e);if(i===0)return 0;const m=c/i;return Math.max(-1,Math.min(1,m))},f=(a,r,c=.6)=>{const t=[],e=[...a];for(;t.length<r&&e.length>0;){let i=-1,m=-1/0;for(let n=0;n<e.length;n++){const s=e[n].score,l=t.length===0?0:Math.max(...t.map(o=>h(e[n].vector,o.vector))),d=c*s-(1-c)*l;d>m&&(m=d,i=n)}t.push(e[i]),e.splice(i,1)}return t.map(({name:i,score:m})=>({name:i,score:m}))};let p=[];const u=new Map,v=12,y=10,M=a=>{p=a.layers.map(r=>({id:r.id,vector:r.vector}))},E=a=>{u.clear();for(const r of a.layers){const c=r.fields.map(t=>({name:t.name,vector:t.vector}));u.set(r.id,c)}};globalThis.addEventListener("message",a=>{(async()=>{const{type:r,webmapEmbeddings:c,layerIdForFieldsSearch:t=[],requestId:e,precomputedEmbedding:i,minScore:m=0,topResults:n=v}=a.data;switch(r){case"generateEmbeddings":{c&&(M(c),E(c)),globalThis.postMessage("completed");break}case"layerSearch":{if(p.length>0)try{const s=p.map(o=>({id:o.id,vector:o.vector,score:h(i,o.vector)})),d=f(s.map(o=>({name:o.id,vector:o.vector,score:o.score})),y).map(({name:o,score:b})=>({id:o,score:b}));globalThis.postMessage({requestId:e,results:d})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Calculation error"})}else globalThis.postMessage({requestId:e,results:[],error:"Layer embeddings not initialized"});break}case"fieldSearch":{if(t.length>0)try{const s=t.map(l=>{const d=u.get(l);if(!d)return{layerId:l,results:[]};const o=d.map(g=>({name:g.name,vector:g.vector,score:h(i,g.vector)})).filter(({score:g})=>g>=m),b=f(o,n);return{layerId:l,results:b}});globalThis.postMessage({requestId:e,results:s})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Field search calculation error"})}break}default:console.warn("Unknown message type:",r)}})()})})();
3
3
  `,r=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",o],{type:"text/javascript;charset=utf-8"});function a(t){let e;try{if(e=r&&(self.URL||self.webkitURL).createObjectURL(r),!e)throw"";let s=new Worker(e,{name:t?.name});return s.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(e)}),s}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(o),{name:t?.name})}}export{a as default};
@@ -1,2 +1,2 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{g as s,h as e,v as i,y as t}from"./DSEMD4M2.js";import"./CFDTXKJ6.js";var o=s`:host{display:contents}.icon{padding:var(--calcite-spacing-sm);border-radius:var(--calcite-spacing-xl);background:var(--calcite-color-brand);color:var(--calcite-color-foreground-1)}.loading-container{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);padding:0 var(--calcite-spacing-sm)}.loading{display:flex;align-items:center;gap:var(--calcite-spacing-sm)}.text{font-style:italic;word-wrap:break-word;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.skeleton-block{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);width:100%}.skeleton-text{display:block;height:.95em;border-radius:var(--calcite-border-radius);background:linear-gradient(90deg,color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent),color-mix(in srgb,var(--calcite-color-foreground-3) 85%,transparent),color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent));background-size:200% 100%;animation:assistant-message-loading-shimmer 1.2s ease-in-out infinite;width:85%}.skeleton-text:last-child{width:70%}@keyframes assistant-message-loading-shimmer{0%{background-position:-150% 0}to{background-position:150% 0}}@media(prefers-reduced-motion){.skeleton-text{animation:none}}`,a=class extends i{constructor(){super(...arguments),this.loading=!1,this.loadingMessage=""}static{this.properties={loading:5,loadingMessage:1}}static{this.styles=o}render(){return this.loading?e`<arcgis-assistant-message footer-disabled><slot name=icon slot=icon><calcite-icon class="icon" icon=effects scale=s></calcite-icon></slot><slot name=content slot=content><div class="loading-container"><div class="loading"><calcite-loader label=loading inline></calcite-loader><div class="text">${this.loadingMessage}</div></div><div class="skeleton-block"><span class="skeleton-text"></span><span class="skeleton-text"></span></div></div></slot></arcgis-assistant-message>`:null}};t("arcgis-assistant-message-loading",a);export{a as ArcgisAssistantMessageLoading};
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{g as s,h as e,v as i,y as t}from"./OH64RMOR.js";import"./YIMNOUTF.js";var o=s`:host{display:contents}.icon{padding:var(--calcite-spacing-sm);border-radius:var(--calcite-spacing-xl);background:var(--calcite-color-brand);color:var(--calcite-color-foreground-1)}.loading-container{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);padding:0 var(--calcite-spacing-sm)}.loading{display:flex;align-items:center;gap:var(--calcite-spacing-sm)}.text{font-style:italic;word-wrap:break-word;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.skeleton-block{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);width:100%}.skeleton-text{display:block;height:.95em;border-radius:var(--calcite-border-radius);background:linear-gradient(90deg,color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent),color-mix(in srgb,var(--calcite-color-foreground-3) 85%,transparent),color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent));background-size:200% 100%;animation:assistant-message-loading-shimmer 1.2s ease-in-out infinite;width:85%}.skeleton-text:last-child{width:70%}@keyframes assistant-message-loading-shimmer{0%{background-position:-150% 0}to{background-position:150% 0}}@media(prefers-reduced-motion){.skeleton-text{animation:none}}`,a=class extends i{constructor(){super(...arguments),this.loading=!1,this.loadingMessage=""}static{this.properties={loading:5,loadingMessage:1}}static{this.styles=o}render(){return this.loading?e`<arcgis-assistant-message footer-disabled><slot name=icon slot=icon><calcite-icon class="icon" icon=effects scale=s></calcite-icon></slot><slot name=content slot=content><div class="loading-container"><div class="loading"><calcite-loader label=loading inline></calcite-loader><div class="text">${this.loadingMessage}</div></div><div class="skeleton-block"><span class="skeleton-text"></span><span class="skeleton-text"></span></div></div></slot></arcgis-assistant-message>`:null}};t("arcgis-assistant-message-loading",a);export{a as ArcgisAssistantMessageLoading};
@@ -1,2 +1,2 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as l}from"./O62HTIOD.js";import"./3QC3BRZP.js";import"./YGW7TUNX.js";import{g as a,h as e,k as o,t as i,u as n,v as r,y as c}from"./DSEMD4M2.js";import"./CFDTXKJ6.js";export default $arcgis.t(([{watch:d}])=>{var g=a`.container{display:flex;align-items:center;width:100%;justify-content:space-between;gap:var(--calcite-spacing-xs)}.start,.end{display:flex;align-items:center;gap:var(--calcite-spacing-xs)}`,t=class extends r{constructor(){super(...arguments),this._messages=l({blocking:!0}),this._endRef=i(),this._showLog=!1,this.feedbackEnabled=!1,this.logEnabled=!1,this.copyEnabled=!1,this.readAloudEnabled=!1}static{this.properties={_showLog:16,feedbackEnabled:5,logEnabled:5,copyEnabled:5,readAloudEnabled:5,message:0}}static{this.styles=g}loaded(){this.manager.onLifecycle(()=>[d(()=>this._showLog,()=>this._scrollToEnd())])}_scrollToEnd(){requestAnimationFrame(()=>{this._endRef.value?.scrollIntoView({behavior:"smooth",block:"end"})})}_renderCopyButton(){return!this.message?.error&&this.copyEnabled?e`<calcite-action id=action-copy icon=copy-to-clipboard scale=s @click=${async()=>{try{let s=this.message?.content?.trim();s&&await navigator.clipboard.writeText(s)}catch(s){o("warn","assistant-message-footer","Failed to copy text to clipboard",{once:!0,detail:{error:s}})}}} text></calcite-action><calcite-tooltip reference-element=action-copy overlay-positioning=fixed placement=bottom><span>${this._messages.copyButtonLabel}</span></calcite-tooltip>`:null}_renderLogButton(){return this.message?.log?.length&&this.logEnabled?e`<calcite-action id=action-log icon=access-string-results scale=s @click=${()=>this._showLog=!this._showLog} .text=${this._messages.logButtonLabel} .active=${this._showLog}></calcite-action><calcite-tooltip reference-element=action-log overlay-positioning=fixed placement=bottom><span>${this._messages.logButtonLabel}</span></calcite-tooltip>`:null}_renderReadAloudButton(){return e`<arcgis-assistant-message-read-aloud .message=${this.message} .readAloudEnabled=${this.readAloudEnabled}></arcgis-assistant-message-read-aloud>`}_renderLog(){return e`<arcgis-assistant-message-log .log=${this.message?.log} .showLog=${this._showLog} .logEnabled=${this.logEnabled}></arcgis-assistant-message-log>`}_renderFeedback(){return e`<arcgis-assistant-message-feedback .message=${this.message} .feedbackEnabled=${this.feedbackEnabled}></arcgis-assistant-message-feedback>`}render(){return e`${this._renderLog()}<div class="container"><div class="start">${this._renderCopyButton()}${this._renderLogButton()}${this._renderReadAloudButton()}<slot name=footer-actions-start></slot></div><div class="end"><slot name=footer-actions-end></slot>${this._renderFeedback()}</div></div><div ${n(this._endRef)}></div>`}};c("arcgis-assistant-message-footer",t);return t},"core/reactiveUtils")
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{a as l}from"./H7422XUG.js";import"./MH5RPXHM.js";import"./OAVEHGB6.js";import{g as a,h as e,k as o,t as i,u as n,v as r,y as c}from"./OH64RMOR.js";import"./YIMNOUTF.js";export default $arcgis.t(([{watch:d}])=>{var g=a`.container{display:flex;align-items:center;width:100%;justify-content:space-between;gap:var(--calcite-spacing-xs)}.start,.end{display:flex;align-items:center;gap:var(--calcite-spacing-xs)}`,t=class extends r{constructor(){super(...arguments),this._messages=l({blocking:!0}),this._endRef=i(),this._showLog=!1,this.feedbackEnabled=!1,this.logEnabled=!1,this.copyEnabled=!1,this.readAloudEnabled=!1}static{this.properties={_showLog:16,feedbackEnabled:5,logEnabled:5,copyEnabled:5,readAloudEnabled:5,message:0}}static{this.styles=g}loaded(){this.manager.onLifecycle(()=>[d(()=>this._showLog,()=>this._scrollToEnd())])}_scrollToEnd(){requestAnimationFrame(()=>{this._endRef.value?.scrollIntoView({behavior:"smooth",block:"end"})})}_renderCopyButton(){return!this.message?.error&&this.copyEnabled?e`<calcite-action id=action-copy icon=copy-to-clipboard scale=s @click=${async()=>{try{let s=this.message?.content?.trim();s&&await navigator.clipboard.writeText(s)}catch(s){o("warn","assistant-message-footer","Failed to copy text to clipboard",{once:!0,detail:{error:s}})}}} text></calcite-action><calcite-tooltip reference-element=action-copy overlay-positioning=fixed placement=bottom><span>${this._messages.copyButtonLabel}</span></calcite-tooltip>`:null}_renderLogButton(){return this.message?.log?.length&&this.logEnabled?e`<calcite-action id=action-log icon=access-string-results scale=s @click=${()=>this._showLog=!this._showLog} .text=${this._messages.logButtonLabel} .active=${this._showLog}></calcite-action><calcite-tooltip reference-element=action-log overlay-positioning=fixed placement=bottom><span>${this._messages.logButtonLabel}</span></calcite-tooltip>`:null}_renderReadAloudButton(){return e`<arcgis-assistant-message-read-aloud .message=${this.message} .readAloudEnabled=${this.readAloudEnabled}></arcgis-assistant-message-read-aloud>`}_renderLog(){return e`<arcgis-assistant-message-log .log=${this.message?.log} .showLog=${this._showLog} .logEnabled=${this.logEnabled}></arcgis-assistant-message-log>`}_renderFeedback(){return e`<arcgis-assistant-message-feedback .message=${this.message} .feedbackEnabled=${this.feedbackEnabled}></arcgis-assistant-message-feedback>`}render(){return e`${this._renderLog()}<div class="container"><div class="start">${this._renderCopyButton()}${this._renderLogButton()}${this._renderReadAloudButton()}<slot name=footer-actions-start></slot></div><div class="end"><slot name=footer-actions-end></slot>${this._renderFeedback()}</div></div><div ${n(this._endRef)}></div>`}};c("arcgis-assistant-message-footer",t);return t},"core/reactiveUtils")