@workerdeck/ui 3.0.1 → 3.2.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.
Files changed (55) hide show
  1. package/build/{SessionPanel-C1bU4yTM.d.mts → SessionPanel-BNNc8grK.d.mts} +9 -7
  2. package/build/index.d.mts +153 -45
  3. package/build/index.mjs +501 -226
  4. package/build/index.mjs.map +1 -1
  5. package/build/scoped.css +15 -6
  6. package/build/{use-path-links-BEWxt0ZM.mjs → use-path-links-C6Fh5zdx.mjs} +1926 -2086
  7. package/build/use-path-links-C6Fh5zdx.mjs.map +1 -0
  8. package/build/workspace.d.mts +1 -1
  9. package/build/workspace.mjs +1 -1
  10. package/package.json +4 -4
  11. package/src/components/agent/ApprovalPrompts.tsx +87 -0
  12. package/src/components/agent/Composer.tsx +25 -47
  13. package/src/components/agent/ContextDialog.tsx +75 -67
  14. package/src/components/agent/FrameStrip.tsx +74 -0
  15. package/src/components/agent/HostFilesDialog.tsx +3 -2
  16. package/src/components/agent/McpDialog.tsx +112 -78
  17. package/src/components/agent/PermissionPrompt.tsx +13 -22
  18. package/src/components/agent/QuestionPrompt.tsx +6 -41
  19. package/src/components/agent/Scrubber.tsx +6 -75
  20. package/src/components/agent/SessionBrowser.tsx +125 -214
  21. package/src/components/agent/SessionFilters.tsx +266 -0
  22. package/src/components/agent/SessionInfoDialog.tsx +47 -63
  23. package/src/components/agent/SessionItem.tsx +27 -7
  24. package/src/components/agent/SessionPanel.tsx +244 -488
  25. package/src/components/agent/SessionSteps.tsx +54 -11
  26. package/src/components/agent/ShellStrip.tsx +27 -43
  27. package/src/components/agent/SubagentStrip.tsx +13 -30
  28. package/src/components/agent/Transcript.tsx +13 -0
  29. package/src/components/agent/TranscriptItemView.tsx +6 -36
  30. package/src/components/agent/composer-commands.ts +80 -1
  31. package/src/components/agent/markdown-image.tsx +49 -1
  32. package/src/components/agent/scrubber-marks.ts +33 -11
  33. package/src/components/agent/scrubber-peek.tsx +122 -0
  34. package/src/components/agent/session-panel-providers.tsx +41 -0
  35. package/src/components/agent/shell-actions.tsx +36 -1
  36. package/src/components/agent/use-catch-up.ts +20 -0
  37. package/src/components/agent/use-frame.ts +88 -0
  38. package/src/components/agent/use-host-image.ts +81 -0
  39. package/src/components/agent/use-shell-frame.ts +12 -70
  40. package/src/components/agent/use-subagent-frame.ts +19 -75
  41. package/src/components/prompt-area/prompt-area-engine.ts +21 -20
  42. package/src/components/prompt-area/prompt-area-list-ops.ts +12 -15
  43. package/src/components/terminal/PermissionPrompt.tsx +19 -32
  44. package/src/components/terminal/QuestionPrompt.tsx +10 -46
  45. package/src/components/terminal/TerminalTranscript.tsx +3 -86
  46. package/src/components/terminal/items.tsx +5 -43
  47. package/src/components/terminal/scrubber.tsx +25 -272
  48. package/src/components/ui/Popover.tsx +29 -0
  49. package/src/components/ui/Select.tsx +25 -0
  50. package/src/index.ts +46 -8
  51. package/src/lib/file-link.ts +3 -16
  52. package/src/lib/permission-prompt.ts +57 -0
  53. package/src/lib/question-answers.ts +65 -0
  54. package/build/use-path-links-BEWxt0ZM.mjs.map +0 -1
  55. package/src/components/prompt-area/use-markdown-mode.ts +0 -103
@@ -122,6 +122,13 @@ declare function FileLinkProvider({ value, children }: {
122
122
  }): import("react").JSX.Element;
123
123
  declare function useFileLinks(): FileLinkHandle | undefined;
124
124
  //#endregion
125
+ //#region src/components/agent/ApprovalPrompts.d.ts
126
+ interface ApprovalPromptProps {
127
+ request: PermissionRequest;
128
+ onApprove: (requestId: string, updatedInput?: Record<string, unknown>) => void;
129
+ onDeny: (requestId: string, message?: string, interrupt?: boolean) => void;
130
+ }
131
+ //#endregion
125
132
  //#region src/components/agent/transcript-variant.d.ts
126
133
  type TranscriptVariant = 'cards' | 'terminal';
127
134
  declare function TranscriptVariantProvider({ value, children }: {
@@ -136,11 +143,6 @@ type TerminalMetrics = {
136
143
  fontSize?: number;
137
144
  lineHeight?: number;
138
145
  };
139
- interface ApprovalPromptProps {
140
- request: PermissionRequest;
141
- onApprove: (requestId: string, updatedInput?: Record<string, unknown>) => void;
142
- onDeny: (requestId: string, message?: string, interrupt?: boolean) => void;
143
- }
144
146
  interface SessionPanelProps {
145
147
  client: WorkerDeckClient;
146
148
  sessionId: string | undefined;
@@ -224,5 +226,5 @@ type SessionVitals = {
224
226
  };
225
227
  declare function SessionPanel({ client, sessionId, header, panelSurface, statusSurface, statusPlacement, onOpenPanel, onVitals, transcriptVariant, transcriptFont, affordances, terminalMetrics, scrubber, bookmarks, peerMentions, onToggleBookmark, reveal, subagents, shells, openSubagent, onSubagentChange, openShell, onShellChange, stickyPrompt, controlsSurface, onControls, focusComposerOnClick, unseen, readOnly, approvalPrompts, toolHost, clientTools, cacheTranscript, emptyState, onLinkClick, onOpenFile, fontSize, className }: SessionPanelProps): import("react").JSX.Element;
226
228
  //#endregion
227
- export { ComposerRow as A, PermissionModeChoice as C, permissionModeChoices as D, PermissionModeSelectProps as E, skillPrompt as F, mergeComposerRows as M, rankComposerRows as N, permissionModeMeta as O, rankPeerSessions as P, PERMISSION_MODES as S, PermissionModeSelect as T, AgentWriteIcon as _, SessionSurfacePanel as a, WithActions as b, TranscriptFont as c, useTranscriptVariant as d, FileLinkHandle as f, ActionPlacement as g, useFileLinks as h, SessionPanelProps as i, matchClientCommand as j, ClientCommand as k, TranscriptVariant as l, FileLinkProvider as m, SessionControls as n, SessionVitals as o, FileLinkOpener as p, SessionPanel as r, TerminalMetrics as s, ApprovalPromptProps as t, TranscriptVariantProvider as u, CopyAction as v, PermissionModeMeta as w, useAffordances as x, TerminalAffordances as y };
228
- //# sourceMappingURL=SessionPanel-C1bU4yTM.d.mts.map
229
+ export { ComposerRow as A, PermissionModeChoice as C, permissionModeChoices as D, PermissionModeSelectProps as E, skillPrompt as F, mergeComposerRows as M, rankComposerRows as N, permissionModeMeta as O, rankPeerSessions as P, PERMISSION_MODES as S, PermissionModeSelect as T, AgentWriteIcon as _, SessionVitals as a, WithActions as b, TranscriptVariant as c, ApprovalPromptProps as d, FileLinkHandle as f, ActionPlacement as g, useFileLinks as h, SessionSurfacePanel as i, matchClientCommand as j, ClientCommand as k, TranscriptVariantProvider as l, FileLinkProvider as m, SessionPanel as n, TerminalMetrics as o, FileLinkOpener as p, SessionPanelProps as r, TranscriptFont as s, SessionControls as t, useTranscriptVariant as u, CopyAction as v, PermissionModeMeta as w, useAffordances as x, TerminalAffordances as y };
230
+ //# sourceMappingURL=SessionPanel-BNNc8grK.d.mts.map
package/build/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { a as formatCost, c as formatRateLimitWindow, d as formatTokens, f as friendlyModel, i as formatBytes, l as formatRateLimitWindowLong, m as toolInputPreview, o as formatCountdown, p as rateLimitWindowSeconds, r as formatAgoPrecise, s as formatDuration, u as formatRelativeTime } from "./format-eS_oUry-.mjs";
2
- import { A as ComposerRow, C as PermissionModeChoice, D as permissionModeChoices, E as PermissionModeSelectProps, F as skillPrompt, M as mergeComposerRows, N as rankComposerRows, O as permissionModeMeta, P as rankPeerSessions, S as PERMISSION_MODES, T as PermissionModeSelect, _ as AgentWriteIcon, a as SessionSurfacePanel, b as WithActions, c as TranscriptFont, d as useTranscriptVariant, f as FileLinkHandle, g as ActionPlacement, h as useFileLinks, i as SessionPanelProps, j as matchClientCommand, k as ClientCommand, l as TranscriptVariant, m as FileLinkProvider, n as SessionControls, o as SessionVitals, p as FileLinkOpener, r as SessionPanel, s as TerminalMetrics, t as ApprovalPromptProps, u as TranscriptVariantProvider, v as CopyAction, w as PermissionModeMeta, x as useAffordances, y as TerminalAffordances } from "./SessionPanel-C1bU4yTM.mjs";
2
+ import { A as ComposerRow, C as PermissionModeChoice, D as permissionModeChoices, E as PermissionModeSelectProps, F as skillPrompt, M as mergeComposerRows, N as rankComposerRows, O as permissionModeMeta, P as rankPeerSessions, S as PERMISSION_MODES, T as PermissionModeSelect, _ as AgentWriteIcon, a as SessionVitals, b as WithActions, c as TranscriptVariant, d as ApprovalPromptProps, f as FileLinkHandle, g as ActionPlacement, h as useFileLinks, i as SessionSurfacePanel, j as matchClientCommand, k as ClientCommand, l as TranscriptVariantProvider, m as FileLinkProvider, n as SessionPanel, o as TerminalMetrics, p as FileLinkOpener, r as SessionPanelProps, s as TranscriptFont, t as SessionControls, u as useTranscriptVariant, v as CopyAction, w as PermissionModeMeta, x as useAffordances, y as TerminalAffordances } from "./SessionPanel-BNNc8grK.mjs";
3
3
  import { ButtonHTMLAttributes, FunctionComponent, HTMLAttributes, InputHTMLAttributes, ReactElement, ReactNode, Ref, RefObject, TextareaHTMLAttributes } from "react";
4
4
  import { VariantProps } from "class-variance-authority";
5
5
  import { ClassValue } from "clsx";
@@ -7,10 +7,11 @@ import { Select as Select$1 } from "@base-ui/react/select";
7
7
  import { LucideIcon } from "lucide-react";
8
8
  import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
9
9
  import { Menu as Menu$1 } from "@base-ui/react/menu";
10
+ import { Popover as Popover$1 } from "@base-ui/react/popover";
10
11
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
11
12
  import { Tooltip } from "@base-ui/react/tooltip";
12
13
  import { toast } from "sonner";
13
- import { ByModel, ContextReading, ContextUsage, FilePatch, ModelOption, PermissionRequest, PricingTable, ProfileEngine, ProfileSpend, ProjectIcon as ProjectIcon$1, QuestionBehavior, RateLimitInfo, SessionInfo, SessionRow, SessionStatus, SessionTask, ShellInfo, SkillInfo, SlashCommandInfo, SubagentDisplay, UsageWindowRow, ViewConfig, WorkspaceScope, parseUserQuestions } from "@workerdeck/protocol";
14
+ import { ByModel, ContextReading, ContextUsage, FilePatch, McpServerActionRequest, McpServerStatusInfo, McpServerToolInfo, ModelOption, PermissionRequest, PricingTable, ProfileEngine, ProfileSpend, ProjectIcon as ProjectIcon$1, QuestionBehavior, RateLimitInfo, SessionInfo, SessionRow, SessionStatus, SessionTask, ShellInfo, SkillInfo, SlashCommandInfo, StepDisplay, SubagentDisplay, UsageWindowRow, ViewConfig, WorkspaceScope, parseUserQuestions } from "@workerdeck/protocol";
14
15
  import { ConnectionState, PeerSessionOption, TranscriptItem, TranscriptState, UseAttachmentsResult } from "@workerdeck/react";
15
16
  import { WorkerDeckClient } from "@workerdeck/client";
16
17
  //#region src/components/ui/Button.d.ts
@@ -50,6 +51,17 @@ declare const SelectItemText: import("react").NamedExoticComponent<Omit<import("
50
51
  declare const SelectTrigger: FunctionComponent<Select$1.Trigger.Props>;
51
52
  declare const SelectContent: FunctionComponent<Select$1.Popup.Props & Pick<Select$1.Positioner.Props, 'align' | 'alignItemWithTrigger' | 'side' | 'sideOffset'>>;
52
53
  declare const SelectItem: FunctionComponent<Select$1.Item.Props>;
54
+ interface OptionSelectProps<T extends string> {
55
+ label: string;
56
+ value: T;
57
+ options: readonly {
58
+ value: T;
59
+ label: string;
60
+ }[];
61
+ onChange: (value: T) => void;
62
+ className?: string;
63
+ }
64
+ declare function OptionSelect<T extends string>({ label, value, options, onChange, className }: OptionSelectProps<T>): import("react").JSX.Element;
53
65
  //#endregion
54
66
  //#region src/components/ui/AlertDialog.d.ts
55
67
  declare const AlertDialog: typeof AlertDialog$1.Root;
@@ -68,6 +80,11 @@ declare const MenuItem: FunctionComponent<Menu$1.Item.Props & {
68
80
  }>;
69
81
  declare const MenuSeparator: FunctionComponent<Menu$1.Separator.Props>;
70
82
  //#endregion
83
+ //#region src/components/ui/Popover.d.ts
84
+ declare const Popover: typeof Popover$1.Root;
85
+ declare const PopoverTrigger: Popover$1.Trigger;
86
+ declare const PopoverContent: FunctionComponent<Popover$1.Popup.Props & Pick<Popover$1.Positioner.Props, 'align' | 'side' | 'sideOffset'>>;
87
+ //#endregion
71
88
  //#region src/components/ui/Dialog.d.ts
72
89
  declare const Dialog: <Payload>(props: Dialog$1.Root.Props<Payload>) => import("react").JSX.Element;
73
90
  declare const DialogTrigger: Dialog$1.Trigger;
@@ -712,6 +729,15 @@ interface TranscriptProps {
712
729
  className?: string;
713
730
  }
714
731
  declare function Transcript({ state, fileUrl, attachmentUrl, canBrowseFiles, hostImage, variant, fontSize, lineHeight, affordances, stickyPrompt, scrubber, bookmarks, sessionNames, replaying, catchUp, jumpToRecapRef, repinRef, reveal, frame, onOpenSubagent, emptyState, className }: TranscriptProps): import("react").JSX.Element;
732
+ interface TerminalTranscriptProps {
733
+ state: TranscriptState;
734
+ fileUrl?: (path: string) => string;
735
+ fontSize?: number;
736
+ lineHeight?: number;
737
+ affordances?: TerminalAffordances | boolean;
738
+ className?: string;
739
+ }
740
+ declare function TerminalTranscript(props: TerminalTranscriptProps): import("react").JSX.Element;
715
741
  //#endregion
716
742
  //#region src/components/terminal/surface.d.ts
717
743
  interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
@@ -723,20 +749,11 @@ interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
723
749
  declare function TerminalSurface({ fontSize, lineHeight, bleed, affordances, className, style, children, ...props }: TerminalSurfaceProps): import("react").JSX.Element;
724
750
  //#endregion
725
751
  //#region src/components/terminal/TerminalTranscript.d.ts
726
- interface TerminalTranscriptProps {
727
- state: TranscriptState;
728
- fileUrl?: (path: string) => string;
729
- fontSize?: number;
730
- lineHeight?: number;
731
- affordances?: TerminalAffordances | boolean;
732
- className?: string;
733
- }
734
752
  declare function TerminalItemView({ item, fileUrl, attachmentUrl }: {
735
753
  item: TranscriptItem;
736
754
  fileUrl?: (path: string) => string;
737
755
  attachmentUrl?: (attachmentId: string) => string;
738
756
  }): import("react").JSX.Element | null;
739
- declare function TerminalTranscript({ state, fileUrl, fontSize, lineHeight, affordances, className }: TerminalTranscriptProps): import("react").JSX.Element;
740
757
  //#endregion
741
758
  //#region src/components/terminal/StatusLine.d.ts
742
759
  interface TerminalStatusLineProps {
@@ -1024,7 +1041,12 @@ interface ContextDialogProps {
1024
1041
  onOpenChange: (open: boolean) => void;
1025
1042
  className?: string;
1026
1043
  }
1044
+ interface ContextPanelProps {
1045
+ usage?: ContextUsage;
1046
+ engine?: ProfileEngine;
1047
+ }
1027
1048
  declare function ContextDialog({ usage, engine, open, onOpenChange, className }: ContextDialogProps): import("react").JSX.Element;
1049
+ declare function ContextPanel({ usage, engine }: ContextPanelProps): import("react").JSX.Element;
1028
1050
  //#endregion
1029
1051
  //#region src/components/agent/UsageDialog.d.ts
1030
1052
  interface UsageDialogProps {
@@ -1081,7 +1103,14 @@ interface SessionInfoDialogProps {
1081
1103
  open: boolean;
1082
1104
  onOpenChange: (open: boolean) => void;
1083
1105
  }
1106
+ interface SessionInfoPanelProps {
1107
+ state: TranscriptState;
1108
+ client: WorkerDeckClient;
1109
+ sessionId: string | undefined;
1110
+ active?: boolean;
1111
+ }
1084
1112
  declare function SessionInfoDialog({ state, client, sessionId, open, onOpenChange }: SessionInfoDialogProps): import("react").JSX.Element;
1113
+ declare function SessionInfoPanel({ state, client, sessionId, active }: SessionInfoPanelProps): import("react").JSX.Element;
1085
1114
  //#endregion
1086
1115
  //#region src/components/agent/McpDialog.d.ts
1087
1116
  interface McpDialogProps {
@@ -1092,7 +1121,31 @@ interface McpDialogProps {
1092
1121
  canManageServers?: boolean;
1093
1122
  className?: string;
1094
1123
  }
1124
+ interface McpPanelModel {
1125
+ servers: McpServerStatusInfo[] | undefined;
1126
+ server: McpServerStatusInfo | undefined;
1127
+ tool: McpServerToolInfo | undefined;
1128
+ loading: boolean;
1129
+ busyServer: string | undefined;
1130
+ error: string | undefined;
1131
+ title: string;
1132
+ description: string | undefined;
1133
+ selectServer: (name: string | undefined) => void;
1134
+ selectTool: (name: string | undefined) => void;
1135
+ back: (() => void) | undefined;
1136
+ reload: () => void;
1137
+ act: (name: string, action: McpServerActionRequest['action']) => Promise<void>;
1138
+ }
1139
+ interface McpPanelProps {
1140
+ model: McpPanelModel;
1141
+ canManageServers?: boolean;
1142
+ }
1095
1143
  declare function McpDialog({ client, sessionId, open, onOpenChange, canManageServers, className }: McpDialogProps): import("react").JSX.Element;
1144
+ declare function useMcpPanel(client: WorkerDeckClient | undefined, sessionId: string | undefined, active?: boolean): McpPanelModel;
1145
+ declare function McpPanelActions({ model }: {
1146
+ model: McpPanelModel;
1147
+ }): import("react").JSX.Element;
1148
+ declare function McpPanel({ model, canManageServers }: McpPanelProps): import("react").JSX.Element;
1096
1149
  //#endregion
1097
1150
  //#region src/components/agent/SkillsDialog.d.ts
1098
1151
  interface SkillsDialogProps {
@@ -1132,6 +1185,39 @@ interface SessionListProps {
1132
1185
  }
1133
1186
  declare function SessionList({ sessions, activeId, onSelect, onDelete, emptyText, className }: SessionListProps): import("react").JSX.Element;
1134
1187
  //#endregion
1188
+ //#region src/components/agent/SessionItem.d.ts
1189
+ type SelectModifiers = {
1190
+ meta: boolean;
1191
+ ctrl: boolean;
1192
+ alt: boolean;
1193
+ };
1194
+ interface SessionItemProps {
1195
+ row: SessionRow;
1196
+ active?: boolean;
1197
+ activeStepKey?: string;
1198
+ showGateway?: boolean;
1199
+ showProject?: boolean;
1200
+ projectIcons?: Record<string, string>;
1201
+ subagents?: SubagentDisplay;
1202
+ shells?: StepDisplay;
1203
+ tasks?: StepDisplay;
1204
+ onSelect?: (modifiers: SelectModifiers) => void;
1205
+ onSelectSubagent?: (toolUseId: string) => void;
1206
+ onSelectTask?: (task: SessionTask) => void;
1207
+ onStopTask?: (toolUseId: string) => void;
1208
+ onSelectShell?: (shellId: string) => void;
1209
+ onKillShell?: (shellId: string) => void;
1210
+ onShellAgentWrite?: (shellId: string, enabled: boolean) => void;
1211
+ now?: number;
1212
+ onRename?: (title: string) => void;
1213
+ renameOn?: 'doubleClick' | 'external';
1214
+ editing?: boolean;
1215
+ onEditingChange?: (editing: boolean) => void;
1216
+ actions?: ReactNode;
1217
+ className?: string;
1218
+ }
1219
+ declare function SessionItem({ row, active, activeStepKey, showGateway, showProject, projectIcons, subagents, shells, tasks, onSelect, onSelectSubagent, onSelectTask, onStopTask, onSelectShell, onKillShell, onShellAgentWrite, now, onRename, renameOn, editing, onEditingChange, actions, className }: SessionItemProps): import("react").JSX.Element;
1220
+ //#endregion
1135
1221
  //#region src/components/agent/SessionStatusIcon.d.ts
1136
1222
  declare function SessionStatusIcon({ row, className }: {
1137
1223
  row: SessionRow;
@@ -1148,50 +1234,64 @@ interface SessionBrowserProps {
1148
1234
  activeSubagentId?: string;
1149
1235
  activeShellId?: string;
1150
1236
  now?: number;
1151
- onSelect?: (row: SessionRow) => void;
1237
+ isActive?: (row: SessionRow) => boolean;
1238
+ rowActions?: (row: SessionRow) => ReactNode;
1239
+ gatewayCount?: number;
1240
+ showSubset?: boolean;
1241
+ onSelect?: (row: SessionRow, modifiers: SelectModifiers) => void;
1152
1242
  onDelete?: (row: SessionRow) => void;
1153
1243
  onRename?: (row: SessionRow, title: string) => void;
1154
1244
  onClearContext?: (row: SessionRow) => void;
1155
1245
  onSelectSubagent?: (row: SessionRow, toolUseId: string) => void;
1246
+ onSelectTask?: (row: SessionRow, task: SessionTask) => void;
1247
+ onStopTask?: (row: SessionRow, toolUseId: string) => void;
1156
1248
  onSelectShell?: (row: SessionRow, shellId: string) => void;
1157
1249
  onKillShell?: (row: SessionRow, shellId: string) => void;
1158
1250
  onShellAgentWrite?: (row: SessionRow, shellId: string, enabled: boolean) => void;
1159
- emptyState?: React.ReactNode;
1251
+ emptyState?: ReactNode;
1160
1252
  showControls?: boolean;
1253
+ showSearch?: boolean;
1254
+ autoFocusSearch?: boolean;
1161
1255
  projectIcons?: Record<string, string>;
1162
1256
  className?: string;
1163
1257
  }
1164
1258
  declare function rowShapeClass(active: boolean): string;
1165
- declare function SessionBrowser({ rows, config, onConfigChange, scope, activeId, activeSubagentId, activeShellId, now, onSelect, onDelete, onRename, onClearContext, onSelectSubagent, onSelectShell, onKillShell, onShellAgentWrite, emptyState, showControls, projectIcons, className }: SessionBrowserProps): import("react").JSX.Element;
1259
+ declare function SessionBrowser({ rows, config, onConfigChange, scope, activeId, activeSubagentId, activeShellId, now, isActive, rowActions, gatewayCount, showSubset, onSelect, onDelete, onRename, onClearContext, onSelectSubagent, onSelectTask, onStopTask, onSelectShell, onKillShell, onShellAgentWrite, emptyState, showControls, showSearch, autoFocusSearch, projectIcons, className }: SessionBrowserProps): import("react").JSX.Element;
1260
+ declare function SessionSearch({ value, onChange, autoFocus, className, inputClassName }: {
1261
+ value: string;
1262
+ onChange: (value: string) => void;
1263
+ autoFocus?: boolean;
1264
+ className?: string;
1265
+ inputClassName?: string;
1266
+ }): import("react").JSX.Element;
1166
1267
  //#endregion
1167
- //#region src/components/agent/SessionItem.d.ts
1168
- type SelectModifiers = {
1169
- meta: boolean;
1170
- ctrl: boolean;
1171
- alt: boolean;
1172
- };
1173
- interface SessionItemProps {
1174
- row: SessionRow;
1175
- active?: boolean;
1176
- activeStepKey?: string;
1177
- showGateway?: boolean;
1178
- showProject?: boolean;
1179
- projectIcons?: Record<string, string>;
1180
- subagents?: SubagentDisplay;
1181
- onSelect?: (modifiers: SelectModifiers) => void;
1182
- onSelectSubagent?: (toolUseId: string) => void;
1183
- onSelectShell?: (shellId: string) => void;
1184
- onKillShell?: (shellId: string) => void;
1185
- onShellAgentWrite?: (shellId: string, enabled: boolean) => void;
1186
- now?: number;
1187
- onRename?: (title: string) => void;
1188
- renameOn?: 'doubleClick' | 'external';
1189
- editing?: boolean;
1190
- onEditingChange?: (editing: boolean) => void;
1191
- actions?: ReactNode;
1268
+ //#region src/components/agent/SessionFilters.d.ts
1269
+ type SessionFiltersProps = {
1270
+ config: ViewConfig;
1271
+ onConfigChange: (config: ViewConfig) => void;
1272
+ rows: readonly SessionRow[];
1273
+ scope?: WorkspaceScope;
1274
+ gateways?: readonly {
1275
+ id: string;
1276
+ name: string;
1277
+ }[];
1192
1278
  className?: string;
1193
- }
1194
- declare function SessionItem({ row, active, activeStepKey, showGateway, showProject, projectIcons, subagents, onSelect, onSelectSubagent, onSelectShell, onKillShell, onShellAgentWrite, now, onRename, renameOn, editing, onEditingChange, actions, className }: SessionItemProps): import("react").JSX.Element;
1279
+ };
1280
+ declare const STEP_DISPLAY_OPTIONS: readonly {
1281
+ value: StepDisplay;
1282
+ label: string;
1283
+ }[];
1284
+ declare function SessionFilters({ config, onConfigChange, rows, scope, gateways: gatewaysProp, className }: SessionFiltersProps): import("react").JSX.Element;
1285
+ type SessionFiltersButtonProps = SessionFiltersProps & {
1286
+ open?: boolean;
1287
+ onOpenChange?: (open: boolean) => void;
1288
+ };
1289
+ declare function SessionFiltersButton({ open, onOpenChange, className, ...props }: SessionFiltersButtonProps): import("react").JSX.Element;
1290
+ declare function StepDisplayControl({ label, value, onChange }: {
1291
+ label: string;
1292
+ value: StepDisplay;
1293
+ onChange: (value: StepDisplay) => void;
1294
+ }): import("react").JSX.Element;
1195
1295
  //#endregion
1196
1296
  //#region src/components/agent/EngineIcon.d.ts
1197
1297
  declare function engineMark(engine: string, model?: string): string | undefined;
@@ -1204,17 +1304,18 @@ declare function EngineIcon({ engine, model, className }: {
1204
1304
  }): import("react").JSX.Element;
1205
1305
  //#endregion
1206
1306
  //#region src/components/agent/SessionSteps.d.ts
1207
- type StepKind = 'agent' | 'shell';
1307
+ type StepKind = 'agent' | 'shell' | 'task';
1208
1308
  type Step = {
1209
1309
  key: string;
1210
1310
  kind: StepKind;
1211
1311
  label: string;
1212
1312
  noun: string;
1213
- state: 'done' | 'running' | 'failed';
1313
+ state: 'done' | 'running' | 'failed' | 'pending';
1214
1314
  detail?: string;
1215
1315
  title: string;
1216
1316
  onSelect: () => void;
1217
1317
  onKill?: () => void;
1318
+ killLabel?: string;
1218
1319
  agentWrite?: {
1219
1320
  granted: boolean;
1220
1321
  label: string;
@@ -1223,11 +1324,18 @@ type Step = {
1223
1324
  };
1224
1325
  type ShellStepOptions = {
1225
1326
  now: number;
1327
+ show?: StepDisplay;
1226
1328
  onSelect: (shellId: string) => void;
1227
1329
  onKill?: (shellId: string) => void;
1228
1330
  onAgentWrite?: (shellId: string, enabled: boolean) => void;
1229
1331
  };
1230
- declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string) => void, show?: SubagentDisplay, shells?: ShellStepOptions): Step[];
1332
+ type TaskStepOptions = {
1333
+ show: StepDisplay;
1334
+ live: boolean;
1335
+ onSelect: (task: SessionTask) => void;
1336
+ onStop?: (toolUseId: string) => void;
1337
+ };
1338
+ declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string) => void, show?: SubagentDisplay, shells?: ShellStepOptions, tasks?: TaskStepOptions): Step[];
1231
1339
  declare function StepRow({ step, active, onSelect }: {
1232
1340
  step: Step;
1233
1341
  active?: boolean;
@@ -1387,5 +1495,5 @@ declare function copyText(value: string): Promise<boolean>;
1387
1495
  declare function toolIcon(toolName: string): LucideIcon;
1388
1496
  declare function isMutatingTool(toolName: string): boolean;
1389
1497
  //#endregion
1390
- export { type ActionPlacement, AgentWriteIcon, AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, type ApprovalPromptProps, Badge, type BadgeProps, Band, Blank, Button, type ButtonProps, Card, CardContent, CardHeader, CardTitle, type ChipSegment, type ClientCommand, CodeBlock, type CodeBlockProps, Composer, type ComposerFileMatch, type ComposerHandle, type ComposerProps, type ComposerRow, ContextDialog, type ContextDialogProps, ContextRing, Conversation, ConversationContent, type ConversationProps, ConversationScrollButton, CopyAction, CopyButton, type CopyButtonProps, Dialog, DialogBody, DialogClose, DialogContent, DialogHeader, DialogRow, DialogTrigger, Empty, EmptyKey, EngineIcon, FileCard, type FileCardProps, type FileDeliveredItem, type FileLink, type FileLinkHandle, type FileLinkOpener, FileLinkProvider, HostFilesDialog, type HostFilesDialogProps, ImageViewer, ImageViewerProvider, Ink, Input, Loader, McpDialog, type McpDialogProps, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, type MessageProps, ModelSelect, type ModelSelectProps, type OpenImage, PERMISSION_MODES, type PathHit, type PathMatch, type PermissionModeChoice, type PermissionModeMeta, PermissionModeSelect, type PermissionModeSelectProps, PermissionPrompt, type PermissionPromptProps, ProgressRing, type ProgressRingProps, ProjectIcon, PromptArea, type PromptAreaHandle, type PromptAreaProps, PromptTokenText, QUESTION_BEHAVIORS, type QuestionBehaviorMeta, QuestionPrompt, type QuestionPromptProps, Reasoning, type ReasoningProps, Response, type ResponseProps, Row, type RowProps, SHELL_AGENT_WRITE_NOTE, SHELL_GLYPH, SHELL_KILL_GLYPH, STATUS_META, SUBAGENT_DISPLAY_META, SUBAGENT_DISPLAY_ORDER, type Segment, Select, SelectContent, SelectItem, SelectItemText, type SelectModifiers, SelectTrigger, SelectValue, SessionBrowser, type SessionBrowserProps, type SessionControls, SessionEmptyState, type SessionEmptyStateProps, SessionInfoDialog, type SessionInfoDialogProps, SessionItem, type SessionItemProps, SessionList, SessionListItem, type SessionListItemProps, type SessionListProps, SessionNamesProvider, SessionPanel, type SessionPanelProps, SessionStatusIcon, type SessionSurfacePanel, type SessionVitals, type ShellActions, ShellActionsProvider, type ShellFrame, type ShellFrameOptions, type ShellStepOptions, ShellStrip, type ShellStripProps, SkillNamesProvider, SkillsDialog, type SkillsDialogProps, Spinner, Splitter, type SplitterProps, StatusBar, type StatusBarProps, type Step, type StepKind, StepRow, SubagentDisplayIcon, SubagentStrip, SubagentToggle, type SubagentToggleProps, TaskList, type TaskListProps, TasksDialog, type TasksDialogProps, type TerminalAffordances, TerminalDiff, TerminalItemView, TerminalMarkdown, type TerminalMarkdownProps, type TerminalMetrics, TerminalPermissionPrompt, type TerminalPermissionPromptProps, TerminalQuestionPrompt, type TerminalQuestionPromptProps, TerminalStatusLine, type TerminalStatusLineProps, TerminalSurface, type TerminalSurfaceProps, TerminalTranscript, type TerminalTranscriptProps, type TextSegment, Textarea, Tip, Toaster, type Tone, ToolCallCard, type ToolCallCardProps, type ToolCallItem, ToolTitleProvider, TooltipContent, TooltipProvider, Transcript, type TranscriptFont, type TranscriptProps, type TranscriptVariant, TranscriptVariantProvider, type TriggerConfig, type TriggerSuggestion, UsageDialog, type UsageDialogProps, UsageMeters, ViewableImage, type ViewedImage, WithActions, badgeVariants, buttonVariants, cn, commandTrigger, copyText, engineMark, formatAgoPrecise, formatBytes, formatCost, formatCountdown, formatDuration, formatRateLimitWindow, formatRateLimitWindowLong, formatRelativeTime, formatTokens, friendlyModel, getChipsByTrigger, hashtagTrigger, isMutatingTool, isSegmentsEmpty, launchTrigger, matchClientCommand, matchPath, mentionTrigger, mergeComposerRows, parseFileLink, parseUserQuestions, permissionModeChoices, permissionModeMeta, plainTextToSegments, previewPatch, rankComposerRows, rankPeerSessions, rateLimitWindowSeconds, resolveAgainstCwd, rowShapeClass, segmentsToPlainText, sessionSteps, shellAgentWriteLabel, shellGrantable, shellInfoFailed, shellInfoLabel, shellInfoStatusText, shellTitle, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMinuteClock, useOpenImage, usePathLinks, usePromptAreaState, useShellActions, useShellFrame, useToolTitle, useTranscriptVariant, vendorMarkClass, vendorTextClass };
1498
+ export { type ActionPlacement, AgentWriteIcon, AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, type ApprovalPromptProps, Badge, type BadgeProps, Band, Blank, Button, type ButtonProps, Card, CardContent, CardHeader, CardTitle, type ChipSegment, type ClientCommand, CodeBlock, type CodeBlockProps, Composer, type ComposerFileMatch, type ComposerHandle, type ComposerProps, type ComposerRow, ContextDialog, type ContextDialogProps, ContextPanel, type ContextPanelProps, ContextRing, Conversation, ConversationContent, type ConversationProps, ConversationScrollButton, CopyAction, CopyButton, type CopyButtonProps, Dialog, DialogBody, DialogClose, DialogContent, DialogHeader, DialogRow, DialogTrigger, Empty, EmptyKey, EngineIcon, FileCard, type FileCardProps, type FileDeliveredItem, type FileLink, type FileLinkHandle, type FileLinkOpener, FileLinkProvider, HostFilesDialog, type HostFilesDialogProps, ImageViewer, ImageViewerProvider, Ink, Input, Loader, McpDialog, type McpDialogProps, McpPanel, McpPanelActions, type McpPanelModel, type McpPanelProps, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, type MessageProps, ModelSelect, type ModelSelectProps, type OpenImage, OptionSelect, type OptionSelectProps, PERMISSION_MODES, type PathHit, type PathMatch, type PermissionModeChoice, type PermissionModeMeta, PermissionModeSelect, type PermissionModeSelectProps, PermissionPrompt, type PermissionPromptProps, Popover, PopoverContent, PopoverTrigger, ProgressRing, type ProgressRingProps, ProjectIcon, PromptArea, type PromptAreaHandle, type PromptAreaProps, PromptTokenText, QUESTION_BEHAVIORS, type QuestionBehaviorMeta, QuestionPrompt, type QuestionPromptProps, Reasoning, type ReasoningProps, Response, type ResponseProps, Row, type RowProps, SHELL_AGENT_WRITE_NOTE, SHELL_GLYPH, SHELL_KILL_GLYPH, STATUS_META, STEP_DISPLAY_OPTIONS, SUBAGENT_DISPLAY_META, SUBAGENT_DISPLAY_ORDER, type Segment, Select, SelectContent, SelectItem, SelectItemText, type SelectModifiers, SelectTrigger, SelectValue, SessionBrowser, type SessionBrowserProps, type SessionControls, SessionEmptyState, type SessionEmptyStateProps, SessionFilters, SessionFiltersButton, type SessionFiltersButtonProps, type SessionFiltersProps, SessionInfoDialog, type SessionInfoDialogProps, SessionInfoPanel, type SessionInfoPanelProps, SessionItem, type SessionItemProps, SessionList, SessionListItem, type SessionListItemProps, type SessionListProps, SessionNamesProvider, SessionPanel, type SessionPanelProps, SessionSearch, SessionStatusIcon, type SessionSurfacePanel, type SessionVitals, type ShellActions, ShellActionsProvider, type ShellFrame, type ShellFrameOptions, type ShellStepOptions, ShellStrip, type ShellStripProps, SkillNamesProvider, SkillsDialog, type SkillsDialogProps, Spinner, Splitter, type SplitterProps, StatusBar, type StatusBarProps, type Step, StepDisplayControl, type StepKind, StepRow, SubagentDisplayIcon, SubagentStrip, SubagentToggle, type SubagentToggleProps, TaskList, type TaskListProps, type TaskStepOptions, TasksDialog, type TasksDialogProps, type TerminalAffordances, TerminalDiff, TerminalItemView, TerminalMarkdown, type TerminalMarkdownProps, type TerminalMetrics, TerminalPermissionPrompt, type TerminalPermissionPromptProps, TerminalQuestionPrompt, type TerminalQuestionPromptProps, TerminalStatusLine, type TerminalStatusLineProps, TerminalSurface, type TerminalSurfaceProps, TerminalTranscript, type TerminalTranscriptProps, type TextSegment, Textarea, Tip, Toaster, type Tone, ToolCallCard, type ToolCallCardProps, type ToolCallItem, ToolTitleProvider, TooltipContent, TooltipProvider, Transcript, type TranscriptFont, type TranscriptProps, type TranscriptVariant, TranscriptVariantProvider, type TriggerConfig, type TriggerSuggestion, UsageDialog, type UsageDialogProps, UsageMeters, ViewableImage, type ViewedImage, WithActions, badgeVariants, buttonVariants, cn, commandTrigger, copyText, engineMark, formatAgoPrecise, formatBytes, formatCost, formatCountdown, formatDuration, formatRateLimitWindow, formatRateLimitWindowLong, formatRelativeTime, formatTokens, friendlyModel, getChipsByTrigger, hashtagTrigger, isMutatingTool, isSegmentsEmpty, launchTrigger, matchClientCommand, matchPath, mentionTrigger, mergeComposerRows, parseFileLink, parseUserQuestions, permissionModeChoices, permissionModeMeta, plainTextToSegments, previewPatch, rankComposerRows, rankPeerSessions, rateLimitWindowSeconds, resolveAgainstCwd, rowShapeClass, segmentsToPlainText, sessionSteps, shellAgentWriteLabel, shellGrantable, shellInfoFailed, shellInfoLabel, shellInfoStatusText, shellTitle, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMcpPanel, useMinuteClock, useOpenImage, usePathLinks, usePromptAreaState, useShellActions, useShellFrame, useToolTitle, useTranscriptVariant, vendorMarkClass, vendorTextClass };
1391
1499
  //# sourceMappingURL=index.d.mts.map