@stigmer/react 0.0.56 → 0.0.57
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/execution/ApprovalCard.d.ts.map +1 -1
- package/execution/ApprovalCard.js +1 -1
- package/execution/ApprovalCard.js.map +1 -1
- package/execution/ArtifactsWidget.d.ts +1 -1
- package/execution/ArtifactsWidget.js +1 -1
- package/execution/ExecutionProgress.d.ts.map +1 -1
- package/execution/ExecutionProgress.js +2 -59
- package/execution/ExecutionProgress.js.map +1 -1
- package/execution/MessageThread.d.ts.map +1 -1
- package/execution/MessageThread.js +31 -6
- package/execution/MessageThread.js.map +1 -1
- package/execution/SubAgentSection.d.ts +25 -4
- package/execution/SubAgentSection.d.ts.map +1 -1
- package/execution/SubAgentSection.js +70 -11
- package/execution/SubAgentSection.js.map +1 -1
- package/execution/TodoList.d.ts +42 -0
- package/execution/TodoList.d.ts.map +1 -0
- package/execution/TodoList.js +108 -0
- package/execution/TodoList.js.map +1 -0
- package/execution/ToolCallItem.js +1 -1
- package/execution/ToolCallItem.js.map +1 -1
- package/execution/UsageWidget.d.ts +57 -0
- package/execution/UsageWidget.d.ts.map +1 -0
- package/execution/UsageWidget.js +72 -0
- package/execution/UsageWidget.js.map +1 -0
- package/execution/index.d.ts +4 -4
- package/execution/index.d.ts.map +1 -1
- package/execution/index.js +2 -2
- package/execution/index.js.map +1 -1
- package/execution/useExecutionArtifacts.d.ts +1 -1
- package/execution/useExecutionArtifacts.js +1 -1
- package/index.d.ts +4 -4
- package/index.d.ts.map +1 -1
- package/index.js +2 -2
- package/index.js.map +1 -1
- package/package.json +4 -4
- package/session/index.d.ts +2 -0
- package/session/index.d.ts.map +1 -1
- package/session/index.js +1 -0
- package/session/index.js.map +1 -1
- package/session/useSessionUsage.d.ts +65 -0
- package/session/useSessionUsage.d.ts.map +1 -0
- package/session/useSessionUsage.js +107 -0
- package/session/useSessionUsage.js.map +1 -0
- package/src/execution/ApprovalCard.tsx +7 -13
- package/src/execution/ArtifactsWidget.tsx +1 -1
- package/src/execution/ExecutionProgress.tsx +2 -134
- package/src/execution/MessageThread.tsx +39 -6
- package/src/execution/SubAgentSection.tsx +323 -16
- package/src/execution/TodoList.tsx +202 -0
- package/src/execution/ToolCallItem.tsx +1 -1
- package/src/execution/{ExecutionCostSummary.tsx → UsageWidget.tsx} +43 -50
- package/src/execution/index.ts +10 -4
- package/src/execution/useExecutionArtifacts.ts +1 -1
- package/src/index.ts +12 -5
- package/src/session/index.ts +6 -0
- package/src/session/useSessionUsage.ts +159 -0
- package/styles.css +1 -1
- package/execution/ExecutionCostSummary.d.ts +0 -47
- package/execution/ExecutionCostSummary.d.ts.map +0 -1
- package/execution/ExecutionCostSummary.js +0 -77
- package/execution/ExecutionCostSummary.js.map +0 -1
- package/execution/__tests__/ExecutionCostSummary.test.d.ts +0 -2
- package/execution/__tests__/ExecutionCostSummary.test.d.ts.map +0 -1
- package/execution/__tests__/ExecutionCostSummary.test.js +0 -255
- package/execution/__tests__/ExecutionCostSummary.test.js.map +0 -1
- package/execution/__tests__/useExecutionUsage.test.d.ts +0 -2
- package/execution/__tests__/useExecutionUsage.test.d.ts.map +0 -1
- package/execution/__tests__/useExecutionUsage.test.js +0 -303
- package/execution/__tests__/useExecutionUsage.test.js.map +0 -1
- package/execution/useExecutionUsage.d.ts +0 -45
- package/execution/useExecutionUsage.d.ts.map +0 -1
- package/execution/useExecutionUsage.js +0 -157
- package/execution/useExecutionUsage.js.map +0 -1
- package/src/execution/__tests__/ExecutionCostSummary.test.tsx +0 -416
- package/src/execution/__tests__/useExecutionUsage.test.tsx +0 -408
- package/src/execution/useExecutionUsage.ts +0 -213
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalCard.d.ts","sourceRoot":"","sources":["../../src/execution/ApprovalCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAS9F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,eAAe,EACf,QAAQ,EACR,YAAoB,EACpB,SAAS,GACV,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ApprovalCard.d.ts","sourceRoot":"","sources":["../../src/execution/ApprovalCard.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AACxG,OAAO,EAAE,cAAc,EAAE,MAAM,8DAA8D,CAAC;AAS9F,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,mEAAmE;IACnE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,eAAe,EACf,QAAQ,EACR,YAAoB,EACpB,SAAS,GACV,EAAE,iBAAiB,2CAgJnB"}
|
|
@@ -61,7 +61,7 @@ export function ApprovalCard({ pendingApproval, onSubmit, isSubmitting = false,
|
|
|
61
61
|
const borderClass = categoryInfo.category === "delete"
|
|
62
62
|
? "border-destructive/30 bg-destructive/5"
|
|
63
63
|
: "border-warning/30 bg-warning/5";
|
|
64
|
-
return (_jsxs("div", { role: "alert", "aria-label": `Approval required for ${pendingApproval.toolName}`, className: cn("rounded-lg border", borderClass, className), children: [_jsxs("div", { className: cn("flex items-center gap-2 px-2.5 py-1.5 text-xs", "border-b border-border/30"), children: [_jsx("span", { className: "shrink-0 text-warning", "aria-hidden": "true", children: _jsx(CategoryIcon, {}) }), _jsxs("span", { className: "min-w-0 flex-1 flex items-baseline gap-1.5 overflow-hidden", children: [_jsx("span", { className: "shrink-0 font-medium text-foreground", children: categoryInfo.label }), primaryArg && (_jsx("span", { className: "min-w-0 truncate font-mono text-muted-foreground", children: primaryArg }))] }), _jsx(WaitingDuration, { requestedAt: pendingApproval.requestedAt }), _jsx("span", { className: "shrink-0 text-warning", "aria-hidden": "true", children: _jsx(ClockIcon, {}) })] }), _jsxs("div", { className: "px-3 py-2.5 space-y-2", children: [pendingApproval.
|
|
64
|
+
return (_jsxs("div", { role: "alert", "aria-label": `Approval required for ${pendingApproval.toolName}`, className: cn("rounded-lg border", borderClass, className), children: [_jsxs("div", { className: cn("flex items-center gap-2 px-2.5 py-1.5 text-xs", "border-b border-border/30"), children: [_jsx("span", { className: "shrink-0 text-warning", "aria-hidden": "true", children: _jsx(CategoryIcon, {}) }), _jsxs("span", { className: "min-w-0 flex-1 flex items-baseline gap-1.5 overflow-hidden", children: [_jsx("span", { className: "shrink-0 font-medium text-foreground", children: categoryInfo.label }), primaryArg && (_jsx("span", { className: "min-w-0 truncate font-mono text-muted-foreground", children: primaryArg }))] }), pendingApproval.fromSubAgent && pendingApproval.subAgentName && (_jsxs("span", { className: "shrink-0 rounded bg-muted px-1 py-0.5 font-mono text-muted-foreground", children: ["via ", pendingApproval.subAgentSubject || pendingApproval.subAgentName] })), _jsx(WaitingDuration, { requestedAt: pendingApproval.requestedAt }), _jsx("span", { className: "shrink-0 text-warning", "aria-hidden": "true", children: _jsx(ClockIcon, {}) })] }), _jsxs("div", { className: "px-3 py-2.5 space-y-2", children: [pendingApproval.message && categoryInfo.category !== "shell" && (_jsx("p", { className: "text-xs text-foreground", children: pendingApproval.message })), parsedArgs && (_jsx(ToolArgsView, { toolName: pendingApproval.toolName, args: parsedArgs, mcpServerSlug: pendingApproval.mcpServerSlug })), _jsxs("div", { className: "flex items-center gap-2 pt-1", children: [_jsx(ActionButton, { label: "Approve", action: ApprovalAction.APPROVE, activeAction: activeAction, isSubmitting: isSubmitting, onClick: handleAction, variant: "approve" }), _jsx(ActionButton, { label: "Skip", action: ApprovalAction.SKIP, activeAction: activeAction, isSubmitting: isSubmitting, onClick: handleAction, variant: "skip" }), _jsx(ActionButton, { label: "Reject", action: ApprovalAction.REJECT, activeAction: activeAction, isSubmitting: isSubmitting, onClick: handleAction, variant: "reject" })] })] })] }));
|
|
65
65
|
}
|
|
66
66
|
// ---------------------------------------------------------------------------
|
|
67
67
|
// Internal sub-components
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApprovalCard.js","sourceRoot":"","sources":["../../src/execution/ApprovalCard.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ApprovalCard.js","sourceRoot":"","sources":["../../src/execution/ApprovalCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -39,7 +39,7 @@ export interface ArtifactsWidgetProps {
|
|
|
39
39
|
*
|
|
40
40
|
* Returns `null` when the executions list is empty or no execution
|
|
41
41
|
* has artifacts, matching the conditional-render pattern of
|
|
42
|
-
* {@link ExecutionProgress} and {@link
|
|
42
|
+
* {@link ExecutionProgress} and {@link UsageWidget}.
|
|
43
43
|
*
|
|
44
44
|
* Renders without card chrome — each {@link ArtifactCard} provides its
|
|
45
45
|
* own border and padding. The consumer controls the container styling
|
|
@@ -21,7 +21,7 @@ import { ArtifactPreviewModal } from "./ArtifactPreviewModal";
|
|
|
21
21
|
*
|
|
22
22
|
* Returns `null` when the executions list is empty or no execution
|
|
23
23
|
* has artifacts, matching the conditional-render pattern of
|
|
24
|
-
* {@link ExecutionProgress} and {@link
|
|
24
|
+
* {@link ExecutionProgress} and {@link UsageWidget}.
|
|
25
25
|
*
|
|
26
26
|
* Renders without card chrome — each {@link ArtifactCard} provides its
|
|
27
27
|
* own border and padding. The consumer controls the container styling
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionProgress.d.ts","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ExecutionProgress.d.ts","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAKlG,MAAM,WAAW,sBAAsB;IACrC,wEAAwE;IACxE,QAAQ,CAAC,SAAS,EAAE,cAAc,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,GACV,EAAE,sBAAsB,kDAkBxB"}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useMemo } from "react";
|
|
4
|
-
import { TodoStatus } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
5
3
|
import { cn } from "@stigmer/theme";
|
|
6
4
|
import { ExecutionPhaseBadge } from "./ExecutionPhaseBadge";
|
|
7
|
-
|
|
8
|
-
[TodoStatus.TODO_IN_PROGRESS, 0],
|
|
9
|
-
[TodoStatus.TODO_PENDING, 1],
|
|
10
|
-
[TodoStatus.TODO_COMPLETED, 2],
|
|
11
|
-
[TodoStatus.TODO_CANCELLED, 3],
|
|
12
|
-
]);
|
|
13
|
-
function todoSortKey(item) {
|
|
14
|
-
return STATUS_SORT_ORDER.get(item.status) ?? 4;
|
|
15
|
-
}
|
|
5
|
+
import { TodoList } from "./TodoList";
|
|
16
6
|
/**
|
|
17
7
|
* Displays execution lifecycle phase and, when present, the agent's
|
|
18
8
|
* todo checklist showing multi-step task progress.
|
|
@@ -44,53 +34,6 @@ export function ExecutionProgress({ execution, className, }) {
|
|
|
44
34
|
if (phase === undefined)
|
|
45
35
|
return null;
|
|
46
36
|
const todos = execution.status?.todos;
|
|
47
|
-
|
|
48
|
-
if (!todos)
|
|
49
|
-
return [];
|
|
50
|
-
const items = Object.values(todos);
|
|
51
|
-
if (items.length === 0)
|
|
52
|
-
return [];
|
|
53
|
-
return items.slice().sort((a, b) => todoSortKey(a) - todoSortKey(b));
|
|
54
|
-
}, [todos]);
|
|
55
|
-
return (_jsxs("div", { className: cn("flex flex-col gap-2", className), role: "region", "aria-label": "Execution progress", children: [_jsx(ExecutionPhaseBadge, { phase: phase }), sortedTodos.length > 0 && (_jsx("ul", { role: "list", className: "flex flex-col gap-1", "aria-label": "Tasks", children: sortedTodos.map((item) => (_jsx(TodoRow, { item: item }, item.id))) }))] }));
|
|
56
|
-
}
|
|
57
|
-
// ---------------------------------------------------------------------------
|
|
58
|
-
// Internal sub-components
|
|
59
|
-
// ---------------------------------------------------------------------------
|
|
60
|
-
function TodoRow({ item }) {
|
|
61
|
-
const Icon = TODO_ICONS[item.status] ?? TodoPendingIcon;
|
|
62
|
-
const colorClass = TODO_COLORS[item.status] ?? "text-muted-foreground";
|
|
63
|
-
const cancelled = item.status === TodoStatus.TODO_CANCELLED;
|
|
64
|
-
return (_jsxs("li", { className: "flex items-start gap-1.5 text-xs", children: [_jsx("span", { className: cn("mt-0.5 shrink-0", colorClass), "aria-hidden": "true", children: _jsx(Icon, {}) }), _jsx("span", { className: cn("min-w-0 break-words", cancelled ? "text-muted-foreground line-through" : "text-foreground"), children: item.content })] }));
|
|
65
|
-
}
|
|
66
|
-
// ---------------------------------------------------------------------------
|
|
67
|
-
// Status icon mapping
|
|
68
|
-
// ---------------------------------------------------------------------------
|
|
69
|
-
const TODO_ICONS = {
|
|
70
|
-
[TodoStatus.TODO_PENDING]: TodoPendingIcon,
|
|
71
|
-
[TodoStatus.TODO_IN_PROGRESS]: TodoInProgressIcon,
|
|
72
|
-
[TodoStatus.TODO_COMPLETED]: TodoCompletedIcon,
|
|
73
|
-
[TodoStatus.TODO_CANCELLED]: TodoCancelledIcon,
|
|
74
|
-
};
|
|
75
|
-
const TODO_COLORS = {
|
|
76
|
-
[TodoStatus.TODO_PENDING]: "text-muted-foreground",
|
|
77
|
-
[TodoStatus.TODO_IN_PROGRESS]: "text-foreground",
|
|
78
|
-
[TodoStatus.TODO_COMPLETED]: "text-success",
|
|
79
|
-
[TodoStatus.TODO_CANCELLED]: "text-muted-foreground",
|
|
80
|
-
};
|
|
81
|
-
// ---------------------------------------------------------------------------
|
|
82
|
-
// Inline SVG icons — no external icon dependency in SDK
|
|
83
|
-
// ---------------------------------------------------------------------------
|
|
84
|
-
function TodoPendingIcon() {
|
|
85
|
-
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", children: _jsx("circle", { cx: "6", cy: "6", r: "4.5" }) }));
|
|
86
|
-
}
|
|
87
|
-
function TodoInProgressIcon() {
|
|
88
|
-
return (_jsxs("span", { className: "relative flex h-3 w-3 items-center justify-center", children: [_jsx("span", { className: "absolute inline-flex h-2 w-2 animate-ping rounded-full bg-current opacity-75" }), _jsx("span", { className: "relative inline-flex h-2 w-2 rounded-full bg-current" })] }));
|
|
89
|
-
}
|
|
90
|
-
function TodoCompletedIcon() {
|
|
91
|
-
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M2.5 6L5 8.5L9.5 3.5" }) }));
|
|
92
|
-
}
|
|
93
|
-
function TodoCancelledIcon() {
|
|
94
|
-
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M3 3L9 9M9 3L3 9" }) }));
|
|
37
|
+
return (_jsxs("div", { className: cn("flex flex-col gap-2", className), role: "region", "aria-label": "Execution progress", children: [_jsx(ExecutionPhaseBadge, { phase: phase }), todos && _jsx(TodoList, { todos: todos })] }));
|
|
95
38
|
}
|
|
96
39
|
//# sourceMappingURL=ExecutionProgress.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExecutionProgress.js","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"ExecutionProgress.js","sourceRoot":"","sources":["../../src/execution/ExecutionProgress.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAQtC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,SAAS,GACc;IACvB,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAC;IAE5B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAErC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC;IAEtC,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,EAC/C,IAAI,EAAC,QAAQ,gBACF,oBAAoB,aAE/B,KAAC,mBAAmB,IAAC,KAAK,EAAE,KAAK,GAAI,EACpC,KAAK,IAAI,KAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,GAAI,IAChC,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageThread.d.ts","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAI9G,OAAO,EACL,cAAc,EAGf,MAAM,8DAA8D,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageThread.d.ts","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6DAA6D,CAAC;AAClG,OAAO,KAAK,EAAgB,QAAQ,EAAE,MAAM,iEAAiE,CAAC;AAI9G,OAAO,EACL,cAAc,EAGf,MAAM,8DAA8D,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4DAA4D,CAAC;AAUjG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACvD;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,KAAK,MAAM,CAAC;IAC5E;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAC1B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,cAAc,EACtB,OAAO,CAAC,EAAE,MAAM,KACb,IAAI,CAAC;IACV;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrD;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACpD;;;;;;;OAOG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,KACzB,IAAI,CAAC;IACV;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CACxC;AA4KD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,SAAS,EACT,qBAAqB,EACrB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,oBAAoB,GACrB,EAAE,kBAAkB,2CA0HpB"}
|
|
@@ -8,6 +8,7 @@ import { cn } from "@stigmer/theme";
|
|
|
8
8
|
import { isTerminalPhase } from "./execution-phases";
|
|
9
9
|
import { MessageEntry } from "./MessageEntry";
|
|
10
10
|
import { ToolCallGroup } from "./ToolCallGroup";
|
|
11
|
+
import { SubAgentSection } from "./SubAgentSection";
|
|
11
12
|
import { ExecutionPhaseBadge } from "./ExecutionPhaseBadge";
|
|
12
13
|
import { SetupProgress } from "./SetupProgress";
|
|
13
14
|
import { ApprovalCard } from "./ApprovalCard";
|
|
@@ -56,12 +57,34 @@ function buildThreadItems(executions, activeStreamExecution, pendingUserMessage,
|
|
|
56
57
|
}
|
|
57
58
|
if (msg.type === MessageType.MESSAGE_AI &&
|
|
58
59
|
msg.toolCalls.length > 0) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
60
|
+
const regularTools = [];
|
|
61
|
+
const taskTools = [];
|
|
62
|
+
for (const tc of msg.toolCalls) {
|
|
63
|
+
if (tc.name === "task") {
|
|
64
|
+
taskTools.push(tc);
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
regularTools.push(tc);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
if (regularTools.length > 0) {
|
|
71
|
+
items.push({
|
|
72
|
+
kind: "tool-group",
|
|
73
|
+
toolCalls: regularTools,
|
|
74
|
+
subAgentExecutions: subAgents,
|
|
75
|
+
key: `e${ei}-m${mi}-tc`,
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
for (let ti = 0; ti < taskTools.length; ti++) {
|
|
79
|
+
const matched = subAgents.find((sa) => sa.id === taskTools[ti].id);
|
|
80
|
+
if (matched) {
|
|
81
|
+
items.push({
|
|
82
|
+
kind: "sub-agent",
|
|
83
|
+
subAgentExecution: matched,
|
|
84
|
+
key: `e${ei}-m${mi}-sa${ti}`,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
}
|
|
65
88
|
}
|
|
66
89
|
}
|
|
67
90
|
}
|
|
@@ -166,6 +189,8 @@ export function MessageThread({ executions, activeStreamExecution, pendingUserMe
|
|
|
166
189
|
return _jsx(MessageEntry, { message: item.message }, item.key);
|
|
167
190
|
case "tool-group":
|
|
168
191
|
return (_jsx(ToolCallGroup, { toolCalls: item.toolCalls, subAgentExecutions: item.subAgentExecutions, formatSummary: formatToolCallSummary, className: "mx-4" }, item.key));
|
|
192
|
+
case "sub-agent":
|
|
193
|
+
return (_jsx(SubAgentSection, { subAgentExecution: item.subAgentExecution, className: "mx-4" }, item.key));
|
|
169
194
|
case "phase-badge":
|
|
170
195
|
return (_jsx("div", { className: "flex justify-center py-3", children: _jsx(ExecutionPhaseBadge, { phase: item.phase }) }, item.key));
|
|
171
196
|
case "approval-request":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageThread.js","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iEAAiE,CAAC;AAGrG,OAAO,EAEL,cAAc,EACd,WAAW,GACZ,MAAM,8DAA8D,CAAC;AAEtE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAA6B,MAAM,mBAAmB,CAAC;AAE/E,OAAO,EAAE,cAAc,EAA4B,MAAM,kBAAkB,CAAC;AA6E5E,MAAM,wBAAwB,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"MessageThread.js","sourceRoot":"","sources":["../../src/execution/MessageThread.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,44 @@
|
|
|
1
1
|
import type { SubAgentExecution } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/subagent_pb";
|
|
2
2
|
export interface SubAgentSectionProps {
|
|
3
3
|
readonly subAgentExecution: SubAgentExecution;
|
|
4
|
+
/**
|
|
5
|
+
* Whether to render as a collapsible card with expand/collapse
|
|
6
|
+
* toggle. Defaults to `true`.
|
|
7
|
+
*
|
|
8
|
+
* Set to `false` when rendered inside a parent that already
|
|
9
|
+
* provides its own expand/collapse (e.g. {@link ToolCallItem}).
|
|
10
|
+
*/
|
|
11
|
+
readonly collapsible?: boolean;
|
|
4
12
|
readonly className?: string;
|
|
5
13
|
}
|
|
6
14
|
/**
|
|
7
15
|
* Renders a sub-agent execution as a nested mini-thread inside the
|
|
8
16
|
* parent conversation.
|
|
9
17
|
*
|
|
18
|
+
* When `collapsible` is `true` (default), the component renders as a
|
|
19
|
+
* bordered card with a clickable summary row. Cards start collapsed
|
|
20
|
+
* — the summary row shows status, subject, and duration at a glance.
|
|
21
|
+
* Users click to expand and see the nested messages and tool calls.
|
|
22
|
+
*
|
|
23
|
+
* Visually distinguished from {@link ToolCallGroup} via a left
|
|
24
|
+
* accent border and bot icon, signaling delegated sub-agent work.
|
|
25
|
+
*
|
|
26
|
+
* When `collapsible` is `false`, the component renders flat content
|
|
27
|
+
* without a toggle — suitable for embedding inside a parent that
|
|
28
|
+
* already provides expand/collapse (e.g. {@link ToolCallItem}).
|
|
29
|
+
*
|
|
10
30
|
* Composes {@link MessageEntry} and {@link ToolCallGroup} to display
|
|
11
31
|
* the sub-agent's internal messages and tool calls — the same
|
|
12
32
|
* building blocks used by the top-level {@link MessageThread}.
|
|
13
33
|
*
|
|
14
|
-
* Visually distinguished from the parent thread via a left border
|
|
15
|
-
* and subtle background.
|
|
16
|
-
*
|
|
17
34
|
* @example
|
|
18
35
|
* ```tsx
|
|
36
|
+
* // Standalone collapsible card (default)
|
|
19
37
|
* <SubAgentSection subAgentExecution={sub} />
|
|
38
|
+
*
|
|
39
|
+
* // Flat layout inside a parent expand/collapse
|
|
40
|
+
* <SubAgentSection subAgentExecution={sub} collapsible={false} />
|
|
20
41
|
* ```
|
|
21
42
|
*/
|
|
22
|
-
export declare function SubAgentSection({ subAgentExecution: sub, className, }: SubAgentSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
43
|
+
export declare function SubAgentSection({ subAgentExecution: sub, collapsible, className, }: SubAgentSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
23
44
|
//# sourceMappingURL=SubAgentSection.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubAgentSection.d.ts","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SubAgentSection.d.ts","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AAkB1G,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,eAAe,CAAC,EAC9B,iBAAiB,EAAE,GAAG,EACtB,WAAkB,EAClB,SAAS,GACV,EAAE,oBAAoB,2CAkCtB"}
|
|
@@ -1,40 +1,84 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
|
+
import { useMemo, useState } from "react";
|
|
3
4
|
import { MessageType, SubAgentStatus, } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/enum_pb";
|
|
4
5
|
import { cn } from "@stigmer/theme";
|
|
5
6
|
import { formatDuration } from "./ToolCallDetail";
|
|
6
7
|
import { MessageEntry } from "./MessageEntry";
|
|
7
8
|
import { ToolCallGroup } from "./ToolCallGroup";
|
|
9
|
+
import { TodoList, TodoInProgressIcon, findActiveTodo, todoCompletionSummary, } from "./TodoList";
|
|
8
10
|
/**
|
|
9
11
|
* Renders a sub-agent execution as a nested mini-thread inside the
|
|
10
12
|
* parent conversation.
|
|
11
13
|
*
|
|
14
|
+
* When `collapsible` is `true` (default), the component renders as a
|
|
15
|
+
* bordered card with a clickable summary row. Cards start collapsed
|
|
16
|
+
* — the summary row shows status, subject, and duration at a glance.
|
|
17
|
+
* Users click to expand and see the nested messages and tool calls.
|
|
18
|
+
*
|
|
19
|
+
* Visually distinguished from {@link ToolCallGroup} via a left
|
|
20
|
+
* accent border and bot icon, signaling delegated sub-agent work.
|
|
21
|
+
*
|
|
22
|
+
* When `collapsible` is `false`, the component renders flat content
|
|
23
|
+
* without a toggle — suitable for embedding inside a parent that
|
|
24
|
+
* already provides expand/collapse (e.g. {@link ToolCallItem}).
|
|
25
|
+
*
|
|
12
26
|
* Composes {@link MessageEntry} and {@link ToolCallGroup} to display
|
|
13
27
|
* the sub-agent's internal messages and tool calls — the same
|
|
14
28
|
* building blocks used by the top-level {@link MessageThread}.
|
|
15
29
|
*
|
|
16
|
-
* Visually distinguished from the parent thread via a left border
|
|
17
|
-
* and subtle background.
|
|
18
|
-
*
|
|
19
30
|
* @example
|
|
20
31
|
* ```tsx
|
|
32
|
+
* // Standalone collapsible card (default)
|
|
21
33
|
* <SubAgentSection subAgentExecution={sub} />
|
|
34
|
+
*
|
|
35
|
+
* // Flat layout inside a parent expand/collapse
|
|
36
|
+
* <SubAgentSection subAgentExecution={sub} collapsible={false} />
|
|
22
37
|
* ```
|
|
23
38
|
*/
|
|
24
|
-
export function SubAgentSection({ subAgentExecution: sub, className, }) {
|
|
39
|
+
export function SubAgentSection({ subAgentExecution: sub, collapsible = true, className, }) {
|
|
25
40
|
const duration = formatDuration(sub.startedAt, sub.completedAt);
|
|
26
41
|
const statusInfo = SUB_AGENT_STATUS_MAP[sub.status];
|
|
27
|
-
const
|
|
42
|
+
const StatusIcon = statusInfo.icon;
|
|
28
43
|
const isFailed = sub.status === SubAgentStatus.SUB_AGENT_FAILED;
|
|
29
44
|
const threadItems = buildSubAgentThreadItems(sub.messages);
|
|
30
|
-
|
|
45
|
+
const displayLabel = sub.subject || sub.name;
|
|
46
|
+
if (!collapsible) {
|
|
47
|
+
return (_jsx(FlatContent, { sub: sub, statusInfo: statusInfo, StatusIcon: StatusIcon, duration: duration, isFailed: isFailed, threadItems: threadItems, className: className }));
|
|
48
|
+
}
|
|
49
|
+
return (_jsx(CollapsibleCard, { sub: sub, statusInfo: statusInfo, displayLabel: displayLabel, duration: duration, isFailed: isFailed, threadItems: threadItems, className: className }));
|
|
50
|
+
}
|
|
51
|
+
function CollapsibleCard({ sub, statusInfo, displayLabel, duration, isFailed, threadItems, className, }) {
|
|
52
|
+
const [expanded, setExpanded] = useState(false);
|
|
53
|
+
const handleToggle = () => {
|
|
54
|
+
setExpanded((v) => !v);
|
|
55
|
+
};
|
|
56
|
+
const hasTodos = sub.todos != null && Object.keys(sub.todos).length > 0;
|
|
57
|
+
const isRunning = sub.status === SubAgentStatus.SUB_AGENT_IN_PROGRESS;
|
|
58
|
+
const isCompleted = sub.status === SubAgentStatus.SUB_AGENT_COMPLETED;
|
|
59
|
+
const activeTodo = useMemo(() => findActiveTodo(sub.todos), [sub.todos]);
|
|
60
|
+
const completionLabel = useMemo(() => (isCompleted && hasTodos ? todoCompletionSummary(sub.todos) : null), [sub.todos, isCompleted, hasTodos]);
|
|
61
|
+
const collapsedPreview = isRunning && activeTodo
|
|
62
|
+
? activeTodo.content
|
|
63
|
+
: isCompleted && completionLabel
|
|
64
|
+
? completionLabel
|
|
65
|
+
: null;
|
|
66
|
+
const ariaLabel = `Sub-agent: ${displayLabel}, ${statusInfo.label}`;
|
|
67
|
+
return (_jsxs("div", { role: "group", "aria-label": ariaLabel, className: cn("rounded-md border border-border border-l-2 border-l-primary/30 bg-muted/30", className), children: [_jsxs("button", { type: "button", "aria-expanded": expanded, onClick: handleToggle, className: cn("flex w-full items-center gap-2 px-2.5 py-1.5 text-left text-xs text-muted-foreground transition-colors", "hover:bg-muted/50", "cursor-pointer"), children: [_jsx("span", { className: "shrink-0 text-primary/70", "aria-hidden": "true", children: _jsx(BotIcon, {}) }), _jsx("span", { className: "min-w-0 flex-1 truncate", children: displayLabel }), _jsx("span", { className: cn("shrink-0 rounded px-1 py-0.5 text-[10px] font-medium leading-none", statusInfo.badgeClass), children: statusInfo.label }), duration && (_jsx("span", { className: "shrink-0 tabular-nums text-muted-foreground", children: duration })), _jsx(ChevronIcon, { expanded: expanded })] }), collapsedPreview && !expanded && (_jsxs("div", { className: "flex items-center gap-1.5 px-2.5 pb-1.5 text-xs text-muted-foreground", children: [_jsx("span", { className: "ml-[20px] shrink-0", "aria-hidden": "true", children: isRunning && activeTodo ? (_jsx(TodoInProgressIcon, {})) : (_jsx(TodoCompletedSmallIcon, {})) }), _jsx("span", { className: "min-w-0 truncate", children: collapsedPreview })] })), _jsx("div", { className: cn("grid transition-[grid-template-rows] duration-150 ease-out", expanded ? "grid-rows-[1fr]" : "grid-rows-[0fr]"), children: _jsx("div", { className: "overflow-hidden", children: expanded && (_jsx("div", { className: "border-t border-border/50 px-2.5 pb-2 pt-1.5", children: _jsx(SubAgentThreadContent, { threadItems: threadItems, todos: sub.todos, isFailed: isFailed, error: sub.error }) })) }) })] }));
|
|
68
|
+
}
|
|
69
|
+
function FlatContent({ sub, statusInfo, StatusIcon, duration, isFailed, threadItems, className, }) {
|
|
70
|
+
return (_jsxs("div", { className: cn("border-l-2 border-primary/20 pl-3", className), children: [_jsxs("div", { className: "flex flex-wrap items-center gap-x-2 gap-y-1 py-1.5 text-xs", children: [_jsx("span", { className: cn("shrink-0", statusInfo.colorClass), "aria-hidden": "true", children: _jsx(StatusIcon, {}) }), _jsx("span", { className: "font-medium text-foreground", children: sub.name }), sub.subject && (_jsx("span", { className: "text-muted-foreground", children: sub.subject })), duration && (_jsx("span", { className: "tabular-nums text-muted-foreground", children: duration }))] }), _jsx(SubAgentThreadContent, { threadItems: threadItems, todos: sub.todos, isFailed: isFailed, error: sub.error })] }));
|
|
71
|
+
}
|
|
72
|
+
function SubAgentThreadContent({ threadItems, todos, isFailed, error, }) {
|
|
73
|
+
const hasTodos = todos != null && Object.keys(todos).length > 0;
|
|
74
|
+
return (_jsxs(_Fragment, { children: [hasTodos && _jsx(TodoList, { todos: todos, className: "pb-1" }), threadItems.length > 0 && (_jsx("div", { className: "flex flex-col gap-1 pb-1", children: threadItems.map((item) => {
|
|
31
75
|
switch (item.kind) {
|
|
32
76
|
case "message":
|
|
33
77
|
return (_jsx(MessageEntry, { message: item.message }, item.key));
|
|
34
78
|
case "tool-group":
|
|
35
79
|
return (_jsx(ToolCallGroup, { toolCalls: item.toolCalls }, item.key));
|
|
36
80
|
}
|
|
37
|
-
}) })), isFailed &&
|
|
81
|
+
}) })), isFailed && error && (_jsx("div", { className: "rounded-md border border-destructive/20 bg-destructive/5 px-2 py-1.5 text-xs text-destructive", children: error }))] }));
|
|
38
82
|
}
|
|
39
83
|
function buildSubAgentThreadItems(messages) {
|
|
40
84
|
const items = [];
|
|
@@ -57,31 +101,37 @@ const SUB_AGENT_STATUS_MAP = {
|
|
|
57
101
|
[SubAgentStatus.SUB_AGENT_STATUS_UNSPECIFIED]: {
|
|
58
102
|
label: "Unknown",
|
|
59
103
|
colorClass: "text-muted-foreground",
|
|
104
|
+
badgeClass: "bg-muted text-muted-foreground",
|
|
60
105
|
icon: DotIcon,
|
|
61
106
|
},
|
|
62
107
|
[SubAgentStatus.SUB_AGENT_PENDING]: {
|
|
63
108
|
label: "Pending",
|
|
64
109
|
colorClass: "text-muted-foreground",
|
|
110
|
+
badgeClass: "bg-muted text-muted-foreground",
|
|
65
111
|
icon: DotIcon,
|
|
66
112
|
},
|
|
67
113
|
[SubAgentStatus.SUB_AGENT_IN_PROGRESS]: {
|
|
68
114
|
label: "Running",
|
|
69
115
|
colorClass: "text-foreground",
|
|
116
|
+
badgeClass: "bg-muted text-foreground",
|
|
70
117
|
icon: SpinnerIcon,
|
|
71
118
|
},
|
|
72
119
|
[SubAgentStatus.SUB_AGENT_COMPLETED]: {
|
|
73
120
|
label: "Completed",
|
|
74
121
|
colorClass: "text-success",
|
|
122
|
+
badgeClass: "bg-success/15 text-success",
|
|
75
123
|
icon: CheckCircleIcon,
|
|
76
124
|
},
|
|
77
125
|
[SubAgentStatus.SUB_AGENT_FAILED]: {
|
|
78
126
|
label: "Failed",
|
|
79
127
|
colorClass: "text-destructive",
|
|
128
|
+
badgeClass: "bg-destructive/15 text-destructive",
|
|
80
129
|
icon: XCircleIcon,
|
|
81
130
|
},
|
|
82
131
|
[SubAgentStatus.SUB_AGENT_CANCELLED]: {
|
|
83
132
|
label: "Cancelled",
|
|
84
133
|
colorClass: "text-muted-foreground",
|
|
134
|
+
badgeClass: "bg-muted text-muted-foreground",
|
|
85
135
|
icon: XCircleIcon,
|
|
86
136
|
},
|
|
87
137
|
};
|
|
@@ -89,15 +139,24 @@ const SUB_AGENT_STATUS_MAP = {
|
|
|
89
139
|
// Inline SVG icons
|
|
90
140
|
// ---------------------------------------------------------------------------
|
|
91
141
|
function SpinnerIcon() {
|
|
92
|
-
return (_jsx("svg", { width: "
|
|
142
|
+
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", className: "animate-spin", children: _jsx("path", { d: "M6 1.5A4.5 4.5 0 1 1 1.5 6", strokeLinecap: "round" }) }));
|
|
93
143
|
}
|
|
94
144
|
function CheckCircleIcon() {
|
|
95
|
-
return (_jsxs("svg", { width: "
|
|
145
|
+
return (_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "6", cy: "6", r: "4.5" }), _jsx("path", { d: "M4 6L5.5 7.5L8 4.5" })] }));
|
|
96
146
|
}
|
|
97
147
|
function XCircleIcon() {
|
|
98
|
-
return (_jsxs("svg", { width: "
|
|
148
|
+
return (_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("circle", { cx: "6", cy: "6", r: "4.5" }), _jsx("path", { d: "M4.5 4.5L7.5 7.5M7.5 4.5L4.5 7.5" })] }));
|
|
99
149
|
}
|
|
100
150
|
function DotIcon() {
|
|
101
151
|
return (_jsx("svg", { width: "8", height: "8", viewBox: "0 0 8 8", fill: "currentColor", children: _jsx("circle", { cx: "4", cy: "4", r: "2.5" }) }));
|
|
102
152
|
}
|
|
153
|
+
function TodoCompletedSmallIcon() {
|
|
154
|
+
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: _jsx("path", { d: "M2.5 6L5 8.5L9.5 3.5" }) }));
|
|
155
|
+
}
|
|
156
|
+
function BotIcon() {
|
|
157
|
+
return (_jsxs("svg", { width: "12", height: "12", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", children: [_jsx("rect", { x: "2", y: "6", width: "12", height: "8", rx: "2" }), _jsx("path", { d: "M5.5 10H5.51M10.5 10H10.51", strokeWidth: "2" }), _jsx("path", { d: "M8 2V6" }), _jsx("circle", { cx: "8", cy: "1.5", r: "1" }), _jsx("path", { d: "M0.5 9.5H2M14 9.5H15.5" })] }));
|
|
158
|
+
}
|
|
159
|
+
function ChevronIcon({ expanded }) {
|
|
160
|
+
return (_jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round", className: cn("shrink-0 text-muted-foreground transition-transform duration-150", expanded && "rotate-90"), "aria-hidden": "true", children: _jsx("path", { d: "M4.5 2.5L7.5 6L4.5 9.5" }) }));
|
|
161
|
+
}
|
|
103
162
|
//# sourceMappingURL=SubAgentSection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubAgentSection.js","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;
|
|
1
|
+
{"version":3,"file":"SubAgentSection.js","sourceRoot":"","sources":["../../src/execution/SubAgentSection.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { TodoItem } from "@stigmer/protos/ai/stigmer/agentic/agentexecution/v1/todo_pb";
|
|
2
|
+
export interface TodoListProps {
|
|
3
|
+
/**
|
|
4
|
+
* Todo items keyed by ID. Accepts the proto map shape directly
|
|
5
|
+
* (`execution.status.todos` or `subAgentExecution.todos`).
|
|
6
|
+
*/
|
|
7
|
+
readonly todos: {
|
|
8
|
+
readonly [key: string]: TodoItem;
|
|
9
|
+
};
|
|
10
|
+
readonly className?: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Renders a sorted checklist of {@link TodoItem} entries.
|
|
14
|
+
*
|
|
15
|
+
* Shared by {@link ExecutionProgress} (main agent sidebar widget)
|
|
16
|
+
* and {@link SubAgentSection} (sub-agent expanded content).
|
|
17
|
+
*
|
|
18
|
+
* Items are sorted by activity: in-progress first, then pending,
|
|
19
|
+
* completed, and cancelled. Each row shows a status icon and the
|
|
20
|
+
* task description.
|
|
21
|
+
*
|
|
22
|
+
* All visual properties flow through `--stgm-*` tokens.
|
|
23
|
+
*/
|
|
24
|
+
export declare function TodoList({ todos, className }: TodoListProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
/**
|
|
26
|
+
* Returns the first in-progress todo from a todos map, or `null`.
|
|
27
|
+
* Used by {@link SubAgentSection} to show an active task preview
|
|
28
|
+
* in the collapsed summary row.
|
|
29
|
+
*/
|
|
30
|
+
export declare function findActiveTodo(todos: {
|
|
31
|
+
readonly [key: string]: TodoItem;
|
|
32
|
+
} | undefined): TodoItem | null;
|
|
33
|
+
/**
|
|
34
|
+
* Builds a compact completion summary string (e.g. "3/5 completed").
|
|
35
|
+
* Returns `null` when there are no todos.
|
|
36
|
+
*/
|
|
37
|
+
export declare function todoCompletionSummary(todos: {
|
|
38
|
+
readonly [key: string]: TodoItem;
|
|
39
|
+
} | undefined): string | null;
|
|
40
|
+
/** Exported for reuse in SubAgentSection collapsed preview. */
|
|
41
|
+
export declare function TodoInProgressIcon(): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
//# sourceMappingURL=TodoList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TodoList.d.ts","sourceRoot":"","sources":["../../src/execution/TodoList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8DAA8D,CAAC;AAI7F,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,CAAC;IACrD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAaD;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,kDAoB3D;AAMD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAAG,SAAS,GACtD,QAAQ,GAAG,IAAI,CAMjB;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;CAAE,GAAG,SAAS,GACtD,MAAM,GAAG,IAAI,CAQf;AAiED,+DAA+D;AAC/D,wBAAgB,kBAAkB,4CAOjC"}
|