@schlessera/brain-ui-react 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/activity/activity-page.d.ts +11 -0
- package/dist/components/activity/activity-page.d.ts.map +1 -0
- package/dist/components/activity/activity-page.js +243 -0
- package/dist/components/activity/activity-page.js.map +1 -0
- package/dist/components/activity/digest-card.d.ts +10 -0
- package/dist/components/activity/digest-card.d.ts.map +1 -0
- package/dist/components/activity/digest-card.js +55 -0
- package/dist/components/activity/digest-card.js.map +1 -0
- package/dist/components/activity/push-toggle.d.ts +2 -0
- package/dist/components/activity/push-toggle.d.ts.map +1 -0
- package/dist/components/activity/push-toggle.js +121 -0
- package/dist/components/activity/push-toggle.js.map +1 -0
- package/dist/components/activity/span-bits.d.ts +76 -0
- package/dist/components/activity/span-bits.d.ts.map +1 -0
- package/dist/components/activity/span-bits.js +127 -0
- package/dist/components/activity/span-bits.js.map +1 -0
- package/dist/components/chat/chat-page.d.ts.map +1 -1
- package/dist/components/chat/chat-page.js +4 -1
- package/dist/components/chat/chat-page.js.map +1 -1
- package/dist/components/chat/session-drawer.d.ts.map +1 -1
- package/dist/components/chat/session-drawer.js +1 -15
- package/dist/components/chat/session-drawer.js.map +1 -1
- package/dist/components/chat/subagent-view.d.ts +18 -0
- package/dist/components/chat/subagent-view.d.ts.map +1 -0
- package/dist/components/chat/subagent-view.js +83 -0
- package/dist/components/chat/subagent-view.js.map +1 -0
- package/dist/components/chat/tool-call-timeline.d.ts.map +1 -1
- package/dist/components/chat/tool-call-timeline.js +40 -4
- package/dist/components/chat/tool-call-timeline.js.map +1 -1
- package/dist/components/chat/tool-views.d.ts +4 -0
- package/dist/components/chat/tool-views.d.ts.map +1 -1
- package/dist/components/chat/tool-views.js +26 -0
- package/dist/components/chat/tool-views.js.map +1 -1
- package/dist/components/layout/mobile-tab-bar.d.ts.map +1 -1
- package/dist/components/layout/mobile-tab-bar.js +10 -4
- package/dist/components/layout/mobile-tab-bar.js.map +1 -1
- package/dist/components/layout/side-rail.d.ts.map +1 -1
- package/dist/components/layout/side-rail.js +7 -4
- package/dist/components/layout/side-rail.js.map +1 -1
- package/dist/components/settings/models-tab.d.ts +15 -0
- package/dist/components/settings/models-tab.d.ts.map +1 -1
- package/dist/components/settings/models-tab.js +100 -21
- package/dist/components/settings/models-tab.js.map +1 -1
- package/dist/hooks/use-now.d.ts +8 -0
- package/dist/hooks/use-now.d.ts.map +1 -0
- package/dist/hooks/use-now.js +32 -0
- package/dist/hooks/use-now.js.map +1 -0
- package/dist/hooks/use-websocket.d.ts.map +1 -1
- package/dist/hooks/use-websocket.js +46 -0
- package/dist/hooks/use-websocket.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/api-client.d.ts +67 -1
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +41 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/stores/activity-store.d.ts +108 -0
- package/dist/stores/activity-store.d.ts.map +1 -0
- package/dist/stores/activity-store.js +359 -0
- package/dist/stores/activity-store.js.map +1 -0
- package/dist/stores/ui-store.d.ts +9 -1
- package/dist/stores/ui-store.d.ts.map +1 -1
- package/dist/stores/ui-store.js +3 -0
- package/dist/stores/ui-store.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +2 -2
- package/src/components/activity/activity-page.tsx +623 -0
- package/src/components/activity/digest-card.tsx +105 -0
- package/src/components/activity/push-toggle.tsx +157 -0
- package/src/components/activity/span-bits.tsx +194 -0
- package/src/components/chat/chat-page.tsx +17 -0
- package/src/components/chat/session-drawer.tsx +1 -12
- package/src/components/chat/subagent-view.tsx +239 -0
- package/src/components/chat/tool-call-timeline.tsx +61 -3
- package/src/components/chat/tool-views.tsx +22 -0
- package/src/components/layout/mobile-tab-bar.tsx +25 -5
- package/src/components/layout/side-rail.tsx +17 -0
- package/src/components/settings/models-tab.tsx +135 -21
- package/src/hooks/use-now.ts +32 -0
- package/src/hooks/use-websocket.ts +44 -0
- package/src/index.ts +1 -0
- package/src/lib/api-client.ts +111 -0
- package/src/stores/activity-store.ts +451 -0
- package/src/stores/ui-store.ts +13 -1
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { useShallow } from "zustand/react/shallow";
|
|
4
|
+
import { isFailureOutcome, SPAN_TOOL_NAME_PREFIX } from "@schlessera/brain-ui-sdk/protocol";
|
|
5
|
+
import { useActivityStore, payloadEventsFor, loadSpanPayloads, } from "../../stores/activity-store.js";
|
|
6
|
+
import { cn } from "../../lib/utils.js";
|
|
7
|
+
import { getToolLabel } from "../chat/tool-views.js";
|
|
8
|
+
/**
|
|
9
|
+
* THE status dot for activity spans — one outcome→color mapping so every
|
|
10
|
+
* surface (timeline rows, drill-in, activity index) agrees on what a color
|
|
11
|
+
* means: running pulses primary, success is accent, failures (per
|
|
12
|
+
* `isFailureOutcome`) and denied are destructive, cancelled is muted.
|
|
13
|
+
*/
|
|
14
|
+
export function SpanStatusDot({ span, outcome, running, className, }) {
|
|
15
|
+
const resolved = span ? span.outcome : outcome;
|
|
16
|
+
const isRunning = running ?? (span !== undefined && span.outcome === undefined);
|
|
17
|
+
return (_jsx("span", { className: cn("h-1.5 w-1.5 shrink-0 rounded-full", isRunning
|
|
18
|
+
? "animate-pulse bg-primary"
|
|
19
|
+
: resolved === "success"
|
|
20
|
+
? "bg-accent"
|
|
21
|
+
: isFailureOutcome(resolved) || resolved === "denied"
|
|
22
|
+
? "bg-destructive"
|
|
23
|
+
: "bg-muted-foreground", className) }));
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Display label for a span. Prefers the server-lifted `toolName`; root spans
|
|
27
|
+
* label by kind (a turn or cron root is not a tool call); the last resort
|
|
28
|
+
* un-parses the `execute_tool` naming convention for spans recorded before
|
|
29
|
+
* the field existed.
|
|
30
|
+
*/
|
|
31
|
+
export function spanToolLabel(span) {
|
|
32
|
+
if (span.toolName)
|
|
33
|
+
return getToolLabel(span.toolName);
|
|
34
|
+
if (span.kind === "turn")
|
|
35
|
+
return "Turn";
|
|
36
|
+
if (span.kind === "cron")
|
|
37
|
+
return span.jobName ?? span.name;
|
|
38
|
+
return getToolLabel(span.name.startsWith(SPAN_TOOL_NAME_PREFIX)
|
|
39
|
+
? span.name.slice(SPAN_TOOL_NAME_PREFIX.length)
|
|
40
|
+
: span.name);
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* The recorded input/output of one tool span, expanded under its row — the
|
|
44
|
+
* ONE payload renderer shared by the subagent drill-in and the run detail.
|
|
45
|
+
* Mounted only while expanded (collapsed rows never subscribe). A span with
|
|
46
|
+
* no payload events (recorded before capture shipped) states so instead of
|
|
47
|
+
* offering an empty block (AE7); a payload clipped at persist time carries
|
|
48
|
+
* the wire `truncated` flag, rendered as a hint line under the block.
|
|
49
|
+
*/
|
|
50
|
+
export function SpanPayload({ spanId }) {
|
|
51
|
+
const events = useActivityStore(useShallow((s) => payloadEventsFor(s, spanId)));
|
|
52
|
+
// History fetches skip payload bodies (they exist for duration badges);
|
|
53
|
+
// the first expand of a finished run backfills them over REST. A no-op for
|
|
54
|
+
// live runs (payloads ride the WS deltas) and once per run thereafter.
|
|
55
|
+
useEffect(() => {
|
|
56
|
+
if (events.length === 0)
|
|
57
|
+
void loadSpanPayloads(spanId);
|
|
58
|
+
}, [spanId, events.length]);
|
|
59
|
+
if (events.length === 0) {
|
|
60
|
+
return (_jsx("p", { className: "px-2 py-1 text-[11px] text-muted-foreground/60", children: "No payload recorded for this run." }));
|
|
61
|
+
}
|
|
62
|
+
return (_jsx("div", { className: "space-y-1.5 px-2 py-1", children: events.map((event) => (_jsxs("div", { children: [_jsx("div", { className: "mb-0.5 text-[10px] uppercase text-muted-foreground/60", children: event.eventType === "tool_input" ? "Input" : "Output" }), _jsx("pre", { className: "max-h-56 overflow-auto whitespace-pre-wrap break-words rounded-md bg-background/60 p-2 font-[family-name:var(--font-mono)] text-[11px] leading-relaxed text-muted-foreground", children: typeof event.payload === "string" ? event.payload : JSON.stringify(event.payload) }), event.truncated && (_jsx("p", { className: "mt-0.5 text-[10px] italic text-muted-foreground/60", children: "\u2026 truncated" }))] }, `${event.spanId}:${event.eventIndex}`))) }));
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* THE effective-cost glyph — one three-state rule so no surface ever renders
|
|
66
|
+
* an unknown cost as $0.00 (AE3): absent/NULL is "—" (we don't know), 0 is
|
|
67
|
+
* "free" (we know — subscription-billed or genuinely zero), positive is
|
|
68
|
+
* dollars, "~"-prefixed when computed from estimated rates. Sub-cent costs
|
|
69
|
+
* floor at "<$0.01" rather than rounding down to a zero look-alike.
|
|
70
|
+
*/
|
|
71
|
+
export function formatEffectiveCost(costUsd, estimate) {
|
|
72
|
+
if (costUsd === null || costUsd === undefined)
|
|
73
|
+
return "—";
|
|
74
|
+
if (costUsd === 0)
|
|
75
|
+
return "free";
|
|
76
|
+
const amount = costUsd < 0.005 ? "<$0.01" : `$${costUsd.toFixed(2)}`;
|
|
77
|
+
return estimate ? `~${amount}` : amount;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* An aggregate's effective-cost sum. Sums exclude unknown-cost runs, so a
|
|
81
|
+
* nonzero `unpricedRuns` makes the number a floor ("≥ $X"), never a total.
|
|
82
|
+
* A known sub-cent sum floors at "<$0.01" like the per-run glyph — only an
|
|
83
|
+
* exact 0 (genuinely nothing to add up) renders "$0.00" (AE3).
|
|
84
|
+
*/
|
|
85
|
+
export function formatAggregateCost(effectiveUsd, unpricedRuns) {
|
|
86
|
+
const amount = effectiveUsd > 0 && effectiveUsd < 0.005 ? "<$0.01" : `$${effectiveUsd.toFixed(2)}`;
|
|
87
|
+
return unpricedRuns > 0 ? `≥ ${amount}` : amount;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* A run row's cost text, three-way on `effectiveCostUsd`: ABSENT means a
|
|
91
|
+
* pre-pricing server never sent the field — fall back to the original
|
|
92
|
+
* list-cost rendering (a positive `costUsd`, else nothing) instead of
|
|
93
|
+
* claiming unknown; explicit null means THIS server computed "unknown" and
|
|
94
|
+
* renders the em dash; a number goes through `formatEffectiveCost` (AE3).
|
|
95
|
+
*/
|
|
96
|
+
export function runCostText(run) {
|
|
97
|
+
if (run.effectiveCostUsd === undefined) {
|
|
98
|
+
return run.costUsd !== null && run.costUsd > 0 ? `$${run.costUsd.toFixed(2)}` : null;
|
|
99
|
+
}
|
|
100
|
+
return formatEffectiveCost(run.effectiveCostUsd, run.pricingEstimate);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* The digest card's cost clause (no leading separator), effective-only, or
|
|
104
|
+
* null for "say nothing". A digest persisted before pricing shipped carries
|
|
105
|
+
* neither new field and keeps its old list-cost clause.
|
|
106
|
+
*/
|
|
107
|
+
export function digestCostClause(digest) {
|
|
108
|
+
if (digest.effectiveCostUsd === undefined) {
|
|
109
|
+
return digest.costUsd > 0 ? `$${digest.costUsd.toFixed(2)} spent` : null;
|
|
110
|
+
}
|
|
111
|
+
const unpriced = digest.unpricedRuns ?? 0;
|
|
112
|
+
const qualifier = unpriced > 0 ? ` (${unpriced} unpriced)` : "";
|
|
113
|
+
if (digest.effectiveCostUsd > 0) {
|
|
114
|
+
return `${formatAggregateCost(digest.effectiveCostUsd, unpriced)} spent${qualifier}`;
|
|
115
|
+
}
|
|
116
|
+
// Known-zero spend: nothing to add up, but the unknowns still get named.
|
|
117
|
+
if (unpriced > 0)
|
|
118
|
+
return `${unpriced} unpriced`;
|
|
119
|
+
return "free";
|
|
120
|
+
}
|
|
121
|
+
/** The "9+" unread-count bubble shared by the rail and the tab bar. Hidden at 0. */
|
|
122
|
+
export function CountBadge({ count, className }) {
|
|
123
|
+
if (count <= 0)
|
|
124
|
+
return null;
|
|
125
|
+
return (_jsx("span", { className: cn("absolute flex h-4 min-w-4 items-center justify-center rounded-full bg-destructive px-1 text-[9px] font-semibold text-white", className), children: count > 9 ? "9+" : count }));
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=span-bits.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"span-bits.js","sourceRoot":"","sources":["../../../src/components/activity/span-bits.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-page.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-page.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"chat-page.d.ts","sourceRoot":"","sources":["../../../src/components/chat/chat-page.tsx"],"names":[],"mappings":"AAyDA,wBAAgB,QAAQ,gCAw0BvB"}
|
|
@@ -14,6 +14,8 @@ import { WelcomeState } from "./welcome-state.js";
|
|
|
14
14
|
import { ShareIntake } from "./share-card.js";
|
|
15
15
|
import { CommandPalette } from "./command-palette.js";
|
|
16
16
|
import { SessionDrawer } from "./session-drawer.js";
|
|
17
|
+
import { SubagentView } from "./subagent-view.js";
|
|
18
|
+
import { DigestCard } from "../activity/digest-card.js";
|
|
17
19
|
import { SettingsPanel } from "../settings/settings-panel.js";
|
|
18
20
|
import { StreamingPanel } from "../quick-actions/streaming-modal.js";
|
|
19
21
|
import { WhatsupPanel } from "../quick-actions/whatsup-modal.js";
|
|
@@ -80,6 +82,7 @@ export function ChatPage() {
|
|
|
80
82
|
const backends = useProviderStore((s) => s.backends);
|
|
81
83
|
const sessionPanelOpen = useUIStore((s) => s.sessionPanelOpen);
|
|
82
84
|
const setSessionPanelOpen = useUIStore((s) => s.setSessionPanelOpen);
|
|
85
|
+
const subagentStack = useUIStore((s) => s.subagentStack);
|
|
83
86
|
const syncPanelOpen = useUIStore((s) => s.syncPanelOpen);
|
|
84
87
|
const setSyncPanelOpen = useUIStore((s) => s.setSyncPanelOpen);
|
|
85
88
|
const whatsupPanelOpen = useUIStore((s) => s.whatsupPanelOpen);
|
|
@@ -428,7 +431,7 @@ export function ChatPage() {
|
|
|
428
431
|
? "Follows up live"
|
|
429
432
|
: "Will queue"
|
|
430
433
|
: null;
|
|
431
|
-
return (_jsxs("div", { className: "flex flex-1 flex-col overflow-hidden", children: [_jsx(MaskEditor, { onSubmit: (requestId, maskPng) => send({ type: "mask_response", requestId, maskPng }), onCancel: (requestId, message) => send({ type: "mask_error", requestId, code: "cancelled", message }) }), _jsx(SessionDrawer, { open: sessionPanelOpen, onClose: () => setSessionPanelOpen(false), onResume: handleSessionResume }), _jsx(SettingsPanel, { open: settingsPanelOpen, onClose: () => setSettingsPanelOpen(false) }), _jsx(StreamingPanel, { open: syncPanelOpen, onClose: () => setSyncPanelOpen(false), title: "Brain Sync", endpoint: getBackendUrl("/api/brain/sync") }), _jsx(WhatsupPanel, { open: whatsupPanelOpen, onClose: () => setWhatsupPanelOpen(false) }), _jsx(SearchPanel, { open: searchPanelOpen, onClose: () => setSearchPanelOpen(false) }), _jsx(AddPanel, { open: addPanelOpen, onClose: () => setAddPanelOpen(false) }), _jsx(FilePanel, { open: filePanelOpen, onClose: () => setFilePanelOpen(false) }), _jsxs("div", { className: "relative flex-1 overflow-hidden", children: [messages.length === 0 ? (
|
|
434
|
+
return (_jsxs("div", { className: "flex flex-1 flex-col overflow-hidden", children: [_jsx(MaskEditor, { onSubmit: (requestId, maskPng) => send({ type: "mask_response", requestId, maskPng }), onCancel: (requestId, message) => send({ type: "mask_error", requestId, code: "cancelled", message }) }), subagentStack.length > 0 && (_jsx("div", { className: "fixed inset-0 z-40 bg-background", children: _jsx(SubagentView, { spanId: subagentStack[subagentStack.length - 1], onApproval: handleToolApproval }) })), _jsx(SessionDrawer, { open: sessionPanelOpen, onClose: () => setSessionPanelOpen(false), onResume: handleSessionResume }), _jsx(SettingsPanel, { open: settingsPanelOpen, onClose: () => setSettingsPanelOpen(false) }), _jsx(StreamingPanel, { open: syncPanelOpen, onClose: () => setSyncPanelOpen(false), title: "Brain Sync", endpoint: getBackendUrl("/api/brain/sync") }), _jsx(WhatsupPanel, { open: whatsupPanelOpen, onClose: () => setWhatsupPanelOpen(false) }), _jsx(SearchPanel, { open: searchPanelOpen, onClose: () => setSearchPanelOpen(false) }), _jsx(AddPanel, { open: addPanelOpen, onClose: () => setAddPanelOpen(false) }), _jsx(FilePanel, { open: filePanelOpen, onClose: () => setFilePanelOpen(false) }), _jsxs("div", { className: "relative flex-1 overflow-hidden", children: [messages.length === 0 ? (_jsxs("div", { className: "h-full overflow-y-auto", children: [_jsx("div", { className: "px-4 pt-3 md:px-6", children: _jsx(DigestCard, {}) }), _jsx(WelcomeState, { onAction: handleWelcomeAction })] })) : (_jsx("div", { ref: scrollRef, className: "h-full overflow-y-auto px-4 md:px-6", children: _jsx("div", { [READING_COLUMN_ATTR]: "", className: "mx-auto max-w-3xl divide-y divide-border/20", children: messages.map((msg) => (_jsx(MessageBubble, { message: msg, onToolApproval: handleToolApproval, onAskUserSubmit: handleAskUserSubmit, onAskUserCancel: handleAskUserCancel }, msg.id))) }) })), showScrollButton && (_jsx("button", { type: "button", onClick: scrollToBottom, title: "Scroll to bottom", className: "absolute bottom-4 left-1/2 -translate-x-1/2 flex h-8 w-8 items-center justify-center rounded-full border border-border bg-surface shadow-md text-muted-foreground transition-all duration-150 hover:text-foreground", children: _jsx(ArrowDown, { className: "h-4 w-4" }) }))] }), _jsx(DictationSheet, { open: voiceMode === "dictate", onStop: () => dictation.stop(true), onCancel: () => dictation.cancel() }), _jsx("div", { className: "px-4 pt-2 pb-4 md:px-6 md:pb-6", children: _jsxs("div", { className: "mx-auto max-w-3xl", children: [_jsx(ShareIntake, {}), _jsx(ReviewCard, { text: reviewText, onSend: handleVoiceSend, onEdit: handleVoiceEdit, onDiscard: clearReview, onAppend: handleVoiceAppend }), attachErrors.length > 0 && (_jsxs("div", { className: "mb-2 flex items-start gap-2 rounded-lg border border-destructive/30 bg-destructive/5 px-3 py-2 text-[11px] text-destructive", children: [_jsx("div", { className: "flex-1 space-y-0.5", children: attachErrors.map((e, i) => (_jsx("div", { children: e }, i))) }), _jsx("button", { type: "button", onClick: () => setAttachErrors([]), title: "Dismiss", className: "shrink-0 rounded p-0.5 transition-colors hover:text-foreground", children: _jsx(X, { className: "h-3.5 w-3.5" }) })] })), attachments.length > 0 && (_jsx("div", { className: "mb-2 flex flex-wrap gap-2", children: attachments.map((a, i) => (_jsxs("div", { className: "relative h-16 w-16 shrink-0", children: [_jsx("img", { src: a.previewUrl, alt: a.name, className: "h-16 w-16 rounded-lg border border-border object-cover" }), _jsx("button", { type: "button", onClick: () => removeAttachment(i), title: "Remove", className: "absolute -right-1.5 -top-1.5 flex h-5 w-5 items-center justify-center rounded-full border border-border bg-surface text-muted-foreground shadow transition-colors hover:text-destructive", children: _jsx(X, { className: "h-3 w-3" }) })] }, i))) })), _jsxs("div", { className: cn("relative rounded-2xl border border-border bg-surface shadow-lg transition-all duration-200", "focus-within:border-primary/40 focus-within:shadow-[0_0_20px_rgba(224,159,62,0.05)]"), children: [showCommandPalette && (_jsx(CommandPalette, { filter: input.slice(1), onSelect: handleCommand })), _jsx("input", { ref: libraryInputRef, type: "file", accept: "image/*", multiple: true, hidden: true, onChange: onFilePick }), _jsx("input", { ref: cameraInputRef, type: "file", accept: "image/*", capture: "environment", hidden: true, onChange: onFilePick }), _jsx("textarea", { ref: textareaRef, value: input, onChange: (e) => setInput(e.target.value), onPaste: (e) => {
|
|
432
435
|
const files = e.clipboardData?.files;
|
|
433
436
|
if (files && files.length > 0) {
|
|
434
437
|
const images = Array.from(files).filter((f) => f.type.startsWith("image/"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-page.js","sourceRoot":"","sources":["../../../src/components/chat/chat-page.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-page.js","sourceRoot":"","sources":["../../../src/components/chat/chat-page.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-drawer.d.ts","sourceRoot":"","sources":["../../../src/components/chat/session-drawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session-drawer.d.ts","sourceRoot":"","sources":["../../../src/components/chat/session-drawer.tsx"],"names":[],"mappings":"AAqBA,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC,+BA6HA"}
|
|
@@ -5,6 +5,7 @@ import { api } from "../../lib/api-client.js";
|
|
|
5
5
|
import { useChatStore } from "../../stores/chat-store.js";
|
|
6
6
|
import { SlidePanel } from "../layout/slide-panel.js";
|
|
7
7
|
import { cn } from "../../lib/utils.js";
|
|
8
|
+
import { formatRelativeTime } from "./tool-views.js";
|
|
8
9
|
export function SessionDrawer({ open, onClose, onResume, }) {
|
|
9
10
|
const [sessions, setSessions] = useState([]);
|
|
10
11
|
const [loading, setLoading] = useState(false);
|
|
@@ -86,19 +87,4 @@ function groupSessionsByDate(sessions) {
|
|
|
86
87
|
.filter(([, sessions]) => sessions.length > 0)
|
|
87
88
|
.map(([label, sessions]) => ({ label, sessions }));
|
|
88
89
|
}
|
|
89
|
-
function formatRelativeTime(ms) {
|
|
90
|
-
const diff = Date.now() - ms;
|
|
91
|
-
const minutes = Math.floor(diff / 60000);
|
|
92
|
-
if (minutes < 1)
|
|
93
|
-
return "just now";
|
|
94
|
-
if (minutes < 60)
|
|
95
|
-
return `${minutes}m ago`;
|
|
96
|
-
const hours = Math.floor(minutes / 60);
|
|
97
|
-
if (hours < 24)
|
|
98
|
-
return `${hours}h ago`;
|
|
99
|
-
const days = Math.floor(hours / 24);
|
|
100
|
-
if (days < 7)
|
|
101
|
-
return `${days}d ago`;
|
|
102
|
-
return new Date(ms).toLocaleDateString();
|
|
103
|
-
}
|
|
104
90
|
//# sourceMappingURL=session-drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-drawer.js","sourceRoot":"","sources":["../../../src/components/chat/session-drawer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-drawer.js","sourceRoot":"","sources":["../../../src/components/chat/session-drawer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drill-in view of one subagent: the span tree under its Agent tool call,
|
|
3
|
+
* transcript excerpts interleaved by time, live while the subagent runs.
|
|
4
|
+
*
|
|
5
|
+
* Deliberately observation-shaped — no composer, no way to address the
|
|
6
|
+
* subagent — with ONE exception, decided during planning: an approval
|
|
7
|
+
* request raised by a tool inside this subagent renders actionable here as
|
|
8
|
+
* well as in the parent chat, because a fan-out stalled on an unaddressable
|
|
9
|
+
* approval is worse than a relaxed rule.
|
|
10
|
+
*
|
|
11
|
+
* When transcript forwarding is off (or the backend cannot forward), the
|
|
12
|
+
* view degrades to activity-only and says so, rather than looking empty.
|
|
13
|
+
*/
|
|
14
|
+
export declare function SubagentView({ spanId, onApproval, }: {
|
|
15
|
+
spanId: string;
|
|
16
|
+
onApproval?: (toolUseId: string, approved: boolean) => void;
|
|
17
|
+
}): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=subagent-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-view.d.ts","sourceRoot":"","sources":["../../../src/components/chat/subagent-view.tsx"],"names":[],"mappings":"AAcA;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,UAAU,GACX,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7D,+BA4HA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useMemo, useState } from "react";
|
|
3
|
+
import { ArrowLeft, Bot, Check, ChevronRight, X } from "lucide-react";
|
|
4
|
+
import { motion } from "framer-motion";
|
|
5
|
+
import { useShallow } from "zustand/react/shallow";
|
|
6
|
+
import { isFailureOutcome } from "@schlessera/brain-ui-sdk/protocol";
|
|
7
|
+
import { useActivityStore, childSpans, eventsFor, spanForTool } from "../../stores/activity-store.js";
|
|
8
|
+
import { useUIStore } from "../../stores/ui-store.js";
|
|
9
|
+
import { useChatStore, activeChat } from "../../stores/chat-store.js";
|
|
10
|
+
import { cn } from "../../lib/utils.js";
|
|
11
|
+
import { getToolLabel, formatDuration } from "./tool-views.js";
|
|
12
|
+
import { SpanPayload, SpanStatusDot, spanToolLabel } from "../activity/span-bits.js";
|
|
13
|
+
/**
|
|
14
|
+
* Drill-in view of one subagent: the span tree under its Agent tool call,
|
|
15
|
+
* transcript excerpts interleaved by time, live while the subagent runs.
|
|
16
|
+
*
|
|
17
|
+
* Deliberately observation-shaped — no composer, no way to address the
|
|
18
|
+
* subagent — with ONE exception, decided during planning: an approval
|
|
19
|
+
* request raised by a tool inside this subagent renders actionable here as
|
|
20
|
+
* well as in the parent chat, because a fan-out stalled on an unaddressable
|
|
21
|
+
* approval is worse than a relaxed rule.
|
|
22
|
+
*
|
|
23
|
+
* When transcript forwarding is off (or the backend cannot forward), the
|
|
24
|
+
* view degrades to activity-only and says so, rather than looking empty.
|
|
25
|
+
*/
|
|
26
|
+
export function SubagentView({ spanId, onApproval, }) {
|
|
27
|
+
const popSubagentView = useUIStore((s) => s.popSubagentView);
|
|
28
|
+
const pushSubagentView = useUIStore((s) => s.pushSubagentView);
|
|
29
|
+
const span = useActivityStore((s) => spanForTool(s, spanId));
|
|
30
|
+
const children = useActivityStore(useShallow((s) => childSpans(s, spanId)));
|
|
31
|
+
const events = useActivityStore((s) => eventsFor(s, spanId));
|
|
32
|
+
const pendingApprovals = useChatStore(useShallow((s) => {
|
|
33
|
+
const chat = activeChat(s);
|
|
34
|
+
const last = chat.messages.at(-1);
|
|
35
|
+
return (last?.toolCalls ?? []).filter((t) => t.status === "pending_approval");
|
|
36
|
+
}));
|
|
37
|
+
const timelineItems = useMemo(() => interleave(children, events), [children, events]);
|
|
38
|
+
if (!span) {
|
|
39
|
+
return (_jsxs("div", { className: "flex flex-col gap-3 p-4", children: [_jsx(BackButton, { onClick: popSubagentView }), _jsx("p", { className: "text-sm text-muted-foreground", children: "No recorded activity for this subagent \u2014 it may have been pruned." })] }));
|
|
40
|
+
}
|
|
41
|
+
const description = span.subagent?.description ?? null;
|
|
42
|
+
const subagentType = span.subagent?.type ?? null;
|
|
43
|
+
const summary = span.subagent?.summary ?? null;
|
|
44
|
+
const running = span.outcome === undefined;
|
|
45
|
+
const duration = span.endedAt !== undefined ? formatDuration(span.endedAt - span.startedAt) : null;
|
|
46
|
+
const hasTranscript = events.some((e) => e.eventType.startsWith("transcript_"));
|
|
47
|
+
const approvalsHere = pendingApprovals.filter((t) => children.some((c) => c.spanId === t.id));
|
|
48
|
+
return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "flex items-center gap-2 border-b border-border-subtle px-4 py-3", children: [_jsx(BackButton, { onClick: popSubagentView }), _jsx(Bot, { className: "h-4 w-4 shrink-0 text-muted-foreground" }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-sm font-medium", children: description ?? "Subagent" }), _jsxs("div", { className: "truncate text-[11px] text-muted-foreground", children: [subagentType ?? "agent", running ? " · running" : span.outcome ? ` · ${span.outcome}` : "", duration ? ` · ${duration}` : ""] })] }), running && (_jsx("span", { className: "inline-block h-2 w-2 animate-pulse rounded-full bg-primary" }))] }), _jsxs("div", { className: "flex-1 space-y-1.5 overflow-y-auto p-4", children: [approvalsHere.map((tool) => (_jsxs("div", { className: "rounded-lg border-2 border-primary/40 bg-primary/5 p-3 text-xs", children: [_jsxs("div", { className: "mb-2 font-medium", children: ["Approval needed: ", getToolLabel(tool.name)] }), onApproval && (_jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { onClick: () => onApproval(tool.id, true), className: "flex items-center gap-1.5 rounded-lg bg-primary px-4 py-1.5 text-xs font-medium text-primary-foreground hover:brightness-110", children: [_jsx(Check, { className: "h-3 w-3" }), " Allow"] }), _jsxs("button", { onClick: () => onApproval(tool.id, false), className: "flex items-center gap-1.5 rounded-lg border border-destructive/30 px-4 py-1.5 text-xs font-medium text-destructive hover:bg-destructive/10", children: [_jsx(X, { className: "h-3 w-3" }), " Deny"] })] }))] }, tool.id))), timelineItems.length === 0 && (_jsx("p", { className: "text-xs text-muted-foreground", children: running ? "Waiting for the first step…" : "No recorded steps." })), timelineItems.map((item) => item.kind === "span" ? (_jsx(SpanRow, { span: item.span, onOpen: item.span.kind === "subagent"
|
|
49
|
+
? () => pushSubagentView(item.span.spanId)
|
|
50
|
+
: undefined }, item.span.spanId)) : (_jsx(TranscriptRow, { event: item.event }, `${item.event.spanId}:${item.event.eventIndex}`))), !hasTranscript && children.length > 0 && (_jsx("p", { className: "pt-2 text-[11px] text-muted-foreground/60", children: "Activity only \u2014 this subagent's transcript was not captured." })), summary && !running && (_jsx("div", { className: "mt-2 rounded-lg border border-border-subtle bg-surface p-3 text-xs", children: summary }))] })] }));
|
|
51
|
+
}
|
|
52
|
+
function BackButton({ onClick }) {
|
|
53
|
+
return (_jsx("button", { type: "button", onClick: onClick, className: "rounded-md p-1.5 text-muted-foreground transition-colors hover:bg-surface-raised hover:text-foreground", "aria-label": "Back", children: _jsx(ArrowLeft, { className: "h-4 w-4" }) }));
|
|
54
|
+
}
|
|
55
|
+
function SpanRow({ span, onOpen }) {
|
|
56
|
+
// Tool rows expand to their recorded payload (AE7); a pre-feature span
|
|
57
|
+
// expands to the no-payload notice, so the affordance stays uniform.
|
|
58
|
+
const [expanded, setExpanded] = useState(false);
|
|
59
|
+
const running = span.outcome === undefined;
|
|
60
|
+
const failed = isFailureOutcome(span.outcome);
|
|
61
|
+
const expandable = !onOpen && span.kind === "tool";
|
|
62
|
+
const duration = span.endedAt !== undefined
|
|
63
|
+
? formatDuration(span.endedAt - (span.waitUntil ?? span.startedAt))
|
|
64
|
+
: null;
|
|
65
|
+
return (_jsxs(motion.div, { initial: { opacity: 0, y: 2 }, animate: { opacity: 1, y: 0 }, children: [_jsxs("div", { className: cn("flex items-center gap-2 rounded-md px-2 py-1.5 text-xs", failed ? "text-destructive/80" : "text-muted-foreground", (onOpen || expandable) && "cursor-pointer hover:text-foreground"), onClick: onOpen ?? (expandable ? () => setExpanded((v) => !v) : undefined), children: [_jsx(SpanStatusDot, { span: span, className: "h-2 w-2" }), _jsx("span", { className: "font-[family-name:var(--font-mono)] font-medium", children: spanToolLabel(span) }), span.outcome && span.outcome !== "success" && (_jsx("span", { className: "text-[10px] uppercase", children: span.outcome })), _jsx("span", { className: "ml-auto font-[family-name:var(--font-mono)] text-[10px] text-muted-foreground/50", children: duration ?? (running ? "…" : "") }), expandable && (_jsx(ChevronRight, { className: cn("h-3 w-3 shrink-0 transition-transform", expanded && "rotate-90") }))] }), expanded && _jsx(SpanPayload, { spanId: span.spanId })] }));
|
|
66
|
+
}
|
|
67
|
+
function TranscriptRow({ event }) {
|
|
68
|
+
const text = typeof event.payload === "string" ? event.payload : JSON.stringify(event.payload);
|
|
69
|
+
if (!text)
|
|
70
|
+
return null;
|
|
71
|
+
return (_jsxs("div", { className: "whitespace-pre-wrap rounded-md bg-surface px-3 py-2 text-xs text-foreground/80", children: [text, event.truncated && _jsx("span", { className: "text-muted-foreground/60", children: " \u2026" })] }));
|
|
72
|
+
}
|
|
73
|
+
/** Child steps and transcript excerpts in one chronological stream. */
|
|
74
|
+
function interleave(spans, events) {
|
|
75
|
+
const items = [
|
|
76
|
+
...spans.map((span) => ({ kind: "span", span, ts: span.startedAt })),
|
|
77
|
+
...events
|
|
78
|
+
.filter((e) => e.eventType.startsWith("transcript_"))
|
|
79
|
+
.map((event) => ({ kind: "event", event, ts: event.ts })),
|
|
80
|
+
];
|
|
81
|
+
return items.sort((a, b) => a.ts - b.ts);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=subagent-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subagent-view.js","sourceRoot":"","sources":["../../../src/components/chat/subagent-view.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-call-timeline.d.ts","sourceRoot":"","sources":["../../../src/components/chat/tool-call-timeline.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-call-timeline.d.ts","sourceRoot":"","sources":["../../../src/components/chat/tool-call-timeline.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAqB3D,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,UAAU,EACV,IAAY,GACb,EAAE;IACD,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,+EAA+E;IAC/E,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,sCAwCA"}
|
|
@@ -4,9 +4,14 @@ import { Check, X, Copy, Layers, ChevronDown, ChevronRight, AlertTriangle, FileT
|
|
|
4
4
|
import { resolveToolRenderer } from "@schlessera/brain-ui-sdk/client";
|
|
5
5
|
import { cn } from "../../lib/utils.js";
|
|
6
6
|
import { motion, AnimatePresence } from "framer-motion";
|
|
7
|
-
import { getToolLabel, getTouchedFile, formatDuration } from "./tool-views.js";
|
|
7
|
+
import { getToolLabel, getTouchedFile, formatDuration, formatTokenCount } from "./tool-views.js";
|
|
8
8
|
import { registerBuiltinRenderers, GENERIC_RENDERER } from "./renderers/index.js";
|
|
9
9
|
import { riskHints } from "./risk-hints.js";
|
|
10
|
+
import { useShallow } from "zustand/react/shallow";
|
|
11
|
+
import { useActivityStore, spanForTool, childSpans } from "../../stores/activity-store.js";
|
|
12
|
+
import { useUIStore } from "../../stores/ui-store.js";
|
|
13
|
+
import { useNow } from "../../hooks/use-now.js";
|
|
14
|
+
import { SpanStatusDot } from "../activity/span-bits.js";
|
|
10
15
|
// Register the built-in renderer packs once. Registration is build-time; this
|
|
11
16
|
// runs on module load.
|
|
12
17
|
registerBuiltinRenderers();
|
|
@@ -47,13 +52,26 @@ function TimelineSummaryRow({ toolCalls, onExpand, }) {
|
|
|
47
52
|
function ToolCallEntry({ toolCall, onApproval, }) {
|
|
48
53
|
const [expanded, setExpanded] = useState(toolCall.status === "pending_approval");
|
|
49
54
|
const prevStatus = useRef(toolCall.status);
|
|
55
|
+
// One clock for live and reloaded views: when the activity stream carries
|
|
56
|
+
// this call's span, its server-stamped timing wins over the client stamps
|
|
57
|
+
// (which don't exist at all for history-loaded messages). Selecting the
|
|
58
|
+
// span itself (a stable reference) rather than a derived timing object
|
|
59
|
+
// keeps every other entry from re-rendering on every activity delta.
|
|
60
|
+
const span = useActivityStore((s) => spanForTool(s, toolCall.id));
|
|
61
|
+
const timed = span
|
|
62
|
+
? {
|
|
63
|
+
...toolCall,
|
|
64
|
+
startedAt: span.waitUntil ?? span.startedAt,
|
|
65
|
+
...(span.endedAt !== undefined ? { endedAt: span.endedAt } : {}),
|
|
66
|
+
}
|
|
67
|
+
: toolCall;
|
|
50
68
|
// Resolve the renderer for this tool (backend-scoped exact -> global exact ->
|
|
51
69
|
// shape-sniffing predicate). Falls back to the generic renderer.
|
|
52
70
|
const renderer = resolveToolRenderer(toolCall, BACKEND_ID) ?? GENERIC_RENDERER;
|
|
53
71
|
const Icon = renderer.icon ?? FileText;
|
|
54
72
|
const isPending = toolCall.status === "pending_approval";
|
|
55
|
-
const summary = renderer.summary?.(
|
|
56
|
-
const meta = renderer.meta?.(
|
|
73
|
+
const summary = renderer.summary?.(timed) ?? null;
|
|
74
|
+
const meta = renderer.meta?.(timed) ?? null;
|
|
57
75
|
const Input = renderer.Input;
|
|
58
76
|
const Output = renderer.Output;
|
|
59
77
|
useEffect(() => {
|
|
@@ -73,10 +91,28 @@ function ToolCallEntry({ toolCall, onApproval, }) {
|
|
|
73
91
|
? { animation: "breathe 2s ease-in-out infinite" }
|
|
74
92
|
: undefined }), _jsxs("button", { onClick: () => setExpanded(!expanded), className: cn("flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-xs transition-colors", toolCall.isError
|
|
75
93
|
? "text-destructive/80 hover:text-destructive"
|
|
76
|
-
: "text-muted-foreground hover:text-foreground"), children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0" }), _jsx("span", { className: "font-[family-name:var(--font-mono)] font-medium", children: getToolLabel(toolCall.name) }), summary && (_jsx("span", { className: cn("truncate", toolCall.isError ? "text-destructive/60" : "text-muted-foreground/70"), children: summary })), _jsxs("span", { className: "ml-auto flex shrink-0 items-center gap-2", children: [meta && (_jsx("span", { className: "font-[family-name:var(--font-mono)] text-[10px] text-muted-foreground/50", children: meta })), _jsx(StatusIndicator, { status: toolCall.status, isError: toolCall.isError })] })] }), _jsx(AnimatePresence, { children: expanded && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.2, ease: "easeOut" }, className: "overflow-hidden", children: _jsxs("div", { className: cn("mt-1 rounded-lg p-3 space-y-2", isPending
|
|
94
|
+
: "text-muted-foreground hover:text-foreground"), children: [_jsx(Icon, { className: "h-3.5 w-3.5 shrink-0" }), _jsx("span", { className: "font-[family-name:var(--font-mono)] font-medium", children: getToolLabel(toolCall.name) }), summary && (_jsx("span", { className: cn("truncate", toolCall.isError ? "text-destructive/60" : "text-muted-foreground/70"), children: summary })), _jsxs("span", { className: "ml-auto flex shrink-0 items-center gap-2", children: [meta && (_jsx("span", { className: "font-[family-name:var(--font-mono)] text-[10px] text-muted-foreground/50", children: meta })), _jsx(StatusIndicator, { status: toolCall.status, isError: toolCall.isError })] })] }), toolCall.name === "Agent" && _jsx(SubagentEntryRows, { agentToolUseId: toolCall.id }), _jsx(AnimatePresence, { children: expanded && (_jsx(motion.div, { initial: { height: 0, opacity: 0 }, animate: { height: "auto", opacity: 1 }, exit: { height: 0, opacity: 0 }, transition: { duration: 0.2, ease: "easeOut" }, className: "overflow-hidden", children: _jsxs("div", { className: cn("mt-1 rounded-lg p-3 space-y-2", isPending
|
|
77
95
|
? "border-2 border-primary/40 bg-primary/5"
|
|
78
96
|
: "border border-border-subtle bg-surface"), children: [Input && _jsx(Input, { tool: toolCall }), isPending && _jsx(RiskHints, { toolCall: toolCall }), isPending && (_jsxs("div", { className: "flex gap-2", children: [_jsxs("button", { onClick: () => onApproval(toolCall.id, true), className: "flex items-center gap-1.5 rounded-lg bg-primary px-4 py-1.5 text-xs font-medium text-primary-foreground transition-colors hover:brightness-110", children: [_jsx(Check, { className: "h-3 w-3" }), "Allow"] }), _jsxs("button", { onClick: () => onApproval(toolCall.id, false), className: "flex items-center gap-1.5 rounded-lg border border-destructive/30 px-4 py-1.5 text-xs font-medium text-destructive transition-colors hover:bg-destructive/10", children: [_jsx(X, { className: "h-3 w-3" }), "Deny"] })] })), toolCall.output && Output && (_jsxs("div", { className: "relative", children: [_jsx("button", { onClick: () => navigator.clipboard.writeText(toolCall.output), className: "absolute right-1 top-1 z-10 rounded p-1 text-muted-foreground transition-colors hover:bg-surface-raised hover:text-foreground", title: "Copy output", children: _jsx(Copy, { className: "h-3 w-3" }) }), _jsx(Output, { tool: toolCall })] }))] }) })) })] }));
|
|
79
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* Compact live status of one Agent fan-out: what the subagent is, its state,
|
|
100
|
+
* elapsed time and step count — with a tap opening the drill-in view. Data
|
|
101
|
+
* comes from the activity stream (session subscription); on a host without
|
|
102
|
+
* activity recording this renders nothing and the entry stays as before.
|
|
103
|
+
*/
|
|
104
|
+
function SubagentEntryRows({ agentToolUseId }) {
|
|
105
|
+
const span = useActivityStore((s) => spanForTool(s, agentToolUseId));
|
|
106
|
+
const stepCount = useActivityStore(useShallow((s) => childSpans(s, agentToolUseId).length));
|
|
107
|
+
const pushSubagentView = useUIStore((s) => s.pushSubagentView);
|
|
108
|
+
const now = useNow();
|
|
109
|
+
if (!span || span.kind !== "subagent")
|
|
110
|
+
return null;
|
|
111
|
+
const description = span.subagent?.description ?? "subagent";
|
|
112
|
+
const tokens = span.subagent?.totalTokens ?? null;
|
|
113
|
+
const elapsed = formatDuration((span.endedAt ?? now) - span.startedAt);
|
|
114
|
+
return (_jsxs("button", { type: "button", onClick: () => pushSubagentView(agentToolUseId), className: "ml-6 flex w-[calc(100%-1.5rem)] items-center gap-2 rounded-md px-2 py-1 text-[11px] text-muted-foreground/80 transition-colors hover:text-foreground", children: [_jsx(SpanStatusDot, { span: span }), _jsx("span", { className: "truncate", children: description }), _jsxs("span", { className: "ml-auto shrink-0 font-[family-name:var(--font-mono)] text-[10px] text-muted-foreground/50", children: [stepCount > 0 && `${stepCount} step${stepCount === 1 ? "" : "s"} · `, tokens !== null && `${formatTokenCount(tokens)} tok · `, elapsed] }), _jsx(ChevronRight, { className: "h-3 w-3 shrink-0" })] }));
|
|
115
|
+
}
|
|
80
116
|
function RiskHints({ toolCall }) {
|
|
81
117
|
const hints = riskHints(toolCall);
|
|
82
118
|
if (hints.length === 0)
|