@arcgis/ai-components 5.2.0-next.1 → 5.2.0-next.100
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/FunctionAgent.d.ts +2 -2
- package/dist/agent-utils/LLMAgent.d.ts +7 -4
- package/dist/agent-utils/LLMAgent.js +26 -24
- package/dist/agent-utils/WorkflowAgent.d.ts +2 -2
- package/dist/agent-utils/WorkflowAgent.js +14 -15
- package/dist/agent-utils/index.d.ts +177 -0
- package/dist/agent-utils/index.js +167 -0
- package/dist/agent-utils/middlewares/trace.d.ts +2 -0
- package/dist/agent-utils/middlewares/trace.js +25 -33
- package/dist/agent-utils/tools/FunctionTool.d.ts +2 -2
- package/dist/agent-utils/types.d.ts +37 -8
- package/dist/agent-utils/workflows/ConditionalWorkflow.d.ts +2 -2
- package/dist/agent-utils/workflows/LoopWorkflow.d.ts +2 -2
- package/dist/agent-utils/workflows/ParallelWorkflow.d.ts +2 -2
- package/dist/agent-utils/workflows/RouterWorkflow.d.ts +2 -2
- package/dist/agent-utils/workflows/SequentialWorkflow.d.ts +2 -2
- package/dist/agent-utils/workflows/SwitchWorkflow.d.ts +2 -2
- 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 +189 -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/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/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 +121 -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 +157 -0
- package/dist/agents/tools/query/getTopFeatures/adapter.d.ts +8 -0
- package/dist/agents/tools/query/getTopFeatures/adapter.js +144 -0
- package/dist/agents/tools/query/queryFeatures/adapter.d.ts +8 -0
- package/dist/agents/tools/query/queryFeatures/adapter.js +130 -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/cdn/22KHSDJI.js +2 -0
- package/dist/cdn/2EY3BQQX.js +2 -0
- package/dist/cdn/2O4DON37.js +2 -0
- package/dist/cdn/34O57OGV.js +2 -0
- package/dist/cdn/{AMP6IALT.js → 3UEKINYC.js} +1 -1
- package/dist/cdn/434TAA3J.js +2 -0
- package/dist/cdn/4OGR5QKS.js +2 -0
- package/dist/cdn/5FL5BTTX.js +66 -0
- package/dist/cdn/5HBAJ57P.js +2 -0
- package/dist/cdn/5K5ZY267.js +2 -0
- package/dist/cdn/5MK44FNO.js +2 -0
- package/dist/cdn/5WYRJMBW.js +2 -0
- package/dist/cdn/5X7EG7D2.js +2 -0
- package/dist/cdn/5XZLS7UO.js +2 -0
- package/dist/cdn/5ZFUGNRN.js +2 -0
- package/dist/cdn/655YIKL3.js +11 -0
- package/dist/cdn/6ECRQVHY.js +2 -0
- package/dist/cdn/6OOZSZRJ.js +2 -0
- package/dist/cdn/{3PKJWIC3.js → 6P44KOKX.js} +1 -1
- package/dist/cdn/6YYPVU7H.js +3 -0
- package/dist/cdn/7BCQMK6D.js +2 -0
- package/dist/cdn/7SRLZQVC.js +5 -0
- package/dist/cdn/7V6OSTFC.js +2 -0
- package/dist/cdn/7VAQUCBU.js +9 -0
- package/dist/cdn/7VUSIGEM.js +2 -0
- package/dist/cdn/ACJTJLZN.js +2 -0
- package/dist/cdn/AI6DYOKR.js +181 -0
- package/dist/cdn/AKD5UOVX.js +2 -0
- package/dist/cdn/ANRQWYU2.js +2 -0
- package/dist/cdn/{ZS2TZ6BF.js → AOVJ34QE.js} +1 -1
- package/dist/cdn/APFZY4PI.js +2 -0
- package/dist/cdn/B2JDVLA6.js +2 -0
- package/dist/cdn/BE7BRJZD.js +2 -0
- package/dist/cdn/{FL4W4VYN.js → BL273EGZ.js} +17 -1
- package/dist/cdn/C4FEETBZ.js +2 -0
- package/dist/cdn/C4JT4S5E.js +2 -0
- package/dist/cdn/CCC6LBMY.js +2 -0
- package/dist/cdn/{5ZZGKP7N.js → CEKOEHB3.js} +1 -1
- package/dist/cdn/CJMUJXPL.js +2 -0
- package/dist/cdn/COH3QXWG.js +4 -0
- package/dist/cdn/CP5BVGJU.js +2 -0
- package/dist/cdn/D5UFYQHN.js +44 -0
- package/dist/cdn/EWLXNGKH.js +208 -0
- package/dist/cdn/EYOWRGDP.js +2 -0
- package/dist/cdn/F5NIRETW.js +2 -0
- package/dist/cdn/FDOMMK2M.js +2 -0
- package/dist/cdn/FG647IP6.js +2 -0
- package/dist/cdn/FJO4KNOZ.js +2 -0
- package/dist/cdn/FUF3NAU7.js +2 -0
- package/dist/cdn/FXP5UIQU.js +156 -0
- package/dist/cdn/{ZLXN7NMF.js → FYZATVB3.js} +10 -8
- package/dist/cdn/G2EGT3CF.js +6 -0
- package/dist/cdn/G3SF6U2U.js +2 -0
- package/dist/cdn/G7OMHU2B.js +2 -0
- package/dist/cdn/HAEFC2SJ.js +2 -0
- package/dist/cdn/HDACNIZF.js +2 -0
- package/dist/cdn/HHFNQR6Z.js +2 -0
- package/dist/cdn/HHUQXL3R.js +2 -0
- package/dist/cdn/IBZ2NEAO.js +2 -0
- package/dist/cdn/{FX7UOGHP.js → ICBIUFK7.js} +1 -1
- package/dist/cdn/ICQCK5D3.js +2 -0
- package/dist/cdn/IHP25JWI.js +99 -0
- package/dist/cdn/IJVMUS2L.js +14 -0
- package/dist/cdn/J6A4AS7E.js +22 -0
- package/dist/cdn/J6SZIQJA.js +2 -0
- package/dist/cdn/JCOA24UH.js +3 -0
- package/dist/cdn/{NE7E52YR.js → JEBRN3EU.js} +9 -3
- package/dist/cdn/JO5ETMPS.js +2 -0
- package/dist/cdn/K2R6XVK3.js +2 -0
- package/dist/cdn/KITIP6J2.js +2 -0
- package/dist/cdn/KWD2ECTM.js +2 -0
- package/dist/cdn/{4HU7735A.js → LAYVGCPL.js} +6 -4
- package/dist/cdn/{7RCQFLPP.js → LK7ZIQW6.js} +1 -1
- package/dist/cdn/LLUGJKAQ.js +2 -0
- package/dist/cdn/MWYBF3F3.js +66 -0
- package/dist/cdn/{V2P4AIGG.js → MXTXJKFE.js} +1 -1
- package/dist/cdn/MY47B3CE.js +3 -0
- package/dist/cdn/NEV6OZN3.js +71 -0
- package/dist/cdn/NNXISHCA.js +14 -0
- package/dist/cdn/NZSOJ726.js +2 -0
- package/dist/cdn/O4NVW75A.js +2 -0
- package/dist/cdn/OE3GW5LE.js +2 -0
- package/dist/cdn/{23EQTPO3.js → OKVLGJAG.js} +1 -1
- package/dist/cdn/ONQ6JSBJ.js +2 -0
- package/dist/cdn/OX64WOEL.js +22 -0
- package/dist/cdn/{LQ6R5YRN.js → PQ2DPOFM.js} +1 -1
- package/dist/cdn/PUHRBGKB.js +2 -0
- package/dist/cdn/Q57QWN5W.js +2 -0
- package/dist/cdn/QUKNPVAF.js +2 -0
- package/dist/cdn/R2PQVY4O.js +2 -0
- package/dist/cdn/R74ZHFA6.js +2 -0
- package/dist/cdn/RBE55SWR.js +2 -0
- package/dist/cdn/RHYNE5OE.js +2 -0
- package/dist/cdn/RLEHNAIA.js +2 -0
- package/dist/cdn/RVSTAUQS.js +2 -0
- package/dist/cdn/{X2ZDYHCG.js → SDWWUWAF.js} +10 -5
- package/dist/cdn/SXM4NUT5.js +2 -0
- package/dist/cdn/SZ2QSSB3.js +2 -0
- package/dist/cdn/T4RIGOXB.js +2 -0
- package/dist/cdn/TCH5I5LS.js +2 -0
- package/dist/cdn/TEPP7YPR.js +2 -0
- package/dist/cdn/TMVF2W5N.js +36 -0
- package/dist/cdn/TPULIO6I.js +34 -0
- package/dist/cdn/UDRKUVZP.js +2 -0
- package/dist/cdn/{6YMR4QSD.js → UHEYPSOR.js} +1 -1
- package/dist/cdn/UHNVDALX.js +18 -0
- package/dist/cdn/UZLQALHY.js +2 -0
- package/dist/cdn/V6HOUZPZ.js +2 -0
- package/dist/cdn/VAXH6RUQ.js +134 -0
- package/dist/cdn/VLLZ2FFU.js +2 -0
- package/dist/cdn/VOKXKU7M.js +56 -0
- package/dist/cdn/VXFQANGJ.js +2 -0
- package/dist/cdn/WGO5SER7.js +6 -0
- package/dist/cdn/WJXXOKGA.js +9 -0
- package/dist/cdn/WKTQVBFJ.js +2 -0
- package/dist/cdn/{DHOVCT6R.js → WSWB3B7B.js} +1 -1
- package/dist/cdn/XX6GHMNR.js +2 -0
- package/dist/cdn/Y7XD7ZRD.js +2 -0
- package/dist/cdn/YEZ3AMNX.js +2 -0
- package/dist/cdn/YLVJA4ZE.js +2 -0
- package/dist/cdn/Z5HWPSZN.js +2 -0
- package/dist/cdn/Z5W4V7RC.js +2 -0
- package/dist/cdn/ZDV4K4WG.js +2 -0
- package/dist/cdn/ZOEMBHRF.js +2 -0
- package/dist/cdn/ZRVZMPFN.js +2 -0
- package/dist/cdn/{ZTBA5PM7.js → ZU2FHVNK.js} +1 -1
- package/dist/cdn/agent-utils/index.js +2 -0
- package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +3 -0
- package/dist/cdn/agent-utils/middlewares/middleware.js +2 -0
- package/dist/cdn/agent-utils/middlewares/trace.js +2 -0
- package/dist/cdn/assets/assistant/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/assistant-interrupt/t9n/messages.en.json +1 -1
- package/dist/cdn/assets/assistant-interrupt-preview/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message/t9n/messages.en.json +1 -0
- package/dist/cdn/assets/assistant-message-loading/t9n/messages.en.json +1 -0
- package/dist/cdn/index.js +1 -1
- package/dist/cdn/main.css +1 -1
- package/dist/chunks/adapter.js +1299 -2113
- package/dist/chunks/arcgisKnowledgeGraph.js +128 -72
- 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 +58 -0
- package/dist/chunks/converterUtils.js +66 -41
- package/dist/chunks/dataExplorationGraph.js +135 -179
- 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 +250 -246
- package/dist/chunks/helpGraph.js +35 -25
- package/dist/chunks/help_prompt.js +34 -17
- package/dist/chunks/index.js +11 -0
- package/dist/chunks/intent_prompt.js +16 -0
- package/dist/chunks/layerStylingGraph.js +37 -31
- package/dist/chunks/mergeWhereClauses.js +15 -0
- package/dist/chunks/navigationGraph.js +135 -111
- package/dist/chunks/navigation_intent_prompt.js +8 -2
- package/dist/chunks/orchestrator.js +530 -280
- package/dist/chunks/resolvePointGeometryFilter.js +92 -0
- package/dist/chunks/slottableRequestUtils.js +3 -7
- package/dist/chunks/state.js +21 -27
- package/dist/chunks/summarize_query_response_prompt.js +9 -7
- package/dist/chunks/toolCallResponse.js +14 -10
- package/dist/chunks/utils2.js +11 -11
- package/dist/components/arcgis-assistant/customElement.d.ts +96 -0
- package/dist/components/arcgis-assistant/customElement.js +398 -149
- package/dist/components/arcgis-assistant/index.js +2 -3
- package/dist/components/arcgis-assistant/types.d.ts +14 -1
- package/dist/components/arcgis-assistant-agent/customElement.d.ts +13 -1
- package/dist/components/arcgis-assistant-agent/customElement.js +614 -10
- package/dist/components/arcgis-assistant-chat/customElement.d.ts +8 -2
- package/dist/components/arcgis-assistant-chat/customElement.js +23 -18
- package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +4 -1
- package/dist/components/arcgis-assistant-chat-entry/customElement.js +25 -18
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +20 -4
- package/dist/components/arcgis-assistant-help-agent/customElement.js +29 -7
- package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +8 -1
- package/dist/components/arcgis-assistant-interrupt/customElement.js +17 -14
- package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +24 -0
- package/dist/components/arcgis-assistant-interrupt-preview/index.js +2 -0
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.d.ts +7 -7
- 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 +26 -0
- package/dist/components/arcgis-assistant-message/customElement.js +29 -26
- package/dist/components/arcgis-assistant-message/index.d.ts +1 -0
- package/dist/components/arcgis-assistant-message/index.js +2 -0
- package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
- package/dist/components/arcgis-assistant-message-block/customElement.js +18 -11
- package/dist/components/arcgis-assistant-message-block/index.js +1 -0
- package/dist/components/arcgis-assistant-message-feedback/customElement.d.ts +4 -1
- package/dist/components/arcgis-assistant-message-footer/customElement.d.ts +4 -1
- package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +11 -1
- package/dist/components/arcgis-assistant-message-loading/customElement.js +8 -7
- package/dist/components/arcgis-assistant-message-loading/index.js +1 -0
- package/dist/components/arcgis-assistant-message-log/customElement.d.ts +4 -1
- package/dist/components/arcgis-assistant-message-read-aloud/customElement.d.ts +4 -1
- package/dist/components/arcgis-assistant-message-text/customElement.d.ts +5 -1
- package/dist/components/arcgis-assistant-message-text/customElement.js +12 -12
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +18 -4
- package/dist/components/arcgis-assistant-speech-input/customElement.d.ts +6 -1
- package/dist/components/arcgis-assistant-speech-input/customElement.js +34 -52
- package/dist/components/arcgis-assistant-suggested-prompts/customElement.d.ts +4 -1
- package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +8 -8
- package/dist/components/arcgis-assistant-user-message/customElement.d.ts +6 -1
- 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/index.d.ts +4 -0
- package/dist/loader.js +9 -8
- package/dist/oauth-callback.html +1 -1
- package/dist/orchestrator/orchestrator/orchestratorEvents.d.ts +78 -0
- package/dist/types/lumina.d.ts +14 -7
- package/dist/types/preact.d.ts +15 -7
- package/dist/types/react.d.ts +16 -7
- package/dist/types/stencil.d.ts +16 -9
- package/dist/utils/index.d.ts +135 -65
- package/dist/utils/index.js +55 -50
- package/package.json +32 -12
- package/dist/cdn/2AXF774U.js +0 -2
- package/dist/cdn/462JBSEV.js +0 -422
- package/dist/cdn/5QAHYX7Y.js +0 -5
- package/dist/cdn/7BCR6TUO.js +0 -2
- package/dist/cdn/7GH7VSB2.js +0 -2
- package/dist/cdn/7PLV4QH6.js +0 -2
- package/dist/cdn/AO7BQHKC.js +0 -2
- package/dist/cdn/AXDZBBNL.js +0 -45
- package/dist/cdn/DDLZOMUY.js +0 -2
- package/dist/cdn/F2AHA4GB.js +0 -54
- package/dist/cdn/FHVXO2WG.js +0 -166
- package/dist/cdn/FX5JFRDL.js +0 -2
- package/dist/cdn/GSEPHN3A.js +0 -106
- package/dist/cdn/H7422XUG.js +0 -2
- package/dist/cdn/HB5A5R2E.js +0 -2
- package/dist/cdn/JY6LLOUJ.js +0 -22
- package/dist/cdn/KMQ3SP4I.js +0 -5
- package/dist/cdn/MDVYQQUG.js +0 -14
- package/dist/cdn/MH5RPXHM.js +0 -2
- package/dist/cdn/NAUXSHIE.js +0 -72
- package/dist/cdn/NVI3I46B.js +0 -2
- package/dist/cdn/OAVEHGB6.js +0 -2
- package/dist/cdn/OH64RMOR.js +0 -4
- package/dist/cdn/ON2V5XI2.js +0 -3
- package/dist/cdn/P6OPJQMC.js +0 -3
- package/dist/cdn/QR54T33D.js +0 -2
- package/dist/cdn/RVOAPUBN.js +0 -2
- package/dist/cdn/S6W6HV4T.js +0 -36
- package/dist/cdn/SXDLXCIM.js +0 -2
- package/dist/cdn/USMDJUFS.js +0 -2
- package/dist/cdn/V5YEZSRY.js +0 -16
- package/dist/cdn/Y333DGV6.js +0 -2
- package/dist/cdn/YIMNOUTF.js +0 -2
- package/dist/cdn/YY2SBO3V.js +0 -2
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import"./UZLQALHY.js";var e=`# ArcGIS Knowledge Agent \u2014 Action Summary
|
|
3
|
+
|
|
4
|
+
You are a Knowledge Graph assistant that has executed tool calls to answer a user request.
|
|
5
|
+
|
|
6
|
+
## Context
|
|
7
|
+
|
|
8
|
+
**Data model**
|
|
9
|
+
{dataModelSummary}
|
|
10
|
+
|
|
11
|
+
**Assigned task**
|
|
12
|
+
{assignedTask}
|
|
13
|
+
|
|
14
|
+
**User request**
|
|
15
|
+
{userRequest}
|
|
16
|
+
|
|
17
|
+
**Tool result**
|
|
18
|
+
{toolResult}
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Goal
|
|
23
|
+
|
|
24
|
+
Generate a concise, complete Markdown response using the tool results.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Priority Rules (Strict Order)
|
|
29
|
+
|
|
30
|
+
### 1. User Formatting Override (Highest Priority)
|
|
31
|
+
|
|
32
|
+
- If the user specifies a format (table, list, bullets, etc.):
|
|
33
|
+
- Use that format exactly
|
|
34
|
+
- Ignore ALL default formatting rules below
|
|
35
|
+
- Do NOT add summaries or extra sections unless requested
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### 2. Default Output (When no override)
|
|
40
|
+
|
|
41
|
+
Produce:
|
|
42
|
+
|
|
43
|
+
- **Summary**: 1\u20132 sentences (no header, no bullets)
|
|
44
|
+
- **Results**: Minimal, well-formatted data
|
|
45
|
+
- **Note (optional)**:
|
|
46
|
+
- 1\u20132 italicized sentences describing tool limitations
|
|
47
|
+
|
|
48
|
+
#### Limits
|
|
49
|
+
|
|
50
|
+
- maxPreviewItems: 5
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
### 3. Output Constraints (Non-Negotiable)
|
|
55
|
+
|
|
56
|
+
- Output **valid Markdown only** (no JSON)
|
|
57
|
+
- Do NOT hallucinate data (entities, fields, counts, relationships)
|
|
58
|
+
- Do NOT include:
|
|
59
|
+
- reasoning
|
|
60
|
+
- classification labels
|
|
61
|
+
- follow-up questions
|
|
62
|
+
- next steps
|
|
63
|
+
- intro phrases (\u201CHere are\u2026\u201D)
|
|
64
|
+
- restating the question
|
|
65
|
+
- End immediately after the response
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### 4. Data Handling Rules
|
|
70
|
+
|
|
71
|
+
- If results are empty \u2192 clearly state no results returned
|
|
72
|
+
- If insufficient data \u2192 state limitation, do NOT speculate
|
|
73
|
+
- Do NOT output:
|
|
74
|
+
- raw nested objects
|
|
75
|
+
- large arrays
|
|
76
|
+
- geometry
|
|
77
|
+
- Summarize complex structures
|
|
78
|
+
- Truncate long values with \`\u2026\`
|
|
79
|
+
- Show entities/relationships only once
|
|
80
|
+
- Use:
|
|
81
|
+
- \u201Centity\u201D (not node)
|
|
82
|
+
- \u201Crelationship\u201D (not edge)
|
|
83
|
+
- Hide \`globalid\` and \`objectid\` unless explicitly requested
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 5. Formatting Rules (Default Mode Only)
|
|
88
|
+
|
|
89
|
+
- No headers; use _italic labels_ if needed
|
|
90
|
+
- Use:
|
|
91
|
+
- bullets \u2192 single item summaries
|
|
92
|
+
- tables \u2192 multiple results (limit to 5 rows)
|
|
93
|
+
- Reduce columns to key fields only
|
|
94
|
+
- Format:
|
|
95
|
+
- dates \u2192 \u201Cday month year\u201D
|
|
96
|
+
- time separate from date
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
### 6. Result-Type Formatting
|
|
101
|
+
|
|
102
|
+
**SEARCH_HITS**
|
|
103
|
+
|
|
104
|
+
- Highlight top match (bullets)
|
|
105
|
+
- Table for remaining results
|
|
106
|
+
|
|
107
|
+
**ENTITIES**
|
|
108
|
+
|
|
109
|
+
- Group by type (if multiple)
|
|
110
|
+
- Show key properties only
|
|
111
|
+
|
|
112
|
+
**RELATIONSHIPS**
|
|
113
|
+
|
|
114
|
+
- Format: \`(entity) \u2014[relationship]\u2192 (entity)\`
|
|
115
|
+
|
|
116
|
+
**PATHS**
|
|
117
|
+
|
|
118
|
+
- Summary + 1-3 examples
|
|
119
|
+
|
|
120
|
+
---
|
|
121
|
+
|
|
122
|
+
## Internal Processing (Do NOT output)
|
|
123
|
+
|
|
124
|
+
Classify results into:
|
|
125
|
+
|
|
126
|
+
- SEARCH_HITS, ENTITIES, RELATIONSHIPS, PATHS
|
|
127
|
+
|
|
128
|
+
## Failure Handling
|
|
129
|
+
|
|
130
|
+
- If data is insufficient \u2192 clearly state limitation
|
|
131
|
+
- Never infer or fabricate missing information
|
|
132
|
+
|
|
133
|
+
---
|
|
134
|
+
`;export{e as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as u}from"./ONQ6JSBJ.js";import{Dc as d}from"./AI6DYOKR.js";import{Dd as s}from"./MWYBF3F3.js";async function f(o,a,n){let e=n.map?.allLayers.find(r=>r.id===o);if(!e)return{text:`Error: Layer with id ${o} not found`};let t=a?.trim()?a:"1=1",l=e.createQuery();l.where=t;try{let{extent:r,count:i}=await e.queryExtent(l);if(i===0)return{text:`No features found in ${e.title} matching: ${t}`,where:t};if(r)await n.goTo(r);else return{text:`Error: Unable to determine extent for ${e.title}`,where:t};let c={layerId:o,layerTitle:e.title??o,where:t,count:i};return{text:`Successfully zoomed to ${i} feature(s) in ${e.title} matching: ${t}`,where:t,sharedStatePatch:{lastNavigatedFeatures:{value:c}}}}catch(r){return console.error("Error in goToFeatures:",r),{text:`Error: ${r instanceof Error?r.message:"Unknown error"}`,where:t}}}async function h({layerId:o,where:a},n){let{mapView:e}=u(n,["mapView"]);return await f(o,a,e)}var m=s.object({layerId:s.string().describe("The layerId of the layer to zoom to."),where:s.string().describe("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.")}),E=d(h,{name:"goToFeatures",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.",schema:m});export{E as a};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{$ as It,J as ot,Na as oe,Oa as at,Qa as W,Ra as Ot,S as Et,U as rt,Ua as Le,Wa as be,Xa as De,Ya as Nt,_ as At,a as ft,aa as Rt,b as R,f as $,j as L,k as H,ta as je,wa as Pt,x as Ke,y as pt}from"./EWLXNGKH.js";import{$ as wt,Ab as Ct,Ac as st,Ba as yt,Bb as te,Cb as _t,K as Ze,Kb as F,Lb as de,Nb as xt,Qb as Pe,Sb as St,Vb as i,W as M,Wa as qe,Xb as tt,Za as B,Zb as Oe,_a as ce,ab as Ae,bb as Mt,bc as Te,c as ht,cc as Y,db as et,ea as T,fb as Tt,fc as ue,ha as Xe,hc as Ne,p as Ye,qa as Q,qb as Me,rb as Ie,ua as Qe,ub as Re,uc as nt,v as gt,va as z,wc as kt,yb as vt}from"./AI6DYOKR.js";import{Dd as U,s as bt}from"./MWYBF3F3.js";var $e=Symbol.for("AgentMiddleware");function E(e){return{[$e]:!0,name:e.name,stateSchema:e.stateSchema,contextSchema:e.contextSchema,wrapToolCall:e.wrapToolCall,wrapModelCall:e.wrapModelCall,beforeAgent:e.beforeAgent,beforeModel:e.beforeModel,afterModel:e.afterModel,afterAgent:e.afterAgent,tools:e.tools,streamTransformers:e.streamTransformers}}var ve=class extends Error{constructor(){super("The provided LLM already has bound tools. Please provide an LLM without bound tools to createAgent. The agent will bind the tools provided in the 'tools' parameter.")}},Ce=class extends Error{toolNames;constructor(e){super(`The model has called multiple tools: ${e.join(", ")} to return a structured output. This is not supported. Please provide a single structured output.`),this.toolNames=e}},me=class extends Error{toolName;errors;constructor(e,t){super(`Failed to parse structured output for tool '${e}':${t.map(o=>`
|
|
3
|
+
- ${o}`).join("")}.`),this.toolName=e,this.errors=t}},fe=class extends Error{"~brand"="ToolInvocationError";toolCall;toolError;constructor(e,t){let o=e instanceof Error?e:new Error(String(e)),n=JSON.stringify(t.args);super(`Error invoking tool '${t.name}' with kwargs ${n} with error: ${o.stack}
|
|
4
|
+
Please fix the error and try again.`),this.toolCall=t,this.toolError=o}static isInstance(e){return e instanceof Error&&"~brand"in e&&e["~brand"]==="ToolInvocationError"}static[Symbol.hasInstance](e){return this.isInstance(e)}},ne=class jt extends Error{"~brand"="MiddlewareError";constructor(t,o){let n=t instanceof Error?t.message:String(t);super(n),this.name=t instanceof Error?t.name:`${o[0].toUpperCase()+o.slice(1)}Error`,t instanceof Error&&(this.cause=t)}static wrap(t,o){return Ke(t)?t:new jt(t,o)}static isInstance(t){return t instanceof Error&&"~brand"in t&&t["~brand"]==="MiddlewareError"}static[Symbol.hasInstance](t){return this.isInstance(t)}};function _e(e){return"invoke"in e&&typeof e.invoke=="function"&&"_streamResponseChunks"in e}function pe(e){return typeof e=="object"&&e!=null&&"_queuedMethodOperations"in e&&"_getModelInstance"in e&&typeof e._getModelInstance=="function"}var Lt=!0,vo=0,G=class it{schema;tool;options;constructor(t,o,n){this.schema=t,this.tool=o,this.options=n}get name(){return this.tool.function.name}static fromSchema(t,o){function n(a){return a??`extract-${++vo}`}if(Me(t)||Re(t)){let a=Oe(t),l={type:"function",function:{name:n(a.title),strict:!1,description:a.description??"Tool for extracting structured output from the model's response.",parameters:a}};return new it(a,l,o)}let r;typeof t.name=="string"&&typeof t.parameters=="object"&&t.parameters!=null?r=t:r={name:n(t.title),description:t.description??"",parameters:t.schema||t};let s=Oe(t);return new it(s,{type:"function",function:r},o)}parse(t){let o=new tt(this.schema).validate(t);if(!o.valid)throw new me(this.name,o.errors.map(n=>n.error));return t}},q=class Dt{_schemaType;schema;strict;constructor(t,o){if("schema"in t&&typeof t.schema=="object"&&t.schema!==null&&!("type"in t)){let n=t;this.schema=n.schema,this.strict=n.strict??Lt}else this.schema=t,this.strict=o??Lt}static fromSchema(t,o){let n=Oe(t);return new Dt(n,o)}parse(t){let o;if(typeof t.content=="string")o=t.content;else if(Array.isArray(t.content)){for(let n of t.content)if(typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&"text"in n&&typeof n.text=="string"){o=n.text;break}}if(!(!o||o===""))try{let n=JSON.parse(o);return new tt(this.schema).validate(n).valid?n:void 0}catch{}}};function $t(e,t,o){if(!e)return[];if(typeof e=="object"&&e!==null&&"__responseFormatUndefined"in e)return[];if(Array.isArray(e)){if(e.every(r=>r instanceof G||r instanceof q))return e;if(e.every(r=>Me(r)))return e.map(r=>G.fromSchema(r,t));if(e.every(r=>F(r)))return e.map(r=>G.fromSchema(r,t));if(e.every(r=>typeof r=="object"&&r!==null&&!F(r)&&!Me(r)))return e.map(r=>G.fromSchema(r,t));throw new Error(`Invalid response format: list contains mixed types.
|
|
5
|
+
All items must be either InteropZodObject, Standard Schema, or plain JSON schema objects.`)}if(e instanceof G||e instanceof q)return[e];let n=Co(o);if(Me(e))return n?[q.fromSchema(e)]:[G.fromSchema(e,t)];if(F(e))return n?[q.fromSchema(e)]:[G.fromSchema(e,t)];if(typeof e=="object"&&e!==null&&"properties"in e)return n?[q.fromSchema(e)]:[G.fromSchema(e,t)];throw new Error(`Invalid response format: ${String(e)}`)}function Co(e){return!e||!_e(e)||!("profile"in e)||typeof e.profile!="object"||!e.profile?!1:"structuredOutput"in e.profile&&e.profile.structuredOutput===!0}function _o(e,t){if(e.length<t.length||e.length>t.length+1)return!1;for(let o=0;o<t.length;o+=1)if(e[o]!==t[o])return!1;return!0}function xo(e){let t;try{t=JSON.parse(e)}catch{return!1}return!Array.isArray(t)||t.length===0?!1:t.every(o=>{if(o==null||typeof o!="object")return!1;let n=o;return typeof n.id=="string"&&"value"in n})}function So(e){if(e==null||typeof e!="object")return!1;let t=e;return t.type!=="constructor"||!Array.isArray(t.id)?!1:t.id[t.id.length-1]==="ToolMessage"}function ko(e){return M.isInstance(e)?e.content:So(e)?e.kwargs?.content:e}function ae(e){return()=>{let t=je.local(),o=new Map;function n(r,s,a){if(o.has(r))return;let l=typeof a=="string"?JSON.parse(a):a,u,m,c,h,d=new Promise((x,y)=>{u=x,m=y}),f=new Promise(x=>{c=x}),g=new Promise(x=>{h=x});o.set(r,{resolveOutput:u,rejectOutput:m,resolveStatus:c,resolveError:h}),t.push({name:s,callId:r,input:l,output:d,status:f,error:g})}return{__native:!0,init:()=>({toolCalls:t}),process(r){if(!_o(r.params.namespace,e))return!0;if(r.method==="messages"){let s=r.params.data;if(s.event==="content-block-finish"){let a=s.contentBlock??s.content_block;a?.type==="tool_call"&&n(String(a.id??""),String(a.name??""),a.args??a.input)}}if(r.method==="tools"){let s=r.params.data,a=s.tool_call_id;s.event==="tool-started"&&n(a,s.tool_name??"unknown",s.input);let l=a?o.get(a):void 0;if(l){if(s.event==="tool-finished")l.resolveOutput(ko(s.output)),l.resolveStatus("finished"),l.resolveError(void 0),o.delete(a);else if(s.event==="tool-error"){let u=s.message??"unknown error";if(xo(u))return!0;l.rejectOutput(new Error(u)),l.resolveStatus("error"),l.resolveError(u),o.delete(a)}}}return!0},finalize(){for(let r of o.values())r.resolveStatus("finished"),r.resolveError(void 0),r.resolveOutput(void 0);o.clear(),t.close()},fail(r){for(let s of o.values())s.resolveStatus("error"),s.resolveError(r instanceof Error?r.message:String(r)),s.rejectOutput(r);o.clear(),t.fail(r)}}}}function Z(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function xe(e){return e.join("\0")}function Bt(e,t){if(t.length>e.length)return!1;for(let o=0;o<t.length;o+=1)if(e[o]!==t[o])return!1;return!0}function he(e=[]){return()=>{let t=je.local(),o=new Map,n=new Map,r=new Map,s=new Map,a=e.length;function l(d,f){let g=xe(d);if(o.has(g))return;let x=(Z(f)&&Z(f.metadata)?f.metadata:void 0)?.lc_agent_name;o.set(g,typeof x=="string"?x:void 0)}function u(d){if(!Z(d))return;let f=d.id;if(typeof f!="string")return;let g=d.input,x;if(Z(g)&&Z(g.tool_call)){let y=g.tool_call.id;typeof y=="string"&&(x=y)}else if(Array.isArray(g)){for(let y of g)if(Z(y)&&typeof y.id=="string"){x=y.id;break}}x!=null&&n.set(f,x)}function m(d){let f=r.get(xe(d));if(typeof f=="string"&&f.length>0)return{type:"toolCall",tool_call_id:f};let g=d[d.length-1],x=g.indexOf(":");if(x===-1)return;let y=g.slice(x+1);if(y.length===0)return;let w=n.get(y);if(!(typeof w!="string"||w.length===0))return{type:"toolCall",tool_call_id:w}}function c(d){if(d.length!==a+1||!Bt(d,e))return;let f=xe(d);if(s.has(f))return;let g=o.get(f);if(typeof g!="string"||g.length===0)return;let x=Pt(d),y=x.init(),w=ae(d)(),O=w.init(),A=he(d)(),N=A.init(),K,j,b=new Promise((J,le)=>{K=J,j=le});s.set(f,{key:f,path:d,name:g,messages:x,toolCall:w,nested:A,resolveOutput:K,rejectOutput:j,latestValues:void 0,done:!1}),t.push({name:g,cause:m(d),output:b,messages:y.messages,toolCalls:O.toolCalls,subagents:N.subagents})}function h(d,f){d.done||(d.done=!0,f.type==="resolve"?d.resolveOutput(d.latestValues):d.rejectOutput(f.error),d.messages.finalize?.(),d.toolCall.finalize?.(),d.nested.finalize?.())}return{__native:!0,init:()=>({subagents:t}),process(d){let f=d.params.namespace,g=d.params.data,x=d.method==="tasks"&&Z(g)&&"result"in g;d.method==="tools"&&Z(g)&&g.event==="tool-started"&&typeof g.tool_call_id=="string"&&g.tool_call_id.length>0&&r.set(xe(f),g.tool_call_id),d.method==="tasks"&&!x&&(l(f,g),u(g),c(f));for(let y of s.values())if(!y.done&&Bt(f,y.path)&&(y.messages.process(d),y.toolCall.process(d),y.nested.process(d),xe(f)===y.key)){if(d.method==="values"&&Z(g))y.latestValues=g;else if(d.method==="lifecycle"&&Z(g)){let w=g.event;w==="completed"||w==="interrupted"?h(y,{type:"resolve"}):w==="failed"&&h(y,{type:"reject",error:new Error(`Subagent ${y.name} failed`)})}}return!0},finalize(){for(let d of s.values())h(d,{type:"resolve"});t.close()},fail(d){for(let f of s.values())h(f,{type:"reject",error:d});t.fail(d)}}}}var lt=Symbol.for("langgraph-zod");lt in globalThis||(globalThis[lt]=new WeakSet);function Ut(e){let t=globalThis[lt];t.has(e)||(Object.defineProperty(e,"langgraph",{get(){let o=this;return{metadata(n){return De(o,{jsonSchemaExtra:n})},reducer(n,r){return De(o,{default:Pe(o),reducer:{schema:r,fn:n}})}}}}),t.add(e))}try{Ut(i.ZodType.prototype),Ut(U.ZodType.prototype)}catch(e){throw new Error("Failed to extend Zod with LangGraph-related methods. This is most likely a bug, consider opening an issue and/or using `withLangGraph` to augment your Zod schema.",{cause:e})}var zt=class extends bt{constructor(e){super(),this.parent=e,this._map=this.parent._map}add(e,...t){let o=t[0];if(o&&!o?.default){let n=Pe(e);n!=null&&(o.default=n)}return super.add(e,...t)}},Eo=new zt(be);function Ft(e=!0,t,o=[]){let n={jumpTo:new at},r={},s={},a=l=>{if(W.isInstance(l)){for(let[m,c]of Object.entries(l.fields))if(!(m in n)){if(n[m]=c,m.startsWith("_"))continue;oe.isInstance(c)?(r[m]=c.inputSchema||c.valueSchema,s[m]=c.valueSchema):(r[m]=c,s[m]=c)}return}let u=de(l);for(let[m,c]of Object.entries(u)){let h=m.startsWith("_");if(!(m in n)){if(Ie(c)){let d=be.get(c);if(d?.reducer){d.reducer.schema?(n[m]=new oe(c,{inputSchema:d.reducer.schema,reducer:d.reducer.fn}),h||(r[m]=d.reducer.schema,s[m]=c)):(n[m]=new oe(c,{reducer:d.reducer.fn}),h||(r[m]=c,s[m]=c));continue}}n[m]=c,h||(r[m]=c,s[m]=c)}}};t&&(W.isInstance(t)||F(t))&&a(t);for(let l of o)l.stateSchema&&(W.isInstance(l.stateSchema)||F(l.stateSchema))&&a(l.stateSchema);return e&&(s.structuredResponse=new at),{state:new W({messages:Le,...n}),input:new W({messages:Le,...r}),output:new W({messages:Le,...s})}}var ct=/<name>(.*?)<\/name>/s,dt=/<content>(.*?)<\/content>/s;function Ao(e,t){if(W.isInstance(e)){let o={};for(let n of Object.keys(e.fields))n in t&&(o[n]=t[n]);return o}if(Re(e))return te(e,t);throw new Error(`Invalid state schema type: ${typeof e}`)}function Ht(e){if(!T.isInstance(e)||Xe.isInstance(e)||!e.name)return e;let{name:t}=e;if(typeof e.content=="string")return new T({...e.lc_kwargs,content:`<name>${t}</name><content>${e.content}</content>`,name:void 0});let o=[],n=0;for(let r of e.content)typeof r=="string"?(n+=1,o.push(`<name>${t}</name><content>${r}</content>`)):typeof r=="object"&&"type"in r&&r.type==="text"?(n+=1,o.push({...r,text:`<name>${t}</name><content>${r.text}</content>`})):o.push(r);return n||o.unshift({type:"text",text:`<name>${t}</name><content></content>`}),new T({...e.lc_kwargs,content:o,name:void 0})}function Gt(e){if(!T.isInstance(e)||!e.content)return e;let t=[],o;if(Array.isArray(e.content))t=e.content.filter(n=>{if(n.type==="text"&&typeof n.text=="string"){let r=n.text.match(ct),s=n.text.match(dt);return r&&(!s||s[1]==="")?(o=r[1],!1):!0}return!0}).map(n=>{if(n.type==="text"&&typeof n.text=="string"){let r=n.text.match(ct),s=n.text.match(dt);return!r||!s?n:(o=r[1],{...n,text:s[1]})}return n});else{let n=e.content,r=n.match(ct),s=n.match(dt);if(!r||!s)return e;o=r[1],t=s[1]}return new T({...Object.keys(e.lc_kwargs??{}).length>0?e.lc_kwargs:e,content:t,name:o})}function ie(e){return Te.isRunnable(e)}function Wt(e){return _e(e)?"bindTools"in e&&typeof e.bindTools=="function":!1}var ut=(e,t,o={})=>{if(Wt(e))return e.bindTools(t,o);if(Y.isRunnableBinding(e)&&Wt(e.bound)){let n=e.bound.bindTools(t,o);return Y.isRunnableBinding(n)?new Y({bound:n.bound,config:{...e.config,...n.config},kwargs:{...e.kwargs,...n.kwargs},configFactories:n.configFactories??e.configFactories}):new Y({bound:n,config:e.config,kwargs:e.kwargs,configFactories:e.configFactories})}return null};function Be(e){if(typeof e=="function")return;let t=e;if(ue.isRunnableSequence(t)&&(t=t.steps.find(o=>Y.isRunnableBinding(o))||t),!pe(t)){if(Y.isRunnableBinding(t)){let o=t.kwargs!=null&&typeof t.kwargs=="object"&&"tools"in t.kwargs&&Array.isArray(t.kwargs.tools)&&t.kwargs.tools.length>0,n=t.config!=null&&typeof t.config=="object"&&"tools"in t.config&&Array.isArray(t.config.tools)&&t.config.tools.length>0;if(o||n)throw new ve}if("tools"in t&&t.tools!==void 0&&Array.isArray(t.tools)&&t.tools.length>0)throw new ve}}function ge(e){return!!(T.isInstance(e)&&e.tool_calls&&e.tool_calls.length>0)}function Jt(e){if(e==null)return new z("");if(z.isInstance(e))return e;if(typeof e=="string")return new z({content:[{type:"text",text:e}]});throw new Error(`Invalid systemPrompt type: expected string or SystemMessage, got ${typeof e}`)}async function Vt(e,t,o={}){let n=ut(e,t,o);if(n)return n;if(pe(e)){let r=ut(await e._getModelInstance(),t,o);if(r)return r}if(ue.isRunnableSequence(e)){let r=e.steps.findIndex(s=>Y.isRunnableBinding(s)||_e(s)||pe(s));if(r>=0){let s=ut(e.steps[r],t,o);if(s){let a=e.steps.slice();return a.splice(r,1,s),ue.from(a)}}}throw new Error(`llm ${e} must define bindTools method.`)}function Io(e){if(e.length===0)return;if(e.length===1)return e[0];function t(n,r){return async(s,a)=>n(s,async u=>r(u,a))}let o=e[e.length-1];for(let n=e.length-2;n>=0;n--)o=t(e[n],o);return o}function Kt(e){let t=e.filter(o=>o.wrapToolCall);if(t.length!==0)return Io(t.map(o=>{let n=o.wrapToolCall;return async(s,a)=>{let l=s.state,u=new Set,m=async c=>{let h={...l,...c.state};try{return await a({...c,state:h})}catch(d){throw u.add(d),d}};try{let c=await n({...s,state:{messages:l.messages,...o.stateSchema?Ao(o.stateSchema,{...l}):{}}},m);if(!M.isInstance(c)&&!H(c))throw new Error(`Invalid response from "wrapToolCall" in middleware "${o.name}": expected ToolMessage or Command, got ${typeof c}`);return c}catch(c){throw u.has(c)?c:ne.wrap(c,o.name)}}}))}var Ro=["tags","metadata","runName","maxConcurrency","recursionLimit","configurable"];function Yt(e){let t={};for(let o of Ro){let n=e[o];n!==void 0&&(t[o]=n)}return t}async function Zt(e,t){let o={};for(let n of e){if(!n.stateSchema)continue;let r;if(W.isInstance(n.stateSchema)){let l={};for(let[u,m]of Object.entries(n.stateSchema.fields))oe.isInstance(m)?l[u]=m.inputSchema||m.valueSchema:l[u]=m;r=U.object(l)}else if(F(n.stateSchema))r=n.stateSchema;else continue;let s=await vt(St(r,l=>l.startsWith("_")),t);if(s.success){Object.assign(o,s.data);continue}let a=s.error.issues.filter(l=>l.code==="invalid_type").map(l=>` - ${l.path.join(".")}: Required`).join(`
|
|
6
|
+
`);throw new Error(`Middleware "${n.name}" has required state fields that must be initialized:
|
|
7
|
+
${a}
|
|
8
|
+
|
|
9
|
+
To fix this, either:
|
|
10
|
+
1. Provide default values in your middleware's state schema using .default():
|
|
11
|
+
stateSchema: z.object({
|
|
12
|
+
myField: z.string().default("default value")
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
2. Or make the fields optional using .optional():
|
|
16
|
+
stateSchema: z.object({
|
|
17
|
+
myField: z.string().optional()
|
|
18
|
+
})
|
|
19
|
+
|
|
20
|
+
3. Or ensure you pass these values when invoking the agent:
|
|
21
|
+
agent.invoke({
|
|
22
|
+
messages: [...],
|
|
23
|
+
${s.error.issues[0]?.path.join(".")}: "value"
|
|
24
|
+
})`)}return o}function Xt(e){let t={messages:U.custom(()=>[]),structuredResponse:U.any().optional()};if(!e)return U.object(t);let o;if(W.isInstance(e)){o={};for(let[r,s]of Object.entries(e.fields))oe.isInstance(s)?o[r]=s.inputSchema||s.valueSchema:o[r]=s}else if(F(e))o=de(e);else return U.object(t);let n={...t};for(let[r,s]of Object.entries(o))r.startsWith("_")?n[r]=s.optional():n[r]=s;return U.object(n)}function Qt(e){if(F(e))return xt(e);if(W.isInstance(e)){let t={};for(let[o,n]of Object.entries(e.fields)){let r;oe.isInstance(n)?r=n.inputSchema||n.valueSchema:r=n,t[o]=Ie(r)?r.optional():U.any().optional()}return U.object(t)}return U.object({})}function V(e){if(e){if(["model_request","tools",R].includes(e))return e;if(e==="model")return"model_request";if(e==="tools")return"tools";if(e==="end")return R;throw new Error(`Invalid jump target: ${e}, must be "model", "tools" or "end".`)}}function Ue(...e){return AbortSignal.any(e.filter(t=>t!=null&&typeof t=="object"&&"aborted"in t&&typeof t.aborted=="boolean"))}function Oo({apiKey:e,configuration:t={}}){let o=Rt({baseURL:t.baseURL,providerPath:"v1"});return{apiKey:e??t.apiKey??o.apiKey??(Ye("LANGSMITH_GATEWAY_API_KEY")||Ye("LANGSMITH_API_KEY")),configuration:{...t,baseURL:o.baseURL??`${It}/v1`},useResponsesApi:!0}}var Fe={openai:{package:"@langchain/openai",className:"ChatOpenAI"},anthropic:{package:"@langchain/anthropic",className:"ChatAnthropic"},azure_openai:{package:"@langchain/openai",className:"AzureChatOpenAI"},langsmith:{package:"@langchain/openai",className:"ChatOpenAI"},cohere:{package:"@langchain/cohere",className:"ChatCohere"},google:{package:"@langchain/google",className:"ChatGoogle"},"google-vertexai":{package:"@langchain/google-vertexai",className:"ChatVertexAI"},"google-vertexai-web":{package:"@langchain/google-vertexai-web",className:"ChatVertexAI"},"google-genai":{package:"@langchain/google-genai",className:"ChatGoogleGenerativeAI"},ollama:{package:"@langchain/ollama",className:"ChatOllama"},mistralai:{package:"@langchain/mistralai",className:"ChatMistralAI"},mistral:{package:"@langchain/mistralai",className:"ChatMistralAI"},groq:{package:"@langchain/groq",className:"ChatGroq"},bedrock:{package:"@langchain/aws",className:"ChatBedrockConverse"},aws:{package:"@langchain/aws",className:"ChatBedrockConverse"},deepseek:{package:"@langchain/deepseek",className:"ChatDeepSeek"},xai:{package:"@langchain/xai",className:"ChatXAI"},cerebras:{package:"@langchain/cerebras",className:"ChatCerebras"},fireworks:{package:"@langchain/fireworks",className:"ChatFireworks"},together:{package:"@langchain/together-ai",className:"ChatTogetherAI",hasCircularDependency:!0},perplexity:{package:"@langchain/perplexity",className:"ChatPerplexity"}},eo=Object.keys(Fe);async function No(e,t){let o;if(t)o=Fe[t];else{let n=Object.entries(Fe).find(([,r])=>r.className===e);o=n?n[1]:void 0}if(o)try{return(await import(o.package))[o.className]}catch(n){let r=n;if("code"in r&&r.code?.toString().includes("ERR_MODULE_NOT_FOUND")&&"message"in r&&typeof r.message=="string"){let s=(r.message.startsWith("Error: ")?r.message.slice(7):r.message).split("Cannot find package '")[1].split("'")[0];throw new Error(`Unable to import ${s}. Please install with \`npm install ${s}\` or \`pnpm install ${s}\``)}throw n}}async function jo(e,t,o={}){let n=t||Lo(e);if(!n)throw new Error(`Unable to infer model provider for { model: ${e} }, please specify modelProvider directly.`);let r=Fe[n];if(!r){let l=eo.join(", ");throw new Error(`Unsupported { modelProvider: ${n} }.
|
|
25
|
+
|
|
26
|
+
Supported model providers are: ${l}`)}let{modelProvider:s,...a}=o;return new(await No(r.className,n))({model:e,...a,...n==="langsmith"?Oo(a):{}})}function Lo(e){return e.startsWith("gpt-3")||e.startsWith("gpt-4")||e.startsWith("gpt-5")||e.startsWith("o1")||e.startsWith("o3")||e.startsWith("o4")?"openai":e.startsWith("claude")?"anthropic":e.startsWith("command")?"cohere":e.startsWith("accounts/fireworks")?"fireworks":e.startsWith("gemini")?"google-vertexai":e.startsWith("amazon.")?"bedrock":e.startsWith("mistral")?"mistralai":e.startsWith("sonar")||e.startsWith("pplx")?"perplexity":void 0}var qt=class ze extends rt{_llmType(){return"chat_model"}lc_namespace=["langchain","chat_models"];_defaultConfig={};_configurableFields="any";_configPrefix;_queuedMethodOperations={};_modelInstanceCache=new Map;_profile;constructor(t){super(t),this._defaultConfig=t.defaultConfig??{},t.configurableFields==="any"?this._configurableFields="any":this._configurableFields=t.configurableFields??["model","modelProvider"],t.configPrefix?this._configPrefix=t.configPrefix.endsWith("_")?t.configPrefix:`${t.configPrefix}_`:this._configPrefix="",this._queuedMethodOperations=t.queuedMethodOperations??this._queuedMethodOperations,this._profile=t.profile??void 0,this.metadata={...this.metadata,ls_integration:"langchain_init_chat_model"}}async _getModelInstance(t){let o=this._getCacheKey(t),n=this._modelInstanceCache.get(o);if(n)return n;let r={...this._defaultConfig,...this._modelParams(t)},s=await jo(r.model,r.modelProvider,r);for(let[a,l]of Object.entries(this._queuedMethodOperations))a in s&&typeof s[a]=="function"&&(s=await s[a](...l));return this._modelInstanceCache.set(o,s),s}async _generate(t,o,n){return(await this._getModelInstance(o))._generate(t,o??{},n)}bindTools(t,o){let n={...this._queuedMethodOperations};return n.bindTools=[t,o],new ze({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:n})}withStructuredOutput=(t,...o)=>{let n={...this._queuedMethodOperations};return n.withStructuredOutput=[t,...o],new ze({defaultConfig:this._defaultConfig,configurableFields:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:n})};_modelParams(t){let o=t?.configurable??{},n={};for(let[r,s]of Object.entries(o))if(r.startsWith(this._configPrefix)){let a=this._removePrefix(r,this._configPrefix);n[a]=s}return this._configurableFields!=="any"&&(n=Object.fromEntries(Object.entries(n).filter(([r])=>this._configurableFields.includes(r)))),n}_removePrefix(t,o){return t.startsWith(o)?t.slice(o.length):t}withConfig(t){let o={...t||{}},n=this._modelParams(o),r=Object.fromEntries(Object.entries(o).filter(([s])=>s!=="configurable"));return r.configurable=Object.fromEntries(Object.entries(o.configurable||{}).filter(([s])=>this._configPrefix&&!Object.keys(n).includes(this._removePrefix(s,this._configPrefix)))),new Y({config:o,bound:new ze({defaultConfig:{...this._defaultConfig,...n},configurableFields:Array.isArray(this._configurableFields)?[...this._configurableFields]:this._configurableFields,configPrefix:this._configPrefix,queuedMethodOperations:this._queuedMethodOperations})})}async invoke(t,o){let n=await this._getModelInstance(o),r=ce(o);return n.invoke(t,r)}async stream(t,o){let n=new Tt({generator:await(await this._getModelInstance(o)).stream(t,o),config:o});return await n.setup,et.fromAsyncGenerator(n)}async batch(t,o,n){return super.batch(t,o,n)}async*transform(t,o){let n=await this._getModelInstance(o),r=ce(o);yield*n.transform(t,r)}async*streamLog(t,o,n){let r=await this._getModelInstance(o),s=ce(o);yield*r.streamLog(t,s,{...n,_schemaFormat:"original",includeNames:n?.includeNames,includeTypes:n?.includeTypes,includeTags:n?.includeTags,excludeNames:n?.excludeNames,excludeTypes:n?.excludeTypes,excludeTags:n?.excludeTags})}streamEvents(t,o,n){if(o?.version==="v1"||o?.version==="v2"){let a=this,l=o;async function*u(){let m=await a._getModelInstance(l),c={...ce(l),version:l.version,...l.encoding!==void 0?{encoding:l.encoding}:{}},h;l.version==="v1"&&l.encoding==="text/event-stream"||l.version==="v1"||l.version==="v2"&&l.encoding,h=m.streamEvents(t,c,n);for await(let d of h)yield d}return et.fromAsyncGenerator(u())}let r=this;async function*s(){let a=await r._getModelInstance(o),l=ce(o);yield*a.streamEvents(t,l)}return new Et(s())}get profile(){if(this._profile)return this._profile;let t=this._getCacheKey({});return this._modelInstanceCache.get(t)?.profile??{}}_getCacheKey(t){let o=t??{};if(o.configurable){let{configurable:n}=o,r={};for(let[s,a]of Object.entries(n))s.startsWith("__pregel_")||(r[s]=a);o={...o,configurable:r}}return JSON.stringify(o)}};async function ee(e,t){let{configurableFields:o,configPrefix:n,modelProvider:r,profile:s,...a}={configPrefix:"",...t??{}};if(r===void 0&&e?.includes(":")){let[c,...h]=e.split(":"),d=h.length===0?[c]:[c,h.join(":")];eo.includes(d[0])&&([r,e]=d)}let l=Array.isArray(o)?[...o]:o;!e&&l===void 0&&(l=["model","modelProvider"]),n&&l===void 0&&console.warn(`{ configPrefix: ${n} } has been set but no fields are configurable. Set { configurableFields: [...] } to specify the model params that are configurable.`);let u={...a},m;return l===void 0?m=new qt({defaultConfig:{...u,model:e,modelProvider:r},configPrefix:n,profile:s}):(e&&(u.model=e),r&&(u.modelProvider=r),m=new qt({defaultConfig:u,configPrefix:n,configurableFields:l,profile:s})),await m._getModelInstance(),m}var we=class extends Te{lc_namespace=["langgraph"];func;tags;config;trace=!0;recurse=!0;#e;constructor(e){super(),this.name=e.name??e.func.name,this.func=e.func,this.config=e.tags?{tags:e.tags}:void 0,this.recurse=e.recurse??this.recurse}getState(){return this.#e}setState(e){this.#e={...this.#e,...e}}async invoke(e,t){let o=B(this.config,t),n=await qe.runWithConfig(o,async()=>this.func(e,o));return Te.isRunnable(n)&&this.recurse?await qe.runWithConfig(o,async()=>n.invoke(e,o)):(this.#e=n,n)}};function to(e,t){let o,n;if(t==="inline")o=Ht,n=Gt;else throw new Error(`Invalid agent name mode: ${t}. Needs to be one of: "inline"`);function r(s){return s.map(o)}return ue.from([Ne.from(r),e,Ne.from(n)])}function Do(e){return T.isInstance(e)||H(e)||typeof e=="object"&&e!==null&&"structuredResponse"in e&&"messages"in e}var P="model_request",oo=class extends we{#e;#o;constructor(e){super({name:e.name??"model",func:(t,o)=>this.#t(t,o)}),this.#e=e,this.#o=e.systemMessage}async#r(e,t=this.#e.responseFormat){if(!t)return;let o;pe(e)?o=await e._getModelInstance():typeof e!="string"&&(o=e);let n=$t(t,void 0,o);if(n.length!==0)return n.every(r=>r instanceof q)?{type:"native",strategy:n[0]}:{type:"tool",tools:n.filter(r=>r instanceof G).reduce((r,s)=>(r[s.name]=s,r),{})}}async#t(e,t){let o=e.messages.at(-1);if(o&&M.isInstance(o)&&o.name&&this.#e.shouldReturnDirect.has(o.name))return[new L({update:{messages:[]}})];let{response:n,lastAiMessage:r,collectedCommands:s}=await this.#a(e,t);if(typeof n=="object"&&n!==null&&"structuredResponse"in n&&"messages"in n){let{structuredResponse:u,messages:m}=n;return{messages:[...e.messages,...m],structuredResponse:u}}let a=[],l=T.isInstance(n)?n:r;return l&&(l.name=this.name,l.lc_kwargs.name=this.name,this.#c(e,l)?a.push(new L({update:{messages:[new T({content:"Sorry, need more steps to process this request.",name:this.name,id:l.id})]}})):a.push(new L({update:{messages:[l]}}))),H(n)&&!s.includes(n)&&a.push(n),a.push(...s),a}#s(){if(typeof this.#e.model=="string")return ee(this.#e.model);if(this.#e.model)return this.#e.model;throw new Error("No model option was provided, either via `model` option.")}async#a(e,t,o={}){let n=await this.#s(),r=t,s=this.#o,a=null,l=[],u=async d=>{Be(d.model);let f=await this.#r(d.model,d.responseFormat),g=await this.#d(d.model,d,f),x=[...s.text===""?[]:[s],...d.messages],y=Ue(this.#e.signal,t.signal),w=await Mt(g.invoke(x,{...t,signal:y}),y);if(a=w,f?.type==="native"){let N=f.strategy.parse(w);if(N)return{structuredResponse:N,messages:[w]};if(!w.tool_calls||w.tool_calls.length===0)throw new me(typeof f.strategy.schema?.title=="string"?f.strategy.schema.title:"providerStrategy",["Model output did not satisfy the provided response schema."]);return w}if(!f||!w.tool_calls)return w;let O=w.tool_calls.filter(N=>N.name in f.tools);if(O.length===0)return w;if(O.length>1)return this.#i(w,O,f);let A=f.tools[O[0].name]?.options?.toolMessageContent;return this.#l(w,O[0],f,A??o.lastMessage)},m=this.#e.wrapModelCallHookMiddleware??[],c=u;for(let d=m.length-1;d>=0;d--){let f=m[d],g=Array.isArray(f)?f[0]:f;if(g.wrapModelCall){let x=c,y=g;c=async w=>{let O=s,A=y.contextSchema?te(y.contextSchema,r?.context||{}):r?.context,N=Object.freeze({context:A,store:r.store,configurable:r.configurable,writer:r.writer,interrupt:r.interrupt,signal:r.signal}),K={...w,state:{...g.stateSchema?te(Qt(g.stateSchema),e):{},messages:e.messages},runtime:N},j=async b=>{s=O;let J=b.tools??[],le=new Map(this.#e.toolClasses.filter(ie).map(_=>[_.name,_])),Ee=J.filter(_=>ie(_)&&!le.has(_.name)),ye=J.filter(_=>{if(!ie(_))return!1;let v=le.get(_.name);return v!=null&&v!==_});if(Ee.length>0&&!this.#e.middleware?.some(_=>_.wrapToolCall!=null))throw new Error(`You have added a new tool in "wrapModelCall" hook of middleware "${y.name}": ${Ee.map(_=>_.name).join(", ")}. This is not supported unless a middleware provides a "wrapToolCall" handler to execute it.`);if(ye.length>0)throw new Error(`You have modified a tool in "wrapModelCall" hook of middleware "${y.name}": ${ye.map(_=>_.name).join(", ")}. This is not supported.`);let p=b,C=b.systemPrompt!==s.text,I=b.systemMessage!==s;if(C&&I)throw new Error("Cannot change both systemPrompt and systemMessage in the same request.");C&&(s=new z({content:[{type:"text",text:b.systemPrompt}]}),p={...b,systemPrompt:s.text,systemMessage:s}),I&&(s=new z({...b.systemMessage}),p={...b,systemPrompt:s.text,systemMessage:s});let k=await x(p);return H(k)&&a?(l.includes(k)||l.push(k),a):k};if(!y.wrapModelCall)return j(K);try{let b=await y.wrapModelCall(K,j);if(!Do(b))throw new Error(`Invalid response from "wrapModelCall" in middleware "${y.name}": expected AIMessage or Command, got ${typeof b}`);return T.isInstance(b)?a=b:H(b)&&l.push(b),b}catch(b){throw ne.wrap(b,y.name)}}}}s=this.#o;let h={model:n,responseFormat:this.#e.responseFormat,systemPrompt:s?.text,systemMessage:s,messages:e.messages,tools:this.#e.toolClasses,state:e,runtime:Object.freeze({context:r?.context,store:r.store,configurable:r.configurable,writer:r.writer,interrupt:r.interrupt,signal:r.signal})};return{response:await c(h),lastAiMessage:a,collectedCommands:l}}#i(e,t,o){let n=new Ce(t.map(r=>r.name));return this.#n(n,e,t[0],o)}#l(e,t,o,n){let r=o.tools[t.name];try{let s=r.parse(t.args);return{structuredResponse:s,messages:[e,new M({tool_call_id:t.id??"",content:JSON.stringify(s),name:t.name}),new T(n??`Returning structured response: ${JSON.stringify(s)}`)]}}catch(s){return this.#n(s,e,t,o)}}async#n(e,t,o,n){let r=Object.values(n.tools).at(0)?.options?.handleError,s=o.id;if(!s)throw new Error("Tool call ID is required to handle tool output errors. Please provide a tool call ID.");if(r===!1)throw e;if(r===void 0||typeof r=="boolean"&&r||Array.isArray(r)&&r.some(a=>a instanceof Ce))return new L({update:{messages:[t,new M({content:e.message,tool_call_id:s})]},goto:P});if(typeof r=="string")return new L({update:{messages:[t,new M({content:r,tool_call_id:s})]},goto:P});if(typeof r=="function"){let a=await r(e);if(typeof a!="string")throw new Error("Error handler must return a string.");return new L({update:{messages:[t,new M({content:a,tool_call_id:s})]},goto:P})}return new L({update:{messages:[t,new M({content:e.message,tool_call_id:s})]},goto:P})}#c(e,t){let o=T.isInstance(t)&&t.tool_calls?.every(r=>this.#e.shouldReturnDirect.has(r.name)),n="remainingSteps"in e?e.remainingSteps:void 0;return!!(n&&(n<1&&o||n<2&&ge(e.messages.at(-1))))}async#d(e,t,o){let n={},r=Object.values(o&&"tools"in o?o.tools:{}),s=[...t?.tools??this.#e.toolClasses,...r.map(u=>u.tool)],a=t?.toolChoice||(r.length>0?"any":void 0);if(o?.type==="native"){let u=t?.modelSettings?.strict??o?.strategy?.strict??!0,m={name:o.strategy.schema?.name??"extract",description:_t(o.strategy.schema),schema:o.strategy.schema,strict:u};Object.assign(n,{response_format:{type:"json_schema",json_schema:m},outputConfig:{format:{type:"json_schema",schema:o.strategy.schema}},responseSchema:o.strategy.schema,ls_structured_output_format:{kwargs:{method:"json_schema"},schema:o.strategy.schema},strict:t?.modelSettings?.strict})}let l=await Vt(e,s,{...n,...t?.modelSettings,tool_choice:a});return this.#e.includeAgentName==="inline"?to(l,this.#e.includeAgentName):l}getState(){let e=super.getState();return{messages:[],...e&&!H(e)?e:{}}}};var no=(e,t)=>`Error: ${e} is not a valid tool, try one of [${t.join(", ")}].`,D="tools",ro=e=>Array.isArray(e)&&e.every(Ze.isInstance),$o=e=>typeof e=="object"&&e!=null&&"messages"in e&&ro(e.messages),Bo=e=>typeof e=="object"&&e!=null&&"lg_tool_call"in e;function Uo(e,t){return fe.isInstance(e)?new M({content:e.message,tool_call_id:t.id,name:t.name}):new M({content:`${e}
|
|
27
|
+
Please fix your mistakes.`,tool_call_id:t.id,name:t.name})}var so=class extends we{options;tools;trace=!1;signal;handleToolErrors=Uo;wrapToolCall;constructor(e,t){let{name:o,tags:n,handleToolErrors:r,signal:s,wrapToolCall:a}=t??{};super({name:o,tags:n,func:(l,u)=>this.run(l,u)}),this.options=t,this.tools=e,this.handleToolErrors=r??this.handleToolErrors,this.signal=s,this.wrapToolCall=a}#e(e,t,o){if(pt(e)||this.signal?.aborted)throw e;let n=e,r=o;if(o){let s=e;for(;ne.isInstance(s);)s=s.cause;fe.isInstance(s)&&(n=s,r=!1)}if(r&&this.handleToolErrors!==!0||!this.handleToolErrors)throw n;if(typeof this.handleToolErrors=="function"){let s=this.handleToolErrors(n,t);if(s&&M.isInstance(s))return s;throw n}else if(this.handleToolErrors)return new M({name:t.name,content:`${n}
|
|
28
|
+
Please fix your mistakes.`,tool_call_id:t.id});throw n}async runTool(e,t,o){let n=t,r={context:n?.context,store:n?.store,configurable:n?.configurable,writer:n?.writer,interrupt:n?.interrupt,signal:n?.signal},s=this.tools.find(u=>u.name===e.name),a=async u=>{let{toolCall:m,tool:c}=u,h=c??this.tools.find(f=>f.name===m.name);if(h===void 0){let f=this.tools.map(g=>g.name);return new M({content:no(m.name,f),tool_call_id:m.id,name:m.name,status:"error"})}let d=h;try{let f=await d.invoke({...m,type:"tool_call"},{...t,config:t,toolCallId:m.id,state:t.configurable?.__pregel_scratchpad?.currentTaskInput,signal:Ue(this.signal,t.signal)});return M.isInstance(f)||H(f)?f:new M({name:d.name,content:typeof f=="string"?f:JSON.stringify(f),tool_call_id:m.id})}catch(f){throw f instanceof wt?new fe(f,m):f}},l={toolCall:e,tool:s,state:o,runtime:r};if(this.wrapToolCall)try{return await this.wrapToolCall(l,a)}catch(u){return this.#e(u,e,!0)}if(!s){let u=this.tools.map(m=>m.name);return new M({content:no(e.name,u),tool_call_id:e.id,name:e.name,status:"error"})}try{return await a(l)}catch(u){return this.#e(u,e,!1)}}async run(e,t){let o;if(Bo(e)){let{lg_tool_call:s,jumpTo:a,...l}=e;o=[await this.runTool(e.lg_tool_call,t,l)]}else{let s;if(ro(e))s=e;else if($o(e))s=e.messages;else throw new Error("ToolNode only accepts BaseMessage[] or { messages: BaseMessage[] } as input.");let a=new Set(s.filter(u=>u.getType()==="tool").map(u=>u.tool_call_id)),l;for(let u=s.length-1;u>=0;u-=1){let m=s[u];if(T.isInstance(m)){l=m;break}}if(!T.isInstance(l))throw new Error("ToolNode only accepts AIMessages as input.");o=await Promise.all(l.tool_calls?.filter(u=>u.id==null||!a.has(u.id)).map(u=>this.runTool(u,t,e))??[])}if(!o.some(H))return Array.isArray(e)?o:{messages:o};let n=[],r=null;for(let s of o)H(s)?s.graph===L.PARENT&&Array.isArray(s.goto)&&s.goto.every(a=>zo(a))?r?r.goto.push(...s.goto):r=new L({graph:L.PARENT,goto:s.goto}):n.push(s):n.push(Array.isArray(e)?[s]:{messages:[s]});return r&&n.push(r),n}};function zo(e){return e instanceof $}function Se(e,t){let n=0;if(t&&t.length>0){let r=0;for(let s of t){let a=st(s)?At(s):s;r+=JSON.stringify(a).length}n+=r}for(let r of e){let s;typeof r.content=="string"?s=r.content:Array.isArray(r.content)?s=r.content.map(a=>typeof a=="string"?a:a.type==="text"&&"text"in a?a.text:"").join(""):s="",T.isInstance(r)&&Array.isArray(r.tool_calls)&&r.tool_calls.length>0&&(s+=JSON.stringify(r.tool_calls)),M.isInstance(r)&&(s+=r.tool_call_id??""),n+=s.length}return Math.ceil(n/4)}function X(e){if(!(!e||typeof e=="function"))return e.canJumpTo}function re(e){return typeof e=="function"?e:e.hook}var Fo=class{},Wo=class{},se=class extends we{constructor(e){super(e)}async invokeMiddleware(e,t){let o={};if(this.middleware.contextSchema&&F(this.middleware.contextSchema)){let u=de(this.middleware.contextSchema);if(u){let m={},c=t?.context||{};for(let h of Object.keys(u))h in c&&(m[h]=c[h]);o=te(this.middleware.contextSchema,m)}}let n={...e,messages:e.messages},r={context:o,store:t?.store,configurable:t?.configurable,writer:t?.writer,interrupt:t?.interrupt,signal:t?.signal},s=await this.runHook(n,Object.freeze(Object.assign(new Wo,{...r,context:Object.freeze(Object.assign(new Fo,o))})));if(!s)return{jumpTo:void 0};let a,l;if(this.name?.startsWith("BeforeAgentNode_")?(a=X(this.middleware.beforeAgent),l="beforeAgent.canJumpTo"):this.name?.startsWith("BeforeModelNode_")?(a=X(this.middleware.beforeModel),l="beforeModel.canJumpTo"):this.name?.startsWith("AfterAgentNode_")?(a=X(this.middleware.afterAgent),l="afterAgent.canJumpTo"):this.name?.startsWith("AfterModelNode_")&&(a=X(this.middleware.afterModel),l="afterModel.canJumpTo"),typeof s.jumpTo=="string"&&!a?.includes(s.jumpTo)){let u=a&&a.length>0?`must be one of: ${a?.join(", ")}.`:l?`no ${l} defined in middleware ${this.middleware.name}`:"";throw new Error(`Invalid jump target: ${s.jumpTo}, ${u}.`)}if(typeof s=="object"&&"type"in s){if(s.type==="terminate"){if(s.error)throw s.error;return{...n,...s.result||{},jumpTo:s.jumpTo}}throw new Error(`Invalid control action: ${JSON.stringify(s)}`)}return{...n,...s,jumpTo:s.jumpTo}}get nodeOptions(){return{input:Xt(this.middleware.stateSchema)}}};var ao=class extends se{middleware;lc_namespace=["langchain","agents","beforeAgentNodes"];constructor(e){super({name:`BeforeAgentNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.beforeAgent)(e,t)}};var io=class extends se{middleware;lc_namespace=["langchain","agents","beforeModelNodes"];constructor(e){super({name:`BeforeModelNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.beforeModel)(e,t)}};var lo=class extends se{middleware;lc_namespace=["langchain","agents","afterModelNodes"];constructor(e){super({name:`AfterModelNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.afterModel)(e,t)}};var co=class extends se{middleware;lc_namespace=["langchain","agents","afterAgentNodes"];constructor(e){super({name:`AfterAgentNode_${e.name}`,func:async(t,o)=>this.invokeMiddleware(t,o)}),this.middleware=e}runHook(e,t){return re(this.middleware.afterAgent)(e,t)}};var uo=class mo{options;#e;#o="v2";#r;#t;constructor(t,o){if(this.options=t,this.#t=B(o??{},{metadata:{ls_integration:"langchain_create_agent"},configurable:{ls_agent_type:"root"}}),t.name&&(this.#t=B(this.#t,{metadata:{lc_agent_name:t.name}})),this.#o=t.version??this.#o,!t.model)throw new Error("`model` option is required to create an agent.");typeof t.model!="string"&&Be(t.model);let n=this.options.middleware?.filter(p=>p.tools).flatMap(p=>p.tools)??[],r=[...t.tools??[],...n],s=new Set(r.filter(ie).filter(p=>"returnDirect"in p&&p.returnDirect).map(p=>p.name)),a=!!this.options.middleware?.some(p=>p.wrapModelCall),{state:l,input:u,output:m}=Ft(this.options.responseFormat!==void 0||a,this.options.stateSchema,this.options.middleware),c=new Nt(l,{input:u,output:m,context:this.options.contextSchema}),h=[],d=[],f=[],g=[],x=[];this.#r=new oo({model:this.options.model,systemMessage:Jt(this.options.systemPrompt),includeAgentName:this.options.includeAgentName,name:this.options.name,responseFormat:this.options.responseFormat,middleware:this.options.middleware,toolClasses:r,shouldReturnDirect:s,signal:this.options.signal,wrapModelCallHookMiddleware:x});let y=new Set,w=this.options.middleware??[];for(let p=0;p<w.length;p++){let C,I,k,_,v=w[p];if(y.has(v.name))throw new Error(`Middleware ${v.name} is defined multiple times`);if(y.add(v.name),v.beforeAgent){C=new ao(v);let S=`${v.name}.before_agent`;h.push({index:p,name:S,allowed:X(v.beforeAgent)}),c.addNode(S,C,C.nodeOptions)}if(v.beforeModel){I=new io(v);let S=`${v.name}.before_model`;d.push({index:p,name:S,allowed:X(v.beforeModel)}),c.addNode(S,I,I.nodeOptions)}if(v.afterModel){k=new lo(v);let S=`${v.name}.after_model`;f.push({index:p,name:S,allowed:X(v.afterModel)}),c.addNode(S,k,k.nodeOptions)}if(v.afterAgent){_=new co(v);let S=`${v.name}.after_agent`;g.push({index:p,name:S,allowed:X(v.afterAgent)}),c.addNode(S,_,_.nodeOptions)}v.wrapModelCall&&x.push(v)}c.addNode(P,this.#r);let O=w.some(p=>p.wrapToolCall),A=r.filter(ie);if(A.length>0||O){let p=new so(A,{signal:this.options.signal,wrapToolCall:Kt(w)});c.addNode(D,p)}let N;h.length>0?N=h[0].name:d.length>0?N=d[0].name:N=P;let K=d.length>0?d[0].name:P,j=g.length>0?g[g.length-1].name:R;c.addEdge(ft,N);let b=A.length>0||O;for(let p=0;p<h.length;p++){let C=h[p],I=C.name,k=p===h.length-1?K:h[p+1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._.map(S=>S===R?j:S)]));c.addConditionalEdges(I,this.#c(A,k,j,b),v)}else c.addEdge(I,k)}for(let p=0;p<d.length;p++){let C=d[p],I=C.name,k=p===d.length-1?P:d[p+1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#d(A,k,b),v)}else c.addEdge(I,k)}let J=f.at(-1);if(f.length>0&&J)c.addEdge(P,J.name);else{let p=this.#s(A,!1,b).map(C=>C===R?j:C);p.length===1?c.addEdge(P,p[0]):c.addConditionalEdges(P,this.#i(j),p)}for(let p=f.length-1;p>0;p--){let C=f[p],I=C.name,k=f[p-1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#n(A,C.allowed,k,b),v)}else c.addEdge(I,k)}if(f.length>0){let p=f[0],C=p.name,I=this.#s(A,!0,b).filter(v=>v!=="tools"||b),k=!!(p.allowed&&p.allowed.length>0),_=I.map(v=>v===R?j:v);c.addConditionalEdges(C,this.#l(A,k,j,b),_)}for(let p=g.length-1;p>0;p--){let C=g[p],I=C.name,k=g[p-1].name;if(C.allowed&&C.allowed.length>0){let _=C.allowed.map(S=>V(S)).filter(S=>S!=="tools"||b),v=Array.from(new Set([k,..._]));c.addConditionalEdges(I,this.#n(A,C.allowed,k,b),v)}else c.addEdge(I,k)}if(g.length>0){let p=g[0],C=p.name;if(p.allowed&&p.allowed.length>0){let I=p.allowed.map(_=>V(_)).filter(_=>_!=="tools"||b),k=Array.from(new Set([R,...I]));c.addConditionalEdges(C,this.#n(A,p.allowed,R,b),k)}else c.addEdge(C,R)}if(b){let p=K;s.size>0?c.addConditionalEdges(D,this.#a(s,j,p),[p,j]):c.addEdge(D,p)}let le=(this.options.middleware??[]).flatMap(p=>p.streamTransformers??[]),Ee=[ae([]),he([]),...le,...this.options.streamTransformers??[]];this.#e=c.compile({checkpointer:this.options.checkpointer,store:this.options.store,name:this.options.name,description:this.options.description,transformers:Ee});let ye=Yt(this.#t);Object.keys(ye).length>0&&(this.#e=this.#e.withConfig(ye))}get graph(){return this.#e}get checkpointer(){return this.#e.checkpointer}set checkpointer(t){this.#e.checkpointer=t}get store(){return this.#e.store}set store(t){this.#e.store=t}withConfig(t){return new mo(this.options,B(this.#t,t))}#s(t,o=!1,n=t.length>0){let r=[];return n&&r.push(D),o&&r.push(P),r.push(R),r}#a(t,o,n){return r=>{let s=r.messages,a=s[s.length-1];return M.isInstance(a)&&a.name&&t.has(a.name)?this.options.responseFormat?n:o:n}}#i(t=R){return o=>{let n=o.messages.at(-1);if(!T.isInstance(n)||!n.tool_calls||n.tool_calls.length===0||n.tool_calls.every(s=>s.name.startsWith("extract-")))return t;if(this.#o==="v1")return D;let r=n.tool_calls.filter(s=>!s.name.startsWith("extract-"));return r.length===0?t:r.map(s=>new $(D,{...o,lg_tool_call:s}))}}#l(t,o,n,r=t.length>0){let s=!!this.options.responseFormat;return a=>{let l=a,u=l.messages,m=u.at(-1);if(T.isInstance(m)&&(!m.tool_calls||m.tool_calls.length===0))return n;if(o&&l.jumpTo){let w=V(l.jumpTo);return w===R?n:w==="tools"?r?new $(D,{...a,jumpTo:void 0}):n:new $(P,{...a,jumpTo:void 0})}let c=u.filter(M.isInstance),h=u.filter(T.isInstance).at(-1),d=h?.tool_calls?.filter(w=>!c.some(O=>O.tool_call_id===w.id));if(d&&d.length>0)return this.#o==="v1"?D:d.map(w=>new $(D,{...a,lg_tool_call:w}));let f=h?.tool_calls?.some(w=>w.name.startsWith("extract-"));if(d&&d.length===0&&!f&&s)return P;if(!T.isInstance(m)||!m.tool_calls||m.tool_calls.length===0)return n;let g=m.tool_calls.every(w=>w.name.startsWith("extract-")),x=m.tool_calls.some(w=>!w.name.startsWith("extract-"));if(g||!x)return n;if(this.#o==="v1")return D;let y=m.tool_calls.filter(w=>!w.name.startsWith("extract-"));return y.length===0?n:y.map(w=>new $(D,{...a,lg_tool_call:w}))}}#n(t,o,n,r=t.length>0){let s=new Set(o.map(a=>V(a)));return a=>{let l=a;if(l.jumpTo){let u=V(l.jumpTo);if(u===R&&s.has(R))return R;if(u==="tools"&&s.has("tools"))return r?new $(D,{...a,jumpTo:void 0}):R;if(u==="model_request"&&s.has("model_request"))return new $(P,{...a,jumpTo:void 0})}return n}}#c(t,o,n,r=t.length>0){return s=>{let a=s;if(!a.jumpTo)return o;let l=V(a.jumpTo);return l===R?n:l==="tools"?r?new $(D,{...s,jumpTo:void 0}):n:new $(P,{...s,jumpTo:void 0})}}#d(t,o,n=t.length>0){return r=>{let s=r;if(!s.jumpTo)return o;let a=V(s.jumpTo);return a===R?R:a==="tools"?n?new $(D,{...r,jumpTo:void 0}):R:new $(P,{...r,jumpTo:void 0})}}async#u(t,o){if(!this.options.middleware||this.options.middleware.length===0||t instanceof L||!t)return t;let n=await Zt(this.options.middleware,t),r={...(await this.#e.getState(o).catch(()=>({values:{}}))).values,...t};if(!r)return r;for(let[s,a]of Object.entries(n))s in r||(r[s]=a);return r}async invoke(t,o){let n=B(this.#t,o),r=await this.#u(t,n);return this.#e.invoke(r,n)}async stream(t,o){let n=B(this.#t,o),r=await this.#u(t,n);return this.#e.stream(r,n)}streamEvents(t,o,n){if(o?.version!=="v3"||n!=null){let r=B(this.#t,o),s=o?.version==="v1"||o?.version==="v2"?o.version:"v2";return this.#e.streamEvents(t,{...r,version:s},n)}return(async()=>{let{transformers:r,version:s,...a}=o??{},l=B(this.#t,a),u=await this.#u(t,l);return await this.#e.streamEvents(u,{...l,version:"v3",transformers:r})})()}async drawMermaidPng(t){let o=await(await(await this.#e.getGraphAsync()).drawMermaidPng(t)).arrayBuffer();return new Uint8Array(o)}async drawMermaid(t){return(await this.#e.getGraphAsync()).drawMermaid(t)}getGraphAsync(t){return this.#e.getGraphAsync(t)}getState(t,o){return this.#e.getState(t,o)}getStateHistory(t,o){return this.#e.getStateHistory(t,o)}getSubgraphs(t,o){return this.#e.getSubgraphs(t,o)}getSubgraphsAsync(t,o){return this.#e.getSubgraphsAsync(t,o)}updateState(t,o,n){return this.#e.updateState(t,o,n)}get builder(){return this.#e.builder}};function Vo(e){return new uo(e)}var Yo=i.function().args(i.custom()).returns(i.union([i.boolean(),i.promise(i.boolean())])),Zo=i.function().args(i.custom(),i.custom(),i.custom()).returns(i.union([i.string(),i.promise(i.string())])),Xo=["approve","edit","reject"],Qo=i.enum(Xo),qo=i.object({allowedDecisions:i.array(Qo),description:i.union([i.string(),Zo]).optional(),argsSchema:i.record(i.any()).optional(),when:Yo.optional()}),qa=i.object({interruptOn:i.record(i.union([i.boolean(),qo])).optional(),descriptionPrefix:i.string().default("Tool execution requires approval")});var We="nostream",He=i.object({maxRetries:i.number().min(0).default(2),retryOn:i.union([i.function().args(i.instanceof(Error)).returns(i.boolean()),i.array(i.custom())]).default(()=>e=>gt(e)??!0),backoffFactor:i.number().min(0).default(2),initialDelayMs:i.number().min(0).default(1e3),maxDelayMs:i.number().min(0).default(6e4),jitter:i.boolean().default(!0)});var Ge=`<role>
|
|
29
|
+
Context Extraction Assistant
|
|
30
|
+
</role>
|
|
31
|
+
|
|
32
|
+
<primary_objective>
|
|
33
|
+
Your sole objective in this task is to extract the highest quality/most relevant context from the conversation history below.
|
|
34
|
+
</primary_objective>
|
|
35
|
+
|
|
36
|
+
<objective_information>
|
|
37
|
+
You're nearing the total number of input tokens you can accept, so you must extract the highest quality/most relevant pieces of information from your conversation history.
|
|
38
|
+
This context will then overwrite the conversation history presented below. Because of this, ensure the context you extract is only the most important information to your overall goal.
|
|
39
|
+
</objective_information>
|
|
40
|
+
|
|
41
|
+
<instructions>
|
|
42
|
+
The conversation history below will be replaced with the context you extract in this step. Because of this, you must do your very best to extract and record all of the most important context from the conversation history.
|
|
43
|
+
You want to ensure that you don't repeat any actions you've already completed, so the context you extract from the conversation history should be focused on the most important information to your overall goal.
|
|
44
|
+
</instructions>
|
|
45
|
+
|
|
46
|
+
The user will message you with the full message history you'll be extracting context from, to then replace. Carefully read over it all, and think deeply about what information is most important to your overall goal that should be saved:
|
|
47
|
+
|
|
48
|
+
With all of this in mind, please carefully read over the entire conversation history, and extract the most important and relevant context to replace it so that you can free up space in the conversation history.
|
|
49
|
+
Respond ONLY with the extracted context. Do not include any additional information, or text before or after the extracted context.
|
|
50
|
+
|
|
51
|
+
<messages>
|
|
52
|
+
Messages to summarize:
|
|
53
|
+
{messages}
|
|
54
|
+
</messages>`,en="Here is a summary of the conversation to date:",Je=20,tn=4e3,fo=5,on=i.function().args(i.array(i.custom())).returns(i.union([i.number(),i.promise(i.number())])),ke=i.object({fraction:i.number().gt(0,"Fraction must be greater than 0").max(1,"Fraction must be less than or equal to 1").optional(),tokens:i.number().positive("Tokens must be greater than 0").optional(),messages:i.number().int("Messages must be an integer").positive("Messages must be greater than 0").optional()}).refine(e=>[e.fraction,e.tokens,e.messages].filter(t=>t!==void 0).length>=1,{message:"At least one of fraction, tokens, or messages must be provided"}),mt=i.object({fraction:i.number().min(0,"Messages must be non-negative").max(1,"Fraction must be less than or equal to 1").optional(),tokens:i.number().min(0,"Tokens must be greater than or equal to 0").optional(),messages:i.number().int("Messages must be an integer").min(0,"Messages must be non-negative").optional()}).refine(e=>[e.fraction,e.tokens,e.messages].filter(t=>t!==void 0).length===1,{message:"Exactly one of fraction, tokens, or messages must be provided"}),po=i.object({model:i.custom(),trigger:i.union([ke,i.array(ke)]).optional(),keep:mt.optional(),tokenCounter:on.optional(),summaryPrompt:i.string().default(Ge),trimTokensToSummarize:i.number().optional(),summaryPrefix:i.string().optional(),maxTokensBeforeSummary:i.number().optional(),messagesToKeep:i.number().optional()});function Ve(e){if("profile"in e&&typeof e.profile=="object"&&e.profile&&"maxInputTokens"in e.profile&&(typeof e.profile.maxInputTokens=="number"||e.profile.maxInputTokens==null))return e.profile.maxInputTokens??void 0;if("model"in e&&typeof e.model=="string")return nt(e.model);if("modelName"in e&&typeof e.modelName=="string")return nt(e.modelName)}function go(e){let{data:t,error:o}=Ct(po,e);if(o)throw new Error(`Invalid summarization middleware options: ${U.prettifyError(o)}`);return E({name:"SummarizationMiddleware",contextSchema:po.extend({model:i.custom().optional()}),beforeModel:async(n,r)=>{let s=t.trigger,a=t.keep;t.maxTokensBeforeSummary!==void 0&&(console.warn("maxTokensBeforeSummary is deprecated. Use `trigger: { tokens: value }` instead."),s===void 0&&(s={tokens:t.maxTokensBeforeSummary})),t.messagesToKeep!==void 0&&(console.warn("messagesToKeep is deprecated. Use `keep: { messages: value }` instead."),(!a||a&&"messages"in a&&a.messages===Je)&&(a={messages:t.messagesToKeep}));let l=r.context?.trigger!==void 0?r.context.trigger:s,u=r.context?.keep!==void 0?r.context.keep:a??{messages:Je},m=mt.parse(u),c=[];l===void 0?c=[]:Array.isArray(l)?c=l.map(J=>ke.parse(J)):c=[ke.parse(l)];let h=c.some(J=>"fraction"in J)||"fraction"in m,d=typeof t.model=="string"?await ee(t.model):t.model;if(h&&!Ve(d))throw new Error("Model profile information is required to use fractional token limits. Use absolute token counts instead.");let f=r.context?.summaryPrompt===Ge?t.summaryPrompt??Ge:r.context?.summaryPrompt??t.summaryPrompt??Ge,g=r.context.summaryPrefix??t.summaryPrefix??en,x=r.context?.trimTokensToSummarize!==void 0?r.context.trimTokensToSummarize:t.trimTokensToSummarize??tn;nn(n.messages);let y=r.context?.tokenCounter!==void 0?r.context.tokenCounter:t.tokenCounter??Se,w=await y(n.messages);if(!await an(n.messages,w,c,d))return;let{systemPrompt:O,conversationMessages:A}=rn(n.messages),N=await ln(A,m,y,d);if(N<=0)return;let{messagesToSummarize:K,preservedMessages:j}=sn(O,A,N),b=new Q({content:`${g}
|
|
55
|
+
|
|
56
|
+
${await un(K,d,f,y,x,r)}`,id:A[0].id,additional_kwargs:{lc_source:"summarization"}});return{messages:[new Qe({id:Ot}),b,...j]}}})}function nn(e){for(let t of e)t.id||(t.id=ht())}function rn(e){return e.length>0&&z.isInstance(e[0])?{systemPrompt:e[0],conversationMessages:e.slice(1)}:{conversationMessages:e}}function sn(e,t,o){let n=t.slice(0,o),r=t.slice(o);return e&&n.unshift(e),{messagesToSummarize:n,preservedMessages:r}}async function an(e,t,o,n){if(o.length===0)return!1;for(let r of o){let s=!0,a=!1;if(r.messages!==void 0&&(a=!0,e.length<r.messages&&(s=!1)),r.tokens!==void 0&&(a=!0,t<r.tokens&&(s=!1)),r.fraction!==void 0){a=!0;let l=Ve(n);typeof l=="number"?t<Math.floor(l*r.fraction)&&(s=!1):s=!1}if(a&&s)return!0}return!1}async function ln(e,t,o,n){if("tokens"in t||"fraction"in t){let r=await cn(e,t,o,n);return typeof r=="number"?r:ho(e,Je)}return ho(e,t.messages??Je)}async function cn(e,t,o,n){if(e.length===0)return 0;let r;if("fraction"in t&&t.fraction!==void 0){let c=Ve(n);if(typeof c!="number")return;r=Math.floor(c*t.fraction)}else if("tokens"in t&&t.tokens!==void 0)r=Math.floor(t.tokens);else return;if(r<=0&&(r=1),await o(e)<=r)return 0;let s=0,a=e.length,l=e.length,u=Math.floor(Math.log2(e.length))+1;for(let c=0;c<u&&!(s>=a);c++){let h=Math.floor((s+a)/2);await o(e.slice(h))<=r?(l=h,a=h):s=h+1}if(l===e.length&&(l=s),l>=e.length){if(e.length===1)return 0;l=e.length-1}let m=Mo(e,l);if(m<=l)return m;for(let c=l;c>=0;c--)if(wo(e,c))return c;return 0}function ho(e,t){if(e.length<=t)return 0;let o=e.length-t,n=Mo(e,o);if(n<=o)return n;for(let r=o;r>=0;r--)if(wo(e,r))return r;return 0}function wo(e,t){if(t>=e.length)return!0;if(t<e.length&&T.isInstance(e[t])&&ge(e[t]))return!1;let o=Math.max(0,t-fo),n=Math.min(e.length,t+fo);for(let r=o;r<n;r++){if(!ge(e[r]))continue;let s=yo(e[r]);if(dn(e,r,t,s))return!1}return!0}function yo(e){let t=new Set;if(e.tool_calls)for(let o of e.tool_calls){let n=typeof o=="object"&&"id"in o?o.id:null;n&&t.add(n)}return t}function Mo(e,t){if(t>=e.length||!M.isInstance(e[t]))return t;let o=new Set,n=t;for(;n<e.length&&M.isInstance(e[n]);){let r=e[n];r.tool_call_id&&o.add(r.tool_call_id),n++}for(let r=t-1;r>=0;r--){let s=e[r];if(T.isInstance(s)&&ge(s)){let a=yo(s);for(let l of o)if(a.has(l))return r}}return n}function dn(e,t,o,n){for(let r=t+1;r<e.length;r++){let s=e[r];if(M.isInstance(s)&&n.has(s.tool_call_id)&&t<o!=r<o)return!0}return!1}async function un(e,t,o,n,r,s){if(!e.length)return"No previous conversation history.";let a=await mn(e,n,r);if(!a.length)return"Previous conversation was too long to summarize.";let l=yt(a);try{let u=o.replace("{messages}",l),m=B(Ae(s)??{},{metadata:{lc_source:"summarization"},tags:[We]}),c=(await t.invoke(u,m)).content;return typeof c=="string"?c.trim():Array.isArray(c)?c.map(h=>typeof h=="string"?h:typeof h=="object"&&h!==null&&"text"in h?h.text:"").join("").trim():"Error generating summary: Invalid response format"}catch(u){return`Error generating summary: ${u}`}}async function mn(e,t,o){if(o===void 0)return e;try{return await ot(e,{maxTokens:o,tokenCounter:async n=>t(n),strategy:"last",allowPartial:!0,includeSystem:!0})}catch{return e.slice(-15)}}var Ei=i.object({model:i.string().or(i.instanceof(kt)).optional(),systemPrompt:i.string().optional(),maxTools:i.number().optional(),alwaysInclude:i.array(i.string()).optional()});var ji=i.object({applyToInput:i.boolean().optional(),applyToOutput:i.boolean().optional(),applyToToolResults:i.boolean().optional()});var Ui=i.object({rules:i.record(i.string(),i.instanceof(RegExp).describe("Regular expression pattern to match PII")).optional()});var fn=["continue","error","end"],pn="continue";var hn=i.enum(fn).default(pn);i.object({toolName:i.string().optional(),threadLimit:i.number().optional(),runLimit:i.number().optional(),exitBehavior:hn});var Zi=i.object({threadToolCallCount:i.record(i.string(),i.number()).default({}),runToolCallCount:i.record(i.string(),i.number()).default({})});var gn=i.enum(["pending","in_progress","completed"]).describe("Status of the todo"),wn=i.object({content:i.string().describe("Content of the todo item"),status:gn}),rl=i.object({todos:i.array(wn).default([])});var yn="end",Mn=i.object({threadLimit:i.number().optional(),runLimit:i.number().optional(),exitBehavior:i.enum(["error","end"]).optional()}),Tn=i.object({threadModelCallCount:i.number().default(0),runModelCallCount:i.number().default(0)}),To=class extends Error{constructor({threadLimit:e,runLimit:t,threadCount:o,runCount:n}){let r=[];typeof e=="number"&&typeof o=="number"&&r.push(`thread level call limit reached with ${o} model calls`),typeof t=="number"&&typeof n=="number"&&r.push(`run level call limit reached with ${n} model calls`),super(`Model call limits exceeded${r.length>0?`: ${r.join(", ")}`:""}`),this.name="ModelCallLimitMiddlewareError"}};function bo(e){return E({name:"ModelCallLimitMiddleware",contextSchema:Mn,stateSchema:Tn,beforeModel:{canJumpTo:["end"],hook:(t,o)=>{let n=o.context.exitBehavior??e?.exitBehavior??yn;n==="throw"&&(console.warn("The 'throw' exit behavior is deprecated. Please use 'error' instead."),n="error");let r=o.context.threadLimit??e?.threadLimit,s=o.context.runLimit??e?.runLimit,a=t.threadModelCallCount,l=t.runModelCallCount;if(typeof r=="number"&&r<=a){let u=new To({threadLimit:r,threadCount:a});if(n==="end")return{jumpTo:"end",messages:[new T(u.message)]};throw u}if(typeof s=="number"&&s<=l){let u=new To({runLimit:s,runCount:l});if(n==="end")return{jumpTo:"end",messages:[new T(u.message)]};throw u}return t}},afterModel:t=>({runModelCallCount:t.runModelCallCount+1,threadModelCallCount:t.threadModelCallCount+1}),afterAgent:()=>({runModelCallCount:0})})}var bl=i.object({onFailure:i.union([i.literal("error"),i.literal("continue"),i.function().args(i.instanceof(Error)).returns(i.string())]).default("continue")}).merge(He);var Al=i.object({tools:i.array(i.union([i.custom(),i.custom(),i.string()])).optional(),onFailure:i.union([i.literal("error"),i.literal("continue"),i.literal("raise"),i.literal("return_message"),i.function().args(i.instanceof(Error)).returns(i.string())]).default("continue")}).merge(He);var Zl=i.object({enableCaching:i.boolean().optional(),ttl:i.enum(["5m","1h"]).optional(),minMessagesToCache:i.number().optional(),unsupportedModelBehavior:i.enum(["ignore","warn","raise"]).optional()});var ec=i.object({enableCaching:i.boolean().optional(),ttl:i.enum(["5m","1h"]).optional(),minMessagesToCache:i.number().optional(),unsupportedModelBehavior:i.enum(["ignore","warn","raise"]).optional()});export{E as a,Vo as b,go as c,bo as d};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import a from"./ANRQWYU2.js";import{c as C,e as N}from"./R2PQVY4O.js";import"./G2EGT3CF.js";import"./EWLXNGKH.js";import"./AI6DYOKR.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([{property:B,subclass:D},{a:h,b:S,c:p,d:A}])=>{var G=Object.defineProperty,z=Object.getOwnPropertyDescriptor,P=(t,e,s,n)=>{for(var r=n>1?void 0:n?z(e,s):e,o=t.length-1,a;o>=0;o--)(a=t[o])&&(r=(n?a(e,s,r):a(r))||r);return n&&r&&G(e,s,r),r},x=class extends A{constructor(t){super(t)}getAgents(){return this.agents}generate(){let t=this.getAgents();this.validateAgents(t);for(let o of t)o.generate();let e=S(t.flatMap(o=>o.getSchemas()));for(let[o]of t.entries())e[_(o)]=void 0;let s=C(e),n=this.buildNodes(t),r=this.buildEdges(t);return{workspace:s,createGraph:()=>N(n,r,s,{entryNode:this.getEntryNode(t)})}}getEntryNode(t){return y}isTerminalAgent(t,e){return!1}buildNodes(t){let e={};for(let[s,n]of t.entries()){let r=_(s),o=p(n,s);e[o]=async(a,u)=>{let l=await n.run(F(a,n),u),i={},m=i;return m[r]=l,i}}return e[y]=()=>({}),e[k]=s=>R(s,t),e}buildEdges(t){return[...t.map((e,s)=>({from:y,to:p(e,s)})),...t.map((e,s)=>({from:p(e,s),to:k}))]}};P([B()],x.prototype,"agents",2);x=P([D("ParallelWorkflow")],x);var y="__parallel_fanOut",k="__parallel_join";function _(t){return`__parallel_update_${t}`}function W(t,e){return Object.fromEntries(e.filter(s=>Object.hasOwn(t,s)).map(s=>[s,t[s]]))}function F(t,e){let s=e.inputSchema;return s?{...W(t,h(s)),agentExecutionContext:t.agentExecutionContext,outputMessage:t.outputMessage,status:void 0,summary:""}:{...t,status:void 0,summary:""}}function I(t,e){return t.outputSchema?W(e,h(t.outputSchema)):{}}function K(t,e){let s=t.agentExecutionContext?.messages??[],n=e.agentExecutionContext?.messages??[];return n.length>s.length?n.slice(s.length):void 0}function R(t,e){let s=[],n=[],r=[],o={},a={},u=new Set;for(let[m,J]of e.entries()){let E=_(m),d=t[E];if(a[E]=void 0,!d||typeof d!="object")continue;let c=d,b=c.outputMessage,O=K(t,c),v=c.summary,$=I(J,c),w=b.trim();typeof b=="string"&&w&&s.push(w);let j=v.trim();typeof v=="string"&&j&&n.push(j),Array.isArray(O)&&r.push(...O),c.status&&u.add(c.status);for(let[f,g]of Object.entries($))if(!(g===void 0||f.startsWith("__parallel_update_"))&&!M(t[f],g)){if(!Object.hasOwn(o,f)){o[f]=g;continue}if(!M(o[f],g))throw new Error(`ParallelWorkflow detected conflicting updates for state key "${f}".`)}}let l={...a,...o},i=l;return r.length>0&&(i.agentExecutionContext={...t.agentExecutionContext,messages:[...t.agentExecutionContext.messages,...r]}),s.length&&(i.outputMessage=s.join(`
|
|
3
|
+
|
|
4
|
+
`)),n.length&&(i.summary=n.join(`
|
|
5
|
+
|
|
6
|
+
`)),u.size&&(i.status=u.has("failed")?"failed":u.has("success")?"success":void 0),l}function M(t,e){return t===e?!0:t&&e?JSON.stringify(t)===JSON.stringify(e):!1}return x},"core/accessorSupport/decorators",a)
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as $}from"./5FL5BTTX.js";import{i as G,j as W,q as j,r as B,s as Q}from"./COH3QXWG.js";var L=class extends Q{constructor(r){if(super(r),this.it=W,r.type!==j.CHILD)throw Error(this.constructor.directiveName+"() can only be used in child bindings")}render(r){if(r===W||r==null)return this._t=void 0,this.it=r;if(r===G)return r;if(typeof r!="string")throw Error(this.constructor.directiveName+"() called with a non-string value");if(r===this.it)return this._t;this.it=r;let t=[r];return t.raw=t,this._t={_$litType$:this.constructor.resultType,strings:t,values:[]}}};L.directiveName="unsafeHTML",L.resultType=1;var bt=B(L);var V=function(){return V=Object.assign||function(r){for(var t,a=1,i=arguments.length;a<i;a++){t=arguments[a];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=t[s])}return r},V.apply(this,arguments)},D={exports:{}},p={},q={exports:{}},w={};function ee(){var e={};return e["align-content"]=!1,e["align-items"]=!1,e["align-self"]=!1,e["alignment-adjust"]=!1,e["alignment-baseline"]=!1,e.all=!1,e["anchor-point"]=!1,e.animation=!1,e["animation-delay"]=!1,e["animation-direction"]=!1,e["animation-duration"]=!1,e["animation-fill-mode"]=!1,e["animation-iteration-count"]=!1,e["animation-name"]=!1,e["animation-play-state"]=!1,e["animation-timing-function"]=!1,e.azimuth=!1,e["backface-visibility"]=!1,e.background=!0,e["background-attachment"]=!0,e["background-clip"]=!0,e["background-color"]=!0,e["background-image"]=!0,e["background-origin"]=!0,e["background-position"]=!0,e["background-repeat"]=!0,e["background-size"]=!0,e["baseline-shift"]=!1,e.binding=!1,e.bleed=!1,e["bookmark-label"]=!1,e["bookmark-level"]=!1,e["bookmark-state"]=!1,e.border=!0,e["border-bottom"]=!0,e["border-bottom-color"]=!0,e["border-bottom-left-radius"]=!0,e["border-bottom-right-radius"]=!0,e["border-bottom-style"]=!0,e["border-bottom-width"]=!0,e["border-collapse"]=!0,e["border-color"]=!0,e["border-image"]=!0,e["border-image-outset"]=!0,e["border-image-repeat"]=!0,e["border-image-slice"]=!0,e["border-image-source"]=!0,e["border-image-width"]=!0,e["border-left"]=!0,e["border-left-color"]=!0,e["border-left-style"]=!0,e["border-left-width"]=!0,e["border-radius"]=!0,e["border-right"]=!0,e["border-right-color"]=!0,e["border-right-style"]=!0,e["border-right-width"]=!0,e["border-spacing"]=!0,e["border-style"]=!0,e["border-top"]=!0,e["border-top-color"]=!0,e["border-top-left-radius"]=!0,e["border-top-right-radius"]=!0,e["border-top-style"]=!0,e["border-top-width"]=!0,e["border-width"]=!0,e.bottom=!1,e["box-decoration-break"]=!0,e["box-shadow"]=!0,e["box-sizing"]=!0,e["box-snap"]=!0,e["box-suppress"]=!0,e["break-after"]=!0,e["break-before"]=!0,e["break-inside"]=!0,e["caption-side"]=!1,e.chains=!1,e.clear=!0,e.clip=!1,e["clip-path"]=!1,e["clip-rule"]=!1,e.color=!0,e["color-interpolation-filters"]=!0,e["column-count"]=!1,e["column-fill"]=!1,e["column-gap"]=!1,e["column-rule"]=!1,e["column-rule-color"]=!1,e["column-rule-style"]=!1,e["column-rule-width"]=!1,e["column-span"]=!1,e["column-width"]=!1,e.columns=!1,e.contain=!1,e.content=!1,e["counter-increment"]=!1,e["counter-reset"]=!1,e["counter-set"]=!1,e.crop=!1,e.cue=!1,e["cue-after"]=!1,e["cue-before"]=!1,e.cursor=!1,e.direction=!1,e.display=!0,e["display-inside"]=!0,e["display-list"]=!0,e["display-outside"]=!0,e["dominant-baseline"]=!1,e.elevation=!1,e["empty-cells"]=!1,e.filter=!1,e.flex=!1,e["flex-basis"]=!1,e["flex-direction"]=!1,e["flex-flow"]=!1,e["flex-grow"]=!1,e["flex-shrink"]=!1,e["flex-wrap"]=!1,e.float=!1,e["float-offset"]=!1,e["flood-color"]=!1,e["flood-opacity"]=!1,e["flow-from"]=!1,e["flow-into"]=!1,e.font=!0,e["font-family"]=!0,e["font-feature-settings"]=!0,e["font-kerning"]=!0,e["font-language-override"]=!0,e["font-size"]=!0,e["font-size-adjust"]=!0,e["font-stretch"]=!0,e["font-style"]=!0,e["font-synthesis"]=!0,e["font-variant"]=!0,e["font-variant-alternates"]=!0,e["font-variant-caps"]=!0,e["font-variant-east-asian"]=!0,e["font-variant-ligatures"]=!0,e["font-variant-numeric"]=!0,e["font-variant-position"]=!0,e["font-weight"]=!0,e.grid=!1,e["grid-area"]=!1,e["grid-auto-columns"]=!1,e["grid-auto-flow"]=!1,e["grid-auto-rows"]=!1,e["grid-column"]=!1,e["grid-column-end"]=!1,e["grid-column-start"]=!1,e["grid-row"]=!1,e["grid-row-end"]=!1,e["grid-row-start"]=!1,e["grid-template"]=!1,e["grid-template-areas"]=!1,e["grid-template-columns"]=!1,e["grid-template-rows"]=!1,e["hanging-punctuation"]=!1,e.height=!0,e.hyphens=!1,e.icon=!1,e["image-orientation"]=!1,e["image-resolution"]=!1,e["ime-mode"]=!1,e["initial-letters"]=!1,e["inline-box-align"]=!1,e["justify-content"]=!1,e["justify-items"]=!1,e["justify-self"]=!1,e.left=!1,e["letter-spacing"]=!0,e["lighting-color"]=!0,e["line-box-contain"]=!1,e["line-break"]=!1,e["line-grid"]=!1,e["line-height"]=!1,e["line-snap"]=!1,e["line-stacking"]=!1,e["line-stacking-ruby"]=!1,e["line-stacking-shift"]=!1,e["line-stacking-strategy"]=!1,e["list-style"]=!0,e["list-style-image"]=!0,e["list-style-position"]=!0,e["list-style-type"]=!0,e.margin=!0,e["margin-bottom"]=!0,e["margin-left"]=!0,e["margin-right"]=!0,e["margin-top"]=!0,e["marker-offset"]=!1,e["marker-side"]=!1,e.marks=!1,e.mask=!1,e["mask-box"]=!1,e["mask-box-outset"]=!1,e["mask-box-repeat"]=!1,e["mask-box-slice"]=!1,e["mask-box-source"]=!1,e["mask-box-width"]=!1,e["mask-clip"]=!1,e["mask-image"]=!1,e["mask-origin"]=!1,e["mask-position"]=!1,e["mask-repeat"]=!1,e["mask-size"]=!1,e["mask-source-type"]=!1,e["mask-type"]=!1,e["max-height"]=!0,e["max-lines"]=!1,e["max-width"]=!0,e["min-height"]=!0,e["min-width"]=!0,e["move-to"]=!1,e["nav-down"]=!1,e["nav-index"]=!1,e["nav-left"]=!1,e["nav-right"]=!1,e["nav-up"]=!1,e["object-fit"]=!1,e["object-position"]=!1,e.opacity=!1,e.order=!1,e.orphans=!1,e.outline=!1,e["outline-color"]=!1,e["outline-offset"]=!1,e["outline-style"]=!1,e["outline-width"]=!1,e.overflow=!1,e["overflow-wrap"]=!1,e["overflow-x"]=!1,e["overflow-y"]=!1,e.padding=!0,e["padding-bottom"]=!0,e["padding-left"]=!0,e["padding-right"]=!0,e["padding-top"]=!0,e.page=!1,e["page-break-after"]=!1,e["page-break-before"]=!1,e["page-break-inside"]=!1,e["page-policy"]=!1,e.pause=!1,e["pause-after"]=!1,e["pause-before"]=!1,e.perspective=!1,e["perspective-origin"]=!1,e.pitch=!1,e["pitch-range"]=!1,e["play-during"]=!1,e.position=!1,e["presentation-level"]=!1,e.quotes=!1,e["region-fragment"]=!1,e.resize=!1,e.rest=!1,e["rest-after"]=!1,e["rest-before"]=!1,e.richness=!1,e.right=!1,e.rotation=!1,e["rotation-point"]=!1,e["ruby-align"]=!1,e["ruby-merge"]=!1,e["ruby-position"]=!1,e["shape-image-threshold"]=!1,e["shape-outside"]=!1,e["shape-margin"]=!1,e.size=!1,e.speak=!1,e["speak-as"]=!1,e["speak-header"]=!1,e["speak-numeral"]=!1,e["speak-punctuation"]=!1,e["speech-rate"]=!1,e.stress=!1,e["string-set"]=!1,e["tab-size"]=!1,e["table-layout"]=!1,e["text-align"]=!0,e["text-align-last"]=!0,e["text-combine-upright"]=!0,e["text-decoration"]=!0,e["text-decoration-color"]=!0,e["text-decoration-line"]=!0,e["text-decoration-skip"]=!0,e["text-decoration-style"]=!0,e["text-emphasis"]=!0,e["text-emphasis-color"]=!0,e["text-emphasis-position"]=!0,e["text-emphasis-style"]=!0,e["text-height"]=!0,e["text-indent"]=!0,e["text-justify"]=!0,e["text-orientation"]=!0,e["text-overflow"]=!0,e["text-shadow"]=!0,e["text-space-collapse"]=!0,e["text-transform"]=!0,e["text-underline-position"]=!0,e["text-wrap"]=!0,e.top=!1,e.transform=!1,e["transform-origin"]=!1,e["transform-style"]=!1,e.transition=!1,e["transition-delay"]=!1,e["transition-duration"]=!1,e["transition-property"]=!1,e["transition-timing-function"]=!1,e["unicode-bidi"]=!1,e["vertical-align"]=!1,e.visibility=!1,e["voice-balance"]=!1,e["voice-duration"]=!1,e["voice-family"]=!1,e["voice-pitch"]=!1,e["voice-range"]=!1,e["voice-rate"]=!1,e["voice-stress"]=!1,e["voice-volume"]=!1,e.volume=!1,e["white-space"]=!1,e.widows=!1,e.width=!0,e["will-change"]=!1,e["word-break"]=!0,e["word-spacing"]=!0,e["word-wrap"]=!0,e["wrap-flow"]=!1,e["wrap-through"]=!1,e["writing-mode"]=!1,e["z-index"]=!1,e}function be(e,r,t){}function ve(e,r,t){}var ye=/javascript\s*\:/img;function we(e,r){return ye.test(r)?"":r}w.whiteList=ee();w.getDefaultWhiteList=ee;w.onAttr=be;w.onIgnoreAttr=ve;w.safeAttrValue=we;var Ae={indexOf:function(e,r){var t,a;if(Array.prototype.indexOf)return e.indexOf(r);for(t=0,a=e.length;t<a;t++)if(e[t]===r)return t;return-1},forEach:function(e,r,t){var a,i;if(Array.prototype.forEach)return e.forEach(r,t);for(a=0,i=e.length;a<i;a++)r.call(t,e[a],a,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\s*)|(\s*$)/g,"")},trimRight:function(e){return String.prototype.trimRight?e.trimRight():e.replace(/(\s*$)/g,"")}},E=Ae;function xe(e,r){e=E.trimRight(e),e[e.length-1]!==";"&&(e+=";");var t=e.length,a=!1,i=0,s=0,l="";function n(){if(!a){var c=E.trim(e.slice(i,s)),f=c.indexOf(":");if(f!==-1){var g=E.trim(c.slice(0,f)),d=E.trim(c.slice(f+1));if(g){var h=r(i,l.length,g,d,c);h&&(l+=h+"; ")}}}i=s+1}for(;s<t;s++){var o=e[s];if(o==="/"&&e[s+1]==="*"){var u=e.indexOf("*/",s+2);if(u===-1)break;s=u+1,i=s+1,a=!1}else o==="("?a=!0:o===")"?a=!1:o===";"?a||n():o===`
|
|
3
|
+
`&&n()}return E.trim(l)}var Te=xe,_=w,Se=Te;function J(e){return e==null}function ke(e){var r={};for(var t in e)r[t]=e[t];return r}function te(e){e=ke(e||{}),e.whiteList=e.whiteList||_.whiteList,e.onAttr=e.onAttr||_.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||_.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||_.safeAttrValue,this.options=e}te.prototype.process=function(e){if(e=e||"",e=e.toString(),!e)return"";var r=this,t=r.options,a=t.whiteList,i=t.onAttr,s=t.onIgnoreAttr,l=t.safeAttrValue,n=Se(e,function(o,u,c,f,g){var d=a[c],h=!1;if(d===!0?h=d:typeof d=="function"?h=d(f):d instanceof RegExp&&(h=d.test(f)),h!==!0&&(h=!1),f=l(c,f),!!f){var b={position:u,sourcePosition:o,source:g,isWhite:h};if(h){var m=i(c,f,b);return J(m)?c+":"+f:m}else{var m=s(c,f,b);if(!J(m))return m}}});return n};var Le=te;(function(e,r){var t=w,a=Le;function i(l,n){var o=new a(n);return o.process(l)}r=e.exports=i,r.FilterCSS=a;for(var s in t)r[s]=t[s]})(q,q.exports);var H=q.exports,U={indexOf:function(e,r){var t,a;if(Array.prototype.indexOf)return e.indexOf(r);for(t=0,a=e.length;t<a;t++)if(e[t]===r)return t;return-1},forEach:function(e,r,t){var a,i;if(Array.prototype.forEach)return e.forEach(r,t);for(a=0,i=e.length;a<i;a++)r.call(t,e[a],a,e)},trim:function(e){return String.prototype.trim?e.trim():e.replace(/(^\s*)|(\s*$)/g,"")},spaceIndex:function(e){var r=/\s|\n|\t/,t=r.exec(e);return t?t.index:-1}},Ee=H.FilterCSS,Oe=H.getDefaultWhiteList,R=U;function re(){return{a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","crossorigin","loop","muted","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],figcaption:[],figure:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],summary:[],sup:[],strong:[],strike:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","crossorigin","loop","muted","playsinline","poster","preload","src","height","width"]}}var ae=new Ee;function Ce(e,r,t){}function _e(e,r,t){}function Ie(e,r,t){}function Pe(e,r,t){}function ie(e){return e.replace(Ve,"<").replace(Re,">")}function Fe(e,r,t,a){if(t=ue(t),r==="href"||r==="src"){if(t=R.trim(t),t==="#")return"#";if(!(t.substr(0,7)==="http://"||t.substr(0,8)==="https://"||t.substr(0,7)==="mailto:"||t.substr(0,4)==="tel:"||t.substr(0,11)==="data:image/"||t.substr(0,6)==="ftp://"||t.substr(0,2)==="./"||t.substr(0,3)==="../"||t[0]==="#"||t[0]==="/"))return""}else if(r==="background"){if(I.lastIndex=0,I.test(t))return""}else if(r==="style"){if(Z.lastIndex=0,Z.test(t)||(K.lastIndex=0,K.test(t)&&(I.lastIndex=0,I.test(t))))return"";a!==!1&&(a=a||ae,t=a.process(t))}return t=ce(t),t}var Ve=/</g,Re=/>/g,Ne=/"/g,ze=/"/g,We=/&#([a-zA-Z0-9]*);?/gim,$e=/:?/gim,De=/&newline;?/gim,I=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a):/gi,Z=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,K=/u\s*r\s*l\s*\(.*/gi;function se(e){return e.replace(Ne,""")}function ne(e){return e.replace(ze,'"')}function oe(e){return e.replace(We,function(t,a){return a[0]==="x"||a[0]==="X"?String.fromCharCode(parseInt(a.substr(1),16)):String.fromCharCode(parseInt(a,10))})}function le(e){return e.replace($e,":").replace(De," ")}function fe(e){for(var r="",t=0,a=e.length;t<a;t++)r+=e.charCodeAt(t)<32?" ":e.charAt(t);return R.trim(r)}function ue(e){return e=ne(e),e=oe(e),e=le(e),e=fe(e),e}function ce(e){return e=se(e),e=ie(e),e}function qe(){return""}function He(e,r){typeof r!="function"&&(r=function(){});var t=!Array.isArray(e);function a(l){return t?!0:R.indexOf(e,l)!==-1}var i=[],s=!1;return{onIgnoreTag:function(l,n,o){if(a(l))if(o.isClosing){var u="[/removed]",c=o.position+u.length;return i.push([s!==!1?s:o.position,c]),s=!1,u}else return s||(s=o.position),"[removed]";else return r(l,n,o)},remove:function(l){var n="",o=0;return R.forEach(i,function(u){n+=l.slice(o,u[0]),o=u[1]}),n+=l.slice(o),n}}}function Ue(e){for(var r="",t=0;t<e.length;){var a=e.indexOf("<!--",t);if(a===-1){r+=e.slice(t);break}r+=e.slice(t,a);var i=e.indexOf("-->",a);if(i===-1)break;t=i+3}return r}function Me(e){var r=e.split("");return r=r.filter(function(t){var a=t.charCodeAt(0);return a===127?!1:a<=31?a===10||a===13:!0}),r.join("")}p.whiteList=re();p.getDefaultWhiteList=re;p.onTag=Ce;p.onIgnoreTag=_e;p.onTagAttr=Ie;p.onIgnoreTagAttr=Pe;p.safeAttrValue=Fe;p.escapeHtml=ie;p.escapeQuote=se;p.unescapeQuote=ne;p.escapeHtmlEntities=oe;p.escapeDangerHtml5Entities=le;p.clearNonPrintableCharacter=fe;p.friendlyAttrValue=ue;p.escapeAttrValue=ce;p.onIgnoreTagStripAll=qe;p.StripTagBody=He;p.stripCommentTag=Ue;p.stripBlankChar=Me;p.cssFilter=ae;p.getDefaultCSSWhiteList=Oe;var N={},y=U;function Xe(e){var r=y.spaceIndex(e),t;return r===-1?t=e.slice(1,-1):t=e.slice(1,r+1),t=y.trim(t).toLowerCase(),t.slice(0,1)==="/"&&(t=t.slice(1)),t.slice(-1)==="/"&&(t=t.slice(0,-1)),t}function Ge(e){return e.slice(0,2)==="</"}function je(e,r,t){var a="",i=0,s=!1,l=!1,n=0,o=e.length,u="",c="";e:for(n=0;n<o;n++){var f=e.charAt(n);if(s===!1){if(f==="<"){s=n;continue}}else if(l===!1){if(f==="<"){a+=t(e.slice(i,n)),s=n,i=n;continue}if(f===">"){a+=t(e.slice(i,s)),c=e.slice(s,n+1),u=Xe(c),a+=r(s,a.length,u,c,Ge(c)),i=n+1,s=!1;continue}if(f==='"'||f==="'")for(var g=1,d=e.charAt(n-g);d.trim()===""||d==="=";){if(d==="="){l=f;continue e}d=e.charAt(n-++g)}}else if(f===l){l=!1;continue}}return i<e.length&&(a+=t(e.substr(i))),a}var Be=/[^a-zA-Z0-9\\_:.-]/gim;function Qe(e,r){var t=0,a=0,i=[],s=!1,l=e.length;function n(g,d){if(g=y.trim(g),g=g.replace(Be,"").toLowerCase(),!(g.length<1)){var h=r(g,d||"");h&&i.push(h)}}for(var o=0;o<l;o++){var u=e.charAt(o),c,f;if(s===!1&&u==="="){s=e.slice(t,o),t=o+1,a=e.charAt(t)==='"'||e.charAt(t)==="'"?t:Ze(e,o+1);continue}if(s!==!1&&o===a){if(f=e.indexOf(u,o+1),f===-1)break;c=y.trim(e.slice(a+1,f)),n(s,c),s=!1,o=f,t=o+1;continue}if(/\s|\n|\t/.test(u))if(e=e.replace(/\s|\n|\t/g," "),s===!1)if(f=Je(e,o),f===-1){c=y.trim(e.slice(t,o)),n(c),s=!1,t=o+1;continue}else{o=f-1;continue}else if(f=Ke(e,o-1),f===-1){c=y.trim(e.slice(t,o)),c=Y(c),n(s,c),s=!1,t=o+1;continue}else continue}return t<e.length&&(s===!1?n(e.slice(t)):n(s,Y(y.trim(e.slice(t))))),y.trim(i.join(" "))}function Je(e,r){for(;r<e.length;r++){var t=e[r];if(t!==" ")return t==="="?r:-1}}function Ze(e,r){for(;r<e.length;r++){var t=e[r];if(t!==" ")return t==="'"||t==='"'?r:-1}}function Ke(e,r){for(;r>0;r--){var t=e[r];if(t!==" ")return t==="="?r:-1}}function Ye(e){return e[0]==='"'&&e[e.length-1]==='"'||e[0]==="'"&&e[e.length-1]==="'"}function Y(e){return Ye(e)?e.substr(1,e.length-2):e}N.parseTag=je;N.parseAttr=Qe;var et=H.FilterCSS,v=p,ge=N,tt=ge.parseTag,rt=ge.parseAttr,F=U;function P(e){return e==null}function at(e){var r=F.spaceIndex(e);if(r===-1)return{html:"",closing:e[e.length-2]==="/"};e=F.trim(e.slice(r+1,-1));var t=e[e.length-1]==="/";return t&&(e=F.trim(e.slice(0,-1))),{html:e,closing:t}}function it(e){var r={};for(var t in e)r[t]=e[t];return r}function st(e){var r={};for(var t in e)Array.isArray(e[t])?r[t.toLowerCase()]=e[t].map(function(a){return a.toLowerCase()}):r[t.toLowerCase()]=e[t];return r}function de(e){e=it(e||{}),e.stripIgnoreTag&&(e.onIgnoreTag&&console.error('Notes: cannot use these two options "stripIgnoreTag" and "onIgnoreTag" at the same time'),e.onIgnoreTag=v.onIgnoreTagStripAll),e.whiteList||e.allowList?e.whiteList=st(e.whiteList||e.allowList):e.whiteList=v.whiteList,e.onTag=e.onTag||v.onTag,e.onTagAttr=e.onTagAttr||v.onTagAttr,e.onIgnoreTag=e.onIgnoreTag||v.onIgnoreTag,e.onIgnoreTagAttr=e.onIgnoreTagAttr||v.onIgnoreTagAttr,e.safeAttrValue=e.safeAttrValue||v.safeAttrValue,e.escapeHtml=e.escapeHtml||v.escapeHtml,this.options=e,e.css===!1?this.cssFilter=!1:(e.css=e.css||{},this.cssFilter=new et(e.css))}de.prototype.process=function(e){if(e=e||"",e=e.toString(),!e)return"";var r=this,t=r.options,a=t.whiteList,i=t.onTag,s=t.onIgnoreTag,l=t.onTagAttr,n=t.onIgnoreTagAttr,o=t.safeAttrValue,u=t.escapeHtml,c=r.cssFilter;t.stripBlankChar&&(e=v.stripBlankChar(e)),t.allowCommentTag||(e=v.stripCommentTag(e));var f=!1;t.stripIgnoreTagBody&&(f=v.StripTagBody(t.stripIgnoreTagBody,s),s=f.onIgnoreTag);var g=tt(e,function(d,h,b,m,O){var C={sourcePosition:d,position:h,isClosing:O,isWhite:Object.prototype.hasOwnProperty.call(a,b)},S=i(b,m,C);if(!P(S))return S;if(C.isWhite){if(C.isClosing)return"</"+b+">";var M=at(m),me=a[b],X=rt(M.html,function(A,x){var z=F.indexOf(me,A)!==-1,k=l(b,A,x,z);return P(k)?z?(x=o(b,A,x,c),x?A+'="'+x+'"':A):(k=n(b,A,x,z),P(k)?void 0:k):k});return m="<"+b,X&&(m+=" "+X),M.closing&&(m+=" /"),m+=">",m}else return S=s(b,m,C),P(S)?u(m):S},u);return f&&(g=f.remove(g)),g};var nt=de;(function(e,r){var t=p,a=N,i=nt;function s(n,o){var u=new i(o);return u.process(n)}r=e.exports=s,r.filterXSS=s,r.FilterXSS=i,(function(){for(var n in t)r[n]=t[n];for(var o in a)r[o]=a[o]})();function l(){return typeof self<"u"&&typeof DedicatedWorkerGlobalScope<"u"&&self instanceof DedicatedWorkerGlobalScope}l()&&(self.filterXSS=e.exports)})(D,D.exports);var T=D.exports,ot=function(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;var r=Object.getPrototypeOf(e);if(r===null)return!0;for(;Object.getPrototypeOf(r)!==null;)r=Object.getPrototypeOf(r);return Object.getPrototypeOf(e)===r},pe=(function(){function e(r,t){var a=this;this.arcgisWhiteList={a:["href","style","target"],abbr:["title"],article:["style"],aside:["style"],audio:["autoplay","controls","loop","muted","preload"],b:[],blockquote:["style"],br:[],code:["style"],dd:["style"],del:["style"],details:["open","style"],div:["align","aria-hidden","aria-label","style"],dl:["style"],dt:["style"],em:[],figcaption:["style"],figure:["style"],font:["color","face","size","style"],footer:["style"],h1:["style"],h2:["style"],h3:["style"],h4:["style"],h5:["style"],h6:["style"],header:["style"],hr:[],i:[],img:["alt","border","height","src","style","width"],li:[],main:["style"],mark:["style"],nav:["style"],ol:[],p:["style"],pre:["style"],section:["style"],source:["media","src","type"],span:["aria-hidden","aria-label","style"],strong:[],sub:["style"],summary:["style"],sup:["style"],table:["border","cellpadding","cellspacing","height","style","width"],tbody:[],tr:["align","height","style","valign"],td:["align","colspan","height","nowrap","rowspan","style","valign","width"],th:["align","colspan","height","nowrap","rowspan","style","valign","width"],time:["style"],u:[],ul:[],video:["autoplay","controls","height","loop","muted","poster","preload","width"]},this.arcgisCSSWhiteList=V(V({},T.getDefaultCSSWhiteList()),{"align-items":!0,"align-self":!0,flex:!0,"flex-basis":!0,"flex-direction":!0,"flex-flow":!0,"flex-grow":!0,"flex-shrink":!0,"flex-wrap":!0,float:!0,gap:!0,grid:!0,"grid-area":!0,"grid-auto-columns":!0,"grid-auto-flow":!0,"grid-auto-rows":!0,"grid-column":!0,"grid-column-end":!0,"grid-column-start":!0,"grid-row":!0,"grid-row-end":!0,"grid-row-start":!0,"grid-template":!0,"grid-template-areas":!0,"grid-template-columns":!0,"grid-template-rows":!0,"justify-content":!0,"justify-items":!0,"justify-self":!0,"line-height":!0,overflow:!0}),this.allowedProtocols=["http","https","mailto","iform","tel","flow","lfmobile","arcgis-navigator","arcgis-appstudio-player","arcgis-survey123","arcgis-collector","arcgis-workforce","arcgis-explorer","arcgis-trek2there","arcgis-quickcapture","mspbi","comgooglemaps","pdfefile","pdfehttp","pdfehttps","boxapp","boxemm","awb","awbs","gropen","radarscope"],this.arcgisFilterOptions={allowCommentTag:!0,safeAttrValue:function(s,l,n,o){return s==="a"&&l==="href"||(s==="img"||s==="source")&&l==="src"?a.sanitizeUrl(n):T.safeAttrValue(s,l,n,o)}},this._entityMap={"&":"8","<":"<",">":">",'"':""","'":"'","/":"/"};var i;r&&!t?i=r:r&&t?(i=Object.create(this.arcgisFilterOptions),i.css={whiteList:this.arcgisCSSWhiteList},Object.keys(r).forEach(function(s){if(s==="whiteList")i.whiteList=a._extendObjectOfArrays([a.arcgisWhiteList,r.whiteList||{}]);else if(s==="css"){var l=r.css.whiteList;l!=null&&r.css instanceof Object&&Object.keys(l).forEach(function(n){return i.css.whiteList[n]=l[n]})}else i[s]=r[s]})):(i=Object.create(this.arcgisFilterOptions),i.whiteList=this.arcgisWhiteList,i.css={whiteList:this.arcgisCSSWhiteList}),this.xssFilterOptions=i,this._xssFilter=new T.FilterXSS(i)}return e.prototype.sanitize=function(r,t){switch(t===void 0&&(t={}),typeof r){case"number":return isNaN(r)||!isFinite(r)?null:r;case"boolean":return r;case"string":return this._xssFilter.process(r);case"object":return this._iterateOverObject(r,t);default:return t.allowUndefined&&typeof r>"u"?void 0:null}},e.prototype.sanitizeUrl=function(r,t){var a=(t??{}).isProtocolRequired,i=a===void 0?!0:a,s=this._trim(r.substring(0,r.indexOf(":"))),l=r==="/",n=/^#/.test(r),o=s&&this.allowedProtocols.indexOf(s.toLowerCase())>-1;return l||n||o?T.escapeAttrValue(r):!s&&!i?T.escapeAttrValue("https://".concat(r)):""},e.prototype.sanitizeHTMLAttribute=function(r,t,a,i){return typeof this.xssFilterOptions.safeAttrValue=="function"?this.xssFilterOptions.safeAttrValue(r,t,a,i):T.safeAttrValue(r,t,a,i)},e.prototype.validate=function(r,t){t===void 0&&(t={});var a=this.sanitize(r,t);return{isValid:r===a,sanitized:a}},e.prototype.encodeHTML=function(r){var t=this;return String(r).replace(/[&<>"'\/]/g,function(a){return t._entityMap[a]})},e.prototype.encodeAttrValue=function(r){var t=/^[a-zA-Z0-9]$/;return String(r).replace(/[\x00-\xFF]/g,function(a,i){return t.test(a)?a:"&#x".concat(Number(r.charCodeAt(i)).toString(16),";")})},e.prototype._extendObjectOfArrays=function(r){var t={};return r.forEach(function(a){Object.keys(a).forEach(function(i){Array.isArray(a[i])&&Array.isArray(t[i])?t[i]=t[i].concat(a[i]):t[i]=a[i]})}),t},e.prototype._iterateOverObject=function(r,t){var a=this;t===void 0&&(t={});try{var i=!1,s=void 0;if(Array.isArray(r))s=r.reduce(function(n,o){var u=a.validate(o,t);return u.isValid?n.concat([o]):(i=!0,n.concat([u.sanitized]))},[]);else if(ot(r)){var l=Object.keys(r);s=l.reduce(function(n,o){var u=r[o],c=a.validate(u,t);return c.isValid?n[o]=u:(i=!0,n[o]=c.sanitized),n},{})}else return t.allowUndefined&&typeof r>"u"?void 0:null;return i?s:r}catch{return null}},e.prototype._trim=function(r){return String.prototype.trim?r.trim():r.replace(/(^\s*)|(\s*$)/g,"")},e})();$.use({gfm:!0,breaks:!0,async:!1});var lt=new pe({whiteList:{ol:["start"],li:["value"],"calcite-table":["caption","bordered","striped","layout","scale","class"],"calcite-table-row":["slot","class"],"calcite-table-header":["heading","alignment","description","class"],"calcite-table-cell":["alignment","colspan","rowspan","class"],"calcite-link":["href","target","rel","title"],pre:["class"],code:["class"]}},!0);function ft(e){return lt.sanitize(e)}function ut(e){if(!e||typeof DOMParser>"u")return e;try{let r=new DOMParser().parseFromString(e,"text/html");return r.querySelectorAll("a").forEach(t=>{let a=r.createElement("calcite-link");for(let i of["href","target","rel","title"]){let s=t.getAttribute(i);s!==null&&a.setAttribute(i,s)}a.append(...t.childNodes),t.replaceWith(a)}),r.body.innerHTML}catch{return e}}function he(e,r){let t=e.indexOf("{",r),a=e.indexOf("[",r);return t===-1?a:a===-1?t:Math.min(t,a)}function ct(e){if(e.trimStart().startsWith("```"))return null;for(let r=he(e,0);r!==-1;r=he(e,r+1)){let t=0,a=0;for(let i=r;i<e.length;i++){let s=e[i];if(s==="{"?t++:s==="}"?t--:s==="["?a++:s==="]"&&a--,t<0||a<0)break;if(t===0&&a===0&&i>r)return e.slice(r,i+1)}}return null}function St(e){if(!e)return"";let r=e,t=ct(e);if(t)try{let i=JSON.parse(t),s=`
|
|
4
|
+
|
|
5
|
+
\`\`\`json
|
|
6
|
+
${JSON.stringify(i,null,2)}
|
|
7
|
+
\`\`\`
|
|
8
|
+
|
|
9
|
+
`;r=e.replace(t,s)}catch{}let a=dt(r);return gt(a)}function gt(e){if(!e)return"";let r=pt(e),t=ut(r);return ft(t)}function dt(e){return e?$.parse(e,{async:!1}):""}function pt(e){if(!e||typeof DOMParser>"u")return e;try{let r=new DOMParser().parseFromString(e,"text/html");return Array.from(r.querySelectorAll("table")).forEach((t,a)=>{let i=r.createElement("calcite-table");i.setAttribute("caption",`Table ${a+1}`),i.setAttribute("striped","true");let s=t.querySelector("thead");if(s){let n=Array.from(s.querySelectorAll("tr"));for(let o of n){let u=r.createElement("calcite-table-row");u.setAttribute("slot","table-header");let c=Array.from(o.querySelectorAll("th, td"));for(let f of c){let g=(f.textContent??"").trim(),d=r.createElement("calcite-table-header");d.setAttribute("heading",g),u.appendChild(d)}i.appendChild(u)}}let l=t.querySelector("tbody");(l?Array.from(l.querySelectorAll("tr")):Array.from(t.querySelectorAll("tr")).filter(n=>!s?.contains(n))).forEach((n,o)=>{let u=r.createElement("calcite-table-row"),c=!s&&o===0&&n.querySelectorAll("th").length>0;c&&u.setAttribute("slot","table-header");let f=Array.from(n.querySelectorAll("th, td"));for(let g of f){if(c&&g.localName==="th"){let m=(g.textContent??"").trim(),O=r.createElement("calcite-table-header");O.setAttribute("heading",m),u.appendChild(O);return}let d=r.createElement("calcite-table-cell"),h=g.getAttribute("colspan"),b=g.getAttribute("rowspan");h&&d.setAttribute("colspan",h),b&&d.setAttribute("rowspan",b),d.innerHTML=g.innerHTML,u.appendChild(d)}i.appendChild(u)}),t.replaceWith(i)}),r.body.innerHTML}catch{return e}}export{bt as a,St as b,gt as c};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as i}from"./ONQ6JSBJ.js";import{Dc as n}from"./AI6DYOKR.js";import{Dd as r}from"./MWYBF3F3.js";async function s(a,t){await t.when();let e=t.map?.allLayers.find(l=>l.id===a);if(!e)return console.warn(`[goToLayer] No matching FeatureLayer found for: ${a}`),{text:`Could not find layer for: ${a}`};let o;return(e.type==="link-chart"||e.type==="knowledge-graph-sublayer")&&t.map?.activeLinkChartLayer?o=t.map.diagramNodesExtent:o=e.fullExtent,o?(await t.goTo(o),e.visible=!0,{text:`Successfully zoomed to: ${e.title??""}`}):{text:"Layer has no defined extent. Cannot zoom to layer."}}async function m({layerId:a},t){let{mapView:e}=i(t,["mapView"]);return await s(a,e)}var c=r.object({layerId:r.string().describe("The id of the layer to navigate to")}),p=n(m,{name:"goToLayer",description:"Zooms the map view to the full extent of the top matching layer.",schema:c});export{p as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{
|
|
2
|
+
import{b as g}from"./6OOZSZRJ.js";import"./RLEHNAIA.js";import{h as u,v as c,z as h}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./UZLQALHY.js";export default $arcgis.t(([{watch:_},y,{property:m,subclass:f}])=>{var A=Object.defineProperty,S=Object.getOwnPropertyDescriptor,p=(e,s,i,a)=>{for(var r=a>1?void 0:a?S(s,i):s,t=e.length-1,n;t>=0;t--)(n=e[t])&&(r=(a?n(s,i,r):n(r))||r);return a&&r&&A(s,i,r),r};function l(){return typeof window>"u"?null:window}var o=class extends y{constructor(){super(...arguments),this._utterance=null,this.state="idle",this.supported=o.isSupported()}destroy(){this.stop(),super.destroy()}start(e){let s=e.trim(),i=l(),a=i?.SpeechSynthesisUtterance,r=i?.speechSynthesis;if(this._set("supported",o.isSupported(i)),!s||!a||!r)return;this.stop();let t=new a(s);t.rate=.9,t.pitch=1.1,t.volume=1,t.onend=()=>{this._utterance===t&&this._reset()},t.onerror=()=>{this._utterance===t&&this._reset()};try{r.speak(t),this._utterance=t,this._set("state","playing")}catch{t.onend=null,t.onerror=null,this._reset()}}stop(){let e=l(),s=e?.speechSynthesis;if(this._set("supported",o.isSupported(e)),s)try{(s.speaking||s.pending)&&s.cancel()}catch{}this._reset()}toggle(e){if(this.state==="playing"){this.stop();return}this.start(e)}static isSupported(e=l()){return!!e?.speechSynthesis&&typeof e.SpeechSynthesisUtterance=="function"}_reset(){this._utterance&&(this._utterance.onend=null,this._utterance.onerror=null),this._utterance=null,this._set("state","idle")}};p([m({readOnly:!0})],o.prototype,"state",2);p([m({readOnly:!0})],o.prototype,"supported",2);o=p([f("ReadAloudController")],o);var d=class extends c{constructor(){super(...arguments),this._messages=g({blocking:!0}),this._readAloudController=new o,this.readAloudEnabled=!1}static{this.properties={readAloudEnabled:5,message:0}}loaded(){this.manager.onLifecycle(()=>[_(()=>this._readAloudController.state,()=>this.requestUpdate(),{initial:!0}),{remove:()=>{this._readAloudController.stop()}}])}_toggleReadAloud(){this._readAloudController.toggle(this.message?.content??"")}render(){return this.readAloudEnabled&&!this.message?.error&&this.message?.content?.trim()&&this._readAloudController.supported?u`<calcite-action id=action-read-aloud .icon=${this._readAloudController.state==="playing"?"sound-off":"sound"} scale=s .active=${this._readAloudController.state==="playing"} @click=${()=>this._toggleReadAloud()} text></calcite-action><calcite-tooltip reference-element=action-read-aloud overlay-positioning=fixed placement=bottom><span>${this._readAloudController.state==="playing"?this._messages.stopReadingButtonLabel:this._messages.readAloudButtonLabel}</span></calcite-tooltip>`:null}};h("arcgis-assistant-message-read-aloud",d);return d},"core/reactiveUtils","core/Accessor","core/accessorSupport/decorators")
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import b from"./NNXISHCA.js";import"./34O57OGV.js";import"./FDOMMK2M.js";import a from"./AKD5UOVX.js";import"./ONQ6JSBJ.js";import"./AI6DYOKR.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([,a])=>{return a},a,b)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as m}from"./ONQ6JSBJ.js";import{Dc as i}from"./AI6DYOKR.js";import{Dd as e}from"./MWYBF3F3.js";async function s(o,a){let t=a.map.bookmarks;if(!t||t.length===0)throw new Error("No bookmarks found in the map.");let r=t.find(k=>k.name===o);if(!r)throw new Error(`Bookmark with name "${o}" not found.`);let n=r.viewpoint;if(!n)throw new Error(`Bookmark with name "${o}" does not have a valid viewpoint.`);return await a.goTo(n),{text:`Navigated to bookmark: ${o}`}}async function h({bookmarkName:o},a){let{mapView:t}=m(a,["mapView"]);return await Promise.resolve(s(o,t))}var w=e.object({bookmarkName:e.string().describe("The name of the bookmark to navigate to.")}),b=i(h,{name:"goToBookmark",description:"Go to the extent of the bookmark with the given name.",schema:w});export{b as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as s}from"./ONQ6JSBJ.js";import{Dc as o}from"./AI6DYOKR.js";import{a as i}from"./VXFQANGJ.js";var n=async t=>{t.map?.allLayers.filter(e=>e.type==="feature")?.forEach(e=>{let r=e;r.featureEffect&&(r.featureEffect=null)});let a=t.map.initialViewProperties?.viewpoint?.targetGeometry;return a?(await t.goTo(a),"Cleared all filters and returned to home extent."):"Cleared all filters. Could not determine home extent."},l=async(t,a)=>{let{mapView:e}=s(a,["mapView"]);return await n(e)},c=o(l,{name:"resetMap",description:"Clears all feature effects/filters from the map AND zooms to the home extent (initial map view). Use when user says 'reset map', 'reset the map', 'start over', or wants to both clear filters and return to the initial view.",schema:i.object({})});export{c as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import n from"./LAYVGCPL.js";import m from"./FXP5UIQU.js";import{c as s,d as p}from"./V6HOUZPZ.js";import l from"./KITIP6J2.js";import"./Z5W4V7RC.js";import k from"./KWD2ECTM.js";import j from"./NNXISHCA.js";import i from"./5K5ZY267.js";import h from"./655YIKL3.js";import g from"./CCC6LBMY.js";import"./34O57OGV.js";import"./7SRLZQVC.js";import"./FDOMMK2M.js";import f from"./C4JT4S5E.js";import"./Y7XD7ZRD.js";import"./VLLZ2FFU.js";import d from"./5ZFUGNRN.js";import"./LLUGJKAQ.js";import"./WKTQVBFJ.js";import"./K2R6XVK3.js";import"./3UEKINYC.js";import"./RLEHNAIA.js";import c from"./D5UFYQHN.js";import"./G2EGT3CF.js";import"./5WYRJMBW.js";import"./YEZ3AMNX.js";import b from"./22KHSDJI.js";import a from"./AKD5UOVX.js";import"./ONQ6JSBJ.js";import{v as e,z as o}from"./COH3QXWG.js";import"./R74ZHFA6.js";import"./7VAQUCBU.js";import"./VOKXKU7M.js";import"./EWLXNGKH.js";import"./AI6DYOKR.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([,,,,,,,,,{fetchKnowledgeGraph:n},,,,,,,,,,,,,m])=>{var r=class extends e{constructor(){super(...arguments),this.agent=m}static{this.properties={referenceElement:1,serviceUrl:3,context:0}}#i;#r;#t;#e;get serviceUrl(){return this.#r}set serviceUrl(t){this.#r=t}async getContext(){let t=this.context?{...this.context,knowledgeGraph:void 0,view:void 0}:{};if(this.#i)return{...t,view:this.#i};if(this.#t)try{let i=await this.#t;return{...t,knowledgeGraph:i}}catch(i){console.error("Failed to load knowledge graph via service URL:",i)}if(!this.context?.knowledgeGraph&&!this.context?.view)throw new Error("arcgis-assistant-knowledge-agent requires either a knowledgeGraph or view in context, and neither were provided");return this.context}willUpdate(t){t.has("serviceUrl")&&this.serviceUrl?this.#t=n(this.serviceUrl):this.#t=void 0}load(){this.#i=p(this)??void 0,this.#e=s(this)}disconnectedCallback(){this.#e?.unregister(this.agent.id),super.disconnectedCallback()}};o("arcgis-assistant-knowledge-agent",r);return r},"identity/IdentityManager","portal/Portal","request","config","core/reactiveUtils","layers/FeatureLayer","intl","smartMapping/statistics/summaryStatistics","smartMapping/statistics/uniqueValues","rest/knowledgeGraphService",a,b,c,d,f,g,h,i,j,k,l,m,n)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as m}from"./ONQ6JSBJ.js";import{Dc as i}from"./AI6DYOKR.js";import{a as t}from"./VXFQANGJ.js";async function r(o,e){return await e.goTo({zoom:o}),{text:`Successfully zoomed to: ${o}`}}async function a({zoom:o},e){let{mapView:n}=m(e,["mapView"]);return await r(o,n)}var c=t.object({zoom:t.number().min(1).max(20).describe("The zoom level of the view to go to.")}),p=i(a,{name:"goToZoom",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.).',schema:c});export{p as a};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import a from"./ANRQWYU2.js";import"./R2PQVY4O.js";import"./G2EGT3CF.js";import"./EWLXNGKH.js";import"./AI6DYOKR.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([{property:d,subclass:f},{a:u,c:i,d:c}])=>{var m=Object.defineProperty,g=Object.getOwnPropertyDescriptor,p=(e,o,r,t)=>{for(var s=t>1?void 0:t?g(o,r):o,a=e.length-1,n;a>=0;a--)(n=e[a])&&(s=(t?n(o,r,s):n(s))||s);return t&&s&&m(o,r,s),s},l=class extends c{constructor(e){super(e)}getAgents(){return this.agents}getEntryNode(e){return e[0]?i(e[0],0):void 0}isTerminalAgent(e,o){return o===e.length-1}validateAgents(e){super.validateAgents(e);let o=new Map;for(let[r,t]of e.entries()){let s=e[r-1];if(t.outputSchema)for(let a of u(t.outputSchema)){let n=o.get(a)??[];n.push(`${t.name} [${r}]`),o.set(a,n)}if(!(r===0||!t.inputSchema||s?.outputSchema))throw new Error(`Workflow agent "${t.name}" declares an input schema, so upstream agent "${s.name}" must declare an output schema.`)}for(let[r,t]of o.entries())t.length>1&&console.warn(`Workflow output field "${r}" is declared by multiple steps (${t.join(", ")}). Later steps will overwrite earlier values in shared state.`)}buildEdges(e){return e.length===1?[{from:i(e[0],0),decide:()=>{}}]:e.slice(0,-1).map((o,r)=>({from:i(o,r),decide:t=>t.status==="failed"?void 0:i(e[r+1],r+1)}))}};p([d()],l.prototype,"agents",2);l=p([f("SequentialWorkflow")],l);return l},"core/accessorSupport/decorators",a)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import c from"./5K5ZY267.js";import b from"./CCC6LBMY.js";import"./34O57OGV.js";import a from"./AKD5UOVX.js";import"./ONQ6JSBJ.js";import"./AI6DYOKR.js";import"./VXFQANGJ.js";import"./MWYBF3F3.js";import"./UZLQALHY.js";export default $arcgis.t(([,,a])=>{return a},a,b,c)
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import"../UZLQALHY.js";var e,a,i,c,u,s,w,l,f,m,p,y;async function r(n,t){if(t in n)return n[t];if("default"in n){let o=await n.default;return typeof o=="object"&&o!==null&&t in o?o[t]:o}throw new Error(`Unable to resolve ${String(t)} from module.`)}function W(n,t){let o={};for(let[b,k]of Object.entries(t))o[b]=h(n,k);return o}function d(n,t){return n.object(W(n,t))}function h(n,t){let o=g(n,t);return t.required===!0?o:o.optional()}function g(n,t){let o=T(n,t);return t.description!==void 0&&(o=o.describe(t.description)),o}function S(n,t){switch(t){case"string":return n.string();case"number":return n.number();case"boolean":return n.boolean()}}function A(n){return n==="string"||n==="number"||n==="boolean"}function T(n,t){switch(t.type){case"string":{if(t.enum!=null){if(t.enum.length===0)throw new Error("String schema field enum must include at least one value.");return n.enum(t.enum)}return n.string()}case"number":return n.number();case"boolean":return n.boolean();case"array":{if(t.itemType==null)throw new Error("Array schema field requires an itemType definition.");return n.array(A(t.itemType)?S(n,t.itemType):g(n,t.itemType))}case"object":{if(t.fields==null)throw new Error("Object schema field requires a fields definition.");return d(n,t.fields)}}}async function L(n){p??=import("../APFZY4PI.js");let t=await p;return d(t.z,n)}async function j(n,t){y??=import("../TCH5I5LS.js");let o=await y;return await(await r(o,"sendUXSuggestion"))(n,t)}async function q(n){e??=import("../FUF3NAU7.js");let t=await e,o=await r(t,"FunctionAgent");return new o(n)}async function E(n){a??=import("../J6SZIQJA.js");let t=await a,o=await r(t,"FunctionTool");return new o(n)}async function F(n){i??=import("../B2JDVLA6.js");let t=await i,o=await r(t,"LLMAgent");return new o(n)}async function v(n){c??=import("../HAEFC2SJ.js");let t=await c,o=await r(t,"WorkflowAgent");return new o(n)}async function U(n){u??=import("../NZSOJ726.js");let t=await u,o=await r(t,"ConditionalWorkflow");return new o(n)}async function M(n){s??=import("../OE3GW5LE.js");let t=await s,o=await r(t,"LoopWorkflow");return new o(n)}async function P(n){w??=import("../WGO5SER7.js");let t=await w,o=await r(t,"ParallelWorkflow");return new o(n)}async function R(n){l??=import("../FG647IP6.js");let t=await l,o=await r(t,"RouterWorkflow");return new o(n)}async function X(n){f??=import("../ZDV4K4WG.js");let t=await f,o=await r(t,"SequentialWorkflow");return new o(n)}async function x(n){m??=import("../HDACNIZF.js");let t=await m,o=await r(t,"SwitchWorkflow");return new o(n)}export{U as createConditionalWorkflow,q as createFunctionAgent,E as createFunctionTool,F as createLLMAgent,M as createLoopWorkflow,P as createParallelWorkflow,R as createRouterWorkflow,L as createSchema,X as createSequentialWorkflow,x as createSwitchWorkflow,v as createWorkflowAgent,j as sendUXSuggestion};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as g,b as p}from"../../HHFNQR6Z.js";import"../../VOKXKU7M.js";import{s as l}from"../../EWLXNGKH.js";import"../../AI6DYOKR.js";import"../../MWYBF3F3.js";import"../../UZLQALHY.js";var m="human-in-the-loop",w="Agent execution requires approval",f="Agent execution rejected by the user.",y="human-in-the-loop-tool",h="Tool execution requires approval";function x(t={}){let{outputKey:e}=t;return g(m,{wrapAgent:async(n,r)=>{let a=b(n),o=$(a,n),i=c(n.config?.configurable);if(i?.agentId!==a)throw new l(await I({agentId:a,interruptId:o,options:t,request:n}));if(i.id!==o){if(T(a,i.id))return await r(n);throw new l(await I({agentId:a,interruptId:o,options:t,request:n}))}if(i.payload===!1)return{outputMessage:f,status:"failed",summary:f};let u=e?{...n.state,[e]:i.payload}:n.state,d={...n,state:u};return await r(d)}},{outputKey:e})}function H(t={}){let{outputKey:e}=t;return p(y,{wrapToolCall:async(n,r)=>{let a=n.tool.name,o=q(n.config?.configurable),i=C(o,n.toolCallId??a),u=c(n.config?.configurable);if(u?.agentId!==o||u.id!==i)throw new l(await M({agentId:o,interruptId:i,options:t,request:n}));if(u.payload===!1)return`Tool call "${a}" was rejected by the user.`;let d=e?{...n.input,[e]:u.payload}:n.input,s={...n,input:d};return await r(s)}})}async function I(t){let{agentId:e,interruptId:n,options:r,request:a}=t,o=await r.interrupt?.({...a,agentId:e});return{agentId:e,id:n,kind:o?.kind??"booleanChoice",message:o?.message??w,metadata:o?.metadata}}function b(t){return typeof t.config?.configurable?.agentId=="string"?t.config.configurable.agentId:t.agent.id}function $(t,e){let n=e.config?.configurable?.thread_id,r=typeof n=="string"&&n?`${n}:`:"";return`${t}:${r}${e.nodeName}`}function T(t,e){return e.startsWith(`${t}:tool:`)}function q(t){return typeof t?.agentId=="string"?t.agentId:"llm-agent"}function C(t,e){return`${t}:tool:${e}`}async function M(t){let{agentId:e,interruptId:n,options:r,request:a}=t,{input:o,tool:i,toolCallId:u}=a,d=i.name,s=await r.interrupt?.({...a,args:o,toolName:d,toolCallId:u});return{agentId:e,id:n,kind:s?.kind??"booleanChoice",message:s?.message??`${h}
|
|
3
|
+
Tool: ${d}`,metadata:s?.metadata??{args:o,toolCallId:u,toolName:d}}}function N(t){return c(t?.configurable)?.payload}function c(t){let e=t?.hitlResponse;return e&&typeof e=="object"&&"id"in e&&"agentId"in e?e:null}export{x as createHumanInTheLoopMiddleware,H as createHumanInTheLoopToolMiddleware,N as getHumanInTheLoopPayload};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a,b,c}from"../../HHFNQR6Z.js";import"../../VOKXKU7M.js";import"../../EWLXNGKH.js";import"../../AI6DYOKR.js";import"../../MWYBF3F3.js";import"../../UZLQALHY.js";export{c as convertToLangChainMiddlewares,a as createAgentMiddleware,b as createToolMiddleware};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{a as o}from"../../7VAQUCBU.js";import{a as l,b as c}from"../../HHFNQR6Z.js";import"../../VOKXKU7M.js";import"../../EWLXNGKH.js";import{W as s,ea as i}from"../../AI6DYOKR.js";import"../../MWYBF3F3.js";import"../../UZLQALHY.js";var m="agent-trace",u="tool-trace";function y(){return l(m,{wrapModelCall:async(t,e)=>{let a=await e(t),r=t.runtime,g=d(a);return await Promise.all(g.map(async n=>await o({text:`LLM requested tool call "${n.name}" with arguments: ${JSON.stringify(n.args,null,2)}`},r))),a}})}function M(){return c(u,{wrapToolCall:async(t,e)=>{let a=await e(t),r=t.config;return await o({text:`Finished executing tool: ${s.isInstance(a)?a.content.toString():typeof a=="string"?a:t.tool.name}`},r),a}})}function d(t){return!i.isInstance(t)||!Array.isArray(t.tool_calls)?[]:t.tool_calls.filter(e=>typeof e?.name=="string")}export{y as createAgentTraceMiddleware,M as createToolTraceMiddleware};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"assistantLabel":"Assistant","stopButtonLabel":"Stop","askButtonLabel":"Ask"}
|
|
1
|
+
{"assistantLabel":"Assistant","stopButtonLabel":"Stop","askButtonLabel":"Ask","stoppedByUserLabel":"Stopped by user","noAgentsFoundMessage":"No agents found.","orchestratorInitializationErrorMessage":"Error initializing orchestrator.","signInErrorMessage":"Error signing in.","signInRequiredMessage":"You need to sign in to use the assistant chat.","signInLabel":"Sign in","signInToArcGISOnlineLabel":"Sign in to ArcGIS Online","noPortalInformationMessage":"No portal information available","readMoreLabel":"Read more","learnAboutWebMapEmbeddingsLabel":"Learn about web map embeddings","waitingForUserInputMessage":"Waiting for user input..."}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"optionsLabel":"Options","enterTextLabel":"Enter text","submitButtonLabel":"Submit","cancelButtonLabel":"Cancel"}
|
|
1
|
+
{"optionsLabel":"Options","enterTextLabel":"Enter text","submitButtonLabel":"Submit","cancelButtonLabel":"Cancel","approveButtonLabel":"Approve","declineButtonLabel":"Decline"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"assistantQuestions":"Assistant Questions","questionSkipped":"(Question skipped)"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"loadingLabel":"Loading"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"loadingLabel":"Loading"}
|