@esri/solutions-components 5.1.0-next.16 → 5.1.0-next.161

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 (1545) hide show
  1. package/dist/cdn/22BJ76LD.js +2 -0
  2. package/dist/cdn/{AJY7XD7A.js → 23SGJQLW.js} +1 -1
  3. package/dist/cdn/24DOFCUH.js +2 -0
  4. package/dist/cdn/26EKIZQ3.js +2 -0
  5. package/dist/cdn/26QXT6ZT.js +2 -0
  6. package/dist/cdn/2B4SGB3I.js +2 -0
  7. package/dist/cdn/{CEP54NLT.js → 2C4DK6YC.js} +1 -1
  8. package/dist/cdn/{NDUAEC62.js → 2I5LGZNX.js} +1 -1
  9. package/dist/cdn/2L62YUIH.js +2 -0
  10. package/dist/cdn/{QMD2WK5F.js → 2OCRSUSE.js} +1 -1
  11. package/dist/cdn/{NC34DM4N.js → 2UCURPVT.js} +1 -1
  12. package/dist/cdn/{DZB3263I.js → 2X3SHREV.js} +1 -1
  13. package/dist/cdn/3A5WS2II.js +2 -0
  14. package/dist/cdn/3D5OFNW5.js +2 -0
  15. package/dist/cdn/{IO5DIUTT.js → 3E7MYA66.js} +1 -1
  16. package/dist/cdn/{VXMIT5WR.js → 3IHDWRXV.js} +1 -1
  17. package/dist/cdn/3IO2JXVB.js +2 -0
  18. package/dist/cdn/3KRXI2TQ.js +2 -0
  19. package/dist/cdn/{VIWNXKUP.js → 3NKGACT7.js} +1 -1
  20. package/dist/cdn/{7Y32UJS4.js → 3QIWKYQY.js} +1 -1
  21. package/dist/cdn/3SDEIO24.js +2 -0
  22. package/dist/cdn/3Z7EYDFO.js +434 -0
  23. package/dist/cdn/{36HEIJAI.js → 4AFANEZZ.js} +1 -1
  24. package/dist/cdn/4ALVWOG7.js +2 -0
  25. package/dist/cdn/{7JEVFHRJ.js → 4OKIVS32.js} +1 -1
  26. package/dist/cdn/{MFJF6OXL.js → 4PNNKMNH.js} +1 -1
  27. package/dist/cdn/{T537IZUH.js → 4Z6UJJJR.js} +1 -1
  28. package/dist/cdn/{2H7KJUZG.js → 55QBAVPE.js} +1 -1
  29. package/dist/cdn/{XTUL7OCR.js → 57SZHKM5.js} +1 -1
  30. package/dist/cdn/{5UQRM2YJ.js → 5BN62I7L.js} +1 -1
  31. package/dist/cdn/5EXKQXLZ.js +2 -0
  32. package/dist/cdn/5F6KCXYP.js +2 -0
  33. package/dist/cdn/{26K4UTAF.js → 5IIGQVJO.js} +1 -1
  34. package/dist/cdn/5JBZ6L5Q.js +6 -0
  35. package/dist/cdn/5K5GHKON.js +2 -0
  36. package/dist/cdn/{4HFHJOS3.js → 5O53T3SW.js} +1 -1
  37. package/dist/cdn/{LPJHRY3Y.js → 5VIB2BPJ.js} +1 -1
  38. package/dist/cdn/{XXQKFENH.js → 62CPZJO5.js} +1 -1
  39. package/dist/cdn/{T745GPG3.js → 62QGEVBO.js} +1 -1
  40. package/dist/cdn/632J5NXN.js +49 -0
  41. package/dist/cdn/6LHIJG7J.js +2 -0
  42. package/dist/cdn/{UK4O67GV.js → 6XWFCHCJ.js} +1 -1
  43. package/dist/cdn/73EY5SIB.js +2 -0
  44. package/dist/cdn/7CGCLEYB.js +2 -0
  45. package/dist/cdn/7FZDDT7D.js +2 -0
  46. package/dist/cdn/7JC52SFZ.js +2 -0
  47. package/dist/cdn/{CSW2JRVE.js → 7MNSZGMB.js} +1 -1
  48. package/dist/cdn/{TUGKPWRB.js → 7NUJ4IS5.js} +1 -1
  49. package/dist/cdn/7OHSJ5SV.js +2 -0
  50. package/dist/cdn/{FTMEQQF5.js → 7V57GR4X.js} +1 -1
  51. package/dist/cdn/7VD3Y4IF.js +2 -0
  52. package/dist/cdn/{3XVYTVMS.js → 7VQB43WL.js} +1 -1
  53. package/dist/cdn/7YJMTZFC.js +2 -0
  54. package/dist/cdn/{LI7Q44Z6.js → 7ZJBP3SS.js} +1 -1
  55. package/dist/cdn/{3SRDS4KQ.js → 7ZSO7MSX.js} +1 -1
  56. package/dist/cdn/A2VP46QZ.js +2 -0
  57. package/dist/cdn/A62EWI7L.js +2 -0
  58. package/dist/cdn/A6VVARNG.js +2 -0
  59. package/dist/cdn/ACTJS4TX.js +4 -0
  60. package/dist/cdn/{LF3HQQMS.js → AEALFROI.js} +1 -1
  61. package/dist/cdn/{45M33Q5G.js → AJZDBHB6.js} +1 -1
  62. package/dist/cdn/{5EBHORLK.js → AM6QSTRH.js} +1 -1
  63. package/dist/cdn/AS6VINEU.js +16 -0
  64. package/dist/cdn/{KXT52OBS.js → AYJ5ZPU6.js} +1 -1
  65. package/dist/cdn/AYSQIO6L.js +2 -0
  66. package/dist/cdn/BATEZR3T.js +2 -0
  67. package/dist/cdn/BEKMMPB7.js +2 -0
  68. package/dist/cdn/{NM3YBQUM.js → BM4VSEDV.js} +1 -1
  69. package/dist/cdn/{7DVOR4SY.js → BOSEAFVW.js} +1 -1
  70. package/dist/cdn/{SIUUQBL4.js → BQ7O62CG.js} +1 -1
  71. package/dist/cdn/BVG2SE55.js +2 -0
  72. package/dist/cdn/C4F2OOUL.js +2 -0
  73. package/dist/cdn/{P2YLMWCT.js → C5AR5K23.js} +1 -1
  74. package/dist/cdn/C5BQAX2M.js +2 -0
  75. package/dist/cdn/C5KDPY7R.js +2 -0
  76. package/dist/cdn/{M7GWNGTJ.js → CARCFJRD.js} +1 -1
  77. package/dist/cdn/{RNTJMF4O.js → CAXDDYGL.js} +1 -1
  78. package/dist/cdn/CAYWD56D.js +2 -0
  79. package/dist/cdn/CFJ4FEY3.js +2 -0
  80. package/dist/cdn/CGOOAJVN.js +90 -0
  81. package/dist/cdn/CJ3EZE7U.js +2 -0
  82. package/dist/cdn/{KZFMPHCV.js → CLRLOHTR.js} +1 -1
  83. package/dist/cdn/CPOZIWVH.js +2 -0
  84. package/dist/cdn/{UVHM4PU5.js → CUG5CROK.js} +1 -1
  85. package/dist/cdn/{EYBEUSBG.js → CWXZSWUA.js} +1 -1
  86. package/dist/cdn/{USM62FP5.js → CYEFGPUM.js} +19 -19
  87. package/dist/cdn/CZVHNBQN.js +2 -0
  88. package/dist/cdn/D2EVPZ5K.js +2 -0
  89. package/dist/cdn/D4TEADUS.js +2 -0
  90. package/dist/cdn/{CZJPS7CF.js → D52QVYYU.js} +1 -1
  91. package/dist/cdn/D5JF7XQN.js +2 -0
  92. package/dist/cdn/{35HRMJUI.js → D6ZGMSQF.js} +1 -1
  93. package/dist/cdn/{MWFCDDBC.js → D7G4LZRG.js} +1 -1
  94. package/dist/cdn/DF7TCZUS.js +2 -0
  95. package/dist/cdn/{73O55ZBJ.js → DGQQF6WF.js} +1 -1
  96. package/dist/cdn/DJYT367X.js +2 -0
  97. package/dist/cdn/DKQRECGR.js +2 -0
  98. package/dist/cdn/DKXVDY6L.js +2 -0
  99. package/dist/cdn/{7KEONOFN.js → DMENKRSP.js} +1 -1
  100. package/dist/cdn/{DWAYOC2L.js → DWKKP34X.js} +1 -1
  101. package/dist/cdn/E25ZWVBK.js +33 -0
  102. package/dist/cdn/{HYB5LBMY.js → E7CWZMS4.js} +1 -1
  103. package/dist/cdn/{57DOBXD6.js → EF2TTWG5.js} +1 -1
  104. package/dist/cdn/{JMU5KKZH.js → EG5KPZQ2.js} +1 -1
  105. package/dist/cdn/EHSIODIO.js +2 -0
  106. package/dist/cdn/{T3JHAFWW.js → EIF4KZBD.js} +1 -1
  107. package/dist/cdn/{7DHQVMKX.js → EKK5FR2V.js} +1 -1
  108. package/dist/cdn/{XPIAEAK5.js → EMPMQDRQ.js} +1 -1
  109. package/dist/cdn/ENLFOYSI.js +13 -0
  110. package/dist/cdn/{X4LKJTY5.js → ES63XK5X.js} +1 -1
  111. package/dist/cdn/EXBEKVP5.js +2 -0
  112. package/dist/cdn/EYJQEBDF.js +2 -0
  113. package/dist/cdn/F3A22NPP.js +2 -0
  114. package/dist/cdn/F5SUVMAE.js +2 -0
  115. package/dist/cdn/F6J3OLVZ.js +2 -0
  116. package/dist/cdn/FA5CJT2S.js +2 -0
  117. package/dist/cdn/{DZLVEIWW.js → FBGCV6YJ.js} +1 -1
  118. package/dist/cdn/FBSKACM2.js +2 -0
  119. package/dist/cdn/{UDGR2GC5.js → FCJFAZ4S.js} +1 -1
  120. package/dist/cdn/{H3LJVYII.js → FE6JCIZY.js} +1 -1
  121. package/dist/cdn/FE7HMUSZ.js +2 -0
  122. package/dist/cdn/FFF5HUPM.js +4 -0
  123. package/dist/cdn/{BPAYAR53.js → FVR5S6DL.js} +1 -1
  124. package/dist/cdn/FZNRD2XJ.js +2 -0
  125. package/dist/cdn/{NWTG35WX.js → G2RMWJ7R.js} +1 -1
  126. package/dist/cdn/G63OYQ7G.js +2 -0
  127. package/dist/cdn/GABDTUB7.js +2 -0
  128. package/dist/cdn/{3FMOO3PJ.js → GF4QELNV.js} +1 -1
  129. package/dist/cdn/GLC7JVKG.js +2 -0
  130. package/dist/cdn/{ELD2UQO4.js → GXZWJXHM.js} +1 -1
  131. package/dist/cdn/H3NPAQ3U.js +2 -0
  132. package/dist/cdn/{DIDOZ4J6.js → HB56DBBP.js} +5 -5
  133. package/dist/cdn/HGOYPWOK.js +2 -0
  134. package/dist/cdn/{K5ZIHTQC.js → HJZRCLYP.js} +1 -1
  135. package/dist/cdn/HVT2WBVC.js +2 -0
  136. package/dist/cdn/HYQVSB6C.js +2 -0
  137. package/dist/cdn/{DLBZRD4H.js → I2NTSKBD.js} +1 -1
  138. package/dist/cdn/I4EEOB6Y.js +2 -0
  139. package/dist/cdn/{I3D5WRYZ.js → I4VWG355.js} +1 -1
  140. package/dist/cdn/I5E3PM26.js +29 -0
  141. package/dist/cdn/IADXB53D.js +2 -0
  142. package/dist/cdn/ICY4O6XV.js +2 -0
  143. package/dist/cdn/IE5TTSUW.js +118 -0
  144. package/dist/cdn/IGQJLEEJ.js +2 -0
  145. package/dist/cdn/{KU62OLRE.js → IHG7KTNC.js} +1 -1
  146. package/dist/cdn/IOFIC3IG.js +2 -0
  147. package/dist/cdn/{FJAJKPL6.js → IQVJCQTP.js} +1 -1
  148. package/dist/cdn/{S423P2GA.js → ISFTCFSJ.js} +1 -1
  149. package/dist/cdn/{6XELM7OM.js → IXJFVKYN.js} +1 -1
  150. package/dist/cdn/J6OVONBB.js +2 -0
  151. package/dist/cdn/{NLTK53B2.js → JCQQIAIE.js} +1 -1
  152. package/dist/cdn/JDI57IEI.js +98 -0
  153. package/dist/cdn/JEIP7CJK.js +2 -0
  154. package/dist/cdn/JFLG3EKT.js +2 -0
  155. package/dist/cdn/JJDAJ7CL.js +2 -0
  156. package/dist/cdn/{ZF724O2R.js → JUPIKTGO.js} +1 -1
  157. package/dist/cdn/{TZL2746B.js → KAGDNHPY.js} +1 -1
  158. package/dist/cdn/{JLQYLRUP.js → KDHI3OWQ.js} +1 -1
  159. package/dist/cdn/{FV7G3BY6.js → KIKSO3OQ.js} +1 -1
  160. package/dist/cdn/KKEERGX7.js +2 -0
  161. package/dist/cdn/KMKZEHDS.js +2 -0
  162. package/dist/cdn/{NOIG2A4U.js → KMTYPOFM.js} +1 -1
  163. package/dist/cdn/KTRKTBPS.js +7 -0
  164. package/dist/cdn/{LCWLPXAF.js → KU2LYW6K.js} +1 -1
  165. package/dist/cdn/L4BYLII5.js +2 -0
  166. package/dist/cdn/LHLLMC6K.js +2 -0
  167. package/dist/cdn/LM46YQCN.js +2 -0
  168. package/dist/cdn/{E7W2OZL3.js → LOWGHGDS.js} +1 -1
  169. package/dist/cdn/{LPBP7CBN.js → LP2JYX4X.js} +1 -1
  170. package/dist/cdn/LPFG5XTA.js +19 -0
  171. package/dist/cdn/{C44FH5Z2.js → LSBUPU7F.js} +1 -1
  172. package/dist/cdn/{FDO2JBGW.js → LVK2J23W.js} +1 -1
  173. package/dist/cdn/LXGY2E55.js +2 -0
  174. package/dist/cdn/LY3WRG7K.js +2 -0
  175. package/dist/cdn/{XG3T3NF3.js → MBAQ324M.js} +1 -1
  176. package/dist/cdn/MBVY6OPY.js +2 -0
  177. package/dist/cdn/MDKHW7NM.js +2 -0
  178. package/dist/cdn/MISU75DC.js +2 -0
  179. package/dist/cdn/MJ6JD7WX.js +18 -0
  180. package/dist/cdn/{XIUYW7RN.js → MKDVJPNY.js} +1 -1
  181. package/dist/cdn/MLNGJEKI.js +2 -0
  182. package/dist/cdn/MTEVQC6W.js +50 -0
  183. package/dist/cdn/{TVCG3ZCH.js → MW3IJQRQ.js} +1 -1
  184. package/dist/cdn/{B3R52L7H.js → N22MFQSQ.js} +1 -1
  185. package/dist/cdn/{3OQ24P5P.js → N33J6JX2.js} +1 -1
  186. package/dist/cdn/{BDXIKPLU.js → N7BXCDA3.js} +1 -1
  187. package/dist/cdn/{YUPT4BTA.js → NKEQVKHZ.js} +1 -1
  188. package/dist/cdn/NQH7ZZWD.js +2 -0
  189. package/dist/cdn/{KDE2RXEH.js → NVIMZ7ZS.js} +1 -1
  190. package/dist/cdn/O4VFFJLQ.js +2 -0
  191. package/dist/cdn/O7VRD3Z3.js +4 -0
  192. package/dist/cdn/{BIRAQCVT.js → OAEZN4D5.js} +1 -1
  193. package/dist/cdn/OGH565H7.js +3 -0
  194. package/dist/cdn/OJDW3XGU.js +2 -0
  195. package/dist/cdn/OMRM5EXN.js +2 -0
  196. package/dist/cdn/{AA7X6GKH.js → ONARC6AZ.js} +1 -1
  197. package/dist/cdn/{JDVVMD4S.js → OZ7YBTKR.js} +1 -1
  198. package/dist/cdn/P7LSYADG.js +27 -0
  199. package/dist/cdn/PEQUHMTU.js +2 -0
  200. package/dist/cdn/{KHHT54BU.js → PKOJQT4I.js} +1 -1
  201. package/dist/cdn/{QHYG6C3L.js → PSBOV4IR.js} +1 -1
  202. package/dist/cdn/{EYXOOK3V.js → PWER63DX.js} +1 -1
  203. package/dist/cdn/PYPVVSIX.js +2 -0
  204. package/dist/cdn/{LNLCO244.js → Q2K6BUCN.js} +1 -1
  205. package/dist/cdn/{ANX2J4ID.js → Q3WGKNJH.js} +1 -1
  206. package/dist/cdn/Q4X6GXRI.js +2 -0
  207. package/dist/cdn/QBARJMJE.js +2 -0
  208. package/dist/cdn/QH343537.js +56 -0
  209. package/dist/cdn/{PJ5ORVU5.js → QJICQ4W3.js} +1 -1
  210. package/dist/cdn/QLX3XORL.js +78 -0
  211. package/dist/cdn/{E57JPXDR.js → QPX33Y62.js} +1 -1
  212. package/dist/cdn/{UH4IH4MC.js → QQYN7RED.js} +1 -1
  213. package/dist/cdn/{QQSP7HQH.js → QTFTJ4DQ.js} +1 -1
  214. package/dist/cdn/QWNRGCQS.js +2 -0
  215. package/dist/cdn/R2JOPHL5.js +2 -0
  216. package/dist/cdn/R4PQI4LJ.js +2 -0
  217. package/dist/cdn/{DKB6JTUF.js → RKZXRHZK.js} +1 -1
  218. package/dist/cdn/RLYLBYMX.js +2 -0
  219. package/dist/cdn/RQIGAX6O.js +2 -0
  220. package/dist/cdn/{CZKXDUOH.js → RXM4BHPK.js} +1 -1
  221. package/dist/cdn/S37TPZAO.js +2 -0
  222. package/dist/cdn/S47SVZPE.js +2 -0
  223. package/dist/cdn/S4ZMJ42A.js +2 -0
  224. package/dist/cdn/SC4UAHYZ.js +2 -0
  225. package/dist/cdn/{5ZVSYUD7.js → SDX7YG23.js} +1 -1
  226. package/dist/cdn/SGU3KCZB.js +2 -0
  227. package/dist/cdn/SHI2ULEO.js +2 -0
  228. package/dist/cdn/SIODWUWX.js +2 -0
  229. package/dist/cdn/{IKN5RLJ4.js → SMN3CVM5.js} +1 -1
  230. package/dist/cdn/{NH5526ON.js → SNBTGG5B.js} +1 -1
  231. package/dist/cdn/SNZRQPXI.js +46 -0
  232. package/dist/cdn/SYISCXZY.js +4 -0
  233. package/dist/cdn/{3T3GPK27.js → T6EKXYZA.js} +1 -1
  234. package/dist/cdn/T6FQ2A4O.js +2 -0
  235. package/dist/cdn/TCUNTTNI.js +2 -0
  236. package/dist/cdn/{ZYRNI524.js → TJDAE43J.js} +1 -1
  237. package/dist/cdn/{UF67SSGX.js → TLRBE2TZ.js} +1 -1
  238. package/dist/cdn/TLY6ZEKN.js +2 -0
  239. package/dist/cdn/{XC7LLCVS.js → TTCTODAR.js} +1 -1
  240. package/dist/cdn/{B6IICRWD.js → U2LBV6VU.js} +1 -1
  241. package/dist/cdn/U6DXEFHP.js +2 -0
  242. package/dist/cdn/{FFDZB5TW.js → UA6XD7SQ.js} +1 -1
  243. package/dist/cdn/UBPCOTIY.js +2 -0
  244. package/dist/cdn/UBPOT5V3.js +2 -0
  245. package/dist/cdn/UNBGBQPR.js +2 -0
  246. package/dist/cdn/UUIKE2AH.js +2 -0
  247. package/dist/cdn/UUKV62PY.js +109 -0
  248. package/dist/cdn/UXN2MYLX.js +2 -0
  249. package/dist/cdn/V74POSPP.js +2 -0
  250. package/dist/cdn/{FZ7WJ3YG.js → V7WSQCQY.js} +1 -1
  251. package/dist/cdn/VHSGX4DC.js +2 -0
  252. package/dist/cdn/VHYS3SP3.js +2 -0
  253. package/dist/cdn/{B7J5RZIJ.js → VJDUPEFF.js} +1 -1
  254. package/dist/cdn/{7GPGKDLH.js → VNTPM6CQ.js} +1 -1
  255. package/dist/cdn/{HDRMSU3L.js → VPFXIGOI.js} +1 -1
  256. package/dist/cdn/{JLYGSQEC.js → VTAQ6NBB.js} +1 -1
  257. package/dist/cdn/VXGLGWIF.js +115 -0
  258. package/dist/cdn/W7VD3QDN.js +2 -0
  259. package/dist/cdn/WCD4U7UJ.js +2 -0
  260. package/dist/cdn/{4NALIU6Y.js → WCXR46D4.js} +1 -1
  261. package/dist/cdn/{2TR3Y7HD.js → WFIMYIS3.js} +1 -1
  262. package/dist/cdn/WQHJMFGP.js +2 -0
  263. package/dist/cdn/WXM3KMEV.js +7 -0
  264. package/dist/cdn/{OC2DD3AB.js → X52T6DJT.js} +1 -1
  265. package/dist/cdn/X65HFYH4.js +2 -0
  266. package/dist/cdn/XA3SV62A.js +2 -0
  267. package/dist/cdn/{3AQ7U2PF.js → XF5N3NI5.js} +1 -1
  268. package/dist/cdn/{AM5URNYD.js → XH6MM3RE.js} +1 -1
  269. package/dist/cdn/XHFFDKEQ.js +2 -0
  270. package/dist/cdn/{XVRRQMOP.js → XKEKXTL2.js} +1 -1
  271. package/dist/cdn/XM3SRZWV.js +2 -0
  272. package/dist/cdn/YCIKY6QN.js +2 -0
  273. package/dist/cdn/YGWYD3LU.js +3 -0
  274. package/dist/cdn/{3IHLJADI.js → YKB6256M.js} +1 -1
  275. package/dist/cdn/YM4U4HSN.js +2 -0
  276. package/dist/cdn/{JUUVYK2H.js → YQHYMLC7.js} +1 -1
  277. package/dist/cdn/{2BTU374O.js → YUKIKHOU.js} +1 -1
  278. package/dist/cdn/{W2ZZLJGQ.js → ZBX2SDO5.js} +1 -1
  279. package/dist/cdn/ZI7OWB5M.js +2 -0
  280. package/dist/cdn/{U6ALIHIC.js → ZNWZWFMH.js} +1 -1
  281. package/dist/cdn/ZPEVEBJD.js +121 -0
  282. package/dist/cdn/{DBHZRNFR.js → ZSO2PDMV.js} +1 -1
  283. package/dist/cdn/{G2ME4BAQ.js → ZX3UHK6P.js} +1 -1
  284. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ar.json +1 -1
  285. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bg.json +1 -1
  286. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bs.json +1 -1
  287. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ca.json +1 -1
  288. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.cs.json +1 -1
  289. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.da.json +1 -1
  290. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.de.json +1 -1
  291. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.el.json +1 -1
  292. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.en.json +1 -1
  293. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.es.json +1 -1
  294. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.et.json +1 -1
  295. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fi.json +1 -1
  296. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fr.json +1 -1
  297. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.he.json +1 -1
  298. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hr.json +1 -1
  299. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hu.json +1 -1
  300. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.id.json +1 -1
  301. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.it.json +1 -1
  302. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ja.json +1 -1
  303. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.json +1 -1
  304. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ko.json +1 -1
  305. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lt.json +1 -1
  306. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lv.json +1 -1
  307. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.nl.json +1 -1
  308. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.no.json +1 -1
  309. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pl.json +1 -1
  310. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-BR.json +1 -1
  311. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-PT.json +1 -1
  312. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ro.json +1 -1
  313. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ru.json +1 -1
  314. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sk.json +1 -1
  315. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sl.json +1 -1
  316. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sr.json +1 -1
  317. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sv.json +1 -1
  318. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.th.json +1 -1
  319. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.tr.json +1 -1
  320. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.uk.json +1 -1
  321. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.vi.json +1 -1
  322. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-CN.json +1 -1
  323. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-HK.json +1 -1
  324. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-TW.json +1 -1
  325. package/dist/cdn/assets/buffer-tools/t9n/messages.ar.json +1 -1
  326. package/dist/cdn/assets/buffer-tools/t9n/messages.bg.json +1 -1
  327. package/dist/cdn/assets/buffer-tools/t9n/messages.bs.json +1 -1
  328. package/dist/cdn/assets/buffer-tools/t9n/messages.ca.json +1 -1
  329. package/dist/cdn/assets/buffer-tools/t9n/messages.cs.json +1 -1
  330. package/dist/cdn/assets/buffer-tools/t9n/messages.da.json +1 -1
  331. package/dist/cdn/assets/buffer-tools/t9n/messages.de.json +1 -1
  332. package/dist/cdn/assets/buffer-tools/t9n/messages.el.json +1 -1
  333. package/dist/cdn/assets/buffer-tools/t9n/messages.en.json +1 -1
  334. package/dist/cdn/assets/buffer-tools/t9n/messages.es.json +1 -1
  335. package/dist/cdn/assets/buffer-tools/t9n/messages.et.json +1 -1
  336. package/dist/cdn/assets/buffer-tools/t9n/messages.fi.json +1 -1
  337. package/dist/cdn/assets/buffer-tools/t9n/messages.fr.json +1 -1
  338. package/dist/cdn/assets/buffer-tools/t9n/messages.he.json +1 -1
  339. package/dist/cdn/assets/buffer-tools/t9n/messages.hr.json +1 -1
  340. package/dist/cdn/assets/buffer-tools/t9n/messages.hu.json +1 -1
  341. package/dist/cdn/assets/buffer-tools/t9n/messages.id.json +1 -1
  342. package/dist/cdn/assets/buffer-tools/t9n/messages.it.json +1 -1
  343. package/dist/cdn/assets/buffer-tools/t9n/messages.ja.json +1 -1
  344. package/dist/cdn/assets/buffer-tools/t9n/messages.json +1 -1
  345. package/dist/cdn/assets/buffer-tools/t9n/messages.ko.json +1 -1
  346. package/dist/cdn/assets/buffer-tools/t9n/messages.lt.json +1 -1
  347. package/dist/cdn/assets/buffer-tools/t9n/messages.lv.json +1 -1
  348. package/dist/cdn/assets/buffer-tools/t9n/messages.nl.json +1 -1
  349. package/dist/cdn/assets/buffer-tools/t9n/messages.no.json +1 -1
  350. package/dist/cdn/assets/buffer-tools/t9n/messages.pl.json +1 -1
  351. package/dist/cdn/assets/buffer-tools/t9n/messages.pt-BR.json +1 -1
  352. package/dist/cdn/assets/buffer-tools/t9n/messages.pt-PT.json +1 -1
  353. package/dist/cdn/assets/buffer-tools/t9n/messages.ro.json +1 -1
  354. package/dist/cdn/assets/buffer-tools/t9n/messages.ru.json +1 -1
  355. package/dist/cdn/assets/buffer-tools/t9n/messages.sk.json +1 -1
  356. package/dist/cdn/assets/buffer-tools/t9n/messages.sl.json +1 -1
  357. package/dist/cdn/assets/buffer-tools/t9n/messages.sr.json +1 -1
  358. package/dist/cdn/assets/buffer-tools/t9n/messages.sv.json +1 -1
  359. package/dist/cdn/assets/buffer-tools/t9n/messages.th.json +1 -1
  360. package/dist/cdn/assets/buffer-tools/t9n/messages.tr.json +1 -1
  361. package/dist/cdn/assets/buffer-tools/t9n/messages.uk.json +1 -1
  362. package/dist/cdn/assets/buffer-tools/t9n/messages.vi.json +1 -1
  363. package/dist/cdn/assets/buffer-tools/t9n/messages.zh-CN.json +1 -1
  364. package/dist/cdn/assets/buffer-tools/t9n/messages.zh-HK.json +1 -1
  365. package/dist/cdn/assets/buffer-tools/t9n/messages.zh-TW.json +1 -1
  366. package/dist/cdn/assets/card-manager/t9n/messages.ar.json +1 -1
  367. package/dist/cdn/assets/card-manager/t9n/messages.bg.json +1 -1
  368. package/dist/cdn/assets/card-manager/t9n/messages.bs.json +1 -1
  369. package/dist/cdn/assets/card-manager/t9n/messages.ca.json +1 -1
  370. package/dist/cdn/assets/card-manager/t9n/messages.cs.json +1 -1
  371. package/dist/cdn/assets/card-manager/t9n/messages.da.json +1 -1
  372. package/dist/cdn/assets/card-manager/t9n/messages.de.json +1 -1
  373. package/dist/cdn/assets/card-manager/t9n/messages.el.json +1 -1
  374. package/dist/cdn/assets/card-manager/t9n/messages.en.json +1 -1
  375. package/dist/cdn/assets/card-manager/t9n/messages.es.json +1 -1
  376. package/dist/cdn/assets/card-manager/t9n/messages.et.json +1 -1
  377. package/dist/cdn/assets/card-manager/t9n/messages.fi.json +1 -1
  378. package/dist/cdn/assets/card-manager/t9n/messages.fr.json +1 -1
  379. package/dist/cdn/assets/card-manager/t9n/messages.he.json +1 -1
  380. package/dist/cdn/assets/card-manager/t9n/messages.hr.json +1 -1
  381. package/dist/cdn/assets/card-manager/t9n/messages.hu.json +1 -1
  382. package/dist/cdn/assets/card-manager/t9n/messages.id.json +1 -1
  383. package/dist/cdn/assets/card-manager/t9n/messages.it.json +1 -1
  384. package/dist/cdn/assets/card-manager/t9n/messages.ja.json +1 -1
  385. package/dist/cdn/assets/card-manager/t9n/messages.json +1 -1
  386. package/dist/cdn/assets/card-manager/t9n/messages.ko.json +1 -1
  387. package/dist/cdn/assets/card-manager/t9n/messages.lt.json +1 -1
  388. package/dist/cdn/assets/card-manager/t9n/messages.lv.json +1 -1
  389. package/dist/cdn/assets/card-manager/t9n/messages.nl.json +1 -1
  390. package/dist/cdn/assets/card-manager/t9n/messages.no.json +1 -1
  391. package/dist/cdn/assets/card-manager/t9n/messages.pl.json +1 -1
  392. package/dist/cdn/assets/card-manager/t9n/messages.pt-BR.json +1 -1
  393. package/dist/cdn/assets/card-manager/t9n/messages.pt-PT.json +1 -1
  394. package/dist/cdn/assets/card-manager/t9n/messages.ro.json +1 -1
  395. package/dist/cdn/assets/card-manager/t9n/messages.ru.json +1 -1
  396. package/dist/cdn/assets/card-manager/t9n/messages.sk.json +1 -1
  397. package/dist/cdn/assets/card-manager/t9n/messages.sl.json +1 -1
  398. package/dist/cdn/assets/card-manager/t9n/messages.sr.json +1 -1
  399. package/dist/cdn/assets/card-manager/t9n/messages.sv.json +1 -1
  400. package/dist/cdn/assets/card-manager/t9n/messages.th.json +1 -1
  401. package/dist/cdn/assets/card-manager/t9n/messages.tr.json +1 -1
  402. package/dist/cdn/assets/card-manager/t9n/messages.uk.json +1 -1
  403. package/dist/cdn/assets/card-manager/t9n/messages.vi.json +1 -1
  404. package/dist/cdn/assets/card-manager/t9n/messages.zh-CN.json +1 -1
  405. package/dist/cdn/assets/card-manager/t9n/messages.zh-HK.json +1 -1
  406. package/dist/cdn/assets/card-manager/t9n/messages.zh-TW.json +1 -1
  407. package/dist/cdn/assets/consent-manager/t9n/messages.de.json +1 -1
  408. package/dist/cdn/assets/create-feature/t9n/messages.ar.json +1 -1
  409. package/dist/cdn/assets/create-feature/t9n/messages.bg.json +1 -1
  410. package/dist/cdn/assets/create-feature/t9n/messages.bs.json +1 -1
  411. package/dist/cdn/assets/create-feature/t9n/messages.ca.json +1 -1
  412. package/dist/cdn/assets/create-feature/t9n/messages.cs.json +1 -1
  413. package/dist/cdn/assets/create-feature/t9n/messages.da.json +1 -1
  414. package/dist/cdn/assets/create-feature/t9n/messages.de.json +1 -1
  415. package/dist/cdn/assets/create-feature/t9n/messages.el.json +1 -1
  416. package/dist/cdn/assets/create-feature/t9n/messages.en.json +1 -1
  417. package/dist/cdn/assets/create-feature/t9n/messages.es.json +1 -1
  418. package/dist/cdn/assets/create-feature/t9n/messages.et.json +1 -1
  419. package/dist/cdn/assets/create-feature/t9n/messages.fi.json +1 -1
  420. package/dist/cdn/assets/create-feature/t9n/messages.fr.json +1 -1
  421. package/dist/cdn/assets/create-feature/t9n/messages.he.json +1 -1
  422. package/dist/cdn/assets/create-feature/t9n/messages.hr.json +1 -1
  423. package/dist/cdn/assets/create-feature/t9n/messages.hu.json +1 -1
  424. package/dist/cdn/assets/create-feature/t9n/messages.id.json +1 -1
  425. package/dist/cdn/assets/create-feature/t9n/messages.it.json +1 -1
  426. package/dist/cdn/assets/create-feature/t9n/messages.ja.json +1 -1
  427. package/dist/cdn/assets/create-feature/t9n/messages.json +1 -1
  428. package/dist/cdn/assets/create-feature/t9n/messages.ko.json +1 -1
  429. package/dist/cdn/assets/create-feature/t9n/messages.lt.json +1 -1
  430. package/dist/cdn/assets/create-feature/t9n/messages.lv.json +1 -1
  431. package/dist/cdn/assets/create-feature/t9n/messages.nl.json +1 -1
  432. package/dist/cdn/assets/create-feature/t9n/messages.no.json +1 -1
  433. package/dist/cdn/assets/create-feature/t9n/messages.pl.json +1 -1
  434. package/dist/cdn/assets/create-feature/t9n/messages.pt-BR.json +1 -1
  435. package/dist/cdn/assets/create-feature/t9n/messages.pt-PT.json +1 -1
  436. package/dist/cdn/assets/create-feature/t9n/messages.ro.json +1 -1
  437. package/dist/cdn/assets/create-feature/t9n/messages.ru.json +1 -1
  438. package/dist/cdn/assets/create-feature/t9n/messages.sk.json +1 -1
  439. package/dist/cdn/assets/create-feature/t9n/messages.sl.json +1 -1
  440. package/dist/cdn/assets/create-feature/t9n/messages.sr.json +1 -1
  441. package/dist/cdn/assets/create-feature/t9n/messages.sv.json +1 -1
  442. package/dist/cdn/assets/create-feature/t9n/messages.th.json +1 -1
  443. package/dist/cdn/assets/create-feature/t9n/messages.tr.json +1 -1
  444. package/dist/cdn/assets/create-feature/t9n/messages.uk.json +1 -1
  445. package/dist/cdn/assets/create-feature/t9n/messages.vi.json +1 -1
  446. package/dist/cdn/assets/create-feature/t9n/messages.zh-CN.json +1 -1
  447. package/dist/cdn/assets/create-feature/t9n/messages.zh-HK.json +1 -1
  448. package/dist/cdn/assets/create-feature/t9n/messages.zh-TW.json +1 -1
  449. package/dist/cdn/assets/create-related-feature/t9n/messages.ar.json +1 -1
  450. package/dist/cdn/assets/create-related-feature/t9n/messages.bg.json +1 -1
  451. package/dist/cdn/assets/create-related-feature/t9n/messages.bs.json +1 -1
  452. package/dist/cdn/assets/create-related-feature/t9n/messages.ca.json +1 -1
  453. package/dist/cdn/assets/create-related-feature/t9n/messages.cs.json +1 -1
  454. package/dist/cdn/assets/create-related-feature/t9n/messages.da.json +1 -1
  455. package/dist/cdn/assets/create-related-feature/t9n/messages.de.json +1 -1
  456. package/dist/cdn/assets/create-related-feature/t9n/messages.el.json +1 -1
  457. package/dist/cdn/assets/create-related-feature/t9n/messages.en.json +1 -1
  458. package/dist/cdn/assets/create-related-feature/t9n/messages.es.json +1 -1
  459. package/dist/cdn/assets/create-related-feature/t9n/messages.et.json +1 -1
  460. package/dist/cdn/assets/create-related-feature/t9n/messages.fi.json +1 -1
  461. package/dist/cdn/assets/create-related-feature/t9n/messages.fr.json +1 -1
  462. package/dist/cdn/assets/create-related-feature/t9n/messages.he.json +1 -1
  463. package/dist/cdn/assets/create-related-feature/t9n/messages.hr.json +1 -1
  464. package/dist/cdn/assets/create-related-feature/t9n/messages.hu.json +1 -1
  465. package/dist/cdn/assets/create-related-feature/t9n/messages.id.json +1 -1
  466. package/dist/cdn/assets/create-related-feature/t9n/messages.it.json +1 -1
  467. package/dist/cdn/assets/create-related-feature/t9n/messages.ja.json +1 -1
  468. package/dist/cdn/assets/create-related-feature/t9n/messages.json +1 -1
  469. package/dist/cdn/assets/create-related-feature/t9n/messages.ko.json +1 -1
  470. package/dist/cdn/assets/create-related-feature/t9n/messages.lt.json +1 -1
  471. package/dist/cdn/assets/create-related-feature/t9n/messages.lv.json +1 -1
  472. package/dist/cdn/assets/create-related-feature/t9n/messages.nl.json +1 -1
  473. package/dist/cdn/assets/create-related-feature/t9n/messages.no.json +1 -1
  474. package/dist/cdn/assets/create-related-feature/t9n/messages.pl.json +1 -1
  475. package/dist/cdn/assets/create-related-feature/t9n/messages.pt-BR.json +1 -1
  476. package/dist/cdn/assets/create-related-feature/t9n/messages.pt-PT.json +1 -1
  477. package/dist/cdn/assets/create-related-feature/t9n/messages.ro.json +1 -1
  478. package/dist/cdn/assets/create-related-feature/t9n/messages.ru.json +1 -1
  479. package/dist/cdn/assets/create-related-feature/t9n/messages.sk.json +1 -1
  480. package/dist/cdn/assets/create-related-feature/t9n/messages.sl.json +1 -1
  481. package/dist/cdn/assets/create-related-feature/t9n/messages.sr.json +1 -1
  482. package/dist/cdn/assets/create-related-feature/t9n/messages.sv.json +1 -1
  483. package/dist/cdn/assets/create-related-feature/t9n/messages.th.json +1 -1
  484. package/dist/cdn/assets/create-related-feature/t9n/messages.tr.json +1 -1
  485. package/dist/cdn/assets/create-related-feature/t9n/messages.uk.json +1 -1
  486. package/dist/cdn/assets/create-related-feature/t9n/messages.vi.json +1 -1
  487. package/dist/cdn/assets/create-related-feature/t9n/messages.zh-CN.json +1 -1
  488. package/dist/cdn/assets/create-related-feature/t9n/messages.zh-HK.json +1 -1
  489. package/dist/cdn/assets/create-related-feature/t9n/messages.zh-TW.json +1 -1
  490. package/dist/cdn/assets/crowdsource-manager/t9n/messages.ar.json +1 -1
  491. package/dist/cdn/assets/crowdsource-manager/t9n/messages.bg.json +1 -1
  492. package/dist/cdn/assets/crowdsource-manager/t9n/messages.bs.json +1 -1
  493. package/dist/cdn/assets/crowdsource-manager/t9n/messages.ca.json +1 -1
  494. package/dist/cdn/assets/crowdsource-manager/t9n/messages.cs.json +1 -1
  495. package/dist/cdn/assets/crowdsource-manager/t9n/messages.da.json +1 -1
  496. package/dist/cdn/assets/crowdsource-manager/t9n/messages.de.json +1 -1
  497. package/dist/cdn/assets/crowdsource-manager/t9n/messages.el.json +1 -1
  498. package/dist/cdn/assets/crowdsource-manager/t9n/messages.en.json +1 -1
  499. package/dist/cdn/assets/crowdsource-manager/t9n/messages.es.json +1 -1
  500. package/dist/cdn/assets/crowdsource-manager/t9n/messages.et.json +1 -1
  501. package/dist/cdn/assets/crowdsource-manager/t9n/messages.fi.json +1 -1
  502. package/dist/cdn/assets/crowdsource-manager/t9n/messages.fr.json +1 -1
  503. package/dist/cdn/assets/crowdsource-manager/t9n/messages.he.json +1 -1
  504. package/dist/cdn/assets/crowdsource-manager/t9n/messages.hr.json +1 -1
  505. package/dist/cdn/assets/crowdsource-manager/t9n/messages.hu.json +1 -1
  506. package/dist/cdn/assets/crowdsource-manager/t9n/messages.id.json +1 -1
  507. package/dist/cdn/assets/crowdsource-manager/t9n/messages.it.json +1 -1
  508. package/dist/cdn/assets/crowdsource-manager/t9n/messages.ja.json +1 -1
  509. package/dist/cdn/assets/crowdsource-manager/t9n/messages.json +1 -1
  510. package/dist/cdn/assets/crowdsource-manager/t9n/messages.ko.json +1 -1
  511. package/dist/cdn/assets/crowdsource-manager/t9n/messages.lt.json +1 -1
  512. package/dist/cdn/assets/crowdsource-manager/t9n/messages.lv.json +1 -1
  513. package/dist/cdn/assets/crowdsource-manager/t9n/messages.nl.json +1 -1
  514. package/dist/cdn/assets/crowdsource-manager/t9n/messages.no.json +1 -1
  515. package/dist/cdn/assets/crowdsource-manager/t9n/messages.pl.json +1 -1
  516. package/dist/cdn/assets/crowdsource-manager/t9n/messages.pt-BR.json +1 -1
  517. package/dist/cdn/assets/crowdsource-manager/t9n/messages.pt-PT.json +1 -1
  518. package/dist/cdn/assets/crowdsource-manager/t9n/messages.ro.json +1 -1
  519. package/dist/cdn/assets/crowdsource-manager/t9n/messages.ru.json +1 -1
  520. package/dist/cdn/assets/crowdsource-manager/t9n/messages.sk.json +1 -1
  521. package/dist/cdn/assets/crowdsource-manager/t9n/messages.sl.json +1 -1
  522. package/dist/cdn/assets/crowdsource-manager/t9n/messages.sr.json +1 -1
  523. package/dist/cdn/assets/crowdsource-manager/t9n/messages.sv.json +1 -1
  524. package/dist/cdn/assets/crowdsource-manager/t9n/messages.th.json +1 -1
  525. package/dist/cdn/assets/crowdsource-manager/t9n/messages.tr.json +1 -1
  526. package/dist/cdn/assets/crowdsource-manager/t9n/messages.uk.json +1 -1
  527. package/dist/cdn/assets/crowdsource-manager/t9n/messages.vi.json +1 -1
  528. package/dist/cdn/assets/crowdsource-manager/t9n/messages.zh-CN.json +1 -1
  529. package/dist/cdn/assets/crowdsource-manager/t9n/messages.zh-HK.json +1 -1
  530. package/dist/cdn/assets/crowdsource-manager/t9n/messages.zh-TW.json +1 -1
  531. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ar.json +1 -1
  532. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.bg.json +1 -1
  533. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.bs.json +1 -1
  534. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ca.json +1 -1
  535. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.cs.json +1 -1
  536. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.da.json +1 -1
  537. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.de.json +1 -1
  538. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.el.json +1 -1
  539. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.en.json +1 -1
  540. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.es.json +1 -1
  541. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.et.json +1 -1
  542. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.fi.json +1 -1
  543. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.fr.json +1 -1
  544. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.he.json +1 -1
  545. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.hr.json +1 -1
  546. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.hu.json +1 -1
  547. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.id.json +1 -1
  548. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.it.json +1 -1
  549. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ja.json +1 -1
  550. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.json +1 -1
  551. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ko.json +1 -1
  552. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.lt.json +1 -1
  553. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.lv.json +1 -1
  554. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.nl.json +1 -1
  555. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.no.json +1 -1
  556. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pl.json +1 -1
  557. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pt-BR.json +1 -1
  558. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pt-PT.json +1 -1
  559. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ro.json +1 -1
  560. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ru.json +1 -1
  561. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sk.json +1 -1
  562. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sl.json +1 -1
  563. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sr.json +1 -1
  564. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sv.json +1 -1
  565. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.th.json +1 -1
  566. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.tr.json +1 -1
  567. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.uk.json +1 -1
  568. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.vi.json +1 -1
  569. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-CN.json +1 -1
  570. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-HK.json +1 -1
  571. package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-TW.json +1 -1
  572. package/dist/cdn/assets/edit-card/t9n/messages.ar.json +1 -1
  573. package/dist/cdn/assets/edit-card/t9n/messages.bg.json +1 -1
  574. package/dist/cdn/assets/edit-card/t9n/messages.bs.json +1 -1
  575. package/dist/cdn/assets/edit-card/t9n/messages.ca.json +1 -1
  576. package/dist/cdn/assets/edit-card/t9n/messages.cs.json +1 -1
  577. package/dist/cdn/assets/edit-card/t9n/messages.da.json +1 -1
  578. package/dist/cdn/assets/edit-card/t9n/messages.de.json +1 -1
  579. package/dist/cdn/assets/edit-card/t9n/messages.el.json +1 -1
  580. package/dist/cdn/assets/edit-card/t9n/messages.en.json +1 -1
  581. package/dist/cdn/assets/edit-card/t9n/messages.es.json +1 -1
  582. package/dist/cdn/assets/edit-card/t9n/messages.et.json +1 -1
  583. package/dist/cdn/assets/edit-card/t9n/messages.fi.json +1 -1
  584. package/dist/cdn/assets/edit-card/t9n/messages.fr.json +1 -1
  585. package/dist/cdn/assets/edit-card/t9n/messages.he.json +1 -1
  586. package/dist/cdn/assets/edit-card/t9n/messages.hr.json +1 -1
  587. package/dist/cdn/assets/edit-card/t9n/messages.hu.json +1 -1
  588. package/dist/cdn/assets/edit-card/t9n/messages.id.json +1 -1
  589. package/dist/cdn/assets/edit-card/t9n/messages.it.json +1 -1
  590. package/dist/cdn/assets/edit-card/t9n/messages.ja.json +1 -1
  591. package/dist/cdn/assets/edit-card/t9n/messages.json +1 -1
  592. package/dist/cdn/assets/edit-card/t9n/messages.ko.json +1 -1
  593. package/dist/cdn/assets/edit-card/t9n/messages.lt.json +1 -1
  594. package/dist/cdn/assets/edit-card/t9n/messages.lv.json +1 -1
  595. package/dist/cdn/assets/edit-card/t9n/messages.nl.json +1 -1
  596. package/dist/cdn/assets/edit-card/t9n/messages.no.json +1 -1
  597. package/dist/cdn/assets/edit-card/t9n/messages.pl.json +1 -1
  598. package/dist/cdn/assets/edit-card/t9n/messages.pt-BR.json +1 -1
  599. package/dist/cdn/assets/edit-card/t9n/messages.pt-PT.json +1 -1
  600. package/dist/cdn/assets/edit-card/t9n/messages.ro.json +1 -1
  601. package/dist/cdn/assets/edit-card/t9n/messages.ru.json +1 -1
  602. package/dist/cdn/assets/edit-card/t9n/messages.sk.json +1 -1
  603. package/dist/cdn/assets/edit-card/t9n/messages.sl.json +1 -1
  604. package/dist/cdn/assets/edit-card/t9n/messages.sr.json +1 -1
  605. package/dist/cdn/assets/edit-card/t9n/messages.sv.json +1 -1
  606. package/dist/cdn/assets/edit-card/t9n/messages.th.json +1 -1
  607. package/dist/cdn/assets/edit-card/t9n/messages.tr.json +1 -1
  608. package/dist/cdn/assets/edit-card/t9n/messages.uk.json +1 -1
  609. package/dist/cdn/assets/edit-card/t9n/messages.vi.json +1 -1
  610. package/dist/cdn/assets/edit-card/t9n/messages.zh-CN.json +1 -1
  611. package/dist/cdn/assets/edit-card/t9n/messages.zh-HK.json +1 -1
  612. package/dist/cdn/assets/edit-card/t9n/messages.zh-TW.json +1 -1
  613. package/dist/cdn/assets/field-selection/t9n/messages.no.json +1 -1
  614. package/dist/cdn/assets/info-card/t9n/messages.ar.json +1 -1
  615. package/dist/cdn/assets/info-card/t9n/messages.bg.json +1 -1
  616. package/dist/cdn/assets/info-card/t9n/messages.bs.json +1 -1
  617. package/dist/cdn/assets/info-card/t9n/messages.ca.json +1 -1
  618. package/dist/cdn/assets/info-card/t9n/messages.cs.json +1 -1
  619. package/dist/cdn/assets/info-card/t9n/messages.da.json +1 -1
  620. package/dist/cdn/assets/info-card/t9n/messages.de.json +1 -1
  621. package/dist/cdn/assets/info-card/t9n/messages.el.json +1 -1
  622. package/dist/cdn/assets/info-card/t9n/messages.en.json +1 -1
  623. package/dist/cdn/assets/info-card/t9n/messages.es.json +1 -1
  624. package/dist/cdn/assets/info-card/t9n/messages.et.json +1 -1
  625. package/dist/cdn/assets/info-card/t9n/messages.fi.json +1 -1
  626. package/dist/cdn/assets/info-card/t9n/messages.fr.json +1 -1
  627. package/dist/cdn/assets/info-card/t9n/messages.he.json +1 -1
  628. package/dist/cdn/assets/info-card/t9n/messages.hr.json +1 -1
  629. package/dist/cdn/assets/info-card/t9n/messages.hu.json +1 -1
  630. package/dist/cdn/assets/info-card/t9n/messages.id.json +1 -1
  631. package/dist/cdn/assets/info-card/t9n/messages.it.json +1 -1
  632. package/dist/cdn/assets/info-card/t9n/messages.ja.json +1 -1
  633. package/dist/cdn/assets/info-card/t9n/messages.json +1 -1
  634. package/dist/cdn/assets/info-card/t9n/messages.ko.json +1 -1
  635. package/dist/cdn/assets/info-card/t9n/messages.lt.json +1 -1
  636. package/dist/cdn/assets/info-card/t9n/messages.lv.json +1 -1
  637. package/dist/cdn/assets/info-card/t9n/messages.nl.json +1 -1
  638. package/dist/cdn/assets/info-card/t9n/messages.no.json +1 -1
  639. package/dist/cdn/assets/info-card/t9n/messages.pl.json +1 -1
  640. package/dist/cdn/assets/info-card/t9n/messages.pt-BR.json +1 -1
  641. package/dist/cdn/assets/info-card/t9n/messages.pt-PT.json +1 -1
  642. package/dist/cdn/assets/info-card/t9n/messages.ro.json +1 -1
  643. package/dist/cdn/assets/info-card/t9n/messages.ru.json +1 -1
  644. package/dist/cdn/assets/info-card/t9n/messages.sk.json +1 -1
  645. package/dist/cdn/assets/info-card/t9n/messages.sl.json +1 -1
  646. package/dist/cdn/assets/info-card/t9n/messages.sr.json +1 -1
  647. package/dist/cdn/assets/info-card/t9n/messages.sv.json +1 -1
  648. package/dist/cdn/assets/info-card/t9n/messages.th.json +1 -1
  649. package/dist/cdn/assets/info-card/t9n/messages.tr.json +1 -1
  650. package/dist/cdn/assets/info-card/t9n/messages.uk.json +1 -1
  651. package/dist/cdn/assets/info-card/t9n/messages.vi.json +1 -1
  652. package/dist/cdn/assets/info-card/t9n/messages.zh-CN.json +1 -1
  653. package/dist/cdn/assets/info-card/t9n/messages.zh-HK.json +1 -1
  654. package/dist/cdn/assets/info-card/t9n/messages.zh-TW.json +1 -1
  655. package/dist/cdn/assets/layer-table/t9n/messages.ar.json +1 -1
  656. package/dist/cdn/assets/layer-table/t9n/messages.bg.json +1 -1
  657. package/dist/cdn/assets/layer-table/t9n/messages.bs.json +1 -1
  658. package/dist/cdn/assets/layer-table/t9n/messages.ca.json +1 -1
  659. package/dist/cdn/assets/layer-table/t9n/messages.cs.json +1 -1
  660. package/dist/cdn/assets/layer-table/t9n/messages.da.json +1 -1
  661. package/dist/cdn/assets/layer-table/t9n/messages.de.json +1 -1
  662. package/dist/cdn/assets/layer-table/t9n/messages.el.json +1 -1
  663. package/dist/cdn/assets/layer-table/t9n/messages.en.json +1 -1
  664. package/dist/cdn/assets/layer-table/t9n/messages.es.json +1 -1
  665. package/dist/cdn/assets/layer-table/t9n/messages.et.json +1 -1
  666. package/dist/cdn/assets/layer-table/t9n/messages.fi.json +1 -1
  667. package/dist/cdn/assets/layer-table/t9n/messages.fr.json +1 -1
  668. package/dist/cdn/assets/layer-table/t9n/messages.he.json +1 -1
  669. package/dist/cdn/assets/layer-table/t9n/messages.hr.json +1 -1
  670. package/dist/cdn/assets/layer-table/t9n/messages.hu.json +1 -1
  671. package/dist/cdn/assets/layer-table/t9n/messages.id.json +1 -1
  672. package/dist/cdn/assets/layer-table/t9n/messages.it.json +1 -1
  673. package/dist/cdn/assets/layer-table/t9n/messages.ja.json +1 -1
  674. package/dist/cdn/assets/layer-table/t9n/messages.json +1 -1
  675. package/dist/cdn/assets/layer-table/t9n/messages.ko.json +1 -1
  676. package/dist/cdn/assets/layer-table/t9n/messages.lt.json +1 -1
  677. package/dist/cdn/assets/layer-table/t9n/messages.lv.json +1 -1
  678. package/dist/cdn/assets/layer-table/t9n/messages.nl.json +1 -1
  679. package/dist/cdn/assets/layer-table/t9n/messages.no.json +1 -1
  680. package/dist/cdn/assets/layer-table/t9n/messages.pl.json +1 -1
  681. package/dist/cdn/assets/layer-table/t9n/messages.pt-BR.json +1 -1
  682. package/dist/cdn/assets/layer-table/t9n/messages.pt-PT.json +1 -1
  683. package/dist/cdn/assets/layer-table/t9n/messages.ro.json +1 -1
  684. package/dist/cdn/assets/layer-table/t9n/messages.ru.json +1 -1
  685. package/dist/cdn/assets/layer-table/t9n/messages.sk.json +1 -1
  686. package/dist/cdn/assets/layer-table/t9n/messages.sl.json +1 -1
  687. package/dist/cdn/assets/layer-table/t9n/messages.sr.json +1 -1
  688. package/dist/cdn/assets/layer-table/t9n/messages.sv.json +1 -1
  689. package/dist/cdn/assets/layer-table/t9n/messages.th.json +1 -1
  690. package/dist/cdn/assets/layer-table/t9n/messages.tr.json +1 -1
  691. package/dist/cdn/assets/layer-table/t9n/messages.uk.json +1 -1
  692. package/dist/cdn/assets/layer-table/t9n/messages.vi.json +1 -1
  693. package/dist/cdn/assets/layer-table/t9n/messages.zh-CN.json +1 -1
  694. package/dist/cdn/assets/layer-table/t9n/messages.zh-HK.json +1 -1
  695. package/dist/cdn/assets/layer-table/t9n/messages.zh-TW.json +1 -1
  696. package/dist/cdn/assets/map-card/t9n/messages.ar.json +1 -1
  697. package/dist/cdn/assets/map-card/t9n/messages.bg.json +1 -1
  698. package/dist/cdn/assets/map-card/t9n/messages.bs.json +1 -1
  699. package/dist/cdn/assets/map-card/t9n/messages.ca.json +1 -1
  700. package/dist/cdn/assets/map-card/t9n/messages.cs.json +1 -1
  701. package/dist/cdn/assets/map-card/t9n/messages.da.json +1 -1
  702. package/dist/cdn/assets/map-card/t9n/messages.de.json +1 -1
  703. package/dist/cdn/assets/map-card/t9n/messages.el.json +1 -1
  704. package/dist/cdn/assets/map-card/t9n/messages.en.json +1 -1
  705. package/dist/cdn/assets/map-card/t9n/messages.es.json +1 -1
  706. package/dist/cdn/assets/map-card/t9n/messages.et.json +1 -1
  707. package/dist/cdn/assets/map-card/t9n/messages.fi.json +1 -1
  708. package/dist/cdn/assets/map-card/t9n/messages.fr.json +1 -1
  709. package/dist/cdn/assets/map-card/t9n/messages.he.json +1 -1
  710. package/dist/cdn/assets/map-card/t9n/messages.hr.json +1 -1
  711. package/dist/cdn/assets/map-card/t9n/messages.hu.json +1 -1
  712. package/dist/cdn/assets/map-card/t9n/messages.id.json +1 -1
  713. package/dist/cdn/assets/map-card/t9n/messages.it.json +1 -1
  714. package/dist/cdn/assets/map-card/t9n/messages.ja.json +1 -1
  715. package/dist/cdn/assets/map-card/t9n/messages.json +1 -1
  716. package/dist/cdn/assets/map-card/t9n/messages.ko.json +1 -1
  717. package/dist/cdn/assets/map-card/t9n/messages.lt.json +1 -1
  718. package/dist/cdn/assets/map-card/t9n/messages.lv.json +1 -1
  719. package/dist/cdn/assets/map-card/t9n/messages.nl.json +1 -1
  720. package/dist/cdn/assets/map-card/t9n/messages.no.json +1 -1
  721. package/dist/cdn/assets/map-card/t9n/messages.pl.json +1 -1
  722. package/dist/cdn/assets/map-card/t9n/messages.pt-BR.json +1 -1
  723. package/dist/cdn/assets/map-card/t9n/messages.pt-PT.json +1 -1
  724. package/dist/cdn/assets/map-card/t9n/messages.ro.json +1 -1
  725. package/dist/cdn/assets/map-card/t9n/messages.ru.json +1 -1
  726. package/dist/cdn/assets/map-card/t9n/messages.sk.json +1 -1
  727. package/dist/cdn/assets/map-card/t9n/messages.sl.json +1 -1
  728. package/dist/cdn/assets/map-card/t9n/messages.sr.json +1 -1
  729. package/dist/cdn/assets/map-card/t9n/messages.sv.json +1 -1
  730. package/dist/cdn/assets/map-card/t9n/messages.th.json +1 -1
  731. package/dist/cdn/assets/map-card/t9n/messages.tr.json +1 -1
  732. package/dist/cdn/assets/map-card/t9n/messages.uk.json +1 -1
  733. package/dist/cdn/assets/map-card/t9n/messages.vi.json +1 -1
  734. package/dist/cdn/assets/map-card/t9n/messages.zh-CN.json +1 -1
  735. package/dist/cdn/assets/map-card/t9n/messages.zh-HK.json +1 -1
  736. package/dist/cdn/assets/map-card/t9n/messages.zh-TW.json +1 -1
  737. package/dist/cdn/assets/map-picker/t9n/messages.ar.json +1 -1
  738. package/dist/cdn/assets/map-picker/t9n/messages.bg.json +1 -1
  739. package/dist/cdn/assets/map-picker/t9n/messages.bs.json +1 -1
  740. package/dist/cdn/assets/map-picker/t9n/messages.ca.json +1 -1
  741. package/dist/cdn/assets/map-picker/t9n/messages.cs.json +1 -1
  742. package/dist/cdn/assets/map-picker/t9n/messages.da.json +1 -1
  743. package/dist/cdn/assets/map-picker/t9n/messages.de.json +1 -1
  744. package/dist/cdn/assets/map-picker/t9n/messages.el.json +1 -1
  745. package/dist/cdn/assets/map-picker/t9n/messages.en.json +1 -1
  746. package/dist/cdn/assets/map-picker/t9n/messages.es.json +1 -1
  747. package/dist/cdn/assets/map-picker/t9n/messages.et.json +1 -1
  748. package/dist/cdn/assets/map-picker/t9n/messages.fi.json +1 -1
  749. package/dist/cdn/assets/map-picker/t9n/messages.fr.json +1 -1
  750. package/dist/cdn/assets/map-picker/t9n/messages.he.json +1 -1
  751. package/dist/cdn/assets/map-picker/t9n/messages.hr.json +1 -1
  752. package/dist/cdn/assets/map-picker/t9n/messages.hu.json +1 -1
  753. package/dist/cdn/assets/map-picker/t9n/messages.id.json +1 -1
  754. package/dist/cdn/assets/map-picker/t9n/messages.it.json +1 -1
  755. package/dist/cdn/assets/map-picker/t9n/messages.ja.json +1 -1
  756. package/dist/cdn/assets/map-picker/t9n/messages.json +1 -1
  757. package/dist/cdn/assets/map-picker/t9n/messages.ko.json +1 -1
  758. package/dist/cdn/assets/map-picker/t9n/messages.lt.json +1 -1
  759. package/dist/cdn/assets/map-picker/t9n/messages.lv.json +1 -1
  760. package/dist/cdn/assets/map-picker/t9n/messages.nl.json +1 -1
  761. package/dist/cdn/assets/map-picker/t9n/messages.no.json +1 -1
  762. package/dist/cdn/assets/map-picker/t9n/messages.pl.json +1 -1
  763. package/dist/cdn/assets/map-picker/t9n/messages.pt-BR.json +1 -1
  764. package/dist/cdn/assets/map-picker/t9n/messages.pt-PT.json +1 -1
  765. package/dist/cdn/assets/map-picker/t9n/messages.ro.json +1 -1
  766. package/dist/cdn/assets/map-picker/t9n/messages.ru.json +1 -1
  767. package/dist/cdn/assets/map-picker/t9n/messages.sk.json +1 -1
  768. package/dist/cdn/assets/map-picker/t9n/messages.sl.json +1 -1
  769. package/dist/cdn/assets/map-picker/t9n/messages.sr.json +1 -1
  770. package/dist/cdn/assets/map-picker/t9n/messages.sv.json +1 -1
  771. package/dist/cdn/assets/map-picker/t9n/messages.th.json +1 -1
  772. package/dist/cdn/assets/map-picker/t9n/messages.tr.json +1 -1
  773. package/dist/cdn/assets/map-picker/t9n/messages.uk.json +1 -1
  774. package/dist/cdn/assets/map-picker/t9n/messages.vi.json +1 -1
  775. package/dist/cdn/assets/map-picker/t9n/messages.zh-CN.json +1 -1
  776. package/dist/cdn/assets/map-picker/t9n/messages.zh-HK.json +1 -1
  777. package/dist/cdn/assets/map-picker/t9n/messages.zh-TW.json +1 -1
  778. package/dist/cdn/assets/solution-builder-assistant/images/conduct-field-inspections.png +0 -0
  779. package/dist/cdn/assets/solution-builder-assistant/images/locate-points-of-interest.png +0 -0
  780. package/dist/cdn/assets/solution-builder-assistant/images/manage-spatial-data.png +0 -0
  781. package/dist/cdn/assets/solution-builder-assistant/images/solutions-builder-draft-thumbnail.png +0 -0
  782. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -0
  783. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -0
  784. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -0
  785. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -0
  786. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -0
  787. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -0
  788. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -0
  789. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -0
  790. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -0
  791. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -0
  792. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -0
  793. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -0
  794. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -0
  795. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -0
  796. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -0
  797. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -0
  798. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -0
  799. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -0
  800. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -0
  801. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -0
  802. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -0
  803. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -0
  804. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -0
  805. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -0
  806. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -0
  807. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -0
  808. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -0
  809. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -0
  810. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -0
  811. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -0
  812. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -0
  813. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -0
  814. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -0
  815. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -0
  816. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -0
  817. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -0
  818. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -0
  819. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -0
  820. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -0
  821. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -0
  822. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -0
  823. package/dist/cdn/assets/solution-configure-titles/t9n/messages.ar.json +1 -1
  824. package/dist/cdn/assets/solution-configure-titles/t9n/messages.bg.json +1 -1
  825. package/dist/cdn/assets/solution-configure-titles/t9n/messages.bs.json +1 -1
  826. package/dist/cdn/assets/solution-configure-titles/t9n/messages.ca.json +1 -1
  827. package/dist/cdn/assets/solution-configure-titles/t9n/messages.cs.json +1 -1
  828. package/dist/cdn/assets/solution-configure-titles/t9n/messages.da.json +1 -1
  829. package/dist/cdn/assets/solution-configure-titles/t9n/messages.de.json +1 -1
  830. package/dist/cdn/assets/solution-configure-titles/t9n/messages.el.json +1 -1
  831. package/dist/cdn/assets/solution-configure-titles/t9n/messages.en.json +1 -1
  832. package/dist/cdn/assets/solution-configure-titles/t9n/messages.es.json +1 -1
  833. package/dist/cdn/assets/solution-configure-titles/t9n/messages.et.json +1 -1
  834. package/dist/cdn/assets/solution-configure-titles/t9n/messages.fi.json +1 -1
  835. package/dist/cdn/assets/solution-configure-titles/t9n/messages.fr.json +1 -1
  836. package/dist/cdn/assets/solution-configure-titles/t9n/messages.he.json +1 -1
  837. package/dist/cdn/assets/solution-configure-titles/t9n/messages.hr.json +1 -1
  838. package/dist/cdn/assets/solution-configure-titles/t9n/messages.hu.json +1 -1
  839. package/dist/cdn/assets/solution-configure-titles/t9n/messages.id.json +1 -1
  840. package/dist/cdn/assets/solution-configure-titles/t9n/messages.it.json +1 -1
  841. package/dist/cdn/assets/solution-configure-titles/t9n/messages.ja.json +1 -1
  842. package/dist/cdn/assets/solution-configure-titles/t9n/messages.json +1 -1
  843. package/dist/cdn/assets/solution-configure-titles/t9n/messages.ko.json +1 -1
  844. package/dist/cdn/assets/solution-configure-titles/t9n/messages.lt.json +1 -1
  845. package/dist/cdn/assets/solution-configure-titles/t9n/messages.lv.json +1 -1
  846. package/dist/cdn/assets/solution-configure-titles/t9n/messages.nl.json +1 -1
  847. package/dist/cdn/assets/solution-configure-titles/t9n/messages.no.json +1 -1
  848. package/dist/cdn/assets/solution-configure-titles/t9n/messages.pl.json +1 -1
  849. package/dist/cdn/assets/solution-configure-titles/t9n/messages.pt-BR.json +1 -1
  850. package/dist/cdn/assets/solution-configure-titles/t9n/messages.pt-PT.json +1 -1
  851. package/dist/cdn/assets/solution-configure-titles/t9n/messages.ro.json +1 -1
  852. package/dist/cdn/assets/solution-configure-titles/t9n/messages.ru.json +1 -1
  853. package/dist/cdn/assets/solution-configure-titles/t9n/messages.sk.json +1 -1
  854. package/dist/cdn/assets/solution-configure-titles/t9n/messages.sl.json +1 -1
  855. package/dist/cdn/assets/solution-configure-titles/t9n/messages.sr.json +1 -1
  856. package/dist/cdn/assets/solution-configure-titles/t9n/messages.sv.json +1 -1
  857. package/dist/cdn/assets/solution-configure-titles/t9n/messages.th.json +1 -1
  858. package/dist/cdn/assets/solution-configure-titles/t9n/messages.tr.json +1 -1
  859. package/dist/cdn/assets/solution-configure-titles/t9n/messages.uk.json +1 -1
  860. package/dist/cdn/assets/solution-configure-titles/t9n/messages.vi.json +1 -1
  861. package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-CN.json +1 -1
  862. package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-HK.json +1 -1
  863. package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-TW.json +1 -1
  864. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ar.json +1 -1
  865. package/dist/cdn/assets/solution-deployed-card/t9n/messages.bg.json +1 -1
  866. package/dist/cdn/assets/solution-deployed-card/t9n/messages.bs.json +1 -1
  867. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ca.json +1 -1
  868. package/dist/cdn/assets/solution-deployed-card/t9n/messages.cs.json +1 -1
  869. package/dist/cdn/assets/solution-deployed-card/t9n/messages.da.json +1 -1
  870. package/dist/cdn/assets/solution-deployed-card/t9n/messages.de.json +1 -1
  871. package/dist/cdn/assets/solution-deployed-card/t9n/messages.el.json +1 -1
  872. package/dist/cdn/assets/solution-deployed-card/t9n/messages.en.json +1 -1
  873. package/dist/cdn/assets/solution-deployed-card/t9n/messages.es.json +1 -1
  874. package/dist/cdn/assets/solution-deployed-card/t9n/messages.et.json +1 -1
  875. package/dist/cdn/assets/solution-deployed-card/t9n/messages.fi.json +1 -1
  876. package/dist/cdn/assets/solution-deployed-card/t9n/messages.fr.json +1 -1
  877. package/dist/cdn/assets/solution-deployed-card/t9n/messages.he.json +1 -1
  878. package/dist/cdn/assets/solution-deployed-card/t9n/messages.hr.json +1 -1
  879. package/dist/cdn/assets/solution-deployed-card/t9n/messages.hu.json +1 -1
  880. package/dist/cdn/assets/solution-deployed-card/t9n/messages.id.json +1 -1
  881. package/dist/cdn/assets/solution-deployed-card/t9n/messages.it.json +1 -1
  882. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ja.json +1 -1
  883. package/dist/cdn/assets/solution-deployed-card/t9n/messages.json +1 -1
  884. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ko.json +1 -1
  885. package/dist/cdn/assets/solution-deployed-card/t9n/messages.lt.json +1 -1
  886. package/dist/cdn/assets/solution-deployed-card/t9n/messages.lv.json +1 -1
  887. package/dist/cdn/assets/solution-deployed-card/t9n/messages.nl.json +1 -1
  888. package/dist/cdn/assets/solution-deployed-card/t9n/messages.no.json +1 -1
  889. package/dist/cdn/assets/solution-deployed-card/t9n/messages.pl.json +1 -1
  890. package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-BR.json +1 -1
  891. package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-PT.json +1 -1
  892. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ro.json +1 -1
  893. package/dist/cdn/assets/solution-deployed-card/t9n/messages.ru.json +1 -1
  894. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sk.json +1 -1
  895. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sl.json +1 -1
  896. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sr.json +1 -1
  897. package/dist/cdn/assets/solution-deployed-card/t9n/messages.sv.json +1 -1
  898. package/dist/cdn/assets/solution-deployed-card/t9n/messages.th.json +1 -1
  899. package/dist/cdn/assets/solution-deployed-card/t9n/messages.tr.json +1 -1
  900. package/dist/cdn/assets/solution-deployed-card/t9n/messages.uk.json +1 -1
  901. package/dist/cdn/assets/solution-deployed-card/t9n/messages.vi.json +1 -1
  902. package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-CN.json +1 -1
  903. package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-HK.json +1 -1
  904. package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-TW.json +1 -1
  905. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ar.json +1 -1
  906. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bg.json +1 -1
  907. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bs.json +1 -1
  908. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ca.json +1 -1
  909. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.cs.json +1 -1
  910. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.da.json +1 -1
  911. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.de.json +1 -1
  912. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.el.json +1 -1
  913. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.en.json +1 -1
  914. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.es.json +1 -1
  915. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.et.json +1 -1
  916. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fi.json +1 -1
  917. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fr.json +1 -1
  918. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.he.json +1 -1
  919. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hr.json +1 -1
  920. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hu.json +1 -1
  921. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.id.json +1 -1
  922. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.it.json +1 -1
  923. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ja.json +1 -1
  924. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.json +1 -1
  925. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ko.json +1 -1
  926. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lt.json +1 -1
  927. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lv.json +1 -1
  928. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.nl.json +1 -1
  929. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.no.json +1 -1
  930. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pl.json +1 -1
  931. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-BR.json +1 -1
  932. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-PT.json +1 -1
  933. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ro.json +1 -1
  934. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ru.json +1 -1
  935. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sk.json +1 -1
  936. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sl.json +1 -1
  937. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sr.json +1 -1
  938. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sv.json +1 -1
  939. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.th.json +1 -1
  940. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.tr.json +1 -1
  941. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.uk.json +1 -1
  942. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.vi.json +1 -1
  943. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-CN.json +1 -1
  944. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-HK.json +1 -1
  945. package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-TW.json +1 -1
  946. package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.fi.json +1 -1
  947. package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.fr.json +1 -1
  948. package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.ja.json +1 -1
  949. package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.nl.json +1 -1
  950. package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.sk.json +1 -1
  951. package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.tr.json +1 -1
  952. package/dist/cdn/assets/solution-details-card/t9n/messages.ar.json +1 -1
  953. package/dist/cdn/assets/solution-details-card/t9n/messages.bg.json +1 -1
  954. package/dist/cdn/assets/solution-details-card/t9n/messages.bs.json +1 -1
  955. package/dist/cdn/assets/solution-details-card/t9n/messages.ca.json +1 -1
  956. package/dist/cdn/assets/solution-details-card/t9n/messages.cs.json +1 -1
  957. package/dist/cdn/assets/solution-details-card/t9n/messages.da.json +1 -1
  958. package/dist/cdn/assets/solution-details-card/t9n/messages.de.json +1 -1
  959. package/dist/cdn/assets/solution-details-card/t9n/messages.el.json +1 -1
  960. package/dist/cdn/assets/solution-details-card/t9n/messages.en.json +1 -1
  961. package/dist/cdn/assets/solution-details-card/t9n/messages.es.json +1 -1
  962. package/dist/cdn/assets/solution-details-card/t9n/messages.et.json +1 -1
  963. package/dist/cdn/assets/solution-details-card/t9n/messages.fi.json +1 -1
  964. package/dist/cdn/assets/solution-details-card/t9n/messages.fr.json +1 -1
  965. package/dist/cdn/assets/solution-details-card/t9n/messages.he.json +1 -1
  966. package/dist/cdn/assets/solution-details-card/t9n/messages.hr.json +1 -1
  967. package/dist/cdn/assets/solution-details-card/t9n/messages.hu.json +1 -1
  968. package/dist/cdn/assets/solution-details-card/t9n/messages.id.json +1 -1
  969. package/dist/cdn/assets/solution-details-card/t9n/messages.it.json +1 -1
  970. package/dist/cdn/assets/solution-details-card/t9n/messages.ja.json +1 -1
  971. package/dist/cdn/assets/solution-details-card/t9n/messages.json +1 -1
  972. package/dist/cdn/assets/solution-details-card/t9n/messages.ko.json +1 -1
  973. package/dist/cdn/assets/solution-details-card/t9n/messages.lt.json +1 -1
  974. package/dist/cdn/assets/solution-details-card/t9n/messages.lv.json +1 -1
  975. package/dist/cdn/assets/solution-details-card/t9n/messages.nl.json +1 -1
  976. package/dist/cdn/assets/solution-details-card/t9n/messages.no.json +1 -1
  977. package/dist/cdn/assets/solution-details-card/t9n/messages.pl.json +1 -1
  978. package/dist/cdn/assets/solution-details-card/t9n/messages.pt-BR.json +1 -1
  979. package/dist/cdn/assets/solution-details-card/t9n/messages.pt-PT.json +1 -1
  980. package/dist/cdn/assets/solution-details-card/t9n/messages.ro.json +1 -1
  981. package/dist/cdn/assets/solution-details-card/t9n/messages.ru.json +1 -1
  982. package/dist/cdn/assets/solution-details-card/t9n/messages.sk.json +1 -1
  983. package/dist/cdn/assets/solution-details-card/t9n/messages.sl.json +1 -1
  984. package/dist/cdn/assets/solution-details-card/t9n/messages.sr.json +1 -1
  985. package/dist/cdn/assets/solution-details-card/t9n/messages.sv.json +1 -1
  986. package/dist/cdn/assets/solution-details-card/t9n/messages.th.json +1 -1
  987. package/dist/cdn/assets/solution-details-card/t9n/messages.tr.json +1 -1
  988. package/dist/cdn/assets/solution-details-card/t9n/messages.uk.json +1 -1
  989. package/dist/cdn/assets/solution-details-card/t9n/messages.vi.json +1 -1
  990. package/dist/cdn/assets/solution-details-card/t9n/messages.zh-CN.json +1 -1
  991. package/dist/cdn/assets/solution-details-card/t9n/messages.zh-HK.json +1 -1
  992. package/dist/cdn/assets/solution-details-card/t9n/messages.zh-TW.json +1 -1
  993. package/dist/cdn/assets/solution-details-panel/t9n/messages.ar.json +1 -1
  994. package/dist/cdn/assets/solution-details-panel/t9n/messages.bg.json +1 -1
  995. package/dist/cdn/assets/solution-details-panel/t9n/messages.bs.json +1 -1
  996. package/dist/cdn/assets/solution-details-panel/t9n/messages.ca.json +1 -1
  997. package/dist/cdn/assets/solution-details-panel/t9n/messages.cs.json +1 -1
  998. package/dist/cdn/assets/solution-details-panel/t9n/messages.da.json +1 -1
  999. package/dist/cdn/assets/solution-details-panel/t9n/messages.de.json +1 -1
  1000. package/dist/cdn/assets/solution-details-panel/t9n/messages.el.json +1 -1
  1001. package/dist/cdn/assets/solution-details-panel/t9n/messages.en.json +1 -1
  1002. package/dist/cdn/assets/solution-details-panel/t9n/messages.es.json +1 -1
  1003. package/dist/cdn/assets/solution-details-panel/t9n/messages.et.json +1 -1
  1004. package/dist/cdn/assets/solution-details-panel/t9n/messages.fi.json +1 -1
  1005. package/dist/cdn/assets/solution-details-panel/t9n/messages.fr.json +1 -1
  1006. package/dist/cdn/assets/solution-details-panel/t9n/messages.he.json +1 -1
  1007. package/dist/cdn/assets/solution-details-panel/t9n/messages.hr.json +1 -1
  1008. package/dist/cdn/assets/solution-details-panel/t9n/messages.hu.json +1 -1
  1009. package/dist/cdn/assets/solution-details-panel/t9n/messages.id.json +1 -1
  1010. package/dist/cdn/assets/solution-details-panel/t9n/messages.it.json +1 -1
  1011. package/dist/cdn/assets/solution-details-panel/t9n/messages.ja.json +1 -1
  1012. package/dist/cdn/assets/solution-details-panel/t9n/messages.json +1 -1
  1013. package/dist/cdn/assets/solution-details-panel/t9n/messages.ko.json +1 -1
  1014. package/dist/cdn/assets/solution-details-panel/t9n/messages.lt.json +1 -1
  1015. package/dist/cdn/assets/solution-details-panel/t9n/messages.lv.json +1 -1
  1016. package/dist/cdn/assets/solution-details-panel/t9n/messages.nl.json +1 -1
  1017. package/dist/cdn/assets/solution-details-panel/t9n/messages.no.json +1 -1
  1018. package/dist/cdn/assets/solution-details-panel/t9n/messages.pl.json +1 -1
  1019. package/dist/cdn/assets/solution-details-panel/t9n/messages.pt-BR.json +1 -1
  1020. package/dist/cdn/assets/solution-details-panel/t9n/messages.pt-PT.json +1 -1
  1021. package/dist/cdn/assets/solution-details-panel/t9n/messages.ro.json +1 -1
  1022. package/dist/cdn/assets/solution-details-panel/t9n/messages.ru.json +1 -1
  1023. package/dist/cdn/assets/solution-details-panel/t9n/messages.sk.json +1 -1
  1024. package/dist/cdn/assets/solution-details-panel/t9n/messages.sl.json +1 -1
  1025. package/dist/cdn/assets/solution-details-panel/t9n/messages.sr.json +1 -1
  1026. package/dist/cdn/assets/solution-details-panel/t9n/messages.sv.json +1 -1
  1027. package/dist/cdn/assets/solution-details-panel/t9n/messages.th.json +1 -1
  1028. package/dist/cdn/assets/solution-details-panel/t9n/messages.tr.json +1 -1
  1029. package/dist/cdn/assets/solution-details-panel/t9n/messages.uk.json +1 -1
  1030. package/dist/cdn/assets/solution-details-panel/t9n/messages.vi.json +1 -1
  1031. package/dist/cdn/assets/solution-details-panel/t9n/messages.zh-CN.json +1 -1
  1032. package/dist/cdn/assets/solution-details-panel/t9n/messages.zh-HK.json +1 -1
  1033. package/dist/cdn/assets/solution-details-panel/t9n/messages.zh-TW.json +1 -1
  1034. package/dist/cdn/assets/solution-item-accordion/t9n/messages.ar.json +1 -1
  1035. package/dist/cdn/assets/solution-item-accordion/t9n/messages.bg.json +1 -1
  1036. package/dist/cdn/assets/solution-item-accordion/t9n/messages.bs.json +1 -1
  1037. package/dist/cdn/assets/solution-item-accordion/t9n/messages.ca.json +1 -1
  1038. package/dist/cdn/assets/solution-item-accordion/t9n/messages.cs.json +1 -1
  1039. package/dist/cdn/assets/solution-item-accordion/t9n/messages.da.json +1 -1
  1040. package/dist/cdn/assets/solution-item-accordion/t9n/messages.de.json +1 -1
  1041. package/dist/cdn/assets/solution-item-accordion/t9n/messages.el.json +1 -1
  1042. package/dist/cdn/assets/solution-item-accordion/t9n/messages.en.json +1 -1
  1043. package/dist/cdn/assets/solution-item-accordion/t9n/messages.es.json +1 -1
  1044. package/dist/cdn/assets/solution-item-accordion/t9n/messages.et.json +1 -1
  1045. package/dist/cdn/assets/solution-item-accordion/t9n/messages.fi.json +1 -1
  1046. package/dist/cdn/assets/solution-item-accordion/t9n/messages.fr.json +1 -1
  1047. package/dist/cdn/assets/solution-item-accordion/t9n/messages.he.json +1 -1
  1048. package/dist/cdn/assets/solution-item-accordion/t9n/messages.hr.json +1 -1
  1049. package/dist/cdn/assets/solution-item-accordion/t9n/messages.hu.json +1 -1
  1050. package/dist/cdn/assets/solution-item-accordion/t9n/messages.id.json +1 -1
  1051. package/dist/cdn/assets/solution-item-accordion/t9n/messages.it.json +1 -1
  1052. package/dist/cdn/assets/solution-item-accordion/t9n/messages.ja.json +1 -1
  1053. package/dist/cdn/assets/solution-item-accordion/t9n/messages.json +1 -1
  1054. package/dist/cdn/assets/solution-item-accordion/t9n/messages.ko.json +1 -1
  1055. package/dist/cdn/assets/solution-item-accordion/t9n/messages.lt.json +1 -1
  1056. package/dist/cdn/assets/solution-item-accordion/t9n/messages.lv.json +1 -1
  1057. package/dist/cdn/assets/solution-item-accordion/t9n/messages.nl.json +1 -1
  1058. package/dist/cdn/assets/solution-item-accordion/t9n/messages.no.json +1 -1
  1059. package/dist/cdn/assets/solution-item-accordion/t9n/messages.pl.json +1 -1
  1060. package/dist/cdn/assets/solution-item-accordion/t9n/messages.pt-BR.json +1 -1
  1061. package/dist/cdn/assets/solution-item-accordion/t9n/messages.pt-PT.json +1 -1
  1062. package/dist/cdn/assets/solution-item-accordion/t9n/messages.ro.json +1 -1
  1063. package/dist/cdn/assets/solution-item-accordion/t9n/messages.ru.json +1 -1
  1064. package/dist/cdn/assets/solution-item-accordion/t9n/messages.sk.json +1 -1
  1065. package/dist/cdn/assets/solution-item-accordion/t9n/messages.sl.json +1 -1
  1066. package/dist/cdn/assets/solution-item-accordion/t9n/messages.sr.json +1 -1
  1067. package/dist/cdn/assets/solution-item-accordion/t9n/messages.sv.json +1 -1
  1068. package/dist/cdn/assets/solution-item-accordion/t9n/messages.th.json +1 -1
  1069. package/dist/cdn/assets/solution-item-accordion/t9n/messages.tr.json +1 -1
  1070. package/dist/cdn/assets/solution-item-accordion/t9n/messages.uk.json +1 -1
  1071. package/dist/cdn/assets/solution-item-accordion/t9n/messages.vi.json +1 -1
  1072. package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-CN.json +1 -1
  1073. package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-HK.json +1 -1
  1074. package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-TW.json +1 -1
  1075. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ar.json +1 -1
  1076. package/dist/cdn/assets/solutions-all-shell/t9n/messages.bg.json +1 -1
  1077. package/dist/cdn/assets/solutions-all-shell/t9n/messages.bs.json +1 -1
  1078. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ca.json +1 -1
  1079. package/dist/cdn/assets/solutions-all-shell/t9n/messages.cs.json +1 -1
  1080. package/dist/cdn/assets/solutions-all-shell/t9n/messages.da.json +1 -1
  1081. package/dist/cdn/assets/solutions-all-shell/t9n/messages.de.json +1 -1
  1082. package/dist/cdn/assets/solutions-all-shell/t9n/messages.el.json +1 -1
  1083. package/dist/cdn/assets/solutions-all-shell/t9n/messages.en.json +1 -1
  1084. package/dist/cdn/assets/solutions-all-shell/t9n/messages.es.json +1 -1
  1085. package/dist/cdn/assets/solutions-all-shell/t9n/messages.et.json +1 -1
  1086. package/dist/cdn/assets/solutions-all-shell/t9n/messages.fi.json +1 -1
  1087. package/dist/cdn/assets/solutions-all-shell/t9n/messages.fr.json +1 -1
  1088. package/dist/cdn/assets/solutions-all-shell/t9n/messages.he.json +1 -1
  1089. package/dist/cdn/assets/solutions-all-shell/t9n/messages.hr.json +1 -1
  1090. package/dist/cdn/assets/solutions-all-shell/t9n/messages.hu.json +1 -1
  1091. package/dist/cdn/assets/solutions-all-shell/t9n/messages.id.json +1 -1
  1092. package/dist/cdn/assets/solutions-all-shell/t9n/messages.it.json +1 -1
  1093. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ja.json +1 -1
  1094. package/dist/cdn/assets/solutions-all-shell/t9n/messages.json +1 -1
  1095. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ko.json +1 -1
  1096. package/dist/cdn/assets/solutions-all-shell/t9n/messages.lt.json +1 -1
  1097. package/dist/cdn/assets/solutions-all-shell/t9n/messages.lv.json +1 -1
  1098. package/dist/cdn/assets/solutions-all-shell/t9n/messages.nl.json +1 -1
  1099. package/dist/cdn/assets/solutions-all-shell/t9n/messages.no.json +1 -1
  1100. package/dist/cdn/assets/solutions-all-shell/t9n/messages.pl.json +1 -1
  1101. package/dist/cdn/assets/solutions-all-shell/t9n/messages.pt-BR.json +1 -1
  1102. package/dist/cdn/assets/solutions-all-shell/t9n/messages.pt-PT.json +1 -1
  1103. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ro.json +1 -1
  1104. package/dist/cdn/assets/solutions-all-shell/t9n/messages.ru.json +1 -1
  1105. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sk.json +1 -1
  1106. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sl.json +1 -1
  1107. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sr.json +1 -1
  1108. package/dist/cdn/assets/solutions-all-shell/t9n/messages.sv.json +1 -1
  1109. package/dist/cdn/assets/solutions-all-shell/t9n/messages.th.json +1 -1
  1110. package/dist/cdn/assets/solutions-all-shell/t9n/messages.tr.json +1 -1
  1111. package/dist/cdn/assets/solutions-all-shell/t9n/messages.uk.json +1 -1
  1112. package/dist/cdn/assets/solutions-all-shell/t9n/messages.vi.json +1 -1
  1113. package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-CN.json +1 -1
  1114. package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-HK.json +1 -1
  1115. package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-TW.json +1 -1
  1116. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ar.json +1 -1
  1117. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bg.json +1 -1
  1118. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bs.json +1 -1
  1119. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ca.json +1 -1
  1120. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.cs.json +1 -1
  1121. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.da.json +1 -1
  1122. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.de.json +1 -1
  1123. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.el.json +1 -1
  1124. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.en.json +1 -1
  1125. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.es.json +1 -1
  1126. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.et.json +1 -1
  1127. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fi.json +1 -1
  1128. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fr.json +1 -1
  1129. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.he.json +1 -1
  1130. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hr.json +1 -1
  1131. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hu.json +1 -1
  1132. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.id.json +1 -1
  1133. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.it.json +1 -1
  1134. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ja.json +1 -1
  1135. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.json +1 -1
  1136. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ko.json +1 -1
  1137. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lt.json +1 -1
  1138. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lv.json +1 -1
  1139. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.nl.json +1 -1
  1140. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.no.json +1 -1
  1141. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pl.json +1 -1
  1142. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-BR.json +1 -1
  1143. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-PT.json +1 -1
  1144. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ro.json +1 -1
  1145. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ru.json +1 -1
  1146. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sk.json +1 -1
  1147. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sl.json +1 -1
  1148. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sr.json +1 -1
  1149. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sv.json +1 -1
  1150. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.th.json +1 -1
  1151. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.tr.json +1 -1
  1152. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.uk.json +1 -1
  1153. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.vi.json +1 -1
  1154. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-CN.json +1 -1
  1155. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-HK.json +1 -1
  1156. package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-TW.json +1 -1
  1157. package/dist/cdn/assets/solutions-deploy-app-nav/t9n/messages.ar.json +1 -1
  1158. package/dist/cdn/assets/solutions-deployed-list/t9n/messages.en.json +1 -0
  1159. package/dist/cdn/assets/solutions-deployed-list/t9n/messages.json +1 -0
  1160. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ar.json +1 -1
  1161. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.bg.json +1 -1
  1162. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.bs.json +1 -1
  1163. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ca.json +1 -1
  1164. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.cs.json +1 -1
  1165. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.da.json +1 -1
  1166. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.de.json +1 -1
  1167. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.el.json +1 -1
  1168. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.en.json +1 -1
  1169. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.es.json +1 -1
  1170. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.et.json +1 -1
  1171. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.fi.json +1 -1
  1172. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.fr.json +1 -1
  1173. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.he.json +1 -1
  1174. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.hr.json +1 -1
  1175. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.hu.json +1 -1
  1176. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.id.json +1 -1
  1177. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.it.json +1 -1
  1178. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ja.json +1 -1
  1179. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.json +1 -1
  1180. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ko.json +1 -1
  1181. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.lt.json +1 -1
  1182. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.lv.json +1 -1
  1183. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.nl.json +1 -1
  1184. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.no.json +1 -1
  1185. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.pl.json +1 -1
  1186. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.pt-BR.json +1 -1
  1187. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.pt-PT.json +1 -1
  1188. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ro.json +1 -1
  1189. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ru.json +1 -1
  1190. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sk.json +1 -1
  1191. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sl.json +1 -1
  1192. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sr.json +1 -1
  1193. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sv.json +1 -1
  1194. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.th.json +1 -1
  1195. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.tr.json +1 -1
  1196. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.uk.json +1 -1
  1197. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.vi.json +1 -1
  1198. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.zh-CN.json +1 -1
  1199. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.zh-HK.json +1 -1
  1200. package/dist/cdn/assets/solutions-filter-panel/t9n/messages.zh-TW.json +1 -1
  1201. package/dist/cdn/index.js +1 -1
  1202. package/dist/cdn/main.css +1 -1
  1203. package/dist/chunks/Auth.js +160 -67
  1204. package/dist/chunks/CardsFetcher.js +288 -0
  1205. package/dist/chunks/assessBuildRequest.js +121 -0
  1206. package/dist/chunks/assessUpdateRequest.js +81 -0
  1207. package/dist/chunks/assistantResponse.js +52 -0
  1208. package/dist/chunks/cardFetchingUtils.js +23 -304
  1209. package/dist/chunks/cardsHelpers.js +11 -11
  1210. package/dist/chunks/classifyIntent.js +101 -0
  1211. package/dist/chunks/converter.js +918 -0
  1212. package/dist/chunks/deployAppContexts.js +4 -3
  1213. package/dist/chunks/deployFlowController.js +46 -0
  1214. package/dist/chunks/description.js +16 -0
  1215. package/dist/chunks/description2.js +36 -0
  1216. package/dist/chunks/designSolution.js +118 -0
  1217. package/dist/chunks/downloadUtils.js +246 -235
  1218. package/dist/chunks/explainValidationFailure.js +32 -0
  1219. package/dist/chunks/findExistingSolution.js +22 -0
  1220. package/dist/chunks/getItemIcon.js +19 -10
  1221. package/dist/chunks/getRelatedInfos.js +1 -1
  1222. package/dist/chunks/helpers.js +110 -519
  1223. package/dist/chunks/interfaces.js +469 -0
  1224. package/dist/chunks/popupUtils.js +3 -3
  1225. package/dist/chunks/queryUtils.js +3 -3
  1226. package/dist/chunks/solution-builder-assistant.js +1128 -0
  1227. package/dist/chunks/solution-deploy-dialog.js +183 -150
  1228. package/dist/chunks/solutions-deploy-app-nav.js +38 -39
  1229. package/dist/chunks/solutions_explorer_description.js +19 -0
  1230. package/dist/chunks/templates.js +65 -0
  1231. package/dist/chunks/transformQuery.js +49 -0
  1232. package/dist/chunks/updateDesign.js +5 -0
  1233. package/dist/chunks/validators.js +130 -0
  1234. package/dist/components/arcgis-solutions-assistant/customElement.d.ts +83 -83
  1235. package/dist/components/arcgis-solutions-assistant/customElement.js +1404 -1554
  1236. package/dist/components/arcgis-solutions-assistant/index.js +7 -8
  1237. package/dist/components/buffer-tools/customElement.d.ts +11 -4
  1238. package/dist/components/buffer-tools/customElement.js +5 -5
  1239. package/dist/components/card-manager/customElement.d.ts +39 -3
  1240. package/dist/components/card-manager/customElement.js +128 -26
  1241. package/dist/components/card-manager/index.js +2 -1
  1242. package/dist/components/consent-manager/customElement.d.ts +2 -2
  1243. package/dist/components/consent-manager/customElement.js +23 -3958
  1244. package/dist/components/create-feature/customElement.d.ts +55 -5
  1245. package/dist/components/create-feature/customElement.js +400 -302
  1246. package/dist/components/create-feature/index.js +4 -1
  1247. package/dist/components/create-related-feature/customElement.d.ts +16 -8
  1248. package/dist/components/create-related-feature/customElement.js +59 -82
  1249. package/dist/components/create-related-feature/index.js +1 -0
  1250. package/dist/components/crowdsource-manager/customElement.d.ts +8 -0
  1251. package/dist/components/crowdsource-manager/customElement.js +58 -45
  1252. package/dist/components/crowdsource-reporter/customElement.d.ts +32 -6
  1253. package/dist/components/crowdsource-reporter/customElement.js +82 -56
  1254. package/dist/components/deduct-calculator/customElement.js +5 -5
  1255. package/dist/components/delete-button/customElement.d.ts +2 -2
  1256. package/dist/components/delete-button/customElement.js +1 -1
  1257. package/dist/components/delete-dialog/customElement.d.ts +3 -3
  1258. package/dist/components/edit-card/customElement.d.ts +15 -7
  1259. package/dist/components/edit-card/customElement.js +37 -42
  1260. package/dist/components/edit-card/index.js +1 -0
  1261. package/dist/components/feature-details/customElement.d.ts +7 -6
  1262. package/dist/components/feature-details/customElement.js +5 -5
  1263. package/dist/components/feature-list/customElement.d.ts +5 -4
  1264. package/dist/components/feature-list/customElement.js +7 -7
  1265. package/dist/components/field-selection/customElement.d.ts +6 -4
  1266. package/dist/components/field-selection/customElement.js +75 -67
  1267. package/dist/components/info-card/customElement.d.ts +34 -10
  1268. package/dist/components/info-card/customElement.js +93 -86
  1269. package/dist/components/info-card/index.js +1 -0
  1270. package/dist/components/layer-list/customElement.d.ts +3 -3
  1271. package/dist/components/layer-list/customElement.js +3 -3
  1272. package/dist/components/layer-list-widget/customElement.d.ts +6 -9
  1273. package/dist/components/layer-list-widget/customElement.js +12 -29
  1274. package/dist/components/layer-list-widget/index.js +1 -0
  1275. package/dist/components/layer-table/customElement.d.ts +46 -3
  1276. package/dist/components/layer-table/customElement.js +174 -91
  1277. package/dist/components/map-basemap-gallery/customElement.d.ts +6 -8
  1278. package/dist/components/map-basemap-gallery/customElement.js +31 -38
  1279. package/dist/components/map-basemap-gallery/index.js +1 -0
  1280. package/dist/components/map-card/customElement.d.ts +44 -10
  1281. package/dist/components/map-card/customElement.js +81 -57
  1282. package/dist/components/map-card/index.js +1 -0
  1283. package/dist/components/map-draw-tools/customElement.d.ts +15 -11
  1284. package/dist/components/map-draw-tools/customElement.js +80 -114
  1285. package/dist/components/map-draw-tools/index.js +1 -0
  1286. package/dist/components/map-floor-filter/customElement.d.ts +6 -8
  1287. package/dist/components/map-floor-filter/customElement.js +22 -45
  1288. package/dist/components/map-floor-filter/index.js +1 -0
  1289. package/dist/components/map-fullscreen/customElement.d.ts +6 -4
  1290. package/dist/components/map-fullscreen/customElement.js +14 -34
  1291. package/dist/components/map-fullscreen/index.js +1 -0
  1292. package/dist/components/map-layer-picker/customElement.d.ts +2 -2
  1293. package/dist/components/map-layer-picker/customElement.js +14 -9
  1294. package/dist/components/map-legend/customElement.d.ts +6 -8
  1295. package/dist/components/map-legend/customElement.js +14 -30
  1296. package/dist/components/map-legend/index.js +1 -0
  1297. package/dist/components/map-picker/customElement.d.ts +7 -1
  1298. package/dist/components/map-picker/customElement.js +3 -3
  1299. package/dist/components/map-search/customElement.d.ts +8 -6
  1300. package/dist/components/map-search/customElement.js +25 -52
  1301. package/dist/components/map-search/index.js +1 -0
  1302. package/dist/components/map-select-tools/customElement.d.ts +24 -12
  1303. package/dist/components/map-select-tools/customElement.js +49 -60
  1304. package/dist/components/map-select-tools/index.js +1 -0
  1305. package/dist/components/map-tools/customElement.d.ts +15 -7
  1306. package/dist/components/map-tools/customElement.js +92 -100
  1307. package/dist/components/map-tools/index.js +2 -1
  1308. package/dist/components/pci-calculator/customElement.js +5 -5
  1309. package/dist/components/pdf-download/customElement.d.ts +3 -3
  1310. package/dist/components/pdf-download/customElement.js +1 -1
  1311. package/dist/components/public-notification/customElement.d.ts +15 -11
  1312. package/dist/components/public-notification/customElement.js +158 -74
  1313. package/dist/components/refine-selection/customElement.d.ts +15 -9
  1314. package/dist/components/refine-selection/customElement.js +20 -20
  1315. package/dist/components/selection-tool/customElement.d.ts +3 -3
  1316. package/dist/components/selection-tool/customElement.js +3 -3
  1317. package/dist/components/solution-builder-assistant/customElement.d.ts +342 -0
  1318. package/dist/components/solution-builder-assistant/customElement.js +21 -0
  1319. package/dist/components/solution-builder-assistant/index.d.ts +1 -0
  1320. package/dist/components/solution-builder-assistant/index.js +30 -0
  1321. package/dist/components/solution-configure-titles/customElement.js +102 -83
  1322. package/dist/components/solution-delete-dialog/customElement.js +39 -33
  1323. package/dist/components/solution-deploy-dialog/customElement.d.ts +9 -3
  1324. package/dist/components/solution-deploy-dialog/customElement.js +4 -3
  1325. package/dist/components/solution-deploy-dialog/index.js +1 -1
  1326. package/dist/components/solution-deployed-card/customElement.d.ts +2 -0
  1327. package/dist/components/solution-deployed-card/customElement.js +3 -2
  1328. package/dist/components/solution-deployed-card/index.js +1 -0
  1329. package/dist/components/solution-deployed-card-panel/customElement.d.ts +15 -0
  1330. package/dist/components/solution-deployed-card-panel/customElement.js +122 -52
  1331. package/dist/components/solution-deployed-card-panel/index.js +2 -1
  1332. package/dist/components/solution-deploying-dialog/customElement.js +16 -16
  1333. package/dist/components/solution-details-card/customElement.d.ts +4 -0
  1334. package/dist/components/solution-details-card/customElement.js +39 -27
  1335. package/dist/components/solution-details-card/index.js +1 -0
  1336. package/dist/components/solution-details-panel/customElement.d.ts +15 -4
  1337. package/dist/components/solution-details-panel/customElement.js +253 -244
  1338. package/dist/components/solution-details-panel/index.js +2 -0
  1339. package/dist/components/solution-item-accordion/customElement.d.ts +17 -4
  1340. package/dist/components/solution-item-accordion/customElement.js +69 -36
  1341. package/dist/components/solution-item-accordion/index.js +1 -0
  1342. package/dist/components/solution-item-diagram/customElement.js +252 -212
  1343. package/dist/components/solution-item-icon/customElement.d.ts +6 -0
  1344. package/dist/components/solution-item-icon/customElement.js +13 -12
  1345. package/dist/components/solution-resource-card/customElement.js +8 -7
  1346. package/dist/components/solution-snapshot-gallery/customElement.js +11 -9
  1347. package/dist/components/solution-social-share/customElement.js +15 -14
  1348. package/dist/components/solution-user-avatar/customElement.js +1 -1
  1349. package/dist/components/solutions-all-panel/customElement.d.ts +2 -0
  1350. package/dist/components/solutions-all-panel/customElement.js +59 -40
  1351. package/dist/components/solutions-all-shell/customElement.d.ts +4 -0
  1352. package/dist/components/solutions-all-shell/customElement.js +95 -40
  1353. package/dist/components/solutions-deploy-app/customElement.d.ts +21 -0
  1354. package/dist/components/solutions-deploy-app/customElement.js +843 -118
  1355. package/dist/components/solutions-deploy-app/index.js +7 -0
  1356. package/dist/components/solutions-deploy-app-nav/customElement.d.ts +6 -0
  1357. package/dist/components/solutions-deploy-app-nav/customElement.js +4 -5
  1358. package/dist/components/solutions-deployed-list/customElement.d.ts +43 -0
  1359. package/dist/components/solutions-deployed-list/customElement.js +64 -0
  1360. package/dist/components/solutions-deployed-list/index.d.ts +1 -0
  1361. package/dist/components/solutions-deployed-list/index.js +3 -0
  1362. package/dist/components/solutions-deployed-panel/customElement.js +43 -32
  1363. package/dist/components/solutions-deployed-panel/index.js +0 -1
  1364. package/dist/components/solutions-deployed-shell/customElement.js +22 -18
  1365. package/dist/components/solutions-deployed-shell/index.js +0 -1
  1366. package/dist/components/solutions-filter-panel/customElement.d.ts +2 -6
  1367. package/dist/components/solutions-filter-panel/customElement.js +49 -63
  1368. package/dist/components/solutions-filter-panel/index.js +0 -3
  1369. package/dist/components/solutions-resources-section/customElement.js +10 -9
  1370. package/dist/components/solutions-resources-shell/customElement.d.ts +7 -0
  1371. package/dist/components/solutions-resources-shell/customElement.js +92 -50
  1372. package/dist/components/solutions-searchsort-toolbar/customElement.js +12 -11
  1373. package/dist/docs/api.json +1 -1
  1374. package/dist/docs/docs.json +1 -1
  1375. package/dist/docs/vscode.html-custom-data.json +1 -1
  1376. package/dist/docs/web-types.json +1 -1
  1377. package/dist/index.d.ts +20 -6
  1378. package/dist/index.js +25 -24
  1379. package/dist/loader.js +29 -27
  1380. package/dist/solutions-components_commit.txt +5 -5
  1381. package/dist/types/lumina.d.ts +54 -24
  1382. package/dist/types/preact.d.ts +56 -24
  1383. package/dist/types/react.d.ts +58 -24
  1384. package/dist/types/stencil.d.ts +54 -24
  1385. package/dist/utils/Auth.d.ts +13 -2
  1386. package/dist/utils/getRelatedInfos.d.ts +4 -0
  1387. package/dist/utils/interfaces.d.ts +203 -31
  1388. package/package.json +42 -34
  1389. package/dist/cdn/27G6RESZ.js +0 -2
  1390. package/dist/cdn/2L7O5T7N.js +0 -2
  1391. package/dist/cdn/2RBKFT3Q.js +0 -2
  1392. package/dist/cdn/2WPJOTMI.js +0 -2
  1393. package/dist/cdn/2XQOWXMT.js +0 -2
  1394. package/dist/cdn/3JF5JLS4.js +0 -2
  1395. package/dist/cdn/3ME5BVUE.js +0 -2
  1396. package/dist/cdn/3PT5ULE3.js +0 -2
  1397. package/dist/cdn/3SYLXG32.js +0 -2
  1398. package/dist/cdn/3WO3DS32.js +0 -2
  1399. package/dist/cdn/45ZS4SG7.js +0 -2
  1400. package/dist/cdn/4GHX4MVD.js +0 -50
  1401. package/dist/cdn/4L3MVJ5S.js +0 -2
  1402. package/dist/cdn/5326HZ74.js +0 -2
  1403. package/dist/cdn/57JYZYF5.js +0 -2
  1404. package/dist/cdn/5FKEDJRU.js +0 -2
  1405. package/dist/cdn/5GIHSPJZ.js +0 -2
  1406. package/dist/cdn/5KD4GK7Y.js +0 -2
  1407. package/dist/cdn/5QCBD6ZZ.js +0 -2
  1408. package/dist/cdn/5S3WZLB5.js +0 -2
  1409. package/dist/cdn/5TZ7Q4JG.js +0 -2
  1410. package/dist/cdn/66Q5IRVS.js +0 -2
  1411. package/dist/cdn/6DLDJH6I.js +0 -2
  1412. package/dist/cdn/6G7RA3PN.js +0 -2
  1413. package/dist/cdn/6UXP2Q63.js +0 -2
  1414. package/dist/cdn/73AX72WY.js +0 -2
  1415. package/dist/cdn/743J5TBS.js +0 -2
  1416. package/dist/cdn/74557KPJ.js +0 -2
  1417. package/dist/cdn/7J2VRW7S.js +0 -2
  1418. package/dist/cdn/7YIQXDUF.js +0 -2
  1419. package/dist/cdn/7ZMHT4SH.js +0 -2
  1420. package/dist/cdn/A2LNKTGU.js +0 -2
  1421. package/dist/cdn/A5STEAY7.js +0 -2
  1422. package/dist/cdn/ABTC2V7J.js +0 -2
  1423. package/dist/cdn/AC3MHBPK.js +0 -2
  1424. package/dist/cdn/AF2YWYJQ.js +0 -2
  1425. package/dist/cdn/AGC6ZWMH.js +0 -2
  1426. package/dist/cdn/AKDP6MCB.js +0 -2
  1427. package/dist/cdn/AT2EES2R.js +0 -21
  1428. package/dist/cdn/ATVUAP2X.js +0 -2
  1429. package/dist/cdn/AVNCYWKK.js +0 -2
  1430. package/dist/cdn/BEGKM3ZM.js +0 -2
  1431. package/dist/cdn/BJMKDP4O.js +0 -2
  1432. package/dist/cdn/BK3QFV3M.js +0 -2
  1433. package/dist/cdn/BMJN3MIR.js +0 -2
  1434. package/dist/cdn/BPOWO72Z.js +0 -2
  1435. package/dist/cdn/D4QQZVLI.js +0 -2
  1436. package/dist/cdn/DIKAKOU5.js +0 -2
  1437. package/dist/cdn/DMRQFYLJ.js +0 -174
  1438. package/dist/cdn/DQ4POWIJ.js +0 -2
  1439. package/dist/cdn/DQV46RIT.js +0 -2
  1440. package/dist/cdn/E7HQ4JJ2.js +0 -2
  1441. package/dist/cdn/EGFXSDFS.js +0 -2
  1442. package/dist/cdn/EJRSL3ID.js +0 -2
  1443. package/dist/cdn/EPRDKJSD.js +0 -2
  1444. package/dist/cdn/F372CSCW.js +0 -2
  1445. package/dist/cdn/FXHBHZKG.js +0 -2
  1446. package/dist/cdn/GTKRTZK6.js +0 -2
  1447. package/dist/cdn/HBJZGW4L.js +0 -2
  1448. package/dist/cdn/HBPD3T7H.js +0 -2
  1449. package/dist/cdn/HBQN25RR.js +0 -4
  1450. package/dist/cdn/HMB3LHBC.js +0 -2
  1451. package/dist/cdn/HPQPI754.js +0 -2
  1452. package/dist/cdn/I4PUORX4.js +0 -2
  1453. package/dist/cdn/IDNTGLQU.js +0 -2
  1454. package/dist/cdn/IORIFDK6.js +0 -2
  1455. package/dist/cdn/IUPEGG4M.js +0 -2
  1456. package/dist/cdn/J33ST6ZG.js +0 -2
  1457. package/dist/cdn/J5VTBFGR.js +0 -2
  1458. package/dist/cdn/JALU4653.js +0 -2
  1459. package/dist/cdn/JK75TUSP.js +0 -2
  1460. package/dist/cdn/JUXXPW6I.js +0 -2
  1461. package/dist/cdn/JYLXH6OM.js +0 -2
  1462. package/dist/cdn/K5JYHCQ7.js +0 -2
  1463. package/dist/cdn/K5VEUOS3.js +0 -2
  1464. package/dist/cdn/K7XOFXRK.js +0 -7
  1465. package/dist/cdn/KD46EE7M.js +0 -2
  1466. package/dist/cdn/KKYXQLBJ.js +0 -2
  1467. package/dist/cdn/KPBEUIQV.js +0 -2
  1468. package/dist/cdn/KSXW3QKP.js +0 -2
  1469. package/dist/cdn/KWCJDOZU.js +0 -2
  1470. package/dist/cdn/KZDTATOG.js +0 -2
  1471. package/dist/cdn/LD2NUKM3.js +0 -2
  1472. package/dist/cdn/LDHJGX5G.js +0 -2
  1473. package/dist/cdn/LI4CAGAZ.js +0 -2
  1474. package/dist/cdn/LO5Q55JH.js +0 -2
  1475. package/dist/cdn/LPNQJBCN.js +0 -2
  1476. package/dist/cdn/LWUSGNUB.js +0 -2
  1477. package/dist/cdn/M4OPXH3T.js +0 -2
  1478. package/dist/cdn/M7YK4K5M.js +0 -2
  1479. package/dist/cdn/MWVSVTGT.js +0 -2
  1480. package/dist/cdn/MZ3QZD4K.js +0 -2
  1481. package/dist/cdn/MZLEP53S.js +0 -2
  1482. package/dist/cdn/N2ROUAUM.js +0 -2
  1483. package/dist/cdn/N7HJKCUK.js +0 -2
  1484. package/dist/cdn/N7OY2PSZ.js +0 -2
  1485. package/dist/cdn/NGCFEPQE.js +0 -4
  1486. package/dist/cdn/NIUMAAOQ.js +0 -2
  1487. package/dist/cdn/NOOFAZCT.js +0 -2
  1488. package/dist/cdn/NSITJP7B.js +0 -2
  1489. package/dist/cdn/NZS3YVIT.js +0 -2
  1490. package/dist/cdn/OQFRVQQZ.js +0 -2
  1491. package/dist/cdn/OYQYXNHJ.js +0 -2
  1492. package/dist/cdn/P4FX4W2X.js +0 -2
  1493. package/dist/cdn/P4KZ6OZF.js +0 -4
  1494. package/dist/cdn/P5Q3LVYT.js +0 -2
  1495. package/dist/cdn/P6IYN2TS.js +0 -2
  1496. package/dist/cdn/PJH3H7LZ.js +0 -2
  1497. package/dist/cdn/PYBOC3DB.js +0 -2
  1498. package/dist/cdn/PZOAAAVI.js +0 -2
  1499. package/dist/cdn/QHG54NVK.js +0 -2
  1500. package/dist/cdn/QI5LXFA7.js +0 -2
  1501. package/dist/cdn/QPIMTXPL.js +0 -2
  1502. package/dist/cdn/QWRM254M.js +0 -2
  1503. package/dist/cdn/R3TKXDOE.js +0 -6
  1504. package/dist/cdn/RDXJFHLV.js +0 -2
  1505. package/dist/cdn/REOO5ZGK.js +0 -2
  1506. package/dist/cdn/RKMY6VWP.js +0 -2
  1507. package/dist/cdn/RTPXDRZ7.js +0 -2
  1508. package/dist/cdn/SENL26AU.js +0 -3
  1509. package/dist/cdn/SSO3AN4U.js +0 -2
  1510. package/dist/cdn/SXD7ZWLW.js +0 -27
  1511. package/dist/cdn/SZRONHSX.js +0 -2
  1512. package/dist/cdn/T2WSMUVL.js +0 -2
  1513. package/dist/cdn/TBQQ6OPX.js +0 -2
  1514. package/dist/cdn/TH52564W.js +0 -2
  1515. package/dist/cdn/THKPPH7G.js +0 -2
  1516. package/dist/cdn/TP5EQUBD.js +0 -2
  1517. package/dist/cdn/TRJ6EQRD.js +0 -2
  1518. package/dist/cdn/TU5GZK4M.js +0 -2
  1519. package/dist/cdn/U3LEZXNT.js +0 -2
  1520. package/dist/cdn/UFJWRZWQ.js +0 -2
  1521. package/dist/cdn/ULCILXSA.js +0 -2
  1522. package/dist/cdn/ULXATJK5.js +0 -2
  1523. package/dist/cdn/UME5GDA2.js +0 -2
  1524. package/dist/cdn/VDEFBT2N.js +0 -2
  1525. package/dist/cdn/VFC4CM23.js +0 -2
  1526. package/dist/cdn/VJEG4LOG.js +0 -2
  1527. package/dist/cdn/VJYMTG4U.js +0 -2
  1528. package/dist/cdn/VPTZV5YV.js +0 -2
  1529. package/dist/cdn/VRE7NUZ2.js +0 -2
  1530. package/dist/cdn/WCPWYPN2.js +0 -2
  1531. package/dist/cdn/WMPUJYLT.js +0 -2
  1532. package/dist/cdn/XBR2PGVO.js +0 -7
  1533. package/dist/cdn/XCILPMDZ.js +0 -2
  1534. package/dist/cdn/XK6Q5TUT.js +0 -2
  1535. package/dist/cdn/XKDPK7SD.js +0 -2
  1536. package/dist/cdn/XTDFTH5X.js +0 -2
  1537. package/dist/cdn/XYFIAJPT.js +0 -2
  1538. package/dist/cdn/Y6I6QW4M.js +0 -2
  1539. package/dist/cdn/YMOLIY64.js +0 -2
  1540. package/dist/cdn/YTK4IGLJ.js +0 -2
  1541. package/dist/cdn/Z6H6J4QH.js +0 -2
  1542. package/dist/cdn/ZDQANIMG.js +0 -2
  1543. package/dist/cdn/ZSHMK5VX.js +0 -2
  1544. package/dist/cdn/ZVFUYLAQ.js +0 -2
  1545. /package/dist/cdn/{YVNP437O.js → WV7QX3ED.js} +0 -0
@@ -1,1676 +1,1526 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import { c as $e } from "../../chunks/runtime.js";
3
- import { ref as ne } from "lit/directives/ref.js";
4
- import { u as Te } from "../../chunks/useT9n.js";
5
- import { LitElement as Re, createEvent as Ie, nothing as ie, safeClassMap as re } from "@arcgis/lumina";
6
- import { css as Ae, html as m } from "lit";
7
- import { render as A } from "lit-html";
8
- import { unsafeHTML as ae } from "lit/directives/unsafe-html.js";
9
- import { useContextConsumer as Ce } from "@arcgis/lumina/context";
10
- import { c as ze } from "../../chunks/deployAppContexts.js";
11
- import { U as Le, T as Pe, H as Z } from "../../chunks/helpers.js";
12
- const qe = Ae`:host{display:block;height:100%}.display-flex-row{display:flex;flex-direction:row}.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-foreground-3);padding:1px}.chat-container_expanded{display:flex;flex-direction:column;gap:0px;max-width:100%;height:95%;background-color:var(--calcite-color-background);border-radius:10px;padding:10px}.chat-panel{--calcite-dialog-header-background-color: var(--calcite-color-brand);--calcite-dialog-header-action-background-color: var(--calcite-color-brand);--calcite-dialog-heading-text-color: var(--calcite-color-background);--calcite-dialog-header-action-text-color: var(--calcite-color-background);--calcite-dialog-header-action-text-color-press: var(--calcite-color-background);--calcite-color-focus: var(--calcite-color-background);--calcite-dialog-min-size-y: 90vh;--calcite-dialog-max-size-y: 90vh}.chat-panel calcite-card,.chat-panel calcite-text-area,.chat-panel calcite-button:not(.icon-color-background),.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-background, 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-foreground-2);border-radius:8px;max-width:90%;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-foreground-3);--calcite-card-border-color: var(--calcite-color-foreground-3);color:var(--calcite-color-inverse);text-align:left}.loader-message{align-self:flex-start;background:var(--calcite-color-foreground-3);border-radius:8px;--calcite-card-corner-radius: 8px;--calcite-card-background-color: var(--calcite-color-foreground-3);--calcite-card-border-color: var(--calcite-color-foreground-3)}.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-foreground-3)}.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;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-background)}.icon-color-background:focus{--calcite-color-focus: var(--calcite-color-background)}@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)}`;
13
- function W() {
14
- return { async: !1, breaks: !1, extensions: null, gfm: !0, hooks: null, pedantic: !1, renderer: null, silent: !1, tokenizer: null, walkTokens: null };
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
+ import "@langchain/core/messages";
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
+ async function v(t, e) {
26
+ const s = Object.entries(t).find(
27
+ ([i]) => i.endsWith(`/${e}.md`)
28
+ );
29
+ if (!s)
30
+ throw new Error(
31
+ `Prompt not found: ${e}
32
+ Available prompts:
33
+ ${Object.keys(t).join(`
34
+ `)}`
35
+ );
36
+ return await s[1]();
15
37
  }
16
- var I = W();
17
- function de(i) {
18
- I = i;
38
+ function q(t) {
39
+ return t?.configurable?.context?.translations;
19
40
  }
20
- var T = { exec: () => null };
21
- function d(i, e = "") {
22
- let t = typeof i == "string" ? i : i.source, n = { replace: (s, a) => {
23
- let r = typeof a == "string" ? a : a.source;
24
- return r = r.replace(b.caret, "$1"), t = t.replace(s, r), n;
25
- }, getRegex: () => new RegExp(t, e) };
26
- return n;
41
+ function me(t) {
42
+ if (typeof window > "u" || t.length <= 1)
43
+ return;
44
+ const e = t.map((i) => i.solution.id), s = t.map((i) => i.solution.title);
45
+ window.dispatchEvent(new CustomEvent("searchTermSet", {
46
+ detail: {
47
+ scope: "all-solutions",
48
+ searchTerm: ""
49
+ }
50
+ })), window.dispatchEvent(new CustomEvent("solutionMatchesFromAssistant", {
51
+ detail: {
52
+ solutionIds: e,
53
+ solutionTitles: s
54
+ },
55
+ bubbles: !0,
56
+ composed: !0
57
+ })), window.dispatchEvent(new CustomEvent("navTabSelected", {
58
+ detail: {
59
+ tabType: "all-solutions"
60
+ }
61
+ }));
27
62
  }
28
- var Be = (() => {
29
- try {
30
- return !!new RegExp("(?<=1)(?<!1)");
31
- } catch {
32
- return !1;
33
- }
34
- })(), b = { codeRemoveIndent: /^(?: {1,4}| {0,3}\t)/gm, outputLinkReplace: /\\([\[\]])/g, indentCodeCompensation: /^(\s+)(?:```)/, beginningSpace: /^\s+/, endingHash: /#$/, startingSpaceChar: /^ /, endingSpaceChar: / $/, nonSpaceChar: /[^ ]/, newLineCharGlobal: /\n/g, tabCharGlobal: /\t/g, multipleSpaceGlobal: /\s+/g, blankLine: /^[ \t]*$/, doubleBlankLine: /\n[ \t]*\n[ \t]*$/, blockquoteStart: /^ {0,3}>/, blockquoteSetextReplace: /\n {0,3}((?:=+|-+) *)(?=\n|$)/g, blockquoteSetextReplace2: /^ {0,3}>[ \t]?/gm, listReplaceNesting: /^ {1,4}(?=( {4})*[^ ])/g, listIsTask: /^\[[ xX]\] +\S/, listReplaceTask: /^\[[ xX]\] +/, listTaskCheckbox: /\[[ xX]\]/, anyLine: /\n.*\n/, hrefBrackets: /^<(.*)>$/, tableDelimiter: /[:|]/, tableAlignChars: /^\||\| *$/g, tableRowBlankLine: /\n[ \t]*$/, tableAlignRight: /^ *-+: *$/, tableAlignCenter: /^ *:-+: *$/, tableAlignLeft: /^ *:-+ *$/, startATag: /^<a /i, endATag: /^<\/a>/i, startPreScriptTag: /^<(pre|code|kbd|script)(\s|>)/i, endPreScriptTag: /^<\/(pre|code|kbd|script)(\s|>)/i, startAngleBracket: /^</, endAngleBracket: />$/, pedanticHrefTitle: /^([^'"]*[^\s])\s+(['"])(.*)\2/, unicodeAlphaNumeric: /[\p{L}\p{N}]/u, escapeTest: /[&<>"']/, escapeReplace: /[&<>"']/g, escapeTestNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/, escapeReplaceNoEncode: /[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g, caret: /(^|[^\[])\^/g, percentDecode: /%25/g, findPipe: /\|/g, splitPipe: / \|/, slashPipe: /\\\|/g, carriageReturn: /\r\n|\r/g, spaceLine: /^ +$/gm, notSpaceStart: /^\S*/, endingNewline: /\n$/, listItemRegex: (i) => new RegExp(`^( {0,3}${i})((?:[ ][^\\n]*)?(?:\\n|$))`), nextBulletRegex: (i) => new RegExp(`^ {0,${Math.min(3, i - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`), hrRegex: (i) => new RegExp(`^ {0,${Math.min(3, i - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`), fencesBeginRegex: (i) => new RegExp(`^ {0,${Math.min(3, i - 1)}}(?:\`\`\`|~~~)`), headingBeginRegex: (i) => new RegExp(`^ {0,${Math.min(3, i - 1)}}#`), htmlBeginRegex: (i) => new RegExp(`^ {0,${Math.min(3, i - 1)}}<(?:[a-z].*>|!--)`, "i"), blockquoteBeginRegex: (i) => new RegExp(`^ {0,${Math.min(3, i - 1)}}>`) }, Ee = /^(?:[ \t]*(?:\n|$))+/, Me = /^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/, Ne = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/, B = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/, Qe = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/, X = / {0,3}(?:[*+-]|\d{1,9}[.)])/, ge = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/, fe = d(ge).replace(/bull/g, X).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex(), De = d(ge).replace(/bull/g, X).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(), K = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/, Ue = /^[^\n]+/, J = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/, Fe = d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", J).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(), Oe = d(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, X).getRegex(), F = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul", Y = /<!--(?:-?>|[\s\S]*?(?:-->|$))/, Ze = d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", Y).replace("tag", F).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(), ke = d(K).replace("hr", B).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", F).getRegex(), He = d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ke).getRegex(), V = { blockquote: He, code: Me, def: Fe, fences: Ne, heading: Qe, hr: B, html: Ze, lheading: fe, list: Oe, newline: Ee, paragraph: ke, table: T, text: Ue }, oe = d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", B).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3} )[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", F).getRegex(), je = { ...V, lheading: De, table: oe, paragraph: d(K).replace("hr", B).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", oe).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)])[ \\t]").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", F).getRegex() }, Ge = { ...V, html: d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", Y).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: T, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: d(K).replace("hr", B).replace("heading", ` *#{1,6} *[^
35
- ]`).replace("lheading", fe).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() }, We = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/, Xe = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, me = /^( {2,}|\\)\n(?!\s*$)/, Ke = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/, O = /[\p{P}\p{S}]/u, ee = /[\s\p{P}\p{S}]/u, xe = /[^\s\p{P}\p{S}]/u, Je = d(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, ee).getRegex(), be = /(?!~)[\p{P}\p{S}]/u, Ye = /(?!~)[\s\p{P}\p{S}]/u, Ve = /(?:[^\s\p{P}\p{S}]|~)/u, we = /(?![*_])[\p{P}\p{S}]/u, et = /(?![*_])[\s\p{P}\p{S}]/u, tt = /(?:[^\s\p{P}\p{S}]|[*_])/u, st = d(/link|precode-code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-", Be ? "(?<!`)()" : "(^^|[^`])").replace("code", /(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex(), _e = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/, nt = d(_e, "u").replace(/punct/g, O).getRegex(), it = d(_e, "u").replace(/punct/g, be).getRegex(), ve = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)", rt = d(ve, "gu").replace(/notPunctSpace/g, xe).replace(/punctSpace/g, ee).replace(/punct/g, O).getRegex(), at = d(ve, "gu").replace(/notPunctSpace/g, Ve).replace(/punctSpace/g, Ye).replace(/punct/g, be).getRegex(), ot = d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, xe).replace(/punctSpace/g, ee).replace(/punct/g, O).getRegex(), lt = d(/^~~?(?:((?!~)punct)|[^\s~])/, "u").replace(/punct/g, we).getRegex(), ct = "^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)", ht = d(ct, "gu").replace(/notPunctSpace/g, tt).replace(/punctSpace/g, et).replace(/punct/g, we).getRegex(), pt = d(/\\(punct)/, "gu").replace(/punct/g, O).getRegex(), ut = d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(), dt = d(Y).replace("(?:-->|$)", "-->").getRegex(), gt = d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", dt).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(), Q = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/, ft = d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace("label", Q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(), ye = d(/^!?\[(label)\]\[(ref)\]/).replace("label", Q).replace("ref", J).getRegex(), Se = d(/^!?\[(ref)\](?:\[\])?/).replace("ref", J).getRegex(), kt = d("reflink|nolink(?!\\()", "g").replace("reflink", ye).replace("nolink", Se).getRegex(), le = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/, te = { _backpedal: T, anyPunctuation: pt, autolink: ut, blockSkip: st, br: me, code: Xe, del: T, delLDelim: T, delRDelim: T, emStrongLDelim: nt, emStrongRDelimAst: rt, emStrongRDelimUnd: ot, escape: We, link: ft, nolink: Se, punctuation: Je, reflink: ye, reflinkSearch: kt, tag: gt, text: Ke, url: T }, mt = { ...te, link: d(/^!?\[(label)\]\((.*?)\)/).replace("label", Q).getRegex(), reflink: d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", Q).getRegex() }, H = { ...te, emStrongRDelimAst: at, emStrongLDelim: it, delLDelim: lt, delRDelim: ht, url: d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", le).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", le).getRegex() }, xt = { ...H, br: d(me).replace("{2,}", "*").getRegex(), text: d(H.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() }, N = { normal: V, gfm: je, pedantic: Ge }, L = { normal: te, gfm: H, breaks: xt, pedantic: mt }, bt = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" }, ce = (i) => bt[i];
36
- function S(i, e) {
37
- if (e) {
38
- if (b.escapeTest.test(i)) return i.replace(b.escapeReplace, ce);
39
- } else if (b.escapeTestNoEncode.test(i)) return i.replace(b.escapeReplaceNoEncode, ce);
40
- return i;
63
+ function ge(t) {
64
+ if (typeof window > "u" || !t)
65
+ return;
66
+ const e = new CustomEvent("solutionIDFromAssistant", {
67
+ detail: t,
68
+ bubbles: !0,
69
+ composed: !0
70
+ });
71
+ window.dispatchEvent(e);
41
72
  }
42
- function he(i) {
43
- try {
44
- i = encodeURI(i).replace(b.percentDecode, "%");
45
- } catch {
46
- return null;
47
- }
48
- return i;
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)
79
+ });
80
+ function Ke(t) {
81
+ return t.replace(/<sup>\[\[(\d+)\]\]\(([^)]+)\)<\/sup>/g, '<sup><a href="$2">&#91;$1&#93;</a></sup>');
49
82
  }
50
- function pe(i, e) {
51
- let t = i.replace(b.findPipe, (a, r, l) => {
52
- let o = !1, h = r;
53
- for (; --h >= 0 && l[h] === "\\"; ) o = !o;
54
- return o ? "|" : " |";
55
- }), n = t.split(b.splitPipe), s = 0;
56
- if (n[0].trim() || n.shift(), n.length > 0 && !n.at(-1)?.trim() && n.pop(), e) if (n.length > e) n.splice(e);
57
- else for (; n.length < e; ) n.push("");
58
- for (; s < n.length; s++) n[s] = n[s].trim().replace(b.slashPipe, "|");
59
- return n;
83
+ function Ye(t) {
84
+ return t.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (e, s, i) => `<img src="${i}" alt="${s}" style="width: 100%;">`);
60
85
  }
61
- function P(i, e, t) {
62
- let n = i.length;
63
- if (n === 0) return "";
64
- let s = 0;
65
- for (; s < n && i.charAt(n - s - 1) === e; )
66
- s++;
67
- return i.slice(0, n - s);
68
- }
69
- function wt(i, e) {
70
- if (i.indexOf(e[1]) === -1) return -1;
71
- let t = 0;
72
- for (let n = 0; n < i.length; n++) if (i[n] === "\\") n++;
73
- else if (i[n] === e[0]) t++;
74
- else if (i[n] === e[1] && (t--, t < 0)) return n;
75
- return t > 0 ? -2 : -1;
86
+ function Xe(t, e) {
87
+ const s = [];
88
+ return (e?.configurable?.context?.configContext.allCards ?? []).forEach((n) => {
89
+ const o = n.title;
90
+ if (!o)
91
+ return;
92
+ const a = new RegExp(`(?<![\\p{L}\\p{N}])${o}(?![\\p{L}\\p{N}])`, "giu");
93
+ let l = !1;
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({
98
+ solution: {
99
+ title: n.title,
100
+ id: n.deployCommonId,
101
+ snippet: n.snippet,
102
+ description: n.description
103
+ },
104
+ score: 100
105
+ });
106
+ }), { source: t, allMatches: s };
76
107
  }
77
- function _t(i, e = 0) {
78
- let t = e, n = "";
79
- for (let s of i) if (s === " ") {
80
- let a = 4 - t % 4;
81
- n += " ".repeat(a), t += a;
82
- } else n += s, t++;
83
- return n;
108
+ function Ze(t) {
109
+ return t && t.helperServices.aiAssistantServices ? `${t.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/chat` : null;
84
110
  }
85
- function ue(i, e, t, n, s) {
86
- let a = e.href, r = e.title || null, l = i[1].replace(s.other.outputLinkReplace, "$1");
87
- n.state.inLink = !0;
88
- let o = { type: i[0].charAt(0) === "!" ? "image" : "link", raw: t, href: a, title: r, text: l, tokens: n.inlineTokens(l) };
89
- return n.state.inLink = !1, o;
111
+ function fe(t) {
112
+ return t && t.helperServices.aiAssistantServices ? `${t.helperServices.aiAssistantServices.url}/skills/doc_ai_assistant/api/pre-chat` : null;
90
113
  }
91
- function vt(i, e, t) {
92
- let n = i.match(t.other.indentCodeCompensation);
93
- if (n === null) return e;
94
- let s = n[1];
95
- return e.split(`
96
- `).map((a) => {
97
- let r = a.match(t.other.beginningSpace);
98
- if (r === null) return a;
99
- let [l] = r;
100
- return l.length >= s.length ? a.slice(s.length) : a;
101
- }).join(`
102
- `);
114
+ async function G(t, e, s) {
115
+ const i = await fetch(e, {
116
+ method: "POST",
117
+ headers: {
118
+ "Content-Type": "application/json",
119
+ token: s
120
+ },
121
+ body: JSON.stringify(t)
122
+ });
123
+ if (!i.ok)
124
+ throw new Error(`HTTP ${i.status} calling ${e}`);
125
+ return i.json();
103
126
  }
104
- var D = class {
105
- options;
106
- rules;
107
- lexer;
108
- constructor(i) {
109
- this.options = i || I;
110
- }
111
- space(i) {
112
- let e = this.rules.block.newline.exec(i);
113
- if (e && e[0].length > 0) return { type: "space", raw: e[0] };
114
- }
115
- code(i) {
116
- let e = this.rules.block.code.exec(i);
117
- if (e) {
118
- let t = e[0].replace(this.rules.other.codeRemoveIndent, "");
119
- return { type: "code", raw: e[0], codeBlockStyle: "indented", text: this.options.pedantic ? t : P(t, `
120
- `) };
121
- }
122
- }
123
- fences(i) {
124
- let e = this.rules.block.fences.exec(i);
125
- if (e) {
126
- let t = e[0], n = vt(t, e[3] || "", this.rules);
127
- return { type: "code", raw: t, lang: e[2] ? e[2].trim().replace(this.rules.inline.anyPunctuation, "$1") : e[2], text: n };
128
- }
129
- }
130
- heading(i) {
131
- let e = this.rules.block.heading.exec(i);
132
- if (e) {
133
- let t = e[2].trim();
134
- if (this.rules.other.endingHash.test(t)) {
135
- let n = P(t, "#");
136
- (this.options.pedantic || !n || this.rules.other.endingSpaceChar.test(n)) && (t = n.trim());
137
- }
138
- return { type: "heading", raw: e[0], depth: e[1].length, text: t, tokens: this.lexer.inline(t) };
139
- }
140
- }
141
- hr(i) {
142
- let e = this.rules.block.hr.exec(i);
143
- if (e) return { type: "hr", raw: P(e[0], `
144
- `) };
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 {
145
144
  }
146
- blockquote(i) {
147
- let e = this.rules.block.blockquote.exec(i);
148
- if (e) {
149
- let t = P(e[0], `
150
- `).split(`
151
- `), n = "", s = "", a = [];
152
- for (; t.length > 0; ) {
153
- let r = !1, l = [], o;
154
- for (o = 0; o < t.length; o++) if (this.rules.other.blockquoteStart.test(t[o])) l.push(t[o]), r = !0;
155
- else if (!r) l.push(t[o]);
156
- else break;
157
- t = t.slice(o);
158
- let h = l.join(`
159
- `), c = h.replace(this.rules.other.blockquoteSetextReplace, `
160
- $1`).replace(this.rules.other.blockquoteSetextReplace2, "");
161
- n = n ? `${n}
162
- ${h}` : h, s = s ? `${s}
163
- ${c}` : c;
164
- let p = this.lexer.state.top;
165
- if (this.lexer.state.top = !0, this.lexer.blockTokens(c, a, !0), this.lexer.state.top = p, t.length === 0) break;
166
- let u = a.at(-1);
167
- if (u?.type === "code") break;
168
- if (u?.type === "blockquote") {
169
- let g = u, k = g.raw + `
170
- ` + t.join(`
171
- `), w = this.blockquote(k);
172
- a[a.length - 1] = w, n = n.substring(0, n.length - g.raw.length) + w.raw, s = s.substring(0, s.length - g.text.length) + w.text;
173
- break;
174
- } else if (u?.type === "list") {
175
- let g = u, k = g.raw + `
176
- ` + t.join(`
177
- `), w = this.list(k);
178
- a[a.length - 1] = w, n = n.substring(0, n.length - u.raw.length) + w.raw, s = s.substring(0, s.length - g.raw.length) + w.raw, t = k.substring(a.at(-1).raw.length).split(`
179
- `);
180
- continue;
181
- }
145
+ return s;
146
+ }
147
+ const st = y.Root({
148
+ // Provides agentExecutionContext, outputMessage, summary, and status
149
+ // channels with the orchestrator's standard reducers/defaults so the
150
+ // sub-agent reports back through the same shape the orchestrator
151
+ // persists into priorSteps.
152
+ ...W(),
153
+ solutionResponse: y({
154
+ reducer: (t, e) => e ?? null,
155
+ default: () => null
156
+ }),
157
+ documentSkillUrl: y({
158
+ reducer: (t, e) => e ?? null,
159
+ default: () => null
160
+ }),
161
+ // Persisted across turns via the graph checkpointer so follow-up questions
162
+ // continue the same service conversation. Null on the very first interaction
163
+ // or after messages are cleared.
164
+ conversationId: y({
165
+ reducer: (t, e) => e ?? t,
166
+ default: () => null
167
+ })
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) => {
169
+ if (!t) return;
170
+ const n = fe(t);
171
+ if (!n) return;
172
+ const a = { context: {
173
+ kind: "DocAIAssistantRequest",
174
+ filters: {
175
+ products: "ArcGIS Solutions",
176
+ persona: { persona: "apps-solutions" },
177
+ pipeline: {
178
+ translation: { allow: !0, language: s, use_llm: !1 }
182
179
  }
183
- return { type: "blockquote", raw: n, tokens: a, text: s };
184
180
  }
185
- }
186
- list(i) {
187
- let e = this.rules.block.list.exec(i);
188
- if (e) {
189
- let t = e[1].trim(), n = t.length > 1, s = { type: "list", raw: "", ordered: n, start: n ? +t.slice(0, -1) : "", loose: !1, items: [] };
190
- t = n ? `\\d{1,9}\\${t.slice(-1)}` : `\\${t}`, this.options.pedantic && (t = n ? t : "[*+-]");
191
- let a = this.rules.other.listItemRegex(t), r = !1;
192
- for (; i; ) {
193
- let o = !1, h = "", c = "";
194
- if (!(e = a.exec(i)) || this.rules.block.hr.test(i)) break;
195
- h = e[0], i = i.substring(h.length);
196
- let p = _t(e[2].split(`
197
- `, 1)[0], e[1].length), u = i.split(`
198
- `, 1)[0], g = !p.trim(), k = 0;
199
- if (this.options.pedantic ? (k = 2, c = p.trimStart()) : g ? k = e[1].length + 1 : (k = p.search(this.rules.other.nonSpaceChar), k = k > 4 ? 1 : k, c = p.slice(k), k += e[1].length), g && this.rules.other.blankLine.test(u) && (h += u + `
200
- `, i = i.substring(u.length + 1), o = !0), !o) {
201
- let w = this.rules.other.nextBulletRegex(k), E = this.rules.other.hrRegex(k), M = this.rules.other.fencesBeginRegex(k), x = this.rules.other.headingBeginRegex(k), _ = this.rules.other.htmlBeginRegex(k), C = this.rules.other.blockquoteBeginRegex(k);
202
- for (; i; ) {
203
- let z = i.split(`
204
- `, 1)[0], $;
205
- if (u = z, this.options.pedantic ? (u = u.replace(this.rules.other.listReplaceNesting, " "), $ = u) : $ = u.replace(this.rules.other.tabCharGlobal, " "), M.test(u) || x.test(u) || _.test(u) || C.test(u) || w.test(u) || E.test(u)) break;
206
- if ($.search(this.rules.other.nonSpaceChar) >= k || !u.trim()) c += `
207
- ` + $.slice(k);
208
- else {
209
- if (g || p.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || M.test(p) || x.test(p) || E.test(p)) break;
210
- c += `
211
- ` + u;
212
- }
213
- g = !u.trim(), h += z + `
214
- `, i = i.substring(z.length + 1), p = $.slice(k);
215
- }
216
- }
217
- s.loose || (r ? s.loose = !0 : this.rules.other.doubleBlankLine.test(h) && (r = !0)), s.items.push({ type: "list_item", raw: h, task: !!this.options.gfm && this.rules.other.listIsTask.test(c), loose: !1, text: c, tokens: [] }), s.raw += h;
218
- }
219
- let l = s.items.at(-1);
220
- if (l) l.raw = l.raw.trimEnd(), l.text = l.text.trimEnd();
221
- else return;
222
- s.raw = s.raw.trimEnd();
223
- for (let o of s.items) {
224
- if (this.lexer.state.top = !1, o.tokens = this.lexer.blockTokens(o.text, []), o.task) {
225
- if (o.text = o.text.replace(this.rules.other.listReplaceTask, ""), o.tokens[0]?.type === "text" || o.tokens[0]?.type === "paragraph") {
226
- o.tokens[0].raw = o.tokens[0].raw.replace(this.rules.other.listReplaceTask, ""), o.tokens[0].text = o.tokens[0].text.replace(this.rules.other.listReplaceTask, "");
227
- for (let c = this.lexer.inlineQueue.length - 1; c >= 0; c--) if (this.rules.other.listIsTask.test(this.lexer.inlineQueue[c].src)) {
228
- this.lexer.inlineQueue[c].src = this.lexer.inlineQueue[c].src.replace(this.rules.other.listReplaceTask, "");
229
- break;
230
- }
231
- }
232
- let h = this.rules.other.listTaskCheckbox.exec(o.raw);
233
- if (h) {
234
- let c = { type: "checkbox", raw: h[0] + " ", checked: h[0] !== "[ ]" };
235
- o.checked = c.checked, s.loose ? o.tokens[0] && ["paragraph", "text"].includes(o.tokens[0].type) && "tokens" in o.tokens[0] && o.tokens[0].tokens ? (o.tokens[0].raw = c.raw + o.tokens[0].raw, o.tokens[0].text = c.raw + o.tokens[0].text, o.tokens[0].tokens.unshift(c)) : o.tokens.unshift({ type: "paragraph", raw: c.raw, text: c.raw, tokens: [c] }) : o.tokens.unshift(c);
181
+ } };
182
+ i && (a.conversationId = i), G(a, n, e ?? "");
183
+ }, nt = async (t, e) => {
184
+ if (e?.configurable?.abortSignal?.aborted)
185
+ return {};
186
+ const s = q(e), i = t.documentSkillUrl;
187
+ let n = [];
188
+ const o = await tt(t, e);
189
+ await w(
190
+ { text: s.agentProgress.explorerAgentSearching },
191
+ e
192
+ );
193
+ let a = await G(
194
+ {
195
+ message: o,
196
+ conversationId: e?.configurable?.context?.convoId ?? void 0,
197
+ context: {
198
+ kind: "DocAIAssistantRequest",
199
+ filters: {
200
+ products: "ArcGIS Solutions",
201
+ persona: { persona: "apps-solutions" },
202
+ pipeline: {
203
+ translation: { allow: !0, language: e?.configurable?.context?.configContext.locale ?? "en", use_llm: !1 }
236
204
  }
237
205
  }
238
- if (!s.loose) {
239
- let h = o.tokens.filter((p) => p.type === "space"), c = h.length > 0 && h.some((p) => this.rules.other.anyLine.test(p.raw));
240
- s.loose = c;
241
- }
242
- }
243
- if (s.loose) for (let o of s.items) {
244
- o.loose = !0;
245
- for (let h of o.tokens) h.type === "text" && (h.type = "paragraph");
246
206
  }
247
- return s;
207
+ },
208
+ i,
209
+ e?.configurable?.context?.token ?? ""
210
+ );
211
+ a.conversationId && e?.configurable?.context?.setConversationId && e.configurable.context.setConversationId(a.conversationId);
212
+ let l = {
213
+ message: a.message,
214
+ conversationId: a.conversationId,
215
+ hasMore: a.hasMore,
216
+ ackSequenceNumber: a.sequenceNumber,
217
+ inquiryId: a.inquiryId
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 = [
224
+ ...n,
225
+ ...T.allMatches.filter(
226
+ (U) => !n.some((_) => _.solution.id === U.solution.id)
227
+ )
228
+ ];
248
229
  }
249
- }
250
- html(i) {
251
- let e = this.rules.block.html.exec(i);
252
- if (e) return { type: "html", block: !0, raw: e[0], pre: e[1] === "pre" || e[1] === "script" || e[1] === "style", text: e[0] };
253
- }
254
- def(i) {
255
- let e = this.rules.block.def.exec(i);
256
- if (e) {
257
- let t = e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal, " "), n = e[2] ? e[2].replace(this.rules.other.hrefBrackets, "$1").replace(this.rules.inline.anyPunctuation, "$1") : "", s = e[3] ? e[3].substring(1, e[3].length - 1).replace(this.rules.inline.anyPunctuation, "$1") : e[3];
258
- return { type: "def", tag: t, raw: e[0], href: n, title: s };
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);
259
234
  }
260
- }
261
- table(i) {
262
- let e = this.rules.block.table.exec(i);
263
- if (!e || !this.rules.other.tableDelimiter.test(e[2])) return;
264
- let t = pe(e[1]), n = e[2].replace(this.rules.other.tableAlignChars, "").split("|"), s = e[3]?.trim() ? e[3].replace(this.rules.other.tableRowBlankLine, "").split(`
265
- `) : [], a = { type: "table", raw: e[0], header: [], align: [], rows: [] };
266
- if (t.length === n.length) {
267
- for (let r of n) this.rules.other.tableAlignRight.test(r) ? a.align.push("right") : this.rules.other.tableAlignCenter.test(r) ? a.align.push("center") : this.rules.other.tableAlignLeft.test(r) ? a.align.push("left") : a.align.push(null);
268
- for (let r = 0; r < t.length; r++) a.header.push({ text: t[r], tokens: this.lexer.inline(t[r]), header: !0, align: a.align[r] });
269
- for (let r of s) a.rows.push(pe(r, a.header.length).map((l, o) => ({ text: l, tokens: this.lexer.inline(l), header: !1, align: a.align[o] })));
270
- return a;
235
+ };
236
+ for (await c(a); l.hasMore; ) {
237
+ if (e?.configurable?.abortSignal?.aborted)
238
+ return {};
239
+ await et(500), a = await G(
240
+ {
241
+ conversationId: l.conversationId,
242
+ ackSequenceNumber: l.ackSequenceNumber,
243
+ inquiryId: l.inquiryId
244
+ },
245
+ i,
246
+ e?.configurable?.context?.token ?? ""
247
+ ), l = {
248
+ message: a.message,
249
+ conversationId: a.conversationId,
250
+ hasMore: a.hasMore,
251
+ ackSequenceNumber: a.sequenceNumber,
252
+ inquiryId: a.inquiryId
253
+ }, await c(a);
254
+ }
255
+ return fe(e?.configurable?.context.portal) && be(
256
+ e?.configurable?.context.portal,
257
+ e?.configurable?.context.token ?? "",
258
+ e?.configurable?.context.configContext.locale ?? "en",
259
+ l.conversationId
260
+ ), n.length && (n.length === 1 ? ge(n[0].solution.id) : me(n)), {
261
+ outputMessage: d,
262
+ summary: d,
263
+ status: "success",
264
+ solutionResponse: l,
265
+ conversationId: l.conversationId
266
+ };
267
+ }, at = async (t, e) => {
268
+ let s = null;
269
+ return t.documentSkillUrl === null && e?.configurable?.context?.portal && (s = Ze(e.configurable.context.portal)), {
270
+ documentSkillUrl: s
271
+ };
272
+ };
273
+ await v(he, "solutions_explorer_description");
274
+ const ye = (t) => {
275
+ if (t && Array.isArray(t.id) && t.id.length > 0)
276
+ return t.id[t.id.length - 1].replace("Message", "").toLowerCase();
277
+ if (t && typeof t._getType == "function")
278
+ try {
279
+ return t._getType();
280
+ } catch {
281
+ return "human";
271
282
  }
283
+ return "human";
284
+ }, ot = (t) => {
285
+ const e = ye(t);
286
+ if (t && t.kwargs)
287
+ return {
288
+ role: e,
289
+ ...t.kwargs
290
+ // Includes content, id, additional_kwargs, response_metadata, etc.
291
+ };
292
+ if (t && typeof t == "object") {
293
+ const s = {
294
+ role: e,
295
+ content: typeof t.content == "string" ? t.content : String(t.content || "")
296
+ };
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;
272
298
  }
273
- lheading(i) {
274
- let e = this.rules.block.lheading.exec(i);
275
- if (e) return { type: "heading", raw: e[0], depth: e[2].charAt(0) === "=" ? 1 : 2, text: e[1], tokens: this.lexer.inline(e[1]) };
299
+ return { role: "human", content: String(t) };
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
302
+ };
303
+ class ve {
304
+ constructor(e, s, i = !0) {
305
+ this.isValid = !0, this.issues = [], this.fieldNameRegistry = null, this.response = e, this.template = s, this.newDesign = i, this.validate();
276
306
  }
277
- paragraph(i) {
278
- let e = this.rules.block.paragraph.exec(i);
279
- if (e) {
280
- let t = e[1].charAt(e[1].length - 1) === `
281
- ` ? e[1].slice(0, -1) : e[1];
282
- return { type: "paragraph", raw: e[0], text: t, tokens: this.lexer.inline(t) };
283
- }
307
+ /**
308
+ * Runs all validation checks on the response.
309
+ */
310
+ validate() {
311
+ this.compareModels(), this.validateResponse();
284
312
  }
285
- text(i) {
286
- let e = this.rules.block.text.exec(i);
287
- if (e) return { type: "text", raw: e[0], text: e[0], tokens: this.lexer.inline(e[0]) };
313
+ /**
314
+ * Compares response models against template models.
315
+ */
316
+ compareModels() {
317
+ this._compareStrings(), this._compareItems(), this._compareFeatureLayers();
288
318
  }
289
- escape(i) {
290
- let e = this.rules.inline.escape.exec(i);
291
- if (e) return { type: "escape", raw: e[0], text: e[1] };
319
+ /**
320
+ * Validates response properties and structure.
321
+ */
322
+ validateResponse() {
323
+ this._validateSolutionProps(), this._validateItems(), this._validateFeatureLayer();
292
324
  }
293
- tag(i) {
294
- let e = this.rules.inline.tag.exec(i);
295
- if (e) return !this.lexer.state.inLink && this.rules.other.startATag.test(e[0]) ? this.lexer.state.inLink = !0 : this.lexer.state.inLink && this.rules.other.endATag.test(e[0]) && (this.lexer.state.inLink = !1), !this.lexer.state.inRawBlock && this.rules.other.startPreScriptTag.test(e[0]) ? this.lexer.state.inRawBlock = !0 : this.lexer.state.inRawBlock && this.rules.other.endPreScriptTag.test(e[0]) && (this.lexer.state.inRawBlock = !1), { type: "html", raw: e[0], inLink: this.lexer.state.inLink, inRawBlock: this.lexer.state.inRawBlock, block: !1, text: e[0] };
325
+ /**
326
+ * Compares string keys and values between response and template.
327
+ */
328
+ _compareStrings() {
329
+ const e = new Set(this.template.solution.strings.map((i) => i.key)), s = new Set(this.response.solution.strings.map((i) => i.key));
330
+ e.size === s.size && [...e].every((i) => s.has(i)) || this._logIssue("String keys in llm response do not match the template.");
331
+ for (const i of this.response.solution.strings)
332
+ i.value || this._logIssue(`String key '${i.key}' has no value in the design. It must be populated.`);
296
333
  }
297
- link(i) {
298
- let e = this.rules.inline.link.exec(i);
299
- if (e) {
300
- let t = e[2].trim();
301
- if (!this.options.pedantic && this.rules.other.startAngleBracket.test(t)) {
302
- if (!this.rules.other.endAngleBracket.test(t)) return;
303
- let a = P(t.slice(0, -1), "\\");
304
- if ((t.length - a.length) % 2 === 0) return;
305
- } else {
306
- let a = wt(e[2], "()");
307
- if (a === -2) return;
308
- if (a > -1) {
309
- let r = (e[0].indexOf("!") === 0 ? 5 : 4) + e[1].length + a;
310
- e[2] = e[2].substring(0, a), e[0] = e[0].substring(0, r).trim(), e[3] = "";
311
- }
312
- }
313
- let n = e[2], s = "";
314
- if (this.options.pedantic) {
315
- let a = this.rules.other.pedanticHrefTitle.exec(n);
316
- a && (n = a[1], s = a[3]);
317
- } else s = e[3] ? e[3].slice(1, -1) : "";
318
- return n = n.trim(), this.rules.other.startAngleBracket.test(n) && (this.options.pedantic && !this.rules.other.endAngleBracket.test(t) ? n = n.slice(1) : n = n.slice(1, -1)), ue(e, { href: n && n.replace(this.rules.inline.anyPunctuation, "$1"), title: s && s.replace(this.rules.inline.anyPunctuation, "$1") }, e[0], this.lexer, this.rules);
319
- }
334
+ /**
335
+ * Compares item IDs between response and template.
336
+ */
337
+ _compareItems() {
338
+ const e = new Set(this.template.items.map((i) => i.id)), s = new Set(this.response.items.map((i) => i.id));
339
+ e.size === s.size && [...e].every((i) => s.has(i)) || this._logIssue("Item IDs in design do not match the template.");
320
340
  }
321
- reflink(i, e) {
322
- let t;
323
- if ((t = this.rules.inline.reflink.exec(i)) || (t = this.rules.inline.nolink.exec(i))) {
324
- let n = (t[2] || t[1]).replace(this.rules.other.multipleSpaceGlobal, " "), s = e[n.toLowerCase()];
325
- if (!s) {
326
- let a = t[0].charAt(0);
327
- return { type: "text", raw: a, text: a };
328
- }
329
- return ue(t, s, t[0], this.lexer, this.rules);
341
+ /**
342
+ * Compares feature layer configuration between response and template.
343
+ */
344
+ _compareFeatureLayers() {
345
+ const e = this.template.featureLayer, s = this.response.featureLayer;
346
+ if (e.itemId !== s.itemId) {
347
+ this._logIssue(`Feature Layer itemId '${s.itemId}' does not match template '${e.itemId}'.`);
348
+ return;
330
349
  }
331
- }
332
- emStrong(i, e, t = "") {
333
- let n = this.rules.inline.emStrongLDelim.exec(i);
334
- if (!(!n || n[3] && t.match(this.rules.other.unicodeAlphaNumeric)) && (!(n[1] || n[2]) || !t || this.rules.inline.punctuation.exec(t))) {
335
- let s = [...n[0]].length - 1, a, r, l = s, o = 0, h = n[0][0] === "*" ? this.rules.inline.emStrongRDelimAst : this.rules.inline.emStrongRDelimUnd;
336
- for (h.lastIndex = 0, e = e.slice(-1 * i.length + s); (n = h.exec(e)) != null; ) {
337
- if (a = n[1] || n[2] || n[3] || n[4] || n[5] || n[6], !a) continue;
338
- if (r = [...a].length, n[3] || n[4]) {
339
- l += r;
340
- continue;
341
- } else if ((n[5] || n[6]) && s % 3 && !((s + r) % 3)) {
342
- o += r;
343
- continue;
344
- }
345
- if (l -= r, l > 0) continue;
346
- r = Math.min(r, r + l + o);
347
- let c = [...n[0]][0].length, p = i.slice(0, s + n.index + c + r);
348
- if (Math.min(s, r) % 2) {
349
- let g = p.slice(1, -1);
350
- return { type: "em", raw: p, text: g, tokens: this.lexer.inlineTokens(g) };
351
- }
352
- let u = p.slice(2, -2);
353
- return { type: "strong", raw: p, text: u, tokens: this.lexer.inlineTokens(u) };
354
- }
350
+ if (!e.addLayers) {
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.`);
354
+ else
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.`);
359
+ }
355
360
  }
356
361
  }
357
- codespan(i) {
358
- let e = this.rules.inline.code.exec(i);
359
- if (e) {
360
- let t = e[2].replace(this.rules.other.newLineCharGlobal, " "), n = this.rules.other.nonSpaceChar.test(t), s = this.rules.other.startingSpaceChar.test(t) && this.rules.other.endingSpaceChar.test(t);
361
- return n && s && (t = t.substring(1, t.length - 1)), { type: "codespan", raw: e[0], text: t };
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}).`);
362
370
  }
363
371
  }
364
- br(i) {
365
- let e = this.rules.inline.br.exec(i);
366
- if (e) return { type: "br", raw: e[0] };
367
- }
368
- del(i, e, t = "") {
369
- let n = this.rules.inline.delLDelim.exec(i);
370
- if (n && (!n[1] || !t || this.rules.inline.punctuation.exec(t))) {
371
- let s = [...n[0]].length - 1, a, r, l = s, o = this.rules.inline.delRDelim;
372
- for (o.lastIndex = 0, e = e.slice(-1 * i.length + s); (n = o.exec(e)) != null; ) {
373
- if (a = n[1] || n[2] || n[3] || n[4] || n[5] || n[6], !a || (r = [...a].length, r !== s)) continue;
374
- if (n[3] || n[4]) {
375
- l += r;
376
- continue;
377
- }
378
- if (l -= r, l > 0) continue;
379
- r = Math.min(r, r + l);
380
- let h = [...n[0]][0].length, c = i.slice(0, s + n.index + h + r), p = c.slice(s, -s);
381
- return { type: "del", raw: c, text: p, tokens: this.lexer.inlineTokens(p) };
372
+ /**
373
+ * Validates all items in the response.
374
+ */
375
+ _validateItems() {
376
+ const e = /* @__PURE__ */ new Set([
377
+ "Feature Layer (hosted)",
378
+ "Feature Layer (hosted, view)"
379
+ ]);
380
+ for (const s of this.response.items) {
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}).`);
382
386
  }
383
387
  }
384
388
  }
385
- autolink(i) {
386
- let e = this.rules.inline.autolink.exec(i);
387
- if (e) {
388
- let t, n;
389
- return e[2] === "@" ? (t = e[1], n = "mailto:" + t) : (t = e[1], n = t), { type: "link", raw: e[0], text: t, href: n, tokens: [{ type: "text", raw: t, text: t }] };
389
+ /**
390
+ * Validates feature layer structure and layers.
391
+ */
392
+ _validateFeatureLayer() {
393
+ const e = this.template.featureLayer.layers;
394
+ this.response.featureLayer.layers.length || this._logIssue("Feature layer item must contain at least one layer.");
395
+ const s = this.response.featureLayer.layers.map((i) => i.name.toLowerCase());
396
+ s.length !== new Set(s).size && this._logIssue(`Layer names must be unique (case-insensitive). Layer names in design: ${s}.`);
397
+ for (const i of this.response.featureLayer.layers) {
398
+ this._validateLayer(i, this.response.featureLayer.addLayers);
399
+ const n = e.find((o) => o.id === i.id);
400
+ n && this._validateRequiredFields(i, n);
390
401
  }
391
402
  }
392
- url(i) {
393
- let e;
394
- if (e = this.rules.inline.url.exec(i)) {
395
- let t, n;
396
- if (e[2] === "@") t = e[0], n = "mailto:" + t;
397
- else {
398
- let s;
399
- do
400
- s = e[0], e[0] = this.rules.inline._backpedal.exec(e[0])?.[0] ?? "";
401
- while (s !== e[0]);
402
- t = e[0], e[1] === "www." ? n = "http://" + e[0] : n = e[0];
403
- }
404
- return { type: "link", raw: e[0], text: t, href: n, tokens: [{ type: "text", raw: t, text: t }] };
405
- }
403
+ /**
404
+ * Validates that all required fields from template are present in layer.
405
+ */
406
+ _validateRequiredFields(e, s) {
407
+ const i = new Set(e.requiredFields.map((n) => n.name));
408
+ for (const n of s.requiredFields)
409
+ i.has(n.name) || this._logIssue(`Layer '${e.name}' is missing required field '${n.name}'.`);
406
410
  }
407
- inlineText(i) {
408
- let e = this.rules.inline.text.exec(i);
409
- if (e) {
410
- let t = this.lexer.state.inRawBlock;
411
- return { type: "text", raw: e[0], text: e[0], escaped: t };
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(
416
+ `Layer '${e.name}' cannot be a Table. It may be a Point, Line, or Polygon.`
417
+ );
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}).`);
412
422
  }
423
+ this._validateLayerFields(e);
413
424
  }
414
- }, v = class j {
415
- tokens;
416
- options;
417
- state;
418
- inlineQueue;
419
- tokenizer;
420
- constructor(e) {
421
- this.tokens = [], this.tokens.links = /* @__PURE__ */ Object.create(null), this.options = e || I, this.options.tokenizer = this.options.tokenizer || new D(), this.tokenizer = this.options.tokenizer, this.tokenizer.options = this.options, this.tokenizer.lexer = this, this.inlineQueue = [], this.state = { inLink: !1, inRawBlock: !1, top: !0 };
422
- let t = { other: b, block: N.normal, inline: L.normal };
423
- this.options.pedantic ? (t.block = N.pedantic, t.inline = L.pedantic) : this.options.gfm && (t.block = N.gfm, this.options.breaks ? t.inline = L.breaks : t.inline = L.gfm), this.tokenizer.rules = t;
424
- }
425
- static get rules() {
426
- return { block: N, inline: L };
427
- }
428
- static lex(e, t) {
429
- return new j(t).lex(e);
430
- }
431
- static lexInline(e, t) {
432
- return new j(t).inlineTokens(e);
433
- }
434
- lex(e) {
435
- e = e.replace(b.carriageReturn, `
436
- `), this.blockTokens(e, this.tokens);
437
- for (let t = 0; t < this.inlineQueue.length; t++) {
438
- let n = this.inlineQueue[t];
439
- this.inlineTokens(n.src, n.tokens);
425
+ /**
426
+ * Validates all fields in a layer including custom, required, and system fields.
427
+ */
428
+ _validateLayerFields(e) {
429
+ const s = /* @__PURE__ */ new Set([
430
+ "objectid",
431
+ "globalid",
432
+ "created_date",
433
+ "created_user",
434
+ "last_edited_date",
435
+ "last_edited_user"
436
+ ]), i = e.customFields.map((c) => c.name), n = new Set(e.requiredFields.map((c) => c.name)), o = [...new Set(
437
+ i.filter((c) => s.has(c))
438
+ )];
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(
442
+ i.filter((c) => n.has(c))
443
+ )];
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) {
447
+ const c = e.systemFields ?? [], m = [
448
+ ...e.customFields,
449
+ ...e.requiredFields,
450
+ ...c
451
+ ].map((h) => h.name);
452
+ m.length !== new Set(m).size && this._logIssue(`Layer '${e.name}' has duplicate fields: ${JSON.stringify(m)}.`);
440
453
  }
441
- return this.inlineQueue = [], this.tokens;
454
+ const l = e.systemFields ?? [], d = [...e.customFields, ...e.requiredFields, ...l].map((c) => c.name.toLowerCase());
455
+ this.fieldNameRegistry = new Set(d);
456
+ for (const c of [...e.customFields, ...e.requiredFields])
457
+ this._validateField(c);
458
+ this.fieldNameRegistry = null;
442
459
  }
443
- blockTokens(e, t = [], n = !1) {
444
- for (this.options.pedantic && (e = e.replace(b.tabCharGlobal, " ").replace(b.spaceLine, "")); e; ) {
445
- let s;
446
- if (this.options.extensions?.block?.some((r) => (s = r.call({ lexer: this }, e, t)) ? (e = e.substring(s.raw.length), t.push(s), !0) : !1)) continue;
447
- if (s = this.tokenizer.space(e)) {
448
- e = e.substring(s.raw.length);
449
- let r = t.at(-1);
450
- s.raw.length === 1 && r !== void 0 ? r.raw += `
451
- ` : t.push(s);
452
- continue;
453
- }
454
- if (s = this.tokenizer.code(e)) {
455
- e = e.substring(s.raw.length);
456
- let r = t.at(-1);
457
- r?.type === "paragraph" || r?.type === "text" ? (r.raw += (r.raw.endsWith(`
458
- `) ? "" : `
459
- `) + s.raw, r.text += `
460
- ` + s.text, this.inlineQueue.at(-1).src = r.text) : t.push(s);
461
- continue;
462
- }
463
- if (s = this.tokenizer.fences(e)) {
464
- e = e.substring(s.raw.length), t.push(s);
465
- continue;
466
- }
467
- if (s = this.tokenizer.heading(e)) {
468
- e = e.substring(s.raw.length), t.push(s);
469
- continue;
470
- }
471
- if (s = this.tokenizer.hr(e)) {
472
- e = e.substring(s.raw.length), t.push(s);
473
- continue;
474
- }
475
- if (s = this.tokenizer.blockquote(e)) {
476
- e = e.substring(s.raw.length), t.push(s);
477
- continue;
478
- }
479
- if (s = this.tokenizer.list(e)) {
480
- e = e.substring(s.raw.length), t.push(s);
481
- continue;
482
- }
483
- if (s = this.tokenizer.html(e)) {
484
- e = e.substring(s.raw.length), t.push(s);
485
- continue;
486
- }
487
- if (s = this.tokenizer.def(e)) {
488
- e = e.substring(s.raw.length);
489
- let r = t.at(-1);
490
- r?.type === "paragraph" || r?.type === "text" ? (r.raw += (r.raw.endsWith(`
491
- `) ? "" : `
492
- `) + s.raw, r.text += `
493
- ` + s.raw, this.inlineQueue.at(-1).src = r.text) : this.tokens.links[s.tag] || (this.tokens.links[s.tag] = { href: s.href, title: s.title }, t.push(s));
494
- continue;
495
- }
496
- if (s = this.tokenizer.table(e)) {
497
- e = e.substring(s.raw.length), t.push(s);
498
- continue;
499
- }
500
- if (s = this.tokenizer.lheading(e)) {
501
- e = e.substring(s.raw.length), t.push(s);
502
- continue;
503
- }
504
- let a = e;
505
- if (this.options.extensions?.startBlock) {
506
- let r = 1 / 0, l = e.slice(1), o;
507
- this.options.extensions.startBlock.forEach((h) => {
508
- o = h.call({ lexer: this }, l), typeof o == "number" && o >= 0 && (r = Math.min(r, o));
509
- }), r < 1 / 0 && r >= 0 && (a = e.substring(0, r + 1));
510
- }
511
- if (this.state.top && (s = this.tokenizer.paragraph(a))) {
512
- let r = t.at(-1);
513
- n && r?.type === "paragraph" ? (r.raw += (r.raw.endsWith(`
514
- `) ? "" : `
515
- `) + s.raw, r.text += `
516
- ` + s.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = r.text) : t.push(s), n = a.length !== e.length, e = e.substring(s.raw.length);
517
- continue;
518
- }
519
- if (s = this.tokenizer.text(e)) {
520
- e = e.substring(s.raw.length);
521
- let r = t.at(-1);
522
- r?.type === "text" ? (r.raw += (r.raw.endsWith(`
523
- `) ? "" : `
524
- `) + s.raw, r.text += `
525
- ` + s.text, this.inlineQueue.pop(), this.inlineQueue.at(-1).src = r.text) : t.push(s);
526
- continue;
527
- }
528
- if (e) {
529
- let r = "Infinite loop on byte: " + e.charCodeAt(0);
530
- if (this.options.silent) {
531
- console.error(r);
532
- break;
533
- } else throw new Error(r);
534
- }
460
+ /**
461
+ * Generates a unique truncated field name within the 31-character limit.
462
+ */
463
+ _getUniqueTruncatedFieldName(e) {
464
+ const i = this.fieldNameRegistry;
465
+ if (!i)
466
+ return e.slice(0, 31);
467
+ const n = e.toLowerCase();
468
+ i.delete(n);
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;
535
474
  }
536
- return this.state.top = !0, t;
475
+ return i.add(a.toLowerCase()), a;
537
476
  }
538
- inline(e, t = []) {
539
- return this.inlineQueue.push({ src: e, tokens: t }), t;
477
+ /**
478
+ * Validates a single field including name, type, length, and domain constraints.
479
+ */
480
+ _validateField(e) {
481
+ const s = /^\p{L}/u, i = /^.[\p{L}\p{M}\p{N}_]*$/u;
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(
483
+ `Field '${e.name}' contains invalid characters (only letters from any writing system, numbers, and underscores are allowed; emojis and punctuation are not allowed).`
484
+ ), e.name.length > 31)
485
+ if (this.newDesign) {
486
+ const n = e.name;
487
+ e.name = this._getUniqueTruncatedFieldName(e.name), console.debug(`Field '${n}' exceeds 31 characters. Auto-fixing to '${e.name}'.`);
488
+ } else
489
+ this._logIssue(`Field '${e.name}' exceeds 31 characters.`);
490
+ if (Ve.has(e.name.toLowerCase()))
491
+ if (this.newDesign) {
492
+ const n = e.name;
493
+ e.name = `${n}_`, console.debug(`Field '${n}' is a SQL reserved keyword. Auto-fixing to '${e.name}'.`);
494
+ } else
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.`));
499
+ }
540
500
  }
541
- inlineTokens(e, t = []) {
542
- let n = e, s = null;
543
- if (this.tokens.links) {
544
- let o = Object.keys(this.tokens.links);
545
- if (o.length > 0) for (; (s = this.tokenizer.rules.inline.reflinkSearch.exec(n)) != null; ) o.includes(s[0].slice(s[0].lastIndexOf("[") + 1, -1)) && (n = n.slice(0, s.index) + "[" + "a".repeat(s[0].length - 2) + "]" + n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex));
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) {
506
+ if (this.newDesign && e.length === 255 && (e.length = 256), typeof e.length != "number" || Number.isNaN(e.length)) {
507
+ this._handleInvalidStringFieldLength(e, 256);
508
+ return;
546
509
  }
547
- for (; (s = this.tokenizer.rules.inline.anyPunctuation.exec(n)) != null; ) n = n.slice(0, s.index) + "++" + n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
548
- let a;
549
- for (; (s = this.tokenizer.rules.inline.blockSkip.exec(n)) != null; ) a = s[2] ? s[2].length : 0, n = n.slice(0, s.index + a) + "[" + "a".repeat(s[0].length - a - 2) + "]" + n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
550
- n = this.options.hooks?.emStrongMask?.call({ lexer: this }, n) ?? n;
551
- let r = !1, l = "";
552
- for (; e; ) {
553
- r || (l = ""), r = !1;
554
- let o;
555
- if (this.options.extensions?.inline?.some((c) => (o = c.call({ lexer: this }, e, t)) ? (e = e.substring(o.raw.length), t.push(o), !0) : !1)) continue;
556
- if (o = this.tokenizer.escape(e)) {
557
- e = e.substring(o.raw.length), t.push(o);
558
- continue;
559
- }
560
- if (o = this.tokenizer.tag(e)) {
561
- e = e.substring(o.raw.length), t.push(o);
562
- continue;
563
- }
564
- if (o = this.tokenizer.link(e)) {
565
- e = e.substring(o.raw.length), t.push(o);
566
- continue;
567
- }
568
- if (o = this.tokenizer.reflink(e, this.tokens.links)) {
569
- e = e.substring(o.raw.length);
570
- let c = t.at(-1);
571
- o.type === "text" && c?.type === "text" ? (c.raw += o.raw, c.text += o.text) : t.push(o);
572
- continue;
573
- }
574
- if (o = this.tokenizer.emStrong(e, n, l)) {
575
- e = e.substring(o.raw.length), t.push(o);
576
- continue;
577
- }
578
- if (o = this.tokenizer.codespan(e)) {
579
- e = e.substring(o.raw.length), t.push(o);
580
- continue;
581
- }
582
- if (o = this.tokenizer.br(e)) {
583
- e = e.substring(o.raw.length), t.push(o);
584
- continue;
585
- }
586
- if (o = this.tokenizer.del(e, n, l)) {
587
- e = e.substring(o.raw.length), t.push(o);
588
- continue;
589
- }
590
- if (o = this.tokenizer.autolink(e)) {
591
- e = e.substring(o.raw.length), t.push(o);
592
- continue;
593
- }
594
- if (!this.state.inLink && (o = this.tokenizer.url(e))) {
595
- e = e.substring(o.raw.length), t.push(o);
596
- continue;
597
- }
598
- let h = e;
599
- if (this.options.extensions?.startInline) {
600
- let c = 1 / 0, p = e.slice(1), u;
601
- this.options.extensions.startInline.forEach((g) => {
602
- u = g.call({ lexer: this }, p), typeof u == "number" && u >= 0 && (c = Math.min(c, u));
603
- }), c < 1 / 0 && c >= 0 && (h = e.substring(0, c + 1));
604
- }
605
- if (o = this.tokenizer.inlineText(h)) {
606
- e = e.substring(o.raw.length), o.raw.slice(-1) !== "_" && (l = o.raw.slice(-1)), r = !0;
607
- let c = t.at(-1);
608
- c?.type === "text" ? (c.raw += o.raw, c.text += o.text) : t.push(o);
609
- continue;
610
- }
611
- if (e) {
612
- let c = "Infinite loop on byte: " + e.charCodeAt(0);
613
- if (this.options.silent) {
614
- console.error(c);
615
- break;
616
- } else throw new Error(c);
617
- }
510
+ const s = e.length;
511
+ if (!Je(s).isValid) {
512
+ const n = s > 4e3 ? 4e3 : 256;
513
+ this._handleInvalidStringFieldLength(e, n);
618
514
  }
619
- return t;
620
- }
621
- }, U = class {
622
- options;
623
- parser;
624
- constructor(i) {
625
- this.options = i || I;
626
- }
627
- space(i) {
628
- return "";
629
- }
630
- code({ text: i, lang: e, escaped: t }) {
631
- let n = (e || "").match(b.notSpaceStart)?.[0], s = i.replace(b.endingNewline, "") + `
632
- `;
633
- return n ? '<pre><code class="language-' + S(n) + '">' + (t ? s : S(s, !0)) + `</code></pre>
634
- ` : "<pre><code>" + (t ? s : S(s, !0)) + `</code></pre>
635
- `;
636
515
  }
637
- blockquote({ tokens: i }) {
638
- return `<blockquote>
639
- ${this.parser.parse(i)}</blockquote>
640
- `;
641
- }
642
- html({ text: i }) {
643
- return i;
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).`);
644
521
  }
645
- def(i) {
646
- return "";
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;
647
527
  }
648
- heading({ tokens: i, depth: e }) {
649
- return `<h${e}>${this.parser.parseInline(i)}</h${e}>
650
- `;
528
+ }
529
+ const pt = r.object({
530
+ key: r.string().describe("Stable key identifier for the string."),
531
+ value: r.string().describe("Display value for the string."),
532
+ description: r.string().describe("Explanation of where/how the string is used.")
533
+ }), mt = r.object({
534
+ id: r.string().describe("ArcGIS item id (32 hex characters)."),
535
+ title: r.string().describe("Item title."),
536
+ description: r.string().describe("Item description."),
537
+ type: r.enum([
538
+ "Feature Layer (hosted)",
539
+ "Feature Layer (hosted, view)",
540
+ "Web Map",
541
+ "Instant App",
542
+ "Dashboard",
543
+ "Web Experience",
544
+ "Form",
545
+ "Table (hosted)",
546
+ "Table (hosted, view)",
547
+ "Hub Site Application",
548
+ "Hub Page",
549
+ "CSV",
550
+ "Data Pipeline",
551
+ "Desktop Application Template",
552
+ "Group",
553
+ "Notebook",
554
+ "QuickCapture Project"
555
+ ]).describe("ArcGIS item type.")
556
+ }), re = r.object({
557
+ name: r.string().describe("Field name."),
558
+ type: r.enum(["string", "integer", "double", "date", "oid", "guid", "globalid"]).describe("Field data type."),
559
+ alias: r.string().describe("Field alias for display."),
560
+ description: r.string().describe("Field description."),
561
+ choiceList: r.array(r.string()).nullable().describe(
562
+ "List of allowed values for string fields with a controlled vocabulary. Null if unrestricted or not applicable."
563
+ ),
564
+ length: r.number().int().nullable().describe("Maximum string length for string fields. Null for non-string fields.")
565
+ }), gt = r.object({
566
+ id: r.number().int().describe("Layer/table id within the feature service."),
567
+ type: r.enum(["Point", "Polyline", "Polygon", "Table"]).describe("Layer type."),
568
+ typeMutable: r.boolean().describe("Indicates whether the layer type can be changed."),
569
+ name: r.string().describe("Layer/table name."),
570
+ description: r.string().describe("Layer/table description."),
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({
574
+ itemId: r.string().describe("ArcGIS item id for the feature layer."),
575
+ addLayers: r.boolean().describe("Indicates whether new layers can be added during solution design."),
576
+ layers: r.array(gt)
577
+ }), Y = r.object({
578
+ response: r.string().describe("Conversational response to the user's query."),
579
+ solution: r.object({
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."),
581
+ title: r.string().describe("Title of the solution."),
582
+ description: r.string().describe("Description of the solution."),
583
+ tags: r.array(r.string()).describe("Keywords/tags associated with the solution."),
584
+ strings: r.array(pt).describe("Localized strings/labels used by apps (dashboards, forms, etc.).")
585
+ }),
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({
589
+ op: r.enum(["add", "remove", "replace", "move", "copy"]).describe("RFC 6902 operation type."),
590
+ path: r.string().describe("RFC 6901 JSON Pointer to the target location."),
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.`),
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.")
593
+ }), bt = r.object({
594
+ response: r.string().describe("Conversational response describing the accepted design changes."),
595
+ patches: r.array(ft).describe("Minimal RFC 6902 patch operations needed to update the current design.")
596
+ }), yt = r.object({
597
+ response: r.string().describe("Short, user-friendly explanation of why the requested update was not applied.")
598
+ }), vt = r.object({
599
+ assistantResponse: r.string().describe("Natural-language response for the user."),
600
+ isValidUpdate: r.boolean().describe("True only when the request is in scope for supported design updates.")
601
+ }), xt = r.object({
602
+ matchedTitles: r.array(r.string()).describe("Titles of solutions that match the user's request. Empty array if no strong match.")
603
+ }), wt = r.object({
604
+ templateId: r.string().min(1).describe("Template id from the available template list."),
605
+ confidence: r.number().min(0).max(1).describe("Confidence score from 0 to 1 for this template match."),
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.")
607
+ }), St = r.object({
608
+ assistantResponse: r.string().nullable().describe("Natural-language response for the user."),
609
+ isValidUseCase: r.boolean().describe("True only when the request is concrete, appropriate, and has at least one matching template."),
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) => {
613
+ const {
614
+ query: e,
615
+ validationIssues: s,
616
+ recentMessages: i,
617
+ fallbackMessage: n,
618
+ promptModules: o
619
+ } = t;
620
+ try {
621
+ return (await C({
622
+ promptText: await v(o, "explainValidationFailure"),
623
+ modelTier: "fast",
624
+ temperature: 0,
625
+ schema: yt,
626
+ messages: i,
627
+ inputVariables: {
628
+ query: e,
629
+ validationIssueCount: String(s.length),
630
+ validationIssues: _t(s)
631
+ }
632
+ })).response?.trim() || n;
633
+ } catch (a) {
634
+ return console.warn(
635
+ "Natural language response failed:",
636
+ { error: a }
637
+ ), n;
638
+ }
639
+ }, X = (t) => t in F, Ct = 5, Tt = 0.8, kt = 0.5, At = "Web Mapping Application", Et = "Embeddings";
640
+ let N = null, J = null, M = null, B = null;
641
+ const Lt = "Build", E = /* @__PURE__ */ Object.assign({
642
+ "./prompts/assessBuildRequest.md": () => import("../../chunks/assessBuildRequest.js").then((t) => t.default),
643
+ "./prompts/assessUpdateRequest.md": () => import("../../chunks/assessUpdateRequest.js").then((t) => t.default),
644
+ "./prompts/description.md": () => import("../../chunks/description2.js").then((t) => t.default),
645
+ "./prompts/designSolution.md": () => import("../../chunks/designSolution.js").then((t) => t.default),
646
+ "./prompts/explainValidationFailure.md": () => import("../../chunks/explainValidationFailure.js").then((t) => t.default),
647
+ "./prompts/findExistingSolution.md": () => import("../../chunks/findExistingSolution.js").then((t) => t.default),
648
+ "./prompts/updateDesign.md": () => import("../../chunks/updateDesign.js").then((t) => t.default)
649
+ }), $t = ut.builderMessages, g = (t) => t?.configurable?.abortSignal.aborted ?? !1, b = (t, e, s) => q(e)?.builderMessages?.[t] ?? $t[t], xe = (t) => {
650
+ typeof window < "u" && window.dispatchEvent(new CustomEvent("arcgis-solution-design-update", {
651
+ detail: t
652
+ }));
653
+ }, Ft = async (t, e, s) => {
654
+ if (!t) return null;
655
+ const i = `type:"${At}" AND typekeywords:${Et} AND group:${t}`;
656
+ return (await K.searchItems({
657
+ q: i,
658
+ params: e ? { token: e } : void 0,
659
+ portal: s,
660
+ num: 1
661
+ }))?.results?.[0] ?? null;
662
+ };
663
+ async function Rt(t, e, s, i) {
664
+ try {
665
+ const n = await Ft(t, e, s);
666
+ if (!n || g(i))
667
+ return null;
668
+ const o = new Qe({ id: n.id });
669
+ return await o.load(), g(i) ? null : await o.fetchData("json");
670
+ } catch {
671
+ return null;
651
672
  }
652
- hr(i) {
653
- return `<hr>
654
- `;
673
+ }
674
+ const Dt = async (t, e, s) => {
675
+ if (!t) return [];
676
+ const i = `type:Solution AND typekeywords:${Lt} AND group:${t}`;
677
+ return (await K.searchItems({
678
+ q: i,
679
+ params: e ? { token: e } : void 0,
680
+ portal: s,
681
+ num: 100
682
+ }))?.results ?? [];
683
+ }, Nt = async (t, e, s) => {
684
+ try {
685
+ const i = await K.getItemData(t, {
686
+ params: e ? { token: e } : void 0,
687
+ portal: s
688
+ }), n = i?.buildSolution;
689
+ if (!n) return null;
690
+ const o = i?.params, a = o && typeof o == "object" && !Array.isArray(o) ? o : null;
691
+ return { buildSolution: n, params: a };
692
+ } catch {
693
+ return null;
655
694
  }
656
- list(i) {
657
- let e = i.ordered, t = i.start, n = "";
658
- for (let r = 0; r < i.items.length; r++) {
659
- let l = i.items[r];
660
- n += this.listitem(l);
695
+ }, L = (t, e = {}) => {
696
+ let s = t;
697
+ return "itemId" in e && (s = {
698
+ ...s,
699
+ solution: {
700
+ ...s.solution,
701
+ itemId: e.itemId ?? null
661
702
  }
662
- let s = e ? "ol" : "ul", a = e && t !== 1 ? ' start="' + t + '"' : "";
663
- return "<" + s + a + `>
664
- ` + n + "</" + s + `>
665
- `;
666
- }
667
- listitem(i) {
668
- return `<li>${this.parser.parse(i.tokens)}</li>
669
- `;
670
- }
671
- checkbox({ checked: i }) {
672
- return "<input " + (i ? 'checked="" ' : "") + 'disabled="" type="checkbox"> ';
673
- }
674
- paragraph({ tokens: i }) {
675
- return `<p>${this.parser.parseInline(i)}</p>
676
- `;
703
+ }), e.sourceBuildSolution != null && (s = {
704
+ ...s,
705
+ sourceBuildSolution: e.sourceBuildSolution
706
+ }), "params" in e && (s = {
707
+ ...s,
708
+ params: e.params ?? null
709
+ }), "templateId" in e && (s = {
710
+ ...s,
711
+ templateId: e.templateId ?? null
712
+ }), s;
713
+ }, we = (t, e) => {
714
+ if (t == null || e == null)
715
+ return { ok: !1, error: "design or sourceBuildSolution is null/undefined" };
716
+ try {
717
+ const s = structuredClone(e);
718
+ return new ce({ buildSolution: s }).applyLlmTemplate(t), { ok: !0 };
719
+ } catch (s) {
720
+ return {
721
+ ok: !1,
722
+ error: s instanceof Error ? s.stack ?? s.message : String(s)
723
+ };
677
724
  }
678
- table(i) {
679
- let e = "", t = "";
680
- for (let s = 0; s < i.header.length; s++) t += this.tablecell(i.header[s]);
681
- e += this.tablerow({ text: t });
682
- let n = "";
683
- for (let s = 0; s < i.rows.length; s++) {
684
- let a = i.rows[s];
685
- t = "";
686
- for (let r = 0; r < a.length; r++) t += this.tablecell(a[r]);
687
- n += this.tablerow({ text: t });
725
+ }, Z = async (t) => {
726
+ if (J) {
727
+ Object.entries(J).forEach(([a, l]) => {
728
+ F[a] && (F[a].initialTemplate = l);
729
+ });
730
+ return;
731
+ }
732
+ const e = t?.configurable?.context?.token, s = _e(t), i = Ie(t);
733
+ if (!s) {
734
+ console.warn("Solution Builder: missing primarySolutionsGroupId in appConfig; skipping live template hydration.");
735
+ return;
736
+ }
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;
740
+ if (!l || typeof l != "object") return;
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))
745
+ return;
746
+ const { buildSolution: m, params: h } = c;
747
+ if (typeof m == "object" && m !== null && "solution" in m) {
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;
688
750
  }
689
- return n && (n = `<tbody>${n}</tbody>`), `<table>
690
- <thead>
691
- ` + e + `</thead>
692
- ` + n + `</table>
693
- `;
694
- }
695
- tablerow({ text: i }) {
696
- return `<tr>
697
- ${i}</tr>
698
- `;
699
- }
700
- tablecell(i) {
701
- let e = this.parser.parseInline(i.tokens), t = i.header ? "th" : "td";
702
- return (i.align ? `<${t} align="${i.align}">` : `<${t}>`) + e + `</${t}>
703
- `;
704
- }
705
- strong({ tokens: i }) {
706
- return `<strong>${this.parser.parseInline(i)}</strong>`;
707
- }
708
- em({ tokens: i }) {
709
- return `<em>${this.parser.parseInline(i)}</em>`;
710
- }
711
- codespan({ text: i }) {
712
- return `<code>${S(i, !0)}</code>`;
713
- }
714
- br(i) {
715
- return "<br>";
716
- }
717
- del({ tokens: i }) {
718
- return `<del>${this.parser.parseInline(i)}</del>`;
719
- }
720
- link({ href: i, title: e, tokens: t }) {
721
- let n = this.parser.parseInline(t), s = he(i);
722
- if (s === null) return n;
723
- i = s;
724
- let a = '<a href="' + i + '"';
725
- return e && (a += ' title="' + S(e) + '"'), a += ">" + n + "</a>", a;
726
- }
727
- image({ href: i, title: e, text: t, tokens: n }) {
728
- n && (t = this.parser.parseInline(n, this.parser.textRenderer));
729
- let s = he(i);
730
- if (s === null) return S(t);
731
- i = s;
732
- let a = `<img src="${i}" alt="${S(t)}"`;
733
- return e && (a += ` title="${S(e)}"`), a += ">", a;
734
- }
735
- text(i) {
736
- return "tokens" in i && i.tokens ? this.parser.parseInline(i.tokens) : "escaped" in i && i.escaped ? i.text : S(i.text);
737
- }
738
- }, se = class {
739
- strong({ text: i }) {
740
- return i;
741
- }
742
- em({ text: i }) {
743
- return i;
744
- }
745
- codespan({ text: i }) {
746
- return i;
747
- }
748
- del({ text: i }) {
749
- return i;
750
- }
751
- html({ text: i }) {
752
- return i;
753
- }
754
- text({ text: i }) {
755
- return i;
756
- }
757
- link({ text: i }) {
758
- return "" + i;
759
- }
760
- image({ text: i }) {
761
- return "" + i;
762
- }
763
- br() {
764
- return "";
765
- }
766
- checkbox({ raw: i }) {
767
- return i;
768
- }
769
- }, y = class G {
770
- options;
771
- renderer;
772
- textRenderer;
773
- constructor(e) {
774
- this.options = e || I, this.options.renderer = this.options.renderer || new U(), this.renderer = this.options.renderer, this.renderer.options = this.options, this.renderer.parser = this, this.textRenderer = new se();
775
- }
776
- static parse(e, t) {
777
- return new G(t).parse(e);
778
- }
779
- static parseInline(e, t) {
780
- return new G(t).parseInline(e);
781
- }
782
- parse(e) {
783
- let t = "";
784
- for (let n = 0; n < e.length; n++) {
785
- let s = e[n];
786
- if (this.options.extensions?.renderers?.[s.type]) {
787
- let r = s, l = this.options.extensions.renderers[r.type].call({ parser: this }, r);
788
- if (l !== !1 || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "def", "paragraph", "text"].includes(r.type)) {
789
- t += l || "";
790
- continue;
791
- }
751
+ const u = {
752
+ ...l,
753
+ buildSolution: m
754
+ };
755
+ o[d] = L(
756
+ new ce(u).dumpToLlmTemplate(),
757
+ {
758
+ itemId: a.id,
759
+ sourceBuildSolution: structuredClone(m),
760
+ params: h ? structuredClone(h) : null
792
761
  }
793
- let a = s;
794
- switch (a.type) {
795
- case "space": {
796
- t += this.renderer.space(a);
797
- break;
798
- }
799
- case "hr": {
800
- t += this.renderer.hr(a);
801
- break;
802
- }
803
- case "heading": {
804
- t += this.renderer.heading(a);
805
- break;
806
- }
807
- case "code": {
808
- t += this.renderer.code(a);
809
- break;
810
- }
811
- case "table": {
812
- t += this.renderer.table(a);
813
- break;
814
- }
815
- case "blockquote": {
816
- t += this.renderer.blockquote(a);
817
- break;
818
- }
819
- case "list": {
820
- t += this.renderer.list(a);
821
- break;
822
- }
823
- case "checkbox": {
824
- t += this.renderer.checkbox(a);
825
- break;
826
- }
827
- case "html": {
828
- t += this.renderer.html(a);
829
- break;
830
- }
831
- case "def": {
832
- t += this.renderer.def(a);
833
- break;
834
- }
835
- case "paragraph": {
836
- t += this.renderer.paragraph(a);
837
- break;
838
- }
839
- case "text": {
840
- t += this.renderer.text(a);
841
- break;
842
- }
843
- default: {
844
- let r = 'Token with "' + a.type + '" type was not found.';
845
- if (this.options.silent) return console.error(r), "";
846
- throw new Error(r);
847
- }
762
+ ), F[d] = {
763
+ ...l,
764
+ initialTemplate: o[d]
765
+ };
766
+ })), J = o);
767
+ }, Se = (t) => {
768
+ const e = t?.configurable?.context?.token;
769
+ return typeof e != "string" || !e.trim() ? null : e;
770
+ }, _e = (t) => {
771
+ const e = t?.configurable?.context?.configContext?.primarySolutionsGroupId;
772
+ return typeof e != "string" || !e.trim() ? null : e;
773
+ }, Ie = (t) => {
774
+ const e = t?.configurable?.context?.configContext?.portalURL;
775
+ if (!(typeof e != "string" || !e.trim()))
776
+ return `${e.replace(/\/+$/, "")}/sharing/rest`;
777
+ }, Mt = async (t) => {
778
+ await Promise.all([
779
+ Te(t),
780
+ Z(t)
781
+ ]);
782
+ }, Ce = async (t) => {
783
+ const e = Se(t);
784
+ (!M || e && e !== B) && (B = e ?? B, M = Mt(t).catch((i) => {
785
+ throw M = null, B = null, i;
786
+ })), await M;
787
+ };
788
+ async function Te(t) {
789
+ if (N) return N;
790
+ const e = _e(t);
791
+ if (!e)
792
+ return console.warn("Solution Builder: missing primarySolutionsGroupId in appConfig; skipping embeddings load."), null;
793
+ const s = Ie(t), i = t?.configurable?.context?.configContext?.portalURL;
794
+ if (await new Ge(i ? { url: i } : void 0).load(), g(t))
795
+ return 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;
798
+ }
799
+ const Bt = () => Object.entries(F).map(([t, e]) => `ID: ${t}
800
+ Label: ${e.label}
801
+ Description: ${e.description}`).join(`
802
+
803
+ `), Pt = (t) => {
804
+ const e = t?.configurable?.context?.solutionDesignJson;
805
+ if (typeof e != "string" || !e.trim())
806
+ return null;
807
+ try {
808
+ const s = JSON.parse(e), i = L(
809
+ { response: "", ...s },
810
+ { itemId: s?.solution?.itemId ?? null }
811
+ ), n = Y.safeParse(i);
812
+ if (!n.success)
813
+ return null;
814
+ const { response: o, ...a } = n.data, l = s.templateId, d = typeof l == "string" && X(l) ? l : null;
815
+ return L(
816
+ a,
817
+ {
818
+ sourceBuildSolution: s.sourceBuildSolution,
819
+ templateId: d,
820
+ params: s.params ?? null
848
821
  }
849
- }
850
- return t;
822
+ );
823
+ } catch {
824
+ return null;
851
825
  }
852
- parseInline(e, t = this.renderer) {
853
- let n = "";
854
- for (let s = 0; s < e.length; s++) {
855
- let a = e[s];
856
- if (this.options.extensions?.renderers?.[a.type]) {
857
- let l = this.options.extensions.renderers[a.type].call({ parser: this }, a);
858
- if (l !== !1 || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(a.type)) {
859
- n += l || "";
860
- continue;
861
- }
826
+ }, qt = y.Root({
827
+ ...W(),
828
+ /** Optional human-readable template description retained for UI use. */
829
+ templateDescription: y({
830
+ reducer: (t, e) => typeof e == "string" || e === null ? e : t ?? null,
831
+ default: () => null
832
+ }),
833
+ /** Current editable design payload being refined across turns. */
834
+ currentDesign: y({
835
+ reducer: (t = null, e) => e === void 0 ? t : e ?? null,
836
+ default: () => null
837
+ }),
838
+ /** Initial request assessment produced by the intake prompt. */
839
+ assessment: y({
840
+ reducer: (t = null, e) => e === void 0 ? t : e ?? null,
841
+ default: () => null
842
+ }),
843
+ /** Template selected automatically or by human-in-the-loop choice. */
844
+ selectedTemplate: y({
845
+ reducer: (t = null, e) => e === void 0 ? t : e ?? null,
846
+ default: () => null
847
+ }),
848
+ /** Update request assessment produced when an active design exists. */
849
+ updateAssessment: y({
850
+ reducer: (t = null, e) => e === void 0 ? t : e ?? null,
851
+ default: () => null
852
+ }),
853
+ /** Existing solution matches surfaced before building a new solution. */
854
+ existingMatches: y({
855
+ reducer: (t = [], e) => e === void 0 ? t : e ?? [],
856
+ default: () => []
857
+ }),
858
+ /** User decision for whether to continue building after existing matches are shown. */
859
+ continueBuilding: y({
860
+ reducer: (t = null, e) => e === void 0 ? t : e ?? null,
861
+ default: () => null
862
+ })
863
+ }), Ut = (t, e) => {
864
+ if (g(e))
865
+ return {};
866
+ const s = Pt(e), i = s?.templateId ?? null, n = {};
867
+ return JSON.stringify(t.currentDesign) !== JSON.stringify(s) && (n.currentDesign = s), i && t.selectedTemplate !== i && (n.selectedTemplate = i), n;
868
+ }, Ot = async (t, e) => {
869
+ if (g(e))
870
+ return {};
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"),
874
+ modelTier: "advanced",
875
+ temperature: 0,
876
+ schema: St,
877
+ messages: n,
878
+ inputVariables: { query: s, availableTemplates: i }
879
+ }), a = o.matchedTemplates.filter(
880
+ (u) => X(u.templateId)
881
+ ), l = {
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;
885
+ return {
886
+ assessment: l,
887
+ selectedTemplate: h,
888
+ existingMatches: [],
889
+ continueBuilding: null
890
+ };
891
+ }, zt = (t) => {
892
+ const e = t.assessment?.assistantResponse ?? "";
893
+ return {
894
+ outputMessage: e,
895
+ summary: e,
896
+ status: "success"
897
+ };
898
+ }, jt = async (t, e) => {
899
+ if (g(e))
900
+ return {};
901
+ const { currentDesign: s } = t;
902
+ if (!s)
903
+ return {
904
+ updateAssessment: {
905
+ assistantResponse: "",
906
+ isValidUpdate: !0
862
907
  }
863
- let r = a;
864
- switch (r.type) {
865
- case "escape": {
866
- n += t.text(r);
867
- break;
868
- }
869
- case "html": {
870
- n += t.html(r);
871
- break;
872
- }
873
- case "link": {
874
- n += t.link(r);
875
- break;
876
- }
877
- case "image": {
878
- n += t.image(r);
879
- break;
880
- }
881
- case "checkbox": {
882
- n += t.checkbox(r);
883
- break;
884
- }
885
- case "strong": {
886
- n += t.strong(r);
887
- break;
888
- }
889
- case "em": {
890
- n += t.em(r);
891
- break;
892
- }
893
- case "codespan": {
894
- n += t.codespan(r);
895
- break;
896
- }
897
- case "br": {
898
- n += t.br(r);
899
- break;
900
- }
901
- case "del": {
902
- n += t.del(r);
903
- break;
904
- }
905
- case "text": {
906
- n += t.text(r);
907
- break;
908
- }
909
- default: {
910
- let l = 'Token with "' + r.type + '" type was not found.';
911
- if (this.options.silent) return console.error(l), "";
912
- throw new Error(l);
913
- }
908
+ };
909
+ await w({ text: b("understandingRequest", e) }, e);
910
+ const i = t.agentExecutionContext.userRequest, n = t.agentExecutionContext.messages.slice(-11);
911
+ return {
912
+ updateAssessment: await C({
913
+ promptText: await v(E, "assessUpdateRequest"),
914
+ modelTier: "advanced",
915
+ temperature: 0,
916
+ schema: vt,
917
+ messages: n,
918
+ inputVariables: {
919
+ currentDesign: JSON.stringify(de(s)),
920
+ query: i
914
921
  }
922
+ })
923
+ };
924
+ }, Vt = (t, e) => {
925
+ const s = t.updateAssessment?.assistantResponse ?? b("applyChangeFailed", e);
926
+ return {
927
+ outputMessage: s,
928
+ summary: s,
929
+ status: "success"
930
+ };
931
+ }, Jt = (t, e) => {
932
+ if (g(e))
933
+ return {};
934
+ const { hitlResponse: s } = e.configurable, i = "selectTemplate", n = t.assessment?.matchedTemplates.filter(
935
+ (c) => X(c.templateId)
936
+ ) ?? [], o = n.map((c) => `${c.templateDescription}`);
937
+ if (s?.agentId !== "solutionBuilder" || s.id !== i) {
938
+ const c = {
939
+ agentId: "solutionBuilder",
940
+ id: i,
941
+ kind: "singleSelection",
942
+ message: b("selectTemplatePrompt", e),
943
+ metadata: [...o]
944
+ };
945
+ throw new le(c);
946
+ }
947
+ const a = String(s.payload ?? ""), l = o.findIndex((c) => c === a);
948
+ return {
949
+ selectedTemplate: (l >= 0 ? n[l] : void 0)?.templateId ?? n[0]?.templateId ?? null
950
+ };
951
+ }, Gt = async (t, e) => {
952
+ if (g(e))
953
+ return {};
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))
957
+ return {};
958
+ if (!n)
959
+ return console.warn("Solutions Search: failed to load solution embeddings cache; skipping search."), { existingMatches: [] };
960
+ if (!n.length)
961
+ return { existingMatches: [] };
962
+ const [o] = await Ue([i]);
963
+ if (g(e))
964
+ return {};
965
+ const a = n.map((u) => ({
966
+ solution: u,
967
+ score: Oe(o, u.embedding)
968
+ }));
969
+ a.sort((u, f) => f.score - u.score);
970
+ const l = a.slice(0, Ct);
971
+ if (!l.length)
972
+ return { existingMatches: [] };
973
+ const d = l.map(({ solution: u }) => `${u.title}
974
+ Snippet: ${u.snippet}
975
+ Description: ${u.description}`).join(`
976
+
977
+ `), c = t.agentExecutionContext.messages.slice(-11);
978
+ return { existingMatches: (await C({
979
+ promptText: await v(E, "findExistingSolution"),
980
+ modelTier: "fast",
981
+ temperature: 0,
982
+ schema: xt,
983
+ messages: c,
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))
988
+ return {};
989
+ const { existingMatches: s } = t, { hitlResponse: i } = e.configurable, n = `confirmExistingSolution:${s[0].solution.id}`;
990
+ if (i?.agentId !== "solutionBuilder" || i.id !== n) {
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)
995
+ ], m = {
996
+ agentId: "solutionBuilder",
997
+ id: n,
998
+ kind: "singleSelection",
999
+ message: d,
1000
+ metadata: c
1001
+ };
1002
+ throw new le(m);
1003
+ }
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);
1008
+ return {
1009
+ outputMessage: s,
1010
+ summary: s,
1011
+ status: "success"
1012
+ };
1013
+ }, ke = async (t, e) => {
1014
+ if (g(e))
1015
+ return {};
1016
+ if (await Ce(e), g(e))
1017
+ return {};
1018
+ const { currentDesign: s } = t, i = t.agentExecutionContext.userRequest;
1019
+ await w({ text: b("creatingDesign", e) }, e);
1020
+ let n = P(t.selectedTemplate);
1021
+ if (n?.initialTemplate || (await Z(e), n = P(t.selectedTemplate)), g(e))
1022
+ return {};
1023
+ if (!n?.initialTemplate)
1024
+ throw new Error("No hydrated templates are available for solution design.");
1025
+ const o = L(
1026
+ s ?? n.initialTemplate,
1027
+ {
1028
+ itemId: (s ?? n.initialTemplate)?.solution?.itemId ?? null,
1029
+ sourceBuildSolution: s?.sourceBuildSolution ?? n.initialTemplate.sourceBuildSolution,
1030
+ params: s?.params ?? n.initialTemplate.params ?? null
915
1031
  }
916
- return n;
917
- }
918
- }, q = class {
919
- options;
920
- block;
921
- constructor(i) {
922
- this.options = i || I;
923
- }
924
- static passThroughHooks = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens", "emStrongMask"]);
925
- static passThroughHooksRespectAsync = /* @__PURE__ */ new Set(["preprocess", "postprocess", "processAllTokens"]);
926
- preprocess(i) {
927
- return i;
928
- }
929
- postprocess(i) {
930
- return i;
931
- }
932
- processAllTokens(i) {
933
- return i;
934
- }
935
- emStrongMask(i) {
936
- return i;
937
- }
938
- provideLexer() {
939
- return this.block ? v.lex : v.lexInline;
940
- }
941
- provideParser() {
942
- return this.block ? y.parse : y.parseInline;
943
- }
944
- }, yt = class {
945
- defaults = W();
946
- options = this.setOptions;
947
- parse = this.parseMarkdown(!0);
948
- parseInline = this.parseMarkdown(!1);
949
- Parser = y;
950
- Renderer = U;
951
- TextRenderer = se;
952
- Lexer = v;
953
- Tokenizer = D;
954
- Hooks = q;
955
- constructor(...i) {
956
- this.use(...i);
957
- }
958
- walkTokens(i, e) {
959
- let t = [];
960
- for (let n of i) switch (t = t.concat(e.call(this, n)), n.type) {
961
- case "table": {
962
- let s = n;
963
- for (let a of s.header) t = t.concat(this.walkTokens(a.tokens, e));
964
- for (let a of s.rows) for (let r of a) t = t.concat(this.walkTokens(r.tokens, e));
965
- break;
966
- }
967
- case "list": {
968
- let s = n;
969
- t = t.concat(this.walkTokens(s.items, e));
970
- break;
971
- }
972
- default: {
973
- let s = n;
974
- this.defaults.extensions?.childTokens?.[s.type] ? this.defaults.extensions.childTokens[s.type].forEach((a) => {
975
- let r = s[a].flat(1 / 0);
976
- t = t.concat(this.walkTokens(r, e));
977
- }) : s.tokens && (t = t.concat(this.walkTokens(s.tokens, e)));
978
- }
1032
+ ), a = t.agentExecutionContext.messages.slice(-11), l = await C({
1033
+ promptText: await v(E, "designSolution"),
1034
+ modelTier: "advanced",
1035
+ temperature: 0,
1036
+ schema: Y,
1037
+ messages: a,
1038
+ inputVariables: {
1039
+ currentDesign: JSON.stringify(ue(o)),
1040
+ templateInstructions: n.instructions,
1041
+ query: i
1042
+ }
1043
+ });
1044
+ if (await w({ text: " of design solution 1" }, e), g(e))
1045
+ return {};
1046
+ const { response: d, featureLayer: c, ...m } = l, h = pe(
1047
+ c,
1048
+ o.featureLayer
1049
+ ), u = L(
1050
+ { ...m, featureLayer: h },
1051
+ {
1052
+ itemId: o?.solution?.itemId,
1053
+ sourceBuildSolution: o.sourceBuildSolution,
1054
+ templateId: t.selectedTemplate ?? null,
1055
+ params: o.params ?? null
979
1056
  }
980
- return t;
1057
+ ), f = new ve(u, n.initialTemplate);
1058
+ if (!f.isValid)
1059
+ return console.warn(
1060
+ "[SolutionBuilder] designSolution validation failed:",
1061
+ { issues: f.issues, llmResponse: l }
1062
+ ), {
1063
+ outputMessage: b("createDesignFailed", e)
1064
+ };
1065
+ const S = u.sourceBuildSolution, $ = we(u, S);
1066
+ if (!$.ok) {
1067
+ console.warn(
1068
+ "[SolutionBuilder] designSolution Esri JSON conversion failed:",
1069
+ { error: $.error, llmResponse: l, design: u }
1070
+ );
1071
+ const T = b("createDesignFailed", e);
1072
+ return {
1073
+ outputMessage: T,
1074
+ summary: T,
1075
+ status: "success"
1076
+ };
981
1077
  }
982
- use(...i) {
983
- let e = this.defaults.extensions || { renderers: {}, childTokens: {} };
984
- return i.forEach((t) => {
985
- let n = { ...t };
986
- if (n.async = this.defaults.async || n.async || !1, t.extensions && (t.extensions.forEach((s) => {
987
- if (!s.name) throw new Error("extension name required");
988
- if ("renderer" in s) {
989
- let a = e.renderers[s.name];
990
- a ? e.renderers[s.name] = function(...r) {
991
- let l = s.renderer.apply(this, r);
992
- return l === !1 && (l = a.apply(this, r)), l;
993
- } : e.renderers[s.name] = s.renderer;
994
- }
995
- if ("tokenizer" in s) {
996
- if (!s.level || s.level !== "block" && s.level !== "inline") throw new Error("extension level must be 'block' or 'inline'");
997
- let a = e[s.level];
998
- a ? a.unshift(s.tokenizer) : e[s.level] = [s.tokenizer], s.start && (s.level === "block" ? e.startBlock ? e.startBlock.push(s.start) : e.startBlock = [s.start] : s.level === "inline" && (e.startInline ? e.startInline.push(s.start) : e.startInline = [s.start]));
999
- }
1000
- "childTokens" in s && s.childTokens && (e.childTokens[s.name] = s.childTokens);
1001
- }), n.extensions = e), t.renderer) {
1002
- let s = this.defaults.renderer || new U(this.defaults);
1003
- for (let a in t.renderer) {
1004
- if (!(a in s)) throw new Error(`renderer '${a}' does not exist`);
1005
- if (["options", "parser"].includes(a)) continue;
1006
- let r = a, l = t.renderer[r], o = s[r];
1007
- s[r] = (...h) => {
1008
- let c = l.apply(s, h);
1009
- return c === !1 && (c = o.apply(s, h)), c || "";
1010
- };
1011
- }
1012
- n.renderer = s;
1013
- }
1014
- if (t.tokenizer) {
1015
- let s = this.defaults.tokenizer || new D(this.defaults);
1016
- for (let a in t.tokenizer) {
1017
- if (!(a in s)) throw new Error(`tokenizer '${a}' does not exist`);
1018
- if (["options", "rules", "lexer"].includes(a)) continue;
1019
- let r = a, l = t.tokenizer[r], o = s[r];
1020
- s[r] = (...h) => {
1021
- let c = l.apply(s, h);
1022
- return c === !1 && (c = o.apply(s, h)), c;
1023
- };
1024
- }
1025
- n.tokenizer = s;
1026
- }
1027
- if (t.hooks) {
1028
- let s = this.defaults.hooks || new q();
1029
- for (let a in t.hooks) {
1030
- if (!(a in s)) throw new Error(`hook '${a}' does not exist`);
1031
- if (["options", "block"].includes(a)) continue;
1032
- let r = a, l = t.hooks[r], o = s[r];
1033
- q.passThroughHooks.has(a) ? s[r] = (h) => {
1034
- if (this.defaults.async && q.passThroughHooksRespectAsync.has(a)) return (async () => {
1035
- let p = await l.call(s, h);
1036
- return o.call(s, p);
1037
- })();
1038
- let c = l.call(s, h);
1039
- return o.call(s, c);
1040
- } : s[r] = (...h) => {
1041
- if (this.defaults.async) return (async () => {
1042
- let p = await l.apply(s, h);
1043
- return p === !1 && (p = await o.apply(s, h)), p;
1044
- })();
1045
- let c = l.apply(s, h);
1046
- return c === !1 && (c = o.apply(s, h)), c;
1047
- };
1048
- }
1049
- n.hooks = s;
1050
- }
1051
- if (t.walkTokens) {
1052
- let s = this.defaults.walkTokens, a = t.walkTokens;
1053
- n.walkTokens = function(r) {
1054
- let l = [];
1055
- return l.push(a.call(this, r)), s && (l = l.concat(s.call(this, r))), l;
1056
- };
1078
+ return g(e) ? {} : (xe(u), {
1079
+ outputMessage: d,
1080
+ summary: d,
1081
+ status: "success",
1082
+ currentDesign: u
1083
+ });
1084
+ }, Wt = async (t, e) => {
1085
+ if (g(e))
1086
+ return {};
1087
+ const { currentDesign: s } = t;
1088
+ if (!s)
1089
+ return ke(t, e);
1090
+ const i = t.agentExecutionContext.userRequest, n = t.agentExecutionContext.messages.slice(-11);
1091
+ await w({ text: b("updatingDesign", e) }, e);
1092
+ let o;
1093
+ try {
1094
+ o = await C({
1095
+ promptText: await v(E, "updateDesign"),
1096
+ modelTier: "advanced",
1097
+ temperature: 0,
1098
+ schema: bt,
1099
+ messages: n,
1100
+ inputVariables: {
1101
+ currentDesign: JSON.stringify(de(s)),
1102
+ query: i
1057
1103
  }
1058
- this.defaults = { ...this.defaults, ...n };
1059
- }), this;
1060
- }
1061
- setOptions(i) {
1062
- return this.defaults = { ...this.defaults, ...i }, this;
1063
- }
1064
- lexer(i, e) {
1065
- return v.lex(i, e ?? this.defaults);
1066
- }
1067
- parser(i, e) {
1068
- return y.parse(i, e ?? this.defaults);
1104
+ });
1105
+ } catch (p) {
1106
+ console.warn("[SolutionBuilder] updateDesign structured prompt failed:", p);
1107
+ const x = b("applyChangeFailed", e);
1108
+ return {
1109
+ outputMessage: x,
1110
+ summary: x,
1111
+ status: "success"
1112
+ };
1069
1113
  }
1070
- parseMarkdown(i) {
1071
- return (e, t) => {
1072
- let n = { ...t }, s = { ...this.defaults, ...n }, a = this.onError(!!s.silent, !!s.async);
1073
- if (this.defaults.async === !0 && n.async === !1) return a(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));
1074
- if (typeof e > "u" || e === null) return a(new Error("marked(): input parameter is undefined or null"));
1075
- if (typeof e != "string") return a(new Error("marked(): input parameter is of type " + Object.prototype.toString.call(e) + ", string expected"));
1076
- if (s.hooks && (s.hooks.options = s, s.hooks.block = i), s.async) return (async () => {
1077
- let r = s.hooks ? await s.hooks.preprocess(e) : e, l = await (s.hooks ? await s.hooks.provideLexer() : i ? v.lex : v.lexInline)(r, s), o = s.hooks ? await s.hooks.processAllTokens(l) : l;
1078
- s.walkTokens && await Promise.all(this.walkTokens(o, s.walkTokens));
1079
- let h = await (s.hooks ? await s.hooks.provideParser() : i ? y.parse : y.parseInline)(o, s);
1080
- return s.hooks ? await s.hooks.postprocess(h) : h;
1081
- })().catch(a);
1114
+ const { response: a, patches: l } = o;
1115
+ if (!l || l.length === 0)
1116
+ return {
1117
+ outputMessage: a,
1118
+ summary: a,
1119
+ status: "success"
1120
+ };
1121
+ const d = (p) => {
1122
+ try {
1123
+ return JSON.parse(p);
1124
+ } catch {
1125
+ const x = p.replace(/[\u0000-\u001F]/g, (ie) => {
1126
+ switch (ie) {
1127
+ case "\b":
1128
+ return "\\b";
1129
+ case "\f":
1130
+ return "\\f";
1131
+ case `
1132
+ `:
1133
+ return "\\n";
1134
+ case "\r":
1135
+ return "\\r";
1136
+ case " ":
1137
+ return "\\t";
1138
+ default:
1139
+ return "\\u" + ie.charCodeAt(0).toString(16).padStart(4, "0");
1140
+ }
1141
+ });
1082
1142
  try {
1083
- s.hooks && (e = s.hooks.preprocess(e));
1084
- let r = (s.hooks ? s.hooks.provideLexer() : i ? v.lex : v.lexInline)(e, s);
1085
- s.hooks && (r = s.hooks.processAllTokens(r)), s.walkTokens && this.walkTokens(r, s.walkTokens);
1086
- let l = (s.hooks ? s.hooks.provideParser() : i ? y.parse : y.parseInline)(r, s);
1087
- return s.hooks && (l = s.hooks.postprocess(l)), l;
1088
- } catch (r) {
1089
- return a(r);
1143
+ return JSON.parse(x);
1144
+ } catch {
1145
+ return p;
1090
1146
  }
1147
+ }
1148
+ }, m = [...l.map((p) => ({
1149
+ op: p.op,
1150
+ path: p.path.replace(/\/+$/, ""),
1151
+ ...p.value != null && p.value !== "" ? { value: d(p.value) } : {},
1152
+ ...p.from != null && p.from !== "" ? { from: p.from } : {}
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)
1155
+ );
1156
+ try {
1157
+ je(h, m, !0);
1158
+ } catch (p) {
1159
+ console.warn(
1160
+ "[SolutionBuilder] updateDesign JSON patch failed:",
1161
+ { error: p, llmResponse: o, patches: m, patchTarget: h }
1162
+ );
1163
+ const x = b("applyChangeFailed", e);
1164
+ return {
1165
+ outputMessage: x,
1166
+ summary: x,
1167
+ status: "success"
1091
1168
  };
1092
1169
  }
1093
- onError(i, e) {
1094
- return (t) => {
1095
- if (t.message += `
1096
- Please report this to https://github.com/markedjs/marked.`, i) {
1097
- let n = "<p>An error occurred:</p><pre>" + S(t.message + "", !0) + "</pre>";
1098
- return e ? Promise.resolve(n) : n;
1099
- }
1100
- if (e) return Promise.reject(t);
1101
- throw t;
1170
+ const u = L(
1171
+ { response: "", ...h },
1172
+ { itemId: s.solution?.itemId ?? null }
1173
+ ), f = Y.safeParse(u);
1174
+ if (!f.success) {
1175
+ console.warn(
1176
+ "[SolutionBuilder] updateDesign schema validation failed:",
1177
+ { errors: f.error.issues, llmResponse: o, patchedDesign: u }
1178
+ );
1179
+ const p = b("applyChangeFailed", e);
1180
+ return {
1181
+ outputMessage: p,
1182
+ summary: p,
1183
+ status: "success"
1102
1184
  };
1103
1185
  }
1104
- }, R = new yt();
1105
- function f(i, e) {
1106
- return R.parse(i, e);
1107
- }
1108
- f.options = f.setOptions = function(i) {
1109
- return R.setOptions(i), f.defaults = R.defaults, de(f.defaults), f;
1110
- };
1111
- f.getDefaults = W;
1112
- f.defaults = I;
1113
- f.use = function(...i) {
1114
- return R.use(...i), f.defaults = R.defaults, de(f.defaults), f;
1115
- };
1116
- f.walkTokens = function(i, e) {
1117
- return R.walkTokens(i, e);
1118
- };
1119
- f.parseInline = R.parseInline;
1120
- f.Parser = y;
1121
- f.parser = y.parse;
1122
- f.Renderer = U;
1123
- f.TextRenderer = se;
1124
- f.Lexer = v;
1125
- f.lexer = v.lex;
1126
- f.Tokenizer = D;
1127
- f.Hooks = q;
1128
- f.parse = f;
1129
- f.options;
1130
- f.setOptions;
1131
- f.use;
1132
- f.walkTokens;
1133
- f.parseInline;
1134
- y.parse;
1135
- v.lex;
1136
- class St {
1137
- constructor(e = "") {
1138
- this._text = "", this._displayedText = "", this._pendingText = "", this._text = e, this._pendingText = e;
1139
- }
1140
- /** Set or update the text that will be type written
1141
- * @param text the new or updated string to type write
1142
- */
1143
- setText(e) {
1144
- this._text = e, this._displayedText && e.includes(this._displayedText) ? this._pendingText = e.substring(this._displayedText.length) : (this._pendingText = this._text, this._displayedText = "");
1145
- }
1146
- /** Gets the current text that is written out */
1147
- getText() {
1148
- return this._displayedText;
1149
- }
1150
- /** Clear all the text and state */
1151
- clearText() {
1152
- this._displayedText = "", this._text = "", this._pendingText = "";
1153
- }
1154
- /**
1155
- * Updates the display text on what will be shown to the users.
1156
- */
1157
- updateDisplayText() {
1158
- if (this._pendingText.length > 0) {
1159
- const e = this._pendingText[0];
1160
- if (e === "[" || e === "<" || e === "!") {
1161
- const t = this._matchMarkdownPattern(
1162
- this._displayedText + this._pendingText,
1163
- this._displayedText.length
1164
- );
1165
- if (t) {
1166
- const n = t.end - t.start, s = this._pendingText.substring(0, n);
1167
- this._displayedText += s, this._pendingText = this._pendingText.substring(n);
1168
- } else
1169
- this._displayedText += e, this._pendingText = this._pendingText.substring(1);
1170
- } else
1171
- this._displayedText += e, this._pendingText = this._pendingText.substring(1);
1186
+ const { response: S, featureLayer: $, ...T } = f.data, U = pe(
1187
+ $,
1188
+ s.featureLayer
1189
+ ), _ = L(
1190
+ { ...T, featureLayer: U },
1191
+ {
1192
+ itemId: s.solution?.itemId,
1193
+ sourceBuildSolution: s.sourceBuildSolution,
1194
+ templateId: s.templateId ?? t.selectedTemplate ?? null,
1195
+ params: s.params ?? null
1172
1196
  }
1197
+ );
1198
+ let R = P(t.selectedTemplate);
1199
+ if (R?.initialTemplate || (await Z(e), R = P(t.selectedTemplate)), g(e))
1200
+ return {};
1201
+ if (!R?.initialTemplate)
1202
+ throw new Error("No hydrated templates are available for solution design.");
1203
+ const O = new ve(_, R.initialTemplate, !1);
1204
+ if (!O.isValid) {
1205
+ console.warn(
1206
+ "[SolutionBuilder] updateDesign validation failed:",
1207
+ { issues: O.issues, llmResponse: o, patchedDesign: _ }
1208
+ );
1209
+ const p = await It({
1210
+ query: i,
1211
+ validationIssues: O.issues,
1212
+ recentMessages: n,
1213
+ fallbackMessage: b("applyChangeFailed", e),
1214
+ promptModules: E
1215
+ });
1216
+ return {
1217
+ outputMessage: p,
1218
+ summary: p,
1219
+ status: "success"
1220
+ };
1173
1221
  }
1174
- /**
1175
- * Check the string for any markdown pattern and the length of that pattern.
1176
- * @param text the string to check markdown
1177
- * @param position The current position in the text to check
1178
- * @returns the start and end positions.
1179
- */
1180
- _matchMarkdownPattern(e, t) {
1181
- const n = [
1182
- /<sup>\[\[[^\]]+\]\]\([^)]+\)<\/sup>/,
1183
- // <sup>[[1]](url)</sup>
1184
- /\[\[[^\]]+\]\]\([^)]+\)/,
1185
- // [[1]](url)
1186
- /\[[^\]]+\]\([^)]+\)/,
1187
- // [text](url)
1188
- /!\[[^\]]*\]\([^)]+\)/
1189
- // ![alt](url)
1190
- ], s = e.substring(t);
1191
- for (const a of n) {
1192
- const r = s.match(a);
1193
- if (r && r.index === 0)
1194
- return {
1195
- start: t,
1196
- end: t + r[0].length
1197
- };
1198
- }
1199
- return null;
1222
+ const Ee = _.sourceBuildSolution, se = we(_, Ee);
1223
+ if (!se.ok) {
1224
+ console.warn(
1225
+ "[SolutionBuilder] updateDesign Esri JSON conversion failed:",
1226
+ { error: se.error, llmResponse: o, design: _ }
1227
+ );
1228
+ const p = b("applyChangeFailed", e);
1229
+ return {
1230
+ outputMessage: p,
1231
+ summary: p,
1232
+ status: "success"
1233
+ };
1200
1234
  }
1201
- }
1202
- const $t = "https://links.esri.com/solutions/agol-organizational-account", Tt = "https://links.esri.com/solutions/configure-assistants";
1203
- class Rt extends Re {
1235
+ return g(e) ? {} : (xe(_), {
1236
+ outputMessage: a,
1237
+ summary: a,
1238
+ status: "success",
1239
+ currentDesign: _
1240
+ });
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, {
1242
+ assessUpdateRequest: "assessUpdateRequest",
1243
+ assessBuildRequest: "assessBuildRequest"
1244
+ }).addConditionalEdges("assessUpdateRequest", Yt, {
1245
+ invalidUpdateExit: "invalidUpdateExit",
1246
+ updateDesign: "updateDesign"
1247
+ }).addConditionalEdges("assessBuildRequest", Xt, {
1248
+ invalidBuildExit: "invalidBuildExit",
1249
+ selectTemplateHIL: "selectTemplateHIL",
1250
+ findExistingSolutions: "findExistingSolutions"
1251
+ }).addEdge("invalidBuildExit", I).addEdge("invalidUpdateExit", I).addEdge("selectTemplateHIL", "findExistingSolutions").addConditionalEdges("findExistingSolutions", Zt, {
1252
+ confirmContinueBuildingHIL: "confirmContinueBuildingHIL",
1253
+ designSolution: "designSolution"
1254
+ }).addConditionalEdges("confirmContinueBuildingHIL", es, {
1255
+ declineContinueBuildingExit: "declineContinueBuildingExit",
1256
+ designSolution: "designSolution"
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({
1264
+ "./prompts/assistantResponse.md": () => import("../../chunks/assistantResponse.js").then((t) => t.default),
1265
+ "./prompts/classifyIntent.md": () => import("../../chunks/classifyIntent.js").then((t) => t.default),
1266
+ "./prompts/description.md": () => import("../../chunks/description.js").then((t) => t.default)
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 }
1272
+ });
1273
+ window.dispatchEvent(i);
1274
+ }, Ae = y.Root({
1275
+ ...W(),
1276
+ selectedTool: y({
1277
+ reducer: (t, e) => e ?? null,
1278
+ default: () => null
1279
+ }),
1280
+ intentRationale: y({
1281
+ reducer: (t, e) => e ?? null,
1282
+ default: () => null
1283
+ })
1284
+ }), is = async (t, e) => {
1285
+ if (e?.configurable?.abortSignal?.aborted)
1286
+ return {};
1287
+ const s = q(e);
1288
+ await w(
1289
+ { text: s?.builderMessages.understandingRequest },
1290
+ e
1291
+ );
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())
1295
+ try {
1296
+ a = JSON.parse(o).solution != null;
1297
+ } catch {
1298
+ a = !1;
1299
+ }
1300
+ const l = await v(ee, "classifyIntent"), d = await C({
1301
+ promptText: l,
1302
+ modelTier: "advanced",
1303
+ temperature: 0,
1304
+ schema: ss,
1305
+ messages: n,
1306
+ inputVariables: { query: i, activeSolutionDesign: a }
1307
+ });
1308
+ return {
1309
+ selectedTool: d.tool,
1310
+ intentRationale: d.rationale
1311
+ };
1312
+ }, ns = async (t, e) => {
1313
+ if (e?.configurable?.abortSignal?.aborted)
1314
+ return {};
1315
+ const i = await it().compile().invoke(t, e);
1316
+ return te(e, "explorer"), i;
1317
+ }, as = async (t, e) => {
1318
+ if (e?.configurable?.abortSignal?.aborted)
1319
+ return {};
1320
+ const i = await ts().compile().invoke(t, e);
1321
+ return te(e, "builder"), i;
1322
+ }, os = async (t, e) => {
1323
+ if (e?.configurable?.abortSignal?.aborted)
1324
+ return {};
1325
+ const s = q(e), i = t.agentExecutionContext.userRequest, n = t.intentRationale ?? "No rationale available.";
1326
+ await w(
1327
+ { text: s?.executingSolutionsAssistantAgent },
1328
+ e
1329
+ );
1330
+ const o = await v(ee, "assistantResponse"), a = t.agentExecutionContext.messages.slice(-11), l = await ze({
1331
+ promptText: o,
1332
+ modelTier: "advanced",
1333
+ temperature: 0,
1334
+ messages: a,
1335
+ inputVariables: { query: i, rationale: n }
1336
+ });
1337
+ return te(e, "assistant"), {
1338
+ outputMessage: l,
1339
+ summary: l,
1340
+ status: "success"
1341
+ };
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, {
1343
+ explorer: "routeToExplorer",
1344
+ builder: "routeToBuilder",
1345
+ other: "assistantResponse"
1346
+ }).addEdge("routeToExplorer", I).addEdge("routeToBuilder", I).addEdge("assistantResponse", I), cs = await v(ee, "description"), ds = {
1347
+ id: "solutionsAssistant",
1348
+ name: "Solutions Assistant Agent",
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 {
1204
1354
  constructor() {
1205
- super(), this.serverRoot = "https://aiservices-beta.arcgis.com", this.open = !1, this.userFirstName = "", this.conversationStore = {
1206
- conversationId: null,
1207
- inquiryId: null,
1208
- ackSequenceNumber: null
1209
- }, this._currentResponse = "", this._isAutoScroll = !1, this._isLoading = !1, this._isLoadingText = "", this.messages = [], 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 = {
1210
1356
  aiAssistantsEnabled: !1,
1211
1357
  blockBetaApps: !0,
1212
1358
  colocateCompute: !1
1213
- }, this._translations = Te({ name: "arcgis-solutions-assistant", blocking: !0 }), this._isTyping = !1, this._configContextConsumer = Ce({
1214
- context: ze,
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,
1361
+ subscribe: !0,
1362
+ callback: (e) => {
1363
+ e?.portalURL && (z.portalUrl = e.portalURL), e?.userSession && !this.userFirstName && this._loadUserFirstName(), e?.authentication?.PortalSubset?.orgSettings && (this._orgSettings = e?.authentication?.PortalSubset?.orgSettings);
1364
+ }
1365
+ }), this._builderDesignContextConsumer = oe({
1366
+ context: Me,
1215
1367
  subscribe: !0,
1216
1368
  callback: (e) => {
1217
- e?.userSession && !this.userFirstName && this._loadUserFirstName(), e?.authentication?.PortalSubset?.orgSettings && (this._orgSettings = e?.authentication?.PortalSubset?.orgSettings, this._getAIServiceUrl());
1369
+ e?.design && (this._solutionDesignJson = JSON.stringify(e.design, null, 2));
1370
+ }
1371
+ }), this._handleResize = () => {
1372
+ this._isMobile = window.innerWidth <= 800;
1373
+ }, this._chatStartTime = null, this._handleAssistantProcessingFinished = (e) => {
1374
+ const s = e;
1375
+ if (s.detail?.finished && this._chatStartTime !== null) {
1376
+ const i = Be(this._chatStartTime);
1377
+ this._telemetry?.logEvent({
1378
+ category: D.ASSISTANT,
1379
+ action: "Chat",
1380
+ dimensions: [s.detail.agent],
1381
+ metrics: [i]
1382
+ }), this._chatStartTime = null, this.assistantProcessing.emit(!1);
1218
1383
  }
1219
- }), this.closeAssistant = Ie(), this._resetConversation = () => {
1220
- this.conversationStore.conversationId = null, this.conversationStore.inquiryId = null, this.conversationStore.ackSequenceNumber = null;
1221
- }, this._setMessageContainerRef = (e) => {
1222
- this._chatContainer = e;
1223
- }, this._setInputRef = (e) => {
1224
- this._inputRef = e, this._inputRef.addEventListener("keydown", (t) => {
1225
- t.key === "Enter" && !t.shiftKey && !this._isLoading && !this._isTyping && (t.preventDefault(), this._inputRef && (this.handleSendMessage(this._inputRef.value.trim()), this._inputRef.value = ""));
1226
- }), setTimeout(() => {
1227
- this._inputRef?.focus();
1228
- }, 100);
1229
- }, this._submitQuestion = (e) => {
1230
- this.handleSendMessage(e);
1384
+ }, this.closeAssistant = ne(), this.assistantProcessing = ne(), this._handleAssistantLinkClick = (e) => {
1385
+ const s = e.composedPath().find((i) => i instanceof HTMLAnchorElement);
1386
+ if (s?.href)
1387
+ if (e.preventDefault(), s.target.indexOf("solutionId:") > -1) {
1388
+ const i = s.target.split("solutionId:")[1];
1389
+ this._emitItemIdFromAI(i);
1390
+ } else
1391
+ window.open(s.href, "_blank", "noopener,noreferrer");
1392
+ }, this._onSolutionDesignUpdate = (e) => {
1393
+ const i = e.detail;
1394
+ this._solutionDesignJson = i ? JSON.stringify(i, null, 2) : '{ "solution": null }';
1231
1395
  }, this._handleSignIn = () => {
1232
1396
  this._configContextConsumer.value?.authentication?.signIn("aiOpen");
1233
1397
  }, this._checkURLOpenParameter = () => {
1234
1398
  this.open = this._configContextConsumer.value?.authentication?.SignInParam === "aiOpen" || this.open;
1235
- }, this.listenOn(window, "submitQuestion", (e) => {
1236
- this._submitQuestion(e.detail);
1399
+ }, this.listenOn(window, "arcgisFeedback", (e) => {
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 ?? "");
1402
+ }), this.listenOn(window, "clearAssistantConversation", () => {
1403
+ this._clearConversation();
1237
1404
  });
1238
1405
  }
1239
1406
  static {
1240
- this.properties = { serverRoot: 1, open: 5, userFirstName: 1, conversationStore: 16, _currentResponse: 16, _isAutoScroll: 16, _isLoading: 16, _isLoadingText: 16, messages: 16, _orgSettings: 16, _translations: 16, _isTyping: 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 };
1241
1408
  }
1242
1409
  static {
1243
- this.styles = qe;
1410
+ this.styles = He;
1244
1411
  }
1245
1412
  get _telemetry() {
1246
1413
  return this._configContextConsumer.value?.telemetrySession;
1247
1414
  }
1248
- get solutionAIurl() {
1249
- return `${this.serverRoot}/skills/solution_deployment/chat`;
1250
- }
1251
- get docAIurl() {
1252
- return `${this.serverRoot}/skills/doc_ai_assistant/chat`;
1253
- }
1254
- async handleSendMessage(e) {
1255
- this._isLoading = !0;
1256
- let t = {
1257
- message: e,
1258
- context: {
1259
- debug: !1,
1260
- kind: "SolutionRequest"
1261
- }
1262
- };
1263
- if (this.conversationStore.conversationId !== null) {
1264
- t.conversationId = this.conversationStore.conversationId;
1265
- const n = {
1266
- author: "human",
1267
- conversationId: this.conversationStore.conversationId ? this.conversationStore.conversationId : "",
1268
- message: e,
1269
- render: this._renderSimpleTextMessage(e, "human", "", "Other")
1270
- };
1271
- this.messages = [...this.messages, n];
1272
- const s = await this.requestAIServer(t, this.solutionAIurl);
1273
- this.loopRequest(s, this.solutionAIurl);
1274
- } else {
1275
- const n = {
1276
- author: "human",
1277
- message: e,
1278
- render: this._renderSimpleTextMessage(e, "human", "", "Other")
1279
- };
1280
- this.messages = [...this.messages, n];
1281
- const s = await this.requestAIServer(t, this.solutionAIurl);
1282
- this.conversationStore.conversationId = s.conversationId, this.conversationStore.inquiryId = s.inquiryId, this.conversationStore.ackSequenceNumber = s.sequenceNumber, this.loopRequest(s, this.solutionAIurl);
1283
- }
1284
- }
1285
- async loopRequest(e, t) {
1286
- const n = Date.now();
1287
- let s, a = t;
1288
- this._isLoading = !0;
1289
- const r = document.createElement("div");
1290
- r.classList.add("response-message", "message-content");
1291
- let l = document.createElement("div");
1292
- l.classList.add("display-none");
1293
- const o = document.createElement("div");
1294
- o.classList.add("display-none");
1295
- const h = e.conversationId + Date.now(), c = this._renderResponseBlock(r, l, o, h), p = new St(this._currentResponse), u = {
1296
- author: "ai",
1297
- conversationId: e.conversationId,
1298
- message: e.message ?? "",
1299
- render: c
1300
- };
1301
- for (this.messages.push(u), this.requestUpdate(), this._isAutoScroll = !0; e.hasMore; ) {
1302
- await new Promise((_) => setTimeout(_, 500));
1303
- let x = {
1304
- conversationId: e.conversationId,
1305
- ackSequenceNumber: e.sequenceNumber,
1306
- inquiryId: e.inquiryId
1307
- };
1308
- if (e.context)
1309
- if (this.conversationStore.context = e.context, e.context.results && !e.context.intent)
1310
- for (const _ of e.context.results)
1311
- this._currentResponse = _.reply, this._currentResponse !== "" && (this._isLoading = !1, this._isTyping = !0, this._showCardById(h), this._startTypeWriter(p, this._currentResponse, r, l, o)), e = await this.requestAIServer(x, a);
1312
- else if (e.context.intent === "Solution question") {
1313
- s = e.context.intent;
1314
- const _ = {
1315
- message: e.message,
1316
- conversationId: x.conversationId,
1317
- context: {
1318
- kind: "DocAIAssistantRequest",
1319
- filters: {
1320
- products: "ArcGIS Solutions"
1321
- }
1322
- }
1323
- };
1324
- a = this.docAIurl, e = await this.requestAIServer(_, a);
1325
- } else
1326
- this._currentResponse = e.message ?? "", e.context.kind && e.context.kind.toLowerCase() === "ArcGISErrorAsContext".toLowerCase() && (this._currentResponse = this._translations.genericErrorMessage), this._currentResponse !== "" && (this._isLoading = !1, this._isTyping = !0, this._showCardById(h), this._startTypeWriter(p, this._currentResponse, r, l, o)), e = await this.requestAIServer(x, a);
1327
- else
1328
- e = await this.requestAIServer(x, a);
1329
- }
1330
- this._isLoading = !1;
1331
- const { context: g } = this.conversationStore, k = this.messages.length >= 2 ? this._getMostRecentQuestion() : "", w = typeof k == "string" ? "" : k?.message ?? "", E = Le(n), M = s || g?.intent || "Unknown";
1332
- if (this._telemetry?.logEvent({
1333
- category: Pe.ASSISTANT,
1334
- action: "Chat",
1335
- dimensions: [M],
1336
- metrics: [E]
1337
- }), g && g.intent)
1338
- switch (g.intent) {
1339
- case "Recommend solution": {
1340
- if (g.results) {
1341
- const x = g.results, _ = x.map(($) => `- ${$.title}`).join(`
1342
- `), C = this._renderSuggestedSolutions(x), z = this._renderFeedback(this._currentResponse + `
1343
- ` + _, w, this.conversationStore.conversationId, g.intent);
1344
- A(C, l), A(z, o);
1345
- } else
1346
- l.innerHTML = "";
1347
- this._scrollToBottom();
1348
- break;
1349
- }
1350
- default: {
1351
- const x = this._renderFeedback(this._currentResponse, w, this.conversationStore.conversationId, g.intent);
1352
- A(x, o), this._scrollToBottom();
1353
- break;
1354
- }
1355
- }
1356
- else {
1357
- if (g && g.results && !g.intent)
1358
- for (const x of g.results) {
1359
- const _ = this._renderSolutionsQuestionTable(x.ref, x.followupQuestions), C = this._renderFeedback(this._currentResponse, w, this.conversationStore.conversationId, "Solution question");
1360
- A(_, l), A(C, o);
1361
- }
1362
- else if (g && g.kind && g.kind.toLowerCase() === "ArcGISErrorAsContext".toLowerCase()) {
1363
- const x = this._renderFeedback(this._currentResponse, w, this.conversationStore.conversationId, "Error");
1364
- A(x, o);
1365
- }
1366
- this._scrollToBottom();
1367
- }
1368
- }
1369
- async requestAIServer(e, t) {
1370
- try {
1371
- const n = this._configContextConsumer.value?.userSession?.token ?? "", a = await (await fetch(t, {
1372
- method: "POST",
1373
- headers: {
1374
- "Content-Type": "application/json",
1375
- token: n
1376
- },
1377
- body: JSON.stringify(e)
1378
- })).json();
1379
- if (a)
1380
- return a;
1381
- throw new Error("No data returned");
1382
- } catch (n) {
1383
- throw new Error(`Request failed: ${n}`);
1384
- }
1415
+ connectedCallback() {
1416
+ super.connectedCallback(), window.addEventListener("arcgis-solution-design-update", this._onSolutionDesignUpdate), this.el.addEventListener("click", this._handleAssistantLinkClick), window.addEventListener("resize", this._handleResize), window.addEventListener("assistantProcessing", this._handleAssistantProcessingFinished), this._builderDesignContextConsumer;
1385
1417
  }
1386
- resetChat() {
1387
- const e = this.messages[this.messages.length - 1];
1388
- if (e.author !== "system" && e.conversationId !== "-1") {
1389
- this._resetConversation();
1390
- const t = {
1391
- author: "system",
1392
- conversationId: "-1",
1393
- message: this._translations.newConversationStarted,
1394
- render: this._renderSimpleTextMessage(this._translations.newConversationStarted, "system", "", "Other", "speech-bubble-plus")
1395
- };
1396
- this.messages = [...this.messages, t], this._inputRef && (this._inputRef.value = "");
1397
- }
1418
+ disconnectedCallback() {
1419
+ window.removeEventListener("arcgis-solution-design-update", this._onSolutionDesignUpdate), this.el.removeEventListener("click", this._handleAssistantLinkClick), window.removeEventListener("resize", this._handleResize), window.removeEventListener("assistantProcessing", this._handleAssistantProcessingFinished), super.disconnectedCallback();
1398
1420
  }
1399
1421
  loaded() {
1400
1422
  this._checkURLOpenParameter();
1401
- const e = this._chatContainer;
1402
- e && e.addEventListener("scroll", () => {
1403
- this._isAutoScroll = this._isAtBottom(e);
1404
- });
1423
+ }
1424
+ load() {
1425
+ z.applicationName = "Solutions", this._configContextConsumer.value?.portalURL && (z.portalUrl = this._configContextConsumer.value.portalURL);
1405
1426
  }
1406
1427
  firstUpdated(e) {
1407
1428
  this._loadUserFirstName();
1408
1429
  }
1409
1430
  willUpdate(e) {
1410
- if (this._configContextConsumer.value?.userSession?.token && this._configContextConsumer.value?.authentication?.CanUseAI && this.messages.length === 0 && this._translations.defaultStartUpMessage) {
1411
- const t = this._translations.defaultStartUpMessage.replace("{{name}}", this.userFirstName), n = Object.values(this._translations.defaultFollowUpQuestions), s = this._renderSolutionQuestionFollowup(n);
1412
- this.messages = [
1413
- {
1414
- author: "ai",
1415
- conversationId: "",
1416
- message: t,
1417
- render: this._renderSimpleTextMessage(t, "ai", "", "Other", void 0, s, "margin-top-0")
1418
- }
1419
- ];
1420
- }
1421
- (e.has("_isLoading") || e.has("_isTyping")) && this.renderRoot.querySelectorAll(".assistant-followup-chip").forEach((n) => {
1422
- const s = this._isLoading || this._isTyping;
1423
- n.disabled = s, n.tabIndex = s ? -1 : 0;
1424
- });
1425
- }
1426
- updated(e) {
1427
- (e.size || this._isLoading) && this._scrollToBottom();
1428
- }
1429
- _renderFeedback(e, t, n, s) {
1430
- const a = Date.now();
1431
- return m`
1432
- <div>
1433
- <calcite-button
1434
- appearance='transparent'
1435
- class='height-32-flex-auto'
1436
- id='good-${a}'
1437
- icon-start='thumbs-up'
1438
- label='position feedback'
1439
- kind='neutral'
1440
- @click=${() => {
1441
- this._sendFeedback(e, t, "Good", n, s);
1442
- }}
1443
- >
1444
- </calcite-button>
1445
- <calcite-tooltip placement='bottom' reference-element='good-${a}'>
1446
- <span>${this._translations.tooltips.likeButton}</span>
1447
- </calcite-tooltip>
1448
-
1449
- <calcite-button
1450
- appearance='transparent'
1451
- class='height-32-flex-auto'
1452
- id='bad-${a}'
1453
- icon-start='thumbs-down'
1454
- label='position feedback'
1455
- kind='neutral'
1456
- @click=${() => {
1457
- this._sendFeedback(e, t, "Bad", n, s);
1458
- }}
1459
- >
1460
- </calcite-button>
1461
- <calcite-tooltip placement='bottom' reference-element='bad-${a}'>
1462
- <span>${this._translations.tooltips.dislikeButton}</span>
1463
- </calcite-tooltip>
1464
-
1465
- <calcite-button
1466
- appearance='transparent'
1467
- class='height-32-flex-auto'
1468
- id='copy-${a}'
1469
- icon-start='copy'
1470
- label='position feedback'
1471
- kind='neutral'
1472
- @click=${(r) => {
1473
- this._copyResponseToClipboard(e, r);
1474
- }}
1475
- >
1476
- </calcite-button>
1477
- <calcite-tooltip placement='bottom' reference-element='copy-${a}'>
1478
- <span>${this._translations.tooltips.copyButton}</span>
1479
- </calcite-tooltip>
1480
- </div>
1481
- `;
1482
- }
1483
- _renderSolutionQuestionReferences(e) {
1484
- return m`
1485
- ${e.map((t) => m`
1486
- <div class='message-content-pad'>
1487
- <a href=${t.url} target='_blank'>
1488
- ${t.title}
1489
- </a>
1490
- </div>
1491
- `)}
1492
- `;
1493
- }
1494
- _renderSolutionQuestionFollowup(e) {
1495
- return m`
1496
- ${e.map((t) => m`
1497
- <calcite-chip
1498
- class='chip-content cursor-pointer assistant-followup-chip'
1499
- kind='brand'
1500
- label=${t}
1501
- tabindex='0'
1502
- @click=${(n) => {
1503
- n.currentTarget.disabled || this._submitFollowupQuestion(t);
1504
- }}
1505
- @keydown=${(n) => {
1506
- n.currentTarget.disabled || Z(n, () => this._submitFollowupQuestion(t));
1507
- }}
1508
- >
1509
- ${t}
1510
- </calcite-chip>
1511
- `)}
1512
- `;
1513
- }
1514
- _renderSolutionsQuestionTable(e, t) {
1515
- const n = this._renderSolutionQuestionReferences(e), s = this._renderSolutionQuestionFollowup(t);
1516
- return m`
1517
- <div slot='description' class='message-content'>
1518
- <div style='display: flex; justify-content: flex-start;'>
1519
- <calcite-button
1520
- appearance='outline'
1521
- icon-end='chevron-down'
1522
- icon-start='link'
1523
- @click=${(a) => {
1524
- const r = a.currentTarget, l = r.parentElement.nextElementSibling;
1525
- l.classList.toggle("collapsed"), r.setAttribute("icon-end", l.classList.contains("collapsed") ? "chevron-down" : "chevron-up");
1526
- }}
1527
- >
1528
- ${e.length}
1529
- ${e.length === 1 ? this._translations.solutionsDocReference : this._translations.solutionsDocReferences}
1530
- </calcite-button>
1531
- </div>
1532
-
1533
- <div class='references-container collapsed'>
1534
- ${n}
1535
- </div>
1536
- </div>
1537
-
1538
- <div class='padding-top-10'>
1539
- ${s}
1540
- </div>
1541
- `;
1542
- }
1543
- _renderSolutionCard(e) {
1544
- return m`
1545
- <a
1546
- class='solution-card'
1547
- id='${e.id}'
1548
- tabindex='0'
1549
- @click=${() => this._emitItemIdFromAI(e.id)}
1550
- @keydown=${(t) => {
1551
- Z(t, () => this._emitItemIdFromAI(e.id));
1552
- }}
1553
- >
1554
- <calcite-card thumbnail-position='inline-start'>
1555
- <div slot='thumbnail'>
1556
- <img src='${e.thumbnail}' alt='Thumbnail' />
1557
- <calcite-chip icon='launch' label='View solution'>
1558
- ${this._translations.viewSolutionInApp}
1559
- </calcite-chip>
1560
- </div>
1561
-
1562
- <h3 slot='heading'><b>${e.title}</b></h3>
1563
-
1564
- <span slot='description' class='solution-snippet'>${e.snippet}</span>
1565
- </calcite-card>
1566
- </a>
1567
- `;
1568
- }
1569
- _renderResponseBlock(e, t, n, s) {
1570
- return m`<calcite-card id=${s ?? ie} class="system-message display-none">${e}${t}${n}</calcite-card>`;
1571
- }
1572
- _renderSimpleTextMessage(e, t, n, s, a, r, l) {
1573
- const o = this.messages.length >= 2 ? this._getMostRecentQuestion() : "", h = typeof o == "string" ? "" : o?.message ?? "";
1574
- return t === "system" ? m`<div class="message-content message-content-alignment">${a && m`<calcite-icon .icon=${a}></calcite-icon>` || ""}${e}</div>` : m`<calcite-card class=${re(t === "human" ? "user-message" : "system-message")}><div class=${re(l ? `${l} message-content` : "message-content")}>${ae(e)}${r}${t === "ai" && n !== "" && this._renderFeedback(e, h, n, s) || ""}</div></calcite-card>`;
1575
- }
1576
- _renderSuggestedSolutions(e) {
1577
- const t = e.map((n) => this._renderSolutionCard(n));
1578
- return m`
1579
- <div class='message-content'>
1580
- ${t}
1581
- </div>
1582
- `;
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;
1583
1432
  }
1584
1433
  _renderNoSign() {
1585
- return m`<calcite-notice 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 ?? ie} 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>`;
1586
1435
  }
1587
1436
  _renderNoPermission() {
1588
- return m`<calcite-notice open scale=m icon=effects kind=info><div slot=title>${this._translations.noPermissionTitle}</div><div slot=message class="padding-top-10">${ae(this._translations.noPermissionMessage.replace("{{orgUrl}}", $t).replace("{{configAI}}", Tt))}</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>`;
1589
1438
  }
1590
1439
  render() {
1591
- return m`<calcite-dialog class="chat-panel" .open=${this.open} .heading=${this._translations.solutionAssistantTitle} placement=bottom-start @calciteDialogClose=${() => {
1592
- this.closeAssistant.emit(!0), this.open = !1;
1593
- }}><span class="chat-panel-heading" slot=header-content><span class="padding-right-8">${this._translations.solutionAssistantTitle}</span><calcite-chip .label=${this._translations.betaTag} .value=${this._translations.betaTag}>${this._translations.betaTag}</calcite-chip></span>${this.messages.length > 1 ? m`<calcite-button appearance=transparent class="icon-color-background" .disabled=${!!this._isLoading || this._isTyping} id=newChatButton icon-end=speech-bubble-plus kind=neutral label="New conversation" @click=${this.resetChat} scale=l slot=header-actions-end></calcite-button><calcite-tooltip placement=bottom reference-element=newChatButton><span>${this._translations.tooltips.newConversation}</span></calcite-tooltip>` : ""}<div class="chat-messages" ${ne(this._setMessageContainerRef)}>${this.messages.map((e) => e.render)}${this._isLoading && m`<calcite-card class="loader-message"><div class="message-content display-flex-row"><calcite-loader .label=${this._isLoadingText} inline scale=s></calcite-loader>${this._isLoadingText != "" && m`<div class="padding-left-10">${this._isLoadingText}</div>` || ""}</div></calcite-card>` || ""}${this._chatContainer && !this._isAtBottom(this._chatContainer) && !this._isAutoScroll && m`<calcite-fab icon=arrow-down @click=${() => {
1594
- this._isAutoScroll = !0, this._scrollToBottom(), setTimeout(() => {
1595
- this.requestUpdate();
1596
- }, 100);
1597
- }} scale=m></calcite-fab>` || ""}${this._configContextConsumer.value?.userSession?.token ? this._configContextConsumer.value?.authentication?.CanUseAI ? "" : this._renderNoPermission() : this._renderNoSign()}</div><div slot=footer class="width-100"><div class="chat-input"><calcite-text-area .disabled=${!this._configContextConsumer.value?.userSession?.token || !this._configContextConsumer.value?.authentication?.CanUseAI} resize=none rows=3 .placeholder=${this._translations.sendMessage} value ${ne(this._setInputRef)}></calcite-text-area><calcite-button appearance=outline .disabled=${!!this._isLoading || this._isTyping || !this._configContextConsumer.value?.userSession?.token || !this._configContextConsumer.value?.authentication?.CanUseAI} icon-start=send id=sendQuestion kind=neutral icon-flip-rtl=start @click=${() => {
1598
- this._inputRef && (this.handleSendMessage(this._inputRef.value.trim()), this._inputRef.value = "");
1599
- }} @keydown=${(e) => Z(e, () => {
1600
- this._inputRef && (this.handleSendMessage(this._inputRef.value.trim()), this._inputRef.value = "");
1601
- })}></calcite-button><calcite-tooltip placement=bottom reference-element=sendQuestion><span>${this._translations.tooltips.sendQuestion}</span></calcite-tooltip></div><div class="disclaimer-div padding-top-10" slot=footer><calcite-icon icon=information scale=s></calcite-icon>${this._translations.disclaimerMessage}<a href=https://links.esri.com/solutions/security-concern target=_blank>${this._translations.reportConcern}</a></div></div></calcite-dialog>`;
1602
- }
1603
- _scrollToBottom() {
1604
- this._chatContainer && this._isAutoScroll && setTimeout(() => {
1605
- this._chatContainer && (this._chatContainer.scrollTop = this._chatContainer.scrollHeight);
1606
- }, 100);
1607
- }
1608
- _emitItemIdFromAI(e) {
1609
- const t = new CustomEvent("solutionIDFromAssistant", {
1610
- detail: e,
1611
- bubbles: !0,
1612
- composed: !0
1613
- });
1614
- window.dispatchEvent(t);
1615
- }
1616
- _submitFollowupQuestion(e) {
1617
- const t = new CustomEvent("submitQuestion", {
1618
- detail: e,
1619
- bubbles: !0,
1620
- composed: !0
1621
- });
1622
- window.dispatchEvent(t);
1623
- }
1624
- _getMostRecentQuestion() {
1625
- return [...this.messages].reverse().find((e) => e.author === "human") || null;
1626
- }
1627
- _sendFeedback(e, t, n, s, a) {
1628
- const r = `https://survey123.arcgis.com/share/6e349a50b4504ca6b6107216d568db5f?field:_source=${encodeURIComponent("Solutions Assistant")}&field:user_evaluation=${encodeURIComponent(n)}&field:question=${encodeURIComponent(t)}&field:answer=${encodeURIComponent(e)}&field:context=${encodeURIComponent(JSON.stringify({ intent: a }))}&field:conversation_id=${encodeURIComponent(s)}&field:version=${encodeURIComponent("v1")}`;
1629
- window.open(r, "_blank");
1630
- }
1631
- _copyResponseToClipboard(e, t) {
1632
- navigator.clipboard.writeText(e);
1633
- const n = t.currentTarget;
1634
- n.iconStart = "check", setTimeout(() => {
1635
- n.iconStart = "copy";
1636
- }, 3e3);
1637
- }
1638
- _startTypeWriter(e, t, n, s, a) {
1639
- if (t.length > 0) {
1640
- e.setText(t);
1641
- const r = async () => {
1642
- e.updateDisplayText();
1643
- const l = e.getText(), o = await f.parse(l);
1644
- n.innerHTML = o.replace(/<a\s+/g, '<a target="_blank" '), l.length < this._currentResponse.length ? (this._scrollToBottom(), setTimeout(r, 5)) : (this._isTyping = !1, this._isAutoScroll = !1, s.classList.remove("display-none"), a.classList.remove("display-none"));
1645
- };
1646
- r();
1647
- }
1648
- }
1649
- _showCardById(e) {
1650
- const t = this.renderRoot.querySelector(`#${e}`);
1651
- t && t.classList.remove("display-none");
1652
- }
1653
- _isAtBottom(e) {
1654
- return e.scrollTop + e.clientHeight >= e.scrollHeight - 5;
1440
+ let e = this._suggestedPrompts.length > 0 ? this._suggestedPrompts : this._hasInteracted ? [] : Object.values(this._translations.defaultFollowUpQuestions);
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=${() => {
1442
+ this._telemetry?.logEvent({
1443
+ category: D.ASSISTANT,
1444
+ action: "Toggle Builder Panel",
1445
+ dimensions: [this.builderVisible ? "Close" : "Open"]
1446
+ }), window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"));
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) => {
1448
+ console.log("arcgis submit: ", s.detail), this._suggestedPrompts = [], e = [], this._hasInteracted = !0, this._chatStartTime = Date.now(), this.assistantProcessing.emit(!0);
1449
+ }} @arcgisFeedback=${(s) => {
1450
+ s.detail;
1451
+ }} ${qe(this._assistantRef)}><calcite-button appearance=transparent id=newChatButton icon-start=speech-bubble-plus kind=neutral .label=${this._translations.tooltips.newChat} @click=${() => {
1452
+ this.hasActiveBuilderDesign ? this._showNewChatConfirm = !0 : (this._telemetry?.logEvent({
1453
+ category: D.ASSISTANT,
1454
+ action: "New Chat",
1455
+ dimensions: ["No Active Design"]
1456
+ }), this._clearConversation());
1457
+ }} round scale=m slot=entry-actions-start>${this._translations.tooltips.newChat}</calcite-button><arcgis-assistant-agent .agent=${ds} .context=${{
1458
+ token: this._configContextConsumer.value?.userSession?.token,
1459
+ configContext: this._configContextConsumer.value,
1460
+ convoId: this._conversationId,
1461
+ portal: this._configContextConsumer.value?.authentication.Portal,
1462
+ assistantRef: this._assistantRef,
1463
+ translations: this._translations,
1464
+ solutionDesignJson: this._solutionDesignJson,
1465
+ lastTurnAgent: this._lastTurnAgent,
1466
+ setConversationId: (s) => {
1467
+ this._conversationId = s;
1468
+ },
1469
+ setLastTurnAgent: (s) => {
1470
+ this._lastTurnAgent = s;
1471
+ },
1472
+ clearSuggestedPrompts: () => {
1473
+ this._suggestedPrompts = [];
1474
+ }
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=${() => {
1476
+ this._showNewChatConfirm = !1;
1477
+ }} slot=footer-end>${this._translations.cancel}</calcite-button><calcite-button appearance=solid kind=danger @click=${() => {
1478
+ this._telemetry?.logEvent({
1479
+ category: D.ASSISTANT,
1480
+ action: "New Chat",
1481
+ dimensions: ["With Design Discard"]
1482
+ }), this._showNewChatConfirm = !1, window.dispatchEvent(new CustomEvent("requestBuilderDiscard"));
1483
+ }} slot=footer-end>${this._translations.discard}</calcite-button></calcite-dialog>` || ""}<calcite-action icon=x id=closeAssistantButton .label=${this._translations.tooltips.close} @click=${() => {
1484
+ this.closeAssistant.emit(!0);
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>`;
1486
+ }
1487
+ _clearConversation() {
1488
+ this._conversationId = void 0, this._lastTurnAgent = void 0, this._suggestedPrompts = [], this._hasInteracted = !1, this._assistantRef.value?.clearChatHistory();
1489
+ }
1490
+ _sendFeedback(e, s, i, n) {
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");
1655
1493
  }
1656
1494
  async _loadUserFirstName() {
1657
1495
  try {
1658
1496
  const e = await this._configContextConsumer.value?.userSession?.getUser();
1659
1497
  if (e?.fullName) {
1660
- const t = e.fullName.split(" ")[0];
1661
- this.userFirstName = t;
1498
+ const s = e.fullName.split(" ")[0];
1499
+ this.userFirstName = s;
1662
1500
  }
1663
1501
  } catch {
1664
1502
  }
1665
1503
  }
1666
- _getAIServiceUrl() {
1667
- if (this._configContextConsumer.value) {
1668
- const e = this._configContextConsumer.value;
1669
- e.authentication && e.authentication?.Portal && e.authentication?.Portal.helperServices.aiAssistantServices && (this.serverRoot = e.authentication?.Portal.helperServices.aiAssistantServices.url);
1670
- }
1504
+ _parseAgentPickedAndTask(e) {
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;
1506
+ if (!l)
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);
1509
+ if (!c)
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 };
1513
+ }
1514
+ _emitItemIdFromAI(e) {
1515
+ const s = new CustomEvent("solutionIDFromAssistant", {
1516
+ detail: e,
1517
+ bubbles: !0,
1518
+ composed: !0
1519
+ });
1520
+ window.dispatchEvent(s);
1671
1521
  }
1672
1522
  }
1673
- $e("arcgis-solutions-assistant", Rt);
1523
+ Le("arcgis-solutions-assistant", ms);
1674
1524
  export {
1675
- Rt as ArcgisSolutionsAssistant
1525
+ ms as ArcgisSolutionsAssistant
1676
1526
  };