@arcgis/ai-components 5.2.0-next.0 → 5.2.0-next.10

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 (110) hide show
  1. package/dist/agent-utils/LLMAgent.js +22 -22
  2. package/dist/cdn/{DHOVCT6R.js → 2SJAOYZT.js} +1 -1
  3. package/dist/cdn/434TAA3J.js +2 -0
  4. package/dist/cdn/{AMP6IALT.js → 5W7S2RS4.js} +1 -1
  5. package/dist/cdn/64PJB5NU.js +2 -0
  6. package/dist/cdn/{OH64RMOR.js → 6AWNQHCO.js} +2 -2
  7. package/dist/cdn/BIV2IPHH.js +2 -0
  8. package/dist/cdn/CCY4TSBO.js +2 -0
  9. package/dist/cdn/{AO7BQHKC.js → CTSALWEP.js} +1 -1
  10. package/dist/cdn/{NAUXSHIE.js → D2N2NSRQ.js} +2 -2
  11. package/dist/cdn/{3PKJWIC3.js → D3TNNRP4.js} +1 -1
  12. package/dist/cdn/{H7422XUG.js → DOV5ZJ7M.js} +1 -1
  13. package/dist/cdn/EEUCKMU7.js +2 -0
  14. package/dist/cdn/EGHBXLNG.js +2 -0
  15. package/dist/cdn/{N2VQD46V.js → ETRWZ3MS.js} +31 -29
  16. package/dist/cdn/{QDO2AO53.js → EWI4V3GQ.js} +10 -10
  17. package/dist/cdn/{6MAINSY5.js → FL4W4VYN.js} +0 -1
  18. package/dist/cdn/GTLS44GI.js +2 -0
  19. package/dist/cdn/{SZOVY2QU.js → I6HNBTWY.js} +1 -1
  20. package/dist/cdn/JBHNHHWO.js +3 -0
  21. package/dist/cdn/{FX5JFRDL.js → JOFUPKIB.js} +1 -1
  22. package/dist/cdn/KUEOKIQR.js +2 -0
  23. package/dist/cdn/LKRAPK4A.js +165 -0
  24. package/dist/cdn/{6R6AY3D3.js → MODWHY3R.js} +2 -2
  25. package/dist/cdn/NXKKG5TK.js +2 -0
  26. package/dist/cdn/{2AXF774U.js → OBUZ7HBN.js} +1 -1
  27. package/dist/cdn/OIVRK7HT.js +2 -0
  28. package/dist/cdn/{HB5A5R2E.js → RUURNLTP.js} +1 -1
  29. package/dist/cdn/SWOXSJ62.js +2 -0
  30. package/dist/cdn/{LBVX2JYG.js → T537PKP4.js} +10 -7
  31. package/dist/cdn/{Y67XAMT4.js → TSZPHE7L.js} +2 -2
  32. package/dist/cdn/VAZNJSKA.js +16 -0
  33. package/dist/cdn/{V2P4AIGG.js → VMXLYWUK.js} +1 -1
  34. package/dist/cdn/{FB5DRKEB.js → VNQN5ZQO.js} +2 -2
  35. package/dist/cdn/WIDTPVSU.js +2 -0
  36. package/dist/cdn/{GM3QP65I.js → X2ZDYHCG.js} +18 -5
  37. package/dist/cdn/{P6OPJQMC.js → XER22VYQ.js} +1 -1
  38. package/dist/cdn/index.js +1 -1
  39. package/dist/cdn/main.css +1 -1
  40. package/dist/chunks/adapter.js +527 -522
  41. package/dist/chunks/arcgisKnowledgeGraph.js +3 -3
  42. package/dist/chunks/dataExplorationGraph.js +135 -119
  43. package/dist/chunks/data_explore_query_prompt.js +18 -5
  44. package/dist/chunks/generateLayerDescriptions.js +236 -209
  45. package/dist/chunks/helpGraph.js +4 -4
  46. package/dist/chunks/intent_prompt.js +0 -1
  47. package/dist/chunks/layerStylingGraph.js +10 -10
  48. package/dist/chunks/navigationGraph.js +27 -27
  49. package/dist/chunks/orchestrator.js +240 -201
  50. package/dist/chunks/slottableRequestUtils.js +3 -7
  51. package/dist/chunks/summarize_query_response_prompt.js +10 -7
  52. package/dist/components/arcgis-assistant/customElement.d.ts +15 -0
  53. package/dist/components/arcgis-assistant/customElement.js +227 -127
  54. package/dist/components/arcgis-assistant/index.js +2 -3
  55. package/dist/components/arcgis-assistant/types.d.ts +14 -1
  56. package/dist/components/arcgis-assistant-chat/customElement.d.ts +8 -2
  57. package/dist/components/arcgis-assistant-chat/customElement.js +7 -7
  58. package/dist/components/arcgis-assistant-chat-entry/customElement.d.ts +4 -1
  59. package/dist/components/arcgis-assistant-chat-entry/customElement.js +25 -18
  60. package/dist/components/arcgis-assistant-interrupt/customElement.d.ts +4 -1
  61. package/dist/components/arcgis-assistant-interrupt/customElement.js +13 -9
  62. package/dist/components/arcgis-assistant-interrupt-preview/customElement.js +20 -0
  63. package/dist/components/arcgis-assistant-interrupt-preview/index.js +2 -0
  64. package/dist/components/arcgis-assistant-message/customElement.d.ts +23 -0
  65. package/dist/components/arcgis-assistant-message/customElement.js +28 -26
  66. package/dist/components/arcgis-assistant-message/index.d.ts +1 -0
  67. package/dist/components/arcgis-assistant-message/index.js +2 -0
  68. package/dist/components/arcgis-assistant-message-block/customElement.d.ts +1 -1
  69. package/dist/components/arcgis-assistant-message-block/customElement.js +18 -11
  70. package/dist/components/arcgis-assistant-message-block/index.js +1 -0
  71. package/dist/components/arcgis-assistant-message-feedback/customElement.d.ts +4 -1
  72. package/dist/components/arcgis-assistant-message-footer/customElement.d.ts +4 -1
  73. package/dist/components/arcgis-assistant-message-loading/customElement.d.ts +8 -1
  74. package/dist/components/arcgis-assistant-message-loading/customElement.js +8 -8
  75. package/dist/components/arcgis-assistant-message-loading/index.js +1 -0
  76. package/dist/components/arcgis-assistant-message-log/customElement.d.ts +4 -1
  77. package/dist/components/arcgis-assistant-message-read-aloud/customElement.d.ts +4 -1
  78. package/dist/components/arcgis-assistant-message-text/customElement.d.ts +4 -1
  79. package/dist/components/arcgis-assistant-speech-input/customElement.d.ts +6 -1
  80. package/dist/components/arcgis-assistant-suggested-prompts/customElement.d.ts +4 -1
  81. package/dist/components/arcgis-assistant-suggested-prompts/customElement.js +8 -8
  82. package/dist/components/arcgis-assistant-user-message/customElement.d.ts +4 -1
  83. package/dist/components/arcgis-assistant-user-message/customElement.js +1 -1
  84. package/dist/docs/api.json +1 -1
  85. package/dist/docs/docs.json +1 -1
  86. package/dist/docs/vscode.html-custom-data.json +1 -1
  87. package/dist/docs/web-types.json +1 -1
  88. package/dist/index.d.ts +4 -0
  89. package/dist/loader.js +6 -5
  90. package/dist/types/lumina.d.ts +10 -4
  91. package/dist/types/preact.d.ts +11 -4
  92. package/dist/types/react.d.ts +12 -4
  93. package/dist/types/stencil.d.ts +10 -4
  94. package/dist/utils/index.d.ts +85 -42
  95. package/dist/utils/index.js +22 -18
  96. package/package.json +7 -7
  97. package/dist/cdn/7BCR6TUO.js +0 -2
  98. package/dist/cdn/7GH7VSB2.js +0 -2
  99. package/dist/cdn/7PLV4QH6.js +0 -2
  100. package/dist/cdn/DDLZOMUY.js +0 -2
  101. package/dist/cdn/EF453FJ2.js +0 -3
  102. package/dist/cdn/METXWS7V.js +0 -166
  103. package/dist/cdn/MH5RPXHM.js +0 -2
  104. package/dist/cdn/NVI3I46B.js +0 -2
  105. package/dist/cdn/OAVEHGB6.js +0 -2
  106. package/dist/cdn/QR54T33D.js +0 -2
  107. package/dist/cdn/SXDLXCIM.js +0 -2
  108. package/dist/cdn/U3QQW6VA.js +0 -16
  109. package/dist/cdn/USMDJUFS.js +0 -2
  110. package/dist/cdn/Y333DGV6.js +0 -2
@@ -1,11 +1,7 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- function a(e) {
3
- return `message-${e}`;
4
- }
5
- function o(e, t) {
6
- return `block-${e}-${t}`;
2
+ function e(o, t) {
3
+ return `block-${o}-${t}`;
7
4
  }
8
5
  export {
9
- o as a,
10
- a as g
6
+ e as g
11
7
  };
@@ -22,13 +22,15 @@ Use chat history only when necessary to understand conversational references, an
22
22
 
23
23
  ### Your goal:
24
24
 
25
- 1. If the assigned task is about a **specific calculation** (e.g., average, total, count, min, max), return only the **direct numeric answer** short and clear.
26
- - Example: “The average price is $4.00.”
27
- - When a value is already present in \`queryResponse\` (for example in \`details.value\` or \`summary\`), copy that value **verbatim**.
28
- - Do NOT reformat values (including numbers, dates, and times):
29
- - Do not add/remove grouping commas.
30
- - Do not change decimals, round values, or change numeric type/text.
31
- - Do not change date/time format, timezone notation, separators, or precision.
25
+ 1. If the assigned task is about a **specific calculation** (e.g., average, total, count, min, max), return a **single concise sentence** that includes the numeric result.
26
+
27
+ - Example: “The average price is $4.00.”
28
+ - Never return a bare number by itself (for example: \`4\`).
29
+ - When a value is already present in \`queryResponse\` (for example in \`details.value\` or \`summary\`), copy that value **verbatim**.
30
+ - Do NOT reformat values (including numbers, dates, and times):
31
+ - Do not add/remove grouping commas.
32
+ - Do not change decimals, round values, or change numeric type/text.
33
+ - Do not change date/time format, timezone notation, separators, or precision.
32
34
 
33
35
  2. If the question is more general or there are **multiple features with varying attributes**, write a **brief summary** (2–3 sentences max) that highlights key patterns or insights.
34
36
 
@@ -58,6 +60,7 @@ In all cases:
58
60
 
59
61
  - Focus on **notable attribute values**, **commonalities or differences**, and **interesting trends**.
60
62
  - If the feature list is empty or not meaningful, state that clearly.
63
+ - Only use fields present in query results. Do not make guesses.
61
64
 
62
65
  ### STRICT OUTPUT RULES
63
66
 
@@ -89,6 +89,13 @@ export abstract class ArcgisAssistant extends LitElement {
89
89
  stopButtonLabel: string;
90
90
  askButtonLabel: string;
91
91
  }>;
92
+ /**
93
+ * When `true`, disables the assistant avatar in the chat interface.
94
+ *
95
+ * @default false
96
+ * @since 5.1
97
+ */
98
+ accessor assistantAvatarEnabled: boolean;
92
99
  /**
93
100
  * Indicates whether the assistant is currently processing a user message.
94
101
  * This value is `true` while the assistant is generating a response and `false` when idle.
@@ -454,6 +461,13 @@ export abstract class ArcgisAssistant extends LitElement {
454
461
  * ```
455
462
  */
456
463
  readonly arcgisReady: import("@arcgis/lumina").TargetedEvent<this, void>;
464
+ /**
465
+ * Emitted when the assistant generates a response to a user message. The event detail includes an AssistantMessage object that contains the assistant's response,
466
+ * along with any relevant logs or errors. This allows app developers to capture the assistant's responses.
467
+ *
468
+ * @since 5.1
469
+ */
470
+ readonly arcgisResponse: import("@arcgis/lumina").TargetedEvent<this, AssistantMessage>;
457
471
  /**
458
472
  * Emitted when the assistant requests custom slotted content for an assistant message.
459
473
  *
@@ -508,6 +522,7 @@ export abstract class ArcgisAssistant extends LitElement {
508
522
  arcgisInterruptSubmit: ArcgisAssistant["arcgisInterruptSubmit"]["detail"];
509
523
  arcgisPromptSelect: ArcgisAssistant["arcgisPromptSelect"]["detail"];
510
524
  arcgisReady: ArcgisAssistant["arcgisReady"]["detail"];
525
+ arcgisResponse: ArcgisAssistant["arcgisResponse"]["detail"];
511
526
  arcgisSlottableRequest: ArcgisAssistant["arcgisSlottableRequest"]["detail"];
512
527
  arcgisSubmit: ArcgisAssistant["arcgisSubmit"]["detail"];
513
528
  };
@@ -1,35 +1,55 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
2
  import { c as $ } from "../../chunks/runtime.js";
3
- import { css as k, html as a } from "lit";
4
- import S from "@arcgis/core/core/Collection.js";
5
- import { whenOnce as C, watch as L, when as I } from "@arcgis/core/core/reactiveUtils.js";
6
- import P from "@arcgis/core/portal/Portal.js";
7
- import { LitElement as R, createEvent as o, nothing as b } from "@arcgis/lumina";
8
- import { rethrowError as x } from "@arcgis/toolkit/log";
9
- import { createRef as f, ref as y } from "lit/directives/ref.js";
3
+ import { css as C, html as l } from "lit";
4
+ import I from "@arcgis/core/core/Collection.js";
5
+ import { whenOnce as P, watch as A, when as x } from "@arcgis/core/core/reactiveUtils.js";
6
+ import L from "@arcgis/core/portal/Portal.js";
7
+ import { LitElement as R, createEvent as g, nothing as k } from "@arcgis/lumina";
8
+ import { rethrowError as O } from "@arcgis/toolkit/log";
9
+ import { createRef as _, ref as v } from "lit/directives/ref.js";
10
10
  import { u as M } from "../../chunks/useT9n.js";
11
- import { O } from "../../chunks/orchestrator.js";
11
+ import { O as D } from "../../chunks/orchestrator.js";
12
12
  import "@langchain/core/callbacks/dispatch/web";
13
13
  import "@langchain/core/prompts";
14
14
  import "@langchain/openai";
15
- import "@arcgis/core/identity/IdentityManager.js";
15
+ import T from "@arcgis/core/identity/IdentityManager.js";
16
16
  import "@langchain/core/messages";
17
17
  import "@arcgis/core/layers/FeatureLayer.js";
18
18
  import "../../chunks/generateLayerDescriptions.js";
19
19
  import "@langchain/langgraph/web";
20
- import A from "@arcgis/core/core/Accessor.js";
21
- import { property as u, subclass as q } from "@arcgis/core/core/accessorSupport/decorators.js";
22
- import { g as z } from "../../chunks/utils3.js";
23
- import { g as v, a as _ } from "../../chunks/slottableRequestUtils.js";
24
- const V = k`:host{display:block;width:var(--arcgis-internal-panel-width, 100%);height:var(--arcgis-internal-expand-max-height, 100%)}.footer-container{display:flex;flex-direction:column;flex:1 1 0;gap:var(--calcite-spacing-md)}.content-container{display:flex;flex-direction:column;flex:1 1 0;min-height:0;position:relative;overflow:auto}.suggested-prompts-container{display:flex;justify-content:center;width:100%}.suggested-prompts{display:block;padding:var(--calcite-spacing-md);max-width:100%;box-sizing:border-box}.error-notice{padding:var(--calcite-spacing-sm)}`;
25
- var N = Object.defineProperty, j = Object.getOwnPropertyDescriptor, h = (p, t, e, i) => {
26
- for (var s = i > 1 ? void 0 : i ? j(t, e) : t, r = p.length - 1, n; r >= 0; r--)
27
- (n = p[r]) && (s = (i ? n(t, e, s) : n(s)) || s);
28
- return i && s && N(t, e, s), s;
20
+ import N from "@arcgis/core/core/Accessor.js";
21
+ import { property as b, subclass as B } from "@arcgis/core/core/accessorSupport/decorators.js";
22
+ import { g as V } from "../../chunks/utils3.js";
23
+ import { g as w } from "../../chunks/slottableRequestUtils.js";
24
+ const z = C`:host{display:block;width:var(--arcgis-internal-panel-width, 100%);height:var(--arcgis-internal-expand-max-height, 100%);--calcite-panel-content-bottom-space: 0}.footer-container{display:flex;flex-direction:column;flex:1 1 0;gap:var(--calcite-spacing-md)}.content-container{display:flex;flex-direction:column;flex:1 1 0;min-height:0;position:relative;overflow:auto}.suggested-prompts-container{display:flex;justify-content:center;width:100%;background:var(--calcite-panel-background-color, var(--calcite-color-background))}.suggested-prompts{display:block;padding:var(--calcite-spacing-md);max-width:100%;box-sizing:border-box}.error-notice{padding:var(--calcite-spacing-sm)}.interrupt-waiting-message{font-style:italic;color:var(--calcite-color-text-2)}`;
25
+ var H = Object.defineProperty, j = Object.getOwnPropertyDescriptor, m = (c, t, e, i) => {
26
+ for (var r = i > 1 ? void 0 : i ? j(t, e) : t, n = c.length - 1, s; n >= 0; n--)
27
+ (s = c[n]) && (r = (i ? s(t, e, r) : s(r)) || r);
28
+ return i && r && H(t, e, r), r;
29
29
  };
30
- let l = class extends A {
31
- constructor(p) {
32
- super(p), this.view = null, this.loading = !1, this.processing = !1, this.processingStep = "";
30
+ const q = async (c) => await new Promise((t) => setTimeout(t, c));
31
+ async function* F(c, {
32
+ chunkSize: t = 5,
33
+ // chars per "token"
34
+ delay: e = 20
35
+ // ms between chunks
36
+ } = {}) {
37
+ let i = 0;
38
+ for (; i < c.length; )
39
+ yield c.slice(i, i + t), i += t, await q(e);
40
+ }
41
+ async function* E(c, t, e, i) {
42
+ for await (const r of F(c)) {
43
+ if (i?.aborted) {
44
+ yield { type: "cancelled", log: e, runId: t };
45
+ return;
46
+ }
47
+ yield { type: "block-data", blockType: "text", data: { content: r }, runId: t };
48
+ }
49
+ }
50
+ let d = class extends N {
51
+ constructor(c) {
52
+ super(c), this.view = null, this.loading = !1, this.processing = !1, this.processingStep = "";
33
53
  }
34
54
  async load() {
35
55
  this._set("loading", !0);
@@ -43,14 +63,14 @@ let l = class extends A {
43
63
  this.orchestrator?.dispose(), super.destroy();
44
64
  }
45
65
  async _initialize() {
46
- this.removeHandles(), await Promise.all([this.portal.load(), this.view?.when()]), this.view && await C(() => !this.view.updating), this._set(
66
+ this.removeHandles(), await Promise.all([this.portal.load(), this.view?.when()]), this.view && await P(() => !this.view.updating), this._set(
47
67
  "orchestrator",
48
- await O.init({
68
+ await D.init({
49
69
  agents: [...this.agents],
50
70
  view: this.view ?? void 0
51
71
  })
52
72
  ), this.addHandles([
53
- L(
73
+ A(
54
74
  () => [this.view, this.agents],
55
75
  () => {
56
76
  this._initialize();
@@ -61,108 +81,122 @@ let l = class extends A {
61
81
  clearChatHistory() {
62
82
  this.orchestrator?.newConversation();
63
83
  }
64
- async *ask(p, t) {
84
+ async *ask(c, t) {
65
85
  if (!this.orchestrator)
66
86
  throw new Error("Orchestrator not initialized yet.");
67
87
  this._set("processing", !0), this._set("processingStep", "");
68
88
  const e = [];
69
89
  let i;
70
90
  try {
71
- const s = this.orchestrator.ask(p);
72
- for await (const r of s) {
73
- const n = r.runId;
74
- if (t?.aborted) {
75
- yield { type: "cancelled", runId: n };
76
- break;
77
- }
78
- switch (r.type) {
91
+ const r = this.orchestrator.ask(c);
92
+ for await (const n of r) {
93
+ const s = n.runId;
94
+ switch (n.type) {
79
95
  case "trace": {
80
- this._set("processingStep", r.data.text), e.push(r.data.text);
96
+ this._set("processingStep", n.data.text), e.push(n.data.text);
81
97
  break;
82
98
  }
83
99
  case "completed": {
84
- const c = r.result, g = !!c.content.length, m = !!i?.length;
85
- if (!g && !m) {
86
- yield { type: "completed", error: "Could not process the request.", log: e, runId: n };
100
+ this._set("processing", !1), this._set("processingStep", "");
101
+ const a = n.result, o = !!a.content.length, h = !!i?.length;
102
+ if (!o && !h) {
103
+ yield { type: "completed", error: "No response received.", log: e, runId: s };
87
104
  return;
88
105
  }
89
- const d = c.content;
90
- this._set("processingStep", ""), yield { type: "completed", response: d, blocks: i, log: e, runId: n };
106
+ const p = a.content;
107
+ if (yield { type: "block-start", blockType: "text", runId: s }, yield* E(p, s, e, t), yield { type: "block-end", blockType: "text", runId: s }, h)
108
+ for (const f of i) {
109
+ if (t?.aborted) {
110
+ yield { type: "cancelled", log: e, runId: s };
111
+ return;
112
+ }
113
+ const { type: u, data: y } = f;
114
+ if (yield { type: "block-start", blockType: u, runId: s }, u === "text") {
115
+ const S = typeof y?.content == "string" ? y.content : "";
116
+ yield* E(S, s, e, t);
117
+ } else
118
+ yield { type: "block-data", blockType: u, data: y, runId: s };
119
+ yield { type: "block-end", blockType: u, runId: s };
120
+ }
121
+ yield { type: "completed", response: p, blocks: i, log: e, runId: s };
91
122
  return;
92
123
  }
93
124
  case "ux-suggestion": {
94
- const c = r.suggestion;
95
- i = i ? [...i, c] : [c];
125
+ const a = n.suggestion;
126
+ i = i ? [...i, a] : [a];
96
127
  break;
97
128
  }
98
129
  case "interrupt": {
99
- const { kind: c, message: g, metadata: m } = r.interrupt, d = Array.isArray(m) ? m.filter((E) => typeof E == "string") : [], w = (() => {
100
- switch (c) {
130
+ const { kind: a, message: o, metadata: h } = n.interrupt, p = Array.isArray(h) ? h.filter((u) => typeof u == "string") : [], f = (() => {
131
+ switch (a) {
101
132
  case "booleanChoice":
102
- return { type: "boolean-choice", message: g, options: d };
133
+ return { type: "boolean-choice", message: o, options: p };
103
134
  case "singleSelection":
104
- return { type: "single-select", message: g, options: d };
135
+ return { type: "single-select", message: o, options: p };
105
136
  case "multipleSelection":
106
- return { type: "multi-select", message: g, options: d };
137
+ return { type: "multi-select", message: o, options: p };
107
138
  case "textInput":
108
- return { type: "text-input", message: g };
139
+ return { type: "text-input", message: o };
109
140
  default:
110
- return { type: c, message: g, options: d };
141
+ return { type: a, message: o, options: p };
111
142
  }
112
143
  })();
113
- this._set("processingStep", "Waiting for user input..."), yield { type: "interrupt", payload: w, runId: n };
144
+ this._set("processingStep", "Waiting for user input..."), yield { type: "interrupt", payload: f, runId: s };
114
145
  break;
115
146
  }
116
147
  case "cancelled": {
117
- yield { type: "cancelled", runId: n };
148
+ yield { type: "cancelled", log: e, runId: s };
118
149
  return;
119
150
  }
120
151
  case "error": {
121
- yield { type: "completed", error: r.error.message, log: e, runId: n };
152
+ yield { type: "completed", error: n.error.message, log: e, runId: s };
122
153
  return;
123
154
  }
124
155
  default: {
125
- console.warn("Unknown event type:", r);
156
+ console.warn("Unknown event type:", n);
126
157
  break;
127
158
  }
128
159
  }
129
160
  }
130
- } catch (s) {
131
- console.warn("Error during message processing:", s), yield { type: "completed", error: "An error occurred during message processing.", log: e, runId: "error" };
161
+ } catch (r) {
162
+ console.warn("Error during message processing:", r), yield { type: "completed", error: "An error occurred during message processing.", log: e, runId: "error" };
132
163
  return;
133
164
  } finally {
134
165
  this._set("processing", !1);
135
166
  }
136
167
  }
168
+ cancel() {
169
+ this.orchestrator?.cancel();
170
+ }
137
171
  };
138
- h([
139
- u({ readOnly: !0 })
140
- ], l.prototype, "orchestrator", 2);
141
- h([
142
- u()
143
- ], l.prototype, "agents", 2);
144
- h([
145
- u()
146
- ], l.prototype, "portal", 2);
147
- h([
148
- u()
149
- ], l.prototype, "view", 2);
150
- h([
151
- u({ readOnly: !0 })
152
- ], l.prototype, "loading", 2);
153
- h([
154
- u({ readOnly: !0 })
155
- ], l.prototype, "processing", 2);
156
- h([
157
- u({ readOnly: !0 })
158
- ], l.prototype, "processingStep", 2);
159
- l = h([
160
- q("OrchestratorController")
161
- ], l);
162
- const B = "Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.", H = "Embeddings not found for this web map.", D = "https://developers.arcgis.com/javascript/latest/agentic-apps/ai-webmap-setup/#embeddings";
163
- class F extends R {
172
+ m([
173
+ b({ readOnly: !0 })
174
+ ], d.prototype, "orchestrator", 2);
175
+ m([
176
+ b()
177
+ ], d.prototype, "agents", 2);
178
+ m([
179
+ b()
180
+ ], d.prototype, "portal", 2);
181
+ m([
182
+ b()
183
+ ], d.prototype, "view", 2);
184
+ m([
185
+ b({ readOnly: !0 })
186
+ ], d.prototype, "loading", 2);
187
+ m([
188
+ b({ readOnly: !0 })
189
+ ], d.prototype, "processing", 2);
190
+ m([
191
+ b({ readOnly: !0 })
192
+ ], d.prototype, "processingStep", 2);
193
+ d = m([
194
+ B("OrchestratorController")
195
+ ], d);
196
+ const G = "Embeddings resource 'embeddings-v01.json' not found in the webmap portal item.", U = "Embeddings not found for this web map.", W = "https://developers.arcgis.com/javascript/latest/agentic-apps/ai-webmap-setup/#embeddings";
197
+ class Y extends R {
164
198
  constructor() {
165
- super(...arguments), this._messages = M({ blocking: !0 }), this.#t = f(), this.#n = f(), this.#e = f(), this.#s = null, this.#o = /* @__PURE__ */ new Map(), this.#r = P.getDefault(), this.#i = (t) => {
199
+ super(...arguments), this._messages = M({ blocking: !0 }), this.#t = _(), this.#n = _(), this.#s = _(), this.#e = null, this.#o = /* @__PURE__ */ new Map(), this.#i = L.getDefault(), this.#r = (t) => {
166
200
  t.stopPropagation(), this.cancelInterrupt();
167
201
  }, this.#a = (t) => {
168
202
  t.stopPropagation();
@@ -173,11 +207,11 @@ class F extends R {
173
207
  const e = t.detail;
174
208
  this._inputValue = "", this.arcgisSubmit.emit(e), this.submitMessage(e);
175
209
  }, this.#c = (t) => {
176
- if (t.stopPropagation(), this.arcgisCancel.emit(), this._interrupt) {
210
+ if (this._canceling = !0, t.stopPropagation(), this.arcgisCancel.emit(), this._interrupt) {
177
211
  this.orchestrator?.cancelInterrupt(), this._interrupt = null;
178
212
  return;
179
213
  }
180
- this.#s?.abort();
214
+ this._orchestratorController?.cancel(), this.#e?.abort(), this.#e = null;
181
215
  }, this.#h = (t) => {
182
216
  t.stopPropagation();
183
217
  const e = t.detail;
@@ -188,43 +222,43 @@ class F extends R {
188
222
  this._inputValue = e.prompt, this.arcgisPromptSelect.emit(e);
189
223
  }, this.#g = (t) => {
190
224
  this.arcgisSlottableRequest.emit(t.detail);
191
- }, this._orchestratorController = null, this._interrupt = null, this._error = null, this._inputValue = "", this.messages = new S([]), this.referenceElement = null, this.suggestedPrompts = [], this.feedbackEnabled = !1, this.keepSuggestedPrompts = !1, this.logEnabled = !1, this.copyEnabled = !1, this.voiceInputEnabled = !1, this.readAloudEnabled = !1, this.arcgisCancel = o(), this.arcgisError = o(), this.arcgisFeedback = o(), this.arcgisInterrupt = o(), this.arcgisInterruptCancel = o(), this.arcgisInterruptSubmit = o(), this.arcgisPromptSelect = o(), this.arcgisReady = o(), this.arcgisSubmit = o(), this.arcgisSlottableRequest = o({ bubbles: !1, composed: !1 });
225
+ }, this._orchestratorController = null, this._interrupt = null, this._interruptDetails = [], this._error = null, this._inputValue = "", this._isAnswering = !1, this._canceling = !1, this.messages = new I([]), this.referenceElement = null, this.suggestedPrompts = [], this.feedbackEnabled = !1, this.keepSuggestedPrompts = !1, this.logEnabled = !1, this.copyEnabled = !1, this.voiceInputEnabled = !1, this.readAloudEnabled = !1, this.assistantAvatarEnabled = !1, this.arcgisCancel = g(), this.arcgisError = g(), this.arcgisFeedback = g(), this.arcgisInterrupt = g(), this.arcgisInterruptCancel = g(), this.arcgisInterruptSubmit = g(), this.arcgisPromptSelect = g(), this.arcgisReady = g(), this.arcgisSubmit = g(), this.arcgisSlottableRequest = g({ bubbles: !1, composed: !1 }), this.arcgisResponse = g();
192
226
  }
193
227
  static {
194
- this.properties = { _orchestratorController: 16, _interrupt: 16, _error: 16, _inputValue: 16, _user: 16, awaitingResponse: 32, awaitingResponseStep: 32, interrupt: 32, messages: 0, orchestrator: 32, entryMessage: 1, heading: 1, description: 1, referenceElement: 1, suggestedPrompts: 0, feedbackEnabled: 5, keepSuggestedPrompts: 5, logEnabled: 5, copyEnabled: 5, voiceInputEnabled: 5, readAloudEnabled: 5 };
228
+ this.properties = { _orchestratorController: 16, _interrupt: 16, _interruptDetails: 16, _error: 16, _inputValue: 16, _isAnswering: 16, _canceling: 16, _user: 16, awaitingResponse: 32, awaitingResponseStep: 32, interrupt: 32, messages: 0, orchestrator: 32, entryMessage: 1, heading: 1, description: 1, referenceElement: 1, suggestedPrompts: 0, feedbackEnabled: 5, keepSuggestedPrompts: 5, logEnabled: 5, copyEnabled: 5, voiceInputEnabled: 5, readAloudEnabled: 5, assistantAvatarEnabled: 5 };
195
229
  }
196
230
  static {
197
- this.styles = V;
231
+ this.styles = z;
198
232
  }
199
233
  #t;
200
234
  #n;
201
- #e;
202
235
  #s;
236
+ #e;
203
237
  #o;
204
- #r;
205
238
  #i;
239
+ #r;
206
240
  #a;
207
241
  #l;
208
242
  #c;
209
243
  #h;
210
244
  #p;
211
245
  #g;
212
- async #u() {
246
+ async #d() {
213
247
  try {
214
- const t = z(this.el, this.referenceElement);
248
+ const t = V(this.el, this.referenceElement);
215
249
  await t?.componentOnReady();
216
250
  const e = [...this.#o.values()];
217
- return e.length ? (this._orchestratorController = new l({
251
+ return e.length ? (this._orchestratorController = new d({
218
252
  agents: e,
219
- portal: this.#r,
253
+ portal: this.#i,
220
254
  view: t?.view
221
255
  }), await this._orchestratorController.load(), !0) : (this._error = "No agents found.", !1);
222
256
  } catch (t) {
223
- return this._error = t?.message ?? "Error initializing orchestrator.", x(this)(t), !1;
257
+ return this._error = t?.message ?? "Error initializing orchestrator.", O(this)(t), !1;
224
258
  }
225
259
  }
226
260
  get _user() {
227
- return this.#r?.user?.fullName || this.#r?.user?.username;
261
+ return this.#i?.user?.fullName || this.#i?.user?.username;
228
262
  }
229
263
  get awaitingResponse() {
230
264
  return this._orchestratorController?.processing ?? !1;
@@ -256,35 +290,91 @@ class F extends R {
256
290
  content: e
257
291
  }), !this._orchestratorController))
258
292
  return;
259
- const i = this._orchestratorController.ask(e, this.#s?.signal);
260
- for await (const s of i) {
261
- const r = s.runId;
262
- switch (s.type) {
293
+ this.#e = new AbortController();
294
+ const i = this._orchestratorController.ask(e, this.#e?.signal);
295
+ for await (const r of i) {
296
+ const n = r.runId, s = this.messages.at(-1);
297
+ switch (r.type) {
298
+ case "block-start": {
299
+ this._isAnswering = !0;
300
+ const a = { type: r.blockType, isPending: !0 };
301
+ if (s?.role === "assistant" && s.id === n) {
302
+ const o = [...s.blocks ?? [], a];
303
+ this.messages.splice(-1, 1, { ...s, blocks: o });
304
+ } else
305
+ this.messages.push({
306
+ role: "assistant",
307
+ blocks: [a],
308
+ id: n,
309
+ isStreaming: !0,
310
+ interrupts: this._interruptDetails
311
+ }), this._interruptDetails = [];
312
+ break;
313
+ }
314
+ case "block-data": {
315
+ if (s?.role !== "assistant" || s?.id !== n)
316
+ break;
317
+ const a = [...s.blocks ?? []], o = a[a.length - 1], { blockType: h, data: p } = r;
318
+ if (o?.type !== h || !o.isPending)
319
+ break;
320
+ if (h === "text") {
321
+ const f = typeof o.data?.content == "string" ? o.data.content : "", u = typeof p?.content == "string" ? p.content : "";
322
+ a[a.length - 1] = { ...o, data: { ...o.data, content: f + u } };
323
+ } else
324
+ a[a.length - 1] = { ...o, data: { ...o.data, ...p ?? {} } };
325
+ this.messages.splice(-1, 1, { ...s, blocks: a });
326
+ break;
327
+ }
328
+ case "block-end": {
329
+ if (s?.role !== "assistant" || s?.id !== n)
330
+ break;
331
+ const a = [...s.blocks ?? []], o = a[a.length - 1];
332
+ if (o?.type !== r.blockType || !o.isPending)
333
+ break;
334
+ const h = o;
335
+ a[a.length - 1] = { ...h, data: { ...h.data }, isPending: !1 }, this.messages.splice(-1, 1, { ...s, blocks: a });
336
+ break;
337
+ }
263
338
  case "completed":
264
- this.messages.push({
339
+ r.error ? (this.messages.push({
265
340
  role: "assistant",
266
- content: s.response,
267
- blocks: s.blocks,
268
- log: s.log,
269
- error: s.error,
270
- id: r
271
- });
341
+ log: r.log,
342
+ error: r.error,
343
+ id: n,
344
+ interrupts: this._interruptDetails
345
+ }), this._interruptDetails = []) : s?.role === "assistant" && s.id === n && this.messages.splice(-1, 1, {
346
+ ...s,
347
+ content: r.response,
348
+ blocks: s.blocks?.map((a) => ({ ...a, isPending: !1 })) ?? [],
349
+ isStreaming: !1,
350
+ log: r.log
351
+ }), this._isAnswering = !1, this.#e = null, this._canceling = !1;
272
352
  break;
273
353
  case "interrupt":
274
- this._interrupt = { ...s.payload, id: r }, this.arcgisInterrupt.emit(this._interrupt);
354
+ this._interrupt = { ...r.payload, id: n }, this.arcgisInterrupt.emit(this._interrupt);
275
355
  break;
276
356
  case "cancelled":
277
- this.messages.push({
357
+ s?.role === "assistant" && s.id === n ? this.messages.splice(-1, 1, {
358
+ ...s,
359
+ blocks: s.blocks?.filter((a) => a.type === "text" || !a.isPending) ?? [],
360
+ isStreaming: !1,
361
+ log: r.log,
362
+ error: "(Stopped by user)"
363
+ // TODO: use strings from t9n
364
+ }) : (this.messages.push({
278
365
  role: "assistant",
279
- error: "Request cancelled.",
280
- id: r
281
- });
366
+ log: r.log,
367
+ error: "(Stopped by user)",
368
+ // TODO: use strings from t9n
369
+ id: n,
370
+ interrupts: this._interruptDetails
371
+ }), this._interruptDetails = []), this._isAnswering = !1, this.#e = null, this._canceling = !1;
282
372
  break;
283
373
  }
284
374
  }
285
375
  }
286
376
  submitInterrupt(t) {
287
- this.arcgisInterruptSubmit.emit(t), this.orchestrator?.resumeInterrupt(t), this._interrupt = null;
377
+ this.arcgisInterruptSubmit.emit(t), this._interrupt && (this._interruptDetails = [...this._interruptDetails, { interrupt: this._interrupt, response: t }]), this.orchestrator?.resumeInterrupt(t), this._interrupt = null;
288
378
  }
289
379
  load() {
290
380
  this.manager.onLifecycle(this._reset.bind(this));
@@ -292,38 +382,48 @@ class F extends R {
292
382
  loaded() {
293
383
  this.manager.onLifecycle(() => {
294
384
  this.#t.value?.addEventListener("arcgisPromptSelect", this.#p), this.#t.value?.addEventListener("arcgisSubmit", this.#l), this.#t.value?.addEventListener("arcgisCancel", this.#c), this.#t.value?.addEventListener("arcgisFeedback", this.#h);
295
- const t = I(() => !!this._interrupt && !!this.#e.value, () => {
296
- const e = this.#e.value;
297
- e.removeEventListener("arcgisSubmit", this.#a), e.removeEventListener("arcgisCancel", this.#i), e.addEventListener("arcgisSubmit", this.#a, { once: !0 }), e.addEventListener("arcgisCancel", this.#i, { once: !0 });
385
+ const t = x(() => !!this._interrupt && !!this.#s.value, () => {
386
+ const i = this.#s.value;
387
+ i.removeEventListener("arcgisSubmit", this.#a), i.removeEventListener("arcgisCancel", this.#r), i.addEventListener("arcgisSubmit", this.#a, { once: !0 }), i.addEventListener("arcgisCancel", this.#r, { once: !0 });
388
+ }), e = this.messages.on("after-add", (i) => {
389
+ const r = i.item;
390
+ r.role === "assistant" && (r.error || r.content) && this.arcgisResponse.emit(r);
298
391
  });
299
392
  return queueMicrotask(() => {
300
- this.#u().then((e) => {
301
- e ? this.arcgisReady.emit() : this._error && this.arcgisError.emit(new Error(this._error));
393
+ this.#d().then((i) => {
394
+ i ? this.arcgisReady.emit() : this._error && this.arcgisError.emit(new Error(this._error));
302
395
  });
303
396
  }), () => {
304
- t.remove(), this.#t.value?.removeEventListener("arcgisPromptSelect", this.#p), this.#e.value?.removeEventListener("arcgisSubmit", this.#a), this.#e.value?.removeEventListener("arcgisCancel", this.#i), this.#t.value?.removeEventListener("arcgisSubmit", this.#l), this.#t.value?.removeEventListener("arcgisCancel", this.#c), this.#t.value?.removeEventListener("arcgisFeedback", this.#h), this._orchestratorController?.destroy(), this._orchestratorController = null;
397
+ t.remove(), e.remove(), this.#t.value?.removeEventListener("arcgisPromptSelect", this.#p), this.#s.value?.removeEventListener("arcgisSubmit", this.#a), this.#s.value?.removeEventListener("arcgisCancel", this.#r), this.#t.value?.removeEventListener("arcgisSubmit", this.#l), this.#t.value?.removeEventListener("arcgisCancel", this.#c), this.#t.value?.removeEventListener("arcgisFeedback", this.#h), this._orchestratorController?.destroy(), this._orchestratorController = null;
305
398
  };
306
399
  });
307
400
  }
308
401
  _reset() {
309
- this.#s?.abort(), this._interrupt = null, this.messages.removeAll(), this._error = null, this._inputValue = "";
402
+ this._orchestratorController?.cancel(), this.#e?.abort(), this._interrupt = null, this.messages.removeAll(), this._error = null, this._inputValue = "";
310
403
  }
311
404
  _renderEntryMessage() {
312
- return this._interrupt ? a`<slot name=interrupt><arcgis-assistant-interrupt .type=${this._interrupt.type} .message=${this._interrupt.message} .options=${this._interrupt.options} ${y(this.#e)}></arcgis-assistant-interrupt></slot>` : this._error ? this._renderErrorNotice() : this.entryMessage ? this.messages.length > 0 ? null : a`<calcite-notice open kind=info closable icon width=full><div slot=message>${this.entryMessage}</div></calcite-notice>` : a`<slot name=entry-message></slot>`;
405
+ return !this._user ? this._renderSignInNotice() : this._error ? this._renderErrorNotice() : this.entryMessage ? this.messages.length > 0 ? null : l`<calcite-notice open kind=brand closable icon width=full><div slot=message>${this.entryMessage}</div></calcite-notice>` : l`<slot name=entry-message></slot>`;
313
406
  }
314
- _renderErrorNotice() {
315
- return this._error ? a`<calcite-notice closable slot=entry-message open kind=danger icon width=full>${this._error === B ? a`<div slot=message>${H}</div><calcite-link slot=link .href=${D} target=_blank title="Learn about web map embeddings">Read more</calcite-link>` : a`<div slot=message>${this._error}</div>`}</calcite-notice>` : null;
407
+ _renderSignInNotice() {
408
+ const t = this.#i;
409
+ return l`<calcite-notice slot=entry-message open kind=brand icon width=full><div slot=message>You need to sign in to use the assistant chat.</div>${t ? l`<calcite-link slot=link @click=${async () => {
410
+ try {
411
+ await T.getCredential(t.url), this._error = null, await this.#d(), this.arcgisReady.emit();
412
+ } catch (e) {
413
+ console.error("Error signing in:", e);
414
+ }
415
+ }} target=_blank title="Sign in to ArcGIS Online">Sign in</calcite-link>` : l`<div slot=link>No portal information available</div>`}</calcite-notice>`;
316
416
  }
317
- _renderSuggestedPrompts() {
318
- return this.suggestedPrompts?.length ? a`<div class="suggested-prompts-container"><arcgis-assistant-suggested-prompts class="suggested-prompts" .prompts=${this.suggestedPrompts}></arcgis-assistant-suggested-prompts></div>` : null;
417
+ _renderErrorNotice() {
418
+ return this._error ? l`<calcite-notice slot=entry-message open kind=brand icon width=full>${this._error === G ? l`<div slot=message>${U}</div><calcite-link slot=link .href=${W} target=_blank title="Learn about web map embeddings">Read more</calcite-link>` : l`<div slot=message>${this._error}</div>`}</calcite-notice>` : null;
319
419
  }
320
420
  render() {
321
- return a`<calcite-panel .loading=${!this._orchestratorController && !this._error || this._orchestratorController?.loading} .heading=${this.heading ?? this._messages.assistantLabel} .description=${this.description} ${y(this.#t)}><slot name=header-actions-start slot=header-actions-start></slot><slot name=header-actions-end slot=header-actions-end></slot><div class="content-container"><arcgis-assistant-chat .loading=${this.awaitingResponse} .messages=${this.messages}><slot name=message-starter slot=message-starter></slot><slot name=messages slot=messages>${this.messages.map((t) => t.role === "assistant" ? a`<arcgis-assistant-message .message=${t} .feedbackEnabled=${this.feedbackEnabled} .logEnabled=${this.logEnabled} .copyEnabled=${this.copyEnabled} .readAloudEnabled=${this.readAloudEnabled} @arcgisSlottableRequest=${this.#g}><slot name=${v(t.id) ?? b} slot=${v(t.id) ?? b}>${t?.error ? a`<calcite-notice class="error-notice" open icon kind=warning width=full><div slot=message>${t.error}</div></calcite-notice>` : a`<arcgis-assistant-message-text .content=${t?.content}></arcgis-assistant-message-text>`}</slot>${t.blocks?.map((e, i) => a`<slot name=${_(t.id, i) ?? b} slot=${_(t.id, i) ?? b}><arcgis-assistant-message-block .block=${e}></arcgis-assistant-message-block></slot>`)}</arcgis-assistant-message>` : a`<arcgis-assistant-user-message .message=${t} .user=${this._user}></arcgis-assistant-user-message>`)}</slot><slot name=message-loading slot=message-loading><arcgis-assistant-message-loading .loading=${this.awaitingResponse} .loadingMessage=${this.awaitingResponseStep}></arcgis-assistant-message-loading></slot></arcgis-assistant-chat></div>${this._renderSuggestedPrompts()}<div class="footer-container" slot=footer>${this._renderEntryMessage()}<slot name=chat-entry><arcgis-assistant-chat-entry .awaitingResponse=${this.awaitingResponse} .inputValue=${this._inputValue} .messages=${this.messages} .voiceInputEnabled=${this.voiceInputEnabled} ${y(this.#n)}><slot name=entry-actions-start slot=entry-actions-start></slot><slot name=entry-actions-end slot=entry-actions-end><calcite-button .iconStart=${this.awaitingResponse ? "circle-stop" : "send"} @click=${() => {
421
+ return l`<calcite-panel .loading=${!this._orchestratorController && !this._error || this._orchestratorController?.loading} .heading=${this.heading ?? this._messages.assistantLabel} .description=${this.description} ${v(this.#t)}><slot name=header-actions-start slot=header-actions-start></slot><slot name=header-actions-end slot=header-actions-end></slot><div class="content-container"><arcgis-assistant-chat .loading=${this.awaitingResponse} .messages=${this.messages} .interrupt=${this._interrupt}><slot name=message-starter slot=message-starter></slot><slot name=messages slot=messages>${this.messages.map((t) => t.role === "assistant" ? l`<arcgis-assistant-message .message=${t} .feedbackEnabled=${this.feedbackEnabled} .logEnabled=${this.logEnabled} .copyEnabled=${this.copyEnabled} .readAloudEnabled=${this.readAloudEnabled} @arcgisSlottableRequest=${this.#g} .assistantAvatarEnabled=${this.assistantAvatarEnabled}>${t.blocks?.map((e, i) => l`<slot name=${w(t.id, i) ?? k} slot=${w(t.id, i) ?? k}><arcgis-assistant-message-block .block=${e}></arcgis-assistant-message-block></slot>`)}</arcgis-assistant-message>` : l`<arcgis-assistant-user-message .message=${t} .user=${this._user}></arcgis-assistant-user-message>`)}</slot>${this._interrupt ? l`<div slot=message-loading><div class="interrupt-waiting-message">waiting for user input...</div> // TODO: use t9n strings</div>` : l`<slot name=message-loading slot=message-loading><arcgis-assistant-message-loading .loading=${this.awaitingResponse} .loadingMessage=${this.awaitingResponseStep} .assistantAvatarEnabled=${this.assistantAvatarEnabled} .interrupts=${this._interruptDetails}></arcgis-assistant-message-loading></slot>`}</arcgis-assistant-chat></div>${this._interrupt ? l`<arcgis-assistant-interrupt slot=content-bottom .type=${this._interrupt.type} .message=${this._interrupt.message} .options=${this._interrupt.options} ${v(this.#s)}></arcgis-assistant-interrupt>` : this.suggestedPrompts?.length ? l`<div class="suggested-prompts-container" slot=content-bottom><arcgis-assistant-suggested-prompts class="suggested-prompts" .prompts=${this.suggestedPrompts}></arcgis-assistant-suggested-prompts></div>` : null}<div class="footer-container" slot=footer>${this._renderEntryMessage()}<slot name=chat-entry><arcgis-assistant-chat-entry .awaitingResponse=${this.awaitingResponse || this._isAnswering} .inputValue=${this._inputValue} .messages=${this.messages} .voiceInputEnabled=${this.voiceInputEnabled} .disabled=${this._canceling || !this._user || !!this._interrupt} ${v(this.#n)}><slot name=entry-actions-start slot=entry-actions-start></slot><slot name=entry-actions-end slot=entry-actions-end><calcite-button .iconStart=${this.awaitingResponse || this._isAnswering ? "circle-stop" : "send"} @click=${() => {
322
422
  this.#n.value?.submitMessage();
323
- }} round>${this.awaitingResponse ? this._messages.stopButtonLabel : this._messages.askButtonLabel}</calcite-button></slot></arcgis-assistant-chat-entry></slot><slot name=footer-content></slot></div></calcite-panel>`;
423
+ }} round>${this.awaitingResponse || this._isAnswering ? this._messages.stopButtonLabel : this._messages.askButtonLabel}</calcite-button></slot></arcgis-assistant-chat-entry></slot><slot name=footer-content></slot></div></calcite-panel>`;
324
424
  }
325
425
  }
326
- $("arcgis-assistant", F);
426
+ $("arcgis-assistant", Y);
327
427
  export {
328
- F as ArcgisAssistant
428
+ Y as ArcgisAssistant
329
429
  };
@@ -1,14 +1,13 @@
1
- import "../arcgis-assistant-interrupt/index.js";
2
1
  import "@esri/calcite-components/components/calcite-notice";
3
2
  import "@esri/calcite-components/components/calcite-link";
4
- import "../arcgis-assistant-suggested-prompts/index.js";
5
3
  import "@esri/calcite-components/components/calcite-panel";
6
4
  import "../arcgis-assistant-chat/index.js";
7
5
  import "../arcgis-assistant-message/index.js";
8
- import "../arcgis-assistant-message-text/index.js";
9
6
  import "../arcgis-assistant-message-block/index.js";
10
7
  import "../arcgis-assistant-user-message/index.js";
11
8
  import "../arcgis-assistant-message-loading/index.js";
9
+ import "../arcgis-assistant-interrupt/index.js";
10
+ import "../arcgis-assistant-suggested-prompts/index.js";
12
11
  import "../arcgis-assistant-chat-entry/index.js";
13
12
  import "@esri/calcite-components/components/calcite-button";
14
13
  export * from "./customElement.js";