@arcgis/ai-components 5.1.0-next.99 → 5.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/agent-utils/BaseAgent.d.ts +90 -0
- package/dist/agent-utils/BaseAgent.js +87 -0
- package/dist/agent-utils/FunctionAgent.d.ts +64 -0
- package/dist/agent-utils/FunctionAgent.js +98 -0
- package/dist/agent-utils/LLMAgent.d.ts +65 -0
- package/dist/agent-utils/LLMAgent.js +139 -0
- package/dist/agent-utils/WorkflowAgent.d.ts +44 -0
- package/dist/agent-utils/WorkflowAgent.js +70 -0
- package/dist/agent-utils/middlewares/humanInTheLoop.d.ts +152 -0
- package/dist/agent-utils/middlewares/humanInTheLoop.js +94 -0
- package/dist/agent-utils/middlewares/middleware.d.ts +25 -0
- package/dist/agent-utils/middlewares/middleware.js +44 -0
- package/dist/agent-utils/middlewares/trace.d.ts +25 -0
- package/dist/agent-utils/middlewares/trace.js +50 -0
- package/dist/agent-utils/middlewares/types.d.ts +123 -0
- package/dist/agent-utils/middlewares/types.js +2 -0
- package/dist/agent-utils/tools/FunctionTool.d.ts +127 -0
- package/dist/agent-utils/tools/FunctionTool.js +80 -0
- package/dist/agent-utils/types.d.ts +152 -0
- package/dist/agent-utils/workflows/BaseWorkflow.d.ts +87 -0
- package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +72 -0
- package/dist/agent-utils/workflows/ConditionalWorkflow.js +61 -0
- package/dist/agent-utils/workflows/LoopWorkflow.d.ts +58 -0
- package/dist/agent-utils/workflows/LoopWorkflow.js +56 -0
- package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +68 -0
- package/dist/agent-utils/workflows/ParallelWorkflow.js +129 -0
- package/dist/agent-utils/workflows/RouterWorkflow.d.ts +63 -0
- package/dist/agent-utils/workflows/RouterWorkflow.js +75 -0
- package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +56 -0
- package/dist/agent-utils/workflows/SequentialWorkflow.js +69 -0
- package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +74 -0
- package/dist/agent-utils/workflows/SwitchWorkflow.js +84 -0
- package/dist/assets/embeddings.worker-k9_Ou679.js +1 -0
- package/dist/cdn/{24MYCR6F.js → 23EQTPO3.js} +2 -2
- package/dist/cdn/{Z3DVGFEE.js → 2AXF774U.js} +2 -2
- package/dist/cdn/{UK6CP7BR.js → 3PKJWIC3.js} +2 -2
- package/dist/cdn/462JBSEV.js +422 -0
- package/dist/cdn/4HU7735A.js +42 -0
- package/dist/cdn/5QAHYX7Y.js +5 -0
- package/dist/cdn/{YVTKUITE.js → 5ZZGKP7N.js} +2 -2
- package/dist/cdn/{DMLSCJAM.js → 6YMR4QSD.js} +2 -2
- package/dist/cdn/{LXFCO34K.js → 7BCR6TUO.js} +2 -2
- package/dist/cdn/{EUNEQNYC.js → 7GH7VSB2.js} +1 -1
- package/dist/cdn/{YNJYG2RG.js → 7PLV4QH6.js} +2 -2
- package/dist/cdn/{JDL3HFFX.js → 7RCQFLPP.js} +2 -2
- package/dist/cdn/AMP6IALT.js +2 -0
- package/dist/cdn/{Y3AUHNRX.js → AO7BQHKC.js} +2 -2
- package/dist/cdn/{K6LVZHWM.js → AXDZBBNL.js} +2 -2
- package/dist/cdn/{WBRZZ4FB.js → DDLZOMUY.js} +2 -2
- package/dist/cdn/DHOVCT6R.js +2 -0
- package/dist/cdn/{ESTSYVJP.js → F2AHA4GB.js} +2 -2
- package/dist/cdn/FHVXO2WG.js +166 -0
- package/dist/cdn/{VHOF6SUZ.js → FL4W4VYN.js} +3 -3
- package/dist/cdn/FX5JFRDL.js +2 -0
- package/dist/cdn/{CFT5BBC6.js → FX7UOGHP.js} +2 -2
- package/dist/cdn/GSEPHN3A.js +106 -0
- package/dist/cdn/H7422XUG.js +2 -0
- package/dist/cdn/HB5A5R2E.js +2 -0
- package/dist/cdn/JY6LLOUJ.js +22 -0
- package/dist/cdn/{LSGRWCAO.js → KMQ3SP4I.js} +2 -2
- package/dist/cdn/{MZJGADGH.js → LQ6R5YRN.js} +2 -2
- package/dist/cdn/MDVYQQUG.js +14 -0
- package/dist/cdn/{3QC3BRZP.js → MH5RPXHM.js} +2 -2
- package/dist/cdn/{54ATSQPS.js → NAUXSHIE.js} +18 -18
- package/dist/cdn/{SFREIREB.js → NE7E52YR.js} +2 -2
- package/dist/cdn/{2YEKZADB.js → NVI3I46B.js} +2 -2
- package/dist/cdn/{YGW7TUNX.js → OAVEHGB6.js} +1 -1
- package/dist/cdn/{DSEMD4M2.js → OH64RMOR.js} +3 -3
- package/dist/cdn/ON2V5XI2.js +3 -0
- package/dist/cdn/{PTGKT5P6.js → P6OPJQMC.js} +2 -2
- package/dist/cdn/{TRDKA5Y6.js → QR54T33D.js} +2 -2
- package/dist/cdn/{457RLS3H.js → RVOAPUBN.js} +2 -2
- package/dist/cdn/S6W6HV4T.js +36 -0
- package/dist/cdn/{5JBT3YNY.js → SXDLXCIM.js} +2 -2
- package/dist/cdn/{G4SVCCJH.js → USMDJUFS.js} +2 -2
- package/dist/cdn/{Q5D5LJS5.js → V2P4AIGG.js} +2 -2
- package/dist/cdn/V5YEZSRY.js +16 -0
- package/dist/cdn/{5PT7ZFXF.js → X2ZDYHCG.js} +20 -7
- package/dist/cdn/Y333DGV6.js +2 -0
- package/dist/cdn/{CFDTXKJ6.js → YIMNOUTF.js} +1 -1
- package/dist/cdn/YY2SBO3V.js +2 -0
- package/dist/cdn/{7EXACS27.js → ZLXN7NMF.js} +3 -2
- package/dist/cdn/ZS2TZ6BF.js +31 -0
- package/dist/cdn/{W5CHGOOR.js → ZTBA5PM7.js} +2 -2
- package/dist/cdn/assets/assistant/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/index.js +2 -2
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/BaseWorkflow.js +107 -0
- package/dist/chunks/adapter.js +2974 -0
- package/dist/chunks/arcgisKnowledgeGraph.js +174 -0
- package/dist/chunks/arcgis_knowledge_current_lc_context.js +8 -0
- package/dist/chunks/arcgis_knowledge_current_map_context.js +8 -0
- package/dist/chunks/arcgis_knowledge_lucene_generation_prompt.js +101 -0
- package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +48 -0
- package/dist/chunks/arcgis_knowledge_tool_prompt.js +34 -0
- package/dist/chunks/converterUtils.js +1 -1
- package/dist/chunks/dataExplorationGraph.js +298 -0
- package/dist/chunks/data_explore_filter_prompt.js +125 -0
- package/dist/chunks/data_explore_query_prompt.js +144 -0
- package/dist/chunks/embeddings.worker.js +25 -0
- package/dist/chunks/field_descriptions_prompt.js +112 -0
- package/dist/chunks/generateLayerDescriptions.js +413 -0
- package/dist/chunks/graph.js +86 -0
- package/dist/chunks/helpGraph.js +123 -0
- package/dist/chunks/help_prompt.js +57 -0
- package/dist/chunks/intent_prompt.js +123 -0
- package/dist/chunks/layerStylingGraph.js +189 -0
- package/dist/chunks/layer_descriptions_prompt.js +59 -0
- package/dist/chunks/layer_styling_prompt.js +72 -0
- package/dist/chunks/navigationGraph.js +266 -0
- package/dist/chunks/navigation_intent_prompt.js +46 -0
- package/dist/chunks/navigation_tool_prompt.js +39 -0
- package/dist/chunks/orchestrator.js +528 -0
- package/dist/chunks/runtime.js +2 -2
- package/dist/chunks/slottableRequestUtils.js +1 -1
- package/dist/chunks/state.js +71 -0
- package/dist/chunks/summarize_query_response_prompt.js +78 -0
- package/dist/chunks/toolCallResponse.js +29 -0
- package/dist/chunks/useT9n.js +1 -1
- package/dist/chunks/utils.js +47 -29
- package/dist/chunks/utils2.js +42 -7
- package/dist/chunks/utils3.js +16 -0
- package/dist/components/arcgis-assistant/customElement.d.ts +60 -8
- package/dist/components/arcgis-assistant/customElement.js +32 -24
- package/dist/components/arcgis-assistant/types.d.ts +1 -1
- package/dist/components/arcgis-assistant-agent/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-agent/customElement.js +2 -2
- package/dist/components/arcgis-assistant-chat/customElement.js +1 -1
- package/dist/components/arcgis-assistant-chat-entry/customElement.js +1 -1
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +25 -9
- package/dist/components/arcgis-assistant-help-agent/customElement.js +28 -9
- package/dist/components/arcgis-assistant-interrupt/customElement.js +8 -12
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +158 -0
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +68 -0
- package/dist/components/arcgis-assistant-knowledge-agent/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-knowledge-agent/index.js +1 -0
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +28 -9
- package/dist/components/arcgis-assistant-message/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-message-block/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-feedback/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-footer/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-loading/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-log/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-read-aloud/customElement.js +24 -28
- package/dist/components/arcgis-assistant-message-text/customElement.js +1 -1
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +26 -8
- package/dist/components/arcgis-assistant-speech-input/customElement.js +1 -1
- package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +1 -1
- package/dist/components/arcgis-assistant-user-message/customElement.js +1 -1
- 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 +4 -0
- package/dist/index.js +1 -1
- package/dist/loader.js +2 -1
- package/dist/types/lumina.d.ts +6 -1
- package/dist/types/preact.d.ts +7 -1
- package/dist/types/react.d.ts +8 -1
- package/dist/types/stencil.d.ts +6 -1
- package/dist/utils/index.d.ts +203 -9
- package/dist/utils/index.js +109 -11
- package/package.json +26 -11
- package/dist/cdn/4QVKWA2Z.js +0 -24
- package/dist/cdn/5L7OZ37N.js +0 -2
- package/dist/cdn/6ALN3KMA.js +0 -269
- package/dist/cdn/ARCP5UZY.js +0 -2
- package/dist/cdn/B4DEC7PH.js +0 -2
- package/dist/cdn/D7WNBUVK.js +0 -106
- package/dist/cdn/GER6EQYH.js +0 -2
- package/dist/cdn/KVH3PDVW.js +0 -2
- package/dist/cdn/O62HTIOD.js +0 -2
- package/dist/cdn/R5FWFRWW.js +0 -2
- package/dist/cdn/SZBOIYZZ.js +0 -2
- package/dist/cdn/WNDUCHXU.js +0 -2
- package/dist/cdn/YW52XJMM.js +0 -396
- package/dist/cdn/ZLO73NU6.js +0 -2
- package/dist/cdn/ZPNJGIAF.js +0 -2
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { property as A, subclass as I } from "@arcgis/core/core/accessorSupport/decorators.js";
|
|
3
|
+
import { c as U } from "../../chunks/graph.js";
|
|
4
|
+
import { a as W } from "../../chunks/state.js";
|
|
5
|
+
import { B as G, c as J, g as m, a as j } from "../../chunks/BaseWorkflow.js";
|
|
6
|
+
var k = Object.defineProperty, B = Object.getOwnPropertyDescriptor, C = (e, t, s, n) => {
|
|
7
|
+
for (var a = n > 1 ? void 0 : n ? B(t, s) : t, o = e.length - 1, r; o >= 0; o--)
|
|
8
|
+
(r = e[o]) && (a = (n ? r(t, s, a) : r(a)) || a);
|
|
9
|
+
return n && a && k(t, s, a), a;
|
|
10
|
+
};
|
|
11
|
+
let y = class extends G {
|
|
12
|
+
//#region Lifecycle
|
|
13
|
+
constructor(e) {
|
|
14
|
+
super(e);
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region Public Methods
|
|
18
|
+
getAgents() {
|
|
19
|
+
return this.agents;
|
|
20
|
+
}
|
|
21
|
+
generate() {
|
|
22
|
+
const e = this.getAgents();
|
|
23
|
+
this.validateAgents(e);
|
|
24
|
+
for (const r of e)
|
|
25
|
+
r.generate();
|
|
26
|
+
const t = J(e.flatMap((r) => r.getSchemas()));
|
|
27
|
+
for (const [r] of e.entries())
|
|
28
|
+
t[_(r)] = void 0;
|
|
29
|
+
const s = W(t), n = this.buildNodes(e), a = this.buildEdges(e);
|
|
30
|
+
return { workspace: s, createGraph: () => U(n, a, s, { entryNode: this.getEntryNode(e) }) };
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
//#region Protected Methods
|
|
34
|
+
getEntryNode(e) {
|
|
35
|
+
return h;
|
|
36
|
+
}
|
|
37
|
+
isTerminalAgent(e, t) {
|
|
38
|
+
return !1;
|
|
39
|
+
}
|
|
40
|
+
buildNodes(e) {
|
|
41
|
+
const t = {};
|
|
42
|
+
for (const [s, n] of e.entries()) {
|
|
43
|
+
const a = _(s), o = m(n, s);
|
|
44
|
+
t[o] = async (r, i) => {
|
|
45
|
+
const d = await n.run(K(r, n), i), u = {}, f = u;
|
|
46
|
+
return f[a] = d, u;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
return t[h] = () => ({}), t[w] = (s) => $(s, e), t;
|
|
50
|
+
}
|
|
51
|
+
buildEdges(e) {
|
|
52
|
+
return [
|
|
53
|
+
...e.map((t, s) => ({ from: h, to: m(t, s) })),
|
|
54
|
+
...e.map((t, s) => ({ from: m(t, s), to: w }))
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
//#endregion
|
|
58
|
+
};
|
|
59
|
+
C([
|
|
60
|
+
A()
|
|
61
|
+
], y.prototype, "agents", 2);
|
|
62
|
+
y = C([
|
|
63
|
+
I("ParallelWorkflow")
|
|
64
|
+
], y);
|
|
65
|
+
const h = "__parallel_fanOut", w = "__parallel_join";
|
|
66
|
+
function _(e) {
|
|
67
|
+
return `__parallel_update_${e}`;
|
|
68
|
+
}
|
|
69
|
+
function F(e, t) {
|
|
70
|
+
return Object.fromEntries(
|
|
71
|
+
t.filter((s) => Object.hasOwn(e, s)).map((s) => [s, e[s]])
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
function K(e, t) {
|
|
75
|
+
const s = t.inputSchema;
|
|
76
|
+
return s ? {
|
|
77
|
+
...F(e, j(s)),
|
|
78
|
+
agentExecutionContext: e.agentExecutionContext,
|
|
79
|
+
outputMessage: e.outputMessage,
|
|
80
|
+
status: void 0,
|
|
81
|
+
summary: ""
|
|
82
|
+
} : { ...e, status: void 0, summary: "" };
|
|
83
|
+
}
|
|
84
|
+
function D(e, t) {
|
|
85
|
+
return e.outputSchema ? F(t, j(e.outputSchema)) : {};
|
|
86
|
+
}
|
|
87
|
+
function R(e, t) {
|
|
88
|
+
const s = e.agentExecutionContext?.messages ?? [], n = t.agentExecutionContext?.messages ?? [];
|
|
89
|
+
return n.length > s.length ? n.slice(s.length) : void 0;
|
|
90
|
+
}
|
|
91
|
+
function $(e, t) {
|
|
92
|
+
const s = [], n = [], a = [], o = {}, r = {}, i = /* @__PURE__ */ new Set();
|
|
93
|
+
for (const [f, P] of t.entries()) {
|
|
94
|
+
const x = _(f), g = e[x];
|
|
95
|
+
if (r[x] = void 0, !g || typeof g != "object")
|
|
96
|
+
continue;
|
|
97
|
+
const c = g, S = c.outputMessage, b = R(e, c), v = c.summary, M = D(P, c), O = S.trim();
|
|
98
|
+
typeof S == "string" && O && s.push(O);
|
|
99
|
+
const E = v.trim();
|
|
100
|
+
typeof v == "string" && E && n.push(E), Array.isArray(b) && a.push(...b), c.status && i.add(c.status);
|
|
101
|
+
for (const [l, p] of Object.entries(M))
|
|
102
|
+
if (!(p === void 0 || l.startsWith("__parallel_update_")) && !N(e[l], p)) {
|
|
103
|
+
if (!Object.hasOwn(o, l)) {
|
|
104
|
+
o[l] = p;
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
if (!N(o[l], p))
|
|
108
|
+
throw new Error(`ParallelWorkflow detected conflicting updates for state key "${l}".`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
const d = {
|
|
112
|
+
...r,
|
|
113
|
+
...o
|
|
114
|
+
}, u = d;
|
|
115
|
+
return a.length > 0 && (u.agentExecutionContext = {
|
|
116
|
+
...e.agentExecutionContext,
|
|
117
|
+
messages: [...e.agentExecutionContext.messages, ...a]
|
|
118
|
+
}), s.length && (u.outputMessage = s.join(`
|
|
119
|
+
|
|
120
|
+
`)), n.length && (u.summary = n.join(`
|
|
121
|
+
|
|
122
|
+
`)), i.size && (u.status = i.has("failed") ? "failed" : i.has("success") ? "success" : void 0), d;
|
|
123
|
+
}
|
|
124
|
+
function N(e, t) {
|
|
125
|
+
return e === t ? !0 : e && t ? JSON.stringify(e) === JSON.stringify(t) : !1;
|
|
126
|
+
}
|
|
127
|
+
export {
|
|
128
|
+
y as ParallelWorkflow
|
|
129
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { AgentData, AgentGraphState, BaseAgentLike, GraphEdge } from "../types.js";
|
|
2
|
+
import type { BaseWorkflow } from "./BaseWorkflow.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* RouterWorkflow runs a router agent, then dispatches to exactly one downstream agent.
|
|
6
|
+
*
|
|
7
|
+
* Use in the following scenarios:
|
|
8
|
+
* - A model (or routing step) should choose the destination,
|
|
9
|
+
* - Only one branch should run per request
|
|
10
|
+
*
|
|
11
|
+
* How it works:
|
|
12
|
+
* - `routerAgent` always runs first,
|
|
13
|
+
* - `routerAgent` reads the selected route key from `routerOutputKey`,
|
|
14
|
+
* - The agent corresponding to the selected route key is dispatched from `agentsMap`.
|
|
15
|
+
*
|
|
16
|
+
* @since 5.1
|
|
17
|
+
*/
|
|
18
|
+
export class RouterWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
|
|
19
|
+
constructor(properties: ConstructProperties<TState>);
|
|
20
|
+
/**
|
|
21
|
+
* Mapping of route keys to destination agents.
|
|
22
|
+
*
|
|
23
|
+
* @required
|
|
24
|
+
*/
|
|
25
|
+
accessor agentsMap: Record<string, BaseAgentLike<TState>>;
|
|
26
|
+
/**
|
|
27
|
+
* The agent that decides which route key to select.
|
|
28
|
+
*
|
|
29
|
+
* @required
|
|
30
|
+
*/
|
|
31
|
+
accessor routerAgent: BaseAgentLike<TState>;
|
|
32
|
+
/**
|
|
33
|
+
* State key containing the selected route returned by the router agent.
|
|
34
|
+
*
|
|
35
|
+
* @required
|
|
36
|
+
*/
|
|
37
|
+
accessor routerOutputKey: keyof AgentGraphState<TState>;
|
|
38
|
+
/**
|
|
39
|
+
* Builds the workflow-specific edges.
|
|
40
|
+
*
|
|
41
|
+
* @param agents
|
|
42
|
+
*/
|
|
43
|
+
protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
|
|
44
|
+
/** A list of agents that are part of this workflow. */
|
|
45
|
+
getAgents(): BaseAgentLike<TState>[];
|
|
46
|
+
/** Returns the id of the first node in the workflow graph. */
|
|
47
|
+
protected getEntryNode(): string;
|
|
48
|
+
/**
|
|
49
|
+
* Returns whether the agent at this position should expose terminal runtime fields.
|
|
50
|
+
*
|
|
51
|
+
* @param _agents
|
|
52
|
+
* @param index
|
|
53
|
+
*/
|
|
54
|
+
protected isTerminalAgent(_agents: BaseAgentLike<TState>[], index: number): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Validates the workflow configuration and throws if invalid.
|
|
57
|
+
*
|
|
58
|
+
* @param agents
|
|
59
|
+
*/
|
|
60
|
+
protected validateAgents(agents: BaseAgentLike<TState>[]): void;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export type ConstructProperties<TState extends AgentData> = Pick<RouterWorkflow<TState>, "agentsMap" | "routerAgent" | "routerOutputKey">;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { property as h, subclass as g } from "@arcgis/core/core/accessorSupport/decorators.js";
|
|
3
|
+
import { B as v, g as l } from "../../chunks/BaseWorkflow.js";
|
|
4
|
+
var w = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, f = (e) => {
|
|
5
|
+
throw TypeError(e);
|
|
6
|
+
}, c = (e, t, o, s) => {
|
|
7
|
+
for (var r = s > 1 ? void 0 : s ? _(t, o) : t, n = e.length - 1, d; n >= 0; n--)
|
|
8
|
+
(d = e[n]) && (r = (s ? d(t, o, r) : d(r)) || r);
|
|
9
|
+
return s && r && w(t, o, r), r;
|
|
10
|
+
}, y = (e, t, o) => t.has(e) || f("Cannot " + o), A = (e, t, o) => t.has(e) ? f("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, o), p = (e, t, o) => (y(e, t, "access private method"), o), a, i;
|
|
11
|
+
let u = class extends v {
|
|
12
|
+
//#region Lifecycle
|
|
13
|
+
constructor(e) {
|
|
14
|
+
super(e), A(this, a);
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region Public Methods
|
|
18
|
+
getAgents() {
|
|
19
|
+
return p(this, a, i).call(this), [this.routerAgent, ...Object.values(this.agentsMap)];
|
|
20
|
+
}
|
|
21
|
+
buildEdges(e) {
|
|
22
|
+
p(this, a, i).call(this);
|
|
23
|
+
const t = l(this.routerAgent, 0), o = /* @__PURE__ */ new Map();
|
|
24
|
+
for (const [s, [r]] of Object.entries(this.agentsMap).entries())
|
|
25
|
+
o.set(r, l(e[s + 1], s + 1));
|
|
26
|
+
return [
|
|
27
|
+
{
|
|
28
|
+
from: t,
|
|
29
|
+
decide: (s) => {
|
|
30
|
+
const r = s[this.routerOutputKey];
|
|
31
|
+
if (typeof r != "string" || !r)
|
|
32
|
+
throw new Error("RouterWorkflow decideRoute could not determine next agent from state.");
|
|
33
|
+
const n = o.get(r);
|
|
34
|
+
if (!n)
|
|
35
|
+
throw new Error(
|
|
36
|
+
`RouterWorkflow decideRoute returned unknown agent: ${r}. Expected one of: ${Object.keys(this.agentsMap).join(", ") || "(none)"}.`
|
|
37
|
+
);
|
|
38
|
+
return n;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
];
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
//#region Protected Methods
|
|
45
|
+
getEntryNode() {
|
|
46
|
+
return p(this, a, i).call(this), l(this.routerAgent, 0);
|
|
47
|
+
}
|
|
48
|
+
isTerminalAgent(e, t) {
|
|
49
|
+
return t > 0;
|
|
50
|
+
}
|
|
51
|
+
validateAgents(e) {
|
|
52
|
+
p(this, a, i).call(this), super.validateAgents(e);
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
};
|
|
56
|
+
a = /* @__PURE__ */ new WeakSet();
|
|
57
|
+
i = function() {
|
|
58
|
+
if (!Object.keys(this.agentsMap).length)
|
|
59
|
+
throw new Error("RouterWorkflow requires a non-empty agentsMap.");
|
|
60
|
+
};
|
|
61
|
+
c([
|
|
62
|
+
h()
|
|
63
|
+
], u.prototype, "agentsMap", 2);
|
|
64
|
+
c([
|
|
65
|
+
h()
|
|
66
|
+
], u.prototype, "routerAgent", 2);
|
|
67
|
+
c([
|
|
68
|
+
h()
|
|
69
|
+
], u.prototype, "routerOutputKey", 2);
|
|
70
|
+
u = c([
|
|
71
|
+
g("RouterWorkflow")
|
|
72
|
+
], u);
|
|
73
|
+
export {
|
|
74
|
+
u as RouterWorkflow
|
|
75
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { BaseWorkflow } from "./BaseWorkflow.js";
|
|
2
|
+
import type { AgentData, AgentGraphState, BaseAgentLike, GraphEdge } from "../types.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* SequentialWorkflow executes agents in strict linear order.
|
|
6
|
+
*
|
|
7
|
+
* Use in the following scenarios:
|
|
8
|
+
* - Later steps depend on values produced by earlier steps,
|
|
9
|
+
* - You want a simple linear pipeline.
|
|
10
|
+
*
|
|
11
|
+
* How it works:
|
|
12
|
+
* - First agent runs and passes shared state forward,
|
|
13
|
+
* - Each subsequent agent receives the updated shared state from the previous agent,
|
|
14
|
+
* - Run agent 2, then agent 3, and so on,
|
|
15
|
+
* - Stop after the final agent in the sequence runs.
|
|
16
|
+
*
|
|
17
|
+
* @since 5.1
|
|
18
|
+
*/
|
|
19
|
+
export class SequentialWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
|
|
20
|
+
constructor(properties: ConstructProperties<TState>);
|
|
21
|
+
/**
|
|
22
|
+
* A list of agents to execute in the specified order.
|
|
23
|
+
*
|
|
24
|
+
* @required
|
|
25
|
+
*/
|
|
26
|
+
accessor agents: BaseAgentLike<TState>[];
|
|
27
|
+
/**
|
|
28
|
+
* Builds the workflow-specific edges.
|
|
29
|
+
*
|
|
30
|
+
* @param agents
|
|
31
|
+
*/
|
|
32
|
+
protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
|
|
33
|
+
/** A list of agents that are part of this workflow. */
|
|
34
|
+
getAgents(): BaseAgentLike<TState>[];
|
|
35
|
+
/**
|
|
36
|
+
* Returns the id of the first node in the workflow graph.
|
|
37
|
+
*
|
|
38
|
+
* @param agents
|
|
39
|
+
*/
|
|
40
|
+
protected getEntryNode(agents: BaseAgentLike<TState>[]): string | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Returns whether the agent at this position should expose terminal runtime fields.
|
|
43
|
+
*
|
|
44
|
+
* @param agents
|
|
45
|
+
* @param index
|
|
46
|
+
*/
|
|
47
|
+
protected isTerminalAgent(agents: BaseAgentLike<TState>[], index: number): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Validates the workflow configuration and throws if invalid.
|
|
50
|
+
*
|
|
51
|
+
* @param agents
|
|
52
|
+
*/
|
|
53
|
+
protected validateAgents(agents: BaseAgentLike<TState>[]): void;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export type ConstructProperties<TState extends AgentData> = Pick<SequentialWorkflow<TState>, "agents">;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { property as p, subclass as f } from "@arcgis/core/core/accessorSupport/decorators.js";
|
|
3
|
+
import { B as c, g as i, a as m } from "../../chunks/BaseWorkflow.js";
|
|
4
|
+
var d = Object.defineProperty, w = Object.getOwnPropertyDescriptor, u = (e, o, r, t) => {
|
|
5
|
+
for (var s = t > 1 ? void 0 : t ? w(o, r) : o, n = e.length - 1, a; n >= 0; n--)
|
|
6
|
+
(a = e[n]) && (s = (t ? a(o, r, s) : a(s)) || s);
|
|
7
|
+
return t && s && d(o, r, s), s;
|
|
8
|
+
};
|
|
9
|
+
let l = class extends c {
|
|
10
|
+
//#region Lifecycle
|
|
11
|
+
constructor(e) {
|
|
12
|
+
super(e);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
//#region Public Methods
|
|
16
|
+
getAgents() {
|
|
17
|
+
return this.agents;
|
|
18
|
+
}
|
|
19
|
+
//#endregion
|
|
20
|
+
//#region Protected Methods
|
|
21
|
+
getEntryNode(e) {
|
|
22
|
+
return e[0] ? i(e[0], 0) : void 0;
|
|
23
|
+
}
|
|
24
|
+
isTerminalAgent(e, o) {
|
|
25
|
+
return o === e.length - 1;
|
|
26
|
+
}
|
|
27
|
+
validateAgents(e) {
|
|
28
|
+
super.validateAgents(e);
|
|
29
|
+
const o = /* @__PURE__ */ new Map();
|
|
30
|
+
for (const [r, t] of e.entries()) {
|
|
31
|
+
const s = e[r - 1];
|
|
32
|
+
if (t.outputSchema)
|
|
33
|
+
for (const n of m(t.outputSchema)) {
|
|
34
|
+
const a = o.get(n) ?? [];
|
|
35
|
+
a.push(`${t.name} [${r}]`), o.set(n, a);
|
|
36
|
+
}
|
|
37
|
+
if (!(r === 0 || !t.inputSchema || s?.outputSchema))
|
|
38
|
+
throw new Error(
|
|
39
|
+
`Workflow agent "${t.name}" declares an input schema, so upstream agent "${s.name}" must declare an output schema.`
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
for (const [r, t] of o.entries())
|
|
43
|
+
t.length > 1 && console.warn(
|
|
44
|
+
`Workflow output field "${r}" is declared by multiple steps (${t.join(", ")}). Later steps will overwrite earlier values in shared state.`
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
buildEdges(e) {
|
|
48
|
+
return e.length === 1 ? [
|
|
49
|
+
{
|
|
50
|
+
from: i(e[0], 0),
|
|
51
|
+
decide: () => {
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
] : e.slice(0, -1).map((o, r) => ({
|
|
55
|
+
from: i(o, r),
|
|
56
|
+
decide: (t) => t.status === "failed" ? void 0 : i(e[r + 1], r + 1)
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
//#endregion
|
|
60
|
+
};
|
|
61
|
+
u([
|
|
62
|
+
p()
|
|
63
|
+
], l.prototype, "agents", 2);
|
|
64
|
+
l = u([
|
|
65
|
+
f("SequentialWorkflow")
|
|
66
|
+
], l);
|
|
67
|
+
export {
|
|
68
|
+
l as SequentialWorkflow
|
|
69
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type { AgentData, AgentExecutionConfig, AgentGraphState, BaseAgentLike, GraphEdge, GraphNodes } from "../types.js";
|
|
2
|
+
import type { BaseWorkflow } from "./BaseWorkflow.js";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Resolver function that chooses a switch case key from current graph state.
|
|
6
|
+
*
|
|
7
|
+
* @param state - Current workflow graph state.
|
|
8
|
+
* @param config - Optional execution configuration.
|
|
9
|
+
* @since 5.1
|
|
10
|
+
*/
|
|
11
|
+
export type SwitchDecider<TState extends AgentData = AgentData> = (state: AgentGraphState<TState>, config?: AgentExecutionConfig) => Promise<string | undefined> | string | undefined;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* SwitchWorkflow routes execution to one of several branches based on a resolver function.
|
|
15
|
+
*
|
|
16
|
+
* Use in the following scenarios:
|
|
17
|
+
* - Branch selection should be based on complex logic that doesn't fit a simple true/false condition.
|
|
18
|
+
* - You want explicit case handling with optional fallback.
|
|
19
|
+
*
|
|
20
|
+
* How it works:
|
|
21
|
+
* - Run `resolver(state, config)` to get a case key,
|
|
22
|
+
* - Route to matching `agentsMap` entry,
|
|
23
|
+
* - If unknown and `defaultAgent` exists, run default,
|
|
24
|
+
* - If unknown and no default, throw an error.
|
|
25
|
+
*
|
|
26
|
+
* @since 5.1
|
|
27
|
+
*/
|
|
28
|
+
export class SwitchWorkflow<TState extends AgentData = AgentData> extends BaseWorkflow<TState> {
|
|
29
|
+
constructor(properties: ConstructProperties<TState>);
|
|
30
|
+
/**
|
|
31
|
+
* Mapping of keys to destination agents.
|
|
32
|
+
*
|
|
33
|
+
* @required
|
|
34
|
+
*/
|
|
35
|
+
accessor agentsMap: Record<string, BaseAgentLike<TState>>;
|
|
36
|
+
/** Optional fallback agent used when the resolver returns an unknown case. */
|
|
37
|
+
accessor defaultAgent: BaseAgentLike<TState> | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Resolver used to select the case key for routing.
|
|
40
|
+
*
|
|
41
|
+
* @required
|
|
42
|
+
*/
|
|
43
|
+
accessor resolver: SwitchDecider<TState>;
|
|
44
|
+
/**
|
|
45
|
+
* Builds the workflow-specific edges.
|
|
46
|
+
*
|
|
47
|
+
* @param agents
|
|
48
|
+
*/
|
|
49
|
+
protected buildEdges(agents: BaseAgentLike<TState>[]): GraphEdge<AgentGraphState<TState>>[];
|
|
50
|
+
/**
|
|
51
|
+
* Builds the workflow's graph nodes.
|
|
52
|
+
*
|
|
53
|
+
* Node ids use the agent id plus its position (`agent.id_index`) instead of only the raw
|
|
54
|
+
* agent id. That prevents collisions when the same agent instance is used multiple times.
|
|
55
|
+
*
|
|
56
|
+
* @param agents
|
|
57
|
+
*/
|
|
58
|
+
protected buildNodes(agents: BaseAgentLike<TState>[]): GraphNodes<AgentGraphState<TState>>;
|
|
59
|
+
/** A list of agents that are part of this workflow. */
|
|
60
|
+
getAgents(): BaseAgentLike<TState>[];
|
|
61
|
+
/** Returns the id of the first node in the workflow graph. */
|
|
62
|
+
protected getEntryNode(): string;
|
|
63
|
+
/** Returns whether the agent at this position should expose terminal runtime fields. */
|
|
64
|
+
protected isTerminalAgent(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Validates the workflow configuration and throws if invalid.
|
|
67
|
+
*
|
|
68
|
+
* @param agents
|
|
69
|
+
*/
|
|
70
|
+
protected validateAgents(agents: BaseAgentLike<TState>[]): void;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
export type ConstructProperties<TState extends AgentData> = Partial<Pick<SwitchWorkflow<TState>, "defaultAgent">>
|
|
74
|
+
& Pick<SwitchWorkflow<TState>, "agentsMap" | "resolver">;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { property as u, subclass as _ } from "@arcgis/core/core/accessorSupport/decorators.js";
|
|
3
|
+
import { B as y, g as v } from "../../chunks/BaseWorkflow.js";
|
|
4
|
+
var A = Object.defineProperty, N = Object.getOwnPropertyDescriptor, g = (e) => {
|
|
5
|
+
throw TypeError(e);
|
|
6
|
+
}, d = (e, t, r, o) => {
|
|
7
|
+
for (var s = o > 1 ? void 0 : o ? N(t, r) : t, n = e.length - 1, a; n >= 0; n--)
|
|
8
|
+
(a = e[n]) && (s = (o ? a(t, r, s) : a(s)) || s);
|
|
9
|
+
return o && s && A(t, r, s), s;
|
|
10
|
+
}, m = (e, t, r) => t.has(e) || g("Cannot " + r), M = (e, t, r) => t.has(e) ? g("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(e) : t.set(e, r), w = (e, t, r) => (m(e, t, "access private method"), r), c, p;
|
|
11
|
+
let i = class extends y {
|
|
12
|
+
//#region Lifecycle
|
|
13
|
+
constructor(e) {
|
|
14
|
+
super(e), M(this, c);
|
|
15
|
+
}
|
|
16
|
+
//#endregion
|
|
17
|
+
//#region Public Methods
|
|
18
|
+
getAgents() {
|
|
19
|
+
const e = Object.values(this.agentsMap);
|
|
20
|
+
return this.defaultAgent ? e.concat(this.defaultAgent) : e;
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
//#region Protected Methods
|
|
24
|
+
buildNodes(e) {
|
|
25
|
+
const t = super.buildNodes(e);
|
|
26
|
+
return t[h] = () => ({}), t;
|
|
27
|
+
}
|
|
28
|
+
buildEdges(e) {
|
|
29
|
+
w(this, c, p).call(this);
|
|
30
|
+
const t = this.resolver, r = /* @__PURE__ */ new Map();
|
|
31
|
+
for (const [n, [a]] of Object.entries(this.agentsMap).entries())
|
|
32
|
+
r.set(a, v(e[n], n));
|
|
33
|
+
const { defaultAgent: o } = this, s = o ? v(o, e.length - 1) : void 0;
|
|
34
|
+
return [
|
|
35
|
+
{
|
|
36
|
+
from: h,
|
|
37
|
+
decide: async (n, a) => {
|
|
38
|
+
const l = await Promise.resolve(t(n, a));
|
|
39
|
+
if (!l)
|
|
40
|
+
return;
|
|
41
|
+
const f = r.get(l);
|
|
42
|
+
if (f)
|
|
43
|
+
return f;
|
|
44
|
+
if (o)
|
|
45
|
+
return s;
|
|
46
|
+
throw new Error(
|
|
47
|
+
`SwitchWorkflow resolver returned unknown case: ${l}. Expected one of: ${Object.keys(this.agentsMap).join(", ") || "(none)"}.`
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
getEntryNode() {
|
|
54
|
+
return h;
|
|
55
|
+
}
|
|
56
|
+
isTerminalAgent() {
|
|
57
|
+
return !0;
|
|
58
|
+
}
|
|
59
|
+
validateAgents(e) {
|
|
60
|
+
w(this, c, p).call(this), super.validateAgents(e);
|
|
61
|
+
}
|
|
62
|
+
//#endregion
|
|
63
|
+
};
|
|
64
|
+
c = /* @__PURE__ */ new WeakSet();
|
|
65
|
+
p = function() {
|
|
66
|
+
if (!Object.keys(this.agentsMap).length)
|
|
67
|
+
throw new Error("SwitchWorkflow requires a non-empty agentsMap.");
|
|
68
|
+
};
|
|
69
|
+
d([
|
|
70
|
+
u()
|
|
71
|
+
], i.prototype, "agentsMap", 2);
|
|
72
|
+
d([
|
|
73
|
+
u()
|
|
74
|
+
], i.prototype, "resolver", 2);
|
|
75
|
+
d([
|
|
76
|
+
u()
|
|
77
|
+
], i.prototype, "defaultAgent", 2);
|
|
78
|
+
i = d([
|
|
79
|
+
_("SwitchWorkflow")
|
|
80
|
+
], i);
|
|
81
|
+
const h = "__switch_decide";
|
|
82
|
+
export {
|
|
83
|
+
i as SwitchWorkflow
|
|
84
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(){"use strict";const h=(a,r)=>{if(a.length!==r.length)throw new Error("Vectors must be the same length");let c=0,t=0,e=0;for(let n=0;n<a.length;++n){const s=a[n],l=r[n];c+=s*l,t+=s*s,e+=l*l}const i=Math.sqrt(t*e);if(i===0)return 0;const m=c/i;return Math.max(-1,Math.min(1,m))},f=(a,r,c=.6)=>{const t=[],e=[...a];for(;t.length<r&&e.length>0;){let i=-1,m=-1/0;for(let n=0;n<e.length;n++){const s=e[n].score,l=t.length===0?0:Math.max(...t.map(o=>h(e[n].vector,o.vector))),d=c*s-(1-c)*l;d>m&&(m=d,i=n)}t.push(e[i]),e.splice(i,1)}return t.map(({name:i,score:m})=>({name:i,score:m}))};let p=[];const u=new Map,v=12,y=10,M=a=>{p=a.layers.map(r=>({id:r.id,vector:r.vector}))},E=a=>{u.clear();for(const r of a.layers){const c=r.fields.map(t=>({name:t.name,vector:t.vector}));u.set(r.id,c)}};globalThis.addEventListener("message",a=>{(async()=>{const{type:r,webmapEmbeddings:c,layerIdForFieldsSearch:t=[],requestId:e,precomputedEmbedding:i,minScore:m=0,topResults:n=v}=a.data;switch(r){case"generateEmbeddings":{c&&(M(c),E(c)),globalThis.postMessage("completed");break}case"layerSearch":{if(p.length>0)try{const s=p.map(o=>({id:o.id,vector:o.vector,score:h(i,o.vector)})),d=f(s.map(o=>({name:o.id,vector:o.vector,score:o.score})),y).map(({name:o,score:b})=>({id:o,score:b}));globalThis.postMessage({requestId:e,results:d})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Calculation error"})}else globalThis.postMessage({requestId:e,results:[],error:"Layer embeddings not initialized"});break}case"fieldSearch":{if(t.length>0)try{const s=t.map(l=>{const d=u.get(l);if(!d)return{layerId:l,results:[]};const o=d.map(g=>({name:g.name,vector:g.vector,score:h(i,g.vector)})).filter(({score:g})=>g>=m),b=f(o,n);return{layerId:l,results:b}});globalThis.postMessage({requestId:e,results:s})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Field search calculation error"})}break}default:console.warn("Unknown message type:",r)}})()})})();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.
|
|
2
|
-
import"./
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import"./YIMNOUTF.js";var o=`(function(){"use strict";const h=(a,r)=>{if(a.length!==r.length)throw new Error("Vectors must be the same length");let c=0,t=0,e=0;for(let n=0;n<a.length;++n){const s=a[n],l=r[n];c+=s*l,t+=s*s,e+=l*l}const i=Math.sqrt(t*e);if(i===0)return 0;const m=c/i;return Math.max(-1,Math.min(1,m))},f=(a,r,c=.6)=>{const t=[],e=[...a];for(;t.length<r&&e.length>0;){let i=-1,m=-1/0;for(let n=0;n<e.length;n++){const s=e[n].score,l=t.length===0?0:Math.max(...t.map(o=>h(e[n].vector,o.vector))),d=c*s-(1-c)*l;d>m&&(m=d,i=n)}t.push(e[i]),e.splice(i,1)}return t.map(({name:i,score:m})=>({name:i,score:m}))};let p=[];const u=new Map,v=12,y=10,M=a=>{p=a.layers.map(r=>({id:r.id,vector:r.vector}))},E=a=>{u.clear();for(const r of a.layers){const c=r.fields.map(t=>({name:t.name,vector:t.vector}));u.set(r.id,c)}};globalThis.addEventListener("message",a=>{(async()=>{const{type:r,webmapEmbeddings:c,layerIdForFieldsSearch:t=[],requestId:e,precomputedEmbedding:i,minScore:m=0,topResults:n=v}=a.data;switch(r){case"generateEmbeddings":{c&&(M(c),E(c)),globalThis.postMessage("completed");break}case"layerSearch":{if(p.length>0)try{const s=p.map(o=>({id:o.id,vector:o.vector,score:h(i,o.vector)})),d=f(s.map(o=>({name:o.id,vector:o.vector,score:o.score})),y).map(({name:o,score:b})=>({id:o,score:b}));globalThis.postMessage({requestId:e,results:d})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Calculation error"})}else globalThis.postMessage({requestId:e,results:[],error:"Layer embeddings not initialized"});break}case"fieldSearch":{if(t.length>0)try{const s=t.map(l=>{const d=u.get(l);if(!d)return{layerId:l,results:[]};const o=d.map(g=>({name:g.name,vector:g.vector,score:h(i,g.vector)})).filter(({score:g})=>g>=m),b=f(o,n);return{layerId:l,results:b}});globalThis.postMessage({requestId:e,results:s})}catch(s){globalThis.postMessage({requestId:e,results:[],error:s instanceof Error?s.message:"Field search calculation error"})}break}default:console.warn("Unknown message type:",r)}})()})})();
|
|
3
3
|
`,r=typeof self<"u"&&self.Blob&&new Blob(["(self.URL || self.webkitURL).revokeObjectURL(self.location.href);",o],{type:"text/javascript;charset=utf-8"});function a(t){let e;try{if(e=r&&(self.URL||self.webkitURL).createObjectURL(r),!e)throw"";let s=new Worker(e,{name:t?.name});return s.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(e)}),s}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(o),{name:t?.name})}}export{a as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.
|
|
2
|
-
import{g as s,h as e,v as i,y as t}from"./
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{g as s,h as e,v as i,y as t}from"./OH64RMOR.js";import"./YIMNOUTF.js";var o=s`:host{display:contents}.icon{padding:var(--calcite-spacing-sm);border-radius:var(--calcite-spacing-xl);background:var(--calcite-color-brand);color:var(--calcite-color-foreground-1)}.loading-container{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);padding:0 var(--calcite-spacing-sm)}.loading{display:flex;align-items:center;gap:var(--calcite-spacing-sm)}.text{font-style:italic;word-wrap:break-word;word-break:break-all;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical}.skeleton-block{display:flex;flex-direction:column;gap:var(--calcite-spacing-sm);width:100%}.skeleton-text{display:block;height:.95em;border-radius:var(--calcite-border-radius);background:linear-gradient(90deg,color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent),color-mix(in srgb,var(--calcite-color-foreground-3) 85%,transparent),color-mix(in srgb,var(--calcite-color-foreground-2) 65%,transparent));background-size:200% 100%;animation:assistant-message-loading-shimmer 1.2s ease-in-out infinite;width:85%}.skeleton-text:last-child{width:70%}@keyframes assistant-message-loading-shimmer{0%{background-position:-150% 0}to{background-position:150% 0}}@media(prefers-reduced-motion){.skeleton-text{animation:none}}`,a=class extends i{constructor(){super(...arguments),this.loading=!1,this.loadingMessage=""}static{this.properties={loading:5,loadingMessage:1}}static{this.styles=o}render(){return this.loading?e`<arcgis-assistant-message footer-disabled><slot name=icon slot=icon><calcite-icon class="icon" icon=effects scale=s></calcite-icon></slot><slot name=content slot=content><div class="loading-container"><div class="loading"><calcite-loader label=loading inline></calcite-loader><div class="text">${this.loadingMessage}</div></div><div class="skeleton-block"><span class="skeleton-text"></span><span class="skeleton-text"></span></div></div></slot></arcgis-assistant-message>`:null}};t("arcgis-assistant-message-loading",a);export{a as ArcgisAssistantMessageLoading};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
/* COPYRIGHT Esri - https://js.arcgis.com/5.
|
|
2
|
-
import{a as l}from"./
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as l}from"./H7422XUG.js";import"./MH5RPXHM.js";import"./OAVEHGB6.js";import{g as a,h as e,k as o,t as i,u as n,v as r,y as c}from"./OH64RMOR.js";import"./YIMNOUTF.js";export default $arcgis.t(([{watch:d}])=>{var g=a`.container{display:flex;align-items:center;width:100%;justify-content:space-between;gap:var(--calcite-spacing-xs)}.start,.end{display:flex;align-items:center;gap:var(--calcite-spacing-xs)}`,t=class extends r{constructor(){super(...arguments),this._messages=l({blocking:!0}),this._endRef=i(),this._showLog=!1,this.feedbackEnabled=!1,this.logEnabled=!1,this.copyEnabled=!1,this.readAloudEnabled=!1}static{this.properties={_showLog:16,feedbackEnabled:5,logEnabled:5,copyEnabled:5,readAloudEnabled:5,message:0}}static{this.styles=g}loaded(){this.manager.onLifecycle(()=>[d(()=>this._showLog,()=>this._scrollToEnd())])}_scrollToEnd(){requestAnimationFrame(()=>{this._endRef.value?.scrollIntoView({behavior:"smooth",block:"end"})})}_renderCopyButton(){return!this.message?.error&&this.copyEnabled?e`<calcite-action id=action-copy icon=copy-to-clipboard scale=s @click=${async()=>{try{let s=this.message?.content?.trim();s&&await navigator.clipboard.writeText(s)}catch(s){o("warn","assistant-message-footer","Failed to copy text to clipboard",{once:!0,detail:{error:s}})}}} text></calcite-action><calcite-tooltip reference-element=action-copy overlay-positioning=fixed placement=bottom><span>${this._messages.copyButtonLabel}</span></calcite-tooltip>`:null}_renderLogButton(){return this.message?.log?.length&&this.logEnabled?e`<calcite-action id=action-log icon=access-string-results scale=s @click=${()=>this._showLog=!this._showLog} .text=${this._messages.logButtonLabel} .active=${this._showLog}></calcite-action><calcite-tooltip reference-element=action-log overlay-positioning=fixed placement=bottom><span>${this._messages.logButtonLabel}</span></calcite-tooltip>`:null}_renderReadAloudButton(){return e`<arcgis-assistant-message-read-aloud .message=${this.message} .readAloudEnabled=${this.readAloudEnabled}></arcgis-assistant-message-read-aloud>`}_renderLog(){return e`<arcgis-assistant-message-log .log=${this.message?.log} .showLog=${this._showLog} .logEnabled=${this.logEnabled}></arcgis-assistant-message-log>`}_renderFeedback(){return e`<arcgis-assistant-message-feedback .message=${this.message} .feedbackEnabled=${this.feedbackEnabled}></arcgis-assistant-message-feedback>`}render(){return e`${this._renderLog()}<div class="container"><div class="start">${this._renderCopyButton()}${this._renderLogButton()}${this._renderReadAloudButton()}<slot name=footer-actions-start></slot></div><div class="end"><slot name=footer-actions-end></slot>${this._renderFeedback()}</div></div><div ${n(this._endRef)}></div>`}};c("arcgis-assistant-message-footer",t);return t},"core/reactiveUtils")
|