@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.
- package/dist/cdn/22BJ76LD.js +2 -0
- package/dist/cdn/{AJY7XD7A.js → 23SGJQLW.js} +1 -1
- package/dist/cdn/24DOFCUH.js +2 -0
- package/dist/cdn/26EKIZQ3.js +2 -0
- package/dist/cdn/26QXT6ZT.js +2 -0
- package/dist/cdn/2B4SGB3I.js +2 -0
- package/dist/cdn/{CEP54NLT.js → 2C4DK6YC.js} +1 -1
- package/dist/cdn/{NDUAEC62.js → 2I5LGZNX.js} +1 -1
- package/dist/cdn/2L62YUIH.js +2 -0
- package/dist/cdn/{QMD2WK5F.js → 2OCRSUSE.js} +1 -1
- package/dist/cdn/{NC34DM4N.js → 2UCURPVT.js} +1 -1
- package/dist/cdn/{DZB3263I.js → 2X3SHREV.js} +1 -1
- package/dist/cdn/3A5WS2II.js +2 -0
- package/dist/cdn/3D5OFNW5.js +2 -0
- package/dist/cdn/{IO5DIUTT.js → 3E7MYA66.js} +1 -1
- package/dist/cdn/{VXMIT5WR.js → 3IHDWRXV.js} +1 -1
- package/dist/cdn/3IO2JXVB.js +2 -0
- package/dist/cdn/3KRXI2TQ.js +2 -0
- package/dist/cdn/{VIWNXKUP.js → 3NKGACT7.js} +1 -1
- package/dist/cdn/{7Y32UJS4.js → 3QIWKYQY.js} +1 -1
- package/dist/cdn/3SDEIO24.js +2 -0
- package/dist/cdn/3Z7EYDFO.js +434 -0
- package/dist/cdn/{36HEIJAI.js → 4AFANEZZ.js} +1 -1
- package/dist/cdn/4ALVWOG7.js +2 -0
- package/dist/cdn/{7JEVFHRJ.js → 4OKIVS32.js} +1 -1
- package/dist/cdn/{MFJF6OXL.js → 4PNNKMNH.js} +1 -1
- package/dist/cdn/{T537IZUH.js → 4Z6UJJJR.js} +1 -1
- package/dist/cdn/{2H7KJUZG.js → 55QBAVPE.js} +1 -1
- package/dist/cdn/{XTUL7OCR.js → 57SZHKM5.js} +1 -1
- package/dist/cdn/{5UQRM2YJ.js → 5BN62I7L.js} +1 -1
- package/dist/cdn/5EXKQXLZ.js +2 -0
- package/dist/cdn/5F6KCXYP.js +2 -0
- package/dist/cdn/{26K4UTAF.js → 5IIGQVJO.js} +1 -1
- package/dist/cdn/5JBZ6L5Q.js +6 -0
- package/dist/cdn/5K5GHKON.js +2 -0
- package/dist/cdn/{4HFHJOS3.js → 5O53T3SW.js} +1 -1
- package/dist/cdn/{LPJHRY3Y.js → 5VIB2BPJ.js} +1 -1
- package/dist/cdn/{XXQKFENH.js → 62CPZJO5.js} +1 -1
- package/dist/cdn/{T745GPG3.js → 62QGEVBO.js} +1 -1
- package/dist/cdn/632J5NXN.js +49 -0
- package/dist/cdn/6LHIJG7J.js +2 -0
- package/dist/cdn/{UK4O67GV.js → 6XWFCHCJ.js} +1 -1
- package/dist/cdn/73EY5SIB.js +2 -0
- package/dist/cdn/7CGCLEYB.js +2 -0
- package/dist/cdn/7FZDDT7D.js +2 -0
- package/dist/cdn/7JC52SFZ.js +2 -0
- package/dist/cdn/{CSW2JRVE.js → 7MNSZGMB.js} +1 -1
- package/dist/cdn/{TUGKPWRB.js → 7NUJ4IS5.js} +1 -1
- package/dist/cdn/7OHSJ5SV.js +2 -0
- package/dist/cdn/{FTMEQQF5.js → 7V57GR4X.js} +1 -1
- package/dist/cdn/7VD3Y4IF.js +2 -0
- package/dist/cdn/{3XVYTVMS.js → 7VQB43WL.js} +1 -1
- package/dist/cdn/7YJMTZFC.js +2 -0
- package/dist/cdn/{LI7Q44Z6.js → 7ZJBP3SS.js} +1 -1
- package/dist/cdn/{3SRDS4KQ.js → 7ZSO7MSX.js} +1 -1
- package/dist/cdn/A2VP46QZ.js +2 -0
- package/dist/cdn/A62EWI7L.js +2 -0
- package/dist/cdn/A6VVARNG.js +2 -0
- package/dist/cdn/ACTJS4TX.js +4 -0
- package/dist/cdn/{LF3HQQMS.js → AEALFROI.js} +1 -1
- package/dist/cdn/{45M33Q5G.js → AJZDBHB6.js} +1 -1
- package/dist/cdn/{5EBHORLK.js → AM6QSTRH.js} +1 -1
- package/dist/cdn/AS6VINEU.js +16 -0
- package/dist/cdn/{KXT52OBS.js → AYJ5ZPU6.js} +1 -1
- package/dist/cdn/AYSQIO6L.js +2 -0
- package/dist/cdn/BATEZR3T.js +2 -0
- package/dist/cdn/BEKMMPB7.js +2 -0
- package/dist/cdn/{NM3YBQUM.js → BM4VSEDV.js} +1 -1
- package/dist/cdn/{7DVOR4SY.js → BOSEAFVW.js} +1 -1
- package/dist/cdn/{SIUUQBL4.js → BQ7O62CG.js} +1 -1
- package/dist/cdn/BVG2SE55.js +2 -0
- package/dist/cdn/C4F2OOUL.js +2 -0
- package/dist/cdn/{P2YLMWCT.js → C5AR5K23.js} +1 -1
- package/dist/cdn/C5BQAX2M.js +2 -0
- package/dist/cdn/C5KDPY7R.js +2 -0
- package/dist/cdn/{M7GWNGTJ.js → CARCFJRD.js} +1 -1
- package/dist/cdn/{RNTJMF4O.js → CAXDDYGL.js} +1 -1
- package/dist/cdn/CAYWD56D.js +2 -0
- package/dist/cdn/CFJ4FEY3.js +2 -0
- package/dist/cdn/CGOOAJVN.js +90 -0
- package/dist/cdn/CJ3EZE7U.js +2 -0
- package/dist/cdn/{KZFMPHCV.js → CLRLOHTR.js} +1 -1
- package/dist/cdn/CPOZIWVH.js +2 -0
- package/dist/cdn/{UVHM4PU5.js → CUG5CROK.js} +1 -1
- package/dist/cdn/{EYBEUSBG.js → CWXZSWUA.js} +1 -1
- package/dist/cdn/{USM62FP5.js → CYEFGPUM.js} +19 -19
- package/dist/cdn/CZVHNBQN.js +2 -0
- package/dist/cdn/D2EVPZ5K.js +2 -0
- package/dist/cdn/D4TEADUS.js +2 -0
- package/dist/cdn/{CZJPS7CF.js → D52QVYYU.js} +1 -1
- package/dist/cdn/D5JF7XQN.js +2 -0
- package/dist/cdn/{35HRMJUI.js → D6ZGMSQF.js} +1 -1
- package/dist/cdn/{MWFCDDBC.js → D7G4LZRG.js} +1 -1
- package/dist/cdn/DF7TCZUS.js +2 -0
- package/dist/cdn/{73O55ZBJ.js → DGQQF6WF.js} +1 -1
- package/dist/cdn/DJYT367X.js +2 -0
- package/dist/cdn/DKQRECGR.js +2 -0
- package/dist/cdn/DKXVDY6L.js +2 -0
- package/dist/cdn/{7KEONOFN.js → DMENKRSP.js} +1 -1
- package/dist/cdn/{DWAYOC2L.js → DWKKP34X.js} +1 -1
- package/dist/cdn/E25ZWVBK.js +33 -0
- package/dist/cdn/{HYB5LBMY.js → E7CWZMS4.js} +1 -1
- package/dist/cdn/{57DOBXD6.js → EF2TTWG5.js} +1 -1
- package/dist/cdn/{JMU5KKZH.js → EG5KPZQ2.js} +1 -1
- package/dist/cdn/EHSIODIO.js +2 -0
- package/dist/cdn/{T3JHAFWW.js → EIF4KZBD.js} +1 -1
- package/dist/cdn/{7DHQVMKX.js → EKK5FR2V.js} +1 -1
- package/dist/cdn/{XPIAEAK5.js → EMPMQDRQ.js} +1 -1
- package/dist/cdn/ENLFOYSI.js +13 -0
- package/dist/cdn/{X4LKJTY5.js → ES63XK5X.js} +1 -1
- package/dist/cdn/EXBEKVP5.js +2 -0
- package/dist/cdn/EYJQEBDF.js +2 -0
- package/dist/cdn/F3A22NPP.js +2 -0
- package/dist/cdn/F5SUVMAE.js +2 -0
- package/dist/cdn/F6J3OLVZ.js +2 -0
- package/dist/cdn/FA5CJT2S.js +2 -0
- package/dist/cdn/{DZLVEIWW.js → FBGCV6YJ.js} +1 -1
- package/dist/cdn/FBSKACM2.js +2 -0
- package/dist/cdn/{UDGR2GC5.js → FCJFAZ4S.js} +1 -1
- package/dist/cdn/{H3LJVYII.js → FE6JCIZY.js} +1 -1
- package/dist/cdn/FE7HMUSZ.js +2 -0
- package/dist/cdn/FFF5HUPM.js +4 -0
- package/dist/cdn/{BPAYAR53.js → FVR5S6DL.js} +1 -1
- package/dist/cdn/FZNRD2XJ.js +2 -0
- package/dist/cdn/{NWTG35WX.js → G2RMWJ7R.js} +1 -1
- package/dist/cdn/G63OYQ7G.js +2 -0
- package/dist/cdn/GABDTUB7.js +2 -0
- package/dist/cdn/{3FMOO3PJ.js → GF4QELNV.js} +1 -1
- package/dist/cdn/GLC7JVKG.js +2 -0
- package/dist/cdn/{ELD2UQO4.js → GXZWJXHM.js} +1 -1
- package/dist/cdn/H3NPAQ3U.js +2 -0
- package/dist/cdn/{DIDOZ4J6.js → HB56DBBP.js} +5 -5
- package/dist/cdn/HGOYPWOK.js +2 -0
- package/dist/cdn/{K5ZIHTQC.js → HJZRCLYP.js} +1 -1
- package/dist/cdn/HVT2WBVC.js +2 -0
- package/dist/cdn/HYQVSB6C.js +2 -0
- package/dist/cdn/{DLBZRD4H.js → I2NTSKBD.js} +1 -1
- package/dist/cdn/I4EEOB6Y.js +2 -0
- package/dist/cdn/{I3D5WRYZ.js → I4VWG355.js} +1 -1
- package/dist/cdn/I5E3PM26.js +29 -0
- package/dist/cdn/IADXB53D.js +2 -0
- package/dist/cdn/ICY4O6XV.js +2 -0
- package/dist/cdn/IE5TTSUW.js +118 -0
- package/dist/cdn/IGQJLEEJ.js +2 -0
- package/dist/cdn/{KU62OLRE.js → IHG7KTNC.js} +1 -1
- package/dist/cdn/IOFIC3IG.js +2 -0
- package/dist/cdn/{FJAJKPL6.js → IQVJCQTP.js} +1 -1
- package/dist/cdn/{S423P2GA.js → ISFTCFSJ.js} +1 -1
- package/dist/cdn/{6XELM7OM.js → IXJFVKYN.js} +1 -1
- package/dist/cdn/J6OVONBB.js +2 -0
- package/dist/cdn/{NLTK53B2.js → JCQQIAIE.js} +1 -1
- package/dist/cdn/JDI57IEI.js +98 -0
- package/dist/cdn/JEIP7CJK.js +2 -0
- package/dist/cdn/JFLG3EKT.js +2 -0
- package/dist/cdn/JJDAJ7CL.js +2 -0
- package/dist/cdn/{ZF724O2R.js → JUPIKTGO.js} +1 -1
- package/dist/cdn/{TZL2746B.js → KAGDNHPY.js} +1 -1
- package/dist/cdn/{JLQYLRUP.js → KDHI3OWQ.js} +1 -1
- package/dist/cdn/{FV7G3BY6.js → KIKSO3OQ.js} +1 -1
- package/dist/cdn/KKEERGX7.js +2 -0
- package/dist/cdn/KMKZEHDS.js +2 -0
- package/dist/cdn/{NOIG2A4U.js → KMTYPOFM.js} +1 -1
- package/dist/cdn/KTRKTBPS.js +7 -0
- package/dist/cdn/{LCWLPXAF.js → KU2LYW6K.js} +1 -1
- package/dist/cdn/L4BYLII5.js +2 -0
- package/dist/cdn/LHLLMC6K.js +2 -0
- package/dist/cdn/LM46YQCN.js +2 -0
- package/dist/cdn/{E7W2OZL3.js → LOWGHGDS.js} +1 -1
- package/dist/cdn/{LPBP7CBN.js → LP2JYX4X.js} +1 -1
- package/dist/cdn/LPFG5XTA.js +19 -0
- package/dist/cdn/{C44FH5Z2.js → LSBUPU7F.js} +1 -1
- package/dist/cdn/{FDO2JBGW.js → LVK2J23W.js} +1 -1
- package/dist/cdn/LXGY2E55.js +2 -0
- package/dist/cdn/LY3WRG7K.js +2 -0
- package/dist/cdn/{XG3T3NF3.js → MBAQ324M.js} +1 -1
- package/dist/cdn/MBVY6OPY.js +2 -0
- package/dist/cdn/MDKHW7NM.js +2 -0
- package/dist/cdn/MISU75DC.js +2 -0
- package/dist/cdn/MJ6JD7WX.js +18 -0
- package/dist/cdn/{XIUYW7RN.js → MKDVJPNY.js} +1 -1
- package/dist/cdn/MLNGJEKI.js +2 -0
- package/dist/cdn/MTEVQC6W.js +50 -0
- package/dist/cdn/{TVCG3ZCH.js → MW3IJQRQ.js} +1 -1
- package/dist/cdn/{B3R52L7H.js → N22MFQSQ.js} +1 -1
- package/dist/cdn/{3OQ24P5P.js → N33J6JX2.js} +1 -1
- package/dist/cdn/{BDXIKPLU.js → N7BXCDA3.js} +1 -1
- package/dist/cdn/{YUPT4BTA.js → NKEQVKHZ.js} +1 -1
- package/dist/cdn/NQH7ZZWD.js +2 -0
- package/dist/cdn/{KDE2RXEH.js → NVIMZ7ZS.js} +1 -1
- package/dist/cdn/O4VFFJLQ.js +2 -0
- package/dist/cdn/O7VRD3Z3.js +4 -0
- package/dist/cdn/{BIRAQCVT.js → OAEZN4D5.js} +1 -1
- package/dist/cdn/OGH565H7.js +3 -0
- package/dist/cdn/OJDW3XGU.js +2 -0
- package/dist/cdn/OMRM5EXN.js +2 -0
- package/dist/cdn/{AA7X6GKH.js → ONARC6AZ.js} +1 -1
- package/dist/cdn/{JDVVMD4S.js → OZ7YBTKR.js} +1 -1
- package/dist/cdn/P7LSYADG.js +27 -0
- package/dist/cdn/PEQUHMTU.js +2 -0
- package/dist/cdn/{KHHT54BU.js → PKOJQT4I.js} +1 -1
- package/dist/cdn/{QHYG6C3L.js → PSBOV4IR.js} +1 -1
- package/dist/cdn/{EYXOOK3V.js → PWER63DX.js} +1 -1
- package/dist/cdn/PYPVVSIX.js +2 -0
- package/dist/cdn/{LNLCO244.js → Q2K6BUCN.js} +1 -1
- package/dist/cdn/{ANX2J4ID.js → Q3WGKNJH.js} +1 -1
- package/dist/cdn/Q4X6GXRI.js +2 -0
- package/dist/cdn/QBARJMJE.js +2 -0
- package/dist/cdn/QH343537.js +56 -0
- package/dist/cdn/{PJ5ORVU5.js → QJICQ4W3.js} +1 -1
- package/dist/cdn/QLX3XORL.js +78 -0
- package/dist/cdn/{E57JPXDR.js → QPX33Y62.js} +1 -1
- package/dist/cdn/{UH4IH4MC.js → QQYN7RED.js} +1 -1
- package/dist/cdn/{QQSP7HQH.js → QTFTJ4DQ.js} +1 -1
- package/dist/cdn/QWNRGCQS.js +2 -0
- package/dist/cdn/R2JOPHL5.js +2 -0
- package/dist/cdn/R4PQI4LJ.js +2 -0
- package/dist/cdn/{DKB6JTUF.js → RKZXRHZK.js} +1 -1
- package/dist/cdn/RLYLBYMX.js +2 -0
- package/dist/cdn/RQIGAX6O.js +2 -0
- package/dist/cdn/{CZKXDUOH.js → RXM4BHPK.js} +1 -1
- package/dist/cdn/S37TPZAO.js +2 -0
- package/dist/cdn/S47SVZPE.js +2 -0
- package/dist/cdn/S4ZMJ42A.js +2 -0
- package/dist/cdn/SC4UAHYZ.js +2 -0
- package/dist/cdn/{5ZVSYUD7.js → SDX7YG23.js} +1 -1
- package/dist/cdn/SGU3KCZB.js +2 -0
- package/dist/cdn/SHI2ULEO.js +2 -0
- package/dist/cdn/SIODWUWX.js +2 -0
- package/dist/cdn/{IKN5RLJ4.js → SMN3CVM5.js} +1 -1
- package/dist/cdn/{NH5526ON.js → SNBTGG5B.js} +1 -1
- package/dist/cdn/SNZRQPXI.js +46 -0
- package/dist/cdn/SYISCXZY.js +4 -0
- package/dist/cdn/{3T3GPK27.js → T6EKXYZA.js} +1 -1
- package/dist/cdn/T6FQ2A4O.js +2 -0
- package/dist/cdn/TCUNTTNI.js +2 -0
- package/dist/cdn/{ZYRNI524.js → TJDAE43J.js} +1 -1
- package/dist/cdn/{UF67SSGX.js → TLRBE2TZ.js} +1 -1
- package/dist/cdn/TLY6ZEKN.js +2 -0
- package/dist/cdn/{XC7LLCVS.js → TTCTODAR.js} +1 -1
- package/dist/cdn/{B6IICRWD.js → U2LBV6VU.js} +1 -1
- package/dist/cdn/U6DXEFHP.js +2 -0
- package/dist/cdn/{FFDZB5TW.js → UA6XD7SQ.js} +1 -1
- package/dist/cdn/UBPCOTIY.js +2 -0
- package/dist/cdn/UBPOT5V3.js +2 -0
- package/dist/cdn/UNBGBQPR.js +2 -0
- package/dist/cdn/UUIKE2AH.js +2 -0
- package/dist/cdn/UUKV62PY.js +109 -0
- package/dist/cdn/UXN2MYLX.js +2 -0
- package/dist/cdn/V74POSPP.js +2 -0
- package/dist/cdn/{FZ7WJ3YG.js → V7WSQCQY.js} +1 -1
- package/dist/cdn/VHSGX4DC.js +2 -0
- package/dist/cdn/VHYS3SP3.js +2 -0
- package/dist/cdn/{B7J5RZIJ.js → VJDUPEFF.js} +1 -1
- package/dist/cdn/{7GPGKDLH.js → VNTPM6CQ.js} +1 -1
- package/dist/cdn/{HDRMSU3L.js → VPFXIGOI.js} +1 -1
- package/dist/cdn/{JLYGSQEC.js → VTAQ6NBB.js} +1 -1
- package/dist/cdn/VXGLGWIF.js +115 -0
- package/dist/cdn/W7VD3QDN.js +2 -0
- package/dist/cdn/WCD4U7UJ.js +2 -0
- package/dist/cdn/{4NALIU6Y.js → WCXR46D4.js} +1 -1
- package/dist/cdn/{2TR3Y7HD.js → WFIMYIS3.js} +1 -1
- package/dist/cdn/WQHJMFGP.js +2 -0
- package/dist/cdn/WXM3KMEV.js +7 -0
- package/dist/cdn/{OC2DD3AB.js → X52T6DJT.js} +1 -1
- package/dist/cdn/X65HFYH4.js +2 -0
- package/dist/cdn/XA3SV62A.js +2 -0
- package/dist/cdn/{3AQ7U2PF.js → XF5N3NI5.js} +1 -1
- package/dist/cdn/{AM5URNYD.js → XH6MM3RE.js} +1 -1
- package/dist/cdn/XHFFDKEQ.js +2 -0
- package/dist/cdn/{XVRRQMOP.js → XKEKXTL2.js} +1 -1
- package/dist/cdn/XM3SRZWV.js +2 -0
- package/dist/cdn/YCIKY6QN.js +2 -0
- package/dist/cdn/YGWYD3LU.js +3 -0
- package/dist/cdn/{3IHLJADI.js → YKB6256M.js} +1 -1
- package/dist/cdn/YM4U4HSN.js +2 -0
- package/dist/cdn/{JUUVYK2H.js → YQHYMLC7.js} +1 -1
- package/dist/cdn/{2BTU374O.js → YUKIKHOU.js} +1 -1
- package/dist/cdn/{W2ZZLJGQ.js → ZBX2SDO5.js} +1 -1
- package/dist/cdn/ZI7OWB5M.js +2 -0
- package/dist/cdn/{U6ALIHIC.js → ZNWZWFMH.js} +1 -1
- package/dist/cdn/ZPEVEBJD.js +121 -0
- package/dist/cdn/{DBHZRNFR.js → ZSO2PDMV.js} +1 -1
- package/dist/cdn/{G2ME4BAQ.js → ZX3UHK6P.js} +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/buffer-tools/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/card-manager/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/consent-manager/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/create-feature/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/create-related-feature/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/crowdsource-manager/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/crowdsource-reporter/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/edit-card/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/field-selection/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/info-card/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/layer-table/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/map-card/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/map-picker/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-builder-assistant/images/conduct-field-inspections.png +0 -0
- package/dist/cdn/assets/solution-builder-assistant/images/locate-points-of-interest.png +0 -0
- package/dist/cdn/assets/solution-builder-assistant/images/manage-spatial-data.png +0 -0
- package/dist/cdn/assets/solution-builder-assistant/images/solutions-builder-draft-thumbnail.png +0 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/solution-builder-assistant/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-configure-titles/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-deployed-card/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-deployed-card-panel/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-deploying-dialog/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-details-card/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-details-panel/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solution-item-accordion/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solutions-all-shell/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/solutions-deploy-app-nav/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solutions-deployed-list/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/solutions-deployed-list/t9n/messages.json +1 -0
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/solutions-filter-panel/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/Auth.js +160 -67
- package/dist/chunks/CardsFetcher.js +288 -0
- package/dist/chunks/assessBuildRequest.js +121 -0
- package/dist/chunks/assessUpdateRequest.js +81 -0
- package/dist/chunks/assistantResponse.js +52 -0
- package/dist/chunks/cardFetchingUtils.js +23 -304
- package/dist/chunks/cardsHelpers.js +11 -11
- package/dist/chunks/classifyIntent.js +101 -0
- package/dist/chunks/converter.js +918 -0
- package/dist/chunks/deployAppContexts.js +4 -3
- package/dist/chunks/deployFlowController.js +46 -0
- package/dist/chunks/description.js +16 -0
- package/dist/chunks/description2.js +36 -0
- package/dist/chunks/designSolution.js +118 -0
- package/dist/chunks/downloadUtils.js +246 -235
- package/dist/chunks/explainValidationFailure.js +32 -0
- package/dist/chunks/findExistingSolution.js +22 -0
- package/dist/chunks/getItemIcon.js +19 -10
- package/dist/chunks/getRelatedInfos.js +1 -1
- package/dist/chunks/helpers.js +110 -519
- package/dist/chunks/interfaces.js +469 -0
- package/dist/chunks/popupUtils.js +3 -3
- package/dist/chunks/queryUtils.js +3 -3
- package/dist/chunks/solution-builder-assistant.js +1128 -0
- package/dist/chunks/solution-deploy-dialog.js +183 -150
- package/dist/chunks/solutions-deploy-app-nav.js +38 -39
- package/dist/chunks/solutions_explorer_description.js +19 -0
- package/dist/chunks/templates.js +65 -0
- package/dist/chunks/transformQuery.js +49 -0
- package/dist/chunks/updateDesign.js +5 -0
- package/dist/chunks/validators.js +130 -0
- package/dist/components/arcgis-solutions-assistant/customElement.d.ts +83 -83
- package/dist/components/arcgis-solutions-assistant/customElement.js +1404 -1554
- package/dist/components/arcgis-solutions-assistant/index.js +7 -8
- package/dist/components/buffer-tools/customElement.d.ts +11 -4
- package/dist/components/buffer-tools/customElement.js +5 -5
- package/dist/components/card-manager/customElement.d.ts +39 -3
- package/dist/components/card-manager/customElement.js +128 -26
- package/dist/components/card-manager/index.js +2 -1
- package/dist/components/consent-manager/customElement.d.ts +2 -2
- package/dist/components/consent-manager/customElement.js +23 -3958
- package/dist/components/create-feature/customElement.d.ts +55 -5
- package/dist/components/create-feature/customElement.js +400 -302
- package/dist/components/create-feature/index.js +4 -1
- package/dist/components/create-related-feature/customElement.d.ts +16 -8
- package/dist/components/create-related-feature/customElement.js +59 -82
- package/dist/components/create-related-feature/index.js +1 -0
- package/dist/components/crowdsource-manager/customElement.d.ts +8 -0
- package/dist/components/crowdsource-manager/customElement.js +58 -45
- package/dist/components/crowdsource-reporter/customElement.d.ts +32 -6
- package/dist/components/crowdsource-reporter/customElement.js +82 -56
- package/dist/components/deduct-calculator/customElement.js +5 -5
- package/dist/components/delete-button/customElement.d.ts +2 -2
- package/dist/components/delete-button/customElement.js +1 -1
- package/dist/components/delete-dialog/customElement.d.ts +3 -3
- package/dist/components/edit-card/customElement.d.ts +15 -7
- package/dist/components/edit-card/customElement.js +37 -42
- package/dist/components/edit-card/index.js +1 -0
- package/dist/components/feature-details/customElement.d.ts +7 -6
- package/dist/components/feature-details/customElement.js +5 -5
- package/dist/components/feature-list/customElement.d.ts +5 -4
- package/dist/components/feature-list/customElement.js +7 -7
- package/dist/components/field-selection/customElement.d.ts +6 -4
- package/dist/components/field-selection/customElement.js +75 -67
- package/dist/components/info-card/customElement.d.ts +34 -10
- package/dist/components/info-card/customElement.js +93 -86
- package/dist/components/info-card/index.js +1 -0
- package/dist/components/layer-list/customElement.d.ts +3 -3
- package/dist/components/layer-list/customElement.js +3 -3
- package/dist/components/layer-list-widget/customElement.d.ts +6 -9
- package/dist/components/layer-list-widget/customElement.js +12 -29
- package/dist/components/layer-list-widget/index.js +1 -0
- package/dist/components/layer-table/customElement.d.ts +46 -3
- package/dist/components/layer-table/customElement.js +174 -91
- package/dist/components/map-basemap-gallery/customElement.d.ts +6 -8
- package/dist/components/map-basemap-gallery/customElement.js +31 -38
- package/dist/components/map-basemap-gallery/index.js +1 -0
- package/dist/components/map-card/customElement.d.ts +44 -10
- package/dist/components/map-card/customElement.js +81 -57
- package/dist/components/map-card/index.js +1 -0
- package/dist/components/map-draw-tools/customElement.d.ts +15 -11
- package/dist/components/map-draw-tools/customElement.js +80 -114
- package/dist/components/map-draw-tools/index.js +1 -0
- package/dist/components/map-floor-filter/customElement.d.ts +6 -8
- package/dist/components/map-floor-filter/customElement.js +22 -45
- package/dist/components/map-floor-filter/index.js +1 -0
- package/dist/components/map-fullscreen/customElement.d.ts +6 -4
- package/dist/components/map-fullscreen/customElement.js +14 -34
- package/dist/components/map-fullscreen/index.js +1 -0
- package/dist/components/map-layer-picker/customElement.d.ts +2 -2
- package/dist/components/map-layer-picker/customElement.js +14 -9
- package/dist/components/map-legend/customElement.d.ts +6 -8
- package/dist/components/map-legend/customElement.js +14 -30
- package/dist/components/map-legend/index.js +1 -0
- package/dist/components/map-picker/customElement.d.ts +7 -1
- package/dist/components/map-picker/customElement.js +3 -3
- package/dist/components/map-search/customElement.d.ts +8 -6
- package/dist/components/map-search/customElement.js +25 -52
- package/dist/components/map-search/index.js +1 -0
- package/dist/components/map-select-tools/customElement.d.ts +24 -12
- package/dist/components/map-select-tools/customElement.js +49 -60
- package/dist/components/map-select-tools/index.js +1 -0
- package/dist/components/map-tools/customElement.d.ts +15 -7
- package/dist/components/map-tools/customElement.js +92 -100
- package/dist/components/map-tools/index.js +2 -1
- package/dist/components/pci-calculator/customElement.js +5 -5
- package/dist/components/pdf-download/customElement.d.ts +3 -3
- package/dist/components/pdf-download/customElement.js +1 -1
- package/dist/components/public-notification/customElement.d.ts +15 -11
- package/dist/components/public-notification/customElement.js +158 -74
- package/dist/components/refine-selection/customElement.d.ts +15 -9
- package/dist/components/refine-selection/customElement.js +20 -20
- package/dist/components/selection-tool/customElement.d.ts +3 -3
- package/dist/components/selection-tool/customElement.js +3 -3
- package/dist/components/solution-builder-assistant/customElement.d.ts +342 -0
- package/dist/components/solution-builder-assistant/customElement.js +21 -0
- package/dist/components/solution-builder-assistant/index.d.ts +1 -0
- package/dist/components/solution-builder-assistant/index.js +30 -0
- package/dist/components/solution-configure-titles/customElement.js +102 -83
- package/dist/components/solution-delete-dialog/customElement.js +39 -33
- package/dist/components/solution-deploy-dialog/customElement.d.ts +9 -3
- package/dist/components/solution-deploy-dialog/customElement.js +4 -3
- package/dist/components/solution-deploy-dialog/index.js +1 -1
- package/dist/components/solution-deployed-card/customElement.d.ts +2 -0
- package/dist/components/solution-deployed-card/customElement.js +3 -2
- package/dist/components/solution-deployed-card/index.js +1 -0
- package/dist/components/solution-deployed-card-panel/customElement.d.ts +15 -0
- package/dist/components/solution-deployed-card-panel/customElement.js +122 -52
- package/dist/components/solution-deployed-card-panel/index.js +2 -1
- package/dist/components/solution-deploying-dialog/customElement.js +16 -16
- package/dist/components/solution-details-card/customElement.d.ts +4 -0
- package/dist/components/solution-details-card/customElement.js +39 -27
- package/dist/components/solution-details-card/index.js +1 -0
- package/dist/components/solution-details-panel/customElement.d.ts +15 -4
- package/dist/components/solution-details-panel/customElement.js +253 -244
- package/dist/components/solution-details-panel/index.js +2 -0
- package/dist/components/solution-item-accordion/customElement.d.ts +17 -4
- package/dist/components/solution-item-accordion/customElement.js +69 -36
- package/dist/components/solution-item-accordion/index.js +1 -0
- package/dist/components/solution-item-diagram/customElement.js +252 -212
- package/dist/components/solution-item-icon/customElement.d.ts +6 -0
- package/dist/components/solution-item-icon/customElement.js +13 -12
- package/dist/components/solution-resource-card/customElement.js +8 -7
- package/dist/components/solution-snapshot-gallery/customElement.js +11 -9
- package/dist/components/solution-social-share/customElement.js +15 -14
- package/dist/components/solution-user-avatar/customElement.js +1 -1
- package/dist/components/solutions-all-panel/customElement.d.ts +2 -0
- package/dist/components/solutions-all-panel/customElement.js +59 -40
- package/dist/components/solutions-all-shell/customElement.d.ts +4 -0
- package/dist/components/solutions-all-shell/customElement.js +95 -40
- package/dist/components/solutions-deploy-app/customElement.d.ts +21 -0
- package/dist/components/solutions-deploy-app/customElement.js +843 -118
- package/dist/components/solutions-deploy-app/index.js +7 -0
- package/dist/components/solutions-deploy-app-nav/customElement.d.ts +6 -0
- package/dist/components/solutions-deploy-app-nav/customElement.js +4 -5
- package/dist/components/solutions-deployed-list/customElement.d.ts +43 -0
- package/dist/components/solutions-deployed-list/customElement.js +64 -0
- package/dist/components/solutions-deployed-list/index.d.ts +1 -0
- package/dist/components/solutions-deployed-list/index.js +3 -0
- package/dist/components/solutions-deployed-panel/customElement.js +43 -32
- package/dist/components/solutions-deployed-panel/index.js +0 -1
- package/dist/components/solutions-deployed-shell/customElement.js +22 -18
- package/dist/components/solutions-deployed-shell/index.js +0 -1
- package/dist/components/solutions-filter-panel/customElement.d.ts +2 -6
- package/dist/components/solutions-filter-panel/customElement.js +49 -63
- package/dist/components/solutions-filter-panel/index.js +0 -3
- package/dist/components/solutions-resources-section/customElement.js +10 -9
- package/dist/components/solutions-resources-shell/customElement.d.ts +7 -0
- package/dist/components/solutions-resources-shell/customElement.js +92 -50
- package/dist/components/solutions-searchsort-toolbar/customElement.js +12 -11
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/index.d.ts +20 -6
- package/dist/index.js +25 -24
- package/dist/loader.js +29 -27
- package/dist/solutions-components_commit.txt +5 -5
- package/dist/types/lumina.d.ts +54 -24
- package/dist/types/preact.d.ts +56 -24
- package/dist/types/react.d.ts +58 -24
- package/dist/types/stencil.d.ts +54 -24
- package/dist/utils/Auth.d.ts +13 -2
- package/dist/utils/getRelatedInfos.d.ts +4 -0
- package/dist/utils/interfaces.d.ts +203 -31
- package/package.json +42 -34
- package/dist/cdn/27G6RESZ.js +0 -2
- package/dist/cdn/2L7O5T7N.js +0 -2
- package/dist/cdn/2RBKFT3Q.js +0 -2
- package/dist/cdn/2WPJOTMI.js +0 -2
- package/dist/cdn/2XQOWXMT.js +0 -2
- package/dist/cdn/3JF5JLS4.js +0 -2
- package/dist/cdn/3ME5BVUE.js +0 -2
- package/dist/cdn/3PT5ULE3.js +0 -2
- package/dist/cdn/3SYLXG32.js +0 -2
- package/dist/cdn/3WO3DS32.js +0 -2
- package/dist/cdn/45ZS4SG7.js +0 -2
- package/dist/cdn/4GHX4MVD.js +0 -50
- package/dist/cdn/4L3MVJ5S.js +0 -2
- package/dist/cdn/5326HZ74.js +0 -2
- package/dist/cdn/57JYZYF5.js +0 -2
- package/dist/cdn/5FKEDJRU.js +0 -2
- package/dist/cdn/5GIHSPJZ.js +0 -2
- package/dist/cdn/5KD4GK7Y.js +0 -2
- package/dist/cdn/5QCBD6ZZ.js +0 -2
- package/dist/cdn/5S3WZLB5.js +0 -2
- package/dist/cdn/5TZ7Q4JG.js +0 -2
- package/dist/cdn/66Q5IRVS.js +0 -2
- package/dist/cdn/6DLDJH6I.js +0 -2
- package/dist/cdn/6G7RA3PN.js +0 -2
- package/dist/cdn/6UXP2Q63.js +0 -2
- package/dist/cdn/73AX72WY.js +0 -2
- package/dist/cdn/743J5TBS.js +0 -2
- package/dist/cdn/74557KPJ.js +0 -2
- package/dist/cdn/7J2VRW7S.js +0 -2
- package/dist/cdn/7YIQXDUF.js +0 -2
- package/dist/cdn/7ZMHT4SH.js +0 -2
- package/dist/cdn/A2LNKTGU.js +0 -2
- package/dist/cdn/A5STEAY7.js +0 -2
- package/dist/cdn/ABTC2V7J.js +0 -2
- package/dist/cdn/AC3MHBPK.js +0 -2
- package/dist/cdn/AF2YWYJQ.js +0 -2
- package/dist/cdn/AGC6ZWMH.js +0 -2
- package/dist/cdn/AKDP6MCB.js +0 -2
- package/dist/cdn/AT2EES2R.js +0 -21
- package/dist/cdn/ATVUAP2X.js +0 -2
- package/dist/cdn/AVNCYWKK.js +0 -2
- package/dist/cdn/BEGKM3ZM.js +0 -2
- package/dist/cdn/BJMKDP4O.js +0 -2
- package/dist/cdn/BK3QFV3M.js +0 -2
- package/dist/cdn/BMJN3MIR.js +0 -2
- package/dist/cdn/BPOWO72Z.js +0 -2
- package/dist/cdn/D4QQZVLI.js +0 -2
- package/dist/cdn/DIKAKOU5.js +0 -2
- package/dist/cdn/DMRQFYLJ.js +0 -174
- package/dist/cdn/DQ4POWIJ.js +0 -2
- package/dist/cdn/DQV46RIT.js +0 -2
- package/dist/cdn/E7HQ4JJ2.js +0 -2
- package/dist/cdn/EGFXSDFS.js +0 -2
- package/dist/cdn/EJRSL3ID.js +0 -2
- package/dist/cdn/EPRDKJSD.js +0 -2
- package/dist/cdn/F372CSCW.js +0 -2
- package/dist/cdn/FXHBHZKG.js +0 -2
- package/dist/cdn/GTKRTZK6.js +0 -2
- package/dist/cdn/HBJZGW4L.js +0 -2
- package/dist/cdn/HBPD3T7H.js +0 -2
- package/dist/cdn/HBQN25RR.js +0 -4
- package/dist/cdn/HMB3LHBC.js +0 -2
- package/dist/cdn/HPQPI754.js +0 -2
- package/dist/cdn/I4PUORX4.js +0 -2
- package/dist/cdn/IDNTGLQU.js +0 -2
- package/dist/cdn/IORIFDK6.js +0 -2
- package/dist/cdn/IUPEGG4M.js +0 -2
- package/dist/cdn/J33ST6ZG.js +0 -2
- package/dist/cdn/J5VTBFGR.js +0 -2
- package/dist/cdn/JALU4653.js +0 -2
- package/dist/cdn/JK75TUSP.js +0 -2
- package/dist/cdn/JUXXPW6I.js +0 -2
- package/dist/cdn/JYLXH6OM.js +0 -2
- package/dist/cdn/K5JYHCQ7.js +0 -2
- package/dist/cdn/K5VEUOS3.js +0 -2
- package/dist/cdn/K7XOFXRK.js +0 -7
- package/dist/cdn/KD46EE7M.js +0 -2
- package/dist/cdn/KKYXQLBJ.js +0 -2
- package/dist/cdn/KPBEUIQV.js +0 -2
- package/dist/cdn/KSXW3QKP.js +0 -2
- package/dist/cdn/KWCJDOZU.js +0 -2
- package/dist/cdn/KZDTATOG.js +0 -2
- package/dist/cdn/LD2NUKM3.js +0 -2
- package/dist/cdn/LDHJGX5G.js +0 -2
- package/dist/cdn/LI4CAGAZ.js +0 -2
- package/dist/cdn/LO5Q55JH.js +0 -2
- package/dist/cdn/LPNQJBCN.js +0 -2
- package/dist/cdn/LWUSGNUB.js +0 -2
- package/dist/cdn/M4OPXH3T.js +0 -2
- package/dist/cdn/M7YK4K5M.js +0 -2
- package/dist/cdn/MWVSVTGT.js +0 -2
- package/dist/cdn/MZ3QZD4K.js +0 -2
- package/dist/cdn/MZLEP53S.js +0 -2
- package/dist/cdn/N2ROUAUM.js +0 -2
- package/dist/cdn/N7HJKCUK.js +0 -2
- package/dist/cdn/N7OY2PSZ.js +0 -2
- package/dist/cdn/NGCFEPQE.js +0 -4
- package/dist/cdn/NIUMAAOQ.js +0 -2
- package/dist/cdn/NOOFAZCT.js +0 -2
- package/dist/cdn/NSITJP7B.js +0 -2
- package/dist/cdn/NZS3YVIT.js +0 -2
- package/dist/cdn/OQFRVQQZ.js +0 -2
- package/dist/cdn/OYQYXNHJ.js +0 -2
- package/dist/cdn/P4FX4W2X.js +0 -2
- package/dist/cdn/P4KZ6OZF.js +0 -4
- package/dist/cdn/P5Q3LVYT.js +0 -2
- package/dist/cdn/P6IYN2TS.js +0 -2
- package/dist/cdn/PJH3H7LZ.js +0 -2
- package/dist/cdn/PYBOC3DB.js +0 -2
- package/dist/cdn/PZOAAAVI.js +0 -2
- package/dist/cdn/QHG54NVK.js +0 -2
- package/dist/cdn/QI5LXFA7.js +0 -2
- package/dist/cdn/QPIMTXPL.js +0 -2
- package/dist/cdn/QWRM254M.js +0 -2
- package/dist/cdn/R3TKXDOE.js +0 -6
- package/dist/cdn/RDXJFHLV.js +0 -2
- package/dist/cdn/REOO5ZGK.js +0 -2
- package/dist/cdn/RKMY6VWP.js +0 -2
- package/dist/cdn/RTPXDRZ7.js +0 -2
- package/dist/cdn/SENL26AU.js +0 -3
- package/dist/cdn/SSO3AN4U.js +0 -2
- package/dist/cdn/SXD7ZWLW.js +0 -27
- package/dist/cdn/SZRONHSX.js +0 -2
- package/dist/cdn/T2WSMUVL.js +0 -2
- package/dist/cdn/TBQQ6OPX.js +0 -2
- package/dist/cdn/TH52564W.js +0 -2
- package/dist/cdn/THKPPH7G.js +0 -2
- package/dist/cdn/TP5EQUBD.js +0 -2
- package/dist/cdn/TRJ6EQRD.js +0 -2
- package/dist/cdn/TU5GZK4M.js +0 -2
- package/dist/cdn/U3LEZXNT.js +0 -2
- package/dist/cdn/UFJWRZWQ.js +0 -2
- package/dist/cdn/ULCILXSA.js +0 -2
- package/dist/cdn/ULXATJK5.js +0 -2
- package/dist/cdn/UME5GDA2.js +0 -2
- package/dist/cdn/VDEFBT2N.js +0 -2
- package/dist/cdn/VFC4CM23.js +0 -2
- package/dist/cdn/VJEG4LOG.js +0 -2
- package/dist/cdn/VJYMTG4U.js +0 -2
- package/dist/cdn/VPTZV5YV.js +0 -2
- package/dist/cdn/VRE7NUZ2.js +0 -2
- package/dist/cdn/WCPWYPN2.js +0 -2
- package/dist/cdn/WMPUJYLT.js +0 -2
- package/dist/cdn/XBR2PGVO.js +0 -7
- package/dist/cdn/XCILPMDZ.js +0 -2
- package/dist/cdn/XK6Q5TUT.js +0 -2
- package/dist/cdn/XKDPK7SD.js +0 -2
- package/dist/cdn/XTDFTH5X.js +0 -2
- package/dist/cdn/XYFIAJPT.js +0 -2
- package/dist/cdn/Y6I6QW4M.js +0 -2
- package/dist/cdn/YMOLIY64.js +0 -2
- package/dist/cdn/YTK4IGLJ.js +0 -2
- package/dist/cdn/Z6H6J4QH.js +0 -2
- package/dist/cdn/ZDQANIMG.js +0 -2
- package/dist/cdn/ZSHMK5VX.js +0 -2
- package/dist/cdn/ZVFUYLAQ.js +0 -2
- /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
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
I = i;
|
|
38
|
+
function q(t) {
|
|
39
|
+
return t?.configurable?.context?.translations;
|
|
19
40
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
return
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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">[$1]</a></sup>');
|
|
49
82
|
}
|
|
50
|
-
function
|
|
51
|
-
|
|
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
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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
|
|
78
|
-
|
|
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
|
|
86
|
-
|
|
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
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
return
|
|
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
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
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
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
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
|
-
|
|
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
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
-
|
|
274
|
-
|
|
275
|
-
|
|
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
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
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
|
-
|
|
286
|
-
|
|
287
|
-
|
|
313
|
+
/**
|
|
314
|
+
* Compares response models against template models.
|
|
315
|
+
*/
|
|
316
|
+
compareModels() {
|
|
317
|
+
this._compareStrings(), this._compareItems(), this._compareFeatureLayers();
|
|
288
318
|
}
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
319
|
+
/**
|
|
320
|
+
* Validates response properties and structure.
|
|
321
|
+
*/
|
|
322
|
+
validateResponse() {
|
|
323
|
+
this._validateSolutionProps(), this._validateItems(), this._validateFeatureLayer();
|
|
292
324
|
}
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
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
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
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
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
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
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
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
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
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
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
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
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
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
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
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
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
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
|
-
|
|
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
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
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
|
|
475
|
+
return i.add(a.toLowerCase()), a;
|
|
537
476
|
}
|
|
538
|
-
|
|
539
|
-
|
|
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
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
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
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
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
|
-
|
|
638
|
-
|
|
639
|
-
|
|
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
|
-
|
|
646
|
-
|
|
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
|
-
|
|
649
|
-
|
|
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
|
-
|
|
653
|
-
|
|
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
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
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
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
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
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
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
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
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
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
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
|
-
|
|
822
|
+
);
|
|
823
|
+
} catch {
|
|
824
|
+
return null;
|
|
851
825
|
}
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
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
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
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
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
|
|
931
|
-
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
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
|
-
|
|
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
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
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
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
return
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
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
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
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
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
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
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
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
|
-
},
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
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
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
/\[[^\]]+\]\([^)]+\)/,
|
|
1187
|
-
// [text](url)
|
|
1188
|
-
/!\[[^\]]*\]\([^)]+\)/
|
|
1189
|
-
// 
|
|
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
|
-
|
|
1203
|
-
|
|
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.
|
|
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 =
|
|
1214
|
-
context:
|
|
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?.
|
|
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
|
-
}
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
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, "
|
|
1236
|
-
this.
|
|
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 = {
|
|
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 =
|
|
1410
|
+
this.styles = He;
|
|
1244
1411
|
}
|
|
1245
1412
|
get _telemetry() {
|
|
1246
1413
|
return this._configContextConsumer.value?.telemetrySession;
|
|
1247
1414
|
}
|
|
1248
|
-
|
|
1249
|
-
|
|
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
|
-
|
|
1387
|
-
|
|
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
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
|
|
1595
|
-
|
|
1596
|
-
|
|
1597
|
-
|
|
1598
|
-
|
|
1599
|
-
|
|
1600
|
-
|
|
1601
|
-
|
|
1602
|
-
|
|
1603
|
-
|
|
1604
|
-
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
}
|
|
1637
|
-
}
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
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
|
|
1661
|
-
this.userFirstName =
|
|
1498
|
+
const s = e.fullName.split(" ")[0];
|
|
1499
|
+
this.userFirstName = s;
|
|
1662
1500
|
}
|
|
1663
1501
|
} catch {
|
|
1664
1502
|
}
|
|
1665
1503
|
}
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
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
|
-
|
|
1523
|
+
Le("arcgis-solutions-assistant", ms);
|
|
1674
1524
|
export {
|
|
1675
|
-
|
|
1525
|
+
ms as ArcgisSolutionsAssistant
|
|
1676
1526
|
};
|