@arbor-education/agent-view-frontend 0.5.2 → 0.5.3

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/index.js CHANGED
@@ -1,14 +1,14 @@
1
- import { jsxs as l, jsx as a, Fragment as ve } from "react/jsx-runtime";
2
- import { useRef as re, useState as g, useLayoutEffect as et, useEffect as D, useMemo as V, useCallback as S } from "react";
1
+ import { jsxs as l, jsx as a, Fragment as de } from "react/jsx-runtime";
2
+ import { useRef as te, useState as g, useLayoutEffect as rt, useEffect as $, useMemo as X, useCallback as S } from "react";
3
3
  import j from "classnames";
4
- import { Heading as Ee, Icon as L, Dot as Xt, SlideoverUtils as Ye, SlideoverManager as Rn, Modal as me, EditableText as In, Button as ie, Tabs as ut, SelectDropdown as On, TextInput as Ln, Combobox as Pt, Card as Un } from "@arbor-education/design-system.components";
5
- import { CHAT_RESPONSE_TYPE_AGENT as Zt, CHAT_RESPONSE_TYPE_ERROR as Pn, ChatPanel as xn, CHAT_RESPONSE_TYPE_USER as Dn, CHAT_RESPONSE_TYPE_INFO as $n } from "@arbor-education/ask-arbor-chat-panel";
6
- const T = {
4
+ import { Heading as Ie, Icon as x, Dot as on, Tabs as Oe, SlideoverUtils as tt, SlideoverManager as Bn, Modal as ve, EditableText as Fn, Button as ie, SelectDropdown as qn, TextInput as Jn, Combobox as Bt, Card as Kn } from "@arbor-education/design-system.components";
5
+ import { CHAT_RESPONSE_TYPE_AGENT as ln, CHAT_RESPONSE_TYPE_ERROR as Wn, ChatPanel as jn, CHAT_RESPONSE_TYPE_USER as Vn, CHAT_RESPONSE_TYPE_INFO as Yn } from "@arbor-education/ask-arbor-chat-panel";
6
+ const R = {
7
7
  "generating-a-response": "generating-a-response",
8
8
  hitl: "hitl",
9
9
  complete: "complete",
10
10
  failed: "failed"
11
- }, M = {
11
+ }, H = {
12
12
  "generating-a-response": "generating-a-response",
13
13
  hitl: "hitl",
14
14
  complete: "complete",
@@ -22,103 +22,103 @@ const T = {
22
22
  agent: "agent",
23
23
  user: "user",
24
24
  system: "system"
25
- }, pe = {
25
+ }, fe = {
26
26
  document_html: "document_html",
27
27
  mis_record: "mis_record",
28
28
  workflow: "workflow",
29
29
  file: "file",
30
30
  user_file: "user_file",
31
31
  link: "link"
32
- }, Qt = {
32
+ }, cn = {
33
33
  user_file: "user_file"
34
- }, xt = {
34
+ }, Ft = {
35
35
  cancelled: "cancelled",
36
36
  archived: "archived"
37
- }, pt = {
37
+ }, kt = {
38
38
  in_progress: "in_progress",
39
39
  requires_attention: "requires_attention",
40
40
  available: "available"
41
- }, se = {
42
- [M.complete]: {
41
+ }, re = {
42
+ [H.complete]: {
43
43
  label: "Complete",
44
44
  icon: "circle-check",
45
45
  color: "var(--color-semantic-success-600)"
46
46
  },
47
- [M.failed]: {
47
+ [H.failed]: {
48
48
  label: "Failed",
49
49
  icon: "circle-x",
50
50
  color: "var(--color-semantic-destructive-600)"
51
51
  },
52
- [M.hitl]: {
52
+ [H.hitl]: {
53
53
  label: "Requires attention",
54
54
  icon: "triangle-alert",
55
55
  color: "var(--color-semantic-warning-600)"
56
56
  },
57
- [M["generating-a-response"]]: {
57
+ [H["generating-a-response"]]: {
58
58
  label: "Generating a response",
59
59
  icon: "sparkles",
60
60
  color: "var(--color-brand-600)"
61
61
  }
62
- }, Qe = {
63
- [T["generating-a-response"]]: {
64
- status: T["generating-a-response"],
62
+ }, st = {
63
+ [R["generating-a-response"]]: {
64
+ status: R["generating-a-response"],
65
65
  title: "Active",
66
66
  dotColour: "green",
67
67
  statusIcon: {
68
- name: se["generating-a-response"].icon,
69
- color: se["generating-a-response"].color
68
+ name: re["generating-a-response"].icon,
69
+ color: re["generating-a-response"].color
70
70
  }
71
71
  },
72
- [T.hitl]: {
73
- status: T.hitl,
72
+ [R.hitl]: {
73
+ status: R.hitl,
74
74
  title: "Requires attention",
75
75
  dotColour: "orange",
76
76
  statusIcon: {
77
- name: se.hitl.icon,
78
- color: se.hitl.color
77
+ name: re.hitl.icon,
78
+ color: re.hitl.color
79
79
  }
80
80
  },
81
- [T.complete]: {
82
- status: T.complete,
81
+ [R.complete]: {
82
+ status: R.complete,
83
83
  title: "Complete",
84
84
  dotColour: "green",
85
85
  dotModifier: "grey-dark",
86
86
  statusIcon: {
87
- name: se.complete.icon,
88
- color: se.complete.color
87
+ name: re.complete.icon,
88
+ color: re.complete.color
89
89
  }
90
90
  },
91
- [T.failed]: {
92
- status: T.failed,
91
+ [R.failed]: {
92
+ status: R.failed,
93
93
  title: "Failed",
94
94
  dotColour: "salmon",
95
95
  statusIcon: {
96
- name: se.failed.icon,
97
- color: se.failed.color
96
+ name: re.failed.icon,
97
+ color: re.failed.color
98
98
  }
99
99
  }
100
- }, Mn = [
101
- T["generating-a-response"],
102
- T.hitl
103
- ], Hn = [
104
- T.complete,
105
- T.failed
106
- ], zn = "m4", Gn = "1", en = "msg-opening", Ze = "Unable to load agent tasks. Please try again.", Bn = "Unable to load the resources for this agent", Fn = "Unable to load this document. Please try again.", tn = "Unable to load the timeline for this agent", qn = "Unable to stop the agent. Please try again.", Kn = "Unable to rename the agent. Please try again.", Jn = "Something went wrong. Please try again.", nn = "Unable to load agents. Please try again.", Ce = "Loading tasks…", Dt = "Loading agents…", Wn = "Task", jn = {
100
+ }, Xn = [
101
+ R["generating-a-response"],
102
+ R.hitl
103
+ ], Zn = [
104
+ R.complete,
105
+ R.failed
106
+ ], Qn = "m4", ea = "1", dn = "msg-opening", at = "Unable to load agent tasks. Please try again.", ta = "Unable to load context.", na = "Unable to load the resources for this agent", aa = "Unable to load this document. Please try again.", gn = "Unable to load the timeline for this agent", sa = "Unable to stop the agent. Please try again.", ra = "Unable to rename the agent. Please try again.", ia = "Something went wrong. Please try again.", hn = "Unable to load agents. Please try again.", Re = "Loading tasks…", qt = "Loading agents…", oa = "Task", la = {
107
107
  [B.briefing]: "Briefing",
108
108
  [B.running]: "Working",
109
109
  [B.stopped]: "Stopped",
110
110
  [B.complete]: "Complete"
111
- }, Vn = [
112
- T["generating-a-response"],
113
- T.hitl,
114
- T.complete,
115
- T.failed
116
- ], Yn = {
117
- [T["generating-a-response"]]: "Agents currently working on tasks for you.",
118
- [T.hitl]: "Agents that need your input before they can continue.",
119
- [T.complete]: "Agents that have finished their work.",
120
- [T.failed]: "Agents that failed or were stopped."
121
- }, Xn = () => /* @__PURE__ */ l(
111
+ }, ca = [
112
+ R["generating-a-response"],
113
+ R.hitl,
114
+ R.complete,
115
+ R.failed
116
+ ], da = {
117
+ [R["generating-a-response"]]: "Agents currently working on tasks for you.",
118
+ [R.hitl]: "Agents that need your input before they can continue.",
119
+ [R.complete]: "Agents that have finished their work.",
120
+ [R.failed]: "Agents that failed or were stopped."
121
+ }, ga = () => /* @__PURE__ */ l(
122
122
  "svg",
123
123
  {
124
124
  className: "agent-view__empty-illustration",
@@ -234,33 +234,33 @@ const T = {
234
234
  /* @__PURE__ */ a("circle", { cx: "256", cy: "160", r: "4", fill: "var(--color-semantic-destructive-500)" })
235
235
  ]
236
236
  }
237
- ), Zn = ({ status: e }) => {
238
- const t = Qe[e];
237
+ ), ha = ({ status: e }) => {
238
+ const t = st[e];
239
239
  return t.statusIcon ? /* @__PURE__ */ a(
240
- L,
240
+ x,
241
241
  {
242
242
  name: t.statusIcon.name,
243
243
  size: 16,
244
244
  color: t.statusIcon.color,
245
245
  screenReaderText: t.title
246
246
  }
247
- ) : /* @__PURE__ */ a(Xt, { colour: t.dotColour, label: t.title });
248
- }, Qn = () => /* @__PURE__ */ l(
247
+ ) : /* @__PURE__ */ a(on, { colour: t.dotColour, label: t.title });
248
+ }, ua = () => /* @__PURE__ */ l(
249
249
  "section",
250
250
  {
251
251
  className: "agent-view__empty",
252
252
  "aria-label": "About the agents board",
253
253
  children: [
254
254
  /* @__PURE__ */ l("div", { className: "agent-view__empty-content", children: [
255
- /* @__PURE__ */ a(Ee, { level: 4, children: "Your agents board" }),
255
+ /* @__PURE__ */ a(Ie, { level: 4, children: "Your agents board" }),
256
256
  /* @__PURE__ */ a("p", { className: "agent-view__empty-lead", children: "When you start an agent, it appears here so you can track progress at a glance. Agents move between columns as their status changes." }),
257
- /* @__PURE__ */ a("ul", { className: "agent-view__empty-columns", children: Vn.map((e) => {
258
- const t = Qe[e];
257
+ /* @__PURE__ */ a("ul", { className: "agent-view__empty-columns", children: ca.map((e) => {
258
+ const t = st[e];
259
259
  return /* @__PURE__ */ l("li", { className: "agent-view__empty-column", children: [
260
- /* @__PURE__ */ a("span", { className: "agent-view__empty-column-indicator", children: /* @__PURE__ */ a(Zn, { status: e }) }),
260
+ /* @__PURE__ */ a("span", { className: "agent-view__empty-column-indicator", children: /* @__PURE__ */ a(ha, { status: e }) }),
261
261
  /* @__PURE__ */ l("span", { className: "agent-view__empty-column-text", children: [
262
262
  /* @__PURE__ */ a("span", { className: "agent-view__empty-column-title", children: t.title }),
263
- /* @__PURE__ */ a("span", { className: "agent-view__empty-column-description", children: Yn[e] })
263
+ /* @__PURE__ */ a("span", { className: "agent-view__empty-column-description", children: da[e] })
264
264
  ] })
265
265
  ] }, e);
266
266
  }) }),
@@ -270,48 +270,48 @@ const T = {
270
270
  " above to begin."
271
271
  ] })
272
272
  ] }),
273
- /* @__PURE__ */ a("div", { className: "agent-view__empty-visual", children: /* @__PURE__ */ a(Xn, {}) })
273
+ /* @__PURE__ */ a("div", { className: "agent-view__empty-visual", children: /* @__PURE__ */ a(ga, {}) })
274
274
  ]
275
275
  }
276
- ), ea = () => ({
276
+ ), pa = () => ({
277
277
  needsInput: [],
278
278
  complete: [],
279
279
  failed: [],
280
280
  tasks: []
281
- }), ta = (e, t) => ({
281
+ }), ma = (e, t) => ({
282
282
  ...e,
283
283
  ...t.length > 0 ? { children: t } : {}
284
- }), an = (e) => {
284
+ }), un = (e) => {
285
285
  const t = [], n = [], s = [], r = [];
286
286
  for (const o of e) {
287
- const i = o.children ? an(o.children) : ea();
288
- if (t.push(...i.needsInput), n.push(...i.complete), s.push(...i.failed), o.status === M.hitl) {
287
+ const i = o.children ? un(o.children) : pa();
288
+ if (t.push(...i.needsInput), n.push(...i.complete), s.push(...i.failed), o.status === H.hitl) {
289
289
  t.push({ ...o, children: void 0 });
290
290
  continue;
291
291
  }
292
- if (o.status === M.complete) {
292
+ if (o.status === H.complete) {
293
293
  n.push({ ...o, children: void 0 });
294
294
  continue;
295
295
  }
296
- if (o.status === M.failed) {
296
+ if (o.status === H.failed) {
297
297
  s.push({ ...o, children: void 0 });
298
298
  continue;
299
299
  }
300
- r.push(ta(o, i.tasks));
300
+ r.push(ma(o, i.tasks));
301
301
  }
302
302
  return { needsInput: t, complete: n, failed: s, tasks: r };
303
- }, $t = (e) => e === M.hitl ? 0 : e === M.complete ? 1 : e === M.failed ? 2 : 3, na = (e) => e.map((t, n) => ({ item: t, index: n })).sort((t, n) => {
304
- const s = $t(t.item.status) - $t(n.item.status);
303
+ }, Jt = (e) => e === H.hitl ? 0 : e === H.complete ? 1 : e === H.failed ? 2 : 3, _a = (e) => e.map((t, n) => ({ item: t, index: n })).sort((t, n) => {
304
+ const s = Jt(t.item.status) - Jt(n.item.status);
305
305
  return s !== 0 ? s : t.index - n.index;
306
- }).map(({ item: t }) => t), mt = 2, aa = (e) => {
306
+ }).map(({ item: t }) => t), yt = 2, fa = (e) => {
307
307
  if (!e)
308
308
  return { canScrollUp: !1, canScrollDown: !1 };
309
309
  const t = e.scrollHeight - e.clientHeight;
310
- return t <= mt ? { canScrollUp: !1, canScrollDown: !1 } : {
311
- canScrollUp: e.scrollTop > mt,
312
- canScrollDown: e.scrollTop < t - mt
310
+ return t <= yt ? { canScrollUp: !1, canScrollDown: !1 } : {
311
+ canScrollUp: e.scrollTop > yt,
312
+ canScrollDown: e.scrollTop < t - yt
313
313
  };
314
- }, sa = (e, t) => {
314
+ }, va = (e, t) => {
315
315
  if (!e || !t)
316
316
  return null;
317
317
  const n = e.getBoundingClientRect(), s = t.getBoundingClientRect();
@@ -321,7 +321,7 @@ const T = {
321
321
  width: s.width,
322
322
  height: s.height
323
323
  };
324
- }, tt = ({
324
+ }, it = ({
325
325
  children: e,
326
326
  className: t,
327
327
  contentClassName: n,
@@ -329,64 +329,64 @@ const T = {
329
329
  style: r,
330
330
  "aria-label": o
331
331
  }) => {
332
- const i = re(null), p = re(null), [d, h] = g(!1), [m, N] = g(!1), [y, I] = g(null), F = () => {
333
- var U;
334
- return s ? ((U = i.current) == null ? void 0 : U.querySelector(s)) ?? null : p.current;
335
- }, _ = () => {
336
- const U = F(), A = aa(U);
332
+ const i = te(null), u = te(null), [d, h] = g(!1), [m, N] = g(!1), [w, I] = g(null), p = () => {
333
+ var C;
334
+ return s ? ((C = i.current) == null ? void 0 : C.querySelector(s)) ?? null : u.current;
335
+ }, L = () => {
336
+ const C = p(), A = fa(C);
337
337
  if (h(
338
- (f) => f === A.canScrollUp ? f : A.canScrollUp
338
+ (v) => v === A.canScrollUp ? v : A.canScrollUp
339
339
  ), N(
340
- (f) => f === A.canScrollDown ? f : A.canScrollDown
340
+ (v) => v === A.canScrollDown ? v : A.canScrollDown
341
341
  ), s) {
342
- const f = sa(i.current, U);
343
- I((b) => (b == null ? void 0 : b.top) === (f == null ? void 0 : f.top) && (b == null ? void 0 : b.left) === (f == null ? void 0 : f.left) && (b == null ? void 0 : b.width) === (f == null ? void 0 : f.width) && (b == null ? void 0 : b.height) === (f == null ? void 0 : f.height) ? b : f);
342
+ const v = va(i.current, C);
343
+ I((T) => (T == null ? void 0 : T.top) === (v == null ? void 0 : v.top) && (T == null ? void 0 : T.left) === (v == null ? void 0 : v.left) && (T == null ? void 0 : T.width) === (v == null ? void 0 : v.width) && (T == null ? void 0 : T.height) === (v == null ? void 0 : v.height) ? T : v);
344
344
  } else
345
- I((f) => f === null ? f : null);
345
+ I((v) => v === null ? v : null);
346
346
  };
347
- et(() => {
348
- _();
349
- }), D(() => {
350
- const U = i.current;
351
- if (!U)
347
+ rt(() => {
348
+ L();
349
+ }), $(() => {
350
+ const C = i.current;
351
+ if (!C)
352
352
  return;
353
- let A = null, f = null;
354
- const b = () => {
355
- A == null || A.removeEventListener("scroll", _), f == null || f.disconnect(), f = null, A = null;
356
- }, w = (z) => {
357
- if (z === A) {
358
- _();
353
+ let A = null, v = null;
354
+ const T = () => {
355
+ A == null || A.removeEventListener("scroll", L), v == null || v.disconnect(), v = null, A = null;
356
+ }, O = (M) => {
357
+ if (M === A) {
358
+ L();
359
359
  return;
360
360
  }
361
- if (b(), A = z, !A) {
362
- _();
361
+ if (T(), A = M, !A) {
362
+ L();
363
363
  return;
364
364
  }
365
- A.addEventListener("scroll", _, { passive: !0 }), f = new ResizeObserver(() => _()), f.observe(A), A.firstElementChild instanceof HTMLElement && f.observe(A.firstElementChild), _();
365
+ A.addEventListener("scroll", L, { passive: !0 }), v = new ResizeObserver(() => L()), v.observe(A), A.firstElementChild instanceof HTMLElement && v.observe(A.firstElementChild), L();
366
366
  };
367
- w(F());
368
- const R = new MutationObserver(() => {
369
- w(F());
367
+ O(p());
368
+ const y = new MutationObserver(() => {
369
+ O(p());
370
370
  });
371
- return R.observe(U, {
371
+ return y.observe(C, {
372
372
  childList: !0,
373
373
  subtree: !0,
374
374
  characterData: !0
375
- }), window.addEventListener("resize", _), () => {
376
- window.removeEventListener("resize", _), R.disconnect(), b();
375
+ }), window.addEventListener("resize", L), () => {
376
+ window.removeEventListener("resize", L), y.disconnect(), T();
377
377
  };
378
378
  }, [s]);
379
- const x = (U) => {
380
- const A = F();
379
+ const k = (C) => {
380
+ const A = p();
381
381
  if (!A)
382
382
  return;
383
- const f = Math.max(A.clientHeight * 0.75, 120);
383
+ const v = Math.max(A.clientHeight * 0.75, 120);
384
384
  A.scrollBy({
385
- top: U === "up" ? -f : f,
385
+ top: C === "up" ? -v : v,
386
386
  behavior: "smooth"
387
387
  });
388
- }, E = /* @__PURE__ */ l(ve, { children: [
389
- d && /* @__PURE__ */ l(ve, { children: [
388
+ }, P = /* @__PURE__ */ l(de, { children: [
389
+ d && /* @__PURE__ */ l(de, { children: [
390
390
  /* @__PURE__ */ a("div", { className: "scrollable-region__fade scrollable-region__fade--top", "aria-hidden": "true" }),
391
391
  /* @__PURE__ */ a(
392
392
  "button",
@@ -394,12 +394,12 @@ const T = {
394
394
  type: "button",
395
395
  className: "scrollable-region__edge scrollable-region__edge--top",
396
396
  "aria-label": "Scroll up",
397
- onClick: () => x("up"),
398
- children: /* @__PURE__ */ a(L, { name: "chevron-up", size: 16, color: "currentColor" })
397
+ onClick: () => k("up"),
398
+ children: /* @__PURE__ */ a(x, { name: "chevron-up", size: 16, color: "currentColor" })
399
399
  }
400
400
  )
401
401
  ] }),
402
- m && /* @__PURE__ */ l(ve, { children: [
402
+ m && /* @__PURE__ */ l(de, { children: [
403
403
  /* @__PURE__ */ a(
404
404
  "div",
405
405
  {
@@ -413,8 +413,8 @@ const T = {
413
413
  type: "button",
414
414
  className: "scrollable-region__edge scrollable-region__edge--bottom",
415
415
  "aria-label": "Scroll down",
416
- onClick: () => x("down"),
417
- children: /* @__PURE__ */ a(L, { name: "chevron-down", size: 16, color: "currentColor" })
416
+ onClick: () => k("down"),
417
+ children: /* @__PURE__ */ a(x, { name: "chevron-down", size: 16, color: "currentColor" })
418
418
  }
419
419
  )
420
420
  ] })
@@ -426,27 +426,27 @@ const T = {
426
426
  className: j("scrollable-region", t),
427
427
  style: r,
428
428
  "aria-label": o,
429
- children: s ? /* @__PURE__ */ l(ve, { children: [
429
+ children: s ? /* @__PURE__ */ l(de, { children: [
430
430
  e,
431
- y && (d || m) && /* @__PURE__ */ a(
431
+ w && (d || m) && /* @__PURE__ */ a(
432
432
  "div",
433
433
  {
434
434
  className: "scrollable-region__overlay",
435
435
  style: {
436
- top: y.top,
437
- left: y.left,
438
- width: y.width,
439
- height: y.height
436
+ top: w.top,
437
+ left: w.left,
438
+ width: w.width,
439
+ height: w.height
440
440
  },
441
- children: E
441
+ children: P
442
442
  }
443
443
  )
444
- ] }) : /* @__PURE__ */ l(ve, { children: [
445
- E,
444
+ ] }) : /* @__PURE__ */ l(de, { children: [
445
+ P,
446
446
  /* @__PURE__ */ a(
447
447
  "div",
448
448
  {
449
- ref: p,
449
+ ref: u,
450
450
  className: j("scrollable-region__viewport", n),
451
451
  children: e
452
452
  }
@@ -454,18 +454,18 @@ const T = {
454
454
  ] })
455
455
  }
456
456
  );
457
- }, ra = 48, ia = ({
457
+ }, wa = 48, ka = ({
458
458
  checklist: e
459
459
  }) => {
460
- const t = re(null), n = re(!1);
461
- return et(() => {
460
+ const t = te(null), n = te(!1);
461
+ return rt(() => {
462
462
  const s = t.current;
463
463
  if (!s)
464
464
  return;
465
465
  const r = s.scrollHeight - s.scrollTop - s.clientHeight;
466
- (!n.current || r <= ra) && (s.scrollTop = s.scrollHeight, n.current = !0);
466
+ (!n.current || r <= wa) && (s.scrollTop = s.scrollHeight, n.current = !0);
467
467
  }, [e]), e.length === 0 ? /* @__PURE__ */ a("p", { className: "agent-view__progress-empty", children: "No tasks to display." }) : /* @__PURE__ */ a(
468
- tt,
468
+ it,
469
469
  {
470
470
  className: "agent-view__progress-scroll",
471
471
  scrollSelector: ".agent-view__progress-list",
@@ -475,8 +475,8 @@ const T = {
475
475
  ref: t,
476
476
  className: "agent-view__progress-list",
477
477
  "aria-label": "Agent tasks",
478
- children: na(e).map((s) => {
479
- const r = se[s.status];
478
+ children: _a(e).map((s) => {
479
+ const r = re[s.status];
480
480
  return /* @__PURE__ */ l(
481
481
  "li",
482
482
  {
@@ -486,7 +486,7 @@ const T = {
486
486
  ),
487
487
  children: [
488
488
  /* @__PURE__ */ a(
489
- L,
489
+ x,
490
490
  {
491
491
  name: r.icon,
492
492
  size: 16,
@@ -496,7 +496,7 @@ const T = {
496
496
  ),
497
497
  /* @__PURE__ */ l("div", { className: "agent-view__progress-item-content", children: [
498
498
  /* @__PURE__ */ a("span", { className: "agent-view__progress-label", children: s.task }),
499
- s.status !== M.complete && /* @__PURE__ */ a(
499
+ s.status !== H.complete && /* @__PURE__ */ a(
500
500
  "span",
501
501
  {
502
502
  className: "agent-view__progress-description",
@@ -513,7 +513,7 @@ const T = {
513
513
  )
514
514
  }
515
515
  );
516
- }, oa = ({
516
+ }, ya = ({
517
517
  prompts: e,
518
518
  classNamePrefix: t = "agent-workspace",
519
519
  onSelect: n
@@ -527,7 +527,7 @@ const T = {
527
527
  },
528
528
  s
529
529
  )) });
530
- class la {
530
+ class Na {
531
531
  constructor(t, n) {
532
532
  this.connector = t, this.canSend = n.canSend, this.onTurn = n.onTurn, this.onAwaitingChange = n.onAwaitingChange;
533
533
  }
@@ -559,14 +559,14 @@ class la {
559
559
  return this.onTurn(r), {
560
560
  id: r.message.id,
561
561
  text: r.message.text,
562
- type: Zt,
562
+ type: ln,
563
563
  ...r.message.followUpPrompts ? { followUpPrompts: r.message.followUpPrompts } : {}
564
564
  };
565
565
  } catch {
566
566
  return {
567
567
  id: `error-${Date.now()}`,
568
- text: Jn,
569
- type: Pn
568
+ text: ia,
569
+ type: Wn
570
570
  };
571
571
  } finally {
572
572
  (s = this.onAwaitingChange) == null || s.call(this, !1);
@@ -584,7 +584,7 @@ class la {
584
584
  return !1;
585
585
  }
586
586
  }
587
- const ca = ({
587
+ const Aa = ({
588
588
  connector: e,
589
589
  phase: t,
590
590
  chatHistory: n,
@@ -592,19 +592,19 @@ const ca = ({
592
592
  startQuery: r,
593
593
  clarificationMessage: o,
594
594
  enableUpload: i = !1,
595
- onTurn: p,
595
+ onTurn: u,
596
596
  onAwaitingChange: d,
597
597
  onClarificationPrompt: h,
598
598
  onDismissClarification: m
599
599
  }) => {
600
- const N = V(
601
- () => new la(e, {
600
+ const N = X(
601
+ () => new Na(e, {
602
602
  canSend: () => t === B.running,
603
- onTurn: p,
603
+ onTurn: u,
604
604
  onAwaitingChange: d
605
605
  }),
606
- [e, t, p, d]
607
- ), y = t !== B.running, I = t === B.running;
606
+ [e, t, u, d]
607
+ ), w = t !== B.running, I = t === B.running;
608
608
  return /* @__PURE__ */ l("section", { className: "agent-workspace__chat-body", "aria-label": "Chat", children: [
609
609
  o && /* @__PURE__ */ l(
610
610
  "div",
@@ -615,7 +615,7 @@ const ca = ({
615
615
  children: [
616
616
  /* @__PURE__ */ a("p", { className: "agent-workspace__clarification-text", children: o.text }),
617
617
  o.followUpPrompts && /* @__PURE__ */ a(
618
- oa,
618
+ ya,
619
619
  {
620
620
  prompts: o.followUpPrompts,
621
621
  onSelect: h
@@ -633,13 +633,13 @@ const ca = ({
633
633
  ]
634
634
  }
635
635
  ),
636
- /* @__PURE__ */ a("div", { className: "agent-workspace__ask-arbor", children: /* @__PURE__ */ a(tt, { scrollSelector: ".chat-panel-message-list", children: /* @__PURE__ */ a(
637
- xn,
636
+ /* @__PURE__ */ a("div", { className: "agent-workspace__ask-arbor", children: /* @__PURE__ */ a(it, { scrollSelector: ".chat-panel-message-list", children: /* @__PURE__ */ a(
637
+ jn,
638
638
  {
639
639
  connector: N,
640
640
  chatHistory: n,
641
641
  startQuery: r,
642
- lockConversation: y,
642
+ lockConversation: w,
643
643
  enableUpload: i,
644
644
  speechEnabled: I,
645
645
  speechLanguage: "en-GB",
@@ -653,23 +653,23 @@ const ca = ({
653
653
  s
654
654
  ) }) }),
655
655
  t === B.stopped && /* @__PURE__ */ l("div", { className: "agent-workspace__notice", role: "status", children: [
656
- /* @__PURE__ */ a(L, { name: "circle-alert", size: 16, color: "var(--color-semantic-warning-600)" }),
656
+ /* @__PURE__ */ a(x, { name: "circle-alert", size: 16, color: "var(--color-semantic-warning-600)" }),
657
657
  /* @__PURE__ */ a("span", { children: "You stopped the agent. Its progress is saved in the checklist." })
658
658
  ] }),
659
659
  t === B.complete && /* @__PURE__ */ l("div", { className: "agent-workspace__notice", role: "status", children: [
660
- /* @__PURE__ */ a(L, { name: "party-popper", size: 16, color: "var(--color-semantic-success-600)" }),
660
+ /* @__PURE__ */ a(x, { name: "party-popper", size: 16, color: "var(--color-semantic-success-600)" }),
661
661
  /* @__PURE__ */ a("span", { children: "The agent has finished." })
662
662
  ] })
663
663
  ] });
664
- }, sn = ({
664
+ }, pn = ({
665
665
  item: e,
666
666
  depth: t,
667
667
  canRequestInput: n,
668
668
  onAttentionItemClick: s
669
669
  }) => {
670
- const r = se[e.status], o = e.status.replace(/_/g, "-"), i = e.status === M.hitl && n && s, p = /* @__PURE__ */ l("div", { className: "agent-workspace__task-row", children: [
670
+ const r = re[e.status], o = e.status.replace(/_/g, "-"), i = e.status === H.hitl && n && s, u = /* @__PURE__ */ l("div", { className: "agent-workspace__task-row", children: [
671
671
  /* @__PURE__ */ a(
672
- L,
672
+ x,
673
673
  {
674
674
  name: r.icon,
675
675
  size: 16,
@@ -679,7 +679,7 @@ const ca = ({
679
679
  ),
680
680
  /* @__PURE__ */ l("div", { className: "agent-workspace__task-content", children: [
681
681
  /* @__PURE__ */ a("span", { className: "agent-workspace__task-label", children: e.task }),
682
- e.status !== M.complete && e.description && /* @__PURE__ */ a("span", { className: "agent-workspace__task-description", children: e.description })
682
+ e.status !== H.complete && e.description && /* @__PURE__ */ a("span", { className: "agent-workspace__task-description", children: e.description })
683
683
  ] })
684
684
  ] });
685
685
  return /* @__PURE__ */ l(
@@ -696,11 +696,11 @@ const ca = ({
696
696
  className: "agent-workspace__task-button",
697
697
  "aria-label": `Provide input for ${e.task}`,
698
698
  onClick: () => s(e),
699
- children: p
699
+ children: u
700
700
  }
701
- ) : p,
701
+ ) : u,
702
702
  e.children && e.children.length > 0 && /* @__PURE__ */ a("ul", { className: "agent-workspace__task-children", children: e.children.map((d) => /* @__PURE__ */ a(
703
- sn,
703
+ pn,
704
704
  {
705
705
  item: d,
706
706
  depth: t + 1,
@@ -712,13 +712,13 @@ const ca = ({
712
712
  ]
713
713
  }
714
714
  );
715
- }, Xe = ({
715
+ }, nt = ({
716
716
  items: e,
717
717
  ariaLabel: t,
718
718
  canRequestInput: n,
719
719
  onAttentionItemClick: s
720
720
  }) => /* @__PURE__ */ a("ul", { className: "agent-workspace__task-list", "aria-label": t, children: e.map((r) => /* @__PURE__ */ a(
721
- sn,
721
+ pn,
722
722
  {
723
723
  item: r,
724
724
  depth: 0,
@@ -726,65 +726,113 @@ const ca = ({
726
726
  onAttentionItemClick: s
727
727
  },
728
728
  r.task
729
- )) }), da = ({
729
+ )) }), ba = ({
730
730
  checklist: e,
731
731
  isLoading: t,
732
732
  error: n,
733
733
  phase: s,
734
734
  canRequestInput: r,
735
- onAttentionItemClick: o
735
+ onAttentionItemClick: o,
736
+ adminMode: i = !1,
737
+ context: u,
738
+ contextLoaded: d = !1,
739
+ contextLoading: h = !1,
740
+ contextError: m = null,
741
+ onContextSelect: N
736
742
  }) => {
737
- const i = V(
738
- () => e ? an(e) : null,
743
+ const [w, I] = g("checklist"), p = X(
744
+ () => e ? un(e) : null,
739
745
  [e]
740
- );
746
+ ), L = () => {
747
+ I("context"), N == null || N();
748
+ };
741
749
  return /* @__PURE__ */ l(
742
750
  "section",
743
751
  {
744
752
  className: "agent-workspace__panel agent-workspace__panel--checklist",
745
753
  "aria-label": "Checklist",
746
754
  children: [
747
- /* @__PURE__ */ a("div", { className: "agent-workspace__panel-header", children: /* @__PURE__ */ a(Ee, { level: 4, children: "Checklist" }) }),
748
- /* @__PURE__ */ a("div", { className: "agent-workspace__panel-body", "aria-live": "polite", children: /* @__PURE__ */ l(tt, { children: [
755
+ /* @__PURE__ */ a("div", { className: "agent-workspace__panel-header", children: i ? /* @__PURE__ */ l(Oe, { className: "agent-workspace__checklist-tabs", "aria-label": "Checklist panel", children: [
756
+ /* @__PURE__ */ a(
757
+ Oe.Item,
758
+ {
759
+ active: w === "checklist",
760
+ tabElementProps: {
761
+ id: "agent-checklist-tab-checklist",
762
+ onClick: () => I("checklist")
763
+ },
764
+ children: "Checklist"
765
+ }
766
+ ),
767
+ /* @__PURE__ */ a(
768
+ Oe.Item,
769
+ {
770
+ active: w === "context",
771
+ tabElementProps: {
772
+ id: "agent-checklist-tab-context",
773
+ onClick: L
774
+ },
775
+ children: "Context"
776
+ }
777
+ )
778
+ ] }) : /* @__PURE__ */ a(Ie, { level: 4, children: "Checklist" }) }),
779
+ /* @__PURE__ */ a("div", { className: "agent-workspace__panel-body", "aria-live": "polite", children: /* @__PURE__ */ a(it, { children: w === "context" ? /* @__PURE__ */ l(de, { children: [
780
+ h && /* @__PURE__ */ l("div", { className: "agent-workspace__loading", children: [
781
+ /* @__PURE__ */ a(
782
+ x,
783
+ {
784
+ name: "loader",
785
+ size: 16,
786
+ color: "var(--color-brand-600)",
787
+ className: "agent-workspace__task-icon--spinning",
788
+ screenReaderText: "Loading context"
789
+ }
790
+ ),
791
+ /* @__PURE__ */ a("span", { children: "Loading context…" })
792
+ ] }),
793
+ !h && m && /* @__PURE__ */ a("p", { className: "agent-workspace__error", role: "alert", children: m }),
794
+ !h && !m && d && u == null && /* @__PURE__ */ a("p", { className: "agent-workspace__empty", children: "No context available." }),
795
+ !h && !m && d && u !== null && u !== void 0 && /* @__PURE__ */ a("pre", { className: "agent-workspace__context-json", children: JSON.stringify(u, null, 2) })
796
+ ] }) : /* @__PURE__ */ l(de, { children: [
749
797
  t && /* @__PURE__ */ l("div", { className: "agent-workspace__loading", children: [
750
798
  /* @__PURE__ */ a(
751
- L,
799
+ x,
752
800
  {
753
801
  name: "loader",
754
802
  size: 16,
755
803
  color: "var(--color-brand-600)",
756
804
  className: "agent-workspace__task-icon--spinning",
757
- screenReaderText: Ce
805
+ screenReaderText: Re
758
806
  }
759
807
  ),
760
- /* @__PURE__ */ a("span", { children: Ce })
808
+ /* @__PURE__ */ a("span", { children: Re })
761
809
  ] }),
762
810
  !t && n && /* @__PURE__ */ a("p", { className: "agent-workspace__error", role: "alert", children: n }),
763
- !t && !n && i && /* @__PURE__ */ l(ve, { children: [
764
- i.needsInput.length > 0 && /* @__PURE__ */ l("div", { className: "agent-workspace__task-group", children: [
811
+ !t && !n && p && /* @__PURE__ */ l(de, { children: [
812
+ p.needsInput.length > 0 && /* @__PURE__ */ l("div", { className: "agent-workspace__task-group", children: [
765
813
  /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Needs your input" }),
766
814
  /* @__PURE__ */ a(
767
- Xe,
815
+ nt,
768
816
  {
769
- items: i.needsInput,
817
+ items: p.needsInput,
770
818
  ariaLabel: "Tasks needing your input",
771
819
  canRequestInput: r,
772
820
  onAttentionItemClick: o
773
821
  }
774
822
  )
775
823
  ] }),
776
- i.complete.length > 0 && /* @__PURE__ */ l(
824
+ p.complete.length > 0 && /* @__PURE__ */ l(
777
825
  "div",
778
826
  {
779
827
  className: j("agent-workspace__task-group", {
780
- "agent-workspace__task-group--following": i.needsInput.length > 0
828
+ "agent-workspace__task-group--following": p.needsInput.length > 0
781
829
  }),
782
830
  children: [
783
- (i.needsInput.length > 0 || i.failed.length > 0 || i.tasks.length > 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Completed" }),
831
+ (p.needsInput.length > 0 || p.failed.length > 0 || p.tasks.length > 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Completed" }),
784
832
  /* @__PURE__ */ a(
785
- Xe,
833
+ nt,
786
834
  {
787
- items: i.complete,
835
+ items: p.complete,
788
836
  ariaLabel: "Completed tasks",
789
837
  canRequestInput: r,
790
838
  onAttentionItemClick: o
@@ -793,18 +841,18 @@ const ca = ({
793
841
  ]
794
842
  }
795
843
  ),
796
- i.failed.length > 0 && /* @__PURE__ */ l(
844
+ p.failed.length > 0 && /* @__PURE__ */ l(
797
845
  "div",
798
846
  {
799
847
  className: j("agent-workspace__task-group", {
800
- "agent-workspace__task-group--following": i.needsInput.length > 0 || i.complete.length > 0
848
+ "agent-workspace__task-group--following": p.needsInput.length > 0 || p.complete.length > 0
801
849
  }),
802
850
  children: [
803
- (i.needsInput.length > 0 || i.complete.length > 0 || i.tasks.length > 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Failed" }),
851
+ (p.needsInput.length > 0 || p.complete.length > 0 || p.tasks.length > 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Failed" }),
804
852
  /* @__PURE__ */ a(
805
- Xe,
853
+ nt,
806
854
  {
807
- items: i.failed,
855
+ items: p.failed,
808
856
  ariaLabel: "Failed tasks",
809
857
  canRequestInput: r,
810
858
  onAttentionItemClick: o
@@ -813,18 +861,18 @@ const ca = ({
813
861
  ]
814
862
  }
815
863
  ),
816
- i.tasks.length > 0 && /* @__PURE__ */ l(
864
+ p.tasks.length > 0 && /* @__PURE__ */ l(
817
865
  "div",
818
866
  {
819
867
  className: j("agent-workspace__task-group", {
820
- "agent-workspace__task-group--following": i.needsInput.length > 0 || i.complete.length > 0 || i.failed.length > 0
868
+ "agent-workspace__task-group--following": p.needsInput.length > 0 || p.complete.length > 0 || p.failed.length > 0
821
869
  }),
822
870
  children: [
823
- (i.needsInput.length > 0 || i.complete.length > 0 || i.failed.length > 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Working on" }),
871
+ (p.needsInput.length > 0 || p.complete.length > 0 || p.failed.length > 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__task-group-label", children: "Working on" }),
824
872
  /* @__PURE__ */ a(
825
- Xe,
873
+ nt,
826
874
  {
827
- items: i.tasks,
875
+ items: p.tasks,
828
876
  ariaLabel: "Agent tasks",
829
877
  canRequestInput: r,
830
878
  onAttentionItemClick: o
@@ -834,42 +882,42 @@ const ca = ({
834
882
  }
835
883
  )
836
884
  ] }),
837
- !t && !n && (!i || i.needsInput.length === 0 && i.complete.length === 0 && i.failed.length === 0 && i.tasks.length === 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__empty", children: s === B.briefing ? "Tasks will appear here once the agent starts." : "No tasks to display." })
838
- ] }) })
885
+ !t && !n && (!p || p.needsInput.length === 0 && p.complete.length === 0 && p.failed.length === 0 && p.tasks.length === 0) && /* @__PURE__ */ a("p", { className: "agent-workspace__empty", children: s === B.briefing ? "Tasks will appear here once the agent starts." : "No tasks to display." })
886
+ ] }) }) })
839
887
  ]
840
888
  }
841
889
  );
842
- }, ga = ({
890
+ }, Sa = ({
843
891
  resource: e,
844
892
  html: t,
845
893
  isLoading: n,
846
894
  error: s,
847
895
  onClose: r
848
896
  }) => {
849
- D(() => {
897
+ $(() => {
850
898
  if (!e)
851
899
  return;
852
- const i = Ye.removeSlideover;
853
- return Ye.removeSlideover = () => {
900
+ const i = tt.removeSlideover;
901
+ return tt.removeSlideover = () => {
854
902
  i(), r();
855
903
  }, () => {
856
- Ye.removeSlideover = i;
904
+ tt.removeSlideover = i;
857
905
  };
858
- }, [e, r]), D(() => {
906
+ }, [e, r]), $(() => {
859
907
  if (!e)
860
908
  return;
861
- const i = (p) => {
862
- p.key === "Escape" && Ye.removeSlideover();
909
+ const i = (u) => {
910
+ u.key === "Escape" && tt.removeSlideover();
863
911
  };
864
912
  return window.addEventListener("keydown", i), () => window.removeEventListener("keydown", i);
865
913
  }, [e]);
866
- const o = V(() => e ? [
914
+ const o = X(() => e ? [
867
915
  {
868
916
  centerHeaderText: !1,
869
917
  children: /* @__PURE__ */ l("div", { className: "resource-preview-slideover__body", children: [
870
918
  n && /* @__PURE__ */ l("div", { className: "resource-preview-slideover__status", children: [
871
919
  /* @__PURE__ */ a(
872
- L,
920
+ x,
873
921
  {
874
922
  name: "loader",
875
923
  size: 16,
@@ -893,39 +941,39 @@ const ca = ({
893
941
  ] })
894
942
  }
895
943
  ] : [], [e, t, n, s]);
896
- return /* @__PURE__ */ a("div", { className: "resource-preview-slideover", children: /* @__PURE__ */ a(Rn, { slideovers: o }) });
897
- }, ha = {
898
- [pe.mis_record]: {
944
+ return /* @__PURE__ */ a("div", { className: "resource-preview-slideover", children: /* @__PURE__ */ a(Bn, { slideovers: o }) });
945
+ }, Ca = {
946
+ [fe.mis_record]: {
899
947
  icon: "table",
900
948
  label: "Arbor MIS",
901
949
  color: "var(--color-brand-600)"
902
950
  },
903
- [pe.document_html]: {
951
+ [fe.document_html]: {
904
952
  icon: "file",
905
953
  label: "Document",
906
954
  color: "var(--color-semantic-caution-800)"
907
955
  },
908
- [pe.file]: {
956
+ [fe.file]: {
909
957
  icon: "file",
910
958
  label: "File",
911
959
  color: "var(--color-semantic-caution-800)"
912
960
  },
913
- [pe.user_file]: {
961
+ [fe.user_file]: {
914
962
  icon: "upload",
915
963
  label: "File upload",
916
964
  color: "var(--color-semantic-caution-800)"
917
965
  },
918
- [pe.workflow]: {
966
+ [fe.workflow]: {
919
967
  icon: "list-tree",
920
968
  label: "Workflow",
921
969
  color: "var(--color-semantic-warning-700)"
922
970
  },
923
- [pe.link]: {
971
+ [fe.link]: {
924
972
  icon: "link",
925
973
  label: "Link",
926
974
  color: "var(--color-semantic-info-700)"
927
975
  }
928
- }, ua = ({
976
+ }, Ea = ({
929
977
  resources: e,
930
978
  isLoading: t = !1,
931
979
  error: n = null,
@@ -937,13 +985,13 @@ const ca = ({
937
985
  "aria-label": "Resources",
938
986
  children: [
939
987
  /* @__PURE__ */ l("div", { className: "agent-workspace__panel-header", children: [
940
- /* @__PURE__ */ a(Ee, { level: 4, children: "Resources" }),
988
+ /* @__PURE__ */ a(Ie, { level: 4, children: "Resources" }),
941
989
  /* @__PURE__ */ a("span", { className: "agent-workspace__panel-count", children: e.length })
942
990
  ] }),
943
- /* @__PURE__ */ a("div", { className: "agent-workspace__panel-body", "aria-live": "polite", children: /* @__PURE__ */ l(tt, { children: [
991
+ /* @__PURE__ */ a("div", { className: "agent-workspace__panel-body", "aria-live": "polite", children: /* @__PURE__ */ l(it, { children: [
944
992
  t && /* @__PURE__ */ l("div", { className: "agent-workspace__loading", children: [
945
993
  /* @__PURE__ */ a(
946
- L,
994
+ x,
947
995
  {
948
996
  name: "loader",
949
997
  size: 16,
@@ -956,7 +1004,7 @@ const ca = ({
956
1004
  ] }),
957
1005
  !t && n && /* @__PURE__ */ a("p", { className: "agent-workspace__error", role: "alert", children: n }),
958
1006
  !t && !n && e.length > 0 && /* @__PURE__ */ a("ul", { className: "agent-workspace__resource-list", "aria-label": "Agent resources", children: e.map((r) => {
959
- const o = ha[r.type], i = r.misRecordUrl;
1007
+ const o = Ca[r.type], i = r.misRecordUrl;
960
1008
  return /* @__PURE__ */ a("li", { className: "agent-workspace__resource", children: i ? /* @__PURE__ */ a(
961
1009
  "a",
962
1010
  {
@@ -964,10 +1012,10 @@ const ca = ({
964
1012
  href: i,
965
1013
  target: "_blank",
966
1014
  rel: "noreferrer",
967
- onClick: (p) => {
968
- p.preventDefault(), s(r);
1015
+ onClick: (u) => {
1016
+ u.preventDefault(), s(r);
969
1017
  },
970
- children: /* @__PURE__ */ a(Mt, { resource: r, config: o, external: !0 })
1018
+ children: /* @__PURE__ */ a(Kt, { resource: r, config: o, external: !0 })
971
1019
  }
972
1020
  ) : /* @__PURE__ */ a(
973
1021
  "button",
@@ -975,7 +1023,7 @@ const ca = ({
975
1023
  type: "button",
976
1024
  className: "agent-workspace__resource-card",
977
1025
  onClick: () => s(r),
978
- children: /* @__PURE__ */ a(Mt, { resource: r, config: o })
1026
+ children: /* @__PURE__ */ a(Kt, { resource: r, config: o })
979
1027
  }
980
1028
  ) }, r.id);
981
1029
  }) }),
@@ -983,12 +1031,12 @@ const ca = ({
983
1031
  ] }) })
984
1032
  ]
985
1033
  }
986
- ), Mt = ({ resource: e, config: t, external: n = !1 }) => /* @__PURE__ */ l(ve, { children: [
1034
+ ), Kt = ({ resource: e, config: t, external: n = !1 }) => /* @__PURE__ */ l(de, { children: [
987
1035
  /* @__PURE__ */ a(
988
1036
  "span",
989
1037
  {
990
1038
  className: `agent-workspace__resource-icon agent-workspace__resource-icon--${e.type}`,
991
- children: /* @__PURE__ */ a(L, { name: t.icon, size: 16, color: t.color, screenReaderText: `${t.label}:` })
1039
+ children: /* @__PURE__ */ a(x, { name: t.icon, size: 16, color: t.color, screenReaderText: `${t.label}:` })
992
1040
  }
993
1041
  ),
994
1042
  /* @__PURE__ */ a("span", { className: "agent-workspace__resource-content", children: /* @__PURE__ */ l("span", { className: "agent-workspace__resource-top", children: [
@@ -996,7 +1044,7 @@ const ca = ({
996
1044
  /* @__PURE__ */ a("span", { className: `agent-workspace__resource-badge agent-workspace__resource-badge--${e.type}`, children: t.label })
997
1045
  ] }) }),
998
1046
  n && /* @__PURE__ */ a(
999
- L,
1047
+ x,
1000
1048
  {
1001
1049
  name: "external-link",
1002
1050
  size: 12,
@@ -1005,57 +1053,57 @@ const ca = ({
1005
1053
  className: "agent-workspace__resource-open"
1006
1054
  }
1007
1055
  )
1008
- ] }), Ht = (e) => {
1056
+ ] }), Wt = (e) => {
1009
1057
  const t = Date.parse(e);
1010
1058
  return Number.isFinite(t) ? t : 0;
1011
- }, pa = new Intl.DateTimeFormat("en-GB", {
1059
+ }, Ta = new Intl.DateTimeFormat("en-GB", {
1012
1060
  day: "numeric",
1013
1061
  month: "long",
1014
1062
  year: "numeric",
1015
1063
  hour: "numeric",
1016
1064
  minute: "2-digit"
1017
- }), _t = (e) => {
1065
+ }), Nt = (e) => {
1018
1066
  const t = new Date(e);
1019
- return Number.isFinite(t.getTime()) ? pa.format(t) : e;
1020
- }, zt = (e) => e.replace(
1067
+ return Number.isFinite(t.getTime()) ? Ta.format(t) : e;
1068
+ }, jt = (e) => e.replace(
1021
1069
  /[A-Za-z0-9]+(?:[_-][A-Za-z0-9]+)+/g,
1022
1070
  (t) => t.split(/[_-]/).map((n) => n.charAt(0).toUpperCase() + n.slice(1).toLowerCase()).join(" ")
1023
- ), Gt = (e) => {
1071
+ ), Vt = (e) => {
1024
1072
  const n = e.replace(
1025
1073
  /[A-Za-z0-9]+(?:[_-][A-Za-z0-9]+)+/g,
1026
1074
  (s) => s.split(/[_-]/).map((r) => r.toLowerCase()).join(" ")
1027
1075
  ).toLowerCase();
1028
1076
  return n && n.charAt(0).toUpperCase() + n.slice(1);
1029
- }, ma = 60 * 60 * 1e3, rn = 60 * 60 * 1e3, $e = 24 * rn, vt = 7 * $e, _a = (e) => e.type !== "message-sent", fa = (e, t) => {
1030
- const n = e.filter(_a).map((r, o) => ({
1077
+ }, Ra = 60 * 60 * 1e3, mn = 60 * 60 * 1e3, ze = 24 * mn, bt = 7 * ze, Oa = (e) => e.type !== "message-sent", Ia = (e, t) => {
1078
+ const n = e.filter(Oa).map((r, o) => ({
1031
1079
  kind: "action",
1032
1080
  id: `action-${r.timestamp}-${o}`,
1033
- timestampMs: Ht(r.timestamp),
1081
+ timestampMs: Wt(r.timestamp),
1034
1082
  item: r
1035
1083
  })), s = t.map((r) => ({
1036
1084
  kind: "chat",
1037
1085
  id: r.sessionId,
1038
- timestampMs: Ht(r.timestamp),
1086
+ timestampMs: Wt(r.timestamp),
1039
1087
  session: r
1040
1088
  }));
1041
1089
  return [...n, ...s].sort(
1042
1090
  (r, o) => r.timestampMs - o.timestampMs || r.id.localeCompare(o.id)
1043
1091
  );
1044
- }, va = (e) => e >= vt ? "weeks" : e >= $e ? "days" : "hours", wa = (e) => {
1045
- if (e < $e) {
1046
- const s = Math.max(1, Math.round(e / rn));
1092
+ }, La = (e) => e >= bt ? "weeks" : e >= ze ? "days" : "hours", xa = (e) => {
1093
+ if (e < ze) {
1094
+ const s = Math.max(1, Math.round(e / mn));
1047
1095
  return s === 1 ? "1 hour later" : `${s} hours later`;
1048
1096
  }
1049
- if (e < vt) {
1050
- const s = Math.max(1, Math.round(e / $e));
1097
+ if (e < bt) {
1098
+ const s = Math.max(1, Math.round(e / ze));
1051
1099
  return s === 1 ? "1 day later" : `${s} days later`;
1052
1100
  }
1053
- const t = Math.max(1, Math.round(e / vt));
1101
+ const t = Math.max(1, Math.round(e / bt));
1054
1102
  if (t < 5)
1055
1103
  return t === 1 ? "1 week later" : `${t} weeks later`;
1056
- const n = Math.max(1, Math.round(e / (30 * $e)));
1104
+ const n = Math.max(1, Math.round(e / (30 * ze)));
1057
1105
  return n === 1 ? "1 month later" : `${n} months later`;
1058
- }, ya = (e, t = ma) => {
1106
+ }, Ua = (e, t = Ra) => {
1059
1107
  if (e.length === 0)
1060
1108
  return [];
1061
1109
  const n = [e[0]];
@@ -1065,21 +1113,21 @@ const ca = ({
1065
1113
  kind: "gap",
1066
1114
  id: `gap-${r.id}-${o.id}`,
1067
1115
  durationMs: i,
1068
- label: wa(i),
1069
- size: va(i)
1116
+ label: xa(i),
1117
+ size: La(i)
1070
1118
  }), n.push(o);
1071
1119
  }
1072
1120
  return n;
1073
- }, ka = (e) => e.type === "checklist-updated" ? "checklist" : e.type === "status-transition" ? "status" : "note", Na = ({
1121
+ }, Pa = (e) => e.type === "checklist-updated" ? "checklist" : e.type === "status-transition" ? "status" : "note", Da = ({
1074
1122
  timeline: e,
1075
1123
  isLoading: t,
1076
1124
  error: n,
1077
1125
  onOpenChatSession: s
1078
1126
  }) => {
1079
- const r = (e == null ? void 0 : e.actionLog) ?? [], o = (e == null ? void 0 : e.chatSessions) ?? [], i = fa(r, o), p = ya(i), d = !t && !n && i.length === 0;
1127
+ const r = (e == null ? void 0 : e.actionLog) ?? [], o = (e == null ? void 0 : e.chatSessions) ?? [], i = Ia(r, o), u = Ua(i), d = !t && !n && i.length === 0;
1080
1128
  return /* @__PURE__ */ l("section", { className: "agent-workspace__timeline", "aria-label": "Agent timeline", children: [
1081
1129
  t && /* @__PURE__ */ a("p", { className: "agent-workspace__timeline-status", role: "status", children: "Loading timeline…" }),
1082
- n && /* @__PURE__ */ a("p", { className: "agent-workspace__timeline-status", role: "alert", children: n || tn }),
1130
+ n && /* @__PURE__ */ a("p", { className: "agent-workspace__timeline-status", role: "alert", children: n || gn }),
1083
1131
  d && /* @__PURE__ */ a("p", { className: "agent-workspace__timeline-status", role: "status", children: "No timeline activity yet." }),
1084
1132
  !t && !n && !d && /* @__PURE__ */ l("div", { className: "agent-timeline", children: [
1085
1133
  /* @__PURE__ */ a("div", { className: "agent-timeline__track", "aria-hidden": "true" }),
@@ -1089,12 +1137,12 @@ const ca = ({
1089
1137
  {
1090
1138
  className: "agent-timeline__station-node agent-timeline__station-node--terminus",
1091
1139
  "aria-hidden": "true",
1092
- children: /* @__PURE__ */ a(L, { name: "arrow-right-from-line", size: 16, color: "currentColor" })
1140
+ children: /* @__PURE__ */ a(x, { name: "arrow-right-from-line", size: 16, color: "currentColor" })
1093
1141
  }
1094
1142
  ) }),
1095
1143
  /* @__PURE__ */ a("div", { className: "agent-timeline__label", children: /* @__PURE__ */ a("strong", { className: "agent-timeline__label-type", children: "Start" }) })
1096
1144
  ] }),
1097
- p.map((h) => {
1145
+ u.map((h) => {
1098
1146
  if (h.kind === "gap")
1099
1147
  return /* @__PURE__ */ l(
1100
1148
  "div",
@@ -1116,19 +1164,19 @@ const ca = ({
1116
1164
  {
1117
1165
  type: "button",
1118
1166
  className: "agent-timeline__chat-node",
1119
- "aria-label": `Open chat session from ${_t(
1167
+ "aria-label": `Open chat session from ${Nt(
1120
1168
  h.session.timestamp
1121
1169
  )}`,
1122
1170
  onClick: () => s(h.session.sessionId),
1123
- children: /* @__PURE__ */ a(L, { name: "sparkles", size: 16, color: "currentColor" })
1171
+ children: /* @__PURE__ */ a(x, { name: "sparkles", size: 16, color: "currentColor" })
1124
1172
  }
1125
1173
  ),
1126
1174
  /* @__PURE__ */ l("div", { className: "agent-timeline__label", children: [
1127
1175
  /* @__PURE__ */ a("strong", { className: "agent-timeline__label-type", children: "Chat session" }),
1128
- /* @__PURE__ */ a("span", { className: "agent-timeline__label-time", children: _t(h.session.timestamp) })
1176
+ /* @__PURE__ */ a("span", { className: "agent-timeline__label-time", children: Nt(h.session.timestamp) })
1129
1177
  ] })
1130
1178
  ] }, h.id);
1131
- const { item: m } = h, N = ka(m), y = N === "checklist", I = N === "status";
1179
+ const { item: m } = h, N = Pa(m), w = N === "checklist", I = N === "status";
1132
1180
  return /* @__PURE__ */ l(
1133
1181
  "div",
1134
1182
  {
@@ -1139,17 +1187,17 @@ const ca = ({
1139
1187
  {
1140
1188
  type: "button",
1141
1189
  className: `agent-timeline__station-node agent-timeline__station-node--${N}`,
1142
- "aria-label": `${zt(m.type)}: ${Gt(m.entry)}`,
1190
+ "aria-label": `${jt(m.type)}: ${Vt(m.entry)}`,
1143
1191
  children: [
1144
- y && /* @__PURE__ */ a(L, { name: "check-solid", size: 16, color: "currentColor" }),
1145
- I && /* @__PURE__ */ a(L, { name: "iteration-ccw", size: 16, color: "currentColor" })
1192
+ w && /* @__PURE__ */ a(x, { name: "check-solid", size: 16, color: "currentColor" }),
1193
+ I && /* @__PURE__ */ a(x, { name: "iteration-ccw", size: 16, color: "currentColor" })
1146
1194
  ]
1147
1195
  }
1148
1196
  ) }),
1149
1197
  /* @__PURE__ */ l("div", { className: "agent-timeline__label", children: [
1150
- /* @__PURE__ */ a("strong", { className: "agent-timeline__label-type", children: zt(m.type) }),
1151
- /* @__PURE__ */ a("span", { className: "agent-timeline__label-entry", children: Gt(m.entry) }),
1152
- /* @__PURE__ */ a("span", { className: "agent-timeline__label-time", children: _t(m.timestamp) })
1198
+ /* @__PURE__ */ a("strong", { className: "agent-timeline__label-type", children: jt(m.type) }),
1199
+ /* @__PURE__ */ a("span", { className: "agent-timeline__label-entry", children: Vt(m.entry) }),
1200
+ /* @__PURE__ */ a("span", { className: "agent-timeline__label-time", children: Nt(m.timestamp) })
1153
1201
  ] })
1154
1202
  ]
1155
1203
  },
@@ -1162,153 +1210,153 @@ const ca = ({
1162
1210
  {
1163
1211
  className: "agent-timeline__station-node agent-timeline__station-node--terminus",
1164
1212
  "aria-hidden": "true",
1165
- children: /* @__PURE__ */ a(L, { name: "flag", size: 16, color: "currentColor" })
1213
+ children: /* @__PURE__ */ a(x, { name: "flag", size: 16, color: "currentColor" })
1166
1214
  }
1167
1215
  ) }),
1168
1216
  /* @__PURE__ */ a("div", { className: "agent-timeline__label", children: /* @__PURE__ */ a("strong", { className: "agent-timeline__label-type", children: "Finish" }) })
1169
1217
  ] })
1170
1218
  ] })
1171
1219
  ] });
1172
- }, Aa = [
1220
+ }, $a = [
1173
1221
  "I'll get the details and come back to you",
1174
1222
  "Skip this for now"
1175
- ], ba = (e) => {
1223
+ ], Ma = (e) => {
1176
1224
  var n;
1177
1225
  const t = (n = e.prompt) != null && n.trim() ? e.prompt.trim() : `I need a bit more from you on "${e.task}". ${e.description} What can you tell me?`;
1178
1226
  return {
1179
1227
  id: `clarification-${Date.now()}`,
1180
1228
  author: oe.agent,
1181
1229
  text: t,
1182
- followUpPrompts: e.clarificationPrompts ?? Aa
1230
+ followUpPrompts: e.clarificationPrompts ?? $a
1183
1231
  };
1184
- }, Sa = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), Ca = (e) => e.kind === Qt.user_file ? `<strong>${Sa(e.text)}</strong>` : e.text, Se = (e) => ({
1232
+ }, Ha = (e) => e.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/"/g, "&quot;"), za = (e) => e.kind === cn.user_file ? `<strong>${Ha(e.text)}</strong>` : e.text, Te = (e) => ({
1185
1233
  id: e.id,
1186
- text: Ca(e),
1187
- type: e.author === oe.user ? Dn : e.author === oe.system ? $n : Zt,
1234
+ text: za(e),
1235
+ type: e.author === oe.user ? Vn : e.author === oe.system ? Yn : ln,
1188
1236
  ...e.followUpPrompts ? { followUpPrompts: e.followUpPrompts } : {}
1189
- }), Bt = "MESSAGE_TYPE_REPOLL", Ea = "agentUi:update", on = "arbor-agent-", we = {
1237
+ }), Yt = "MESSAGE_TYPE_REPOLL", Ga = "agentUi:update", _n = "arbor-agent-", Ae = {
1190
1238
  all: "ALL",
1191
1239
  checklist: "CHECKLIST",
1192
1240
  resources: "RESOURCES",
1193
1241
  chat: "CHAT",
1194
1242
  timeline: "TIMELINE"
1195
- }, Ta = new Set(Object.values(we)), Ra = (e, t) => `${e.endsWith("-") ? e : `${e}-`}${t}`, Ia = (e) => typeof e == "string" && Ta.has(e) ? e : we.all, Oa = (e) => {
1243
+ }, Ba = new Set(Object.values(Ae)), Fa = (e, t) => `${e.endsWith("-") ? e : `${e}-`}${t}`, qa = (e) => typeof e == "string" && Ba.has(e) ? e : Ae.all, Ja = (e) => {
1196
1244
  if (!e || typeof e != "object")
1197
1245
  return null;
1198
1246
  const t = e;
1199
- return t.type !== Bt ? null : {
1200
- type: Bt,
1201
- target: Ia(t.target)
1247
+ return t.type !== Yt ? null : {
1248
+ type: Yt,
1249
+ target: qa(t.target)
1202
1250
  };
1203
- }, La = (e) => {
1251
+ }, Ka = (e) => {
1204
1252
  const t = Array.isArray(e) ? e : [e], n = [];
1205
1253
  for (const s of t) {
1206
- const r = Oa(s);
1254
+ const r = Ja(s);
1207
1255
  r && n.push(r);
1208
1256
  }
1209
1257
  return n;
1210
- }, Ua = ({
1258
+ }, Wa = ({
1211
1259
  enabled: e,
1212
1260
  channelPrefix: t,
1213
1261
  agentId: n,
1214
1262
  subscribeToPusher: s,
1215
1263
  onRepoll: r
1216
1264
  }) => {
1217
- const o = re(r), i = t == null ? void 0 : t.trim(), p = !!(e && s && i && n.trim());
1218
- return D(() => {
1265
+ const o = te(r), i = t == null ? void 0 : t.trim(), u = !!(e && s && i && n.trim());
1266
+ return $(() => {
1219
1267
  o.current = r;
1220
- }, [r]), D(() => {
1221
- if (!p || !s || !i)
1268
+ }, [r]), $(() => {
1269
+ if (!u || !s || !i)
1222
1270
  return;
1223
1271
  const d = s(
1224
- Ra(i, n),
1225
- Ea,
1272
+ Fa(i, n),
1273
+ Ga,
1226
1274
  (h) => {
1227
- for (const m of La(h))
1275
+ for (const m of Ka(h))
1228
1276
  o.current(m.target);
1229
1277
  }
1230
1278
  );
1231
1279
  return () => {
1232
1280
  d();
1233
1281
  };
1234
- }, [p, i, n, s]), p;
1282
+ }, [u, i, n, s]), u;
1235
1283
  };
1236
- class De extends Error {
1284
+ class He extends Error {
1237
1285
  constructor(t, n, s) {
1238
1286
  super(s ?? `Agent service request failed (${t})`), this.name = "AgentServiceError", this.status = t, this.detail = n;
1239
1287
  }
1240
1288
  }
1241
- const Pa = "/api/v1", H = {
1289
+ const ja = "/api/v1", z = {
1242
1290
  agentDefinitions: "/agent-definitions",
1243
1291
  agents: "/agents",
1244
1292
  conversations: "/conversations",
1245
1293
  tripOptions: "/trip-options",
1246
1294
  demoDataset: "/demo/dataset"
1247
- }, J = {
1295
+ }, F = {
1248
1296
  GET: "GET",
1249
1297
  POST: "POST",
1250
1298
  PATCH: "PATCH"
1251
- }, xa = {
1299
+ }, Va = {
1252
1300
  error: "error"
1253
- }, Da = {
1301
+ }, Ya = {
1254
1302
  user: "user"
1255
- }, ye = {
1303
+ }, be = {
1256
1304
  acceptJson: "application/json",
1257
1305
  acceptHtml: "text/html",
1258
1306
  acceptEventStream: "text/event-stream",
1259
1307
  contentTypeJson: "application/json",
1260
1308
  arborApplicationUrl: "X-Arbor-Application-Url"
1261
- }, $a = 100, Ma = (e) => {
1309
+ }, Xa = 100, Za = (e) => {
1262
1310
  switch (e) {
1263
- case xt.cancelled:
1264
- return T.failed;
1265
- case xt.archived:
1266
- return T.complete;
1267
- case T.hitl:
1268
- case T.complete:
1269
- case T.failed:
1270
- case T["generating-a-response"]:
1311
+ case Ft.cancelled:
1312
+ return R.failed;
1313
+ case Ft.archived:
1314
+ return R.complete;
1315
+ case R.hitl:
1316
+ case R.complete:
1317
+ case R.failed:
1318
+ case R["generating-a-response"]:
1271
1319
  return e;
1272
1320
  default:
1273
- return T["generating-a-response"];
1321
+ return R["generating-a-response"];
1274
1322
  }
1275
- }, Ha = (e) => {
1323
+ }, Qa = (e) => {
1276
1324
  switch (e) {
1277
- case pt.requires_attention:
1278
- return M.hitl;
1279
- case pt.in_progress:
1280
- case pt.available:
1281
- return M["generating-a-response"];
1282
- case M.failed:
1283
- case M.complete:
1284
- case M.hitl:
1285
- case M["generating-a-response"]:
1325
+ case kt.requires_attention:
1326
+ return H.hitl;
1327
+ case kt.in_progress:
1328
+ case kt.available:
1329
+ return H["generating-a-response"];
1330
+ case H.failed:
1331
+ case H.complete:
1332
+ case H.hitl:
1333
+ case H["generating-a-response"]:
1286
1334
  return e;
1287
1335
  default:
1288
- return M["generating-a-response"];
1336
+ return H["generating-a-response"];
1289
1337
  }
1290
- }, ln = (e) => ({
1338
+ }, fn = (e) => ({
1291
1339
  ref: e.name,
1292
1340
  display_name: e.display_name,
1293
1341
  agent_intent: e.agent_intent ?? "",
1294
1342
  description: e.description
1295
- }), Ts = (e) => ({
1343
+ }), Gs = (e) => ({
1296
1344
  id: e.id,
1297
1345
  name: e.name,
1298
1346
  ...e.has_run_before ? { hasRunBefore: e.has_run_before } : {}
1299
- }), za = new Set(Object.values(pe)), Ga = (e) => za.has(e) ? e : pe.document_html, Ba = (e) => ({
1347
+ }), es = new Set(Object.values(fe)), ts = (e) => es.has(e) ? e : fe.document_html, ns = (e) => ({
1300
1348
  id: e.id,
1301
- type: Ga(e.type),
1349
+ type: ts(e.type),
1302
1350
  title: e.title,
1303
1351
  createdDatetime: e.created_datetime,
1304
1352
  lastUpdatedDatetime: e.last_updated_datetime,
1305
1353
  misRecordUrl: e.mis_record_url
1306
- }), Fa = (e) => ({
1307
- resources: e.resources.map(Ba),
1354
+ }), as = (e) => ({
1355
+ resources: e.resources.map(ns),
1308
1356
  pageNumber: e.page_number,
1309
1357
  pageSize: e.page_size,
1310
1358
  totalRecords: e.total_records
1311
- }), qa = (e) => ({
1359
+ }), ss = (e) => ({
1312
1360
  actionLog: (e.action_log ?? []).map((t) => ({
1313
1361
  timestamp: t.timestamp,
1314
1362
  type: t.type,
@@ -1319,7 +1367,7 @@ const Pa = "/api/v1", H = {
1319
1367
  sessionId: t.session_id,
1320
1368
  timestamp: t.timestamp
1321
1369
  }))
1322
- }), Ft = (e) => {
1370
+ }), Xt = (e) => {
1323
1371
  var n;
1324
1372
  const t = e.invocation_id ?? e.id;
1325
1373
  return {
@@ -1331,45 +1379,45 @@ const Pa = "/api/v1", H = {
1331
1379
  application_id: e.application_id,
1332
1380
  ...e.application_name ? { application_name: e.application_name } : {},
1333
1381
  created_by: e.created_by,
1334
- status: Ma(e.status),
1382
+ status: Za(e.status),
1335
1383
  context_ref: e.context_ref ?? null,
1336
1384
  checklist_ref: e.checklist_ref ?? null
1337
1385
  };
1338
- }, cn = (e) => {
1386
+ }, vn = (e) => {
1339
1387
  var t;
1340
1388
  return {
1341
- task: e.item ?? e.task ?? e.name ?? e.label ?? Wn,
1342
- status: Ha(e.status),
1389
+ task: e.item ?? e.task ?? e.name ?? e.label ?? oa,
1390
+ status: Qa(e.status),
1343
1391
  description: e.description ?? "",
1344
1392
  ...e.prompt ? { prompt: e.prompt } : {},
1345
1393
  ...(t = e.follow_up_prompts) != null && t.length ? { clarificationPrompts: e.follow_up_prompts } : {}
1346
1394
  };
1347
- }, Ka = (e) => Array.isArray(e) ? e : e.checklist_items ?? e.checklist ?? e.items ?? [], dn = (e, t, n) => {
1395
+ }, rs = (e) => Array.isArray(e) ? e : e.checklist_items ?? e.checklist ?? e.items ?? [], wn = (e, t, n) => {
1348
1396
  var o;
1349
- const s = !Array.isArray(t) && (t.opening_message || (o = t.opening_follow_up_prompts) != null && o.length) ? t : n, r = s ? nt(s) : void 0;
1397
+ const s = !Array.isArray(t) && (t.opening_message || (o = t.opening_follow_up_prompts) != null && o.length) ? t : n, r = s ? ot(s) : void 0;
1350
1398
  return {
1351
1399
  invocation_id: e,
1352
- checklist: Ka(t).map(cn),
1400
+ checklist: rs(t).map(vn),
1353
1401
  ...r ? { openingMessage: r } : {}
1354
1402
  };
1355
- }, Ja = (e, t) => {
1356
- const n = nt(t);
1403
+ }, is = (e, t) => {
1404
+ const n = ot(t);
1357
1405
  return {
1358
1406
  invocation_id: t.invocation_id ?? e,
1359
- checklist: (t.checklist_items ?? []).map(cn),
1407
+ checklist: (t.checklist_items ?? []).map(vn),
1360
1408
  ...n ? { openingMessage: n } : {}
1361
1409
  };
1362
- }, nt = (e) => {
1410
+ }, ot = (e) => {
1363
1411
  var n, s;
1364
1412
  const t = (n = e.opening_message) == null ? void 0 : n.trim();
1365
1413
  if (t)
1366
1414
  return {
1367
- id: en,
1415
+ id: dn,
1368
1416
  author: oe.agent,
1369
1417
  text: t,
1370
1418
  ...(s = e.opening_follow_up_prompts) != null && s.length ? { followUpPrompts: e.opening_follow_up_prompts } : {}
1371
1419
  };
1372
- }, Rs = (e) => {
1420
+ }, Bs = (e) => {
1373
1421
  try {
1374
1422
  const t = JSON.parse(e);
1375
1423
  if (Array.isArray(t)) {
@@ -1383,34 +1431,34 @@ const Pa = "/api/v1", H = {
1383
1431
  } catch {
1384
1432
  }
1385
1433
  return e;
1386
- }, Is = (e) => {
1434
+ }, Fs = (e) => {
1387
1435
  const t = e.trim();
1388
1436
  return t.length > 0 ? `File upload
1389
1437
 
1390
1438
  ${t}` : "File upload";
1391
- }, qt = (e) => {
1439
+ }, Zt = (e) => {
1392
1440
  var n;
1393
1441
  const t = (n = e.filename) == null ? void 0 : n.trim();
1394
1442
  return t || null;
1395
- }, Wa = (e) => e.filter((t) => qt(t) && t.role === "user" ? !0 : (t.role === "user" || t.role === "assistant") && typeof t.content == "string" && t.content.length > 0 && t.message_type !== "tool_request").map((t) => {
1396
- const n = qt(t);
1443
+ }, os = (e) => e.filter((t) => Zt(t) && t.role === "user" ? !0 : (t.role === "user" || t.role === "assistant") && typeof t.content == "string" && t.content.length > 0 && t.message_type !== "tool_request").map((t) => {
1444
+ const n = Zt(t);
1397
1445
  return n && t.role === "user" ? {
1398
1446
  id: t.message_id,
1399
1447
  author: oe.user,
1400
- kind: Qt.user_file,
1448
+ kind: cn.user_file,
1401
1449
  text: n
1402
1450
  } : {
1403
1451
  id: t.message_id,
1404
1452
  author: t.role === "user" ? oe.user : oe.agent,
1405
1453
  text: t.content
1406
1454
  };
1407
- }), ja = /:invocationId\b/g, Va = /:resourceId\b/g, Ya = (e) => e.trim().replace(/^Bearer\s+/i, ""), Xa = (e) => e.endsWith("/") ? e.slice(0, -1) : e;
1408
- class yt {
1455
+ }), ls = /:invocationId\b/g, cs = /:resourceId\b/g, ds = (e) => e.trim().replace(/^Bearer\s+/i, ""), Qt = (e) => e.endsWith("/") ? e.slice(0, -1) : e;
1456
+ class Ct {
1409
1457
  constructor(t) {
1410
1458
  var s;
1411
- this.baseUrl = Xa(t.baseUrl ?? "");
1459
+ this.baseUrl = Qt(t.baseUrl ?? "");
1412
1460
  const n = (s = t.token) == null ? void 0 : s.trim();
1413
- this.token = n ? Ya(n) : void 0, this.customHeaders = t.headers, this.urls = t.urls ?? {}, this.fetchImpl = t.fetch ?? globalThis.fetch.bind(globalThis);
1461
+ this.token = n ? ds(n) : void 0, this.customHeaders = t.headers, this.urls = t.urls ?? {}, this.fetchImpl = t.fetch ?? globalThis.fetch.bind(globalThis);
1414
1462
  }
1415
1463
  // Replaces the extra headers merged into every subsequent request,
1416
1464
  // without recreating the client (e.g. an application-URL header that
@@ -1420,29 +1468,29 @@ class yt {
1420
1468
  }
1421
1469
  async listAgentDefinitions() {
1422
1470
  return (await this.request(
1423
- J.GET,
1424
- this.resolveUrl("agentDefinitions", H.agentDefinitions)
1471
+ F.GET,
1472
+ this.resolveUrl("agentDefinitions", z.agentDefinitions)
1425
1473
  )).agent_definitions ?? [];
1426
1474
  }
1427
1475
  getAgentDefinition(t) {
1428
1476
  return this.request(
1429
- J.GET,
1430
- this.apiUrl(`${H.agentDefinitions}/${encodeURIComponent(t)}`)
1477
+ F.GET,
1478
+ this.apiUrl(`${z.agentDefinitions}/${encodeURIComponent(t)}`)
1431
1479
  );
1432
1480
  }
1433
1481
  listTripOptions() {
1434
- return this.request(J.GET, this.apiUrl(H.tripOptions));
1482
+ return this.request(F.GET, this.apiUrl(z.tripOptions));
1435
1483
  }
1436
1484
  getDataset() {
1437
1485
  return this.request(
1438
- J.GET,
1439
- this.apiUrl(H.demoDataset)
1486
+ F.GET,
1487
+ this.apiUrl(z.demoDataset)
1440
1488
  );
1441
1489
  }
1442
1490
  setDataset(t) {
1443
1491
  return this.request(
1444
- J.POST,
1445
- this.apiUrl(H.demoDataset),
1492
+ F.POST,
1493
+ this.apiUrl(z.demoDataset),
1446
1494
  { dataset: t }
1447
1495
  );
1448
1496
  }
@@ -1451,25 +1499,25 @@ class yt {
1451
1499
  t.status && n.set("status", t.status), t.agentDefinitionRef && n.set("agent_definition_ref", t.agentDefinitionRef);
1452
1500
  const s = n.toString() ? `?${n.toString()}` : "";
1453
1501
  return this.request(
1454
- J.GET,
1455
- `${this.resolveUrl("agents", H.agents)}${s}`
1502
+ F.GET,
1503
+ `${this.resolveUrl("agents", z.agents)}${s}`
1456
1504
  );
1457
1505
  }
1458
1506
  createAgent(t, n = {}) {
1459
- var i, p;
1507
+ var i, u;
1460
1508
  const s = {
1461
1509
  agent_definition_ref: t
1462
- }, r = (i = n.invocationName) == null ? void 0 : i.trim(), o = (p = n.agentIntent) == null ? void 0 : p.trim();
1510
+ }, r = (i = n.invocationName) == null ? void 0 : i.trim(), o = (u = n.agentIntent) == null ? void 0 : u.trim();
1463
1511
  return r && (s.invocation_name = r), o && (s.agent_intent = o), this.request(
1464
- J.POST,
1465
- this.resolveUrl("agents", H.agents),
1512
+ F.POST,
1513
+ this.resolveUrl("agents", z.agents),
1466
1514
  s
1467
1515
  );
1468
1516
  }
1469
1517
  getAgent(t) {
1470
1518
  return this.request(
1471
- J.GET,
1472
- this.resolveUrl("agent", `${H.agents}/${encodeURIComponent(t)}`, t)
1519
+ F.GET,
1520
+ this.resolveUrl("agent", `${z.agents}/${encodeURIComponent(t)}`, t)
1473
1521
  );
1474
1522
  }
1475
1523
  updateAgent(t, n) {
@@ -1477,10 +1525,10 @@ class yt {
1477
1525
  invocation_name: n.invocationName.trim()
1478
1526
  };
1479
1527
  return this.request(
1480
- J.PATCH,
1528
+ F.PATCH,
1481
1529
  this.resolveUrl(
1482
1530
  "agent",
1483
- `${H.agents}/${encodeURIComponent(t)}`,
1531
+ `${z.agents}/${encodeURIComponent(t)}`,
1484
1532
  t
1485
1533
  ),
1486
1534
  r
@@ -1488,10 +1536,10 @@ class yt {
1488
1536
  }
1489
1537
  getAgentChecklist(t) {
1490
1538
  return this.request(
1491
- J.GET,
1539
+ F.GET,
1492
1540
  this.resolveUrl(
1493
1541
  "agentChecklist",
1494
- `${H.agents}/${encodeURIComponent(t)}/checklist`,
1542
+ `${z.agents}/${encodeURIComponent(t)}/checklist`,
1495
1543
  t
1496
1544
  )
1497
1545
  );
@@ -1501,21 +1549,21 @@ class yt {
1501
1549
  n.pageNumber !== void 0 && s.set("page_number", String(n.pageNumber)), n.pageSize !== void 0 && s.set("page_size", String(n.pageSize)), n.type && s.set("type", n.type);
1502
1550
  const r = s.toString(), o = this.resolveUrl(
1503
1551
  "agentResources",
1504
- `${H.agents}/${encodeURIComponent(t)}/resources`,
1552
+ `${z.agents}/${encodeURIComponent(t)}/resources`,
1505
1553
  t
1506
1554
  );
1507
1555
  return this.request(
1508
- J.GET,
1556
+ F.GET,
1509
1557
  r ? `${o}?${r}` : o
1510
1558
  );
1511
1559
  }
1512
1560
  async listAllAgentResources(t) {
1513
- const n = $a;
1561
+ const n = Xa;
1514
1562
  let s = 1;
1515
1563
  const r = [];
1516
1564
  let o = Number.POSITIVE_INFINITY;
1517
1565
  for (; r.length < o; ) {
1518
- const i = Fa(
1566
+ const i = as(
1519
1567
  await this.getAgentResources(t, { pageNumber: s, pageSize: n })
1520
1568
  );
1521
1569
  if (o = i.totalRecords, i.resources.length === 0 || (r.push(...i.resources), r.length >= o))
@@ -1525,46 +1573,51 @@ class yt {
1525
1573
  return r;
1526
1574
  }
1527
1575
  getAgentResourceHtml(t, n) {
1528
- return this.requestText(J.GET, this.resolveResourceHtmlUrl(t, n));
1576
+ return this.requestText(F.GET, this.resolveResourceHtmlUrl(t, n));
1529
1577
  }
1530
1578
  getAgentTimeline(t) {
1531
1579
  return this.request(
1532
- J.GET,
1580
+ F.GET,
1533
1581
  this.resolveUrl(
1534
1582
  "agentTimeline",
1535
- `${H.agents}/${encodeURIComponent(t)}/agent-timeline`,
1583
+ `${z.agents}/${encodeURIComponent(t)}/agent-timeline`,
1536
1584
  t
1537
1585
  )
1538
1586
  );
1539
1587
  }
1540
1588
  getAgentContext(t) {
1589
+ const n = this.resolveUrl(
1590
+ "agent",
1591
+ `${z.agents}/${encodeURIComponent(t)}`,
1592
+ t
1593
+ );
1541
1594
  return this.request(
1542
- J.GET,
1543
- this.apiUrl(`${H.agents}/${encodeURIComponent(t)}/context`)
1595
+ F.GET,
1596
+ `${Qt(n)}/context`
1544
1597
  );
1545
1598
  }
1546
1599
  cancelAgent(t) {
1547
1600
  return this.request(
1548
- J.POST,
1601
+ F.POST,
1549
1602
  this.resolveUrl(
1550
1603
  "stopAgent",
1551
- `${H.agents}/${encodeURIComponent(t)}/cancel`,
1604
+ `${z.agents}/${encodeURIComponent(t)}/cancel`,
1552
1605
  t
1553
1606
  )
1554
1607
  );
1555
1608
  }
1556
1609
  archiveAgent(t) {
1557
1610
  return this.request(
1558
- J.POST,
1559
- this.apiUrl(`${H.agents}/${encodeURIComponent(t)}/archive`)
1611
+ F.POST,
1612
+ this.apiUrl(`${z.agents}/${encodeURIComponent(t)}/archive`)
1560
1613
  );
1561
1614
  }
1562
1615
  getConversation(t) {
1563
1616
  return this.request(
1564
- J.GET,
1617
+ F.GET,
1565
1618
  this.resolveUrl(
1566
1619
  "agentConversation",
1567
- `${H.conversations}/${encodeURIComponent(t)}`,
1620
+ `${z.conversations}/${encodeURIComponent(t)}`,
1568
1621
  t
1569
1622
  )
1570
1623
  );
@@ -1575,26 +1628,26 @@ class yt {
1575
1628
  const r = !!(s.uploadFiles && s.uploadFiles.length > 0), o = await this.fetchImpl(
1576
1629
  this.resolveUrl(
1577
1630
  "agentChat",
1578
- `${H.agents}/${encodeURIComponent(t)}/chat`,
1631
+ `${z.agents}/${encodeURIComponent(t)}/chat`,
1579
1632
  t
1580
1633
  ),
1581
1634
  {
1582
- method: J.POST,
1635
+ method: F.POST,
1583
1636
  headers: {
1584
1637
  ...this.customHeaders,
1585
1638
  ...this.authHeaders(),
1586
- Accept: ye.acceptEventStream,
1639
+ Accept: be.acceptEventStream,
1587
1640
  // Let the browser set the multipart boundary when uploading.
1588
- ...r ? {} : { "Content-Type": ye.contentTypeJson }
1641
+ ...r ? {} : { "Content-Type": be.contentTypeJson }
1589
1642
  },
1590
- body: r ? Qa(n, s.uploadFiles ?? []) : JSON.stringify(n),
1643
+ body: r ? hs(n, s.uploadFiles ?? []) : JSON.stringify(n),
1591
1644
  signal: s.signal
1592
1645
  }
1593
1646
  );
1594
1647
  if (!o.ok)
1595
1648
  throw await this.toError(o);
1596
1649
  if (!o.body)
1597
- throw new De(o.status, null, "Chat response contained no stream body");
1650
+ throw new He(o.status, null, "Chat response contained no stream body");
1598
1651
  return this.consumeSse(o.body, s.onEvent);
1599
1652
  }
1600
1653
  authHeaders() {
@@ -1602,7 +1655,7 @@ class yt {
1602
1655
  }
1603
1656
  // Builds a URL from the base url + shared API prefix + route.
1604
1657
  apiUrl(t) {
1605
- return `${this.baseUrl}${Pa}${t}`;
1658
+ return `${this.baseUrl}${ja}${t}`;
1606
1659
  }
1607
1660
  // Resolves the URL for an operation, preferring a per-operation override
1608
1661
  // (with `:invocationId` substituted) and falling back to the base url.
@@ -1611,22 +1664,22 @@ class yt {
1611
1664
  if (!o)
1612
1665
  return this.apiUrl(n);
1613
1666
  let i = o;
1614
- return s && (i = i.replace(ja, encodeURIComponent(s))), r && (i = i.replace(Va, encodeURIComponent(r))), i;
1667
+ return s && (i = i.replace(ls, encodeURIComponent(s))), r && (i = i.replace(cs, encodeURIComponent(r))), i;
1615
1668
  }
1616
1669
  resolveResourceHtmlUrl(t, n) {
1617
1670
  return this.urls.agentResourceHtml ? this.resolveUrl(
1618
1671
  "agentResourceHtml",
1619
- `${H.agents}/${encodeURIComponent(t)}/resources/${encodeURIComponent(
1672
+ `${z.agents}/${encodeURIComponent(t)}/resources/${encodeURIComponent(
1620
1673
  n
1621
1674
  )}`,
1622
1675
  t,
1623
1676
  n
1624
1677
  ) : this.urls.agentResources ? `${this.resolveUrl(
1625
1678
  "agentResources",
1626
- `${H.agents}/${encodeURIComponent(t)}/resources`,
1679
+ `${z.agents}/${encodeURIComponent(t)}/resources`,
1627
1680
  t
1628
1681
  ).replace(/\/$/, "")}/${encodeURIComponent(n)}` : this.apiUrl(
1629
- `${H.agents}/${encodeURIComponent(t)}/resources/${encodeURIComponent(
1682
+ `${z.agents}/${encodeURIComponent(t)}/resources/${encodeURIComponent(
1630
1683
  n
1631
1684
  )}`
1632
1685
  );
@@ -1637,8 +1690,8 @@ class yt {
1637
1690
  headers: {
1638
1691
  ...this.customHeaders,
1639
1692
  ...this.authHeaders(),
1640
- Accept: ye.acceptJson,
1641
- ...s === void 0 ? {} : { "Content-Type": ye.contentTypeJson }
1693
+ Accept: be.acceptJson,
1694
+ ...s === void 0 ? {} : { "Content-Type": be.contentTypeJson }
1642
1695
  },
1643
1696
  ...s === void 0 ? {} : { body: JSON.stringify(s) }
1644
1697
  });
@@ -1653,7 +1706,7 @@ class yt {
1653
1706
  headers: {
1654
1707
  ...this.customHeaders,
1655
1708
  ...this.authHeaders(),
1656
- Accept: ye.acceptHtml
1709
+ Accept: be.acceptHtml
1657
1710
  }
1658
1711
  });
1659
1712
  if (!s.ok)
@@ -1666,7 +1719,7 @@ class yt {
1666
1719
  n = await t.json();
1667
1720
  } catch {
1668
1721
  }
1669
- return new De(
1722
+ return new He(
1670
1723
  t.status,
1671
1724
  n,
1672
1725
  `Agent service request failed (${t.status} ${t.statusText})`
@@ -1675,15 +1728,15 @@ class yt {
1675
1728
  async consumeSse(t, n) {
1676
1729
  const s = t.getReader(), r = new TextDecoder();
1677
1730
  let o = "", i;
1678
- const p = (d) => {
1679
- const { event: h, data: m } = Za(d);
1731
+ const u = (d) => {
1732
+ const { event: h, data: m } = gs(d);
1680
1733
  if (m === null)
1681
1734
  return;
1682
- if (h === xa.error) {
1683
- const y = Kt(m);
1684
- throw new De(502, y, (y == null ? void 0 : y.message) ?? "Chat stream error");
1735
+ if (h === Va.error) {
1736
+ const w = en(m);
1737
+ throw new He(502, w, (w == null ? void 0 : w.message) ?? "Chat stream error");
1685
1738
  }
1686
- const N = Kt(m);
1739
+ const N = en(m);
1687
1740
  N && (i = N, n == null || n(N));
1688
1741
  };
1689
1742
  for (; ; ) {
@@ -1696,14 +1749,14 @@ class yt {
1696
1749
  `);
1697
1750
  o = m.pop() ?? "";
1698
1751
  for (const N of m)
1699
- p(N);
1752
+ u(N);
1700
1753
  }
1701
- if (o.trim() && p(o), !i)
1702
- throw new De(502, null, "Chat stream ended without any events");
1754
+ if (o.trim() && u(o), !i)
1755
+ throw new He(502, null, "Chat stream ended without any events");
1703
1756
  return i;
1704
1757
  }
1705
1758
  }
1706
- const Za = (e) => {
1759
+ const gs = (e) => {
1707
1760
  let t = null;
1708
1761
  const n = [];
1709
1762
  for (const s of e.split(`
@@ -1716,43 +1769,43 @@ const Za = (e) => {
1716
1769
  data: n.length > 0 ? n.join(`
1717
1770
  `) : null
1718
1771
  };
1719
- }, Kt = (e) => {
1772
+ }, en = (e) => {
1720
1773
  try {
1721
1774
  return JSON.parse(e);
1722
1775
  } catch {
1723
1776
  return;
1724
1777
  }
1725
1778
  };
1726
- function Qa(e, t) {
1779
+ function hs(e, t) {
1727
1780
  const n = new FormData();
1728
1781
  n.append("body", JSON.stringify(e));
1729
1782
  for (const s of t)
1730
1783
  n.append("files", s, s.name);
1731
1784
  return n;
1732
1785
  }
1733
- const es = {
1734
- id: en,
1786
+ const us = {
1787
+ id: dn,
1735
1788
  author: oe.agent,
1736
1789
  text: "Type a question or upload a file. You can ask it how it's progressing, or send an instruction and it'll act on it."
1737
1790
  };
1738
- let Jt = 0;
1739
- const ts = (e) => (Jt += 1, `${e}-${Date.now()}-${Jt}`), ns = (e) => {
1791
+ let tn = 0;
1792
+ const ps = (e) => (tn += 1, `${e}-${Date.now()}-${tn}`), ms = (e) => {
1740
1793
  const t = e.destination ? ` to ${e.destination}` : "";
1741
1794
  return `Let's get started on ${e.tripName.trim() || e.destination.trim() || "this task"}${t}. What will you do first?`;
1742
1795
  };
1743
- class as {
1796
+ class _s {
1744
1797
  constructor(t, n, s = {}) {
1745
- this.seededChecklist = [], this.client = t, this.agentId = n, this.chatId = s.chatId ?? n, this.opening = s.openingMessage ?? es, this.model = s.model;
1798
+ this.seededChecklist = [], this.client = t, this.agentId = n, this.chatId = s.chatId ?? n, this.opening = s.openingMessage ?? us, this.model = s.model;
1746
1799
  }
1747
1800
  openingMessage() {
1748
1801
  return this.opening;
1749
1802
  }
1750
1803
  async bootstrapConversation() {
1751
- const t = await this.client.getConversation(this.chatId), n = Wa(t.messages);
1804
+ const t = await this.client.getConversation(this.chatId), n = os(t.messages);
1752
1805
  return n.length === 0 ? [this.opening] : n;
1753
1806
  }
1754
1807
  async start(t) {
1755
- return { ...await this.exchange(ns(t)), phase: B.running };
1808
+ return { ...await this.exchange(ms(t)), phase: B.running };
1756
1809
  }
1757
1810
  sendMessage(t, n) {
1758
1811
  return this.exchange(t, n);
@@ -1765,7 +1818,7 @@ class as {
1765
1818
  }
1766
1819
  async exchange(t, n) {
1767
1820
  var i;
1768
- const s = [{ role: Da.user, content: t }], r = await this.client.chat(
1821
+ const s = [{ role: Ya.user, content: t }], r = await this.client.chat(
1769
1822
  this.agentId,
1770
1823
  {
1771
1824
  messages: s,
@@ -1779,39 +1832,39 @@ class as {
1779
1832
  },
1780
1833
  ...n && n.length > 0 ? [{ uploadFiles: n }] : []
1781
1834
  ), o = {
1782
- id: r.event_id || ts("msg-agent"),
1835
+ id: r.event_id || ps("msg-agent"),
1783
1836
  author: oe.agent,
1784
1837
  text: r.message.content,
1785
1838
  ...(i = r.follow_up_prompts) != null && i.length ? { followUpPrompts: r.follow_up_prompts } : {}
1786
1839
  };
1787
1840
  try {
1788
- const p = await this.client.getAgent(this.agentId), { checklist: d } = Ja(this.agentId, p);
1841
+ const u = await this.client.getAgent(this.agentId), { checklist: d } = is(this.agentId, u);
1789
1842
  return this.seededChecklist = d, { message: o, checklist: d };
1790
1843
  } catch {
1791
1844
  return { message: o, ...this.seededChecklist.length ? { checklist: this.seededChecklist } : {} };
1792
1845
  }
1793
1846
  }
1794
1847
  }
1795
- const gn = (e, t) => (n) => {
1848
+ const kn = (e, t) => (n) => {
1796
1849
  var s, r;
1797
- return new as(e, n.invocation_id, {
1850
+ return new _s(e, n.invocation_id, {
1798
1851
  model: t == null ? void 0 : t.model,
1799
1852
  chatId: ((s = t == null ? void 0 : t.resolveChatId) == null ? void 0 : s.call(t, n)) ?? (t == null ? void 0 : t.chatId) ?? n.invocation_id,
1800
1853
  openingMessage: ((r = t == null ? void 0 : t.resolveOpeningMessage) == null ? void 0 : r.call(t, n)) ?? (t == null ? void 0 : t.openingMessage)
1801
1854
  });
1802
- }, hn = (e) => e instanceof De ? e.message : e instanceof TypeError ? "Network error while contacting the agent service." : e instanceof Error && e.message ? e.message : nn, ss = (e) => {
1855
+ }, yn = (e) => e instanceof He ? e.message : e instanceof TypeError ? "Network error while contacting the agent service." : e instanceof Error && e.message ? e.message : hn, fs = (e) => {
1803
1856
  const t = {};
1804
1857
  for (const n of e) {
1805
- const s = nt(n);
1858
+ const s = ot(n);
1806
1859
  if (!s)
1807
1860
  continue;
1808
1861
  const r = n.invocation_id ?? n.id;
1809
1862
  t[r] = s, t[n.id] = s;
1810
1863
  }
1811
1864
  return t;
1812
- }, rs = (e) => JSON.stringify(e), ft = (e, t) => JSON.stringify(e) === JSON.stringify(t), is = (e) => {
1813
- const { jwt: t, headers: n, urls: s } = e, r = JSON.stringify(n ?? {}), o = rs(s), i = V(
1814
- () => new yt({
1865
+ }, vs = (e) => JSON.stringify(e), At = (e, t) => JSON.stringify(e) === JSON.stringify(t), ws = (e) => {
1866
+ const { jwt: t, headers: n, urls: s } = e, r = JSON.stringify(n ?? {}), o = vs(s), i = X(
1867
+ () => new Ct({
1815
1868
  token: t,
1816
1869
  headers: n,
1817
1870
  urls: s
@@ -1819,107 +1872,107 @@ const gn = (e, t) => (n) => {
1819
1872
  // eslint-disable-next-line react-hooks/exhaustive-deps -- keyed on serialised config to keep a stable client.
1820
1873
  [t, o]
1821
1874
  );
1822
- et(() => {
1875
+ rt(() => {
1823
1876
  i.setHeaders(n);
1824
1877
  }, [i, r]);
1825
- const [p, d] = g([]), [h, m] = g(
1878
+ const [u, d] = g([]), [h, m] = g(
1826
1879
  []
1827
- ), [N, y] = g({}), [I, F] = g("loading"), [_, x] = g(null), [E, U] = g(0), A = S(
1828
- (O, G) => {
1829
- const q = O.map(Ft), Y = G.map(ln), Z = ss(O);
1880
+ ), [N, w] = g({}), [I, p] = g("loading"), [L, k] = g(null), [P, C] = g(0), A = S(
1881
+ (U, q) => {
1882
+ const K = U.map(Xt), V = q.map(fn), Z = fs(U);
1830
1883
  d(
1831
- ($) => ft($, q) ? $ : q
1884
+ (G) => At(G, K) ? G : K
1832
1885
  ), m(
1833
- ($) => ft($, Y) ? $ : Y
1834
- ), y(
1835
- ($) => ft($, Z) ? $ : Z
1836
- ), F("idle"), x(null);
1886
+ (G) => At(G, V) ? G : V
1887
+ ), w(
1888
+ (G) => At(G, Z) ? G : Z
1889
+ ), p("idle"), k(null);
1837
1890
  },
1838
1891
  []
1839
1892
  );
1840
- D(() => {
1841
- let O = !1;
1842
- return F("loading"), x(null), (async () => {
1893
+ $(() => {
1894
+ let U = !1;
1895
+ return p("loading"), k(null), (async () => {
1843
1896
  try {
1844
- const [G, q] = await Promise.all([
1897
+ const [q, K] = await Promise.all([
1845
1898
  i.listAgents(),
1846
1899
  i.listAgentDefinitions()
1847
1900
  ]);
1848
- if (O)
1901
+ if (U)
1849
1902
  return;
1850
- A(G, q);
1851
- } catch (G) {
1852
- if (O)
1903
+ A(q, K);
1904
+ } catch (q) {
1905
+ if (U)
1853
1906
  return;
1854
- d([]), m([]), y({}), F("error"), x(hn(G));
1907
+ d([]), m([]), w({}), p("error"), k(yn(q));
1855
1908
  }
1856
1909
  })(), () => {
1857
- O = !0;
1910
+ U = !0;
1858
1911
  };
1859
- }, [A, i, E]);
1860
- const f = S(() => {
1861
- U((O) => O + 1);
1862
- }, []), b = S(async () => {
1912
+ }, [A, i, P]);
1913
+ const v = S(() => {
1914
+ C((U) => U + 1);
1915
+ }, []), T = S(async () => {
1863
1916
  try {
1864
- const [O, G] = await Promise.all([
1917
+ const [U, q] = await Promise.all([
1865
1918
  i.listAgents(),
1866
1919
  i.listAgentDefinitions()
1867
1920
  ]);
1868
- A(O, G);
1921
+ A(U, q);
1869
1922
  } catch {
1870
1923
  }
1871
- }, [A, i]), w = S(
1872
- async (O) => {
1873
- const [G, q] = await Promise.all([
1874
- i.getAgentChecklist(O),
1875
- i.getAgent(O).catch(() => null)
1924
+ }, [A, i]), O = S(
1925
+ async (U) => {
1926
+ const [q, K] = await Promise.all([
1927
+ i.getAgentChecklist(U),
1928
+ i.getAgent(U).catch(() => null)
1876
1929
  ]);
1877
- return dn(
1878
- O,
1879
- G,
1880
- q ?? void 0
1930
+ return wn(
1931
+ U,
1932
+ q,
1933
+ K ?? void 0
1881
1934
  );
1882
1935
  },
1883
1936
  [i]
1884
- ), R = S(
1885
- async (O) => i.listAllAgentResources(O),
1937
+ ), y = S(
1938
+ async (U) => i.listAllAgentResources(U),
1886
1939
  [i]
1887
- ), z = S(
1940
+ ), M = S(
1888
1941
  async ({
1889
- definition: O,
1890
- invocationName: G
1942
+ definition: U,
1943
+ invocationName: q
1891
1944
  }) => {
1892
- const q = await i.createAgent(O.ref, {
1893
- invocationName: G
1894
- }), Y = await i.getAgent(q.id), Z = Ft(Y), $ = nt(Y);
1895
- return d((ee) => [Z, ...ee]), $ && y((ee) => ({
1896
- ...ee,
1897
- [Z.invocation_id]: $,
1898
- [Z.id]: $
1945
+ const K = await i.createAgent(U.ref, {
1946
+ invocationName: q
1947
+ }), V = await i.getAgent(K.id), Z = Xt(V), G = ot(V);
1948
+ return d((ae) => [Z, ...ae]), G && w((ae) => ({
1949
+ ...ae,
1950
+ [Z.invocation_id]: G,
1951
+ [Z.id]: G
1899
1952
  })), Z;
1900
1953
  },
1901
1954
  [i]
1902
- ), Te = V(
1903
- () => gn(i, {
1904
- resolveOpeningMessage: (O) => N[O.invocation_id] ?? N[O.id]
1955
+ ), ne = X(
1956
+ () => kn(i, {
1957
+ resolveOpeningMessage: (U) => N[U.invocation_id] ?? N[U.id]
1905
1958
  }),
1906
1959
  [i, N]
1907
1960
  );
1908
1961
  return {
1909
- agents: p,
1962
+ agents: u,
1910
1963
  agentDefinitions: h,
1911
1964
  loadState: I,
1912
- loadError: _,
1913
- reload: f,
1914
- refresh: b,
1915
- fetchAgentChecklist: w,
1916
- fetchAgentResources: R,
1917
- createAgent: z,
1918
- chatConnector: Te
1965
+ loadError: L,
1966
+ reload: v,
1967
+ refresh: T,
1968
+ fetchAgentChecklist: O,
1969
+ fetchAgentResources: y,
1970
+ createAgent: M,
1971
+ chatConnector: ne
1919
1972
  };
1920
- }, os = (e) => JSON.stringify(e), ls = (e) => {
1921
- const { agent: t, jwt: n, headers: s, urls: r, chatId: o } = e, i = JSON.stringify(s ?? {}), p = os(r), d = V(
1922
- () => new yt({
1973
+ }, ks = (e) => JSON.stringify(e), ys = (e) => {
1974
+ const { agent: t, jwt: n, headers: s, urls: r, chatId: o } = e, i = JSON.stringify(s ?? {}), u = ks(r), d = X(
1975
+ () => new Ct({
1923
1976
  token: n,
1924
1977
  headers: s,
1925
1978
  urls: {
@@ -1933,45 +1986,48 @@ const gn = (e, t) => (n) => {
1933
1986
  }
1934
1987
  }),
1935
1988
  // eslint-disable-next-line react-hooks/exhaustive-deps -- keyed on serialised config to keep a stable client.
1936
- [n, p]
1989
+ [n, u]
1937
1990
  );
1938
- et(() => {
1991
+ rt(() => {
1939
1992
  d.setHeaders(s);
1940
1993
  }, [d, i]);
1941
1994
  const h = S(
1942
- async (_) => {
1943
- const [x, E] = await Promise.all([
1944
- d.getAgentChecklist(_),
1945
- d.getAgent(_).catch(() => null)
1995
+ async (k) => {
1996
+ const [P, C] = await Promise.all([
1997
+ d.getAgentChecklist(k),
1998
+ d.getAgent(k).catch(() => null)
1946
1999
  ]);
1947
- return dn(
1948
- _,
1949
- x,
1950
- E ?? void 0
2000
+ return wn(
2001
+ k,
2002
+ P,
2003
+ C ?? void 0
1951
2004
  );
1952
2005
  },
1953
2006
  [d]
1954
2007
  ), m = S(
1955
- async (_) => d.listAllAgentResources(_),
2008
+ async (k) => d.listAllAgentResources(k),
1956
2009
  [d]
1957
2010
  ), N = S(
1958
- async (_, x) => d.getAgentResourceHtml(_, x),
2011
+ async (k) => d.getAgentContext(k),
1959
2012
  [d]
1960
- ), y = S(
1961
- async (_) => {
1962
- const x = await d.getAgentTimeline(_);
1963
- return qa(x);
1964
- },
2013
+ ), w = S(
2014
+ async (k, P) => d.getAgentResourceHtml(k, P),
1965
2015
  [d]
1966
2016
  ), I = S(
1967
- async (_, x) => {
1968
- await d.updateAgent(_, { invocationName: x });
2017
+ async (k) => {
2018
+ const P = await d.getAgentTimeline(k);
2019
+ return ss(P);
2020
+ },
2021
+ [d]
2022
+ ), p = S(
2023
+ async (k, P) => {
2024
+ await d.updateAgent(k, { invocationName: P });
1969
2025
  },
1970
2026
  [d]
1971
2027
  );
1972
2028
  return {
1973
- connector: V(
1974
- () => gn(d, {
2029
+ connector: X(
2030
+ () => kn(d, {
1975
2031
  chatId: o ?? t.invocation_id
1976
2032
  })(t),
1977
2033
  // Key on invocation/chat ids so a new Agent object reference does not rebuild the connector.
@@ -1979,29 +2035,30 @@ const gn = (e, t) => (n) => {
1979
2035
  [d, t.invocation_id, o]
1980
2036
  ),
1981
2037
  fetchAgentChecklist: h,
2038
+ fetchAgentContext: N,
1982
2039
  fetchAgentResources: m,
1983
- fetchAgentResourceHtml: N,
1984
- fetchAgentTimeline: y,
1985
- updateAgentInvocationName: I
2040
+ fetchAgentResourceHtml: w,
2041
+ fetchAgentTimeline: I,
2042
+ updateAgentInvocationName: p
1986
2043
  };
1987
- }, cs = 3e4, ds = (e, t) => {
2044
+ }, Ns = 3e4, As = (e, t) => {
1988
2045
  const n = e.hasRunBefore ? t || "This trip" : e.tripName.trim() || "A new trip", s = e.destination ? ` to ${e.destination}` : "", r = e.hasRunBefore ? " It has run before." : "";
1989
2046
  return `${n}${s}.${r}`.trim();
1990
- }, gs = (e) => {
2047
+ }, bs = (e) => {
1991
2048
  switch (e) {
1992
- case T.failed:
2049
+ case R.failed:
1993
2050
  return B.stopped;
1994
- case T.complete:
2051
+ case R.complete:
1995
2052
  return B.complete;
1996
2053
  default:
1997
2054
  return B.running;
1998
2055
  }
1999
- }, Wt = (e, t) => {
2000
- t([Se(e)]);
2001
- }, hs = (e, t) => e.length === t.length && e.every((n, s) => {
2056
+ }, nn = (e, t) => {
2057
+ t([Te(e)]);
2058
+ }, Ss = (e, t) => e.length === t.length && e.every((n, s) => {
2002
2059
  const r = t[s];
2003
2060
  return r !== void 0 && n.id === r.id && n.text === r.text;
2004
- }), us = ({
2061
+ }), Cs = ({
2005
2062
  agent: e,
2006
2063
  invocationId: t,
2007
2064
  open: n,
@@ -2009,362 +2066,388 @@ const gn = (e, t) => (n) => {
2009
2066
  jwt: r,
2010
2067
  headers: o,
2011
2068
  agentUrl: i,
2012
- agentChecklistUrl: p,
2069
+ agentChecklistUrl: u,
2013
2070
  agentResourcesUrl: d,
2014
2071
  agentTimelineUrl: h,
2015
2072
  agentChatUrl: m,
2016
2073
  agentConversationUrl: N,
2017
- stopAgentUrl: y,
2074
+ stopAgentUrl: w,
2018
2075
  chatId: I,
2019
- enableUpload: F,
2020
- initialBrief: _,
2021
- initialPhase: x,
2022
- initialChecklist: E,
2023
- usePusherToRepoll: U = !1,
2024
- pusherChannelPrefix: A = on,
2025
- subscribeToPusher: f
2076
+ enableUpload: p,
2077
+ adminMode: L = !1,
2078
+ initialBrief: k,
2079
+ initialPhase: P,
2080
+ initialChecklist: C,
2081
+ usePusherToRepoll: A = !1,
2082
+ pusherChannelPrefix: v = _n,
2083
+ subscribeToPusher: T
2026
2084
  }) => {
2027
- const [b, w] = g(I ?? t), [R, z] = g("chat"), [Te, O] = g(!1), {
2028
- connector: G,
2029
- fetchAgentChecklist: q,
2030
- fetchAgentResources: Y,
2031
- fetchAgentResourceHtml: Z,
2032
- fetchAgentTimeline: $,
2033
- updateAgentInvocationName: ee
2034
- } = ls({
2085
+ const [O, y] = g(I ?? t), [M, ne] = g("chat"), [U, q] = g(!1), {
2086
+ connector: K,
2087
+ fetchAgentChecklist: V,
2088
+ fetchAgentContext: Z,
2089
+ fetchAgentResources: G,
2090
+ fetchAgentResourceHtml: ae,
2091
+ fetchAgentTimeline: ge,
2092
+ updateAgentInvocationName: Le
2093
+ } = ys({
2035
2094
  agent: { ...e, invocation_id: t },
2036
2095
  jwt: r,
2037
2096
  headers: o,
2038
- chatId: b,
2097
+ chatId: O,
2039
2098
  urls: {
2040
2099
  agentUrl: i,
2041
- agentChecklistUrl: p,
2100
+ agentChecklistUrl: u,
2042
2101
  agentResourcesUrl: d,
2043
2102
  agentTimelineUrl: h,
2044
2103
  agentChatUrl: m,
2045
2104
  agentConversationUrl: N,
2046
- stopAgentUrl: y
2105
+ stopAgentUrl: w
2047
2106
  }
2048
- }), K = re(G), [Re, ke] = g(e.invocation_name), [ge, Ne] = g(0), [Me, _e] = g(null), [Q, Ie] = g(
2049
- x ?? (_ ? B.running : gs(e.status))
2050
- ), [Ae, te] = g([]), [He, ne] = g(0), [ze, Ge] = g(), [Be, be] = g(null), [at, Oe] = g([]), [st, Le] = g(!1), [rt, Ue] = g(null), [it, Pe] = g(null), [Fe, u] = g(null), [C, k] = g(!1), [X, le] = g(null), [ae, he] = g(null), [qe, kt] = g(!1), [pn, ot] = g(null), [lt, Ke] = g(E ?? null), [mn, Nt] = g(!1), [_n, ct] = g(null), [At, bt] = g(!1), [St, Ct] = g(null), [Je, dt] = g(!1), [We, fn] = g(!1), [je, vn] = g(!1), Et = re(Je), Tt = re(e.invocation_name), Rt = re(0), It = re(0);
2051
- D(() => {
2052
- K.current = G;
2053
- }, [G]), D(() => {
2054
- Tt.current = e.invocation_name;
2055
- }, [e.invocation_name]), D(() => {
2056
- Et.current = Je;
2057
- }, [Je]), D(() => {
2058
- w(I ?? t), z("chat"), O(!1), te([]), ne((c) => c + 1), _e(null);
2059
- }, [t, I]), D(() => {
2060
- ke(e.invocation_name), Ne((c) => c + 1);
2061
- }, [e.invocation_name]), D(() => {
2062
- if (!n || _)
2107
+ }), J = te(K), [Se, se] = g(e.invocation_name), [Ge, xe] = g(0), [Ce, he] = g(null), [ue, pe] = g(
2108
+ P ?? (k ? B.running : bs(e.status))
2109
+ ), [lt, Q] = g([]), [we, ke] = g(0), [Be, Fe] = g(), [qe, Ue] = g(null), [Je, Ke] = g([]), [We, je] = g(!1), [ct, Pe] = g(null), [Ve, De] = g(null), [_, E] = g(null), [b, Y] = g(!1), [ye, me] = g(null), [ee, $e] = g(null), [An, Et] = g(!1), [bn, dt] = g(null), [gt, Ye] = g(C ?? null), [Sn, Tt] = g(!1), [Cn, ht] = g(null), [En, Rt] = g(void 0), [ut, Ot] = g(!1), [pt, mt] = g(!1), [Tn, _t] = g(null), [It, Lt] = g(!1), [xt, Ut] = g(null), [Xe, ft] = g(!1), [Ze, Rn] = g(!1), [Qe, On] = g(!1), Pt = te(Xe), Dt = te(e.invocation_name), $t = te(0), Mt = te(0), Ee = te(0);
2110
+ $(() => {
2111
+ J.current = K;
2112
+ }, [K]), $(() => {
2113
+ Dt.current = e.invocation_name;
2114
+ }, [e.invocation_name]), $(() => {
2115
+ Pt.current = Xe;
2116
+ }, [Xe]), $(() => {
2117
+ y(I ?? t), ne("chat"), q(!1), Q([]), ke((c) => c + 1), he(null);
2118
+ }, [t, I]), $(() => (Ee.current += 1, Rt(void 0), Ot(!1), mt(!1), _t(null), () => {
2119
+ Ee.current += 1;
2120
+ }), [t]), $(() => {
2121
+ se(e.invocation_name), xe((c) => c + 1);
2122
+ }, [e.invocation_name]), $(() => {
2123
+ if (!n || k)
2063
2124
  return;
2064
- const c = K.current.bootstrapConversation;
2125
+ const c = J.current.bootstrapConversation;
2065
2126
  if (!c) {
2066
- Wt(K.current.openingMessage(), te);
2127
+ nn(J.current.openingMessage(), Q);
2067
2128
  return;
2068
2129
  }
2069
- let v = !1;
2070
- return dt(!0), (async () => {
2130
+ let f = !1;
2131
+ return ft(!0), (async () => {
2071
2132
  try {
2072
- const P = await c.call(K.current);
2073
- if (v)
2133
+ const D = await c.call(J.current);
2134
+ if (f)
2074
2135
  return;
2075
- te(P.map(Se));
2136
+ Q(D.map(Te));
2076
2137
  } catch {
2077
- v || Wt(K.current.openingMessage(), te);
2138
+ f || nn(J.current.openingMessage(), Q);
2078
2139
  } finally {
2079
- v || dt(!1);
2140
+ f || ft(!1);
2080
2141
  }
2081
2142
  })(), () => {
2082
- v = !0;
2143
+ f = !0;
2083
2144
  };
2084
- }, [n, _, t, b]);
2085
- const ce = S(() => {
2086
- const c = ++Rt.current;
2145
+ }, [n, k, t, O]);
2146
+ const le = S(() => {
2147
+ const c = ++$t.current;
2087
2148
  (async () => {
2088
- var v, P;
2149
+ var f, D;
2089
2150
  try {
2090
- const W = await q(t);
2091
- if (c !== Rt.current)
2151
+ const W = await V(t);
2152
+ if (c !== $t.current)
2092
2153
  return;
2093
- Ke(
2094
- (ue) => JSON.stringify(ue) === JSON.stringify(W.checklist) ? ue : W.checklist
2095
- ), ct(null), (P = (v = K.current).seedChecklist) == null || P.call(v, W.checklist);
2154
+ Ye(
2155
+ (_e) => JSON.stringify(_e) === JSON.stringify(W.checklist) ? _e : W.checklist
2156
+ ), ht(null), (D = (f = J.current).seedChecklist) == null || D.call(f, W.checklist);
2096
2157
  } catch {
2097
2158
  }
2098
2159
  })();
2099
- }, [q, t]), fe = S(() => {
2160
+ }, [V, t]), Ne = S(() => {
2100
2161
  d && (async () => {
2101
2162
  try {
2102
- const c = await Y(t);
2103
- Oe(c), Ue(null);
2163
+ const c = await G(t);
2164
+ Ke(c), Pe(null);
2104
2165
  } catch {
2105
2166
  }
2106
2167
  })();
2107
- }, [d, Y, t]), de = S(() => {
2168
+ }, [d, G, t]), ce = S(() => {
2108
2169
  if (!h)
2109
2170
  return;
2110
- const c = ++It.current;
2171
+ const c = ++Mt.current;
2111
2172
  (async () => {
2112
2173
  try {
2113
- const v = await $(t);
2114
- if (c !== It.current)
2174
+ const f = await ge(t);
2175
+ if (c !== Mt.current)
2115
2176
  return;
2116
- he(
2117
- (P) => JSON.stringify(P) === JSON.stringify(v) ? P : v
2118
- ), ot(null);
2177
+ $e(
2178
+ (D) => JSON.stringify(D) === JSON.stringify(f) ? D : f
2179
+ ), dt(null);
2119
2180
  } catch {
2120
2181
  }
2121
2182
  })();
2122
- }, [h, $, t]), xe = S(
2183
+ }, [h, ge, t]), Me = S(
2123
2184
  (c) => {
2124
- const v = K.current.bootstrapConversation;
2125
- v && (async () => {
2185
+ const f = J.current.bootstrapConversation;
2186
+ f && (async () => {
2126
2187
  try {
2127
- const P = await v.call(K.current);
2128
- if (Et.current)
2188
+ const D = await f.call(J.current);
2189
+ if (Pt.current)
2129
2190
  return;
2130
- const W = P.map(Se);
2131
- let ue = !1;
2132
- te((Ut) => hs(Ut, W) ? Ut : (ue = !0, W)), ue && (c != null && c.refreshSidePanelsOnChange) && (ce(), de());
2191
+ const W = D.map(Te);
2192
+ let _e = !1;
2193
+ Q((Gt) => Ss(Gt, W) ? Gt : (_e = !0, W)), _e && (c != null && c.refreshSidePanelsOnChange) && (le(), ce());
2133
2194
  } catch {
2134
2195
  }
2135
2196
  })();
2136
2197
  },
2137
- [ce, de]
2138
- ), wn = S(
2198
+ [le, ce]
2199
+ ), In = S(
2139
2200
  (c) => {
2140
2201
  switch (c) {
2141
- case we.checklist:
2142
- ce();
2202
+ case Ae.checklist:
2203
+ le();
2143
2204
  return;
2144
- case we.resources:
2145
- fe();
2205
+ case Ae.resources:
2206
+ Ne();
2146
2207
  return;
2147
- case we.chat:
2148
- xe();
2208
+ case Ae.chat:
2209
+ Me();
2149
2210
  return;
2150
- case we.timeline:
2151
- de();
2211
+ case Ae.timeline:
2212
+ ce();
2152
2213
  return;
2153
- case we.all:
2214
+ case Ae.all:
2154
2215
  default:
2155
- ce(), fe(), xe(), de();
2216
+ le(), Ne(), Me(), ce();
2156
2217
  }
2157
2218
  },
2158
- [ce, xe, fe, de]
2159
- ), Ot = Ua({
2160
- enabled: n && U,
2161
- channelPrefix: A,
2219
+ [le, Me, Ne, ce]
2220
+ ), Ht = Wa({
2221
+ enabled: n && A,
2222
+ channelPrefix: v,
2162
2223
  agentId: e.id,
2163
- subscribeToPusher: f,
2164
- onRepoll: wn
2224
+ subscribeToPusher: T,
2225
+ onRepoll: In
2165
2226
  });
2166
- D(() => {
2167
- if (!n || _ || Ot)
2227
+ $(() => {
2228
+ if (!n || k || Ht)
2168
2229
  return;
2169
2230
  const c = window.setInterval(() => {
2170
- xe({ refreshSidePanelsOnChange: !0 });
2171
- }, cs);
2231
+ Me({ refreshSidePanelsOnChange: !0 });
2232
+ }, Ns);
2172
2233
  return () => {
2173
2234
  window.clearInterval(c);
2174
2235
  };
2175
- }, [n, _, Ot, t, b, xe]);
2176
- const yn = S(
2236
+ }, [n, k, Ht, t, O, Me]);
2237
+ const Ln = S(
2177
2238
  (c) => {
2178
- var v, P;
2179
- c.checklist ? (Ke(c.checklist), (P = (v = K.current).seedChecklist) == null || P.call(v, c.checklist)) : ce(), c.phase && Ie(c.phase), fe(), de();
2239
+ var f, D;
2240
+ c.checklist ? (Ye(c.checklist), (D = (f = J.current).seedChecklist) == null || D.call(f, c.checklist)) : le(), c.phase && pe(c.phase), Ne(), ce();
2180
2241
  },
2181
- [ce, fe, de]
2242
+ [le, Ne, ce]
2182
2243
  );
2183
- D(() => {
2184
- var c, v;
2185
- !n || _ || E && E.length > 0 && ((v = (c = K.current).seedChecklist) == null || v.call(c, E));
2186
- }, [n, _, E]), D(() => {
2187
- if (!n || _)
2244
+ $(() => {
2245
+ var c, f;
2246
+ !n || k || C && C.length > 0 && ((f = (c = J.current).seedChecklist) == null || f.call(c, C));
2247
+ }, [n, k, C]), $(() => {
2248
+ if (!n || k)
2188
2249
  return;
2189
2250
  let c = !1;
2190
- return Nt((v) => E != null && E.length ? !1 : v || lt === null || lt.length === 0), ct(null), (async () => {
2191
- var v, P;
2251
+ return Tt((f) => C != null && C.length ? !1 : f || gt === null || gt.length === 0), ht(null), (async () => {
2252
+ var f, D;
2192
2253
  try {
2193
- const W = await q(t);
2254
+ const W = await V(t);
2194
2255
  if (c)
2195
2256
  return;
2196
- E != null && E.length || (Ke(W.checklist), (P = (v = K.current).seedChecklist) == null || P.call(v, W.checklist));
2257
+ C != null && C.length || (Ye(W.checklist), (D = (f = J.current).seedChecklist) == null || D.call(f, W.checklist));
2197
2258
  } catch {
2198
- !c && !(E != null && E.length) && ct(Ze);
2259
+ !c && !(C != null && C.length) && ht(at);
2199
2260
  } finally {
2200
- c || Nt(!1);
2261
+ c || Tt(!1);
2201
2262
  }
2202
2263
  })(), () => {
2203
2264
  c = !0;
2204
2265
  };
2205
- }, [n, t, _, E, q]), D(() => {
2266
+ }, [n, t, k, C, V]), $(() => {
2206
2267
  if (!n || !d)
2207
2268
  return;
2208
2269
  let c = !1;
2209
- return Le(!0), Ue(null), (async () => {
2270
+ return je(!0), Pe(null), (async () => {
2210
2271
  try {
2211
- const v = await Y(t);
2212
- c || Oe(v);
2272
+ const f = await G(t);
2273
+ c || Ke(f);
2213
2274
  } catch {
2214
- c || Ue(Bn);
2275
+ c || Pe(na);
2215
2276
  } finally {
2216
- c || Le(!1);
2277
+ c || je(!1);
2217
2278
  }
2218
2279
  })(), () => {
2219
2280
  c = !0;
2220
2281
  };
2221
- }, [n, t, d, Y]);
2222
- const kn = S(() => {
2223
- Pe(null), u(null), le(null), k(!1);
2224
- }, []), Nn = S(
2282
+ }, [n, t, d, G]);
2283
+ const xn = S(() => {
2284
+ De(null), E(null), me(null), Y(!1);
2285
+ }, []), Un = S(
2225
2286
  (c) => {
2226
2287
  if (c.misRecordUrl) {
2227
2288
  window.open(c.misRecordUrl, "_blank", "noopener,noreferrer");
2228
2289
  return;
2229
2290
  }
2230
- Pe(c), u(null), le(null), k(!0), (async () => {
2291
+ De(c), E(null), me(null), Y(!0), (async () => {
2231
2292
  try {
2232
- const v = await Z(t, c.id);
2233
- u(v);
2293
+ const f = await ae(t, c.id);
2294
+ E(f);
2234
2295
  } catch {
2235
- le(Fn);
2296
+ me(aa);
2236
2297
  } finally {
2237
- k(!1);
2298
+ Y(!1);
2238
2299
  }
2239
2300
  })();
2240
2301
  },
2241
- [Z, t]
2302
+ [ae, t]
2242
2303
  );
2243
- D(() => {
2304
+ $(() => {
2244
2305
  if (!n || !h)
2245
2306
  return;
2246
2307
  let c = !1;
2247
- return kt((v) => v || ae === null), ot(null), (async () => {
2308
+ return Et((f) => f || ee === null), dt(null), (async () => {
2248
2309
  try {
2249
- const v = await $(t);
2250
- c || he(v);
2310
+ const f = await ge(t);
2311
+ c || $e(f);
2251
2312
  } catch {
2252
- c || ot(tn);
2313
+ c || dt(gn);
2253
2314
  } finally {
2254
- c || kt(!1);
2315
+ c || Et(!1);
2255
2316
  }
2256
2317
  })(), () => {
2257
2318
  c = !0;
2258
2319
  };
2259
- }, [n, t, h, $]), D(() => {
2260
- if (!n || !_)
2320
+ }, [n, t, h, ge]), $(() => {
2321
+ if (!n || !k)
2261
2322
  return;
2262
2323
  let c = !1;
2263
- const v = {
2324
+ const f = {
2264
2325
  id: `user-brief-${Date.now()}`,
2265
2326
  author: oe.user,
2266
2327
  // Read through a ref so a rename cannot re-trigger the agent run.
2267
- text: ds(_, Tt.current)
2328
+ text: As(k, Dt.current)
2268
2329
  };
2269
2330
  return (async () => {
2270
- var W, ue;
2271
- const P = await K.current.start(_);
2272
- c || (te([
2273
- Se(K.current.openingMessage()),
2274
- Se(v),
2275
- Se(P.message)
2276
- ]), P.checklist ? (Ke(P.checklist), (ue = (W = K.current).seedChecklist) == null || ue.call(W, P.checklist)) : ce(), Ie(P.phase ?? B.running), fe(), de());
2331
+ var W, _e;
2332
+ const D = await J.current.start(k);
2333
+ c || (Q([
2334
+ Te(J.current.openingMessage()),
2335
+ Te(f),
2336
+ Te(D.message)
2337
+ ]), D.checklist ? (Ye(D.checklist), (_e = (W = J.current).seedChecklist) == null || _e.call(W, D.checklist)) : le(), pe(D.phase ?? B.running), Ne(), ce());
2277
2338
  })(), () => {
2278
2339
  c = !0;
2279
2340
  };
2280
- }, [n, _, t, ce, fe, de]);
2281
- const An = S((c) => {
2282
- be(ba(c));
2283
- }, []), gt = I ?? t, Ve = ae == null ? void 0 : ae.chatSessions, Lt = Ve != null && Ve.length ? Ve.reduce(
2284
- (c, v) => Date.parse(v.timestamp) < Date.parse(c.timestamp) ? v : c
2285
- ).sessionId : void 0, ht = S(() => {
2286
- z("chat"), O(!1), b !== gt && (w(gt), te([]), ne((c) => c + 1));
2287
- }, [b, gt]), bn = S(
2341
+ }, [n, k, t, le, Ne, ce]);
2342
+ const Pn = S((c) => {
2343
+ Ue(Ma(c));
2344
+ }, []), vt = I ?? t, et = ee == null ? void 0 : ee.chatSessions, zt = et != null && et.length ? et.reduce(
2345
+ (c, f) => Date.parse(f.timestamp) < Date.parse(c.timestamp) ? f : c
2346
+ ).sessionId : void 0, wt = S(() => {
2347
+ ne("chat"), q(!1), O !== vt && (y(vt), Q([]), ke((c) => c + 1));
2348
+ }, [O, vt]), Dn = S(
2288
2349
  (c) => {
2289
- if (c === Lt) {
2290
- ht();
2350
+ if (c === zt) {
2351
+ wt();
2291
2352
  return;
2292
2353
  }
2293
- w(c), O(!0), z("chat"), te([]), ne((v) => v + 1);
2354
+ y(c), q(!0), ne("chat"), Q([]), ke((f) => f + 1);
2294
2355
  },
2295
- [Lt, ht]
2296
- ), Sn = S((c) => {
2297
- be(null), Ge(c), ne((v) => v + 1);
2298
- }, []), Cn = S(async () => {
2299
- Ct(null), bt(!0);
2356
+ [zt, wt]
2357
+ ), $n = S((c) => {
2358
+ Ue(null), Fe(c), ke((f) => f + 1);
2359
+ }, []), Mn = S(async () => {
2360
+ Ut(null), Lt(!0);
2300
2361
  try {
2301
- await K.current.stop(), Ie(B.stopped);
2362
+ await J.current.stop(), pe(B.stopped);
2302
2363
  } catch {
2303
- Ct(qn);
2364
+ Ut(sa);
2304
2365
  } finally {
2305
- bt(!1);
2366
+ Lt(!1);
2306
2367
  }
2307
- }, []), En = S(
2368
+ }, []), Hn = S(
2308
2369
  (c) => {
2309
- const v = c.trim(), P = Re;
2310
- if (_e(null), !v) {
2311
- Ne((W) => W + 1);
2370
+ const f = c.trim(), D = Se;
2371
+ if (he(null), !f) {
2372
+ xe((W) => W + 1);
2312
2373
  return;
2313
2374
  }
2314
- v !== P && (ke(v), (async () => {
2375
+ f !== D && (se(f), (async () => {
2315
2376
  try {
2316
- await ee(t, v);
2377
+ await Le(t, f);
2317
2378
  } catch {
2318
- ke(P), Ne((W) => W + 1), _e(Kn);
2379
+ se(D), xe((W) => W + 1), he(ra);
2319
2380
  }
2320
2381
  })());
2321
2382
  },
2322
- [Re, t, ee]
2323
- ), Tn = lt;
2324
- return /* @__PURE__ */ l(me, { open: n, closeHandler: s, hideCloseButton: !0, className: "agent-workspace", children: [
2325
- /* @__PURE__ */ l(me.Header, { className: "agent-workspace__header", children: [
2383
+ [Se, t, Le]
2384
+ ), zn = S(() => {
2385
+ if (!L || ut || pt)
2386
+ return;
2387
+ const c = ++Ee.current;
2388
+ mt(!0), _t(null), (async () => {
2389
+ try {
2390
+ const f = await Z(t);
2391
+ if (Ee.current !== c)
2392
+ return;
2393
+ Rt(f), Ot(!0);
2394
+ } catch {
2395
+ Ee.current === c && _t(ta);
2396
+ } finally {
2397
+ Ee.current === c && mt(!1);
2398
+ }
2399
+ })();
2400
+ }, [
2401
+ L,
2402
+ ut,
2403
+ pt,
2404
+ Z,
2405
+ t
2406
+ ]), Gn = gt;
2407
+ return /* @__PURE__ */ l(ve, { open: n, closeHandler: s, hideCloseButton: !0, className: "agent-workspace", children: [
2408
+ /* @__PURE__ */ l(ve.Header, { className: "agent-workspace__header", children: [
2326
2409
  /* @__PURE__ */ l("div", { className: "agent-workspace__header-title", children: [
2327
- /* @__PURE__ */ a("span", { className: "agent-workspace__header-avatar", "aria-hidden": "true", children: /* @__PURE__ */ a(L, { name: "ask-arbor", size: 24 }) }),
2328
- /* @__PURE__ */ a(me.Title, { children: /* @__PURE__ */ a(
2329
- In,
2410
+ /* @__PURE__ */ a("span", { className: "agent-workspace__header-avatar", "aria-hidden": "true", children: /* @__PURE__ */ a(x, { name: "ask-arbor", size: 24 }) }),
2411
+ /* @__PURE__ */ a(ve.Title, { children: /* @__PURE__ */ a(
2412
+ Fn,
2330
2413
  {
2331
2414
  className: "agent-workspace__header-name",
2332
- text: Re,
2333
- onEditSave: En
2415
+ text: Se,
2416
+ onEditSave: Hn
2334
2417
  },
2335
- ge
2418
+ Ge
2336
2419
  ) }),
2337
2420
  /* @__PURE__ */ a(
2338
2421
  "span",
2339
2422
  {
2340
- className: j("agent-workspace__phase", `agent-workspace__phase--${Q}`),
2341
- children: jn[Q]
2423
+ className: j("agent-workspace__phase", `agent-workspace__phase--${ue}`),
2424
+ children: la[ue]
2342
2425
  }
2343
2426
  ),
2344
- Me && /* @__PURE__ */ a("p", { className: "agent-workspace__error agent-workspace__name-error", role: "alert", children: Me })
2427
+ Ce && /* @__PURE__ */ a("p", { className: "agent-workspace__error agent-workspace__name-error", role: "alert", children: Ce })
2345
2428
  ] }),
2346
2429
  /* @__PURE__ */ l("div", { className: "agent-workspace__header-actions", children: [
2347
2430
  /* @__PURE__ */ a(
2348
2431
  ie,
2349
2432
  {
2350
- variant: We ? "secondary" : "primary",
2433
+ variant: Ze ? "secondary" : "primary",
2351
2434
  size: "S",
2352
2435
  iconLeftName: "clipboard-list",
2353
2436
  iconLeftScreenReaderText: "Toggle checklist",
2354
- "aria-pressed": !We,
2355
- onClick: () => fn((c) => !c),
2437
+ "aria-pressed": !Ze,
2438
+ onClick: () => Rn((c) => !c),
2356
2439
  children: "Checklist"
2357
2440
  }
2358
2441
  ),
2359
2442
  /* @__PURE__ */ a(
2360
2443
  ie,
2361
2444
  {
2362
- variant: je ? "secondary" : "primary",
2445
+ variant: Qe ? "secondary" : "primary",
2363
2446
  size: "S",
2364
2447
  iconLeftName: "files",
2365
2448
  iconLeftScreenReaderText: "Toggle resources",
2366
- "aria-pressed": !je,
2367
- onClick: () => vn((c) => !c),
2449
+ "aria-pressed": !Qe,
2450
+ onClick: () => On((c) => !c),
2368
2451
  children: "Resources"
2369
2452
  }
2370
2453
  ),
@@ -2382,24 +2465,24 @@ const gn = (e, t) => (n) => {
2382
2465
  ] })
2383
2466
  ] }),
2384
2467
  /* @__PURE__ */ l(
2385
- me.Body,
2468
+ ve.Body,
2386
2469
  {
2387
2470
  className: j("agent-workspace__body", {
2388
- "agent-workspace__body--no-checklist": We,
2389
- "agent-workspace__body--no-resources": je
2471
+ "agent-workspace__body--no-checklist": Ze,
2472
+ "agent-workspace__body--no-resources": Qe
2390
2473
  }),
2391
2474
  children: [
2392
2475
  /* @__PURE__ */ l(
2393
2476
  "section",
2394
2477
  {
2395
2478
  className: j("agent-workspace__panel", "agent-workspace__panel--chat", {
2396
- "agent-workspace__panel--timeline": !!h && R === "timeline"
2479
+ "agent-workspace__panel--timeline": !!h && M === "timeline"
2397
2480
  }),
2398
2481
  "aria-label": "Agent",
2399
2482
  children: [
2400
2483
  /* @__PURE__ */ l("div", { className: "agent-workspace__panel-header", children: [
2401
- /* @__PURE__ */ a(Ee, { level: 4, children: "Agent" }),
2402
- y && Q === B.running && /* @__PURE__ */ a(
2484
+ /* @__PURE__ */ a(Ie, { level: 4, children: "Agent" }),
2485
+ w && ue === B.running && /* @__PURE__ */ a(
2403
2486
  ie,
2404
2487
  {
2405
2488
  className: "agent-workspace__panel-header-action",
@@ -2407,76 +2490,76 @@ const gn = (e, t) => (n) => {
2407
2490
  size: "S",
2408
2491
  iconLeftName: "circle-x",
2409
2492
  iconLeftScreenReaderText: "Stop",
2410
- disabled: At,
2411
- onClick: () => void Cn(),
2412
- children: At ? "Stopping…" : "Stop agent"
2493
+ disabled: It,
2494
+ onClick: () => void Mn(),
2495
+ children: It ? "Stopping…" : "Stop agent"
2413
2496
  }
2414
2497
  )
2415
2498
  ] }),
2416
- St && /* @__PURE__ */ a("p", { className: "agent-workspace__error agent-workspace__stop-error", role: "alert", children: St }),
2417
- h && /* @__PURE__ */ l(ut, { className: "agent-workspace__center-tabs", "aria-label": "Center panel", children: [
2499
+ xt && /* @__PURE__ */ a("p", { className: "agent-workspace__error agent-workspace__stop-error", role: "alert", children: xt }),
2500
+ h && /* @__PURE__ */ l(Oe, { className: "agent-workspace__center-tabs", "aria-label": "Center panel", children: [
2418
2501
  /* @__PURE__ */ a(
2419
- ut.Item,
2502
+ Oe.Item,
2420
2503
  {
2421
- active: R === "chat",
2504
+ active: M === "chat",
2422
2505
  tabElementProps: {
2423
2506
  id: "agent-center-tab-chat",
2424
- onClick: () => z("chat")
2507
+ onClick: () => ne("chat")
2425
2508
  },
2426
2509
  children: "Chat"
2427
2510
  }
2428
2511
  ),
2429
2512
  /* @__PURE__ */ a(
2430
- ut.Item,
2513
+ Oe.Item,
2431
2514
  {
2432
- active: R === "timeline",
2515
+ active: M === "timeline",
2433
2516
  tabElementProps: {
2434
2517
  id: "agent-center-tab-timeline",
2435
- onClick: () => z("timeline")
2518
+ onClick: () => ne("timeline")
2436
2519
  },
2437
2520
  children: "Timeline"
2438
2521
  }
2439
2522
  )
2440
2523
  ] }),
2441
- h && R === "chat" && Te && /* @__PURE__ */ a("div", { className: "agent-workspace__center-back", children: /* @__PURE__ */ a(
2524
+ h && M === "chat" && U && /* @__PURE__ */ a("div", { className: "agent-workspace__center-back", children: /* @__PURE__ */ a(
2442
2525
  ie,
2443
2526
  {
2444
2527
  variant: "tertiary",
2445
2528
  size: "S",
2446
2529
  iconLeftName: "arrow-left",
2447
2530
  iconLeftScreenReaderText: "Back to main chat",
2448
- onClick: ht,
2531
+ onClick: wt,
2449
2532
  children: "Back to main chat"
2450
2533
  }
2451
2534
  ) }),
2452
- h && R === "timeline" && /* @__PURE__ */ a(
2453
- Na,
2535
+ h && M === "timeline" && /* @__PURE__ */ a(
2536
+ Da,
2454
2537
  {
2455
- timeline: ae,
2456
- isLoading: qe,
2457
- error: pn,
2458
- onOpenChatSession: bn
2538
+ timeline: ee,
2539
+ isLoading: An,
2540
+ error: bn,
2541
+ onOpenChatSession: Dn
2459
2542
  }
2460
2543
  ),
2461
2544
  /* @__PURE__ */ a(
2462
2545
  "div",
2463
2546
  {
2464
2547
  className: "agent-workspace__chat-keep-alive",
2465
- hidden: !!h && R !== "chat",
2548
+ hidden: !!h && M !== "chat",
2466
2549
  children: /* @__PURE__ */ a(
2467
- ca,
2550
+ Aa,
2468
2551
  {
2469
- connector: G,
2470
- phase: Q,
2471
- chatHistory: Ae,
2472
- chatSessionKey: He,
2473
- startQuery: ze,
2474
- clarificationMessage: Be,
2475
- enableUpload: F,
2476
- onTurn: yn,
2477
- onAwaitingChange: dt,
2478
- onClarificationPrompt: Sn,
2479
- onDismissClarification: () => be(null)
2552
+ connector: K,
2553
+ phase: ue,
2554
+ chatHistory: lt,
2555
+ chatSessionKey: we,
2556
+ startQuery: Be,
2557
+ clarificationMessage: qe,
2558
+ enableUpload: p,
2559
+ onTurn: Ln,
2560
+ onAwaitingChange: ft,
2561
+ onClarificationPrompt: $n,
2562
+ onDismissClarification: () => Ue(null)
2480
2563
  }
2481
2564
  )
2482
2565
  }
@@ -2484,41 +2567,48 @@ const gn = (e, t) => (n) => {
2484
2567
  ]
2485
2568
  }
2486
2569
  ),
2487
- !We && /* @__PURE__ */ a(
2488
- da,
2570
+ !Ze && /* @__PURE__ */ a(
2571
+ ba,
2489
2572
  {
2490
- checklist: Tn,
2491
- isLoading: mn,
2492
- error: _n,
2493
- phase: Q,
2494
- canRequestInput: Q === B.running && !Je,
2495
- onAttentionItemClick: An
2496
- }
2573
+ checklist: Gn,
2574
+ isLoading: Sn,
2575
+ error: Cn,
2576
+ phase: ue,
2577
+ canRequestInput: ue === B.running && !Xe,
2578
+ onAttentionItemClick: Pn,
2579
+ adminMode: L,
2580
+ context: En,
2581
+ contextLoaded: ut,
2582
+ contextLoading: pt,
2583
+ contextError: Tn,
2584
+ onContextSelect: zn
2585
+ },
2586
+ t
2497
2587
  ),
2498
- !je && /* @__PURE__ */ a(
2499
- ua,
2588
+ !Qe && /* @__PURE__ */ a(
2589
+ Ea,
2500
2590
  {
2501
- resources: at,
2502
- isLoading: st,
2503
- error: rt,
2504
- onOpenResource: Nn
2591
+ resources: Je,
2592
+ isLoading: We,
2593
+ error: ct,
2594
+ onOpenResource: Un
2505
2595
  }
2506
2596
  ),
2507
2597
  /* @__PURE__ */ a(
2508
- ga,
2598
+ Sa,
2509
2599
  {
2510
- resource: it,
2511
- html: Fe,
2512
- isLoading: C,
2513
- error: X,
2514
- onClose: kn
2600
+ resource: Ve,
2601
+ html: _,
2602
+ isLoading: b,
2603
+ error: ye,
2604
+ onClose: xn
2515
2605
  }
2516
2606
  )
2517
2607
  ]
2518
2608
  }
2519
2609
  )
2520
2610
  ] });
2521
- }, ps = "Unable to load agent definitions. Please try again.", ms = "Unable to start the agent.", jt = "Loading agents…", un = ({
2611
+ }, Es = "Unable to load agent definitions. Please try again.", Ts = "Unable to start the agent.", an = "Loading agents…", Nn = ({
2522
2612
  open: e,
2523
2613
  onClose: t,
2524
2614
  onStart: n,
@@ -2526,117 +2616,117 @@ const gn = (e, t) => (n) => {
2526
2616
  definitionsState: r = "idle",
2527
2617
  definitionsError: o = null,
2528
2618
  onRetryDefinitions: i,
2529
- embedded: p = !1
2619
+ embedded: u = !1
2530
2620
  }) => {
2531
- const [d, h] = g(void 0), [m, N] = g(""), [y, I] = g(!1), [F, _] = g(null), x = [...s].sort((w, R) => w.display_name.localeCompare(R.display_name)).map((w) => ({
2532
- value: w.ref,
2533
- label: w.display_name
2621
+ const [d, h] = g(void 0), [m, N] = g(""), [w, I] = g(!1), [p, L] = g(null), k = [...s].sort((O, y) => O.display_name.localeCompare(y.display_name)).map((O) => ({
2622
+ value: O.ref,
2623
+ label: O.display_name
2534
2624
  }));
2535
- D(() => {
2536
- e && (h(void 0), N(""), I(!1), _(null));
2625
+ $(() => {
2626
+ e && (h(void 0), N(""), I(!1), L(null));
2537
2627
  }, [e]);
2538
- const E = d !== void 0 && m.trim().length > 0, U = S(
2539
- (w) => {
2540
- const R = s.find((z) => z.ref === w[0]);
2541
- R && h(R);
2628
+ const P = d !== void 0 && m.trim().length > 0, C = S(
2629
+ (O) => {
2630
+ const y = s.find((M) => M.ref === O[0]);
2631
+ y && h(y);
2542
2632
  },
2543
2633
  [s]
2544
2634
  ), A = S(async () => {
2545
- if (!(!d || !E || y)) {
2546
- I(!0), _(null);
2635
+ if (!(!d || !P || w)) {
2636
+ I(!0), L(null);
2547
2637
  try {
2548
2638
  await n({ definition: d, invocationName: m.trim() });
2549
- } catch (w) {
2550
- _(w instanceof Error ? w.message : ms);
2639
+ } catch (O) {
2640
+ L(O instanceof Error ? O.message : Ts);
2551
2641
  } finally {
2552
2642
  I(!1);
2553
2643
  }
2554
2644
  }
2555
- }, [E, d, m, y, n]);
2645
+ }, [P, d, m, w, n]);
2556
2646
  if (r === "idle" && s.length === 0 || !e)
2557
2647
  return null;
2558
- const f = /* @__PURE__ */ l("div", { className: "new-agent__header-title", children: [
2559
- /* @__PURE__ */ a("span", { className: "new-agent__header-avatar", "aria-hidden": "true", children: /* @__PURE__ */ a(L, { name: "ask-arbor", size: 24 }) }),
2560
- p ? /* @__PURE__ */ a("h2", { className: "new-agent__title", children: "Start an agent" }) : /* @__PURE__ */ a(me.Title, { children: "Start an agent" })
2648
+ const v = /* @__PURE__ */ l("div", { className: "new-agent__header-title", children: [
2649
+ /* @__PURE__ */ a("span", { className: "new-agent__header-avatar", "aria-hidden": "true", children: /* @__PURE__ */ a(x, { name: "ask-arbor", size: 24 }) }),
2650
+ u ? /* @__PURE__ */ a("h2", { className: "new-agent__title", children: "Start an agent" }) : /* @__PURE__ */ a(ve.Title, { children: "Start an agent" })
2561
2651
  ] });
2562
- let b;
2563
- return r === "loading" ? b = /* @__PURE__ */ l("div", { className: "new-agent__state", "aria-live": "polite", children: [
2652
+ let T;
2653
+ return r === "loading" ? T = /* @__PURE__ */ l("div", { className: "new-agent__state", "aria-live": "polite", children: [
2564
2654
  /* @__PURE__ */ a(
2565
- L,
2655
+ x,
2566
2656
  {
2567
2657
  name: "loader",
2568
2658
  size: 24,
2569
2659
  color: "var(--color-brand-600)",
2570
2660
  className: "new-agent__spinner",
2571
- screenReaderText: jt
2661
+ screenReaderText: an
2572
2662
  }
2573
2663
  ),
2574
- /* @__PURE__ */ a("p", { className: "new-agent__state-message", children: jt })
2575
- ] }) : r === "error" ? b = /* @__PURE__ */ l("div", { className: "new-agent__state new-agent__state--error", role: "alert", children: [
2576
- /* @__PURE__ */ a(L, { name: "triangle-alert", size: 24, color: "var(--color-semantic-destructive-600)" }),
2577
- /* @__PURE__ */ a("p", { className: "new-agent__state-message", children: o ?? ps }),
2664
+ /* @__PURE__ */ a("p", { className: "new-agent__state-message", children: an })
2665
+ ] }) : r === "error" ? T = /* @__PURE__ */ l("div", { className: "new-agent__state new-agent__state--error", role: "alert", children: [
2666
+ /* @__PURE__ */ a(x, { name: "triangle-alert", size: 24, color: "var(--color-semantic-destructive-600)" }),
2667
+ /* @__PURE__ */ a("p", { className: "new-agent__state-message", children: o ?? Es }),
2578
2668
  i ? /* @__PURE__ */ a(ie, { variant: "secondary", size: "S", onClick: i, children: "Try again" }) : null
2579
- ] }) : b = /* @__PURE__ */ l(
2669
+ ] }) : T = /* @__PURE__ */ l(
2580
2670
  "form",
2581
2671
  {
2582
2672
  className: "new-agent__form",
2583
2673
  "aria-label": "Start an agent",
2584
- onSubmit: (w) => {
2585
- w.preventDefault(), E && !y && A();
2674
+ onSubmit: (O) => {
2675
+ O.preventDefault(), P && !w && A();
2586
2676
  },
2587
2677
  children: [
2588
2678
  /* @__PURE__ */ l("div", { className: "new-agent__type-field", children: [
2589
2679
  /* @__PURE__ */ a("label", { className: "new-agent__type-label", htmlFor: "new-agent-type", children: "What would you like your agent to do?" }),
2590
2680
  /* @__PURE__ */ a(
2591
- On,
2681
+ qn,
2592
2682
  {
2593
2683
  id: "new-agent-type",
2594
2684
  placeholder: "Which agent would you like to start?",
2595
- options: x,
2685
+ options: k,
2596
2686
  selectedValues: d ? [d.ref] : [],
2597
- onSelectionChange: U
2687
+ onSelectionChange: C
2598
2688
  }
2599
2689
  )
2600
2690
  ] }),
2601
2691
  /* @__PURE__ */ l("div", { className: "new-agent__type-field", children: [
2602
2692
  /* @__PURE__ */ a("label", { className: "new-agent__type-label", htmlFor: "new-agent-invocation-name", children: "Name" }),
2603
2693
  /* @__PURE__ */ a(
2604
- Ln,
2694
+ Jn,
2605
2695
  {
2606
2696
  id: "new-agent-invocation-name",
2607
2697
  value: m,
2608
2698
  placeholder: "What would you like to call your agent?",
2609
- onChange: (w) => N(w.target.value)
2699
+ onChange: (O) => N(O.target.value)
2610
2700
  }
2611
2701
  )
2612
2702
  ] }),
2613
- F ? /* @__PURE__ */ a("p", { className: "new-agent__error", role: "alert", children: F }) : null,
2703
+ p ? /* @__PURE__ */ a("p", { className: "new-agent__error", role: "alert", children: p }) : null,
2614
2704
  /* @__PURE__ */ a("div", { className: "new-agent__actions", children: /* @__PURE__ */ a(
2615
2705
  ie,
2616
2706
  {
2617
2707
  type: "submit",
2618
2708
  variant: "primary",
2619
2709
  className: j("new-agent__start-button", {
2620
- "new-agent__start-button--starting": y
2710
+ "new-agent__start-button--starting": w
2621
2711
  }),
2622
- disabled: !E || y,
2623
- iconLeftName: y ? "loader" : "sparkles",
2624
- iconLeftScreenReaderText: y ? "Starting" : void 0,
2625
- children: y ? "Starting…" : "Start"
2712
+ disabled: !P || w,
2713
+ iconLeftName: w ? "loader" : "sparkles",
2714
+ iconLeftScreenReaderText: w ? "Starting" : void 0,
2715
+ children: w ? "Starting…" : "Start"
2626
2716
  }
2627
2717
  ) })
2628
2718
  ]
2629
2719
  }
2630
- ), p ? /* @__PURE__ */ l("div", { className: j("new-agent", "new-agent--embedded"), children: [
2631
- /* @__PURE__ */ a("div", { className: "new-agent__header", children: f }),
2632
- /* @__PURE__ */ a("div", { className: "new-agent__body", children: b })
2633
- ] }) : /* @__PURE__ */ l(me, { open: e, closeHandler: t, className: "new-agent", children: [
2634
- /* @__PURE__ */ a(me.Header, { className: "new-agent__header", children: f }),
2635
- /* @__PURE__ */ a(me.Body, { className: "new-agent__body", children: b })
2720
+ ), u ? /* @__PURE__ */ l("div", { className: j("new-agent", "new-agent--embedded"), children: [
2721
+ /* @__PURE__ */ a("div", { className: "new-agent__header", children: v }),
2722
+ /* @__PURE__ */ a("div", { className: "new-agent__body", children: T })
2723
+ ] }) : /* @__PURE__ */ l(ve, { open: e, closeHandler: t, className: "new-agent", children: [
2724
+ /* @__PURE__ */ a(ve.Header, { className: "new-agent__header", children: v }),
2725
+ /* @__PURE__ */ a(ve.Body, { className: "new-agent__body", children: T })
2636
2726
  ] });
2637
- }, Vt = (e) => {
2727
+ }, sn = (e) => {
2638
2728
  window.location.assign(e);
2639
- }, _s = ({
2729
+ }, Rs = ({
2640
2730
  open: e,
2641
2731
  authToken: t,
2642
2732
  headers: n,
@@ -2644,12 +2734,12 @@ const gn = (e, t) => (n) => {
2644
2734
  agentsUrl: r,
2645
2735
  closeUrl: o,
2646
2736
  successUrl: i,
2647
- onClose: p,
2737
+ onClose: u,
2648
2738
  onStart: d,
2649
2739
  embedded: h = !1
2650
2740
  }) => {
2651
- const m = JSON.stringify(n ?? {}), N = V(
2652
- () => new yt({
2741
+ const m = JSON.stringify(n ?? {}), N = X(
2742
+ () => new Ct({
2653
2743
  token: t,
2654
2744
  headers: n,
2655
2745
  urls: {
@@ -2659,53 +2749,53 @@ const gn = (e, t) => (n) => {
2659
2749
  }),
2660
2750
  // eslint-disable-next-line react-hooks/exhaustive-deps -- keyed on serialised config to keep a stable client.
2661
2751
  [t, s, r, m]
2662
- ), [y, I] = g([]), [F, _] = g("loading"), [x, E] = g(null), [U, A] = g(0);
2663
- D(() => {
2752
+ ), [w, I] = g([]), [p, L] = g("loading"), [k, P] = g(null), [C, A] = g(0);
2753
+ $(() => {
2664
2754
  if (!e)
2665
2755
  return;
2666
- let R = !1;
2667
- return _("loading"), E(null), (async () => {
2756
+ let y = !1;
2757
+ return L("loading"), P(null), (async () => {
2668
2758
  try {
2669
- const z = await N.listAgentDefinitions();
2670
- if (R)
2759
+ const M = await N.listAgentDefinitions();
2760
+ if (y)
2671
2761
  return;
2672
- I(z.map(ln)), _("idle");
2673
- } catch (z) {
2674
- if (R)
2762
+ I(M.map(fn)), L("idle");
2763
+ } catch (M) {
2764
+ if (y)
2675
2765
  return;
2676
- I([]), E(hn(z)), _("error");
2766
+ I([]), P(yn(M)), L("error");
2677
2767
  }
2678
2768
  })(), () => {
2679
- R = !0;
2769
+ y = !0;
2680
2770
  };
2681
- }, [N, e, U]);
2682
- const f = S(() => {
2683
- p == null || p(), o && Vt(o);
2684
- }, [o, p]), b = S(
2685
- async (R) => {
2686
- await N.createAgent(R.definition.ref, {
2687
- invocationName: R.invocationName
2688
- }), d == null || d(R), i && Vt(i);
2771
+ }, [N, e, C]);
2772
+ const v = S(() => {
2773
+ u == null || u(), o && sn(o);
2774
+ }, [o, u]), T = S(
2775
+ async (y) => {
2776
+ await N.createAgent(y.definition.ref, {
2777
+ invocationName: y.invocationName
2778
+ }), d == null || d(y), i && sn(i);
2689
2779
  },
2690
2780
  [N, d, i]
2691
- ), w = S(() => {
2692
- A((R) => R + 1);
2781
+ ), O = S(() => {
2782
+ A((y) => y + 1);
2693
2783
  }, []);
2694
2784
  return /* @__PURE__ */ a(
2695
- un,
2785
+ Nn,
2696
2786
  {
2697
2787
  open: e,
2698
- onClose: f,
2699
- onStart: b,
2700
- agentDefinitions: y,
2701
- definitionsState: F,
2702
- definitionsError: x,
2703
- onRetryDefinitions: w,
2788
+ onClose: v,
2789
+ onStart: T,
2790
+ agentDefinitions: w,
2791
+ definitionsState: p,
2792
+ definitionsError: k,
2793
+ onRetryDefinitions: O,
2704
2794
  embedded: h
2705
2795
  }
2706
2796
  );
2707
- }, fs = (e) => "agentDefinitionsUrl" in e, vs = (e) => fs(e) ? /* @__PURE__ */ a(_s, { ...e }) : /* @__PURE__ */ a(un, { ...e }), ws = (e) => e !== void 0 && e.some((t) => t.status === M.hitl), ys = (e, t) => ws(t) ? T.hitl : e.status, ks = ({ column: e, label: t }) => e.statusIcon ? /* @__PURE__ */ a("span", { className: "agent-view__status-indicator", children: /* @__PURE__ */ a(
2708
- L,
2797
+ }, Os = (e) => "agentDefinitionsUrl" in e, Is = (e) => Os(e) ? /* @__PURE__ */ a(Rs, { ...e }) : /* @__PURE__ */ a(Nn, { ...e }), Ls = (e) => e !== void 0 && e.some((t) => t.status === H.hitl), xs = (e, t) => Ls(t) ? R.hitl : e.status, Us = ({ column: e, label: t }) => e.statusIcon ? /* @__PURE__ */ a("span", { className: "agent-view__status-indicator", children: /* @__PURE__ */ a(
2798
+ x,
2709
2799
  {
2710
2800
  name: e.statusIcon.name,
2711
2801
  size: 16,
@@ -2721,9 +2811,9 @@ const gn = (e, t) => (n) => {
2721
2811
  className: j("agent-view__dot", {
2722
2812
  [`agent-view__dot--${e.dotModifier}`]: e.dotModifier
2723
2813
  }),
2724
- children: /* @__PURE__ */ a(Xt, { colour: e.dotColour, label: t })
2814
+ children: /* @__PURE__ */ a(on, { colour: e.dotColour, label: t })
2725
2815
  }
2726
- ), Ns = ({
2816
+ ), Ps = ({
2727
2817
  agent: e,
2728
2818
  agentName: t,
2729
2819
  column: n,
@@ -2731,33 +2821,33 @@ const gn = (e, t) => (n) => {
2731
2821
  isLoading: r,
2732
2822
  checklist: o,
2733
2823
  error: i,
2734
- onToggle: p,
2824
+ onToggle: u,
2735
2825
  onViewAgent: d
2736
2826
  }) => {
2737
- const { id: h, invocation_name: m } = e, N = `agent-card-${h}-header`, y = `agent-card-${h}-progress`;
2827
+ const { id: h, invocation_name: m } = e, N = `agent-card-${h}-header`, w = `agent-card-${h}-progress`;
2738
2828
  return /* @__PURE__ */ a(
2739
2829
  "li",
2740
2830
  {
2741
2831
  className: j("agent-view__card", {
2742
2832
  "agent-view__card--expanded": s
2743
2833
  }),
2744
- children: /* @__PURE__ */ l(Un, { spacing: "dense", children: [
2834
+ children: /* @__PURE__ */ l(Kn, { spacing: "dense", children: [
2745
2835
  /* @__PURE__ */ a(
2746
2836
  "button",
2747
2837
  {
2748
2838
  type: "button",
2749
2839
  className: "agent-view__card-toggle",
2750
2840
  "aria-expanded": s,
2751
- "aria-controls": y,
2841
+ "aria-controls": w,
2752
2842
  "aria-label": m,
2753
2843
  id: N,
2754
- onClick: () => p(h),
2844
+ onClick: () => u(h),
2755
2845
  children: /* @__PURE__ */ l("div", { className: "agent-view__card-content", children: [
2756
- /* @__PURE__ */ a(ks, { column: n }),
2846
+ /* @__PURE__ */ a(Us, { column: n }),
2757
2847
  /* @__PURE__ */ a("span", { className: "agent-view__card-invocation-name", children: m }),
2758
2848
  /* @__PURE__ */ a("span", { className: "agent-view__card-agent-name", children: t }),
2759
2849
  /* @__PURE__ */ a(
2760
- L,
2850
+ x,
2761
2851
  {
2762
2852
  name: s ? "chevron-up" : "chevron-down",
2763
2853
  size: 16,
@@ -2767,41 +2857,41 @@ const gn = (e, t) => (n) => {
2767
2857
  ] })
2768
2858
  }
2769
2859
  ),
2770
- s && /* @__PURE__ */ l("div", { id: y, "aria-labelledby": N, className: "agent-view__card-progress", children: [
2860
+ s && /* @__PURE__ */ l("div", { id: w, "aria-labelledby": N, className: "agent-view__card-progress", children: [
2771
2861
  r && /* @__PURE__ */ l("div", { className: "agent-view__progress-loading", "aria-live": "polite", children: [
2772
2862
  /* @__PURE__ */ a(
2773
- L,
2863
+ x,
2774
2864
  {
2775
2865
  name: "loader",
2776
2866
  size: 16,
2777
2867
  color: "var(--color-brand-600)",
2778
2868
  className: "agent-view__progress-icon--spinning",
2779
- screenReaderText: Ce
2869
+ screenReaderText: Re
2780
2870
  }
2781
2871
  ),
2782
- /* @__PURE__ */ a("span", { children: Ce })
2872
+ /* @__PURE__ */ a("span", { children: Re })
2783
2873
  ] }),
2784
2874
  !r && i && /* @__PURE__ */ a("p", { className: "agent-view__progress-error", role: "alert", children: i }),
2785
- !r && !i && o !== null && /* @__PURE__ */ a(ia, { checklist: o }),
2875
+ !r && !i && o !== null && /* @__PURE__ */ a(ka, { checklist: o }),
2786
2876
  !r && !i && o === null && /* @__PURE__ */ l("div", { className: "agent-view__progress-loading", "aria-live": "polite", children: [
2787
2877
  /* @__PURE__ */ a(
2788
- L,
2878
+ x,
2789
2879
  {
2790
2880
  name: "loader",
2791
2881
  size: 16,
2792
2882
  color: "var(--color-brand-600)",
2793
2883
  className: "agent-view__progress-icon--spinning",
2794
- screenReaderText: Ce
2884
+ screenReaderText: Re
2795
2885
  }
2796
2886
  ),
2797
- /* @__PURE__ */ a("span", { children: Ce })
2887
+ /* @__PURE__ */ a("span", { children: Re })
2798
2888
  ] }),
2799
2889
  /* @__PURE__ */ a("div", { className: "agent-view__card-actions", children: /* @__PURE__ */ a(ie, { variant: "secondary", size: "S", onClick: () => d == null ? void 0 : d(e), children: "View agent" }) })
2800
2890
  ] })
2801
2891
  ] })
2802
2892
  }
2803
2893
  );
2804
- }, Yt = ({
2894
+ }, rn = ({
2805
2895
  column: e,
2806
2896
  agents: t,
2807
2897
  expandedAgentId: n,
@@ -2809,7 +2899,7 @@ const gn = (e, t) => (n) => {
2809
2899
  checklistByInvocationId: r,
2810
2900
  errorByAgentId: o,
2811
2901
  definitionNameByRef: i,
2812
- onToggleAgent: p,
2902
+ onToggleAgent: u,
2813
2903
  onViewAgent: d,
2814
2904
  isSplit: h = !1
2815
2905
  }) => /* @__PURE__ */ l(
@@ -2821,27 +2911,27 @@ const gn = (e, t) => (n) => {
2821
2911
  "aria-label": e.title,
2822
2912
  children: [
2823
2913
  /* @__PURE__ */ l("div", { className: "agent-view__column-header", children: [
2824
- /* @__PURE__ */ a(Ee, { level: 4, children: e.title }),
2914
+ /* @__PURE__ */ a(Ie, { level: 4, children: e.title }),
2825
2915
  /* @__PURE__ */ a("span", { className: "agent-view__column-count", children: t.length })
2826
2916
  ] }),
2827
2917
  /* @__PURE__ */ a("ul", { className: "agent-view__card-list", children: t.map((m) => /* @__PURE__ */ a(
2828
- Ns,
2918
+ Ps,
2829
2919
  {
2830
2920
  agent: m,
2831
- agentName: wt(m, i),
2921
+ agentName: St(m, i),
2832
2922
  column: e,
2833
2923
  isExpanded: n === m.id,
2834
2924
  isLoading: s === m.id,
2835
2925
  checklist: r[m.invocation_id] ?? null,
2836
2926
  error: o[m.id] ?? null,
2837
- onToggle: p,
2927
+ onToggle: u,
2838
2928
  onViewAgent: d
2839
2929
  },
2840
2930
  m.id
2841
2931
  )) })
2842
2932
  ]
2843
2933
  }
2844
- ), wt = (e, t) => t.get(e.agent_definition_ref) ?? e.agent_definition_ref.replace(/_/g, " "), Os = ({
2934
+ ), St = (e, t) => t.get(e.agent_definition_ref) ?? e.agent_definition_ref.replace(/_/g, " "), qs = ({
2845
2935
  jwt: e,
2846
2936
  headers: t,
2847
2937
  agentDefinitionsUrl: n,
@@ -2849,26 +2939,27 @@ const gn = (e, t) => (n) => {
2849
2939
  agentUrl: r,
2850
2940
  agentChecklistUrl: o,
2851
2941
  agentResourcesUrl: i,
2852
- agentTimelineUrl: p,
2942
+ agentTimelineUrl: u,
2853
2943
  agentChatUrl: d,
2854
2944
  agentConversationUrl: h,
2855
2945
  stopAgentUrl: m,
2856
2946
  enableUpload: N,
2857
- showHeader: y = !1,
2858
- institutions: I,
2859
- usePusherToRepoll: F = !1,
2860
- pusherChannelPrefix: _ = on,
2861
- subscribeToPusher: x
2947
+ adminMode: w = !1,
2948
+ showHeader: I = !1,
2949
+ institutions: p,
2950
+ usePusherToRepoll: L = !1,
2951
+ pusherChannelPrefix: k = _n,
2952
+ subscribeToPusher: P
2862
2953
  }) => {
2863
- var Fe;
2864
- const E = V(
2954
+ var De;
2955
+ const C = X(
2865
2956
  () => ({
2866
2957
  agentDefinitions: n,
2867
2958
  agents: s,
2868
2959
  agent: r,
2869
2960
  agentChecklist: o,
2870
2961
  ...i ? { agentResources: i } : {},
2871
- ...p ? { agentTimeline: p } : {},
2962
+ ...u ? { agentTimeline: u } : {},
2872
2963
  agentChat: d,
2873
2964
  agentConversation: h
2874
2965
  }),
@@ -2878,152 +2969,152 @@ const gn = (e, t) => (n) => {
2878
2969
  r,
2879
2970
  o,
2880
2971
  i,
2881
- p,
2972
+ u,
2882
2973
  d,
2883
2974
  h
2884
2975
  ]
2885
- ), [U, A] = g(null), f = U ? (Fe = I == null ? void 0 : I.find(
2886
- (u) => u.applicationId === U.application_id
2887
- )) == null ? void 0 : Fe.applicationUrl : void 0, b = V(() => {
2888
- const u = { ...t ?? {} };
2889
- return f ? u[ye.arborApplicationUrl] = f : delete u[ye.arborApplicationUrl], u;
2890
- }, [t, f]), {
2891
- agents: w,
2892
- agentDefinitions: R,
2893
- loadState: z,
2894
- loadError: Te,
2895
- reload: O,
2896
- refresh: G,
2897
- fetchAgentChecklist: q,
2898
- createAgent: Y
2899
- } = is({ jwt: e, headers: b, urls: E }), [Z, $] = g(!1), [ee, K] = g(null), [Re, ke] = g(null), [ge, Ne] = g({}), [Me, _e] = g({}), [Q, Ie] = g([]), [Ae, te] = g([]), He = V(() => {
2900
- const u = new Set(w.map((k) => k.application_id)), C = new Map(
2901
- (I ?? []).map((k) => [k.applicationId, k.name])
2976
+ ), [A, v] = g(null), T = A ? (De = p == null ? void 0 : p.find(
2977
+ (_) => _.applicationId === A.application_id
2978
+ )) == null ? void 0 : De.applicationUrl : void 0, O = X(() => {
2979
+ const _ = { ...t ?? {} };
2980
+ return T ? _[be.arborApplicationUrl] = T : delete _[be.arborApplicationUrl], _;
2981
+ }, [t, T]), {
2982
+ agents: y,
2983
+ agentDefinitions: M,
2984
+ loadState: ne,
2985
+ loadError: U,
2986
+ reload: q,
2987
+ refresh: K,
2988
+ fetchAgentChecklist: V,
2989
+ createAgent: Z
2990
+ } = ws({ jwt: e, headers: O, urls: C }), [G, ae] = g(!1), [ge, Le] = g(null), [J, Se] = g(null), [se, Ge] = g({}), [xe, Ce] = g({}), [he, ue] = g([]), [pe, lt] = g([]), Q = X(() => {
2991
+ const _ = new Set(y.map((b) => b.application_id)), E = new Map(
2992
+ (p ?? []).map((b) => [b.applicationId, b.name])
2902
2993
  );
2903
- return [...u].sort(
2904
- (k, X) => (C.get(k) ?? k).localeCompare(C.get(X) ?? X)
2905
- ).map((k) => ({
2906
- value: k,
2907
- label: C.get(k) ?? k
2994
+ return [..._].sort(
2995
+ (b, Y) => (E.get(b) ?? b).localeCompare(E.get(Y) ?? Y)
2996
+ ).map((b) => ({
2997
+ value: b,
2998
+ label: E.get(b) ?? b
2908
2999
  }));
2909
- }, [w, I]), ne = V(
2910
- () => new Map(R.map((u) => [u.ref, u.display_name])),
2911
- [R]
2912
- ), ze = V(() => [...new Set(
2913
- w.map((C) => wt(C, ne))
2914
- )].sort((C, k) => C.localeCompare(k)).map((C) => ({
2915
- value: C,
2916
- label: C
2917
- })), [w, ne]), Ge = V(() => w.filter((u) => !(Q.length > 0 && !Q.includes(u.application_id) || Ae.length > 0 && !Ae.includes(wt(u, ne)))), [w, ne, Ae, Q]), Be = He.length > 1, be = ze.length > 1, at = Be || be;
2918
- D(() => {
2919
- const u = window.setInterval(() => {
2920
- G();
3000
+ }, [y, p]), we = X(
3001
+ () => new Map(M.map((_) => [_.ref, _.display_name])),
3002
+ [M]
3003
+ ), ke = X(() => [...new Set(
3004
+ y.map((E) => St(E, we))
3005
+ )].sort((E, b) => E.localeCompare(b)).map((E) => ({
3006
+ value: E,
3007
+ label: E
3008
+ })), [y, we]), Be = X(() => y.filter((_) => !(he.length > 0 && !he.includes(_.application_id) || pe.length > 0 && !pe.includes(St(_, we)))), [y, we, pe, he]), Fe = Q.length > 1, qe = ke.length > 1, Ue = Fe || qe;
3009
+ $(() => {
3010
+ const _ = window.setInterval(() => {
3011
+ K();
2921
3012
  }, 6e4);
2922
3013
  return () => {
2923
- window.clearInterval(u);
3014
+ window.clearInterval(_);
2924
3015
  };
2925
- }, [G]), D(() => {
2926
- if (w.length === 0)
3016
+ }, [K]), $(() => {
3017
+ if (y.length === 0)
2927
3018
  return;
2928
- let u = !1;
3019
+ let _ = !1;
2929
3020
  return (async () => {
2930
- const C = await Promise.allSettled(
2931
- w.map(async (k) => {
2932
- const X = await q(k.invocation_id);
3021
+ const E = await Promise.allSettled(
3022
+ y.map(async (b) => {
3023
+ const Y = await V(b.invocation_id);
2933
3024
  return {
2934
- agentId: k.id,
2935
- invocationId: k.invocation_id,
2936
- checklist: X.checklist
3025
+ agentId: b.id,
3026
+ invocationId: b.invocation_id,
3027
+ checklist: Y.checklist
2937
3028
  };
2938
3029
  })
2939
3030
  );
2940
- u || (Ne((k) => {
2941
- const X = { ...k };
2942
- let le = !1;
2943
- for (const ae of C) {
2944
- if (ae.status !== "fulfilled")
3031
+ _ || (Ge((b) => {
3032
+ const Y = { ...b };
3033
+ let ye = !1;
3034
+ for (const me of E) {
3035
+ if (me.status !== "fulfilled")
2945
3036
  continue;
2946
- const { invocationId: he, checklist: qe } = ae.value;
2947
- JSON.stringify(k[he]) !== JSON.stringify(qe) && (X[he] = qe, le = !0);
3037
+ const { invocationId: ee, checklist: $e } = me.value;
3038
+ JSON.stringify(b[ee]) !== JSON.stringify($e) && (Y[ee] = $e, ye = !0);
2948
3039
  }
2949
- return le ? X : k;
2950
- }), _e((k) => {
2951
- const X = { ...k };
2952
- let le = !1;
2953
- return C.forEach((ae, he) => {
2954
- ae.status === "rejected" && X[w[he].id] !== Ze && (X[w[he].id] = Ze, le = !0);
2955
- }), le ? X : k;
3040
+ return ye ? Y : b;
3041
+ }), Ce((b) => {
3042
+ const Y = { ...b };
3043
+ let ye = !1;
3044
+ return E.forEach((me, ee) => {
3045
+ me.status === "rejected" && Y[y[ee].id] !== at && (Y[y[ee].id] = at, ye = !0);
3046
+ }), ye ? Y : b;
2956
3047
  }));
2957
3048
  })(), () => {
2958
- u = !0;
3049
+ _ = !0;
2959
3050
  };
2960
- }, [w, q]);
2961
- const Oe = S(
2962
- async (u) => {
2963
- if (!ge[u.invocation_id]) {
2964
- ke(u.id), _e((C) => {
2965
- const k = { ...C };
2966
- return delete k[u.id], k;
3051
+ }, [y, V]);
3052
+ const Je = S(
3053
+ async (_) => {
3054
+ if (!se[_.invocation_id]) {
3055
+ Se(_.id), Ce((E) => {
3056
+ const b = { ...E };
3057
+ return delete b[_.id], b;
2967
3058
  });
2968
3059
  try {
2969
- const C = await q(u.invocation_id);
2970
- Ne((k) => ({
2971
- ...k,
2972
- [u.invocation_id]: C.checklist
3060
+ const E = await V(_.invocation_id);
3061
+ Ge((b) => ({
3062
+ ...b,
3063
+ [_.invocation_id]: E.checklist
2973
3064
  }));
2974
3065
  } catch {
2975
- _e((C) => ({
2976
- ...C,
2977
- [u.id]: Ze
3066
+ Ce((E) => ({
3067
+ ...E,
3068
+ [_.id]: at
2978
3069
  }));
2979
3070
  } finally {
2980
- ke((C) => C === u.id ? null : C);
3071
+ Se((E) => E === _.id ? null : E);
2981
3072
  }
2982
3073
  }
2983
3074
  },
2984
- [q, ge]
2985
- ), st = S(
2986
- (u) => {
2987
- if (ee === u) {
2988
- K(null);
3075
+ [V, se]
3076
+ ), Ke = S(
3077
+ (_) => {
3078
+ if (ge === _) {
3079
+ Le(null);
2989
3080
  return;
2990
3081
  }
2991
- const C = w.find(({ id: k }) => k === u);
2992
- C && (K(u), Oe(C));
3082
+ const E = y.find(({ id: b }) => b === _);
3083
+ E && (Le(_), Je(E));
2993
3084
  },
2994
- [w, ee, Oe]
2995
- ), Le = V(() => {
2996
- const u = {};
2997
- for (const C of Ge) {
2998
- const k = ys(
2999
- C,
3000
- ge[C.invocation_id]
3085
+ [y, ge, Je]
3086
+ ), We = X(() => {
3087
+ const _ = {};
3088
+ for (const E of Be) {
3089
+ const b = xs(
3090
+ E,
3091
+ se[E.invocation_id]
3001
3092
  );
3002
- (u[k] ?? (u[k] = [])).push(C);
3093
+ (_[b] ?? (_[b] = [])).push(E);
3003
3094
  }
3004
- return u;
3005
- }, [Ge, ge]), rt = S((u) => {
3006
- A(u);
3007
- }, []), Ue = S(
3008
- async (u) => {
3009
- const C = await Y(u);
3010
- A(C), $(!1);
3095
+ return _;
3096
+ }, [Be, se]), je = S((_) => {
3097
+ v(_);
3098
+ }, []), ct = S(
3099
+ async (_) => {
3100
+ const E = await Z(_);
3101
+ v(E), ae(!1);
3011
3102
  },
3012
- [Y]
3013
- ), it = S(() => {
3014
- A(null);
3015
- }, []), Pe = {
3016
- expandedAgentId: ee,
3017
- loadingAgentId: Re,
3018
- checklistByInvocationId: ge,
3019
- errorByAgentId: Me,
3020
- definitionNameByRef: ne,
3021
- onToggleAgent: st,
3022
- onViewAgent: rt
3103
+ [Z]
3104
+ ), Pe = S(() => {
3105
+ v(null);
3106
+ }, []), Ve = {
3107
+ expandedAgentId: ge,
3108
+ loadingAgentId: J,
3109
+ checklistByInvocationId: se,
3110
+ errorByAgentId: xe,
3111
+ definitionNameByRef: we,
3112
+ onToggleAgent: Ke,
3113
+ onViewAgent: je
3023
3114
  };
3024
3115
  return /* @__PURE__ */ l("div", { className: "agent-view-frontend agent-view", children: [
3025
- y && /* @__PURE__ */ l("div", { className: "agent-view__header", children: [
3026
- /* @__PURE__ */ a(Ee, { level: 1, children: "Agents" }),
3116
+ I && /* @__PURE__ */ l("div", { className: "agent-view__header", children: [
3117
+ /* @__PURE__ */ a(Ie, { level: 1, children: "Agents" }),
3027
3118
  /* @__PURE__ */ a(
3028
3119
  ie,
3029
3120
  {
@@ -3031,13 +3122,13 @@ const gn = (e, t) => (n) => {
3031
3122
  size: "S",
3032
3123
  iconLeftName: "sparkles",
3033
3124
  iconLeftScreenReaderText: "Start an agent",
3034
- onClick: () => $(!0),
3125
+ onClick: () => ae(!0),
3035
3126
  children: "Start an agent"
3036
3127
  }
3037
3128
  )
3038
3129
  ] }),
3039
- w.length > 0 && at && /* @__PURE__ */ l("div", { className: "agent-view__filters", children: [
3040
- Be && /* @__PURE__ */ l("div", { className: "agent-view__filter", children: [
3130
+ y.length > 0 && Ue && /* @__PURE__ */ l("div", { className: "agent-view__filters", children: [
3131
+ Fe && /* @__PURE__ */ l("div", { className: "agent-view__filter", children: [
3041
3132
  /* @__PURE__ */ a(
3042
3133
  "label",
3043
3134
  {
@@ -3047,35 +3138,35 @@ const gn = (e, t) => (n) => {
3047
3138
  }
3048
3139
  ),
3049
3140
  /* @__PURE__ */ a(
3050
- Pt,
3141
+ Bt,
3051
3142
  {
3052
3143
  id: "agent-view-institution-filter",
3053
3144
  triggerVariant: "button",
3054
3145
  multiple: !0,
3055
3146
  searchType: "substring",
3056
3147
  placeholder: "All institutions",
3057
- options: He,
3058
- value: Q,
3059
- onValueChange: Ie,
3148
+ options: Q,
3149
+ value: he,
3150
+ onValueChange: ue,
3060
3151
  showSelectionCountBadge: !0,
3061
3152
  showClearAll: !0,
3062
3153
  clearAllLabel: "Clear institutions"
3063
3154
  }
3064
3155
  )
3065
3156
  ] }),
3066
- be && /* @__PURE__ */ l("div", { className: "agent-view__filter", children: [
3157
+ qe && /* @__PURE__ */ l("div", { className: "agent-view__filter", children: [
3067
3158
  /* @__PURE__ */ a("label", { className: "agent-view__filter-label", htmlFor: "agent-view-agent-filter", children: "Agent" }),
3068
3159
  /* @__PURE__ */ a(
3069
- Pt,
3160
+ Bt,
3070
3161
  {
3071
3162
  id: "agent-view-agent-filter",
3072
3163
  triggerVariant: "button",
3073
3164
  multiple: !0,
3074
3165
  searchType: "substring",
3075
3166
  placeholder: "All agents",
3076
- options: ze,
3077
- value: Ae,
3078
- onValueChange: te,
3167
+ options: ke,
3168
+ value: pe,
3169
+ onValueChange: lt,
3079
3170
  showSelectionCountBadge: !0,
3080
3171
  showClearAll: !0,
3081
3172
  clearAllLabel: "Clear agents"
@@ -3083,78 +3174,79 @@ const gn = (e, t) => (n) => {
3083
3174
  )
3084
3175
  ] })
3085
3176
  ] }),
3086
- z === "error" ? /* @__PURE__ */ l("div", { className: "agent-view__state agent-view__state--error", role: "alert", children: [
3087
- /* @__PURE__ */ a(L, { name: "triangle-alert", size: 24, color: "var(--color-semantic-destructive-600)" }),
3088
- /* @__PURE__ */ a("p", { className: "agent-view__state-message", children: Te ?? nn }),
3089
- /* @__PURE__ */ a(ie, { variant: "secondary", size: "S", onClick: O, children: "Try again" })
3090
- ] }) : z === "loading" && w.length === 0 ? /* @__PURE__ */ l("div", { className: "agent-view__state", "aria-live": "polite", children: [
3177
+ ne === "error" ? /* @__PURE__ */ l("div", { className: "agent-view__state agent-view__state--error", role: "alert", children: [
3178
+ /* @__PURE__ */ a(x, { name: "triangle-alert", size: 24, color: "var(--color-semantic-destructive-600)" }),
3179
+ /* @__PURE__ */ a("p", { className: "agent-view__state-message", children: U ?? hn }),
3180
+ /* @__PURE__ */ a(ie, { variant: "secondary", size: "S", onClick: q, children: "Try again" })
3181
+ ] }) : ne === "loading" && y.length === 0 ? /* @__PURE__ */ l("div", { className: "agent-view__state", "aria-live": "polite", children: [
3091
3182
  /* @__PURE__ */ a(
3092
- L,
3183
+ x,
3093
3184
  {
3094
3185
  name: "loader",
3095
3186
  size: 24,
3096
3187
  color: "var(--color-brand-600)",
3097
3188
  className: "agent-view__progress-icon--spinning",
3098
- screenReaderText: Dt
3189
+ screenReaderText: qt
3099
3190
  }
3100
3191
  ),
3101
- /* @__PURE__ */ a("p", { className: "agent-view__state-message", children: Dt })
3102
- ] }) : w.length === 0 ? /* @__PURE__ */ a(Qn, {}) : /* @__PURE__ */ l("div", { className: "agent-view__board", children: [
3103
- Mn.map((u) => /* @__PURE__ */ a(
3104
- Yt,
3192
+ /* @__PURE__ */ a("p", { className: "agent-view__state-message", children: qt })
3193
+ ] }) : y.length === 0 ? /* @__PURE__ */ a(ua, {}) : /* @__PURE__ */ l("div", { className: "agent-view__board", children: [
3194
+ Xn.map((_) => /* @__PURE__ */ a(
3195
+ rn,
3105
3196
  {
3106
- column: Qe[u],
3107
- agents: Le[u] ?? [],
3108
- ...Pe
3197
+ column: st[_],
3198
+ agents: We[_] ?? [],
3199
+ ...Ve
3109
3200
  },
3110
- u
3201
+ _
3111
3202
  )),
3112
- /* @__PURE__ */ a("div", { className: "agent-view__split-column", children: Hn.map((u) => /* @__PURE__ */ a(
3113
- Yt,
3203
+ /* @__PURE__ */ a("div", { className: "agent-view__split-column", children: Zn.map((_) => /* @__PURE__ */ a(
3204
+ rn,
3114
3205
  {
3115
- column: Qe[u],
3116
- agents: Le[u] ?? [],
3206
+ column: st[_],
3207
+ agents: We[_] ?? [],
3117
3208
  isSplit: !0,
3118
- ...Pe
3209
+ ...Ve
3119
3210
  },
3120
- u
3211
+ _
3121
3212
  )) })
3122
3213
  ] }),
3123
- U && /* @__PURE__ */ a(
3124
- us,
3214
+ A && /* @__PURE__ */ a(
3215
+ Cs,
3125
3216
  {
3126
- agent: U,
3127
- invocationId: U.invocation_id,
3217
+ agent: A,
3218
+ invocationId: A.invocation_id,
3128
3219
  open: !0,
3129
3220
  jwt: e,
3130
- headers: b,
3221
+ headers: O,
3131
3222
  agentUrl: r,
3132
3223
  agentChecklistUrl: o,
3133
3224
  agentResourcesUrl: i,
3134
- agentTimelineUrl: p,
3225
+ agentTimelineUrl: u,
3135
3226
  agentChatUrl: d,
3136
3227
  agentConversationUrl: h,
3137
3228
  stopAgentUrl: m,
3138
3229
  enableUpload: N,
3139
- initialChecklist: ge[U.invocation_id] ?? null,
3140
- usePusherToRepoll: F,
3141
- pusherChannelPrefix: _,
3142
- subscribeToPusher: x,
3143
- onClose: it
3230
+ adminMode: w,
3231
+ initialChecklist: se[A.invocation_id] ?? null,
3232
+ usePusherToRepoll: L,
3233
+ pusherChannelPrefix: k,
3234
+ subscribeToPusher: P,
3235
+ onClose: Pe
3144
3236
  },
3145
- U.id
3237
+ A.id
3146
3238
  ),
3147
3239
  /* @__PURE__ */ a(
3148
- vs,
3240
+ Is,
3149
3241
  {
3150
- open: Z,
3151
- onClose: () => $(!1),
3152
- onStart: Ue,
3153
- agentDefinitions: R
3242
+ open: G,
3243
+ onClose: () => ae(!1),
3244
+ onStart: ct,
3245
+ agentDefinitions: M
3154
3246
  }
3155
3247
  )
3156
3248
  ] });
3157
- }, Ls = (e, t) => {
3249
+ }, Js = (e, t) => {
3158
3250
  const n = Date.now(), s = t.trim() || e.agent_intent;
3159
3251
  return {
3160
3252
  id: `agent-${n}`,
@@ -3162,43 +3254,43 @@ const gn = (e, t) => (n) => {
3162
3254
  agent_definition_ref: e.ref,
3163
3255
  agent_intent: e.agent_intent,
3164
3256
  invocation_name: s,
3165
- application_id: zn,
3166
- created_by: Gn,
3167
- status: T["generating-a-response"],
3257
+ application_id: Qn,
3258
+ created_by: ea,
3259
+ status: R["generating-a-response"],
3168
3260
  context_ref: null,
3169
3261
  checklist_ref: null
3170
3262
  };
3171
3263
  };
3172
3264
  export {
3173
- Os as AgentMonitorKanban,
3174
- yt as AgentServiceClient,
3175
- De as AgentServiceError,
3176
- us as AgentView,
3177
- on as DEFAULT_PUSHER_CHANNEL_PREFIX,
3178
- as as HttpChatConnector,
3179
- Bt as MESSAGE_TYPE_REPOLL,
3180
- vs as NewAgentModal,
3181
- Ea as PUSHER_AGENT_MESSAGE_EVENT,
3182
- we as REPOLL_TARGET,
3183
- Ls as buildAgentFromDefinition,
3184
- Ra as buildAgentPusherChannel,
3185
- gn as createHttpChatConnectorFactory,
3186
- Is as formatUserFileChatCardText,
3187
- Ft as mapApiAgent,
3188
- ln as mapApiAgentDefinition,
3189
- Ma as mapApiAgentStatus,
3190
- qa as mapApiAgentTimelineResponse,
3191
- dn as mapApiChecklistEndpointResponse,
3192
- cn as mapApiChecklistItem,
3193
- Ja as mapApiChecklistResponse,
3194
- Ha as mapApiChecklistStatus,
3195
- Wa as mapApiConversationMessages,
3196
- nt as mapApiOpeningMessage,
3197
- Ba as mapApiResource,
3198
- Fa as mapApiResourcesEndpointResponse,
3199
- Ts as mapApiTripOption,
3200
- Rs as parseConversationContentCaption,
3201
- La as parseRepollMessages,
3202
- is as useAgentService,
3203
- ls as useAgentWorkspace
3265
+ qs as AgentMonitorKanban,
3266
+ Ct as AgentServiceClient,
3267
+ He as AgentServiceError,
3268
+ Cs as AgentView,
3269
+ _n as DEFAULT_PUSHER_CHANNEL_PREFIX,
3270
+ _s as HttpChatConnector,
3271
+ Yt as MESSAGE_TYPE_REPOLL,
3272
+ Is as NewAgentModal,
3273
+ Ga as PUSHER_AGENT_MESSAGE_EVENT,
3274
+ Ae as REPOLL_TARGET,
3275
+ Js as buildAgentFromDefinition,
3276
+ Fa as buildAgentPusherChannel,
3277
+ kn as createHttpChatConnectorFactory,
3278
+ Fs as formatUserFileChatCardText,
3279
+ Xt as mapApiAgent,
3280
+ fn as mapApiAgentDefinition,
3281
+ Za as mapApiAgentStatus,
3282
+ ss as mapApiAgentTimelineResponse,
3283
+ wn as mapApiChecklistEndpointResponse,
3284
+ vn as mapApiChecklistItem,
3285
+ is as mapApiChecklistResponse,
3286
+ Qa as mapApiChecklistStatus,
3287
+ os as mapApiConversationMessages,
3288
+ ot as mapApiOpeningMessage,
3289
+ ns as mapApiResource,
3290
+ as as mapApiResourcesEndpointResponse,
3291
+ Gs as mapApiTripOption,
3292
+ Bs as parseConversationContentCaption,
3293
+ Ka as parseRepollMessages,
3294
+ ws as useAgentService,
3295
+ ys as useAgentWorkspace
3204
3296
  };