@arcgis/ai-components 5.1.0-next.7 → 5.1.0-next.71
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/24MYCR6F.js +3 -0
- package/dist/cdn/276ERLGQ.js +2 -0
- package/dist/cdn/2MLMI2OK.js +2 -0
- package/dist/cdn/3D2FSGMT.js +75 -0
- package/dist/cdn/3M7XAZRH.js +2 -0
- package/dist/cdn/{ZYQ6U2YH.js → 5PT7ZFXF.js} +46 -6
- package/dist/cdn/7CRP5WU6.js +2 -0
- package/dist/cdn/{LTBEINKG.js → ABCHVJTB.js} +13 -1
- package/dist/cdn/B4DEC7PH.js +2 -0
- package/dist/cdn/B66A2V6H.js +2 -0
- package/dist/cdn/BUO7QQDY.js +2 -0
- package/dist/cdn/C5BYUKXO.js +72 -0
- package/dist/cdn/DR56NDCW.js +2 -0
- package/dist/cdn/{62K6RJZZ.js → ESTSYVJP.js} +15 -2
- package/dist/cdn/FEBQMS6F.js +2 -0
- package/dist/cdn/GY6V3KIF.js +2 -0
- package/dist/cdn/IHZ6MKIF.js +2 -0
- package/dist/cdn/IR3YHQ5A.js +225 -0
- package/dist/cdn/JG7SOQYZ.js +2 -0
- package/dist/cdn/{UY4FI7AP.js → KADK7ZYA.js} +1 -1
- package/dist/cdn/KVH3PDVW.js +2 -0
- package/dist/cdn/KWBMH7LU.js +61 -0
- package/dist/cdn/L7YTPHKQ.js +349 -0
- package/dist/cdn/MZBTKGRF.js +2 -0
- package/dist/cdn/MZJGADGH.js +122 -0
- package/dist/cdn/OLR6WPCR.js +2 -0
- package/dist/cdn/OQNCJHHX.js +2 -0
- package/dist/cdn/RFTAJAJW.js +2 -0
- package/dist/cdn/RMM7LKZF.js +3 -0
- package/dist/cdn/SGGBOB5K.js +4 -0
- package/dist/cdn/SN2JIWIP.js +2 -0
- package/dist/cdn/TD3EJQQF.js +2 -0
- package/dist/cdn/WH52UBDS.js +2 -0
- package/dist/cdn/WPWVMXUE.js +2 -0
- package/dist/cdn/Y4YK5Q2F.js +2 -0
- package/dist/cdn/{WBSNYWJJ.js → YGW7TUNX.js} +1 -1
- package/dist/cdn/ZDEYVBH7.js +44 -0
- 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.en.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-chat-entry/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-chat-entry/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ar.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.bg.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.bs.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ca.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.cs.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.da.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.de.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.el.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.es.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.et.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.fi.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.fr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.he.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.hr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.hu.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.id.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.it.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ja.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ko.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.lt.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.lv.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.nl.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.no.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pl.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-BR.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.pt-PT.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ro.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.ru.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sk.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sl.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.sv.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.th.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.tr.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.uk.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.vi.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-CN.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-HK.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.zh-TW.json +1 -1
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-feedback/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-footer/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-read-aloud/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-suggested-prompts/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/converterUtils.js +117 -0
- package/dist/chunks/utils.js +16 -14
- package/dist/chunks/utils2.js +8 -3
- package/dist/components/arcgis-assistant/customElement.d.ts +342 -27
- package/dist/components/arcgis-assistant/customElement.js +216 -147
- package/dist/components/arcgis-assistant/index.js +9 -2
- package/dist/components/arcgis-assistant/types.d.ts +136 -0
- package/dist/components/arcgis-assistant-agent/customElement.d.ts +22 -8
- package/dist/components/arcgis-assistant-agent/customElement.js +7 -7
- package/dist/components/arcgis-assistant-chat/customElement.d.ts +2 -9
- package/dist/components/arcgis-assistant-chat/customElement.js +13 -13
- package/dist/components/arcgis-assistant-chat/index.js +0 -1
- package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -12
- package/dist/components/arcgis-assistant-chat-entry/customElement.js +59 -25
- package/dist/components/arcgis-assistant-chat-entry/index.js +1 -2
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.d.ts +73 -6
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +5 -5
- package/dist/components/arcgis-assistant-help-agent/customElement.d.ts +73 -0
- package/dist/components/arcgis-assistant-help-agent/customElement.js +26 -0
- package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-interrupt/customElement.js +8 -8
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +6 -6
- package/dist/components/arcgis-assistant-message/customElement.d.ts +18 -0
- package/dist/components/arcgis-assistant-message/customElement.js +29 -0
- package/dist/components/arcgis-assistant-message/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-message/index.js +4 -0
- package/dist/components/arcgis-assistant-message-block/customElement.d.ts +8 -0
- package/dist/components/arcgis-assistant-message-block/customElement.js +29 -0
- package/dist/components/arcgis-assistant-message-block/index.js +2 -0
- package/dist/components/arcgis-assistant-message-content/customElement.d.ts +12 -0
- package/dist/components/arcgis-assistant-message-content/customElement.js +62 -0
- package/dist/components/arcgis-assistant-message-content/index.js +4 -0
- package/dist/components/arcgis-assistant-message-feedback/customElement.d.ts +23 -0
- package/dist/components/arcgis-assistant-message-feedback/customElement.js +36 -0
- package/dist/components/arcgis-assistant-message-feedback/index.js +3 -0
- package/dist/components/arcgis-assistant-message-footer/customElement.d.ts +25 -0
- package/dist/components/arcgis-assistant-message-footer/customElement.js +62 -0
- package/dist/components/arcgis-assistant-message-footer/index.js +6 -0
- package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +10 -0
- package/dist/components/arcgis-assistant-message-loading/customElement.js +23 -0
- package/dist/components/arcgis-assistant-message-loading/index.js +4 -0
- package/dist/components/arcgis-assistant-message-log/customElement.d.ts +11 -0
- package/dist/components/arcgis-assistant-message-log/customElement.js +29 -0
- package/dist/components/arcgis-assistant-message-log/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-message-log/index.js +3 -0
- package/dist/components/arcgis-assistant-message-read-aloud/customElement.d.ts +19 -0
- package/dist/components/arcgis-assistant-message-read-aloud/customElement.js +104 -0
- package/dist/components/arcgis-assistant-message-read-aloud/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-message-read-aloud/index.js +3 -0
- package/dist/components/arcgis-assistant-message-text/customElement.d.ts +7 -0
- package/dist/components/arcgis-assistant-message-text/customElement.js +22 -0
- package/dist/components/arcgis-assistant-message-text/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-message-text/index.js +1 -0
- package/dist/components/arcgis-assistant-navigation-agent/customElement.d.ts +53 -6
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +5 -5
- package/dist/components/arcgis-assistant-speech-input/customElement.d.ts +31 -0
- package/dist/components/arcgis-assistant-speech-input/customElement.js +488 -0
- package/dist/components/arcgis-assistant-speech-input/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-speech-input/index.js +2 -0
- package/dist/components/arcgis-assistant-speech-input/support/types.d.ts +20 -0
- package/dist/components/arcgis-assistant-suggested-prompts/customElement.d.ts +16 -0
- package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +27 -0
- package/dist/components/arcgis-assistant-suggested-prompts/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-suggested-prompts/index.js +3 -0
- package/dist/components/arcgis-assistant-user-message/customElement.d.ts +10 -0
- package/dist/components/arcgis-assistant-user-message/customElement.js +23 -0
- package/dist/components/arcgis-assistant-user-message/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-user-message/index.js +2 -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 +78 -22
- package/dist/loader.js +19 -11
- package/dist/types/lumina.d.ts +83 -26
- package/dist/types/preact.d.ts +96 -31
- package/dist/types/react.d.ts +109 -36
- package/dist/types/stencil.d.ts +83 -26
- package/dist/utils/index.d.ts +305 -0
- package/dist/utils/index.js +13 -0
- package/package.json +15 -8
- package/dist/cdn/26V7SXDR.js +0 -4
- package/dist/cdn/2PLHSU7P.js +0 -271
- package/dist/cdn/4Y73V2HU.js +0 -2
- package/dist/cdn/6T2EIYO4.js +0 -59
- package/dist/cdn/AIAY4NON.js +0 -245
- package/dist/cdn/CN6VFVA2.js +0 -19
- package/dist/cdn/GCFT45CD.js +0 -2
- package/dist/cdn/GN2HYJJX.js +0 -4
- package/dist/cdn/HN2HMAMX.js +0 -28
- package/dist/cdn/I22GHLAO.js +0 -2
- package/dist/cdn/IFSNQY7L.js +0 -2
- package/dist/cdn/IFWK7P7O.js +0 -2
- package/dist/cdn/J35M7O4J.js +0 -2
- package/dist/cdn/JABDBJPC.js +0 -2
- package/dist/cdn/KJZARHAM.js +0 -2
- package/dist/cdn/M672SFG6.js +0 -2
- package/dist/cdn/M7XUI5KY.js +0 -77
- package/dist/cdn/NKNUZCLA.js +0 -17
- package/dist/cdn/Q674OE2M.js +0 -2
- package/dist/cdn/SOWNHB7F.js +0 -30
- package/dist/cdn/VUHDKXFM.js +0 -2
- package/dist/cdn/X7WF7TCS.js +0 -2
- package/dist/cdn/XGVAPO3I.js +0 -2
- package/dist/cdn/XVUE27HC.js +0 -2
- package/dist/cdn/Y7UZYXEV.js +0 -2
- package/dist/cdn/ZF7JAW4Z.js +0 -2
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.ar.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.bg.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.bs.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.ca.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.cs.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.da.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.de.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.el.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.en.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.es.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.et.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.fi.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.fr.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.he.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.hr.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.hu.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.id.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.it.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.ja.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.ko.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.lt.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.lv.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.nl.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.no.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.pl.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.pt-BR.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.pt-PT.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.ro.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.ru.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.sk.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.sl.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.sr.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.sv.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.th.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.tr.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.uk.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.vi.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.zh-CN.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.zh-HK.json +0 -1
- package/dist/cdn/assets/assistant-chat-card/t9n/messages.zh-TW.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.ar.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.bg.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.bs.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.ca.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.cs.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.da.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.de.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.el.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.en.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.es.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.et.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.fi.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.fr.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.he.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.hr.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.hu.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.id.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.it.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.ja.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.ko.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.lt.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.lv.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.nl.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.no.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.pl.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.pt-BR.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.pt-PT.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.ro.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.ru.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.sk.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.sl.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.sr.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.sv.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.th.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.tr.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.uk.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.vi.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.zh-CN.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.zh-HK.json +0 -1
- package/dist/cdn/assets/assistant-shell/t9n/messages.zh-TW.json +0 -1
- package/dist/components/arcgis-assistant-chat-card/customElement.d.ts +0 -32
- package/dist/components/arcgis-assistant-chat-card/customElement.js +0 -53
- package/dist/components/arcgis-assistant-chat-card/index.js +0 -6
- package/dist/components/arcgis-assistant-chat-card-content/customElement.d.ts +0 -12
- package/dist/components/arcgis-assistant-chat-card-content/customElement.js +0 -40
- package/dist/components/arcgis-assistant-chat-card-content/index.js +0 -2
- package/dist/components/arcgis-assistant-layer-filter-agent/customElement.d.ts +0 -8
- package/dist/components/arcgis-assistant-layer-filter-agent/customElement.js +0 -26
- package/dist/components/arcgis-assistant-layer-query-agent/customElement.d.ts +0 -8
- package/dist/components/arcgis-assistant-layer-query-agent/customElement.js +0 -26
- package/dist/components/arcgis-assistant-shell/customElement.d.ts +0 -37
- package/dist/components/arcgis-assistant-shell/customElement.js +0 -27
- package/dist/components/arcgis-assistant-shell/index.js +0 -6
- /package/dist/components/{arcgis-assistant-chat-card-content → arcgis-assistant-help-agent}/index.d.ts +0 -0
- /package/dist/components/{arcgis-assistant-layer-filter-agent → arcgis-assistant-help-agent}/index.js +0 -0
- /package/dist/components/{arcgis-assistant-chat-card → arcgis-assistant-message-block}/index.d.ts +0 -0
- /package/dist/components/{arcgis-assistant-layer-filter-agent → arcgis-assistant-message-content}/index.d.ts +0 -0
- /package/dist/components/{arcgis-assistant-layer-query-agent → arcgis-assistant-message-feedback}/index.d.ts +0 -0
- /package/dist/components/{arcgis-assistant-shell → arcgis-assistant-message-footer}/index.d.ts +0 -0
- /package/dist/components/{arcgis-assistant-layer-query-agent/index.js → arcgis-assistant-message-loading/index.d.ts} +0 -0
|
@@ -3,14 +3,14 @@ import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
|
3
3
|
import type { ArcgisMap as ArcgisMap } from "@arcgis/map-components/components/arcgis-map";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* The Navigation Agent
|
|
7
|
-
*
|
|
8
|
-
* Currently, this is only scoped to navigation within a 2D map view.
|
|
6
|
+
* The Navigation Agent enables the end user to navigate to different areas of a web map. See the list
|
|
7
|
+
* of capabilities below for more details.
|
|
9
8
|
*
|
|
10
9
|
* This is an unrendered component that must be added as a child of the `arcgis-assistant` component in either HTML or JavaScript.
|
|
11
10
|
*
|
|
12
11
|
* ```html
|
|
13
|
-
* <arcgis-
|
|
12
|
+
* <arcgis-map id="my-map"></arcgis-map>
|
|
13
|
+
* <arcgis-assistant reference-element="my-map">
|
|
14
14
|
* <arcgis-assistant-navigation-agent></arcgis-assistant-navigation-agent>
|
|
15
15
|
* </arcgis-assistant>
|
|
16
16
|
* ```
|
|
@@ -21,14 +21,61 @@ import type { ArcgisMap as ArcgisMap } from "@arcgis/map-components/components/a
|
|
|
21
21
|
* assistant.appendChild(navigationAgent);
|
|
22
22
|
* ```
|
|
23
23
|
*
|
|
24
|
+
* Once added to the assistant, the agent is loaded and ready to receive user messages related to navigation.
|
|
25
|
+
*
|
|
26
|
+
* ### Capabilities
|
|
27
|
+
*
|
|
28
|
+
* The navigation agent provides the following capabilities related to map navigation:
|
|
29
|
+
*
|
|
30
|
+
* - **Geocoding** - Navigate to an address using Esri's World Geocoding Service.
|
|
31
|
+
* - **Go to extent** - Navigate to the extent of a bookmark in the map, the home extent of the web map,
|
|
32
|
+
* or the extent of a layer.
|
|
33
|
+
* - **Go to features** - Navigate to a specified feature or set of features.
|
|
34
|
+
* - **Go to viewpoint** - Navigate to a specified viewpoint, which can include center, zoom, and/or
|
|
35
|
+
* rotation.
|
|
36
|
+
*
|
|
37
|
+
* ### Example questions
|
|
38
|
+
*
|
|
39
|
+
* The following are example questions a user can ask within the bounds of the navigation agent:
|
|
40
|
+
*
|
|
41
|
+
* - "Go to the Golden Gate Bridge"
|
|
42
|
+
* - "Zoom to a 1 to 24,000 scale"
|
|
43
|
+
* - "Zoom in"
|
|
44
|
+
* - "Go to the parks layer"
|
|
45
|
+
*
|
|
46
|
+
* The following are examples of the types of questions that fall outside the bounds of the
|
|
47
|
+
* navigation agent and should therefore be avoided:
|
|
48
|
+
*
|
|
49
|
+
* - "Rotate the map 45 degrees" (this capability is not currently supported but may be in the future)
|
|
50
|
+
* - "Make this map 3D and tilt the view to a 45 degree angle" (3D navigation is currently not supported)
|
|
51
|
+
* - "Where am I?" (the navigation agent does not have access to the user's location)
|
|
52
|
+
*
|
|
53
|
+
* > Due to the non-deterministic nature of generative AI, there may be inaccuracies or unexpected behavior when using the
|
|
54
|
+
* out-of-the-box agents.
|
|
55
|
+
*
|
|
24
56
|
* @since 5.0
|
|
25
57
|
* @beta
|
|
26
58
|
* @see [arcgis-assistant](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/)
|
|
59
|
+
* @see [Intro to building agentic mapping applications](https://developers.arcgis.com/javascript/latest/agentic-apps/ai-introduction/)
|
|
60
|
+
* @see [AI Assistant component sample](https://developers.arcgis.com/javascript/latest/sample-code/ai-assistant/)
|
|
27
61
|
*/
|
|
28
62
|
export abstract class ArcgisAssistantNavigationAgent extends LitElement {
|
|
29
63
|
/**
|
|
30
|
-
*
|
|
31
|
-
*
|
|
64
|
+
* The reference element to the map that provides context for the navigation agent. Currently,
|
|
65
|
+
* this is only scoped to `arcgis-map` elements. This shows the navigation agent which map on which to
|
|
66
|
+
* perform navigation actions. This is required for the navigation agent to function properly.
|
|
67
|
+
*
|
|
68
|
+
* Setting this property is not necessary if you set the reference element on the parent
|
|
69
|
+
* `arcgis-assistant` component.
|
|
70
|
+
*
|
|
71
|
+
* @see [arcgis-assistant.referenceElement](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#referenceElement)
|
|
72
|
+
* @example
|
|
73
|
+
* ```html
|
|
74
|
+
* <arcgis-map id="my-map"></arcgis-map>
|
|
75
|
+
* <arcgis-assistant>
|
|
76
|
+
* <arcgis-assistant-navigation-agent reference-element="my-map"></arcgis-assistant-navigation-agent>
|
|
77
|
+
* </arcgis-assistant>
|
|
78
|
+
* ```
|
|
32
79
|
*/
|
|
33
80
|
accessor referenceElement: ArcgisMap | string | undefined;
|
|
34
81
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
2
|
import { c as t } from "../../chunks/runtime.js";
|
|
3
3
|
import { LitElement as i } from "@arcgis/lumina";
|
|
4
|
-
import { NavigationAgent as
|
|
5
|
-
import { r as
|
|
4
|
+
import { NavigationAgent as s } from "@arcgis/ai-agents";
|
|
5
|
+
import { r as a, a as e } from "../../chunks/utils.js";
|
|
6
6
|
class n extends i {
|
|
7
7
|
constructor() {
|
|
8
|
-
super(...arguments), this.agent =
|
|
8
|
+
super(...arguments), this.agent = s;
|
|
9
9
|
}
|
|
10
10
|
static {
|
|
11
11
|
this.properties = { referenceElement: 1 };
|
|
@@ -16,8 +16,8 @@ class n extends i {
|
|
|
16
16
|
throw new Error("arcgis-assistant-navigation-agent requires a mapView");
|
|
17
17
|
return { mapView: this.#t };
|
|
18
18
|
}
|
|
19
|
-
|
|
20
|
-
this.#t =
|
|
19
|
+
load() {
|
|
20
|
+
this.#t = a(this, "arcgis-assistant-navigation-agent"), e(this);
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
t("arcgis-assistant-navigation-agent", n);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
3
|
+
import type { VoiceInputDraftChangeDetail, VoiceInputErrorCode, VoiceInputMode, VoiceInputTranscriptDetail, VoiceInputTranscriptionStreamChunkDetail } from "./support/types.js";
|
|
4
|
+
|
|
5
|
+
/** @internal */
|
|
6
|
+
export abstract class ArcgisAssistantSpeechInput extends LitElement {
|
|
7
|
+
/** @default false */
|
|
8
|
+
accessor awaitingResponse: boolean;
|
|
9
|
+
/** @default "" */
|
|
10
|
+
accessor inputValue: string;
|
|
11
|
+
accessor language: string | undefined;
|
|
12
|
+
/** @default "web-speech" */
|
|
13
|
+
accessor mode: VoiceInputMode;
|
|
14
|
+
clearDraftSession(): void;
|
|
15
|
+
readonly arcgisVoiceInputDraftChange: import("@arcgis/lumina").TargetedEvent<this, VoiceInputDraftChangeDetail>;
|
|
16
|
+
readonly arcgisVoiceInputError: import("@arcgis/lumina").TargetedEvent<this, { errorCode: VoiceInputErrorCode; }>;
|
|
17
|
+
readonly arcgisVoiceInputInterimTranscription: import("@arcgis/lumina").TargetedEvent<this, VoiceInputTranscriptDetail>;
|
|
18
|
+
readonly arcgisVoiceInputStart: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
19
|
+
readonly arcgisVoiceInputStop: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
20
|
+
readonly arcgisVoiceInputTranscription: import("@arcgis/lumina").TargetedEvent<this, VoiceInputTranscriptDetail>;
|
|
21
|
+
readonly arcgisVoiceInputTranscriptionStreamChunk: import("@arcgis/lumina").TargetedEvent<this, VoiceInputTranscriptionStreamChunkDetail>;
|
|
22
|
+
readonly "@eventTypes": {
|
|
23
|
+
arcgisVoiceInputDraftChange: ArcgisAssistantSpeechInput["arcgisVoiceInputDraftChange"]["detail"];
|
|
24
|
+
arcgisVoiceInputError: ArcgisAssistantSpeechInput["arcgisVoiceInputError"]["detail"];
|
|
25
|
+
arcgisVoiceInputInterimTranscription: ArcgisAssistantSpeechInput["arcgisVoiceInputInterimTranscription"]["detail"];
|
|
26
|
+
arcgisVoiceInputStart: ArcgisAssistantSpeechInput["arcgisVoiceInputStart"]["detail"];
|
|
27
|
+
arcgisVoiceInputStop: ArcgisAssistantSpeechInput["arcgisVoiceInputStop"]["detail"];
|
|
28
|
+
arcgisVoiceInputTranscription: ArcgisAssistantSpeechInput["arcgisVoiceInputTranscription"]["detail"];
|
|
29
|
+
arcgisVoiceInputTranscriptionStreamChunk: ArcgisAssistantSpeechInput["arcgisVoiceInputTranscriptionStreamChunk"]["detail"];
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,488 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
+
import { c as S } from "../../chunks/runtime.js";
|
|
3
|
+
import { css as R, html as y } from "lit";
|
|
4
|
+
import { when as C, watch as p } from "@arcgis/core/core/reactiveUtils.js";
|
|
5
|
+
import { LitElement as w, createEvent as d, nothing as v } from "@arcgis/lumina";
|
|
6
|
+
import I from "@arcgis/core/core/Accessor.js";
|
|
7
|
+
import { property as l, subclass as f } from "@arcgis/core/core/accessorSupport/decorators.js";
|
|
8
|
+
const T = R`.button{--calcite-button-background-color: var(--calcite-color-transparent);--calcite-button-border-color: transparent;--calcite-button-icon-color: var(--calcite-color-text-3);--calcite-button-text-color: var(--calcite-color-text-3);flex:0 0 auto;position:relative}.button[data-state=disabled]{--calcite-button-icon-color: var(--calcite-color-text-3);opacity:var(--calcite-opacity-disabled)}.button[data-state=listening]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 14%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-brand) 24%, transparent);--calcite-button-icon-color: var(--calcite-color-brand);--calcite-button-text-color: var(--calcite-color-brand);box-shadow:var(--calcite-shadow-sm)}.button[data-state=listening]:hover{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand-hover, var(--calcite-color-brand)) 18%, var(--calcite-color-foreground-1) )}.button[data-state=listening]:active{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 24%, var(--calcite-color-foreground-1) )}.button[data-state=processing]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-brand) 10%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-brand) 20%, transparent);--calcite-button-icon-color: var(--calcite-color-brand);--calcite-button-text-color: var(--calcite-color-brand)}.button[data-state=error]{--calcite-button-background-color: color-mix( in srgb, var(--calcite-color-status-danger) 12%, var(--calcite-color-foreground-1) );--calcite-button-border-color: color-mix(in srgb, var(--calcite-color-status-danger) 24%, transparent);--calcite-button-icon-color: var(--calcite-color-status-danger);--calcite-button-text-color: var(--calcite-color-status-danger)}.button[data-state=listening]:after{content:"";position:absolute;inset:-4px;border:1px solid color-mix(in srgb,var(--calcite-color-brand) 40%,transparent);border-radius:inherit;opacity:0;pointer-events:none;transform:scale(.92);animation:assistant-speech-input-recording-pulse 1.8s ease-out infinite}@keyframes assistant-speech-input-recording-pulse{0%{opacity:.65;transform:scale(.92)}70%{opacity:0;transform:scale(1.16)}to{opacity:0;transform:scale(1.16)}}@media(prefers-reduced-motion){.button[data-state=listening]:after{animation:none}}`;
|
|
9
|
+
var k = Object.defineProperty, x = Object.getOwnPropertyDescriptor, u = (t, e, s, i) => {
|
|
10
|
+
for (var r = i > 1 ? void 0 : i ? x(e, s) : e, n = t.length - 1, o; n >= 0; n--)
|
|
11
|
+
(o = t[n]) && (r = (i ? o(e, s, r) : o(r)) || r);
|
|
12
|
+
return i && r && k(e, s, r), r;
|
|
13
|
+
};
|
|
14
|
+
let a = class extends I {
|
|
15
|
+
constructor(t) {
|
|
16
|
+
super(t), this.state = "idle", this.liveTranscript = "", this.transcript = "", this.errorCode = void 0;
|
|
17
|
+
}
|
|
18
|
+
static isSupported() {
|
|
19
|
+
return !1;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
u([
|
|
23
|
+
l()
|
|
24
|
+
], a.prototype, "language", 2);
|
|
25
|
+
u([
|
|
26
|
+
l({ readOnly: !0 })
|
|
27
|
+
], a.prototype, "state", 2);
|
|
28
|
+
u([
|
|
29
|
+
l({ readOnly: !0 })
|
|
30
|
+
], a.prototype, "liveTranscript", 2);
|
|
31
|
+
u([
|
|
32
|
+
l({ readOnly: !0 })
|
|
33
|
+
], a.prototype, "transcript", 2);
|
|
34
|
+
u([
|
|
35
|
+
l({ readOnly: !0 })
|
|
36
|
+
], a.prototype, "errorCode", 2);
|
|
37
|
+
a = u([
|
|
38
|
+
f("SpeechController")
|
|
39
|
+
], a);
|
|
40
|
+
const V = [
|
|
41
|
+
"audio/webm;codecs=opus",
|
|
42
|
+
"audio/webm",
|
|
43
|
+
"audio/mp4",
|
|
44
|
+
"audio/ogg;codecs=opus",
|
|
45
|
+
"audio/ogg"
|
|
46
|
+
];
|
|
47
|
+
function h(t) {
|
|
48
|
+
return t.replace(/\s+/gu, " ").trim();
|
|
49
|
+
}
|
|
50
|
+
var O = Object.defineProperty, M = Object.getOwnPropertyDescriptor, g = (t, e, s, i) => {
|
|
51
|
+
for (var r = i > 1 ? void 0 : i ? M(e, s) : e, n = t.length - 1, o; n >= 0; n--)
|
|
52
|
+
(o = t[n]) && (r = (i ? o(e, s, r) : o(r)) || r);
|
|
53
|
+
return i && r && O(e, s, r), r;
|
|
54
|
+
};
|
|
55
|
+
let c = class extends a {
|
|
56
|
+
constructor(t) {
|
|
57
|
+
super(t), this._activeSessionId = null, this._mediaRecorder = null, this._mediaRecorderChunkIndex = 0, this._mediaRecorderStopReason = null, this._mediaStream = null, this._pendingChunkOperations = /* @__PURE__ */ new Set(), this._recordedChunks = [], this.handleRecording = null, this.chunkTimeSlice = 3e3;
|
|
58
|
+
}
|
|
59
|
+
get _mimeType() {
|
|
60
|
+
return typeof window > "u" || typeof window.MediaRecorder?.isTypeSupported != "function" ? "" : V.find((t) => window.MediaRecorder.isTypeSupported(t)) ?? "";
|
|
61
|
+
}
|
|
62
|
+
initialize() {
|
|
63
|
+
c.isSupported() && this.addHandles(
|
|
64
|
+
C(
|
|
65
|
+
() => !!this.errorCode,
|
|
66
|
+
() => {
|
|
67
|
+
this._set("state", "error");
|
|
68
|
+
}
|
|
69
|
+
)
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
destroy() {
|
|
73
|
+
this._mediaRecorder && (this._mediaRecorder.onstart = null, this._mediaRecorder.ondataavailable = null, this._mediaRecorder.onerror = null, this._mediaRecorder.onstop = null), this.cancel(), this._mediaRecorder = null;
|
|
74
|
+
}
|
|
75
|
+
// Stop waits for any in-flight chunk transcription before finalizing the session transcript.
|
|
76
|
+
_queuePendingChunkOperation(t) {
|
|
77
|
+
this._pendingChunkOperations.add(t), t.finally(() => {
|
|
78
|
+
this._pendingChunkOperations.delete(t);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
async _awaitPendingChunkOperations() {
|
|
82
|
+
this._pendingChunkOperations.size && await Promise.allSettled(Array.from(this._pendingChunkOperations));
|
|
83
|
+
}
|
|
84
|
+
_onDataAvailable(t) {
|
|
85
|
+
const e = this._activeSessionId;
|
|
86
|
+
e != null && this._queuePendingChunkOperation(this._processDataAvailable(t, e));
|
|
87
|
+
}
|
|
88
|
+
async _processDataAvailable(t, e) {
|
|
89
|
+
const s = t.data;
|
|
90
|
+
if (!s.size || e !== this._activeSessionId)
|
|
91
|
+
return;
|
|
92
|
+
this._recordedChunks.push(s);
|
|
93
|
+
const i = s.type || this._mediaRecorder?.mimeType || this._mimeType, r = this._mediaRecorderStopReason === "toggle" && this._mediaRecorder?.state === "inactive";
|
|
94
|
+
try {
|
|
95
|
+
if (!this.handleRecording)
|
|
96
|
+
return;
|
|
97
|
+
const n = h(
|
|
98
|
+
await this.handleRecording(s, i, this._mediaRecorderChunkIndex, r) ?? ""
|
|
99
|
+
);
|
|
100
|
+
if (e !== this._activeSessionId)
|
|
101
|
+
return;
|
|
102
|
+
n && this._set("liveTranscript", h(`${this.liveTranscript} ${n}`));
|
|
103
|
+
} catch (n) {
|
|
104
|
+
if (e !== this._activeSessionId)
|
|
105
|
+
return;
|
|
106
|
+
this._failSession(
|
|
107
|
+
n instanceof Error && n.message === "transcription-unavailable" ? "transcription-unavailable" : "transcription-failed"
|
|
108
|
+
);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
!r && e === this._activeSessionId && (this._mediaRecorderChunkIndex += 1);
|
|
112
|
+
}
|
|
113
|
+
_failSession(t) {
|
|
114
|
+
const e = this._mediaRecorder;
|
|
115
|
+
if (e) {
|
|
116
|
+
e.onstart = null, e.ondataavailable = null, e.onerror = null, e.onstop = null;
|
|
117
|
+
try {
|
|
118
|
+
e.state !== "inactive" && e.stop();
|
|
119
|
+
} catch {
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
this._activeSessionId = null, this._mediaRecorder = null, this._mediaRecorderChunkIndex = 0, this._mediaRecorderStopReason = null, this._pendingChunkOperations.clear(), this._recordedChunks = [], this._releaseMediaStream(), this._set("liveTranscript", ""), this._set("transcript", ""), this._set("errorCode", t);
|
|
123
|
+
}
|
|
124
|
+
_onError() {
|
|
125
|
+
this._failSession("recording-failed");
|
|
126
|
+
}
|
|
127
|
+
_onStart() {
|
|
128
|
+
this._set("state", "listening");
|
|
129
|
+
}
|
|
130
|
+
_onStop() {
|
|
131
|
+
this._handleStop();
|
|
132
|
+
}
|
|
133
|
+
_releaseMediaStream() {
|
|
134
|
+
this._mediaStream?.getTracks().forEach((t) => t.stop()), this._mediaStream = null;
|
|
135
|
+
}
|
|
136
|
+
async _handleStop() {
|
|
137
|
+
const t = this._mediaRecorder, e = this._activeSessionId, s = this._mediaRecorderStopReason, i = t?.mimeType || this._recordedChunks.find((o) => !!o.type)?.type || "", r = [...this._recordedChunks];
|
|
138
|
+
if (this._mediaRecorder = null, this._mediaRecorderChunkIndex = 0, this._releaseMediaStream(), s === "cancel") {
|
|
139
|
+
this._activeSessionId === e && (this._activeSessionId = null), this._mediaRecorderStopReason = null, this._pendingChunkOperations.clear(), this._recordedChunks = [], this._set("liveTranscript", ""), this._set("transcript", ""), this._set("state", "idle"), this._set("errorCode", void 0);
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if (e == null) {
|
|
143
|
+
this._mediaRecorderStopReason = null, this._pendingChunkOperations.clear(), this._recordedChunks = [], this._set("state", "idle"), this._set("errorCode", void 0);
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
if (await this._awaitPendingChunkOperations(), e !== this._activeSessionId)
|
|
147
|
+
return;
|
|
148
|
+
if (!(i ? new Blob(r, { type: i }) : new Blob(r)).size) {
|
|
149
|
+
this._activeSessionId === e && (this._activeSessionId = null), this._mediaRecorderStopReason = null, this._recordedChunks = [], this._set("errorCode", "recording-failed");
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
this._set("state", "processing"), this._set("transcript", h(`${this.transcript} ${this.liveTranscript}`)), this._set("liveTranscript", ""), this._activeSessionId === e && (this._activeSessionId = null), this._set("state", "idle"), this._set("errorCode", void 0), this._mediaRecorderStopReason = null, this._recordedChunks = [];
|
|
153
|
+
}
|
|
154
|
+
start() {
|
|
155
|
+
if (!c.isSupported()) {
|
|
156
|
+
this._set("errorCode", "not-supported");
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
const t = Date.now();
|
|
160
|
+
this._activeSessionId = t, this._mediaRecorderChunkIndex = 0, this._mediaRecorderStopReason = null, this._pendingChunkOperations.clear(), this._recordedChunks = [], this._set("liveTranscript", ""), this._set("transcript", ""), this._set("errorCode", void 0), navigator.mediaDevices.getUserMedia({ audio: !0 }).then((e) => {
|
|
161
|
+
if (t !== this._activeSessionId) {
|
|
162
|
+
e.getTracks().forEach((r) => r.stop());
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
const s = this._mimeType, i = s ? new window.MediaRecorder(e, { mimeType: s }) : new window.MediaRecorder(e);
|
|
166
|
+
this._mediaStream = e, this._mediaRecorder = i, this._mediaRecorderChunkIndex = 0, this._mediaRecorderStopReason = null, this._recordedChunks = [], i.ondataavailable = this._onDataAvailable.bind(this), i.onerror = this._onError.bind(this), i.onstart = this._onStart.bind(this), i.onstop = this._onStop.bind(this), this._mediaRecorder.start(this.chunkTimeSlice);
|
|
167
|
+
}).catch((e) => {
|
|
168
|
+
t === this._activeSessionId && (this._activeSessionId = null, this._mediaRecorder = null, this._mediaRecorderChunkIndex = 0, this._mediaRecorderStopReason = null, this._pendingChunkOperations.clear(), this._recordedChunks = [], this._releaseMediaStream(), e instanceof DOMException && e.name === "NotAllowedError" ? this._set("errorCode", "not-allowed") : this._set("errorCode", "recording-failed"));
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
stop() {
|
|
172
|
+
if (this._mediaRecorder) {
|
|
173
|
+
this._mediaRecorderStopReason = "toggle";
|
|
174
|
+
try {
|
|
175
|
+
this._mediaRecorder.state !== "inactive" ? this._mediaRecorder.stop() : this._handleStop();
|
|
176
|
+
} catch {
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
cancel() {
|
|
181
|
+
const t = this._mediaRecorder;
|
|
182
|
+
if (this._activeSessionId = null, this._mediaRecorderStopReason = "cancel", this._mediaRecorderChunkIndex = 0, this._pendingChunkOperations.clear(), this._recordedChunks = [], this._set("liveTranscript", ""), this._set("transcript", ""), this._set("state", "idle"), this._set("errorCode", void 0), !t) {
|
|
183
|
+
this._releaseMediaStream();
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
try {
|
|
187
|
+
if (t.state !== "inactive") {
|
|
188
|
+
t.stop();
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
} catch {
|
|
192
|
+
}
|
|
193
|
+
this._mediaRecorder = null, this._releaseMediaStream();
|
|
194
|
+
}
|
|
195
|
+
static isSupported() {
|
|
196
|
+
return typeof window < "u" && !!(window.MediaRecorder && navigator.mediaDevices?.getUserMedia);
|
|
197
|
+
}
|
|
198
|
+
};
|
|
199
|
+
g([
|
|
200
|
+
l()
|
|
201
|
+
], c.prototype, "_mimeType", 1);
|
|
202
|
+
g([
|
|
203
|
+
l()
|
|
204
|
+
], c.prototype, "handleRecording", 2);
|
|
205
|
+
g([
|
|
206
|
+
l()
|
|
207
|
+
], c.prototype, "chunkTimeSlice", 2);
|
|
208
|
+
c = g([
|
|
209
|
+
f("MediaRecorderController")
|
|
210
|
+
], c);
|
|
211
|
+
var D = Object.getOwnPropertyDescriptor, $ = (t, e, s, i) => {
|
|
212
|
+
for (var r = i > 1 ? void 0 : i ? D(e, s) : e, n = t.length - 1, o; n >= 0; n--)
|
|
213
|
+
(o = t[n]) && (r = o(r) || r);
|
|
214
|
+
return r;
|
|
215
|
+
};
|
|
216
|
+
function b() {
|
|
217
|
+
if (typeof window > "u")
|
|
218
|
+
return null;
|
|
219
|
+
const t = window;
|
|
220
|
+
return t.SpeechRecognition ?? t.webkitSpeechRecognition ?? null;
|
|
221
|
+
}
|
|
222
|
+
let _ = class extends a {
|
|
223
|
+
constructor(t) {
|
|
224
|
+
super(t), this._isCancelled = !1, this._recognition = null;
|
|
225
|
+
}
|
|
226
|
+
initialize() {
|
|
227
|
+
const t = b();
|
|
228
|
+
if (!t)
|
|
229
|
+
return;
|
|
230
|
+
const e = new t();
|
|
231
|
+
e.continuous = !0, e.interimResults = !0, this.language && (e.lang = this.language), e.onstart = this._onStart.bind(this), e.onresult = this._onResult.bind(this), e.onerror = this._onError.bind(this), e.onend = this._onEnd.bind(this), e.onspeechend = this._onSpeechEnd.bind(this), this._recognition = e, this.addHandles(
|
|
232
|
+
C(
|
|
233
|
+
() => !!this.errorCode,
|
|
234
|
+
() => {
|
|
235
|
+
this._set("state", "error");
|
|
236
|
+
}
|
|
237
|
+
)
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
destroy() {
|
|
241
|
+
this._recognition && (this._recognition.onstart = null, this._recognition.onresult = null, this._recognition.onerror = null, this._recognition.onend = null, this._recognition.onspeechend = null, this.cancel(), this._recognition = null);
|
|
242
|
+
}
|
|
243
|
+
_onStart() {
|
|
244
|
+
this._isCancelled = !1, this._set("state", "listening");
|
|
245
|
+
}
|
|
246
|
+
// SpeechRecognition result lists are cumulative, so rebuild finalized and live text from the full list.
|
|
247
|
+
_onResult(t) {
|
|
248
|
+
const { finalTranscript: e, liveTranscript: s } = Array.from(t.results).reduce(
|
|
249
|
+
(i, r) => (r.isFinal ? i.finalTranscript += r[0].transcript : i.liveTranscript += r[0].transcript, i),
|
|
250
|
+
{ finalTranscript: "", liveTranscript: "" }
|
|
251
|
+
);
|
|
252
|
+
this._set("transcript", h(e)), this._set("liveTranscript", h(s));
|
|
253
|
+
}
|
|
254
|
+
_onError(t) {
|
|
255
|
+
if (t.error === "aborted" && this._isCancelled) {
|
|
256
|
+
this._set("state", "idle");
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
let e = "unhandled";
|
|
260
|
+
switch (t.error) {
|
|
261
|
+
case "no-speech":
|
|
262
|
+
e = "no-speech";
|
|
263
|
+
break;
|
|
264
|
+
case "service-not-allowed":
|
|
265
|
+
case "not-allowed":
|
|
266
|
+
e = "not-allowed";
|
|
267
|
+
break;
|
|
268
|
+
default:
|
|
269
|
+
e = "unhandled";
|
|
270
|
+
}
|
|
271
|
+
this._set("errorCode", e);
|
|
272
|
+
}
|
|
273
|
+
// Natural end can arrive before the last interim segment becomes final, so preserve that trailing text.
|
|
274
|
+
_onEnd() {
|
|
275
|
+
const t = h(`${this.transcript} ${this.liveTranscript}`);
|
|
276
|
+
if (this._set("liveTranscript", ""), this._isCancelled) {
|
|
277
|
+
this._set("transcript", ""), this._set("state", "idle"), this._set("errorCode", void 0);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
this.errorCode ? this._set("transcript", "") : (this._set("transcript", t), this._set("state", "idle")), this._set("errorCode", void 0);
|
|
281
|
+
}
|
|
282
|
+
_onSpeechEnd() {
|
|
283
|
+
this._set("state", "processing");
|
|
284
|
+
}
|
|
285
|
+
_reset(t = !1) {
|
|
286
|
+
this._isCancelled = t, this._set("liveTranscript", ""), this._set("transcript", ""), this._set("errorCode", void 0), this._set("state", "idle");
|
|
287
|
+
}
|
|
288
|
+
start() {
|
|
289
|
+
if (!this._recognition) {
|
|
290
|
+
this._set("errorCode", "not-supported");
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
this._reset(!1);
|
|
294
|
+
try {
|
|
295
|
+
this._recognition.start();
|
|
296
|
+
} catch {
|
|
297
|
+
this._set("errorCode", "unhandled");
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
stop() {
|
|
301
|
+
if (this._recognition) {
|
|
302
|
+
this._set("state", "processing");
|
|
303
|
+
try {
|
|
304
|
+
this._recognition.stop();
|
|
305
|
+
} catch {
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
cancel() {
|
|
310
|
+
if (this._recognition) {
|
|
311
|
+
this._reset(!0);
|
|
312
|
+
try {
|
|
313
|
+
this._recognition.abort();
|
|
314
|
+
} catch {
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
static isSupported() {
|
|
319
|
+
return !!b();
|
|
320
|
+
}
|
|
321
|
+
};
|
|
322
|
+
_ = $([
|
|
323
|
+
f("WebSpeechController")
|
|
324
|
+
], _);
|
|
325
|
+
function m(t) {
|
|
326
|
+
const { baseValue: e, transcript: s } = t;
|
|
327
|
+
if (!s)
|
|
328
|
+
return e;
|
|
329
|
+
const i = e.trim();
|
|
330
|
+
return i ? `${i} ${s}` : s;
|
|
331
|
+
}
|
|
332
|
+
class E extends w {
|
|
333
|
+
constructor() {
|
|
334
|
+
super(...arguments), this.#e = null, this._resolvedMode = "disabled", this.awaitingResponse = !1, this.inputValue = "", this.mode = "web-speech", this.arcgisVoiceInputDraftChange = d(), this.arcgisVoiceInputError = d(), this.arcgisVoiceInputInterimTranscription = d(), this.arcgisVoiceInputStart = d(), this.arcgisVoiceInputStop = d(), this.arcgisVoiceInputTranscription = d(), this.arcgisVoiceInputTranscriptionStreamChunk = d();
|
|
335
|
+
}
|
|
336
|
+
static {
|
|
337
|
+
this.properties = { _resolvedMode: 16, _state: 16, _errorCode: 16, _liveTranscript: 16, _transcript: 16, _isButtonDisabled: 16, _buttonLabel: 16, awaitingResponse: 5, inputValue: 1, language: 1, mode: 1 };
|
|
338
|
+
}
|
|
339
|
+
static {
|
|
340
|
+
this.styles = T;
|
|
341
|
+
}
|
|
342
|
+
#e;
|
|
343
|
+
get _state() {
|
|
344
|
+
return this._speechController?.state ?? "idle";
|
|
345
|
+
}
|
|
346
|
+
get _errorCode() {
|
|
347
|
+
return this._speechController?.errorCode ?? null;
|
|
348
|
+
}
|
|
349
|
+
get _liveTranscript() {
|
|
350
|
+
return this._speechController?.liveTranscript ?? "";
|
|
351
|
+
}
|
|
352
|
+
get _transcript() {
|
|
353
|
+
return this._speechController?.transcript ?? "";
|
|
354
|
+
}
|
|
355
|
+
get _isButtonDisabled() {
|
|
356
|
+
return this._resolvedMode === "disabled" || this.awaitingResponse || this._state === "processing";
|
|
357
|
+
}
|
|
358
|
+
get _buttonLabel() {
|
|
359
|
+
if (this.awaitingResponse)
|
|
360
|
+
return "Voice input unavailable while assistant is responding";
|
|
361
|
+
if (this._resolvedMode === "disabled")
|
|
362
|
+
return "Voice input unavailable";
|
|
363
|
+
switch (this._state) {
|
|
364
|
+
case "error":
|
|
365
|
+
return this._errorCode === "not-allowed" ? "Microphone permission denied. Retry voice input" : "Retry voice input";
|
|
366
|
+
case "listening":
|
|
367
|
+
return "Stop voice input";
|
|
368
|
+
case "processing":
|
|
369
|
+
return "Processing voice input";
|
|
370
|
+
default:
|
|
371
|
+
return "Start voice input";
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
clearDraftSession() {
|
|
375
|
+
this.#e = null;
|
|
376
|
+
}
|
|
377
|
+
loaded() {
|
|
378
|
+
this.manager.onLifecycle(() => [
|
|
379
|
+
p(() => [this.mode, this.language], () => {
|
|
380
|
+
this._configureController();
|
|
381
|
+
}, { initial: !0 }),
|
|
382
|
+
p(() => this.awaitingResponse, (e) => {
|
|
383
|
+
e && this._cancelActiveSession();
|
|
384
|
+
}, { initial: !0 }),
|
|
385
|
+
p(() => this._liveTranscript, (e) => {
|
|
386
|
+
if (e) {
|
|
387
|
+
const s = h(`${this._transcript} ${e}`);
|
|
388
|
+
this.arcgisVoiceInputInterimTranscription.emit({ transcript: s }), this._applyVoiceInputTranscript(s);
|
|
389
|
+
}
|
|
390
|
+
}),
|
|
391
|
+
p(() => this._transcript, (e) => {
|
|
392
|
+
e && (this.arcgisVoiceInputTranscription.emit({ transcript: e }), this._applyVoiceInputTranscript(e, { final: !0 }));
|
|
393
|
+
}),
|
|
394
|
+
p(() => this._state, (e) => {
|
|
395
|
+
e === "error" && this._errorCode && this.arcgisVoiceInputError.emit({ errorCode: this._errorCode });
|
|
396
|
+
})
|
|
397
|
+
]);
|
|
398
|
+
}
|
|
399
|
+
disconnectedCallback() {
|
|
400
|
+
super.disconnectedCallback(), this._destroySpeechController();
|
|
401
|
+
}
|
|
402
|
+
_configureController() {
|
|
403
|
+
const e = this._resolveMode();
|
|
404
|
+
this._destroySpeechController(), this._resolvedMode = e, e !== "disabled" && (this._speechController = e === "web-speech" ? new _({
|
|
405
|
+
language: this.language
|
|
406
|
+
}) : new c({
|
|
407
|
+
language: this.language,
|
|
408
|
+
handleRecording: this._handleRecording.bind(this)
|
|
409
|
+
}));
|
|
410
|
+
}
|
|
411
|
+
_destroySpeechController() {
|
|
412
|
+
this._speechController?.cancel(), this._speechController?.destroy(), this._speechController = void 0;
|
|
413
|
+
}
|
|
414
|
+
_emitDraftChange(e, s) {
|
|
415
|
+
this.arcgisVoiceInputDraftChange.emit({
|
|
416
|
+
focusInput: s?.focusInput,
|
|
417
|
+
value: e
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
_startVoiceInputSession() {
|
|
421
|
+
this.#e = {
|
|
422
|
+
baseValue: this.inputValue.trim(),
|
|
423
|
+
phase: "listening",
|
|
424
|
+
transcript: ""
|
|
425
|
+
};
|
|
426
|
+
}
|
|
427
|
+
_finishVoiceInputSession() {
|
|
428
|
+
const e = this.#e;
|
|
429
|
+
if (!e) {
|
|
430
|
+
this._emitDraftChange(this.inputValue.trim());
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
const s = { ...e, phase: "stopped" }, i = m(s);
|
|
434
|
+
this.#e = s, this._emitDraftChange(i);
|
|
435
|
+
}
|
|
436
|
+
async _applyVoiceInputTranscript(e, s) {
|
|
437
|
+
const i = this.#e;
|
|
438
|
+
if (!e || !i)
|
|
439
|
+
return;
|
|
440
|
+
if (i.phase === "stopped") {
|
|
441
|
+
const o = m(i);
|
|
442
|
+
if (this.inputValue.trim() !== o) {
|
|
443
|
+
this.clearDraftSession();
|
|
444
|
+
return;
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
const r = { ...i, transcript: e }, n = m(r);
|
|
448
|
+
this.#e = r, this._emitDraftChange(n, {
|
|
449
|
+
focusInput: s?.final && r.phase === "stopped"
|
|
450
|
+
});
|
|
451
|
+
}
|
|
452
|
+
async _handleToggle() {
|
|
453
|
+
if (!(this._isButtonDisabled || !this._speechController)) {
|
|
454
|
+
if (this._state === "listening") {
|
|
455
|
+
this._speechController.stop(), this._finishVoiceInputSession(), this.arcgisVoiceInputStop.emit();
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
this._speechController.start(), this._startVoiceInputSession(), this.arcgisVoiceInputStart.emit();
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
async _handleRecording(e, s, i, r) {
|
|
462
|
+
let n;
|
|
463
|
+
return this.arcgisVoiceInputTranscriptionStreamChunk.emit({
|
|
464
|
+
blob: e,
|
|
465
|
+
chunkIndex: i,
|
|
466
|
+
isFinal: r,
|
|
467
|
+
mimeType: s,
|
|
468
|
+
respondWithTranscript: (o) => {
|
|
469
|
+
n = o;
|
|
470
|
+
}
|
|
471
|
+
}), n;
|
|
472
|
+
}
|
|
473
|
+
_resolveMode() {
|
|
474
|
+
return this.mode === "disabled" ? "disabled" : this.mode === "web-speech" && _.isSupported() ? "web-speech" : c.isSupported() ? "media-recorder" : "disabled";
|
|
475
|
+
}
|
|
476
|
+
async _cancelActiveSession() {
|
|
477
|
+
this._speechController && this._resolvedMode !== "disabled" && this._speechController.cancel(), this.clearDraftSession();
|
|
478
|
+
}
|
|
479
|
+
render() {
|
|
480
|
+
return y`<calcite-button appearance=transparent class="button" data-mode=${this._resolvedMode ?? v} data-state=${(this._resolvedMode === "disabled" ? "disabled" : this._state) ?? v} .disabled=${this._isButtonDisabled} icon-start=microphone kind=neutral .label=${this._buttonLabel} .loading=${this._state === "processing"} round scale=m @click=${() => {
|
|
481
|
+
this._handleToggle();
|
|
482
|
+
}}></calcite-button>`;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
S("arcgis-assistant-speech-input", E);
|
|
486
|
+
export {
|
|
487
|
+
E as ArcgisAssistantSpeechInput
|
|
488
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export type VoiceInputMode = "disabled" | "media-recorder" | "web-speech";
|
|
2
|
+
|
|
3
|
+
export type VoiceInputErrorCode = "no-speech" | "not-allowed" | "not-supported" | "recording-failed" | "transcription-failed" | "transcription-unavailable" | "unhandled";
|
|
4
|
+
|
|
5
|
+
export type VoiceInputTranscriptDetail = {
|
|
6
|
+
transcript: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type VoiceInputDraftChangeDetail = {
|
|
10
|
+
focusInput?: boolean;
|
|
11
|
+
value: string;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export type VoiceInputTranscriptionStreamChunkDetail = {
|
|
15
|
+
blob: Blob;
|
|
16
|
+
chunkIndex: number;
|
|
17
|
+
isFinal: boolean;
|
|
18
|
+
mimeType: string;
|
|
19
|
+
respondWithTranscript: (transcript: string) => void;
|
|
20
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
3
|
+
import type { AssistantPromptSelectDetail } from "../arcgis-assistant/types.js";
|
|
4
|
+
import type { T9nMeta } from "@arcgis/lumina/controllers";
|
|
5
|
+
|
|
6
|
+
/** A prompt chip list primitive for rendering assistant suggested prompts. */
|
|
7
|
+
export abstract class ArcgisAssistantSuggestedPrompts extends LitElement {
|
|
8
|
+
/** @internal */
|
|
9
|
+
protected _messages: { suggestedPromptsLabel: string; } & T9nMeta<{ suggestedPromptsLabel: string; }>;
|
|
10
|
+
accessor label: string | undefined;
|
|
11
|
+
accessor prompts: string[];
|
|
12
|
+
readonly arcgisPromptSelect: import("@arcgis/lumina").TargetedEvent<this, AssistantPromptSelectDetail>;
|
|
13
|
+
readonly "@eventTypes": {
|
|
14
|
+
arcgisPromptSelect: ArcgisAssistantSuggestedPrompts["arcgisPromptSelect"]["detail"];
|
|
15
|
+
};
|
|
16
|
+
}
|