@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.
Files changed (176) hide show
  1. package/dist/agent-utils/LLMAgent.js +41 -40
  2. package/dist/agent-utils/middlewares/trace.js +5 -5
  3. package/dist/agents/runtime/skill/createSkillAgent.d.ts +31 -0
  4. package/dist/agents/runtime/skill/createSkillAgent.js +262 -0
  5. package/dist/agents/runtime/skill/loadAgentSkills.d.ts +16 -0
  6. package/dist/agents/runtime/skill/types.d.ts +28 -0
  7. package/dist/agents/runtime/skill/types.js +2 -0
  8. package/dist/agents/tools/filter/setFeatureEffect/adapter.js +20 -19
  9. package/dist/agents/tools/query/getStatistics/adapter.js +4 -3
  10. package/dist/agents/tools/query/getTopFeatures/adapter.js +4 -3
  11. package/dist/agents/tools/query/queryFeatures/adapter.js +4 -3
  12. package/dist/agents/tools/shared/resolveToolArtifact.d.ts +22 -0
  13. package/dist/agents/tools/shared/resolveToolArtifact.js +20 -0
  14. package/dist/agents/tools/shared/types.d.ts +22 -0
  15. package/dist/agents/tools/shared/types.js +6 -0
  16. package/dist/cdn/23C34FEU.js +2 -0
  17. package/dist/cdn/{NZSOJ726.js → 2AMUOR7X.js} +1 -1
  18. package/dist/cdn/2OHRNRNT.js +2 -0
  19. package/dist/cdn/2OUIRKTV.js +2 -0
  20. package/dist/cdn/2S6L3P4Q.js +2 -0
  21. package/dist/cdn/{C4FEETBZ.js → 2W7LK4HA.js} +1 -1
  22. package/dist/cdn/3IOP64NG.js +2 -0
  23. package/dist/cdn/3OH35VXS.js +2 -0
  24. package/dist/cdn/{5K5ZY267.js → 3SD47V7G.js} +1 -1
  25. package/dist/cdn/{7VAQUCBU.js → 3VCPN2KW.js} +1 -1
  26. package/dist/cdn/{LLUGJKAQ.js → 3XDT7MWI.js} +1 -1
  27. package/dist/cdn/{Y7XD7ZRD.js → 4ALF2CJY.js} +1 -1
  28. package/dist/cdn/{HAEFC2SJ.js → 5LMYUEK7.js} +1 -1
  29. package/dist/cdn/{655YIKL3.js → 6GODC6RU.js} +2 -2
  30. package/dist/cdn/{7VUSIGEM.js → 6RAWG2KQ.js} +1 -1
  31. package/dist/cdn/{GCVB5VG4.js → 6YZGKVYB.js} +1 -1
  32. package/dist/cdn/{VLLZ2FFU.js → 725MBCQF.js} +1 -1
  33. package/dist/cdn/74CVYM72.js +19 -0
  34. package/dist/cdn/{CP5BVGJU.js → 7EOS4SGJ.js} +1 -1
  35. package/dist/cdn/{5WYRJMBW.js → 7QIX4PZR.js} +1 -1
  36. package/dist/cdn/7UF3WRLO.js +72 -0
  37. package/dist/cdn/A7BKHIMA.js +2 -0
  38. package/dist/cdn/AFSBL4ZP.js +2 -0
  39. package/dist/cdn/{FG647IP6.js → AGQ5ADFU.js} +1 -1
  40. package/dist/cdn/{5ZFUGNRN.js → BQYF37UD.js} +1 -1
  41. package/dist/cdn/{4RDNI22D.js → BTTBKTFM.js} +4 -4
  42. package/dist/cdn/BVSK2GWP.js +2 -0
  43. package/dist/cdn/CFAC4FN3.js +2 -0
  44. package/dist/cdn/{HDACNIZF.js → D5EKX26R.js} +1 -1
  45. package/dist/cdn/EGN5BCHV.js +2 -0
  46. package/dist/cdn/{BXQ4I5HB.js → EJJFG5DE.js} +2 -2
  47. package/dist/cdn/{ZDV4K4WG.js → EOD5PNOL.js} +1 -1
  48. package/dist/cdn/{OE3GW5LE.js → ES6D4UD6.js} +1 -1
  49. package/dist/cdn/{K2R6XVK3.js → HB72YIII.js} +1 -1
  50. package/dist/cdn/{G2EGT3CF.js → HHBNLCJP.js} +1 -1
  51. package/dist/cdn/HLN5675C.js +2 -0
  52. package/dist/cdn/IFFOSSNB.js +2 -0
  53. package/dist/cdn/IO7DYFL2.js +2 -0
  54. package/dist/cdn/{IBZ2NEAO.js → IRSJXHRN.js} +1 -1
  55. package/dist/cdn/JD2TB7H4.js +2 -0
  56. package/dist/cdn/{ANRQWYU2.js → JKKU4K4C.js} +1 -1
  57. package/dist/cdn/{FUF3NAU7.js → JMNHFKGL.js} +1 -1
  58. package/dist/cdn/{22KHSDJI.js → JWZD3D5E.js} +1 -1
  59. package/dist/cdn/{HKOGIZDQ.js → KJLLN4P4.js} +18 -18
  60. package/dist/cdn/KZ73TZOB.js +2 -0
  61. package/dist/cdn/LEO3USHH.js +2 -0
  62. package/dist/cdn/LNIMGXB4.js +2 -0
  63. package/dist/cdn/MG2W2ZF3.js +2 -0
  64. package/dist/cdn/{NYJYRCGA.js → MSXMHRI7.js} +1 -1
  65. package/dist/cdn/MXAZE2VM.js +179 -0
  66. package/dist/cdn/{EWLXNGKH.js → OL7QBAGS.js} +15 -15
  67. package/dist/cdn/OMF6ITSG.js +2 -0
  68. package/dist/cdn/{Z5W4V7RC.js → OOGADOKQ.js} +1 -1
  69. package/dist/cdn/{KITIP6J2.js → OZ2CM3J2.js} +1 -1
  70. package/dist/cdn/{6YYPVU7H.js → P4GFYBBO.js} +1 -1
  71. package/dist/cdn/PK5KI2XF.js +2 -0
  72. package/dist/cdn/PWFUEBTT.js +2 -0
  73. package/dist/cdn/{HHUQXL3R.js → PYGX4HN7.js} +1 -1
  74. package/dist/cdn/RFVZ7KCG.js +66 -0
  75. package/dist/cdn/{YEZ3AMNX.js → RLB6TK6B.js} +1 -1
  76. package/dist/cdn/{WKTQVBFJ.js → RN6WMVZX.js} +1 -1
  77. package/dist/cdn/{WJXXOKGA.js → ROQGPAR5.js} +1 -1
  78. package/dist/cdn/RSJSRETN.js +2 -0
  79. package/dist/cdn/RSR66KB4.js +2 -0
  80. package/dist/cdn/{7SRLZQVC.js → RZIXMISL.js} +1 -1
  81. package/dist/cdn/{VOKXKU7M.js → S4LELUBK.js} +9 -9
  82. package/dist/cdn/{AI6DYOKR.js → S627D4K7.js} +1 -1
  83. package/dist/cdn/SL4Y7IRG.js +2 -0
  84. package/dist/cdn/STUBN3L5.js +2 -0
  85. package/dist/cdn/T2OYKP3V.js +2 -0
  86. package/dist/cdn/{C4JT4S5E.js → TBYDZN4H.js} +1 -1
  87. package/dist/cdn/{HHFNQR6Z.js → TEI6WXW7.js} +1 -1
  88. package/dist/cdn/{WGO5SER7.js → TFRWUAB6.js} +1 -1
  89. package/dist/cdn/U3ETGDT7.js +2 -0
  90. package/dist/cdn/{KWD2ECTM.js → UAG6GDUG.js} +1 -1
  91. package/dist/cdn/UHICISBZ.js +2 -0
  92. package/dist/cdn/{NNXISHCA.js → VMZZR7MY.js} +2 -2
  93. package/dist/cdn/WW4BEFDF.js +2 -0
  94. package/dist/cdn/XGCQS3N4.js +2 -0
  95. package/dist/cdn/{R2PQVY4O.js → XKH37FLY.js} +1 -1
  96. package/dist/cdn/XQ3NBBQ3.js +2 -0
  97. package/dist/cdn/{7BCQMK6D.js → XTCLJEID.js} +1 -1
  98. package/dist/cdn/{J6SZIQJA.js → Y7LGFSHO.js} +1 -1
  99. package/dist/cdn/ZFOG3KXV.js +2 -0
  100. package/dist/cdn/ZZZB3GES.js +14 -0
  101. package/dist/cdn/agent-utils/index.js +1 -1
  102. package/dist/cdn/agent-utils/middlewares/humanInTheLoop.js +1 -1
  103. package/dist/cdn/agent-utils/middlewares/middleware.js +1 -1
  104. package/dist/cdn/agent-utils/middlewares/trace.js +1 -1
  105. package/dist/cdn/index.js +1 -1
  106. package/dist/chunks/SKILL.js +5 -0
  107. package/dist/chunks/SKILL2.js +5 -0
  108. package/dist/chunks/SKILL3.js +22 -0
  109. package/dist/chunks/SKILL4.js +5 -0
  110. package/dist/chunks/adapter.js +137 -140
  111. package/dist/chunks/aiFactory.js +94 -0
  112. package/dist/chunks/arcgisKnowledgeGraph.js +14 -13
  113. package/dist/chunks/baseAgentState.js +2 -2
  114. package/dist/chunks/dataExplorationAgent.js +30 -0
  115. package/dist/chunks/generateLayerDescriptions.js +181 -268
  116. package/dist/chunks/helpAgent.js +37 -0
  117. package/dist/chunks/layerStylingGraph.js +91 -76
  118. package/dist/chunks/navigationAgent.js +40 -0
  119. package/dist/chunks/orchestrator.js +13 -12
  120. package/dist/chunks/requireAgentServices.js +11 -0
  121. package/dist/chunks/resolvePointGeometryFilter.js +11 -11
  122. package/dist/components/arcgis-assistant/customElement.d.ts +23 -3
  123. package/dist/components/arcgis-assistant-data-exploration-agent/customElement.js +17 -6
  124. package/dist/components/arcgis-assistant-help-agent/customElement.js +3 -1
  125. package/dist/components/arcgis-assistant-knowledge-agent/customElement.js +1 -0
  126. package/dist/components/arcgis-assistant-layer-styling-agent/customElement.js +1 -0
  127. package/dist/components/arcgis-assistant-navigation-agent/customElement.js +18 -7
  128. package/dist/docs/api.json +1 -1
  129. package/dist/docs/docs.json +1 -1
  130. package/dist/docs/vscode.html-custom-data.json +1 -1
  131. package/dist/docs/web-types.json +1 -1
  132. package/dist/orchestrator/models/types.d.ts +1 -0
  133. package/dist/orchestrator/providers/arcgis/aiFactory.d.ts +15 -0
  134. package/dist/orchestrator/registry/agentRegistry.d.ts +33 -0
  135. package/dist/orchestrator/types/types.d.ts +17 -0
  136. package/dist/utils/index.d.ts +13 -3
  137. package/dist/utils/index.js +706 -82
  138. package/package.json +10 -6
  139. package/dist/cdn/2EY3BQQX.js +0 -2
  140. package/dist/cdn/2NDBI2VA.js +0 -156
  141. package/dist/cdn/4OGR5QKS.js +0 -2
  142. package/dist/cdn/5FL5BTTX.js +0 -66
  143. package/dist/cdn/5X7EG7D2.js +0 -2
  144. package/dist/cdn/6FCU2KJP.js +0 -2
  145. package/dist/cdn/7BJ4JKLG.js +0 -2
  146. package/dist/cdn/7HS5KX3J.js +0 -2
  147. package/dist/cdn/7UUYJTKT.js +0 -2
  148. package/dist/cdn/7V6OSTFC.js +0 -2
  149. package/dist/cdn/7VYYQ7BT.js +0 -2
  150. package/dist/cdn/ACJTJLZN.js +0 -2
  151. package/dist/cdn/AKD5UOVX.js +0 -2
  152. package/dist/cdn/C7LGDNB3.js +0 -14
  153. package/dist/cdn/CGJINV7H.js +0 -2
  154. package/dist/cdn/CJMUJXPL.js +0 -2
  155. package/dist/cdn/D2SS763Z.js +0 -2
  156. package/dist/cdn/FJO4KNOZ.js +0 -2
  157. package/dist/cdn/G3SF6U2U.js +0 -2
  158. package/dist/cdn/G6CR7JVM.js +0 -22
  159. package/dist/cdn/GL7BPKBN.js +0 -2
  160. package/dist/cdn/JO5ETMPS.js +0 -2
  161. package/dist/cdn/PUHRBGKB.js +0 -2
  162. package/dist/cdn/Q57QWN5W.js +0 -2
  163. package/dist/cdn/QUKNPVAF.js +0 -2
  164. package/dist/cdn/RBE55SWR.js +0 -2
  165. package/dist/cdn/SWH6ZHD4.js +0 -18
  166. package/dist/cdn/SZ2QSSB3.js +0 -2
  167. package/dist/cdn/T4RIGOXB.js +0 -2
  168. package/dist/cdn/W4JQDITQ.js +0 -36
  169. package/dist/cdn/XX6GHMNR.js +0 -2
  170. package/dist/cdn/YLVJA4ZE.js +0 -2
  171. package/dist/cdn/ZOEMBHRF.js +0 -2
  172. package/dist/cdn/ZRVZMPFN.js +0 -2
  173. package/dist/chunks/dataExplorationGraph.js +0 -254
  174. package/dist/chunks/helpGraph.js +0 -133
  175. package/dist/chunks/navigationGraph.js +0 -290
  176. 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 { h as v } from "./generateLayerDescriptions.js";
7
+ import { i as v } from "./generateLayerDescriptions.js";
8
8
  import "@langchain/core/messages";
9
- import { s as i } from "./index.js";
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 { m as I, n as T, o as R, p as F, u as C, v as A, w as $, x as N, y as b, z as q, A as _, g as M, r as k, L as S } from "./adapter.js";
18
- import { h as V } from "./toolCallResponse.js";
19
- import { ToolNode as j } from "@langchain/langgraph/prebuilt";
20
- const h = 0.7, z = 10, P = async (t, e) => {
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 i({ text: "Similarity search to find fields" }, e);
23
- const r = g(e, "fieldSearch"), a = g(e, "layersAndFieldsRegistry"), o = g(e, "embeddingCache"), n = await r.searchFields({
24
- text: t.agentExecutionContext.assignedTask,
25
- layerIds: t.vectorSearchLayerIds,
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: z,
41
+ topResults: V,
28
42
  embeddingCache: o
29
43
  }), c = n.map(({ layerId: d, results: p }) => {
30
- const y = p.map((s) => ` - ${s.name} (${s.score.toFixed(2)})`).join(`
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 i({ text: l }, e), {
39
- ...t,
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 (r) {
43
- throw await i(
44
- { text: `Error during vector search: ${r instanceof Error ? r.message : String(r)}` },
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: ${r instanceof Error ? r.message : String(r)}`);
60
+ ), new Error(`Vector search failed: ${t instanceof Error ? t.message : String(t)}`);
47
61
  }
48
- }, D = 0.7, H = async (t, e) => {
62
+ }, D = 0.7, H = async (r, e) => {
49
63
  try {
50
- await i(
51
- { text: `Similarity search to find layers: ${t.agentExecutionContext.assignedTask}` },
64
+ await s(
65
+ { text: `Similarity search to find layers: ${r.agentExecutionContext.assignedTask}` },
52
66
  e
53
67
  );
54
- const r = g(e, "layerSearch"), a = g(e, "layersAndFieldsRegistry"), o = await r.searchLayers({
55
- text: t.agentExecutionContext.assignedTask,
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 i({ text: l }, e), {
62
- ...t,
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 (r) {
66
- throw await i(
67
- { text: `Error during vector search: ${r instanceof Error ? r.message : String(r)}` },
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: ${r instanceof Error ? r.message : String(r)}`);
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 = (t, e = 3) => {
84
- const r = t.map((o, n) => o.type === "human" ? n : -1).filter((o) => o !== -1);
85
- if (r.length === 0)
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 = r.length > e ? r[r.length - e] : r[0];
88
- return t.slice(a);
89
- }, G = async (t, e) => {
90
- await i({ text: "Requesting LLM for layer query results" }, e);
91
- const r = await M("navigation_intent_prompt");
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: t.layerFieldInfo
109
+ layerFieldInfo: r.layerFieldInfo
96
110
  }, o = await v({
97
- promptText: r,
111
+ promptText: t,
98
112
  modelTier: "advanced",
99
113
  config: e,
100
- messages: x(t.agentExecutionContext.messages),
114
+ messages: x(r.agentExecutionContext.messages),
101
115
  inputVariables: a,
102
116
  tools: f
103
117
  });
104
- return await V(o, e), {
105
- ...t,
118
+ return await P(o, e), {
119
+ ...r,
106
120
  agentExecutionContext: {
107
- ...t.agentExecutionContext,
108
- messages: [...t.agentExecutionContext.messages, o]
121
+ ...r.agentExecutionContext,
122
+ messages: [...r.agentExecutionContext.messages, o]
109
123
  }
110
124
  };
111
125
  };
112
- async function U(t, e) {
113
- const a = await new j(f, { handleToolErrors: !1 }).invoke(
126
+ async function O(r, e) {
127
+ const a = await new k(f, { handleToolErrors: !1 }).invoke(
114
128
  {
115
- messages: x(t.agentExecutionContext.messages)
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 i({ text: `Finished executing layer filter tool: ${o}` }, e);
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 { ...t, outputMessage: n };
137
+ return { ...r, outputMessage: n };
124
138
  }
125
- const B = async (t, e) => (await i({ text: "Exiting Layer Styling agent" }, e), t), O = async (t, e) => {
139
+ const U = async (r, e) => (await s({ text: "Exiting Layer Styling agent" }, e), r), B = async (r, e) => {
126
140
  try {
127
- await i({ text: "Populating layer and field info" }, e);
128
- const r = [];
129
- for (const a of t.vectorSearchFieldResults) {
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 s = l.get(y)?.layerItem;
132
- return s ? [
133
- s.name && `Name: ${s.name}`,
134
- s.title && `Title: ${s.title}`,
135
- s.description && `Description: ${s.description}`
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 = r.find((y) => y.layerId === n);
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
- }, r.push(p));
160
+ }, t.push(p));
147
161
  for (const y of c) {
148
- const s = d.get(y.name);
149
- s && p.fieldInfos.push(s);
162
+ const i = d.get(y.name);
163
+ i && p.fieldInfos.push(i);
150
164
  }
151
165
  }
152
- return await i({ text: "Populated layerFieldInfo" }, e), { ...t, layerFieldInfo: r };
153
- } catch (r) {
154
- throw await i({ text: "Error populating layerFieldInfo" }, e), new Error(`Error populating layerFieldInfo: ${r instanceof Error ? r.message : String(r)}`);
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 = (t, e) => {
157
- const r = t.vectorSearchLayerIds ?? [];
158
- if (r.length <= 1)
159
- return { ...t, selectedLayerId: t.vectorSearchLayerIds[0] };
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: [...r]
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
- ...t,
174
- selectedLayerId: o ?? t.vectorSearchLayerIds[0]
187
+ ...r,
188
+ selectedLayerId: o ?? r.vectorSearchLayerIds[0]
175
189
  };
176
- }, K = (t, e) => k(["layerSearch", "fieldSearch", "layersAndFieldsRegistry"], "Layer Styling Agent")(t, e), Q = () => new L(S).addNode("requireLayerStylingServices", K).addNode("vectorSearchLayers", H).addNode("layerSelectionHITL", J).addNode("vectorSearchFields", P).addNode("populateLayerFieldInfo", O).addNode("agent", G).addNode("tools", U).addNode("earlyExit", B).addEdge(E, "requireLayerStylingServices").addEdge("requireLayerStylingServices", "vectorSearchLayers").addConditionalEdges(
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 { j as $, k as b, D, n as F, o as L, W } from "./generateLayerDescriptions.js";
5
- import { isGraphInterrupt as q, StateGraph as T, START as j, END as H, MemorySaver as P } from "@langchain/langgraph/web";
6
- import { generateGuid as A } from "@arcgis/toolkit/string";
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 = b(e);
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: A(),
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 = b(e);
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 (q(c) || e?.signal?.aborted || c instanceof Error && c.name === "AbortError")
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 T(D).addNode("ingestInput", J).addNode("assignDirectAgent", ce).addNode("intentLLM", F).addNode("executeRegisteredAgent", oe).addNode("exit", X).addEdge(j, "ingestInput").addConditionalEdges("ingestInput", ue).addEdge("assignDirectAgent", "executeRegisteredAgent").addConditionalEdges("intentLLM", (e) => e.currentIntent === "none" || e.currentIntent === e.lastExecutedAgent ? "exit" : "executeRegisteredAgent").addConditionalEdges("executeRegisteredAgent", ge).addEdge("exit", H), he = (n, e) => {
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 L()).embedDocuments(n);
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 = W.safeParse(n);
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 = A();
583
- this.parentRunIds.clear(), this.activeRuntimeSpans.clear(), this.activeRunId = t, this.activeAbortController = new AbortController(), this.graph || (this.graph = le().compile({ checkpointer: new P() }));
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 m(e) {
7
+ function y(e) {
7
8
  return "point" in e && e.point !== void 0;
8
9
  }
9
- function y(e) {
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 (m(e)) {
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 (y(e)) {
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
- }, h = ["feet", "kilometers", "meters", "miles", "nautical-miles", "us-nautical-miles"], p = r.enum(h), b = r.object({ id: r.string() }), R = r.object({
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: p.optional().describe("The units for the distance buffer.")
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 = b.safeParse(s);
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 = R.safeParse(t);
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
- m as a,
87
- p as d,
87
+ y as a,
88
88
  v as g,
89
- y as i,
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 to automatic intent routing.
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 this property is set, it cannot be used together with [allowedAgentIds](https://developers.arcgis.com/javascript/latest/references/ai-components/components/arcgis-assistant/#allowedAgentIds).
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="navigation"></arcgis-assistant>
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/dataExplorationGraph.js";
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 a } from "../../chunks/utils2.js";
34
- class s extends i {
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 = a(this);
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", s);
66
+ t("arcgis-assistant-data-exploration-agent", m);
56
67
  export {
57
- s as ArcgisAssistantDataExplorationAgent
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/helpGraph.js";
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";