@arcgis/portal-components 5.2.0-next.99 → 6.0.0-next.0
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/23X56P4K.js +2 -0
- package/dist/cdn/{OBBYT2AV.js → 25XJ66JO.js} +1 -1
- package/dist/cdn/2I5SLQC5.js +2 -0
- package/dist/cdn/3R4PPD5N.js +2 -0
- package/dist/cdn/3SO52LKS.js +2 -0
- package/dist/cdn/{T3BCFS2M.js → 456JKNCU.js} +1 -1
- package/dist/cdn/4SHXR62X.js +2 -0
- package/dist/cdn/4TQWZ2KF.js +9 -0
- package/dist/cdn/{W4GBRVNN.js → 4ZTWQN6Q.js} +1 -1
- package/dist/cdn/5EFYJYWM.js +2 -0
- package/dist/cdn/5FDUO7J4.js +2 -0
- package/dist/cdn/5FOWUL6I.js +2 -0
- package/dist/cdn/5YDITHQA.js +3 -0
- package/dist/cdn/{VJ4STLVD.js → 6BMWSGLA.js} +1 -1
- package/dist/cdn/{GBYHBRUW.js → 6EY5GHKE.js} +1 -1
- package/dist/cdn/6LST5YZY.js +2 -0
- package/dist/cdn/6MWSS5YF.js +2 -0
- package/dist/cdn/7NK6UF47.js +2 -0
- package/dist/cdn/7NQY5QJK.js +2 -0
- package/dist/cdn/7TGCBYRK.js +2 -0
- package/dist/cdn/ADZAKBOJ.js +2 -0
- package/dist/cdn/AE574B3G.js +2 -0
- package/dist/cdn/AWCYG2JJ.js +2 -0
- package/dist/cdn/B3NVWHCS.js +2 -0
- package/dist/cdn/BEAUY47J.js +2 -0
- package/dist/cdn/BIXJGL7B.js +2 -0
- package/dist/cdn/BRJE3G3H.js +2 -0
- package/dist/cdn/{S7IRYX4A.js → C5U7YKVI.js} +1 -1
- package/dist/cdn/C5VUNN4M.js +2 -0
- package/dist/cdn/CJHR4UK5.js +2 -0
- package/dist/cdn/CWSEBETE.js +4 -0
- package/dist/cdn/D6QHNXEH.js +2 -0
- package/dist/cdn/{EHQVLI6M.js → D7LRCAK4.js} +1 -1
- package/dist/cdn/DF5GVVDW.js +2 -0
- package/dist/cdn/DIKRXF22.js +2 -0
- package/dist/cdn/DKIYHE4A.js +2 -0
- package/dist/cdn/E3FQ4QWE.js +2 -0
- package/dist/cdn/FEBUVUR5.js +2 -0
- package/dist/cdn/{FJSGWELR.js → FFLIAQOL.js} +1 -1
- package/dist/cdn/FQOOFBPI.js +2 -0
- package/dist/cdn/FQYC25GN.js +2 -0
- package/dist/cdn/FSACXOM3.js +68 -0
- package/dist/cdn/FTKD53UG.js +209 -0
- package/dist/cdn/{PKSH2HSK.js → GEZH4D32.js} +1 -1
- package/dist/cdn/GTZ4LKEQ.js +2 -0
- package/dist/cdn/GYA7R4F6.js +2 -0
- package/dist/cdn/J537SBGI.js +2 -0
- package/dist/cdn/{33IZVRD6.js → JUDF3TYJ.js} +1 -1
- package/dist/cdn/KC4FTTKP.js +2 -0
- package/dist/cdn/{GUTV5BR3.js → KIKEE2KY.js} +1 -1
- package/dist/cdn/LCO2BWDK.js +2 -0
- package/dist/cdn/{ZJ7GT4N2.js → LNWWUPFK.js} +1 -1
- package/dist/cdn/LP4IB3PV.js +2 -0
- package/dist/cdn/LRHPL6B5.js +2 -0
- package/dist/cdn/LYOR4B2O.js +2 -0
- package/dist/cdn/MCX22B23.js +2 -0
- package/dist/cdn/{OEMNHYK6.js → MQISQ7P3.js} +1 -1
- package/dist/cdn/MY7AYBBR.js +2 -0
- package/dist/cdn/NDRCB2K3.js +2 -0
- package/dist/cdn/NICTB76A.js +2 -0
- package/dist/cdn/{G2CJ5PLI.js → NXFE6R2N.js} +1 -1
- package/dist/cdn/O5LFDRK2.js +2 -0
- package/dist/cdn/ODH2VAWC.js +2 -0
- package/dist/cdn/OJNU7H3F.js +2 -0
- package/dist/cdn/OKUI3HQ4.js +2 -0
- package/dist/cdn/{LLRHHAXZ.js → OQGUCK3G.js} +1 -1
- package/dist/cdn/{VQKLCN3V.js → OV5O7YP4.js} +1 -1
- package/dist/cdn/QBV7VDQK.js +2 -0
- package/dist/cdn/QCOJMMT3.js +2 -0
- package/dist/cdn/QDWOQBO3.js +3 -0
- package/dist/cdn/QKBGX2OY.js +2 -0
- package/dist/cdn/QKK6N2AN.js +2 -0
- package/dist/cdn/QNCMFQSA.js +2 -0
- package/dist/cdn/QSAZVVVL.js +2 -0
- package/dist/cdn/{2QCYQYNA.js → QUOPWSRC.js} +1 -1
- package/dist/cdn/QYMSY57N.js +2 -0
- package/dist/cdn/{XWLOXRJZ.js → R3QN5WF2.js} +1 -1
- package/dist/cdn/R74ZHFA6.js +2 -0
- package/dist/cdn/RUB2GDBE.js +2 -0
- package/dist/cdn/SG7Z5VLB.js +2 -0
- package/dist/cdn/T2HQNZ36.js +2 -0
- package/dist/cdn/T3RJKB2A.js +2 -0
- package/dist/cdn/TJYPEMON.js +2 -0
- package/dist/cdn/UGRFT75G.js +2 -0
- package/dist/cdn/UKHCSMA4.js +2 -0
- package/dist/cdn/UQKT5JQZ.js +2 -0
- package/dist/cdn/USGROSML.js +2 -0
- package/dist/cdn/V5YXPHYD.js +2 -0
- package/dist/cdn/WDMNL6PJ.js +2 -0
- package/dist/cdn/X4G32AIG.js +2 -0
- package/dist/cdn/XKC6SPS4.js +2 -0
- package/dist/cdn/XOFCMJBQ.js +150 -0
- package/dist/cdn/XROCYFKH.js +2 -0
- package/dist/cdn/XU3QHJD7.js +2 -0
- package/dist/cdn/{ACCEI7S4.js → XUPYBBRI.js} +1 -1
- package/dist/cdn/Y3YIMI2Z.js +463 -0
- package/dist/cdn/YG5VQATB.js +2 -0
- package/dist/cdn/YUQFNMEZ.js +2 -0
- package/dist/cdn/ZAIRH5DL.js +2 -0
- package/dist/cdn/ZSILF72K.js +2 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-account-switcher/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-add-gps-metadata/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/portal-ai-assistant-interrupt/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/portal-browser/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-browser/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-delete-items/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-delete-items-review/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-entity-picker/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-group-badges/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/portal-group-browser/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-group-browser/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-group-card/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-item-badges/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-item-card/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-item-favorite/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-item-thumbnail/administrativereport.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/analysismodel.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/apacheparquet.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/apikey.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/applicationtheme.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/bigdataanalytic.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/classificationschema.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/classifierdefinition.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/dashboards.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/dataengineeringmodel.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/dataengineeringworkbook.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/datapipeline.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/deeplearningpackage.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/deeplearningstudioproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/default.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/dictionarystyle.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/discussion.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/earthconfiguration.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/excaliburimageryproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/experiencebuilderwidget.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/experiencebuilderwidgetpackage.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/feed.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/gaussiansplatlayer.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/geodataservice.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/hubevent.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/hubinitiative.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/hubinitiativetemplate.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/hubpage.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/hubproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/hubsite.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/imagerylayer.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/indoor-positioning-data-service.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/insightsscript.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/insightstheme.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/insightsworkbookpackage.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/investigation.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/kernelgatewayconnection.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/knowledgegraph.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/knowledgegraphconfiguration.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/knowledgegraphlayer.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/knowledgestudio.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/linkchart.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/locationtrackingservice.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/mapshowcase.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/mediaservice.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/mission.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/missionreport.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/missiontemplate.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/mobileapp.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/mobilescenepackage.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/notebook.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/notebookcodesnippets.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/notebookwebtool.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/opsdashboard.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/orthomappingproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/orthomappingtemplate.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/pro-presentation.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/propackage.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/proreport.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/proreporttemplate.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/quickcaptureproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/rasterfunctiontemplate.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/realitymappingproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/realtimeanalytic.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/scene.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/serviceconnection.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/solution.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/spectrallibrary.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/storymap.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/storymapcollection.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/storymaptheme.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/style.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/suitabilitymodel.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/survey123addin.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/tiledimagerylayer.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/urbanmodel.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/urbanproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/webapp.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/webexperience.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/webexperiencetemplate.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/webtool.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/workflow.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/workforceproject.avif +0 -0
- package/dist/cdn/assets/portal-item-thumbnail/xrexperience.avif +0 -0
- package/dist/cdn/assets/portal-item-type/icons/360vr16.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/360vr32.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/insightstheme16.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/insightstheme32.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/knowledgegraphconfiguration16.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/knowledgegraphconfiguration32.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/knowledgegraphlayer16.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/knowledgegraphlayer32.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/missiontemplate16.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/missiontemplate32.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/propresentation16.svg +0 -0
- package/dist/cdn/assets/portal-item-type/icons/propresentation32.svg +0 -0
- package/dist/cdn/assets/portal-item-type/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/portal-item-type/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-api-for-python-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-connectors-for-power-automate-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-drone2map-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-earth-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-enterprise-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-excalibur-gray-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-explorer-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-for-autodesk-forma-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-living-atlas-of-the-world-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-logo-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-monitor-white-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-navigator-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-online-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-ortho-maker-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-pro-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-connect-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-survey123-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-appbuilder-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/arcgis-web-editor-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/calcite-design-system-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/esri-offline-documentation-center--glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/sceneviewer-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/product-logos/xr-viewer-glyph-32.svg +0 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-navigation/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-related-items-list-item/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/portal-replacement-item-redirect/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-review-related-items/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-sublayer-type/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/portal-user-popup/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/functional.js +9 -0
- package/dist/chunks/groups.js +61 -8
- package/dist/chunks/groups2.js +8 -61
- package/dist/chunks/item.js +17 -13
- package/dist/chunks/item2.js +57 -53
- package/dist/chunks/{thumbnail.js → itemThumbnail.js} +29 -25
- package/dist/chunks/loadClassificationData.js +1 -1
- package/dist/chunks/portal-account-switcher.js +3 -3
- package/dist/chunks/portal-browser.js +36 -36
- package/dist/chunks/portal-delete-items-review.js +58 -0
- package/dist/chunks/portal-related-items-list-item.js +6 -0
- package/dist/chunks/query.js +3 -3
- package/dist/chunks/store.js +14 -10
- package/dist/chunks/string.js +15 -9
- package/dist/chunks/utils.js +28 -83
- package/dist/chunks/utils2.js +75 -651
- package/dist/chunks/utils3.js +664 -0
- package/dist/components/arcgis-portal-account-switcher/customElement.d.ts +39 -2
- package/dist/components/arcgis-portal-account-switcher/customElement.js +188 -143
- package/dist/components/arcgis-portal-account-switcher/index.js +2 -0
- package/dist/components/arcgis-portal-account-switcher/types.d.ts +20 -0
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.d.ts +28 -2
- package/dist/components/arcgis-portal-account-switcher-accounts/customElement.js +6 -6
- package/dist/components/arcgis-portal-account-switcher-list/customElement.d.ts +30 -3
- package/dist/components/arcgis-portal-account-switcher-list/customElement.js +58 -30
- package/dist/components/arcgis-portal-account-switcher-signout/customElement.d.ts +146 -0
- package/dist/components/arcgis-portal-account-switcher-signout/customElement.js +29 -0
- package/dist/components/arcgis-portal-account-switcher-signout/index.d.ts +1 -0
- package/dist/components/arcgis-portal-account-switcher-signout/index.js +6 -0
- package/dist/components/arcgis-portal-add-gps-metadata/customElement.d.ts +8 -5
- package/dist/components/arcgis-portal-add-gps-metadata/customElement.js +240 -152
- package/dist/components/arcgis-portal-add-gps-metadata/index.js +3 -4
- package/dist/components/arcgis-portal-ai-assistant/agents/portalRouteKeys.d.ts +7 -1
- package/dist/components/arcgis-portal-ai-assistant/customElement.js +1255 -981
- package/dist/components/arcgis-portal-ai-assistant/data/capability-registries/types.d.ts +1 -1
- package/dist/components/arcgis-portal-browser/customElement.d.ts +0 -5
- package/dist/components/arcgis-portal-browser/utils/store.d.ts +1 -1
- package/dist/components/arcgis-portal-browser-top-bar/customElement.js +1 -1
- package/dist/components/arcgis-portal-classification-config/customElement.js +69 -69
- package/dist/components/arcgis-portal-delete-items/customElement.d.ts +214 -0
- package/dist/components/arcgis-portal-delete-items/customElement.js +586 -0
- package/dist/components/arcgis-portal-delete-items/index.d.ts +1 -0
- package/dist/components/arcgis-portal-delete-items/index.js +17 -0
- package/dist/components/arcgis-portal-delete-items/services.d.ts +7 -0
- package/dist/components/arcgis-portal-delete-items/types.d.ts +19 -0
- package/dist/components/arcgis-portal-delete-items-review/customElement.d.ts +40 -0
- package/dist/components/arcgis-portal-delete-items-review/customElement.js +12 -0
- package/dist/components/arcgis-portal-delete-items-review/index.d.ts +1 -0
- package/dist/components/arcgis-portal-delete-items-review/index.js +3 -0
- package/dist/components/arcgis-portal-entity-picker/customElement.d.ts +87 -0
- package/dist/components/arcgis-portal-entity-picker/customElement.js +247 -0
- package/dist/components/arcgis-portal-entity-picker/index.d.ts +1 -0
- package/dist/components/arcgis-portal-entity-picker/index.js +11 -0
- package/dist/components/arcgis-portal-extent-picker/customElement.js +285 -243
- package/dist/components/arcgis-portal-extent-picker/index.js +3 -0
- package/dist/components/arcgis-portal-extent-picker-coord-field/customElement.js +8 -8
- package/dist/components/arcgis-portal-field-delete/customElement.js +215 -125
- package/dist/components/arcgis-portal-group-badges/customElement.js +9 -9
- package/dist/components/arcgis-portal-group-browser/customElement.d.ts +15 -4
- package/dist/components/arcgis-portal-group-browser/customElement.js +240 -197
- package/dist/components/arcgis-portal-group-browser/types.d.ts +2 -21
- package/dist/components/arcgis-portal-group-browser-card/customElement.d.ts +30 -0
- package/dist/components/arcgis-portal-group-browser-card/customElement.js +41 -0
- package/dist/components/arcgis-portal-group-browser-card/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-browser-card/index.js +2 -0
- package/dist/components/arcgis-portal-group-browser-preview/customElement.d.ts +4 -2
- package/dist/components/arcgis-portal-group-browser-preview/customElement.js +16 -16
- package/dist/components/arcgis-portal-group-browser-preview-card/customElement.js +4 -4
- package/dist/components/arcgis-portal-group-card/customElement.d.ts +4 -8
- package/dist/components/arcgis-portal-group-card/customElement.js +100 -66
- package/dist/components/arcgis-portal-group-card/types.d.ts +8 -0
- package/dist/components/arcgis-portal-group-picker/customElement.d.ts +20 -0
- package/dist/components/arcgis-portal-group-picker/customElement.js +15 -0
- package/dist/components/arcgis-portal-group-picker/index.d.ts +1 -0
- package/dist/components/arcgis-portal-group-picker/index.js +2 -0
- package/dist/components/arcgis-portal-item-actions/customElement.js +1 -1
- package/dist/components/arcgis-portal-item-card/customElement.js +45 -52
- package/dist/components/arcgis-portal-item-card/index.js +1 -0
- package/dist/components/arcgis-portal-item-favorite/customElement.js +1 -1
- package/dist/components/arcgis-portal-item-picker/customElement.d.ts +20 -0
- package/dist/components/arcgis-portal-item-picker/customElement.js +15 -0
- package/dist/components/arcgis-portal-item-picker/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-picker/index.js +2 -0
- package/dist/components/arcgis-portal-item-thumbnail/customElement.d.ts +43 -0
- package/dist/components/arcgis-portal-item-thumbnail/customElement.js +309 -0
- package/dist/components/arcgis-portal-item-thumbnail/index.d.ts +1 -0
- package/dist/components/arcgis-portal-item-thumbnail/index.js +1 -0
- package/dist/components/arcgis-portal-item-type/customElement.js +1 -1
- package/dist/components/arcgis-portal-mentionable-text-area/customElement.js +75 -101
- package/dist/components/arcgis-portal-navigation/customElement.js +73 -66
- package/dist/components/arcgis-portal-navigation/index.js +4 -4
- package/dist/components/arcgis-portal-replacement-item-redirect/customElement.js +1 -1
- package/dist/components/arcgis-portal-review-related-items/customElement.d.ts +27 -0
- package/dist/components/arcgis-portal-review-related-items/customElement.js +30 -0
- package/dist/components/arcgis-portal-review-related-items/index.d.ts +1 -0
- package/dist/components/arcgis-portal-review-related-items/index.js +2 -0
- package/dist/components/arcgis-portal-sublayer-type/customElement.d.ts +76 -0
- package/dist/components/arcgis-portal-sublayer-type/customElement.js +121 -0
- package/dist/components/arcgis-portal-sublayer-type/index.d.ts +1 -0
- package/dist/components/arcgis-portal-sublayer-type/index.js +2 -0
- package/dist/components/arcgis-portal-sublayer-type/utils.d.ts +30 -0
- package/dist/components/arcgis-portal-user-picker/customElement.d.ts +20 -0
- package/dist/components/arcgis-portal-user-picker/customElement.js +15 -0
- package/dist/components/arcgis-portal-user-picker/index.d.ts +1 -0
- package/dist/components/arcgis-portal-user-picker/index.js +2 -0
- package/dist/components/arcgis-portal-user-popup/customElement.js +38 -37
- package/dist/components/portal-group-browser-filters/customElement.js +74 -71
- package/dist/components/portal-related-items-list-item/customElement.js +20 -0
- package/dist/components/portal-related-items-list-item/index.js +5 -0
- 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 +92 -0
- package/dist/loader.js +18 -7
- package/dist/services/thumbnail/ags.d.ts +5 -0
- package/dist/types/geometry.d.ts +8 -0
- package/dist/types/item.d.ts +6 -6
- package/dist/types/lumina.d.ts +74 -5
- package/dist/types/portalEntityPicker.d.ts +18 -0
- package/dist/types/preact.d.ts +85 -5
- package/dist/types/react.d.ts +96 -5
- package/dist/types/services.d.ts +9 -0
- package/dist/types/stencil.d.ts +74 -5
- package/package.json +12 -10
- package/dist/cdn/27WR6TKM.js +0 -66
- package/dist/cdn/2LROLM5D.js +0 -2
- package/dist/cdn/2M7ICZ55.js +0 -2
- package/dist/cdn/2RPQKCIL.js +0 -2
- package/dist/cdn/2SUHE7I3.js +0 -2
- package/dist/cdn/2Z5BVWD4.js +0 -2
- package/dist/cdn/3OBIA66A.js +0 -69
- package/dist/cdn/4PPXBKIJ.js +0 -4
- package/dist/cdn/4QA4AYHJ.js +0 -3
- package/dist/cdn/4R5TLPGN.js +0 -2
- package/dist/cdn/63THOLAY.js +0 -49
- package/dist/cdn/6NHNSWIQ.js +0 -2
- package/dist/cdn/A6YWV3MB.js +0 -2
- package/dist/cdn/AMBLICID.js +0 -2
- package/dist/cdn/AVNFYSR4.js +0 -2
- package/dist/cdn/BA3HGV4Q.js +0 -2
- package/dist/cdn/BCYZTGDC.js +0 -2
- package/dist/cdn/BFH3HBUT.js +0 -2
- package/dist/cdn/BIJ755UR.js +0 -2
- package/dist/cdn/BXDQIHOS.js +0 -2
- package/dist/cdn/BY6ZY3C4.js +0 -2
- package/dist/cdn/C7ZFXRPS.js +0 -122
- package/dist/cdn/DFTUMKSN.js +0 -3
- package/dist/cdn/EFY6BRUW.js +0 -2
- package/dist/cdn/FD7DZ3IE.js +0 -2
- package/dist/cdn/H6QY5OJL.js +0 -2
- package/dist/cdn/HFP5F435.js +0 -2
- package/dist/cdn/HLQD6W3F.js +0 -2
- package/dist/cdn/IGZ7A7S3.js +0 -2
- package/dist/cdn/IJ3CLFAU.js +0 -22
- package/dist/cdn/INPDIPW5.js +0 -2
- package/dist/cdn/JCYCRSPL.js +0 -451
- package/dist/cdn/KCJDG4OE.js +0 -2
- package/dist/cdn/KNRJ3WXR.js +0 -98
- package/dist/cdn/KQCTBRGJ.js +0 -2
- package/dist/cdn/L6KBBJEC.js +0 -36
- package/dist/cdn/LDTVM22U.js +0 -2
- package/dist/cdn/LDVTUC6I.js +0 -2
- package/dist/cdn/M6EVMQYT.js +0 -2
- package/dist/cdn/MA5HWGFW.js +0 -2
- package/dist/cdn/NAAAOC2Z.js +0 -2
- package/dist/cdn/OT4PZJNB.js +0 -136
- package/dist/cdn/PAFEMDUL.js +0 -2
- package/dist/cdn/PH4LUNY2.js +0 -2
- package/dist/cdn/PLVQ3AZ4.js +0 -2
- package/dist/cdn/QE4CNVDQ.js +0 -34
- package/dist/cdn/QKCV7CY2.js +0 -77
- package/dist/cdn/QNFTJR2M.js +0 -2
- package/dist/cdn/QVLQEBPD.js +0 -2
- package/dist/cdn/SLTFLCVR.js +0 -99
- package/dist/cdn/T3LU5V74.js +0 -2
- package/dist/cdn/TFCRFHRE.js +0 -2
- package/dist/cdn/TKCE4WYE.js +0 -3
- package/dist/cdn/V4EYW3O6.js +0 -56
- package/dist/cdn/VENYHN3O.js +0 -2
- package/dist/cdn/VHNV45FQ.js +0 -2
- package/dist/cdn/VKYMORWN.js +0 -2
- package/dist/cdn/VTIZ6R6F.js +0 -664
- package/dist/cdn/VW7DSKPH.js +0 -109
- package/dist/cdn/W2SYL7IJ.js +0 -71
- package/dist/cdn/W4FGRGLV.js +0 -146
- package/dist/cdn/W4SAWMXS.js +0 -31
- package/dist/cdn/WAEULETE.js +0 -2
- package/dist/cdn/WBZLQZYR.js +0 -134
- package/dist/cdn/WYXW3ETE.js +0 -2
- package/dist/cdn/XEH2E6NR.js +0 -2
- package/dist/cdn/YFT47SCG.js +0 -2
- package/dist/cdn/YQHVXBGD.js +0 -2
- package/dist/cdn/ZI3JA3SL.js +0 -2
- package/dist/cdn/ZWDOT3HF.js +0 -2
- /package/dist/cdn/{OHEUIODH.js → 55FL7WQV.js} +0 -0
- /package/dist/cdn/{NQQLTGIK.js → UTA2UBBS.js} +0 -0
- /package/dist/cdn/{3YCG5UCH.js → UZCHLKLO.js} +0 -0
|
@@ -1,30 +1,34 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as Ve } from "../../chunks/runtime.js";
|
|
3
|
-
import { LitElement as Be, createEvent as
|
|
4
|
-
import { css as
|
|
5
|
-
import { createRef as
|
|
6
|
-
import { u as
|
|
7
|
-
import { NodeInterrupt as
|
|
8
|
-
import {
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import {
|
|
3
|
+
import { LitElement as Be, createEvent as Qe } from "@arcgis/lumina";
|
|
4
|
+
import { css as We, render as Je, html as I } from "lit";
|
|
5
|
+
import { createRef as E, ref as z } from "lit/directives/ref.js";
|
|
6
|
+
import { u as _e } from "../../chunks/useT9n.js";
|
|
7
|
+
import { NodeInterrupt as _, Annotation as h, StateGraph as P, START as G, END as w } from "@langchain/langgraph/web";
|
|
8
|
+
import { invokeStructuredPrompt as b } from "@arcgis/ai-components/orchestrator/models/prompts.js";
|
|
9
|
+
import { sendTraceMessage as p, sendUXSuggestion as Y } from "@arcgis/ai-components/orchestrator/signals.js";
|
|
10
|
+
import i from "zod";
|
|
11
|
+
import { a as Ye, c as He, q as Xe } from "../../chunks/groups.js";
|
|
12
|
+
import { createAgentRuntimeState as q } from "@arcgis/ai-components/orchestrator/state/runtime.js";
|
|
13
|
+
import te from "@arcgis/core/identity/IdentityManager.js";
|
|
14
|
+
import ae from "@arcgis/core/request.js";
|
|
15
|
+
import { a as F, t as Ze, b as W } from "../../chunks/functionalities.js";
|
|
16
|
+
import { createChatModel as H } from "@arcgis/ai-components/orchestrator/models/chatModel.js";
|
|
17
|
+
import { ChatPromptTemplate as X } from "@langchain/core/prompts";
|
|
18
|
+
import { tool as Te } from "@langchain/core/tools";
|
|
16
19
|
import { s as et, a as tt } from "../../chunks/item.js";
|
|
17
|
-
import { g as at, e as nt, i as ot, c as rt, a as
|
|
18
|
-
import
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
import { g as at, e as nt, i as ot, c as rt, a as it } from "../../chunks/groups2.js";
|
|
21
|
+
import { getEmbeddings as st } from "@arcgis/ai-components/orchestrator/embeddings/getEmbeddings.js";
|
|
22
|
+
import ct from "@arcgis/core/portal/Portal.js";
|
|
23
|
+
const Ae = (t) => {
|
|
24
|
+
const { portal: e, user: a } = t ?? {};
|
|
25
|
+
return !!t && !!e && !!a;
|
|
22
26
|
};
|
|
23
|
-
function x(
|
|
24
|
-
if (!
|
|
27
|
+
function x(t) {
|
|
28
|
+
if (!Ae(t))
|
|
25
29
|
throw new Error("Invalid context: PortalAssistantContext with portal and user is required.");
|
|
26
30
|
}
|
|
27
|
-
const
|
|
31
|
+
const lt = `
|
|
28
32
|
Write a concise, friendly success message for adding members to a group.
|
|
29
33
|
|
|
30
34
|
Rules:
|
|
@@ -39,21 +43,21 @@ Added members:
|
|
|
39
43
|
|
|
40
44
|
Not added members:
|
|
41
45
|
{notAddedMembers}
|
|
42
|
-
`, ut = (
|
|
43
|
-
successMessage:
|
|
44
|
-
}),
|
|
45
|
-
if (
|
|
46
|
+
`, ut = (t) => t.map((e) => `"${e}"`).join(", "), dt = i.object({
|
|
47
|
+
successMessage: i.string().default("")
|
|
48
|
+
}), ne = "portal-group-creation", oe = "approveAddMembers", pt = async (t, e) => {
|
|
49
|
+
if (t.intentParams.intent !== "addMembers")
|
|
46
50
|
return {
|
|
47
51
|
status: "success",
|
|
48
52
|
outputMessage: "Use @mention usernames for the members you want to add."
|
|
49
53
|
};
|
|
50
|
-
const a =
|
|
54
|
+
const a = t.agentExecutionContext.sharedState.createdGroupId?.value;
|
|
51
55
|
if (!a)
|
|
52
56
|
return {
|
|
53
57
|
status: "success",
|
|
54
58
|
outputMessage: "Create a group first, then add members using @mention usernames."
|
|
55
59
|
};
|
|
56
|
-
const n =
|
|
60
|
+
const n = t.intentParams.memberInfo.memberIdentifiers.map((g) => g.trim()).filter(Boolean);
|
|
57
61
|
if (!n.length)
|
|
58
62
|
return {
|
|
59
63
|
status: "success",
|
|
@@ -64,11 +68,11 @@ Not added members:
|
|
|
64
68
|
${n.map((g) => `- **@${g}**`).join(`
|
|
65
69
|
`)}
|
|
66
70
|
|
|
67
|
-
Do you want to continue?`, { hitlResponse:
|
|
68
|
-
if (
|
|
71
|
+
Do you want to continue?`, { hitlResponse: s } = e?.configurable ?? {};
|
|
72
|
+
if (s?.agentId !== ne || s.id !== oe) {
|
|
69
73
|
const g = {
|
|
70
|
-
agentId:
|
|
71
|
-
id:
|
|
74
|
+
agentId: ne,
|
|
75
|
+
id: oe,
|
|
72
76
|
kind: "booleanChoice",
|
|
73
77
|
message: r,
|
|
74
78
|
metadata: {
|
|
@@ -77,33 +81,33 @@ Do you want to continue?`, { hitlResponse: i } = t?.configurable ?? {};
|
|
|
77
81
|
members: [...n]
|
|
78
82
|
}
|
|
79
83
|
};
|
|
80
|
-
throw new
|
|
84
|
+
throw new _(g);
|
|
81
85
|
}
|
|
82
|
-
if (
|
|
86
|
+
if (s.payload !== !0)
|
|
83
87
|
return {
|
|
84
88
|
status: "success",
|
|
85
89
|
outputMessage: "Okay, I cancelled adding members to the group."
|
|
86
90
|
};
|
|
87
91
|
await p(
|
|
88
92
|
{ text: `Adding members ${ut(n)}...`, agentName: "group-creation" },
|
|
89
|
-
|
|
93
|
+
e
|
|
90
94
|
);
|
|
91
|
-
const
|
|
92
|
-
x(
|
|
93
|
-
const { result:
|
|
94
|
-
if (d || !
|
|
95
|
+
const c = e?.configurable?.context;
|
|
96
|
+
x(c);
|
|
97
|
+
const { result: l, error: d } = await Ye(c.portal, a, n);
|
|
98
|
+
if (d || !l)
|
|
95
99
|
return {
|
|
96
100
|
status: "success",
|
|
97
101
|
outputMessage: "I could not add members to that group. Please confirm group access and user accounts, then try again."
|
|
98
102
|
};
|
|
99
|
-
const { addedUsernames:
|
|
103
|
+
const { addedUsernames: u, notAddedUsers: m } = l;
|
|
100
104
|
try {
|
|
101
|
-
const f = (await
|
|
102
|
-
promptText:
|
|
103
|
-
schema:
|
|
105
|
+
const f = (await b({
|
|
106
|
+
promptText: lt,
|
|
107
|
+
schema: dt,
|
|
104
108
|
modelTier: "fast",
|
|
105
109
|
inputVariables: {
|
|
106
|
-
addedMembers:
|
|
110
|
+
addedMembers: u.join(", "),
|
|
107
111
|
notAddedMembers: JSON.stringify(
|
|
108
112
|
m.map((y) => ({ username: y.username, reason: y.error.message }))
|
|
109
113
|
)
|
|
@@ -115,7 +119,7 @@ Do you want to continue?`, { hitlResponse: i } = t?.configurable ?? {};
|
|
|
115
119
|
console.error("Error generating add-members success message:", g);
|
|
116
120
|
}
|
|
117
121
|
return {};
|
|
118
|
-
},
|
|
122
|
+
}, mt = `
|
|
119
123
|
Write a concise, friendly success message after creating a portal group.
|
|
120
124
|
|
|
121
125
|
Rules:
|
|
@@ -126,7 +130,7 @@ Rules:
|
|
|
126
130
|
|
|
127
131
|
Group title:
|
|
128
132
|
{groupTitle}
|
|
129
|
-
`,
|
|
133
|
+
`, gt = `
|
|
130
134
|
Write a concise, friendly failure message after an attempt to create a portal group.
|
|
131
135
|
|
|
132
136
|
Rules:
|
|
@@ -141,27 +145,27 @@ Group title:
|
|
|
141
145
|
|
|
142
146
|
Failure reason:
|
|
143
147
|
{failureReason}
|
|
144
|
-
`,
|
|
145
|
-
successMessage:
|
|
146
|
-
}),
|
|
147
|
-
failureMessage:
|
|
148
|
-
}),
|
|
149
|
-
if (
|
|
148
|
+
`, re = "portal-group-creation", ie = "approveCreateGroup", ht = i.object({
|
|
149
|
+
successMessage: i.string().default("")
|
|
150
|
+
}), ft = i.object({
|
|
151
|
+
failureMessage: i.string().default("")
|
|
152
|
+
}), yt = async (t, e) => {
|
|
153
|
+
if (t.intentParams.intent !== "create")
|
|
150
154
|
return {
|
|
151
155
|
status: "success",
|
|
152
156
|
outputMessage: "Tell me the group title you want to use."
|
|
153
157
|
};
|
|
154
|
-
const a =
|
|
158
|
+
const a = t.intentParams.title.trim();
|
|
155
159
|
if (!a)
|
|
156
160
|
return {
|
|
157
161
|
status: "success",
|
|
158
162
|
outputMessage: "What title would you like for the new group?"
|
|
159
163
|
};
|
|
160
|
-
const n = `A group with the title **${a}** will be created. Do you want to continue?`, { hitlResponse: o } =
|
|
161
|
-
if (o?.agentId !==
|
|
164
|
+
const n = `A group with the title **${a}** will be created. Do you want to continue?`, { hitlResponse: o } = e?.configurable;
|
|
165
|
+
if (o?.agentId !== re || o.id !== ie) {
|
|
162
166
|
const d = {
|
|
163
|
-
agentId:
|
|
164
|
-
id:
|
|
167
|
+
agentId: re,
|
|
168
|
+
id: ie,
|
|
165
169
|
kind: "booleanChoice",
|
|
166
170
|
message: n,
|
|
167
171
|
metadata: {
|
|
@@ -170,26 +174,26 @@ Failure reason:
|
|
|
170
174
|
access: "private"
|
|
171
175
|
}
|
|
172
176
|
};
|
|
173
|
-
throw new
|
|
177
|
+
throw new _(d);
|
|
174
178
|
}
|
|
175
179
|
if (o.payload !== !0)
|
|
176
180
|
return {
|
|
177
181
|
status: "success",
|
|
178
182
|
outputMessage: `Okay, I cancelled creating **${a}**.`
|
|
179
183
|
};
|
|
180
|
-
await p({ text: `Creating group "${a}"...`, agentName: "group-creation" },
|
|
181
|
-
const r =
|
|
184
|
+
await p({ text: `Creating group "${a}"...`, agentName: "group-creation" }, e);
|
|
185
|
+
const r = e?.configurable?.context;
|
|
182
186
|
x(r);
|
|
183
|
-
const { result:
|
|
187
|
+
const { result: s, error: c } = await He(r.portal, {
|
|
184
188
|
title: a,
|
|
185
189
|
access: "private"
|
|
186
190
|
});
|
|
187
|
-
if (
|
|
188
|
-
const d =
|
|
191
|
+
if (c || !s) {
|
|
192
|
+
const d = c?.message?.trim() || "No additional details were provided.";
|
|
189
193
|
try {
|
|
190
|
-
const m = (await
|
|
191
|
-
promptText:
|
|
192
|
-
schema:
|
|
194
|
+
const m = (await b({
|
|
195
|
+
promptText: gt,
|
|
196
|
+
schema: ft,
|
|
193
197
|
modelTier: "fast",
|
|
194
198
|
inputVariables: {
|
|
195
199
|
groupTitle: a,
|
|
@@ -201,38 +205,38 @@ Failure reason:
|
|
|
201
205
|
status: "success",
|
|
202
206
|
outputMessage: m
|
|
203
207
|
};
|
|
204
|
-
} catch (
|
|
205
|
-
console.error("Error generating create-group failure message:",
|
|
208
|
+
} catch (u) {
|
|
209
|
+
console.error("Error generating create-group failure message:", u);
|
|
206
210
|
}
|
|
207
211
|
return {
|
|
208
212
|
status: "success",
|
|
209
213
|
outputMessage: "I could not create that group. Please confirm your permissions and try again with the group title."
|
|
210
214
|
};
|
|
211
215
|
}
|
|
212
|
-
const
|
|
216
|
+
const l = s.id;
|
|
213
217
|
try {
|
|
214
|
-
const
|
|
215
|
-
promptText:
|
|
216
|
-
schema:
|
|
218
|
+
const u = (await b({
|
|
219
|
+
promptText: mt,
|
|
220
|
+
schema: ht,
|
|
217
221
|
modelTier: "fast",
|
|
218
222
|
inputVariables: {
|
|
219
223
|
groupTitle: a
|
|
220
224
|
}
|
|
221
225
|
})).successMessage.trim();
|
|
222
|
-
if (
|
|
226
|
+
if (u)
|
|
223
227
|
return {
|
|
224
228
|
status: "success",
|
|
225
|
-
outputMessage:
|
|
226
|
-
sharedStatePatch: { createdGroupId: { value:
|
|
227
|
-
createdGroupId:
|
|
229
|
+
outputMessage: u,
|
|
230
|
+
sharedStatePatch: { createdGroupId: { value: l } },
|
|
231
|
+
createdGroupId: l
|
|
228
232
|
};
|
|
229
233
|
} catch (d) {
|
|
230
234
|
console.error("Error generating create-group success message:", d);
|
|
231
235
|
}
|
|
232
236
|
return {};
|
|
233
|
-
},
|
|
234
|
-
for (let
|
|
235
|
-
const a = e
|
|
237
|
+
}, v = (t) => {
|
|
238
|
+
for (let e = t.length - 1; e >= 0; e -= 1) {
|
|
239
|
+
const a = t[e];
|
|
236
240
|
if (a.type !== "human")
|
|
237
241
|
continue;
|
|
238
242
|
const n = a.content;
|
|
@@ -244,7 +248,7 @@ Failure reason:
|
|
|
244
248
|
).join(" ").trim();
|
|
245
249
|
}
|
|
246
250
|
return "";
|
|
247
|
-
},
|
|
251
|
+
}, wt = `
|
|
248
252
|
You classify whether a user is asking to create a new ArcGIS Portal group or add members to an existing group.
|
|
249
253
|
|
|
250
254
|
Rules:
|
|
@@ -270,25 +274,25 @@ Examples:
|
|
|
270
274
|
|
|
271
275
|
User message:
|
|
272
276
|
{userMessage}
|
|
273
|
-
`,
|
|
274
|
-
intent:
|
|
275
|
-
title:
|
|
276
|
-
memberIdentifiers:
|
|
277
|
-
clarifyMessage:
|
|
278
|
-
}), vt = async (
|
|
279
|
-
await p({ text: "Thinking about groups...", agentName: "group-creation" },
|
|
280
|
-
const a =
|
|
281
|
-
promptText:
|
|
282
|
-
schema:
|
|
277
|
+
`, bt = i.object({
|
|
278
|
+
intent: i.enum(["clarify", "create", "addMembers"]).default("clarify"),
|
|
279
|
+
title: i.string().default(""),
|
|
280
|
+
memberIdentifiers: i.array(i.string()).default([]),
|
|
281
|
+
clarifyMessage: i.string().default("")
|
|
282
|
+
}), vt = async (t, e) => {
|
|
283
|
+
await p({ text: "Thinking about groups...", agentName: "group-creation" }, e);
|
|
284
|
+
const a = v(t.agentExecutionContext.messages).trim(), n = await b({
|
|
285
|
+
promptText: wt,
|
|
286
|
+
schema: bt,
|
|
283
287
|
modelTier: "default",
|
|
284
288
|
inputVariables: { userMessage: a }
|
|
285
|
-
}), o = n.title.trim(), r = n.memberIdentifiers.filter(Boolean),
|
|
289
|
+
}), o = n.title.trim(), r = n.memberIdentifiers.filter(Boolean), s = n.clarifyMessage.trim(), c = n.intent === "create" && !!o, l = n.intent === "addMembers" && r.length > 0;
|
|
286
290
|
return {
|
|
287
|
-
intentParams:
|
|
291
|
+
intentParams: c ? { intent: "create", title: o } : l ? { intent: "addMembers", memberInfo: { memberIdentifiers: r } } : { intent: "clarify" },
|
|
288
292
|
status: "success",
|
|
289
|
-
outputMessage: !
|
|
293
|
+
outputMessage: !c && !l ? s : ""
|
|
290
294
|
};
|
|
291
|
-
},
|
|
295
|
+
}, It = [
|
|
292
296
|
"general",
|
|
293
297
|
"about",
|
|
294
298
|
"homePage",
|
|
@@ -312,52 +316,62 @@ User message:
|
|
|
312
316
|
"openData",
|
|
313
317
|
"hub",
|
|
314
318
|
"orgExtensions"
|
|
315
|
-
],
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
319
|
+
], St = [
|
|
320
|
+
"newItem",
|
|
321
|
+
"createLayer",
|
|
322
|
+
"developerCredentials",
|
|
323
|
+
"url",
|
|
324
|
+
"application",
|
|
325
|
+
"tileLayer",
|
|
326
|
+
"sceneLayer",
|
|
327
|
+
"locator",
|
|
328
|
+
"dataStore"
|
|
329
|
+
], xt = ["favorites", "group", "living-atlas", "org"], Ct = ["featured", "my", "organization"], Mt = ["overview", "content", "members", "settings"], Tt = ["licenses", "members", "overview", "reports", "settings", "status"], At = i.object({
|
|
330
|
+
destinationType: i.literal("portal-content"),
|
|
331
|
+
hash: i.enum(xt).optional(),
|
|
332
|
+
queryParams: i.object({
|
|
333
|
+
newItem: i.enum(St).optional()
|
|
320
334
|
}).optional()
|
|
321
|
-
}),
|
|
322
|
-
destinationType:
|
|
323
|
-
hash:
|
|
324
|
-
}),
|
|
325
|
-
destinationType:
|
|
326
|
-
hash:
|
|
327
|
-
queryParams:
|
|
328
|
-
tab:
|
|
329
|
-
section:
|
|
330
|
-
subsection:
|
|
331
|
-
period:
|
|
332
|
-
startTime:
|
|
333
|
-
endTime:
|
|
335
|
+
}), Nt = i.object({
|
|
336
|
+
destinationType: i.literal("portal-groups"),
|
|
337
|
+
hash: i.enum(Ct).optional()
|
|
338
|
+
}), Pt = i.object({
|
|
339
|
+
destinationType: i.literal("portal-org"),
|
|
340
|
+
hash: i.enum(Tt).optional(),
|
|
341
|
+
queryParams: i.object({
|
|
342
|
+
tab: i.enum(It).optional(),
|
|
343
|
+
section: i.string().optional(),
|
|
344
|
+
subsection: i.string().optional(),
|
|
345
|
+
period: i.string().optional(),
|
|
346
|
+
startTime: i.string().optional(),
|
|
347
|
+
endTime: i.string().optional()
|
|
334
348
|
}).optional()
|
|
335
|
-
}),
|
|
336
|
-
destinationType:
|
|
337
|
-
itemId:
|
|
338
|
-
}),
|
|
339
|
-
destinationType:
|
|
340
|
-
groupId:
|
|
341
|
-
hash:
|
|
342
|
-
queryParams:
|
|
343
|
-
}),
|
|
344
|
-
Ct,
|
|
345
|
-
s.object({ destinationType: s.literal("portal-gallery") }),
|
|
346
|
-
Gt,
|
|
349
|
+
}), Gt = i.object({
|
|
350
|
+
destinationType: i.literal("portal-item"),
|
|
351
|
+
itemId: i.string().trim().min(1)
|
|
352
|
+
}), qt = i.object({
|
|
353
|
+
destinationType: i.literal("portal-group"),
|
|
354
|
+
groupId: i.string().trim().min(1),
|
|
355
|
+
hash: i.enum(Mt).optional(),
|
|
356
|
+
queryParams: i.record(i.string(), i.string()).optional()
|
|
357
|
+
}), kt = i.union([
|
|
347
358
|
At,
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
s.object({ destinationType: s.literal("portal-notebooks") }),
|
|
359
|
+
i.object({ destinationType: i.literal("portal-gallery") }),
|
|
360
|
+
qt,
|
|
351
361
|
Nt,
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
362
|
+
Gt,
|
|
363
|
+
i.object({ destinationType: i.literal("portal-map-viewer") }),
|
|
364
|
+
i.object({ destinationType: i.literal("portal-notebooks") }),
|
|
365
|
+
Pt,
|
|
366
|
+
i.object({ destinationType: i.literal("portal-scene-viewer") })
|
|
367
|
+
]), Ne = "portal-navigation", O = async (t, e) => {
|
|
368
|
+
const a = e?.configurable?.context;
|
|
369
|
+
!Ae(a) || !a.navigationTargetMap?.[t.destinationType] || await Y({ type: Ne, data: { ...t } }, e);
|
|
370
|
+
}, Et = async (t, e) => {
|
|
371
|
+
const a = t.createdGroupId ?? t.agentExecutionContext.sharedState.createdGroupId?.value;
|
|
372
|
+
return a ? (await p({ text: "Preparing navigation...", agentName: "group-creation" }, e), await O({ destinationType: "portal-group", groupId: a }, e), {}) : {};
|
|
373
|
+
}, se = (t, e) => e ?? t, Pe = h.Root({
|
|
374
|
+
...q(),
|
|
361
375
|
// * Shared state between nodes (but not persisted to the agent execution context)
|
|
362
376
|
/** Parameters related to the user's intent for group creation actions */
|
|
363
377
|
intentParams: h({ reducer: se, default: () => ({ intent: "clarify" }) }),
|
|
@@ -366,8 +380,8 @@ User message:
|
|
|
366
380
|
* we still need it here to also share between nodes
|
|
367
381
|
*/
|
|
368
382
|
createdGroupId: h({ reducer: se, default: () => "" })
|
|
369
|
-
}),
|
|
370
|
-
switch (
|
|
383
|
+
}), zt = () => new P(Pe).addNode("detectGroupCreationIntent", vt).addNode("createPortalGroup", yt).addNode("addMembersToPortalGroup", pt).addNode("suggestCreatedGroupNavigation", Et).addEdge(G, "detectGroupCreationIntent").addConditionalEdges("detectGroupCreationIntent", (e) => {
|
|
384
|
+
switch (e.intentParams.intent) {
|
|
371
385
|
case "create":
|
|
372
386
|
return "createPortalGroup";
|
|
373
387
|
case "addMembers":
|
|
@@ -375,110 +389,110 @@ User message:
|
|
|
375
389
|
default:
|
|
376
390
|
return w;
|
|
377
391
|
}
|
|
378
|
-
}).addEdge("createPortalGroup", "suggestCreatedGroupNavigation").addEdge("addMembersToPortalGroup", "suggestCreatedGroupNavigation").addEdge("suggestCreatedGroupNavigation", w),
|
|
392
|
+
}).addEdge("createPortalGroup", "suggestCreatedGroupNavigation").addEdge("addMembersToPortalGroup", "suggestCreatedGroupNavigation").addEdge("suggestCreatedGroupNavigation", w), Rt = String.raw`- **portal-group-creation** - Portal group creation assistant:
|
|
379
393
|
- creates a new ArcGIS Portal group for the signed-in user
|
|
380
394
|
- adds users to the newly created group using @mention usernames
|
|
381
395
|
`, Dt = {
|
|
382
396
|
id: "portal-group-creation",
|
|
383
397
|
name: "Portal Group Creation",
|
|
384
|
-
description:
|
|
385
|
-
createGraph:
|
|
386
|
-
workspace:
|
|
387
|
-
},
|
|
388
|
-
const
|
|
389
|
-
if (!
|
|
398
|
+
description: Rt,
|
|
399
|
+
createGraph: zt,
|
|
400
|
+
workspace: Pe
|
|
401
|
+
}, Ge = "portalDocAssistantMemory", $t = () => ({ conversationId: "" }), Ut = (t) => {
|
|
402
|
+
const e = t?.[Ge]?.value;
|
|
403
|
+
if (!e || typeof e != "object")
|
|
390
404
|
return $t();
|
|
391
|
-
const a =
|
|
405
|
+
const a = e;
|
|
392
406
|
return {
|
|
393
407
|
conversationId: typeof a.conversationId == "string" ? a.conversationId : ""
|
|
394
408
|
};
|
|
395
|
-
},
|
|
396
|
-
[
|
|
397
|
-
}),
|
|
409
|
+
}, Ft = (t) => ({
|
|
410
|
+
[Ge]: { value: t }
|
|
411
|
+
}), Ot = {
|
|
398
412
|
pipeline: {
|
|
399
413
|
follow_up: { allow: !1 }
|
|
400
414
|
}
|
|
401
415
|
};
|
|
402
|
-
function
|
|
416
|
+
function Lt(t) {
|
|
403
417
|
return {
|
|
404
418
|
kind: "DocAIAssistantRequest",
|
|
405
419
|
filters: {
|
|
406
|
-
...
|
|
407
|
-
persona: { persona:
|
|
420
|
+
...Ot,
|
|
421
|
+
persona: { persona: t }
|
|
408
422
|
}
|
|
409
423
|
};
|
|
410
424
|
}
|
|
411
|
-
const
|
|
412
|
-
async function
|
|
413
|
-
portal:
|
|
414
|
-
question:
|
|
425
|
+
const jt = "https://www.arcgis.com/sharing/rest";
|
|
426
|
+
async function Kt({
|
|
427
|
+
portal: t,
|
|
428
|
+
question: e,
|
|
415
429
|
persona: a,
|
|
416
430
|
previousConversationId: n,
|
|
417
431
|
useProdDocAssistant: o,
|
|
418
432
|
signal: r,
|
|
419
|
-
skillId:
|
|
433
|
+
skillId: s
|
|
420
434
|
}) {
|
|
421
|
-
|
|
422
|
-
const
|
|
423
|
-
portal:
|
|
424
|
-
skillId:
|
|
425
|
-
message:
|
|
426
|
-
options: { context:
|
|
435
|
+
s ??= "doc_ai_assistant";
|
|
436
|
+
const c = Lt(a), l = await Vt({
|
|
437
|
+
portal: t,
|
|
438
|
+
skillId: s,
|
|
439
|
+
message: e,
|
|
440
|
+
options: { context: c, previousConversationId: n, useProdDocAssistant: o, signal: r }
|
|
427
441
|
});
|
|
428
442
|
return {
|
|
429
|
-
reply: Bt(
|
|
430
|
-
conversationId:
|
|
443
|
+
reply: Bt(l, s),
|
|
444
|
+
conversationId: l[0]?.conversationId ?? ""
|
|
431
445
|
};
|
|
432
446
|
}
|
|
433
447
|
async function Vt({
|
|
434
|
-
portal:
|
|
435
|
-
skillId:
|
|
448
|
+
portal: t,
|
|
449
|
+
skillId: e,
|
|
436
450
|
message: a,
|
|
437
451
|
options: n
|
|
438
452
|
}) {
|
|
439
|
-
const o =
|
|
453
|
+
const o = t.helperServices.aiAssistantServices.url, s = `${n.useProdDocAssistant ? "https://aiservices-beta.arcgis.com" : o}/skills/${e}/chat`, l = {
|
|
440
454
|
"Content-Type": "application/json",
|
|
441
|
-
token: n.useProdDocAssistant ? (await
|
|
442
|
-
}, d = await
|
|
455
|
+
token: n.useProdDocAssistant ? (await te.getCredential(jt, { oAuthPopupConfirmation: !1 })).token : te.findCredential(t.url)?.token ?? ""
|
|
456
|
+
}, d = await ae(s, {
|
|
443
457
|
method: "post",
|
|
444
458
|
body: JSON.stringify({
|
|
445
459
|
message: a,
|
|
446
460
|
context: n.context,
|
|
447
461
|
conversationId: n.previousConversationId
|
|
448
462
|
}),
|
|
449
|
-
headers:
|
|
463
|
+
headers: l,
|
|
450
464
|
signal: n.signal
|
|
451
465
|
});
|
|
452
466
|
if (d.httpStatus !== 200)
|
|
453
467
|
throw new Error(`Doc assistant chat failed (${d.httpStatus})`, {
|
|
454
468
|
cause: d.data
|
|
455
469
|
});
|
|
456
|
-
const
|
|
457
|
-
if (!
|
|
470
|
+
const u = d.data, m = [u], { conversationId: g, inquiryId: f } = u, y = async (M, k) => {
|
|
471
|
+
if (!k)
|
|
458
472
|
return;
|
|
459
473
|
await Ze(500);
|
|
460
|
-
const
|
|
474
|
+
const C = await ae(s, {
|
|
461
475
|
method: "post",
|
|
462
476
|
body: JSON.stringify({ conversationId: g, inquiryId: f, ackSequenceNumber: M }),
|
|
463
|
-
headers:
|
|
477
|
+
headers: l,
|
|
464
478
|
signal: n.signal
|
|
465
479
|
});
|
|
466
|
-
if (
|
|
467
|
-
throw new Error(`Doc assistant poll failed (${
|
|
468
|
-
cause:
|
|
480
|
+
if (C.httpStatus !== 200)
|
|
481
|
+
throw new Error(`Doc assistant poll failed (${C.httpStatus})`, {
|
|
482
|
+
cause: C.data
|
|
469
483
|
});
|
|
470
|
-
const
|
|
471
|
-
m.push(
|
|
484
|
+
const T = C.data;
|
|
485
|
+
m.push(T), await y(T.sequenceNumber, T.hasMore);
|
|
472
486
|
};
|
|
473
|
-
return
|
|
487
|
+
return u.hasMore && await y(u.sequenceNumber, u.hasMore), m;
|
|
474
488
|
}
|
|
475
|
-
function Bt(
|
|
476
|
-
switch (
|
|
489
|
+
function Bt(t, e) {
|
|
490
|
+
switch (e) {
|
|
477
491
|
case "doc_chat":
|
|
478
|
-
return
|
|
492
|
+
return t.find((a) => a.message != null)?.message ?? "";
|
|
479
493
|
case "doc_ai_assistant":
|
|
480
|
-
for (let a =
|
|
481
|
-
const n =
|
|
494
|
+
for (let a = t.length - 1; a >= 0; a -= 1) {
|
|
495
|
+
const n = t[a];
|
|
482
496
|
if (n.context?.kind === "DocAIAssistantContext") {
|
|
483
497
|
const o = n.context.results?.[0]?.reply;
|
|
484
498
|
if (o)
|
|
@@ -487,22 +501,22 @@ function Bt(e, t) {
|
|
|
487
501
|
}
|
|
488
502
|
return "";
|
|
489
503
|
default:
|
|
490
|
-
return
|
|
504
|
+
return F(e);
|
|
491
505
|
}
|
|
492
506
|
}
|
|
493
|
-
const
|
|
507
|
+
const Qt = async (t, e) => {
|
|
494
508
|
const a = performance.now();
|
|
495
509
|
try {
|
|
496
|
-
await p({ text: "Asking documentation assistant...", agentName: "doc-assistant" },
|
|
497
|
-
const n =
|
|
510
|
+
await p({ text: "Asking documentation assistant...", agentName: "doc-assistant" }, e);
|
|
511
|
+
const n = v(t.agentExecutionContext.messages).trim();
|
|
498
512
|
if (!n)
|
|
499
513
|
return {
|
|
500
514
|
status: "success",
|
|
501
515
|
outputMessage: "Please share your question and I can help with ArcGIS and Portal documentation."
|
|
502
516
|
};
|
|
503
|
-
const o =
|
|
517
|
+
const o = e?.configurable?.context;
|
|
504
518
|
x(o);
|
|
505
|
-
const r =
|
|
519
|
+
const r = Ut(t.agentExecutionContext.sharedState), { reply: s, conversationId: c } = await Kt({
|
|
506
520
|
portal: o.portal,
|
|
507
521
|
question: n,
|
|
508
522
|
previousConversationId: r.conversationId || void 0,
|
|
@@ -512,9 +526,9 @@ const Kt = async (e, t) => {
|
|
|
512
526
|
});
|
|
513
527
|
return {
|
|
514
528
|
status: "success",
|
|
515
|
-
outputMessage:
|
|
516
|
-
sharedStatePatch:
|
|
517
|
-
conversationId:
|
|
529
|
+
outputMessage: s.trim() || "I could not retrieve a response from the documentation assistant.",
|
|
530
|
+
sharedStatePatch: Ft({
|
|
531
|
+
conversationId: c || r.conversationId
|
|
518
532
|
})
|
|
519
533
|
};
|
|
520
534
|
} finally {
|
|
@@ -524,12 +538,406 @@ const Kt = async (e, t) => {
|
|
|
524
538
|
durationMs: Number((performance.now() - a).toFixed(1))
|
|
525
539
|
});
|
|
526
540
|
}
|
|
527
|
-
},
|
|
528
|
-
|
|
529
|
-
|
|
541
|
+
}, Wt = {
|
|
542
|
+
schemaVersion: "1.0",
|
|
543
|
+
capabilities: [
|
|
544
|
+
{
|
|
545
|
+
id: "portal-content",
|
|
546
|
+
title: "My content",
|
|
547
|
+
description: "Browse, discover, search, and filter ArcGIS content—including maps, apps, datasets, and other items—that you own or can access.",
|
|
548
|
+
hints: ["view my content", "show my content", "my content"],
|
|
549
|
+
platforms: ["online", "enterprise"],
|
|
550
|
+
resolutions: {
|
|
551
|
+
navigate: {
|
|
552
|
+
routeKey: "content"
|
|
553
|
+
}
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
{
|
|
557
|
+
id: "portal-content-new-item-feature-layer",
|
|
558
|
+
title: "Create feature layer",
|
|
559
|
+
description: "Generate an editable feature layer by copying fields from templates or existing layers.",
|
|
560
|
+
hints: ["add a feature layer", "make a feature layer", "generate a feature layer"],
|
|
561
|
+
platforms: ["online", "enterprise"],
|
|
562
|
+
resolutions: {
|
|
563
|
+
navigate: {
|
|
564
|
+
routeKey: "content",
|
|
565
|
+
queryParams: {
|
|
566
|
+
newItem: "createLayer"
|
|
567
|
+
}
|
|
568
|
+
}
|
|
569
|
+
}
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
id: "portal-content-new-item",
|
|
573
|
+
title: "New item",
|
|
574
|
+
description: "Open My Content with the New Item flow ready to start.",
|
|
575
|
+
hints: ["new item", "create new item", "upload a new item"],
|
|
576
|
+
platforms: ["online", "enterprise"],
|
|
577
|
+
buttonLabel: "Create new item",
|
|
578
|
+
resolutions: {
|
|
579
|
+
navigate: {
|
|
580
|
+
routeKey: "content",
|
|
581
|
+
queryParams: {
|
|
582
|
+
newItem: "newItem"
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
}
|
|
586
|
+
},
|
|
587
|
+
{
|
|
588
|
+
id: "portal-content-new-item-developer-credentials",
|
|
589
|
+
title: "Create developer credentials",
|
|
590
|
+
description: "Open My Content with the New Item flow set to developer credentials.",
|
|
591
|
+
hints: ["developer credentials", "new developer credentials", "create api key"],
|
|
592
|
+
platforms: ["online", "enterprise"],
|
|
593
|
+
buttonLabel: "Create developer credentials",
|
|
594
|
+
resolutions: {
|
|
595
|
+
navigate: {
|
|
596
|
+
routeKey: "content",
|
|
597
|
+
queryParams: {
|
|
598
|
+
newItem: "developerCredentials"
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
},
|
|
603
|
+
{
|
|
604
|
+
id: "portal-content-new-item-url",
|
|
605
|
+
title: "Add item from URL",
|
|
606
|
+
description: "Open My Content with the New Item flow set to add a URL-based item, such as a service endpoint.",
|
|
607
|
+
hints: ["add item from url", "url item", "register service url"],
|
|
608
|
+
platforms: ["online", "enterprise"],
|
|
609
|
+
buttonLabel: "Add item from URL",
|
|
610
|
+
resolutions: {
|
|
611
|
+
navigate: {
|
|
612
|
+
routeKey: "content",
|
|
613
|
+
queryParams: {
|
|
614
|
+
newItem: "url"
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
id: "portal-content-new-item-application",
|
|
621
|
+
title: "Create application item",
|
|
622
|
+
description: "Open My Content with the New Item flow set to create an application item in content.",
|
|
623
|
+
hints: ["create application item", "register app item", "new application item"],
|
|
624
|
+
platforms: ["online", "enterprise"],
|
|
625
|
+
buttonLabel: "Create application item",
|
|
626
|
+
resolutions: {
|
|
627
|
+
navigate: {
|
|
628
|
+
routeKey: "content",
|
|
629
|
+
queryParams: {
|
|
630
|
+
newItem: "application"
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
},
|
|
635
|
+
{
|
|
636
|
+
id: "portal-content-new-item-tile-layer",
|
|
637
|
+
title: "Create tile layer",
|
|
638
|
+
description: "Open My Content with the New Item flow set to publish a hosted tile layer.",
|
|
639
|
+
hints: ["create hosted tile layer", "publish tile layer", "new tile layer"],
|
|
640
|
+
platforms: ["online", "enterprise"],
|
|
641
|
+
buttonLabel: "Create tile layer",
|
|
642
|
+
resolutions: {
|
|
643
|
+
navigate: {
|
|
644
|
+
routeKey: "content",
|
|
645
|
+
queryParams: {
|
|
646
|
+
newItem: "tileLayer"
|
|
647
|
+
}
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
},
|
|
651
|
+
{
|
|
652
|
+
id: "portal-content-new-item-scene-layer",
|
|
653
|
+
title: "Create scene layer",
|
|
654
|
+
description: "Open My Content with the New Item flow set to publish a hosted scene layer.",
|
|
655
|
+
hints: ["create hosted scene layer", "publish scene layer", "new scene layer"],
|
|
656
|
+
platforms: ["online", "enterprise"],
|
|
657
|
+
buttonLabel: "Create scene layer",
|
|
658
|
+
resolutions: {
|
|
659
|
+
navigate: {
|
|
660
|
+
routeKey: "content",
|
|
661
|
+
queryParams: {
|
|
662
|
+
newItem: "sceneLayer"
|
|
663
|
+
}
|
|
664
|
+
}
|
|
665
|
+
}
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
id: "portal-content-new-item-locator",
|
|
669
|
+
title: "Create locator",
|
|
670
|
+
description: "Open My Content with the New Item flow set to create or publish a locator for geocoding.",
|
|
671
|
+
hints: ["create locator", "publish locator", "geocoding locator"],
|
|
672
|
+
platforms: ["online", "enterprise"],
|
|
673
|
+
buttonLabel: "Create locator",
|
|
674
|
+
resolutions: {
|
|
675
|
+
navigate: {
|
|
676
|
+
routeKey: "content",
|
|
677
|
+
queryParams: {
|
|
678
|
+
newItem: "locator"
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
},
|
|
683
|
+
{
|
|
684
|
+
id: "portal-content-new-item-data-store",
|
|
685
|
+
title: "Create data store item",
|
|
686
|
+
description: "Open My Content with the New Item flow set to register a data store connection.",
|
|
687
|
+
hints: ["register data store", "data store connection", "new data store item"],
|
|
688
|
+
platforms: ["online", "enterprise"],
|
|
689
|
+
buttonLabel: "Create data store item",
|
|
690
|
+
resolutions: {
|
|
691
|
+
navigate: {
|
|
692
|
+
routeKey: "content",
|
|
693
|
+
queryParams: {
|
|
694
|
+
newItem: "dataStore"
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
{
|
|
700
|
+
id: "create-folder",
|
|
701
|
+
title: "Create folder",
|
|
702
|
+
description: "Create a new folder in your ArcGIS content to organize your items.",
|
|
703
|
+
hints: ["create a folder", "make a folder", "set up a folder", "new folder"],
|
|
704
|
+
platforms: ["online", "enterprise"],
|
|
705
|
+
resolutions: {
|
|
706
|
+
navigate: {
|
|
707
|
+
routeKey: "content"
|
|
708
|
+
}
|
|
709
|
+
}
|
|
710
|
+
}
|
|
711
|
+
]
|
|
712
|
+
}, Jt = {
|
|
713
|
+
schemaVersion: "1.0",
|
|
714
|
+
capabilities: [
|
|
715
|
+
{
|
|
716
|
+
id: "portal-groups-my",
|
|
717
|
+
title: "My groups",
|
|
718
|
+
description: "Browse, discover, search, and filter ArcGIS content collections—including maps, apps, datasets, and other items—that you own, belong to, or can access.",
|
|
719
|
+
hints: ["view my groups", "show my groups", "my groups"],
|
|
720
|
+
platforms: ["online", "enterprise"],
|
|
721
|
+
resolutions: {
|
|
722
|
+
navigate: {
|
|
723
|
+
routeKey: "groups"
|
|
724
|
+
}
|
|
725
|
+
}
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
id: "create-group",
|
|
729
|
+
title: "Create group",
|
|
730
|
+
description: "Create a new ArcGIS Portal group owned by the signed-in user.",
|
|
731
|
+
hints: ["create a group", "make a group", "set up a group", "new group"],
|
|
732
|
+
platforms: ["online", "enterprise"],
|
|
733
|
+
resolutions: {
|
|
734
|
+
navigate: {
|
|
735
|
+
routeKey: "groups"
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
},
|
|
739
|
+
{
|
|
740
|
+
id: "portal-groups-featured",
|
|
741
|
+
title: "Featured groups",
|
|
742
|
+
description: "Browse, discover, search, and filter ArcGIS content collections—including maps, apps, datasets, and other items—that organization administrators choose to highlight in ArcGIS.",
|
|
743
|
+
hints: ["view featured groups", "show featured groups", "highlighted groups", "top groups"],
|
|
744
|
+
platforms: ["online", "enterprise"],
|
|
745
|
+
resolutions: {
|
|
746
|
+
navigate: {
|
|
747
|
+
routeKey: "groups",
|
|
748
|
+
hash: "featured"
|
|
749
|
+
}
|
|
750
|
+
}
|
|
751
|
+
},
|
|
752
|
+
{
|
|
753
|
+
id: "portal-groups-organization",
|
|
754
|
+
title: "Organization groups",
|
|
755
|
+
description: "Browse, discover, search, and filter ArcGIS content collections—including maps, apps, datasets, and other items—that are specific to your organization in ArcGIS.",
|
|
756
|
+
hints: ["view organization groups", "show organization groups"],
|
|
757
|
+
platforms: ["online", "enterprise"],
|
|
758
|
+
resolutions: {
|
|
759
|
+
navigate: {
|
|
760
|
+
routeKey: "groups",
|
|
761
|
+
hash: "organization"
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
]
|
|
766
|
+
}, _t = {
|
|
767
|
+
schemaVersion: "1.0",
|
|
768
|
+
capabilities: [
|
|
769
|
+
{
|
|
770
|
+
id: "portal-org-security-multifactor-auth",
|
|
771
|
+
title: "Multifactor Authentication (MFA)",
|
|
772
|
+
description: "Configure organization-level multifactor authentication (MFA) settings. Administrators can enable MFA for ArcGIS logins, allow recovery codes for members, view MFA adoption status, enforce MFA requirements for all members, manage the MFA exemption list, and designate administrators who can troubleshoot MFA issues.",
|
|
773
|
+
hints: ["config MFA", "set up MFA"],
|
|
774
|
+
platforms: ["online", "enterprise"],
|
|
775
|
+
resolutions: {
|
|
776
|
+
navigate: {
|
|
777
|
+
routeKey: "organization",
|
|
778
|
+
queryParams: {
|
|
779
|
+
tab: "security",
|
|
780
|
+
subsection: "multiFactorAuthSection"
|
|
781
|
+
},
|
|
782
|
+
hash: "settings"
|
|
783
|
+
}
|
|
784
|
+
}
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
id: "portal-org-security-logins",
|
|
788
|
+
title: "Security - Logins",
|
|
789
|
+
description: "Manage the sign-in methods available for the organization.",
|
|
790
|
+
hints: ["set up SAML single sign-on", "add OpenID Connect login", "sign in with Okta"],
|
|
791
|
+
platforms: ["online", "enterprise"],
|
|
792
|
+
buttonLabel: "Configure logins",
|
|
793
|
+
resolutions: {
|
|
794
|
+
navigate: {
|
|
795
|
+
routeKey: "organization",
|
|
796
|
+
hash: "settings",
|
|
797
|
+
queryParams: {
|
|
798
|
+
tab: "security",
|
|
799
|
+
subsection: "loginsSection"
|
|
800
|
+
}
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
},
|
|
804
|
+
{
|
|
805
|
+
id: "portal-org-security-custom-sign-in",
|
|
806
|
+
title: "Security - Custom sign-in",
|
|
807
|
+
description: "Customize how sign-in options are presented for the organization.",
|
|
808
|
+
hints: ["custom sign in", "brand the sign-in page", "hide the ArcGIS login option"],
|
|
809
|
+
platforms: ["online", "enterprise"],
|
|
810
|
+
buttonLabel: "Configure custom sign-in",
|
|
811
|
+
resolutions: {
|
|
812
|
+
navigate: {
|
|
813
|
+
routeKey: "organization",
|
|
814
|
+
hash: "settings",
|
|
815
|
+
queryParams: {
|
|
816
|
+
tab: "security",
|
|
817
|
+
subsection: "customSignInSection"
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
}
|
|
821
|
+
},
|
|
822
|
+
{
|
|
823
|
+
id: "portal-org-security-change-login-provider",
|
|
824
|
+
title: "Security - Logins - Member login management",
|
|
825
|
+
description: "Change the login provider used by an existing organization member.",
|
|
826
|
+
hints: ["change login provider", "switch a member to SAML", "migrate a user to SSO"],
|
|
827
|
+
platforms: ["online", "enterprise"],
|
|
828
|
+
buttonLabel: "Configure member login management",
|
|
829
|
+
resolutions: {
|
|
830
|
+
navigate: {
|
|
831
|
+
routeKey: "organization",
|
|
832
|
+
hash: "settings",
|
|
833
|
+
queryParams: {
|
|
834
|
+
tab: "security",
|
|
835
|
+
subsection: "changeLoginProviderSection"
|
|
836
|
+
}
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
{
|
|
841
|
+
id: "portal-org-security-multifactor-enforcement",
|
|
842
|
+
title: "Security - Multifactor authentication - MFA enforcement",
|
|
843
|
+
description: "Require multifactor authentication for all members with ArcGIS logins.",
|
|
844
|
+
hints: ["make MFA required", "force all members to use MFA", "MFA exemption list"],
|
|
845
|
+
platforms: ["online", "enterprise"],
|
|
846
|
+
buttonLabel: "Configure MFA enforcement",
|
|
847
|
+
resolutions: {
|
|
848
|
+
navigate: {
|
|
849
|
+
routeKey: "organization",
|
|
850
|
+
hash: "settings",
|
|
851
|
+
queryParams: {
|
|
852
|
+
tab: "security",
|
|
853
|
+
subsection: "multifactorEnforcementSection"
|
|
854
|
+
}
|
|
855
|
+
}
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
{
|
|
859
|
+
id: "portal-org-security-multifactor-designated-admins",
|
|
860
|
+
title: "Security - Multifactor authentication - Designated administrators",
|
|
861
|
+
description: "Choose which administrators receive and handle member MFA assistance requests.",
|
|
862
|
+
hints: ["designated MFA admins", "who receives MFA help requests", "MFA support administrators"],
|
|
863
|
+
platforms: ["online", "enterprise"],
|
|
864
|
+
buttonLabel: "Configure designated administrators",
|
|
865
|
+
resolutions: {
|
|
866
|
+
navigate: {
|
|
867
|
+
routeKey: "organization",
|
|
868
|
+
hash: "settings",
|
|
869
|
+
queryParams: {
|
|
870
|
+
tab: "security",
|
|
871
|
+
subsection: "multifactorDesignatedAdminsSection"
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
]
|
|
877
|
+
}, Yt = {
|
|
878
|
+
"contentRouteRegistry.ts": Wt,
|
|
879
|
+
"groupsRouteRegistry.ts": Jt,
|
|
880
|
+
"orgSettingsRouteRegistry.ts": _t
|
|
881
|
+
};
|
|
882
|
+
function ce(t) {
|
|
883
|
+
const e = [], a = /* @__PURE__ */ new Set();
|
|
884
|
+
for (const [n, o] of Object.entries(t))
|
|
885
|
+
for (const r of o.capabilities) {
|
|
886
|
+
if (a.has(r.id))
|
|
887
|
+
throw new Error(`${n}: duplicate capability id "${r.id}" across registries`);
|
|
888
|
+
a.add(r.id), e.push(r);
|
|
889
|
+
}
|
|
890
|
+
return e;
|
|
891
|
+
}
|
|
892
|
+
let R;
|
|
893
|
+
function S(t) {
|
|
894
|
+
return t ? R = ce({ customCapabilities: t }) : R || (R = ce(Yt)), R;
|
|
895
|
+
}
|
|
896
|
+
const Ht = {
|
|
897
|
+
gallery: "portal-gallery",
|
|
898
|
+
"map-viewer": "portal-map-viewer",
|
|
899
|
+
notebooks: "portal-notebooks",
|
|
900
|
+
"scene-viewer": "portal-scene-viewer"
|
|
901
|
+
};
|
|
902
|
+
function A({
|
|
903
|
+
capabilityId: t,
|
|
904
|
+
navigate: e,
|
|
905
|
+
buttonLabel: a
|
|
906
|
+
}) {
|
|
907
|
+
const { routeKey: n } = e;
|
|
908
|
+
switch (n) {
|
|
909
|
+
case "content":
|
|
910
|
+
return {
|
|
911
|
+
destinationType: "portal-content",
|
|
912
|
+
hash: e.hash,
|
|
913
|
+
queryParams: e.queryParams,
|
|
914
|
+
...a ? { buttonLabel: a } : {}
|
|
915
|
+
};
|
|
916
|
+
case "organization":
|
|
917
|
+
return {
|
|
918
|
+
destinationType: "portal-org",
|
|
919
|
+
hash: e.hash,
|
|
920
|
+
queryParams: e.queryParams,
|
|
921
|
+
...a ? { buttonLabel: a } : {}
|
|
922
|
+
};
|
|
923
|
+
case "groups":
|
|
924
|
+
const { hash: o } = e;
|
|
925
|
+
return o === "featured" ? { destinationType: "portal-groups", hash: "featured", ...a ? { buttonLabel: a } : {} } : o === "organization" ? { destinationType: "portal-groups", hash: "organization", ...a ? { buttonLabel: a } : {} } : t === "portal-groups-my" ? { destinationType: "portal-groups", hash: "my", ...a ? { buttonLabel: a } : {} } : { destinationType: "portal-groups", ...a ? { buttonLabel: a } : {} };
|
|
926
|
+
case "gallery":
|
|
927
|
+
case "map-viewer":
|
|
928
|
+
case "notebooks":
|
|
929
|
+
case "scene-viewer":
|
|
930
|
+
return { destinationType: Ht[n], ...a ? { buttonLabel: a } : {} };
|
|
931
|
+
default:
|
|
932
|
+
return;
|
|
933
|
+
}
|
|
934
|
+
}
|
|
935
|
+
const qe = Te(
|
|
936
|
+
async ({ groupTitle: t }, e) => {
|
|
937
|
+
const a = t.trim();
|
|
530
938
|
if (!a)
|
|
531
939
|
return null;
|
|
532
|
-
const n =
|
|
940
|
+
const n = e?.configurable?.context;
|
|
533
941
|
x(n);
|
|
534
942
|
try {
|
|
535
943
|
return (await Xe(n.portal, { query: `title:${a}`, num: 1 }))?.results[0]?.id || null;
|
|
@@ -540,16 +948,16 @@ const Kt = async (e, t) => {
|
|
|
540
948
|
{
|
|
541
949
|
name: "resolvePortalGroupIdByTitle",
|
|
542
950
|
description: "Resolves an ArcGIS Portal group title to the best-match group id. Use this when a user references a group by title instead of an explicit group id.",
|
|
543
|
-
schema:
|
|
544
|
-
groupTitle:
|
|
951
|
+
schema: i.object({
|
|
952
|
+
groupTitle: i.string().describe("The portal group title to resolve to a group id.")
|
|
545
953
|
})
|
|
546
954
|
}
|
|
547
|
-
),
|
|
548
|
-
async ({ itemTitle:
|
|
549
|
-
const a =
|
|
955
|
+
), ke = Te(
|
|
956
|
+
async ({ itemTitle: t }, e) => {
|
|
957
|
+
const a = t.trim();
|
|
550
958
|
if (!a)
|
|
551
959
|
return null;
|
|
552
|
-
const n =
|
|
960
|
+
const n = e?.configurable?.context;
|
|
553
961
|
x(n);
|
|
554
962
|
const { result: o, error: r } = await et(n.portal, a, { num: 1 });
|
|
555
963
|
return r && console.error("Error searching for portal item by title:", r), o?.results[0]?.id || null;
|
|
@@ -557,39 +965,39 @@ const Kt = async (e, t) => {
|
|
|
557
965
|
{
|
|
558
966
|
name: "resolvePortalItemIdByTitle",
|
|
559
967
|
description: 'Resolves an ArcGIS Portal item title to the best-match item id. Use this when a user references an item by title (including hash mentions like #title or #"title with spaces") instead of an explicit item id.',
|
|
560
|
-
schema:
|
|
561
|
-
itemTitle:
|
|
968
|
+
schema: i.object({
|
|
969
|
+
itemTitle: i.string().describe("The portal item title to resolve to an item id.")
|
|
562
970
|
})
|
|
563
971
|
}
|
|
564
972
|
);
|
|
565
|
-
function
|
|
566
|
-
const a =
|
|
973
|
+
function N(t, e = "#") {
|
|
974
|
+
const a = t.match(new RegExp(`\\${e}"([^"]+)"`, "u"));
|
|
567
975
|
if (a?.[1])
|
|
568
976
|
return a[1].trim();
|
|
569
|
-
const n =
|
|
977
|
+
const n = t.match(new RegExp(`\\${e}([^\\s"']+)`, "u"));
|
|
570
978
|
return n?.[1] ? n[1].trim() : null;
|
|
571
979
|
}
|
|
572
|
-
function
|
|
573
|
-
const
|
|
574
|
-
const n = a, o =
|
|
980
|
+
function Xt(t) {
|
|
981
|
+
const e = W(t).flatMap((a) => {
|
|
982
|
+
const n = a, o = t[a], r = [
|
|
575
983
|
n,
|
|
576
984
|
{
|
|
577
985
|
description: o.description,
|
|
578
986
|
hints: o.hints
|
|
579
987
|
}
|
|
580
|
-
],
|
|
581
|
-
const
|
|
582
|
-
return [`${n}-${
|
|
988
|
+
], s = o.sections ? W(o.sections).map((c) => {
|
|
989
|
+
const l = o.sections?.[c];
|
|
990
|
+
return [`${n}-${c}`, l];
|
|
583
991
|
}) : [];
|
|
584
|
-
return [r, ...
|
|
992
|
+
return [r, ...s];
|
|
585
993
|
});
|
|
586
|
-
return Object.fromEntries(
|
|
994
|
+
return Object.fromEntries(e);
|
|
587
995
|
}
|
|
588
|
-
function
|
|
589
|
-
return Object.entries(
|
|
996
|
+
function Zt(t) {
|
|
997
|
+
return Object.entries(t).map(([e, { description: a, hints: n }]) => ` - ${e}: ${a} (hints: ${n.join(", ")})`).join(`
|
|
590
998
|
`);
|
|
591
999
|
}
|
|
592
|
-
const
|
|
1000
|
+
const ea = {
|
|
593
1001
|
// Example prompt: "Take me to my content"
|
|
594
1002
|
"portal-content": {
|
|
595
1003
|
description: "The main content page of the portal.",
|
|
@@ -720,16 +1128,66 @@ const Jt = {
|
|
|
720
1128
|
"New developer credentials",
|
|
721
1129
|
"Content > My Content > New Item > Developer Credentials"
|
|
722
1130
|
]
|
|
1131
|
+
},
|
|
1132
|
+
// Example prompt: "Add an item from a URL"
|
|
1133
|
+
url: {
|
|
1134
|
+
description: "The Content page with New Item flow set to URL as the starting step for adding a URL-based item, such as a service endpoint.",
|
|
1135
|
+
hints: ["URL item", "Add item from URL", "Register service URL", "Content > My Content > New Item > URL"]
|
|
1136
|
+
},
|
|
1137
|
+
// Example prompt: "Create a new application item"
|
|
1138
|
+
application: {
|
|
1139
|
+
description: "The Content page with New Item flow set to Application as the starting step for creating an application item in content.",
|
|
1140
|
+
hints: [
|
|
1141
|
+
"Application item",
|
|
1142
|
+
"Create application item",
|
|
1143
|
+
"Register app item",
|
|
1144
|
+
"Content > My Content > New Item > Application"
|
|
1145
|
+
]
|
|
1146
|
+
},
|
|
1147
|
+
// Example prompt: "Create a hosted tile layer"
|
|
1148
|
+
"tile-layer": {
|
|
1149
|
+
description: "The Content page with New Item flow set to Tile Layer as the starting step for publishing a hosted tile layer.",
|
|
1150
|
+
hints: [
|
|
1151
|
+
"Tile Layer",
|
|
1152
|
+
"Create hosted tile layer",
|
|
1153
|
+
"Publish tile layer",
|
|
1154
|
+
"Content > My Content > New Item > Tile Layer"
|
|
1155
|
+
]
|
|
1156
|
+
},
|
|
1157
|
+
// Example prompt: "Create a hosted scene layer"
|
|
1158
|
+
"scene-layer": {
|
|
1159
|
+
description: "The Content page with New Item flow set to Scene Layer as the starting step for publishing a hosted scene layer.",
|
|
1160
|
+
hints: [
|
|
1161
|
+
"Scene Layer",
|
|
1162
|
+
"Create hosted scene layer",
|
|
1163
|
+
"Publish scene layer",
|
|
1164
|
+
"Content > My Content > New Item > Scene Layer"
|
|
1165
|
+
]
|
|
1166
|
+
},
|
|
1167
|
+
// Example prompt: "Create a new locator"
|
|
1168
|
+
locator: {
|
|
1169
|
+
description: "The Content page with New Item flow set to Locator as the starting step for creating or publishing a locator used for geocoding.",
|
|
1170
|
+
hints: ["Locator", "Create locator", "Publish locator", "Content > My Content > New Item > Locator"]
|
|
1171
|
+
},
|
|
1172
|
+
// Example prompt: "Create a data store item"
|
|
1173
|
+
"data-store": {
|
|
1174
|
+
description: "The Content page with New Item flow set to Data Store as the starting step for registering a data store connection.",
|
|
1175
|
+
hints: [
|
|
1176
|
+
"Data Store",
|
|
1177
|
+
"Register data store",
|
|
1178
|
+
"Data store connection",
|
|
1179
|
+
"Content > My Content > New Item > Data Store"
|
|
1180
|
+
]
|
|
723
1181
|
}
|
|
724
1182
|
}
|
|
725
1183
|
}
|
|
726
|
-
},
|
|
1184
|
+
}, Ee = Xt(ea), ta = W(Ee), aa = Zt(Ee), na = `
|
|
727
1185
|
You decide whether the assistant response should include a navigation action to ArcGIS Portal.
|
|
728
1186
|
|
|
729
1187
|
Given the user question and assistant response:
|
|
730
1188
|
- Decide if a navigation action would help the user complete the task.
|
|
731
1189
|
- If yes, choose one destinationType:
|
|
732
|
-
${
|
|
1190
|
+
${aa}
|
|
733
1191
|
|
|
734
1192
|
Rules:
|
|
735
1193
|
- Only suggest navigation when you are highly confident the destination will help complete the user's task.
|
|
@@ -752,40 +1210,40 @@ User question:
|
|
|
752
1210
|
|
|
753
1211
|
Assistant response:
|
|
754
1212
|
{response}
|
|
755
|
-
`,
|
|
756
|
-
shouldSuggestNavigation:
|
|
757
|
-
destinationType:
|
|
758
|
-
itemId:
|
|
759
|
-
groupId:
|
|
760
|
-
confidence:
|
|
1213
|
+
`, le = i.object({
|
|
1214
|
+
shouldSuggestNavigation: i.boolean().default(!1),
|
|
1215
|
+
destinationType: i.enum(["none", ...ta]).default("none"),
|
|
1216
|
+
itemId: i.string().default(""),
|
|
1217
|
+
groupId: i.string().default(""),
|
|
1218
|
+
confidence: i.number().min(0).max(1).default(0)
|
|
761
1219
|
});
|
|
762
|
-
let
|
|
763
|
-
async function
|
|
764
|
-
return
|
|
1220
|
+
let ue;
|
|
1221
|
+
async function oa() {
|
|
1222
|
+
return ue ??= H({ modelTier: "fast" }), await ue;
|
|
765
1223
|
}
|
|
766
|
-
const
|
|
1224
|
+
const ra = async (t, e) => {
|
|
767
1225
|
const a = performance.now();
|
|
768
1226
|
try {
|
|
769
|
-
await p({ text: "Extracting navigation intent...", agentName: "doc-assistant" },
|
|
770
|
-
const n =
|
|
1227
|
+
await p({ text: "Extracting navigation intent...", agentName: "doc-assistant" }, e);
|
|
1228
|
+
const n = t.outputMessage.trim();
|
|
771
1229
|
if (!n)
|
|
772
1230
|
return {};
|
|
773
|
-
const o =
|
|
1231
|
+
const o = v(t.agentExecutionContext.messages).trim(), r = await X.fromTemplate(na).format({
|
|
774
1232
|
question: o,
|
|
775
1233
|
response: n
|
|
776
|
-
}),
|
|
777
|
-
if (!
|
|
1234
|
+
}), c = (await oa()).withStructuredOutput(le), l = le.parse(await c.invoke(r));
|
|
1235
|
+
if (!l.shouldSuggestNavigation || l.destinationType === "none")
|
|
778
1236
|
return {};
|
|
779
|
-
if (
|
|
780
|
-
const
|
|
781
|
-
|
|
1237
|
+
if (l.destinationType === "portal-item" && !l.itemId) {
|
|
1238
|
+
const u = N(o, "#");
|
|
1239
|
+
u && (l.itemId = await ke.invoke({ itemTitle: u }, e) ?? "");
|
|
782
1240
|
}
|
|
783
|
-
if (
|
|
784
|
-
const
|
|
785
|
-
|
|
1241
|
+
if (l.destinationType === "portal-group" && !l.groupId) {
|
|
1242
|
+
const u = N(o, "$") ?? N(o, "#");
|
|
1243
|
+
u && (l.groupId = await qe.invoke({ groupTitle: u }, e) ?? "");
|
|
786
1244
|
}
|
|
787
|
-
const d =
|
|
788
|
-
return d ? (await
|
|
1245
|
+
const d = ia(l);
|
|
1246
|
+
return d ? (await O(d, e), {}) : {};
|
|
789
1247
|
} finally {
|
|
790
1248
|
console.info("[arcgis-portal-ai-assistant] node timing", {
|
|
791
1249
|
agent: "portal-doc-assistant",
|
|
@@ -794,114 +1252,86 @@ const Zt = async (e, t) => {
|
|
|
794
1252
|
});
|
|
795
1253
|
}
|
|
796
1254
|
};
|
|
797
|
-
function
|
|
798
|
-
destinationType:
|
|
799
|
-
itemId:
|
|
1255
|
+
function ia({
|
|
1256
|
+
destinationType: t,
|
|
1257
|
+
itemId: e,
|
|
800
1258
|
groupId: a
|
|
801
1259
|
}) {
|
|
802
|
-
|
|
803
|
-
|
|
1260
|
+
const n = S().find((o) => o.id === t);
|
|
1261
|
+
if (n)
|
|
1262
|
+
return A({
|
|
1263
|
+
navigate: n.resolutions.navigate,
|
|
1264
|
+
buttonLabel: n.buttonLabel,
|
|
1265
|
+
capabilityId: n.id
|
|
1266
|
+
});
|
|
1267
|
+
switch (t) {
|
|
804
1268
|
case "portal-gallery":
|
|
805
|
-
case "portal-groups":
|
|
806
1269
|
case "portal-map-viewer":
|
|
807
1270
|
case "portal-notebooks":
|
|
808
1271
|
case "portal-scene-viewer":
|
|
809
|
-
return { destinationType:
|
|
810
|
-
case "portal-org-security":
|
|
811
|
-
return {
|
|
812
|
-
destinationType: "portal-org",
|
|
813
|
-
hash: "settings",
|
|
814
|
-
queryParams: {
|
|
815
|
-
tab: "security"
|
|
816
|
-
}
|
|
817
|
-
};
|
|
818
|
-
case "portal-content-new-item":
|
|
819
|
-
case "portal-content-new-item-feature-layer":
|
|
820
|
-
case "portal-content-new-item-developer-credentials":
|
|
821
|
-
return {
|
|
822
|
-
queryParams: {
|
|
823
|
-
newItem: ta[e]
|
|
824
|
-
},
|
|
825
|
-
destinationType: "portal-content"
|
|
826
|
-
};
|
|
827
|
-
case "portal-content-favorites":
|
|
828
|
-
case "portal-content-group":
|
|
829
|
-
case "portal-content-living-atlas":
|
|
830
|
-
case "portal-content-organization":
|
|
831
|
-
return { destinationType: "portal-content", hash: aa[e] };
|
|
832
|
-
case "portal-groups-featured":
|
|
833
|
-
case "portal-groups-my":
|
|
834
|
-
case "portal-groups-organization":
|
|
835
|
-
return { destinationType: "portal-groups", hash: na[e] };
|
|
836
|
-
case "portal-org-security-custom-sign-in":
|
|
837
|
-
case "portal-org-security-logins":
|
|
838
|
-
case "portal-org-security-change-login-provider":
|
|
839
|
-
case "portal-org-security-multifactor-auth":
|
|
840
|
-
case "portal-org-security-multifactor-enforcement":
|
|
841
|
-
case "portal-org-security-multifactor-designated-admins":
|
|
842
|
-
return {
|
|
843
|
-
destinationType: "portal-org",
|
|
844
|
-
hash: "settings",
|
|
845
|
-
queryParams: {
|
|
846
|
-
tab: "security",
|
|
847
|
-
subsection: oa[e]
|
|
848
|
-
}
|
|
849
|
-
};
|
|
1272
|
+
return { destinationType: t };
|
|
850
1273
|
case "portal-item":
|
|
851
|
-
return
|
|
1274
|
+
return e ? { destinationType: t, itemId: e } : void 0;
|
|
852
1275
|
case "portal-group":
|
|
853
|
-
return a ? { destinationType:
|
|
1276
|
+
return a ? { destinationType: t, groupId: a } : void 0;
|
|
854
1277
|
case "none":
|
|
855
|
-
return
|
|
1278
|
+
return;
|
|
856
1279
|
default:
|
|
857
|
-
|
|
1280
|
+
switch (t) {
|
|
1281
|
+
case "portal-groups":
|
|
1282
|
+
return A({ navigate: { routeKey: "groups" } });
|
|
1283
|
+
case "portal-content-favorites":
|
|
1284
|
+
case "portal-content-group":
|
|
1285
|
+
case "portal-content-living-atlas":
|
|
1286
|
+
case "portal-content-organization":
|
|
1287
|
+
return A({ navigate: { routeKey: "content", hash: (() => {
|
|
1288
|
+
switch (t) {
|
|
1289
|
+
case "portal-content-favorites":
|
|
1290
|
+
return "favorites";
|
|
1291
|
+
case "portal-content-group":
|
|
1292
|
+
return "group";
|
|
1293
|
+
case "portal-content-living-atlas":
|
|
1294
|
+
return "living-atlas";
|
|
1295
|
+
case "portal-content-organization":
|
|
1296
|
+
return "org";
|
|
1297
|
+
default:
|
|
1298
|
+
return F(t);
|
|
1299
|
+
}
|
|
1300
|
+
})() } });
|
|
1301
|
+
case "portal-org-security":
|
|
1302
|
+
return A({
|
|
1303
|
+
navigate: { routeKey: "organization", hash: "settings", queryParams: { tab: "security" } }
|
|
1304
|
+
});
|
|
1305
|
+
default:
|
|
1306
|
+
return;
|
|
1307
|
+
}
|
|
858
1308
|
}
|
|
859
1309
|
}
|
|
860
|
-
const
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
"portal-content-new-item-developer-credentials": "developerCredentials"
|
|
864
|
-
}, aa = {
|
|
865
|
-
"portal-content-favorites": "favorites",
|
|
866
|
-
"portal-content-group": "group",
|
|
867
|
-
"portal-content-living-atlas": "living-atlas",
|
|
868
|
-
"portal-content-organization": "org"
|
|
869
|
-
}, na = {
|
|
870
|
-
"portal-groups-featured": "featured",
|
|
871
|
-
"portal-groups-my": "my",
|
|
872
|
-
"portal-groups-organization": "organization"
|
|
873
|
-
}, oa = {
|
|
874
|
-
"portal-org-security-custom-sign-in": "customSignInSection",
|
|
875
|
-
"portal-org-security-logins": "loginsSection",
|
|
876
|
-
"portal-org-security-change-login-provider": "changeLoginProviderSection",
|
|
877
|
-
"portal-org-security-multifactor-auth": "multiFactorAuthSection",
|
|
878
|
-
"portal-org-security-multifactor-enforcement": "multifactorEnforcementSection",
|
|
879
|
-
"portal-org-security-multifactor-designated-admins": "multifactorDesignatedAdminsSection"
|
|
880
|
-
}, Ee = h.Root({
|
|
881
|
-
...G()
|
|
882
|
-
}), ra = () => new N(Ee).addNode("answerDocQuestion", Kt).addNode("extractNavigationIntent", Zt).addEdge(P, "answerDocQuestion").addEdge("answerDocQuestion", "extractNavigationIntent").addEdge("extractNavigationIntent", w), sa = String.raw`- **portal-doc-assistant** - General ArcGIS documentation and Portal help assistant:
|
|
1310
|
+
const ze = h.Root({
|
|
1311
|
+
...q()
|
|
1312
|
+
}), sa = () => new P(ze).addNode("answerDocQuestion", Qt).addNode("extractNavigationIntent", ra).addEdge(G, "answerDocQuestion").addEdge("answerDocQuestion", "extractNavigationIntent").addEdge("extractNavigationIntent", w), ca = String.raw`- **portal-doc-assistant** - General ArcGIS documentation and Portal help assistant:
|
|
883
1313
|
- answers general ArcGIS, Portal, Enterprise, and JavaScript SDK questions
|
|
884
1314
|
- acts as a fallback when specialized agents are not applicable
|
|
885
|
-
`,
|
|
1315
|
+
`, la = {
|
|
886
1316
|
id: "portal-doc-assistant",
|
|
887
1317
|
name: "Portal Doc Assistant",
|
|
888
|
-
description:
|
|
889
|
-
createGraph:
|
|
890
|
-
workspace:
|
|
891
|
-
},
|
|
892
|
-
const
|
|
893
|
-
return
|
|
894
|
-
},
|
|
1318
|
+
description: ca,
|
|
1319
|
+
createGraph: sa,
|
|
1320
|
+
workspace: ze
|
|
1321
|
+
}, ua = () => ({ latestGroupId: null, memory: {} }), L = (t) => {
|
|
1322
|
+
const e = t?.agentExecutionContext.sharedState.portalGroupSummaryMemory?.value;
|
|
1323
|
+
return e ? { latestGroupId: e.latestGroupId, memory: e.memory } : ua();
|
|
1324
|
+
}, Re = `
|
|
895
1325
|
Shared markdown formatting rules:
|
|
896
1326
|
- Use clear markdown headings (##) to separate sections.
|
|
897
1327
|
- Use concise bullet points for lists of facts, counts, or signals.
|
|
898
1328
|
- Emphasize key metrics with bold labels (for example: **Recent items:** 4).
|
|
899
1329
|
- Keep wording direct and analytical; avoid filler language but make sure the language is friendly.
|
|
900
1330
|
- Do not include raw internal IDs unless explicitly requested.
|
|
901
|
-
`,
|
|
1331
|
+
`, da = `
|
|
902
1332
|
You answer follow-up questions about ArcGIS group analytics.
|
|
903
1333
|
|
|
904
|
-
${
|
|
1334
|
+
${Re}
|
|
905
1335
|
|
|
906
1336
|
Ground your answer in the provided group analytics summary and context.
|
|
907
1337
|
If the answer is not available from the provided context, state that clearly and suggest what to check next.
|
|
@@ -923,14 +1353,14 @@ Group full context:
|
|
|
923
1353
|
|
|
924
1354
|
Question:
|
|
925
1355
|
{question}
|
|
926
|
-
`,
|
|
927
|
-
await p({ text: "Answering group follow-up...", agentName: "group-analytics" },
|
|
928
|
-
const a =
|
|
1356
|
+
`, pa = async (t, e) => {
|
|
1357
|
+
await p({ text: "Answering group follow-up...", agentName: "group-analytics" }, e);
|
|
1358
|
+
const a = L(t), n = t.groupSummaryGroupId ?? a.latestGroupId, o = n ? a.memory[n] : void 0, r = t.groupSummaryQuestion || v(t.agentExecutionContext.messages);
|
|
929
1359
|
return o ? {
|
|
930
1360
|
status: "success",
|
|
931
|
-
outputMessage: (await
|
|
932
|
-
promptText:
|
|
933
|
-
schema:
|
|
1361
|
+
outputMessage: (await b({
|
|
1362
|
+
promptText: da,
|
|
1363
|
+
schema: ma,
|
|
934
1364
|
modelTier: "default",
|
|
935
1365
|
inputVariables: {
|
|
936
1366
|
summary: o.summary,
|
|
@@ -942,10 +1372,10 @@ Question:
|
|
|
942
1372
|
status: "success",
|
|
943
1373
|
outputMessage: "I do not have group analytics context yet. Ask me to analyze a group first with analyze group <group id>."
|
|
944
1374
|
};
|
|
945
|
-
},
|
|
946
|
-
answer:
|
|
947
|
-
isRelevant:
|
|
948
|
-
}),
|
|
1375
|
+
}, ma = i.object({
|
|
1376
|
+
answer: i.string(),
|
|
1377
|
+
isRelevant: i.boolean()
|
|
1378
|
+
}), ga = `
|
|
949
1379
|
Classify the user's request for ArcGIS Portal group analytics.
|
|
950
1380
|
|
|
951
1381
|
Rules:
|
|
@@ -974,121 +1404,121 @@ hasAnalyticsContext:
|
|
|
974
1404
|
|
|
975
1405
|
User message:
|
|
976
1406
|
{userMessage}
|
|
977
|
-
`,
|
|
978
|
-
await p({ text: "Analyzing group-analytics intent...", agentName: "group-analytics" },
|
|
979
|
-
const a =
|
|
1407
|
+
`, ha = async (t, e) => {
|
|
1408
|
+
await p({ text: "Analyzing group-analytics intent...", agentName: "group-analytics" }, e);
|
|
1409
|
+
const a = v(t.agentExecutionContext.messages), n = !!L(t).latestGroupId, o = await X.fromTemplate(ga).format({
|
|
980
1410
|
userMessage: a,
|
|
981
1411
|
hasAnalyticsContext: String(n)
|
|
982
|
-
}),
|
|
983
|
-
let
|
|
984
|
-
if ((
|
|
985
|
-
const y =
|
|
986
|
-
y && (
|
|
1412
|
+
}), s = (await H({ modelTier: "fast" })).withStructuredOutput(de), c = de.parse(await s.invoke(o));
|
|
1413
|
+
let l = c.groupId;
|
|
1414
|
+
if ((c.intent === "summarize" || c.intent === "navigation") && !l) {
|
|
1415
|
+
const y = N(a, "$");
|
|
1416
|
+
y && (l = await qe.invoke({ groupTitle: y }, e) ?? "");
|
|
987
1417
|
}
|
|
988
|
-
const { intent: d, question:
|
|
1418
|
+
const { intent: d, question: u } = c, m = d === "summarize" && !l, g = d === "followUp" && !(u ?? "").trim(), f = d === "clarify" || m || g;
|
|
989
1419
|
return {
|
|
990
1420
|
groupSummaryIntent: f ? "clarify" : d,
|
|
991
|
-
groupSummaryGroupId:
|
|
992
|
-
groupSummaryQuestion:
|
|
1421
|
+
groupSummaryGroupId: l || null,
|
|
1422
|
+
groupSummaryQuestion: u || "",
|
|
993
1423
|
status: "success",
|
|
994
1424
|
outputMessage: f ? "Please clarify with a group id or title" : ""
|
|
995
1425
|
};
|
|
996
|
-
},
|
|
997
|
-
intent:
|
|
998
|
-
groupId:
|
|
999
|
-
question:
|
|
1000
|
-
}),
|
|
1001
|
-
const a =
|
|
1002
|
-
return await p({ text: "Preparing navigation...", agentName: "group-analytics" },
|
|
1426
|
+
}, de = i.object({
|
|
1427
|
+
intent: i.enum(["summarize", "followUp", "navigation", "clarify"]),
|
|
1428
|
+
groupId: i.string().default(""),
|
|
1429
|
+
question: i.string().default("")
|
|
1430
|
+
}), fa = async (t, e) => {
|
|
1431
|
+
const a = L(t), n = t.groupSummaryGroupId ?? a.latestGroupId;
|
|
1432
|
+
return await p({ text: "Preparing navigation...", agentName: "group-analytics" }, e), await O(
|
|
1003
1433
|
n ? { destinationType: "portal-group", groupId: n } : { destinationType: "portal-groups" },
|
|
1004
|
-
|
|
1434
|
+
e
|
|
1005
1435
|
), { status: "success" };
|
|
1006
1436
|
};
|
|
1007
|
-
function De({ timestamp:
|
|
1008
|
-
return
|
|
1437
|
+
function De({ timestamp: t, now: e, windowMs: a }) {
|
|
1438
|
+
return t ? e - t <= a : !1;
|
|
1009
1439
|
}
|
|
1010
|
-
const
|
|
1011
|
-
function
|
|
1012
|
-
const
|
|
1440
|
+
const ya = 720 * 60 * 60 * 1e3;
|
|
1441
|
+
function wa(t) {
|
|
1442
|
+
const e = at(t);
|
|
1013
1443
|
return {
|
|
1014
|
-
id:
|
|
1015
|
-
title:
|
|
1016
|
-
description:
|
|
1017
|
-
snippet:
|
|
1018
|
-
access:
|
|
1019
|
-
owner:
|
|
1020
|
-
tags:
|
|
1021
|
-
created:
|
|
1022
|
-
modified:
|
|
1023
|
-
isInvitationOnly:
|
|
1444
|
+
id: t.id ?? "",
|
|
1445
|
+
title: t.title ?? "",
|
|
1446
|
+
description: t.description ?? "",
|
|
1447
|
+
snippet: t.snippet ?? "",
|
|
1448
|
+
access: t.access ?? null,
|
|
1449
|
+
owner: t.owner ?? "",
|
|
1450
|
+
tags: t.tags ?? [],
|
|
1451
|
+
created: t.created?.getTime(),
|
|
1452
|
+
modified: t.modified?.getTime(),
|
|
1453
|
+
isInvitationOnly: t.isInvitationOnly,
|
|
1024
1454
|
sourceSignals: {
|
|
1025
|
-
capabilities:
|
|
1026
|
-
membershipAccess: rt(
|
|
1027
|
-
isOpenData: ot(
|
|
1028
|
-
isDistributedCollaborationGroup: nt(
|
|
1029
|
-
orgId:
|
|
1030
|
-
hiddenMembers:
|
|
1031
|
-
isViewOnly:
|
|
1032
|
-
isReadOnly:
|
|
1033
|
-
leavingDisallowed:
|
|
1455
|
+
capabilities: it(t),
|
|
1456
|
+
membershipAccess: rt(t),
|
|
1457
|
+
isOpenData: ot(t),
|
|
1458
|
+
isDistributedCollaborationGroup: nt(t),
|
|
1459
|
+
orgId: e.orgId,
|
|
1460
|
+
hiddenMembers: e.hiddenMembers,
|
|
1461
|
+
isViewOnly: e.isViewOnly,
|
|
1462
|
+
isReadOnly: e.isReadOnly,
|
|
1463
|
+
leavingDisallowed: e.leavingDisallowed
|
|
1034
1464
|
}
|
|
1035
1465
|
};
|
|
1036
1466
|
}
|
|
1037
|
-
async function
|
|
1038
|
-
const
|
|
1467
|
+
async function ba(t) {
|
|
1468
|
+
const e = { owner: t.owner ?? "", admins: [], users: [] };
|
|
1039
1469
|
try {
|
|
1040
|
-
return await
|
|
1470
|
+
return await t.fetchMembers();
|
|
1041
1471
|
} catch (a) {
|
|
1042
|
-
return console.warn("Unable to fetch group members for analytics context", a),
|
|
1472
|
+
return console.warn("Unable to fetch group members for analytics context", a), e;
|
|
1043
1473
|
}
|
|
1044
1474
|
}
|
|
1045
|
-
function
|
|
1046
|
-
return
|
|
1047
|
-
id:
|
|
1048
|
-
title:
|
|
1049
|
-
type:
|
|
1050
|
-
owner:
|
|
1051
|
-
created:
|
|
1052
|
-
modified:
|
|
1475
|
+
function va(t) {
|
|
1476
|
+
return t.map((e) => ({
|
|
1477
|
+
id: e.id ?? "",
|
|
1478
|
+
title: e.title ?? "Untitled",
|
|
1479
|
+
type: e.type ?? "Unknown",
|
|
1480
|
+
owner: e.owner ?? "",
|
|
1481
|
+
created: e.created?.getTime(),
|
|
1482
|
+
modified: e.modified?.getTime()
|
|
1053
1483
|
}));
|
|
1054
1484
|
}
|
|
1055
|
-
function
|
|
1056
|
-
return
|
|
1057
|
-
(a) => a.modified ? De({ timestamp: a.modified, now:
|
|
1485
|
+
function Ia(t, e) {
|
|
1486
|
+
return t.filter(
|
|
1487
|
+
(a) => a.modified ? De({ timestamp: a.modified, now: e, windowMs: ya }) : !1
|
|
1058
1488
|
);
|
|
1059
1489
|
}
|
|
1060
|
-
function
|
|
1061
|
-
const
|
|
1062
|
-
for (const a of
|
|
1063
|
-
|
|
1064
|
-
return [...
|
|
1490
|
+
function Sa(t) {
|
|
1491
|
+
const e = /* @__PURE__ */ new Map();
|
|
1492
|
+
for (const a of t)
|
|
1493
|
+
e.set(a.type, (e.get(a.type) ?? 0) + 1);
|
|
1494
|
+
return [...e.entries()].sort((a, n) => n[1] - a[1] || a[0].localeCompare(n[0])).slice(0, 6).map(([a, n]) => ({ type: a, count: n }));
|
|
1065
1495
|
}
|
|
1066
|
-
async function
|
|
1067
|
-
const
|
|
1496
|
+
async function xa(t) {
|
|
1497
|
+
const e = await t.queryItems({ num: 20, sortField: "modified", sortOrder: "desc" }), a = va(e.results), n = Date.now();
|
|
1068
1498
|
return {
|
|
1069
|
-
total:
|
|
1499
|
+
total: e.total,
|
|
1070
1500
|
topItems: a,
|
|
1071
|
-
recentlyModifiedItems:
|
|
1072
|
-
topItemTypes:
|
|
1501
|
+
recentlyModifiedItems: Ia(a, n),
|
|
1502
|
+
topItemTypes: Sa(a)
|
|
1073
1503
|
};
|
|
1074
1504
|
}
|
|
1075
|
-
async function
|
|
1076
|
-
if (!
|
|
1505
|
+
async function Ca(t, e) {
|
|
1506
|
+
if (!e)
|
|
1077
1507
|
return { error: { code: "missingGroupId", message: "Group id is required." } };
|
|
1078
1508
|
try {
|
|
1079
|
-
const n = (await
|
|
1509
|
+
const n = (await t.queryGroups({ query: `id:${e}`, num: 1 })).results[0];
|
|
1080
1510
|
if (!n)
|
|
1081
|
-
return { error: { code: "groupNotFound", message: `No group found for id: ${
|
|
1082
|
-
const o =
|
|
1083
|
-
return { result: { group: o, members: r, items:
|
|
1511
|
+
return { error: { code: "groupNotFound", message: `No group found for id: ${e}` } };
|
|
1512
|
+
const o = wa(n), r = await ba(n), s = await xa(n);
|
|
1513
|
+
return { result: { group: o, members: r, items: s } };
|
|
1084
1514
|
} catch (a) {
|
|
1085
1515
|
return console.error("Error fetching portal group analytics context:", a), { error: { code: "unhandledError" } };
|
|
1086
1516
|
}
|
|
1087
1517
|
}
|
|
1088
|
-
const
|
|
1518
|
+
const Ma = `
|
|
1089
1519
|
You summarize ArcGIS Portal groups based on structured context and deterministic activity signals.
|
|
1090
1520
|
|
|
1091
|
-
${
|
|
1521
|
+
${Re}
|
|
1092
1522
|
|
|
1093
1523
|
Output format requirements:
|
|
1094
1524
|
- Return concise markdown with clear sections in this order:
|
|
@@ -1124,82 +1554,82 @@ Group context:
|
|
|
1124
1554
|
|
|
1125
1555
|
Deterministic signals:
|
|
1126
1556
|
{deterministicSignals}
|
|
1127
|
-
`, Ta = 2160 * 60 * 60 * 1e3,
|
|
1128
|
-
const a =
|
|
1557
|
+
`, Ta = 2160 * 60 * 60 * 1e3, Aa = async (t, e) => {
|
|
1558
|
+
const a = t.groupSummaryGroupId;
|
|
1129
1559
|
if (!a)
|
|
1130
1560
|
return {
|
|
1131
1561
|
status: "success",
|
|
1132
1562
|
outputMessage: 'Please clarify with analyze group <group id>, analyze group $<title>, or analyze group $"<title with spaces>".'
|
|
1133
1563
|
};
|
|
1134
|
-
await p({ text: `Analyzing group ${a}...`, agentName: "group-analytics" },
|
|
1135
|
-
const n =
|
|
1564
|
+
await p({ text: `Analyzing group ${a}...`, agentName: "group-analytics" }, e);
|
|
1565
|
+
const n = e?.configurable?.context;
|
|
1136
1566
|
x(n);
|
|
1137
|
-
const { result: o, error: r } = await
|
|
1567
|
+
const { result: o, error: r } = await Ca(n.portal, a);
|
|
1138
1568
|
if (r || !o)
|
|
1139
|
-
return await p({ text: "Failed to fetch group context", agentName: "group-analytics" },
|
|
1569
|
+
return await p({ text: "Failed to fetch group context", agentName: "group-analytics" }, e), {
|
|
1140
1570
|
status: "success",
|
|
1141
1571
|
outputMessage: "Unable to retrieve group context for analytics."
|
|
1142
1572
|
};
|
|
1143
|
-
const { group:
|
|
1144
|
-
promptText:
|
|
1145
|
-
schema:
|
|
1573
|
+
const { group: s, items: c } = o, l = Date.now(), d = s.modified, u = d ? De({ timestamp: d, now: l, windowMs: Ta }) : !1, m = c.recentlyModifiedItems.length, g = m > 0, f = u || g, y = await b({
|
|
1574
|
+
promptText: Ma,
|
|
1575
|
+
schema: Na,
|
|
1146
1576
|
modelTier: "default",
|
|
1147
1577
|
inputVariables: {
|
|
1148
1578
|
context: JSON.stringify(o),
|
|
1149
1579
|
deterministicSignals: JSON.stringify({
|
|
1150
1580
|
isGroupActive: f,
|
|
1151
|
-
isGroupRecentlyModified:
|
|
1581
|
+
isGroupRecentlyModified: u,
|
|
1152
1582
|
hasRecentlyAddedOrUpdatedContent: g,
|
|
1153
1583
|
recentItemCount: m
|
|
1154
1584
|
})
|
|
1155
1585
|
}
|
|
1156
|
-
}), { followUpQuestions: M, summary:
|
|
1586
|
+
}), { followUpQuestions: M, summary: k } = y, C = L(t), T = {
|
|
1157
1587
|
latestGroupId: a,
|
|
1158
1588
|
memory: {
|
|
1159
|
-
...
|
|
1160
|
-
[a]: { summary:
|
|
1589
|
+
...C.memory,
|
|
1590
|
+
[a]: { summary: k, followUpQuestions: M, fullContext: o }
|
|
1161
1591
|
}
|
|
1162
1592
|
};
|
|
1163
|
-
return M.length && await
|
|
1593
|
+
return M.length && await Y({ type: "suggested-prompts", data: { prompts: M } }, e), {
|
|
1164
1594
|
status: "success",
|
|
1165
|
-
outputMessage:
|
|
1166
|
-
sharedStatePatch: { portalGroupSummaryMemory: { value:
|
|
1595
|
+
outputMessage: k,
|
|
1596
|
+
sharedStatePatch: { portalGroupSummaryMemory: { value: T } }
|
|
1167
1597
|
};
|
|
1168
|
-
},
|
|
1169
|
-
summary:
|
|
1170
|
-
followUpQuestions:
|
|
1171
|
-
}),
|
|
1172
|
-
...
|
|
1598
|
+
}, Na = i.object({
|
|
1599
|
+
summary: i.string(),
|
|
1600
|
+
followUpQuestions: i.array(i.string()).default([])
|
|
1601
|
+
}), j = (t, e) => e ?? t, $e = h.Root({
|
|
1602
|
+
...q(),
|
|
1173
1603
|
groupSummaryIntent: h({
|
|
1174
|
-
reducer:
|
|
1604
|
+
reducer: j,
|
|
1175
1605
|
default: () => "clarify"
|
|
1176
1606
|
}),
|
|
1177
1607
|
groupSummaryGroupId: h({
|
|
1178
|
-
reducer:
|
|
1608
|
+
reducer: j,
|
|
1179
1609
|
default: () => null
|
|
1180
1610
|
}),
|
|
1181
1611
|
groupSummaryQuestion: h({
|
|
1182
|
-
reducer:
|
|
1612
|
+
reducer: j,
|
|
1183
1613
|
default: () => ""
|
|
1184
1614
|
})
|
|
1185
|
-
}),
|
|
1615
|
+
}), Pa = () => new P($e).addNode("detectGroupSummaryIntent", ha).addNode("summarizePortalGroup", Aa).addNode("answerGroupSummaryFollowUp", pa).addNode("suggestGroupSummaryNavigation", fa).addEdge(G, "detectGroupSummaryIntent").addConditionalEdges("detectGroupSummaryIntent", (e) => e.groupSummaryIntent === "summarize" ? "summarizePortalGroup" : e.groupSummaryIntent === "followUp" ? "answerGroupSummaryFollowUp" : e.groupSummaryIntent === "navigation" ? "suggestGroupSummaryNavigation" : w).addEdge("summarizePortalGroup", w).addEdge("answerGroupSummaryFollowUp", w).addEdge("suggestGroupSummaryNavigation", w), Ga = String.raw`- **portal-group-analytics** - Portal group analytics assistant:
|
|
1186
1616
|
- summarizes ArcGIS portal groups from group context and sourceJSON details
|
|
1187
1617
|
- answers follow-up questions grounded in the summarized group
|
|
1188
1618
|
- suggests navigation to groups when relevant
|
|
1189
|
-
`,
|
|
1619
|
+
`, qa = {
|
|
1190
1620
|
id: "portal-group-analytics",
|
|
1191
1621
|
name: "Portal Group Analytics",
|
|
1192
|
-
description:
|
|
1193
|
-
createGraph:
|
|
1622
|
+
description: Ga,
|
|
1623
|
+
createGraph: Pa,
|
|
1194
1624
|
workspace: $e
|
|
1195
|
-
},
|
|
1196
|
-
const
|
|
1197
|
-
return
|
|
1198
|
-
},
|
|
1199
|
-
intent:
|
|
1200
|
-
itemId:
|
|
1201
|
-
question:
|
|
1202
|
-
}),
|
|
1625
|
+
}, ka = () => ({ latestItemId: null, memory: {} }), Z = (t) => {
|
|
1626
|
+
const e = t?.agentExecutionContext.sharedState.portalItemAnalyticsSummaryMemory?.value;
|
|
1627
|
+
return e ? { latestItemId: e.latestItemId, memory: e.memory } : ka();
|
|
1628
|
+
}, pe = i.object({
|
|
1629
|
+
intent: i.enum(["summarize", "followUp", "clarify"]),
|
|
1630
|
+
itemId: i.string().default(""),
|
|
1631
|
+
question: i.string().default("")
|
|
1632
|
+
}), Ea = i.object({ summary: i.string(), followUpQuestions: i.array(i.string()).default([]) }), za = i.object({ answer: i.string(), isRelevant: i.boolean() }), Ra = `
|
|
1203
1633
|
You answer follow-up questions about an ArcGIS item.
|
|
1204
1634
|
|
|
1205
1635
|
Ground your answer in the provided item context.
|
|
@@ -1219,14 +1649,14 @@ Item full context
|
|
|
1219
1649
|
|
|
1220
1650
|
Question:
|
|
1221
1651
|
{question}
|
|
1222
|
-
`,
|
|
1223
|
-
await p({ text: "Answering follow-up...", agentName: "analytics" },
|
|
1224
|
-
const a =
|
|
1652
|
+
`, Da = async (t, e) => {
|
|
1653
|
+
await p({ text: "Answering follow-up...", agentName: "analytics" }, e);
|
|
1654
|
+
const a = Z(t), n = t.analyticsItemId ?? a.latestItemId, o = n ? a.memory[n] : void 0, r = t.analyticsQuestion || v(t.agentExecutionContext.messages);
|
|
1225
1655
|
return o ? {
|
|
1226
1656
|
status: "success",
|
|
1227
|
-
outputMessage: (await
|
|
1228
|
-
promptText:
|
|
1229
|
-
schema:
|
|
1657
|
+
outputMessage: (await b({
|
|
1658
|
+
promptText: Ra,
|
|
1659
|
+
schema: za,
|
|
1230
1660
|
modelTier: "default",
|
|
1231
1661
|
inputVariables: {
|
|
1232
1662
|
summary: o.summary,
|
|
@@ -1238,7 +1668,7 @@ Question:
|
|
|
1238
1668
|
status: "success",
|
|
1239
1669
|
outputMessage: "I don't have enough information yet. Please ask me to summarize the item first using summarize item <item id>."
|
|
1240
1670
|
};
|
|
1241
|
-
},
|
|
1671
|
+
}, $a = `
|
|
1242
1672
|
Classify the user analytics request.
|
|
1243
1673
|
|
|
1244
1674
|
Rules:
|
|
@@ -1268,27 +1698,27 @@ hasSummaryContext:
|
|
|
1268
1698
|
|
|
1269
1699
|
User message:
|
|
1270
1700
|
{userMessage}
|
|
1271
|
-
`,
|
|
1272
|
-
await p({ text: "Analyzing intent...", agentName: "analytics" },
|
|
1273
|
-
const a =
|
|
1701
|
+
`, Ua = async (t, e) => {
|
|
1702
|
+
await p({ text: "Analyzing intent...", agentName: "analytics" }, e);
|
|
1703
|
+
const a = v(t.agentExecutionContext.messages), n = !!Z(t).latestItemId, o = await X.fromTemplate($a).format({
|
|
1274
1704
|
userMessage: a,
|
|
1275
1705
|
hasSummaryContext: String(n)
|
|
1276
|
-
}),
|
|
1277
|
-
let
|
|
1278
|
-
if (
|
|
1279
|
-
const y =
|
|
1280
|
-
y && (
|
|
1706
|
+
}), s = (await H({ modelTier: "fast" })).withStructuredOutput(pe), c = pe.parse(await s.invoke(o));
|
|
1707
|
+
let l = c.itemId;
|
|
1708
|
+
if (c.intent === "summarize" && !l) {
|
|
1709
|
+
const y = N(a, "#");
|
|
1710
|
+
y && (l = await ke.invoke({ itemTitle: y }, e) ?? "");
|
|
1281
1711
|
}
|
|
1282
|
-
const { intent: d, question:
|
|
1712
|
+
const { intent: d, question: u } = c, f = d === "clarify" || d === "summarize" && !l || d === "followUp" && !u;
|
|
1283
1713
|
return {
|
|
1284
|
-
agentExecutionContext: { ...
|
|
1714
|
+
agentExecutionContext: { ...t.agentExecutionContext },
|
|
1285
1715
|
analyticsIntent: f ? "clarify" : d,
|
|
1286
|
-
analyticsItemId:
|
|
1287
|
-
analyticsQuestion:
|
|
1716
|
+
analyticsItemId: l || null,
|
|
1717
|
+
analyticsQuestion: u || "",
|
|
1288
1718
|
status: "success",
|
|
1289
1719
|
outputMessage: f ? 'Please clarify with summarize item <item id>, summarize item #<title>, or summarize item #"<title with spaces>".' : ""
|
|
1290
1720
|
};
|
|
1291
|
-
},
|
|
1721
|
+
}, Fa = `
|
|
1292
1722
|
You are a item summary tool for ArcGIS. Your job is to summarize an item's info based on the provided context.
|
|
1293
1723
|
Summary rules:
|
|
1294
1724
|
- The summary should be concise markdown, make sure to format the output nicely so it's easy to read.
|
|
@@ -1303,74 +1733,74 @@ Do not include internal identifiers.
|
|
|
1303
1733
|
If the user asks for a detailed summary, you may expand the response up to 300 words.
|
|
1304
1734
|
Item context:
|
|
1305
1735
|
{context}
|
|
1306
|
-
`,
|
|
1307
|
-
const a =
|
|
1736
|
+
`, Oa = async (t, e) => {
|
|
1737
|
+
const a = t.analyticsItemId;
|
|
1308
1738
|
if (!a)
|
|
1309
1739
|
return {
|
|
1310
1740
|
status: "success",
|
|
1311
1741
|
outputMessage: 'Please clarify with summarize item <item id>, summarize item #<title>, or summarize item #"<title with spaces>".'
|
|
1312
1742
|
};
|
|
1313
|
-
await p({ text: `Summarizing item ${a}...`, agentName: "analytics" },
|
|
1314
|
-
const n =
|
|
1743
|
+
await p({ text: `Summarizing item ${a}...`, agentName: "analytics" }, e);
|
|
1744
|
+
const n = e?.configurable?.context;
|
|
1315
1745
|
x(n);
|
|
1316
|
-
const { portal: o, user: r } = n, { result:
|
|
1317
|
-
if (
|
|
1318
|
-
return await p({ text: "Failed to get item context for summarization", agentName: "analytics" },
|
|
1746
|
+
const { portal: o, user: r } = n, { result: s, error: c } = await tt(r, o, a);
|
|
1747
|
+
if (c || !s)
|
|
1748
|
+
return await p({ text: "Failed to get item context for summarization", agentName: "analytics" }, e), {
|
|
1319
1749
|
status: "success",
|
|
1320
1750
|
outputMessage: "Unable to retrieve item context for summarization."
|
|
1321
1751
|
};
|
|
1322
|
-
const { context:
|
|
1323
|
-
promptText:
|
|
1324
|
-
schema:
|
|
1752
|
+
const { context: l } = s, d = await b({
|
|
1753
|
+
promptText: Fa,
|
|
1754
|
+
schema: Ea,
|
|
1325
1755
|
modelTier: "default",
|
|
1326
|
-
inputVariables: { context: JSON.stringify(
|
|
1327
|
-
}), { followUpQuestions:
|
|
1756
|
+
inputVariables: { context: JSON.stringify(l) }
|
|
1757
|
+
}), { followUpQuestions: u, summary: m } = d, g = Z(t), f = {
|
|
1328
1758
|
latestItemId: a,
|
|
1329
1759
|
memory: {
|
|
1330
1760
|
...g.memory,
|
|
1331
|
-
[a]: { summary: m, followUpQuestions:
|
|
1761
|
+
[a]: { summary: m, followUpQuestions: u, fullContext: l }
|
|
1332
1762
|
}
|
|
1333
1763
|
};
|
|
1334
|
-
return
|
|
1764
|
+
return u.length && await Y({ type: "suggested-prompts", data: { prompts: u } }, e), {
|
|
1335
1765
|
status: "success",
|
|
1336
1766
|
outputMessage: m,
|
|
1337
1767
|
sharedStatePatch: { portalItemAnalyticsSummaryMemory: { value: f } }
|
|
1338
1768
|
};
|
|
1339
|
-
},
|
|
1340
|
-
...
|
|
1769
|
+
}, K = (t, e) => e ?? t, Ue = h.Root({
|
|
1770
|
+
...q(),
|
|
1341
1771
|
// States shared only across nodes in the graph, not between invocations
|
|
1342
1772
|
analyticsIntent: h({
|
|
1343
|
-
reducer:
|
|
1773
|
+
reducer: K,
|
|
1344
1774
|
default: () => "clarify"
|
|
1345
1775
|
}),
|
|
1346
1776
|
analyticsItemId: h({
|
|
1347
|
-
reducer:
|
|
1777
|
+
reducer: K,
|
|
1348
1778
|
default: () => null
|
|
1349
1779
|
}),
|
|
1350
1780
|
analyticsQuestion: h({
|
|
1351
|
-
reducer:
|
|
1781
|
+
reducer: K,
|
|
1352
1782
|
default: () => ""
|
|
1353
1783
|
})
|
|
1354
|
-
}),
|
|
1784
|
+
}), La = () => new P(Ue).addNode("detectAnalyticsIntent", Ua).addNode("summarizePortalItem", Oa).addNode("answerAnalyticsFollowUp", Da).addEdge(G, "detectAnalyticsIntent").addConditionalEdges("detectAnalyticsIntent", (e) => e.analyticsIntent === "summarize" ? "summarizePortalItem" : e.analyticsIntent === "followUp" ? "answerAnalyticsFollowUp" : w).addEdge("summarizePortalItem", w).addEdge("answerAnalyticsFollowUp", w), ja = String.raw`- **portal-item-analytics** - Portal item analytics assistant:
|
|
1355
1785
|
- answers questions about one specific ArcGIS portal item when item context is present
|
|
1356
1786
|
- summarizes item details, metadata, and context grounded in that item
|
|
1357
1787
|
- suggests follow-up prompts grounded in the same item
|
|
1358
1788
|
- use for item-specific requests, not for gallery browsing, featured content, or opening Map Viewer
|
|
1359
|
-
`,
|
|
1789
|
+
`, Ka = {
|
|
1360
1790
|
id: "portal-item-analytics",
|
|
1361
1791
|
name: "Portal Item Analytics",
|
|
1362
|
-
description:
|
|
1363
|
-
createGraph:
|
|
1364
|
-
workspace:
|
|
1365
|
-
},
|
|
1366
|
-
function
|
|
1367
|
-
return
|
|
1368
|
-
}
|
|
1369
|
-
const
|
|
1370
|
-
capabilityIds:
|
|
1371
|
-
confidence:
|
|
1372
|
-
reason:
|
|
1373
|
-
}),
|
|
1792
|
+
description: ja,
|
|
1793
|
+
createGraph: La,
|
|
1794
|
+
workspace: Ue
|
|
1795
|
+
}, Va = /^(?:take me to|navigate to|go to|show me|open)\s+(?:the\s+)?/u;
|
|
1796
|
+
function U(t) {
|
|
1797
|
+
return t.toLowerCase().replace(/[^a-z0-9]+/gu, " ").trim().replace(Va, "").trim();
|
|
1798
|
+
}
|
|
1799
|
+
const Ba = i.object({
|
|
1800
|
+
capabilityIds: i.array(i.string()).default([]),
|
|
1801
|
+
confidence: i.number().min(0).max(1).default(0),
|
|
1802
|
+
reason: i.string().default("")
|
|
1803
|
+
}), me = 0.8, Qa = String.raw`You select Portal navigation capabilities for a user's request.
|
|
1374
1804
|
|
|
1375
1805
|
Select only capability IDs from the supplied candidates. Return an empty array when none fit.
|
|
1376
1806
|
A named surface is required: do not select a capability on another Portal surface.
|
|
@@ -1380,58 +1810,62 @@ User request:
|
|
|
1380
1810
|
{userRequest}
|
|
1381
1811
|
|
|
1382
1812
|
Candidates:
|
|
1383
|
-
{candidates}`,
|
|
1384
|
-
if (
|
|
1813
|
+
{candidates}`, Wa = async (t, e) => {
|
|
1814
|
+
if (t.outputMessage || t.targets.length === 0)
|
|
1385
1815
|
return {};
|
|
1386
|
-
const a =
|
|
1816
|
+
const a = v(t.agentExecutionContext.messages).trim(), n = Ja(a, t);
|
|
1387
1817
|
if (n.length === 1)
|
|
1388
1818
|
return await p(
|
|
1389
1819
|
{ text: `Selected navigation capability by exact match: ${n[0]}`, agentName: "navigation" },
|
|
1390
|
-
|
|
1820
|
+
e
|
|
1391
1821
|
), console.info("[arcgis-portal-ai-assistant] navigation capability selection:", {
|
|
1392
1822
|
method: "exact-match",
|
|
1393
1823
|
request: a,
|
|
1394
1824
|
selectedCapabilityIds: n
|
|
1395
1825
|
}), { chosenCapabilityIds: n };
|
|
1396
|
-
await p({ text: "Choosing a navigation destination...", agentName: "navigation" },
|
|
1826
|
+
await p({ text: "Choosing a navigation destination...", agentName: "navigation" }, e);
|
|
1397
1827
|
const o = JSON.stringify(
|
|
1398
|
-
|
|
1828
|
+
t.targets.map(({ capability: r, keywordScore: s, semanticScore: c }) => ({
|
|
1399
1829
|
id: r.id,
|
|
1400
1830
|
title: r.title,
|
|
1401
1831
|
description: r.description,
|
|
1402
1832
|
route: r.resolutions.navigate,
|
|
1403
|
-
keywordScore:
|
|
1404
|
-
semanticScore:
|
|
1833
|
+
keywordScore: s,
|
|
1834
|
+
semanticScore: c
|
|
1405
1835
|
}))
|
|
1406
1836
|
);
|
|
1407
1837
|
try {
|
|
1408
|
-
const r = await
|
|
1409
|
-
promptText:
|
|
1410
|
-
schema:
|
|
1838
|
+
const r = await b({
|
|
1839
|
+
promptText: Qa,
|
|
1840
|
+
schema: Ba,
|
|
1411
1841
|
modelTier: "fast",
|
|
1412
1842
|
inputVariables: { candidates: o, userRequest: a }
|
|
1413
|
-
}),
|
|
1843
|
+
}), s = new Set(t.targets.map(({ capability: l }) => l.id)), c = r.capabilityIds.filter((l) => s.has(l));
|
|
1414
1844
|
return await p(
|
|
1415
1845
|
{
|
|
1416
|
-
text: `Navigation selection: ${
|
|
1846
|
+
text: `Navigation selection: ${c.join(", ") || "none"} (confidence: ${r.confidence.toFixed(2)}, reason: ${r.reason})`,
|
|
1417
1847
|
agentName: "navigation"
|
|
1418
1848
|
},
|
|
1419
|
-
|
|
1849
|
+
e
|
|
1420
1850
|
), console.info("[arcgis-portal-ai-assistant] navigation capability selection:", {
|
|
1421
1851
|
confidence: r.confidence,
|
|
1422
1852
|
method: "structured-model",
|
|
1423
1853
|
reason: r.reason,
|
|
1424
1854
|
request: a,
|
|
1425
|
-
selectedCapabilityIds:
|
|
1426
|
-
}),
|
|
1855
|
+
selectedCapabilityIds: c
|
|
1856
|
+
}), c.length === 0 ? {
|
|
1857
|
+
chosenCapabilityIds: [],
|
|
1858
|
+
status: "failed",
|
|
1859
|
+
summary: "Navigation selection found no matching capability; defer to the Portal Doc Assistant."
|
|
1860
|
+
} : r.confidence < me ? {
|
|
1427
1861
|
chosenCapabilityIds: [],
|
|
1428
1862
|
status: "failed",
|
|
1429
|
-
summary: `Navigation selection confidence ${r.confidence} is below the required ${
|
|
1430
|
-
} : { chosenCapabilityIds:
|
|
1863
|
+
summary: `Navigation selection confidence ${r.confidence} is below the required ${me}; defer to the Portal Doc Assistant.`
|
|
1864
|
+
} : { chosenCapabilityIds: c };
|
|
1431
1865
|
} catch {
|
|
1432
1866
|
return await p(
|
|
1433
1867
|
{ text: "Navigation selection model unavailable; using retrieval order.", agentName: "navigation" },
|
|
1434
|
-
|
|
1868
|
+
e
|
|
1435
1869
|
), console.info("[arcgis-portal-ai-assistant] navigation capability selection:", {
|
|
1436
1870
|
method: "structured-model-unavailable",
|
|
1437
1871
|
request: a,
|
|
@@ -1439,19 +1873,19 @@ Candidates:
|
|
|
1439
1873
|
}), { chosenCapabilityIds: [] };
|
|
1440
1874
|
}
|
|
1441
1875
|
};
|
|
1442
|
-
function
|
|
1443
|
-
const a =
|
|
1444
|
-
return
|
|
1876
|
+
function Ja(t, e) {
|
|
1877
|
+
const a = U(t);
|
|
1878
|
+
return e.targets.filter(
|
|
1445
1879
|
({ capability: n }) => [n.title, ...n.hints].some(
|
|
1446
|
-
(o) =>
|
|
1880
|
+
(o) => U(o) === a
|
|
1447
1881
|
)
|
|
1448
1882
|
).map(({ capability: n }) => n.id);
|
|
1449
1883
|
}
|
|
1450
|
-
const
|
|
1451
|
-
period:
|
|
1452
|
-
startTime:
|
|
1453
|
-
endTime:
|
|
1454
|
-
}),
|
|
1884
|
+
const Fe = /* @__PURE__ */ new Set(["1d", "7d", "14d", "30d", "3m", "6m"]), _a = i.object({
|
|
1885
|
+
period: i.string(),
|
|
1886
|
+
startTime: i.string(),
|
|
1887
|
+
endTime: i.string()
|
|
1888
|
+
}), Ya = String.raw`Extract temporal filters for an ArcGIS storage-credits query.
|
|
1455
1889
|
|
|
1456
1890
|
Return JSON only with these optional string fields:
|
|
1457
1891
|
- period
|
|
@@ -1477,39 +1911,39 @@ Now UTC:
|
|
|
1477
1911
|
|
|
1478
1912
|
User request:
|
|
1479
1913
|
{userRequest}`;
|
|
1480
|
-
async function
|
|
1481
|
-
const a =
|
|
1914
|
+
async function Ha(t, e = /* @__PURE__ */ new Date()) {
|
|
1915
|
+
const a = t.trim();
|
|
1482
1916
|
if (!a)
|
|
1483
1917
|
return {};
|
|
1484
1918
|
try {
|
|
1485
|
-
const n = await
|
|
1486
|
-
promptText:
|
|
1487
|
-
schema:
|
|
1919
|
+
const n = await b({
|
|
1920
|
+
promptText: Ya,
|
|
1921
|
+
schema: _a,
|
|
1488
1922
|
modelTier: "fast",
|
|
1489
1923
|
inputVariables: {
|
|
1490
|
-
nowEpochMs: String(
|
|
1491
|
-
nowIso:
|
|
1924
|
+
nowEpochMs: String(e.getTime()),
|
|
1925
|
+
nowIso: e.toISOString(),
|
|
1492
1926
|
userRequest: a
|
|
1493
1927
|
}
|
|
1494
1928
|
});
|
|
1495
|
-
return
|
|
1929
|
+
return Xa(n, e);
|
|
1496
1930
|
} catch (n) {
|
|
1497
1931
|
return console.error(n), {};
|
|
1498
1932
|
}
|
|
1499
1933
|
}
|
|
1500
|
-
function
|
|
1501
|
-
const a =
|
|
1934
|
+
function Xa(t, e = /* @__PURE__ */ new Date()) {
|
|
1935
|
+
const a = ge(t.startTime), n = ge(t.endTime), o = Za(t.period);
|
|
1502
1936
|
if (o) {
|
|
1503
1937
|
if (a !== void 0 && n !== void 0 && a < n)
|
|
1504
1938
|
return { period: o, startTime: String(a), endTime: String(n) };
|
|
1505
|
-
const r =
|
|
1506
|
-
if (!r || n !== void 0 && !
|
|
1507
|
-
const
|
|
1508
|
-
if (
|
|
1939
|
+
const r = Fe.has(o);
|
|
1940
|
+
if (!r || n !== void 0 && !tn(n, e.getTime())) {
|
|
1941
|
+
const c = n ?? e.getTime(), l = en(o, new Date(c));
|
|
1942
|
+
if (l !== void 0)
|
|
1509
1943
|
return {
|
|
1510
1944
|
period: o,
|
|
1511
|
-
startTime: String(
|
|
1512
|
-
endTime: String(
|
|
1945
|
+
startTime: String(l),
|
|
1946
|
+
endTime: String(c)
|
|
1513
1947
|
};
|
|
1514
1948
|
}
|
|
1515
1949
|
return r ? {
|
|
@@ -1518,25 +1952,25 @@ function Ya(e, t = /* @__PURE__ */ new Date()) {
|
|
|
1518
1952
|
...n !== void 0 ? { endTime: String(n) } : {}
|
|
1519
1953
|
} : { period: o };
|
|
1520
1954
|
}
|
|
1521
|
-
return a !== void 0 && n !== void 0 && a < n ? { startTime: String(a), endTime: String(n) } : a !== void 0 ? { startTime: String(a), endTime: String(
|
|
1955
|
+
return a !== void 0 && n !== void 0 && a < n ? { startTime: String(a), endTime: String(n) } : a !== void 0 ? { startTime: String(a), endTime: String(e.getTime()) } : {};
|
|
1522
1956
|
}
|
|
1523
|
-
function
|
|
1524
|
-
const
|
|
1525
|
-
if (!
|
|
1957
|
+
function Za(t) {
|
|
1958
|
+
const e = t?.trim().match(/^(\d+)\s*([dwm])$/iu);
|
|
1959
|
+
if (!e)
|
|
1526
1960
|
return;
|
|
1527
|
-
const a = Number.parseInt(
|
|
1961
|
+
const a = Number.parseInt(e[1], 10);
|
|
1528
1962
|
if (!Number.isFinite(a) || a <= 0)
|
|
1529
1963
|
return;
|
|
1530
|
-
const n =
|
|
1964
|
+
const n = e[2].toLowerCase();
|
|
1531
1965
|
if (n === "w") {
|
|
1532
1966
|
const o = a * 7;
|
|
1533
|
-
if (
|
|
1967
|
+
if (Fe.has(`${o}d`))
|
|
1534
1968
|
return `${o}d`;
|
|
1535
1969
|
}
|
|
1536
1970
|
return `${a}${n}`;
|
|
1537
1971
|
}
|
|
1538
|
-
function
|
|
1539
|
-
const a =
|
|
1972
|
+
function en(t, e) {
|
|
1973
|
+
const a = t.match(/^(\d+)([dwm])$/u);
|
|
1540
1974
|
if (!a)
|
|
1541
1975
|
return;
|
|
1542
1976
|
const n = Number.parseInt(a[1], 10);
|
|
@@ -1544,251 +1978,91 @@ function Xa(e, t) {
|
|
|
1544
1978
|
return;
|
|
1545
1979
|
const o = a[2];
|
|
1546
1980
|
if (o === "d")
|
|
1547
|
-
return
|
|
1981
|
+
return e.getTime() - n * 24 * 60 * 60 * 1e3;
|
|
1548
1982
|
if (o === "w")
|
|
1549
|
-
return
|
|
1550
|
-
const r = new Date(
|
|
1983
|
+
return e.getTime() - n * 7 * 24 * 60 * 60 * 1e3;
|
|
1984
|
+
const r = new Date(e.getTime());
|
|
1551
1985
|
return r.setUTCMonth(r.getUTCMonth() - n), r.getTime();
|
|
1552
1986
|
}
|
|
1553
|
-
function
|
|
1554
|
-
if (!
|
|
1987
|
+
function ge(t) {
|
|
1988
|
+
if (!t)
|
|
1555
1989
|
return;
|
|
1556
|
-
const
|
|
1557
|
-
if (!(!Number.isFinite(
|
|
1558
|
-
return
|
|
1990
|
+
const e = Number.parseInt(t, 10);
|
|
1991
|
+
if (!(!Number.isFinite(e) || e <= 0))
|
|
1992
|
+
return e;
|
|
1559
1993
|
}
|
|
1560
|
-
function
|
|
1561
|
-
const a = new Date(
|
|
1994
|
+
function tn(t, e) {
|
|
1995
|
+
const a = new Date(t), n = new Date(e);
|
|
1562
1996
|
return a.getUTCFullYear() === n.getUTCFullYear() && a.getUTCMonth() === n.getUTCMonth() && a.getUTCDate() === n.getUTCDate();
|
|
1563
1997
|
}
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
capabilities: [
|
|
1567
|
-
{
|
|
1568
|
-
id: "my-content",
|
|
1569
|
-
title: "My content",
|
|
1570
|
-
description: "Browse, discover, search, and filter ArcGIS content—including maps, apps, datasets, and other items—that you own or can access.",
|
|
1571
|
-
hints: ["view my content", "show my content", "my content"],
|
|
1572
|
-
platforms: ["online", "enterprise"],
|
|
1573
|
-
resolutions: {
|
|
1574
|
-
navigate: {
|
|
1575
|
-
routeKey: "content"
|
|
1576
|
-
}
|
|
1577
|
-
}
|
|
1578
|
-
},
|
|
1579
|
-
{
|
|
1580
|
-
id: "create-feature-layer",
|
|
1581
|
-
title: "Create feature layer",
|
|
1582
|
-
description: "Generate an editable feature layer by copying fields from templates or existing layers.",
|
|
1583
|
-
hints: ["add a feature layer", "make a feature layer", "generate a feature layer"],
|
|
1584
|
-
platforms: ["online", "enterprise"],
|
|
1585
|
-
resolutions: {
|
|
1586
|
-
navigate: {
|
|
1587
|
-
routeKey: "content"
|
|
1588
|
-
}
|
|
1589
|
-
}
|
|
1590
|
-
},
|
|
1591
|
-
{
|
|
1592
|
-
id: "create-folder",
|
|
1593
|
-
title: "Create folder",
|
|
1594
|
-
description: "Create a new folder in your ArcGIS content to organize your items.",
|
|
1595
|
-
hints: ["create a folder", "make a folder", "set up a folder", "new folder"],
|
|
1596
|
-
platforms: ["online", "enterprise"],
|
|
1597
|
-
resolutions: {
|
|
1598
|
-
navigate: {
|
|
1599
|
-
routeKey: "content"
|
|
1600
|
-
}
|
|
1601
|
-
}
|
|
1602
|
-
}
|
|
1603
|
-
]
|
|
1604
|
-
}, tn = {
|
|
1605
|
-
schemaVersion: "1.0",
|
|
1606
|
-
capabilities: [
|
|
1607
|
-
{
|
|
1608
|
-
id: "my groups",
|
|
1609
|
-
title: "My groups",
|
|
1610
|
-
description: "Browse, discover, search, and filter ArcGIS content collections—including maps, apps, datasets, and other items—that you own, belong to, or can access.",
|
|
1611
|
-
hints: ["view my groups", "show my groups", "my groups"],
|
|
1612
|
-
platforms: ["online", "enterprise"],
|
|
1613
|
-
resolutions: {
|
|
1614
|
-
navigate: {
|
|
1615
|
-
routeKey: "groups"
|
|
1616
|
-
}
|
|
1617
|
-
}
|
|
1618
|
-
},
|
|
1619
|
-
{
|
|
1620
|
-
id: "create-group",
|
|
1621
|
-
title: "Create group",
|
|
1622
|
-
description: "Create a new ArcGIS Portal group owned by the signed-in user.",
|
|
1623
|
-
hints: ["create a group", "make a group", "set up a group", "new group"],
|
|
1624
|
-
platforms: ["online", "enterprise"],
|
|
1625
|
-
resolutions: {
|
|
1626
|
-
navigate: {
|
|
1627
|
-
routeKey: "groups"
|
|
1628
|
-
}
|
|
1629
|
-
}
|
|
1630
|
-
},
|
|
1631
|
-
{
|
|
1632
|
-
id: "featured-groups",
|
|
1633
|
-
title: "Featured groups",
|
|
1634
|
-
description: "Browse, discover, search, and filter ArcGIS content collections—including maps, apps, datasets, and other items—that organization administrators choose to highlight in ArcGIS.",
|
|
1635
|
-
hints: ["view featured groups", "show featured groups", "highlighted groups", "top groups"],
|
|
1636
|
-
platforms: ["online", "enterprise"],
|
|
1637
|
-
resolutions: {
|
|
1638
|
-
navigate: {
|
|
1639
|
-
routeKey: "groups",
|
|
1640
|
-
hash: "featured"
|
|
1641
|
-
}
|
|
1642
|
-
}
|
|
1643
|
-
},
|
|
1644
|
-
{
|
|
1645
|
-
id: "organization-groups",
|
|
1646
|
-
title: "Organization groups",
|
|
1647
|
-
description: "Browse, discover, search, and filter ArcGIS content collections—including maps, apps, datasets, and other items—that are specific to your organization in ArcGIS.",
|
|
1648
|
-
hints: ["view organization groups", "show organization groups"],
|
|
1649
|
-
platforms: ["online", "enterprise"],
|
|
1650
|
-
resolutions: {
|
|
1651
|
-
navigate: {
|
|
1652
|
-
routeKey: "groups",
|
|
1653
|
-
hash: "organization"
|
|
1654
|
-
}
|
|
1655
|
-
}
|
|
1656
|
-
}
|
|
1657
|
-
]
|
|
1658
|
-
}, an = {
|
|
1659
|
-
schemaVersion: "1.0",
|
|
1660
|
-
capabilities: [
|
|
1661
|
-
{
|
|
1662
|
-
id: "org-config-mfa",
|
|
1663
|
-
title: "Multifactor Authentication (MFA)",
|
|
1664
|
-
description: "Configure organization-level multifactor authentication (MFA) settings. Administrators can enable MFA for ArcGIS logins, allow recovery codes for members, view MFA adoption status, enforce MFA requirements for all members, manage the MFA exemption list, and designate administrators who can troubleshoot MFA issues.",
|
|
1665
|
-
hints: ["config MFA", "set up MFA"],
|
|
1666
|
-
platforms: ["online", "enterprise"],
|
|
1667
|
-
resolutions: {
|
|
1668
|
-
navigate: {
|
|
1669
|
-
routeKey: "organization",
|
|
1670
|
-
queryParams: {
|
|
1671
|
-
tab: "security"
|
|
1672
|
-
},
|
|
1673
|
-
hash: "settings"
|
|
1674
|
-
}
|
|
1675
|
-
}
|
|
1676
|
-
}
|
|
1677
|
-
]
|
|
1678
|
-
}, nn = {
|
|
1679
|
-
"contentRouteRegistry.ts": en,
|
|
1680
|
-
"groupsRouteRegistry.ts": tn,
|
|
1681
|
-
"orgSettingsRouteRegistry.ts": an
|
|
1682
|
-
};
|
|
1683
|
-
function me(e) {
|
|
1684
|
-
const t = [], a = /* @__PURE__ */ new Set();
|
|
1685
|
-
for (const [n, o] of Object.entries(e))
|
|
1686
|
-
for (const r of o.capabilities) {
|
|
1687
|
-
if (a.has(r.id))
|
|
1688
|
-
throw new Error(`${n}: duplicate capability id "${r.id}" across registries`);
|
|
1689
|
-
a.add(r.id), t.push(r);
|
|
1690
|
-
}
|
|
1691
|
-
return t;
|
|
1692
|
-
}
|
|
1693
|
-
let z;
|
|
1694
|
-
function T(e) {
|
|
1695
|
-
return e ? z = me({ customCapabilities: e }) : z || (z = me(nn)), z;
|
|
1696
|
-
}
|
|
1697
|
-
async function on(e, t, a, n) {
|
|
1698
|
-
const o = T().find((i) => i.id === e);
|
|
1998
|
+
async function an(t, e, a, n) {
|
|
1999
|
+
const o = S().find((c) => c.id === t);
|
|
1699
2000
|
if (!o)
|
|
1700
2001
|
return;
|
|
1701
|
-
const r =
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1709
|
-
|
|
1710
|
-
|
|
1711
|
-
|
|
1712
|
-
|
|
1713
|
-
|
|
1714
|
-
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1718
|
-
|
|
1719
|
-
|
|
1720
|
-
|
|
1721
|
-
|
|
1722
|
-
|
|
1723
|
-
|
|
1724
|
-
|
|
1725
|
-
return { destinationType: "portal-groups" };
|
|
1726
|
-
}
|
|
1727
|
-
case "group": {
|
|
1728
|
-
const n = t?.trim();
|
|
1729
|
-
return n ? {
|
|
1730
|
-
destinationType: "portal-group",
|
|
1731
|
-
groupId: n,
|
|
1732
|
-
hash: a.hash,
|
|
1733
|
-
queryParams: a.queryParams,
|
|
1734
|
-
buttonLabel: e.buttonLabel
|
|
1735
|
-
} : void 0;
|
|
1736
|
-
}
|
|
1737
|
-
case "organization":
|
|
1738
|
-
return {
|
|
1739
|
-
destinationType: "portal-org",
|
|
1740
|
-
hash: a.hash,
|
|
1741
|
-
queryParams: a.queryParams,
|
|
1742
|
-
buttonLabel: e.buttonLabel
|
|
1743
|
-
};
|
|
1744
|
-
default:
|
|
1745
|
-
return;
|
|
1746
|
-
}
|
|
1747
|
-
}
|
|
1748
|
-
async function sn(e, t) {
|
|
1749
|
-
if (!e || !t || !cn(e))
|
|
1750
|
-
return e;
|
|
1751
|
-
const a = await _a(t);
|
|
2002
|
+
const r = o.resolutions.navigate, s = await on(
|
|
2003
|
+
r.routeKey === "group" ? nn(o.buttonLabel, r, n) : A({
|
|
2004
|
+
navigate: r,
|
|
2005
|
+
buttonLabel: o.buttonLabel,
|
|
2006
|
+
capabilityId: o.id
|
|
2007
|
+
}),
|
|
2008
|
+
a
|
|
2009
|
+
);
|
|
2010
|
+
return s && sn(s, e) ? { capability: o, target: s } : void 0;
|
|
2011
|
+
}
|
|
2012
|
+
function nn(t, e, a) {
|
|
2013
|
+
const n = a?.trim();
|
|
2014
|
+
return n ? {
|
|
2015
|
+
destinationType: "portal-group",
|
|
2016
|
+
groupId: n,
|
|
2017
|
+
...e.hash ? { hash: e.hash } : {},
|
|
2018
|
+
...e.queryParams ? { queryParams: e.queryParams } : {},
|
|
2019
|
+
...t ? { buttonLabel: t } : {}
|
|
2020
|
+
} : void 0;
|
|
2021
|
+
}
|
|
2022
|
+
async function on(t, e) {
|
|
2023
|
+
if (!t || !e || !rn(t))
|
|
2024
|
+
return t;
|
|
2025
|
+
const a = await Ha(e);
|
|
1752
2026
|
if (!a.period && !a.startTime && !a.endTime)
|
|
1753
|
-
return
|
|
2027
|
+
return t;
|
|
1754
2028
|
const n = {
|
|
1755
|
-
...
|
|
2029
|
+
...t.queryParams ?? {},
|
|
1756
2030
|
...a.period ? { period: a.period } : {},
|
|
1757
2031
|
...a.startTime ? { startTime: a.startTime } : {},
|
|
1758
2032
|
...a.endTime ? { endTime: a.endTime } : {}
|
|
1759
2033
|
};
|
|
1760
|
-
return { ...
|
|
2034
|
+
return { ...t, queryParams: n };
|
|
1761
2035
|
}
|
|
1762
|
-
function
|
|
1763
|
-
return
|
|
2036
|
+
function rn(t) {
|
|
2037
|
+
return t.destinationType === "portal-org" && t.hash === "status";
|
|
1764
2038
|
}
|
|
1765
|
-
function
|
|
1766
|
-
return !
|
|
2039
|
+
function sn(t, e) {
|
|
2040
|
+
return !e || !!e[t.destinationType];
|
|
1767
2041
|
}
|
|
1768
|
-
function
|
|
1769
|
-
return
|
|
2042
|
+
function he(t) {
|
|
2043
|
+
return t.match(/\b[a-f0-9]{32}\b/iu)?.[0];
|
|
1770
2044
|
}
|
|
1771
|
-
const
|
|
1772
|
-
if (
|
|
2045
|
+
const fe = "navigation", ye = "provideGroupId", cn = async (t, e) => {
|
|
2046
|
+
if (t.outputMessage || t.status === "failed")
|
|
1773
2047
|
return {};
|
|
1774
|
-
const a =
|
|
2048
|
+
const a = t.targets.find(({ capability: s }) => t.chosenCapabilityIds.includes(s.id)) ?? t.targets[0];
|
|
1775
2049
|
if (!a)
|
|
1776
2050
|
return {
|
|
1777
2051
|
outputMessage: "I couldn't find a matching Portal page. Try asking to open your content, groups, or organization settings.",
|
|
1778
|
-
sharedStatePatch: { navLastAnsweredRequest: { value:
|
|
2052
|
+
sharedStatePatch: { navLastAnsweredRequest: { value: we(t) } },
|
|
1779
2053
|
status: "success",
|
|
1780
2054
|
summary: "Navigation could not find a matching capability; route another agent if appropriate."
|
|
1781
2055
|
};
|
|
1782
|
-
const n =
|
|
2056
|
+
const n = we(t), o = ln(a.capability.resolutions.navigate, n, e), r = await an(
|
|
1783
2057
|
a.capability.id,
|
|
1784
2058
|
void 0,
|
|
1785
2059
|
n,
|
|
1786
2060
|
o
|
|
1787
2061
|
);
|
|
1788
|
-
return r ? (await p({ text: "Preparing navigation...", agentName: "navigation" },
|
|
1789
|
-
outputMessage:
|
|
2062
|
+
return r ? (await p({ text: "Preparing navigation...", agentName: "navigation" }, e), await O(r.target, e), {
|
|
2063
|
+
outputMessage: t.chosenCapabilityIds.length ? a.capability.description : `The closest place to start is ${a.capability.title}. Click the button below to open it.`,
|
|
1790
2064
|
status: "success",
|
|
1791
|
-
summary: `Navigation suggested ${a.capability.id}${
|
|
2065
|
+
summary: `Navigation suggested ${a.capability.id}${t.retrievalDegraded ? " using keyword-only retrieval" : ""}.`,
|
|
1792
2066
|
sharedStatePatch: { navLastAnsweredRequest: { value: n } }
|
|
1793
2067
|
}) : (console.warn(`Navigation capability ${a.capability.id} was not found in the resolver.`), {
|
|
1794
2068
|
outputMessage: "I found a possible destination, but couldn't resolve a valid Portal navigation target. Try asking to open your content, groups, or organization settings.",
|
|
@@ -1797,117 +2071,117 @@ const he = "navigation", fe = "provideGroupId", ln = async (e, t) => {
|
|
|
1797
2071
|
sharedStatePatch: { navLastAnsweredRequest: { value: n } }
|
|
1798
2072
|
});
|
|
1799
2073
|
};
|
|
1800
|
-
function
|
|
1801
|
-
return
|
|
2074
|
+
function we(t) {
|
|
2075
|
+
return v(t.agentExecutionContext.messages) || t.agentExecutionContext.userRequest;
|
|
1802
2076
|
}
|
|
1803
|
-
function
|
|
1804
|
-
if (
|
|
2077
|
+
function ln(t, e, a) {
|
|
2078
|
+
if (t.routeKey !== "group")
|
|
1805
2079
|
return;
|
|
1806
|
-
const n =
|
|
2080
|
+
const n = he(e);
|
|
1807
2081
|
if (n)
|
|
1808
2082
|
return n;
|
|
1809
|
-
const o =
|
|
1810
|
-
if (o?.agentId ===
|
|
1811
|
-
const
|
|
1812
|
-
if (
|
|
1813
|
-
return
|
|
2083
|
+
const o = un(a);
|
|
2084
|
+
if (o?.agentId === fe && o.id === ye) {
|
|
2085
|
+
const s = typeof o.payload == "string" ? he(o.payload) : void 0;
|
|
2086
|
+
if (s)
|
|
2087
|
+
return s;
|
|
1814
2088
|
}
|
|
1815
2089
|
const r = {
|
|
1816
|
-
agentId:
|
|
1817
|
-
id:
|
|
2090
|
+
agentId: fe,
|
|
2091
|
+
id: ye,
|
|
1818
2092
|
kind: "textInput",
|
|
1819
2093
|
message: "Enter the group ID to open."
|
|
1820
2094
|
};
|
|
1821
|
-
throw new
|
|
2095
|
+
throw new _(r);
|
|
1822
2096
|
}
|
|
1823
|
-
function
|
|
1824
|
-
const
|
|
1825
|
-
if (!
|
|
2097
|
+
function un(t) {
|
|
2098
|
+
const e = t?.configurable;
|
|
2099
|
+
if (!e || typeof e != "object" || !("hitlResponse" in e))
|
|
1826
2100
|
return;
|
|
1827
|
-
const a =
|
|
2101
|
+
const a = e.hitlResponse;
|
|
1828
2102
|
if (!a || typeof a != "object" || !("agentId" in a) || !("id" in a) || !("payload" in a))
|
|
1829
2103
|
return;
|
|
1830
2104
|
const { agentId: n, id: o, payload: r } = a;
|
|
1831
2105
|
return typeof n == "string" && typeof o == "string" ? { agentId: n, id: o, payload: r } : void 0;
|
|
1832
2106
|
}
|
|
1833
|
-
async function
|
|
1834
|
-
return
|
|
2107
|
+
async function Oe(t) {
|
|
2108
|
+
return t.length === 0 ? [] : (await ct.getDefault().load(), await st(t));
|
|
1835
2109
|
}
|
|
1836
|
-
const
|
|
2110
|
+
const dn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1837
2111
|
__proto__: null,
|
|
1838
|
-
generateEmbeddings:
|
|
2112
|
+
generateEmbeddings: Oe
|
|
1839
2113
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
1840
|
-
function
|
|
1841
|
-
const
|
|
1842
|
-
a.trim().length > 0 &&
|
|
1843
|
-
const n =
|
|
2114
|
+
function pn(t) {
|
|
2115
|
+
const e = [], a = `${t.title}. ${t.description}`;
|
|
2116
|
+
a.trim().length > 0 && e.push({ field: "summary", text: a });
|
|
2117
|
+
const n = t.hints;
|
|
1844
2118
|
if (Array.isArray(n))
|
|
1845
2119
|
for (const o of n)
|
|
1846
|
-
typeof o == "string" && o.trim().length > 0 &&
|
|
1847
|
-
return
|
|
1848
|
-
}
|
|
1849
|
-
let D,
|
|
1850
|
-
async function
|
|
1851
|
-
const
|
|
1852
|
-
return D ??=
|
|
1853
|
-
throw
|
|
2120
|
+
typeof o == "string" && o.trim().length > 0 && e.push({ field: "hint", text: o });
|
|
2121
|
+
return e;
|
|
2122
|
+
}
|
|
2123
|
+
let D, ee, $ = 0;
|
|
2124
|
+
async function mn(t = {}) {
|
|
2125
|
+
const e = $;
|
|
2126
|
+
return D ??= hn(t.embed ?? fn).then((a) => (e === $ && (ee = a), a)).catch((a) => {
|
|
2127
|
+
throw e === $ && (D = void 0), a;
|
|
1854
2128
|
}), await D;
|
|
1855
2129
|
}
|
|
1856
|
-
function
|
|
1857
|
-
return
|
|
2130
|
+
function gn() {
|
|
2131
|
+
return ee;
|
|
1858
2132
|
}
|
|
1859
|
-
function
|
|
1860
|
-
$ += 1,
|
|
2133
|
+
function be() {
|
|
2134
|
+
$ += 1, ee = void 0, D = void 0;
|
|
1861
2135
|
}
|
|
1862
|
-
async function
|
|
1863
|
-
const
|
|
1864
|
-
if (a.length !==
|
|
1865
|
-
throw new Error(`Expected ${
|
|
1866
|
-
return
|
|
2136
|
+
async function hn(t) {
|
|
2137
|
+
const e = yn(), a = await t(e.map((n) => n.text));
|
|
2138
|
+
if (a.length !== e.length)
|
|
2139
|
+
throw new Error(`Expected ${e.length} vectors, got ${a.length}`);
|
|
2140
|
+
return e.map((n, o) => ({
|
|
1867
2141
|
...n,
|
|
1868
2142
|
vector: a[o]
|
|
1869
2143
|
}));
|
|
1870
2144
|
}
|
|
1871
|
-
async function
|
|
1872
|
-
const { generateEmbeddings:
|
|
1873
|
-
return await t
|
|
2145
|
+
async function fn(t) {
|
|
2146
|
+
const { generateEmbeddings: e } = await Promise.resolve().then(() => dn);
|
|
2147
|
+
return await e(t);
|
|
1874
2148
|
}
|
|
1875
|
-
function
|
|
1876
|
-
return
|
|
1877
|
-
(
|
|
1878
|
-
capabilityId:
|
|
1879
|
-
field:
|
|
2149
|
+
function yn() {
|
|
2150
|
+
return S().flatMap(
|
|
2151
|
+
(t) => pn(t).map(({ field: e, text: a }) => ({
|
|
2152
|
+
capabilityId: t.id,
|
|
2153
|
+
field: e,
|
|
1880
2154
|
text: a
|
|
1881
2155
|
}))
|
|
1882
2156
|
);
|
|
1883
2157
|
}
|
|
1884
|
-
const ve = 1.2,
|
|
2158
|
+
const ve = 1.2, Ie = 0.75, wn = 60, bn = 0.65, V = {
|
|
1885
2159
|
description: 1,
|
|
1886
2160
|
hint: 2,
|
|
1887
2161
|
title: 3
|
|
1888
2162
|
};
|
|
1889
|
-
let
|
|
1890
|
-
function
|
|
1891
|
-
|
|
2163
|
+
let J;
|
|
2164
|
+
function vn() {
|
|
2165
|
+
J = void 0;
|
|
1892
2166
|
}
|
|
1893
|
-
async function
|
|
1894
|
-
const a =
|
|
2167
|
+
async function In(t, e = {}) {
|
|
2168
|
+
const a = Mn(Le(t));
|
|
1895
2169
|
let n = [], o = !1, r;
|
|
1896
|
-
if (
|
|
1897
|
-
const
|
|
1898
|
-
if (!
|
|
2170
|
+
if (t.trim()) {
|
|
2171
|
+
const s = e.loadEmbeddings, c = gn();
|
|
2172
|
+
if (!s && !c)
|
|
1899
2173
|
o = !0, r = "Capability embeddings are still loading.";
|
|
1900
2174
|
else
|
|
1901
2175
|
try {
|
|
1902
|
-
if (
|
|
1903
|
-
const [
|
|
1904
|
-
(
|
|
1905
|
-
|
|
2176
|
+
if (s) {
|
|
2177
|
+
const [l, d] = await Promise.all([
|
|
2178
|
+
(e.embedQuery ?? xe)(t),
|
|
2179
|
+
s()
|
|
1906
2180
|
]);
|
|
1907
|
-
n =
|
|
1908
|
-
} else if (
|
|
1909
|
-
const
|
|
1910
|
-
n =
|
|
2181
|
+
n = Se(l, d);
|
|
2182
|
+
} else if (c) {
|
|
2183
|
+
const l = await (e.embedQuery ?? xe)(t);
|
|
2184
|
+
n = Se(l, c);
|
|
1911
2185
|
}
|
|
1912
2186
|
} catch {
|
|
1913
2187
|
o = !0, r = "Semantic search is unavailable.";
|
|
@@ -1918,20 +2192,20 @@ async function Sn(e, t = {}) {
|
|
|
1918
2192
|
...r ? { degradedReason: r } : {},
|
|
1919
2193
|
// RRF combines ranks rather than raw scores because BM25 and cosine
|
|
1920
2194
|
// similarity are on different scales.
|
|
1921
|
-
matches:
|
|
2195
|
+
matches: An(a, n, e.topN ?? 5)
|
|
1922
2196
|
};
|
|
1923
2197
|
}
|
|
1924
|
-
function
|
|
1925
|
-
return
|
|
2198
|
+
function Sn() {
|
|
2199
|
+
return J ??= xn(S()), J;
|
|
1926
2200
|
}
|
|
1927
|
-
function
|
|
1928
|
-
const
|
|
2201
|
+
function xn(t) {
|
|
2202
|
+
const e = /* @__PURE__ */ new Map(), a = t.map((n) => {
|
|
1929
2203
|
const o = /* @__PURE__ */ new Map();
|
|
1930
2204
|
B(o, n.title, V.title), B(o, n.description, V.description);
|
|
1931
2205
|
for (const r of n.hints)
|
|
1932
2206
|
B(o, r, V.hint);
|
|
1933
2207
|
for (const r of o.keys())
|
|
1934
|
-
|
|
2208
|
+
e.set(r, (e.get(r) ?? 0) + 1);
|
|
1935
2209
|
return {
|
|
1936
2210
|
capability: n,
|
|
1937
2211
|
length: Cn(o),
|
|
@@ -1940,101 +2214,101 @@ function Mn(e) {
|
|
|
1940
2214
|
});
|
|
1941
2215
|
return {
|
|
1942
2216
|
averageDocumentLength: a.length ? a.reduce((n, o) => n + o.length, 0) / a.length : 0,
|
|
1943
|
-
documentFrequency:
|
|
2217
|
+
documentFrequency: e,
|
|
1944
2218
|
documents: a
|
|
1945
2219
|
};
|
|
1946
2220
|
}
|
|
1947
|
-
function B(
|
|
1948
|
-
for (const n of
|
|
1949
|
-
|
|
2221
|
+
function B(t, e, a) {
|
|
2222
|
+
for (const n of Le(e))
|
|
2223
|
+
t.set(n, (t.get(n) ?? 0) + a);
|
|
1950
2224
|
}
|
|
1951
|
-
function Cn(
|
|
1952
|
-
return [...
|
|
2225
|
+
function Cn(t) {
|
|
2226
|
+
return [...t.values()].reduce((e, a) => e + a, 0);
|
|
1953
2227
|
}
|
|
1954
|
-
function
|
|
1955
|
-
return
|
|
2228
|
+
function Le(t) {
|
|
2229
|
+
return t.toLowerCase().split(/[^a-z0-9]+/u).filter(Boolean);
|
|
1956
2230
|
}
|
|
1957
|
-
function
|
|
1958
|
-
const
|
|
1959
|
-
return
|
|
1960
|
-
let
|
|
1961
|
-
for (const
|
|
1962
|
-
const d =
|
|
1963
|
-
if (!d || !
|
|
2231
|
+
function Mn(t) {
|
|
2232
|
+
const e = Sn(), a = new Set(t), n = e.documents.length;
|
|
2233
|
+
return e.documents.map(({ capability: o, length: r, termFrequencies: s }) => {
|
|
2234
|
+
let c = 0;
|
|
2235
|
+
for (const l of a) {
|
|
2236
|
+
const d = s.get(l), u = e.documentFrequency.get(l);
|
|
2237
|
+
if (!d || !u)
|
|
1964
2238
|
continue;
|
|
1965
|
-
const m = Math.log(1 + (n -
|
|
1966
|
-
|
|
2239
|
+
const m = Math.log(1 + (n - u + 0.5) / (u + 0.5)), g = ve * (1 - Ie + Ie * (r / e.averageDocumentLength));
|
|
2240
|
+
c += m * (d * (ve + 1) / (d + g));
|
|
1967
2241
|
}
|
|
1968
|
-
return { capability: o, score:
|
|
1969
|
-
}).filter(({ score: o }) => o > 0).sort(
|
|
2242
|
+
return { capability: o, score: c };
|
|
2243
|
+
}).filter(({ score: o }) => o > 0).sort(je);
|
|
1970
2244
|
}
|
|
1971
|
-
function
|
|
2245
|
+
function Se(t, e) {
|
|
1972
2246
|
const a = /* @__PURE__ */ new Map();
|
|
1973
|
-
for (const o of
|
|
1974
|
-
const r =
|
|
2247
|
+
for (const o of e) {
|
|
2248
|
+
const r = Tn(t, o.vector);
|
|
1975
2249
|
if (r === void 0)
|
|
1976
2250
|
continue;
|
|
1977
|
-
const
|
|
1978
|
-
(
|
|
2251
|
+
const s = a.get(o.capabilityId);
|
|
2252
|
+
(s === void 0 || r > s) && a.set(o.capabilityId, r);
|
|
1979
2253
|
}
|
|
1980
|
-
const n = new Map(
|
|
2254
|
+
const n = new Map(S().map((o) => [o.id, o]));
|
|
1981
2255
|
return [...a.entries()].flatMap(([o, r]) => {
|
|
1982
|
-
const
|
|
1983
|
-
return
|
|
1984
|
-
}).sort(
|
|
2256
|
+
const s = n.get(o);
|
|
2257
|
+
return s && r >= bn ? [{ capability: s, score: r }] : [];
|
|
2258
|
+
}).sort(je);
|
|
1985
2259
|
}
|
|
1986
|
-
function
|
|
1987
|
-
if (
|
|
2260
|
+
function Tn(t, e) {
|
|
2261
|
+
if (t.length === 0 || t.length !== e.length)
|
|
1988
2262
|
return;
|
|
1989
2263
|
let a = 0, n = 0, o = 0;
|
|
1990
|
-
for (let
|
|
1991
|
-
a +=
|
|
2264
|
+
for (let s = 0; s < t.length; s += 1)
|
|
2265
|
+
a += t[s] * e[s], n += t[s] ** 2, o += e[s] ** 2;
|
|
1992
2266
|
const r = Math.sqrt(n) * Math.sqrt(o);
|
|
1993
2267
|
return r === 0 ? void 0 : a / r;
|
|
1994
2268
|
}
|
|
1995
|
-
async function xe(
|
|
1996
|
-
const [
|
|
1997
|
-
if (!
|
|
2269
|
+
async function xe(t) {
|
|
2270
|
+
const [e] = await Oe([t]);
|
|
2271
|
+
if (!e)
|
|
1998
2272
|
throw new Error("Expected one query embedding.");
|
|
1999
|
-
return
|
|
2273
|
+
return e;
|
|
2000
2274
|
}
|
|
2001
|
-
function
|
|
2275
|
+
function An(t, e, a) {
|
|
2002
2276
|
const n = /* @__PURE__ */ new Map();
|
|
2003
|
-
return
|
|
2277
|
+
return Ce(n, t, "keyword"), Ce(n, e, "semantic"), [...n.values()].sort((o, r) => r.score !== o.score ? r.score - o.score : (r.semanticScore ?? 0) !== (o.semanticScore ?? 0) ? (r.semanticScore ?? 0) - (o.semanticScore ?? 0) : (r.keywordScore ?? 0) !== (o.keywordScore ?? 0) ? (r.keywordScore ?? 0) - (o.keywordScore ?? 0) : o.capability.id.localeCompare(r.capability.id)).slice(0, Math.max(0, a));
|
|
2004
2278
|
}
|
|
2005
|
-
function
|
|
2006
|
-
for (const [n, { capability: o, score: r }] of
|
|
2007
|
-
const
|
|
2008
|
-
|
|
2279
|
+
function Ce(t, e, a) {
|
|
2280
|
+
for (const [n, { capability: o, score: r }] of e.entries()) {
|
|
2281
|
+
const s = n + 1, c = t.get(o.id) ?? { capability: o, score: 0 };
|
|
2282
|
+
c.score += 1 / (wn + s), a === "keyword" ? (c.keywordRank = s, c.keywordScore = r) : (c.semanticRank = s, c.semanticScore = r), t.set(o.id, c);
|
|
2009
2283
|
}
|
|
2010
2284
|
}
|
|
2011
|
-
function
|
|
2012
|
-
return
|
|
2285
|
+
function je(t, e) {
|
|
2286
|
+
return e.score - t.score || t.capability.id.localeCompare(e.capability.id);
|
|
2013
2287
|
}
|
|
2014
|
-
const
|
|
2015
|
-
await p({ text: "Finding a place to navigate...", agentName: "navigation" },
|
|
2016
|
-
const a =
|
|
2288
|
+
const Nn = async (t, e) => {
|
|
2289
|
+
await p({ text: "Finding a place to navigate...", agentName: "navigation" }, e);
|
|
2290
|
+
const a = v(t.agentExecutionContext.messages).trim();
|
|
2017
2291
|
try {
|
|
2018
|
-
const n = await
|
|
2292
|
+
const n = await In(a, { topN: 5 });
|
|
2019
2293
|
return await p(
|
|
2020
2294
|
{
|
|
2021
|
-
text: `Navigation candidates: ${
|
|
2295
|
+
text: `Navigation candidates: ${Gn(n.matches)}`,
|
|
2022
2296
|
agentName: "navigation"
|
|
2023
2297
|
},
|
|
2024
|
-
|
|
2298
|
+
e
|
|
2025
2299
|
), console.table(
|
|
2026
|
-
n.matches.map(({ capability: o, keywordRank: r, keywordScore:
|
|
2300
|
+
n.matches.map(({ capability: o, keywordRank: r, keywordScore: s, semanticRank: c, semanticScore: l, score: d }) => ({
|
|
2027
2301
|
capability: o.title,
|
|
2028
2302
|
fusedScore: d,
|
|
2029
2303
|
keywordRank: r,
|
|
2030
|
-
keywordScore:
|
|
2031
|
-
semanticRank:
|
|
2032
|
-
semanticScore:
|
|
2304
|
+
keywordScore: s,
|
|
2305
|
+
semanticRank: c,
|
|
2306
|
+
semanticScore: l
|
|
2033
2307
|
}))
|
|
2034
2308
|
), n.degradedReason && console.info("[arcgis-portal-ai-assistant] navigation semantic search:", n.degradedReason), {
|
|
2035
2309
|
chosenCapabilityIds: [],
|
|
2036
2310
|
retrievalDegraded: n.degradedReason ?? "",
|
|
2037
|
-
targets:
|
|
2311
|
+
targets: Pn(a, n.matches)
|
|
2038
2312
|
};
|
|
2039
2313
|
} catch {
|
|
2040
2314
|
return {
|
|
@@ -2045,34 +2319,34 @@ const Gn = async (e, t) => {
|
|
|
2045
2319
|
};
|
|
2046
2320
|
}
|
|
2047
2321
|
};
|
|
2048
|
-
function
|
|
2049
|
-
const a =
|
|
2322
|
+
function Pn(t, e) {
|
|
2323
|
+
const a = U(t), n = e.filter(
|
|
2050
2324
|
({ capability: r }) => [r.title, ...r.hints].some(
|
|
2051
|
-
(
|
|
2325
|
+
(s) => U(s) === a
|
|
2052
2326
|
)
|
|
2053
2327
|
);
|
|
2054
2328
|
if (n.length !== 1)
|
|
2055
|
-
return
|
|
2329
|
+
return e;
|
|
2056
2330
|
const [o] = n;
|
|
2057
|
-
return [o, ...
|
|
2331
|
+
return [o, ...e.filter((r) => r !== o)];
|
|
2058
2332
|
}
|
|
2059
|
-
function
|
|
2060
|
-
return
|
|
2061
|
-
({ capability:
|
|
2333
|
+
function Gn(t) {
|
|
2334
|
+
return t.map(
|
|
2335
|
+
({ capability: e, keywordScore: a, semanticScore: n }) => `${e.title} (keyword: ${Me(a)}, semantic: ${Me(n)})`
|
|
2062
2336
|
).join("; ") || "none";
|
|
2063
2337
|
}
|
|
2064
|
-
function
|
|
2065
|
-
return
|
|
2338
|
+
function Me(t) {
|
|
2339
|
+
return t?.toFixed(3) ?? "none";
|
|
2066
2340
|
}
|
|
2067
|
-
const
|
|
2068
|
-
...
|
|
2069
|
-
chosenCapabilityIds: h({ reducer:
|
|
2341
|
+
const Q = (t, e) => e ?? t, Ke = h.Root({
|
|
2342
|
+
...q(),
|
|
2343
|
+
chosenCapabilityIds: h({ reducer: Q, default: () => [] }),
|
|
2070
2344
|
// Empty when hybrid keyword-and-semantic retrieval succeeds; otherwise
|
|
2071
2345
|
// contains the semantic-search failure reason for response diagnostics.
|
|
2072
|
-
retrievalDegraded: h({ reducer:
|
|
2073
|
-
targets: h({ reducer:
|
|
2074
|
-
}),
|
|
2075
|
-
function
|
|
2346
|
+
retrievalDegraded: h({ reducer: Q, default: () => "" }),
|
|
2347
|
+
targets: h({ reducer: Q, default: () => [] })
|
|
2348
|
+
}), qn = () => new P(Ke).addNode("retrieveNavigationTargets", Nn).addNode("chooseNavigationTargets", Wa).addNode("respondWithNavigation", cn).addEdge(G, "retrieveNavigationTargets").addEdge("retrieveNavigationTargets", "chooseNavigationTargets").addEdge("chooseNavigationTargets", "respondWithNavigation").addEdge("respondWithNavigation", w);
|
|
2349
|
+
function kn() {
|
|
2076
2350
|
return String.raw`- **Navigation** — Takes the user to the portal page or app that fulfills their request. Presenting the button COMPLETES the request — no follow-up step is needed.
|
|
2077
2351
|
|
|
2078
2352
|
Route here for **navigation intent** ("take me to the map viewer", "open content", "where is X?") and for **action intent** ("publish a scene layer", "create a web map", "share this item") — for an action, Navigation takes the user to the page where that workflow starts. Navigation searches the capability registry itself, so don't rule it out because a page isn't named here.
|
|
@@ -2085,49 +2359,49 @@ function zn() {
|
|
|
2085
2359
|
|
|
2086
2360
|
Do not dispatch Navigation again for the same request in the same turn: once it has responded, the task is done.`;
|
|
2087
2361
|
}
|
|
2088
|
-
const
|
|
2362
|
+
const En = {
|
|
2089
2363
|
id: "navigation",
|
|
2090
2364
|
name: "Portal Navigation",
|
|
2091
2365
|
get description() {
|
|
2092
|
-
return
|
|
2366
|
+
return kn();
|
|
2093
2367
|
},
|
|
2094
|
-
createGraph:
|
|
2095
|
-
workspace:
|
|
2096
|
-
},
|
|
2097
|
-
function Rn(
|
|
2098
|
-
if (!
|
|
2368
|
+
createGraph: qn,
|
|
2369
|
+
workspace: Ke
|
|
2370
|
+
}, zn = We`:host{height:100%;border-width:1px;border-style:solid;border-color:var(--calcite-color-border-3);display:block;width:100%;--tw-shadow: 0 1px 6px -1px rgba(0, 0, 0, .16), 0 1px 2px -1px rgba(0, 0, 0, .08);--tw-shadow-colored: 0 1px 6px -1px var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.chat-entry{display:flex;flex-direction:column;gap:.75rem;width:100%}.chat-actions{display:flex;justify-content:flex-end;gap:.5rem}.header-actions{display:flex;gap:.5rem;padding-inline-start:.75rem}.navigation-block{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;margin-top:.5rem}.navigation-button{width:100%;margin-block:.25rem}.navigation-block-description{font-size:.75rem;color:var(--calcite-color-text-3)}`;
|
|
2371
|
+
function Rn(t, e) {
|
|
2372
|
+
if (!e)
|
|
2099
2373
|
return;
|
|
2100
|
-
const { destinationType: a } =
|
|
2374
|
+
const { destinationType: a } = t;
|
|
2101
2375
|
switch (a) {
|
|
2102
2376
|
case "portal-content":
|
|
2103
|
-
return
|
|
2377
|
+
return e[a]?.(t.hash, t.queryParams);
|
|
2104
2378
|
case "portal-groups":
|
|
2105
|
-
return
|
|
2379
|
+
return e[a]?.(t.hash);
|
|
2106
2380
|
case "portal-org":
|
|
2107
|
-
return
|
|
2381
|
+
return e[a]?.(t.hash, t.queryParams);
|
|
2108
2382
|
case "portal-gallery":
|
|
2109
|
-
return
|
|
2383
|
+
return e[a];
|
|
2110
2384
|
case "portal-map-viewer":
|
|
2111
2385
|
case "portal-notebooks":
|
|
2112
2386
|
case "portal-scene-viewer":
|
|
2113
|
-
return
|
|
2387
|
+
return e[a];
|
|
2114
2388
|
case "portal-item":
|
|
2115
|
-
return
|
|
2389
|
+
return e[a]?.(t.itemId);
|
|
2116
2390
|
case "portal-group":
|
|
2117
|
-
return
|
|
2391
|
+
return e[a]?.(t.groupId, t.hash, t.queryParams);
|
|
2118
2392
|
default:
|
|
2119
|
-
return
|
|
2393
|
+
return F(a);
|
|
2120
2394
|
}
|
|
2121
2395
|
}
|
|
2122
|
-
function
|
|
2123
|
-
const
|
|
2124
|
-
return
|
|
2396
|
+
function Dn(t) {
|
|
2397
|
+
const e = kt.safeParse(t);
|
|
2398
|
+
return e.success ? e.data : void 0;
|
|
2125
2399
|
}
|
|
2126
|
-
function
|
|
2127
|
-
const a =
|
|
2128
|
-
switch (
|
|
2400
|
+
function $n(t, e) {
|
|
2401
|
+
const a = e.navigation;
|
|
2402
|
+
switch (t.destinationType) {
|
|
2129
2403
|
case "portal-content":
|
|
2130
|
-
switch (
|
|
2404
|
+
switch (t.hash) {
|
|
2131
2405
|
case "favorites":
|
|
2132
2406
|
return a.openContentFavorites;
|
|
2133
2407
|
case "group":
|
|
@@ -2142,7 +2416,7 @@ function Fn(e, t) {
|
|
|
2142
2416
|
case "portal-gallery":
|
|
2143
2417
|
return a.openGallery;
|
|
2144
2418
|
case "portal-groups":
|
|
2145
|
-
switch (
|
|
2419
|
+
switch (t.hash) {
|
|
2146
2420
|
case "featured":
|
|
2147
2421
|
return a.openGroupsFeatured;
|
|
2148
2422
|
case "my":
|
|
@@ -2165,48 +2439,48 @@ function Fn(e, t) {
|
|
|
2165
2439
|
case "portal-group":
|
|
2166
2440
|
return a.openGroup;
|
|
2167
2441
|
default:
|
|
2168
|
-
return
|
|
2442
|
+
return F(t);
|
|
2169
2443
|
}
|
|
2170
2444
|
}
|
|
2171
|
-
class
|
|
2445
|
+
class Un extends Be {
|
|
2172
2446
|
constructor() {
|
|
2173
|
-
super(), this.t9n =
|
|
2174
|
-
const a =
|
|
2447
|
+
super(), this.t9n = _e({ blocking: !0 }), this.assistantEl = E(), this.formEl = E(), this.voiceInputEl = E(), this.inputEl = E(), this.navigationSlotElements = /* @__PURE__ */ new Map(), this.handleSlottableRequest = (e) => {
|
|
2448
|
+
const a = e.detail, n = a.data?.block;
|
|
2175
2449
|
if (!n)
|
|
2176
2450
|
return;
|
|
2177
2451
|
const o = this.getNavigationAction(n);
|
|
2178
2452
|
o && this.upsertNavigationSlotElement(a.slotName, o);
|
|
2179
|
-
}, this.inputText = "", this.showVoiceInput = !0, this.isListening = !1, this.isVoiceInputDisabled = !1, this.autoDestroyDisabled = !1, this.defaultClosed = !1, this.useProdDocAssistant = !1, this.arcgisPortalNavigationRequest =
|
|
2453
|
+
}, this.inputText = "", this.showVoiceInput = !0, this.isListening = !1, this.isVoiceInputDisabled = !1, this.autoDestroyDisabled = !1, this.defaultClosed = !1, this.useProdDocAssistant = !1, this.arcgisPortalNavigationRequest = Qe(), S();
|
|
2180
2454
|
}
|
|
2181
2455
|
static {
|
|
2182
2456
|
this.properties = { inputText: 16, showVoiceInput: 16, isListening: 16, isVoiceInputDisabled: 16, autoDestroyDisabled: 5, portal: 0, user: 0, config: 0, navigationTargetMap: 0, disabledAgents: 0, defaultClosed: 5, navigationCapabilities: 0, useProdDocAssistant: 5 };
|
|
2183
2457
|
}
|
|
2184
2458
|
static {
|
|
2185
|
-
this.styles =
|
|
2459
|
+
this.styles = zn;
|
|
2186
2460
|
}
|
|
2187
2461
|
async load() {
|
|
2188
2462
|
await this.refreshCapabilityEmbeddings();
|
|
2189
2463
|
}
|
|
2190
|
-
willUpdate(
|
|
2191
|
-
!this.hasUpdated || !
|
|
2464
|
+
willUpdate(e) {
|
|
2465
|
+
!this.hasUpdated || !e.has("navigationCapabilities") || this.refreshCapabilityEmbeddings();
|
|
2192
2466
|
}
|
|
2193
2467
|
async clearEmbeddingsCache() {
|
|
2194
|
-
|
|
2468
|
+
be();
|
|
2195
2469
|
}
|
|
2196
|
-
isAgentEnabled(
|
|
2197
|
-
return !this.disabledAgents?.[
|
|
2470
|
+
isAgentEnabled(e) {
|
|
2471
|
+
return !this.disabledAgents?.[e];
|
|
2198
2472
|
}
|
|
2199
2473
|
async refreshCapabilityEmbeddings() {
|
|
2200
2474
|
try {
|
|
2201
|
-
|
|
2202
|
-
} catch (
|
|
2203
|
-
console.warn("[arcgis-portal-ai-assistant] embeddings warm-up failed:",
|
|
2475
|
+
S(this.navigationCapabilities), vn(), be(), await mn();
|
|
2476
|
+
} catch (e) {
|
|
2477
|
+
console.warn("[arcgis-portal-ai-assistant] embeddings warm-up failed:", e);
|
|
2204
2478
|
}
|
|
2205
2479
|
}
|
|
2206
|
-
getNavigationAction(
|
|
2207
|
-
if (
|
|
2480
|
+
getNavigationAction(e) {
|
|
2481
|
+
if (e?.type !== Ne)
|
|
2208
2482
|
return;
|
|
2209
|
-
const a =
|
|
2483
|
+
const a = e.data, n = Dn(a);
|
|
2210
2484
|
if (!n)
|
|
2211
2485
|
return;
|
|
2212
2486
|
const o = Rn(a, this.navigationTargetMap);
|
|
@@ -2214,52 +2488,52 @@ class On extends Be {
|
|
|
2214
2488
|
return {
|
|
2215
2489
|
href: o,
|
|
2216
2490
|
targetDetail: a,
|
|
2217
|
-
label: a?.buttonLabel ||
|
|
2491
|
+
label: a?.buttonLabel || $n(n, this.t9n)
|
|
2218
2492
|
};
|
|
2219
2493
|
}
|
|
2220
|
-
upsertNavigationSlotElement(
|
|
2494
|
+
upsertNavigationSlotElement(e, a) {
|
|
2221
2495
|
const n = this.assistantEl.value;
|
|
2222
2496
|
if (!n)
|
|
2223
2497
|
return;
|
|
2224
|
-
const o = `navigation:${
|
|
2498
|
+
const o = `navigation:${e}`;
|
|
2225
2499
|
let r = this.navigationSlotElements.get(o);
|
|
2226
|
-
r || (r = document.createElement("div"), r.slot =
|
|
2227
|
-
|
|
2500
|
+
r || (r = document.createElement("div"), r.slot = e, this.navigationSlotElements.set(o, r), n.append(r)), Je(I`<div><calcite-button class="navigation-button" appearance=outline width=full .href=${a.href} icon-end=launch @click=${(s) => {
|
|
2501
|
+
s.preventDefault(), this.arcgisPortalNavigationRequest.emit({
|
|
2228
2502
|
href: a.href,
|
|
2229
2503
|
targetDetail: a.targetDetail
|
|
2230
2504
|
});
|
|
2231
2505
|
}}>${a.label}</calcite-button>${a.description ? I`<div class="navigation-block-description">${a.description}</div>` : null}</div>`, r);
|
|
2232
2506
|
}
|
|
2233
2507
|
render() {
|
|
2234
|
-
const { t9n:
|
|
2235
|
-
return I`<arcgis-assistant log-enabled keep-suggested-prompts .heading=${
|
|
2236
|
-
this.inputText =
|
|
2508
|
+
const { t9n: e, inputText: a, portal: n, user: o, navigationTargetMap: r, showVoiceInput: s, isListening: c, isVoiceInputDisabled: l, useProdDocAssistant: d } = this;
|
|
2509
|
+
return I`<arcgis-assistant log-enabled keep-suggested-prompts .heading=${e.heading} .entryMessage=${e.entryMessage} @arcgisSlottableRequest=${this.handleSlottableRequest} @arcgisPromptSelect=${({ detail: u }) => {
|
|
2510
|
+
this.inputText = u.prompt, requestAnimationFrame(() => {
|
|
2237
2511
|
this.inputEl.value?.focusTextArea();
|
|
2238
2512
|
});
|
|
2239
|
-
}} ${
|
|
2240
|
-
|
|
2513
|
+
}} ${z(this.assistantEl)}><div slot=header-actions-start class="header-actions"><calcite-icon icon=effects></calcite-icon></div><form slot=chat-entry class="chat-entry" @submit=${(u) => {
|
|
2514
|
+
u.preventDefault();
|
|
2241
2515
|
const m = a.trim();
|
|
2242
2516
|
m && (this.assistantEl.value?.submitMessage(m), this.inputText = "");
|
|
2243
|
-
}} ${
|
|
2244
|
-
|
|
2245
|
-
}} @arcgisUserMentionableTextAreaChange=${({ detail:
|
|
2246
|
-
this.inputText =
|
|
2247
|
-
}} ${
|
|
2517
|
+
}} ${z(this.formEl)}><arcgis-portal-mentionable-text-area .portal=${n} .user=${o} rows=3 .popoverListLabel=${e.mentionEntities} .placeholder=${e.placeholder} .value=${a} @arcgisUserMentionableTextAreaKeyDown=${({ detail: u }) => {
|
|
2518
|
+
u.key === "Enter" && !u.shiftKey && (u.preventDefault(), this.formEl.value?.requestSubmit());
|
|
2519
|
+
}} @arcgisUserMentionableTextAreaChange=${({ detail: u }) => {
|
|
2520
|
+
this.inputText = u ?? "";
|
|
2521
|
+
}} ${z(this.inputEl)}></arcgis-portal-mentionable-text-area><div class="chat-actions"><arcgis-portal-voice-input @arcgisVoiceInputStart=${() => {
|
|
2248
2522
|
this.isListening = !0, this.isVoiceInputDisabled = !1;
|
|
2249
2523
|
}} @arcgisVoiceInputStop=${() => {
|
|
2250
2524
|
this.isListening = !1, this.isVoiceInputDisabled = !1;
|
|
2251
|
-
}} @arcgisVoiceInputError=${(
|
|
2252
|
-
|
|
2253
|
-
}} @arcgisVoiceInputInterimTranscription=${(
|
|
2254
|
-
this.inputText =
|
|
2255
|
-
}} ${
|
|
2525
|
+
}} @arcgisVoiceInputError=${(u) => {
|
|
2526
|
+
u.detail.errorCode === "not-supported" && (this.showVoiceInput = !1);
|
|
2527
|
+
}} @arcgisVoiceInputInterimTranscription=${(u) => {
|
|
2528
|
+
this.inputText = u.detail.text;
|
|
2529
|
+
}} ${z(this.voiceInputEl)}></arcgis-portal-voice-input>${s && I`<calcite-button icon-start=microphone .label=${e.voiceInput} round .disabled=${l} .appearance=${c ? "solid" : "outline-fill"} @click=${async () => {
|
|
2256
2530
|
this.isVoiceInputDisabled = !0;
|
|
2257
|
-
const
|
|
2258
|
-
|
|
2259
|
-
}}></calcite-button>` || ""}<calcite-button type=submit icon-start=send round .disabled=${!a.trim()} .label=${
|
|
2531
|
+
const u = this.voiceInputEl.value;
|
|
2532
|
+
c ? await u?.stopListening() : await u?.startListening();
|
|
2533
|
+
}}></calcite-button>` || ""}<calcite-button type=submit icon-start=send round .disabled=${!a.trim()} .label=${e.send}>${e.send}</calcite-button></div></form>${this.isAgentEnabled("itemAnalytics") && I`<arcgis-assistant-agent .agent=${Ka} .context=${{ portal: n, user: o, navigationTargetMap: r }}></arcgis-assistant-agent>` || ""}${this.isAgentEnabled("groupCreation") && I`<arcgis-assistant-agent .agent=${Dt} .context=${{ portal: n, user: o, navigationTargetMap: r }}></arcgis-assistant-agent>` || ""}${this.isAgentEnabled("docAssistant") && I`<arcgis-assistant-agent .agent=${la} .context=${{ portal: n, user: o, navigationTargetMap: r, useProdDocAssistant: d }}></arcgis-assistant-agent>` || ""}${this.isAgentEnabled("groupAnalytics") && I`<arcgis-assistant-agent .agent=${qa} .context=${{ portal: n, user: o, navigationTargetMap: r }}></arcgis-assistant-agent>` || ""}${this.isAgentEnabled("navigation") && I`<arcgis-assistant-agent .agent=${En} .context=${{ portal: n, user: o, navigationTargetMap: r }}></arcgis-assistant-agent>` || ""}</arcgis-assistant>`;
|
|
2260
2534
|
}
|
|
2261
2535
|
}
|
|
2262
|
-
Ve("arcgis-portal-ai-assistant",
|
|
2536
|
+
Ve("arcgis-portal-ai-assistant", Un);
|
|
2263
2537
|
export {
|
|
2264
|
-
|
|
2538
|
+
Un as ArcgisPortalAiAssistant
|
|
2265
2539
|
};
|