@esri/solutions-components 5.1.0-next.157 → 5.1.0-next.159

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 (544) hide show
  1. package/dist/cdn/{O4YFJXGF.js → 22BJ76LD.js} +1 -1
  2. package/dist/cdn/24DOFCUH.js +2 -0
  3. package/dist/cdn/{QA3SYWWX.js → 26EKIZQ3.js} +1 -1
  4. package/dist/cdn/{DOXKOGC2.js → 26QXT6ZT.js} +1 -1
  5. package/dist/cdn/{A7PEHKA2.js → 2OCRSUSE.js} +1 -1
  6. package/dist/cdn/{NC34DM4N.js → 2UCURPVT.js} +1 -1
  7. package/dist/cdn/{DZB3263I.js → 2X3SHREV.js} +1 -1
  8. package/dist/cdn/{WUEJANIZ.js → 3A5WS2II.js} +1 -1
  9. package/dist/cdn/{3N4FGXFE.js → 3D5OFNW5.js} +1 -1
  10. package/dist/cdn/{IO5DIUTT.js → 3E7MYA66.js} +1 -1
  11. package/dist/cdn/{YWXDNRE2.js → 3IHDWRXV.js} +1 -1
  12. package/dist/cdn/3IO2JXVB.js +2 -0
  13. package/dist/cdn/{OOP3DI7Y.js → 3KRXI2TQ.js} +1 -1
  14. package/dist/cdn/{GDDMG3Q4.js → 3NKGACT7.js} +1 -1
  15. package/dist/cdn/{7Y32UJS4.js → 3QIWKYQY.js} +1 -1
  16. package/dist/cdn/3SDEIO24.js +2 -0
  17. package/dist/cdn/{BYGOJ5ML.js → 3Z7EYDFO.js} +66 -66
  18. package/dist/cdn/{ALQFRJNC.js → 4ALVWOG7.js} +1 -1
  19. package/dist/cdn/{QLOWHDGX.js → 4OKIVS32.js} +1 -1
  20. package/dist/cdn/{YKSW755L.js → 4PNNKMNH.js} +1 -1
  21. package/dist/cdn/{Y3Q6SFIV.js → 55QBAVPE.js} +1 -1
  22. package/dist/cdn/{7ZJQQBSR.js → 57SZHKM5.js} +1 -1
  23. package/dist/cdn/{MDNGEZ2V.js → 5BN62I7L.js} +1 -1
  24. package/dist/cdn/{IM3C52I6.js → 5EXKQXLZ.js} +1 -1
  25. package/dist/cdn/{JQANOMEB.js → 5F6KCXYP.js} +1 -1
  26. package/dist/cdn/{RYETW3AF.js → 5JBZ6L5Q.js} +1 -1
  27. package/dist/cdn/{ZQAD6SUE.js → 5K5GHKON.js} +1 -1
  28. package/dist/cdn/{KP3AJBAI.js → 5VIB2BPJ.js} +1 -1
  29. package/dist/cdn/{X26QOEYN.js → 62CPZJO5.js} +1 -1
  30. package/dist/cdn/{5XDPNTYE.js → 62QGEVBO.js} +1 -1
  31. package/dist/cdn/{VCL4OTSQ.js → 632J5NXN.js} +1 -1
  32. package/dist/cdn/{OL5LAOD5.js → 6LHIJG7J.js} +1 -1
  33. package/dist/cdn/{SSZBIVTK.js → 6XWFCHCJ.js} +1 -1
  34. package/dist/cdn/73EY5SIB.js +2 -0
  35. package/dist/cdn/{QCCLUBLV.js → 7FZDDT7D.js} +1 -1
  36. package/dist/cdn/{CSW2JRVE.js → 7MNSZGMB.js} +1 -1
  37. package/dist/cdn/{5GHZQ66V.js → 7NUJ4IS5.js} +1 -1
  38. package/dist/cdn/{WFHPQFNH.js → 7OHSJ5SV.js} +1 -1
  39. package/dist/cdn/{HEI6GMZN.js → 7VQB43WL.js} +1 -1
  40. package/dist/cdn/{GXIGM56I.js → 7YJMTZFC.js} +1 -1
  41. package/dist/cdn/{LI7Q44Z6.js → 7ZJBP3SS.js} +1 -1
  42. package/dist/cdn/{3SRDS4KQ.js → 7ZSO7MSX.js} +1 -1
  43. package/dist/cdn/{G5PL37M5.js → A2VP46QZ.js} +1 -1
  44. package/dist/cdn/{MPSNK45A.js → A62EWI7L.js} +1 -1
  45. package/dist/cdn/ACTJS4TX.js +4 -0
  46. package/dist/cdn/{LF3HQQMS.js → AEALFROI.js} +1 -1
  47. package/dist/cdn/{UNJV2PKC.js → AM6QSTRH.js} +1 -1
  48. package/dist/cdn/{MZXUUA7G.js → AS6VINEU.js} +1 -1
  49. package/dist/cdn/{KXT52OBS.js → AYJ5ZPU6.js} +1 -1
  50. package/dist/cdn/{2UIPY2ED.js → BATEZR3T.js} +1 -1
  51. package/dist/cdn/{ENTBR5YC.js → BEKMMPB7.js} +1 -1
  52. package/dist/cdn/{AXFB53AQ.js → BQ7O62CG.js} +1 -1
  53. package/dist/cdn/{S2Y44VZV.js → BVG2SE55.js} +1 -1
  54. package/dist/cdn/{KZSBETIP.js → C5BQAX2M.js} +1 -1
  55. package/dist/cdn/{M7GWNGTJ.js → CARCFJRD.js} +1 -1
  56. package/dist/cdn/{6RTL3IJQ.js → CAXDDYGL.js} +1 -1
  57. package/dist/cdn/{NVEAYDYI.js → CAYWD56D.js} +1 -1
  58. package/dist/cdn/{ARFCWGCB.js → CFJ4FEY3.js} +1 -1
  59. package/dist/cdn/{KZFMPHCV.js → CLRLOHTR.js} +1 -1
  60. package/dist/cdn/{M5ZEJF3J.js → CPOZIWVH.js} +1 -1
  61. package/dist/cdn/{UVHM4PU5.js → CUG5CROK.js} +1 -1
  62. package/dist/cdn/{ZZJHOJM5.js → CYEFGPUM.js} +3 -3
  63. package/dist/cdn/{V2DYKK6V.js → CZVHNBQN.js} +1 -1
  64. package/dist/cdn/{I3A27HFS.js → D2EVPZ5K.js} +1 -1
  65. package/dist/cdn/{JJV3TD42.js → D4TEADUS.js} +1 -1
  66. package/dist/cdn/{CZJPS7CF.js → D52QVYYU.js} +1 -1
  67. package/dist/cdn/{66VSNZFA.js → D5JF7XQN.js} +1 -1
  68. package/dist/cdn/{35HRMJUI.js → D6ZGMSQF.js} +1 -1
  69. package/dist/cdn/{MWFCDDBC.js → D7G4LZRG.js} +1 -1
  70. package/dist/cdn/{73O55ZBJ.js → DGQQF6WF.js} +1 -1
  71. package/dist/cdn/{JTENM3PQ.js → DJYT367X.js} +1 -1
  72. package/dist/cdn/{XDONARND.js → DKQRECGR.js} +1 -1
  73. package/dist/cdn/{EPKRNLRL.js → DKXVDY6L.js} +1 -1
  74. package/dist/cdn/{RFSPNC4B.js → DLDR5V2P.js} +1 -1
  75. package/dist/cdn/{7KEONOFN.js → DMENKRSP.js} +1 -1
  76. package/dist/cdn/{DWAYOC2L.js → DWKKP34X.js} +1 -1
  77. package/dist/cdn/{JDCZUOU6.js → E25ZWVBK.js} +1 -1
  78. package/dist/cdn/{HYB5LBMY.js → E7CWZMS4.js} +1 -1
  79. package/dist/cdn/{AVBZ2B75.js → EF2TTWG5.js} +1 -1
  80. package/dist/cdn/{XDZPQACK.js → EG5KPZQ2.js} +1 -1
  81. package/dist/cdn/{6BIHAEOS.js → EHSIODIO.js} +1 -1
  82. package/dist/cdn/{SNJPMQCE.js → EKK5FR2V.js} +1 -1
  83. package/dist/cdn/{AOJP5RQ6.js → EMPMQDRQ.js} +1 -1
  84. package/dist/cdn/{XBFG3KX6.js → ENLFOYSI.js} +1 -1
  85. package/dist/cdn/{6Q52JBZW.js → ES63XK5X.js} +1 -1
  86. package/dist/cdn/EXBEKVP5.js +2 -0
  87. package/dist/cdn/{NM2PQIH6.js → EYJQEBDF.js} +1 -1
  88. package/dist/cdn/{EF4LWVLU.js → F3A22NPP.js} +1 -1
  89. package/dist/cdn/{Y6KZTCZD.js → F5SUVMAE.js} +1 -1
  90. package/dist/cdn/{HS55CSUO.js → F6J3OLVZ.js} +1 -1
  91. package/dist/cdn/{IZ7DJL5P.js → FA5CJT2S.js} +1 -1
  92. package/dist/cdn/{S6J35GRM.js → FBGCV6YJ.js} +1 -1
  93. package/dist/cdn/{JET6MYZJ.js → FBSKACM2.js} +1 -1
  94. package/dist/cdn/{V52O7WYV.js → FCJFAZ4S.js} +1 -1
  95. package/dist/cdn/{ANVT6ANQ.js → FE6JCIZY.js} +1 -1
  96. package/dist/cdn/{7LKPG6HJ.js → FE7HMUSZ.js} +1 -1
  97. package/dist/cdn/{HJW2JW4G.js → FVR5S6DL.js} +1 -1
  98. package/dist/cdn/{YJBXJNUR.js → FZNRD2XJ.js} +1 -1
  99. package/dist/cdn/{TRXDA7G2.js → G2RMWJ7R.js} +1 -1
  100. package/dist/cdn/{6OJALTOU.js → G63OYQ7G.js} +1 -1
  101. package/dist/cdn/{RXOPHYUF.js → GABDTUB7.js} +1 -1
  102. package/dist/cdn/{BLR4MTOP.js → GLC7JVKG.js} +1 -1
  103. package/dist/cdn/{B3BR2NG5.js → GXZWJXHM.js} +1 -1
  104. package/dist/cdn/H3NPAQ3U.js +2 -0
  105. package/dist/cdn/{UUHDVB24.js → HB56DBBP.js} +1 -1
  106. package/dist/cdn/{C76SZF3J.js → HGOYPWOK.js} +1 -1
  107. package/dist/cdn/{K5ZIHTQC.js → HJZRCLYP.js} +1 -1
  108. package/dist/cdn/{SQ3AHKIW.js → I4EEOB6Y.js} +1 -1
  109. package/dist/cdn/{KCTWFRCW.js → I4VWG355.js} +1 -1
  110. package/dist/cdn/{MZ73EAAV.js → I5E3PM26.js} +1 -1
  111. package/dist/cdn/ICY4O6XV.js +2 -0
  112. package/dist/cdn/{GFEDQ7WH.js → IGQJLEEJ.js} +1 -1
  113. package/dist/cdn/{UY66XIX3.js → IOFIC3IG.js} +1 -1
  114. package/dist/cdn/{FJAJKPL6.js → IQVJCQTP.js} +1 -1
  115. package/dist/cdn/{BSBNPUTI.js → IXJFVKYN.js} +1 -1
  116. package/dist/cdn/{TK235QG4.js → J6OVONBB.js} +1 -1
  117. package/dist/cdn/{ORMBTE2Z.js → JEIP7CJK.js} +1 -1
  118. package/dist/cdn/{P6VUY7UX.js → JFLG3EKT.js} +1 -1
  119. package/dist/cdn/{R7A62RZ4.js → JJDAJ7CL.js} +1 -1
  120. package/dist/cdn/{ZF724O2R.js → JUPIKTGO.js} +1 -1
  121. package/dist/cdn/{YKM2YRZP.js → KAGDNHPY.js} +1 -1
  122. package/dist/cdn/{JLQYLRUP.js → KDHI3OWQ.js} +1 -1
  123. package/dist/cdn/{GJ7QMCFT.js → KIKSO3OQ.js} +1 -1
  124. package/dist/cdn/{PRM47E4O.js → KKEERGX7.js} +1 -1
  125. package/dist/cdn/{7ZEDJMU7.js → KMKZEHDS.js} +1 -1
  126. package/dist/cdn/{EVZXWT6K.js → KMTYPOFM.js} +1 -1
  127. package/dist/cdn/{6RONZCGM.js → KTRKTBPS.js} +1 -1
  128. package/dist/cdn/{QLRGY4WQ.js → KU2LYW6K.js} +1 -1
  129. package/dist/cdn/{EZ5PKNLU.js → L4BYLII5.js} +1 -1
  130. package/dist/cdn/{7NKBQ4G6.js → LHLLMC6K.js} +1 -1
  131. package/dist/cdn/{L2XO4YLV.js → LM46YQCN.js} +1 -1
  132. package/dist/cdn/{BROZWKD5.js → LOWGHGDS.js} +1 -1
  133. package/dist/cdn/{PRXFYNIG.js → LPFG5XTA.js} +1 -1
  134. package/dist/cdn/{5MPDXVRM.js → LSBUPU7F.js} +1 -1
  135. package/dist/cdn/{FDO2JBGW.js → LVK2J23W.js} +1 -1
  136. package/dist/cdn/{2C6OKRTL.js → LXGY2E55.js} +1 -1
  137. package/dist/cdn/{6RNSFI2J.js → LY3WRG7K.js} +1 -1
  138. package/dist/cdn/{XG3T3NF3.js → MBAQ324M.js} +1 -1
  139. package/dist/cdn/{7IXJB2CS.js → MBVY6OPY.js} +1 -1
  140. package/dist/cdn/{EW4MNCWO.js → MDKHW7NM.js} +1 -1
  141. package/dist/cdn/MISU75DC.js +2 -0
  142. package/dist/cdn/{N2LDQKCJ.js → MJ6JD7WX.js} +1 -1
  143. package/dist/cdn/{XIUYW7RN.js → MKDVJPNY.js} +1 -1
  144. package/dist/cdn/{MDMFIEM7.js → MLNGJEKI.js} +1 -1
  145. package/dist/cdn/{CFQKZMGC.js → MTEVQC6W.js} +1 -1
  146. package/dist/cdn/{VTI5LEQY.js → MW3IJQRQ.js} +1 -1
  147. package/dist/cdn/{3OQ24P5P.js → N33J6JX2.js} +1 -1
  148. package/dist/cdn/{YUPT4BTA.js → NKEQVKHZ.js} +1 -1
  149. package/dist/cdn/{KDE2RXEH.js → NVIMZ7ZS.js} +1 -1
  150. package/dist/cdn/O4VFFJLQ.js +2 -0
  151. package/dist/cdn/{E4BPYNC5.js → O7VRD3Z3.js} +3 -3
  152. package/dist/cdn/{BIRAQCVT.js → OAEZN4D5.js} +1 -1
  153. package/dist/cdn/{AL7O7ZB2.js → OGH565H7.js} +1 -1
  154. package/dist/cdn/{MURYADCX.js → OJDW3XGU.js} +1 -1
  155. package/dist/cdn/{DIMSALHW.js → OMRM5EXN.js} +1 -1
  156. package/dist/cdn/{7ZKKR7QO.js → OZ7YBTKR.js} +1 -1
  157. package/dist/cdn/{U2ZKJCSY.js → P7LSYADG.js} +1 -1
  158. package/dist/cdn/{DQ7I7HGP.js → PEQUHMTU.js} +1 -1
  159. package/dist/cdn/{3OLSNMWN.js → PKOJQT4I.js} +1 -1
  160. package/dist/cdn/{R3C2X4CM.js → PSBOV4IR.js} +1 -1
  161. package/dist/cdn/{QF2IXVAT.js → PWER63DX.js} +1 -1
  162. package/dist/cdn/{UBEU6ULP.js → PYPVVSIX.js} +1 -1
  163. package/dist/cdn/{SNE4DYFB.js → Q2K6BUCN.js} +1 -1
  164. package/dist/cdn/{232XXYVJ.js → Q3WGKNJH.js} +1 -1
  165. package/dist/cdn/{KGU32CDZ.js → Q4X6GXRI.js} +1 -1
  166. package/dist/cdn/{AKQEDHUS.js → QBARJMJE.js} +1 -1
  167. package/dist/cdn/{IV7RVOFY.js → QH343537.js} +1 -1
  168. package/dist/cdn/{X3CDW2ME.js → QLX3XORL.js} +1 -1
  169. package/dist/cdn/{V73HMWMC.js → QPX33Y62.js} +1 -1
  170. package/dist/cdn/{UH4IH4MC.js → QQYN7RED.js} +1 -1
  171. package/dist/cdn/{BWRBYYGI.js → QTFTJ4DQ.js} +1 -1
  172. package/dist/cdn/{EKFKOS5K.js → QWNRGCQS.js} +1 -1
  173. package/dist/cdn/{WAJG744H.js → R2JOPHL5.js} +1 -1
  174. package/dist/cdn/{LZTAD4IE.js → R4PQI4LJ.js} +1 -1
  175. package/dist/cdn/{XKBOPER7.js → RLYLBYMX.js} +1 -1
  176. package/dist/cdn/{P2NKBGLG.js → RQIGAX6O.js} +1 -1
  177. package/dist/cdn/{WRLN7DLT.js → S47SVZPE.js} +1 -1
  178. package/dist/cdn/{C4T4HSG2.js → S4ZMJ42A.js} +1 -1
  179. package/dist/cdn/{LOPXSWVG.js → SC4UAHYZ.js} +1 -1
  180. package/dist/cdn/{DBHZRNFR.js → SDX7YG23.js} +1 -1
  181. package/dist/cdn/{IBAJ7OFO.js → SGU3KCZB.js} +1 -1
  182. package/dist/cdn/{RLV5JHIU.js → SHI2ULEO.js} +1 -1
  183. package/dist/cdn/{V6VJJHYJ.js → SMN3CVM5.js} +1 -1
  184. package/dist/cdn/SNZRQPXI.js +46 -0
  185. package/dist/cdn/SYISCXZY.js +4 -0
  186. package/dist/cdn/{CNGHMKQK.js → T6BYV326.js} +26 -26
  187. package/dist/cdn/{3T3GPK27.js → T6EKXYZA.js} +1 -1
  188. package/dist/cdn/T6FQ2A4O.js +2 -0
  189. package/dist/cdn/{JM4BUUFY.js → TLRBE2TZ.js} +1 -1
  190. package/dist/cdn/{SJ7HTNAT.js → TLY6ZEKN.js} +1 -1
  191. package/dist/cdn/{IUNUJ6GU.js → TTCTODAR.js} +1 -1
  192. package/dist/cdn/{B6IICRWD.js → U2LBV6VU.js} +1 -1
  193. package/dist/cdn/{HRH3YBW4.js → U6DXEFHP.js} +1 -1
  194. package/dist/cdn/{SRLQU37I.js → UA6XD7SQ.js} +1 -1
  195. package/dist/cdn/{FS5WR74E.js → UBPCOTIY.js} +1 -1
  196. package/dist/cdn/{RCOHFQC5.js → UNBGBQPR.js} +1 -1
  197. package/dist/cdn/{IZDAQGZD.js → UUIKE2AH.js} +1 -1
  198. package/dist/cdn/{E5X2RW5Y.js → UUKV62PY.js} +1 -1
  199. package/dist/cdn/{S2A7SDYB.js → UXN2MYLX.js} +1 -1
  200. package/dist/cdn/{GDX4FWG7.js → V74POSPP.js} +1 -1
  201. package/dist/cdn/{PCP5UFZR.js → V7WSQCQY.js} +1 -1
  202. package/dist/cdn/VHSGX4DC.js +2 -0
  203. package/dist/cdn/{6LDTUOZL.js → VHYS3SP3.js} +1 -1
  204. package/dist/cdn/{B7J5RZIJ.js → VJDUPEFF.js} +1 -1
  205. package/dist/cdn/{4V4CR63B.js → VNTPM6CQ.js} +1 -1
  206. package/dist/cdn/{HDRMSU3L.js → VPFXIGOI.js} +1 -1
  207. package/dist/cdn/{AZDHGEBN.js → VTAQ6NBB.js} +1 -1
  208. package/dist/cdn/{V3MSUKLX.js → VXGLGWIF.js} +1 -1
  209. package/dist/cdn/{7CZG6NDM.js → W7VD3QDN.js} +1 -1
  210. package/dist/cdn/{IR55PBAU.js → WCD4U7UJ.js} +1 -1
  211. package/dist/cdn/{QX7YVGEN.js → WCXR46D4.js} +1 -1
  212. package/dist/cdn/{2TR3Y7HD.js → WFIMYIS3.js} +1 -1
  213. package/dist/cdn/WQHJMFGP.js +2 -0
  214. package/dist/cdn/{OUNL2UWX.js → WXM3KMEV.js} +1 -1
  215. package/dist/cdn/{IMJTIIHG.js → X52T6DJT.js} +1 -1
  216. package/dist/cdn/{PBENK36A.js → XA3SV62A.js} +1 -1
  217. package/dist/cdn/{EUPJV6QI.js → XH6MM3RE.js} +1 -1
  218. package/dist/cdn/{SHGAD5MK.js → XHFFDKEQ.js} +1 -1
  219. package/dist/cdn/{BFC6PQCO.js → XKEKXTL2.js} +1 -1
  220. package/dist/cdn/{Q7GMS6X2.js → YCIKY6QN.js} +1 -1
  221. package/dist/cdn/YGWYD3LU.js +3 -0
  222. package/dist/cdn/{2BTU374O.js → YUKIKHOU.js} +1 -1
  223. package/dist/cdn/{W2ZZLJGQ.js → ZBX2SDO5.js} +1 -1
  224. package/dist/cdn/{OZFVLORO.js → ZI7OWB5M.js} +1 -1
  225. package/dist/cdn/{LJIX7K76.js → ZNC2XEOJ.js} +1 -1
  226. package/dist/cdn/{QNRKGTZT.js → ZPEVEBJD.js} +1 -1
  227. package/dist/cdn/{5ZVSYUD7.js → ZSO2PDMV.js} +1 -1
  228. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ar.json +1 -1
  229. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bg.json +1 -1
  230. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bs.json +1 -1
  231. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ca.json +1 -1
  232. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.cs.json +1 -1
  233. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.da.json +1 -1
  234. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.de.json +1 -1
  235. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.el.json +1 -1
  236. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.es.json +1 -1
  237. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.et.json +1 -1
  238. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fi.json +1 -1
  239. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fr.json +1 -1
  240. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.he.json +1 -1
  241. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hr.json +1 -1
  242. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hu.json +1 -1
  243. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.id.json +1 -1
  244. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.it.json +1 -1
  245. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ja.json +1 -1
  246. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ko.json +1 -1
  247. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lt.json +1 -1
  248. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lv.json +1 -1
  249. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.nl.json +1 -1
  250. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.no.json +1 -1
  251. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pl.json +1 -1
  252. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-BR.json +1 -1
  253. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-PT.json +1 -1
  254. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ro.json +1 -1
  255. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ru.json +1 -1
  256. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sk.json +1 -1
  257. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sl.json +1 -1
  258. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sr.json +1 -1
  259. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sv.json +1 -1
  260. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.th.json +1 -1
  261. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.tr.json +1 -1
  262. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.uk.json +1 -1
  263. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.vi.json +1 -1
  264. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-CN.json +1 -1
  265. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-HK.json +1 -1
  266. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-TW.json +1 -1
  267. package/dist/cdn/assets/create-feature/t9n/messages.ar.json +1 -1
  268. package/dist/cdn/assets/create-feature/t9n/messages.bg.json +1 -1
  269. package/dist/cdn/assets/create-feature/t9n/messages.bs.json +1 -1
  270. package/dist/cdn/assets/create-feature/t9n/messages.ca.json +1 -1
  271. package/dist/cdn/assets/create-feature/t9n/messages.cs.json +1 -1
  272. package/dist/cdn/assets/create-feature/t9n/messages.da.json +1 -1
  273. package/dist/cdn/assets/create-feature/t9n/messages.de.json +1 -1
  274. package/dist/cdn/assets/create-feature/t9n/messages.el.json +1 -1
  275. package/dist/cdn/assets/create-feature/t9n/messages.es.json +1 -1
  276. package/dist/cdn/assets/create-feature/t9n/messages.et.json +1 -1
  277. package/dist/cdn/assets/create-feature/t9n/messages.fi.json +1 -1
  278. package/dist/cdn/assets/create-feature/t9n/messages.fr.json +1 -1
  279. package/dist/cdn/assets/create-feature/t9n/messages.he.json +1 -1
  280. package/dist/cdn/assets/create-feature/t9n/messages.hr.json +1 -1
  281. package/dist/cdn/assets/create-feature/t9n/messages.hu.json +1 -1
  282. package/dist/cdn/assets/create-feature/t9n/messages.id.json +1 -1
  283. package/dist/cdn/assets/create-feature/t9n/messages.it.json +1 -1
  284. package/dist/cdn/assets/create-feature/t9n/messages.ja.json +1 -1
  285. package/dist/cdn/assets/create-feature/t9n/messages.ko.json +1 -1
  286. package/dist/cdn/assets/create-feature/t9n/messages.lt.json +1 -1
  287. package/dist/cdn/assets/create-feature/t9n/messages.lv.json +1 -1
  288. package/dist/cdn/assets/create-feature/t9n/messages.nl.json +1 -1
  289. package/dist/cdn/assets/create-feature/t9n/messages.no.json +1 -1
  290. package/dist/cdn/assets/create-feature/t9n/messages.pl.json +1 -1
  291. package/dist/cdn/assets/create-feature/t9n/messages.pt-BR.json +1 -1
  292. package/dist/cdn/assets/create-feature/t9n/messages.pt-PT.json +1 -1
  293. package/dist/cdn/assets/create-feature/t9n/messages.ro.json +1 -1
  294. package/dist/cdn/assets/create-feature/t9n/messages.ru.json +1 -1
  295. package/dist/cdn/assets/create-feature/t9n/messages.sk.json +1 -1
  296. package/dist/cdn/assets/create-feature/t9n/messages.sl.json +1 -1
  297. package/dist/cdn/assets/create-feature/t9n/messages.sr.json +1 -1
  298. package/dist/cdn/assets/create-feature/t9n/messages.sv.json +1 -1
  299. package/dist/cdn/assets/create-feature/t9n/messages.th.json +1 -1
  300. package/dist/cdn/assets/create-feature/t9n/messages.tr.json +1 -1
  301. package/dist/cdn/assets/create-feature/t9n/messages.uk.json +1 -1
  302. package/dist/cdn/assets/create-feature/t9n/messages.vi.json +1 -1
  303. package/dist/cdn/assets/create-feature/t9n/messages.zh-CN.json +1 -1
  304. package/dist/cdn/assets/create-feature/t9n/messages.zh-HK.json +1 -1
  305. package/dist/cdn/assets/create-feature/t9n/messages.zh-TW.json +1 -1
  306. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ar.json +1 -1
  307. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.bg.json +1 -1
  308. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.bs.json +1 -1
  309. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ca.json +1 -1
  310. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.cs.json +1 -1
  311. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.da.json +1 -1
  312. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.de.json +1 -1
  313. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.el.json +1 -1
  314. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.es.json +1 -1
  315. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.et.json +1 -1
  316. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.fi.json +1 -1
  317. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.fr.json +1 -1
  318. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.he.json +1 -1
  319. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.hr.json +1 -1
  320. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.hu.json +1 -1
  321. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.id.json +1 -1
  322. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.it.json +1 -1
  323. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ja.json +1 -1
  324. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ko.json +1 -1
  325. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.lt.json +1 -1
  326. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.lv.json +1 -1
  327. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.nl.json +1 -1
  328. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.no.json +1 -1
  329. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pl.json +1 -1
  330. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pt-BR.json +1 -1
  331. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pt-PT.json +1 -1
  332. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ro.json +1 -1
  333. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ru.json +1 -1
  334. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sk.json +1 -1
  335. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sl.json +1 -1
  336. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sr.json +1 -1
  337. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sv.json +1 -1
  338. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.th.json +1 -1
  339. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.tr.json +1 -1
  340. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.uk.json +1 -1
  341. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.vi.json +1 -1
  342. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-CN.json +1 -1
  343. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-HK.json +1 -1
  344. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-TW.json +1 -1
  345. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -1
  346. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -1
  347. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -1
  348. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -1
  349. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -1
  350. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -1
  351. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -1
  352. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -1
  353. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -1
  354. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -1
  355. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -1
  356. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -1
  357. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -1
  358. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -1
  359. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -1
  360. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -1
  361. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -1
  362. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -1
  363. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -1
  364. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -1
  365. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -1
  366. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -1
  367. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -1
  368. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -1
  369. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -1
  370. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -1
  371. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -1
  372. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -1
  373. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -1
  374. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -1
  375. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -1
  376. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -1
  377. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -1
  378. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -1
  379. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -1
  380. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -1
  381. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -1
  382. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -1
  383. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -1
  384. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ar.json +1 -1
  385. package/dist/cdn/assets/solution-deployed-card/t9n/messages.bg.json +1 -1
  386. package/dist/cdn/assets/solution-deployed-card/t9n/messages.bs.json +1 -1
  387. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ca.json +1 -1
  388. package/dist/cdn/assets/solution-deployed-card/t9n/messages.cs.json +1 -1
  389. package/dist/cdn/assets/solution-deployed-card/t9n/messages.da.json +1 -1
  390. package/dist/cdn/assets/solution-deployed-card/t9n/messages.de.json +1 -1
  391. package/dist/cdn/assets/solution-deployed-card/t9n/messages.el.json +1 -1
  392. package/dist/cdn/assets/solution-deployed-card/t9n/messages.es.json +1 -1
  393. package/dist/cdn/assets/solution-deployed-card/t9n/messages.et.json +1 -1
  394. package/dist/cdn/assets/solution-deployed-card/t9n/messages.fi.json +1 -1
  395. package/dist/cdn/assets/solution-deployed-card/t9n/messages.fr.json +1 -1
  396. package/dist/cdn/assets/solution-deployed-card/t9n/messages.he.json +1 -1
  397. package/dist/cdn/assets/solution-deployed-card/t9n/messages.hr.json +1 -1
  398. package/dist/cdn/assets/solution-deployed-card/t9n/messages.hu.json +1 -1
  399. package/dist/cdn/assets/solution-deployed-card/t9n/messages.id.json +1 -1
  400. package/dist/cdn/assets/solution-deployed-card/t9n/messages.it.json +1 -1
  401. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ja.json +1 -1
  402. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ko.json +1 -1
  403. package/dist/cdn/assets/solution-deployed-card/t9n/messages.lt.json +1 -1
  404. package/dist/cdn/assets/solution-deployed-card/t9n/messages.lv.json +1 -1
  405. package/dist/cdn/assets/solution-deployed-card/t9n/messages.nl.json +1 -1
  406. package/dist/cdn/assets/solution-deployed-card/t9n/messages.no.json +1 -1
  407. package/dist/cdn/assets/solution-deployed-card/t9n/messages.pl.json +1 -1
  408. package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-BR.json +1 -1
  409. package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-PT.json +1 -1
  410. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ro.json +1 -1
  411. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ru.json +1 -1
  412. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sk.json +1 -1
  413. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sl.json +1 -1
  414. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sr.json +1 -1
  415. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sv.json +1 -1
  416. package/dist/cdn/assets/solution-deployed-card/t9n/messages.th.json +1 -1
  417. package/dist/cdn/assets/solution-deployed-card/t9n/messages.tr.json +1 -1
  418. package/dist/cdn/assets/solution-deployed-card/t9n/messages.uk.json +1 -1
  419. package/dist/cdn/assets/solution-deployed-card/t9n/messages.vi.json +1 -1
  420. package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-CN.json +1 -1
  421. package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-HK.json +1 -1
  422. package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-TW.json +1 -1
  423. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ar.json +1 -1
  424. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bg.json +1 -1
  425. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bs.json +1 -1
  426. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ca.json +1 -1
  427. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.cs.json +1 -1
  428. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.da.json +1 -1
  429. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.de.json +1 -1
  430. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.el.json +1 -1
  431. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.es.json +1 -1
  432. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.et.json +1 -1
  433. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fi.json +1 -1
  434. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fr.json +1 -1
  435. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.he.json +1 -1
  436. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hr.json +1 -1
  437. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hu.json +1 -1
  438. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.id.json +1 -1
  439. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.it.json +1 -1
  440. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ja.json +1 -1
  441. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ko.json +1 -1
  442. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lt.json +1 -1
  443. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lv.json +1 -1
  444. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.nl.json +1 -1
  445. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.no.json +1 -1
  446. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pl.json +1 -1
  447. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-BR.json +1 -1
  448. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-PT.json +1 -1
  449. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ro.json +1 -1
  450. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ru.json +1 -1
  451. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sk.json +1 -1
  452. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sl.json +1 -1
  453. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sr.json +1 -1
  454. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sv.json +1 -1
  455. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.th.json +1 -1
  456. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.tr.json +1 -1
  457. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.uk.json +1 -1
  458. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.vi.json +1 -1
  459. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-CN.json +1 -1
  460. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-HK.json +1 -1
  461. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-TW.json +1 -1
  462. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ar.json +1 -1
  463. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bg.json +1 -1
  464. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bs.json +1 -1
  465. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ca.json +1 -1
  466. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.cs.json +1 -1
  467. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.da.json +1 -1
  468. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.de.json +1 -1
  469. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.el.json +1 -1
  470. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.es.json +1 -1
  471. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.et.json +1 -1
  472. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fi.json +1 -1
  473. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fr.json +1 -1
  474. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.he.json +1 -1
  475. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hr.json +1 -1
  476. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hu.json +1 -1
  477. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.id.json +1 -1
  478. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.it.json +1 -1
  479. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ja.json +1 -1
  480. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ko.json +1 -1
  481. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lt.json +1 -1
  482. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lv.json +1 -1
  483. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.nl.json +1 -1
  484. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.no.json +1 -1
  485. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pl.json +1 -1
  486. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-BR.json +1 -1
  487. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-PT.json +1 -1
  488. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ro.json +1 -1
  489. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ru.json +1 -1
  490. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sk.json +1 -1
  491. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sl.json +1 -1
  492. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sr.json +1 -1
  493. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sv.json +1 -1
  494. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.th.json +1 -1
  495. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.tr.json +1 -1
  496. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.uk.json +1 -1
  497. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.vi.json +1 -1
  498. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-CN.json +1 -1
  499. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-HK.json +1 -1
  500. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-TW.json +1 -1
  501. package/dist/cdn/assets/solutions-deploy-app-nav/t9n/messages.ar.json +1 -1
  502. package/dist/cdn/index.js +1 -1
  503. package/dist/chunks/solution-builder-assistant.js +141 -129
  504. package/dist/chunks/transformQuery.js +49 -0
  505. package/dist/components/arcgis-solutions-assistant/customElement.js +577 -488
  506. package/dist/components/buffer-tools/customElement.d.ts +5 -1
  507. package/dist/components/card-manager/customElement.d.ts +3 -0
  508. package/dist/components/card-manager/customElement.js +60 -30
  509. package/dist/components/create-feature/customElement.d.ts +10 -0
  510. package/dist/components/create-feature/customElement.js +66 -60
  511. package/dist/components/crowdsource-manager/customElement.js +7 -4
  512. package/dist/components/layer-table/customElement.d.ts +6 -0
  513. package/dist/components/layer-table/customElement.js +38 -29
  514. package/dist/components/map-card/customElement.js +40 -34
  515. package/dist/components/map-tools/customElement.js +14 -15
  516. package/dist/components/map-tools/index.js +1 -0
  517. package/dist/components/solution-details-panel/customElement.js +5 -3
  518. package/dist/components/solutions-deploy-app/customElement.js +2 -2
  519. package/dist/components/solutions-searchsort-toolbar/customElement.js +1 -1
  520. package/dist/docs/api.json +1 -1
  521. package/dist/docs/docs.json +1 -1
  522. package/dist/docs/vscode.html-custom-data.json +1 -1
  523. package/dist/docs/web-types.json +1 -1
  524. package/dist/solutions-components_commit.txt +7 -7
  525. package/dist/types/lumina.d.ts +5 -0
  526. package/dist/types/preact.d.ts +5 -0
  527. package/dist/types/react.d.ts +5 -0
  528. package/dist/types/stencil.d.ts +5 -0
  529. package/package.json +4 -4
  530. package/dist/cdn/2L7O5T7N.js +0 -2
  531. package/dist/cdn/37SYO65U.js +0 -2
  532. package/dist/cdn/AE5HNAOV.js +0 -4
  533. package/dist/cdn/BPOWO72Z.js +0 -2
  534. package/dist/cdn/CQQH3XK5.js +0 -2
  535. package/dist/cdn/DMX66TUK.js +0 -2
  536. package/dist/cdn/E4ZB3BPD.js +0 -2
  537. package/dist/cdn/EKRMEQQI.js +0 -2
  538. package/dist/cdn/GBDBGOCT.js +0 -2
  539. package/dist/cdn/HDTRW7I6.js +0 -4
  540. package/dist/cdn/JAYARGS3.js +0 -2
  541. package/dist/cdn/QCXOGAWW.js +0 -2
  542. package/dist/cdn/QPIMTXPL.js +0 -2
  543. package/dist/cdn/VYCVNEK2.js +0 -2
  544. package/dist/cdn/XOEFU24R.js +0 -2
@@ -1,27 +1,27 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import { c as Ae } from "../../chunks/runtime.js";
3
- import { u as Le } from "../../chunks/useT9n.js";
4
- import { LitElement as $e, createEvent as ie, nothing as ne } from "@arcgis/lumina";
5
- import { css as Fe, html as C } from "lit";
6
- import { unsafeHTML as Re } from "lit/directives/unsafe-html.js";
7
- import { useContextConsumer as ae } from "@arcgis/lumina/context";
8
- import { c as De, b as Ne } from "../../chunks/deployAppContexts.js";
9
- import { T as R } from "../../chunks/interfaces.js";
10
- import { m as Me } from "../../chunks/helpers.js";
11
- import O from "@arcgis/core/config.js";
12
- import { createRef as Be, ref as Pe } from "lit-html/directives/ref.js";
13
- import { Annotation as y, StateGraph as G, START as H, END as S, NodeInterrupt as re } from "@langchain/langgraph/web";
14
- import { createAgentRuntimeState as W, sendTraceMessage as w, invokeStructuredPrompt as k, getEmbeddings as qe, cosineSimilarity as Ue, invokeTextPrompt as Oe } from "@arcgis/ai-orchestrator";
15
- import r, { z as D } from "zod";
16
- import * as Q from "@esri/arcgis-rest-portal";
17
- import { applyPatch as ze } from "fast-json-patch";
2
+ import { c as Le } from "../../chunks/runtime.js";
3
+ import { u as $e } from "../../chunks/useT9n.js";
4
+ import { LitElement as Fe, createEvent as ne, nothing as ae } from "@arcgis/lumina";
5
+ import { css as Re, html as k } from "lit";
6
+ import { unsafeHTML as De } from "lit/directives/unsafe-html.js";
7
+ import { useContextConsumer as oe } from "@arcgis/lumina/context";
8
+ import { c as Ne, b as Me } from "../../chunks/deployAppContexts.js";
9
+ import { T as D } from "../../chunks/interfaces.js";
10
+ import { m as Be } from "../../chunks/helpers.js";
11
+ import z from "@arcgis/core/config.js";
12
+ import { createRef as Pe, ref as qe } from "lit-html/directives/ref.js";
13
+ import { Annotation as y, StateGraph as Q, START as H, END as I, NodeInterrupt as le } from "@langchain/langgraph/web";
14
+ import { createAgentRuntimeState as W, sendTraceMessage as w, invokeStructuredPrompt as C, getEmbeddings as Ue, cosineSimilarity as Oe, invokeTextPrompt as ze } from "@arcgis/ai-orchestrator";
15
+ import r, { z as A } from "zod";
16
+ import * as K from "@esri/arcgis-rest-portal";
17
+ import { applyPatch as je } from "fast-json-patch";
18
18
  import "@langchain/core/messages";
19
- import { C as le } from "../../chunks/converter.js";
20
- import { v as z, b as j, S as je, g as Ve } from "../../chunks/validators.js";
21
- import { t as ce, g as P, c as de, r as ue, d as $ } from "../../chunks/templates.js";
22
- import Je from "@arcgis/core/portal/Portal.js";
23
- import Ge from "@arcgis/core/portal/PortalItem.js";
24
- const He = Fe`:host{display:block;height:100%}.margin-lg{margin:var(--calcite-spacing-lg)}.display-flex-row{display:flex;flex-direction:row}.assistant-split-container{display:flex;width:100%;height:calc(100vh - 78px);overflow:hidden;border-radius:10px}.assistant-panel{display:flex;flex-direction:column;height:100%;border:1px solid var(--calcite-color-surface-3);background-color:var(--calcite-color-surface-2);overflow:hidden}.chat-panel{min-width:320px}.builder-panel{min-width:320px;max-width:100%;border-left:1px solid var(--calcite-color-surface-3)}.panel-actions{display:flex;gap:8px;padding:6px;align-items:center}.builder-header,.builder-footer{padding:10px;background:var(--calcite-color-surface-1);border-bottom:1px solid var(--calcite-color-surface-3)}.builder-content{flex:1;overflow:auto;padding:12px}.builder-content pre{white-space:pre-wrap;word-wrap:break-word;max-height:100%;overflow:auto}.builder-actions{display:flex;gap:6px;align-items:center}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-surface-4);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-surface-1);border-radius:10px;padding:10px}.chat-panel{--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content{display:flex;align-items:center;gap:var(--calcite-spacing-sm);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-2xl)}.header-title{font-size:var(--calcite-font-size-md);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-1)}.beta-chip{--calcite-chip-corner-radius: var(--calcite-corner-radius-half)}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button,.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-surface-1, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-surface-3);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-surface-4);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-surface-4)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;align-items:center;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-surface-1)}#closeAssistantButton{--calcite-action-text-color: var(--calcite-color-text-1)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-surface-1)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`;
19
+ import { C as ce } from "../../chunks/converter.js";
20
+ import { v as j, b as V, S as Ve, g as Je } from "../../chunks/validators.js";
21
+ import { t as de, g as P, c as ue, r as pe, d as F } from "../../chunks/templates.js";
22
+ import Ge from "@arcgis/core/portal/Portal.js";
23
+ import Qe from "@arcgis/core/portal/PortalItem.js";
24
+ const He = Re`:host{display:block;height:100%}.margin-lg{margin:var(--calcite-spacing-lg)}.display-flex-row{display:flex;flex-direction:row}.assistant-split-container{display:flex;width:100%;height:calc(100vh - 78px);overflow:hidden;border-radius:10px}.assistant-panel{display:flex;flex-direction:column;height:100%;border:1px solid var(--calcite-color-surface-3);background-color:var(--calcite-color-surface-2);overflow:hidden}.chat-panel{min-width:320px}.builder-panel{min-width:320px;max-width:100%;border-left:1px solid var(--calcite-color-surface-3)}.panel-actions{display:flex;gap:8px;padding:6px;align-items:center}.builder-header,.builder-footer{padding:10px;background:var(--calcite-color-surface-1);border-bottom:1px solid var(--calcite-color-surface-3)}.builder-content{flex:1;overflow:auto;padding:12px}.builder-content pre{white-space:pre-wrap;word-wrap:break-word;max-height:100%;overflow:auto}.builder-actions{display:flex;gap:6px;align-items:center}.padding-left-10{padding-left:10px}.chat-container{display:flex;flex-direction:column;gap:0px;max-width:600px;height:75%;background-color:var(--calcite-color-surface-4);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-surface-1);border-radius:10px;padding:10px}.chat-panel{--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);height:100%}.header-content{display:flex;align-items:center;gap:var(--calcite-spacing-sm);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-2xl)}.header-title{font-size:var(--calcite-font-size-md);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-text-1)}.beta-chip{--calcite-chip-corner-radius: var(--calcite-corner-radius-half)}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button,.chat-panel .chat-messages,.chat-panel .chat-input{--calcite-color-focus: var(--calcite-color-brand)}.assistant-followup-chip:focus{outline:2px solid var(--calcite-color-brand)}.chat-panel-heading{font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-surface-1, var(--calcite-color-text-1))}.chat-messages{display:flex;flex-direction:column;gap:20px;padding:4px;height:100%;overflow-y:auto}.user-message{align-self:flex-end;background:var(--calcite-color-brand);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-brand);--calcite-card-border-color: var(--calcite-color-brand);color:var(--calcite-color-text-inverse);text-align:left}.system-message{align-self:flex-start;background:var(--calcite-color-surface-3);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-surface-4);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-surface-4);--calcite-card-border-color: var(--calcite-color-surface-4)}.message-content{padding:0;font-size:14px}.response-message.message-content>p:first-of-type{margin-top:0}.message-content img{max-width:100%;height:auto;display:block;object-fit:contain}.message-content-pad{padding-bottom:10px;font-size:14px}.message-content-summary{padding-bottom:14px}.message-content-alignment{display:flex;align-items:center;gap:var(--calcite-spacing-md);font-size:var(--calcite-font-size--1);color:var(--calcite-color-text-1)}.padding-top-10{padding-top:10px}.padding-right-8{padding-right:8px}.padding-left-right-5{padding-right:5px;padding-left:5px}.chip-content{padding:5px 5px 5px 0}.chat-input{display:flex;flex-direction:row;flex-grow:1}.table-cell{--calcite-table-cell-background: var(--calcite-color-surface-4)}.cursor-pointer{cursor:pointer}.notice-border-color{--temp-initial-brand: var(--calcite-color-brand)}.notice-border-color calcite-notice{--calcite-color-brand: #ddd;--calcite-icon-color: var(--temp-initial-brand)}.notice-border-color calcite-notice *{--calcite-color-brand: var(--temp-initial-brand)}.solution-card{padding:5px 0;text-decoration:none;display:block;width:100%;cursor:pointer}.solution-card calcite-card{display:flex;flex-direction:column;max-width:520px;overflow:hidden;--calcite-card-corner-radius: var(--calcite-corner-radius-round) !important;--calcite-card-shadow: var(--calcite-shadow-sm);--calcite-card-background-color: var(--calcite-card-background-color) }.solution-card div[slot=thumbnail]{max-height:100%;width:100%;position:relative;&:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;transition:all .15s ease-in-out}}.solution-card div[slot=thumbnail] img{max-height:100%;width:100%;object-fit:cover}.solution-card span[slot=description]{padding-top:10px}.solution-card calcite-chip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);visibility:hidden;pointer-events:none;opacity:0;transition:all .15s ease-in-out;z-index:9999}.solution-card:hover calcite-chip{visibility:visible;opacity:1}.solution-card:hover div[slot=thumbnail]:after{background-color:#00000080}.solution-card:hover h3{text-decoration:underline}.solution-card:focus{outline:2px solid var(--calcite-color-brand)}.references-container{padding-top:10px;display:block}.references-container.collapsed{display:none}.width-100{width:100%}.disclaimer-div{display:flex;align-items:center;gap:var(--calcite-spacing-sm);font-size:var(--calcite-font-size--0);color:var(--calcite-color-text-1)}.display-none{display:none}.chat-messages calcite-fab{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:999}.icon-color-background{--calcite-button-icon-color: var(--calcite-color-surface-1)}#closeAssistantButton{--calcite-action-text-color: var(--calcite-color-text-1)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-surface-1)}@media(max-width:430px){.solution-card .solution-snippet{display:none}}.height-32-flex-auto{height:32px;flex:0 0 auto}.margin-top-0.message-content>p:first-of-type{margin-top:0}a:not(.solution-card){color:var(--calcite-link-text-color, var(--calcite-color-text-link));cursor:pointer;text-decoration:none;line-height:inherit;background-image:linear-gradient(currentColor,currentColor),linear-gradient(var(--calcite-color-brand-underline),var(--calcite-color-brand-underline));background-position-x:0%,100%;background-position-y:min(1.5em,100%);background-repeat:no-repeat,no-repeat;background-size:0% 1px,100% 1px;transition-property:background-size,color;transition-duration:var(--calcite-animation-timing, .15s);transition-timing-function:ease-in-out;outline-color:transparent;position:relative}a:not(.solution-card):hover{background-size:100% 1px,100% 1px}a:not(.solution-card):focus{outline:2px solid var(--calcite-color-brand);outline-offset:2px;outline-color:var(--calcite-color-brand)}a:not(.solution-card):active{color:var(--calcite-color-brand-press)}`;
25
25
  async function v(t, e) {
26
26
  const s = Object.entries(t).find(
27
27
  ([i]) => i.endsWith(`/${e}.md`)
@@ -38,7 +38,7 @@ ${Object.keys(t).join(`
38
38
  function q(t) {
39
39
  return t?.configurable?.context?.translations;
40
40
  }
41
- function pe(t) {
41
+ function me(t) {
42
42
  if (typeof window > "u" || t.length <= 1)
43
43
  return;
44
44
  const e = t.map((i) => i.solution.id), s = t.map((i) => i.solution.title);
@@ -60,7 +60,7 @@ function pe(t) {
60
60
  }
61
61
  }));
62
62
  }
63
- function me(t) {
63
+ function ge(t) {
64
64
  if (typeof window > "u" || !t)
65
65
  return;
66
66
  const e = new CustomEvent("solutionIDFromAssistant", {
@@ -70,21 +70,31 @@ function me(t) {
70
70
  });
71
71
  window.dispatchEvent(e);
72
72
  }
73
- const We = /* @__PURE__ */ Object.assign({
74
- "./prompts/solutions_explorer_description.md": () => import("../../chunks/solutions_explorer_description.js").then((t) => t.default)
73
+ const We = A.object({
74
+ needsContext: A.boolean().describe("True when the explorer query requires added context from prior turns."),
75
+ rewrittenQuery: A.string().min(1).describe("The final query to send to doc AI. Keep original query if no context is needed.")
76
+ }), he = /* @__PURE__ */ Object.assign({
77
+ "./prompts/solutions_explorer_description.md": () => import("../../chunks/solutions_explorer_description.js").then((t) => t.default),
78
+ "./prompts/transformQuery.md": () => import("../../chunks/transformQuery.js").then((t) => t.default)
75
79
  });
76
- function Qe(t) {
80
+ function Ke(t) {
77
81
  return t.replace(/<sup>\[\[(\d+)\]\]\(([^)]+)\)<\/sup>/g, '<sup><a href="$2">&#91;$1&#93;</a></sup>');
78
82
  }
79
- function Ke(t, e) {
83
+ function Ye(t) {
84
+ return t.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (e, s, i) => `<img src="${i}" alt="${s}" style="width: 100%;">`);
85
+ }
86
+ function Xe(t, e) {
80
87
  const s = [];
81
88
  return (e?.configurable?.context?.configContext.allCards ?? []).forEach((n) => {
82
- const a = n.title;
83
- if (!a)
89
+ const o = n.title;
90
+ if (!o)
84
91
  return;
85
- const o = new RegExp(`(?<![\\p{L}\\p{N}])${a}(?![\\p{L}\\p{N}])`, "giu");
92
+ const a = new RegExp(`(?<![\\p{L}\\p{N}])${o}(?![\\p{L}\\p{N}])`, "giu");
86
93
  let l = !1;
87
- t = t.replace(o, () => (l = !0, `<a href="" target="solutionId:${n.deployCommonId}">${a}</a>`)), l && s.push({
94
+ t = t.replace(a, (d, c, m) => {
95
+ const h = m.slice(0, c);
96
+ return /<img[^>]*alt\s*=\s*["'][^"']*$/i.test(h) ? d : (l = !0, `<a href="" target="solutionId:${n.deployCommonId}">${o}</a>`);
97
+ }), l && s.push({
88
98
  solution: {
89
99
  title: n.title,
90
100
  id: n.deployCommonId,
@@ -95,13 +105,13 @@ function Ke(t, e) {
95
105
  });
96
106
  }), { source: t, allMatches: s };
97
107
  }
98
- function Ye(t) {
108
+ function Ze(t) {
99
109
  return t && t.helperServices.aiAssistantServices ? `${t.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/chat` : null;
100
110
  }
101
- function ge(t) {
111
+ function fe(t) {
102
112
  return t && t.helperServices.aiAssistantServices ? `${t.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/api/pre-chat` : null;
103
113
  }
104
- async function J(t, e, s) {
114
+ async function G(t, e, s) {
105
115
  const i = await fetch(e, {
106
116
  method: "POST",
107
117
  headers: {
@@ -114,7 +124,27 @@ async function J(t, e, s) {
114
124
  throw new Error(`HTTP ${i.status} calling ${e}`);
115
125
  return i.json();
116
126
  }
117
- const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
127
+ const et = (t) => new Promise((e) => setTimeout(e, t));
128
+ async function tt(t, e) {
129
+ const s = t.agentExecutionContext.userRequest, i = e?.configurable?.context?.lastTurnAgent, n = t.agentExecutionContext.messages ?? [];
130
+ if (!i || n.length <= 1 || i === "explorer")
131
+ return s;
132
+ try {
133
+ const o = await v(he, "transformQuery"), a = await C({
134
+ promptText: o,
135
+ modelTier: "fast",
136
+ temperature: 0,
137
+ schema: We,
138
+ messages: n.slice(-11),
139
+ inputVariables: { query: s, lastTurnAgent: i }
140
+ });
141
+ if (a.needsContext && a.rewrittenQuery.trim())
142
+ return console.debug(`Rephrased query from "${s}" to "${a.rewrittenQuery.trim()}"`), a.rewrittenQuery.trim();
143
+ } catch {
144
+ }
145
+ return s;
146
+ }
147
+ const st = y.Root({
118
148
  // Provides agentExecutionContext, outputMessage, summary, and status
119
149
  // channels with the orchestrator's standard reducers/defaults so the
120
150
  // sub-agent reports back through the same shape the orchestrator
@@ -135,11 +165,11 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
135
165
  reducer: (t, e) => e ?? t,
136
166
  default: () => null
137
167
  })
138
- }), et = () => new G(Ze).addNode("initializeAgent", st).addNode("askSolutionsQuestions", tt).addEdge(H, "initializeAgent").addEdge("initializeAgent", "askSolutionsQuestions").addEdge("askSolutionsQuestions", S), he = async (t, e, s, i) => {
168
+ }), it = () => new Q(st).addNode("initializeAgent", at).addNode("askSolutionsQuestions", nt).addEdge(H, "initializeAgent").addEdge("initializeAgent", "askSolutionsQuestions").addEdge("askSolutionsQuestions", I), be = async (t, e, s, i) => {
139
169
  if (!t) return;
140
- const n = ge(t);
170
+ const n = fe(t);
141
171
  if (!n) return;
142
- const o = { context: {
172
+ const a = { context: {
143
173
  kind: "DocAIAssistantRequest",
144
174
  filters: {
145
175
  products: "ArcGIS Solutions",
@@ -149,19 +179,20 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
149
179
  }
150
180
  }
151
181
  } };
152
- i && (o.conversationId = i), J(o, n, e ?? "");
153
- }, tt = async (t, e) => {
182
+ i && (a.conversationId = i), G(a, n, e ?? "");
183
+ }, nt = async (t, e) => {
154
184
  if (e?.configurable?.abortSignal?.aborted)
155
185
  return {};
156
186
  const s = q(e), i = t.documentSkillUrl;
157
187
  let n = [];
188
+ const o = await tt(t, e);
158
189
  await w(
159
190
  { text: s.agentProgress.explorerAgentSearching },
160
191
  e
161
192
  );
162
- let a = await J(
193
+ let a = await G(
163
194
  {
164
- message: t.agentExecutionContext.userRequest,
195
+ message: o,
165
196
  conversationId: e?.configurable?.context?.convoId ?? void 0,
166
197
  context: {
167
198
  kind: "DocAIAssistantRequest",
@@ -178,69 +209,69 @@ const Xe = (t) => new Promise((e) => setTimeout(e, t)), Ze = y.Root({
178
209
  e?.configurable?.context?.token ?? ""
179
210
  );
180
211
  a.conversationId && e?.configurable?.context?.setConversationId && e.configurable.context.setConversationId(a.conversationId);
181
- let o = {
212
+ let l = {
182
213
  message: a.message,
183
214
  conversationId: a.conversationId,
184
215
  hasMore: a.hasMore,
185
216
  ackSequenceNumber: a.sequenceNumber,
186
217
  inquiryId: a.inquiryId
187
- }, l = "";
188
- const u = async (m) => {
189
- const b = m.context?.results?.[0]?.reply ?? "";
190
- if (b !== "") {
191
- const g = Qe(b), L = Ke(g, e);
192
- l = L.source, n = [
218
+ }, d = "";
219
+ const c = async (h) => {
220
+ const u = h.context?.results?.[0]?.reply ?? "";
221
+ if (u !== "") {
222
+ const S = Ke(u), $ = Ye(S), T = Xe($, e);
223
+ d = T.source, n = [
193
224
  ...n,
194
- ...L.allMatches.filter(
195
- (E) => !n.some((A) => A.solution.id === E.solution.id)
225
+ ...T.allMatches.filter(
226
+ (U) => !n.some((_) => _.solution.id === U.solution.id)
196
227
  )
197
228
  ];
198
229
  }
199
- const d = m.context?.results?.[0]?.status?.currentStatusStep;
200
- if (d) {
201
- let g = "";
202
- d === 1 ? g = s.agentProgress.explorerAgentReading : d === 2 ? g = s.agentProgress.explorerAgentReviewing : d === 3 && (g = s.agentProgress.explorerAgentPreparing), await w({ text: g }, e);
230
+ const f = h.context?.results?.[0]?.status?.currentStatusStep;
231
+ if (f) {
232
+ let S = "";
233
+ f === 1 ? S = s.agentProgress.explorerAgentReading : f === 2 ? S = s.agentProgress.explorerAgentReviewing : f === 3 && (S = s.agentProgress.explorerAgentPreparing), await w({ text: S }, e);
203
234
  }
204
235
  };
205
- for (await u(a); o.hasMore; ) {
236
+ for (await c(a); l.hasMore; ) {
206
237
  if (e?.configurable?.abortSignal?.aborted)
207
238
  return {};
208
- await Xe(500), a = await J(
239
+ await et(500), a = await G(
209
240
  {
210
- conversationId: o.conversationId,
211
- ackSequenceNumber: o.ackSequenceNumber,
212
- inquiryId: o.inquiryId
241
+ conversationId: l.conversationId,
242
+ ackSequenceNumber: l.ackSequenceNumber,
243
+ inquiryId: l.inquiryId
213
244
  },
214
245
  i,
215
246
  e?.configurable?.context?.token ?? ""
216
- ), o = {
247
+ ), l = {
217
248
  message: a.message,
218
249
  conversationId: a.conversationId,
219
250
  hasMore: a.hasMore,
220
251
  ackSequenceNumber: a.sequenceNumber,
221
252
  inquiryId: a.inquiryId
222
- }, await u(a);
253
+ }, await c(a);
223
254
  }
224
- return ge(e?.configurable?.context.portal) && he(
255
+ return fe(e?.configurable?.context.portal) && be(
225
256
  e?.configurable?.context.portal,
226
257
  e?.configurable?.context.token ?? "",
227
258
  e?.configurable?.context.configContext.locale ?? "en",
228
- o.conversationId
229
- ), n.length && (n.length === 1 ? me(n[0].solution.id) : pe(n)), {
230
- outputMessage: l,
231
- summary: l,
259
+ l.conversationId
260
+ ), n.length && (n.length === 1 ? ge(n[0].solution.id) : me(n)), {
261
+ outputMessage: d,
262
+ summary: d,
232
263
  status: "success",
233
- solutionResponse: o,
234
- conversationId: o.conversationId
264
+ solutionResponse: l,
265
+ conversationId: l.conversationId
235
266
  };
236
- }, st = async (t, e) => {
267
+ }, at = async (t, e) => {
237
268
  let s = null;
238
- return t.documentSkillUrl === null && e?.configurable?.context?.portal && (s = Ye(e.configurable.context.portal)), {
269
+ return t.documentSkillUrl === null && e?.configurable?.context?.portal && (s = Ze(e.configurable.context.portal)), {
239
270
  documentSkillUrl: s
240
271
  };
241
272
  };
242
- await v(We, "solutions_explorer_description");
243
- const fe = (t) => {
273
+ await v(he, "solutions_explorer_description");
274
+ const ye = (t) => {
244
275
  if (t && Array.isArray(t.id) && t.id.length > 0)
245
276
  return t.id[t.id.length - 1].replace("Message", "").toLowerCase();
246
277
  if (t && typeof t._getType == "function")
@@ -250,8 +281,8 @@ const fe = (t) => {
250
281
  return "human";
251
282
  }
252
283
  return "human";
253
- }, it = (t) => {
254
- const e = fe(t);
284
+ }, ot = (t) => {
285
+ const e = ye(t);
255
286
  if (t && t.kwargs)
256
287
  return {
257
288
  role: e,
@@ -266,99 +297,135 @@ const fe = (t) => {
266
297
  return t.id && (s.id = t.id), t.name && (s.name = t.name), t.additional_kwargs && (s.additional_kwargs = t.additional_kwargs), t.response_metadata && (s.response_metadata = t.response_metadata), s;
267
298
  }
268
299
  return { role: "human", content: String(t) };
269
- }, nt = (t) => fe(t) === "human", at = (t, e = 3) => t.filter((s) => nt(s)).slice(-e).map(it), ot = (t, e = " ") => at(t).map((n) => n.content).join(e).trim(), rt = { understandingRequest: "Understanding your request...", selectTemplatePrompt: "This use case could be supported in a few different ways. Choose the option that best matches what you want to accomplish.", searchingExistingSolutions: "Searching for existing solutions...", existingSolutionMatch: "I found one or more existing solutions that match your use case. These are ready-to-use solutions that may already meet your needs and can be deployed now. Do you want to continue building your own solution?", continueBuildingYes: "Yes, I want to build a new solution", continueBuildingNo: "No, I’ll review existing solutions", continueBuildingDeclined: "Sounds good. We can focus on existing solutions. Let me know if I can help answer any questions or provide more details.", creatingDesign: "Generating solution design...", updatingDesign: "Updating solution design...", applyChangeFailed: "I wasn't able to apply that change. The design was not modified. Please try rephrasing your request.", createDesignFailed: "I wasn't able to create a solution design from that request. Please try rephrasing and try again.", discardMessage: "Are you sure you want to discard your solution?", discardForNewSolution: "I can help you build a new solution, but I will need to discard your current solution design. Do you want to continue?" }, lt = {
270
- builderMessages: rt
300
+ }, rt = (t) => ye(t) === "human", lt = (t, e = 3) => t.filter((s) => rt(s)).slice(-e).map(ot), ct = (t, e = " ") => lt(t).map((n) => n.content).join(e).trim(), dt = { understandingRequest: "Understanding your request...", selectTemplatePrompt: "This use case could be supported in a few different ways. Choose the option that best matches what you want to accomplish.", searchingExistingSolutions: "Searching for existing solutions...", existingSolutionMatch: "I found one or more existing solutions that match your use case. These are ready-to-use solutions that may already meet your needs and can be deployed now. Do you want to continue building your own solution?", continueBuildingYes: "Yes, I want to build a new solution", continueBuildingNo: "No, I’ll review existing solutions", continueBuildingDeclined: "Sounds good. We can focus on existing solutions. Let me know if I can help answer any questions or provide more details.", creatingDesign: "Generating solution design...", updatingDesign: "Updating solution design...", applyChangeFailed: "I wasn't able to apply that change. The design was not modified. Please try rephrasing your request.", createDesignFailed: "I wasn't able to create a solution design from that request. Please try rephrasing and try again.", discardMessage: "Are you sure you want to discard your solution?", discardForNewSolution: "I can help you build a new solution, but I will need to discard your current solution design. Do you want to continue?" }, ut = {
301
+ builderMessages: dt
271
302
  };
272
- class be {
303
+ class ve {
273
304
  constructor(e, s, i = !0) {
274
305
  this.isValid = !0, this.issues = [], this.fieldNameRegistry = null, this.response = e, this.template = s, this.newDesign = i, this.validate();
275
306
  }
307
+ /**
308
+ * Runs all validation checks on the response.
309
+ */
276
310
  validate() {
277
311
  this.compareModels(), this.validateResponse();
278
312
  }
313
+ /**
314
+ * Compares response models against template models.
315
+ */
279
316
  compareModels() {
280
- this.compareStrings(), this.compareItems(), this.compareFeatureLayers();
317
+ this._compareStrings(), this._compareItems(), this._compareFeatureLayers();
281
318
  }
319
+ /**
320
+ * Validates response properties and structure.
321
+ */
282
322
  validateResponse() {
283
- this.validateSolutionProps(), this.validateItems(), this.validateFeatureLayer();
323
+ this._validateSolutionProps(), this._validateItems(), this._validateFeatureLayer();
284
324
  }
285
- compareStrings() {
325
+ /**
326
+ * Compares string keys and values between response and template.
327
+ */
328
+ _compareStrings() {
286
329
  const e = new Set(this.template.solution.strings.map((i) => i.key)), s = new Set(this.response.solution.strings.map((i) => i.key));
287
- e.size === s.size && [...e].every((i) => s.has(i)) || this.logIssue("String keys in llm response do not match the template.");
330
+ e.size === s.size && [...e].every((i) => s.has(i)) || this._logIssue("String keys in llm response do not match the template.");
288
331
  for (const i of this.response.solution.strings)
289
- i.value || this.logIssue(`String key '${i.key}' has no value in the design. It must be populated.`);
332
+ i.value || this._logIssue(`String key '${i.key}' has no value in the design. It must be populated.`);
290
333
  }
291
- compareItems() {
334
+ /**
335
+ * Compares item IDs between response and template.
336
+ */
337
+ _compareItems() {
292
338
  const e = new Set(this.template.items.map((i) => i.id)), s = new Set(this.response.items.map((i) => i.id));
293
- e.size === s.size && [...e].every((i) => s.has(i)) || this.logIssue("Item IDs in design do not match the template.");
339
+ e.size === s.size && [...e].every((i) => s.has(i)) || this._logIssue("Item IDs in design do not match the template.");
294
340
  }
295
- compareFeatureLayers() {
341
+ /**
342
+ * Compares feature layer configuration between response and template.
343
+ */
344
+ _compareFeatureLayers() {
296
345
  const e = this.template.featureLayer, s = this.response.featureLayer;
297
346
  if (e.itemId !== s.itemId) {
298
- this.logIssue(`Feature Layer itemId '${s.itemId}' does not match template '${e.itemId}'.`);
347
+ this._logIssue(`Feature Layer itemId '${s.itemId}' does not match template '${e.itemId}'.`);
299
348
  return;
300
349
  }
301
350
  if (!e.addLayers) {
302
- const i = new Set(e.layers.map((a) => a.id)), n = new Set(s.layers.map((a) => a.id));
303
- if (!(i.size === n.size && [...i].every((a) => n.has(a))))
304
- this.logIssue(`Feature Layer '${e.itemId}' had its layer ids altered.`);
351
+ const i = new Set(e.layers.map((o) => o.id)), n = new Set(s.layers.map((o) => o.id));
352
+ if (!(i.size === n.size && [...i].every((o) => n.has(o))))
353
+ this._logIssue(`Feature Layer '${e.itemId}' had its layer ids altered.`);
305
354
  else
306
- for (const a of e.layers)
307
- if (a.type) {
308
- const o = s.layers.find((l) => l.id === a.id);
309
- o && o.type !== a.type && this.logIssue(`Layer '${a.id}' type '${o.type}' does not match template type '${a.type}'. This layer type is immutable.`);
355
+ for (const o of e.layers)
356
+ if (o.type) {
357
+ const a = s.layers.find((l) => l.id === o.id);
358
+ a && a.type !== o.type && this._logIssue(`Layer '${o.id}' type '${a.type}' does not match template type '${o.type}'. This layer type is immutable.`);
310
359
  }
311
360
  }
312
361
  }
313
- validateSolutionProps() {
314
- const e = this.response.solution.title, s = this.response.solution.description, i = z(e ?? "");
315
- if (i.isValid || this.logIssue(`Solution title is invalid (${i.errorType}).`), s) {
316
- const n = j(s, 2048);
317
- n.isValid || this.logIssue(`Solution description is invalid (${n.errorType}).`);
362
+ /**
363
+ * Validates solution title and description.
364
+ */
365
+ _validateSolutionProps() {
366
+ const e = this.response.solution.title, s = this.response.solution.description, i = j(e ?? "");
367
+ if (i.isValid || this._logIssue(`Solution title is invalid (${i.errorType}).`), s) {
368
+ const n = V(s, 2048, !0);
369
+ n.isValid || this._logIssue(`Solution description is invalid (${n.errorType}).`);
318
370
  }
319
371
  }
320
- validateItems() {
372
+ /**
373
+ * Validates all items in the response.
374
+ */
375
+ _validateItems() {
321
376
  const e = /* @__PURE__ */ new Set([
322
377
  "Feature Layer (hosted)",
323
378
  "Feature Layer (hosted, view)"
324
379
  ]);
325
380
  for (const s of this.response.items) {
326
- e.has(s.type) && s.title.length > 100 && this.logIssue(`Service name '${s.title}' exceeds 100 characters.`);
327
- const i = z(s.title ?? "");
328
- if (i.isValid || this.logIssue(`Item '${s.id}' title is invalid (${i.errorType}).`), s.description) {
329
- const n = j(s.description, 2048);
330
- n.isValid || this.logIssue(`Item '${s.id}' description is invalid (${n.errorType}).`);
381
+ e.has(s.type) && s.title.length > 100 && this._logIssue(`Service name '${s.title}' exceeds 100 characters.`);
382
+ const i = j(s.title ?? "");
383
+ if (i.isValid || this._logIssue(`Item '${s.id}' title is invalid (${i.errorType}).`), s.description) {
384
+ const n = V(s.description, 2048, !0);
385
+ n.isValid || this._logIssue(`Item '${s.id}' description is invalid (${n.errorType}).`);
331
386
  }
332
387
  }
333
388
  }
334
- validateFeatureLayer() {
389
+ /**
390
+ * Validates feature layer structure and layers.
391
+ */
392
+ _validateFeatureLayer() {
335
393
  const e = this.template.featureLayer.layers;
336
- this.response.featureLayer.layers.length || this.logIssue("Feature layer item must contain at least one layer.");
394
+ this.response.featureLayer.layers.length || this._logIssue("Feature layer item must contain at least one layer.");
337
395
  const s = this.response.featureLayer.layers.map((i) => i.name.toLowerCase());
338
- s.length !== new Set(s).size && this.logIssue(`Layer names must be unique (case-insensitive). Layer names in design: ${s}.`);
396
+ s.length !== new Set(s).size && this._logIssue(`Layer names must be unique (case-insensitive). Layer names in design: ${s}.`);
339
397
  for (const i of this.response.featureLayer.layers) {
340
- this.validateLayer(i, this.response.featureLayer.addLayers);
341
- const n = e.find((a) => a.id === i.id);
342
- n && this.validateRequiredFields(i, n);
398
+ this._validateLayer(i, this.response.featureLayer.addLayers);
399
+ const n = e.find((o) => o.id === i.id);
400
+ n && this._validateRequiredFields(i, n);
343
401
  }
344
402
  }
345
- validateRequiredFields(e, s) {
403
+ /**
404
+ * Validates that all required fields from template are present in layer.
405
+ */
406
+ _validateRequiredFields(e, s) {
346
407
  const i = new Set(e.requiredFields.map((n) => n.name));
347
408
  for (const n of s.requiredFields)
348
- i.has(n.name) || this.logIssue(`Layer '${e.name}' is missing required field '${n.name}'.`);
409
+ i.has(n.name) || this._logIssue(`Layer '${e.name}' is missing required field '${n.name}'.`);
349
410
  }
350
- validateLayer(e, s) {
351
- !s && e.typeMutable === !0 && e.type === "Table" && this.logIssue(
411
+ /**
412
+ * Validates a single layer configuration including name, description, and fields.
413
+ */
414
+ _validateLayer(e, s) {
415
+ !s && e.typeMutable === !0 && e.type === "Table" && this._logIssue(
352
416
  `Layer '${e.name}' cannot be a Table. It may be a Point, Line, or Polygon.`
353
417
  );
354
- const i = z(e.name ?? "");
355
- if (i.isValid || this.logIssue(`Layer '${e.name}' name is invalid (${i.errorType}).`), e.description) {
356
- const n = j(e.description, 2048);
357
- n.isValid || this.logIssue(`Layer '${e.name}' description is invalid (${n.errorType}).`);
418
+ const i = j(e.name ?? "");
419
+ if (i.isValid || this._logIssue(`Layer '${e.name}' name is invalid (${i.errorType}).`), e.description) {
420
+ const n = V(e.description, 2048, !0);
421
+ n.isValid || this._logIssue(`Layer '${e.name}' description is invalid (${n.errorType}).`);
358
422
  }
359
- this.validateLayerFields(e);
423
+ this._validateLayerFields(e);
360
424
  }
361
- validateLayerFields(e) {
425
+ /**
426
+ * Validates all fields in a layer including custom, required, and system fields.
427
+ */
428
+ _validateLayerFields(e) {
362
429
  const s = /* @__PURE__ */ new Set([
363
430
  "objectid",
364
431
  "globalid",
@@ -366,88 +433,104 @@ class be {
366
433
  "created_user",
367
434
  "last_edited_date",
368
435
  "last_edited_user"
369
- ]), i = e.customFields.map((c) => c.name), n = new Set(e.requiredFields.map((c) => c.name)), a = [...new Set(
436
+ ]), i = e.customFields.map((c) => c.name), n = new Set(e.requiredFields.map((c) => c.name)), o = [...new Set(
370
437
  i.filter((c) => s.has(c))
371
438
  )];
372
- for (const c of a)
373
- this.logIssue(`Layer '${e.name}' field '${c}' collides with a reserved system field name.`);
374
- const o = [...new Set(
439
+ for (const c of o)
440
+ this._logIssue(`Layer '${e.name}' field '${c}' collides with a reserved system field name.`);
441
+ const a = [...new Set(
375
442
  i.filter((c) => n.has(c))
376
443
  )];
377
- for (const c of o)
378
- this.logIssue(`Layer '${e.name}' field '${c}' collides with a required field name.`);
379
- if (!a.length && !o.length) {
444
+ for (const c of a)
445
+ this._logIssue(`Layer '${e.name}' field '${c}' collides with a required field name.`);
446
+ if (!o.length && !a.length) {
380
447
  const c = e.systemFields ?? [], m = [
381
448
  ...e.customFields,
382
449
  ...e.requiredFields,
383
450
  ...c
384
- ].map((b) => b.name);
385
- m.length !== new Set(m).size && this.logIssue(`Layer '${e.name}' has duplicate fields: ${JSON.stringify(m)}.`);
451
+ ].map((h) => h.name);
452
+ m.length !== new Set(m).size && this._logIssue(`Layer '${e.name}' has duplicate fields: ${JSON.stringify(m)}.`);
386
453
  }
387
- const l = e.systemFields ?? [], u = [...e.customFields, ...e.requiredFields, ...l].map((c) => c.name.toLowerCase());
388
- this.fieldNameRegistry = new Set(u);
454
+ const l = e.systemFields ?? [], d = [...e.customFields, ...e.requiredFields, ...l].map((c) => c.name.toLowerCase());
455
+ this.fieldNameRegistry = new Set(d);
389
456
  for (const c of [...e.customFields, ...e.requiredFields])
390
- this.validateField(c);
457
+ this._validateField(c);
391
458
  this.fieldNameRegistry = null;
392
459
  }
393
- getUniqueTruncatedFieldName(e) {
460
+ /**
461
+ * Generates a unique truncated field name within the 31-character limit.
462
+ */
463
+ _getUniqueTruncatedFieldName(e) {
394
464
  const i = this.fieldNameRegistry;
395
465
  if (!i)
396
466
  return e.slice(0, 31);
397
467
  const n = e.toLowerCase();
398
468
  i.delete(n);
399
- const a = e.slice(0, 31);
400
- let o = a, l = 1;
401
- for (; i.has(o.toLowerCase()); ) {
402
- const u = `_${l}`, c = Math.max(1, 31 - u.length);
403
- o = `${a.slice(0, c)}${u}`, l += 1;
469
+ const o = e.slice(0, 31);
470
+ let a = o, l = 1;
471
+ for (; i.has(a.toLowerCase()); ) {
472
+ const d = `_${l}`, c = Math.max(1, 31 - d.length);
473
+ a = `${o.slice(0, c)}${d}`, l += 1;
404
474
  }
405
- return i.add(o.toLowerCase()), o;
475
+ return i.add(a.toLowerCase()), a;
406
476
  }
407
- validateField(e) {
477
+ /**
478
+ * Validates a single field including name, type, length, and domain constraints.
479
+ */
480
+ _validateField(e) {
408
481
  const s = /^\p{L}/u, i = /^.[\p{L}\p{M}\p{N}_]*$/u;
409
- if (e.alias || this.logIssue(`Field '${e.name}' has no display name (alias).`), s.test(e.name) || this.logIssue(`Field '${e.name}' does not start with a letter.`), i.test(e.name) || this.logIssue(
482
+ if (e.alias || this._logIssue(`Field '${e.name}' has no display name (alias).`), s.test(e.name) || this._logIssue(`Field '${e.name}' does not start with a letter.`), i.test(e.name) || this._logIssue(
410
483
  `Field '${e.name}' contains invalid characters (only letters from any writing system, numbers, and underscores are allowed; emojis and punctuation are not allowed).`
411
484
  ), e.name.length > 31)
412
485
  if (this.newDesign) {
413
486
  const n = e.name;
414
- e.name = this.getUniqueTruncatedFieldName(e.name), console.debug(`Field '${n}' exceeds 31 characters. Auto-fixing to '${e.name}'.`);
487
+ e.name = this._getUniqueTruncatedFieldName(e.name), console.debug(`Field '${n}' exceeds 31 characters. Auto-fixing to '${e.name}'.`);
415
488
  } else
416
- this.logIssue(`Field '${e.name}' exceeds 31 characters.`);
417
- if (je.has(e.name.toLowerCase()))
489
+ this._logIssue(`Field '${e.name}' exceeds 31 characters.`);
490
+ if (Ve.has(e.name.toLowerCase()))
418
491
  if (this.newDesign) {
419
492
  const n = e.name;
420
493
  e.name = `${n}_`, console.debug(`Field '${n}' is a SQL reserved keyword. Auto-fixing to '${e.name}'.`);
421
494
  } else
422
- this.logIssue(`Field '${e.name}' is a SQL reserved keyword.`);
423
- if (e.type === "string" && this.validateStringFieldLength(e), Array.isArray(e.choiceList) && (e.type !== "string" && this.logIssue(`Field '${e.name}' must be of type 'string' to have a domain.`), e.choiceList.length || this.logIssue(`Field '${e.name}' has an empty domain. At least one value is required.`), e.choiceList.some((n) => !n?.trim()) && this.logIssue(`A blank domain value was added to Field '${e.name}'.`), e.choiceList.length !== new Set(e.choiceList).size && this.logIssue(`Field '${e.name}' has duplicate domain values.`), e.length != null)) {
424
- const n = Math.max(...e.choiceList.map((a) => a.length));
425
- n > e.length && (this.newDesign ? (console.debug(`The choice provided for field '${e.name}' is too long. It must fit within ${e.length} characters, but the choice requires ${n} characters. Auto-fixing to ${n}.`), e.length = n) : this.logIssue(`The choice provided for field '${e.name}' is too long. It must fit within ${e.length} characters, but the choice requires ${n} characters.`));
495
+ this._logIssue(`Field '${e.name}' is a SQL reserved keyword.`);
496
+ if (e.type === "string" && this._validateStringFieldLength(e), Array.isArray(e.choiceList) && (e.type !== "string" && this._logIssue(`Field '${e.name}' must be of type 'string' to have a domain.`), e.choiceList.length || this._logIssue(`Field '${e.name}' has an empty domain. At least one value is required.`), e.choiceList.some((n) => !n?.trim()) && this._logIssue(`A blank domain value was added to Field '${e.name}'.`), e.choiceList.length !== new Set(e.choiceList).size && this._logIssue(`Field '${e.name}' has duplicate domain values.`), e.length != null)) {
497
+ const n = Math.max(...e.choiceList.map((o) => o.length));
498
+ n > e.length && (this.newDesign ? (console.debug(`The choice provided for field '${e.name}' is too long. It must fit within ${e.length} characters, but the choice requires ${n} characters. Auto-fixing to ${n}.`), e.length = n) : this._logIssue(`The choice provided for field '${e.name}' is too long. It must fit within ${e.length} characters, but the choice requires ${n} characters.`));
426
499
  }
427
500
  }
428
- logIssue(e) {
429
- console.debug(e), this.issues.push(e), this.isValid = !1;
430
- }
431
- validateStringFieldLength(e) {
501
+ /**
502
+ * Validates the length of a string field, silently migrating 255 -> 256 for new designs,
503
+ * and auto-fixing or logging out-of-range values accordingly.
504
+ */
505
+ _validateStringFieldLength(e) {
432
506
  if (this.newDesign && e.length === 255 && (e.length = 256), typeof e.length != "number" || Number.isNaN(e.length)) {
433
- this.handleInvalidStringFieldLength(e, 256);
507
+ this._handleInvalidStringFieldLength(e, 256);
434
508
  return;
435
509
  }
436
510
  const s = e.length;
437
- if (!Ve(s).isValid) {
511
+ if (!Je(s).isValid) {
438
512
  const n = s > 4e3 ? 4e3 : 256;
439
- this.handleInvalidStringFieldLength(e, n);
513
+ this._handleInvalidStringFieldLength(e, n);
440
514
  }
441
515
  }
442
- handleInvalidStringFieldLength(e, s) {
443
- this.newDesign ? (console.debug(`Field '${e.name}' has an invalid length. Auto-fixing to ${s}.`), e.length = s) : this.logIssue(`Field '${e.name}' length is invalid (must be a number between 1 and 4000).`);
516
+ /**
517
+ * Applies an auto-fix to a string field's length on new designs, or logs an issue on update design.
518
+ */
519
+ _handleInvalidStringFieldLength(e, s) {
520
+ this.newDesign ? (console.debug(`Field '${e.name}' has an invalid length. Auto-fixing to ${s}.`), e.length = s) : this._logIssue(`Field '${e.name}' length is invalid (must be a number between 1 and 4000).`);
521
+ }
522
+ /**
523
+ * Records an issue and marks the validation as invalid.
524
+ */
525
+ _logIssue(e) {
526
+ console.debug(e), this.issues.push(e), this.isValid = !1;
444
527
  }
445
528
  }
446
- const ct = r.object({
529
+ const pt = r.object({
447
530
  key: r.string().describe("Stable key identifier for the string."),
448
531
  value: r.string().describe("Display value for the string."),
449
532
  description: r.string().describe("Explanation of where/how the string is used.")
450
- }), dt = r.object({
533
+ }), mt = r.object({
451
534
  id: r.string().describe("ArcGIS item id (32 hex characters)."),
452
535
  title: r.string().describe("Item title."),
453
536
  description: r.string().describe("Item description."),
@@ -470,7 +553,7 @@ const ct = r.object({
470
553
  "Notebook",
471
554
  "QuickCapture Project"
472
555
  ]).describe("ArcGIS item type.")
473
- }), oe = r.object({
556
+ }), re = r.object({
474
557
  name: r.string().describe("Field name."),
475
558
  type: r.enum(["string", "integer", "double", "date", "oid", "guid", "globalid"]).describe("Field data type."),
476
559
  alias: r.string().describe("Field alias for display."),
@@ -479,83 +562,83 @@ const ct = r.object({
479
562
  "List of allowed values for string fields with a controlled vocabulary. Null if unrestricted or not applicable."
480
563
  ),
481
564
  length: r.number().int().nullable().describe("Maximum string length for string fields. Null for non-string fields.")
482
- }), ut = r.object({
565
+ }), gt = r.object({
483
566
  id: r.number().int().describe("Layer/table id within the feature service."),
484
567
  type: r.enum(["Point", "Polyline", "Polygon", "Table"]).describe("Layer type."),
485
568
  typeMutable: r.boolean().describe("Indicates whether the layer type can be changed."),
486
569
  name: r.string().describe("Layer/table name."),
487
570
  description: r.string().describe("Layer/table description."),
488
- customFields: r.array(oe).describe("User/business fields specific to the solution."),
489
- requiredFields: r.array(oe).describe("Fields required for solution functionality (e.g., relationship keys).")
490
- }), pt = r.object({
571
+ customFields: r.array(re).describe("User/business fields specific to the solution."),
572
+ requiredFields: r.array(re).describe("Fields required for solution functionality (e.g., relationship keys).")
573
+ }), ht = r.object({
491
574
  itemId: r.string().describe("ArcGIS item id for the feature layer."),
492
575
  addLayers: r.boolean().describe("Indicates whether new layers can be added during solution design."),
493
- layers: r.array(ut)
494
- }), K = r.object({
576
+ layers: r.array(gt)
577
+ }), Y = r.object({
495
578
  response: r.string().describe("Conversational response to the user's query."),
496
579
  solution: r.object({
497
580
  itemId: r.string().nullable().describe("ArcGIS item id of the source Solution template used for deployment. Preserve the existing value exactly when known; otherwise use null."),
498
581
  title: r.string().describe("Title of the solution."),
499
582
  description: r.string().describe("Description of the solution."),
500
583
  tags: r.array(r.string()).describe("Keywords/tags associated with the solution."),
501
- strings: r.array(ct).describe("Localized strings/labels used by apps (dashboards, forms, etc.).")
584
+ strings: r.array(pt).describe("Localized strings/labels used by apps (dashboards, forms, etc.).")
502
585
  }),
503
- items: r.array(dt).describe("ArcGIS items that belong to the solution (apps, maps, layers, etc.)."),
504
- featureLayer: pt.describe("Primary feature layer item and its schema/layers/tables details.")
505
- }), mt = r.object({
586
+ items: r.array(mt).describe("ArcGIS items that belong to the solution (apps, maps, layers, etc.)."),
587
+ featureLayer: ht.describe("Primary feature layer item and its schema/layers/tables details.")
588
+ }), ft = r.object({
506
589
  op: r.enum(["add", "remove", "replace", "move", "copy"]).describe("RFC 6902 operation type."),
507
590
  path: r.string().describe("RFC 6901 JSON Pointer to the target location."),
508
591
  value: r.string().nullable().describe(`JSON-encoded value to apply (required for add and replace). Must be null — not an empty string — for remove, move, and copy operations. Serialize as a JSON string, e.g. '\\"text\\"' for a string, '[\\"a\\",\\"b\\"]' for an array, or '{\\"name\\":\\"x\\"}' for an object.`),
509
592
  from: r.string().nullable().describe("RFC 6901 JSON Pointer to the source location (required for move and copy). Must be null — not an empty string — for all other operations.")
510
- }), gt = r.object({
593
+ }), bt = r.object({
511
594
  response: r.string().describe("Conversational response describing the accepted design changes."),
512
- patches: r.array(mt).describe("Minimal RFC 6902 patch operations needed to update the current design.")
513
- }), ht = r.object({
595
+ patches: r.array(ft).describe("Minimal RFC 6902 patch operations needed to update the current design.")
596
+ }), yt = r.object({
514
597
  response: r.string().describe("Short, user-friendly explanation of why the requested update was not applied.")
515
- }), ft = r.object({
598
+ }), vt = r.object({
516
599
  assistantResponse: r.string().describe("Natural-language response for the user."),
517
600
  isValidUpdate: r.boolean().describe("True only when the request is in scope for supported design updates.")
518
- }), bt = r.object({
601
+ }), xt = r.object({
519
602
  matchedTitles: r.array(r.string()).describe("Titles of solutions that match the user's request. Empty array if no strong match.")
520
- }), yt = r.object({
603
+ }), wt = r.object({
521
604
  templateId: r.string().min(1).describe("Template id from the available template list."),
522
605
  confidence: r.number().min(0).max(1).describe("Confidence score from 0 to 1 for this template match."),
523
606
  templateDescription: r.string().min(1).describe("Short action‑oriented description of the template in the user's use case/workflow, starting with a verb.")
524
- }), vt = r.object({
607
+ }), St = r.object({
525
608
  assistantResponse: r.string().nullable().describe("Natural-language response for the user."),
526
609
  isValidUseCase: r.boolean().describe("True only when the request is concrete, appropriate, and has at least one matching template."),
527
- matchedTemplates: r.array(yt).describe("Ordered list of matching templates, best match first. Empty when no valid match exists.")
528
- }), xt = (t) => t.length ? t.map((e, s) => `${s + 1}. ${e}`).join(`
529
- `) : "No validation errors were provided.", wt = async (t) => {
610
+ matchedTemplates: r.array(wt).describe("Ordered list of matching templates, best match first. Empty when no valid match exists.")
611
+ }), _t = (t) => t.length ? t.map((e, s) => `${s + 1}. ${e}`).join(`
612
+ `) : "No validation errors were provided.", It = async (t) => {
530
613
  const {
531
614
  query: e,
532
615
  validationIssues: s,
533
616
  recentMessages: i,
534
617
  fallbackMessage: n,
535
- promptModules: a
618
+ promptModules: o
536
619
  } = t;
537
620
  try {
538
- return (await k({
539
- promptText: await v(a, "explainValidationFailure"),
621
+ return (await C({
622
+ promptText: await v(o, "explainValidationFailure"),
540
623
  modelTier: "fast",
541
624
  temperature: 0,
542
- schema: ht,
625
+ schema: yt,
543
626
  messages: i,
544
627
  inputVariables: {
545
628
  query: e,
546
629
  validationIssueCount: String(s.length),
547
- validationIssues: xt(s)
630
+ validationIssues: _t(s)
548
631
  }
549
632
  })).response?.trim() || n;
550
- } catch (o) {
633
+ } catch (a) {
551
634
  return console.warn(
552
635
  "Natural language response failed:",
553
- { error: o }
636
+ { error: a }
554
637
  ), n;
555
638
  }
556
- }, Y = (t) => t in $, St = 5, It = 0.8, Ct = 0.15, _t = "Web Mapping Application", Tt = "Embeddings";
557
- let N = null, V = null, M = null, B = null;
558
- const kt = "Build", _ = /* @__PURE__ */ Object.assign({
639
+ }, X = (t) => t in F, Ct = 5, Tt = 0.8, kt = 0.15, At = "Web Mapping Application", Et = "Embeddings";
640
+ let N = null, J = null, M = null, B = null;
641
+ const Lt = "Build", E = /* @__PURE__ */ Object.assign({
559
642
  "./prompts/assessBuildRequest.md": () => import("../../chunks/assessBuildRequest.js").then((t) => t.default),
560
643
  "./prompts/assessUpdateRequest.md": () => import("../../chunks/assessUpdateRequest.js").then((t) => t.default),
561
644
  "./prompts/description.md": () => import("../../chunks/description2.js").then((t) => t.default),
@@ -563,53 +646,53 @@ const kt = "Build", _ = /* @__PURE__ */ Object.assign({
563
646
  "./prompts/explainValidationFailure.md": () => import("../../chunks/explainValidationFailure.js").then((t) => t.default),
564
647
  "./prompts/findExistingSolution.md": () => import("../../chunks/findExistingSolution.js").then((t) => t.default),
565
648
  "./prompts/updateDesign.md": () => import("../../chunks/updateDesign.js").then((t) => t.default)
566
- }), Et = lt.builderMessages, h = (t) => t?.configurable?.abortSignal.aborted ?? !1, f = (t, e, s) => q(e)?.builderMessages?.[t] ?? Et[t], ye = (t) => {
649
+ }), $t = ut.builderMessages, g = (t) => t?.configurable?.abortSignal.aborted ?? !1, b = (t, e, s) => q(e)?.builderMessages?.[t] ?? $t[t], xe = (t) => {
567
650
  typeof window < "u" && window.dispatchEvent(new CustomEvent("arcgis-solution-design-update", {
568
651
  detail: t
569
652
  }));
570
- }, At = async (t, e, s) => {
653
+ }, Ft = async (t, e, s) => {
571
654
  if (!t) return null;
572
- const i = `type:"${_t}" AND typekeywords:${Tt} AND group:${t}`;
573
- return (await Q.searchItems({
655
+ const i = `type:"${At}" AND typekeywords:${Et} AND group:${t}`;
656
+ return (await K.searchItems({
574
657
  q: i,
575
658
  params: e ? { token: e } : void 0,
576
659
  portal: s,
577
660
  num: 1
578
661
  }))?.results?.[0] ?? null;
579
662
  };
580
- async function Lt(t, e, s, i) {
663
+ async function Rt(t, e, s, i) {
581
664
  try {
582
- const n = await At(t, e, s);
583
- if (!n || h(i))
665
+ const n = await Ft(t, e, s);
666
+ if (!n || g(i))
584
667
  return null;
585
- const a = new Ge({ id: n.id });
586
- return await a.load(), h(i) ? null : await a.fetchData("json");
668
+ const o = new Qe({ id: n.id });
669
+ return await o.load(), g(i) ? null : await o.fetchData("json");
587
670
  } catch {
588
671
  return null;
589
672
  }
590
673
  }
591
- const $t = async (t, e, s) => {
674
+ const Dt = async (t, e, s) => {
592
675
  if (!t) return [];
593
- const i = `type:Solution AND typekeywords:${kt} AND group:${t}`;
594
- return (await Q.searchItems({
676
+ const i = `type:Solution AND typekeywords:${Lt} AND group:${t}`;
677
+ return (await K.searchItems({
595
678
  q: i,
596
679
  params: e ? { token: e } : void 0,
597
680
  portal: s,
598
681
  num: 100
599
682
  }))?.results ?? [];
600
- }, Ft = async (t, e, s) => {
683
+ }, Nt = async (t, e, s) => {
601
684
  try {
602
- const i = await Q.getItemData(t, {
685
+ const i = await K.getItemData(t, {
603
686
  params: e ? { token: e } : void 0,
604
687
  portal: s
605
688
  }), n = i?.buildSolution;
606
689
  if (!n) return null;
607
- const a = i?.params, o = a && typeof a == "object" && !Array.isArray(a) ? a : null;
608
- return { buildSolution: n, params: o };
690
+ const o = i?.params, a = o && typeof o == "object" && !Array.isArray(o) ? o : null;
691
+ return { buildSolution: n, params: a };
609
692
  } catch {
610
693
  return null;
611
694
  }
612
- }, T = (t, e = {}) => {
695
+ }, L = (t, e = {}) => {
613
696
  let s = t;
614
697
  return "itemId" in e && (s = {
615
698
  ...s,
@@ -627,120 +710,120 @@ const $t = async (t, e, s) => {
627
710
  ...s,
628
711
  templateId: e.templateId ?? null
629
712
  }), s;
630
- }, ve = (t, e) => {
713
+ }, we = (t, e) => {
631
714
  if (t == null || e == null)
632
715
  return { ok: !1, error: "design or sourceBuildSolution is null/undefined" };
633
716
  try {
634
717
  const s = structuredClone(e);
635
- return new le({ buildSolution: s }).applyLlmTemplate(t), { ok: !0 };
718
+ return new ce({ buildSolution: s }).applyLlmTemplate(t), { ok: !0 };
636
719
  } catch (s) {
637
720
  return {
638
721
  ok: !1,
639
722
  error: s instanceof Error ? s.stack ?? s.message : String(s)
640
723
  };
641
724
  }
642
- }, X = async (t) => {
643
- if (V) {
644
- Object.entries(V).forEach(([o, l]) => {
645
- $[o] && ($[o].initialTemplate = l);
725
+ }, Z = async (t) => {
726
+ if (J) {
727
+ Object.entries(J).forEach(([a, l]) => {
728
+ F[a] && (F[a].initialTemplate = l);
646
729
  });
647
730
  return;
648
731
  }
649
- const e = t?.configurable?.context?.token, s = we(t), i = Se(t);
732
+ const e = t?.configurable?.context?.token, s = _e(t), i = Ie(t);
650
733
  if (!s) {
651
734
  console.warn("Solution Builder: missing primarySolutionsGroupId in appConfig; skipping live template hydration.");
652
735
  return;
653
736
  }
654
- const n = await $t(s, e, i), a = {};
655
- h(t) || (await Promise.all(n.map(async (o) => {
656
- const l = o.properties?.templateInfo;
737
+ const n = await Dt(s, e, i), o = {};
738
+ g(t) || (await Promise.all(n.map(async (a) => {
739
+ const l = a.properties?.templateInfo;
657
740
  if (!l || typeof l != "object") return;
658
- const u = l.id;
659
- if (typeof u != "string" || a[u]) return;
660
- const c = await Ft(o.id, e, i);
661
- if (!c || h(t))
741
+ const d = l.id;
742
+ if (typeof d != "string" || o[d]) return;
743
+ const c = await Nt(a.id, e, i);
744
+ if (!c || g(t))
662
745
  return;
663
- const { buildSolution: m, params: b } = c;
746
+ const { buildSolution: m, params: h } = c;
664
747
  if (typeof m == "object" && m !== null && "solution" in m) {
665
- const g = m.solution;
666
- g.thumbnailUrl = o.thumbnail ? `${i ?? "https://www.arcgis.com/sharing/rest"}/content/items/${o.id}/info/${o.thumbnail}` : void 0, g.item = o;
748
+ const f = m.solution;
749
+ f.thumbnailUrl = a.thumbnail ? `${i ?? "https://www.arcgis.com/sharing/rest"}/content/items/${a.id}/info/${a.thumbnail}` : void 0, f.item = a;
667
750
  }
668
- const d = {
751
+ const u = {
669
752
  ...l,
670
753
  buildSolution: m
671
754
  };
672
- a[u] = T(
673
- new le(d).dumpToLlmTemplate(),
755
+ o[d] = L(
756
+ new ce(u).dumpToLlmTemplate(),
674
757
  {
675
- itemId: o.id,
758
+ itemId: a.id,
676
759
  sourceBuildSolution: structuredClone(m),
677
- params: b ? structuredClone(b) : null
760
+ params: h ? structuredClone(h) : null
678
761
  }
679
- ), $[u] = {
762
+ ), F[d] = {
680
763
  ...l,
681
- initialTemplate: a[u]
764
+ initialTemplate: o[d]
682
765
  };
683
- })), V = a);
684
- }, xe = (t) => {
766
+ })), J = o);
767
+ }, Se = (t) => {
685
768
  const e = t?.configurable?.context?.token;
686
769
  return typeof e != "string" || !e.trim() ? null : e;
687
- }, we = (t) => {
770
+ }, _e = (t) => {
688
771
  const e = t?.configurable?.context?.configContext?.primarySolutionsGroupId;
689
772
  return typeof e != "string" || !e.trim() ? null : e;
690
- }, Se = (t) => {
773
+ }, Ie = (t) => {
691
774
  const e = t?.configurable?.context?.configContext?.portalURL;
692
775
  if (!(typeof e != "string" || !e.trim()))
693
776
  return `${e.replace(/\/+$/, "")}/sharing/rest`;
694
- }, Rt = async (t) => {
777
+ }, Mt = async (t) => {
695
778
  await Promise.all([
696
- Ce(t),
697
- X(t)
779
+ Te(t),
780
+ Z(t)
698
781
  ]);
699
- }, Ie = async (t) => {
700
- const e = xe(t);
701
- (!M || e && e !== B) && (B = e ?? B, M = Rt(t).catch((i) => {
782
+ }, Ce = async (t) => {
783
+ const e = Se(t);
784
+ (!M || e && e !== B) && (B = e ?? B, M = Mt(t).catch((i) => {
702
785
  throw M = null, B = null, i;
703
786
  })), await M;
704
787
  };
705
- async function Ce(t) {
788
+ async function Te(t) {
706
789
  if (N) return N;
707
- const e = we(t);
790
+ const e = _e(t);
708
791
  if (!e)
709
792
  return console.warn("Solution Builder: missing primarySolutionsGroupId in appConfig; skipping embeddings load."), null;
710
- const s = Se(t), i = t?.configurable?.context?.configContext?.portalURL;
711
- if (await new Je(i ? { url: i } : void 0).load(), h(t))
793
+ const s = Ie(t), i = t?.configurable?.context?.configContext?.portalURL;
794
+ if (await new Ge(i ? { url: i } : void 0).load(), g(t))
712
795
  return null;
713
- const a = xe(t) ?? void 0, o = await Lt(e, a, s, t);
714
- return h(t) ? null : o ? (N = o.items, N) : null;
796
+ const o = Se(t) ?? void 0, a = await Rt(e, o, s, t);
797
+ return g(t) ? null : a ? (N = a.items, N) : null;
715
798
  }
716
- const Dt = () => Object.entries($).map(([t, e]) => `ID: ${t}
799
+ const Bt = () => Object.entries(F).map(([t, e]) => `ID: ${t}
717
800
  Label: ${e.label}
718
801
  Description: ${e.description}`).join(`
719
802
 
720
- `), Nt = (t) => {
803
+ `), Pt = (t) => {
721
804
  const e = t?.configurable?.context?.solutionDesignJson;
722
805
  if (typeof e != "string" || !e.trim())
723
806
  return null;
724
807
  try {
725
- const s = JSON.parse(e), i = T(
808
+ const s = JSON.parse(e), i = L(
726
809
  { response: "", ...s },
727
810
  { itemId: s?.solution?.itemId ?? null }
728
- ), n = K.safeParse(i);
811
+ ), n = Y.safeParse(i);
729
812
  if (!n.success)
730
813
  return null;
731
- const { response: a, ...o } = n.data, l = s.templateId, u = typeof l == "string" && Y(l) ? l : null;
732
- return T(
733
- o,
814
+ const { response: o, ...a } = n.data, l = s.templateId, d = typeof l == "string" && X(l) ? l : null;
815
+ return L(
816
+ a,
734
817
  {
735
818
  sourceBuildSolution: s.sourceBuildSolution,
736
- templateId: u,
819
+ templateId: d,
737
820
  params: s.params ?? null
738
821
  }
739
822
  );
740
823
  } catch {
741
824
  return null;
742
825
  }
743
- }, Mt = y.Root({
826
+ }, qt = y.Root({
744
827
  ...W(),
745
828
  /** Optional human-readable template description retained for UI use. */
746
829
  templateDescription: y({
@@ -777,43 +860,43 @@ Description: ${e.description}`).join(`
777
860
  reducer: (t = null, e) => e === void 0 ? t : e ?? null,
778
861
  default: () => null
779
862
  })
780
- }), Bt = (t, e) => {
781
- if (h(e))
863
+ }), Ut = (t, e) => {
864
+ if (g(e))
782
865
  return {};
783
- const s = Nt(e), i = s?.templateId ?? null, n = {};
866
+ const s = Pt(e), i = s?.templateId ?? null, n = {};
784
867
  return JSON.stringify(t.currentDesign) !== JSON.stringify(s) && (n.currentDesign = s), i && t.selectedTemplate !== i && (n.selectedTemplate = i), n;
785
- }, Pt = async (t, e) => {
786
- if (h(e))
868
+ }, Ot = async (t, e) => {
869
+ if (g(e))
787
870
  return {};
788
- await w({ text: f("understandingRequest", e) }, e), await Ie(e);
789
- const s = t.agentExecutionContext.userRequest, i = Dt(), n = t.agentExecutionContext.messages.slice(-11), a = await k({
790
- promptText: await v(_, "assessBuildRequest"),
871
+ await w({ text: b("understandingRequest", e) }, e), await Ce(e);
872
+ const s = t.agentExecutionContext.userRequest, i = Bt(), n = t.agentExecutionContext.messages.slice(-11), o = await C({
873
+ promptText: await v(E, "assessBuildRequest"),
791
874
  modelTier: "advanced",
792
875
  temperature: 0,
793
- schema: vt,
876
+ schema: St,
794
877
  messages: n,
795
878
  inputVariables: { query: s, availableTemplates: i }
796
- }), o = a.matchedTemplates.filter(
797
- (d) => Y(d.templateId)
879
+ }), a = o.matchedTemplates.filter(
880
+ (u) => X(u.templateId)
798
881
  ), l = {
799
- ...a,
800
- matchedTemplates: o
801
- }, [u, c] = o, b = !!u && u.confidence >= It && (c === void 0 || u.confidence - c.confidence >= Ct) ? u.templateId : null;
882
+ ...o,
883
+ matchedTemplates: a
884
+ }, [d, c] = a, h = !!d && d.confidence >= Tt && (c === void 0 || d.confidence - c.confidence >= kt) ? d.templateId : null;
802
885
  return {
803
886
  assessment: l,
804
- selectedTemplate: b,
887
+ selectedTemplate: h,
805
888
  existingMatches: [],
806
889
  continueBuilding: null
807
890
  };
808
- }, qt = (t) => {
891
+ }, zt = (t) => {
809
892
  const e = t.assessment?.assistantResponse ?? "";
810
893
  return {
811
894
  outputMessage: e,
812
895
  summary: e,
813
896
  status: "success"
814
897
  };
815
- }, Ut = async (t, e) => {
816
- if (h(e))
898
+ }, jt = async (t, e) => {
899
+ if (g(e))
817
900
  return {};
818
901
  const { currentDesign: s } = t;
819
902
  if (!s)
@@ -823,224 +906,224 @@ Description: ${e.description}`).join(`
823
906
  isValidUpdate: !0
824
907
  }
825
908
  };
826
- await w({ text: f("understandingRequest", e) }, e);
909
+ await w({ text: b("understandingRequest", e) }, e);
827
910
  const i = t.agentExecutionContext.userRequest, n = t.agentExecutionContext.messages.slice(-11);
828
911
  return {
829
- updateAssessment: await k({
830
- promptText: await v(_, "assessUpdateRequest"),
912
+ updateAssessment: await C({
913
+ promptText: await v(E, "assessUpdateRequest"),
831
914
  modelTier: "advanced",
832
915
  temperature: 0,
833
- schema: ft,
916
+ schema: vt,
834
917
  messages: n,
835
918
  inputVariables: {
836
- currentDesign: JSON.stringify(ce(s)),
919
+ currentDesign: JSON.stringify(de(s)),
837
920
  query: i
838
921
  }
839
922
  })
840
923
  };
841
- }, Ot = (t, e) => {
842
- const s = t.updateAssessment?.assistantResponse ?? f("applyChangeFailed", e);
924
+ }, Vt = (t, e) => {
925
+ const s = t.updateAssessment?.assistantResponse ?? b("applyChangeFailed", e);
843
926
  return {
844
927
  outputMessage: s,
845
928
  summary: s,
846
929
  status: "success"
847
930
  };
848
- }, zt = (t, e) => {
849
- if (h(e))
931
+ }, Jt = (t, e) => {
932
+ if (g(e))
850
933
  return {};
851
934
  const { hitlResponse: s } = e.configurable, i = "selectTemplate", n = t.assessment?.matchedTemplates.filter(
852
- (c) => Y(c.templateId)
853
- ) ?? [], a = n.map((c) => `${c.templateDescription}`);
935
+ (c) => X(c.templateId)
936
+ ) ?? [], o = n.map((c) => `${c.templateDescription}`);
854
937
  if (s?.agentId !== "solutionBuilder" || s.id !== i) {
855
938
  const c = {
856
939
  agentId: "solutionBuilder",
857
940
  id: i,
858
941
  kind: "singleSelection",
859
- message: f("selectTemplatePrompt", e),
860
- metadata: [...a]
942
+ message: b("selectTemplatePrompt", e),
943
+ metadata: [...o]
861
944
  };
862
- throw new re(c);
945
+ throw new le(c);
863
946
  }
864
- const o = String(s.payload ?? ""), l = a.findIndex((c) => c === o);
947
+ const a = String(s.payload ?? ""), l = o.findIndex((c) => c === a);
865
948
  return {
866
949
  selectedTemplate: (l >= 0 ? n[l] : void 0)?.templateId ?? n[0]?.templateId ?? null
867
950
  };
868
- }, jt = async (t, e) => {
869
- if (h(e))
951
+ }, Gt = async (t, e) => {
952
+ if (g(e))
870
953
  return {};
871
- await w({ text: f("searchingExistingSolutions", e) }, e);
872
- const s = t.agentExecutionContext.userRequest, i = ot(t.agentExecutionContext.messages) || s, n = await Ce(e);
873
- if (h(e))
954
+ await w({ text: b("searchingExistingSolutions", e) }, e);
955
+ const s = t.agentExecutionContext.userRequest, i = ct(t.agentExecutionContext.messages) || s, n = await Te(e);
956
+ if (g(e))
874
957
  return {};
875
958
  if (!n)
876
959
  return console.warn("Solutions Search: failed to load solution embeddings cache; skipping search."), { existingMatches: [] };
877
960
  if (!n.length)
878
961
  return { existingMatches: [] };
879
- const [a] = await qe([i]);
880
- if (h(e))
962
+ const [o] = await Ue([i]);
963
+ if (g(e))
881
964
  return {};
882
- const o = n.map((d) => ({
883
- solution: d,
884
- score: Ue(a, d.embedding)
965
+ const a = n.map((u) => ({
966
+ solution: u,
967
+ score: Oe(o, u.embedding)
885
968
  }));
886
- o.sort((d, g) => g.score - d.score);
887
- const l = o.slice(0, St);
969
+ a.sort((u, f) => f.score - u.score);
970
+ const l = a.slice(0, Ct);
888
971
  if (!l.length)
889
972
  return { existingMatches: [] };
890
- const u = l.map(({ solution: d }) => `${d.title}
891
- Snippet: ${d.snippet}
892
- Description: ${d.description}`).join(`
973
+ const d = l.map(({ solution: u }) => `${u.title}
974
+ Snippet: ${u.snippet}
975
+ Description: ${u.description}`).join(`
893
976
 
894
977
  `), c = t.agentExecutionContext.messages.slice(-11);
895
- return { existingMatches: (await k({
896
- promptText: await v(_, "findExistingSolution"),
978
+ return { existingMatches: (await C({
979
+ promptText: await v(E, "findExistingSolution"),
897
980
  modelTier: "fast",
898
981
  temperature: 0,
899
- schema: bt,
982
+ schema: xt,
900
983
  messages: c,
901
- inputVariables: { query: s, candidates: u }
902
- })).matchedTitles.map((d) => l.find(({ solution: g }) => g.title === d)).filter((d) => d !== void 0) };
903
- }, Vt = (t, e) => {
904
- if (h(e))
984
+ inputVariables: { query: s, candidates: d }
985
+ })).matchedTitles.map((u) => l.find(({ solution: f }) => f.title === u)).filter((u) => u !== void 0) };
986
+ }, Qt = (t, e) => {
987
+ if (g(e))
905
988
  return {};
906
989
  const { existingMatches: s } = t, { hitlResponse: i } = e.configurable, n = `confirmExistingSolution:${s[0].solution.id}`;
907
990
  if (i?.agentId !== "solutionBuilder" || i.id !== n) {
908
- s.length === 1 ? me(s[0].solution.id) : pe(s);
909
- const u = f("existingSolutionMatch", e), c = [
910
- f("continueBuildingYes", e),
911
- f("continueBuildingNo", e)
991
+ s.length === 1 ? ge(s[0].solution.id) : me(s);
992
+ const d = b("existingSolutionMatch", e), c = [
993
+ b("continueBuildingYes", e),
994
+ b("continueBuildingNo", e)
912
995
  ], m = {
913
996
  agentId: "solutionBuilder",
914
997
  id: n,
915
998
  kind: "singleSelection",
916
- message: u,
999
+ message: d,
917
1000
  metadata: c
918
1001
  };
919
- throw new re(m);
1002
+ throw new le(m);
920
1003
  }
921
- const a = String(i.payload ?? "").trim(), o = f("continueBuildingNo", e);
922
- return { continueBuilding: a !== o };
923
- }, Jt = (t, e) => {
924
- const s = f("continueBuildingDeclined", e);
1004
+ const o = String(i.payload ?? "").trim(), a = b("continueBuildingNo", e);
1005
+ return { continueBuilding: o !== a };
1006
+ }, Ht = (t, e) => {
1007
+ const s = b("continueBuildingDeclined", e);
925
1008
  return {
926
1009
  outputMessage: s,
927
1010
  summary: s,
928
1011
  status: "success"
929
1012
  };
930
- }, _e = async (t, e) => {
931
- if (h(e))
1013
+ }, ke = async (t, e) => {
1014
+ if (g(e))
932
1015
  return {};
933
- if (await Ie(e), h(e))
1016
+ if (await Ce(e), g(e))
934
1017
  return {};
935
1018
  const { currentDesign: s } = t, i = t.agentExecutionContext.userRequest;
936
- await w({ text: f("creatingDesign", e) }, e);
1019
+ await w({ text: b("creatingDesign", e) }, e);
937
1020
  let n = P(t.selectedTemplate);
938
- if (n?.initialTemplate || (await X(e), n = P(t.selectedTemplate)), h(e))
1021
+ if (n?.initialTemplate || (await Z(e), n = P(t.selectedTemplate)), g(e))
939
1022
  return {};
940
1023
  if (!n?.initialTemplate)
941
1024
  throw new Error("No hydrated templates are available for solution design.");
942
- const a = T(
1025
+ const o = L(
943
1026
  s ?? n.initialTemplate,
944
1027
  {
945
1028
  itemId: (s ?? n.initialTemplate)?.solution?.itemId ?? null,
946
1029
  sourceBuildSolution: s?.sourceBuildSolution ?? n.initialTemplate.sourceBuildSolution,
947
1030
  params: s?.params ?? n.initialTemplate.params ?? null
948
1031
  }
949
- ), o = t.agentExecutionContext.messages.slice(-11), l = await k({
950
- promptText: await v(_, "designSolution"),
1032
+ ), a = t.agentExecutionContext.messages.slice(-11), l = await C({
1033
+ promptText: await v(E, "designSolution"),
951
1034
  modelTier: "advanced",
952
1035
  temperature: 0,
953
- schema: K,
954
- messages: o,
1036
+ schema: Y,
1037
+ messages: a,
955
1038
  inputVariables: {
956
- currentDesign: JSON.stringify(de(a)),
1039
+ currentDesign: JSON.stringify(ue(o)),
957
1040
  templateInstructions: n.instructions,
958
1041
  query: i
959
1042
  }
960
1043
  });
961
- if (await w({ text: " of design solution 1" }, e), h(e))
1044
+ if (await w({ text: " of design solution 1" }, e), g(e))
962
1045
  return {};
963
- const { response: u, featureLayer: c, ...m } = l, b = ue(
1046
+ const { response: d, featureLayer: c, ...m } = l, h = pe(
964
1047
  c,
965
- a.featureLayer
966
- ), d = T(
967
- { ...m, featureLayer: b },
1048
+ o.featureLayer
1049
+ ), u = L(
1050
+ { ...m, featureLayer: h },
968
1051
  {
969
- itemId: a?.solution?.itemId,
970
- sourceBuildSolution: a.sourceBuildSolution,
1052
+ itemId: o?.solution?.itemId,
1053
+ sourceBuildSolution: o.sourceBuildSolution,
971
1054
  templateId: t.selectedTemplate ?? null,
972
- params: a.params ?? null
1055
+ params: o.params ?? null
973
1056
  }
974
- ), g = new be(d, n.initialTemplate);
975
- if (!g.isValid)
1057
+ ), f = new ve(u, n.initialTemplate);
1058
+ if (!f.isValid)
976
1059
  return console.warn(
977
1060
  "[SolutionBuilder] designSolution validation failed:",
978
- { issues: g.issues, llmResponse: l }
1061
+ { issues: f.issues, llmResponse: l }
979
1062
  ), {
980
- outputMessage: f("createDesignFailed", e)
1063
+ outputMessage: b("createDesignFailed", e)
981
1064
  };
982
- const L = d.sourceBuildSolution, E = ve(d, L);
983
- if (!E.ok) {
1065
+ const S = u.sourceBuildSolution, $ = we(u, S);
1066
+ if (!$.ok) {
984
1067
  console.warn(
985
1068
  "[SolutionBuilder] designSolution Esri JSON conversion failed:",
986
- { error: E.error, llmResponse: l, design: d }
1069
+ { error: $.error, llmResponse: l, design: u }
987
1070
  );
988
- const A = f("createDesignFailed", e);
1071
+ const T = b("createDesignFailed", e);
989
1072
  return {
990
- outputMessage: A,
991
- summary: A,
1073
+ outputMessage: T,
1074
+ summary: T,
992
1075
  status: "success"
993
1076
  };
994
1077
  }
995
- return h(e) ? {} : (ye(d), {
996
- outputMessage: u,
997
- summary: u,
1078
+ return g(e) ? {} : (xe(u), {
1079
+ outputMessage: d,
1080
+ summary: d,
998
1081
  status: "success",
999
- currentDesign: d
1082
+ currentDesign: u
1000
1083
  });
1001
- }, Gt = async (t, e) => {
1002
- if (h(e))
1084
+ }, Wt = async (t, e) => {
1085
+ if (g(e))
1003
1086
  return {};
1004
1087
  const { currentDesign: s } = t;
1005
1088
  if (!s)
1006
- return _e(t, e);
1089
+ return ke(t, e);
1007
1090
  const i = t.agentExecutionContext.userRequest, n = t.agentExecutionContext.messages.slice(-11);
1008
- await w({ text: f("updatingDesign", e) }, e);
1009
- let a;
1091
+ await w({ text: b("updatingDesign", e) }, e);
1092
+ let o;
1010
1093
  try {
1011
- a = await k({
1012
- promptText: await v(_, "updateDesign"),
1094
+ o = await C({
1095
+ promptText: await v(E, "updateDesign"),
1013
1096
  modelTier: "advanced",
1014
1097
  temperature: 0,
1015
- schema: gt,
1098
+ schema: bt,
1016
1099
  messages: n,
1017
1100
  inputVariables: {
1018
- currentDesign: JSON.stringify(ce(s)),
1101
+ currentDesign: JSON.stringify(de(s)),
1019
1102
  query: i
1020
1103
  }
1021
1104
  });
1022
1105
  } catch (p) {
1023
1106
  console.warn("[SolutionBuilder] updateDesign structured prompt failed:", p);
1024
- const x = f("applyChangeFailed", e);
1107
+ const x = b("applyChangeFailed", e);
1025
1108
  return {
1026
1109
  outputMessage: x,
1027
1110
  summary: x,
1028
1111
  status: "success"
1029
1112
  };
1030
1113
  }
1031
- const { response: o, patches: l } = a;
1114
+ const { response: a, patches: l } = o;
1032
1115
  if (!l || l.length === 0)
1033
1116
  return {
1034
- outputMessage: o,
1035
- summary: o,
1117
+ outputMessage: a,
1118
+ summary: a,
1036
1119
  status: "success"
1037
1120
  };
1038
- const u = (p) => {
1121
+ const d = (p) => {
1039
1122
  try {
1040
1123
  return JSON.parse(p);
1041
1124
  } catch {
1042
- const x = p.replace(/[\u0000-\u001F]/g, (se) => {
1043
- switch (se) {
1125
+ const x = p.replace(/[\u0000-\u001F]/g, (ie) => {
1126
+ switch (ie) {
1044
1127
  case "\b":
1045
1128
  return "\\b";
1046
1129
  case "\f":
@@ -1053,7 +1136,7 @@ Description: ${d.description}`).join(`
1053
1136
  case " ":
1054
1137
  return "\\t";
1055
1138
  default:
1056
- return "\\u" + se.charCodeAt(0).toString(16).padStart(4, "0");
1139
+ return "\\u" + ie.charCodeAt(0).toString(16).padStart(4, "0");
1057
1140
  }
1058
1141
  });
1059
1142
  try {
@@ -1065,46 +1148,46 @@ Description: ${d.description}`).join(`
1065
1148
  }, m = [...l.map((p) => ({
1066
1149
  op: p.op,
1067
1150
  path: p.path.replace(/\/+$/, ""),
1068
- ...p.value != null && p.value !== "" ? { value: u(p.value) } : {},
1151
+ ...p.value != null && p.value !== "" ? { value: d(p.value) } : {},
1069
1152
  ...p.from != null && p.from !== "" ? { from: p.from } : {}
1070
- }))].sort((p, x) => p.op !== "remove" || x.op !== "remove" ? 0 : x.path.localeCompare(p.path, void 0, { numeric: !0 })), b = structuredClone(
1071
- de(s)
1153
+ }))].sort((p, x) => p.op !== "remove" || x.op !== "remove" ? 0 : x.path.localeCompare(p.path, void 0, { numeric: !0 })), h = structuredClone(
1154
+ ue(s)
1072
1155
  );
1073
1156
  try {
1074
- ze(b, m, !0);
1157
+ je(h, m, !0);
1075
1158
  } catch (p) {
1076
1159
  console.warn(
1077
1160
  "[SolutionBuilder] updateDesign JSON patch failed:",
1078
- { error: p, llmResponse: a, patches: m, patchTarget: b }
1161
+ { error: p, llmResponse: o, patches: m, patchTarget: h }
1079
1162
  );
1080
- const x = f("applyChangeFailed", e);
1163
+ const x = b("applyChangeFailed", e);
1081
1164
  return {
1082
1165
  outputMessage: x,
1083
1166
  summary: x,
1084
1167
  status: "success"
1085
1168
  };
1086
1169
  }
1087
- const d = T(
1088
- { response: "", ...b },
1170
+ const u = L(
1171
+ { response: "", ...h },
1089
1172
  { itemId: s.solution?.itemId ?? null }
1090
- ), g = K.safeParse(d);
1091
- if (!g.success) {
1173
+ ), f = Y.safeParse(u);
1174
+ if (!f.success) {
1092
1175
  console.warn(
1093
1176
  "[SolutionBuilder] updateDesign schema validation failed:",
1094
- { errors: g.error.issues, llmResponse: a, patchedDesign: d }
1177
+ { errors: f.error.issues, llmResponse: o, patchedDesign: u }
1095
1178
  );
1096
- const p = f("applyChangeFailed", e);
1179
+ const p = b("applyChangeFailed", e);
1097
1180
  return {
1098
1181
  outputMessage: p,
1099
1182
  summary: p,
1100
1183
  status: "success"
1101
1184
  };
1102
1185
  }
1103
- const { response: L, featureLayer: E, ...A } = g.data, ke = ue(
1104
- E,
1186
+ const { response: S, featureLayer: $, ...T } = f.data, U = pe(
1187
+ $,
1105
1188
  s.featureLayer
1106
- ), I = T(
1107
- { ...A, featureLayer: ke },
1189
+ ), _ = L(
1190
+ { ...T, featureLayer: U },
1108
1191
  {
1109
1192
  itemId: s.solution?.itemId,
1110
1193
  sourceBuildSolution: s.sourceBuildSolution,
@@ -1112,23 +1195,23 @@ Description: ${d.description}`).join(`
1112
1195
  params: s.params ?? null
1113
1196
  }
1114
1197
  );
1115
- let F = P(t.selectedTemplate);
1116
- if (F?.initialTemplate || (await X(e), F = P(t.selectedTemplate)), h(e))
1198
+ let R = P(t.selectedTemplate);
1199
+ if (R?.initialTemplate || (await Z(e), R = P(t.selectedTemplate)), g(e))
1117
1200
  return {};
1118
- if (!F?.initialTemplate)
1201
+ if (!R?.initialTemplate)
1119
1202
  throw new Error("No hydrated templates are available for solution design.");
1120
- const U = new be(I, F.initialTemplate, !1);
1121
- if (!U.isValid) {
1203
+ const O = new ve(_, R.initialTemplate, !1);
1204
+ if (!O.isValid) {
1122
1205
  console.warn(
1123
1206
  "[SolutionBuilder] updateDesign validation failed:",
1124
- { issues: U.issues, llmResponse: a, patchedDesign: I }
1207
+ { issues: O.issues, llmResponse: o, patchedDesign: _ }
1125
1208
  );
1126
- const p = await wt({
1209
+ const p = await It({
1127
1210
  query: i,
1128
- validationIssues: U.issues,
1211
+ validationIssues: O.issues,
1129
1212
  recentMessages: n,
1130
- fallbackMessage: f("applyChangeFailed", e),
1131
- promptModules: _
1213
+ fallbackMessage: b("applyChangeFailed", e),
1214
+ promptModules: E
1132
1215
  });
1133
1216
  return {
1134
1217
  outputMessage: p,
@@ -1136,57 +1219,59 @@ Description: ${d.description}`).join(`
1136
1219
  status: "success"
1137
1220
  };
1138
1221
  }
1139
- const Ee = I.sourceBuildSolution, te = ve(I, Ee);
1140
- if (!te.ok) {
1222
+ const Ee = _.sourceBuildSolution, se = we(_, Ee);
1223
+ if (!se.ok) {
1141
1224
  console.warn(
1142
1225
  "[SolutionBuilder] updateDesign Esri JSON conversion failed:",
1143
- { error: te.error, llmResponse: a, design: I }
1226
+ { error: se.error, llmResponse: o, design: _ }
1144
1227
  );
1145
- const p = f("applyChangeFailed", e);
1228
+ const p = b("applyChangeFailed", e);
1146
1229
  return {
1147
1230
  outputMessage: p,
1148
1231
  summary: p,
1149
1232
  status: "success"
1150
1233
  };
1151
1234
  }
1152
- return h(e) ? {} : (ye(I), {
1153
- outputMessage: o,
1154
- summary: o,
1235
+ return g(e) ? {} : (xe(_), {
1236
+ outputMessage: a,
1237
+ summary: a,
1155
1238
  status: "success",
1156
- currentDesign: I
1239
+ currentDesign: _
1157
1240
  });
1158
- }, Ht = (t) => t.currentDesign !== null ? "assessUpdateRequest" : "assessBuildRequest", Wt = (t) => !t.updateAssessment || !t.updateAssessment.isValidUpdate ? "invalidUpdateExit" : "updateDesign", Qt = (t) => !t.assessment || !t.assessment.isValidUseCase ? "invalidBuildExit" : !t.selectedTemplate && t.assessment.matchedTemplates.length > 1 ? "selectTemplateHIL" : "findExistingSolutions", Kt = (t) => t.existingMatches.length > 0 ? "confirmContinueBuildingHIL" : "designSolution", Yt = (t) => t.continueBuilding === !1 ? "declineContinueBuildingExit" : "designSolution", Xt = () => new G(Mt).addNode("syncCurrentDesignFromContext", Bt).addNode("assessBuildRequest", Pt).addNode("assessUpdateRequest", Ut).addNode("invalidBuildExit", qt).addNode("invalidUpdateExit", Ot).addNode("selectTemplateHIL", zt).addNode("findExistingSolutions", jt).addNode("confirmContinueBuildingHIL", Vt).addNode("declineContinueBuildingExit", Jt).addNode("designSolution", _e).addNode("updateDesign", Gt).addEdge(H, "syncCurrentDesignFromContext").addConditionalEdges("syncCurrentDesignFromContext", Ht, {
1241
+ }, Kt = (t) => t.currentDesign !== null ? "assessUpdateRequest" : "assessBuildRequest", Yt = (t) => !t.updateAssessment || !t.updateAssessment.isValidUpdate ? "invalidUpdateExit" : "updateDesign", Xt = (t) => !t.assessment || !t.assessment.isValidUseCase ? "invalidBuildExit" : !t.selectedTemplate && t.assessment.matchedTemplates.length > 1 ? "selectTemplateHIL" : "findExistingSolutions", Zt = (t) => t.existingMatches.length > 0 ? "confirmContinueBuildingHIL" : "designSolution", es = (t) => t.continueBuilding === !1 ? "declineContinueBuildingExit" : "designSolution", ts = () => new Q(qt).addNode("syncCurrentDesignFromContext", Ut).addNode("assessBuildRequest", Ot).addNode("assessUpdateRequest", jt).addNode("invalidBuildExit", zt).addNode("invalidUpdateExit", Vt).addNode("selectTemplateHIL", Jt).addNode("findExistingSolutions", Gt).addNode("confirmContinueBuildingHIL", Qt).addNode("declineContinueBuildingExit", Ht).addNode("designSolution", ke).addNode("updateDesign", Wt).addEdge(H, "syncCurrentDesignFromContext").addConditionalEdges("syncCurrentDesignFromContext", Kt, {
1159
1242
  assessUpdateRequest: "assessUpdateRequest",
1160
1243
  assessBuildRequest: "assessBuildRequest"
1161
- }).addConditionalEdges("assessUpdateRequest", Wt, {
1244
+ }).addConditionalEdges("assessUpdateRequest", Yt, {
1162
1245
  invalidUpdateExit: "invalidUpdateExit",
1163
1246
  updateDesign: "updateDesign"
1164
- }).addConditionalEdges("assessBuildRequest", Qt, {
1247
+ }).addConditionalEdges("assessBuildRequest", Xt, {
1165
1248
  invalidBuildExit: "invalidBuildExit",
1166
1249
  selectTemplateHIL: "selectTemplateHIL",
1167
1250
  findExistingSolutions: "findExistingSolutions"
1168
- }).addEdge("invalidBuildExit", S).addEdge("invalidUpdateExit", S).addEdge("selectTemplateHIL", "findExistingSolutions").addConditionalEdges("findExistingSolutions", Kt, {
1251
+ }).addEdge("invalidBuildExit", I).addEdge("invalidUpdateExit", I).addEdge("selectTemplateHIL", "findExistingSolutions").addConditionalEdges("findExistingSolutions", Zt, {
1169
1252
  confirmContinueBuildingHIL: "confirmContinueBuildingHIL",
1170
1253
  designSolution: "designSolution"
1171
- }).addConditionalEdges("confirmContinueBuildingHIL", Yt, {
1254
+ }).addConditionalEdges("confirmContinueBuildingHIL", es, {
1172
1255
  declineContinueBuildingExit: "declineContinueBuildingExit",
1173
1256
  designSolution: "designSolution"
1174
- }).addEdge("declineContinueBuildingExit", S).addEdge("designSolution", S).addEdge("updateDesign", S);
1175
- await v(_, "description");
1176
- const Zt = D.object({
1177
- tool: D.enum(["explorer", "builder", "other"]).describe("The selected tool based on the user's query."),
1178
- confidence: D.number().min(0).max(1).describe("A confidence score (0.00–1.00)."),
1179
- rationale: D.string().min(1).describe("A brief rationale for the tool choice (≤140 characters)")
1180
- }), Z = /* @__PURE__ */ Object.assign({
1257
+ }).addEdge("declineContinueBuildingExit", I).addEdge("designSolution", I).addEdge("updateDesign", I);
1258
+ await v(E, "description");
1259
+ const ss = A.object({
1260
+ tool: A.enum(["explorer", "builder", "other"]).describe("The selected tool based on the user's query."),
1261
+ confidence: A.number().min(0).max(1).describe("A confidence score (0.00–1.00)."),
1262
+ rationale: A.string().min(1).describe("A brief rationale for the tool choice (≤140 characters)")
1263
+ }), ee = /* @__PURE__ */ Object.assign({
1181
1264
  "./prompts/assistantResponse.md": () => import("../../chunks/assistantResponse.js").then((t) => t.default),
1182
1265
  "./prompts/classifyIntent.md": () => import("../../chunks/classifyIntent.js").then((t) => t.default),
1183
1266
  "./prompts/description.md": () => import("../../chunks/description.js").then((t) => t.default)
1184
- }), ee = (t) => {
1185
- const e = new CustomEvent("assistantProcessing", {
1186
- detail: { finished: !0, agent: t }
1267
+ }), te = (t, e) => {
1268
+ const s = t?.configurable?.context?.setLastTurnAgent;
1269
+ typeof s == "function" && s(e);
1270
+ const i = new CustomEvent("assistantProcessing", {
1271
+ detail: { finished: !0, agent: e }
1187
1272
  });
1188
- window.dispatchEvent(e);
1189
- }, Te = y.Root({
1273
+ window.dispatchEvent(i);
1274
+ }, Ae = y.Root({
1190
1275
  ...W(),
1191
1276
  selectedTool: y({
1192
1277
  reducer: (t, e) => e ?? null,
@@ -1196,7 +1281,7 @@ const Zt = D.object({
1196
1281
  reducer: (t, e) => e ?? null,
1197
1282
  default: () => null
1198
1283
  })
1199
- }), es = async (t, e) => {
1284
+ }), is = async (t, e) => {
1200
1285
  if (e?.configurable?.abortSignal?.aborted)
1201
1286
  return {};
1202
1287
  const s = q(e);
@@ -1204,37 +1289,37 @@ const Zt = D.object({
1204
1289
  { text: s?.builderMessages.understandingRequest },
1205
1290
  e
1206
1291
  );
1207
- const i = t.agentExecutionContext.userRequest, n = t.agentExecutionContext.messages.slice(-11), a = e?.configurable?.context?.solutionDesignJson;
1208
- let o = !1;
1209
- if (typeof a == "string" && a.trim())
1292
+ const i = t.agentExecutionContext.userRequest, n = t.agentExecutionContext.messages.slice(-11), o = e?.configurable?.context?.solutionDesignJson;
1293
+ let a = !1;
1294
+ if (typeof o == "string" && o.trim())
1210
1295
  try {
1211
- o = JSON.parse(a).solution != null;
1296
+ a = JSON.parse(o).solution != null;
1212
1297
  } catch {
1213
- o = !1;
1298
+ a = !1;
1214
1299
  }
1215
- const l = await v(Z, "classifyIntent"), u = await k({
1300
+ const l = await v(ee, "classifyIntent"), d = await C({
1216
1301
  promptText: l,
1217
1302
  modelTier: "advanced",
1218
1303
  temperature: 0,
1219
- schema: Zt,
1304
+ schema: ss,
1220
1305
  messages: n,
1221
- inputVariables: { query: i, activeSolutionDesign: o }
1306
+ inputVariables: { query: i, activeSolutionDesign: a }
1222
1307
  });
1223
1308
  return {
1224
- selectedTool: u.tool,
1225
- intentRationale: u.rationale
1309
+ selectedTool: d.tool,
1310
+ intentRationale: d.rationale
1226
1311
  };
1227
- }, ts = async (t, e) => {
1312
+ }, ns = async (t, e) => {
1228
1313
  if (e?.configurable?.abortSignal?.aborted)
1229
1314
  return {};
1230
- const i = await et().compile().invoke(t, e);
1231
- return ee("explorer"), i;
1232
- }, ss = async (t, e) => {
1315
+ const i = await it().compile().invoke(t, e);
1316
+ return te(e, "explorer"), i;
1317
+ }, as = async (t, e) => {
1233
1318
  if (e?.configurable?.abortSignal?.aborted)
1234
1319
  return {};
1235
- const i = await Xt().compile().invoke(t, e);
1236
- return ee("builder"), i;
1237
- }, is = async (t, e) => {
1320
+ const i = await ts().compile().invoke(t, e);
1321
+ return te(e, "builder"), i;
1322
+ }, os = async (t, e) => {
1238
1323
  if (e?.configurable?.abortSignal?.aborted)
1239
1324
  return {};
1240
1325
  const s = q(e), i = t.agentExecutionContext.userRequest, n = t.intentRationale ?? "No rationale available.";
@@ -1242,43 +1327,43 @@ const Zt = D.object({
1242
1327
  { text: s?.executingSolutionsAssistantAgent },
1243
1328
  e
1244
1329
  );
1245
- const a = await v(Z, "assistantResponse"), o = t.agentExecutionContext.messages.slice(-11), l = await Oe({
1246
- promptText: a,
1330
+ const o = await v(ee, "assistantResponse"), a = t.agentExecutionContext.messages.slice(-11), l = await ze({
1331
+ promptText: o,
1247
1332
  modelTier: "advanced",
1248
1333
  temperature: 0,
1249
- messages: o,
1334
+ messages: a,
1250
1335
  inputVariables: { query: i, rationale: n }
1251
1336
  });
1252
- return ee("assistant"), {
1337
+ return te(e, "assistant"), {
1253
1338
  outputMessage: l,
1254
1339
  summary: l,
1255
1340
  status: "success"
1256
1341
  };
1257
- }, ns = (t) => t.selectedTool ?? "other", as = () => new G(Te).addNode("classifyIntent", es).addNode("routeToExplorer", ts).addNode("routeToBuilder", ss).addNode("assistantResponse", is).addEdge(H, "classifyIntent").addConditionalEdges("classifyIntent", ns, {
1342
+ }, rs = (t) => t.selectedTool ?? "other", ls = () => new Q(Ae).addNode("classifyIntent", is).addNode("routeToExplorer", ns).addNode("routeToBuilder", as).addNode("assistantResponse", os).addEdge(H, "classifyIntent").addConditionalEdges("classifyIntent", rs, {
1258
1343
  explorer: "routeToExplorer",
1259
1344
  builder: "routeToBuilder",
1260
1345
  other: "assistantResponse"
1261
- }).addEdge("routeToExplorer", S).addEdge("routeToBuilder", S).addEdge("assistantResponse", S), os = await v(Z, "description"), rs = {
1346
+ }).addEdge("routeToExplorer", I).addEdge("routeToBuilder", I).addEdge("assistantResponse", I), cs = await v(ee, "description"), ds = {
1262
1347
  id: "solutionsAssistant",
1263
1348
  name: "Solutions Assistant Agent",
1264
- description: os,
1265
- createGraph: as,
1266
- workspace: Te
1267
- }, ls = "https://links.esri.com/solutions/agol-organizational-account", cs = "https://links.esri.com/solutions/configure-assistants";
1268
- class ds extends $e {
1349
+ description: cs,
1350
+ createGraph: ls,
1351
+ workspace: Ae
1352
+ }, us = "https://links.esri.com/solutions/agol-organizational-account", ps = "https://links.esri.com/solutions/configure-assistants";
1353
+ class ms extends Fe {
1269
1354
  constructor() {
1270
- super(), this.open = !1, this.userFirstName = "", this.builderVisible = !1, this.hasActiveBuilderDesign = !1, this._conversationId = void 0, this._orgSettings = {
1355
+ super(), this.open = !1, this.userFirstName = "", this.builderVisible = !1, this.hasActiveBuilderDesign = !1, this._conversationId = void 0, this._lastTurnAgent = void 0, this._orgSettings = {
1271
1356
  aiAssistantsEnabled: !1,
1272
1357
  blockBetaApps: !0,
1273
1358
  colocateCompute: !1
1274
- }, this._suggestedPrompts = [], this._hasInteracted = !1, this._isMobile = window.innerWidth <= 800, this._translations = Le({ name: "arcgis-solutions-assistant", blocking: !0 }), this._builderWidth = 48, this._solutionDesignJson = '{ "solution": null }', this._isAssistantBusy = !1, this._isBuilderBusy = !1, this._preChatCheck = !1, this._showNewChatConfirm = !1, this._assistantRef = Be(), this._configContextConsumer = ae({
1275
- context: De,
1359
+ }, this._suggestedPrompts = [], this._hasInteracted = !1, this._isMobile = window.innerWidth <= 800, this._translations = $e({ name: "arcgis-solutions-assistant", blocking: !0 }), this._builderWidth = 48, this._solutionDesignJson = '{ "solution": null }', this._isAssistantBusy = !1, this._isBuilderBusy = !1, this._preChatCheck = !1, this._showNewChatConfirm = !1, this._assistantRef = Pe(), this._configContextConsumer = oe({
1360
+ context: Ne,
1276
1361
  subscribe: !0,
1277
1362
  callback: (e) => {
1278
- e?.portalURL && (O.portalUrl = e.portalURL), e?.userSession && !this.userFirstName && this._loadUserFirstName(), e?.authentication?.PortalSubset?.orgSettings && (this._orgSettings = e?.authentication?.PortalSubset?.orgSettings);
1363
+ e?.portalURL && (z.portalUrl = e.portalURL), e?.userSession && !this.userFirstName && this._loadUserFirstName(), e?.authentication?.PortalSubset?.orgSettings && (this._orgSettings = e?.authentication?.PortalSubset?.orgSettings);
1279
1364
  }
1280
- }), this._builderDesignContextConsumer = ae({
1281
- context: Ne,
1365
+ }), this._builderDesignContextConsumer = oe({
1366
+ context: Me,
1282
1367
  subscribe: !0,
1283
1368
  callback: (e) => {
1284
1369
  e?.design && (this._solutionDesignJson = JSON.stringify(e.design, null, 2));
@@ -1288,15 +1373,15 @@ class ds extends $e {
1288
1373
  }, this._chatStartTime = null, this._handleAssistantProcessingFinished = (e) => {
1289
1374
  const s = e;
1290
1375
  if (s.detail?.finished && this._chatStartTime !== null) {
1291
- const i = Me(this._chatStartTime);
1376
+ const i = Be(this._chatStartTime);
1292
1377
  this._telemetry?.logEvent({
1293
- category: R.ASSISTANT,
1378
+ category: D.ASSISTANT,
1294
1379
  action: "Chat",
1295
1380
  dimensions: [s.detail.agent],
1296
1381
  metrics: [i]
1297
1382
  }), this._chatStartTime = null, this.assistantProcessing.emit(!1);
1298
1383
  }
1299
- }, this.closeAssistant = ie(), this.assistantProcessing = ie(), this._handleAssistantLinkClick = (e) => {
1384
+ }, this.closeAssistant = ne(), this.assistantProcessing = ne(), this._handleAssistantLinkClick = (e) => {
1300
1385
  const s = e.composedPath().find((i) => i instanceof HTMLAnchorElement);
1301
1386
  if (s?.href)
1302
1387
  if (e.preventDefault(), s.target.indexOf("solutionId:") > -1) {
@@ -1312,14 +1397,14 @@ class ds extends $e {
1312
1397
  }, this._checkURLOpenParameter = () => {
1313
1398
  this.open = this._configContextConsumer.value?.authentication?.SignInParam === "aiOpen" || this.open;
1314
1399
  }, this.listenOn(window, "arcgisFeedback", (e) => {
1315
- const s = e.detail, { agentPicked: i, taskAssigned: n, userMessage: a } = this._parseAgentPickedAndTask(s);
1316
- this._sendFeedback(s.content, a ?? n ?? "", s.feedback?.positive ? "Good" : s.feedback?.positive == "Bad" ? "Bad" : "N/A", i ?? "");
1400
+ const s = e.detail, { agentPicked: i, taskAssigned: n, userMessage: o } = this._parseAgentPickedAndTask(s);
1401
+ this._sendFeedback(s.content, o ?? n ?? "", s.feedback?.positive ? "Good" : s.feedback?.positive == "Bad" ? "Bad" : "N/A", i ?? "");
1317
1402
  }), this.listenOn(window, "clearAssistantConversation", () => {
1318
1403
  this._clearConversation();
1319
1404
  });
1320
1405
  }
1321
1406
  static {
1322
- this.properties = { open: 5, userFirstName: 1, builderVisible: 5, hasActiveBuilderDesign: 5, _conversationId: 16, _orgSettings: 16, _suggestedPrompts: 16, _hasInteracted: 16, _isMobile: 16, _translations: 16, _builderWidth: 16, _solutionDesignJson: 16, _isAssistantBusy: 16, _isBuilderBusy: 16, _preChatCheck: 16, _showNewChatConfirm: 16 };
1407
+ this.properties = { open: 5, userFirstName: 1, builderVisible: 5, hasActiveBuilderDesign: 5, _conversationId: 16, _lastTurnAgent: 16, _orgSettings: 16, _suggestedPrompts: 16, _hasInteracted: 16, _isMobile: 16, _translations: 16, _builderWidth: 16, _solutionDesignJson: 16, _isAssistantBusy: 16, _isBuilderBusy: 16, _preChatCheck: 16, _showNewChatConfirm: 16 };
1323
1408
  }
1324
1409
  static {
1325
1410
  this.styles = He;
@@ -1337,39 +1422,39 @@ class ds extends $e {
1337
1422
  this._checkURLOpenParameter();
1338
1423
  }
1339
1424
  load() {
1340
- O.applicationName = "Solutions", this._configContextConsumer.value?.portalURL && (O.portalUrl = this._configContextConsumer.value.portalURL);
1425
+ z.applicationName = "Solutions", this._configContextConsumer.value?.portalURL && (z.portalUrl = this._configContextConsumer.value.portalURL);
1341
1426
  }
1342
1427
  firstUpdated(e) {
1343
1428
  this._loadUserFirstName();
1344
1429
  }
1345
1430
  willUpdate(e) {
1346
- e.has("open") && this.open && window.dispatchEvent(new CustomEvent("openAssistant")), this._configContextConsumer.value?.authentication && this._configContextConsumer.value?.userSession?.token && (this._preChatCheck || (he(this._configContextConsumer.value?.authentication.Portal, this._configContextConsumer.value?.userSession?.token, this._configContextConsumer.value?.locale ?? "en"), this._preChatCheck = !0)), this._configContextConsumer.value?.userSession?.token && this._configContextConsumer.value?.authentication?.CanUseAI;
1431
+ e.has("open") && this.open && window.dispatchEvent(new CustomEvent("openAssistant")), this._configContextConsumer.value?.authentication && this._configContextConsumer.value?.userSession?.token && (this._preChatCheck || (be(this._configContextConsumer.value?.authentication.Portal, this._configContextConsumer.value?.userSession?.token, this._configContextConsumer.value?.locale ?? "en"), this._preChatCheck = !0)), this._configContextConsumer.value?.userSession?.token && this._configContextConsumer.value?.authentication?.CanUseAI;
1347
1432
  }
1348
1433
  _renderNoSign() {
1349
- return C`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage ?? ne} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`;
1434
+ return k`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=message>${this._translations.signInMessage}</div><calcite-link @click=${this._handleSignIn} slot=link title=${this._translations.signInMessage ?? ae} class="padding-top-10">${this._translations.signIn}</calcite-link></calcite-notice>`;
1350
1435
  }
1351
1436
  _renderNoPermission() {
1352
- return C`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${Re(this._translations.noPermissionMessage.replace("{{orgUrl}}", ls).replace("{{configAI}}", cs))}</div></calcite-notice>`;
1437
+ return k`<calcite-notice class="margin-lg" open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${De(this._translations.noPermissionMessage.replace("{{orgUrl}}", us).replace("{{configAI}}", ps))}</div></calcite-notice>`;
1353
1438
  }
1354
1439
  render() {
1355
1440
  let e = this._suggestedPrompts.length > 0 ? this._suggestedPrompts : this._hasInteracted ? [] : Object.values(this._translations.defaultFollowUpQuestions);
1356
- return this._suggestedPrompts.length > 0 ? e = this._suggestedPrompts : this._hasInteracted || (e = [...Object.values(this._translations.defaultFollowUpQuestions)]), C`<calcite-panel class="chat-panel"><div class="header-content" slot=header-content><span class="header-title">${this._translations.solutionAssistantTitle}</span></div>${this._configContextConsumer.value?.userSession?.token ? this._configContextConsumer.value?.authentication?.CanUseAI ? C`${!this._isMobile && C`<calcite-action id=solutionBuilderAction icon=pencil-square .text=${this._translations.tooltips.builder} text-enabled .indicator=${this.hasActiveBuilderDesign} .disabled=${!this.hasActiveBuilderDesign} .active=${this.builderVisible} selection-appearance=highlight @click=${() => {
1441
+ return this._suggestedPrompts.length > 0 ? e = this._suggestedPrompts : this._hasInteracted || (e = [...Object.values(this._translations.defaultFollowUpQuestions)]), k`<calcite-panel class="chat-panel"><div class="header-content" slot=header-content><span class="header-title">${this._translations.solutionAssistantTitle}</span></div>${this._configContextConsumer.value?.userSession?.token ? this._configContextConsumer.value?.authentication?.CanUseAI ? k`${!this._isMobile && k`<calcite-action id=solutionBuilderAction icon=pencil-square .text=${this._translations.tooltips.builder} text-enabled .indicator=${this.hasActiveBuilderDesign} .disabled=${!this.hasActiveBuilderDesign} .active=${this.builderVisible} selection-appearance=highlight @click=${() => {
1357
1442
  this._telemetry?.logEvent({
1358
- category: R.ASSISTANT,
1443
+ category: D.ASSISTANT,
1359
1444
  action: "Toggle Builder Panel",
1360
1445
  dimensions: [this.builderVisible ? "Close" : "Open"]
1361
1446
  }), window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"));
1362
- }} scale=m slot=header-actions-end></calcite-action>` || ""}${!this._isMobile && C`<calcite-tooltip placement=bottom reference-element=solutionBuilderAction><span>${this._translations.tooltips.solutionBuilder}</span></calcite-tooltip>` || ""}<arcgis-assistant reference-element copy-enabled feedback-enabled heading description entry-message=${this._translations.defaultStartUpMessage ?? ne} .suggestedPrompts=${e} @arcgisSubmit=${(s) => {
1447
+ }} scale=m slot=header-actions-end></calcite-action>` || ""}${!this._isMobile && k`<calcite-tooltip placement=bottom reference-element=solutionBuilderAction><span>${this._translations.tooltips.solutionBuilder}</span></calcite-tooltip>` || ""}<arcgis-assistant reference-element copy-enabled feedback-enabled heading description entry-message=${this._translations.defaultStartUpMessage ?? ae} .suggestedPrompts=${e} @arcgisSubmit=${(s) => {
1363
1448
  console.log("arcgis submit: ", s.detail), this._suggestedPrompts = [], e = [], this._hasInteracted = !0, this._chatStartTime = Date.now(), this.assistantProcessing.emit(!0);
1364
1449
  }} @arcgisFeedback=${(s) => {
1365
1450
  s.detail;
1366
- }} ${Pe(this._assistantRef)}><calcite-button appearance=transparent id=newChatButton icon-start=speech-bubble-plus kind=neutral .label=${this._translations.tooltips.newChat} @click=${() => {
1451
+ }} ${qe(this._assistantRef)}><calcite-button appearance=transparent id=newChatButton icon-start=speech-bubble-plus kind=neutral .label=${this._translations.tooltips.newChat} @click=${() => {
1367
1452
  this.hasActiveBuilderDesign ? this._showNewChatConfirm = !0 : (this._telemetry?.logEvent({
1368
- category: R.ASSISTANT,
1453
+ category: D.ASSISTANT,
1369
1454
  action: "New Chat",
1370
1455
  dimensions: ["No Active Design"]
1371
1456
  }), this._clearConversation());
1372
- }} round scale=m slot=entry-actions-start>${this._translations.tooltips.newChat}</calcite-button><arcgis-assistant-agent .agent=${rs} .context=${{
1457
+ }} round scale=m slot=entry-actions-start>${this._translations.tooltips.newChat}</calcite-button><arcgis-assistant-agent .agent=${ds} .context=${{
1373
1458
  token: this._configContextConsumer.value?.userSession?.token,
1374
1459
  configContext: this._configContextConsumer.value,
1375
1460
  convoId: this._conversationId,
@@ -1377,17 +1462,21 @@ class ds extends $e {
1377
1462
  assistantRef: this._assistantRef,
1378
1463
  translations: this._translations,
1379
1464
  solutionDesignJson: this._solutionDesignJson,
1465
+ lastTurnAgent: this._lastTurnAgent,
1380
1466
  setConversationId: (s) => {
1381
1467
  this._conversationId = s;
1382
1468
  },
1469
+ setLastTurnAgent: (s) => {
1470
+ this._lastTurnAgent = s;
1471
+ },
1383
1472
  clearSuggestedPrompts: () => {
1384
1473
  this._suggestedPrompts = [];
1385
1474
  }
1386
- }}></arcgis-assistant-agent></arcgis-assistant><div slot=footer class="disclaimer-div width-100"><calcite-chip class="beta-chip" appearance=solid kind=neutral .label=${this._translations.betaTag} scale=s>${this._translations.betaTag}</calcite-chip><span>${this._translations.disclaimerMessage} <a href=https://links.esri.com/solutions/security-concern rel="noopener noreferrer" target=_blank>${this._translations.reportConcern}</a></span></div>` : this._renderNoPermission() : this._renderNoSign()}${this._showNewChatConfirm && C`<calcite-dialog close-disabled escape-disabled .heading=${this._translations.newConversationConfirmTitle} modal open outside-close-disabled>${this._translations.builderMessages.discardMessage}<calcite-button appearance=outline @click=${() => {
1475
+ }}></arcgis-assistant-agent></arcgis-assistant><div slot=footer class="disclaimer-div width-100"><calcite-chip class="beta-chip" appearance=solid kind=neutral .label=${this._translations.betaTag} scale=s>${this._translations.betaTag}</calcite-chip><span>${this._translations.disclaimerMessage} <a href=https://links.esri.com/solutions/security-concern rel="noopener noreferrer" target=_blank>${this._translations.reportConcern}</a></span></div>` : this._renderNoPermission() : this._renderNoSign()}${this._showNewChatConfirm && k`<calcite-dialog close-disabled escape-disabled .heading=${this._translations.newConversationConfirmTitle} modal open outside-close-disabled>${this._translations.builderMessages.discardMessage}<calcite-button appearance=outline @click=${() => {
1387
1476
  this._showNewChatConfirm = !1;
1388
1477
  }} slot=footer-end>${this._translations.cancel}</calcite-button><calcite-button appearance=solid kind=danger @click=${() => {
1389
1478
  this._telemetry?.logEvent({
1390
- category: R.ASSISTANT,
1479
+ category: D.ASSISTANT,
1391
1480
  action: "New Chat",
1392
1481
  dimensions: ["With Design Discard"]
1393
1482
  }), this._showNewChatConfirm = !1, window.dispatchEvent(new CustomEvent("requestBuilderDiscard"));
@@ -1396,11 +1485,11 @@ class ds extends $e {
1396
1485
  }} slot=header-actions-end .text=${this._translations.tooltips.close}></calcite-action><calcite-tooltip placement=bottom reference-element=closeAssistantButton><span>${this._translations.tooltips.close}</span></calcite-tooltip></calcite-panel>`;
1397
1486
  }
1398
1487
  _clearConversation() {
1399
- this._conversationId = void 0, this._suggestedPrompts = [], this._hasInteracted = !1, this._assistantRef.value?.clearChatHistory();
1488
+ this._conversationId = void 0, this._lastTurnAgent = void 0, this._suggestedPrompts = [], this._hasInteracted = !1, this._assistantRef.value?.clearChatHistory();
1400
1489
  }
1401
1490
  _sendFeedback(e, s, i, n) {
1402
- const a = `https://survey123.arcgis.com/share/6e349a50b4504ca6b6107216d568db5f?field:_source=${encodeURIComponent("Solutions Assistant")}&field:user_evaluation=${encodeURIComponent(i)}&field:question=${encodeURIComponent(s)}&field:answer=${encodeURIComponent(e)}&field:context=${encodeURIComponent(JSON.stringify({ agent: n }))}&field:version=${encodeURIComponent("v2")}`;
1403
- window.open(a, "_blank");
1491
+ const o = `https://survey123.arcgis.com/share/6e349a50b4504ca6b6107216d568db5f?field:_source=${encodeURIComponent("Solutions Assistant")}&field:user_evaluation=${encodeURIComponent(i)}&field:question=${encodeURIComponent(s)}&field:answer=${encodeURIComponent(e)}&field:context=${encodeURIComponent(JSON.stringify({ agent: n }))}&field:version=${encodeURIComponent("v2")}`;
1492
+ window.open(o, "_blank");
1404
1493
  }
1405
1494
  async _loadUserFirstName() {
1406
1495
  try {
@@ -1413,14 +1502,14 @@ class ds extends $e {
1413
1502
  }
1414
1503
  }
1415
1504
  _parseAgentPickedAndTask(e) {
1416
- const s = Array.from(this._assistantRef.value?.messages || []), i = e.log || [], o = [...s].sort((d, g) => g.id - d.id).find((d) => d.role === "user" && d.id <= e.id)?.content || null, l = i.find((d) => typeof d == "string" && d.includes("Agent picked:")) ?? null;
1505
+ const s = Array.from(this._assistantRef.value?.messages || []), i = e.log || [], a = [...s].sort((u, f) => f.id - u.id).find((u) => u.role === "user" && u.id <= e.id)?.content || null, l = i.find((u) => typeof u == "string" && u.includes("Agent picked:")) ?? null;
1417
1506
  if (!l)
1418
- return { agentPicked: null, taskAssigned: null, userMessage: o };
1419
- const u = /Agent picked:\s*(.*?)\s*(?:\\n|\r?\n)\s*Task Assigned:\s*([\s\S]*)$/i, c = l.match(u);
1507
+ return { agentPicked: null, taskAssigned: null, userMessage: a };
1508
+ const d = /Agent picked:\s*(.*?)\s*(?:\\n|\r?\n)\s*Task Assigned:\s*([\s\S]*)$/i, c = l.match(d);
1420
1509
  if (!c)
1421
- return { agentPicked: null, taskAssigned: null, userMessage: o };
1422
- const m = c[1].trim(), b = c[2].trim();
1423
- return { agentPicked: m, taskAssigned: b, userMessage: o };
1510
+ return { agentPicked: null, taskAssigned: null, userMessage: a };
1511
+ const m = c[1].trim(), h = c[2].trim();
1512
+ return { agentPicked: m, taskAssigned: h, userMessage: a };
1424
1513
  }
1425
1514
  _emitItemIdFromAI(e) {
1426
1515
  const s = new CustomEvent("solutionIDFromAssistant", {
@@ -1431,7 +1520,7 @@ class ds extends $e {
1431
1520
  window.dispatchEvent(s);
1432
1521
  }
1433
1522
  }
1434
- Ae("arcgis-solutions-assistant", ds);
1523
+ Le("arcgis-solutions-assistant", ms);
1435
1524
  export {
1436
- ds as ArcgisSolutionsAssistant
1525
+ ms as ArcgisSolutionsAssistant
1437
1526
  };