@arcgis/ai-components 5.2.0-next.104 → 5.2.0-next.106
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-utils/LLMAgent.js +41 -40
- package/dist/agent-utils/middlewares/trace.js +5 -5
- package/dist/agents/runtime/skill/createSkillAgent.d.ts +31 -0
- package/dist/agents/runtime/skill/createSkillAgent.js +262 -0
- package/dist/agents/runtime/skill/loadAgentSkills.d.ts +16 -0
- package/dist/agents/runtime/skill/types.d.ts +28 -0
- package/dist/agents/runtime/skill/types.js +2 -0
- package/dist/agents/tools/filter/setFeatureEffect/adapter.js +20 -19
- package/dist/agents/tools/query/getStatistics/adapter.js +4 -3
- package/dist/agents/tools/query/getTopFeatures/adapter.js +4 -3
- package/dist/agents/tools/query/queryFeatures/adapter.js +4 -3
- package/dist/agents/tools/shared/resolveToolArtifact.d.ts +22 -0
- package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
- package/dist/agents/tools/shared/types.d.ts +22 -0
- package/dist/agents/tools/shared/types.js +6 -0
- package/dist/cdn/23C34FEU.js +2 -0
- package/dist/cdn/{NZSOJ726.js → 2AMUOR7X.js} +1 -1
- package/dist/cdn/2OHRNRNT.js +2 -0
- package/dist/cdn/2OUIRKTV.js +2 -0
- package/dist/cdn/2S6L3P4Q.js +2 -0
- package/dist/cdn/{C4FEETBZ.js → 2W7LK4HA.js} +1 -1
- package/dist/cdn/3IOP64NG.js +2 -0
- package/dist/cdn/3OH35VXS.js +2 -0
- package/dist/cdn/{5K5ZY267.js → 3SD47V7G.js} +1 -1
- package/dist/cdn/{7VAQUCBU.js → 3VCPN2KW.js} +1 -1
- package/dist/cdn/{LLUGJKAQ.js → 3XDT7MWI.js} +1 -1
- package/dist/cdn/{Y7XD7ZRD.js → 4ALF2CJY.js} +1 -1
- package/dist/cdn/{HAEFC2SJ.js → 5LMYUEK7.js} +1 -1
- package/dist/cdn/{655YIKL3.js → 6GODC6RU.js} +2 -2
- package/dist/cdn/{7VUSIGEM.js → 6RAWG2KQ.js} +1 -1
- package/dist/cdn/{GCVB5VG4.js → 6YZGKVYB.js} +1 -1
- package/dist/cdn/{VLLZ2FFU.js → 725MBCQF.js} +1 -1
- package/dist/cdn/74CVYM72.js +19 -0
- package/dist/cdn/{CP5BVGJU.js → 7EOS4SGJ.js} +1 -1
- package/dist/cdn/{5WYRJMBW.js → 7QIX4PZR.js} +1 -1
- package/dist/cdn/7UF3WRLO.js +72 -0
- package/dist/cdn/A7BKHIMA.js +2 -0
- package/dist/cdn/AFSBL4ZP.js +2 -0
- package/dist/cdn/{FG647IP6.js → AGQ5ADFU.js} +1 -1
- package/dist/cdn/{5ZFUGNRN.js → BQYF37UD.js} +1 -1
- package/dist/cdn/{4RDNI22D.js → BTTBKTFM.js} +4 -4
- package/dist/cdn/BVSK2GWP.js +2 -0
- package/dist/cdn/CFAC4FN3.js +2 -0
- package/dist/cdn/{HDACNIZF.js → D5EKX26R.js} +1 -1
- package/dist/cdn/EGN5BCHV.js +2 -0
- package/dist/cdn/{BXQ4I5HB.js → EJJFG5DE.js} +2 -2
- package/dist/cdn/{ZDV4K4WG.js → EOD5PNOL.js} +1 -1
- package/dist/cdn/{OE3GW5LE.js → ES6D4UD6.js} +1 -1
- package/dist/cdn/{K2R6XVK3.js → HB72YIII.js} +1 -1
- package/dist/cdn/{G2EGT3CF.js → HHBNLCJP.js} +1 -1
- package/dist/cdn/HLN5675C.js +2 -0
- package/dist/cdn/IFFOSSNB.js +2 -0
- package/dist/cdn/IO7DYFL2.js +2 -0
- package/dist/cdn/{IBZ2NEAO.js → IRSJXHRN.js} +1 -1
- package/dist/cdn/JD2TB7H4.js +2 -0
- package/dist/cdn/{ANRQWYU2.js → JKKU4K4C.js} +1 -1
- package/dist/cdn/{FUF3NAU7.js → JMNHFKGL.js} +1 -1
- package/dist/cdn/{22KHSDJI.js → JWZD3D5E.js} +1 -1
- package/dist/cdn/{HKOGIZDQ.js → KJLLN4P4.js} +18 -18
- package/dist/cdn/KZ73TZOB.js +2 -0
- package/dist/cdn/LEO3USHH.js +2 -0
- package/dist/cdn/LNIMGXB4.js +2 -0
- package/dist/cdn/MG2W2ZF3.js +2 -0
- package/dist/cdn/{NYJYRCGA.js → MSXMHRI7.js} +1 -1
- package/dist/cdn/MXAZE2VM.js +179 -0
- package/dist/cdn/{EWLXNGKH.js → OL7QBAGS.js} +15 -15
- package/dist/cdn/OMF6ITSG.js +2 -0
- package/dist/cdn/{Z5W4V7RC.js → OOGADOKQ.js} +1 -1
- package/dist/cdn/{KITIP6J2.js → OZ2CM3J2.js} +1 -1
- package/dist/cdn/{6YYPVU7H.js → P4GFYBBO.js} +1 -1
- package/dist/cdn/PK5KI2XF.js +2 -0
- package/dist/cdn/PWFUEBTT.js +2 -0
- package/dist/cdn/{HHUQXL3R.js → PYGX4HN7.js} +1 -1
- package/dist/cdn/RFVZ7KCG.js +66 -0
- package/dist/cdn/{YEZ3AMNX.js → RLB6TK6B.js} +1 -1
- package/dist/cdn/{WKTQVBFJ.js → RN6WMVZX.js} +1 -1
- package/dist/cdn/{WJXXOKGA.js → ROQGPAR5.js} +1 -1
- package/dist/cdn/RSJSRETN.js +2 -0
- package/dist/cdn/RSR66KB4.js +2 -0
- package/dist/cdn/{7SRLZQVC.js → RZIXMISL.js} +1 -1
- package/dist/cdn/{VOKXKU7M.js → S4LELUBK.js} +9 -9
- package/dist/cdn/{AI6DYOKR.js → S627D4K7.js} +1 -1
- package/dist/cdn/SL4Y7IRG.js +2 -0
- package/dist/cdn/STUBN3L5.js +2 -0
- package/dist/cdn/T2OYKP3V.js +2 -0
- package/dist/cdn/{C4JT4S5E.js → TBYDZN4H.js} +1 -1
- package/dist/cdn/{HHFNQR6Z.js → TEI6WXW7.js} +1 -1
- package/dist/cdn/{WGO5SER7.js → TFRWUAB6.js} +1 -1
- package/dist/cdn/U3ETGDT7.js +2 -0
- package/dist/cdn/{KWD2ECTM.js → UAG6GDUG.js} +1 -1
- package/dist/cdn/UHICISBZ.js +2 -0
- package/dist/cdn/{NNXISHCA.js → VMZZR7MY.js} +2 -2
- package/dist/cdn/WW4BEFDF.js +2 -0
- package/dist/cdn/XGCQS3N4.js +2 -0
- package/dist/cdn/{R2PQVY4O.js → XKH37FLY.js} +1 -1
- package/dist/cdn/XQ3NBBQ3.js +2 -0
- package/dist/cdn/{7BCQMK6D.js → XTCLJEID.js} +1 -1
- package/dist/cdn/{J6SZIQJA.js → Y7LGFSHO.js} +1 -1
- package/dist/cdn/ZFOG3KXV.js +2 -0
- package/dist/cdn/ZZZB3GES.js +14 -0
- package/dist/cdn/agent-utils/index.js +1 -1
- package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -1
- package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
- package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/SKILL.js +5 -0
- package/dist/chunks/SKILL2.js +5 -0
- package/dist/chunks/SKILL3.js +22 -0
- package/dist/chunks/SKILL4.js +5 -0
- package/dist/chunks/adapter.js +137 -140
- package/dist/chunks/aiFactory.js +94 -0
- package/dist/chunks/arcgisKnowledgeGraph.js +14 -13
- package/dist/chunks/baseAgentState.js +2 -2
- package/dist/chunks/dataExplorationAgent.js +30 -0
- package/dist/chunks/generateLayerDescriptions.js +181 -268
- package/dist/chunks/helpAgent.js +37 -0
- package/dist/chunks/layerStylingGraph.js +91 -76
- package/dist/chunks/navigationAgent.js +40 -0
- package/dist/chunks/orchestrator.js +13 -12
- package/dist/chunks/requireAgentServices.js +11 -0
- package/dist/chunks/resolvePointGeometryFilter.js +11 -11
- package/dist/components/arcgis-assistant/customElement.d.ts +23 -3
- package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +17 -6
- package/dist/components/arcgis-assistant-help-agent/customElement.js +3 -1
- package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +1 -0
- package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +1 -0
- package/dist/components/arcgis-assistant-navigation-agent/customElement.js +18 -7
- 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/orchestrator/models/types.d.ts +1 -0
- package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +15 -0
- package/dist/orchestrator/registry/agentRegistry.d.ts +33 -0
- package/dist/orchestrator/types/types.d.ts +17 -0
- package/dist/utils/index.d.ts +13 -3
- package/dist/utils/index.js +706 -82
- package/package.json +10 -6
- package/dist/cdn/2EY3BQQX.js +0 -2
- package/dist/cdn/2NDBI2VA.js +0 -156
- package/dist/cdn/4OGR5QKS.js +0 -2
- package/dist/cdn/5FL5BTTX.js +0 -66
- package/dist/cdn/5X7EG7D2.js +0 -2
- package/dist/cdn/6FCU2KJP.js +0 -2
- package/dist/cdn/7BJ4JKLG.js +0 -2
- package/dist/cdn/7HS5KX3J.js +0 -2
- package/dist/cdn/7UUYJTKT.js +0 -2
- package/dist/cdn/7V6OSTFC.js +0 -2
- package/dist/cdn/7VYYQ7BT.js +0 -2
- package/dist/cdn/ACJTJLZN.js +0 -2
- package/dist/cdn/AKD5UOVX.js +0 -2
- package/dist/cdn/C7LGDNB3.js +0 -14
- package/dist/cdn/CGJINV7H.js +0 -2
- package/dist/cdn/CJMUJXPL.js +0 -2
- package/dist/cdn/D2SS763Z.js +0 -2
- package/dist/cdn/FJO4KNOZ.js +0 -2
- package/dist/cdn/G3SF6U2U.js +0 -2
- package/dist/cdn/G6CR7JVM.js +0 -22
- package/dist/cdn/GL7BPKBN.js +0 -2
- package/dist/cdn/JO5ETMPS.js +0 -2
- package/dist/cdn/PUHRBGKB.js +0 -2
- package/dist/cdn/Q57QWN5W.js +0 -2
- package/dist/cdn/QUKNPVAF.js +0 -2
- package/dist/cdn/RBE55SWR.js +0 -2
- package/dist/cdn/SWH6ZHD4.js +0 -18
- package/dist/cdn/SZ2QSSB3.js +0 -2
- package/dist/cdn/T4RIGOXB.js +0 -2
- package/dist/cdn/W4JQDITQ.js +0 -36
- package/dist/cdn/XX6GHMNR.js +0 -2
- package/dist/cdn/YLVJA4ZE.js +0 -2
- package/dist/cdn/ZOEMBHRF.js +0 -2
- package/dist/cdn/ZRVZMPFN.js +0 -2
- package/dist/chunks/dataExplorationGraph.js +0 -254
- package/dist/chunks/helpGraph.js +0 -133
- package/dist/chunks/navigationGraph.js +0 -290
- package/dist/chunks/toolCallResponse.js +0 -33
|
@@ -4,9 +4,9 @@ import "@arcgis/core/identity/IdentityManager.js";
|
|
|
4
4
|
import "@arcgis/core/portal/Portal.js";
|
|
5
5
|
import "@arcgis/core/request.js";
|
|
6
6
|
import "@arcgis/toolkit/string";
|
|
7
|
-
import {
|
|
7
|
+
import { i as v } from "./generateLayerDescriptions.js";
|
|
8
8
|
import "@langchain/core/messages";
|
|
9
|
-
import { s
|
|
9
|
+
import { s } from "./index.js";
|
|
10
10
|
import "@langchain/core/callbacks/base";
|
|
11
11
|
import "@langchain/openai";
|
|
12
12
|
import "@arcgis/core/config.js";
|
|
@@ -14,20 +14,34 @@ import "@arcgis/core/core/reactiveUtils.js";
|
|
|
14
14
|
import "@arcgis/core/layers/FeatureLayer.js";
|
|
15
15
|
import "@langchain/core/prompts";
|
|
16
16
|
import { f as g } from "./fetchService.js";
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
const
|
|
17
|
+
import { j as I, k as T, l as R, m as F, n as $, o as C, p as A, r as N, u as q, v as M, w as _, e as b, L as S } from "./adapter.js";
|
|
18
|
+
import { ToolNode as k } from "@langchain/langgraph/prebuilt";
|
|
19
|
+
import { r as j } from "./requireAgentServices.js";
|
|
20
|
+
const P = async (r, e) => {
|
|
21
|
+
const t = r.tool_calls ?? [];
|
|
22
|
+
if (t.length === 0) {
|
|
23
|
+
await s({ text: `LLM did not request any tool calls: ${String(r?.content)}` }, e);
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
await Promise.all(
|
|
27
|
+
t.map(
|
|
28
|
+
async (a) => await s(
|
|
29
|
+
{ text: `LLM invoked ${a.name} tool with arguments: ${JSON.stringify(a.args, null, 2)}` },
|
|
30
|
+
e
|
|
31
|
+
)
|
|
32
|
+
)
|
|
33
|
+
);
|
|
34
|
+
}, h = 0.7, V = 10, z = async (r, e) => {
|
|
21
35
|
try {
|
|
22
|
-
await
|
|
23
|
-
const
|
|
24
|
-
text:
|
|
25
|
-
layerIds:
|
|
36
|
+
await s({ text: "Similarity search to find fields" }, e);
|
|
37
|
+
const t = g(e, "fieldSearch"), a = g(e, "layersAndFieldsRegistry"), o = g(e, "embeddingCache"), n = await t.searchFields({
|
|
38
|
+
text: r.agentExecutionContext.assignedTask,
|
|
39
|
+
layerIds: r.vectorSearchLayerIds,
|
|
26
40
|
minScore: h,
|
|
27
|
-
topResults:
|
|
41
|
+
topResults: V,
|
|
28
42
|
embeddingCache: o
|
|
29
43
|
}), c = n.map(({ layerId: d, results: p }) => {
|
|
30
|
-
const y = p.map((
|
|
44
|
+
const y = p.map((i) => ` - ${i.name} (${i.score.toFixed(2)})`).join(`
|
|
31
45
|
`);
|
|
32
46
|
return `${a.get(d)?.layerItem.name ?? d}:
|
|
33
47
|
${y}`;
|
|
@@ -35,128 +49,128 @@ ${y}`;
|
|
|
35
49
|
`);
|
|
36
50
|
let l;
|
|
37
51
|
return n.length > 0 ? l = `Vector search completed. Matching layers and fields with scores:
|
|
38
|
-
${c}` : l = `No vector search results found for score over ${h}.`, await
|
|
39
|
-
...
|
|
52
|
+
${c}` : l = `No vector search results found for score over ${h}.`, await s({ text: l }, e), {
|
|
53
|
+
...r,
|
|
40
54
|
vectorSearchFieldResults: n
|
|
41
55
|
};
|
|
42
|
-
} catch (
|
|
43
|
-
throw await
|
|
44
|
-
{ text: `Error during vector search: ${
|
|
56
|
+
} catch (t) {
|
|
57
|
+
throw await s(
|
|
58
|
+
{ text: `Error during vector search: ${t instanceof Error ? t.message : String(t)}` },
|
|
45
59
|
e
|
|
46
|
-
), new Error(`Vector search failed: ${
|
|
60
|
+
), new Error(`Vector search failed: ${t instanceof Error ? t.message : String(t)}`);
|
|
47
61
|
}
|
|
48
|
-
}, D = 0.7, H = async (
|
|
62
|
+
}, D = 0.7, H = async (r, e) => {
|
|
49
63
|
try {
|
|
50
|
-
await
|
|
51
|
-
{ text: `Similarity search to find layers: ${
|
|
64
|
+
await s(
|
|
65
|
+
{ text: `Similarity search to find layers: ${r.agentExecutionContext.assignedTask}` },
|
|
52
66
|
e
|
|
53
67
|
);
|
|
54
|
-
const
|
|
55
|
-
text:
|
|
68
|
+
const t = g(e, "layerSearch"), a = g(e, "layersAndFieldsRegistry"), o = await t.searchLayers({
|
|
69
|
+
text: r.agentExecutionContext.assignedTask,
|
|
56
70
|
minScore: D
|
|
57
71
|
}), n = o.map((d) => d.id), c = o.map(({ id: d, score: p }) => `${a.get(d)?.layerItem.name ?? d} (${p.toFixed(2)})`).join(`
|
|
58
72
|
`);
|
|
59
73
|
let l;
|
|
60
74
|
return n.length > 0 ? l = `Vector search completed. Matching layers with scores:
|
|
61
|
-
${c}` : l = "Vector search completed. No matching layers found.", await
|
|
62
|
-
...
|
|
75
|
+
${c}` : l = "Vector search completed. No matching layers found.", await s({ text: l }, e), {
|
|
76
|
+
...r,
|
|
63
77
|
vectorSearchLayerIds: n
|
|
64
78
|
};
|
|
65
|
-
} catch (
|
|
66
|
-
throw await
|
|
67
|
-
{ text: `Error during vector search: ${
|
|
79
|
+
} catch (t) {
|
|
80
|
+
throw await s(
|
|
81
|
+
{ text: `Error during vector search: ${t instanceof Error ? t.message : String(t)}` },
|
|
68
82
|
e
|
|
69
|
-
), new Error(`Vector search failed: ${
|
|
83
|
+
), new Error(`Vector search failed: ${t instanceof Error ? t.message : String(t)}`);
|
|
70
84
|
}
|
|
71
85
|
}, f = [
|
|
72
86
|
I,
|
|
73
87
|
T,
|
|
74
88
|
R,
|
|
75
89
|
F,
|
|
90
|
+
$,
|
|
76
91
|
C,
|
|
77
92
|
A,
|
|
78
|
-
$,
|
|
79
93
|
N,
|
|
80
|
-
b,
|
|
81
94
|
q,
|
|
95
|
+
M,
|
|
82
96
|
_
|
|
83
|
-
], x = (
|
|
84
|
-
const
|
|
85
|
-
if (
|
|
97
|
+
], x = (r, e = 3) => {
|
|
98
|
+
const t = r.map((o, n) => o.type === "human" ? n : -1).filter((o) => o !== -1);
|
|
99
|
+
if (t.length === 0)
|
|
86
100
|
return [];
|
|
87
|
-
const a =
|
|
88
|
-
return
|
|
89
|
-
}, G = async (
|
|
90
|
-
await
|
|
91
|
-
const
|
|
101
|
+
const a = t.length > e ? t[t.length - e] : t[0];
|
|
102
|
+
return r.slice(a);
|
|
103
|
+
}, G = async (r, e) => {
|
|
104
|
+
await s({ text: "Requesting LLM for layer query results" }, e);
|
|
105
|
+
const t = await b("navigation_intent_prompt");
|
|
92
106
|
if (!e?.configurable)
|
|
93
107
|
throw new Error("config.configurable is required for layer query tools");
|
|
94
108
|
const a = {
|
|
95
|
-
layerFieldInfo:
|
|
109
|
+
layerFieldInfo: r.layerFieldInfo
|
|
96
110
|
}, o = await v({
|
|
97
|
-
promptText:
|
|
111
|
+
promptText: t,
|
|
98
112
|
modelTier: "advanced",
|
|
99
113
|
config: e,
|
|
100
|
-
messages: x(
|
|
114
|
+
messages: x(r.agentExecutionContext.messages),
|
|
101
115
|
inputVariables: a,
|
|
102
116
|
tools: f
|
|
103
117
|
});
|
|
104
|
-
return await
|
|
105
|
-
...
|
|
118
|
+
return await P(o, e), {
|
|
119
|
+
...r,
|
|
106
120
|
agentExecutionContext: {
|
|
107
|
-
...
|
|
108
|
-
messages: [...
|
|
121
|
+
...r.agentExecutionContext,
|
|
122
|
+
messages: [...r.agentExecutionContext.messages, o]
|
|
109
123
|
}
|
|
110
124
|
};
|
|
111
125
|
};
|
|
112
|
-
async function
|
|
113
|
-
const a = await new
|
|
126
|
+
async function O(r, e) {
|
|
127
|
+
const a = await new k(f, { handleToolErrors: !1 }).invoke(
|
|
114
128
|
{
|
|
115
|
-
messages: x(
|
|
129
|
+
messages: x(r.agentExecutionContext.messages)
|
|
116
130
|
},
|
|
117
131
|
e
|
|
118
132
|
), o = a.messages.map((c) => c.text).join(`
|
|
119
133
|
`);
|
|
120
|
-
await
|
|
134
|
+
await s({ text: `Finished executing layer filter tool: ${o}` }, e);
|
|
121
135
|
const n = a.messages.map((c) => c.text).join(`
|
|
122
136
|
`);
|
|
123
|
-
return { ...
|
|
137
|
+
return { ...r, outputMessage: n };
|
|
124
138
|
}
|
|
125
|
-
const
|
|
139
|
+
const U = async (r, e) => (await s({ text: "Exiting Layer Styling agent" }, e), r), B = async (r, e) => {
|
|
126
140
|
try {
|
|
127
|
-
await
|
|
128
|
-
const
|
|
129
|
-
for (const a of
|
|
141
|
+
await s({ text: "Populating layer and field info" }, e);
|
|
142
|
+
const t = [];
|
|
143
|
+
for (const a of r.vectorSearchFieldResults) {
|
|
130
144
|
let o = function(y) {
|
|
131
|
-
const
|
|
132
|
-
return
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
145
|
+
const i = l.get(y)?.layerItem;
|
|
146
|
+
return i ? [
|
|
147
|
+
i.name && `Name: ${i.name}`,
|
|
148
|
+
i.title && `Title: ${i.title}`,
|
|
149
|
+
i.description && `Description: ${i.description}`
|
|
136
150
|
].filter(Boolean).join(" | ") : y;
|
|
137
151
|
};
|
|
138
152
|
const { layerId: n, results: c } = a, l = g(e, "layersAndFieldsRegistry"), d = l.get(n)?.fieldRegistry;
|
|
139
153
|
if (!d)
|
|
140
154
|
continue;
|
|
141
|
-
let p =
|
|
155
|
+
let p = t.find((y) => y.layerId === n);
|
|
142
156
|
p || (p = {
|
|
143
157
|
layerId: n,
|
|
144
158
|
layerSummary: o(n),
|
|
145
159
|
fieldInfos: []
|
|
146
|
-
},
|
|
160
|
+
}, t.push(p));
|
|
147
161
|
for (const y of c) {
|
|
148
|
-
const
|
|
149
|
-
|
|
162
|
+
const i = d.get(y.name);
|
|
163
|
+
i && p.fieldInfos.push(i);
|
|
150
164
|
}
|
|
151
165
|
}
|
|
152
|
-
return await
|
|
153
|
-
} catch (
|
|
154
|
-
throw await
|
|
166
|
+
return await s({ text: "Populated layerFieldInfo" }, e), { ...r, layerFieldInfo: t };
|
|
167
|
+
} catch (t) {
|
|
168
|
+
throw await s({ text: "Error populating layerFieldInfo" }, e), new Error(`Error populating layerFieldInfo: ${t instanceof Error ? t.message : String(t)}`);
|
|
155
169
|
}
|
|
156
|
-
}, J = (
|
|
157
|
-
const
|
|
158
|
-
if (
|
|
159
|
-
return { ...
|
|
170
|
+
}, J = (r, e) => {
|
|
171
|
+
const t = r.vectorSearchLayerIds ?? [];
|
|
172
|
+
if (t.length <= 1)
|
|
173
|
+
return { ...r, selectedLayerId: r.vectorSearchLayerIds[0] };
|
|
160
174
|
const { hitlResponse: a } = e.configurable;
|
|
161
175
|
if (a?.agentId !== u.id || a.id !== "reviewLayerSelection") {
|
|
162
176
|
const n = {
|
|
@@ -164,16 +178,16 @@ const B = async (t, e) => (await i({ text: "Exiting Layer Styling agent" }, e),
|
|
|
164
178
|
id: "reviewLayerSelection",
|
|
165
179
|
kind: "singleSelection",
|
|
166
180
|
message: "Choose a layer to apply the styles.",
|
|
167
|
-
metadata: [...
|
|
181
|
+
metadata: [...t]
|
|
168
182
|
};
|
|
169
183
|
throw new w(n);
|
|
170
184
|
}
|
|
171
185
|
let o = null;
|
|
172
186
|
return Array.isArray(a.payload) && a.payload.length > 0 && (o = a.payload[0]), {
|
|
173
|
-
...
|
|
174
|
-
selectedLayerId: o ??
|
|
187
|
+
...r,
|
|
188
|
+
selectedLayerId: o ?? r.vectorSearchLayerIds[0]
|
|
175
189
|
};
|
|
176
|
-
}, K = (
|
|
190
|
+
}, K = (r, e) => j(["layerSearch", "fieldSearch", "layersAndFieldsRegistry"], "Layer Styling Agent")(r, e), Q = () => new L(S).addNode("requireLayerStylingServices", K).addNode("vectorSearchLayers", H).addNode("layerSelectionHITL", J).addNode("vectorSearchFields", z).addNode("populateLayerFieldInfo", B).addNode("agent", G).addNode("tools", O).addNode("earlyExit", U).addEdge(E, "requireLayerStylingServices").addEdge("requireLayerStylingServices", "vectorSearchLayers").addConditionalEdges(
|
|
177
191
|
"layerSelectionHITL",
|
|
178
192
|
(e) => e.vectorSearchLayerIds.length ? "vectorSearchFields" : "earlyExit"
|
|
179
193
|
).addConditionalEdges(
|
|
@@ -191,5 +205,6 @@ const B = async (t, e) => (await i({ text: "Exiting Layer Styling agent" }, e),
|
|
|
191
205
|
workspace: S
|
|
192
206
|
};
|
|
193
207
|
export {
|
|
194
|
-
u as L
|
|
208
|
+
u as L,
|
|
209
|
+
P as h
|
|
195
210
|
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { createSkillAgent as n } from "../agents/runtime/skill/createSkillAgent.js";
|
|
3
|
+
import { f as r } from "./fetchAgentContext.js";
|
|
4
|
+
const s = ({ config: a }) => {
|
|
5
|
+
const { mapView: o } = r(a, ["mapView"]), e = o.map, t = Number.isFinite(o.zoom) ? o.zoom : void 0;
|
|
6
|
+
return JSON.stringify(
|
|
7
|
+
{
|
|
8
|
+
availableBookmarks: e.bookmarks?.map(({ name: i }) => i).filter(Boolean) ?? [],
|
|
9
|
+
currentZoom: t
|
|
10
|
+
},
|
|
11
|
+
null,
|
|
12
|
+
2
|
|
13
|
+
);
|
|
14
|
+
}, l = [async () => (await import("./SKILL4.js")).default], m = {
|
|
15
|
+
findRelevantFields: async () => (await import("../agents/tools/search/findRelevantFields/adapter.js")).findRelevantFieldsTool,
|
|
16
|
+
findRelevantLayers: async () => (await import("../agents/tools/search/findRelevantLayers/adapter.js")).findRelevantLayersTool,
|
|
17
|
+
goToAddress: async () => (await import("../agents/tools/navigation/goToAddress/adapter.js")).goToAddressTool,
|
|
18
|
+
goToBookmark: async () => (await import("../agents/tools/navigation/goToBookmark/adapter.js")).goToBookmarkTool,
|
|
19
|
+
goToFeatures: async () => (await import("../agents/tools/navigation/goToFeatures/adapter.js")).goToFeaturesTool,
|
|
20
|
+
goToFullExtent: async () => (await import("../agents/tools/navigation/goToFullExtent/adapter.js")).goToFullExtentTool,
|
|
21
|
+
goToHomeExtent: async () => (await import("../agents/tools/navigation/goToHomeExtent/adapter.js")).goToHomeExtentTool,
|
|
22
|
+
goToLayer: async () => (await import("../agents/tools/navigation/goToLayer/adapter.js")).goToLayerTool,
|
|
23
|
+
goToScale: async () => (await import("../agents/tools/navigation/goToScale/adapter.js")).goToScaleTool,
|
|
24
|
+
goToViewpoint: async () => (await import("../agents/tools/navigation/goToViewpoint/adapter.js")).goToViewpointTool,
|
|
25
|
+
goToZoom: async () => (await import("../agents/tools/navigation/goToZoom/adapter.js")).goToZoomTool
|
|
26
|
+
}, p = n({
|
|
27
|
+
id: "navigation",
|
|
28
|
+
name: "Navigation Agent",
|
|
29
|
+
description: "Navigates the map for explicit zoom, center, address, bookmark, layer, feature, extent, scale, and viewpoint requests. Use for questions asking where a place is or to resolve an address or place as a reusable spatial anchor for a proximity request. Resolves only the location; it does not query, display, filter, or highlight feature data.",
|
|
30
|
+
skillLoaders: l,
|
|
31
|
+
toolLoaders: m,
|
|
32
|
+
modelTier: "default",
|
|
33
|
+
systemPrompt: "You are an ArcGIS map navigation agent.",
|
|
34
|
+
runtimeContextLoader: s,
|
|
35
|
+
fallbackMessage: "Navigation request completed.",
|
|
36
|
+
failureMessage: "I couldn't complete the navigation request."
|
|
37
|
+
});
|
|
38
|
+
export {
|
|
39
|
+
p as N
|
|
40
|
+
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import M from "@arcgis/core/identity/IdentityManager.js";
|
|
3
3
|
import _ from "@arcgis/core/portal/Portal.js";
|
|
4
|
-
import {
|
|
5
|
-
import { isGraphInterrupt as
|
|
6
|
-
import { generateGuid as
|
|
4
|
+
import { g as $, a as D } from "./aiFactory.js";
|
|
5
|
+
import { isGraphInterrupt as F, StateGraph as L, START as W, END as q, MemorySaver as T } from "@langchain/langgraph/web";
|
|
6
|
+
import { generateGuid as b } from "@arcgis/toolkit/string";
|
|
7
|
+
import { g as A, D as j, b as H, W as P } from "./generateLayerDescriptions.js";
|
|
7
8
|
import { HumanMessage as U, AIMessage as O } from "@langchain/core/messages";
|
|
8
9
|
import { s as p } from "./index.js";
|
|
9
10
|
import { BaseCallbackHandler as G } from "@langchain/core/callbacks/base";
|
|
@@ -32,7 +33,7 @@ const B = async (n) => {
|
|
|
32
33
|
}, K = (n) => {
|
|
33
34
|
n.currentIntent = "none";
|
|
34
35
|
}, J = async (n, e) => {
|
|
35
|
-
const r =
|
|
36
|
+
const r = A(e);
|
|
36
37
|
if (n.agentExecutionContext.userRequest) {
|
|
37
38
|
const t = new U(n.agentExecutionContext.userRequest.trim());
|
|
38
39
|
n.agentExecutionContext.messages = [...n.agentExecutionContext.messages, t], K(n);
|
|
@@ -108,7 +109,7 @@ const B = async (n) => {
|
|
|
108
109
|
return e;
|
|
109
110
|
const t = Date.now(), a = r.map((i) => ({
|
|
110
111
|
...i,
|
|
111
|
-
id:
|
|
112
|
+
id: b(),
|
|
112
113
|
meta: {
|
|
113
114
|
createdByAgentId: s,
|
|
114
115
|
createdAt: t
|
|
@@ -143,7 +144,7 @@ const B = async (n) => {
|
|
|
143
144
|
sharedResourceAdditions: o
|
|
144
145
|
};
|
|
145
146
|
}, x = 4e3, oe = async (n, e) => {
|
|
146
|
-
const r =
|
|
147
|
+
const r = A(e);
|
|
147
148
|
if (e?.signal?.aborted)
|
|
148
149
|
return await p({ text: "Run cancelled; skipping agent execution" }, e), {
|
|
149
150
|
...n,
|
|
@@ -184,7 +185,7 @@ const B = async (n) => {
|
|
|
184
185
|
);
|
|
185
186
|
i = ie(t.agent.name, c), await p({ text: `Finished executing registered agent: ${t.agent.name}` }, e);
|
|
186
187
|
} catch (c) {
|
|
187
|
-
if (
|
|
188
|
+
if (F(c) || e?.signal?.aborted || c instanceof Error && c.name === "AbortError")
|
|
188
189
|
throw c;
|
|
189
190
|
const u = c instanceof Error ? c.message : String(c);
|
|
190
191
|
console.error(`Agent "${t.agent.name}" failed:`, c), await p({ text: `Registered agent failed: ${t.agent.name}. ${u}` }, e), i = {
|
|
@@ -241,7 +242,7 @@ const B = async (n) => {
|
|
|
241
242
|
assignedTask: n.agentExecutionContext.userRequest
|
|
242
243
|
}
|
|
243
244
|
};
|
|
244
|
-
}, de = 3, ue = (n) => n.routing.mode === "direct" ? "assignDirectAgent" : "intentLLM", ge = (n) => n.routing.mode === "direct" || n.stepCount >= de || !n.requiresFollowUp ? "exit" : "intentLLM", le = () => new
|
|
245
|
+
}, de = 3, ue = (n) => n.routing.mode === "direct" ? "assignDirectAgent" : "intentLLM", ge = (n) => n.routing.mode === "direct" || n.stepCount >= de || !n.requiresFollowUp ? "exit" : "intentLLM", le = () => new L(j).addNode("ingestInput", J).addNode("assignDirectAgent", ce).addNode("intentLLM", H).addNode("executeRegisteredAgent", oe).addNode("exit", X).addEdge(W, "ingestInput").addConditionalEdges("ingestInput", ue).addEdge("assignDirectAgent", "executeRegisteredAgent").addConditionalEdges("intentLLM", (e) => e.currentIntent === "none" || e.currentIntent === e.lastExecutedAgent ? "exit" : "executeRegisteredAgent").addConditionalEdges("executeRegisteredAgent", ge).addEdge("exit", q), he = (n, e) => {
|
|
245
246
|
const r = n.output?.usage_metadata ?? e.usage_metadata, s = n.output?.llmOutput?.tokenUsage, t = r?.input_tokens ?? s?.promptTokens, a = r?.output_tokens ?? s?.completionTokens, i = r?.total_tokens ?? s?.totalTokens;
|
|
246
247
|
if (t === void 0 || a === void 0 || i === void 0)
|
|
247
248
|
return;
|
|
@@ -385,7 +386,7 @@ class fe {
|
|
|
385
386
|
}
|
|
386
387
|
const we = async (n) => {
|
|
387
388
|
try {
|
|
388
|
-
return await (await
|
|
389
|
+
return await (await D()).embedDocuments(n);
|
|
389
390
|
} catch (e) {
|
|
390
391
|
throw console.error("Failed to generate embeddings:", e), e;
|
|
391
392
|
}
|
|
@@ -467,7 +468,7 @@ function xe(n) {
|
|
|
467
468
|
};
|
|
468
469
|
}
|
|
469
470
|
const Se = (n) => {
|
|
470
|
-
const e =
|
|
471
|
+
const e = P.safeParse(n);
|
|
471
472
|
if (!e.success)
|
|
472
473
|
throw new Error("Embeddings response validation failed. Regenerate embeddings.");
|
|
473
474
|
return e.data;
|
|
@@ -579,8 +580,8 @@ class k {
|
|
|
579
580
|
throw new Error("Orchestrator has no agents selected for this request.");
|
|
580
581
|
if (++this.streamEpoch, !e.trim())
|
|
581
582
|
return;
|
|
582
|
-
const t =
|
|
583
|
-
this.parentRunIds.clear(), this.activeRuntimeSpans.clear(), this.activeRunId = t, this.activeAbortController = new AbortController(), this.graph || (this.graph = le().compile({ checkpointer: new
|
|
583
|
+
const t = b();
|
|
584
|
+
this.parentRunIds.clear(), this.activeRuntimeSpans.clear(), this.activeRunId = t, this.activeAbortController = new AbortController(), this.graph || (this.graph = le().compile({ checkpointer: new T() }));
|
|
584
585
|
const a = this.embeddingsWorker ? Ee({ worker: this.embeddingsWorker }) : void 0, i = this.embeddingsWorker ? xe({ worker: this.embeddingsWorker }) : void 0, o = /* @__PURE__ */ new Map(), d = r.routing === "direct" ? { mode: "direct", agentId: r.agentId } : { mode: "auto" }, c = {
|
|
585
586
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
586
587
|
thread_id: t,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
const t = (r, s) => (o, i) => {
|
|
3
|
+
const c = i?.configurable?.services;
|
|
4
|
+
for (const e of r)
|
|
5
|
+
if (!c?.[e])
|
|
6
|
+
throw new Error(`${s} requires services.${e} to be available.`);
|
|
7
|
+
return o;
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
t as r
|
|
11
|
+
};
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
import l from "@arcgis/core/geometry/Point.js";
|
|
3
3
|
import * as f from "@arcgis/core/geometry/operators/unionOperator.js";
|
|
4
4
|
import r from "zod";
|
|
5
|
+
import { distanceUnitsSchema as m } from "../agents/tools/shared/types.js";
|
|
5
6
|
const d = 750;
|
|
6
|
-
function
|
|
7
|
+
function y(e) {
|
|
7
8
|
return "point" in e && e.point !== void 0;
|
|
8
9
|
}
|
|
9
|
-
function
|
|
10
|
+
function h(e) {
|
|
10
11
|
return "layerId" in e && e.layerId !== void 0;
|
|
11
12
|
}
|
|
12
13
|
const v = async (e, n) => {
|
|
13
|
-
if (
|
|
14
|
+
if (y(e)) {
|
|
14
15
|
const { point: t } = e;
|
|
15
16
|
return { geometry: new l({
|
|
16
17
|
x: t.x,
|
|
@@ -18,7 +19,7 @@ const v = async (e, n) => {
|
|
|
18
19
|
spatialReference: t.spatialReference ? { wkid: t.spatialReference.wkid } : n.spatialReference
|
|
19
20
|
}) };
|
|
20
21
|
}
|
|
21
|
-
if (
|
|
22
|
+
if (h(e)) {
|
|
22
23
|
const t = n.map?.allLayers.find(
|
|
23
24
|
(o) => o.id === e.layerId
|
|
24
25
|
);
|
|
@@ -50,7 +51,7 @@ const v = async (e, n) => {
|
|
|
50
51
|
}
|
|
51
52
|
}
|
|
52
53
|
return { error: "Invalid geometry configuration provided" };
|
|
53
|
-
},
|
|
54
|
+
}, p = r.object({ id: r.string() }), b = r.object({
|
|
54
55
|
id: r.string(),
|
|
55
56
|
kind: r.literal("point"),
|
|
56
57
|
payload: r.object({
|
|
@@ -61,19 +62,19 @@ const v = async (e, n) => {
|
|
|
61
62
|
}), S = r.object({
|
|
62
63
|
sharedResourceId: r.string().describe("ID of a point returned by listSharedResources for a previously geocoded address or place."),
|
|
63
64
|
distance: r.number().optional().describe("Optional buffer distance around the point."),
|
|
64
|
-
units:
|
|
65
|
+
units: m.optional().describe("The units for the distance buffer.")
|
|
65
66
|
}), g = (e, n) => {
|
|
66
67
|
if (!e || !("sharedResourceId" in e))
|
|
67
68
|
return e;
|
|
68
69
|
if (!n)
|
|
69
70
|
throw new Error("Shared resources are unavailable in the tool runtime state.");
|
|
70
71
|
const t = n.find((s) => {
|
|
71
|
-
const o =
|
|
72
|
+
const o = p.safeParse(s);
|
|
72
73
|
return o.success && o.data.id === e.sharedResourceId;
|
|
73
74
|
});
|
|
74
75
|
if (!t)
|
|
75
76
|
throw new Error(`Shared resource not found: ${e.sharedResourceId}`);
|
|
76
|
-
const a =
|
|
77
|
+
const a = b.safeParse(t);
|
|
77
78
|
if (!a.success)
|
|
78
79
|
throw new Error(`Shared resource ${e.sharedResourceId} does not contain a valid point.`);
|
|
79
80
|
return {
|
|
@@ -83,10 +84,9 @@ const v = async (e, n) => {
|
|
|
83
84
|
};
|
|
84
85
|
};
|
|
85
86
|
export {
|
|
86
|
-
|
|
87
|
-
p as d,
|
|
87
|
+
y as a,
|
|
88
88
|
v as g,
|
|
89
|
-
|
|
89
|
+
h as i,
|
|
90
90
|
g as r,
|
|
91
91
|
S as s
|
|
92
92
|
};
|
|
@@ -118,26 +118,46 @@ export abstract class ArcgisAssistant extends LitElement {
|
|
|
118
118
|
waitingForUserInputMessage: string;
|
|
119
119
|
}>;
|
|
120
120
|
/**
|
|
121
|
-
* The IDs of the agents available
|
|
121
|
+
* The IDs of the agents available for automatic intent routing.
|
|
122
122
|
* A single ID still uses automatic routing and does not enable direct routing.
|
|
123
123
|
* This property cannot be used together with [alwaysUseAgentId](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#alwaysUseAgentId).
|
|
124
|
+
* If this property is not set, all registered agents are available for routing.
|
|
125
|
+
*
|
|
126
|
+
* > **Note:** Agent ids for custom agents are automatically created from the agent's
|
|
127
|
+
* > [BaseAgent.name](https://developers.arcgis.com/javascript/latest/references/ai-components/agent-utils/BaseAgent/#name) property.
|
|
128
|
+
* > For example, an agent with the name "My Custom Agent" will have the id "my-custom-agent".
|
|
129
|
+
*
|
|
130
|
+
* Agent ids for SDK agents are as follows:
|
|
131
|
+
*
|
|
132
|
+
* - Navigation Agent: `navigation`
|
|
133
|
+
* - Data Exploration Agent: `dataExploration`
|
|
134
|
+
* - Help Agent: `help`
|
|
135
|
+
* - Knowledge Agent: `arcgisKnowledge`
|
|
124
136
|
*
|
|
125
137
|
* @since 5.2
|
|
126
138
|
* @example
|
|
127
139
|
* ```js
|
|
128
140
|
* const assistant = document.querySelector("arcgis-assistant");
|
|
141
|
+
* // only route user questions to either the navigation or help agents
|
|
142
|
+
* // even if other agents are registered to the assistant
|
|
129
143
|
* assistant.allowedAgentIds = ["navigation", "help"];
|
|
130
144
|
* ```
|
|
131
145
|
*/
|
|
132
146
|
accessor allowedAgentIds: readonly string[] | undefined;
|
|
133
147
|
/**
|
|
134
148
|
* The ID of the agent that should process every user message without intent routing.
|
|
135
|
-
* When
|
|
149
|
+
* When set, the assistant will route all user messages to the specified agent.
|
|
150
|
+
*
|
|
151
|
+
* This is useful for applications that want to bypass the orchestrator's default intent routing
|
|
152
|
+
* in favor of a single custom agent that directly handles its own intent orchestration to one or more sub-agents. This property
|
|
153
|
+
* should not be used to route requests to an SDK agent, as the SDK agents do not have their own intent routing outside of the orchestrator.
|
|
154
|
+
*
|
|
155
|
+
* This property cannot be used together with [allowedAgentIds](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#allowedAgentIds).
|
|
136
156
|
*
|
|
137
157
|
* @since 5.2
|
|
138
158
|
* @example
|
|
139
159
|
* ```html
|
|
140
|
-
* <arcgis-assistant always-use-agent-id="
|
|
160
|
+
* <arcgis-assistant always-use-agent-id="my-custom-orchestration-agent"></arcgis-assistant>
|
|
141
161
|
* ```
|
|
142
162
|
*/
|
|
143
163
|
accessor alwaysUseAgentId: string | undefined;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as t } from "../../chunks/runtime.js";
|
|
3
3
|
import { LitElement as i } from "@arcgis/lumina";
|
|
4
|
+
import "../../agents/runtime/skill/createSkillAgent.js";
|
|
4
5
|
import "@langchain/langgraph/web";
|
|
5
6
|
import "../../chunks/adapter.js";
|
|
6
7
|
import "@arcgis/core/identity/IdentityManager.js";
|
|
@@ -27,11 +28,21 @@ import "../../agents/tools/navigation/goToViewpoint/adapter.js";
|
|
|
27
28
|
import "../../agents/tools/navigation/goToZoom/adapter.js";
|
|
28
29
|
import "@langchain/langgraph/prebuilt";
|
|
29
30
|
import "zod";
|
|
30
|
-
import { D as r } from "../../chunks/
|
|
31
|
+
import { D as r } from "../../chunks/dataExplorationAgent.js";
|
|
32
|
+
import "../../agents/tools/filter/clearFilters/adapter.js";
|
|
33
|
+
import "../../agents/tools/filter/resetMap/adapter.js";
|
|
34
|
+
import "../../agents/tools/filter/setFeatureEffect/adapter.js";
|
|
35
|
+
import "../../agents/tools/query/getAttribute/adapter.js";
|
|
36
|
+
import "../../agents/tools/query/getStatistics/adapter.js";
|
|
37
|
+
import "../../agents/tools/query/getTopFeatures/adapter.js";
|
|
38
|
+
import "../../agents/tools/query/queryFeatures/adapter.js";
|
|
39
|
+
import "@arcgis/core/intl.js";
|
|
40
|
+
import "@arcgis/core/smartMapping/statistics/summaryStatistics.js";
|
|
41
|
+
import "@arcgis/core/smartMapping/statistics/uniqueValues.js";
|
|
31
42
|
import "../../agents/tools/help/listFields/adapter.js";
|
|
32
43
|
import "@arcgis/core/rest/knowledgeGraphService.js";
|
|
33
|
-
import { r as o, i as
|
|
34
|
-
class
|
|
44
|
+
import { r as o, i as p } from "../../chunks/utils2.js";
|
|
45
|
+
class m extends i {
|
|
35
46
|
constructor() {
|
|
36
47
|
super(...arguments), this.agent = r;
|
|
37
48
|
}
|
|
@@ -46,13 +57,13 @@ class s extends i {
|
|
|
46
57
|
return { mapView: this.#t };
|
|
47
58
|
}
|
|
48
59
|
load() {
|
|
49
|
-
this.#t = o(this, "arcgis-assistant-data-exploration-agent"), this.#i =
|
|
60
|
+
this.#t = o(this, "arcgis-assistant-data-exploration-agent"), this.#i = p(this);
|
|
50
61
|
}
|
|
51
62
|
disconnectedCallback() {
|
|
52
63
|
this.#i?.unregister(this.agent.id), super.disconnectedCallback();
|
|
53
64
|
}
|
|
54
65
|
}
|
|
55
|
-
t("arcgis-assistant-data-exploration-agent",
|
|
66
|
+
t("arcgis-assistant-data-exploration-agent", m);
|
|
56
67
|
export {
|
|
57
|
-
|
|
68
|
+
m as ArcgisAssistantDataExplorationAgent
|
|
58
69
|
};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as t } from "../../chunks/runtime.js";
|
|
3
3
|
import { LitElement as i } from "@arcgis/lumina";
|
|
4
|
+
import "../../agents/runtime/skill/createSkillAgent.js";
|
|
4
5
|
import "@langchain/langgraph/web";
|
|
5
6
|
import "../../chunks/adapter.js";
|
|
6
7
|
import "@arcgis/core/identity/IdentityManager.js";
|
|
@@ -37,7 +38,8 @@ import "../../agents/tools/query/queryFeatures/adapter.js";
|
|
|
37
38
|
import "@arcgis/core/intl.js";
|
|
38
39
|
import "@arcgis/core/smartMapping/statistics/summaryStatistics.js";
|
|
39
40
|
import "@arcgis/core/smartMapping/statistics/uniqueValues.js";
|
|
40
|
-
import { H as r } from "../../chunks/
|
|
41
|
+
import { H as r } from "../../chunks/helpAgent.js";
|
|
42
|
+
import "../../agents/tools/help/listFields/adapter.js";
|
|
41
43
|
import "@arcgis/core/rest/knowledgeGraphService.js";
|
|
42
44
|
import { r as o, i as p } from "../../chunks/utils2.js";
|
|
43
45
|
class m extends i {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as r } from "../../chunks/runtime.js";
|
|
3
3
|
import { LitElement as e } from "@arcgis/lumina";
|
|
4
|
+
import "../../agents/runtime/skill/createSkillAgent.js";
|
|
4
5
|
import "@langchain/langgraph/web";
|
|
5
6
|
import "../../chunks/adapter.js";
|
|
6
7
|
import "@arcgis/core/identity/IdentityManager.js";
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
2
|
import { c as t } from "../../chunks/runtime.js";
|
|
3
3
|
import { LitElement as i } from "@arcgis/lumina";
|
|
4
|
+
import "../../agents/runtime/skill/createSkillAgent.js";
|
|
4
5
|
import "@langchain/langgraph/web";
|
|
5
6
|
import "../../chunks/adapter.js";
|
|
6
7
|
import "@arcgis/core/identity/IdentityManager.js";
|