@workerdeck/ui 2.15.0 → 3.1.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 (75) hide show
  1. package/README.md +6 -5
  2. package/build/{SessionPanel-BVKqPs_3.d.mts → SessionPanel-BNNc8grK.d.mts} +18 -16
  3. package/build/index.d.mts +194 -49
  4. package/build/index.mjs +562 -260
  5. package/build/index.mjs.map +1 -1
  6. package/build/scoped.css +170 -21
  7. package/build/{use-path-links-BgWXmfAS.mjs → use-path-links-C6Fh5zdx.mjs} +3312 -2758
  8. package/build/use-path-links-C6Fh5zdx.mjs.map +1 -0
  9. package/build/workspace.d.mts +3 -3
  10. package/build/workspace.mjs +3 -3
  11. package/build/workspace.mjs.map +1 -1
  12. package/package.json +4 -4
  13. package/src/components/agent/ApprovalPrompts.tsx +87 -0
  14. package/src/components/agent/Composer.tsx +25 -47
  15. package/src/components/agent/ContextDialog.tsx +75 -67
  16. package/src/components/agent/FrameStrip.tsx +74 -0
  17. package/src/components/agent/HostFilesDialog.tsx +3 -2
  18. package/src/components/agent/McpDialog.tsx +112 -78
  19. package/src/components/agent/PermissionPrompt.tsx +22 -17
  20. package/src/components/agent/QuestionPrompt.tsx +6 -41
  21. package/src/components/agent/Response.tsx +8 -1
  22. package/src/components/agent/Scrubber.tsx +6 -75
  23. package/src/components/agent/SessionBrowser.tsx +131 -214
  24. package/src/components/agent/SessionFilters.tsx +266 -0
  25. package/src/components/agent/SessionInfoDialog.tsx +47 -63
  26. package/src/components/agent/SessionItem.tsx +29 -6
  27. package/src/components/agent/SessionPanel.tsx +249 -498
  28. package/src/components/agent/SessionSteps.tsx +98 -14
  29. package/src/components/agent/SessionWorkspace.tsx +3 -3
  30. package/src/components/agent/ShellStrip.tsx +43 -36
  31. package/src/components/agent/ShellTerminal.tsx +1 -1
  32. package/src/components/agent/SubagentStrip.tsx +13 -30
  33. package/src/components/agent/ToolCallCard.tsx +18 -41
  34. package/src/components/agent/Transcript.tsx +111 -93
  35. package/src/components/agent/TranscriptItemView.tsx +80 -67
  36. package/src/components/agent/TranscriptRows.tsx +4 -2
  37. package/src/components/agent/composer-commands.ts +80 -1
  38. package/src/components/agent/image-viewer.tsx +326 -0
  39. package/src/components/agent/markdown-image.tsx +139 -0
  40. package/src/components/agent/scrubber-marks.ts +33 -11
  41. package/src/components/agent/scrubber-peek.tsx +122 -0
  42. package/src/components/agent/session-panel-providers.tsx +41 -0
  43. package/src/components/agent/shell-actions.tsx +38 -1
  44. package/src/components/agent/tool-result-image.tsx +40 -0
  45. package/src/components/agent/transcript-variant.tsx +3 -21
  46. package/src/components/agent/use-catch-up.ts +20 -0
  47. package/src/components/agent/use-frame.ts +88 -0
  48. package/src/components/agent/use-host-image.ts +81 -0
  49. package/src/components/agent/use-shell-frame.ts +12 -70
  50. package/src/components/agent/use-subagent-frame.ts +19 -75
  51. package/src/components/prompt-area/prompt-area-engine.ts +21 -20
  52. package/src/components/prompt-area/prompt-area-list-ops.ts +12 -15
  53. package/src/components/prompt-area/use-prompt-area-keydown.ts +4 -2
  54. package/src/components/terminal/PermissionPrompt.tsx +31 -28
  55. package/src/components/terminal/QuestionPrompt.tsx +10 -46
  56. package/src/components/terminal/TerminalTranscript.tsx +23 -89
  57. package/src/components/terminal/affordances.tsx +100 -74
  58. package/src/components/terminal/height.ts +48 -32
  59. package/src/components/terminal/image-box.ts +31 -0
  60. package/src/components/terminal/items.tsx +70 -30
  61. package/src/components/terminal/markdown.tsx +4 -1
  62. package/src/components/terminal/scrubber.tsx +25 -272
  63. package/src/components/terminal/shell-row.ts +17 -3
  64. package/src/components/ui/Popover.tsx +29 -0
  65. package/src/components/ui/Select.tsx +25 -0
  66. package/src/index.ts +65 -12
  67. package/src/lib/file-link.ts +3 -16
  68. package/src/lib/permission-prompt.ts +57 -0
  69. package/src/lib/question-answers.ts +65 -0
  70. package/src/lib/shell-request.ts +115 -0
  71. package/src/lib/tool-icon.ts +13 -1
  72. package/src/styles/terminal.css +129 -22
  73. package/src/styles/theme.css +4 -0
  74. package/build/use-path-links-BgWXmfAS.mjs.map +0 -1
  75. package/src/components/prompt-area/use-markdown-mode.ts +0 -103
package/README.md CHANGED
@@ -160,7 +160,7 @@ lose by forgetting a second mount isn't one.
160
160
  - **The panel owns the session's one attach.** External chrome reads live values through
161
161
  `onVitals` and changes them through `onControls`; opening a second attach to render a status bar
162
162
  means the tool bridge may ask the wrong client.
163
- - **`transcriptVariant` and `transcriptDensity` ride context, not props.** A row component composed
163
+ - **`transcriptVariant` rides context, not a prop.** A row component composed
164
164
  by hand still gets the right treatment; restyling `data-slot`s from outside is not the seam.
165
165
  - **`statusSurface: 'external'` takes the `⋯` menu's only home with it.** Combining it with
166
166
  `panelSurface: 'internal'` needs a *function* `header` to receive the menu, or those panels
@@ -173,9 +173,9 @@ lose by forgetting a second mount isn't one.
173
173
  prompts and the composer each establish their own cell, because each sits in a different part of
174
174
  the flex column. `terminalMetrics` is one prop for exactly that reason: hand two of them
175
175
  different numbers and the caret lands on a different column from the text above it.
176
- - **`transcriptDensity` and `transcriptFont` reach `cards` only.** A terminal has one line height
177
- and is monospace by construction. Under `terminal` both are inert rather than broken - a host
178
- offering them as settings should say so, or hide them (the dashboard hides them).
176
+ - **`transcriptFont` reaches `cards` only.** A terminal has one line height
177
+ and is monospace by construction. Under `terminal` it is inert rather than broken - a host
178
+ offering it as a setting should say so, or hide it (the dashboard hides it).
179
179
  - **`unseen` is catch-up mode's whole switch.** Passing a watermark draws the boundary, fades what
180
180
  was already read and offers the "N new rows since you were last here" bar; passing `undefined`
181
181
  draws none of it. The mark is frozen at mount, so it never walks down the transcript under the
@@ -227,7 +227,8 @@ lose by forgetting a second mount isn't one.
227
227
  would be authoritative-looking and wrong. A patch whose hunks all start at 0 (an approval, where
228
228
  the edit has not happened yet) renders *without* a number column rather than a column of zeroes.
229
229
  - **Affordances cost no layout, which is what makes `false` a real option.** The hover fill is a
230
- background and the copy actions are absolutely-positioned overlays one line tall, so
230
+ background and the action buttons are absolutely-positioned overlays one line tall, in the blank
231
+ line under their block, so
231
232
  `affordances={false}` changes no glyph's position - it is the pure article, not a degraded mode.
232
233
  - **Keep `monaco-editor` unreachable from `src/index.ts`.** Tree-shaking does not cover it: Vite
233
234
  resolves Monaco's worker `new URL(...)`s while *transforming* the module, before shaking, and
@@ -91,17 +91,24 @@ declare function PermissionModeSelect({ mode, onModeChange, modes, canBypass, va
91
91
  type TerminalAffordances = {
92
92
  hover?: boolean;
93
93
  actions?: boolean;
94
+ labels?: boolean;
94
95
  };
95
96
  declare function useAffordances(): Required<TerminalAffordances>;
96
- declare function WithActions({ actions, children, className }: {
97
+ type ActionPlacement = 'below' | 'inline';
98
+ declare function WithActions({ actions, children, className, placement }: {
97
99
  actions: ReactNode;
98
100
  children: ReactNode;
99
101
  className?: string;
102
+ placement?: ActionPlacement;
100
103
  }): import("react").JSX.Element;
101
104
  declare function CopyAction({ text, label }: {
102
105
  text: string;
103
106
  label?: string;
104
107
  }): import("react").JSX.Element;
108
+ declare function AgentWriteIcon({ granted, className }: {
109
+ granted: boolean;
110
+ className?: string;
111
+ }): import("react").JSX.Element;
105
112
  //#endregion
106
113
  //#region src/components/terminal/file-link.d.ts
107
114
  type FileLinkOpener = (path: string, line?: number) => void;
@@ -115,6 +122,13 @@ declare function FileLinkProvider({ value, children }: {
115
122
  }): import("react").JSX.Element;
116
123
  declare function useFileLinks(): FileLinkHandle | undefined;
117
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
118
132
  //#region src/components/agent/transcript-variant.d.ts
119
133
  type TranscriptVariant = 'cards' | 'terminal';
120
134
  declare function TranscriptVariantProvider({ value, children }: {
@@ -122,12 +136,6 @@ declare function TranscriptVariantProvider({ value, children }: {
122
136
  children: ReactNode;
123
137
  }): import("react").JSX.Element;
124
138
  declare function useTranscriptVariant(): TranscriptVariant;
125
- type TranscriptDensity = 'comfortable' | 'compact';
126
- declare function TranscriptDensityProvider({ value, children }: {
127
- value: TranscriptDensity;
128
- children: ReactNode;
129
- }): import("react").JSX.Element;
130
- declare function useTranscriptDensity(): TranscriptDensity;
131
139
  type TranscriptFont = 'sans' | 'mono';
132
140
  //#endregion
133
141
  //#region src/components/agent/SessionPanel.d.ts
@@ -135,11 +143,6 @@ type TerminalMetrics = {
135
143
  fontSize?: number;
136
144
  lineHeight?: number;
137
145
  };
138
- interface ApprovalPromptProps {
139
- request: PermissionRequest;
140
- onApprove: (requestId: string, updatedInput?: Record<string, unknown>) => void;
141
- onDeny: (requestId: string, message?: string, interrupt?: boolean) => void;
142
- }
143
146
  interface SessionPanelProps {
144
147
  client: WorkerDeckClient;
145
148
  sessionId: string | undefined;
@@ -176,7 +179,6 @@ interface SessionPanelProps {
176
179
  subagents?: SubagentInfo[];
177
180
  shells?: ShellInfo[];
178
181
  stickyPrompt?: boolean;
179
- transcriptDensity?: TranscriptDensity;
180
182
  transcriptFont?: TranscriptFont;
181
183
  controlsSurface?: 'internal' | 'external' | 'status';
182
184
  onControls?: (controls: SessionControls | undefined) => void;
@@ -222,7 +224,7 @@ type SessionVitals = {
222
224
  itemCount: number;
223
225
  totalCostUsd: number;
224
226
  };
225
- declare function SessionPanel({ client, sessionId, header, panelSurface, statusSurface, statusPlacement, onOpenPanel, onVitals, transcriptVariant, transcriptDensity, 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;
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 { ClientCommand as A, PERMISSION_MODES as C, PermissionModeSelectProps as D, PermissionModeSelect as E, rankPeerSessions as F, skillPrompt as I, matchClientCommand as M, mergeComposerRows as N, permissionModeChoices as O, rankComposerRows as P, useAffordances as S, PermissionModeMeta as T, FileLinkProvider as _, SessionSurfacePanel as a, TerminalAffordances as b, TranscriptDensity as c, TranscriptVariant as d, TranscriptVariantProvider as f, FileLinkOpener as g, FileLinkHandle as h, SessionPanelProps as i, ComposerRow as j, permissionModeMeta as k, TranscriptDensityProvider as l, useTranscriptVariant as m, SessionControls as n, SessionVitals as o, useTranscriptDensity as p, SessionPanel as r, TerminalMetrics as s, ApprovalPromptProps as t, TranscriptFont as u, useFileLinks as v, PermissionModeChoice as w, WithActions as x, CopyAction as y };
228
- //# sourceMappingURL=SessionPanel-BVKqPs_3.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 ClientCommand, C as PERMISSION_MODES, D as PermissionModeSelectProps, E as PermissionModeSelect, F as rankPeerSessions, I as skillPrompt, M as matchClientCommand, N as mergeComposerRows, O as permissionModeChoices, P as rankComposerRows, S as useAffordances, T as PermissionModeMeta, _ as FileLinkProvider, a as SessionSurfacePanel, b as TerminalAffordances, c as TranscriptDensity, d as TranscriptVariant, f as TranscriptVariantProvider, g as FileLinkOpener, h as FileLinkHandle, i as SessionPanelProps, j as ComposerRow, k as permissionModeMeta, l as TranscriptDensityProvider, m as useTranscriptVariant, n as SessionControls, o as SessionVitals, p as useTranscriptDensity, r as SessionPanel, s as TerminalMetrics, t as ApprovalPromptProps, u as TranscriptFont, v as useFileLinks, w as PermissionModeChoice, x as WithActions, y as CopyAction } from "./SessionPanel-BVKqPs_3.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;
@@ -686,7 +703,6 @@ interface TranscriptProps {
686
703
  canBrowseFiles?: boolean;
687
704
  hostImage?: (path: string) => Promise<string | undefined>;
688
705
  variant?: TranscriptVariant;
689
- density?: TranscriptDensity;
690
706
  fontSize?: number;
691
707
  lineHeight?: number;
692
708
  affordances?: TerminalAffordances | boolean;
@@ -712,7 +728,16 @@ interface TranscriptProps {
712
728
  emptyState?: ReactNode;
713
729
  className?: string;
714
730
  }
715
- declare function Transcript({ state, fileUrl, attachmentUrl, canBrowseFiles, hostImage, variant, density, fontSize, lineHeight, affordances, stickyPrompt, scrubber, bookmarks, sessionNames, replaying, catchUp, jumpToRecapRef, repinRef, reveal, frame, onOpenSubagent, emptyState, className }: TranscriptProps): import("react").JSX.Element;
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;
716
741
  //#endregion
717
742
  //#region src/components/terminal/surface.d.ts
718
743
  interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
@@ -724,19 +749,11 @@ interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
724
749
  declare function TerminalSurface({ fontSize, lineHeight, bleed, affordances, className, style, children, ...props }: TerminalSurfaceProps): import("react").JSX.Element;
725
750
  //#endregion
726
751
  //#region src/components/terminal/TerminalTranscript.d.ts
727
- interface TerminalTranscriptProps {
728
- state: TranscriptState;
729
- fileUrl?: (path: string) => string;
730
- fontSize?: number;
731
- lineHeight?: number;
732
- affordances?: TerminalAffordances | boolean;
733
- className?: string;
734
- }
735
- declare function TerminalItemView({ item, fileUrl }: {
752
+ declare function TerminalItemView({ item, fileUrl, attachmentUrl }: {
736
753
  item: TranscriptItem;
737
754
  fileUrl?: (path: string) => string;
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 {
@@ -870,13 +887,16 @@ interface LoaderProps {
870
887
  }
871
888
  declare function Loader({ label, className }: LoaderProps): import("react").JSX.Element;
872
889
  //#endregion
890
+ //#region src/components/agent/tool-result-image.d.ts
891
+ type HostImageLoader = (path: string) => Promise<string | undefined>;
892
+ //#endregion
873
893
  //#region src/components/agent/ToolCallCard.d.ts
874
894
  type ToolCallItem = Extract<TranscriptItem, {
875
895
  kind: 'tool_call';
876
896
  }>;
877
897
  interface ToolCallCardProps {
878
898
  item: ToolCallItem;
879
- hostImage?: (path: string) => Promise<string | undefined>;
899
+ hostImage?: HostImageLoader;
880
900
  className?: string;
881
901
  }
882
902
  declare function ToolCallCard({ item, hostImage, className }: ToolCallCardProps): import("react").JSX.Element;
@@ -888,6 +908,27 @@ declare function ToolTitleProvider({ value, children }: {
888
908
  }): import("react").JSX.Element;
889
909
  declare function useToolTitle(name: string): string | undefined;
890
910
  //#endregion
911
+ //#region src/components/agent/image-viewer.d.ts
912
+ type ViewedImage = {
913
+ src: string;
914
+ name: string;
915
+ };
916
+ type OpenImage = (image: ViewedImage) => void;
917
+ declare function useOpenImage(): OpenImage | undefined;
918
+ declare function ImageViewerProvider({ children }: {
919
+ children: ReactNode;
920
+ }): import("react").JSX.Element;
921
+ declare function ViewableImage({ image, className, children }: {
922
+ image: ViewedImage;
923
+ className?: string;
924
+ children: ReactNode;
925
+ }): import("react").JSX.Element;
926
+ declare function ImageViewer({ image, onClose, className }: {
927
+ image: ViewedImage;
928
+ onClose: () => void;
929
+ className?: string;
930
+ }): import("react").JSX.Element;
931
+ //#endregion
891
932
  //#region src/components/agent/FileCard.d.ts
892
933
  type FileDeliveredItem = Extract<TranscriptItem, {
893
934
  kind: 'file_delivered';
@@ -1000,7 +1041,12 @@ interface ContextDialogProps {
1000
1041
  onOpenChange: (open: boolean) => void;
1001
1042
  className?: string;
1002
1043
  }
1044
+ interface ContextPanelProps {
1045
+ usage?: ContextUsage;
1046
+ engine?: ProfileEngine;
1047
+ }
1003
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;
1004
1050
  //#endregion
1005
1051
  //#region src/components/agent/UsageDialog.d.ts
1006
1052
  interface UsageDialogProps {
@@ -1057,7 +1103,14 @@ interface SessionInfoDialogProps {
1057
1103
  open: boolean;
1058
1104
  onOpenChange: (open: boolean) => void;
1059
1105
  }
1106
+ interface SessionInfoPanelProps {
1107
+ state: TranscriptState;
1108
+ client: WorkerDeckClient;
1109
+ sessionId: string | undefined;
1110
+ active?: boolean;
1111
+ }
1060
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;
1061
1114
  //#endregion
1062
1115
  //#region src/components/agent/McpDialog.d.ts
1063
1116
  interface McpDialogProps {
@@ -1068,7 +1121,31 @@ interface McpDialogProps {
1068
1121
  canManageServers?: boolean;
1069
1122
  className?: string;
1070
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
+ }
1071
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;
1072
1149
  //#endregion
1073
1150
  //#region src/components/agent/SkillsDialog.d.ts
1074
1151
  interface SkillsDialogProps {
@@ -1108,6 +1185,39 @@ interface SessionListProps {
1108
1185
  }
1109
1186
  declare function SessionList({ sessions, activeId, onSelect, onDelete, emptyText, className }: SessionListProps): import("react").JSX.Element;
1110
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
1111
1221
  //#region src/components/agent/SessionStatusIcon.d.ts
1112
1222
  declare function SessionStatusIcon({ row, className }: {
1113
1223
  row: SessionRow;
@@ -1124,48 +1234,64 @@ interface SessionBrowserProps {
1124
1234
  activeSubagentId?: string;
1125
1235
  activeShellId?: string;
1126
1236
  now?: number;
1127
- 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;
1128
1242
  onDelete?: (row: SessionRow) => void;
1129
1243
  onRename?: (row: SessionRow, title: string) => void;
1130
1244
  onClearContext?: (row: SessionRow) => void;
1131
1245
  onSelectSubagent?: (row: SessionRow, toolUseId: string) => void;
1246
+ onSelectTask?: (row: SessionRow, task: SessionTask) => void;
1247
+ onStopTask?: (row: SessionRow, toolUseId: string) => void;
1132
1248
  onSelectShell?: (row: SessionRow, shellId: string) => void;
1133
1249
  onKillShell?: (row: SessionRow, shellId: string) => void;
1134
- emptyState?: React.ReactNode;
1250
+ onShellAgentWrite?: (row: SessionRow, shellId: string, enabled: boolean) => void;
1251
+ emptyState?: ReactNode;
1135
1252
  showControls?: boolean;
1253
+ showSearch?: boolean;
1254
+ autoFocusSearch?: boolean;
1136
1255
  projectIcons?: Record<string, string>;
1137
1256
  className?: string;
1138
1257
  }
1139
1258
  declare function rowShapeClass(active: boolean): string;
1140
- declare function SessionBrowser({ rows, config, onConfigChange, scope, activeId, activeSubagentId, activeShellId, now, onSelect, onDelete, onRename, onClearContext, onSelectSubagent, onSelectShell, onKillShell, 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;
1141
1267
  //#endregion
1142
- //#region src/components/agent/SessionItem.d.ts
1143
- type SelectModifiers = {
1144
- meta: boolean;
1145
- ctrl: boolean;
1146
- alt: boolean;
1147
- };
1148
- interface SessionItemProps {
1149
- row: SessionRow;
1150
- active?: boolean;
1151
- activeStepKey?: string;
1152
- showGateway?: boolean;
1153
- showProject?: boolean;
1154
- projectIcons?: Record<string, string>;
1155
- subagents?: SubagentDisplay;
1156
- onSelect?: (modifiers: SelectModifiers) => void;
1157
- onSelectSubagent?: (toolUseId: string) => void;
1158
- onSelectShell?: (shellId: string) => void;
1159
- onKillShell?: (shellId: string) => void;
1160
- now?: number;
1161
- onRename?: (title: string) => void;
1162
- renameOn?: 'doubleClick' | 'external';
1163
- editing?: boolean;
1164
- onEditingChange?: (editing: boolean) => void;
1165
- 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
+ }[];
1166
1278
  className?: string;
1167
- }
1168
- declare function SessionItem({ row, active, activeStepKey, showGateway, showProject, projectIcons, subagents, onSelect, onSelectSubagent, onSelectShell, onKillShell, 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;
1169
1295
  //#endregion
1170
1296
  //#region src/components/agent/EngineIcon.d.ts
1171
1297
  declare function engineMark(engine: string, model?: string): string | undefined;
@@ -1178,24 +1304,38 @@ declare function EngineIcon({ engine, model, className }: {
1178
1304
  }): import("react").JSX.Element;
1179
1305
  //#endregion
1180
1306
  //#region src/components/agent/SessionSteps.d.ts
1181
- type StepKind = 'agent' | 'shell';
1307
+ type StepKind = 'agent' | 'shell' | 'task';
1182
1308
  type Step = {
1183
1309
  key: string;
1184
1310
  kind: StepKind;
1185
1311
  label: string;
1186
1312
  noun: string;
1187
- state: 'done' | 'running' | 'failed';
1313
+ state: 'done' | 'running' | 'failed' | 'pending';
1188
1314
  detail?: string;
1189
1315
  title: string;
1190
1316
  onSelect: () => void;
1191
1317
  onKill?: () => void;
1318
+ killLabel?: string;
1319
+ agentWrite?: {
1320
+ granted: boolean;
1321
+ label: string;
1322
+ toggle: () => void;
1323
+ };
1192
1324
  };
1193
1325
  type ShellStepOptions = {
1194
1326
  now: number;
1327
+ show?: StepDisplay;
1195
1328
  onSelect: (shellId: string) => void;
1196
1329
  onKill?: (shellId: string) => void;
1330
+ onAgentWrite?: (shellId: string, enabled: boolean) => void;
1331
+ };
1332
+ type TaskStepOptions = {
1333
+ show: StepDisplay;
1334
+ live: boolean;
1335
+ onSelect: (task: SessionTask) => void;
1336
+ onStop?: (toolUseId: string) => void;
1197
1337
  };
1198
- declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string) => void, show?: SubagentDisplay, shells?: ShellStepOptions): Step[];
1338
+ declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string) => void, show?: SubagentDisplay, shells?: ShellStepOptions, tasks?: TaskStepOptions): Step[];
1199
1339
  declare function StepRow({ step, active, onSelect }: {
1200
1340
  step: Step;
1201
1341
  active?: boolean;
@@ -1237,11 +1377,12 @@ interface ShellStripProps {
1237
1377
  cols?: number;
1238
1378
  onBack: () => void;
1239
1379
  onKill?: () => void;
1380
+ onAgentWrite?: (enabled: boolean) => void;
1240
1381
  terminal: boolean;
1241
1382
  fontSize?: number;
1242
1383
  lineHeight?: number;
1243
1384
  }
1244
- declare function ShellStrip({ shell, label, cols, onBack, onKill, terminal, fontSize, lineHeight }: ShellStripProps): import("react").JSX.Element;
1385
+ declare function ShellStrip({ shell, label, cols, onBack, onKill, onAgentWrite, terminal, fontSize, lineHeight }: ShellStripProps): import("react").JSX.Element;
1245
1386
  //#endregion
1246
1387
  //#region src/components/agent/use-shell-frame.d.ts
1247
1388
  type ShellFrameOptions = {
@@ -1278,6 +1419,7 @@ type ShellActions = {
1278
1419
  verify: (shellId: string) => Promise<boolean>;
1279
1420
  kill: (shellId: string) => Promise<boolean>;
1280
1421
  open?: (shellId: string) => void;
1422
+ agentWrite?: (shellId: string, enabled: boolean) => Promise<boolean>;
1281
1423
  };
1282
1424
  declare function ShellActionsProvider({ value, children }: {
1283
1425
  value: ShellActions | undefined;
@@ -1288,6 +1430,9 @@ declare function useShellActions(): ShellActions;
1288
1430
  //#region src/components/terminal/shell-row.d.ts
1289
1431
  declare const SHELL_GLYPH = "$";
1290
1432
  declare const SHELL_KILL_GLYPH = "✕";
1433
+ declare const SHELL_AGENT_WRITE_NOTE = "agent may type";
1434
+ declare function shellGrantable(shell: ShellInfo): boolean;
1435
+ declare function shellAgentWriteLabel(shell: ShellInfo): string;
1291
1436
  declare function shellInfoLabel(shell: ShellInfo): string;
1292
1437
  declare function shellTitle(shell: ShellInfo): string;
1293
1438
  declare function shellInfoFailed(shell: ShellInfo): boolean;
@@ -1350,5 +1495,5 @@ declare function copyText(value: string): Promise<boolean>;
1350
1495
  declare function toolIcon(toolName: string): LucideIcon;
1351
1496
  declare function isMutatingTool(toolName: string): boolean;
1352
1497
  //#endregion
1353
- export { 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, Ink, Input, Loader, McpDialog, type McpDialogProps, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, type MessageProps, ModelSelect, type ModelSelectProps, 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_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 TranscriptDensity, TranscriptDensityProvider, type TranscriptFont, type TranscriptProps, type TranscriptVariant, TranscriptVariantProvider, type TriggerConfig, type TriggerSuggestion, UsageDialog, type UsageDialogProps, UsageMeters, 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, shellInfoFailed, shellInfoLabel, shellInfoStatusText, shellTitle, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMinuteClock, usePathLinks, usePromptAreaState, useShellActions, useShellFrame, useToolTitle, useTranscriptDensity, 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 };
1354
1499
  //# sourceMappingURL=index.d.mts.map