@workerdeck/ui 0.20.0 → 0.21.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,5 +1,5 @@
1
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-ljc3lKpA.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-CnU_IJ3-.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-BjNAnWMF.mjs";
3
3
  import * as _$react from "react";
4
4
  import { ButtonHTMLAttributes, FunctionComponent, HTMLAttributes, InputHTMLAttributes, ReactElement, ReactNode, Ref, RefObject, TextareaHTMLAttributes } from "react";
5
5
  import { VariantProps } from "class-variance-authority";
@@ -1872,6 +1872,37 @@ declare function SessionList({
1872
1872
  className
1873
1873
  }: SessionListProps): _$react.JSX.Element;
1874
1874
  //#endregion
1875
+ //#region src/components/agent/SessionStatusIcon.d.ts
1876
+ /**
1877
+ * State as one glyph — a ringing bell when it wants a human, a spinner while it
1878
+ * works, a moon when it is only sleeping. Replaces the text badge: in a sidebar
1879
+ * the word costs more room than it earns, and the states that matter are the two
1880
+ * you can recognise without reading.
1881
+ *
1882
+ * **It reads `row.state`, not `info.status`, and that distinction is the whole
1883
+ * point of the row model.** `sessionState` already folds in the arm this glyph
1884
+ * cannot see for itself: a *background* sub-agent outlives its turn by design,
1885
+ * so the turn ends, `status` comes to rest at `idle`, and the agent keeps
1886
+ * working. Reading the raw status drew a **moon on a row filed under the
1887
+ * "Working" header** — the list contradicting itself on one line, which is
1888
+ * exactly what a derived view model exists to prevent. The value was in scope
1889
+ * and unread.
1890
+ *
1891
+ * The terminal statuses still come off `info.status`, because `ended` collapses
1892
+ * `failed` and `closed` into one bucket and those are worth telling apart here.
1893
+ *
1894
+ * It lives in its own file rather than inside the dashboard's browser because
1895
+ * the extension's cards draw it too, and a second copy there is how the two
1896
+ * lists last disagreed about what a parked session looks like.
1897
+ */
1898
+ declare function SessionStatusIcon({
1899
+ row,
1900
+ className
1901
+ }: {
1902
+ row: SessionRow;
1903
+ className?: string;
1904
+ }): _$react.JSX.Element;
1905
+ //#endregion
1875
1906
  //#region src/components/agent/SessionBrowser.d.ts
1876
1907
  /**
1877
1908
  * A sessions list with the affordances a list of thirty needs: search, facets,
@@ -1895,6 +1926,13 @@ interface SessionBrowserProps {
1895
1926
  * phone — makes the scope filter genuinely inert rather than empty. */
1896
1927
  scope?: WorkspaceScope;
1897
1928
  activeId?: string;
1929
+ /**
1930
+ * Which sub-agent the host currently has open, by tool-use id — the *finer*
1931
+ * of the two selections. The card holding it drops to the secondary grey and
1932
+ * that step takes the blue; see `SessionItem`. A host with no sub-agent
1933
+ * surface leaves it undefined and nothing changes.
1934
+ */
1935
+ activeSubagentId?: string;
1898
1936
  onSelect?: (row: SessionRow) => void;
1899
1937
  onDelete?: (row: SessionRow) => void;
1900
1938
  /**
@@ -1923,6 +1961,11 @@ interface SessionBrowserProps {
1923
1961
  * transcript to a `Task` row. Absent, the sub-agent list still expands and a
1924
1962
  * step just opens its session — see `SessionRowItemProps`. */
1925
1963
  onSelectSubagent?: (row: SessionRow, toolUseId: string) => void;
1964
+ /** Open a session and travel to one of its **tasks** — see
1965
+ * `SessionItem.onRevealStep`. A task has no agent behind it, so it is a place
1966
+ * to go rather than a thing to open, and framing it as an agent drew an empty
1967
+ * view. */
1968
+ onRevealStep?: (row: SessionRow, toolUseId: string) => void;
1926
1969
  /** Rendered when nothing at all exists (as opposed to nothing matching). */
1927
1970
  emptyState?: React.ReactNode;
1928
1971
  /**
@@ -1971,38 +2014,168 @@ declare function SessionBrowser({
1971
2014
  onConfigChange,
1972
2015
  scope,
1973
2016
  activeId,
2017
+ activeSubagentId,
1974
2018
  onSelect,
1975
2019
  onDelete,
1976
2020
  onRename,
1977
2021
  onClearContext,
1978
2022
  onSelectSubagent,
2023
+ onRevealStep,
1979
2024
  emptyState,
1980
2025
  showControls,
1981
2026
  projectIcons,
1982
2027
  className
1983
2028
  }: SessionBrowserProps): _$react.JSX.Element;
2029
+ //#endregion
2030
+ //#region src/components/agent/SessionItem.d.ts
1984
2031
  /**
1985
- * State as one glypha ringing bell when it wants a human, a spinner while it
1986
- * works, a moon when it is only sleeping. Replaces the text badge: in a sidebar
1987
- * the word costs more room than it earns, and the states that matter are the two
1988
- * you can recognise without reading.
1989
- *
1990
- * **It reads `row.state`, not `info.status`, and that distinction is the whole
1991
- * point of the row model.** `sessionState` already folds in the arm this glyph
1992
- * cannot see for itself: a *background* sub-agent outlives its turn by design, so
1993
- * the turn ends, `status` comes to rest at `idle`, and the agent keeps working.
1994
- * Reading the raw status drew a **moon on a row filed under the "Working"
1995
- * header** the list contradicting itself on one line, which is exactly what a
1996
- * derived view model exists to prevent. The value was in scope and unread.
1997
- *
1998
- * The terminal statuses still come off `info.status`, because `ended` collapses
1999
- * `failed` and `closed` into one bucket and those are worth telling apart here.
2032
+ * One session in a list the **card**, and the only drawing of it in the
2033
+ * product.
2034
+ *
2035
+ * The dashboard's `SessionBrowser` and the VS Code sidebar both render this;
2036
+ * before it existed they rendered two hand-kept copies that agreed on the model
2037
+ * and disagreed on every measurement, and the two lists read as two products.
2038
+ * iOS mirrors this file's geometry rather than either copy.
2039
+ *
2040
+ * ## The shape
2041
+ *
2042
+ * A 4px-padded, 4px-rounded card whose whole surface is the hit target, holding
2043
+ * two 20px lines and, when it is open, the work under them.
2044
+ *
2045
+ * **Line one is state and identity**: the status glyph leads, the title takes
2046
+ * the rest, and the line closes with the unread badge and the context ring. The
2047
+ * glyph leads because a sessions list is scanned for *state* first — which of
2048
+ * these is working, which is waiting on me — and the title is what you read once
2049
+ * the glyph has told you which row to read. The two readings that close the line
2050
+ * are the two that change while you are looking at them.
2051
+ *
2052
+ * **Line two is identity and cost**: the engine's mark and its model in the
2053
+ * vendor's own colour, then the project, then everything else the host wants
2054
+ * said, then the age — a `·`-joined run that ends in the one part of it that
2055
+ * keeps moving. The line's right edge belongs to the disclosure (which doubles
2056
+ * as the count of the work below, so the card says how much there is without
2057
+ * being opened) and to the host's own actions.
2058
+ *
2059
+ * **The gutter is one 16px cell, shared by both lines.** The two glyphs are
2060
+ * different sizes and laying them out as plain flex children starts the two
2061
+ * text columns at different x — two pixels, invisible as a measurement and
2062
+ * obvious as a misalignment. Centring inside a fixed cell fixes the text edges
2063
+ * and the ink centres at once. It is the terminal gutter's argument at card
2064
+ * scale.
2065
+ *
2066
+ * ## Selection
2067
+ *
2068
+ * **Selection is the card's own fill**, not a gutter bar: the card is an inset
2069
+ * shape with air around it, so filling it is unambiguous in a way a fill on a
2070
+ * full-bleed row is not, and it leaves the left edge to the state glyph.
2071
+ *
2072
+ * There are **two selections at two grains**, and the card and its steps split
2073
+ * them:
2074
+ *
2075
+ * | what is on screen | card | the step |
2076
+ * | --- | --- | --- |
2077
+ * | nothing | transparent, hovers | transparent, hovers |
2078
+ * | this session | `--row-selected` (blue) | transparent, hovers |
2079
+ * | one of its sub-agents | `--row-selected-weak` (grey) | `--row-selected` (blue) |
2080
+ *
2081
+ * **The blue always marks the finest thing selected.** Opening a sub-agent
2082
+ * selects its session too, so both claims are true at once and the blue can only
2083
+ * carry one; it goes to the agent, and the card steps back to grey — present,
2084
+ * holding what you are looking at, not itself the thing you are looking at.
2085
+ * Reversing that (blue card, blue row inside it) says nothing, which is what a
2086
+ * blue-on-blue card looked like.
2087
+ *
2088
+ * A filled card does **not** also answer hover: the fill is already spent, and a
2089
+ * selected row that lightened under the pointer read as a third state nobody
2090
+ * could name. Its steps still do, on `--row-active`, which is a tint and so
2091
+ * works on all three grounds.
2092
+ *
2093
+ * A **task** never takes the blue. It is a reference to a place inside a
2094
+ * session, so pressing one selects the session and travels to its marker — see
2095
+ * `StepRow`.
2000
2096
  */
2001
- declare function SessionStatusIcon({
2002
- row
2003
- }: {
2097
+ interface SessionItemProps {
2004
2098
  row: SessionRow;
2005
- }): _$react.JSX.Element;
2099
+ /** This session is the one the host is showing. */
2100
+ active?: boolean;
2101
+ /**
2102
+ * Which sub-agent is open, by `Step.key` — the *finer* of the two selections.
2103
+ * When it names one of this card's agents, that step takes the blue and the
2104
+ * card drops to the secondary grey. A key belonging to some other card's
2105
+ * agent, or to a task, changes nothing here.
2106
+ */
2107
+ activeStepKey?: string;
2108
+ /** Shown when the list is not already grouped by gateway. */
2109
+ showGateway?: boolean;
2110
+ /**
2111
+ * False when the list is already grouped by project — the header above has
2112
+ * said the name, so the card must not spend its metadata line repeating it.
2113
+ * What takes the slot is the *sub-path inside the project*
2114
+ * (`projectSubpath`): `packages/ui`, `packages/server` — the one thing the
2115
+ * header cannot say and the only thing that tells two sessions in one repo
2116
+ * apart. A session at the project root has nothing to add and the slot
2117
+ * disappears entirely. Exactly the rule `showGateway` follows one facet over.
2118
+ */
2119
+ showProject?: boolean;
2120
+ /** Resolved project-icon bytes by content hash. A hash this map has not got
2121
+ * yet simply draws no icon. */
2122
+ projectIcons?: Record<string, string>;
2123
+ /** Uncontrolled by default — pass both to drive expansion from the host. */
2124
+ expanded?: boolean;
2125
+ onExpandedChange?: (expanded: boolean) => void;
2126
+ onSelect?: () => void;
2127
+ /** Open the session *at* one of its sub-agents — hand the panel body over to
2128
+ * that agent's own work. Only ever called for an **agent** step. Absent is not
2129
+ * a missing feature: without it a step just opens the session, which is all a
2130
+ * host with no sub-agent surface can offer. */
2131
+ onSelectSubagent?: (toolUseId: string) => void;
2132
+ /**
2133
+ * Open the session and travel to a **task**'s row in the transcript — where
2134
+ * the work was started, and where it finished.
2135
+ *
2136
+ * A separate seam from `onSelectSubagent` because the destinations are
2137
+ * different, and conflating them is not a styling detail: a task has no agent
2138
+ * behind it, so framing its tool-use id selects **no items at all** and the
2139
+ * panel draws an empty agent view. That was the bug. A task is a reference,
2140
+ * and the only honest thing to do with a reference is follow it.
2141
+ */
2142
+ onRevealStep?: (toolUseId: string) => void;
2143
+ /** Enables in-place rename. The trigger is the host's — see `renameOn`. */
2144
+ onRename?: (title: string) => void;
2145
+ /**
2146
+ * How a rename starts. `doubleClick` is the editor feel (a rename is a thing
2147
+ * you do to the word you are looking at); `external` means the host opens it
2148
+ * from its own affordance — a menu entry, a pencil in `actions` — and drives
2149
+ * it through `editing`/`onEditingChange`.
2150
+ */
2151
+ renameOn?: 'doubleClick' | 'external';
2152
+ editing?: boolean;
2153
+ onEditingChange?: (editing: boolean) => void;
2154
+ /** The card's trailing controls, at the end of line two. A single overflow
2155
+ * glyph is what the design draws; a host with three always-on actions can put
2156
+ * them here instead. */
2157
+ actions?: ReactNode;
2158
+ className?: string;
2159
+ }
2160
+ declare function SessionItem({
2161
+ row,
2162
+ active,
2163
+ activeStepKey,
2164
+ showGateway,
2165
+ showProject,
2166
+ projectIcons,
2167
+ expanded,
2168
+ onExpandedChange,
2169
+ onSelect,
2170
+ onSelectSubagent,
2171
+ onRevealStep,
2172
+ onRename,
2173
+ renameOn,
2174
+ editing,
2175
+ onEditingChange,
2176
+ actions,
2177
+ className
2178
+ }: SessionItemProps): _$react.JSX.Element;
2006
2179
  //#endregion
2007
2180
  //#region src/components/agent/EngineIcon.d.ts
2008
2181
  /**
@@ -2080,7 +2253,26 @@ type Step = {
2080
2253
  title: string;
2081
2254
  onSelect: () => void;
2082
2255
  };
2083
- declare function sessionSteps(info: SessionInfo, onSelectSubagent: (toolUseId: string) => void): Step[];
2256
+ /**
2257
+ * The steps under one session, **agents first**.
2258
+ *
2259
+ * The two kinds do different things when pressed and are worth different
2260
+ * amounts of attention: an agent has work of its own to go and read, a task is a
2261
+ * marker in a transcript. Interleaved in dispatch order they read as one
2262
+ * undifferentiated list, and the rows you can actually open are scattered
2263
+ * through it. Grouped, the openable ones are a block at the top and the markers
2264
+ * are a tail you can skip.
2265
+ *
2266
+ * Stable **within** each group, deliberately: dispatch order is the only order
2267
+ * these records have that means anything (it is the order the work was started
2268
+ * in), so the sort partitions and never reorders inside a partition.
2269
+ *
2270
+ * `onSelect` is handed the **kind** as well as the id, because the two kinds go
2271
+ * to different places — see `SessionItem`, which is what routes them. Passing
2272
+ * only the id is what let a task be opened as if it were an agent, and a framed
2273
+ * task id matches no items, so the panel drew an **empty agent view**.
2274
+ */
2275
+ declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string, kind: Step['kind']) => void): Step[];
2084
2276
  /** How many of these are still going — the live half of the disclosure's count. */
2085
2277
  declare function runningSteps(steps: readonly Step[]): number;
2086
2278
  /**
@@ -2107,23 +2299,54 @@ declare function StepToggle({
2107
2299
  onToggle: () => void;
2108
2300
  }): _$react.JSX.Element;
2109
2301
  /**
2110
- * One step under its session. Pressing an **agent** hands the panel over to that
2111
- * agent's own work — it is not a session and never becomes one, but it does now
2112
- * have a surface (`SessionPanel.openSubagent`). A host that cannot frame one
2113
- * falls back to revealing its `Task` row, which was this row's only meaning
2114
- * before the takeover existed. A **task** is not pressable at all; see
2115
- * {@link Step.kind}.
2116
- *
2117
- * Divided from the row's header and from each other by a rule rather than by
2118
- * indentation: these are a list *inside* the row, and at 11px an indent is not
2119
- * enough to say so. The rule is black at 25% so it darkens whatever the row is
2120
- * filled with, selected or not, without needing a colour per state.
2302
+ * One step under its session **pressable, all of them**, and what a press
2303
+ * means is what tells the two kinds apart.
2304
+ *
2305
+ * Pressing an **agent** hands the panel over to that agent's own work
2306
+ * (`SessionPanel.openSubagent`): it is not a session and never becomes one, but
2307
+ * it has a surface, so it can be the selected thing. Pressing a **task** selects
2308
+ * the *session* and travels to that task's marker inside it — a task is a
2309
+ * reference to a place in a transcript, not a thing with a screen, so it can be
2310
+ * followed but never held.
2311
+ *
2312
+ * That is a reversal, and a deliberate one. A task used to be inert markup on
2313
+ * the argument that "a disabled-looking button still announces itself as one" —
2314
+ * correct about the markup, wrong about the premise, because there *was* always
2315
+ * somewhere to go and the row simply swallowed the click on its way there. A row
2316
+ * that looks like a list item, sits in a list, and does nothing when pressed is
2317
+ * the worse lie. So every step answers the pointer and every step answers a
2318
+ * press; only what the press does differs.
2319
+ *
2320
+ * Divided from the card's header by **indentation and its own hit shape**, not
2321
+ * by a rule. The rules came first, on the argument that at 11px an indent is not
2322
+ * enough to say "list inside a row" — and they were right about the reading and
2323
+ * wrong about the cost: a stack of hairlines across every open card turned the
2324
+ * list into a ledger, and a rule cannot answer a pointer. A step that lights up
2325
+ * under the cursor and fills when it is the one on screen says *list* far more
2326
+ * plainly than a line between two of them, and it says it while doing the job
2327
+ * the rule could not.
2328
+ *
2329
+ * **Only an agent can wear the selection**, and `active` is guarded on that here
2330
+ * rather than trusted from the caller: a host that hands back a task's key is
2331
+ * describing where it navigated, not what it selected, and the row must not
2332
+ * paint itself blue for it.
2333
+ *
2334
+ * The hover is `--row-active` — **alpha, not a flat fill** — because this row
2335
+ * has to answer the pointer on three different grounds: a transparent card, a
2336
+ * blue one (its session is selected), and a grey one (a sibling agent is). A
2337
+ * flat value tuned for any of those is wrong on the other two; a tint darkens or
2338
+ * lifts whatever it lands on. It is the one place in the list where the alpha
2339
+ * token earns its keep.
2121
2340
  */
2122
2341
  declare function StepRow({
2123
2342
  step,
2343
+ active,
2124
2344
  onSelect
2125
2345
  }: {
2126
2346
  step: Step;
2347
+ /** The panel is showing this step's own work. Ignored for tasks, which cannot
2348
+ * be the selected thing — see above. */
2349
+ active?: boolean;
2127
2350
  onSelect: () => void;
2128
2351
  }): _$react.JSX.Element;
2129
2352
  //#endregion
@@ -2312,5 +2535,5 @@ declare function toolIcon(toolName: string): LucideIcon;
2312
2535
  */
2313
2536
  declare function isMutatingTool(toolName: string): boolean;
2314
2537
  //#endregion
2315
- export { AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, Badge, type BadgeProps, Band, Blank, Button, type ButtonProps, Card, CardContent, CardHeader, CardTitle, type ChipSegment, CodeBlock, type CodeBlockProps, Composer, type ComposerFileMatch, type ComposerHandle, type ComposerProps, 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, HostFilesDialog, type HostFilesDialogProps, Ink, Input, Loader, McpDialog, type McpDialogProps, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, type MessageProps, ModelSelect, type ModelSelectProps, PERMISSION_MODES, 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, STATUS_META, type Segment, Select, SelectContent, SelectItem, SelectItemText, SelectTrigger, SelectValue, SessionBrowser, type SessionBrowserProps, type SessionControls, SessionEmptyState, type SessionEmptyStateProps, SessionInfoDialog, type SessionInfoDialogProps, SessionList, SessionListItem, type SessionListItemProps, type SessionListProps, SessionPanel, type SessionPanelProps, SessionStatusIcon, type SessionSurfacePanel, type SessionVitals, SkillsDialog, type SkillsDialogProps, Spinner, Splitter, type SplitterProps, StatusBar, type StatusBarProps, type Step, StepRow, StepToggle, SubagentStrip, 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, 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, mentionTrigger, parseUserQuestions, permissionModeChoices, permissionModeMeta, plainTextToSegments, previewPatch, rateLimitWindowSeconds, rowShapeClass, runningSteps, segmentsToPlainText, sessionSteps, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useMinuteClock, usePromptAreaState, useTranscriptDensity, useTranscriptVariant, vendorMarkClass, vendorTextClass };
2538
+ export { AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, Badge, type BadgeProps, Band, Blank, Button, type ButtonProps, Card, CardContent, CardHeader, CardTitle, type ChipSegment, CodeBlock, type CodeBlockProps, Composer, type ComposerFileMatch, type ComposerHandle, type ComposerProps, 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, HostFilesDialog, type HostFilesDialogProps, Ink, Input, Loader, McpDialog, type McpDialogProps, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, type MessageProps, ModelSelect, type ModelSelectProps, PERMISSION_MODES, 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, STATUS_META, type Segment, Select, SelectContent, SelectItem, SelectItemText, SelectTrigger, SelectValue, SessionBrowser, type SessionBrowserProps, type SessionControls, SessionEmptyState, type SessionEmptyStateProps, SessionInfoDialog, type SessionInfoDialogProps, SessionItem, type SessionItemProps, SessionList, SessionListItem, type SessionListItemProps, type SessionListProps, SessionPanel, type SessionPanelProps, SessionStatusIcon, type SessionSurfacePanel, type SessionVitals, SkillsDialog, type SkillsDialogProps, Spinner, Splitter, type SplitterProps, StatusBar, type StatusBarProps, type Step, StepRow, StepToggle, SubagentStrip, 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, 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, mentionTrigger, parseUserQuestions, permissionModeChoices, permissionModeMeta, plainTextToSegments, previewPatch, rateLimitWindowSeconds, rowShapeClass, runningSteps, segmentsToPlainText, sessionSteps, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useMinuteClock, usePromptAreaState, useTranscriptDensity, useTranscriptVariant, vendorMarkClass, vendorTextClass };
2316
2539
  //# sourceMappingURL=index.d.mts.map