@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.
- package/CHANGELOG.md +19 -0
- package/dist/{AgentCodeSnippets-V5A56M7R.js → AgentCodeSnippets-UWKIJI6U.js} +7 -7
- package/dist/AgentMetricChart-4ZJJED5Q.js +15 -0
- package/dist/{AgentOverview-NPC4P2EY.js → AgentOverview-UZBCVNMP.js} +11 -9
- package/dist/AgentOverview-UZBCVNMP.js.map +1 -0
- package/dist/{AgentSessionEventTimeline-UUXOJXTC.js → AgentSessionEventTimeline-N4RXG2NU.js} +7 -7
- package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js → AgentSessionEventTimelineChart-EMWNJMMK.js} +7 -7
- package/dist/{AgentSessions-WHODEG2M.js → AgentSessions-CD7JAQTC.js} +8 -8
- package/dist/{ConnectorSettings-QTAI4TQX.js → ConnectorSettings-GEI4S6SD.js} +7 -7
- package/dist/{DockLayout-TATYU5SV.js → DockLayout-JZ4DKDOR.js} +10 -10
- package/dist/{DrawerLayout-DXHNV33K.js → DrawerLayout-AV4FJTGV.js} +11 -11
- package/dist/{ModelSettings-UWTBHQRG.js → ModelSettings-4TNETPJJ.js} +7 -7
- package/dist/OpenUiFenceBlock-KPZFLUSC.js +9 -0
- package/dist/{SandboxSettings-BITQONS3.js → SandboxSettings-IEIWFKQW.js} +7 -7
- package/dist/SchedulesPage-ZG5IMQI3.js +15 -0
- package/dist/{SettingsBuilder-3OA4UCIM.js → SettingsBuilder-B2ULQPIT.js} +9 -9
- package/dist/{SettingsBuilder-3OA4UCIM.js.map → SettingsBuilder-B2ULQPIT.js.map} +1 -1
- package/dist/{ShellRouteSync-J74MV23Q.js → ShellRouteSync-SJXFKUAJ.js} +4 -4
- package/dist/{SidebarLayout-EQXQPYIU.js → SidebarLayout-XUM2Y6PA.js} +12 -12
- package/dist/{SkillSettings-KQ6GQ7JW.js → SkillSettings-NHBL5ZXU.js} +7 -7
- package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js → TrueForgeUIWithRouter-NVV7IXXP.js} +9 -9
- package/dist/{WidgetLayout-YWZTYFZL.js → WidgetLayout-T7DBLKV3.js} +10 -10
- package/dist/{chunk-INY3J2BV.js → chunk-22A4HHBQ.js} +10 -10
- package/dist/{chunk-TAABBM7F.js → chunk-2GIZY3JJ.js} +3 -1
- package/dist/chunk-2GIZY3JJ.js.map +1 -0
- package/dist/{chunk-4MCIDE2C.js → chunk-2QTH6JHX.js} +3 -3
- package/dist/{chunk-7NYDADYN.js → chunk-3R62ISBR.js} +5 -5
- package/dist/{chunk-ERIIJKJY.js → chunk-3TV6SKGW.js} +4 -4
- package/dist/{chunk-IIHJ32YH.js → chunk-3ZW74FHC.js} +3 -3
- package/dist/{chunk-CFGLAGWH.js → chunk-CG75X77Q.js} +2 -2
- package/dist/{chunk-MMU55KCW.js → chunk-DNOQ4WYH.js} +289 -162
- package/dist/chunk-DNOQ4WYH.js.map +1 -0
- package/dist/{chunk-IVDIBAVH.js → chunk-GA4AC4XL.js} +2 -2
- package/dist/chunk-JCL3Q7RW.js +587 -0
- package/dist/{chunk-OWDH67NY.js.map → chunk-JCL3Q7RW.js.map} +1 -1
- package/dist/{chunk-ZZB3JIBQ.js → chunk-NFUX2ESW.js} +9 -9
- package/dist/{chunk-TFFTZB26.js → chunk-NYMNCYWL.js} +8 -8
- package/dist/chunk-NYMNCYWL.js.map +1 -0
- package/dist/{chunk-3QWUHGNL.js → chunk-T6QQV5LK.js} +55 -12
- package/dist/chunk-T6QQV5LK.js.map +1 -0
- package/dist/{chunk-DCVKW445.js → chunk-TDG7GHXE.js} +478 -268
- package/dist/chunk-TDG7GHXE.js.map +1 -0
- package/dist/index.d.ts +14 -11
- package/dist/index.js +12 -12
- package/dist/plugins/trueforge-agent-server-adapter/index.d.ts +2 -1
- package/dist/plugins/trueforge-agent-server-adapter/index.js +65 -14
- package/dist/plugins/trueforge-agent-server-adapter/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -3
- package/dist/AgentMetricChart-GEADURES.js +0 -15
- package/dist/AgentOverview-NPC4P2EY.js.map +0 -1
- package/dist/OpenUiFenceBlock-FHEYXZEQ.js +0 -9
- package/dist/SchedulesPage-JIUWNYUH.js +0 -15
- package/dist/chunk-3QWUHGNL.js.map +0 -1
- package/dist/chunk-DCVKW445.js.map +0 -1
- package/dist/chunk-MMU55KCW.js.map +0 -1
- package/dist/chunk-OWDH67NY.js +0 -587
- package/dist/chunk-TAABBM7F.js.map +0 -1
- package/dist/chunk-TFFTZB26.js.map +0 -1
- /package/dist/{AgentCodeSnippets-V5A56M7R.js.map → AgentCodeSnippets-UWKIJI6U.js.map} +0 -0
- /package/dist/{AgentMetricChart-GEADURES.js.map → AgentMetricChart-4ZJJED5Q.js.map} +0 -0
- /package/dist/{AgentSessionEventTimeline-UUXOJXTC.js.map → AgentSessionEventTimeline-N4RXG2NU.js.map} +0 -0
- /package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js.map → AgentSessionEventTimelineChart-EMWNJMMK.js.map} +0 -0
- /package/dist/{AgentSessions-WHODEG2M.js.map → AgentSessions-CD7JAQTC.js.map} +0 -0
- /package/dist/{ConnectorSettings-QTAI4TQX.js.map → ConnectorSettings-GEI4S6SD.js.map} +0 -0
- /package/dist/{DockLayout-TATYU5SV.js.map → DockLayout-JZ4DKDOR.js.map} +0 -0
- /package/dist/{DrawerLayout-DXHNV33K.js.map → DrawerLayout-AV4FJTGV.js.map} +0 -0
- /package/dist/{ModelSettings-UWTBHQRG.js.map → ModelSettings-4TNETPJJ.js.map} +0 -0
- /package/dist/{OpenUiFenceBlock-FHEYXZEQ.js.map → OpenUiFenceBlock-KPZFLUSC.js.map} +0 -0
- /package/dist/{SandboxSettings-BITQONS3.js.map → SandboxSettings-IEIWFKQW.js.map} +0 -0
- /package/dist/{SchedulesPage-JIUWNYUH.js.map → SchedulesPage-ZG5IMQI3.js.map} +0 -0
- /package/dist/{ShellRouteSync-J74MV23Q.js.map → ShellRouteSync-SJXFKUAJ.js.map} +0 -0
- /package/dist/{SidebarLayout-EQXQPYIU.js.map → SidebarLayout-XUM2Y6PA.js.map} +0 -0
- /package/dist/{SkillSettings-KQ6GQ7JW.js.map → SkillSettings-NHBL5ZXU.js.map} +0 -0
- /package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js.map → TrueForgeUIWithRouter-NVV7IXXP.js.map} +0 -0
- /package/dist/{WidgetLayout-YWZTYFZL.js.map → WidgetLayout-T7DBLKV3.js.map} +0 -0
- /package/dist/{chunk-INY3J2BV.js.map → chunk-22A4HHBQ.js.map} +0 -0
- /package/dist/{chunk-4MCIDE2C.js.map → chunk-2QTH6JHX.js.map} +0 -0
- /package/dist/{chunk-7NYDADYN.js.map → chunk-3R62ISBR.js.map} +0 -0
- /package/dist/{chunk-ERIIJKJY.js.map → chunk-3TV6SKGW.js.map} +0 -0
- /package/dist/{chunk-IIHJ32YH.js.map → chunk-3ZW74FHC.js.map} +0 -0
- /package/dist/{chunk-CFGLAGWH.js.map → chunk-CG75X77Q.js.map} +0 -0
- /package/dist/{chunk-IVDIBAVH.js.map → chunk-GA4AC4XL.js.map} +0 -0
- /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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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:
|
|
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,
|
|
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:
|
|
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-
|
|
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-
|
|
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
|
|
3293
|
-
|
|
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, {
|
|
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__ */
|
|
3704
|
-
"
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
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,
|
|
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", {
|
|
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(
|
|
3920
|
-
/* @__PURE__ */ jsx45(
|
|
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
|
-
|
|
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: "
|
|
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-
|
|
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 {
|
|
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__ */
|
|
9235
|
+
return /* @__PURE__ */ jsxs67(
|
|
9142
9236
|
"span",
|
|
9143
9237
|
{
|
|
9144
9238
|
"data-slot": "aui_assistant-message-indicator",
|
|
9145
|
-
|
|
9146
|
-
|
|
9147
|
-
children:
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
9560
|
-
argsJson && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
9569
|
-
command && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
9674
|
+
resultText ? /* @__PURE__ */ jsxs68(Fragment15, { children: [
|
|
9578
9675
|
/* @__PURE__ */ jsx95("div", { className: "mx-3 my-1 border-t border-border" }),
|
|
9579
|
-
/* @__PURE__ */
|
|
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__ */
|
|
9680
|
+
] }) : resultJson && /* @__PURE__ */ jsxs68(Fragment15, { children: [
|
|
9584
9681
|
/* @__PURE__ */ jsx95("div", { className: "mx-3 my-1 border-t border-border" }),
|
|
9585
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
9849
|
-
/* @__PURE__ */ jsx97(PermissionGuard2, { allowed: canManageAgent, children: /* @__PURE__ */
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
9910
|
-
|
|
9911
|
-
|
|
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__ */
|
|
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 || !
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
10203
|
+
import { jsx as jsx103, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
10080
10204
|
function MessageListSkeleton({ className }) {
|
|
10081
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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.
|
|
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__ */
|
|
11336
|
-
/* @__PURE__ */ jsx107("span", { className: "block truncate text-sm font-
|
|
11337
|
-
agentName != null ? /* @__PURE__ */
|
|
11338
|
-
/* @__PURE__ */ jsx107(Icon, { name: "
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
11485
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
11593
|
-
/* @__PURE__ */
|
|
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__ */
|
|
11599
|
-
/* @__PURE__ */
|
|
11600
|
-
/* @__PURE__ */
|
|
11601
|
-
/* @__PURE__ */
|
|
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__ */
|
|
11617
|
-
approveOptions.map((option) => /* @__PURE__ */
|
|
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__ */
|
|
11652
|
-
(selectedDenyOption.confirm?.title || selectedDenyOption.confirm?.description) && /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
12234
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
12472
|
+
import { jsx as jsx116, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
12349
12473
|
function UserMessageBubble({ text, attachments, editAction, className }) {
|
|
12350
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
14363
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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-
|
|
14533
|
+
var AgentOverview = lazy(() => import("./AgentOverview-UZBCVNMP.js"));
|
|
14410
14534
|
var AgentSessions = lazy(async () => {
|
|
14411
|
-
const mod = await import("./AgentSessions-
|
|
14535
|
+
const mod = await import("./AgentSessions-CD7JAQTC.js");
|
|
14412
14536
|
return { default: mod.AgentSessions };
|
|
14413
14537
|
});
|
|
14414
14538
|
var AgentCodeSnippets = lazy(
|
|
14415
|
-
() => import("./AgentCodeSnippets-
|
|
14539
|
+
() => import("./AgentCodeSnippets-UWKIJI6U.js")
|
|
14416
14540
|
);
|
|
14417
14541
|
var SchedulesPage = lazy(async () => {
|
|
14418
|
-
const mod = await import("./SchedulesPage-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
14927
|
+
//# sourceMappingURL=chunk-DNOQ4WYH.js.map
|