@workerdeck/ui 1.0.0 → 1.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.
package/build/index.d.mts CHANGED
@@ -1,78 +1,52 @@
1
- import { a as formatDuration, c as formatRelativeTime, d as rateLimitWindowSeconds, f as toolInputPreview, i as formatCountdown, l as formatTokens, n as formatBytes, o as formatRateLimitWindow, r as formatCost, s as formatRateLimitWindowLong, t as formatAgoPrecise, u as friendlyModel } from "./format-B8ZM9LPy.mjs";
2
- import { C as permissionModeChoices, S as PermissionModeSelectProps, _ as useAffordances, a as SessionVitals, b as PermissionModeMeta, c as TranscriptDensityProvider, d as TranscriptVariantProvider, f as useTranscriptDensity, g as WithActions, h as TerminalAffordances, i as SessionSurfacePanel, l as TranscriptFont, m as CopyAction, n as SessionPanel, o as TerminalMetrics, p as useTranscriptVariant, r as SessionPanelProps, s as TranscriptDensity, t as SessionControls, u as TranscriptVariant, v as PERMISSION_MODES, w as permissionModeMeta, x as PermissionModeSelect, y as PermissionModeChoice } from "./SessionPanel-E_L_ldQ5.mjs";
3
- import * as _$react from "react";
1
+ import { a as formatDuration, c as formatRelativeTime, d as rateLimitWindowSeconds, f as toolInputPreview, i as formatCountdown, l as formatTokens, n as formatBytes, o as formatRateLimitWindow, r as formatCost, s as formatRateLimitWindowLong, t as formatAgoPrecise, u as friendlyModel } from "./format-C_lpFq0l.mjs";
2
+ import { C as permissionModeChoices, S as PermissionModeSelectProps, _ as useAffordances, a as SessionVitals, b as PermissionModeMeta, c as TranscriptDensityProvider, d as TranscriptVariantProvider, f as useTranscriptDensity, g as WithActions, h as TerminalAffordances, i as SessionSurfacePanel, l as TranscriptFont, m as CopyAction, n as SessionPanel, o as TerminalMetrics, p as useTranscriptVariant, r as SessionPanelProps, s as TranscriptDensity, t as SessionControls, u as TranscriptVariant, v as PERMISSION_MODES, w as permissionModeMeta, x as PermissionModeSelect, y as PermissionModeChoice } from "./SessionPanel-yNO60Tzw.mjs";
4
3
  import { ButtonHTMLAttributes, FunctionComponent, HTMLAttributes, InputHTMLAttributes, ReactElement, ReactNode, Ref, RefObject, TextareaHTMLAttributes } from "react";
5
4
  import { VariantProps } from "class-variance-authority";
6
5
  import { ClassValue } from "clsx";
7
- import * as _$_base_ui_react_select0 from "@base-ui/react/select";
8
6
  import { Select as Select$1 } from "@base-ui/react/select";
9
7
  import { LucideIcon } from "lucide-react";
10
- import * as _$_base_ui_react_alert_dialog0 from "@base-ui/react/alert-dialog";
11
8
  import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
12
9
  import { Menu as Menu$1 } from "@base-ui/react/menu";
13
- import * as _$_base_ui_react_dialog0 from "@base-ui/react/dialog";
14
10
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
15
- import * as _$_base_ui_react_tooltip0 from "@base-ui/react/tooltip";
16
11
  import { Tooltip } from "@base-ui/react/tooltip";
17
12
  import { toast } from "sonner";
18
13
  import { ContextReading, ContextUsage, FilePatch, ModelOption, PermissionRequest, ProfileEngine, ProjectIcon as ProjectIcon$1, QuestionBehavior, RateLimitInfo, SessionInfo, SessionRow, SessionStatus, SkillInfo, SlashCommandInfo, UsageWindowRow, UserQuestion, ViewConfig, WorkspaceScope } from "@workerdeck/protocol";
19
14
  import { ConnectionState, TranscriptItem, TranscriptState, UseAttachmentsResult } from "@workerdeck/react";
20
- import * as _$class_variance_authority_types0 from "class-variance-authority/types";
21
15
  import { WorkerDeckClient } from "@workerdeck/client";
22
-
23
16
  //#region src/components/ui/Button.d.ts
24
17
  declare const buttonVariants: (props?: ({
25
18
  variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
26
19
  size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-sm" | null | undefined;
27
- } & _$class_variance_authority_types0.ClassProp) | undefined) => string;
20
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
28
21
  interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {}
29
- declare const Button: _$react.ForwardRefExoticComponent<ButtonProps & _$react.RefAttributes<HTMLButtonElement>>;
22
+ declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
30
23
  //#endregion
31
24
  //#region src/components/ui/Badge.d.ts
32
25
  declare const badgeVariants: (props?: ({
33
26
  variant?: "neutral" | "accent" | "success" | "warning" | "danger" | "info" | null | undefined;
34
27
  mono?: boolean | null | undefined;
35
- } & _$class_variance_authority_types0.ClassProp) | undefined) => string;
28
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
36
29
  interface BadgeProps extends HTMLAttributes<HTMLSpanElement>, VariantProps<typeof badgeVariants> {
37
30
  dot?: boolean;
38
31
  }
39
- declare function Badge({
40
- className,
41
- variant,
42
- mono,
43
- dot,
44
- children,
45
- ...props
46
- }: BadgeProps): _$react.JSX.Element;
32
+ declare function Badge({ className, variant, mono, dot, children, ...props }: BadgeProps): import("react").JSX.Element;
47
33
  //#endregion
48
34
  //#region src/components/ui/Card.d.ts
49
- declare function Card({
50
- className,
51
- ...props
52
- }: HTMLAttributes<HTMLDivElement>): _$react.JSX.Element;
53
- declare function CardHeader({
54
- className,
55
- ...props
56
- }: HTMLAttributes<HTMLDivElement>): _$react.JSX.Element;
57
- declare function CardTitle({
58
- className,
59
- ...props
60
- }: HTMLAttributes<HTMLHeadingElement>): _$react.JSX.Element;
61
- declare function CardContent({
62
- className,
63
- ...props
64
- }: HTMLAttributes<HTMLDivElement>): _$react.JSX.Element;
35
+ declare function Card({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
36
+ declare function CardHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
37
+ declare function CardTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>): import("react").JSX.Element;
38
+ declare function CardContent({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
65
39
  //#endregion
66
40
  //#region src/components/ui/Input.d.ts
67
- declare const Input: _$react.ForwardRefExoticComponent<InputHTMLAttributes<HTMLInputElement> & _$react.RefAttributes<HTMLInputElement>>;
41
+ declare const Input: import("react").ForwardRefExoticComponent<InputHTMLAttributes<HTMLInputElement> & import("react").RefAttributes<HTMLInputElement>>;
68
42
  //#endregion
69
43
  //#region src/components/ui/Textarea.d.ts
70
- declare const Textarea: _$react.ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & _$react.RefAttributes<HTMLTextAreaElement>>;
44
+ declare const Textarea: import("react").ForwardRefExoticComponent<TextareaHTMLAttributes<HTMLTextAreaElement> & import("react").RefAttributes<HTMLTextAreaElement>>;
71
45
  //#endregion
72
46
  //#region src/components/ui/Select.d.ts
73
47
  declare const Select: typeof Select$1.Root;
74
- declare const SelectValue: _$react.ForwardRefExoticComponent<Omit<_$_base_ui_react_select0.SelectValueProps, "ref"> & _$react.RefAttributes<HTMLSpanElement>>;
75
- declare const SelectItemText: _$react.NamedExoticComponent<Omit<_$_base_ui_react_select0.SelectItemTextProps, "ref"> & _$react.RefAttributes<HTMLDivElement>>;
48
+ declare const SelectValue: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react/select").SelectValueProps, "ref"> & import("react").RefAttributes<HTMLSpanElement>>;
49
+ declare const SelectItemText: import("react").NamedExoticComponent<Omit<import("@base-ui/react/select").SelectItemTextProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
76
50
  declare const SelectTrigger: FunctionComponent<Select$1.Trigger.Props>;
77
51
  declare const SelectContent: FunctionComponent<Select$1.Popup.Props & Pick<Select$1.Positioner.Props, 'align' | 'alignItemWithTrigger' | 'side' | 'sideOffset'>>;
78
52
  declare const SelectItem: FunctionComponent<Select$1.Item.Props>;
@@ -80,13 +54,13 @@ declare const SelectItem: FunctionComponent<Select$1.Item.Props>;
80
54
  //#region src/components/ui/AlertDialog.d.ts
81
55
  declare const AlertDialog: typeof AlertDialog$1.Root;
82
56
  declare const AlertDialogTrigger: AlertDialog$1.Trigger;
83
- declare const AlertDialogClose: _$react.ForwardRefExoticComponent<Omit<_$_base_ui_react_alert_dialog0.AlertDialogCloseProps, "ref"> & _$react.RefAttributes<HTMLButtonElement>>;
57
+ declare const AlertDialogClose: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react/alert-dialog").AlertDialogCloseProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
84
58
  declare const AlertDialogContent: FunctionComponent<AlertDialog$1.Popup.Props>;
85
59
  declare const AlertDialogTitle: FunctionComponent<AlertDialog$1.Title.Props>;
86
60
  declare const AlertDialogDescription: FunctionComponent<AlertDialog$1.Description.Props>;
87
61
  //#endregion
88
62
  //#region src/components/ui/Menu.d.ts
89
- declare const Menu: <Payload>(props: Menu$1.Root.Props<Payload>) => _$react.JSX.Element;
63
+ declare const Menu: <Payload>(props: Menu$1.Root.Props<Payload>) => import("react").JSX.Element;
90
64
  declare const MenuTrigger: Menu$1.Trigger;
91
65
  declare const MenuContent: FunctionComponent<Menu$1.Popup.Props & Pick<Menu$1.Positioner.Props, 'align' | 'side' | 'sideOffset'>>;
92
66
  declare const MenuItem: FunctionComponent<Menu$1.Item.Props & {
@@ -97,7 +71,7 @@ declare const MenuSeparator: FunctionComponent<Menu$1.Separator.Props>;
97
71
  //#region src/components/ui/Dialog.d.ts
98
72
  declare const Dialog: typeof Dialog$1.Root;
99
73
  declare const DialogTrigger: Dialog$1.Trigger;
100
- declare const DialogClose: _$react.ForwardRefExoticComponent<Omit<_$_base_ui_react_dialog0.DialogCloseProps, "ref"> & _$react.RefAttributes<HTMLButtonElement>>;
74
+ declare const DialogClose: import("react").ForwardRefExoticComponent<Omit<import("@base-ui/react/dialog").DialogCloseProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
101
75
  declare const DialogContent: FunctionComponent<Dialog$1.Popup.Props & {
102
76
  size?: 'sm' | 'md' | 'lg';
103
77
  }>;
@@ -114,43 +88,29 @@ declare const DialogRow: FunctionComponent<{
114
88
  }>;
115
89
  //#endregion
116
90
  //#region src/components/ui/Tooltip.d.ts
117
- declare const TooltipProvider: _$react.FC<_$_base_ui_react_tooltip0.TooltipProviderProps>;
91
+ declare const TooltipProvider: import("react").FC<import("@base-ui/react/tooltip").TooltipProviderProps>;
118
92
  declare const TooltipContent: FunctionComponent<Tooltip.Popup.Props & Pick<Tooltip.Positioner.Props, 'side' | 'sideOffset'>>;
119
- declare function Tip({
120
- content,
121
- render,
122
- side,
123
- children
124
- }: {
93
+ declare function Tip({ content, render, side, children }: {
125
94
  content: ReactNode;
126
95
  render?: ReactElement;
127
96
  side?: 'top' | 'right' | 'bottom' | 'left';
128
97
  children?: ReactNode;
129
- }): _$react.JSX.Element;
98
+ }): import("react").JSX.Element;
130
99
  //#endregion
131
100
  //#region src/components/ui/Sonner.d.ts
132
- declare function Toaster(): _$react.JSX.Element;
101
+ declare function Toaster(): import("react").JSX.Element;
133
102
  //#endregion
134
103
  //#region src/components/ui/CopyButton.d.ts
135
104
  interface CopyButtonProps extends Omit<ButtonProps, 'onClick' | 'children'> {
136
105
  value: string;
137
106
  glyph?: boolean;
138
107
  }
139
- declare function CopyButton({
140
- value,
141
- glyph,
142
- className,
143
- variant,
144
- size,
145
- ...props
146
- }: CopyButtonProps): _$react.JSX.Element;
108
+ declare function CopyButton({ value, glyph, className, variant, size, ...props }: CopyButtonProps): import("react").JSX.Element;
147
109
  //#endregion
148
110
  //#region src/components/ui/Spinner.d.ts
149
- declare function Spinner({
150
- className
151
- }: {
111
+ declare function Spinner({ className }: {
152
112
  className?: string;
153
- }): _$react.JSX.Element;
113
+ }): import("react").JSX.Element;
154
114
  //#endregion
155
115
  //#region src/components/ui/CodeBlock.d.ts
156
116
  interface CodeBlockProps {
@@ -160,13 +120,7 @@ interface CodeBlockProps {
160
120
  variant?: 'panel' | 'plain';
161
121
  className?: string;
162
122
  }
163
- declare function CodeBlock({
164
- code,
165
- label,
166
- copyable,
167
- variant,
168
- className
169
- }: CodeBlockProps): _$react.JSX.Element;
123
+ declare function CodeBlock({ code, label, copyable, variant, className }: CodeBlockProps): import("react").JSX.Element;
170
124
  //#endregion
171
125
  //#region src/components/ui/Splitter.d.ts
172
126
  interface SplitterProps {
@@ -181,38 +135,19 @@ interface SplitterProps {
181
135
  'aria-label': string;
182
136
  className?: string;
183
137
  }
184
- declare function Splitter({
185
- orientation,
186
- value,
187
- onValueChange,
188
- min,
189
- max,
190
- step,
191
- defaultValue,
192
- inverted,
193
- 'aria-label': label,
194
- className
195
- }: SplitterProps): _$react.JSX.Element;
138
+ declare function Splitter({ orientation, value, onValueChange, min, max, step, defaultValue, inverted, 'aria-label': label, className }: SplitterProps): import("react").JSX.Element;
196
139
  //#endregion
197
140
  //#region src/components/ui/Empty.d.ts
198
- declare function Empty({
199
- icon,
200
- title,
201
- description,
202
- action,
203
- onAction
204
- }: {
141
+ declare function Empty({ icon, title, description, action, onAction }: {
205
142
  icon: ReactNode;
206
143
  title: string;
207
144
  description?: ReactNode;
208
145
  action?: string;
209
146
  onAction?: () => void;
210
- }): _$react.JSX.Element;
211
- declare function EmptyKey({
212
- children
213
- }: {
147
+ }): import("react").JSX.Element;
148
+ declare function EmptyKey({ children }: {
214
149
  children: ReactNode;
215
- }): _$react.JSX.Element;
150
+ }): import("react").JSX.Element;
216
151
  //#endregion
217
152
  //#region src/components/ui/ProgressRing.d.ts
218
153
  interface ProgressRingProps {
@@ -221,12 +156,7 @@ interface ProgressRingProps {
221
156
  strokeWidth?: number;
222
157
  className?: string;
223
158
  }
224
- declare function ProgressRing({
225
- value,
226
- size,
227
- strokeWidth,
228
- className
229
- }: ProgressRingProps): _$react.JSX.Element;
159
+ declare function ProgressRing({ value, size, strokeWidth, className }: ProgressRingProps): import("react").JSX.Element;
230
160
  //#endregion
231
161
  //#region src/components/prompt-area/types.d.ts
232
162
  /**
@@ -245,10 +175,14 @@ type TextSegment = {
245
175
  text: string;
246
176
  };
247
177
  type ChipSegment = {
248
- type: 'chip'; /** The trigger character that created this chip (e.g., '@', '#') */
249
- trigger: string; /** The resolved value/ID (e.g., user ID, file ID) */
250
- value: string; /** The display text shown in the chip */
251
- displayText: string; /** Optional data payload attached to the chip */
178
+ type: 'chip';
179
+ /** The trigger character that created this chip (e.g., '@', '#') */
180
+ trigger: string;
181
+ /** The resolved value/ID (e.g., user ID, file ID) */
182
+ value: string;
183
+ /** The display text shown in the chip */
184
+ displayText: string;
185
+ /** Optional data payload attached to the chip */
252
186
  data?: unknown;
253
187
  /**
254
188
  * True when this chip was auto-created by pressing space (resolveOnSpace).
@@ -282,18 +216,26 @@ type ChipStyle = 'pill' | 'inline';
282
216
  * A suggestion item shown in the trigger dropdown.
283
217
  */
284
218
  type TriggerSuggestion = {
285
- /** Unique value/ID for this suggestion */value: string; /** Display label shown in the dropdown */
286
- label: string; /** Optional description shown below the label */
287
- description?: string; /** Optional icon element rendered before the label */
288
- icon?: React.ReactNode; /** Optional arbitrary data passed through on selection */
219
+ /** Unique value/ID for this suggestion */
220
+ value: string;
221
+ /** Display label shown in the dropdown */
222
+ label: string;
223
+ /** Optional description shown below the label */
224
+ description?: string;
225
+ /** Optional icon element rendered before the label */
226
+ icon?: React.ReactNode;
227
+ /** Optional arbitrary data passed through on selection */
289
228
  data?: unknown;
290
229
  };
291
230
  /**
292
231
  * Configuration for a trigger character.
293
232
  */
294
233
  type TriggerConfig = {
295
- /** The trigger character (e.g., '/', '@', '#') */char: string; /** Where this trigger is valid */
296
- position: TriggerPosition; /** How this trigger behaves */
234
+ /** The trigger character (e.g., '/', '@', '#') */
235
+ char: string;
236
+ /** Where this trigger is valid */
237
+ position: TriggerPosition;
238
+ /** How this trigger behaves */
297
239
  mode: TriggerMode;
298
240
  /**
299
241
  * For 'dropdown' mode: called with the current query to fetch suggestions.
@@ -352,8 +294,10 @@ type TriggerConfig = {
352
294
  * - 'pill' (default): Button-like pill with background, padding, border-radius
353
295
  * - 'inline': Bold inline text without pill styling
354
296
  */
355
- chipStyle?: ChipStyle; /** CSS class name(s) applied to chips created by this trigger */
356
- chipClassName?: string; /** Label used for accessibility (e.g., "mention", "command") */
297
+ chipStyle?: ChipStyle;
298
+ /** CSS class name(s) applied to chips created by this trigger */
299
+ chipClassName?: string;
300
+ /** Label used for accessibility (e.g., "mention", "command") */
357
301
  accessibilityLabel?: string;
358
302
  /**
359
303
  * Debounce delay in milliseconds before calling `onSearch`.
@@ -376,8 +320,11 @@ type TriggerConfig = {
376
320
  * Context passed to callback-mode trigger handlers.
377
321
  */
378
322
  type TriggerActivateContext = {
379
- /** The full plain text content at the time of activation */text: string; /** The cursor offset position */
380
- cursorPosition: number; /** Function to insert a chip at the current cursor position */
323
+ /** The full plain text content at the time of activation */
324
+ text: string;
325
+ /** The cursor offset position */
326
+ cursorPosition: number;
327
+ /** Function to insert a chip at the current cursor position */
381
328
  insertChip: (chip: Omit<ChipSegment, 'type'>) => void;
382
329
  };
383
330
  /**
@@ -385,9 +332,13 @@ type TriggerActivateContext = {
385
332
  * State is managed externally by the parent component.
386
333
  */
387
334
  type PromptAreaImage = {
388
- /** Unique identifier for this image */id: string; /** URL to display (CDN URL or temporary blob URL for preview) */
389
- url: string; /** Optional alt text for accessibility */
390
- alt?: string; /** When true, shows a loading indicator over the thumbnail */
335
+ /** Unique identifier for this image */
336
+ id: string;
337
+ /** URL to display (CDN URL or temporary blob URL for preview) */
338
+ url: string;
339
+ /** Optional alt text for accessibility */
340
+ alt?: string;
341
+ /** When true, shows a loading indicator over the thumbnail */
391
342
  loading?: boolean;
392
343
  };
393
344
  /**
@@ -395,22 +346,34 @@ type PromptAreaImage = {
395
346
  * State is managed externally by the parent component.
396
347
  */
397
348
  type PromptAreaFile = {
398
- /** Unique identifier for this file */id: string; /** Display filename (e.g., "report.pdf") */
399
- name: string; /** File size in bytes */
400
- size?: number; /** MIME type (used for icon selection, e.g., "application/pdf") */
401
- type?: string; /** When true, shows a loading indicator over the file card */
349
+ /** Unique identifier for this file */
350
+ id: string;
351
+ /** Display filename (e.g., "report.pdf") */
352
+ name: string;
353
+ /** File size in bytes */
354
+ size?: number;
355
+ /** MIME type (used for icon selection, e.g., "application/pdf") */
356
+ type?: string;
357
+ /** When true, shows a loading indicator over the file card */
402
358
  loading?: boolean;
403
359
  };
404
360
  /**
405
361
  * Props for the PromptArea component.
406
362
  */
407
363
  type PromptAreaProps = {
408
- /** The document segments (controlled) */value: Segment[]; /** Called when the content changes */
409
- onChange: (segments: Segment[]) => void; /** Trigger configurations */
410
- triggers?: TriggerConfig[]; /** Placeholder text when empty. Pass an array of strings to animate between them. */
411
- placeholder?: string | string[]; /** Additional CSS class for the container */
412
- className?: string; /** Whether the input is disabled */
413
- disabled?: boolean; /** Whether to render simple inline markdown (bold, italic, URLs, lists) */
364
+ /** The document segments (controlled) */
365
+ value: Segment[];
366
+ /** Called when the content changes */
367
+ onChange: (segments: Segment[]) => void;
368
+ /** Trigger configurations */
369
+ triggers?: TriggerConfig[];
370
+ /** Placeholder text when empty. Pass an array of strings to animate between them. */
371
+ placeholder?: string | string[];
372
+ /** Additional CSS class for the container */
373
+ className?: string;
374
+ /** Whether the input is disabled */
375
+ disabled?: boolean;
376
+ /** Whether to render simple inline markdown (bold, italic, URLs, lists) */
414
377
  markdown?: boolean;
415
378
  /**
416
379
  * When markdown is on, the editor rewrites typed list markers (`- ` / `* `)
@@ -418,20 +381,31 @@ type PromptAreaProps = {
418
381
  * marker in the value/`onChange` text — needed when a host renders the output
419
382
  * as real markdown, where `•` is not a valid list marker. Default `true`.
420
383
  */
421
- normalizeBullets?: boolean; /** Called when Enter is pressed (without Shift) */
422
- onSubmit?: (segments: Segment[]) => void; /** Called when Escape is pressed */
423
- onEscape?: () => void; /** Called when a chip element is clicked. Receives the chip's segment data. */
424
- onChipClick?: (chip: ChipSegment) => void; /** Called when a new chip is added (dropdown selection, auto-resolve, paste, or imperative insert) */
425
- onChipAdd?: (chip: ChipSegment) => void; /** Called when a chip is deleted (backspace or forward delete) */
426
- onChipDelete?: (chip: ChipSegment) => void; /** Called when a URL link is clicked. Receives the URL string. */
427
- onLinkClick?: (url: string) => void; /** Called after content is pasted. Receives the resulting segments and the paste source. */
384
+ normalizeBullets?: boolean;
385
+ /** Called when Enter is pressed (without Shift) */
386
+ onSubmit?: (segments: Segment[]) => void;
387
+ /** Called when Escape is pressed */
388
+ onEscape?: () => void;
389
+ /** Called when a chip element is clicked. Receives the chip's segment data. */
390
+ onChipClick?: (chip: ChipSegment) => void;
391
+ /** Called when a new chip is added (dropdown selection, auto-resolve, paste, or imperative insert) */
392
+ onChipAdd?: (chip: ChipSegment) => void;
393
+ /** Called when a chip is deleted (backspace or forward delete) */
394
+ onChipDelete?: (chip: ChipSegment) => void;
395
+ /** Called when a URL link is clicked. Receives the URL string. */
396
+ onLinkClick?: (url: string) => void;
397
+ /** Called after content is pasted. Receives the resulting segments and the paste source. */
428
398
  onPaste?: (data: {
429
399
  segments: Segment[];
430
400
  source: 'internal' | 'external';
431
- }) => void; /** Called after an undo operation. Receives the restored segments. */
432
- onUndo?: (segments: Segment[]) => void; /** Called after a redo operation. Receives the restored segments. */
433
- onRedo?: (segments: Segment[]) => void; /** Minimum height in pixels */
434
- minHeight?: number; /** Maximum height in pixels */
401
+ }) => void;
402
+ /** Called after an undo operation. Receives the restored segments. */
403
+ onUndo?: (segments: Segment[]) => void;
404
+ /** Called after a redo operation. Receives the restored segments. */
405
+ onRedo?: (segments: Segment[]) => void;
406
+ /** Minimum height in pixels */
407
+ minHeight?: number;
408
+ /** Maximum height in pixels */
435
409
  maxHeight?: number;
436
410
  /**
437
411
  * Maximum number of plain-text characters allowed, enforced on typed input:
@@ -444,19 +418,32 @@ type PromptAreaProps = {
444
418
  * bypass it, so a programmatic write can exceed the cap until the next
445
419
  * keystroke truncates.
446
420
  */
447
- maxLength?: number; /** Auto-focus on mount */
448
- autoFocus?: boolean; /** When true, the area auto-grows to fit content on focus and shrinks on blur */
449
- autoGrow?: boolean; /** Accessible label for the input */
450
- 'aria-label'?: string; /** data-test-id for e2e testing */
451
- 'data-test-id'?: string; /** Array of image attachments to display */
452
- images?: PromptAreaImage[]; /** Where to render the image strip relative to the text area. Defaults to 'above'. */
453
- imagePosition?: 'above' | 'below'; /** Called when the user pastes an image from clipboard. Receives the File object. */
454
- onImagePaste?: (file: File) => void; /** Called when the user clicks the remove button on an image */
455
- onImageRemove?: (image: PromptAreaImage) => void; /** Called when the user clicks an image thumbnail */
456
- onImageClick?: (image: PromptAreaImage) => void; /** Array of file attachments to display */
457
- files?: PromptAreaFile[]; /** Where to render the file strip relative to the text area. Defaults to 'above'. */
458
- filePosition?: 'above' | 'below'; /** Called when the user clicks the remove button on a file */
459
- onFileRemove?: (file: PromptAreaFile) => void; /** Called when the user clicks a file attachment */
421
+ maxLength?: number;
422
+ /** Auto-focus on mount */
423
+ autoFocus?: boolean;
424
+ /** When true, the area auto-grows to fit content on focus and shrinks on blur */
425
+ autoGrow?: boolean;
426
+ /** Accessible label for the input */
427
+ 'aria-label'?: string;
428
+ /** data-test-id for e2e testing */
429
+ 'data-test-id'?: string;
430
+ /** Array of image attachments to display */
431
+ images?: PromptAreaImage[];
432
+ /** Where to render the image strip relative to the text area. Defaults to 'above'. */
433
+ imagePosition?: 'above' | 'below';
434
+ /** Called when the user pastes an image from clipboard. Receives the File object. */
435
+ onImagePaste?: (file: File) => void;
436
+ /** Called when the user clicks the remove button on an image */
437
+ onImageRemove?: (image: PromptAreaImage) => void;
438
+ /** Called when the user clicks an image thumbnail */
439
+ onImageClick?: (image: PromptAreaImage) => void;
440
+ /** Array of file attachments to display */
441
+ files?: PromptAreaFile[];
442
+ /** Where to render the file strip relative to the text area. Defaults to 'above'. */
443
+ filePosition?: 'above' | 'below';
444
+ /** Called when the user clicks the remove button on a file */
445
+ onFileRemove?: (file: PromptAreaFile) => void;
446
+ /** Called when the user clicks a file attachment */
460
447
  onFileClick?: (file: PromptAreaFile) => void;
461
448
  /**
462
449
  * Called on keydown before PromptArea's own handling. Call `preventDefault()`
@@ -481,18 +468,25 @@ type PromptAreaProps = {
481
468
  * to make Enter insert a newline instead (e.g. on touch devices where submit
482
469
  * is a dedicated button).
483
470
  */
484
- submitOnEnter?: boolean; /** Forwarded to the editable element. */
485
- spellCheck?: boolean; /** Forwarded to the editable element as `aria-describedby`. */
471
+ submitOnEnter?: boolean;
472
+ /** Forwarded to the editable element. */
473
+ spellCheck?: boolean;
474
+ /** Forwarded to the editable element as `aria-describedby`. */
486
475
  'aria-describedby'?: string;
487
476
  };
488
477
  /**
489
478
  * Ref handle exposed by PromptArea via useImperativeHandle.
490
479
  */
491
480
  type PromptAreaHandle = {
492
- /** Focus the editable area */focus: () => void; /** Blur the editable area */
493
- blur: () => void; /** Insert a chip at the current cursor position */
494
- insertChip: (chip: Omit<ChipSegment, 'type'>) => void; /** Get the current plain text (without chip markup) */
495
- getPlainText: () => string; /** Clear all content */
481
+ /** Focus the editable area */
482
+ focus: () => void;
483
+ /** Blur the editable area */
484
+ blur: () => void;
485
+ /** Insert a chip at the current cursor position */
486
+ insertChip: (chip: Omit<ChipSegment, 'type'>) => void;
487
+ /** Get the current plain text (without chip markup) */
488
+ getPlainText: () => string;
489
+ /** Clear all content */
496
490
  clear: () => void;
497
491
  /**
498
492
  * Replace all content with plain text (chips dropped), caret moved to the
@@ -503,14 +497,19 @@ type PromptAreaHandle = {
503
497
  * Append plain text at the end (existing chips preserved), caret moved to the
504
498
  * end. Not capped by `maxLength` (see its docs); undoable.
505
499
  */
506
- appendText: (text: string) => void; /** Caret offset in plain-text characters, or null when unavailable. */
507
- getCursorPosition: () => number | null; /** Move the caret to a plain-text offset. */
508
- setCursorPosition: (offset: number) => void; /** Move the caret to the end of the content. */
509
- setCursorToEnd: () => void; /** Current selection as plain-text offsets, or null when there is none. */
500
+ appendText: (text: string) => void;
501
+ /** Caret offset in plain-text characters, or null when unavailable. */
502
+ getCursorPosition: () => number | null;
503
+ /** Move the caret to a plain-text offset. */
504
+ setCursorPosition: (offset: number) => void;
505
+ /** Move the caret to the end of the content. */
506
+ setCursorToEnd: () => void;
507
+ /** Current selection as plain-text offsets, or null when there is none. */
510
508
  getSelection: () => {
511
509
  start: number;
512
510
  end: number;
513
- } | null; /** Set the selection between two plain-text offsets. */
511
+ } | null;
512
+ /** Set the selection between two plain-text offsets. */
514
513
  setSelection: (start: number, end: number) => void;
515
514
  };
516
515
  //#endregion
@@ -540,69 +539,41 @@ type PromptAreaHandle = {
540
539
  * />
541
540
  * ```
542
541
  */
543
- declare function PromptArea({
544
- value,
545
- onChange,
546
- triggers,
547
- placeholder,
548
- className,
549
- disabled,
550
- markdown,
551
- normalizeBullets,
552
- onSubmit,
553
- onEscape,
554
- onChipClick,
555
- onChipAdd,
556
- onChipDelete,
557
- onLinkClick,
558
- onPaste,
559
- onUndo,
560
- onRedo,
561
- minHeight,
562
- maxHeight,
563
- autoFocus,
564
- autoGrow,
565
- 'aria-label': ariaLabel,
566
- 'data-test-id': dataTestId,
567
- images,
568
- imagePosition,
569
- onImagePaste,
570
- onImageRemove,
571
- onImageClick,
572
- files,
573
- filePosition,
574
- onFileRemove,
575
- onFileClick,
576
- onKeyDown,
577
- onBlur,
578
- onRawPaste,
579
- submitOnEnter,
580
- spellCheck,
581
- maxLength,
582
- 'aria-describedby': ariaDescribedBy,
583
- ref
584
- }: PromptAreaProps & {
542
+ declare function PromptArea({ value, onChange, triggers, placeholder, className, disabled, markdown, normalizeBullets, onSubmit, onEscape, onChipClick, onChipAdd, onChipDelete, onLinkClick, onPaste, onUndo, onRedo, minHeight, maxHeight, autoFocus, autoGrow, 'aria-label': ariaLabel, 'data-test-id': dataTestId, images, imagePosition, onImagePaste, onImageRemove, onImageClick, files, filePosition, onFileRemove, onFileClick, onKeyDown, onBlur, onRawPaste, submitOnEnter, spellCheck, maxLength, 'aria-describedby': ariaDescribedBy, ref }: PromptAreaProps & {
585
543
  ref?: React.Ref<PromptAreaHandle>;
586
- }): _$react.JSX.Element;
544
+ }): import("react").JSX.Element;
587
545
  //#endregion
588
546
  //#region src/components/prompt-area/use-prompt-area-state.d.ts
589
547
  type UsePromptAreaStateOptions = {
590
- /** Initial segment value. Defaults to `[]`. */initialValue?: Segment[];
548
+ /** Initial segment value. Defaults to `[]`. */
549
+ initialValue?: Segment[];
591
550
  };
592
551
  type PromptAreaBind = {
593
- /** Ref to attach to PromptArea — gives access to imperative methods. */ref: React.RefObject<PromptAreaHandle | null>; /** Current segment array — pass as `value` prop. */
594
- value: Segment[]; /** Setter — pass as `onChange` prop. */
552
+ /** Ref to attach to PromptArea — gives access to imperative methods. */
553
+ ref: React.RefObject<PromptAreaHandle | null>;
554
+ /** Current segment array — pass as `value` prop. */
555
+ value: Segment[];
556
+ /** Setter — pass as `onChange` prop. */
595
557
  onChange: (segments: Segment[]) => void;
596
558
  };
597
559
  type PromptAreaState = {
598
- /** Props to spread directly onto `<PromptArea {...bind} />`. Contains ref, value, and onChange. */bind: PromptAreaBind; /** Derived plain text representation of the current value. */
599
- plainText: string; /** `true` when the value is empty or whitespace-only. */
600
- isEmpty: boolean; /** `true` when the value contains at least one chip. */
601
- hasChips: boolean; /** All chip segments in the current value. */
602
- chips: ChipSegment[]; /** Clear all content (both state and the editor DOM). */
603
- clear: () => void; /** Focus the editor. */
604
- focus: () => void; /** Blur the editor. */
605
- blur: () => void; /** Insert a chip at the current cursor position. */
560
+ /** Props to spread directly onto `<PromptArea {...bind} />`. Contains ref, value, and onChange. */
561
+ bind: PromptAreaBind;
562
+ /** Derived plain text representation of the current value. */
563
+ plainText: string;
564
+ /** `true` when the value is empty or whitespace-only. */
565
+ isEmpty: boolean;
566
+ /** `true` when the value contains at least one chip. */
567
+ hasChips: boolean;
568
+ /** All chip segments in the current value. */
569
+ chips: ChipSegment[];
570
+ /** Clear all content (both state and the editor DOM). */
571
+ clear: () => void;
572
+ /** Focus the editor. */
573
+ focus: () => void;
574
+ /** Blur the editor. */
575
+ blur: () => void;
576
+ /** Insert a chip at the current cursor position. */
606
577
  insertChip: (chip: Omit<ChipSegment, 'type'>) => void;
607
578
  };
608
579
  declare function usePromptAreaState(options?: UsePromptAreaStateOptions): PromptAreaState;
@@ -610,7 +581,8 @@ declare function usePromptAreaState(options?: UsePromptAreaStateOptions): Prompt
610
581
  //#region src/components/prompt-area/trigger-presets.d.ts
611
582
  type TriggerPresetOptions = Omit<Partial<TriggerConfig>, 'char' | 'position' | 'mode'>;
612
583
  type MentionTriggerOptions = TriggerPresetOptions & {
613
- /** Override the trigger character. Defaults to `'@'`. */char?: string;
584
+ /** Override the trigger character. Defaults to `'@'`. */
585
+ char?: string;
614
586
  };
615
587
  /**
616
588
  * Creates a **mention** trigger (`@`).
@@ -620,7 +592,8 @@ type MentionTriggerOptions = TriggerPresetOptions & {
620
592
  */
621
593
  declare function mentionTrigger(opts?: MentionTriggerOptions): TriggerConfig;
622
594
  type CommandTriggerOptions = TriggerPresetOptions & {
623
- /** Override the trigger character. Defaults to `'/'`. */char?: string;
595
+ /** Override the trigger character. Defaults to `'/'`. */
596
+ char?: string;
624
597
  /**
625
598
  * Where the command trigger is valid. Defaults to `'any'`, so commands fire
626
599
  * anywhere a `/` follows whitespace — not just at the start of a line.
@@ -640,7 +613,8 @@ type CommandTriggerOptions = TriggerPresetOptions & {
640
613
  */
641
614
  declare function commandTrigger(opts?: CommandTriggerOptions): TriggerConfig;
642
615
  type HashtagTriggerOptions = TriggerPresetOptions & {
643
- /** Override the trigger character. Defaults to `'#'`. */char?: string;
616
+ /** Override the trigger character. Defaults to `'#'`. */
617
+ char?: string;
644
618
  };
645
619
  /**
646
620
  * Creates a **hashtag / tag** trigger (`#`).
@@ -706,30 +680,7 @@ interface TranscriptProps {
706
680
  emptyState?: ReactNode;
707
681
  className?: string;
708
682
  }
709
- declare function Transcript({
710
- state,
711
- fileUrl,
712
- attachmentUrl,
713
- canBrowseFiles,
714
- hostImage,
715
- variant,
716
- density,
717
- fontSize,
718
- lineHeight,
719
- affordances,
720
- stickyPrompt,
721
- scrubber,
722
- bookmarks,
723
- replaying,
724
- catchUp,
725
- jumpToRecapRef,
726
- repinRef,
727
- reveal,
728
- frame,
729
- onOpenSubagent,
730
- emptyState,
731
- className
732
- }: TranscriptProps): _$react.JSX.Element;
683
+ declare function Transcript({ state, fileUrl, attachmentUrl, canBrowseFiles, hostImage, variant, density, fontSize, lineHeight, affordances, stickyPrompt, scrubber, bookmarks, replaying, catchUp, jumpToRecapRef, repinRef, reveal, frame, onOpenSubagent, emptyState, className }: TranscriptProps): import("react").JSX.Element;
733
684
  //#endregion
734
685
  //#region src/components/terminal/surface.d.ts
735
686
  interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
@@ -738,16 +689,7 @@ interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
738
689
  bleed?: string;
739
690
  affordances?: TerminalAffordances | boolean;
740
691
  }
741
- declare function TerminalSurface({
742
- fontSize,
743
- lineHeight,
744
- bleed,
745
- affordances,
746
- className,
747
- style,
748
- children,
749
- ...props
750
- }: TerminalSurfaceProps): _$react.JSX.Element;
692
+ declare function TerminalSurface({ fontSize, lineHeight, bleed, affordances, className, style, children, ...props }: TerminalSurfaceProps): import("react").JSX.Element;
751
693
  //#endregion
752
694
  //#region src/components/terminal/TerminalTranscript.d.ts
753
695
  interface TerminalTranscriptProps {
@@ -758,21 +700,11 @@ interface TerminalTranscriptProps {
758
700
  affordances?: TerminalAffordances | boolean;
759
701
  className?: string;
760
702
  }
761
- declare function TerminalItemView({
762
- item,
763
- fileUrl
764
- }: {
703
+ declare function TerminalItemView({ item, fileUrl }: {
765
704
  item: TranscriptItem;
766
705
  fileUrl?: (path: string) => string;
767
- }): _$react.JSX.Element | null;
768
- declare function TerminalTranscript({
769
- state,
770
- fileUrl,
771
- fontSize,
772
- lineHeight,
773
- affordances,
774
- className
775
- }: TerminalTranscriptProps): _$react.JSX.Element;
706
+ }): import("react").JSX.Element | null;
707
+ declare function TerminalTranscript({ state, fileUrl, fontSize, lineHeight, affordances, className }: TerminalTranscriptProps): import("react").JSX.Element;
776
708
  //#endregion
777
709
  //#region src/components/terminal/StatusLine.d.ts
778
710
  interface TerminalStatusLineProps {
@@ -784,15 +716,7 @@ interface TerminalStatusLineProps {
784
716
  onOpenContext?: () => void;
785
717
  onOpenUsage?: () => void;
786
718
  }
787
- declare function TerminalStatusLine({
788
- className,
789
- state,
790
- rateLimits,
791
- connection,
792
- onOpenStatus,
793
- onOpenContext,
794
- onOpenUsage
795
- }: TerminalStatusLineProps): _$react.JSX.Element;
719
+ declare function TerminalStatusLine({ className, state, rateLimits, connection, onOpenStatus, onOpenContext, onOpenUsage }: TerminalStatusLineProps): import("react").JSX.Element;
796
720
  //#endregion
797
721
  //#region src/components/terminal/PermissionPrompt.d.ts
798
722
  interface TerminalPermissionPromptProps {
@@ -801,12 +725,7 @@ interface TerminalPermissionPromptProps {
801
725
  onDeny: (requestId: string, message?: string, interrupt?: boolean) => void;
802
726
  className?: string;
803
727
  }
804
- declare function TerminalPermissionPrompt({
805
- request,
806
- onApprove,
807
- onDeny,
808
- className
809
- }: TerminalPermissionPromptProps): _$react.JSX.Element;
728
+ declare function TerminalPermissionPrompt({ request, onApprove, onDeny, className }: TerminalPermissionPromptProps): import("react").JSX.Element;
810
729
  //#endregion
811
730
  //#region src/components/terminal/QuestionPrompt.d.ts
812
731
  interface TerminalQuestionPromptProps {
@@ -815,20 +734,13 @@ interface TerminalQuestionPromptProps {
815
734
  onDismiss: (requestId: string, message?: string) => void;
816
735
  className?: string;
817
736
  }
818
- declare function TerminalQuestionPrompt({
819
- request,
820
- onAnswer,
821
- onDismiss,
822
- className
823
- }: TerminalQuestionPromptProps): _$react.JSX.Element;
737
+ declare function TerminalQuestionPrompt({ request, onAnswer, onDismiss, className }: TerminalQuestionPromptProps): import("react").JSX.Element;
824
738
  //#endregion
825
739
  //#region src/components/terminal/diff.d.ts
826
740
  declare function previewPatch(input: unknown): FilePatch | undefined;
827
- declare function TerminalDiff({
828
- patch
829
- }: {
741
+ declare function TerminalDiff({ patch }: {
830
742
  patch: FilePatch;
831
- }): _$react.JSX.Element;
743
+ }): import("react").JSX.Element;
832
744
  //#endregion
833
745
  //#region src/components/terminal/markdown.d.ts
834
746
  interface TerminalMarkdownProps {
@@ -836,11 +748,7 @@ interface TerminalMarkdownProps {
836
748
  streaming?: boolean;
837
749
  className?: string;
838
750
  }
839
- declare const TerminalMarkdown: _$react.MemoExoticComponent<({
840
- children,
841
- streaming,
842
- className
843
- }: TerminalMarkdownProps) => _$react.JSX.Element>;
751
+ declare const TerminalMarkdown: import("react").MemoExoticComponent<({ children, streaming, className }: TerminalMarkdownProps) => import("react").JSX.Element>;
844
752
  //#endregion
845
753
  //#region src/components/terminal/row.d.ts
846
754
  type Tone = 'fg' | 'bright' | 'dim' | 'faint' | 'mark' | 'blue' | 'green' | 'red' | 'yellow' | 'magenta';
@@ -853,69 +761,32 @@ interface RowProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
853
761
  columns?: number;
854
762
  children?: ReactNode;
855
763
  }
856
- declare function Row({
857
- glyph,
858
- glyphTone,
859
- tone,
860
- bold,
861
- indent,
862
- columns,
863
- className,
864
- children,
865
- style,
866
- ...props
867
- }: RowProps): _$react.JSX.Element;
868
- declare function Blank(): _$react.JSX.Element;
869
- declare function Band({
870
- className,
871
- ...props
872
- }: HTMLAttributes<HTMLDivElement>): _$react.JSX.Element;
873
- declare function Ink({
874
- tone,
875
- bold,
876
- className,
877
- ...props
878
- }: HTMLAttributes<HTMLSpanElement> & {
764
+ declare function Row({ glyph, glyphTone, tone, bold, indent, columns, className, children, style, ...props }: RowProps): import("react").JSX.Element;
765
+ declare function Blank(): import("react").JSX.Element;
766
+ declare function Band({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
767
+ declare function Ink({ tone, bold, className, ...props }: HTMLAttributes<HTMLSpanElement> & {
879
768
  tone?: Tone;
880
769
  bold?: boolean;
881
- }): _$react.JSX.Element;
770
+ }): import("react").JSX.Element;
882
771
  //#endregion
883
772
  //#region src/components/agent/Conversation.d.ts
884
773
  interface ConversationProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children'> {
885
774
  children: ReactNode;
886
775
  }
887
- declare function Conversation({
888
- className,
889
- children,
890
- ...props
891
- }: ConversationProps): _$react.JSX.Element;
892
- declare function ConversationContent({
893
- className,
894
- children,
895
- ...props
896
- }: HTMLAttributes<HTMLDivElement> & {
776
+ declare function Conversation({ className, children, ...props }: ConversationProps): import("react").JSX.Element;
777
+ declare function ConversationContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement> & {
897
778
  children: ReactNode;
898
- }): _$react.JSX.Element;
899
- declare function ConversationScrollButton({
900
- className
901
- }: {
779
+ }): import("react").JSX.Element;
780
+ declare function ConversationScrollButton({ className }: {
902
781
  className?: string;
903
- }): _$react.JSX.Element | null;
782
+ }): import("react").JSX.Element | null;
904
783
  //#endregion
905
784
  //#region src/components/agent/Message.d.ts
906
785
  interface MessageProps extends HTMLAttributes<HTMLDivElement> {
907
786
  from: 'user' | 'assistant';
908
787
  }
909
- declare function Message({
910
- from,
911
- className,
912
- children,
913
- ...props
914
- }: MessageProps): _$react.JSX.Element;
915
- declare function MessageContent({
916
- className,
917
- ...props
918
- }: HTMLAttributes<HTMLDivElement>): _$react.JSX.Element;
788
+ declare function Message({ from, className, children, ...props }: MessageProps): import("react").JSX.Element;
789
+ declare function MessageContent({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
919
790
  //#endregion
920
791
  //#region src/components/agent/Response.d.ts
921
792
  interface ResponseProps {
@@ -923,11 +794,7 @@ interface ResponseProps {
923
794
  streaming?: boolean;
924
795
  className?: string;
925
796
  }
926
- declare const Response: _$react.MemoExoticComponent<({
927
- children,
928
- streaming,
929
- className
930
- }: ResponseProps) => _$react.JSX.Element>;
797
+ declare const Response: import("react").MemoExoticComponent<({ children, streaming, className }: ResponseProps) => import("react").JSX.Element>;
931
798
  //#endregion
932
799
  //#region src/components/agent/Reasoning.d.ts
933
800
  interface ReasoningProps {
@@ -936,12 +803,7 @@ interface ReasoningProps {
936
803
  defaultOpen?: boolean;
937
804
  className?: string;
938
805
  }
939
- declare function Reasoning({
940
- children,
941
- isStreaming,
942
- defaultOpen,
943
- className
944
- }: ReasoningProps): _$react.JSX.Element | null;
806
+ declare function Reasoning({ children, isStreaming, defaultOpen, className }: ReasoningProps): import("react").JSX.Element | null;
945
807
  //#endregion
946
808
  //#region src/components/agent/Loader.d.ts
947
809
  interface LoaderProps {
@@ -950,10 +812,7 @@ interface LoaderProps {
950
812
  tokens?: number;
951
813
  className?: string;
952
814
  }
953
- declare function Loader({
954
- label,
955
- className
956
- }: LoaderProps): _$react.JSX.Element;
815
+ declare function Loader({ label, className }: LoaderProps): import("react").JSX.Element;
957
816
  //#endregion
958
817
  //#region src/components/agent/ToolCallCard.d.ts
959
818
  type ToolCallItem = Extract<TranscriptItem, {
@@ -964,11 +823,7 @@ interface ToolCallCardProps {
964
823
  hostImage?: (path: string) => Promise<string | undefined>;
965
824
  className?: string;
966
825
  }
967
- declare function ToolCallCard({
968
- item,
969
- hostImage,
970
- className
971
- }: ToolCallCardProps): _$react.JSX.Element;
826
+ declare function ToolCallCard({ item, hostImage, className }: ToolCallCardProps): import("react").JSX.Element;
972
827
  //#endregion
973
828
  //#region src/components/agent/FileCard.d.ts
974
829
  type FileDeliveredItem = Extract<TranscriptItem, {
@@ -979,11 +834,7 @@ interface FileCardProps {
979
834
  href?: string;
980
835
  className?: string;
981
836
  }
982
- declare function FileCard({
983
- item,
984
- href,
985
- className
986
- }: FileCardProps): _$react.JSX.Element;
837
+ declare function FileCard({ item, href, className }: FileCardProps): import("react").JSX.Element;
987
838
  //#endregion
988
839
  //#region src/components/agent/PermissionPrompt.d.ts
989
840
  interface PermissionPromptProps {
@@ -992,12 +843,7 @@ interface PermissionPromptProps {
992
843
  onDeny: (requestId: string, message?: string, interrupt?: boolean) => void;
993
844
  className?: string;
994
845
  }
995
- declare function PermissionPrompt({
996
- request,
997
- onApprove,
998
- onDeny,
999
- className
1000
- }: PermissionPromptProps): _$react.JSX.Element;
846
+ declare function PermissionPrompt({ request, onApprove, onDeny, className }: PermissionPromptProps): import("react").JSX.Element;
1001
847
  //#endregion
1002
848
  //#region src/components/agent/QuestionPrompt.d.ts
1003
849
  type QuestionBehaviorMeta = {
@@ -1013,12 +859,7 @@ interface QuestionPromptProps {
1013
859
  onDismiss: (requestId: string, message?: string) => void;
1014
860
  className?: string;
1015
861
  }
1016
- declare function QuestionPrompt({
1017
- request,
1018
- onAnswer,
1019
- onDismiss,
1020
- className
1021
- }: QuestionPromptProps): _$react.JSX.Element;
862
+ declare function QuestionPrompt({ request, onAnswer, onDismiss, className }: QuestionPromptProps): import("react").JSX.Element;
1022
863
  //#endregion
1023
864
  //#region src/components/agent/Composer.d.ts
1024
865
  type ComposerFileMatch = {
@@ -1059,25 +900,7 @@ interface ComposerProps {
1059
900
  ref?: Ref<ComposerHandle>;
1060
901
  }
1061
902
  declare function skillPrompt(skill: SkillInfo): string;
1062
- declare function Composer({
1063
- onSend,
1064
- onInterrupt,
1065
- busy,
1066
- disabled,
1067
- placeholder,
1068
- commands,
1069
- skills,
1070
- onSearchFiles,
1071
- attachments,
1072
- toolbar,
1073
- layout,
1074
- fontSize,
1075
- lineHeight,
1076
- affordances,
1077
- draft,
1078
- className,
1079
- ref
1080
- }: ComposerProps): _$react.JSX.Element;
903
+ declare function Composer({ onSend, onInterrupt, busy, disabled, placeholder, commands, skills, onSearchFiles, attachments, toolbar, layout, fontSize, lineHeight, affordances, draft, className, ref }: ComposerProps): import("react").JSX.Element;
1081
904
  //#endregion
1082
905
  //#region src/components/agent/ModelSelect.d.ts
1083
906
  interface ModelSelectProps {
@@ -1088,14 +911,7 @@ interface ModelSelectProps {
1088
911
  disabled?: boolean;
1089
912
  className?: string;
1090
913
  }
1091
- declare function ModelSelect({
1092
- models,
1093
- model,
1094
- onModelChange,
1095
- variant,
1096
- disabled,
1097
- className
1098
- }: ModelSelectProps): _$react.JSX.Element;
914
+ declare function ModelSelect({ models, model, onModelChange, variant, disabled, className }: ModelSelectProps): import("react").JSX.Element;
1099
915
  //#endregion
1100
916
  //#region src/components/agent/StatusBar.d.ts
1101
917
  interface StatusBarProps {
@@ -1112,19 +928,7 @@ interface StatusBarProps {
1112
928
  placement?: 'top' | 'bottom';
1113
929
  className?: string;
1114
930
  }
1115
- declare function StatusBar({
1116
- state,
1117
- rateLimits,
1118
- connected,
1119
- connection,
1120
- onOpenStatus,
1121
- onOpenContext,
1122
- onOpenUsage,
1123
- controls,
1124
- actions,
1125
- placement,
1126
- className
1127
- }: StatusBarProps): _$react.JSX.Element;
931
+ declare function StatusBar({ state, rateLimits, connected, connection, onOpenStatus, onOpenContext, onOpenUsage, controls, actions, placement, className }: StatusBarProps): import("react").JSX.Element;
1128
932
  //#endregion
1129
933
  //#region src/components/agent/ContextDialog.d.ts
1130
934
  interface ContextDialogProps {
@@ -1133,12 +937,7 @@ interface ContextDialogProps {
1133
937
  onOpenChange: (open: boolean) => void;
1134
938
  className?: string;
1135
939
  }
1136
- declare function ContextDialog({
1137
- usage,
1138
- open,
1139
- onOpenChange,
1140
- className
1141
- }: ContextDialogProps): _$react.JSX.Element;
940
+ declare function ContextDialog({ usage, open, onOpenChange, className }: ContextDialogProps): import("react").JSX.Element;
1142
941
  //#endregion
1143
942
  //#region src/components/agent/UsageDialog.d.ts
1144
943
  interface UsageDialogProps {
@@ -1151,28 +950,15 @@ interface UsageDialogProps {
1151
950
  onOpenChange: (open: boolean) => void;
1152
951
  className?: string;
1153
952
  }
1154
- declare function UsageDialog({
1155
- rateLimits,
1156
- subscriptionType,
1157
- engine,
1158
- totalCostUsd,
1159
- updatedAt,
1160
- open,
1161
- onOpenChange,
1162
- className
1163
- }: UsageDialogProps): _$react.JSX.Element;
953
+ declare function UsageDialog({ rateLimits, subscriptionType, engine, totalCostUsd, updatedAt, open, onOpenChange, className }: UsageDialogProps): import("react").JSX.Element;
1164
954
  //#endregion
1165
955
  //#region src/components/agent/UsageMeters.d.ts
1166
956
  declare function useMinuteClock(active?: boolean): number;
1167
- declare function UsageMeters({
1168
- windows,
1169
- now,
1170
- className
1171
- }: {
957
+ declare function UsageMeters({ windows, now, className }: {
1172
958
  windows: UsageWindowRow[];
1173
959
  now?: number;
1174
960
  className?: string;
1175
- }): _$react.JSX.Element;
961
+ }): import("react").JSX.Element;
1176
962
  //#endregion
1177
963
  //#region src/components/agent/SessionInfoDialog.d.ts
1178
964
  interface SessionInfoDialogProps {
@@ -1182,13 +968,7 @@ interface SessionInfoDialogProps {
1182
968
  open: boolean;
1183
969
  onOpenChange: (open: boolean) => void;
1184
970
  }
1185
- declare function SessionInfoDialog({
1186
- state,
1187
- client,
1188
- sessionId,
1189
- open,
1190
- onOpenChange
1191
- }: SessionInfoDialogProps): _$react.JSX.Element;
971
+ declare function SessionInfoDialog({ state, client, sessionId, open, onOpenChange }: SessionInfoDialogProps): import("react").JSX.Element;
1192
972
  //#endregion
1193
973
  //#region src/components/agent/McpDialog.d.ts
1194
974
  interface McpDialogProps {
@@ -1199,14 +979,7 @@ interface McpDialogProps {
1199
979
  canManageServers?: boolean;
1200
980
  className?: string;
1201
981
  }
1202
- declare function McpDialog({
1203
- client,
1204
- sessionId,
1205
- open,
1206
- onOpenChange,
1207
- canManageServers,
1208
- className
1209
- }: McpDialogProps): _$react.JSX.Element;
982
+ declare function McpDialog({ client, sessionId, open, onOpenChange, canManageServers, className }: McpDialogProps): import("react").JSX.Element;
1210
983
  //#endregion
1211
984
  //#region src/components/agent/SkillsDialog.d.ts
1212
985
  interface SkillsDialogProps {
@@ -1216,13 +989,7 @@ interface SkillsDialogProps {
1216
989
  onUse?: (skill: SkillInfo) => void;
1217
990
  className?: string;
1218
991
  }
1219
- declare function SkillsDialog({
1220
- skills,
1221
- open,
1222
- onOpenChange,
1223
- onUse,
1224
- className
1225
- }: SkillsDialogProps): _$react.JSX.Element;
992
+ declare function SkillsDialog({ skills, open, onOpenChange, onUse, className }: SkillsDialogProps): import("react").JSX.Element;
1226
993
  //#endregion
1227
994
  //#region src/components/agent/HostFilesDialog.d.ts
1228
995
  interface HostFilesDialogProps {
@@ -1231,12 +998,7 @@ interface HostFilesDialogProps {
1231
998
  open: boolean;
1232
999
  onOpenChange: (open: boolean) => void;
1233
1000
  }
1234
- declare function HostFilesDialog({
1235
- client,
1236
- cwd,
1237
- open,
1238
- onOpenChange
1239
- }: HostFilesDialogProps): _$react.JSX.Element;
1001
+ declare function HostFilesDialog({ client, cwd, open, onOpenChange }: HostFilesDialogProps): import("react").JSX.Element;
1240
1002
  //#endregion
1241
1003
  //#region src/components/agent/SessionList.d.ts
1242
1004
  interface SessionListItemProps {
@@ -1246,13 +1008,7 @@ interface SessionListItemProps {
1246
1008
  onDelete?: (id: string) => void;
1247
1009
  className?: string;
1248
1010
  }
1249
- declare function SessionListItem({
1250
- session,
1251
- active,
1252
- onSelect,
1253
- onDelete,
1254
- className
1255
- }: SessionListItemProps): _$react.JSX.Element;
1011
+ declare function SessionListItem({ session, active, onSelect, onDelete, className }: SessionListItemProps): import("react").JSX.Element;
1256
1012
  interface SessionListProps {
1257
1013
  sessions: SessionInfo[];
1258
1014
  activeId?: string;
@@ -1261,23 +1017,13 @@ interface SessionListProps {
1261
1017
  emptyText?: string;
1262
1018
  className?: string;
1263
1019
  }
1264
- declare function SessionList({
1265
- sessions,
1266
- activeId,
1267
- onSelect,
1268
- onDelete,
1269
- emptyText,
1270
- className
1271
- }: SessionListProps): _$react.JSX.Element;
1020
+ declare function SessionList({ sessions, activeId, onSelect, onDelete, emptyText, className }: SessionListProps): import("react").JSX.Element;
1272
1021
  //#endregion
1273
1022
  //#region src/components/agent/SessionStatusIcon.d.ts
1274
- declare function SessionStatusIcon({
1275
- row,
1276
- className
1277
- }: {
1023
+ declare function SessionStatusIcon({ row, className }: {
1278
1024
  row: SessionRow;
1279
1025
  className?: string;
1280
- }): _$react.JSX.Element;
1026
+ }): import("react").JSX.Element;
1281
1027
  //#endregion
1282
1028
  //#region src/components/agent/SessionBrowser.d.ts
1283
1029
  interface SessionBrowserProps {
@@ -1299,24 +1045,7 @@ interface SessionBrowserProps {
1299
1045
  className?: string;
1300
1046
  }
1301
1047
  declare function rowShapeClass(active: boolean): string;
1302
- declare function SessionBrowser({
1303
- rows,
1304
- config,
1305
- onConfigChange,
1306
- scope,
1307
- activeId,
1308
- activeSubagentId,
1309
- onSelect,
1310
- onDelete,
1311
- onRename,
1312
- onClearContext,
1313
- onSelectSubagent,
1314
- onRevealStep,
1315
- emptyState,
1316
- showControls,
1317
- projectIcons,
1318
- className
1319
- }: SessionBrowserProps): _$react.JSX.Element;
1048
+ declare function SessionBrowser({ rows, config, onConfigChange, scope, activeId, activeSubagentId, onSelect, onDelete, onRename, onClearContext, onSelectSubagent, onRevealStep, emptyState, showControls, projectIcons, className }: SessionBrowserProps): import("react").JSX.Element;
1320
1049
  //#endregion
1321
1050
  //#region src/components/agent/SessionItem.d.ts
1322
1051
  interface SessionItemProps {
@@ -1338,39 +1067,17 @@ interface SessionItemProps {
1338
1067
  actions?: ReactNode;
1339
1068
  className?: string;
1340
1069
  }
1341
- declare function SessionItem({
1342
- row,
1343
- active,
1344
- activeStepKey,
1345
- showGateway,
1346
- showProject,
1347
- projectIcons,
1348
- expanded,
1349
- onExpandedChange,
1350
- onSelect,
1351
- onSelectSubagent,
1352
- onRevealStep,
1353
- onRename,
1354
- renameOn,
1355
- editing,
1356
- onEditingChange,
1357
- actions,
1358
- className
1359
- }: SessionItemProps): _$react.JSX.Element;
1070
+ declare function SessionItem({ row, active, activeStepKey, showGateway, showProject, projectIcons, expanded, onExpandedChange, onSelect, onSelectSubagent, onRevealStep, onRename, renameOn, editing, onEditingChange, actions, className }: SessionItemProps): import("react").JSX.Element;
1360
1071
  //#endregion
1361
1072
  //#region src/components/agent/EngineIcon.d.ts
1362
1073
  declare function engineMark(engine: string, model?: string): string | undefined;
1363
1074
  declare function vendorMarkClass(engine: string, model?: string): string;
1364
1075
  declare function vendorTextClass(engine: string, model?: string): string;
1365
- declare function EngineIcon({
1366
- engine,
1367
- model,
1368
- className
1369
- }: {
1076
+ declare function EngineIcon({ engine, model, className }: {
1370
1077
  engine: string;
1371
1078
  model?: string;
1372
1079
  className?: string;
1373
- }): _$react.JSX.Element;
1080
+ }): import("react").JSX.Element;
1374
1081
  //#endregion
1375
1082
  //#region src/components/agent/SessionSteps.d.ts
1376
1083
  type Step = {
@@ -1385,39 +1092,21 @@ type Step = {
1385
1092
  };
1386
1093
  declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string, kind: Step['kind']) => void): Step[];
1387
1094
  declare function runningSteps(steps: readonly Step[]): number;
1388
- declare function StepToggle({
1389
- expanded,
1390
- running,
1391
- total,
1392
- noun,
1393
- onToggle
1394
- }: {
1095
+ declare function StepToggle({ expanded, running, total, noun, onToggle }: {
1395
1096
  expanded: boolean;
1396
1097
  running: number;
1397
1098
  total: number;
1398
1099
  noun: string;
1399
1100
  onToggle: () => void;
1400
- }): _$react.JSX.Element;
1401
- declare function StepRow({
1402
- step,
1403
- active,
1404
- onSelect
1405
- }: {
1101
+ }): import("react").JSX.Element;
1102
+ declare function StepRow({ step, active, onSelect }: {
1406
1103
  step: Step;
1407
1104
  active?: boolean;
1408
1105
  onSelect: () => void;
1409
- }): _$react.JSX.Element;
1106
+ }): import("react").JSX.Element;
1410
1107
  //#endregion
1411
1108
  //#region src/components/agent/SubagentStrip.d.ts
1412
- declare function SubagentStrip({
1413
- task,
1414
- items,
1415
- label,
1416
- onBack,
1417
- terminal,
1418
- fontSize,
1419
- lineHeight
1420
- }: {
1109
+ declare function SubagentStrip({ task, items, label, onBack, terminal, fontSize, lineHeight }: {
1421
1110
  task: ToolCallItem$1 | undefined;
1422
1111
  items: readonly TranscriptItem[];
1423
1112
  label: string;
@@ -1425,20 +1114,15 @@ declare function SubagentStrip({
1425
1114
  terminal: boolean;
1426
1115
  fontSize?: number;
1427
1116
  lineHeight?: number;
1428
- }): _$react.JSX.Element;
1117
+ }): import("react").JSX.Element;
1429
1118
  //#endregion
1430
1119
  //#region src/components/agent/ProjectIcon.d.ts
1431
- declare function ProjectIcon({
1432
- icon,
1433
- src,
1434
- name,
1435
- className
1436
- }: {
1120
+ declare function ProjectIcon({ icon, src, name, className }: {
1437
1121
  icon: ProjectIcon$1 | undefined;
1438
1122
  src?: string;
1439
1123
  name?: string;
1440
1124
  className?: string;
1441
- }): _$react.JSX.Element | null;
1125
+ }): import("react").JSX.Element | null;
1442
1126
  //#endregion
1443
1127
  //#region src/components/agent/SessionEmptyState.d.ts
1444
1128
  interface SessionEmptyStateProps {
@@ -1448,22 +1132,13 @@ interface SessionEmptyStateProps {
1448
1132
  canBrowseFiles?: boolean;
1449
1133
  className?: string;
1450
1134
  }
1451
- declare function SessionEmptyState({
1452
- cwd,
1453
- hasCommands,
1454
- hasSkills,
1455
- canBrowseFiles,
1456
- className
1457
- }: SessionEmptyStateProps): _$react.JSX.Element;
1135
+ declare function SessionEmptyState({ cwd, hasCommands, hasSkills, canBrowseFiles, className }: SessionEmptyStateProps): import("react").JSX.Element;
1458
1136
  //#endregion
1459
1137
  //#region src/components/agent/PromptTokenText.d.ts
1460
- declare function PromptTokenText({
1461
- text,
1462
- className
1463
- }: {
1138
+ declare function PromptTokenText({ text, className }: {
1464
1139
  text: string;
1465
1140
  className?: string;
1466
- }): _$react.JSX.Element;
1141
+ }): import("react").JSX.Element;
1467
1142
  //#endregion
1468
1143
  //#region src/components/agent/status.d.ts
1469
1144
  declare const STATUS_META: Record<SessionStatus, {
@@ -1473,15 +1148,11 @@ declare const STATUS_META: Record<SessionStatus, {
1473
1148
  }>;
1474
1149
  //#endregion
1475
1150
  //#region src/components/agent/ContextRing.d.ts
1476
- declare function ContextRing({
1477
- usage,
1478
- size,
1479
- className
1480
- }: {
1151
+ declare function ContextRing({ usage, size, className }: {
1481
1152
  usage: ContextReading | undefined;
1482
1153
  size?: number;
1483
1154
  className?: string;
1484
- }): _$react.JSX.Element | null;
1155
+ }): import("react").JSX.Element | null;
1485
1156
  //#endregion
1486
1157
  //#region src/lib/utils.d.ts
1487
1158
  declare function cn(...inputs: ClassValue[]): string;