@truefoundry/trueforge-ui 0.3.0-rc.5 → 0.3.0-rc.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/{AgentCodeSnippets-V5A56M7R.js → AgentCodeSnippets-UWKIJI6U.js} +7 -7
  3. package/dist/AgentMetricChart-4ZJJED5Q.js +15 -0
  4. package/dist/{AgentOverview-NPC4P2EY.js → AgentOverview-UZBCVNMP.js} +11 -9
  5. package/dist/AgentOverview-UZBCVNMP.js.map +1 -0
  6. package/dist/{AgentSessionEventTimeline-UUXOJXTC.js → AgentSessionEventTimeline-N4RXG2NU.js} +7 -7
  7. package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js → AgentSessionEventTimelineChart-EMWNJMMK.js} +7 -7
  8. package/dist/{AgentSessions-WHODEG2M.js → AgentSessions-CD7JAQTC.js} +8 -8
  9. package/dist/{ConnectorSettings-QTAI4TQX.js → ConnectorSettings-GEI4S6SD.js} +7 -7
  10. package/dist/{DockLayout-TATYU5SV.js → DockLayout-JZ4DKDOR.js} +10 -10
  11. package/dist/{DrawerLayout-DXHNV33K.js → DrawerLayout-AV4FJTGV.js} +11 -11
  12. package/dist/{ModelSettings-UWTBHQRG.js → ModelSettings-4TNETPJJ.js} +7 -7
  13. package/dist/OpenUiFenceBlock-KPZFLUSC.js +9 -0
  14. package/dist/{SandboxSettings-BITQONS3.js → SandboxSettings-IEIWFKQW.js} +7 -7
  15. package/dist/SchedulesPage-ZG5IMQI3.js +15 -0
  16. package/dist/{SettingsBuilder-3OA4UCIM.js → SettingsBuilder-B2ULQPIT.js} +9 -9
  17. package/dist/{SettingsBuilder-3OA4UCIM.js.map → SettingsBuilder-B2ULQPIT.js.map} +1 -1
  18. package/dist/{ShellRouteSync-J74MV23Q.js → ShellRouteSync-SJXFKUAJ.js} +4 -4
  19. package/dist/{SidebarLayout-EQXQPYIU.js → SidebarLayout-XUM2Y6PA.js} +12 -12
  20. package/dist/{SkillSettings-KQ6GQ7JW.js → SkillSettings-NHBL5ZXU.js} +7 -7
  21. package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js → TrueForgeUIWithRouter-NVV7IXXP.js} +9 -9
  22. package/dist/{WidgetLayout-YWZTYFZL.js → WidgetLayout-T7DBLKV3.js} +10 -10
  23. package/dist/{chunk-INY3J2BV.js → chunk-22A4HHBQ.js} +10 -10
  24. package/dist/{chunk-TAABBM7F.js → chunk-2GIZY3JJ.js} +3 -1
  25. package/dist/chunk-2GIZY3JJ.js.map +1 -0
  26. package/dist/{chunk-4MCIDE2C.js → chunk-2QTH6JHX.js} +3 -3
  27. package/dist/{chunk-7NYDADYN.js → chunk-3R62ISBR.js} +5 -5
  28. package/dist/{chunk-ERIIJKJY.js → chunk-3TV6SKGW.js} +4 -4
  29. package/dist/{chunk-IIHJ32YH.js → chunk-3ZW74FHC.js} +3 -3
  30. package/dist/{chunk-CFGLAGWH.js → chunk-CG75X77Q.js} +2 -2
  31. package/dist/{chunk-MMU55KCW.js → chunk-DNOQ4WYH.js} +289 -162
  32. package/dist/chunk-DNOQ4WYH.js.map +1 -0
  33. package/dist/{chunk-IVDIBAVH.js → chunk-GA4AC4XL.js} +2 -2
  34. package/dist/chunk-JCL3Q7RW.js +587 -0
  35. package/dist/{chunk-OWDH67NY.js.map → chunk-JCL3Q7RW.js.map} +1 -1
  36. package/dist/{chunk-ZZB3JIBQ.js → chunk-NFUX2ESW.js} +9 -9
  37. package/dist/{chunk-TFFTZB26.js → chunk-NYMNCYWL.js} +8 -8
  38. package/dist/chunk-NYMNCYWL.js.map +1 -0
  39. package/dist/{chunk-3QWUHGNL.js → chunk-T6QQV5LK.js} +55 -12
  40. package/dist/chunk-T6QQV5LK.js.map +1 -0
  41. package/dist/{chunk-DCVKW445.js → chunk-TDG7GHXE.js} +478 -268
  42. package/dist/chunk-TDG7GHXE.js.map +1 -0
  43. package/dist/index.d.ts +14 -11
  44. package/dist/index.js +12 -12
  45. package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +2 -1
  46. package/dist/plugins/trueforge-agent-server-adapter/index.js +65 -14
  47. package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/package.json +3 -3
  50. package/dist/AgentMetricChart-GEADURES.js +0 -15
  51. package/dist/AgentOverview-NPC4P2EY.js.map +0 -1
  52. package/dist/OpenUiFenceBlock-FHEYXZEQ.js +0 -9
  53. package/dist/SchedulesPage-JIUWNYUH.js +0 -15
  54. package/dist/chunk-3QWUHGNL.js.map +0 -1
  55. package/dist/chunk-DCVKW445.js.map +0 -1
  56. package/dist/chunk-MMU55KCW.js.map +0 -1
  57. package/dist/chunk-OWDH67NY.js +0 -587
  58. package/dist/chunk-TAABBM7F.js.map +0 -1
  59. package/dist/chunk-TFFTZB26.js.map +0 -1
  60. /package/dist/{AgentCodeSnippets-V5A56M7R.js.map → AgentCodeSnippets-UWKIJI6U.js.map} +0 -0
  61. /package/dist/{AgentMetricChart-GEADURES.js.map → AgentMetricChart-4ZJJED5Q.js.map} +0 -0
  62. /package/dist/{AgentSessionEventTimeline-UUXOJXTC.js.map → AgentSessionEventTimeline-N4RXG2NU.js.map} +0 -0
  63. /package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js.map → AgentSessionEventTimelineChart-EMWNJMMK.js.map} +0 -0
  64. /package/dist/{AgentSessions-WHODEG2M.js.map → AgentSessions-CD7JAQTC.js.map} +0 -0
  65. /package/dist/{ConnectorSettings-QTAI4TQX.js.map → ConnectorSettings-GEI4S6SD.js.map} +0 -0
  66. /package/dist/{DockLayout-TATYU5SV.js.map → DockLayout-JZ4DKDOR.js.map} +0 -0
  67. /package/dist/{DrawerLayout-DXHNV33K.js.map → DrawerLayout-AV4FJTGV.js.map} +0 -0
  68. /package/dist/{ModelSettings-UWTBHQRG.js.map → ModelSettings-4TNETPJJ.js.map} +0 -0
  69. /package/dist/{OpenUiFenceBlock-FHEYXZEQ.js.map → OpenUiFenceBlock-KPZFLUSC.js.map} +0 -0
  70. /package/dist/{SandboxSettings-BITQONS3.js.map → SandboxSettings-IEIWFKQW.js.map} +0 -0
  71. /package/dist/{SchedulesPage-JIUWNYUH.js.map → SchedulesPage-ZG5IMQI3.js.map} +0 -0
  72. /package/dist/{ShellRouteSync-J74MV23Q.js.map → ShellRouteSync-SJXFKUAJ.js.map} +0 -0
  73. /package/dist/{SidebarLayout-EQXQPYIU.js.map → SidebarLayout-XUM2Y6PA.js.map} +0 -0
  74. /package/dist/{SkillSettings-KQ6GQ7JW.js.map → SkillSettings-NHBL5ZXU.js.map} +0 -0
  75. /package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js.map → TrueForgeUIWithRouter-NVV7IXXP.js.map} +0 -0
  76. /package/dist/{WidgetLayout-YWZTYFZL.js.map → WidgetLayout-T7DBLKV3.js.map} +0 -0
  77. /package/dist/{chunk-INY3J2BV.js.map → chunk-22A4HHBQ.js.map} +0 -0
  78. /package/dist/{chunk-4MCIDE2C.js.map → chunk-2QTH6JHX.js.map} +0 -0
  79. /package/dist/{chunk-7NYDADYN.js.map → chunk-3R62ISBR.js.map} +0 -0
  80. /package/dist/{chunk-ERIIJKJY.js.map → chunk-3TV6SKGW.js.map} +0 -0
  81. /package/dist/{chunk-IIHJ32YH.js.map → chunk-3ZW74FHC.js.map} +0 -0
  82. /package/dist/{chunk-CFGLAGWH.js.map → chunk-CG75X77Q.js.map} +0 -0
  83. /package/dist/{chunk-IVDIBAVH.js.map → chunk-GA4AC4XL.js.map} +0 -0
  84. /package/dist/{chunk-ZZB3JIBQ.js.map → chunk-NFUX2ESW.js.map} +0 -0
@@ -3,7 +3,7 @@ import {
3
3
  replaceScheduleShareSearch,
4
4
  searchAllAgents,
5
5
  useSearchAgentsList
6
- } from "./chunk-3QWUHGNL.js";
6
+ } from "./chunk-T6QQV5LK.js";
7
7
  import {
8
8
  Icon,
9
9
  PageHeader,
@@ -14,7 +14,7 @@ import {
14
14
  sidebarRailButtonClassName,
15
15
  useCompactLayout,
16
16
  useDraftCatalog
17
- } from "./chunk-IIHJ32YH.js";
17
+ } from "./chunk-3ZW74FHC.js";
18
18
  import {
19
19
  SESSION_CUSTOM_RANGE_MAX_DAYS,
20
20
  SESSION_SHARE_CHANGE_EVENT,
@@ -43,13 +43,13 @@ import {
43
43
  useServer,
44
44
  useServerCapabilities,
45
45
  useShellMode
46
- } from "./chunk-TAABBM7F.js";
46
+ } from "./chunk-2GIZY3JJ.js";
47
47
  import {
48
48
  useAuiState
49
49
  } from "./chunk-M6MHLVSO.js";
50
50
  import {
51
51
  OpenUiFenceBlock
52
- } from "./chunk-CFGLAGWH.js";
52
+ } from "./chunk-CG75X77Q.js";
53
53
  import {
54
54
  ThemeContext,
55
55
  ThemeProvider,
@@ -57,7 +57,7 @@ import {
57
57
  useOptionalContentClassNames,
58
58
  useOptionalThemeMode,
59
59
  useOptionalThemePreset
60
- } from "./chunk-OWDH67NY.js";
60
+ } from "./chunk-JCL3Q7RW.js";
61
61
 
62
62
  // src/theme/brand.tsx
63
63
  import { useContext } from "react";
@@ -1009,7 +1009,7 @@ function AgentCodeBlock({ code, language }) {
1009
1009
  language,
1010
1010
  showLineNumbers: true,
1011
1011
  darkTheme: mode === "dark",
1012
- className: "m-0 flex min-h-full flex-col rounded-none [&>pre]:flex-1"
1012
+ className: "m-0 flex min-h-full flex-col rounded-none text-xs [&>pre]:flex-1"
1013
1013
  }
1014
1014
  );
1015
1015
  }
@@ -1402,7 +1402,7 @@ function DropdownMenu({
1402
1402
  transform: [align === "end" ? "translateX(-100%)" : null, side === "top" ? "translateY(-100%)" : null].filter((value) => value !== null).join(" ") || void 0
1403
1403
  },
1404
1404
  className: cn(
1405
- "fixed z-[200] flex min-w-[8rem] flex-col rounded-md border border-border bg-card-bg p-1",
1405
+ "aui-popup-enter fixed z-[200] flex min-w-[8rem] flex-col rounded-md border border-border bg-card-bg p-1",
1406
1406
  "text-text-primary shadow-md",
1407
1407
  className
1408
1408
  ),
@@ -1448,6 +1448,7 @@ function cloneAgentName(agentName) {
1448
1448
  }
1449
1449
  function AgentOverflowMenu({
1450
1450
  agentName,
1451
+ description,
1451
1452
  agentSpec,
1452
1453
  canMutate,
1453
1454
  canUse = true,
@@ -1479,6 +1480,7 @@ function AgentOverflowMenu({
1479
1480
  try {
1480
1481
  await builder.saveAgent({
1481
1482
  agentName: clonedName,
1483
+ ...description === void 0 ? {} : { description },
1482
1484
  agentSpec,
1483
1485
  intent: "create"
1484
1486
  });
@@ -1661,6 +1663,7 @@ function AgentDetailsHeader({ agentId, detail, onBack }) {
1661
1663
  isCreateAgent: true,
1662
1664
  agentId: detail.agentId,
1663
1665
  agentName: detail.name,
1666
+ ...detail.description === void 0 ? {} : { description: detail.description },
1664
1667
  agentSpec: detail.agentSpec
1665
1668
  });
1666
1669
  };
@@ -1703,6 +1706,7 @@ function AgentDetailsHeader({ agentId, detail, onBack }) {
1703
1706
  AgentOverflowMenu,
1704
1707
  {
1705
1708
  agentName: detail.name,
1709
+ ...detail.description === void 0 ? {} : { description: detail.description },
1706
1710
  agentSpec: detail.agentSpec,
1707
1711
  canMutate,
1708
1712
  canUse,
@@ -2202,7 +2206,7 @@ import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
2202
2206
  function AgentOverviewCard({ title, icon, count, children }) {
2203
2207
  return /* @__PURE__ */ jsxs19("section", { className: "rounded-lg border border-border bg-card-bg p-3 text-text-primary", children: [
2204
2208
  /* @__PURE__ */ jsxs19("h2", { className: "mb-2 flex items-center gap-1.5 text-xs font-semibold", children: [
2205
- /* @__PURE__ */ jsx29(Icon, { name: icon, className: "size-3.5 text-text-secondary" }),
2209
+ icon ? /* @__PURE__ */ jsx29(Icon, { name: icon, className: "size-3.5 text-text-secondary" }) : null,
2206
2210
  title,
2207
2211
  count !== void 0 ? /* @__PURE__ */ jsxs19("span", { className: "text-text-secondary", children: [
2208
2212
  "(",
@@ -2667,7 +2671,7 @@ function auiSelectPrefixTriggerClass(className) {
2667
2671
  }
2668
2672
  function auiSelectMenuClass(className) {
2669
2673
  return cn(
2670
- "bg-card-bg text-text-primary z-50 max-h-64 overflow-y-auto rounded-md border border-border p-1 shadow-md",
2674
+ "aui-popup-enter bg-card-bg text-text-primary z-50 max-h-64 overflow-y-auto rounded-md border border-border p-1 shadow-md",
2671
2675
  className
2672
2676
  );
2673
2677
  }
@@ -2684,6 +2688,28 @@ function auiSelectOptionClass(className) {
2684
2688
  import { useEffect as useEffect5, useId as useId3, useLayoutEffect as useLayoutEffect3, useRef as useRef3, useState as useState9 } from "react";
2685
2689
  import { createPortal as createPortal3 } from "react-dom";
2686
2690
  import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
2691
+ var MENU_GAP_PX = 4;
2692
+ var MENU_MAX_HEIGHT_PX = 256;
2693
+ function estimateMenuHeight({ optionCount, hasFooter }) {
2694
+ const rows = Math.max(optionCount, 1) * 32;
2695
+ const footer = hasFooter ? 40 : 0;
2696
+ return Math.min(8 + rows + footer, MENU_MAX_HEIGHT_PX);
2697
+ }
2698
+ function resolveMenuPlacement({
2699
+ preferred,
2700
+ spaceAbove,
2701
+ spaceBelow,
2702
+ menuHeight
2703
+ }) {
2704
+ if (preferred === "bottom") {
2705
+ if (spaceBelow >= menuHeight) return "bottom";
2706
+ if (spaceAbove >= menuHeight) return "top";
2707
+ return spaceAbove > spaceBelow ? "top" : "bottom";
2708
+ }
2709
+ if (spaceAbove >= menuHeight) return "top";
2710
+ if (spaceBelow >= menuHeight) return "bottom";
2711
+ return spaceBelow > spaceAbove ? "bottom" : "top";
2712
+ }
2687
2713
  function PopoverSelect(props) {
2688
2714
  const [open, setOpen] = useState9(false);
2689
2715
  const [pos, setPos] = useState9(null);
@@ -2693,7 +2719,9 @@ function PopoverSelect(props) {
2693
2719
  const listboxRef = useRef3(null);
2694
2720
  const focusedOpenRef = useRef3(false);
2695
2721
  const listboxId = useId3();
2696
- const menuPlacement = props.menuPlacement ?? "bottom";
2722
+ const preferredPlacement = props.menuPlacement ?? "bottom";
2723
+ const hasFooter = props.footer != null;
2724
+ const optionCount = props.options.length;
2697
2725
  useLayoutEffect3(() => {
2698
2726
  if (!open) {
2699
2727
  setPos(null);
@@ -2703,20 +2731,33 @@ function PopoverSelect(props) {
2703
2731
  const el = triggerRef.current;
2704
2732
  if (!el) return;
2705
2733
  const rect = el.getBoundingClientRect();
2734
+ const spaceBelow = window.innerHeight - rect.bottom - MENU_GAP_PX;
2735
+ const spaceAbove = rect.top - MENU_GAP_PX;
2736
+ const measuredHeight = menuRef.current?.offsetHeight;
2737
+ const menuHeight = measuredHeight != null && measuredHeight > 0 ? measuredHeight : estimateMenuHeight({ optionCount, hasFooter });
2738
+ const placement = resolveMenuPlacement({
2739
+ preferred: preferredPlacement,
2740
+ spaceAbove,
2741
+ spaceBelow,
2742
+ menuHeight
2743
+ });
2706
2744
  setPos({
2707
- top: menuPlacement === "top" ? rect.top - 4 : rect.bottom + 4,
2745
+ top: placement === "top" ? rect.top - MENU_GAP_PX : rect.bottom + MENU_GAP_PX,
2708
2746
  left: rect.left,
2709
- width: rect.width
2747
+ width: rect.width,
2748
+ placement
2710
2749
  });
2711
2750
  };
2712
2751
  update();
2752
+ const rafId = requestAnimationFrame(update);
2713
2753
  window.addEventListener("scroll", update, true);
2714
2754
  window.addEventListener("resize", update);
2715
2755
  return () => {
2756
+ cancelAnimationFrame(rafId);
2716
2757
  window.removeEventListener("scroll", update, true);
2717
2758
  window.removeEventListener("resize", update);
2718
2759
  };
2719
- }, [open, menuPlacement]);
2760
+ }, [open, preferredPlacement, optionCount, hasFooter]);
2720
2761
  useEffect5(() => {
2721
2762
  if (!open) return;
2722
2763
  const handlePointerDown = (event) => {
@@ -2786,7 +2827,7 @@ function PopoverSelect(props) {
2786
2827
  top: pos.top,
2787
2828
  left: pos.left,
2788
2829
  width: pos.width,
2789
- transform: menuPlacement === "top" ? "translateY(-100%)" : void 0
2830
+ transform: pos.placement === "top" ? "translateY(-100%)" : void 0
2790
2831
  },
2791
2832
  onMouseDown: (event) => event.stopPropagation(),
2792
2833
  children: [
@@ -3239,9 +3280,9 @@ function useOptionalCurrentUser() {
3239
3280
  import { useState as useState12 } from "react";
3240
3281
  import { jsx as jsx39 } from "react/jsx-runtime";
3241
3282
  var sizeClasses = {
3242
- sm: "h-6 w-6 text-xs",
3243
- default: "h-8 w-8 text-sm",
3244
- lg: "h-10 w-10 text-base"
3283
+ sm: "h-5 w-5 text-[0.625rem] leading-none",
3284
+ default: "h-8 w-8 text-sm leading-none",
3285
+ lg: "h-10 w-10 text-base leading-none"
3245
3286
  };
3246
3287
  function Avatar({ className, size = "default", ...props }) {
3247
3288
  return /* @__PURE__ */ jsx39(
@@ -3278,7 +3319,7 @@ function AvatarFallback({ className, ...props }) {
3278
3319
  {
3279
3320
  "data-slot": "avatar-fallback",
3280
3321
  className: cn(
3281
- "flex h-full w-full items-center justify-center rounded-full bg-secondary-bg font-medium text-text-secondary",
3322
+ "flex h-full w-full items-center justify-center rounded-full bg-gradient-to-br from-primary-button-bg/20 to-primary-button-bg/10 font-medium text-primary-button-bg dark:from-primary-button-bg dark:to-primary-button-hover dark:text-primary-button-text",
3282
3323
  className
3283
3324
  ),
3284
3325
  ...props
@@ -3289,14 +3330,8 @@ function AvatarFallback({ className, ...props }) {
3289
3330
  // src/atoms/UserAvatar.tsx
3290
3331
  import { jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
3291
3332
  function getUserInitials(displayName) {
3292
- const parts = displayName.trim().split(/\s+/).filter(Boolean);
3293
- const first = parts[0];
3294
- if (first === void 0) {
3295
- return "";
3296
- }
3297
- const last = parts.at(-1);
3298
- const characters = parts.length === 1 ? Array.from(first).slice(0, 2) : [Array.from(first)[0], Array.from(last ?? "")[0]];
3299
- return characters.filter((character) => character !== void 0).join("").toLocaleUpperCase();
3333
+ const first = Array.from(displayName.trim())[0];
3334
+ return first === void 0 ? "" : first.toLocaleUpperCase();
3300
3335
  }
3301
3336
  function UserAvatar({ labeled = false, className }) {
3302
3337
  const currentUser = useOptionalCurrentUser();
@@ -3316,7 +3351,7 @@ function UserAvatar({ labeled = false, className }) {
3316
3351
  className
3317
3352
  ),
3318
3353
  children: [
3319
- /* @__PURE__ */ jsx40(Avatar, { size: "sm", children: /* @__PURE__ */ jsx40(AvatarFallback, { className: "bg-primary-button-bg text-primary-button-text", children: getUserInitials(displayName) }) }),
3354
+ /* @__PURE__ */ jsx40(Avatar, { size: "sm", children: /* @__PURE__ */ jsx40(AvatarFallback, { children: getUserInitials(displayName) }) }),
3320
3355
  /* @__PURE__ */ jsx40("span", { className: "w-full truncate text-center text-[0.625rem] leading-tight", children: displayName })
3321
3356
  ]
3322
3357
  }
@@ -3596,6 +3631,7 @@ function TableTokenPagination({
3596
3631
 
3597
3632
  // src/atoms/AgentsLibrary.tsx
3598
3633
  import { Fragment as Fragment6, jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
3634
+ var AGENTS_PAGE_SIZE_OPTIONS = [10, 25];
3599
3635
  function displayModelLabel(modelName) {
3600
3636
  const slash = modelName.lastIndexOf("/");
3601
3637
  return slash >= 0 ? modelName.slice(slash + 1) : modelName;
@@ -3699,17 +3735,30 @@ function AgentLibraryRow({
3699
3735
  const skillsTitle = skillNames.length ? skillNames.join(", ") : `${skillsCount} skills`;
3700
3736
  const hasConfiguration = modelLabel != null || skillsCount > 0 || mcpCount > 0;
3701
3737
  const hasNoSchedules = scheduleSummary != null && scheduleSummary.count === 0;
3738
+ const storedDescription = agent.description?.trim() || null;
3739
+ const description = storedDescription != null && storedDescription !== agent.name ? storedDescription : null;
3702
3740
  return /* @__PURE__ */ jsxs33(TableRow, { className: hasNoSchedules ? "group" : void 0, children: [
3703
- /* @__PURE__ */ jsx45(TableCell, { className: "text-text-primary font-medium", children: onOpen == null ? /* @__PURE__ */ jsx45("span", { className: "block truncate", children: agent.name }) : /* @__PURE__ */ jsx45(
3704
- "button",
3705
- {
3706
- type: "button",
3707
- className: "block max-w-full cursor-pointer text-left",
3708
- "aria-label": `Open ${agent.name}`,
3709
- onClick: onOpen,
3710
- children: /* @__PURE__ */ jsx45("span", { className: "block truncate", children: agent.name })
3711
- }
3712
- ) }),
3741
+ /* @__PURE__ */ jsxs33(TableCell, { className: "text-text-primary w-96 max-w-96 font-medium", children: [
3742
+ onOpen == null ? /* @__PURE__ */ jsx45("span", { className: "block truncate", children: agent.name }) : /* @__PURE__ */ jsx45(
3743
+ "button",
3744
+ {
3745
+ type: "button",
3746
+ className: "block max-w-full cursor-pointer text-left",
3747
+ "aria-label": `Open ${agent.name}`,
3748
+ onClick: onOpen,
3749
+ children: /* @__PURE__ */ jsx45("span", { className: "block truncate", children: agent.name })
3750
+ }
3751
+ ),
3752
+ description ? /* @__PURE__ */ jsx45(
3753
+ Tooltip,
3754
+ {
3755
+ content: description,
3756
+ className: "max-w-sm whitespace-normal text-left",
3757
+ triggerClassName: "block min-w-0 w-full max-w-full",
3758
+ children: /* @__PURE__ */ jsx45("span", { className: "text-text-secondary block truncate text-xs font-normal", children: description })
3759
+ }
3760
+ ) : null
3761
+ ] }),
3713
3762
  /* @__PURE__ */ jsx45(TableCell, { children: hasConfiguration ? /* @__PURE__ */ jsxs33("div", { className: "text-text-secondary flex min-w-0 items-center gap-2", children: [
3714
3763
  modelLabel != null ? /* @__PURE__ */ jsx45(Tooltip, { content: modelTitle, children: /* @__PURE__ */ jsxs33(
3715
3764
  "span",
@@ -3750,6 +3799,7 @@ function AgentLibraryRow({
3750
3799
  AgentOverflowMenu,
3751
3800
  {
3752
3801
  agentName: agent.name,
3802
+ ...storedDescription != null ? { description: storedDescription } : {},
3753
3803
  ...spec != null ? { agentSpec: spec } : {},
3754
3804
  canMutate,
3755
3805
  canUse: canUseAgent,
@@ -3831,11 +3881,14 @@ function AgentsLibrary({ onSelectAgent }) {
3831
3881
  window.addEventListener("keydown", onKeyDown, true);
3832
3882
  return () => window.removeEventListener("keydown", onKeyDown, true);
3833
3883
  }, [closeLibrary, open]);
3834
- const { agents, isInitialLoading, isSearching, loadingMore, error, hasMore, listRef, sentinelRef } = useSearchAgentsList({
3884
+ const { agents, isInitialLoading, isSearching, error, pageSize, setPageSize, canPrev, canNext, goPrev, goNext } = useSearchAgentsList({
3835
3885
  enabled: open,
3836
3886
  query,
3837
- refreshKey: agentsListEpoch
3887
+ refreshKey: agentsListEpoch,
3888
+ mode: "paged",
3889
+ limit: DEFAULT_TABLE_PAGE_SIZE
3838
3890
  });
3891
+ const hasPageNav = canPrev || canNext;
3839
3892
  const showCreatedByColumn = hasCreatedBySubject(agents);
3840
3893
  const permissionAgentIds = open ? agents.map(libraryAgentId) : [];
3841
3894
  const { allows } = useResourcePermissions({
@@ -3892,6 +3945,7 @@ function AgentsLibrary({ onSelectAgent }) {
3892
3945
  isCreateAgent: true,
3893
3946
  agentId: libraryAgentId(agent),
3894
3947
  agentName: agent.name,
3948
+ ...agent.description === void 0 ? {} : { description: agent.description },
3895
3949
  agentSpec
3896
3950
  });
3897
3951
  };
@@ -3907,7 +3961,7 @@ function AgentsLibrary({ onSelectAgent }) {
3907
3961
  ] })
3908
3962
  }
3909
3963
  ),
3910
- /* @__PURE__ */ jsx45("div", { className: "bg-secondary-bg/40 flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx45("div", { ref: listRef, className: "min-h-0 flex-1 overflow-y-auto p-4", "aria-label": "Agents", children: isInitialLoading ? /* @__PURE__ */ jsx45("div", { className: "flex flex-col gap-2 p-1", role: "status", "aria-label": "Loading agents", children: Array.from({ length: 6 }, (_, i) => /* @__PURE__ */ jsx45(Skeleton, { className: "h-11 w-full rounded-md" }, i)) }) : error ? /* @__PURE__ */ jsx45("p", { className: "text-failure-bg px-3 py-8 text-center text-sm", children: error }) : agents.length === 0 ? /* @__PURE__ */ jsx45(
3964
+ /* @__PURE__ */ jsx45("div", { className: "bg-secondary-bg/40 flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx45("div", { className: "min-h-0 flex-1 overflow-y-auto p-4", "aria-label": "Agents", children: isInitialLoading ? /* @__PURE__ */ jsx45("div", { className: "flex flex-col gap-2 p-1", role: "status", "aria-label": "Loading agents", children: Array.from({ length: 6 }, (_, i) => /* @__PURE__ */ jsx45(Skeleton, { className: "h-11 w-full rounded-md" }, i)) }) : error ? /* @__PURE__ */ jsx45("p", { className: "text-failure-bg px-3 py-8 text-center text-sm", children: error }) : agents.length === 0 && !hasPageNav ? /* @__PURE__ */ jsx45(
3911
3965
  EmptyScreen,
3912
3966
  {
3913
3967
  title: "No Agents Found",
@@ -3916,10 +3970,35 @@ function AgentsLibrary({ onSelectAgent }) {
3916
3970
  /* @__PURE__ */ jsx45(EmptyScreenQueryHighlight, { children: query.trim() })
3917
3971
  ] }) : "Build one in a chat, then save it as an agent."
3918
3972
  }
3919
- ) : /* @__PURE__ */ jsxs33(Fragment6, { children: [
3920
- /* @__PURE__ */ jsx45("div", { className: "overflow-hidden rounded-lg border border-border", children: /* @__PURE__ */ jsxs33(Table, { children: [
3973
+ ) : agents.length === 0 ? /* @__PURE__ */ jsxs33("div", { className: "flex min-h-full flex-col", children: [
3974
+ /* @__PURE__ */ jsx45(
3975
+ EmptyScreen,
3976
+ {
3977
+ title: "No Agents Found",
3978
+ description: query.trim() ? /* @__PURE__ */ jsxs33(Fragment6, { children: [
3979
+ "No search results found for ",
3980
+ /* @__PURE__ */ jsx45(EmptyScreenQueryHighlight, { children: query.trim() })
3981
+ ] }) : "Build one in a chat, then save it as an agent.",
3982
+ className: "flex-1"
3983
+ }
3984
+ ),
3985
+ /* @__PURE__ */ jsx45("div", { className: "overflow-hidden rounded-lg border border-border", children: /* @__PURE__ */ jsx45(
3986
+ TableTokenPagination,
3987
+ {
3988
+ pageSize,
3989
+ rowCount: 0,
3990
+ canPrev,
3991
+ canNext,
3992
+ onPrev: goPrev,
3993
+ onNext: goNext,
3994
+ pageSizeOptions: AGENTS_PAGE_SIZE_OPTIONS,
3995
+ onPageSizeChange: setPageSize
3996
+ }
3997
+ ) })
3998
+ ] }) : /* @__PURE__ */ jsxs33("div", { className: "overflow-hidden rounded-lg border border-border", children: [
3999
+ /* @__PURE__ */ jsxs33(Table, { children: [
3921
4000
  /* @__PURE__ */ jsx45(TableHeader, { children: /* @__PURE__ */ jsxs33(TableRow, { className: "hover:bg-transparent", children: [
3922
- /* @__PURE__ */ jsx45(TableHead, { children: "Agent name" }),
4001
+ /* @__PURE__ */ jsx45(TableHead, { className: "w-96 min-w-96", children: "Agent name" }),
3923
4002
  /* @__PURE__ */ jsx45(TableHead, { children: "Configuration" }),
3924
4003
  showCreatedByColumn ? /* @__PURE__ */ jsx45(TableHead, { children: "Created by" }) : null,
3925
4004
  showSchedulesColumn ? /* @__PURE__ */ jsx45(TableHead, { className: "w-[14rem]", children: "Schedules" }) : null,
@@ -3968,8 +4047,20 @@ function AgentsLibrary({ onSelectAgent }) {
3968
4047
  id
3969
4048
  );
3970
4049
  }) })
3971
- ] }) }),
3972
- hasMore ? /* @__PURE__ */ jsx45("div", { ref: sentinelRef, className: "flex h-8 shrink-0 items-center justify-center", "aria-hidden": true, children: loadingMore ? /* @__PURE__ */ jsx45("span", { className: "text-text-secondary text-xs", role: "status", children: "Loading more\u2026" }) : null }) : null
4050
+ ] }),
4051
+ /* @__PURE__ */ jsx45(
4052
+ TableTokenPagination,
4053
+ {
4054
+ pageSize,
4055
+ rowCount: agents.length,
4056
+ canPrev,
4057
+ canNext,
4058
+ onPrev: goPrev,
4059
+ onNext: goNext,
4060
+ pageSizeOptions: AGENTS_PAGE_SIZE_OPTIONS,
4061
+ onPageSizeChange: setPageSize
4062
+ }
4063
+ )
3973
4064
  ] }) }) })
3974
4065
  ] });
3975
4066
  }
@@ -4165,7 +4256,7 @@ function AttachmentCard({
4165
4256
  children: [
4166
4257
  /* @__PURE__ */ jsx49(Tooltip, { content: name, side: "top", triggerClassName: "size-full", children: /* @__PURE__ */ jsx49("div", { className: "bg-secondary-bg relative size-full overflow-hidden rounded-[calc(var(--composer-radius,1.5rem)-var(--composer-padding,8px))] border border-primary-button-bg/20", children: /* @__PURE__ */ jsxs37(Avatar, { className: "size-full rounded-none", children: [
4167
4258
  /* @__PURE__ */ jsx49(AvatarImage, { src: isImage ? previewSrc : void 0, alt: name, className: "object-cover" }),
4168
- /* @__PURE__ */ jsx49(AvatarFallback, { className: "rounded-none", children: /* @__PURE__ */ jsx49(Icon, { name: "file", size: "1.5rem", className: "text-text-secondary" }) })
4259
+ /* @__PURE__ */ jsx49(AvatarFallback, { className: "rounded-none bg-secondary-bg bg-none text-text-secondary", children: /* @__PURE__ */ jsx49(Icon, { name: "file", size: "1.5rem", className: "text-text-secondary" }) })
4169
4260
  ] }) }) }),
4170
4261
  /* @__PURE__ */ jsx49("span", { className: "sr-only", children: name }),
4171
4262
  onRemove && /* @__PURE__ */ jsx49(
@@ -6209,8 +6300,10 @@ function SideDrawer({
6209
6300
  onOpenChange(false);
6210
6301
  },
6211
6302
  style: compactStyle,
6303
+ "data-anchor": anchor,
6304
+ "data-compact": compact ? "" : void 0,
6212
6305
  className: cn(
6213
- "bg-card-bg text-text-primary border-border open:flex open:flex-col overflow-hidden rounded-none p-0 shadow-xl",
6306
+ "aui-side-drawer bg-card-bg text-text-primary border-border open:flex open:flex-col overflow-hidden rounded-none p-0 shadow-xl",
6214
6307
  "backdrop:bg-black/50 backdrop:backdrop-blur-[2px] dark:backdrop:bg-black/70",
6215
6308
  compact ? "m-0 mt-auto h-[min(85dvh,40rem)] w-full max-w-none border-t pb-[env(safe-area-inset-bottom)]" : cn(
6216
6309
  // Mobile / narrow: bottom sheet
@@ -6290,7 +6383,7 @@ function AgentInstructionsDrawer({
6290
6383
  open,
6291
6384
  onOpenChange: (nextOpen) => !nextOpen && onClose(),
6292
6385
  title: "Instructions",
6293
- description: "Define the agent behavior and messages added at the start of every session.",
6386
+ description: "System prompt that defines the agent's role, goals, and how it should behave. Written once, applied to every run.",
6294
6387
  anchor: "right",
6295
6388
  size: "lg",
6296
6389
  "aria-label": "Edit Instructions",
@@ -8216,7 +8309,7 @@ function DraftReasoningEffortSelector({ disabled, isRunning }) {
8216
8309
  ]
8217
8310
  }
8218
8311
  ),
8219
- open ? isMobile || compactLayout ? /* @__PURE__ */ jsx82(BottomSheet, { open: true, onOpenChange: setOpen, "aria-label": "Select reasoning effort", children: content }) : /* @__PURE__ */ jsx82("div", { className: "bg-card-bg text-text-primary absolute right-0 bottom-full z-50 mb-2 flex max-h-[22rem] w-[12rem] flex-col overflow-hidden rounded-lg border border-border shadow-lg", children: content }) : null
8312
+ open ? isMobile || compactLayout ? /* @__PURE__ */ jsx82(BottomSheet, { open: true, onOpenChange: setOpen, "aria-label": "Select reasoning effort", children: content }) : /* @__PURE__ */ jsx82("div", { className: "aui-popup-enter bg-card-bg text-text-primary absolute right-0 bottom-full z-50 mb-2 flex max-h-[22rem] w-[12rem] flex-col overflow-hidden rounded-lg border border-border shadow-lg", children: content }) : null
8220
8313
  ] });
8221
8314
  }
8222
8315
 
@@ -8833,7 +8926,7 @@ function DraftCompositeSelector({ disabled, isRunning, onAttach }) {
8833
8926
  id: menuId,
8834
8927
  role: "dialog",
8835
8928
  "aria-label": "Add to composer",
8836
- className: "bg-card-bg text-text-primary absolute bottom-full left-0 z-50 mb-2 flex h-[22rem] w-[28rem] max-w-[min(28rem,calc(100vw-2rem))] flex-col overflow-hidden rounded-lg border border-border shadow-lg",
8929
+ className: "aui-popup-enter bg-card-bg text-text-primary absolute bottom-full left-0 z-50 mb-2 flex h-[22rem] w-[28rem] max-w-[min(28rem,calc(100vw-2rem))] flex-col overflow-hidden rounded-lg border border-border shadow-lg",
8837
8930
  children: content
8838
8931
  }
8839
8932
  ) : null
@@ -8940,7 +9033,7 @@ function DraftModelSelector({ disabled, isRunning }) {
8940
9033
  ]
8941
9034
  }
8942
9035
  ),
8943
- open ? isMobile || compactLayout ? /* @__PURE__ */ jsx85(BottomSheet, { open: true, onOpenChange: setOpen, "aria-label": "Select model", children: content }) : /* @__PURE__ */ jsx85("div", { className: "bg-card-bg text-text-primary absolute right-0 bottom-full z-50 mb-2 flex max-h-[22rem] w-[18rem] flex-col overflow-hidden rounded-lg border border-border shadow-lg", children: content }) : null
9036
+ open ? isMobile || compactLayout ? /* @__PURE__ */ jsx85(BottomSheet, { open: true, onOpenChange: setOpen, "aria-label": "Select model", children: content }) : /* @__PURE__ */ jsx85("div", { className: "aui-popup-enter bg-card-bg text-text-primary absolute right-0 bottom-full z-50 mb-2 flex max-h-[22rem] w-[18rem] flex-col overflow-hidden rounded-lg border border-border shadow-lg", children: content }) : null
8944
9037
  ] });
8945
9038
  }
8946
9039
 
@@ -8970,7 +9063,7 @@ import ReactMarkdown from "react-markdown";
8970
9063
  import remarkGfm from "remark-gfm";
8971
9064
  import { Fragment as Fragment14, jsx as jsx87 } from "react/jsx-runtime";
8972
9065
  function preloadMarkdownOpenUI() {
8973
- return import("./OpenUiFenceBlock-FHEYXZEQ.js");
9066
+ return import("./OpenUiFenceBlock-KPZFLUSC.js");
8974
9067
  }
8975
9068
  var LARGE_STREAMING_FENCE_CHARS = 8 * 1024;
8976
9069
  function getActiveStreamingFenceCode(content) {
@@ -9136,15 +9229,19 @@ function MessageErrorBanner({ message, className }) {
9136
9229
  }
9137
9230
 
9138
9231
  // src/atoms/MessageIndicator.tsx
9139
- import { jsx as jsx90 } from "react/jsx-runtime";
9232
+ import { ThinkingOrb } from "thinking-orbs";
9233
+ import { jsx as jsx90, jsxs as jsxs67 } from "react/jsx-runtime";
9140
9234
  function MessageIndicator({ className }) {
9141
- return /* @__PURE__ */ jsx90(
9235
+ return /* @__PURE__ */ jsxs67(
9142
9236
  "span",
9143
9237
  {
9144
9238
  "data-slot": "aui_assistant-message-indicator",
9145
- className: cn("animate-pulse font-sans", className),
9146
- "aria-label": "Assistant is working",
9147
- children: "\u25CF"
9239
+ role: "status",
9240
+ className: cn("inline-flex items-center gap-1.5 font-sans text-sm text-text-secondary", className),
9241
+ children: [
9242
+ /* @__PURE__ */ jsx90(ThinkingOrb, { state: "listening", size: 20, "aria-hidden": true }),
9243
+ /* @__PURE__ */ jsx90("span", { className: "aui-message-indicator-shimmer", children: "Working..." })
9244
+ ]
9148
9245
  }
9149
9246
  );
9150
9247
  }
@@ -9448,7 +9545,7 @@ function SandboxArtifactDownload({
9448
9545
  }
9449
9546
 
9450
9547
  // src/atoms/SandboxToolCallCard.tsx
9451
- import { Fragment as Fragment15, jsx as jsx95, jsxs as jsxs67 } from "react/jsx-runtime";
9548
+ import { Fragment as Fragment15, jsx as jsx95, jsxs as jsxs68 } from "react/jsx-runtime";
9452
9549
  function JsonPane({ value, className }) {
9453
9550
  const MonacoEditorCore2 = useSlot("MonacoEditorCore");
9454
9551
  return /* @__PURE__ */ jsx95(
@@ -9482,22 +9579,22 @@ function SandboxBody({
9482
9579
  onViewModeChange,
9483
9580
  dataTestPrefix
9484
9581
  }) {
9485
- return /* @__PURE__ */ jsxs67(
9582
+ return /* @__PURE__ */ jsxs68(
9486
9583
  "div",
9487
9584
  {
9488
9585
  className: "rounded-lg border border-border bg-primary-bg",
9489
9586
  "data-testid": dataTestPrefix ? `${dataTestPrefix}-sandbox` : void 0,
9490
9587
  children: [
9491
- /* @__PURE__ */ jsx95("div", { className: "rounded-t-md border-b border-primary-button-bg/30 bg-primary-button-bg/10", children: /* @__PURE__ */ jsxs67("div", { className: "flex w-full min-w-0 items-center gap-2 px-3 py-1.5", children: [
9588
+ /* @__PURE__ */ jsx95("div", { className: "rounded-t-md border-b border-primary-button-bg/30 bg-primary-button-bg/10", children: /* @__PURE__ */ jsxs68("div", { className: "flex w-full min-w-0 items-center gap-2 px-3 py-1.5", children: [
9492
9589
  /* @__PURE__ */ jsx95("p", { className: "min-w-0 font-sans text-xs font-medium text-primary-button-bg", children: "sandbox" }),
9493
- /* @__PURE__ */ jsxs67(
9590
+ /* @__PURE__ */ jsxs68(
9494
9591
  "div",
9495
9592
  {
9496
9593
  className: "ml-auto flex shrink-0 items-center gap-1.5",
9497
9594
  onClick: (e) => e.stopPropagation(),
9498
9595
  onKeyDown: (e) => e.stopPropagation(),
9499
9596
  children: [
9500
- exitCode != null && /* @__PURE__ */ jsxs67(
9597
+ exitCode != null && /* @__PURE__ */ jsxs68(
9501
9598
  "span",
9502
9599
  {
9503
9600
  className: cn(
@@ -9512,7 +9609,7 @@ function SandboxBody({
9512
9609
  ]
9513
9610
  }
9514
9611
  ),
9515
- /* @__PURE__ */ jsxs67(
9612
+ /* @__PURE__ */ jsxs68(
9516
9613
  "div",
9517
9614
  {
9518
9615
  className: "inline-flex h-6 items-center rounded-md border border-border bg-primary-bg p-0.5",
@@ -9556,33 +9653,33 @@ function SandboxBody({
9556
9653
  }
9557
9654
  )
9558
9655
  ] }) }),
9559
- /* @__PURE__ */ jsx95("div", { className: "rounded-b-lg border border-t-0 border-border p-3", children: hasContent && /* @__PURE__ */ jsx95("div", { className: "max-h-80 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs text-text-primary", children: viewMode === "code" ? /* @__PURE__ */ jsxs67(Fragment15, { children: [
9560
- argsJson && /* @__PURE__ */ jsxs67("div", { className: "my-1 border-l-4 border-primary-button-bg px-3", children: [
9656
+ /* @__PURE__ */ jsx95("div", { className: "rounded-b-lg border border-t-0 border-border p-3", children: hasContent && /* @__PURE__ */ jsx95("div", { className: "max-h-80 overflow-x-hidden overflow-y-auto whitespace-pre-wrap break-words font-mono text-xs text-text-primary", children: viewMode === "code" ? /* @__PURE__ */ jsxs68(Fragment15, { children: [
9657
+ argsJson && /* @__PURE__ */ jsxs68("div", { className: "my-1 border-l-4 border-primary-button-bg px-3", children: [
9561
9658
  /* @__PURE__ */ jsx95("div", { className: "mb-1 font-sans text-xs font-medium leading-4", children: "Arguments" }),
9562
9659
  /* @__PURE__ */ jsx95(JsonPane, { value: argsJson, className: "pl-2" })
9563
9660
  ] }),
9564
- resultJson && /* @__PURE__ */ jsxs67("div", { className: "my-1 border-l-4 border-primary-button-bg/60 px-3", children: [
9661
+ resultJson && /* @__PURE__ */ jsxs68("div", { className: "my-1 border-l-4 border-primary-button-bg/60 px-3", children: [
9565
9662
  /* @__PURE__ */ jsx95("div", { className: "mb-1 mt-2 font-sans text-xs font-medium leading-4", children: "Result" }),
9566
9663
  /* @__PURE__ */ jsx95(JsonPane, { value: resultJson, className: "pl-2" })
9567
9664
  ] })
9568
- ] }) : /* @__PURE__ */ jsxs67(Fragment15, { children: [
9569
- command && /* @__PURE__ */ jsxs67("div", { className: "my-1 break-all border-l-4 border-primary-button-bg px-3", children: [
9665
+ ] }) : /* @__PURE__ */ jsxs68(Fragment15, { children: [
9666
+ command && /* @__PURE__ */ jsxs68("div", { className: "my-1 break-all border-l-4 border-primary-button-bg px-3", children: [
9570
9667
  /* @__PURE__ */ jsx95("div", { className: "mb-1 text-[12px] font-medium leading-4 text-text-secondary", children: "COMMAND" }),
9571
- /* @__PURE__ */ jsxs67("div", { children: [
9668
+ /* @__PURE__ */ jsxs68("div", { children: [
9572
9669
  /* @__PURE__ */ jsx95("span", { className: "text-primary-button-bg", children: "$" }),
9573
9670
  " ",
9574
9671
  command
9575
9672
  ] })
9576
9673
  ] }),
9577
- resultText ? /* @__PURE__ */ jsxs67(Fragment15, { children: [
9674
+ resultText ? /* @__PURE__ */ jsxs68(Fragment15, { children: [
9578
9675
  /* @__PURE__ */ jsx95("div", { className: "mx-3 my-1 border-t border-border" }),
9579
- /* @__PURE__ */ jsxs67("div", { className: "my-1 break-all border-l-4 border-primary-button-bg/60 px-3", children: [
9676
+ /* @__PURE__ */ jsxs68("div", { className: "my-1 break-all border-l-4 border-primary-button-bg/60 px-3", children: [
9580
9677
  /* @__PURE__ */ jsx95("div", { className: "mb-1 text-[12px] font-medium leading-4 text-text-secondary", children: "OUTPUT" }),
9581
9678
  /* @__PURE__ */ jsx95("div", { children: resultText })
9582
9679
  ] })
9583
- ] }) : resultJson && /* @__PURE__ */ jsxs67(Fragment15, { children: [
9680
+ ] }) : resultJson && /* @__PURE__ */ jsxs68(Fragment15, { children: [
9584
9681
  /* @__PURE__ */ jsx95("div", { className: "mx-3 my-1 border-t border-border" }),
9585
- /* @__PURE__ */ jsxs67("div", { className: "my-1 border-l-4 border-primary-button-bg/60 px-3", children: [
9682
+ /* @__PURE__ */ jsxs68("div", { className: "my-1 border-l-4 border-primary-button-bg/60 px-3", children: [
9586
9683
  /* @__PURE__ */ jsx95("div", { className: "mb-1 text-[12px] font-medium leading-4 text-text-secondary", children: "OUTPUT" }),
9587
9684
  /* @__PURE__ */ jsx95(JsonPane, { value: resultJson, className: "pl-2" })
9588
9685
  ] })
@@ -9741,7 +9838,7 @@ function useOptionalAgentConfigInstructions() {
9741
9838
  }
9742
9839
 
9743
9840
  // src/atoms/SaveAgentButton.tsx
9744
- import { Fragment as Fragment16, jsx as jsx97, jsxs as jsxs68 } from "react/jsx-runtime";
9841
+ import { Fragment as Fragment16, jsx as jsx97, jsxs as jsxs69 } from "react/jsx-runtime";
9745
9842
  function cloneAgentSpec(spec) {
9746
9843
  return {
9747
9844
  ...spec,
@@ -9788,12 +9885,14 @@ function SaveAgentButtonContent({
9788
9885
  const [open, setOpen] = useState36(false);
9789
9886
  const [intent, setIntent] = useState36("create");
9790
9887
  const [name, setName] = useState36("");
9888
+ const [description, setDescription] = useState36("");
9791
9889
  const [draftSpec, setDraftSpec] = useState36(null);
9792
9890
  const [saving, setSaving] = useState36(false);
9793
9891
  const [error, setError] = useState36(null);
9794
9892
  const close = () => {
9795
9893
  if (saving) return;
9796
9894
  setOpen(false);
9895
+ setDescription("");
9797
9896
  setDraftSpec(null);
9798
9897
  setError(null);
9799
9898
  };
@@ -9810,6 +9909,7 @@ function SaveAgentButtonContent({
9810
9909
  const currentName = shell?.mode.status === "active" ? shell.mode.agentName ?? shell.mode.agentId ?? "" : "";
9811
9910
  setIntent(currentName ? "update" : "create");
9812
9911
  setName(currentName);
9912
+ setDescription(currentName && shell?.mode.status === "active" ? shell.mode.description ?? "" : "");
9813
9913
  setDraftSpec(cloneAgentSpec(latestAgentSpec));
9814
9914
  setOpen(true);
9815
9915
  };
@@ -9818,11 +9918,14 @@ function SaveAgentButtonContent({
9818
9918
  if (intent === "update" && !canManageAgent) return;
9819
9919
  const normalizedName = name.trim();
9820
9920
  if (!normalizedName || !draftSpec.model.name.trim()) return;
9921
+ const normalizedDescription = description.trim();
9922
+ if (!normalizedDescription) return;
9821
9923
  setSaving(true);
9822
9924
  setError(null);
9823
9925
  try {
9824
9926
  const result = await builder.saveAgent({
9825
9927
  agentName: normalizedName,
9928
+ ...normalizedDescription ? { description: normalizedDescription } : {},
9826
9929
  agentSpec: draftSpec,
9827
9930
  intent,
9828
9931
  sessionId: draftSessionId
@@ -9831,10 +9934,12 @@ function SaveAgentButtonContent({
9831
9934
  shell?.bindMutableAgent({
9832
9935
  agentId: result.agentId ?? normalizedName,
9833
9936
  agentName: normalizedName,
9937
+ ...normalizedDescription ? { description: normalizedDescription } : {},
9834
9938
  agentSpec: draftSpec
9835
9939
  });
9836
9940
  shell?.invalidateAgentsList();
9837
9941
  setOpen(false);
9942
+ setDescription("");
9838
9943
  setDraftSpec(null);
9839
9944
  } catch (caught) {
9840
9945
  setError(getErrorMessage(caught, "Could not save agent"));
@@ -9845,8 +9950,8 @@ function SaveAgentButtonContent({
9845
9950
  const isUpdateMode = shell?.mode.status === "active" && shell.mode.isMutable && (shell.mode.agentName !== void 0 || shell.mode.agentId !== void 0);
9846
9951
  const triggerLabel = isUpdateMode && children === "Save Agent" ? "Update Agent" : children;
9847
9952
  if (!visible) return null;
9848
- return /* @__PURE__ */ jsxs68(Fragment16, { children: [
9849
- /* @__PURE__ */ jsx97(PermissionGuard2, { allowed: canManageAgent, children: /* @__PURE__ */ jsxs68(
9953
+ return /* @__PURE__ */ jsxs69(Fragment16, { children: [
9954
+ /* @__PURE__ */ jsx97(PermissionGuard2, { allowed: canManageAgent, children: /* @__PURE__ */ jsxs69(
9850
9955
  Button.Primary,
9851
9956
  {
9852
9957
  type: "button",
@@ -9874,11 +9979,12 @@ function SaveAgentButtonContent({
9874
9979
  {
9875
9980
  intent,
9876
9981
  name,
9982
+ description,
9877
9983
  spec: draftSpec,
9878
9984
  saving,
9879
9985
  error,
9880
9986
  onNameChange: setName,
9881
- onChange: setDraftSpec,
9987
+ onDescriptionChange: setDescription,
9882
9988
  onCancel: close,
9883
9989
  onSave: () => void save()
9884
9990
  }
@@ -9890,14 +9996,16 @@ function SaveAgentButtonContent({
9890
9996
 
9891
9997
  // src/atoms/SaveAgentForm.tsx
9892
9998
  import { useEffect as useEffect21, useRef as useRef20 } from "react";
9893
- import { jsx as jsx98, jsxs as jsxs69 } from "react/jsx-runtime";
9999
+ import { jsx as jsx98, jsxs as jsxs70 } from "react/jsx-runtime";
9894
10000
  function SaveAgentForm({
9895
10001
  intent,
9896
10002
  name,
10003
+ description,
9897
10004
  spec,
9898
10005
  saving,
9899
10006
  error,
9900
10007
  onNameChange,
10008
+ onDescriptionChange,
9901
10009
  onCancel,
9902
10010
  onSave
9903
10011
  }) {
@@ -9906,9 +10014,10 @@ function SaveAgentForm({
9906
10014
  if (error === null) return;
9907
10015
  errorRef.current?.scrollIntoView?.({ block: "nearest", behavior: "smooth" });
9908
10016
  }, [error]);
9909
- return /* @__PURE__ */ jsxs69("div", { className: "flex min-h-0 w-full flex-1 flex-col", children: [
9910
- /* @__PURE__ */ jsxs69("div", { className: "min-h-0 flex-1 overflow-y-auto px-5 py-3", children: [
9911
- /* @__PURE__ */ jsxs69("label", { className: "mb-3 block", children: [
10017
+ const canSave = name.trim() !== "" && spec.model.name.trim() !== "" && description.trim() !== "";
10018
+ return /* @__PURE__ */ jsxs70("div", { className: "flex min-h-0 w-full flex-1 flex-col", children: [
10019
+ /* @__PURE__ */ jsxs70("div", { className: "min-h-0 flex-1 overflow-y-auto px-5 py-3", children: [
10020
+ /* @__PURE__ */ jsxs70("label", { className: "mb-3 block", children: [
9912
10021
  /* @__PURE__ */ jsx98("span", { className: "mb-1.5 block text-sm font-medium", children: "Agent name" }),
9913
10022
  /* @__PURE__ */ jsx98(
9914
10023
  "input",
@@ -9921,6 +10030,21 @@ function SaveAgentForm({
9921
10030
  }
9922
10031
  )
9923
10032
  ] }),
10033
+ /* @__PURE__ */ jsxs70("label", { className: "mb-3 block", children: [
10034
+ /* @__PURE__ */ jsx98("span", { className: "mb-1.5 block text-sm font-medium", children: "Description" }),
10035
+ /* @__PURE__ */ jsx98(
10036
+ "textarea",
10037
+ {
10038
+ value: description,
10039
+ disabled: saving,
10040
+ onChange: (event) => onDescriptionChange(event.target.value),
10041
+ rows: 4,
10042
+ maxLength: 1024,
10043
+ placeholder: "Describe what this agent does.",
10044
+ className: auiInputClass("resize-y py-2 disabled:opacity-60")
10045
+ }
10046
+ )
10047
+ ] }),
9924
10048
  error ? /* @__PURE__ */ jsx98(
9925
10049
  "p",
9926
10050
  {
@@ -9931,22 +10055,22 @@ function SaveAgentForm({
9931
10055
  }
9932
10056
  ) : null
9933
10057
  ] }),
9934
- /* @__PURE__ */ jsxs69("div", { className: "bg-card-bg sticky bottom-0 z-10 flex shrink-0 justify-end gap-2 border-t border-border px-5 py-4", children: [
10058
+ /* @__PURE__ */ jsxs70("div", { className: "bg-card-bg sticky bottom-0 z-10 flex shrink-0 justify-end gap-2 border-t border-border px-5 py-4", children: [
9935
10059
  /* @__PURE__ */ jsx98(Button.Secondary, { type: "button", disabled: saving, onClick: onCancel, children: "Cancel" }),
9936
- /* @__PURE__ */ jsx98(Button.Primary, { type: "button", disabled: saving || !name.trim() || !spec.model.name.trim(), onClick: onSave, children: saving ? "Saving\u2026" : "Save changes" })
10060
+ /* @__PURE__ */ jsx98(Button.Primary, { type: "button", disabled: saving || !canSave, onClick: onSave, children: saving ? "Saving\u2026" : "Save changes" })
9937
10061
  ] })
9938
10062
  ] });
9939
10063
  }
9940
10064
 
9941
10065
  // src/atoms/SchedulesButton.tsx
9942
- import { Fragment as Fragment17, jsx as jsx99, jsxs as jsxs70 } from "react/jsx-runtime";
10066
+ import { Fragment as Fragment17, jsx as jsx99, jsxs as jsxs71 } from "react/jsx-runtime";
9943
10067
  function SchedulesButton({ className, compact = false }) {
9944
10068
  const shell = useOptionalShellMode();
9945
10069
  const scheduleServer = useOptionalScheduleServer();
9946
10070
  const enabled = isSchedulesChromeEnabled({ schedules: scheduleServer }) && shell != null;
9947
10071
  const open = shell?.schedulesOpen === true;
9948
10072
  if (!enabled) return null;
9949
- return /* @__PURE__ */ jsx99("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */ jsxs70(
10073
+ return /* @__PURE__ */ jsx99("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */ jsxs71(
9950
10074
  "button",
9951
10075
  {
9952
10076
  type: "button",
@@ -9965,7 +10089,7 @@ function SchedulesButton({ className, compact = false }) {
9965
10089
  onClick: () => shell.setSchedulesOpen(!open),
9966
10090
  children: [
9967
10091
  /* @__PURE__ */ jsx99(Icon, { name: "calendar-clock", size: compact ? 14 : void 0 }),
9968
- compact ? /* @__PURE__ */ jsx99("span", { className: "text-center", children: "Schedules" }) : /* @__PURE__ */ jsxs70(Fragment17, { children: [
10092
+ compact ? /* @__PURE__ */ jsx99("span", { className: "text-center", children: "Schedules" }) : /* @__PURE__ */ jsxs71(Fragment17, { children: [
9969
10093
  /* @__PURE__ */ jsx99("span", { className: "truncate", children: "Schedules" }),
9970
10094
  /* @__PURE__ */ jsx99(Icon, { name: "chevron-right", className: "ml-auto size-3.5 shrink-0 opacity-60" })
9971
10095
  ] })
@@ -10004,12 +10128,12 @@ var ScrollToBottomButton = forwardRef2(
10004
10128
  ScrollToBottomButton.displayName = "ScrollToBottomButton";
10005
10129
 
10006
10130
  // src/atoms/SelectAgentEmptyState.tsx
10007
- import { jsx as jsx101, jsxs as jsxs71 } from "react/jsx-runtime";
10131
+ import { jsx as jsx101, jsxs as jsxs72 } from "react/jsx-runtime";
10008
10132
  function SelectAgentEmptyState() {
10009
10133
  const shell = useOptionalShellMode();
10010
10134
  const AgentsLibraryButton2 = useSlot("AgentsLibraryButton");
10011
10135
  if (shell?.mode.status !== "idle") return null;
10012
- return /* @__PURE__ */ jsxs71(
10136
+ return /* @__PURE__ */ jsxs72(
10013
10137
  "div",
10014
10138
  {
10015
10139
  className: "flex h-full min-h-0 w-full flex-col items-center justify-center gap-4 px-6",
@@ -10023,7 +10147,7 @@ function SelectAgentEmptyState() {
10023
10147
  }
10024
10148
 
10025
10149
  // src/atoms/SessionsBrowserButton.tsx
10026
- import { Fragment as Fragment18, jsx as jsx102, jsxs as jsxs72 } from "react/jsx-runtime";
10150
+ import { Fragment as Fragment18, jsx as jsx102, jsxs as jsxs73 } from "react/jsx-runtime";
10027
10151
  function SessionsBrowserButton({ className, compact = false }) {
10028
10152
  const sessionsServer = useOptionalAgentSessionsServer();
10029
10153
  const shell = useOptionalShellMode();
@@ -10031,7 +10155,7 @@ function SessionsBrowserButton({ className, compact = false }) {
10031
10155
  const sessionsOpen = shell?.sessionsOpen === true;
10032
10156
  const enabled = isSessionsChromeEnabled({ sessions: sessionsServer }) && shell != null;
10033
10157
  if (!enabled) return null;
10034
- return /* @__PURE__ */ jsx102("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */ jsxs72(
10158
+ return /* @__PURE__ */ jsx102("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */ jsxs73(
10035
10159
  "button",
10036
10160
  {
10037
10161
  type: "button",
@@ -10061,7 +10185,7 @@ function SessionsBrowserButton({ className, compact = false }) {
10061
10185
  },
10062
10186
  children: [
10063
10187
  /* @__PURE__ */ jsx102(Icon, { name: "message-square-text", size: compact ? 14 : void 0 }),
10064
- compact ? /* @__PURE__ */ jsx102("span", { className: "text-center", children: "Sessions" }) : /* @__PURE__ */ jsxs72(Fragment18, { children: [
10188
+ compact ? /* @__PURE__ */ jsx102("span", { className: "text-center", children: "Sessions" }) : /* @__PURE__ */ jsxs73(Fragment18, { children: [
10065
10189
  /* @__PURE__ */ jsx102("span", { className: "truncate", children: "Sessions" }),
10066
10190
  /* @__PURE__ */ jsx102(Icon, { name: "chevron-right", className: "ml-auto size-3.5 shrink-0 opacity-60" })
10067
10191
  ] })
@@ -10076,9 +10200,9 @@ function ShellActionsActionSlot() {
10076
10200
  }
10077
10201
 
10078
10202
  // src/atoms/Skeletons.tsx
10079
- import { jsx as jsx103, jsxs as jsxs73 } from "react/jsx-runtime";
10203
+ import { jsx as jsx103, jsxs as jsxs74 } from "react/jsx-runtime";
10080
10204
  function MessageListSkeleton({ className }) {
10081
- return /* @__PURE__ */ jsxs73(
10205
+ return /* @__PURE__ */ jsxs74(
10082
10206
  "div",
10083
10207
  {
10084
10208
  role: "status",
@@ -10087,7 +10211,7 @@ function MessageListSkeleton({ className }) {
10087
10211
  className: cn("mb-14 flex flex-col gap-y-6", className),
10088
10212
  children: [
10089
10213
  /* @__PURE__ */ jsx103("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx103(Skeleton, { className: "h-10 w-[min(85%,20rem)] rounded-xl" }) }),
10090
- /* @__PURE__ */ jsxs73("div", { className: "flex flex-col gap-2 px-2", children: [
10214
+ /* @__PURE__ */ jsxs74("div", { className: "flex flex-col gap-2 px-2", children: [
10091
10215
  /* @__PURE__ */ jsx103(Skeleton, { className: "h-4 w-full max-w-md" }),
10092
10216
  /* @__PURE__ */ jsx103(Skeleton, { className: "h-4 w-full max-w-sm" }),
10093
10217
  /* @__PURE__ */ jsx103(Skeleton, { className: "h-4 w-2/3 max-w-xs" })
@@ -10098,7 +10222,7 @@ function MessageListSkeleton({ className }) {
10098
10222
  }
10099
10223
 
10100
10224
  // src/atoms/SubAgentCard.tsx
10101
- import { jsx as jsx104, jsxs as jsxs74 } from "react/jsx-runtime";
10225
+ import { jsx as jsx104, jsxs as jsxs75 } from "react/jsx-runtime";
10102
10226
  function SubAgentCard({
10103
10227
  agentName,
10104
10228
  instruction,
@@ -10120,7 +10244,7 @@ function SubAgentCard({
10120
10244
  {
10121
10245
  className: cn("aui-sub-agent-card min-w-0", className),
10122
10246
  "data-testid": dataTestPrefix ? `${dataTestPrefix}-sub-agent-card` : void 0,
10123
- children: /* @__PURE__ */ jsxs74(
10247
+ children: /* @__PURE__ */ jsxs75(
10124
10248
  AgentStepRow,
10125
10249
  {
10126
10250
  icon: "agent-2",
@@ -10133,7 +10257,7 @@ function SubAgentCard({
10133
10257
  statusText: durationText,
10134
10258
  dataTestPrefix,
10135
10259
  children: [
10136
- instructionContent != null && /* @__PURE__ */ jsxs74("div", { className: "mb-3 flex flex-col gap-2 rounded-md border border-border p-2", children: [
10260
+ instructionContent != null && /* @__PURE__ */ jsxs75("div", { className: "mb-3 flex flex-col gap-2 rounded-md border border-border p-2", children: [
10137
10261
  /* @__PURE__ */ jsx104("h4", { className: "text-sm font-semibold text-text-primary", children: "Instructions" }),
10138
10262
  /* @__PURE__ */ jsx104(
10139
10263
  "div",
@@ -11166,7 +11290,7 @@ var one_light_default = {
11166
11290
  };
11167
11291
 
11168
11292
  // src/atoms/SyntaxHighlighter.tsx
11169
- import { jsx as jsx105, jsxs as jsxs75 } from "react/jsx-runtime";
11293
+ import { jsx as jsx105, jsxs as jsxs76 } from "react/jsx-runtime";
11170
11294
  function stripTrailingNewline(code) {
11171
11295
  return code.endsWith("\n") ? code.slice(0, -1) : code;
11172
11296
  }
@@ -11190,7 +11314,7 @@ function SyntaxHighlighterImpl({ code, language, darkTheme, className, showLineN
11190
11314
  setTimeout(() => setCopied(false), 2e3);
11191
11315
  });
11192
11316
  }, [code]);
11193
- return /* @__PURE__ */ jsxs75(
11317
+ return /* @__PURE__ */ jsxs76(
11194
11318
  "div",
11195
11319
  {
11196
11320
  className: cn(
@@ -11252,7 +11376,7 @@ function SyntaxHighlighterImpl({ code, language, darkTheme, className, showLineN
11252
11376
  var SyntaxHighlighter = memo(SyntaxHighlighterImpl);
11253
11377
 
11254
11378
  // src/atoms/ThreadListMisc.tsx
11255
- import { Fragment as Fragment19, jsx as jsx106, jsxs as jsxs76 } from "react/jsx-runtime";
11379
+ import { Fragment as Fragment19, jsx as jsx106, jsxs as jsxs77 } from "react/jsx-runtime";
11256
11380
  function ThreadListNewButton({ className, children, style, ...rest }) {
11257
11381
  return /* @__PURE__ */ jsx106(
11258
11382
  "button",
@@ -11268,7 +11392,7 @@ function ThreadListNewButton({ className, children, style, ...rest }) {
11268
11392
  )
11269
11393
  }),
11270
11394
  ...rest,
11271
- children: children ?? /* @__PURE__ */ jsxs76(Fragment19, { children: [
11395
+ children: children ?? /* @__PURE__ */ jsxs77(Fragment19, { children: [
11272
11396
  /* @__PURE__ */ jsx106(Icon, { name: "square-pen" }),
11273
11397
  "New Chat"
11274
11398
  ] })
@@ -11288,14 +11412,14 @@ function ThreadListEmptyState({ message = "No threads yet", className }) {
11288
11412
  );
11289
11413
  }
11290
11414
  function ThreadListShell({ header, children, className }) {
11291
- return /* @__PURE__ */ jsxs76("div", { className: cn("font-sans-flex flex h-full min-h-0 flex-1 flex-col overflow-hidden", className), children: [
11415
+ return /* @__PURE__ */ jsxs77("div", { className: cn("font-sans-flex flex h-full min-h-0 flex-1 flex-col overflow-hidden", className), children: [
11292
11416
  header != null ? /* @__PURE__ */ jsx106("div", { className: "shrink-0 border-b border-border px-2 py-2", children: header }) : null,
11293
11417
  /* @__PURE__ */ jsx106("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden p-2", children })
11294
11418
  ] });
11295
11419
  }
11296
11420
 
11297
11421
  // src/atoms/ThreadListRow.tsx
11298
- import { jsx as jsx107, jsxs as jsxs77 } from "react/jsx-runtime";
11422
+ import { jsx as jsx107, jsxs as jsxs78 } from "react/jsx-runtime";
11299
11423
  function ThreadListRow({
11300
11424
  title,
11301
11425
  active,
@@ -11307,13 +11431,13 @@ function ThreadListRow({
11307
11431
  }) {
11308
11432
  const relative = lastMessageAt != null ? formatRelativeShort(lastMessageAt) : void 0;
11309
11433
  const hasTrailing = relative != null || actions != null;
11310
- return /* @__PURE__ */ jsxs77(
11434
+ return /* @__PURE__ */ jsxs78(
11311
11435
  "div",
11312
11436
  {
11313
11437
  "data-slot": "aui_thread-list-item",
11314
11438
  "data-active": active || void 0,
11315
11439
  className: cn(
11316
- "group flex min-w-0 items-center gap-0.5 rounded-[0.75rem] transition-colors",
11440
+ "group flex min-w-0 items-center gap-0.5 rounded-[0.5rem] transition-colors",
11317
11441
  active ? "bg-dropdown-selected-item-bg text-dropdown-selected-item-text" : "text-text-secondary hover:bg-ghost-button-hover hover:text-text-primary",
11318
11442
  className
11319
11443
  ),
@@ -11332,16 +11456,16 @@ function ThreadListRow({
11332
11456
  active ? "text-dropdown-selected-item-text" : "text-inherit"
11333
11457
  )
11334
11458
  }),
11335
- children: /* @__PURE__ */ jsxs77("span", { className: "min-w-0 flex-1", children: [
11336
- /* @__PURE__ */ jsx107("span", { className: "block truncate text-sm font-medium text-text-primary", children: title }),
11337
- agentName != null ? /* @__PURE__ */ jsxs77("span", { className: "mt-0.5 flex min-w-0 items-center gap-1 text-xs text-text-secondary", children: [
11338
- /* @__PURE__ */ jsx107(Icon, { name: "agent-2", className: "size-3 shrink-0" }),
11459
+ children: /* @__PURE__ */ jsxs78("span", { className: "min-w-0 flex-1", children: [
11460
+ /* @__PURE__ */ jsx107("span", { className: "block truncate text-sm font-normal text-text-primary", children: title }),
11461
+ agentName != null ? /* @__PURE__ */ jsxs78("span", { className: "mt-0.5 flex min-w-0 items-center gap-1 text-[0.75rem] text-text-secondary", children: [
11462
+ /* @__PURE__ */ jsx107(Icon, { name: "bot", className: "shrink-0" }),
11339
11463
  /* @__PURE__ */ jsx107("span", { className: "truncate", children: agentName })
11340
11464
  ] }) : null
11341
11465
  ] })
11342
11466
  }
11343
11467
  ),
11344
- hasTrailing ? /* @__PURE__ */ jsxs77("div", { className: "relative mr-1 flex size-7 shrink-0 items-center justify-center", children: [
11468
+ hasTrailing ? /* @__PURE__ */ jsxs78("div", { className: "relative mr-1 flex size-7 shrink-0 items-center justify-center", children: [
11345
11469
  relative != null ? /* @__PURE__ */ jsx107(
11346
11470
  "span",
11347
11471
  {
@@ -11449,7 +11573,7 @@ MessageGroup.displayName = "MessageGroup";
11449
11573
  // src/atoms/Toast.tsx
11450
11574
  import { useCallback as useCallback15, useState as useState38 } from "react";
11451
11575
  import { createPortal as createPortal4 } from "react-dom";
11452
- import { jsx as jsx109, jsxs as jsxs78 } from "react/jsx-runtime";
11576
+ import { jsx as jsx109, jsxs as jsxs79 } from "react/jsx-runtime";
11453
11577
  function Toast({ title, description, open, onOpenChange, variant = "error", className }) {
11454
11578
  const [copied, setCopied] = useState38(false);
11455
11579
  const handleCopy = useCallback15(async () => {
@@ -11463,7 +11587,7 @@ ${description}`;
11463
11587
  }
11464
11588
  }, [title, description]);
11465
11589
  if (!open) return null;
11466
- return /* @__PURE__ */ jsxs78(
11590
+ return /* @__PURE__ */ jsxs79(
11467
11591
  "div",
11468
11592
  {
11469
11593
  role: "alert",
@@ -11481,8 +11605,8 @@ ${description}`;
11481
11605
  className: cn("shrink-0", variant === "success" ? "text-success-bg" : "text-failure-bg")
11482
11606
  }
11483
11607
  ),
11484
- /* @__PURE__ */ jsxs78("div", { className: "min-w-0 flex-1", children: [
11485
- /* @__PURE__ */ jsxs78("div", { className: "flex items-start justify-between gap-2", children: [
11608
+ /* @__PURE__ */ jsxs79("div", { className: "min-w-0 flex-1", children: [
11609
+ /* @__PURE__ */ jsxs79("div", { className: "flex items-start justify-between gap-2", children: [
11486
11610
  /* @__PURE__ */ jsx109(
11487
11611
  "div",
11488
11612
  {
@@ -11493,7 +11617,7 @@ ${description}`;
11493
11617
  children: title
11494
11618
  }
11495
11619
  ),
11496
- /* @__PURE__ */ jsxs78("div", { className: "flex shrink-0 items-center gap-1", children: [
11620
+ /* @__PURE__ */ jsxs79("div", { className: "flex shrink-0 items-center gap-1", children: [
11497
11621
  variant === "error" ? /* @__PURE__ */ jsx109(
11498
11622
  "button",
11499
11623
  {
@@ -11550,7 +11674,7 @@ function ToastStack({ children, duration: _duration = Number.POSITIVE_INFINITY }
11550
11674
  }
11551
11675
 
11552
11676
  // src/atoms/ToolApprovalBar.tsx
11553
- import { jsx as jsx110, jsxs as jsxs79 } from "react/jsx-runtime";
11677
+ import { jsx as jsx110, jsxs as jsxs80 } from "react/jsx-runtime";
11554
11678
  var DEFAULT_APPROVE_OPTIONS = [{ id: "approve", label: "Approve", variant: "primary" }];
11555
11679
  var DEFAULT_DENY_OPTIONS = [
11556
11680
  { id: "deny", label: "Deny", variant: "secondary", requiresReason: true }
@@ -11583,22 +11707,22 @@ function ToolApprovalBar({
11583
11707
  const isDenied = status?.type === "denied";
11584
11708
  const interactionsLocked = disabled && !isDecided;
11585
11709
  const headingText = isApproved ? "Tool Approved" : isDenied ? "Tool Approval Denied" : "Tool Approval Required for";
11586
- return /* @__PURE__ */ jsxs79(
11710
+ return /* @__PURE__ */ jsxs80(
11587
11711
  "div",
11588
11712
  {
11589
11713
  className: cn("aui-tool-approval-bar", className),
11590
11714
  "data-testid": dataTestPrefix ? `${dataTestPrefix}-approval` : void 0,
11591
11715
  children: [
11592
- /* @__PURE__ */ jsxs79("div", { className: "flex gap-2", children: [
11593
- /* @__PURE__ */ jsxs79("div", { className: cn("flex shrink-0 flex-col items-center", !showLineBelow && "pb-1"), children: [
11716
+ /* @__PURE__ */ jsxs80("div", { className: "flex gap-2", children: [
11717
+ /* @__PURE__ */ jsxs80("div", { className: cn("flex shrink-0 flex-col items-center", !showLineBelow && "pb-1"), children: [
11594
11718
  /* @__PURE__ */ jsx110("div", { className: "min-h-[0.75rem] w-px flex-1 bg-border" }),
11595
11719
  /* @__PURE__ */ jsx110(StepIconBox, { icon: "wrench", variant: "muted", iconSize: "0.875em", className: "my-1" }),
11596
11720
  showLineBelow && /* @__PURE__ */ jsx110("div", { className: "min-h-[0.75rem] w-px flex-1 bg-border" })
11597
11721
  ] }),
11598
- /* @__PURE__ */ jsxs79("div", { className: "mt-2 flex flex-1 items-center justify-between", children: [
11599
- /* @__PURE__ */ jsxs79("div", { className: "flex w-full items-center justify-between gap-2", children: [
11600
- /* @__PURE__ */ jsxs79("div", { className: "flex items-center gap-2", children: [
11601
- /* @__PURE__ */ jsxs79("span", { className: "inline-flex flex-wrap items-center gap-1 font-sans text-xs font-medium leading-4 text-text-primary", children: [
11722
+ /* @__PURE__ */ jsxs80("div", { className: "mt-2 flex flex-1 items-center justify-between", children: [
11723
+ /* @__PURE__ */ jsxs80("div", { className: "flex w-full items-center justify-between gap-2", children: [
11724
+ /* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-2", children: [
11725
+ /* @__PURE__ */ jsxs80("span", { className: "inline-flex flex-wrap items-center gap-1 font-sans text-xs font-medium leading-4 text-text-primary", children: [
11602
11726
  headingText,
11603
11727
  /* @__PURE__ */ jsx110("span", { className: "rounded bg-secondary-bg px-1.5 py-0.5 text-xs text-text-secondary", children: toolName })
11604
11728
  ] }),
@@ -11613,8 +11737,8 @@ function ToolApprovalBar({
11613
11737
  ] }),
11614
11738
  !isDecided && !readOnly && selectedDenyOption && /* @__PURE__ */ jsx110(Button.Secondary, { size: "small", disabled: interactionsLocked, onClick: () => onDenyOptionChange?.(null), children: "Back" })
11615
11739
  ] }),
11616
- !isDecided && !readOnly && !selectedDenyOption && /* @__PURE__ */ jsxs79("div", { className: "flex gap-2", children: [
11617
- approveOptions.map((option) => /* @__PURE__ */ jsxs79(
11740
+ !isDecided && !readOnly && !selectedDenyOption && /* @__PURE__ */ jsxs80("div", { className: "flex gap-2", children: [
11741
+ approveOptions.map((option) => /* @__PURE__ */ jsxs80(
11618
11742
  Button,
11619
11743
  {
11620
11744
  size: "small",
@@ -11648,16 +11772,16 @@ function ToolApprovalBar({
11648
11772
  ] })
11649
11773
  ] })
11650
11774
  ] }),
11651
- !isDecided && !readOnly && selectedDenyOption && /* @__PURE__ */ jsxs79("div", { className: "flex flex-col gap-1 pl-8 pt-3", children: [
11652
- (selectedDenyOption.confirm?.title || selectedDenyOption.confirm?.description) && /* @__PURE__ */ jsxs79("div", { className: "flex flex-col gap-0.5", children: [
11775
+ !isDecided && !readOnly && selectedDenyOption && /* @__PURE__ */ jsxs80("div", { className: "flex flex-col gap-1 pl-8 pt-3", children: [
11776
+ (selectedDenyOption.confirm?.title || selectedDenyOption.confirm?.description) && /* @__PURE__ */ jsxs80("div", { className: "flex flex-col gap-0.5", children: [
11653
11777
  selectedDenyOption.confirm.title && /* @__PURE__ */ jsx110("span", { className: "text-xs font-medium text-text-primary", children: selectedDenyOption.confirm.title }),
11654
11778
  selectedDenyOption.confirm.description && /* @__PURE__ */ jsx110("span", { className: "text-xs text-text-secondary", children: selectedDenyOption.confirm.description })
11655
11779
  ] }),
11656
- selectedDenyOption.grants && selectedDenyOption.grants.length > 0 && /* @__PURE__ */ jsxs79("div", { className: "flex flex-wrap items-center gap-1", children: [
11780
+ selectedDenyOption.grants && selectedDenyOption.grants.length > 0 && /* @__PURE__ */ jsxs80("div", { className: "flex flex-wrap items-center gap-1", children: [
11657
11781
  /* @__PURE__ */ jsx110("span", { className: "text-xs text-text-secondary", children: "Grants:" }),
11658
11782
  selectedDenyOption.grants.map((grant) => /* @__PURE__ */ jsx110("span", { className: "rounded bg-secondary-bg px-1.5 py-0.5 text-xs text-text-secondary", children: grant }, grant))
11659
11783
  ] }),
11660
- /* @__PURE__ */ jsxs79("div", { className: "flex items-center gap-2", children: [
11784
+ /* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-2", children: [
11661
11785
  /* @__PURE__ */ jsx110(
11662
11786
  "input",
11663
11787
  {
@@ -11678,7 +11802,7 @@ function ToolApprovalBar({
11678
11802
  ] }),
11679
11803
  showReasonError && /* @__PURE__ */ jsx110("span", { id: "aui-denial-reason-error", className: "text-xs text-failure-bg", role: "alert", children: "Reason is required" })
11680
11804
  ] }),
11681
- isDecided && status?.reason && /* @__PURE__ */ jsx110("div", { className: "pl-8 pt-2", children: /* @__PURE__ */ jsxs79("span", { className: "text-xs text-text-secondary", children: [
11805
+ isDecided && status?.reason && /* @__PURE__ */ jsx110("div", { className: "pl-8 pt-2", children: /* @__PURE__ */ jsxs80("span", { className: "text-xs text-text-secondary", children: [
11682
11806
  "Reason: ",
11683
11807
  status.reason
11684
11808
  ] }) })
@@ -12018,7 +12142,7 @@ function useRegisterApprovalExpand(toolCallId, expand) {
12018
12142
  }
12019
12143
 
12020
12144
  // src/atoms/ToolCallCard.tsx
12021
- import { Fragment as Fragment20, jsx as jsx112, jsxs as jsxs80 } from "react/jsx-runtime";
12145
+ import { Fragment as Fragment20, jsx as jsx112, jsxs as jsxs81 } from "react/jsx-runtime";
12022
12146
  var DEFAULT_AWAITING_TEXT = "Awaiting Response...";
12023
12147
  function ToolCallCard({
12024
12148
  icon = "mcp-server",
@@ -12090,7 +12214,7 @@ function ToolCallCard({
12090
12214
  showContentConnector: true,
12091
12215
  showPersistentContentConnector: !hasApproval,
12092
12216
  dataTestPrefix: dataTestPrefix ? `${dataTestPrefix}-header` : void 0,
12093
- persistentChildren: /* @__PURE__ */ jsxs80(Fragment20, { children: [
12217
+ persistentChildren: /* @__PURE__ */ jsxs81(Fragment20, { children: [
12094
12218
  approvalSlot,
12095
12219
  expanded && showResponseLine && responseSlot && /* @__PURE__ */ jsx112("div", { "data-testid": dataTestPrefix ? `${dataTestPrefix}-response` : void 0, children: responseSlot })
12096
12220
  ] }),
@@ -12103,7 +12227,7 @@ function ToolCallCard({
12103
12227
 
12104
12228
  // src/atoms/ToolCallContentBlock.tsx
12105
12229
  import { useState as useState40 } from "react";
12106
- import { jsx as jsx113, jsxs as jsxs81 } from "react/jsx-runtime";
12230
+ import { jsx as jsx113, jsxs as jsxs82 } from "react/jsx-runtime";
12107
12231
  function JsonEditor({
12108
12232
  content,
12109
12233
  height,
@@ -12166,7 +12290,7 @@ function ToolCallContentBlock({
12166
12290
  } : {
12167
12291
  padding: "0.25rem"
12168
12292
  };
12169
- return /* @__PURE__ */ jsxs81(
12293
+ return /* @__PURE__ */ jsxs82(
12170
12294
  "div",
12171
12295
  {
12172
12296
  className: cn(
@@ -12176,9 +12300,9 @@ function ToolCallContentBlock({
12176
12300
  "data-testid": dataTestPrefix ? `${dataTestPrefix}-content-block` : "tfy-tool-call-content-block",
12177
12301
  "data-content": content,
12178
12302
  children: [
12179
- /* @__PURE__ */ jsxs81("div", { className: "flex items-center justify-between rounded-t-lg border border-primary-button-bg/30 bg-primary-button-bg/10 px-3 py-1", children: [
12303
+ /* @__PURE__ */ jsxs82("div", { className: "flex items-center justify-between rounded-t-lg border border-primary-button-bg/30 bg-primary-button-bg/10 px-3 py-1", children: [
12180
12304
  /* @__PURE__ */ jsx113("div", { className: "font-sans text-xs font-medium text-primary-button-bg", children: title }),
12181
- /* @__PURE__ */ jsxs81("div", { className: "flex items-center gap-1", children: [
12305
+ /* @__PURE__ */ jsxs82("div", { className: "flex items-center gap-1", children: [
12182
12306
  /* @__PURE__ */ jsx113(
12183
12307
  "button",
12184
12308
  {
@@ -12230,8 +12354,8 @@ function ToolCallContentBlock({
12230
12354
  )
12231
12355
  }
12232
12356
  ),
12233
- fullscreen && /* @__PURE__ */ jsx113(Dialog, { open: true, onOpenChange: (open) => onFullscreenChange?.(open), children: /* @__PURE__ */ jsxs81(DialogContent, { className: "flex h-[80vh] max-w-4xl flex-col", children: [
12234
- /* @__PURE__ */ jsxs81(DialogHeader, { className: "flex flex-row items-center justify-between gap-2", children: [
12357
+ fullscreen && /* @__PURE__ */ jsx113(Dialog, { open: true, onOpenChange: (open) => onFullscreenChange?.(open), children: /* @__PURE__ */ jsxs82(DialogContent, { className: "flex h-[80vh] max-w-4xl flex-col", children: [
12358
+ /* @__PURE__ */ jsxs82(DialogHeader, { className: "flex flex-row items-center justify-between gap-2", children: [
12235
12359
  /* @__PURE__ */ jsx113(DialogTitle, { children: title }),
12236
12360
  /* @__PURE__ */ jsx113(IconButton, { variant: "ghost", onClick: () => onFullscreenChange?.(false), "aria-label": "Minimize", children: /* @__PURE__ */ jsx113(Icon, { name: "compress", size: "0.875em" }) })
12237
12361
  ] }),
@@ -12243,7 +12367,7 @@ function ToolCallContentBlock({
12243
12367
  }
12244
12368
 
12245
12369
  // src/atoms/ToolGroupCard.tsx
12246
- import { jsx as jsx114, jsxs as jsxs82 } from "react/jsx-runtime";
12370
+ import { jsx as jsx114, jsxs as jsxs83 } from "react/jsx-runtime";
12247
12371
  function ToolGroupCard({
12248
12372
  toolCallCount,
12249
12373
  expanded,
@@ -12256,7 +12380,7 @@ function ToolGroupCard({
12256
12380
  const AccordionSummary2 = useSlot("AccordionSummary");
12257
12381
  const AccordionDetails2 = useSlot("AccordionDetails");
12258
12382
  const label = `${toolCallCount} tool ${toolCallCount === 1 ? "call" : "calls"}`;
12259
- return /* @__PURE__ */ jsxs82(
12383
+ return /* @__PURE__ */ jsxs83(
12260
12384
  Accordion2,
12261
12385
  {
12262
12386
  "data-slot": "tool-group-card",
@@ -12278,7 +12402,7 @@ function ToolGroupCard({
12278
12402
  "&:hover": { backgroundColor: "transparent" },
12279
12403
  "& .MuiAccordionSummary-content": { margin: 0, width: "100%" }
12280
12404
  },
12281
- children: /* @__PURE__ */ jsxs82("div", { className: "text-text-secondary hover:text-text-primary flex origin-left items-center gap-2 py-1.5 text-sm transition-[color,scale] active:scale-[0.98]", children: [
12405
+ children: /* @__PURE__ */ jsxs83("div", { className: "text-text-secondary hover:text-text-primary flex origin-left items-center gap-2 py-1.5 text-sm transition-[color,scale] active:scale-[0.98]", children: [
12282
12406
  active && /* @__PURE__ */ jsx114(Icon, { name: "loader", className: "size-3 shrink-0 animate-spin [animation-duration:0.6s]" }),
12283
12407
  /* @__PURE__ */ jsx114("span", { className: "text-xs font-medium", children: label }),
12284
12408
  /* @__PURE__ */ jsx114(
@@ -12301,7 +12425,7 @@ function ToolGroupCard({
12301
12425
  }
12302
12426
 
12303
12427
  // src/atoms/UserMessageActionBar.tsx
12304
- import { jsx as jsx115, jsxs as jsxs83 } from "react/jsx-runtime";
12428
+ import { jsx as jsx115, jsxs as jsxs84 } from "react/jsx-runtime";
12305
12429
  var actionBtnClass2 = "h-6 w-6 text-text-secondary hover:text-text-primary [&_svg]:size-3.5";
12306
12430
  function UserMessageActionBar({
12307
12431
  isCopied,
@@ -12314,7 +12438,7 @@ function UserMessageActionBar({
12314
12438
  className
12315
12439
  }) {
12316
12440
  const MessageTimestamp2 = useSlot("MessageTimestamp");
12317
- return /* @__PURE__ */ jsxs83("div", { className: cn("aui-user-action-bar-root animate-in fade-in flex items-center gap-1 duration-200", className), children: [
12441
+ return /* @__PURE__ */ jsxs84("div", { className: cn("aui-user-action-bar-root animate-in fade-in flex items-center gap-1 duration-200", className), children: [
12318
12442
  /* @__PURE__ */ jsx115(MessageTimestamp2, { createdAt, className: "mr-1" }),
12319
12443
  /* @__PURE__ */ jsx115(
12320
12444
  IconButton,
@@ -12345,9 +12469,9 @@ function UserMessageActionBar({
12345
12469
  }
12346
12470
 
12347
12471
  // src/atoms/UserMessageBubble.tsx
12348
- import { jsx as jsx116, jsxs as jsxs84 } from "react/jsx-runtime";
12472
+ import { jsx as jsx116, jsxs as jsxs85 } from "react/jsx-runtime";
12349
12473
  function UserMessageBubble({ text, attachments, editAction, className }) {
12350
- return /* @__PURE__ */ jsxs84(
12474
+ return /* @__PURE__ */ jsxs85(
12351
12475
  "div",
12352
12476
  {
12353
12477
  "data-slot": "aui_user-message-root",
@@ -12371,10 +12495,10 @@ function UserMessageBubble({ text, attachments, editAction, className }) {
12371
12495
 
12372
12496
  // src/atoms/UserMessageEdit.tsx
12373
12497
  import { forwardRef as forwardRef4 } from "react";
12374
- import { jsx as jsx117, jsxs as jsxs85 } from "react/jsx-runtime";
12498
+ import { jsx as jsx117, jsxs as jsxs86 } from "react/jsx-runtime";
12375
12499
  var UserMessageEdit = forwardRef4(
12376
12500
  function UserMessageEdit2({ timestamp, attachments, input, footer, className, ...rest }, ref) {
12377
- return /* @__PURE__ */ jsxs85(
12501
+ return /* @__PURE__ */ jsxs86(
12378
12502
  "div",
12379
12503
  {
12380
12504
  ref,
@@ -12382,7 +12506,7 @@ var UserMessageEdit = forwardRef4(
12382
12506
  className: cn("flex flex-col gap-2 w-full", className),
12383
12507
  ...rest,
12384
12508
  children: [
12385
- (timestamp || attachments) && /* @__PURE__ */ jsxs85("div", { className: "flex items-center gap-2 text-sm text-text-secondary", children: [
12509
+ (timestamp || attachments) && /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-2 text-sm text-text-secondary", children: [
12386
12510
  /* @__PURE__ */ jsx117("span", { className: "font-medium text-text-primary", children: "User" }),
12387
12511
  timestamp
12388
12512
  ] }),
@@ -12396,12 +12520,12 @@ var UserMessageEdit = forwardRef4(
12396
12520
  );
12397
12521
 
12398
12522
  // src/atoms/WelcomeScreen.tsx
12399
- import { jsx as jsx118, jsxs as jsxs86 } from "react/jsx-runtime";
12523
+ import { jsx as jsx118, jsxs as jsxs87 } from "react/jsx-runtime";
12400
12524
  function WelcomeScreen({ heading = "How can I help you today?", icon, className }) {
12401
12525
  const preset = useOptionalThemePreset();
12402
12526
  const BrandLogo2 = useSlot("BrandLogo");
12403
12527
  const resolvedIcon = icon !== void 0 ? icon : preset === "chatgpt" ? null : preset === "claude" ? /* @__PURE__ */ jsx118(Icon, { name: "welcome-sparkle", className: "size-5 fill-current text-primary-button-bg" }) : /* @__PURE__ */ jsx118(BrandLogo2, { variant: "icon", className: "size-10" });
12404
- return /* @__PURE__ */ jsxs86(
12528
+ return /* @__PURE__ */ jsxs87(
12405
12529
  "div",
12406
12530
  {
12407
12531
  "data-preset": preset,
@@ -14245,7 +14369,7 @@ function UserMessageContainer() {
14245
14369
  }
14246
14370
 
14247
14371
  // src/containers/AgentSessionTimelineContainer.tsx
14248
- import { Fragment as Fragment21, jsx as jsx132, jsxs as jsxs87 } from "react/jsx-runtime";
14372
+ import { Fragment as Fragment21, jsx as jsx132, jsxs as jsxs88 } from "react/jsx-runtime";
14249
14373
  var READ_ONLY_SLOT_OVERRIDES = {
14250
14374
  UserMessageActionBar: () => /* @__PURE__ */ jsx132(Fragment21, {}),
14251
14375
  MessageActionBar: () => /* @__PURE__ */ jsx132(Fragment21, {})
@@ -14359,8 +14483,8 @@ function AgentSessionTimelineContainer({ sessionId, events, listMetrics }) {
14359
14483
  if (messages.length === 0 && turnViews.length === 0) {
14360
14484
  return /* @__PURE__ */ jsx132("div", { className: "flex flex-1 items-center justify-center px-6 text-sm text-text-secondary", children: "This session has no messages yet." });
14361
14485
  }
14362
- return /* @__PURE__ */ jsxs87("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden", children: [
14363
- /* @__PURE__ */ jsxs87("div", { className: "shrink-0 border-b border-border", children: [
14486
+ return /* @__PURE__ */ jsxs88("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden", children: [
14487
+ /* @__PURE__ */ jsxs88("div", { className: "shrink-0 border-b border-border", children: [
14364
14488
  /* @__PURE__ */ jsx132(AgentSessionMetricsStrip2, { metrics: sessionMetrics }),
14365
14489
  /* @__PURE__ */ jsx132(Suspense3, { fallback: null, children: /* @__PURE__ */ jsx132(AgentSessionEventTimeline2, { turns: turnViews, segments: timelineSegments, onSelectTurn: handleSelectTurn }) })
14366
14490
  ] }),
@@ -14388,7 +14512,7 @@ function SessionTurnSection({
14388
14512
  if (!turn.showHeader && messages.length === 0) {
14389
14513
  return null;
14390
14514
  }
14391
- return /* @__PURE__ */ jsxs87("section", { ref: onMount, id: `session-turn-${turn.turnNumber}`, className: "flex flex-col gap-2", children: [
14515
+ return /* @__PURE__ */ jsxs88("section", { ref: onMount, id: `session-turn-${turn.turnNumber}`, className: "flex flex-col gap-2", children: [
14392
14516
  turn.showHeader ? /* @__PURE__ */ jsx132(
14393
14517
  AgentSessionTurnHeader2,
14394
14518
  {
@@ -14406,28 +14530,28 @@ function SessionTurnSection({
14406
14530
  }
14407
14531
 
14408
14532
  // src/theme/defaultSlots.ts
14409
- var AgentOverview = lazy(() => import("./AgentOverview-NPC4P2EY.js"));
14533
+ var AgentOverview = lazy(() => import("./AgentOverview-UZBCVNMP.js"));
14410
14534
  var AgentSessions = lazy(async () => {
14411
- const mod = await import("./AgentSessions-WHODEG2M.js");
14535
+ const mod = await import("./AgentSessions-CD7JAQTC.js");
14412
14536
  return { default: mod.AgentSessions };
14413
14537
  });
14414
14538
  var AgentCodeSnippets = lazy(
14415
- () => import("./AgentCodeSnippets-V5A56M7R.js")
14539
+ () => import("./AgentCodeSnippets-UWKIJI6U.js")
14416
14540
  );
14417
14541
  var SchedulesPage = lazy(async () => {
14418
- const mod = await import("./SchedulesPage-JIUWNYUH.js");
14542
+ const mod = await import("./SchedulesPage-ZG5IMQI3.js");
14419
14543
  return { default: mod.SchedulesPage };
14420
14544
  });
14421
14545
  var AgentSessionEventTimeline = lazy(async () => {
14422
- const mod = await import("./AgentSessionEventTimeline-UUXOJXTC.js");
14546
+ const mod = await import("./AgentSessionEventTimeline-N4RXG2NU.js");
14423
14547
  return { default: mod.AgentSessionEventTimeline };
14424
14548
  });
14425
14549
  var AgentSessionEventTimelineChart = lazy(async () => {
14426
- const mod = await import("./AgentSessionEventTimelineChart-FIAQCYJC.js");
14550
+ const mod = await import("./AgentSessionEventTimelineChart-EMWNJMMK.js");
14427
14551
  return { default: mod.AgentSessionEventTimelineChart };
14428
14552
  });
14429
14553
  var AgentMetricChart = lazy(async () => {
14430
- const mod = await import("./AgentMetricChart-GEADURES.js");
14554
+ const mod = await import("./AgentMetricChart-4ZJJED5Q.js");
14431
14555
  return { default: mod.AgentMetricChart };
14432
14556
  });
14433
14557
  var defaultSlots = {
@@ -14649,6 +14773,9 @@ export {
14649
14773
  getSessionEventLabel,
14650
14774
  getSessionEventTooltipHeading,
14651
14775
  auiInputClass,
14776
+ auiSelectTriggerClass,
14777
+ auiSelectMenuClass,
14778
+ auiSelectOptionClass,
14652
14779
  PopoverSelect,
14653
14780
  AgentSessionsFilters,
14654
14781
  SessionsPage,
@@ -14797,4 +14924,4 @@ export {
14797
14924
  UserMessageContainer,
14798
14925
  defaultSlots
14799
14926
  };
14800
- //# sourceMappingURL=chunk-MMU55KCW.js.map
14927
+ //# sourceMappingURL=chunk-DNOQ4WYH.js.map