@arcgis/ai-components 5.2.0-next.12 → 5.2.0-next.120
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/LICENSE.md +4 -2
- package/README.md +2 -2
- package/dist/agent-utils/LLMAgent.d.ts +9 -7
- package/dist/agent-utils/LLMAgent.js +90 -62
- package/dist/agent-utils/WorkflowAgent.js +14 -15
- package/dist/agent-utils/index.d.ts +78 -0
- package/dist/agent-utils/index.js +116 -97
- package/dist/agent-utils/middlewares/trace.d.ts +2 -0
- package/dist/agent-utils/middlewares/trace.js +5 -5
- package/dist/agent-utils/types.d.ts +28 -15
- package/dist/agentic-workflow/AgenticWorkflowRuntime.d.ts +24 -0
- package/dist/agentic-workflow/Edge.d.ts +16 -0
- package/dist/agentic-workflow/WebAgent.d.ts +39 -0
- package/dist/agentic-workflow/jsonTypes.d.ts +223 -0
- package/dist/agentic-workflow/nodes/AgentNode.d.ts +28 -0
- package/dist/agentic-workflow/nodes/BaseNode.d.ts +35 -0
- package/dist/agentic-workflow/nodes/EndMessageNode.d.ts +25 -0
- package/dist/agentic-workflow/nodes/HumanInTheLoopNode.d.ts +37 -0
- package/dist/agentic-workflow/nodes/StartNode.d.ts +21 -0
- package/dist/agentic-workflow/nodes/tools/ArcgisTool.d.ts +21 -0
- package/dist/agentic-workflow/types.d.ts +29 -0
- package/dist/agents/runtime/skill/createSkillAgent.d.ts +28 -0
- package/dist/agents/runtime/skill/createSkillAgent.js +286 -0
- package/dist/agents/runtime/skill/loadAgentSkills.d.ts +16 -0
- package/dist/agents/runtime/skill/types.d.ts +20 -0
- package/dist/{cdn/WNS5ZUF5.js → agents/runtime/skill/types.js} +1 -1
- package/dist/agents/tools/filter/clearFilters/adapter.d.ts +8 -0
- package/dist/agents/tools/filter/clearFilters/adapter.js +22 -0
- package/dist/agents/tools/filter/resetMap/adapter.d.ts +8 -0
- package/dist/agents/tools/filter/resetMap/adapter.js +22 -0
- package/dist/agents/tools/filter/setFeatureEffect/adapter.d.ts +8 -0
- package/dist/agents/tools/filter/setFeatureEffect/adapter.js +122 -0
- package/dist/agents/tools/help/listFields/adapter.d.ts +11 -0
- package/dist/agents/tools/help/listFields/adapter.js +30 -0
- package/dist/agents/tools/navigation/goToAddress/adapter.d.ts +10 -0
- package/dist/agents/tools/navigation/goToAddress/adapter.js +60 -0
- package/dist/agents/tools/navigation/goToBookmark/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToBookmark/adapter.js +30 -0
- package/dist/agents/tools/navigation/goToFeatures/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToFeatures/adapter.js +50 -0
- package/dist/agents/tools/navigation/goToFullExtent/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToFullExtent/adapter.js +27 -0
- package/dist/agents/tools/navigation/goToHomeExtent/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToHomeExtent/adapter.js +24 -0
- package/dist/agents/tools/navigation/goToLayer/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToLayer/adapter.js +26 -0
- package/dist/agents/tools/navigation/goToScale/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToScale/adapter.js +21 -0
- package/dist/agents/tools/navigation/goToViewpoint/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToViewpoint/adapter.js +42 -0
- package/dist/agents/tools/navigation/goToZoom/adapter.d.ts +8 -0
- package/dist/agents/tools/navigation/goToZoom/adapter.js +21 -0
- package/dist/agents/tools/query/getAttribute/adapter.d.ts +8 -0
- package/dist/agents/tools/query/getAttribute/adapter.js +40 -0
- package/dist/agents/tools/query/getStatistics/adapter.d.ts +8 -0
- package/dist/agents/tools/query/getStatistics/adapter.js +158 -0
- package/dist/agents/tools/query/getTopFeatures/adapter.d.ts +8 -0
- package/dist/agents/tools/query/getTopFeatures/adapter.js +145 -0
- package/dist/agents/tools/query/queryFeatures/adapter.d.ts +8 -0
- package/dist/agents/tools/query/queryFeatures/adapter.js +131 -0
- package/dist/agents/tools/search/findRelevantFields/adapter.d.ts +8 -0
- package/dist/agents/tools/search/findRelevantFields/adapter.js +57 -0
- package/dist/agents/tools/search/findRelevantLayers/adapter.d.ts +8 -0
- package/dist/agents/tools/search/findRelevantLayers/adapter.js +38 -0
- package/dist/agents/tools/shared/resolveToolArtifact.d.ts +22 -0
- package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
- package/dist/agents/tools/shared/types.d.ts +22 -0
- package/dist/agents/tools/shared/types.js +6 -0
- package/dist/cdn/2BNQ6A6J.js +2 -0
- package/dist/cdn/2I2FHPHR.js +72 -0
- package/dist/cdn/2NODROJN.js +50 -0
- package/dist/cdn/34O57OGV.js +2 -0
- package/dist/cdn/4PKMJMND.js +2 -0
- package/dist/cdn/5BBXNT75.js +66 -0
- package/dist/cdn/5HBAJ57P.js +2 -0
- package/dist/cdn/5MK44FNO.js +2 -0
- package/dist/cdn/5Q2XRQS6.js +2 -0
- package/dist/cdn/6ECRQVHY.js +2 -0
- package/dist/cdn/6OUIUXAJ.js +2 -0
- package/dist/cdn/6XZYQ74A.js +6 -0
- package/dist/cdn/73TMZQI5.js +2 -0
- package/dist/cdn/74CVYM72.js +19 -0
- package/dist/cdn/{5CV7R5IS.js → 7W7KWR5O.js} +5 -5
- package/dist/cdn/{ZS2TZ6BF.js → AOVJ34QE.js} +1 -1
- package/dist/cdn/{Q7TL5Q5N.js → APFZY4PI.js} +1 -1
- package/dist/cdn/AUDVUNF3.js +2 -0
- package/dist/cdn/AVRS6UCQ.js +2 -0
- package/dist/cdn/AXTQU5YL.js +56 -0
- package/dist/cdn/BFZ5S7NF.js +2 -0
- package/dist/cdn/BJUX4AYP.js +2 -0
- package/dist/cdn/BN7CIVBD.js +2 -0
- package/dist/cdn/C2W6MBDB.js +2 -0
- package/dist/cdn/CA3RNGPN.js +2 -0
- package/dist/cdn/CCC6LBMY.js +2 -0
- package/dist/cdn/{5ZZGKP7N.js → CEKOEHB3.js} +1 -1
- package/dist/cdn/CF2V3NER.js +177 -0
- package/dist/cdn/CFAC4FN3.js +2 -0
- package/dist/cdn/CLTV27HJ.js +2 -0
- package/dist/cdn/COH3QXWG.js +4 -0
- package/dist/cdn/CPQGLQGY.js +2 -0
- package/dist/cdn/CT2ZOYNX.js +2 -0
- package/dist/cdn/DB2TFPIO.js +2 -0
- package/dist/cdn/DKA6PSYN.js +2 -0
- package/dist/cdn/DNV3L5M6.js +2 -0
- package/dist/cdn/EDVH3G5A.js +2 -0
- package/dist/cdn/EIZR3Q5O.js +2 -0
- package/dist/cdn/EJ7QJLUE.js +2 -0
- package/dist/cdn/ES54NWOB.js +11 -0
- package/dist/cdn/FCI6M62J.js +2 -0
- package/dist/cdn/FDOMMK2M.js +2 -0
- package/dist/cdn/FYIZOGHC.js +2 -0
- package/dist/cdn/{T537PKP4.js → FYZATVB3.js} +1 -1
- package/dist/cdn/FZTNWDOU.js +2 -0
- package/dist/cdn/GKWMAWFZ.js +2 -0
- package/dist/cdn/HFHRMM6Q.js +2 -0
- package/dist/cdn/HIAQARIQ.js +2 -0
- package/dist/cdn/HR6GWPKX.js +2 -0
- package/dist/cdn/HSILCMAR.js +2 -0
- package/dist/cdn/HTB76P2C.js +14 -0
- package/dist/cdn/HWGAJ4WN.js +2 -0
- package/dist/cdn/{FX7UOGHP.js → ICBIUFK7.js} +1 -1
- package/dist/cdn/IHP25JWI.js +99 -0
- package/dist/cdn/IHRX74QJ.js +2 -0
- package/dist/cdn/IMRIVNHX.js +2 -0
- package/dist/cdn/ITCZC2VY.js +2 -0
- package/dist/cdn/IYLFJCJ2.js +181 -0
- package/dist/cdn/{5W7S2RS4.js → J4YHT55S.js} +1 -1
- package/dist/cdn/J6A4AS7E.js +22 -0
- package/dist/cdn/{NE7E52YR.js → JEBRN3EU.js} +9 -3
- package/dist/cdn/JNOH4PD5.js +2 -0
- package/dist/cdn/JTEY4E7E.js +2 -0
- package/dist/cdn/K5JVB6FU.js +2 -0
- package/dist/cdn/K7BUBCK7.js +2 -0
- package/dist/cdn/K7XWGSLN.js +2 -0
- package/dist/cdn/K7YQIJFT.js +2 -0
- package/dist/cdn/KA3S22NQ.js +2 -0
- package/dist/cdn/KH4V4I3W.js +2 -0
- package/dist/cdn/KMLJS2VW.js +2 -0
- package/dist/cdn/LDIUJUI7.js +2 -0
- package/dist/cdn/{7RCQFLPP.js → LK7ZIQW6.js} +1 -1
- package/dist/cdn/LOQ2PKV5.js +208 -0
- package/dist/cdn/LRH2ZPVW.js +2 -0
- package/dist/cdn/LXPGQNXQ.js +5 -0
- package/dist/cdn/MJSIYEWN.js +2 -0
- package/dist/cdn/{ZEYIBYSF.js → MWYBF3F3.js} +1 -1
- package/dist/cdn/NEV6OZN3.js +71 -0
- package/dist/cdn/{23EQTPO3.js → OKVLGJAG.js} +1 -1
- package/dist/cdn/ONQ6JSBJ.js +2 -0
- package/dist/cdn/{6ZW7Z36F.js → OT5ECP4V.js} +5 -3
- package/dist/cdn/OTOQL3QM.js +3 -0
- package/dist/cdn/OZAZ277H.js +2 -0
- package/dist/cdn/P4XZMBU5.js +2 -0
- package/dist/cdn/{LQ6R5YRN.js → PQ2DPOFM.js} +1 -1
- package/dist/cdn/{DXVU45KM.js → QRMRID2M.js} +1 -1
- package/dist/cdn/QUZTFUWM.js +1 -0
- package/dist/cdn/QZL4SAYR.js +6 -0
- package/dist/cdn/R74ZHFA6.js +2 -0
- package/dist/cdn/RGOCE3QN.js +2 -0
- package/dist/cdn/RGVC76RW.js +2 -0
- package/dist/cdn/RHYNE5OE.js +2 -0
- package/dist/cdn/RIN3RP7D.js +3 -0
- package/dist/cdn/{X2ZDYHCG.js → SDWWUWAF.js} +10 -5
- package/dist/cdn/SLD4ZVT6.js +2 -0
- package/dist/cdn/SLR75R32.js +9 -0
- package/dist/cdn/STHBRTTD.js +2 -0
- package/dist/cdn/SWVRA77H.js +2 -0
- package/dist/cdn/TLQ75QXG.js +2 -0
- package/dist/cdn/TPF5Z277.js +3 -0
- package/dist/cdn/TPULIO6I.js +34 -0
- package/dist/cdn/TVEEQSMF.js +2 -0
- package/dist/cdn/UCTC4JN4.js +3 -0
- package/dist/cdn/{6YMR4QSD.js → UHEYPSOR.js} +1 -1
- package/dist/cdn/UIIVUHXL.js +2 -0
- package/dist/cdn/UO5PBOQR.js +2 -0
- package/dist/cdn/UT6JA4TK.js +14 -0
- package/dist/cdn/UWZQWGZP.js +2 -0
- package/dist/cdn/UXYYH6XF.js +2 -0
- package/dist/cdn/UZLQALHY.js +2 -0
- package/dist/cdn/{P7DG5T3Z.js → V7Y22FRP.js} +1 -1
- package/dist/cdn/VAXH6RUQ.js +134 -0
- package/dist/cdn/VF4BIBQT.js +2 -0
- package/dist/cdn/VR3CF3ZY.js +2 -0
- package/dist/cdn/VWP2B4LB.js +2 -0
- package/dist/cdn/VXFQANGJ.js +2 -0
- package/dist/cdn/WKZHFSH3.js +2 -0
- package/dist/cdn/WVP73XWD.js +2 -0
- package/dist/cdn/WXQ26G5Q.js +2 -0
- package/dist/cdn/XQ3NBBQ3.js +2 -0
- package/dist/cdn/XUYARLRP.js +2 -0
- package/dist/cdn/XV3DHHYJ.js +2 -0
- package/dist/cdn/Y2BCEVV6.js +2 -0
- package/dist/cdn/{7CYGX4F4.js → YHWYTHID.js} +1 -1
- package/dist/cdn/YIZ7PR2G.js +2 -0
- package/dist/cdn/YJ4MZOVC.js +2 -0
- package/dist/cdn/YXIPCGGP.js +2 -0
- package/dist/cdn/YYFKFPSN.js +2 -0
- package/dist/cdn/Z5XQLSYH.js +2 -0
- package/dist/cdn/ZA2WIUWH.js +2 -0
- package/dist/cdn/ZCFYGCCV.js +2 -0
- package/dist/cdn/ZGZX7GR5.js +2 -0
- package/dist/cdn/{ZTBA5PM7.js → ZU2FHVNK.js} +1 -1
- package/dist/cdn/agent-utils/index.js +1 -1
- package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -2
- package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
- package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
- package/dist/cdn/assets/agents/t9n/messages.en.json +1 -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.en.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-interrupt-preview/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ar.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.bg.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.bs.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ca.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.cs.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.da.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.de.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.el.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.es.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.et.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.fi.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.fr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.he.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.hr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.hu.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.id.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.it.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ja.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ko.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.lt.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.lv.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.nl.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.no.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.pl.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-BR.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.pt-PT.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ro.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.ru.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sk.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sl.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.sv.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.th.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.tr.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.uk.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.vi.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-CN.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-HK.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.zh-TW.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/SKILL.js +5 -0
- package/dist/chunks/SKILL2.js +5 -0
- package/dist/chunks/SKILL3.js +22 -0
- package/dist/chunks/SKILL4.js +5 -0
- package/dist/chunks/adapter.js +1126 -2010
- package/dist/chunks/aiFactory.js +100 -0
- package/dist/chunks/arcgisKnowledgeGraph.js +96 -76
- package/dist/chunks/arcgisToolRegistry.js +88 -0
- package/dist/chunks/arcgis_knowledge_current_lc_context.js +19 -2
- package/dist/chunks/arcgis_knowledge_current_map_context.js +31 -2
- package/dist/chunks/arcgis_knowledge_cypher_query_prompt.js +102 -0
- package/dist/chunks/arcgis_knowledge_summarize_result_prompt.js +116 -27
- package/dist/chunks/baseAgentState.js +59 -0
- package/dist/chunks/converterUtils.js +66 -41
- package/dist/chunks/dataExplorationAgent.js +17 -0
- package/dist/chunks/data_explore_query_prompt.js +9 -4
- package/dist/chunks/fetchAgentContext.js +13 -0
- package/dist/chunks/fetchService.js +10 -0
- package/dist/chunks/fieldStatistics.js +79 -0
- package/dist/chunks/formatFeatureAttributes.js +132 -0
- package/dist/chunks/generateLayerDescriptions.js +183 -307
- package/dist/chunks/helpAgent.js +32 -0
- package/dist/chunks/help_prompt.js +34 -17
- package/dist/chunks/intent_prompt.js +4 -2
- package/dist/chunks/layerStylingGraph.js +101 -83
- package/dist/chunks/mergeWhereClauses.js +15 -0
- package/dist/chunks/navigationAgent.js +25 -0
- package/dist/chunks/navigation_intent_prompt.js +8 -2
- package/dist/chunks/orchestrator.js +450 -235
- package/dist/chunks/requireAgentServices.js +11 -0
- package/dist/chunks/resolveGeometryFilter.js +149 -0
- package/dist/chunks/state.js +33 -28
- package/dist/chunks/utils2.js +11 -11
- package/dist/components/arcgis-assistant/customElement.d.ts +131 -4
- package/dist/components/arcgis-assistant/customElement.js +398 -212
- package/dist/components/arcgis-assistant/types.d.ts +108 -0
- package/dist/components/arcgis-assistant-agent/customElement.d.ts +13 -1
- package/dist/components/arcgis-assistant-agent/customElement.js +674 -10
- package/dist/components/arcgis-assistant-chat/customElement.js +22 -17
- package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +15 -4
- package/dist/components/arcgis-assistant-chat-entry/customElement.js +344 -45
- package/dist/components/arcgis-assistant-chat-entry/index.js +3 -0
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +34 -8
- package/dist/components/arcgis-assistant-help-agent/customElement.js +31 -8
- package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +8 -2
- package/dist/components/arcgis-assistant-interrupt/customElement.js +48 -15
- package/dist/components/arcgis-assistant-interrupt/index.js +1 -1
- package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +12 -8
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +40 -16
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +30 -7
- package/dist/components/arcgis-assistant-message/customElement.d.ts +3 -0
- package/dist/components/arcgis-assistant-message/customElement.js +9 -8
- package/dist/components/arcgis-assistant-message-block/customElement.js +1 -1
- package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +3 -0
- package/dist/components/arcgis-assistant-message-loading/customElement.js +11 -10
- package/dist/components/arcgis-assistant-message-log/customElement.js +4 -4
- package/dist/components/arcgis-assistant-message-text/customElement.d.ts +1 -0
- package/dist/components/arcgis-assistant-message-text/customElement.js +12 -12
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +33 -9
- package/dist/components/arcgis-assistant-speech-input/customElement.js +34 -52
- package/dist/components/arcgis-assistant-user-message/customElement.d.ts +2 -0
- package/dist/components/arcgis-assistant-user-message/customElement.js +15 -10
- 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/loader.js +9 -9
- package/dist/oauth-callback.html +1 -1
- package/dist/orchestrator/models/types.d.ts +1 -0
- package/dist/orchestrator/orchestrator/orchestratorEvents.d.ts +78 -0
- package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +15 -0
- package/dist/orchestrator/types/types.d.ts +17 -0
- package/dist/types/lumina.d.ts +6 -5
- package/dist/types/preact.d.ts +6 -5
- package/dist/types/react.d.ts +6 -5
- package/dist/types/stencil.d.ts +8 -7
- package/dist/utils/index.d.ts +95 -39
- package/dist/utils/index.js +707 -83
- package/package.json +35 -12
- package/dist/cdn/24QNMEFG.js +0 -2
- package/dist/cdn/34SG44C3.js +0 -72
- package/dist/cdn/3JGWGKT6.js +0 -2
- package/dist/cdn/3NBDVZ2I.js +0 -2
- package/dist/cdn/3VOQD2MR.js +0 -2
- package/dist/cdn/53NTYC4I.js +0 -2
- package/dist/cdn/5QAHYX7Y.js +0 -5
- package/dist/cdn/AXDZBBNL.js +0 -45
- package/dist/cdn/AZGGTNA3.js +0 -2
- package/dist/cdn/B7WJFBOZ.js +0 -2
- package/dist/cdn/BX7FSMUU.js +0 -56
- package/dist/cdn/CHPQM77M.js +0 -181
- package/dist/cdn/DHKUXLU3.js +0 -179
- package/dist/cdn/DQSEBKOX.js +0 -2
- package/dist/cdn/DZ2QWNUA.js +0 -3
- package/dist/cdn/EBISDZ5H.js +0 -2
- package/dist/cdn/ERL2CB2Y.js +0 -14
- package/dist/cdn/F2AHA4GB.js +0 -54
- package/dist/cdn/F6QHMKF5.js +0 -2
- package/dist/cdn/FUIGPHBH.js +0 -2
- package/dist/cdn/H2CHHGGH.js +0 -2
- package/dist/cdn/HWKDNS4K.js +0 -4
- package/dist/cdn/IMQ4TVHF.js +0 -16
- package/dist/cdn/IOD3GDA7.js +0 -2
- package/dist/cdn/IR7PTESF.js +0 -2
- package/dist/cdn/IRZDTYO2.js +0 -2
- package/dist/cdn/JIWK6QK6.js +0 -2
- package/dist/cdn/JLKGS6Y5.js +0 -36
- package/dist/cdn/K3JCH4XW.js +0 -2
- package/dist/cdn/KHXUWZHB.js +0 -2
- package/dist/cdn/KMQ3SP4I.js +0 -5
- package/dist/cdn/LIFK3QSD.js +0 -2
- package/dist/cdn/NXKKG5TK.js +0 -2
- package/dist/cdn/O3EN27N5.js +0 -2
- package/dist/cdn/O3RFFPU3.js +0 -6
- package/dist/cdn/PBO6FZN6.js +0 -2
- package/dist/cdn/Q3ZW4FYA.js +0 -3
- package/dist/cdn/Q6LRANX6.js +0 -2
- package/dist/cdn/QCSN44H4.js +0 -2
- package/dist/cdn/R56X6ZKR.js +0 -161
- package/dist/cdn/RUURNLTP.js +0 -2
- package/dist/cdn/T43LEBBE.js +0 -47
- package/dist/cdn/TR4GFL7X.js +0 -2
- package/dist/cdn/UPEEHMSY.js +0 -2
- package/dist/cdn/WAIFKDR3.js +0 -2
- package/dist/cdn/X4XY5HIE.js +0 -2
- package/dist/cdn/XOH56EQ2.js +0 -2
- package/dist/cdn/XON27U6U.js +0 -2
- package/dist/cdn/YIMNOUTF.js +0 -2
- package/dist/cdn/YLN2BZ5J.js +0 -2
- package/dist/cdn/YUKR4AZW.js +0 -2
- package/dist/cdn/Z2G7MP5L.js +0 -22
- package/dist/chunks/dataExplorationGraph.js +0 -310
- package/dist/chunks/helpGraph.js +0 -126
- package/dist/chunks/navigationGraph.js +0 -270
- package/dist/chunks/toolCallResponse.js +0 -31
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { z as i } from "zod";
|
|
3
|
+
import { tool as k } from "@langchain/core/tools";
|
|
4
|
+
import { f as s } from "../../../../chunks/fetchAgentContext.js";
|
|
5
|
+
async function c(o, t) {
|
|
6
|
+
const e = t.map.bookmarks;
|
|
7
|
+
if (!e || e.length === 0)
|
|
8
|
+
throw new Error("No bookmarks found in the map.");
|
|
9
|
+
const n = e.find((m) => m.name === o);
|
|
10
|
+
if (!n)
|
|
11
|
+
throw new Error(`Bookmark with name "${o}" not found.`);
|
|
12
|
+
const a = n.viewpoint;
|
|
13
|
+
if (!a)
|
|
14
|
+
throw new Error(`Bookmark with name "${o}" does not have a valid viewpoint.`);
|
|
15
|
+
return await t.goTo(a), { text: `Navigated to bookmark: ${o}` };
|
|
16
|
+
}
|
|
17
|
+
async function h({ bookmarkName: o }, t) {
|
|
18
|
+
const { mapView: r } = s(t, ["mapView"]);
|
|
19
|
+
return await Promise.resolve(c(o, r));
|
|
20
|
+
}
|
|
21
|
+
const w = i.object({
|
|
22
|
+
bookmarkName: i.string().describe("The name of the bookmark to navigate to.")
|
|
23
|
+
}), b = k(h, {
|
|
24
|
+
name: "goToBookmark",
|
|
25
|
+
description: "Go to the extent of the bookmark with the given name.",
|
|
26
|
+
schema: w
|
|
27
|
+
});
|
|
28
|
+
export {
|
|
29
|
+
b as goToBookmarkTool
|
|
30
|
+
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { z as i } from "zod";
|
|
3
|
+
import { tool as u } from "@langchain/core/tools";
|
|
4
|
+
import { f as c } from "../../../../chunks/fetchAgentContext.js";
|
|
5
|
+
async function f(o, a, n) {
|
|
6
|
+
const e = n.map?.allLayers.find((r) => r.id === o);
|
|
7
|
+
if (!e)
|
|
8
|
+
return { text: `Error: Layer with id ${o} not found` };
|
|
9
|
+
const t = a?.trim() ? a : "1=1", l = e.createQuery();
|
|
10
|
+
l.where = t;
|
|
11
|
+
try {
|
|
12
|
+
const { extent: r, count: s } = await e.queryExtent(l);
|
|
13
|
+
if (s === 0)
|
|
14
|
+
return { text: `No features found in ${e.title} matching: ${t}`, where: t };
|
|
15
|
+
if (r)
|
|
16
|
+
await n.goTo(r);
|
|
17
|
+
else
|
|
18
|
+
return { text: `Error: Unable to determine extent for ${e.title}`, where: t };
|
|
19
|
+
const d = {
|
|
20
|
+
layerId: o,
|
|
21
|
+
layerTitle: e.title ?? o,
|
|
22
|
+
where: t,
|
|
23
|
+
count: s
|
|
24
|
+
};
|
|
25
|
+
return {
|
|
26
|
+
text: `Successfully zoomed to ${s} feature(s) in ${e.title} matching: ${t}`,
|
|
27
|
+
where: t,
|
|
28
|
+
sharedStatePatch: { lastNavigatedFeatures: { value: d } }
|
|
29
|
+
};
|
|
30
|
+
} catch (r) {
|
|
31
|
+
return console.error("Error in goToFeatures:", r), { text: `Error: ${r instanceof Error ? r.message : "Unknown error"}`, where: t };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function h({ layerId: o, where: a }, n) {
|
|
35
|
+
const { mapView: e } = c(n, ["mapView"]);
|
|
36
|
+
return await f(o, a, e);
|
|
37
|
+
}
|
|
38
|
+
const m = i.object({
|
|
39
|
+
layerId: i.string().describe("The layerId of the layer to zoom to."),
|
|
40
|
+
where: i.string().describe(
|
|
41
|
+
"ArcGIS SQL-92 WHERE expression used for `query.where` on the selected layer. Start with a fresh filter for the current request unless the task explicitly refers to prior results. Use only field name values from the selected layer, not aliases. Use field metadata only to interpret intent: prefer LIKE '%value%' for string fields, and use =, <, >, BETWEEN, IN, IS NULL, AND/OR/NOT as appropriate for number/date fields. For coded-value domain fields, use the domain code already provided in layerInfo.domain.codedValues, never the display label. Respect range-domain bounds when they are provided. Do NOT include subqueries, nested SELECT, JOIN, GROUP BY, HAVING, ORDER BY, or semicolons."
|
|
42
|
+
)
|
|
43
|
+
}), E = u(h, {
|
|
44
|
+
name: "goToFeatures",
|
|
45
|
+
description: "Go to the features that match the given filter for the given layerId. Use coded-value domain codes from layer field metadata when building the WHERE clause.",
|
|
46
|
+
schema: m
|
|
47
|
+
});
|
|
48
|
+
export {
|
|
49
|
+
E as goToFeaturesTool
|
|
50
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { z as n } from "zod";
|
|
3
|
+
import r from "@arcgis/core/geometry/Extent.js";
|
|
4
|
+
import { tool as i } from "@langchain/core/tools";
|
|
5
|
+
import { f as l } from "../../../../chunks/fetchAgentContext.js";
|
|
6
|
+
async function m(o) {
|
|
7
|
+
const t = new r({
|
|
8
|
+
xmin: -180,
|
|
9
|
+
ymin: -90,
|
|
10
|
+
xmax: 180,
|
|
11
|
+
ymax: 90,
|
|
12
|
+
spatialReference: { wkid: 4326 }
|
|
13
|
+
}).expand(0.7);
|
|
14
|
+
return await o.goTo(t), { text: "Successfully zoomed to world extent" };
|
|
15
|
+
}
|
|
16
|
+
async function a(o, e) {
|
|
17
|
+
const { mapView: t } = l(e, ["mapView"]);
|
|
18
|
+
return await m(t);
|
|
19
|
+
}
|
|
20
|
+
const c = n.object({}), f = i(a, {
|
|
21
|
+
name: "goToFullExtent",
|
|
22
|
+
description: "Zooms the map to the full world extent using Esri's Geocoding Service.",
|
|
23
|
+
schema: c
|
|
24
|
+
});
|
|
25
|
+
export {
|
|
26
|
+
f as goToFullExtentTool
|
|
27
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { tool as n } from "@langchain/core/tools";
|
|
3
|
+
import i from "zod";
|
|
4
|
+
import { f as r } from "../../../../chunks/fetchAgentContext.js";
|
|
5
|
+
async function a(e) {
|
|
6
|
+
const t = e.map.initialViewProperties?.viewpoint?.targetGeometry;
|
|
7
|
+
if (t)
|
|
8
|
+
await e.goTo(t);
|
|
9
|
+
else
|
|
10
|
+
throw new Error("Initial extent is undefined");
|
|
11
|
+
return { text: "Successfully zoomed to home extent" };
|
|
12
|
+
}
|
|
13
|
+
async function m(e, o) {
|
|
14
|
+
const { mapView: t } = r(o, ["mapView"]);
|
|
15
|
+
return await a(t);
|
|
16
|
+
}
|
|
17
|
+
const c = i.object({}), w = n(m, {
|
|
18
|
+
name: "goToHomeExtent",
|
|
19
|
+
description: "Go to the initial web map view extent",
|
|
20
|
+
schema: c
|
|
21
|
+
});
|
|
22
|
+
export {
|
|
23
|
+
w as goToHomeExtentTool
|
|
24
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { z as r } from "zod";
|
|
3
|
+
import { tool as i } from "@langchain/core/tools";
|
|
4
|
+
import { f as c } from "../../../../chunks/fetchAgentContext.js";
|
|
5
|
+
async function l(o, t) {
|
|
6
|
+
await t.when();
|
|
7
|
+
const e = t.map?.allLayers.find((n) => n.id === o);
|
|
8
|
+
if (!e)
|
|
9
|
+
return console.warn(`[goToLayer] No matching FeatureLayer found for: ${o}`), { text: `Could not find layer for: ${o}` };
|
|
10
|
+
let a;
|
|
11
|
+
return (e.type === "link-chart" || e.type === "knowledge-graph-sublayer") && t.map?.activeLinkChartLayer ? a = t.map.diagramNodesExtent : a = e.fullExtent, a ? (await t.goTo(a), e.visible = !0, { text: `Successfully zoomed to: ${e.title ?? ""}` }) : { text: "Layer has no defined extent. Cannot zoom to layer." };
|
|
12
|
+
}
|
|
13
|
+
async function f({ layerId: o }, t) {
|
|
14
|
+
const { mapView: e } = c(t, ["mapView"]);
|
|
15
|
+
return await l(o, e);
|
|
16
|
+
}
|
|
17
|
+
const s = r.object({
|
|
18
|
+
layerId: r.string().describe("The id of the layer to navigate to")
|
|
19
|
+
}), h = i(f, {
|
|
20
|
+
name: "goToLayer",
|
|
21
|
+
description: "Zooms the map view to the full extent of the top matching layer.",
|
|
22
|
+
schema: s
|
|
23
|
+
});
|
|
24
|
+
export {
|
|
25
|
+
h as goToLayerTool
|
|
26
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import t from "zod";
|
|
3
|
+
import { tool as a } from "@langchain/core/tools";
|
|
4
|
+
import { f as i } from "../../../../chunks/fetchAgentContext.js";
|
|
5
|
+
async function n(o, e) {
|
|
6
|
+
return await e.goTo({ scale: o }), { text: `Successfully zoomed to: ${o}` };
|
|
7
|
+
}
|
|
8
|
+
async function r({ scale: o }, e) {
|
|
9
|
+
const { mapView: c } = i(e, ["mapView"]);
|
|
10
|
+
return await n(o, c);
|
|
11
|
+
}
|
|
12
|
+
const m = t.object({
|
|
13
|
+
scale: t.number().describe("The map scale of the view to go to.")
|
|
14
|
+
}), f = a(r, {
|
|
15
|
+
name: "goToScale",
|
|
16
|
+
description: "Go to the specified view scale.",
|
|
17
|
+
schema: m
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
f as goToScaleTool
|
|
21
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import t from "zod";
|
|
3
|
+
import { tool as c } from "@langchain/core/tools";
|
|
4
|
+
import l from "@arcgis/core/geometry/Point.js";
|
|
5
|
+
import { f as r } from "../../../../chunks/fetchAgentContext.js";
|
|
6
|
+
async function m(e, a, o) {
|
|
7
|
+
const i = {
|
|
8
|
+
target: new l({
|
|
9
|
+
longitude: e.longitude,
|
|
10
|
+
latitude: e.latitude,
|
|
11
|
+
spatialReference: { wkid: 4326 }
|
|
12
|
+
})
|
|
13
|
+
};
|
|
14
|
+
return o?.zoom !== void 0 && (i.zoom = o.zoom), o?.scale !== void 0 && (i.scale = o.scale), await a.goTo(i), { text: `Successfully navigated to: ${[
|
|
15
|
+
`(${e.latitude}°, ${e.longitude}°)`,
|
|
16
|
+
o?.zoom !== void 0 ? `zoom ${o.zoom}` : "",
|
|
17
|
+
o?.scale !== void 0 ? `scale 1:${o.scale}` : ""
|
|
18
|
+
].filter(Boolean).join(", ")}` };
|
|
19
|
+
}
|
|
20
|
+
async function d({
|
|
21
|
+
center: e,
|
|
22
|
+
zoom: a,
|
|
23
|
+
scale: o
|
|
24
|
+
}, n) {
|
|
25
|
+
const { mapView: i } = r(n, ["mapView"]);
|
|
26
|
+
return await m(e, i, { zoom: a, scale: o });
|
|
27
|
+
}
|
|
28
|
+
const s = t.object({
|
|
29
|
+
center: t.object({
|
|
30
|
+
longitude: t.number().describe("The longitude (x-coordinate) of the point to navigate to."),
|
|
31
|
+
latitude: t.number().describe("The latitude (y-coordinate) of the point to navigate to.")
|
|
32
|
+
}),
|
|
33
|
+
zoom: t.number().optional().describe("The zoom level. Higher values = more zoomed in."),
|
|
34
|
+
scale: t.number().optional().describe("The map scale. Alternative to zoom. Smaller numbers = more zoomed in.")
|
|
35
|
+
}), T = c(d, {
|
|
36
|
+
name: "goToViewpoint",
|
|
37
|
+
description: "Go to the specified viewpoint. This can contain a combination of scale, center, zoom, etc.",
|
|
38
|
+
schema: s
|
|
39
|
+
});
|
|
40
|
+
export {
|
|
41
|
+
T as goToViewpointTool
|
|
42
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import t from "zod";
|
|
3
|
+
import { tool as m } from "@langchain/core/tools";
|
|
4
|
+
import { f as i } from "../../../../chunks/fetchAgentContext.js";
|
|
5
|
+
async function r(o, e) {
|
|
6
|
+
return await e.goTo({ zoom: o }), { text: `Successfully zoomed to: ${o}` };
|
|
7
|
+
}
|
|
8
|
+
async function a({ zoom: o }, e) {
|
|
9
|
+
const { mapView: n } = i(e, ["mapView"]);
|
|
10
|
+
return await r(o, n);
|
|
11
|
+
}
|
|
12
|
+
const c = t.object({
|
|
13
|
+
zoom: t.number().min(1).max(20).describe("The zoom level of the view to go to.")
|
|
14
|
+
}), l = m(a, {
|
|
15
|
+
name: "goToZoom",
|
|
16
|
+
description: 'Go to the specified zoom level. If input is generic (e.g. "zoom in", then only zoom to the next appropriate level - increase level for zooming in and decrease for zooming out.).',
|
|
17
|
+
schema: c
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
l as goToZoomTool
|
|
21
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { tool as f } from "@langchain/core/tools";
|
|
3
|
+
import i from "zod";
|
|
4
|
+
import { f as h, g } from "../../../../chunks/formatFeatureAttributes.js";
|
|
5
|
+
import { f as y } from "../../../../chunks/fetchAgentContext.js";
|
|
6
|
+
const b = (a, e, o) => {
|
|
7
|
+
const t = a.createQuery();
|
|
8
|
+
return t.outFields = [e], t.where = o || "1=1", t.num = 1, t;
|
|
9
|
+
}, d = async (a, e, o, t) => {
|
|
10
|
+
const r = t.map?.allLayers.find((m) => m.id === a), n = b(r, e, o.where), u = (await r.queryFeatures(n)).features[0], c = u ? u.attributes[e] : null, l = h(r, e, c, t.timeZone), s = g(r, e);
|
|
11
|
+
return {
|
|
12
|
+
tool: "getAttribute",
|
|
13
|
+
layerName: r.title ?? a,
|
|
14
|
+
summary: `${s} = ${l}`,
|
|
15
|
+
details: {
|
|
16
|
+
fieldName: e,
|
|
17
|
+
fieldAlias: s !== e ? s : void 0,
|
|
18
|
+
value: l,
|
|
19
|
+
where: o.where
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
async function p({ layerId: a, fieldName: e, query: o }, t) {
|
|
24
|
+
const { mapView: r } = y(t, ["mapView"]), n = await d(a, e, o, r);
|
|
25
|
+
return JSON.stringify(n, null, 2);
|
|
26
|
+
}
|
|
27
|
+
const w = i.object({
|
|
28
|
+
layerId: i.string().describe("The layerId of the layer containing the field from which to get a value."),
|
|
29
|
+
fieldName: i.string().describe("The name of the field/attribute from which to get a field value."),
|
|
30
|
+
query: i.object({
|
|
31
|
+
where: i.string().describe("The SQL-92 where clause representing the feature from which to get an attribute value.")
|
|
32
|
+
})
|
|
33
|
+
}), Q = f(p, {
|
|
34
|
+
name: "getAttribute",
|
|
35
|
+
description: "Returns an attribute value for a given feature.",
|
|
36
|
+
schema: w
|
|
37
|
+
});
|
|
38
|
+
export {
|
|
39
|
+
Q as getAttributeTool
|
|
40
|
+
};
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { tool as L } from "@langchain/core/tools";
|
|
3
|
+
import t from "zod";
|
|
4
|
+
import E from "@arcgis/core/smartMapping/statistics/summaryStatistics.js";
|
|
5
|
+
import R from "@arcgis/core/smartMapping/statistics/uniqueValues.js";
|
|
6
|
+
import V from "@arcgis/core/layers/support/FeatureFilter.js";
|
|
7
|
+
import { c as x, m as v } from "../../../../chunks/mergeWhereClauses.js";
|
|
8
|
+
import { g as O, i as S, a as C, s as N, r as G } from "../../../../chunks/resolveGeometryFilter.js";
|
|
9
|
+
import { f as U } from "../../../../chunks/fetchAgentContext.js";
|
|
10
|
+
import { f as W } from "../../../../chunks/fetchService.js";
|
|
11
|
+
import { distanceUnitsSchema as I } from "../../shared/types.js";
|
|
12
|
+
const j = async (h) => {
|
|
13
|
+
const { targetLayer: a, fieldName: n, statisticType: l, mapView: i, layersAndFieldsRegistry: p, geometryFilter: e } = h, s = i.map?.allLayers.find((r) => r.id === a.layerId);
|
|
14
|
+
if (!s)
|
|
15
|
+
throw new Error(`Layer '${a.layerId}' not found.`);
|
|
16
|
+
const w = await i.whenLayerView(s), o = p.get(a.layerId)?.fieldRegistry.get(n), F = o?.alias;
|
|
17
|
+
if (!o)
|
|
18
|
+
throw new Error(`Field '${n}' not found.`);
|
|
19
|
+
let b, u;
|
|
20
|
+
if (e) {
|
|
21
|
+
const r = await O(e, i);
|
|
22
|
+
if ("error" in r)
|
|
23
|
+
throw new Error(r.error);
|
|
24
|
+
if (!r.geometry)
|
|
25
|
+
throw S(e) ? new Error(`No features found matching: ${e.where}`) : new Error("Failed to create geometry");
|
|
26
|
+
if (S(e)) {
|
|
27
|
+
const g = i.map?.allLayers.find((f) => f.id === e.layerId);
|
|
28
|
+
b = {
|
|
29
|
+
geometryLayerName: g?.title ?? g?.id,
|
|
30
|
+
geometryLayerId: e.layerId,
|
|
31
|
+
geometryWhere: e.where,
|
|
32
|
+
distance: e.distance,
|
|
33
|
+
units: e.units,
|
|
34
|
+
applied: !0
|
|
35
|
+
};
|
|
36
|
+
} else C(e) && (b = {
|
|
37
|
+
point: e.point,
|
|
38
|
+
distance: e.distance,
|
|
39
|
+
units: e.units,
|
|
40
|
+
applied: !0
|
|
41
|
+
});
|
|
42
|
+
u = new V({
|
|
43
|
+
geometry: r.geometry,
|
|
44
|
+
distance: e.distance,
|
|
45
|
+
units: e.units,
|
|
46
|
+
spatialRelationship: "intersects"
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
const y = x(w, [n], !1);
|
|
50
|
+
let d = null, m = null;
|
|
51
|
+
const T = 10;
|
|
52
|
+
if (o.type !== "geometry" && o.type !== "oid" && o.type !== "global-id")
|
|
53
|
+
try {
|
|
54
|
+
const r = {
|
|
55
|
+
layer: s,
|
|
56
|
+
useFeaturesInView: y,
|
|
57
|
+
view: y ? i : void 0,
|
|
58
|
+
field: n,
|
|
59
|
+
sqlWhere: v(s.definitionExpression, a.where),
|
|
60
|
+
...u && { filter: u },
|
|
61
|
+
outStatisticTypes: { include: [l] }
|
|
62
|
+
};
|
|
63
|
+
d = await E(r);
|
|
64
|
+
const g = ["string", "small-integer", "integer"], f = o.domain?.type === "coded-value" ? o.domain : null;
|
|
65
|
+
(g.includes(o.type) || f) && (m = (await R({
|
|
66
|
+
layer: s,
|
|
67
|
+
useFeaturesInView: y,
|
|
68
|
+
view: y ? i : void 0,
|
|
69
|
+
field: n,
|
|
70
|
+
sqlWhere: v(s.definitionExpression, a.where),
|
|
71
|
+
...u && { filter: u }
|
|
72
|
+
})).uniqueValueInfos.sort((c, q) => q.count - c.count).slice(0, T)), m && o.domain?.type === "coded-value" && (m = m.map((c) => ({
|
|
73
|
+
...c,
|
|
74
|
+
value: f ? f.getName(c.value) ?? c.value : c.value
|
|
75
|
+
})));
|
|
76
|
+
} catch (r) {
|
|
77
|
+
console.error("Statistics error:", r);
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
tool: "getStatistics",
|
|
81
|
+
layerName: s.title ?? a.layerId,
|
|
82
|
+
summary: `${l} = ${typeof d?.[l] == "number" ? d[l] : "N/A"}`,
|
|
83
|
+
details: {
|
|
84
|
+
fieldName: n,
|
|
85
|
+
fieldAlias: F,
|
|
86
|
+
statisticType: l,
|
|
87
|
+
statistic: d?.[l] ?? null,
|
|
88
|
+
summaryStatistics: d,
|
|
89
|
+
uniqueValues: m,
|
|
90
|
+
where: a.where,
|
|
91
|
+
spatialFilterInfo: b
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
async function A({
|
|
96
|
+
targetLayer: h,
|
|
97
|
+
fieldName: a,
|
|
98
|
+
statisticType: n,
|
|
99
|
+
geometryFilter: l
|
|
100
|
+
}, i) {
|
|
101
|
+
const p = W(i, "layersAndFieldsRegistry"), { mapView: e } = U(i, ["mapView"]), s = G(
|
|
102
|
+
l,
|
|
103
|
+
i.state?.agentExecutionContext?.sharedResources
|
|
104
|
+
), w = await j({
|
|
105
|
+
targetLayer: h,
|
|
106
|
+
fieldName: a,
|
|
107
|
+
statisticType: n,
|
|
108
|
+
mapView: e,
|
|
109
|
+
layersAndFieldsRegistry: p,
|
|
110
|
+
geometryFilter: s
|
|
111
|
+
});
|
|
112
|
+
return JSON.stringify(w, null, 2);
|
|
113
|
+
}
|
|
114
|
+
const D = t.object({
|
|
115
|
+
layerId: t.string().describe("The layerId of the layer containing the geometry by which to filter."),
|
|
116
|
+
where: t.string().describe("The SQL-92 where clause representing the features from which to filter."),
|
|
117
|
+
distance: t.number().optional().describe("The buffer distance around the geometry."),
|
|
118
|
+
units: I.optional().describe("The units for the distance buffer.")
|
|
119
|
+
}), $ = t.object({
|
|
120
|
+
point: t.object({
|
|
121
|
+
x: t.number().describe("X coordinate (longitude) from navigation result"),
|
|
122
|
+
y: t.number().describe("Y coordinate (latitude) from navigation result"),
|
|
123
|
+
spatialReference: t.object({
|
|
124
|
+
wkid: t.number().describe("Spatial reference WKID (e.g., 4326 for WGS84)")
|
|
125
|
+
}).optional().describe("Spatial reference. Defaults to map's spatial reference if not provided.")
|
|
126
|
+
}).describe("Point coordinates from a previous navigation/geocoding result"),
|
|
127
|
+
distance: t.number().optional().describe("Optional buffer distance around the point."),
|
|
128
|
+
units: I.optional().describe("The units for the distance buffer.")
|
|
129
|
+
}), P = t.object({
|
|
130
|
+
targetLayer: t.object({
|
|
131
|
+
layerId: t.string().describe("The layerId of the layer containing the field from which to get a value."),
|
|
132
|
+
where: t.string().describe("The SQL-92 where clause representing the feature from which to get an attribute value.")
|
|
133
|
+
}),
|
|
134
|
+
geometryFilter: t.union([D, $, N]).optional().describe(
|
|
135
|
+
"Geometry filter for spatial queries. Use 'sharedResourceId' with an ID from listSharedResources for a previously geocoded location. Use 'point' for inline coordinates or 'layerId/where' for features from another layer."
|
|
136
|
+
),
|
|
137
|
+
fieldName: t.string().describe("The name of the field for which to get statistics. STRICTLY DO NOT use OBJECTID. Use any other field"),
|
|
138
|
+
statisticType: t.enum(["avg", "max", "median", "min", "stddev", "sum", "variance", "nullcount", "count"]).describe("The statistic type to calculate.")
|
|
139
|
+
}), ee = L(A, {
|
|
140
|
+
name: "getStatistics",
|
|
141
|
+
description: `Computes a single aggregate statistic (max, min, avg, sum, median, stddev, variance) for a numeric field across matching features. Also returns frequency analysis for categorical fields.
|
|
142
|
+
|
|
143
|
+
USE THIS TOOL FOR:
|
|
144
|
+
- "What is the average/maximum/minimum/total [field]?" — aggregate computations
|
|
145
|
+
- "Most common/frequent value of [field]?" — frequency analysis
|
|
146
|
+
- Questions requiring a mathematical aggregation across many features
|
|
147
|
+
|
|
148
|
+
DO NOT USE FOR:
|
|
149
|
+
- "How many features match X?" — use queryFeatures instead (it returns totalCount)
|
|
150
|
+
- "Show / list / find features" — use queryFeatures instead
|
|
151
|
+
- Simple counts of features matching a condition — use queryFeatures instead
|
|
152
|
+
|
|
153
|
+
Only call this tool when the answer requires computing an aggregate (avg, max, min, sum, median, stddev) over a field's values, not just counting or listing features.`,
|
|
154
|
+
schema: P
|
|
155
|
+
});
|
|
156
|
+
export {
|
|
157
|
+
ee as getStatisticsTool
|
|
158
|
+
};
|