@truefoundry/trueforge-ui 0.3.0-rc.5 → 0.3.0-rc.7
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 +28 -0
- package/dist/{AgentCodeSnippets-V5A56M7R.js → AgentCodeSnippets-T7PR6PDP.js} +7 -7
- package/dist/AgentMetricChart-J3RCSCAG.js +15 -0
- package/dist/{AgentOverview-NPC4P2EY.js → AgentOverview-WC7WMNMS.js} +11 -9
- package/dist/AgentOverview-WC7WMNMS.js.map +1 -0
- package/dist/{AgentSessionEventTimeline-UUXOJXTC.js → AgentSessionEventTimeline-SETKGGCI.js} +7 -7
- package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js → AgentSessionEventTimelineChart-4Y7PY5SJ.js} +7 -7
- package/dist/{AgentSessions-WHODEG2M.js → AgentSessions-YCAPM5GK.js} +8 -8
- package/dist/{ConnectorSettings-QTAI4TQX.js → ConnectorSettings-PXWRCFAL.js} +7 -7
- package/dist/{DockLayout-TATYU5SV.js → DockLayout-JRKCKAG2.js} +10 -10
- package/dist/{DrawerLayout-DXHNV33K.js → DrawerLayout-U7YPUZBR.js} +11 -11
- package/dist/{ModelSettings-UWTBHQRG.js → ModelSettings-VXYMJEMO.js} +7 -7
- package/dist/OpenUiFenceBlock-KPZFLUSC.js +9 -0
- package/dist/{SandboxSettings-BITQONS3.js → SandboxSettings-6DRUH72J.js} +7 -7
- package/dist/SchedulesPage-2G6F4XO6.js +15 -0
- package/dist/{SettingsBuilder-3OA4UCIM.js → SettingsBuilder-6FJVZLJT.js} +9 -9
- package/dist/{SettingsBuilder-3OA4UCIM.js.map → SettingsBuilder-6FJVZLJT.js.map} +1 -1
- package/dist/{ShellRouteSync-J74MV23Q.js → ShellRouteSync-SJXFKUAJ.js} +4 -4
- package/dist/{SidebarLayout-EQXQPYIU.js → SidebarLayout-EQ7EYCWR.js} +12 -12
- package/dist/{SkillSettings-KQ6GQ7JW.js → SkillSettings-IHVI7FDM.js} +7 -7
- package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js → TrueForgeUIWithRouter-5OJFI3PF.js} +9 -9
- package/dist/{WidgetLayout-YWZTYFZL.js → WidgetLayout-PN5ZDOLM.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-ZZB3JIBQ.js → chunk-2UBSLCKB.js} +9 -9
- package/dist/{chunk-IIHJ32YH.js → chunk-3ZW74FHC.js} +3 -3
- package/dist/{chunk-CFGLAGWH.js → chunk-CG75X77Q.js} +2 -2
- package/dist/{chunk-TFFTZB26.js → chunk-E33DFTVN.js} +8 -8
- package/dist/chunk-E33DFTVN.js.map +1 -0
- package/dist/{chunk-ERIIJKJY.js → chunk-F7YRYFAF.js} +4 -4
- package/dist/chunk-JCL3Q7RW.js +587 -0
- package/dist/{chunk-OWDH67NY.js.map → chunk-JCL3Q7RW.js.map} +1 -1
- package/dist/{chunk-IVDIBAVH.js → chunk-L7HNKKS2.js} +2 -2
- package/dist/{chunk-INY3J2BV.js → chunk-OWXPMQ7N.js} +10 -10
- package/dist/{chunk-7NYDADYN.js → chunk-PX6MNNN3.js} +5 -5
- package/dist/{chunk-3QWUHGNL.js → chunk-T6QQV5LK.js} +55 -12
- package/dist/chunk-T6QQV5LK.js.map +1 -0
- package/dist/{chunk-DCVKW445.js → chunk-TMIILLHB.js} +478 -268
- package/dist/chunk-TMIILLHB.js.map +1 -0
- package/dist/{chunk-MMU55KCW.js → chunk-XANC4F2H.js} +318 -166
- package/dist/chunk-XANC4F2H.js.map +1 -0
- package/dist/index.d.ts +15 -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-T7PR6PDP.js.map} +0 -0
- /package/dist/{AgentMetricChart-GEADURES.js.map → AgentMetricChart-J3RCSCAG.js.map} +0 -0
- /package/dist/{AgentSessionEventTimeline-UUXOJXTC.js.map → AgentSessionEventTimeline-SETKGGCI.js.map} +0 -0
- /package/dist/{AgentSessionEventTimelineChart-FIAQCYJC.js.map → AgentSessionEventTimelineChart-4Y7PY5SJ.js.map} +0 -0
- /package/dist/{AgentSessions-WHODEG2M.js.map → AgentSessions-YCAPM5GK.js.map} +0 -0
- /package/dist/{ConnectorSettings-QTAI4TQX.js.map → ConnectorSettings-PXWRCFAL.js.map} +0 -0
- /package/dist/{DockLayout-TATYU5SV.js.map → DockLayout-JRKCKAG2.js.map} +0 -0
- /package/dist/{DrawerLayout-DXHNV33K.js.map → DrawerLayout-U7YPUZBR.js.map} +0 -0
- /package/dist/{ModelSettings-UWTBHQRG.js.map → ModelSettings-VXYMJEMO.js.map} +0 -0
- /package/dist/{OpenUiFenceBlock-FHEYXZEQ.js.map → OpenUiFenceBlock-KPZFLUSC.js.map} +0 -0
- /package/dist/{SandboxSettings-BITQONS3.js.map → SandboxSettings-6DRUH72J.js.map} +0 -0
- /package/dist/{SchedulesPage-JIUWNYUH.js.map → SchedulesPage-2G6F4XO6.js.map} +0 -0
- /package/dist/{ShellRouteSync-J74MV23Q.js.map → ShellRouteSync-SJXFKUAJ.js.map} +0 -0
- /package/dist/{SidebarLayout-EQXQPYIU.js.map → SidebarLayout-EQ7EYCWR.js.map} +0 -0
- /package/dist/{SkillSettings-KQ6GQ7JW.js.map → SkillSettings-IHVI7FDM.js.map} +0 -0
- /package/dist/{TrueForgeUIWithRouter-R3UXQZRY.js.map → TrueForgeUIWithRouter-5OJFI3PF.js.map} +0 -0
- /package/dist/{WidgetLayout-YWZTYFZL.js.map → WidgetLayout-PN5ZDOLM.js.map} +0 -0
- /package/dist/{chunk-4MCIDE2C.js.map → chunk-2QTH6JHX.js.map} +0 -0
- /package/dist/{chunk-ZZB3JIBQ.js.map → chunk-2UBSLCKB.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-ERIIJKJY.js.map → chunk-F7YRYFAF.js.map} +0 -0
- /package/dist/{chunk-IVDIBAVH.js.map → chunk-L7HNKKS2.js.map} +0 -0
- /package/dist/{chunk-INY3J2BV.js.map → chunk-OWXPMQ7N.js.map} +0 -0
- /package/dist/{chunk-7NYDADYN.js.map → chunk-PX6MNNN3.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
|
}
|
|
@@ -1277,6 +1277,9 @@ function DialogFooter({ className, ...props }) {
|
|
|
1277
1277
|
import React8, { useCallback as useCallback3, useEffect as useEffect2, useId as useId2, useLayoutEffect as useLayoutEffect2, useRef as useRef2, useState as useState5 } from "react";
|
|
1278
1278
|
import { createPortal as createPortal2 } from "react-dom";
|
|
1279
1279
|
import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
1280
|
+
function isSurfaceClick(event) {
|
|
1281
|
+
return event.target === event.currentTarget;
|
|
1282
|
+
}
|
|
1280
1283
|
function DropdownMenu({
|
|
1281
1284
|
trigger,
|
|
1282
1285
|
children,
|
|
@@ -1286,7 +1289,8 @@ function DropdownMenu({
|
|
|
1286
1289
|
containerClassName,
|
|
1287
1290
|
open: controlledOpen,
|
|
1288
1291
|
onOpenChange,
|
|
1289
|
-
closeOnClick = true
|
|
1292
|
+
closeOnClick = true,
|
|
1293
|
+
lockScroll = false
|
|
1290
1294
|
}) {
|
|
1291
1295
|
const [internalOpen, setInternalOpen] = useState5(false);
|
|
1292
1296
|
const open = controlledOpen ?? internalOpen;
|
|
@@ -1336,6 +1340,20 @@ function DropdownMenu({
|
|
|
1336
1340
|
document.addEventListener("mousedown", handler);
|
|
1337
1341
|
return () => document.removeEventListener("mousedown", handler);
|
|
1338
1342
|
}, [open]);
|
|
1343
|
+
useEffect2(() => {
|
|
1344
|
+
if (!open || !lockScroll) return;
|
|
1345
|
+
const block = (event) => {
|
|
1346
|
+
const target = event.target;
|
|
1347
|
+
if (target instanceof Node && menuRef.current?.contains(target)) return;
|
|
1348
|
+
event.preventDefault();
|
|
1349
|
+
};
|
|
1350
|
+
document.addEventListener("wheel", block, { passive: false, capture: true });
|
|
1351
|
+
document.addEventListener("touchmove", block, { passive: false, capture: true });
|
|
1352
|
+
return () => {
|
|
1353
|
+
document.removeEventListener("wheel", block, { capture: true });
|
|
1354
|
+
document.removeEventListener("touchmove", block, { capture: true });
|
|
1355
|
+
};
|
|
1356
|
+
}, [open, lockScroll]);
|
|
1339
1357
|
useEffect2(() => {
|
|
1340
1358
|
if (!open) {
|
|
1341
1359
|
focusedOpenRef.current = false;
|
|
@@ -1402,12 +1420,15 @@ function DropdownMenu({
|
|
|
1402
1420
|
transform: [align === "end" ? "translateX(-100%)" : null, side === "top" ? "translateY(-100%)" : null].filter((value) => value !== null).join(" ") || void 0
|
|
1403
1421
|
},
|
|
1404
1422
|
className: cn(
|
|
1405
|
-
"fixed z-[200] flex min-w-[8rem] flex-col rounded-md border border-border bg-card-bg p-1",
|
|
1423
|
+
"aui-popup-enter fixed z-[200] flex min-w-[8rem] flex-col overscroll-contain rounded-md border border-border bg-card-bg p-1",
|
|
1406
1424
|
"text-text-primary shadow-md",
|
|
1407
1425
|
className
|
|
1408
1426
|
),
|
|
1409
1427
|
onMouseDown: (event) => event.stopPropagation(),
|
|
1410
|
-
onClick: closeOnClick ? () =>
|
|
1428
|
+
onClick: closeOnClick ? (event) => {
|
|
1429
|
+
if (isSurfaceClick(event)) return;
|
|
1430
|
+
setOpen(false);
|
|
1431
|
+
} : void 0,
|
|
1411
1432
|
children
|
|
1412
1433
|
}
|
|
1413
1434
|
),
|
|
@@ -1448,6 +1469,7 @@ function cloneAgentName(agentName) {
|
|
|
1448
1469
|
}
|
|
1449
1470
|
function AgentOverflowMenu({
|
|
1450
1471
|
agentName,
|
|
1472
|
+
description,
|
|
1451
1473
|
agentSpec,
|
|
1452
1474
|
canMutate,
|
|
1453
1475
|
canUse = true,
|
|
@@ -1479,6 +1501,7 @@ function AgentOverflowMenu({
|
|
|
1479
1501
|
try {
|
|
1480
1502
|
await builder.saveAgent({
|
|
1481
1503
|
agentName: clonedName,
|
|
1504
|
+
...description === void 0 ? {} : { description },
|
|
1482
1505
|
agentSpec,
|
|
1483
1506
|
intent: "create"
|
|
1484
1507
|
});
|
|
@@ -1661,6 +1684,7 @@ function AgentDetailsHeader({ agentId, detail, onBack }) {
|
|
|
1661
1684
|
isCreateAgent: true,
|
|
1662
1685
|
agentId: detail.agentId,
|
|
1663
1686
|
agentName: detail.name,
|
|
1687
|
+
...detail.description === void 0 ? {} : { description: detail.description },
|
|
1664
1688
|
agentSpec: detail.agentSpec
|
|
1665
1689
|
});
|
|
1666
1690
|
};
|
|
@@ -1703,6 +1727,7 @@ function AgentDetailsHeader({ agentId, detail, onBack }) {
|
|
|
1703
1727
|
AgentOverflowMenu,
|
|
1704
1728
|
{
|
|
1705
1729
|
agentName: detail.name,
|
|
1730
|
+
...detail.description === void 0 ? {} : { description: detail.description },
|
|
1706
1731
|
agentSpec: detail.agentSpec,
|
|
1707
1732
|
canMutate,
|
|
1708
1733
|
canUse,
|
|
@@ -2202,7 +2227,7 @@ import { jsx as jsx29, jsxs as jsxs19 } from "react/jsx-runtime";
|
|
|
2202
2227
|
function AgentOverviewCard({ title, icon, count, children }) {
|
|
2203
2228
|
return /* @__PURE__ */ jsxs19("section", { className: "rounded-lg border border-border bg-card-bg p-3 text-text-primary", children: [
|
|
2204
2229
|
/* @__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" }),
|
|
2230
|
+
icon ? /* @__PURE__ */ jsx29(Icon, { name: icon, className: "size-3.5 text-text-secondary" }) : null,
|
|
2206
2231
|
title,
|
|
2207
2232
|
count !== void 0 ? /* @__PURE__ */ jsxs19("span", { className: "text-text-secondary", children: [
|
|
2208
2233
|
"(",
|
|
@@ -2667,7 +2692,7 @@ function auiSelectPrefixTriggerClass(className) {
|
|
|
2667
2692
|
}
|
|
2668
2693
|
function auiSelectMenuClass(className) {
|
|
2669
2694
|
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",
|
|
2695
|
+
"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
2696
|
className
|
|
2672
2697
|
);
|
|
2673
2698
|
}
|
|
@@ -2684,6 +2709,28 @@ function auiSelectOptionClass(className) {
|
|
|
2684
2709
|
import { useEffect as useEffect5, useId as useId3, useLayoutEffect as useLayoutEffect3, useRef as useRef3, useState as useState9 } from "react";
|
|
2685
2710
|
import { createPortal as createPortal3 } from "react-dom";
|
|
2686
2711
|
import { Fragment as Fragment5, jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
|
|
2712
|
+
var MENU_GAP_PX = 4;
|
|
2713
|
+
var MENU_MAX_HEIGHT_PX = 256;
|
|
2714
|
+
function estimateMenuHeight({ optionCount, hasFooter }) {
|
|
2715
|
+
const rows = Math.max(optionCount, 1) * 32;
|
|
2716
|
+
const footer = hasFooter ? 40 : 0;
|
|
2717
|
+
return Math.min(8 + rows + footer, MENU_MAX_HEIGHT_PX);
|
|
2718
|
+
}
|
|
2719
|
+
function resolveMenuPlacement({
|
|
2720
|
+
preferred,
|
|
2721
|
+
spaceAbove,
|
|
2722
|
+
spaceBelow,
|
|
2723
|
+
menuHeight
|
|
2724
|
+
}) {
|
|
2725
|
+
if (preferred === "bottom") {
|
|
2726
|
+
if (spaceBelow >= menuHeight) return "bottom";
|
|
2727
|
+
if (spaceAbove >= menuHeight) return "top";
|
|
2728
|
+
return spaceAbove > spaceBelow ? "top" : "bottom";
|
|
2729
|
+
}
|
|
2730
|
+
if (spaceAbove >= menuHeight) return "top";
|
|
2731
|
+
if (spaceBelow >= menuHeight) return "bottom";
|
|
2732
|
+
return spaceBelow > spaceAbove ? "bottom" : "top";
|
|
2733
|
+
}
|
|
2687
2734
|
function PopoverSelect(props) {
|
|
2688
2735
|
const [open, setOpen] = useState9(false);
|
|
2689
2736
|
const [pos, setPos] = useState9(null);
|
|
@@ -2693,7 +2740,9 @@ function PopoverSelect(props) {
|
|
|
2693
2740
|
const listboxRef = useRef3(null);
|
|
2694
2741
|
const focusedOpenRef = useRef3(false);
|
|
2695
2742
|
const listboxId = useId3();
|
|
2696
|
-
const
|
|
2743
|
+
const preferredPlacement = props.menuPlacement ?? "bottom";
|
|
2744
|
+
const hasFooter = props.footer != null;
|
|
2745
|
+
const optionCount = props.options.length;
|
|
2697
2746
|
useLayoutEffect3(() => {
|
|
2698
2747
|
if (!open) {
|
|
2699
2748
|
setPos(null);
|
|
@@ -2703,20 +2752,33 @@ function PopoverSelect(props) {
|
|
|
2703
2752
|
const el = triggerRef.current;
|
|
2704
2753
|
if (!el) return;
|
|
2705
2754
|
const rect = el.getBoundingClientRect();
|
|
2755
|
+
const spaceBelow = window.innerHeight - rect.bottom - MENU_GAP_PX;
|
|
2756
|
+
const spaceAbove = rect.top - MENU_GAP_PX;
|
|
2757
|
+
const measuredHeight = menuRef.current?.offsetHeight;
|
|
2758
|
+
const menuHeight = measuredHeight != null && measuredHeight > 0 ? measuredHeight : estimateMenuHeight({ optionCount, hasFooter });
|
|
2759
|
+
const placement = resolveMenuPlacement({
|
|
2760
|
+
preferred: preferredPlacement,
|
|
2761
|
+
spaceAbove,
|
|
2762
|
+
spaceBelow,
|
|
2763
|
+
menuHeight
|
|
2764
|
+
});
|
|
2706
2765
|
setPos({
|
|
2707
|
-
top:
|
|
2766
|
+
top: placement === "top" ? rect.top - MENU_GAP_PX : rect.bottom + MENU_GAP_PX,
|
|
2708
2767
|
left: rect.left,
|
|
2709
|
-
width: rect.width
|
|
2768
|
+
width: rect.width,
|
|
2769
|
+
placement
|
|
2710
2770
|
});
|
|
2711
2771
|
};
|
|
2712
2772
|
update();
|
|
2773
|
+
const rafId = requestAnimationFrame(update);
|
|
2713
2774
|
window.addEventListener("scroll", update, true);
|
|
2714
2775
|
window.addEventListener("resize", update);
|
|
2715
2776
|
return () => {
|
|
2777
|
+
cancelAnimationFrame(rafId);
|
|
2716
2778
|
window.removeEventListener("scroll", update, true);
|
|
2717
2779
|
window.removeEventListener("resize", update);
|
|
2718
2780
|
};
|
|
2719
|
-
}, [open,
|
|
2781
|
+
}, [open, preferredPlacement, optionCount, hasFooter]);
|
|
2720
2782
|
useEffect5(() => {
|
|
2721
2783
|
if (!open) return;
|
|
2722
2784
|
const handlePointerDown = (event) => {
|
|
@@ -2786,7 +2848,7 @@ function PopoverSelect(props) {
|
|
|
2786
2848
|
top: pos.top,
|
|
2787
2849
|
left: pos.left,
|
|
2788
2850
|
width: pos.width,
|
|
2789
|
-
transform:
|
|
2851
|
+
transform: pos.placement === "top" ? "translateY(-100%)" : void 0
|
|
2790
2852
|
},
|
|
2791
2853
|
onMouseDown: (event) => event.stopPropagation(),
|
|
2792
2854
|
children: [
|
|
@@ -3239,9 +3301,9 @@ function useOptionalCurrentUser() {
|
|
|
3239
3301
|
import { useState as useState12 } from "react";
|
|
3240
3302
|
import { jsx as jsx39 } from "react/jsx-runtime";
|
|
3241
3303
|
var sizeClasses = {
|
|
3242
|
-
sm: "h-
|
|
3243
|
-
default: "h-8 w-8 text-sm",
|
|
3244
|
-
lg: "h-10 w-10 text-base"
|
|
3304
|
+
sm: "h-5 w-5 text-[0.625rem] leading-none",
|
|
3305
|
+
default: "h-8 w-8 text-sm leading-none",
|
|
3306
|
+
lg: "h-10 w-10 text-base leading-none"
|
|
3245
3307
|
};
|
|
3246
3308
|
function Avatar({ className, size = "default", ...props }) {
|
|
3247
3309
|
return /* @__PURE__ */ jsx39(
|
|
@@ -3278,7 +3340,7 @@ function AvatarFallback({ className, ...props }) {
|
|
|
3278
3340
|
{
|
|
3279
3341
|
"data-slot": "avatar-fallback",
|
|
3280
3342
|
className: cn(
|
|
3281
|
-
"flex h-full w-full items-center justify-center rounded-full bg-
|
|
3343
|
+
"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
3344
|
className
|
|
3283
3345
|
),
|
|
3284
3346
|
...props
|
|
@@ -3289,14 +3351,8 @@ function AvatarFallback({ className, ...props }) {
|
|
|
3289
3351
|
// src/atoms/UserAvatar.tsx
|
|
3290
3352
|
import { jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
3291
3353
|
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();
|
|
3354
|
+
const first = Array.from(displayName.trim())[0];
|
|
3355
|
+
return first === void 0 ? "" : first.toLocaleUpperCase();
|
|
3300
3356
|
}
|
|
3301
3357
|
function UserAvatar({ labeled = false, className }) {
|
|
3302
3358
|
const currentUser = useOptionalCurrentUser();
|
|
@@ -3316,7 +3372,7 @@ function UserAvatar({ labeled = false, className }) {
|
|
|
3316
3372
|
className
|
|
3317
3373
|
),
|
|
3318
3374
|
children: [
|
|
3319
|
-
/* @__PURE__ */ jsx40(Avatar, { size: "sm", children: /* @__PURE__ */ jsx40(AvatarFallback, {
|
|
3375
|
+
/* @__PURE__ */ jsx40(Avatar, { size: "sm", children: /* @__PURE__ */ jsx40(AvatarFallback, { children: getUserInitials(displayName) }) }),
|
|
3320
3376
|
/* @__PURE__ */ jsx40("span", { className: "w-full truncate text-center text-[0.625rem] leading-tight", children: displayName })
|
|
3321
3377
|
]
|
|
3322
3378
|
}
|
|
@@ -3596,6 +3652,7 @@ function TableTokenPagination({
|
|
|
3596
3652
|
|
|
3597
3653
|
// src/atoms/AgentsLibrary.tsx
|
|
3598
3654
|
import { Fragment as Fragment6, jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
3655
|
+
var AGENTS_PAGE_SIZE_OPTIONS = [10, 25];
|
|
3599
3656
|
function displayModelLabel(modelName) {
|
|
3600
3657
|
const slash = modelName.lastIndexOf("/");
|
|
3601
3658
|
return slash >= 0 ? modelName.slice(slash + 1) : modelName;
|
|
@@ -3699,17 +3756,30 @@ function AgentLibraryRow({
|
|
|
3699
3756
|
const skillsTitle = skillNames.length ? skillNames.join(", ") : `${skillsCount} skills`;
|
|
3700
3757
|
const hasConfiguration = modelLabel != null || skillsCount > 0 || mcpCount > 0;
|
|
3701
3758
|
const hasNoSchedules = scheduleSummary != null && scheduleSummary.count === 0;
|
|
3759
|
+
const storedDescription = agent.description?.trim() || null;
|
|
3760
|
+
const description = storedDescription != null && storedDescription !== agent.name ? storedDescription : null;
|
|
3702
3761
|
return /* @__PURE__ */ jsxs33(TableRow, { className: hasNoSchedules ? "group" : void 0, children: [
|
|
3703
|
-
/* @__PURE__ */
|
|
3704
|
-
"
|
|
3705
|
-
|
|
3706
|
-
|
|
3707
|
-
|
|
3708
|
-
|
|
3709
|
-
|
|
3710
|
-
|
|
3711
|
-
|
|
3712
|
-
|
|
3762
|
+
/* @__PURE__ */ jsxs33(TableCell, { className: "text-text-primary w-96 max-w-96 font-medium", children: [
|
|
3763
|
+
onOpen == null ? /* @__PURE__ */ jsx45("span", { className: "block truncate", children: agent.name }) : /* @__PURE__ */ jsx45(
|
|
3764
|
+
"button",
|
|
3765
|
+
{
|
|
3766
|
+
type: "button",
|
|
3767
|
+
className: "block max-w-full cursor-pointer text-left",
|
|
3768
|
+
"aria-label": `Open ${agent.name}`,
|
|
3769
|
+
onClick: onOpen,
|
|
3770
|
+
children: /* @__PURE__ */ jsx45("span", { className: "block truncate", children: agent.name })
|
|
3771
|
+
}
|
|
3772
|
+
),
|
|
3773
|
+
description ? /* @__PURE__ */ jsx45(
|
|
3774
|
+
Tooltip,
|
|
3775
|
+
{
|
|
3776
|
+
content: description,
|
|
3777
|
+
className: "max-w-sm whitespace-normal text-left",
|
|
3778
|
+
triggerClassName: "block min-w-0 w-full max-w-full",
|
|
3779
|
+
children: /* @__PURE__ */ jsx45("span", { className: "text-text-secondary block truncate text-xs font-normal", children: description })
|
|
3780
|
+
}
|
|
3781
|
+
) : null
|
|
3782
|
+
] }),
|
|
3713
3783
|
/* @__PURE__ */ jsx45(TableCell, { children: hasConfiguration ? /* @__PURE__ */ jsxs33("div", { className: "text-text-secondary flex min-w-0 items-center gap-2", children: [
|
|
3714
3784
|
modelLabel != null ? /* @__PURE__ */ jsx45(Tooltip, { content: modelTitle, children: /* @__PURE__ */ jsxs33(
|
|
3715
3785
|
"span",
|
|
@@ -3750,6 +3820,7 @@ function AgentLibraryRow({
|
|
|
3750
3820
|
AgentOverflowMenu,
|
|
3751
3821
|
{
|
|
3752
3822
|
agentName: agent.name,
|
|
3823
|
+
...storedDescription != null ? { description: storedDescription } : {},
|
|
3753
3824
|
...spec != null ? { agentSpec: spec } : {},
|
|
3754
3825
|
canMutate,
|
|
3755
3826
|
canUse: canUseAgent,
|
|
@@ -3831,11 +3902,14 @@ function AgentsLibrary({ onSelectAgent }) {
|
|
|
3831
3902
|
window.addEventListener("keydown", onKeyDown, true);
|
|
3832
3903
|
return () => window.removeEventListener("keydown", onKeyDown, true);
|
|
3833
3904
|
}, [closeLibrary, open]);
|
|
3834
|
-
const { agents, isInitialLoading, isSearching,
|
|
3905
|
+
const { agents, isInitialLoading, isSearching, error, pageSize, setPageSize, canPrev, canNext, goPrev, goNext } = useSearchAgentsList({
|
|
3835
3906
|
enabled: open,
|
|
3836
3907
|
query,
|
|
3837
|
-
refreshKey: agentsListEpoch
|
|
3908
|
+
refreshKey: agentsListEpoch,
|
|
3909
|
+
mode: "paged",
|
|
3910
|
+
limit: DEFAULT_TABLE_PAGE_SIZE
|
|
3838
3911
|
});
|
|
3912
|
+
const hasPageNav = canPrev || canNext;
|
|
3839
3913
|
const showCreatedByColumn = hasCreatedBySubject(agents);
|
|
3840
3914
|
const permissionAgentIds = open ? agents.map(libraryAgentId) : [];
|
|
3841
3915
|
const { allows } = useResourcePermissions({
|
|
@@ -3892,6 +3966,7 @@ function AgentsLibrary({ onSelectAgent }) {
|
|
|
3892
3966
|
isCreateAgent: true,
|
|
3893
3967
|
agentId: libraryAgentId(agent),
|
|
3894
3968
|
agentName: agent.name,
|
|
3969
|
+
...agent.description === void 0 ? {} : { description: agent.description },
|
|
3895
3970
|
agentSpec
|
|
3896
3971
|
});
|
|
3897
3972
|
};
|
|
@@ -3907,7 +3982,7 @@ function AgentsLibrary({ onSelectAgent }) {
|
|
|
3907
3982
|
] })
|
|
3908
3983
|
}
|
|
3909
3984
|
),
|
|
3910
|
-
/* @__PURE__ */ jsx45("div", { className: "bg-secondary-bg/40 flex min-h-0 flex-1 flex-col", children: /* @__PURE__ */ jsx45("div", {
|
|
3985
|
+
/* @__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
3986
|
EmptyScreen,
|
|
3912
3987
|
{
|
|
3913
3988
|
title: "No Agents Found",
|
|
@@ -3916,10 +3991,35 @@ function AgentsLibrary({ onSelectAgent }) {
|
|
|
3916
3991
|
/* @__PURE__ */ jsx45(EmptyScreenQueryHighlight, { children: query.trim() })
|
|
3917
3992
|
] }) : "Build one in a chat, then save it as an agent."
|
|
3918
3993
|
}
|
|
3919
|
-
) : /* @__PURE__ */ jsxs33(
|
|
3920
|
-
/* @__PURE__ */ jsx45(
|
|
3994
|
+
) : agents.length === 0 ? /* @__PURE__ */ jsxs33("div", { className: "flex min-h-full flex-col", children: [
|
|
3995
|
+
/* @__PURE__ */ jsx45(
|
|
3996
|
+
EmptyScreen,
|
|
3997
|
+
{
|
|
3998
|
+
title: "No Agents Found",
|
|
3999
|
+
description: query.trim() ? /* @__PURE__ */ jsxs33(Fragment6, { children: [
|
|
4000
|
+
"No search results found for ",
|
|
4001
|
+
/* @__PURE__ */ jsx45(EmptyScreenQueryHighlight, { children: query.trim() })
|
|
4002
|
+
] }) : "Build one in a chat, then save it as an agent.",
|
|
4003
|
+
className: "flex-1"
|
|
4004
|
+
}
|
|
4005
|
+
),
|
|
4006
|
+
/* @__PURE__ */ jsx45("div", { className: "overflow-hidden rounded-lg border border-border", children: /* @__PURE__ */ jsx45(
|
|
4007
|
+
TableTokenPagination,
|
|
4008
|
+
{
|
|
4009
|
+
pageSize,
|
|
4010
|
+
rowCount: 0,
|
|
4011
|
+
canPrev,
|
|
4012
|
+
canNext,
|
|
4013
|
+
onPrev: goPrev,
|
|
4014
|
+
onNext: goNext,
|
|
4015
|
+
pageSizeOptions: AGENTS_PAGE_SIZE_OPTIONS,
|
|
4016
|
+
onPageSizeChange: setPageSize
|
|
4017
|
+
}
|
|
4018
|
+
) })
|
|
4019
|
+
] }) : /* @__PURE__ */ jsxs33("div", { className: "overflow-hidden rounded-lg border border-border", children: [
|
|
4020
|
+
/* @__PURE__ */ jsxs33(Table, { children: [
|
|
3921
4021
|
/* @__PURE__ */ jsx45(TableHeader, { children: /* @__PURE__ */ jsxs33(TableRow, { className: "hover:bg-transparent", children: [
|
|
3922
|
-
/* @__PURE__ */ jsx45(TableHead, { children: "Agent name" }),
|
|
4022
|
+
/* @__PURE__ */ jsx45(TableHead, { className: "w-96 min-w-96", children: "Agent name" }),
|
|
3923
4023
|
/* @__PURE__ */ jsx45(TableHead, { children: "Configuration" }),
|
|
3924
4024
|
showCreatedByColumn ? /* @__PURE__ */ jsx45(TableHead, { children: "Created by" }) : null,
|
|
3925
4025
|
showSchedulesColumn ? /* @__PURE__ */ jsx45(TableHead, { className: "w-[14rem]", children: "Schedules" }) : null,
|
|
@@ -3968,8 +4068,20 @@ function AgentsLibrary({ onSelectAgent }) {
|
|
|
3968
4068
|
id
|
|
3969
4069
|
);
|
|
3970
4070
|
}) })
|
|
3971
|
-
] })
|
|
3972
|
-
|
|
4071
|
+
] }),
|
|
4072
|
+
/* @__PURE__ */ jsx45(
|
|
4073
|
+
TableTokenPagination,
|
|
4074
|
+
{
|
|
4075
|
+
pageSize,
|
|
4076
|
+
rowCount: agents.length,
|
|
4077
|
+
canPrev,
|
|
4078
|
+
canNext,
|
|
4079
|
+
onPrev: goPrev,
|
|
4080
|
+
onNext: goNext,
|
|
4081
|
+
pageSizeOptions: AGENTS_PAGE_SIZE_OPTIONS,
|
|
4082
|
+
onPageSizeChange: setPageSize
|
|
4083
|
+
}
|
|
4084
|
+
)
|
|
3973
4085
|
] }) }) })
|
|
3974
4086
|
] });
|
|
3975
4087
|
}
|
|
@@ -4165,7 +4277,7 @@ function AttachmentCard({
|
|
|
4165
4277
|
children: [
|
|
4166
4278
|
/* @__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
4279
|
/* @__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" }) })
|
|
4280
|
+
/* @__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
4281
|
] }) }) }),
|
|
4170
4282
|
/* @__PURE__ */ jsx49("span", { className: "sr-only", children: name }),
|
|
4171
4283
|
onRemove && /* @__PURE__ */ jsx49(
|
|
@@ -5053,7 +5165,10 @@ function ResponsiveDropdownMenu({
|
|
|
5053
5165
|
"div",
|
|
5054
5166
|
{
|
|
5055
5167
|
className: "flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto",
|
|
5056
|
-
onClick: closeOnClick ? () =>
|
|
5168
|
+
onClick: closeOnClick ? (event) => {
|
|
5169
|
+
if (isSurfaceClick(event)) return;
|
|
5170
|
+
setOpen(false);
|
|
5171
|
+
} : void 0,
|
|
5057
5172
|
children
|
|
5058
5173
|
}
|
|
5059
5174
|
) }) : null
|
|
@@ -5431,7 +5546,8 @@ function SkillVersionSelector({
|
|
|
5431
5546
|
onOpenChange: (open) => {
|
|
5432
5547
|
if (open) load();
|
|
5433
5548
|
},
|
|
5434
|
-
className: "min-w-40",
|
|
5549
|
+
className: "max-h-64 min-w-40 overflow-y-auto",
|
|
5550
|
+
lockScroll: true,
|
|
5435
5551
|
trigger: /* @__PURE__ */ jsxs49(
|
|
5436
5552
|
"button",
|
|
5437
5553
|
{
|
|
@@ -6209,8 +6325,10 @@ function SideDrawer({
|
|
|
6209
6325
|
onOpenChange(false);
|
|
6210
6326
|
},
|
|
6211
6327
|
style: compactStyle,
|
|
6328
|
+
"data-anchor": anchor,
|
|
6329
|
+
"data-compact": compact ? "" : void 0,
|
|
6212
6330
|
className: cn(
|
|
6213
|
-
"bg-card-bg text-text-primary border-border open:flex open:flex-col overflow-hidden rounded-none p-0 shadow-xl",
|
|
6331
|
+
"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
6332
|
"backdrop:bg-black/50 backdrop:backdrop-blur-[2px] dark:backdrop:bg-black/70",
|
|
6215
6333
|
compact ? "m-0 mt-auto h-[min(85dvh,40rem)] w-full max-w-none border-t pb-[env(safe-area-inset-bottom)]" : cn(
|
|
6216
6334
|
// Mobile / narrow: bottom sheet
|
|
@@ -6290,7 +6408,7 @@ function AgentInstructionsDrawer({
|
|
|
6290
6408
|
open,
|
|
6291
6409
|
onOpenChange: (nextOpen) => !nextOpen && onClose(),
|
|
6292
6410
|
title: "Instructions",
|
|
6293
|
-
description: "
|
|
6411
|
+
description: "System prompt that defines the agent's role, goals, and how it should behave. Written once, applied to every run.",
|
|
6294
6412
|
anchor: "right",
|
|
6295
6413
|
size: "lg",
|
|
6296
6414
|
"aria-label": "Edit Instructions",
|
|
@@ -8216,7 +8334,7 @@ function DraftReasoningEffortSelector({ disabled, isRunning }) {
|
|
|
8216
8334
|
]
|
|
8217
8335
|
}
|
|
8218
8336
|
),
|
|
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
|
|
8337
|
+
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
8338
|
] });
|
|
8221
8339
|
}
|
|
8222
8340
|
|
|
@@ -8833,7 +8951,7 @@ function DraftCompositeSelector({ disabled, isRunning, onAttach }) {
|
|
|
8833
8951
|
id: menuId,
|
|
8834
8952
|
role: "dialog",
|
|
8835
8953
|
"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",
|
|
8954
|
+
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
8955
|
children: content
|
|
8838
8956
|
}
|
|
8839
8957
|
) : null
|
|
@@ -8940,7 +9058,7 @@ function DraftModelSelector({ disabled, isRunning }) {
|
|
|
8940
9058
|
]
|
|
8941
9059
|
}
|
|
8942
9060
|
),
|
|
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
|
|
9061
|
+
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
9062
|
] });
|
|
8945
9063
|
}
|
|
8946
9064
|
|
|
@@ -8970,7 +9088,7 @@ import ReactMarkdown from "react-markdown";
|
|
|
8970
9088
|
import remarkGfm from "remark-gfm";
|
|
8971
9089
|
import { Fragment as Fragment14, jsx as jsx87 } from "react/jsx-runtime";
|
|
8972
9090
|
function preloadMarkdownOpenUI() {
|
|
8973
|
-
return import("./OpenUiFenceBlock-
|
|
9091
|
+
return import("./OpenUiFenceBlock-KPZFLUSC.js");
|
|
8974
9092
|
}
|
|
8975
9093
|
var LARGE_STREAMING_FENCE_CHARS = 8 * 1024;
|
|
8976
9094
|
function getActiveStreamingFenceCode(content) {
|
|
@@ -9136,15 +9254,19 @@ function MessageErrorBanner({ message, className }) {
|
|
|
9136
9254
|
}
|
|
9137
9255
|
|
|
9138
9256
|
// src/atoms/MessageIndicator.tsx
|
|
9139
|
-
import {
|
|
9257
|
+
import { ThinkingOrb } from "thinking-orbs";
|
|
9258
|
+
import { jsx as jsx90, jsxs as jsxs67 } from "react/jsx-runtime";
|
|
9140
9259
|
function MessageIndicator({ className }) {
|
|
9141
|
-
return /* @__PURE__ */
|
|
9260
|
+
return /* @__PURE__ */ jsxs67(
|
|
9142
9261
|
"span",
|
|
9143
9262
|
{
|
|
9144
9263
|
"data-slot": "aui_assistant-message-indicator",
|
|
9145
|
-
|
|
9146
|
-
|
|
9147
|
-
children:
|
|
9264
|
+
role: "status",
|
|
9265
|
+
className: cn("inline-flex items-center gap-1.5 font-sans text-sm text-text-secondary", className),
|
|
9266
|
+
children: [
|
|
9267
|
+
/* @__PURE__ */ jsx90(ThinkingOrb, { state: "listening", size: 20, "aria-hidden": true }),
|
|
9268
|
+
/* @__PURE__ */ jsx90("span", { className: "aui-message-indicator-shimmer", children: "Working..." })
|
|
9269
|
+
]
|
|
9148
9270
|
}
|
|
9149
9271
|
);
|
|
9150
9272
|
}
|
|
@@ -9448,7 +9570,7 @@ function SandboxArtifactDownload({
|
|
|
9448
9570
|
}
|
|
9449
9571
|
|
|
9450
9572
|
// src/atoms/SandboxToolCallCard.tsx
|
|
9451
|
-
import { Fragment as Fragment15, jsx as jsx95, jsxs as
|
|
9573
|
+
import { Fragment as Fragment15, jsx as jsx95, jsxs as jsxs68 } from "react/jsx-runtime";
|
|
9452
9574
|
function JsonPane({ value, className }) {
|
|
9453
9575
|
const MonacoEditorCore2 = useSlot("MonacoEditorCore");
|
|
9454
9576
|
return /* @__PURE__ */ jsx95(
|
|
@@ -9482,22 +9604,22 @@ function SandboxBody({
|
|
|
9482
9604
|
onViewModeChange,
|
|
9483
9605
|
dataTestPrefix
|
|
9484
9606
|
}) {
|
|
9485
|
-
return /* @__PURE__ */
|
|
9607
|
+
return /* @__PURE__ */ jsxs68(
|
|
9486
9608
|
"div",
|
|
9487
9609
|
{
|
|
9488
9610
|
className: "rounded-lg border border-border bg-primary-bg",
|
|
9489
9611
|
"data-testid": dataTestPrefix ? `${dataTestPrefix}-sandbox` : void 0,
|
|
9490
9612
|
children: [
|
|
9491
|
-
/* @__PURE__ */ jsx95("div", { className: "rounded-t-md border-b border-primary-button-bg/30 bg-primary-button-bg/10", children: /* @__PURE__ */
|
|
9613
|
+
/* @__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
9614
|
/* @__PURE__ */ jsx95("p", { className: "min-w-0 font-sans text-xs font-medium text-primary-button-bg", children: "sandbox" }),
|
|
9493
|
-
/* @__PURE__ */
|
|
9615
|
+
/* @__PURE__ */ jsxs68(
|
|
9494
9616
|
"div",
|
|
9495
9617
|
{
|
|
9496
9618
|
className: "ml-auto flex shrink-0 items-center gap-1.5",
|
|
9497
9619
|
onClick: (e) => e.stopPropagation(),
|
|
9498
9620
|
onKeyDown: (e) => e.stopPropagation(),
|
|
9499
9621
|
children: [
|
|
9500
|
-
exitCode != null && /* @__PURE__ */
|
|
9622
|
+
exitCode != null && /* @__PURE__ */ jsxs68(
|
|
9501
9623
|
"span",
|
|
9502
9624
|
{
|
|
9503
9625
|
className: cn(
|
|
@@ -9512,7 +9634,7 @@ function SandboxBody({
|
|
|
9512
9634
|
]
|
|
9513
9635
|
}
|
|
9514
9636
|
),
|
|
9515
|
-
/* @__PURE__ */
|
|
9637
|
+
/* @__PURE__ */ jsxs68(
|
|
9516
9638
|
"div",
|
|
9517
9639
|
{
|
|
9518
9640
|
className: "inline-flex h-6 items-center rounded-md border border-border bg-primary-bg p-0.5",
|
|
@@ -9556,33 +9678,33 @@ function SandboxBody({
|
|
|
9556
9678
|
}
|
|
9557
9679
|
)
|
|
9558
9680
|
] }) }),
|
|
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__ */
|
|
9681
|
+
/* @__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: [
|
|
9682
|
+
argsJson && /* @__PURE__ */ jsxs68("div", { className: "my-1 border-l-4 border-primary-button-bg px-3", children: [
|
|
9561
9683
|
/* @__PURE__ */ jsx95("div", { className: "mb-1 font-sans text-xs font-medium leading-4", children: "Arguments" }),
|
|
9562
9684
|
/* @__PURE__ */ jsx95(JsonPane, { value: argsJson, className: "pl-2" })
|
|
9563
9685
|
] }),
|
|
9564
|
-
resultJson && /* @__PURE__ */
|
|
9686
|
+
resultJson && /* @__PURE__ */ jsxs68("div", { className: "my-1 border-l-4 border-primary-button-bg/60 px-3", children: [
|
|
9565
9687
|
/* @__PURE__ */ jsx95("div", { className: "mb-1 mt-2 font-sans text-xs font-medium leading-4", children: "Result" }),
|
|
9566
9688
|
/* @__PURE__ */ jsx95(JsonPane, { value: resultJson, className: "pl-2" })
|
|
9567
9689
|
] })
|
|
9568
|
-
] }) : /* @__PURE__ */
|
|
9569
|
-
command && /* @__PURE__ */
|
|
9690
|
+
] }) : /* @__PURE__ */ jsxs68(Fragment15, { children: [
|
|
9691
|
+
command && /* @__PURE__ */ jsxs68("div", { className: "my-1 break-all border-l-4 border-primary-button-bg px-3", children: [
|
|
9570
9692
|
/* @__PURE__ */ jsx95("div", { className: "mb-1 text-[12px] font-medium leading-4 text-text-secondary", children: "COMMAND" }),
|
|
9571
|
-
/* @__PURE__ */
|
|
9693
|
+
/* @__PURE__ */ jsxs68("div", { children: [
|
|
9572
9694
|
/* @__PURE__ */ jsx95("span", { className: "text-primary-button-bg", children: "$" }),
|
|
9573
9695
|
" ",
|
|
9574
9696
|
command
|
|
9575
9697
|
] })
|
|
9576
9698
|
] }),
|
|
9577
|
-
resultText ? /* @__PURE__ */
|
|
9699
|
+
resultText ? /* @__PURE__ */ jsxs68(Fragment15, { children: [
|
|
9578
9700
|
/* @__PURE__ */ jsx95("div", { className: "mx-3 my-1 border-t border-border" }),
|
|
9579
|
-
/* @__PURE__ */
|
|
9701
|
+
/* @__PURE__ */ jsxs68("div", { className: "my-1 break-all border-l-4 border-primary-button-bg/60 px-3", children: [
|
|
9580
9702
|
/* @__PURE__ */ jsx95("div", { className: "mb-1 text-[12px] font-medium leading-4 text-text-secondary", children: "OUTPUT" }),
|
|
9581
9703
|
/* @__PURE__ */ jsx95("div", { children: resultText })
|
|
9582
9704
|
] })
|
|
9583
|
-
] }) : resultJson && /* @__PURE__ */
|
|
9705
|
+
] }) : resultJson && /* @__PURE__ */ jsxs68(Fragment15, { children: [
|
|
9584
9706
|
/* @__PURE__ */ jsx95("div", { className: "mx-3 my-1 border-t border-border" }),
|
|
9585
|
-
/* @__PURE__ */
|
|
9707
|
+
/* @__PURE__ */ jsxs68("div", { className: "my-1 border-l-4 border-primary-button-bg/60 px-3", children: [
|
|
9586
9708
|
/* @__PURE__ */ jsx95("div", { className: "mb-1 text-[12px] font-medium leading-4 text-text-secondary", children: "OUTPUT" }),
|
|
9587
9709
|
/* @__PURE__ */ jsx95(JsonPane, { value: resultJson, className: "pl-2" })
|
|
9588
9710
|
] })
|
|
@@ -9741,7 +9863,7 @@ function useOptionalAgentConfigInstructions() {
|
|
|
9741
9863
|
}
|
|
9742
9864
|
|
|
9743
9865
|
// src/atoms/SaveAgentButton.tsx
|
|
9744
|
-
import { Fragment as Fragment16, jsx as jsx97, jsxs as
|
|
9866
|
+
import { Fragment as Fragment16, jsx as jsx97, jsxs as jsxs69 } from "react/jsx-runtime";
|
|
9745
9867
|
function cloneAgentSpec(spec) {
|
|
9746
9868
|
return {
|
|
9747
9869
|
...spec,
|
|
@@ -9788,12 +9910,14 @@ function SaveAgentButtonContent({
|
|
|
9788
9910
|
const [open, setOpen] = useState36(false);
|
|
9789
9911
|
const [intent, setIntent] = useState36("create");
|
|
9790
9912
|
const [name, setName] = useState36("");
|
|
9913
|
+
const [description, setDescription] = useState36("");
|
|
9791
9914
|
const [draftSpec, setDraftSpec] = useState36(null);
|
|
9792
9915
|
const [saving, setSaving] = useState36(false);
|
|
9793
9916
|
const [error, setError] = useState36(null);
|
|
9794
9917
|
const close = () => {
|
|
9795
9918
|
if (saving) return;
|
|
9796
9919
|
setOpen(false);
|
|
9920
|
+
setDescription("");
|
|
9797
9921
|
setDraftSpec(null);
|
|
9798
9922
|
setError(null);
|
|
9799
9923
|
};
|
|
@@ -9810,6 +9934,7 @@ function SaveAgentButtonContent({
|
|
|
9810
9934
|
const currentName = shell?.mode.status === "active" ? shell.mode.agentName ?? shell.mode.agentId ?? "" : "";
|
|
9811
9935
|
setIntent(currentName ? "update" : "create");
|
|
9812
9936
|
setName(currentName);
|
|
9937
|
+
setDescription(currentName && shell?.mode.status === "active" ? shell.mode.description ?? "" : "");
|
|
9813
9938
|
setDraftSpec(cloneAgentSpec(latestAgentSpec));
|
|
9814
9939
|
setOpen(true);
|
|
9815
9940
|
};
|
|
@@ -9818,11 +9943,14 @@ function SaveAgentButtonContent({
|
|
|
9818
9943
|
if (intent === "update" && !canManageAgent) return;
|
|
9819
9944
|
const normalizedName = name.trim();
|
|
9820
9945
|
if (!normalizedName || !draftSpec.model.name.trim()) return;
|
|
9946
|
+
const normalizedDescription = description.trim();
|
|
9947
|
+
if (!normalizedDescription) return;
|
|
9821
9948
|
setSaving(true);
|
|
9822
9949
|
setError(null);
|
|
9823
9950
|
try {
|
|
9824
9951
|
const result = await builder.saveAgent({
|
|
9825
9952
|
agentName: normalizedName,
|
|
9953
|
+
...normalizedDescription ? { description: normalizedDescription } : {},
|
|
9826
9954
|
agentSpec: draftSpec,
|
|
9827
9955
|
intent,
|
|
9828
9956
|
sessionId: draftSessionId
|
|
@@ -9831,10 +9959,12 @@ function SaveAgentButtonContent({
|
|
|
9831
9959
|
shell?.bindMutableAgent({
|
|
9832
9960
|
agentId: result.agentId ?? normalizedName,
|
|
9833
9961
|
agentName: normalizedName,
|
|
9962
|
+
...normalizedDescription ? { description: normalizedDescription } : {},
|
|
9834
9963
|
agentSpec: draftSpec
|
|
9835
9964
|
});
|
|
9836
9965
|
shell?.invalidateAgentsList();
|
|
9837
9966
|
setOpen(false);
|
|
9967
|
+
setDescription("");
|
|
9838
9968
|
setDraftSpec(null);
|
|
9839
9969
|
} catch (caught) {
|
|
9840
9970
|
setError(getErrorMessage(caught, "Could not save agent"));
|
|
@@ -9845,8 +9975,8 @@ function SaveAgentButtonContent({
|
|
|
9845
9975
|
const isUpdateMode = shell?.mode.status === "active" && shell.mode.isMutable && (shell.mode.agentName !== void 0 || shell.mode.agentId !== void 0);
|
|
9846
9976
|
const triggerLabel = isUpdateMode && children === "Save Agent" ? "Update Agent" : children;
|
|
9847
9977
|
if (!visible) return null;
|
|
9848
|
-
return /* @__PURE__ */
|
|
9849
|
-
/* @__PURE__ */ jsx97(PermissionGuard2, { allowed: canManageAgent, children: /* @__PURE__ */
|
|
9978
|
+
return /* @__PURE__ */ jsxs69(Fragment16, { children: [
|
|
9979
|
+
/* @__PURE__ */ jsx97(PermissionGuard2, { allowed: canManageAgent, children: /* @__PURE__ */ jsxs69(
|
|
9850
9980
|
Button.Primary,
|
|
9851
9981
|
{
|
|
9852
9982
|
type: "button",
|
|
@@ -9874,11 +10004,12 @@ function SaveAgentButtonContent({
|
|
|
9874
10004
|
{
|
|
9875
10005
|
intent,
|
|
9876
10006
|
name,
|
|
10007
|
+
description,
|
|
9877
10008
|
spec: draftSpec,
|
|
9878
10009
|
saving,
|
|
9879
10010
|
error,
|
|
9880
10011
|
onNameChange: setName,
|
|
9881
|
-
|
|
10012
|
+
onDescriptionChange: setDescription,
|
|
9882
10013
|
onCancel: close,
|
|
9883
10014
|
onSave: () => void save()
|
|
9884
10015
|
}
|
|
@@ -9890,14 +10021,16 @@ function SaveAgentButtonContent({
|
|
|
9890
10021
|
|
|
9891
10022
|
// src/atoms/SaveAgentForm.tsx
|
|
9892
10023
|
import { useEffect as useEffect21, useRef as useRef20 } from "react";
|
|
9893
|
-
import { jsx as jsx98, jsxs as
|
|
10024
|
+
import { jsx as jsx98, jsxs as jsxs70 } from "react/jsx-runtime";
|
|
9894
10025
|
function SaveAgentForm({
|
|
9895
10026
|
intent,
|
|
9896
10027
|
name,
|
|
10028
|
+
description,
|
|
9897
10029
|
spec,
|
|
9898
10030
|
saving,
|
|
9899
10031
|
error,
|
|
9900
10032
|
onNameChange,
|
|
10033
|
+
onDescriptionChange,
|
|
9901
10034
|
onCancel,
|
|
9902
10035
|
onSave
|
|
9903
10036
|
}) {
|
|
@@ -9906,9 +10039,10 @@ function SaveAgentForm({
|
|
|
9906
10039
|
if (error === null) return;
|
|
9907
10040
|
errorRef.current?.scrollIntoView?.({ block: "nearest", behavior: "smooth" });
|
|
9908
10041
|
}, [error]);
|
|
9909
|
-
|
|
9910
|
-
|
|
9911
|
-
|
|
10042
|
+
const canSave = name.trim() !== "" && spec.model.name.trim() !== "" && description.trim() !== "";
|
|
10043
|
+
return /* @__PURE__ */ jsxs70("div", { className: "flex min-h-0 w-full flex-1 flex-col", children: [
|
|
10044
|
+
/* @__PURE__ */ jsxs70("div", { className: "min-h-0 flex-1 overflow-y-auto px-5 py-3", children: [
|
|
10045
|
+
/* @__PURE__ */ jsxs70("label", { className: "mb-3 block", children: [
|
|
9912
10046
|
/* @__PURE__ */ jsx98("span", { className: "mb-1.5 block text-sm font-medium", children: "Agent name" }),
|
|
9913
10047
|
/* @__PURE__ */ jsx98(
|
|
9914
10048
|
"input",
|
|
@@ -9921,6 +10055,21 @@ function SaveAgentForm({
|
|
|
9921
10055
|
}
|
|
9922
10056
|
)
|
|
9923
10057
|
] }),
|
|
10058
|
+
/* @__PURE__ */ jsxs70("label", { className: "mb-3 block", children: [
|
|
10059
|
+
/* @__PURE__ */ jsx98("span", { className: "mb-1.5 block text-sm font-medium", children: "Description" }),
|
|
10060
|
+
/* @__PURE__ */ jsx98(
|
|
10061
|
+
"textarea",
|
|
10062
|
+
{
|
|
10063
|
+
value: description,
|
|
10064
|
+
disabled: saving,
|
|
10065
|
+
onChange: (event) => onDescriptionChange(event.target.value),
|
|
10066
|
+
rows: 4,
|
|
10067
|
+
maxLength: 1024,
|
|
10068
|
+
placeholder: "Describe what this agent does.",
|
|
10069
|
+
className: auiInputClass("resize-y py-2 disabled:opacity-60")
|
|
10070
|
+
}
|
|
10071
|
+
)
|
|
10072
|
+
] }),
|
|
9924
10073
|
error ? /* @__PURE__ */ jsx98(
|
|
9925
10074
|
"p",
|
|
9926
10075
|
{
|
|
@@ -9931,22 +10080,22 @@ function SaveAgentForm({
|
|
|
9931
10080
|
}
|
|
9932
10081
|
) : null
|
|
9933
10082
|
] }),
|
|
9934
|
-
/* @__PURE__ */
|
|
10083
|
+
/* @__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
10084
|
/* @__PURE__ */ jsx98(Button.Secondary, { type: "button", disabled: saving, onClick: onCancel, children: "Cancel" }),
|
|
9936
|
-
/* @__PURE__ */ jsx98(Button.Primary, { type: "button", disabled: saving || !
|
|
10085
|
+
/* @__PURE__ */ jsx98(Button.Primary, { type: "button", disabled: saving || !canSave, onClick: onSave, children: saving ? "Saving\u2026" : "Save changes" })
|
|
9937
10086
|
] })
|
|
9938
10087
|
] });
|
|
9939
10088
|
}
|
|
9940
10089
|
|
|
9941
10090
|
// src/atoms/SchedulesButton.tsx
|
|
9942
|
-
import { Fragment as Fragment17, jsx as jsx99, jsxs as
|
|
10091
|
+
import { Fragment as Fragment17, jsx as jsx99, jsxs as jsxs71 } from "react/jsx-runtime";
|
|
9943
10092
|
function SchedulesButton({ className, compact = false }) {
|
|
9944
10093
|
const shell = useOptionalShellMode();
|
|
9945
10094
|
const scheduleServer = useOptionalScheduleServer();
|
|
9946
10095
|
const enabled = isSchedulesChromeEnabled({ schedules: scheduleServer }) && shell != null;
|
|
9947
10096
|
const open = shell?.schedulesOpen === true;
|
|
9948
10097
|
if (!enabled) return null;
|
|
9949
|
-
return /* @__PURE__ */ jsx99("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */
|
|
10098
|
+
return /* @__PURE__ */ jsx99("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */ jsxs71(
|
|
9950
10099
|
"button",
|
|
9951
10100
|
{
|
|
9952
10101
|
type: "button",
|
|
@@ -9965,7 +10114,7 @@ function SchedulesButton({ className, compact = false }) {
|
|
|
9965
10114
|
onClick: () => shell.setSchedulesOpen(!open),
|
|
9966
10115
|
children: [
|
|
9967
10116
|
/* @__PURE__ */ jsx99(Icon, { name: "calendar-clock", size: compact ? 14 : void 0 }),
|
|
9968
|
-
compact ? /* @__PURE__ */ jsx99("span", { className: "text-center", children: "Schedules" }) : /* @__PURE__ */
|
|
10117
|
+
compact ? /* @__PURE__ */ jsx99("span", { className: "text-center", children: "Schedules" }) : /* @__PURE__ */ jsxs71(Fragment17, { children: [
|
|
9969
10118
|
/* @__PURE__ */ jsx99("span", { className: "truncate", children: "Schedules" }),
|
|
9970
10119
|
/* @__PURE__ */ jsx99(Icon, { name: "chevron-right", className: "ml-auto size-3.5 shrink-0 opacity-60" })
|
|
9971
10120
|
] })
|
|
@@ -10004,12 +10153,12 @@ var ScrollToBottomButton = forwardRef2(
|
|
|
10004
10153
|
ScrollToBottomButton.displayName = "ScrollToBottomButton";
|
|
10005
10154
|
|
|
10006
10155
|
// src/atoms/SelectAgentEmptyState.tsx
|
|
10007
|
-
import { jsx as jsx101, jsxs as
|
|
10156
|
+
import { jsx as jsx101, jsxs as jsxs72 } from "react/jsx-runtime";
|
|
10008
10157
|
function SelectAgentEmptyState() {
|
|
10009
10158
|
const shell = useOptionalShellMode();
|
|
10010
10159
|
const AgentsLibraryButton2 = useSlot("AgentsLibraryButton");
|
|
10011
10160
|
if (shell?.mode.status !== "idle") return null;
|
|
10012
|
-
return /* @__PURE__ */
|
|
10161
|
+
return /* @__PURE__ */ jsxs72(
|
|
10013
10162
|
"div",
|
|
10014
10163
|
{
|
|
10015
10164
|
className: "flex h-full min-h-0 w-full flex-col items-center justify-center gap-4 px-6",
|
|
@@ -10023,7 +10172,7 @@ function SelectAgentEmptyState() {
|
|
|
10023
10172
|
}
|
|
10024
10173
|
|
|
10025
10174
|
// src/atoms/SessionsBrowserButton.tsx
|
|
10026
|
-
import { Fragment as Fragment18, jsx as jsx102, jsxs as
|
|
10175
|
+
import { Fragment as Fragment18, jsx as jsx102, jsxs as jsxs73 } from "react/jsx-runtime";
|
|
10027
10176
|
function SessionsBrowserButton({ className, compact = false }) {
|
|
10028
10177
|
const sessionsServer = useOptionalAgentSessionsServer();
|
|
10029
10178
|
const shell = useOptionalShellMode();
|
|
@@ -10031,7 +10180,7 @@ function SessionsBrowserButton({ className, compact = false }) {
|
|
|
10031
10180
|
const sessionsOpen = shell?.sessionsOpen === true;
|
|
10032
10181
|
const enabled = isSessionsChromeEnabled({ sessions: sessionsServer }) && shell != null;
|
|
10033
10182
|
if (!enabled) return null;
|
|
10034
|
-
return /* @__PURE__ */ jsx102("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */
|
|
10183
|
+
return /* @__PURE__ */ jsx102("div", { className: cn("relative min-w-0", compact ? "flex justify-center" : "w-full", className), children: /* @__PURE__ */ jsxs73(
|
|
10035
10184
|
"button",
|
|
10036
10185
|
{
|
|
10037
10186
|
type: "button",
|
|
@@ -10061,7 +10210,7 @@ function SessionsBrowserButton({ className, compact = false }) {
|
|
|
10061
10210
|
},
|
|
10062
10211
|
children: [
|
|
10063
10212
|
/* @__PURE__ */ jsx102(Icon, { name: "message-square-text", size: compact ? 14 : void 0 }),
|
|
10064
|
-
compact ? /* @__PURE__ */ jsx102("span", { className: "text-center", children: "Sessions" }) : /* @__PURE__ */
|
|
10213
|
+
compact ? /* @__PURE__ */ jsx102("span", { className: "text-center", children: "Sessions" }) : /* @__PURE__ */ jsxs73(Fragment18, { children: [
|
|
10065
10214
|
/* @__PURE__ */ jsx102("span", { className: "truncate", children: "Sessions" }),
|
|
10066
10215
|
/* @__PURE__ */ jsx102(Icon, { name: "chevron-right", className: "ml-auto size-3.5 shrink-0 opacity-60" })
|
|
10067
10216
|
] })
|
|
@@ -10076,9 +10225,9 @@ function ShellActionsActionSlot() {
|
|
|
10076
10225
|
}
|
|
10077
10226
|
|
|
10078
10227
|
// src/atoms/Skeletons.tsx
|
|
10079
|
-
import { jsx as jsx103, jsxs as
|
|
10228
|
+
import { jsx as jsx103, jsxs as jsxs74 } from "react/jsx-runtime";
|
|
10080
10229
|
function MessageListSkeleton({ className }) {
|
|
10081
|
-
return /* @__PURE__ */
|
|
10230
|
+
return /* @__PURE__ */ jsxs74(
|
|
10082
10231
|
"div",
|
|
10083
10232
|
{
|
|
10084
10233
|
role: "status",
|
|
@@ -10087,7 +10236,7 @@ function MessageListSkeleton({ className }) {
|
|
|
10087
10236
|
className: cn("mb-14 flex flex-col gap-y-6", className),
|
|
10088
10237
|
children: [
|
|
10089
10238
|
/* @__PURE__ */ jsx103("div", { className: "flex justify-end", children: /* @__PURE__ */ jsx103(Skeleton, { className: "h-10 w-[min(85%,20rem)] rounded-xl" }) }),
|
|
10090
|
-
/* @__PURE__ */
|
|
10239
|
+
/* @__PURE__ */ jsxs74("div", { className: "flex flex-col gap-2 px-2", children: [
|
|
10091
10240
|
/* @__PURE__ */ jsx103(Skeleton, { className: "h-4 w-full max-w-md" }),
|
|
10092
10241
|
/* @__PURE__ */ jsx103(Skeleton, { className: "h-4 w-full max-w-sm" }),
|
|
10093
10242
|
/* @__PURE__ */ jsx103(Skeleton, { className: "h-4 w-2/3 max-w-xs" })
|
|
@@ -10098,7 +10247,7 @@ function MessageListSkeleton({ className }) {
|
|
|
10098
10247
|
}
|
|
10099
10248
|
|
|
10100
10249
|
// src/atoms/SubAgentCard.tsx
|
|
10101
|
-
import { jsx as jsx104, jsxs as
|
|
10250
|
+
import { jsx as jsx104, jsxs as jsxs75 } from "react/jsx-runtime";
|
|
10102
10251
|
function SubAgentCard({
|
|
10103
10252
|
agentName,
|
|
10104
10253
|
instruction,
|
|
@@ -10120,7 +10269,7 @@ function SubAgentCard({
|
|
|
10120
10269
|
{
|
|
10121
10270
|
className: cn("aui-sub-agent-card min-w-0", className),
|
|
10122
10271
|
"data-testid": dataTestPrefix ? `${dataTestPrefix}-sub-agent-card` : void 0,
|
|
10123
|
-
children: /* @__PURE__ */
|
|
10272
|
+
children: /* @__PURE__ */ jsxs75(
|
|
10124
10273
|
AgentStepRow,
|
|
10125
10274
|
{
|
|
10126
10275
|
icon: "agent-2",
|
|
@@ -10133,7 +10282,7 @@ function SubAgentCard({
|
|
|
10133
10282
|
statusText: durationText,
|
|
10134
10283
|
dataTestPrefix,
|
|
10135
10284
|
children: [
|
|
10136
|
-
instructionContent != null && /* @__PURE__ */
|
|
10285
|
+
instructionContent != null && /* @__PURE__ */ jsxs75("div", { className: "mb-3 flex flex-col gap-2 rounded-md border border-border p-2", children: [
|
|
10137
10286
|
/* @__PURE__ */ jsx104("h4", { className: "text-sm font-semibold text-text-primary", children: "Instructions" }),
|
|
10138
10287
|
/* @__PURE__ */ jsx104(
|
|
10139
10288
|
"div",
|
|
@@ -11166,7 +11315,7 @@ var one_light_default = {
|
|
|
11166
11315
|
};
|
|
11167
11316
|
|
|
11168
11317
|
// src/atoms/SyntaxHighlighter.tsx
|
|
11169
|
-
import { jsx as jsx105, jsxs as
|
|
11318
|
+
import { jsx as jsx105, jsxs as jsxs76 } from "react/jsx-runtime";
|
|
11170
11319
|
function stripTrailingNewline(code) {
|
|
11171
11320
|
return code.endsWith("\n") ? code.slice(0, -1) : code;
|
|
11172
11321
|
}
|
|
@@ -11190,7 +11339,7 @@ function SyntaxHighlighterImpl({ code, language, darkTheme, className, showLineN
|
|
|
11190
11339
|
setTimeout(() => setCopied(false), 2e3);
|
|
11191
11340
|
});
|
|
11192
11341
|
}, [code]);
|
|
11193
|
-
return /* @__PURE__ */
|
|
11342
|
+
return /* @__PURE__ */ jsxs76(
|
|
11194
11343
|
"div",
|
|
11195
11344
|
{
|
|
11196
11345
|
className: cn(
|
|
@@ -11252,7 +11401,7 @@ function SyntaxHighlighterImpl({ code, language, darkTheme, className, showLineN
|
|
|
11252
11401
|
var SyntaxHighlighter = memo(SyntaxHighlighterImpl);
|
|
11253
11402
|
|
|
11254
11403
|
// src/atoms/ThreadListMisc.tsx
|
|
11255
|
-
import { Fragment as Fragment19, jsx as jsx106, jsxs as
|
|
11404
|
+
import { Fragment as Fragment19, jsx as jsx106, jsxs as jsxs77 } from "react/jsx-runtime";
|
|
11256
11405
|
function ThreadListNewButton({ className, children, style, ...rest }) {
|
|
11257
11406
|
return /* @__PURE__ */ jsx106(
|
|
11258
11407
|
"button",
|
|
@@ -11268,7 +11417,7 @@ function ThreadListNewButton({ className, children, style, ...rest }) {
|
|
|
11268
11417
|
)
|
|
11269
11418
|
}),
|
|
11270
11419
|
...rest,
|
|
11271
|
-
children: children ?? /* @__PURE__ */
|
|
11420
|
+
children: children ?? /* @__PURE__ */ jsxs77(Fragment19, { children: [
|
|
11272
11421
|
/* @__PURE__ */ jsx106(Icon, { name: "square-pen" }),
|
|
11273
11422
|
"New Chat"
|
|
11274
11423
|
] })
|
|
@@ -11288,14 +11437,14 @@ function ThreadListEmptyState({ message = "No threads yet", className }) {
|
|
|
11288
11437
|
);
|
|
11289
11438
|
}
|
|
11290
11439
|
function ThreadListShell({ header, children, className }) {
|
|
11291
|
-
return /* @__PURE__ */
|
|
11440
|
+
return /* @__PURE__ */ jsxs77("div", { className: cn("font-sans-flex flex h-full min-h-0 flex-1 flex-col overflow-hidden", className), children: [
|
|
11292
11441
|
header != null ? /* @__PURE__ */ jsx106("div", { className: "shrink-0 border-b border-border px-2 py-2", children: header }) : null,
|
|
11293
11442
|
/* @__PURE__ */ jsx106("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden p-2", children })
|
|
11294
11443
|
] });
|
|
11295
11444
|
}
|
|
11296
11445
|
|
|
11297
11446
|
// src/atoms/ThreadListRow.tsx
|
|
11298
|
-
import { jsx as jsx107, jsxs as
|
|
11447
|
+
import { jsx as jsx107, jsxs as jsxs78 } from "react/jsx-runtime";
|
|
11299
11448
|
function ThreadListRow({
|
|
11300
11449
|
title,
|
|
11301
11450
|
active,
|
|
@@ -11307,13 +11456,13 @@ function ThreadListRow({
|
|
|
11307
11456
|
}) {
|
|
11308
11457
|
const relative = lastMessageAt != null ? formatRelativeShort(lastMessageAt) : void 0;
|
|
11309
11458
|
const hasTrailing = relative != null || actions != null;
|
|
11310
|
-
return /* @__PURE__ */
|
|
11459
|
+
return /* @__PURE__ */ jsxs78(
|
|
11311
11460
|
"div",
|
|
11312
11461
|
{
|
|
11313
11462
|
"data-slot": "aui_thread-list-item",
|
|
11314
11463
|
"data-active": active || void 0,
|
|
11315
11464
|
className: cn(
|
|
11316
|
-
"group flex min-w-0 items-center gap-0.5 rounded-[0.
|
|
11465
|
+
"group flex min-w-0 items-center gap-0.5 rounded-[0.5rem] transition-colors",
|
|
11317
11466
|
active ? "bg-dropdown-selected-item-bg text-dropdown-selected-item-text" : "text-text-secondary hover:bg-ghost-button-hover hover:text-text-primary",
|
|
11318
11467
|
className
|
|
11319
11468
|
),
|
|
@@ -11332,16 +11481,16 @@ function ThreadListRow({
|
|
|
11332
11481
|
active ? "text-dropdown-selected-item-text" : "text-inherit"
|
|
11333
11482
|
)
|
|
11334
11483
|
}),
|
|
11335
|
-
children: /* @__PURE__ */
|
|
11336
|
-
/* @__PURE__ */ jsx107("span", { className: "block truncate text-sm font-
|
|
11337
|
-
agentName != null ? /* @__PURE__ */
|
|
11338
|
-
/* @__PURE__ */ jsx107(Icon, { name: "
|
|
11484
|
+
children: /* @__PURE__ */ jsxs78("span", { className: "min-w-0 flex-1", children: [
|
|
11485
|
+
/* @__PURE__ */ jsx107("span", { className: "block truncate text-sm font-normal text-text-primary", children: title }),
|
|
11486
|
+
agentName != null ? /* @__PURE__ */ jsxs78("span", { className: "mt-0.5 flex min-w-0 items-center gap-1 text-[0.75rem] text-text-secondary", children: [
|
|
11487
|
+
/* @__PURE__ */ jsx107(Icon, { name: "bot", className: "shrink-0" }),
|
|
11339
11488
|
/* @__PURE__ */ jsx107("span", { className: "truncate", children: agentName })
|
|
11340
11489
|
] }) : null
|
|
11341
11490
|
] })
|
|
11342
11491
|
}
|
|
11343
11492
|
),
|
|
11344
|
-
hasTrailing ? /* @__PURE__ */
|
|
11493
|
+
hasTrailing ? /* @__PURE__ */ jsxs78("div", { className: "relative mr-1 flex size-7 shrink-0 items-center justify-center", children: [
|
|
11345
11494
|
relative != null ? /* @__PURE__ */ jsx107(
|
|
11346
11495
|
"span",
|
|
11347
11496
|
{
|
|
@@ -11449,7 +11598,7 @@ MessageGroup.displayName = "MessageGroup";
|
|
|
11449
11598
|
// src/atoms/Toast.tsx
|
|
11450
11599
|
import { useCallback as useCallback15, useState as useState38 } from "react";
|
|
11451
11600
|
import { createPortal as createPortal4 } from "react-dom";
|
|
11452
|
-
import { jsx as jsx109, jsxs as
|
|
11601
|
+
import { jsx as jsx109, jsxs as jsxs79 } from "react/jsx-runtime";
|
|
11453
11602
|
function Toast({ title, description, open, onOpenChange, variant = "error", className }) {
|
|
11454
11603
|
const [copied, setCopied] = useState38(false);
|
|
11455
11604
|
const handleCopy = useCallback15(async () => {
|
|
@@ -11463,7 +11612,7 @@ ${description}`;
|
|
|
11463
11612
|
}
|
|
11464
11613
|
}, [title, description]);
|
|
11465
11614
|
if (!open) return null;
|
|
11466
|
-
return /* @__PURE__ */
|
|
11615
|
+
return /* @__PURE__ */ jsxs79(
|
|
11467
11616
|
"div",
|
|
11468
11617
|
{
|
|
11469
11618
|
role: "alert",
|
|
@@ -11481,8 +11630,8 @@ ${description}`;
|
|
|
11481
11630
|
className: cn("shrink-0", variant === "success" ? "text-success-bg" : "text-failure-bg")
|
|
11482
11631
|
}
|
|
11483
11632
|
),
|
|
11484
|
-
/* @__PURE__ */
|
|
11485
|
-
/* @__PURE__ */
|
|
11633
|
+
/* @__PURE__ */ jsxs79("div", { className: "min-w-0 flex-1", children: [
|
|
11634
|
+
/* @__PURE__ */ jsxs79("div", { className: "flex items-start justify-between gap-2", children: [
|
|
11486
11635
|
/* @__PURE__ */ jsx109(
|
|
11487
11636
|
"div",
|
|
11488
11637
|
{
|
|
@@ -11493,7 +11642,7 @@ ${description}`;
|
|
|
11493
11642
|
children: title
|
|
11494
11643
|
}
|
|
11495
11644
|
),
|
|
11496
|
-
/* @__PURE__ */
|
|
11645
|
+
/* @__PURE__ */ jsxs79("div", { className: "flex shrink-0 items-center gap-1", children: [
|
|
11497
11646
|
variant === "error" ? /* @__PURE__ */ jsx109(
|
|
11498
11647
|
"button",
|
|
11499
11648
|
{
|
|
@@ -11550,7 +11699,7 @@ function ToastStack({ children, duration: _duration = Number.POSITIVE_INFINITY }
|
|
|
11550
11699
|
}
|
|
11551
11700
|
|
|
11552
11701
|
// src/atoms/ToolApprovalBar.tsx
|
|
11553
|
-
import { jsx as jsx110, jsxs as
|
|
11702
|
+
import { jsx as jsx110, jsxs as jsxs80 } from "react/jsx-runtime";
|
|
11554
11703
|
var DEFAULT_APPROVE_OPTIONS = [{ id: "approve", label: "Approve", variant: "primary" }];
|
|
11555
11704
|
var DEFAULT_DENY_OPTIONS = [
|
|
11556
11705
|
{ id: "deny", label: "Deny", variant: "secondary", requiresReason: true }
|
|
@@ -11583,22 +11732,22 @@ function ToolApprovalBar({
|
|
|
11583
11732
|
const isDenied = status?.type === "denied";
|
|
11584
11733
|
const interactionsLocked = disabled && !isDecided;
|
|
11585
11734
|
const headingText = isApproved ? "Tool Approved" : isDenied ? "Tool Approval Denied" : "Tool Approval Required for";
|
|
11586
|
-
return /* @__PURE__ */
|
|
11735
|
+
return /* @__PURE__ */ jsxs80(
|
|
11587
11736
|
"div",
|
|
11588
11737
|
{
|
|
11589
11738
|
className: cn("aui-tool-approval-bar", className),
|
|
11590
11739
|
"data-testid": dataTestPrefix ? `${dataTestPrefix}-approval` : void 0,
|
|
11591
11740
|
children: [
|
|
11592
|
-
/* @__PURE__ */
|
|
11593
|
-
/* @__PURE__ */
|
|
11741
|
+
/* @__PURE__ */ jsxs80("div", { className: "flex gap-2", children: [
|
|
11742
|
+
/* @__PURE__ */ jsxs80("div", { className: cn("flex shrink-0 flex-col items-center", !showLineBelow && "pb-1"), children: [
|
|
11594
11743
|
/* @__PURE__ */ jsx110("div", { className: "min-h-[0.75rem] w-px flex-1 bg-border" }),
|
|
11595
11744
|
/* @__PURE__ */ jsx110(StepIconBox, { icon: "wrench", variant: "muted", iconSize: "0.875em", className: "my-1" }),
|
|
11596
11745
|
showLineBelow && /* @__PURE__ */ jsx110("div", { className: "min-h-[0.75rem] w-px flex-1 bg-border" })
|
|
11597
11746
|
] }),
|
|
11598
|
-
/* @__PURE__ */
|
|
11599
|
-
/* @__PURE__ */
|
|
11600
|
-
/* @__PURE__ */
|
|
11601
|
-
/* @__PURE__ */
|
|
11747
|
+
/* @__PURE__ */ jsxs80("div", { className: "mt-2 flex flex-1 items-center justify-between", children: [
|
|
11748
|
+
/* @__PURE__ */ jsxs80("div", { className: "flex w-full items-center justify-between gap-2", children: [
|
|
11749
|
+
/* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-2", children: [
|
|
11750
|
+
/* @__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
11751
|
headingText,
|
|
11603
11752
|
/* @__PURE__ */ jsx110("span", { className: "rounded bg-secondary-bg px-1.5 py-0.5 text-xs text-text-secondary", children: toolName })
|
|
11604
11753
|
] }),
|
|
@@ -11613,8 +11762,8 @@ function ToolApprovalBar({
|
|
|
11613
11762
|
] }),
|
|
11614
11763
|
!isDecided && !readOnly && selectedDenyOption && /* @__PURE__ */ jsx110(Button.Secondary, { size: "small", disabled: interactionsLocked, onClick: () => onDenyOptionChange?.(null), children: "Back" })
|
|
11615
11764
|
] }),
|
|
11616
|
-
!isDecided && !readOnly && !selectedDenyOption && /* @__PURE__ */
|
|
11617
|
-
approveOptions.map((option) => /* @__PURE__ */
|
|
11765
|
+
!isDecided && !readOnly && !selectedDenyOption && /* @__PURE__ */ jsxs80("div", { className: "flex gap-2", children: [
|
|
11766
|
+
approveOptions.map((option) => /* @__PURE__ */ jsxs80(
|
|
11618
11767
|
Button,
|
|
11619
11768
|
{
|
|
11620
11769
|
size: "small",
|
|
@@ -11648,16 +11797,16 @@ function ToolApprovalBar({
|
|
|
11648
11797
|
] })
|
|
11649
11798
|
] })
|
|
11650
11799
|
] }),
|
|
11651
|
-
!isDecided && !readOnly && selectedDenyOption && /* @__PURE__ */
|
|
11652
|
-
(selectedDenyOption.confirm?.title || selectedDenyOption.confirm?.description) && /* @__PURE__ */
|
|
11800
|
+
!isDecided && !readOnly && selectedDenyOption && /* @__PURE__ */ jsxs80("div", { className: "flex flex-col gap-1 pl-8 pt-3", children: [
|
|
11801
|
+
(selectedDenyOption.confirm?.title || selectedDenyOption.confirm?.description) && /* @__PURE__ */ jsxs80("div", { className: "flex flex-col gap-0.5", children: [
|
|
11653
11802
|
selectedDenyOption.confirm.title && /* @__PURE__ */ jsx110("span", { className: "text-xs font-medium text-text-primary", children: selectedDenyOption.confirm.title }),
|
|
11654
11803
|
selectedDenyOption.confirm.description && /* @__PURE__ */ jsx110("span", { className: "text-xs text-text-secondary", children: selectedDenyOption.confirm.description })
|
|
11655
11804
|
] }),
|
|
11656
|
-
selectedDenyOption.grants && selectedDenyOption.grants.length > 0 && /* @__PURE__ */
|
|
11805
|
+
selectedDenyOption.grants && selectedDenyOption.grants.length > 0 && /* @__PURE__ */ jsxs80("div", { className: "flex flex-wrap items-center gap-1", children: [
|
|
11657
11806
|
/* @__PURE__ */ jsx110("span", { className: "text-xs text-text-secondary", children: "Grants:" }),
|
|
11658
11807
|
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
11808
|
] }),
|
|
11660
|
-
/* @__PURE__ */
|
|
11809
|
+
/* @__PURE__ */ jsxs80("div", { className: "flex items-center gap-2", children: [
|
|
11661
11810
|
/* @__PURE__ */ jsx110(
|
|
11662
11811
|
"input",
|
|
11663
11812
|
{
|
|
@@ -11678,7 +11827,7 @@ function ToolApprovalBar({
|
|
|
11678
11827
|
] }),
|
|
11679
11828
|
showReasonError && /* @__PURE__ */ jsx110("span", { id: "aui-denial-reason-error", className: "text-xs text-failure-bg", role: "alert", children: "Reason is required" })
|
|
11680
11829
|
] }),
|
|
11681
|
-
isDecided && status?.reason && /* @__PURE__ */ jsx110("div", { className: "pl-8 pt-2", children: /* @__PURE__ */
|
|
11830
|
+
isDecided && status?.reason && /* @__PURE__ */ jsx110("div", { className: "pl-8 pt-2", children: /* @__PURE__ */ jsxs80("span", { className: "text-xs text-text-secondary", children: [
|
|
11682
11831
|
"Reason: ",
|
|
11683
11832
|
status.reason
|
|
11684
11833
|
] }) })
|
|
@@ -12018,7 +12167,7 @@ function useRegisterApprovalExpand(toolCallId, expand) {
|
|
|
12018
12167
|
}
|
|
12019
12168
|
|
|
12020
12169
|
// src/atoms/ToolCallCard.tsx
|
|
12021
|
-
import { Fragment as Fragment20, jsx as jsx112, jsxs as
|
|
12170
|
+
import { Fragment as Fragment20, jsx as jsx112, jsxs as jsxs81 } from "react/jsx-runtime";
|
|
12022
12171
|
var DEFAULT_AWAITING_TEXT = "Awaiting Response...";
|
|
12023
12172
|
function ToolCallCard({
|
|
12024
12173
|
icon = "mcp-server",
|
|
@@ -12090,7 +12239,7 @@ function ToolCallCard({
|
|
|
12090
12239
|
showContentConnector: true,
|
|
12091
12240
|
showPersistentContentConnector: !hasApproval,
|
|
12092
12241
|
dataTestPrefix: dataTestPrefix ? `${dataTestPrefix}-header` : void 0,
|
|
12093
|
-
persistentChildren: /* @__PURE__ */
|
|
12242
|
+
persistentChildren: /* @__PURE__ */ jsxs81(Fragment20, { children: [
|
|
12094
12243
|
approvalSlot,
|
|
12095
12244
|
expanded && showResponseLine && responseSlot && /* @__PURE__ */ jsx112("div", { "data-testid": dataTestPrefix ? `${dataTestPrefix}-response` : void 0, children: responseSlot })
|
|
12096
12245
|
] }),
|
|
@@ -12103,7 +12252,7 @@ function ToolCallCard({
|
|
|
12103
12252
|
|
|
12104
12253
|
// src/atoms/ToolCallContentBlock.tsx
|
|
12105
12254
|
import { useState as useState40 } from "react";
|
|
12106
|
-
import { jsx as jsx113, jsxs as
|
|
12255
|
+
import { jsx as jsx113, jsxs as jsxs82 } from "react/jsx-runtime";
|
|
12107
12256
|
function JsonEditor({
|
|
12108
12257
|
content,
|
|
12109
12258
|
height,
|
|
@@ -12166,7 +12315,7 @@ function ToolCallContentBlock({
|
|
|
12166
12315
|
} : {
|
|
12167
12316
|
padding: "0.25rem"
|
|
12168
12317
|
};
|
|
12169
|
-
return /* @__PURE__ */
|
|
12318
|
+
return /* @__PURE__ */ jsxs82(
|
|
12170
12319
|
"div",
|
|
12171
12320
|
{
|
|
12172
12321
|
className: cn(
|
|
@@ -12176,9 +12325,9 @@ function ToolCallContentBlock({
|
|
|
12176
12325
|
"data-testid": dataTestPrefix ? `${dataTestPrefix}-content-block` : "tfy-tool-call-content-block",
|
|
12177
12326
|
"data-content": content,
|
|
12178
12327
|
children: [
|
|
12179
|
-
/* @__PURE__ */
|
|
12328
|
+
/* @__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
12329
|
/* @__PURE__ */ jsx113("div", { className: "font-sans text-xs font-medium text-primary-button-bg", children: title }),
|
|
12181
|
-
/* @__PURE__ */
|
|
12330
|
+
/* @__PURE__ */ jsxs82("div", { className: "flex items-center gap-1", children: [
|
|
12182
12331
|
/* @__PURE__ */ jsx113(
|
|
12183
12332
|
"button",
|
|
12184
12333
|
{
|
|
@@ -12230,8 +12379,8 @@ function ToolCallContentBlock({
|
|
|
12230
12379
|
)
|
|
12231
12380
|
}
|
|
12232
12381
|
),
|
|
12233
|
-
fullscreen && /* @__PURE__ */ jsx113(Dialog, { open: true, onOpenChange: (open) => onFullscreenChange?.(open), children: /* @__PURE__ */
|
|
12234
|
-
/* @__PURE__ */
|
|
12382
|
+
fullscreen && /* @__PURE__ */ jsx113(Dialog, { open: true, onOpenChange: (open) => onFullscreenChange?.(open), children: /* @__PURE__ */ jsxs82(DialogContent, { className: "flex h-[80vh] max-w-4xl flex-col", children: [
|
|
12383
|
+
/* @__PURE__ */ jsxs82(DialogHeader, { className: "flex flex-row items-center justify-between gap-2", children: [
|
|
12235
12384
|
/* @__PURE__ */ jsx113(DialogTitle, { children: title }),
|
|
12236
12385
|
/* @__PURE__ */ jsx113(IconButton, { variant: "ghost", onClick: () => onFullscreenChange?.(false), "aria-label": "Minimize", children: /* @__PURE__ */ jsx113(Icon, { name: "compress", size: "0.875em" }) })
|
|
12237
12386
|
] }),
|
|
@@ -12243,7 +12392,7 @@ function ToolCallContentBlock({
|
|
|
12243
12392
|
}
|
|
12244
12393
|
|
|
12245
12394
|
// src/atoms/ToolGroupCard.tsx
|
|
12246
|
-
import { jsx as jsx114, jsxs as
|
|
12395
|
+
import { jsx as jsx114, jsxs as jsxs83 } from "react/jsx-runtime";
|
|
12247
12396
|
function ToolGroupCard({
|
|
12248
12397
|
toolCallCount,
|
|
12249
12398
|
expanded,
|
|
@@ -12256,7 +12405,7 @@ function ToolGroupCard({
|
|
|
12256
12405
|
const AccordionSummary2 = useSlot("AccordionSummary");
|
|
12257
12406
|
const AccordionDetails2 = useSlot("AccordionDetails");
|
|
12258
12407
|
const label = `${toolCallCount} tool ${toolCallCount === 1 ? "call" : "calls"}`;
|
|
12259
|
-
return /* @__PURE__ */
|
|
12408
|
+
return /* @__PURE__ */ jsxs83(
|
|
12260
12409
|
Accordion2,
|
|
12261
12410
|
{
|
|
12262
12411
|
"data-slot": "tool-group-card",
|
|
@@ -12278,7 +12427,7 @@ function ToolGroupCard({
|
|
|
12278
12427
|
"&:hover": { backgroundColor: "transparent" },
|
|
12279
12428
|
"& .MuiAccordionSummary-content": { margin: 0, width: "100%" }
|
|
12280
12429
|
},
|
|
12281
|
-
children: /* @__PURE__ */
|
|
12430
|
+
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
12431
|
active && /* @__PURE__ */ jsx114(Icon, { name: "loader", className: "size-3 shrink-0 animate-spin [animation-duration:0.6s]" }),
|
|
12283
12432
|
/* @__PURE__ */ jsx114("span", { className: "text-xs font-medium", children: label }),
|
|
12284
12433
|
/* @__PURE__ */ jsx114(
|
|
@@ -12301,7 +12450,7 @@ function ToolGroupCard({
|
|
|
12301
12450
|
}
|
|
12302
12451
|
|
|
12303
12452
|
// src/atoms/UserMessageActionBar.tsx
|
|
12304
|
-
import { jsx as jsx115, jsxs as
|
|
12453
|
+
import { jsx as jsx115, jsxs as jsxs84 } from "react/jsx-runtime";
|
|
12305
12454
|
var actionBtnClass2 = "h-6 w-6 text-text-secondary hover:text-text-primary [&_svg]:size-3.5";
|
|
12306
12455
|
function UserMessageActionBar({
|
|
12307
12456
|
isCopied,
|
|
@@ -12314,7 +12463,7 @@ function UserMessageActionBar({
|
|
|
12314
12463
|
className
|
|
12315
12464
|
}) {
|
|
12316
12465
|
const MessageTimestamp2 = useSlot("MessageTimestamp");
|
|
12317
|
-
return /* @__PURE__ */
|
|
12466
|
+
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
12467
|
/* @__PURE__ */ jsx115(MessageTimestamp2, { createdAt, className: "mr-1" }),
|
|
12319
12468
|
/* @__PURE__ */ jsx115(
|
|
12320
12469
|
IconButton,
|
|
@@ -12345,9 +12494,9 @@ function UserMessageActionBar({
|
|
|
12345
12494
|
}
|
|
12346
12495
|
|
|
12347
12496
|
// src/atoms/UserMessageBubble.tsx
|
|
12348
|
-
import { jsx as jsx116, jsxs as
|
|
12497
|
+
import { jsx as jsx116, jsxs as jsxs85 } from "react/jsx-runtime";
|
|
12349
12498
|
function UserMessageBubble({ text, attachments, editAction, className }) {
|
|
12350
|
-
return /* @__PURE__ */
|
|
12499
|
+
return /* @__PURE__ */ jsxs85(
|
|
12351
12500
|
"div",
|
|
12352
12501
|
{
|
|
12353
12502
|
"data-slot": "aui_user-message-root",
|
|
@@ -12371,10 +12520,10 @@ function UserMessageBubble({ text, attachments, editAction, className }) {
|
|
|
12371
12520
|
|
|
12372
12521
|
// src/atoms/UserMessageEdit.tsx
|
|
12373
12522
|
import { forwardRef as forwardRef4 } from "react";
|
|
12374
|
-
import { jsx as jsx117, jsxs as
|
|
12523
|
+
import { jsx as jsx117, jsxs as jsxs86 } from "react/jsx-runtime";
|
|
12375
12524
|
var UserMessageEdit = forwardRef4(
|
|
12376
12525
|
function UserMessageEdit2({ timestamp, attachments, input, footer, className, ...rest }, ref) {
|
|
12377
|
-
return /* @__PURE__ */
|
|
12526
|
+
return /* @__PURE__ */ jsxs86(
|
|
12378
12527
|
"div",
|
|
12379
12528
|
{
|
|
12380
12529
|
ref,
|
|
@@ -12382,7 +12531,7 @@ var UserMessageEdit = forwardRef4(
|
|
|
12382
12531
|
className: cn("flex flex-col gap-2 w-full", className),
|
|
12383
12532
|
...rest,
|
|
12384
12533
|
children: [
|
|
12385
|
-
(timestamp || attachments) && /* @__PURE__ */
|
|
12534
|
+
(timestamp || attachments) && /* @__PURE__ */ jsxs86("div", { className: "flex items-center gap-2 text-sm text-text-secondary", children: [
|
|
12386
12535
|
/* @__PURE__ */ jsx117("span", { className: "font-medium text-text-primary", children: "User" }),
|
|
12387
12536
|
timestamp
|
|
12388
12537
|
] }),
|
|
@@ -12396,12 +12545,12 @@ var UserMessageEdit = forwardRef4(
|
|
|
12396
12545
|
);
|
|
12397
12546
|
|
|
12398
12547
|
// src/atoms/WelcomeScreen.tsx
|
|
12399
|
-
import { jsx as jsx118, jsxs as
|
|
12548
|
+
import { jsx as jsx118, jsxs as jsxs87 } from "react/jsx-runtime";
|
|
12400
12549
|
function WelcomeScreen({ heading = "How can I help you today?", icon, className }) {
|
|
12401
12550
|
const preset = useOptionalThemePreset();
|
|
12402
12551
|
const BrandLogo2 = useSlot("BrandLogo");
|
|
12403
12552
|
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__ */
|
|
12553
|
+
return /* @__PURE__ */ jsxs87(
|
|
12405
12554
|
"div",
|
|
12406
12555
|
{
|
|
12407
12556
|
"data-preset": preset,
|
|
@@ -14245,7 +14394,7 @@ function UserMessageContainer() {
|
|
|
14245
14394
|
}
|
|
14246
14395
|
|
|
14247
14396
|
// src/containers/AgentSessionTimelineContainer.tsx
|
|
14248
|
-
import { Fragment as Fragment21, jsx as jsx132, jsxs as
|
|
14397
|
+
import { Fragment as Fragment21, jsx as jsx132, jsxs as jsxs88 } from "react/jsx-runtime";
|
|
14249
14398
|
var READ_ONLY_SLOT_OVERRIDES = {
|
|
14250
14399
|
UserMessageActionBar: () => /* @__PURE__ */ jsx132(Fragment21, {}),
|
|
14251
14400
|
MessageActionBar: () => /* @__PURE__ */ jsx132(Fragment21, {})
|
|
@@ -14359,8 +14508,8 @@ function AgentSessionTimelineContainer({ sessionId, events, listMetrics }) {
|
|
|
14359
14508
|
if (messages.length === 0 && turnViews.length === 0) {
|
|
14360
14509
|
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
14510
|
}
|
|
14362
|
-
return /* @__PURE__ */
|
|
14363
|
-
/* @__PURE__ */
|
|
14511
|
+
return /* @__PURE__ */ jsxs88("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden", children: [
|
|
14512
|
+
/* @__PURE__ */ jsxs88("div", { className: "shrink-0 border-b border-border", children: [
|
|
14364
14513
|
/* @__PURE__ */ jsx132(AgentSessionMetricsStrip2, { metrics: sessionMetrics }),
|
|
14365
14514
|
/* @__PURE__ */ jsx132(Suspense3, { fallback: null, children: /* @__PURE__ */ jsx132(AgentSessionEventTimeline2, { turns: turnViews, segments: timelineSegments, onSelectTurn: handleSelectTurn }) })
|
|
14366
14515
|
] }),
|
|
@@ -14388,7 +14537,7 @@ function SessionTurnSection({
|
|
|
14388
14537
|
if (!turn.showHeader && messages.length === 0) {
|
|
14389
14538
|
return null;
|
|
14390
14539
|
}
|
|
14391
|
-
return /* @__PURE__ */
|
|
14540
|
+
return /* @__PURE__ */ jsxs88("section", { ref: onMount, id: `session-turn-${turn.turnNumber}`, className: "flex flex-col gap-2", children: [
|
|
14392
14541
|
turn.showHeader ? /* @__PURE__ */ jsx132(
|
|
14393
14542
|
AgentSessionTurnHeader2,
|
|
14394
14543
|
{
|
|
@@ -14406,28 +14555,28 @@ function SessionTurnSection({
|
|
|
14406
14555
|
}
|
|
14407
14556
|
|
|
14408
14557
|
// src/theme/defaultSlots.ts
|
|
14409
|
-
var AgentOverview = lazy(() => import("./AgentOverview-
|
|
14558
|
+
var AgentOverview = lazy(() => import("./AgentOverview-WC7WMNMS.js"));
|
|
14410
14559
|
var AgentSessions = lazy(async () => {
|
|
14411
|
-
const mod = await import("./AgentSessions-
|
|
14560
|
+
const mod = await import("./AgentSessions-YCAPM5GK.js");
|
|
14412
14561
|
return { default: mod.AgentSessions };
|
|
14413
14562
|
});
|
|
14414
14563
|
var AgentCodeSnippets = lazy(
|
|
14415
|
-
() => import("./AgentCodeSnippets-
|
|
14564
|
+
() => import("./AgentCodeSnippets-T7PR6PDP.js")
|
|
14416
14565
|
);
|
|
14417
14566
|
var SchedulesPage = lazy(async () => {
|
|
14418
|
-
const mod = await import("./SchedulesPage-
|
|
14567
|
+
const mod = await import("./SchedulesPage-2G6F4XO6.js");
|
|
14419
14568
|
return { default: mod.SchedulesPage };
|
|
14420
14569
|
});
|
|
14421
14570
|
var AgentSessionEventTimeline = lazy(async () => {
|
|
14422
|
-
const mod = await import("./AgentSessionEventTimeline-
|
|
14571
|
+
const mod = await import("./AgentSessionEventTimeline-SETKGGCI.js");
|
|
14423
14572
|
return { default: mod.AgentSessionEventTimeline };
|
|
14424
14573
|
});
|
|
14425
14574
|
var AgentSessionEventTimelineChart = lazy(async () => {
|
|
14426
|
-
const mod = await import("./AgentSessionEventTimelineChart-
|
|
14575
|
+
const mod = await import("./AgentSessionEventTimelineChart-4Y7PY5SJ.js");
|
|
14427
14576
|
return { default: mod.AgentSessionEventTimelineChart };
|
|
14428
14577
|
});
|
|
14429
14578
|
var AgentMetricChart = lazy(async () => {
|
|
14430
|
-
const mod = await import("./AgentMetricChart-
|
|
14579
|
+
const mod = await import("./AgentMetricChart-J3RCSCAG.js");
|
|
14431
14580
|
return { default: mod.AgentMetricChart };
|
|
14432
14581
|
});
|
|
14433
14582
|
var defaultSlots = {
|
|
@@ -14649,6 +14798,9 @@ export {
|
|
|
14649
14798
|
getSessionEventLabel,
|
|
14650
14799
|
getSessionEventTooltipHeading,
|
|
14651
14800
|
auiInputClass,
|
|
14801
|
+
auiSelectTriggerClass,
|
|
14802
|
+
auiSelectMenuClass,
|
|
14803
|
+
auiSelectOptionClass,
|
|
14652
14804
|
PopoverSelect,
|
|
14653
14805
|
AgentSessionsFilters,
|
|
14654
14806
|
SessionsPage,
|
|
@@ -14797,4 +14949,4 @@ export {
|
|
|
14797
14949
|
UserMessageContainer,
|
|
14798
14950
|
defaultSlots
|
|
14799
14951
|
};
|
|
14800
|
-
//# sourceMappingURL=chunk-
|
|
14952
|
+
//# sourceMappingURL=chunk-XANC4F2H.js.map
|