@workerdeck/ui 2.11.0 → 2.12.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.
@@ -39,6 +39,10 @@ declare function mergeComposerRows(sources: {
39
39
  skills?: readonly SkillInfo[];
40
40
  }): ComposerRow[];
41
41
  declare function rankComposerRows(query: string, rows: readonly ComposerRow[]): ComposerRow[];
42
+ declare function rankPeerSessions<T extends {
43
+ slug: string;
44
+ label: string;
45
+ }>(query: string, peers: readonly T[]): T[];
42
46
  declare function matchClientCommand(text: string, commands: readonly ClientCommand[]): {
43
47
  command: ClientCommand;
44
48
  args: string;
@@ -152,6 +156,7 @@ interface SessionPanelProps {
152
156
  terminalMetrics?: TerminalMetrics;
153
157
  scrubber?: boolean;
154
158
  bookmarks?: readonly string[];
159
+ peerMentions?: boolean;
155
160
  onToggleBookmark?: (itemId: string) => void;
156
161
  onOpenFile?: FileLinkOpener;
157
162
  reveal?: {
@@ -211,7 +216,7 @@ type SessionVitals = {
211
216
  itemCount: number;
212
217
  totalCostUsd: number;
213
218
  };
214
- declare function SessionPanel({ client, sessionId, header, panelSurface, statusSurface, statusPlacement, onOpenPanel, onVitals, transcriptVariant, transcriptDensity, transcriptFont, affordances, terminalMetrics, scrubber, bookmarks, onToggleBookmark, reveal, subagents, openSubagent, onSubagentChange, stickyPrompt, controlsSurface, onControls, focusComposerOnClick, unseen, readOnly, approvalPrompts, toolHost, clientTools, cacheTranscript, emptyState, onLinkClick, onOpenFile, fontSize, className }: SessionPanelProps): import("react").JSX.Element;
219
+ declare function SessionPanel({ client, sessionId, header, panelSurface, statusSurface, statusPlacement, onOpenPanel, onVitals, transcriptVariant, transcriptDensity, transcriptFont, affordances, terminalMetrics, scrubber, bookmarks, peerMentions, onToggleBookmark, reveal, subagents, openSubagent, onSubagentChange, stickyPrompt, controlsSurface, onControls, focusComposerOnClick, unseen, readOnly, approvalPrompts, toolHost, clientTools, cacheTranscript, emptyState, onLinkClick, onOpenFile, fontSize, className }: SessionPanelProps): import("react").JSX.Element;
215
220
  //#endregion
216
- export { ClientCommand as A, PERMISSION_MODES as C, PermissionModeSelectProps as D, PermissionModeSelect as E, skillPrompt as F, 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 };
217
- //# sourceMappingURL=SessionPanel-BVbau2eR.d.mts.map
221
+ 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 };
222
+ //# sourceMappingURL=SessionPanel-CJwp5B3q.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 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-BVbau2eR.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-CJwp5B3q.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";
@@ -10,8 +10,8 @@ import { Menu as Menu$1 } from "@base-ui/react/menu";
10
10
  import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
11
11
  import { Tooltip } from "@base-ui/react/tooltip";
12
12
  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, SkillInfo, SlashCommandInfo, UsageWindowRow, ViewConfig, WorkspaceScope, parseUserQuestions } from "@workerdeck/protocol";
14
- import { ConnectionState, TranscriptItem, TranscriptState, UseAttachmentsResult } from "@workerdeck/react";
13
+ import { ByModel, ContextReading, ContextUsage, FilePatch, ModelOption, PermissionRequest, PricingTable, ProfileEngine, ProfileSpend, ProjectIcon as ProjectIcon$1, QuestionBehavior, RateLimitInfo, SessionInfo, SessionRow, SessionStatus, SessionTask, SkillInfo, SlashCommandInfo, SubagentDisplay, UsageWindowRow, ViewConfig, WorkspaceScope, parseUserQuestions } from "@workerdeck/protocol";
14
+ import { ConnectionState, PeerSessionOption, TranscriptItem, TranscriptState, UseAttachmentsResult } from "@workerdeck/react";
15
15
  import { WorkerDeckClient } from "@workerdeck/client";
16
16
  //#region src/components/ui/Button.d.ts
17
17
  declare const buttonVariants: (props?: ({
@@ -693,6 +693,7 @@ interface TranscriptProps {
693
693
  stickyPrompt?: boolean;
694
694
  scrubber?: boolean;
695
695
  bookmarks?: readonly string[];
696
+ sessionNames?: readonly string[];
696
697
  replaying?: boolean;
697
698
  catchUp?: {
698
699
  from: number;
@@ -711,7 +712,7 @@ interface TranscriptProps {
711
712
  emptyState?: ReactNode;
712
713
  className?: string;
713
714
  }
714
- 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;
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;
715
716
  //#endregion
716
717
  //#region src/components/terminal/surface.d.ts
717
718
  interface TerminalSurfaceProps extends HTMLAttributes<HTMLDivElement> {
@@ -943,6 +944,7 @@ interface ComposerProps {
943
944
  onSearchFiles?: (query: string, options: {
944
945
  signal: AbortSignal;
945
946
  }) => Promise<ComposerFileMatch[]>;
947
+ peers?: readonly PeerSessionOption[];
946
948
  onShellCommand?: (command: string) => void;
947
949
  attachments?: UseAttachmentsResult;
948
950
  toolbar?: ReactNode;
@@ -958,7 +960,7 @@ interface ComposerProps {
958
960
  className?: string;
959
961
  ref?: Ref<ComposerHandle>;
960
962
  }
961
- declare function Composer({ onSend, onInterrupt, busy, disabled, placeholder, commands, skills, clientCommands, onSearchFiles, onShellCommand, attachments, toolbar, layout, fontSize, lineHeight, affordances, draft, className, ref }: ComposerProps): import("react").JSX.Element;
963
+ declare function Composer({ onSend, onInterrupt, busy, disabled, placeholder, commands, skills, clientCommands, onSearchFiles, peers, onShellCommand, attachments, toolbar, layout, fontSize, lineHeight, affordances, draft, className, ref }: ComposerProps): import("react").JSX.Element;
962
964
  //#endregion
963
965
  //#region src/components/agent/ModelSelect.d.ts
964
966
  interface ModelSelectProps {
@@ -1146,8 +1148,7 @@ interface SessionItemProps {
1146
1148
  showGateway?: boolean;
1147
1149
  showProject?: boolean;
1148
1150
  projectIcons?: Record<string, string>;
1149
- expanded?: boolean;
1150
- onExpandedChange?: (expanded: boolean) => void;
1151
+ subagents?: SubagentDisplay;
1151
1152
  onSelect?: (modifiers: SelectModifiers) => void;
1152
1153
  onSelectSubagent?: (toolUseId: string) => void;
1153
1154
  onRename?: (title: string) => void;
@@ -1157,7 +1158,7 @@ interface SessionItemProps {
1157
1158
  actions?: ReactNode;
1158
1159
  className?: string;
1159
1160
  }
1160
- declare function SessionItem({ row, active, activeStepKey, showGateway, showProject, projectIcons, expanded, onExpandedChange, onSelect, onSelectSubagent, onRename, renameOn, editing, onEditingChange, actions, className }: SessionItemProps): import("react").JSX.Element;
1161
+ declare function SessionItem({ row, active, activeStepKey, showGateway, showProject, projectIcons, subagents, onSelect, onSelectSubagent, onRename, renameOn, editing, onEditingChange, actions, className }: SessionItemProps): import("react").JSX.Element;
1161
1162
  //#endregion
1162
1163
  //#region src/components/agent/EngineIcon.d.ts
1163
1164
  declare function engineMark(engine: string, model?: string): string | undefined;
@@ -1179,21 +1180,30 @@ type Step = {
1179
1180
  title: string;
1180
1181
  onSelect: () => void;
1181
1182
  };
1182
- declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string) => void): Step[];
1183
- declare function runningSteps(steps: readonly Step[]): number;
1184
- declare function StepToggle({ expanded, running, total, noun, onToggle }: {
1185
- expanded: boolean;
1186
- running: number;
1187
- total: number;
1188
- noun: string;
1189
- onToggle: () => void;
1190
- }): import("react").JSX.Element;
1183
+ declare function sessionSteps(info: SessionInfo, onSelect: (toolUseId: string) => void, show?: SubagentDisplay): Step[];
1191
1184
  declare function StepRow({ step, active, onSelect }: {
1192
1185
  step: Step;
1193
1186
  active?: boolean;
1194
1187
  onSelect: () => void;
1195
1188
  }): import("react").JSX.Element;
1196
1189
  //#endregion
1190
+ //#region src/components/agent/SubagentToggle.d.ts
1191
+ declare const SUBAGENT_DISPLAY_ORDER: readonly SubagentDisplay[];
1192
+ declare const SUBAGENT_DISPLAY_META: Record<SubagentDisplay, {
1193
+ label: string;
1194
+ hint: string;
1195
+ }>;
1196
+ declare function SubagentDisplayIcon({ value, className }: {
1197
+ value: SubagentDisplay;
1198
+ className?: string;
1199
+ }): import("react").JSX.Element;
1200
+ type SubagentToggleProps = {
1201
+ value: SubagentDisplay;
1202
+ onChange: (value: SubagentDisplay) => void;
1203
+ className?: string;
1204
+ };
1205
+ declare function SubagentToggle({ value, onChange, className }: SubagentToggleProps): import("react").JSX.Element;
1206
+ //#endregion
1197
1207
  //#region src/components/agent/SubagentStrip.d.ts
1198
1208
  declare function SubagentStrip({ task, items, label, onBack, terminal, fontSize, lineHeight }: {
1199
1209
  task: ToolCallItem$1 | undefined;
@@ -1224,6 +1234,14 @@ interface SessionEmptyStateProps {
1224
1234
  declare function SessionEmptyState({ cwd, hasCommands, hasSkills, canBrowseFiles, className }: SessionEmptyStateProps): import("react").JSX.Element;
1225
1235
  //#endregion
1226
1236
  //#region src/components/agent/PromptTokenText.d.ts
1237
+ declare function SkillNamesProvider({ names, children }: {
1238
+ names: readonly string[] | undefined;
1239
+ children: ReactNode;
1240
+ }): import("react").JSX.Element;
1241
+ declare function SessionNamesProvider({ names, children }: {
1242
+ names: readonly string[] | undefined;
1243
+ children: ReactNode;
1244
+ }): import("react").JSX.Element;
1227
1245
  declare function PromptTokenText({ text, className }: {
1228
1246
  text: string;
1229
1247
  className?: string;
@@ -1254,5 +1272,5 @@ declare function copyText(value: string): Promise<boolean>;
1254
1272
  declare function toolIcon(toolName: string): LucideIcon;
1255
1273
  declare function isMutatingTool(toolName: string): boolean;
1256
1274
  //#endregion
1257
- 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, STATUS_META, 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, SessionPanel, type SessionPanelProps, SessionStatusIcon, type SessionSurfacePanel, type SessionVitals, SkillsDialog, type SkillsDialogProps, Spinner, Splitter, type SplitterProps, StatusBar, type StatusBarProps, type Step, StepRow, StepToggle, SubagentStrip, 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, rateLimitWindowSeconds, resolveAgainstCwd, rowShapeClass, runningSteps, segmentsToPlainText, sessionSteps, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMinuteClock, usePathLinks, usePromptAreaState, useToolTitle, useTranscriptDensity, useTranscriptVariant, vendorMarkClass, vendorTextClass };
1275
+ 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, 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, SkillNamesProvider, SkillsDialog, type SkillsDialogProps, Spinner, Splitter, type SplitterProps, StatusBar, type StatusBarProps, type Step, 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, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMinuteClock, usePathLinks, usePromptAreaState, useToolTitle, useTranscriptDensity, useTranscriptVariant, vendorMarkClass, vendorTextClass };
1258
1276
  //# sourceMappingURL=index.d.mts.map
package/build/index.mjs CHANGED
@@ -1,11 +1,11 @@
1
- import { $ as TerminalDiff, $t as SelectValue, A as PermissionPrompt, At as Spinner, Bt as DialogHeader, C as SessionInfoDialog, Ct as usePromptAreaState, D as QuestionPrompt, Dt as ProgressRing, E as QUESTION_BEHAVIORS, Et as segmentsToPlainText, F as permissionModeMeta, Ft as TooltipProvider, G as Composer, Gt as MenuItem, H as TaskList, Ht as DialogTrigger, I as ModelSelect, It as Dialog, J as useToolTitle, Jt as Select, K as TerminalSurface, Kt as MenuSeparator, L as SkillsDialog, Lt as DialogBody, M as PERMISSION_MODES, Mt as copyText, N as PermissionModeSelect, Nt as Tip, O as parseUserQuestions, Ot as Splitter, P as permissionModeChoices, Pt as TooltipContent, Q as parseFileLink, Qt as SelectTrigger, R as McpDialog, Rt as DialogClose, S as STATUS_META, St as mentionTrigger, T as TerminalPermissionPrompt, Tt as plainTextToSegments, U as ContextDialog, Ut as Menu, V as TasksDialog, Vt as DialogRow, W as contextNote, Wt as MenuContent, X as FileLinkProvider, Xt as SelectItem, Y as TerminalMarkdown, Yt as SelectContent, Z as useFileLinks, Zt as SelectItemText, _ as Loader, _t as rankComposerRows, a as UsageDialog, an as Button, at as CopyAction, b as ConversationScrollButton, bt as hashtagTrigger, c as Transcript, ct as PromptTokenText, d as Message, dt as TranscriptDensityProvider, en as PortalScope, et as previewPatch, f as MessageContent, ft as TranscriptVariantProvider, g as SessionEmptyState, gt as mergeComposerRows, h as TerminalTranscript, ht as matchClientCommand, i as SessionPanel, in as badgeVariants, it as Row, j as Response, jt as CopyButton, k as SubagentStrip, kt as CodeBlock, l as ToolCallCard, lt as isMutatingTool, m as TerminalItemView, mt as useTranscriptVariant, n as usePathLinks, nn as Input, nt as Blank, o as UsageMeters, on as buttonVariants, ot as WithActions, p as FileCard, pt as useTranscriptDensity, q as ToolTitleProvider, qt as MenuTrigger, r as matchPath, rn as Badge, rt as Ink, s as useMinuteClock, sn as cn, st as useAffordances, t as resolveAgainstCwd, tn as Textarea, tt as Band, u as Reasoning, ut as toolIcon, v as Conversation, vt as skillPrompt, w as TerminalQuestionPrompt, wt as PromptArea, x as StatusBar, xt as launchTrigger, y as ConversationContent, yt as commandTrigger, z as HostFilesDialog, zt as DialogContent } from "./use-path-links-DO_79-wX.mjs";
1
+ import { $ as TerminalDiff, $t as SelectItem, A as PermissionPrompt, At as ProgressRing, Bt as DialogBody, C as SessionInfoDialog, Ct as hashtagTrigger, D as QuestionPrompt, Dt as PromptArea, E as QUESTION_BEHAVIORS, Et as usePromptAreaState, F as permissionModeMeta, Ft as copyText, G as Composer, Gt as DialogTrigger, H as TaskList, Ht as DialogContent, I as ModelSelect, It as Tip, J as useToolTitle, Jt as MenuItem, K as TerminalSurface, Kt as Menu, L as SkillsDialog, Lt as TooltipContent, M as PERMISSION_MODES, Mt as CodeBlock, N as PermissionModeSelect, Nt as Spinner, O as parseUserQuestions, Ot as plainTextToSegments, P as permissionModeChoices, Pt as CopyButton, Q as parseFileLink, Qt as SelectContent, R as McpDialog, Rt as TooltipProvider, S as STATUS_META, St as commandTrigger, T as TerminalPermissionPrompt, Tt as mentionTrigger, U as ContextDialog, Ut as DialogHeader, V as TasksDialog, Vt as DialogClose, W as contextNote, Wt as DialogRow, X as FileLinkProvider, Xt as MenuTrigger, Y as TerminalMarkdown, Yt as MenuSeparator, Z as useFileLinks, Zt as Select, _ as Loader, _t as matchClientCommand, a as UsageDialog, an as Input, at as CopyAction, b as ConversationScrollButton, bt as rankPeerSessions, c as Transcript, cn as Button, ct as PromptTokenText, d as Message, dt as isMutatingTool, en as SelectItemText, et as previewPatch, f as MessageContent, ft as toolIcon, g as SessionEmptyState, gt as useTranscriptVariant, h as TerminalTranscript, ht as useTranscriptDensity, i as SessionPanel, in as Textarea, it as Row, j as Response, jt as Splitter, k as SubagentStrip, kt as segmentsToPlainText, l as ToolCallCard, ln as buttonVariants, lt as SessionNamesProvider, m as TerminalItemView, mt as TranscriptVariantProvider, n as usePathLinks, nn as SelectValue, nt as Blank, o as UsageMeters, on as Badge, ot as WithActions, p as FileCard, pt as TranscriptDensityProvider, q as ToolTitleProvider, qt as MenuContent, r as matchPath, rn as PortalScope, rt as Ink, s as useMinuteClock, sn as badgeVariants, st as useAffordances, t as resolveAgainstCwd, tn as SelectTrigger, tt as Band, u as Reasoning, un as cn, ut as SkillNamesProvider, v as Conversation, vt as mergeComposerRows, w as TerminalQuestionPrompt, wt as launchTrigger, x as StatusBar, xt as skillPrompt, y as ConversationContent, yt as rankComposerRows, z as HostFilesDialog, zt as Dialog } from "./use-path-links-CepFsMdW.mjs";
2
2
  import { C as rateLimitWindowSeconds, S as friendlyModel, _ as formatDuration, b as formatRelativeTime, c as tightestWindow, g as formatCountdown, h as formatCost, i as meterSeverity, m as formatBytes, o as modelLabel, p as formatAgoPrecise, r as meterColorClass, s as statusPresentation, t as contextSeverity, u as windowLabel, v as formatRateLimitWindow, w as toolInputPreview, x as formatTokens, y as formatRateLimitWindowLong } from "./status-kmsBhuFG.mjs";
3
3
  import { Fragment, useEffect, useMemo, useRef, useState } from "react";
4
4
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
5
- import { Anchor, ArrowRight, Atom, Beaker, BellRing, Bike, Binary, Blocks, Bot, Box, Brain, Briefcase, Brush, Bug, Building2, Cable, Camera, Car, Cat, Check, ChevronDown, ChevronRight, CircleAlert, CircleSlash, CircuitBoard, Cloud, Code, Coffee, Cog, Compass, Container, Cpu, CreditCard, Database, Diamond, Dog, Eraser, Feather, Film, Flame, FlaskConical, Folder, Gamepad2, Gauge, Gem, Ghost, Gift, GitBranch, Globe, GraduationCap, Hammer, Hexagon, House, Image, Key, Landmark, Laptop, Layers, Leaf, Library, Lightbulb, Lock, Mail, Map as Map$1, MessageCircle, Mic, Monitor, Moon, Mountain, Music, Network, Newspaper, Notebook, Orbit, Package, Palette, PauseCircle, PenTool, Pencil, Phone, PiggyBank, Plane, Plug, Puzzle, Radar, Radio, Receipt, Rocket, Ruler, Satellite, Scale, Scissors, Search, SearchX, Server, Shield, Ship, ShoppingCart, Signal, Smartphone, Sparkles, Sprout, Square, Star, Sun, Table, Tag, Target, Telescope, Terminal, TestTube, Trash2, TreePine, Trophy, Truck, Umbrella, Users, Wallet, Wand, Waves, Webhook, Wifi, Wrench, X, Zap } from "lucide-react";
5
+ import { Anchor, ArrowRight, Atom, Beaker, BellRing, Bike, Binary, Blocks, Bot, Box, Brain, Briefcase, Brush, Bug, Building2, Cable, Camera, Car, Cat, Check, ChevronDown, CircleAlert, CircleSlash, CircuitBoard, Cloud, Code, Coffee, Cog, Compass, Container, Cpu, CreditCard, Database, Diamond, Dog, Eraser, Feather, Film, Flame, FlaskConical, Folder, Gamepad2, Gauge, Gem, Ghost, Gift, GitBranch, Globe, GraduationCap, Hammer, Hexagon, House, Image, Key, Landmark, Laptop, Layers, Leaf, Library, Lightbulb, Lock, Mail, Map as Map$1, MessageCircle, Mic, Monitor, Moon, Mountain, Music, Network, Newspaper, Notebook, Orbit, Package, Palette, PauseCircle, PenTool, Pencil, Phone, PiggyBank, Plane, Plug, Puzzle, Radar, Radio, Receipt, Rocket, Ruler, Satellite, Scale, Scissors, Search, SearchX, Server, Shield, Ship, ShoppingCart, Signal, Smartphone, Sparkles, Sprout, Square, Star, Sun, Table, Tag, Target, Telescope, Terminal, TestTube, Trash2, TreePine, Trophy, Truck, Umbrella, Users, Wallet, Wand, Waves, Webhook, Wifi, Wrench, X, Zap } from "lucide-react";
6
6
  import { AlertDialog as AlertDialog$1 } from "@base-ui/react/alert-dialog";
7
7
  import { Toaster as Toaster$1, toast } from "sonner";
8
- import { STATE_LABELS, STATE_ORDER, adaptersOf, clearFilters, filterRows, groupRows, hasFacetFilter, isAgentRecord, projectLabel, projectName, projectSubpath, projectsOf, sessionLabel, subagentLabel, subsetSummary } from "@workerdeck/protocol";
8
+ import { STATE_LABELS, STATE_ORDER, adaptersOf, clearFilters, filterRows, groupRows, hasFacetFilter, isAgentRecord, projectLabel, projectName, projectSubpath, projectsOf, sessionLabel, subagentLabel, subsetSummary, visibleSubagents } from "@workerdeck/protocol";
9
9
  //#region src/components/ui/Card.tsx
10
10
  function Card({ className, ...props }) {
11
11
  return /* @__PURE__ */ jsx("div", {
@@ -513,8 +513,8 @@ function SessionStatusIcon({ row, className }) {
513
513
  }
514
514
  //#endregion
515
515
  //#region src/components/agent/SessionSteps.tsx
516
- function sessionSteps(info, onSelect) {
517
- return (info.subagents ?? []).filter(isAgentRecord).map((sub) => ({
516
+ function sessionSteps(info, onSelect, show = "all") {
517
+ return visibleSubagents(info, show).filter(isAgentRecord).map((sub) => ({
518
518
  key: sub.toolUseId,
519
519
  label: subagentLabel(sub),
520
520
  noun: "agent",
@@ -531,29 +531,6 @@ function stepState(status) {
531
531
  default: return "done";
532
532
  }
533
533
  }
534
- function runningSteps(steps) {
535
- return steps.filter((s) => s.state === "running").length;
536
- }
537
- function StepToggle({ expanded, running, total, noun, onToggle }) {
538
- const label = running > 0 && running < total ? `${running}/${total}` : String(total);
539
- const words = running > 0 && running < total ? `${running} of ${total} ${noun}s running` : `${total} ${noun}${total === 1 ? "" : "s"}`;
540
- const Chevron = expanded ? ChevronDown : ChevronRight;
541
- return /* @__PURE__ */ jsxs("button", {
542
- type: "button",
543
- "aria-expanded": expanded,
544
- "aria-label": `${expanded ? "Hide" : "Show"} ${words}`,
545
- title: `${expanded ? "Hide" : "Show"} ${words}`,
546
- onClick: (e) => {
547
- e.stopPropagation();
548
- onToggle();
549
- },
550
- className: cn("flex shrink-0 items-center gap-0.5 rounded-[4px] py-0.5 pr-1 pl-0.5 outline-none", "text-[0.75rem] leading-3 hover:bg-row-hover hover:text-fg-2", running > 0 ? "text-info" : "text-fg-4"),
551
- children: [/* @__PURE__ */ jsx(Chevron, { className: "size-3" }), /* @__PURE__ */ jsx("span", {
552
- className: "tabular-nums",
553
- children: label
554
- })]
555
- });
556
- }
557
534
  function StepRow({ step, active = false, onSelect }) {
558
535
  const body = step.state === "failed" ? "text-danger" : "text-success";
559
536
  return /* @__PURE__ */ jsxs("button", {
@@ -593,14 +570,8 @@ const NO_MODIFIERS = {
593
570
  ctrl: false,
594
571
  alt: false
595
572
  };
596
- function SessionItem({ row, active = false, activeStepKey, showGateway, showProject = true, projectIcons, expanded, onExpandedChange, onSelect, onSelectSubagent, onRename, renameOn = "doubleClick", editing, onEditingChange, actions, className }) {
573
+ function SessionItem({ row, active = false, activeStepKey, showGateway, showProject = true, projectIcons, subagents = "active", onSelect, onSelectSubagent, onRename, renameOn = "doubleClick", editing, onEditingChange, actions, className }) {
597
574
  const { info } = row;
598
- const [ownExpanded, setOwnExpanded] = useState(false);
599
- const open = expanded ?? ownExpanded;
600
- const setOpen = (next) => {
601
- setOwnExpanded(next);
602
- onExpandedChange?.(next);
603
- };
604
575
  const [ownEditing, setOwnEditing] = useState(false);
605
576
  const isEditing = editing ?? ownEditing;
606
577
  const setEditing = (next) => {
@@ -634,7 +605,7 @@ function SessionItem({ row, active = false, activeStepKey, showGateway, showProj
634
605
  }), project]
635
606
  }, "project"));
636
607
  for (const extra of extras) parts.push(/* @__PURE__ */ jsx("span", { children: extra }, extra));
637
- const steps = sessionSteps(info, (toolUseId) => onSelectSubagent ? onSelectSubagent(toolUseId) : onSelect?.(NO_MODIFIERS));
608
+ const steps = sessionSteps(info, (toolUseId) => onSelectSubagent ? onSelectSubagent(toolUseId) : onSelect?.(NO_MODIFIERS), subagents);
638
609
  const holdsOpenAgent = steps.some((s) => s.key === activeStepKey);
639
610
  return /* @__PURE__ */ jsxs("div", {
640
611
  "data-slot": "session-item",
@@ -711,17 +682,10 @@ function SessionItem({ row, active = false, activeStepKey, showGateway, showProj
711
682
  children: [parts.length > 0 ? "· " : "", formatRelativeTime(info.lastActivityAt ?? info.createdAt)]
712
683
  }),
713
684
  /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1" }),
714
- steps.length > 0 ? /* @__PURE__ */ jsx(StepToggle, {
715
- expanded: open,
716
- running: runningSteps(steps),
717
- total: steps.length,
718
- noun: steps[0].noun,
719
- onToggle: () => setOpen(!open)
720
- }) : null,
721
685
  actions
722
686
  ]
723
687
  })]
724
- }), open && steps.length > 0 ? /* @__PURE__ */ jsx("div", {
688
+ }), steps.length > 0 ? /* @__PURE__ */ jsx("div", {
725
689
  className: "flex flex-col",
726
690
  children: steps.map((step) => /* @__PURE__ */ jsx(StepRow, {
727
691
  step,
@@ -894,6 +858,28 @@ function SessionBrowser({ rows, config, onConfigChange, scope, activeId, activeS
894
858
  onChange: (groupBy) => set({ groupBy })
895
859
  })
896
860
  }),
861
+ /* @__PURE__ */ jsx(FilterRow, {
862
+ label: "Sub-agents",
863
+ children: /* @__PURE__ */ jsx(OneOfSelect, {
864
+ label: "Sub-agents",
865
+ value: config.subagents,
866
+ options: [
867
+ {
868
+ value: "active",
869
+ label: "Hide completed"
870
+ },
871
+ {
872
+ value: "all",
873
+ label: "Show all"
874
+ },
875
+ {
876
+ value: "none",
877
+ label: "Hide all"
878
+ }
879
+ ],
880
+ onChange: (subagents) => set({ subagents })
881
+ })
882
+ }),
897
883
  /* @__PURE__ */ jsx(FilterRow, {
898
884
  label: "Sort",
899
885
  children: /* @__PURE__ */ jsx(OneOfSelect, {
@@ -980,6 +966,7 @@ function SessionBrowser({ rows, config, onConfigChange, scope, activeId, activeS
980
966
  activeSubagentId,
981
967
  showGateway: gateways.length > 1 && config.groupBy !== "gateway",
982
968
  showProject: config.groupBy !== "project",
969
+ subagents: config.subagents,
983
970
  projectIcons,
984
971
  onSelect,
985
972
  onDelete,
@@ -996,7 +983,7 @@ function iconSrcOf(row, icons) {
996
983
  const icon = row?.info.project?.icon;
997
984
  return icon?.type === "image" ? icons?.[icon.hash] : void 0;
998
985
  }
999
- function SessionRowItem({ row, active, activeSubagentId, showGateway, showProject = true, projectIcons, onSelect, onDelete, onRename, onClearContext, onSelectSubagent }) {
986
+ function SessionRowItem({ row, active, activeSubagentId, showGateway, showProject = true, subagents, projectIcons, onSelect, onDelete, onRename, onClearContext, onSelectSubagent }) {
1000
987
  const { info } = row;
1001
988
  const [editing, setEditing] = useState(false);
1002
989
  return /* @__PURE__ */ jsx(SessionItem, {
@@ -1005,6 +992,7 @@ function SessionRowItem({ row, active, activeSubagentId, showGateway, showProjec
1005
992
  activeStepKey: activeSubagentId,
1006
993
  showGateway,
1007
994
  showProject,
995
+ subagents,
1008
996
  projectIcons,
1009
997
  onSelect: () => onSelect?.(row),
1010
998
  onSelectSubagent: onSelectSubagent ? (id) => onSelectSubagent(row, id) : void 0,
@@ -1098,6 +1086,81 @@ function OneOfSelect({ label, value, options, onChange }) {
1098
1086
  });
1099
1087
  }
1100
1088
  //#endregion
1101
- export { AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, Badge, Band, Blank, Button, Card, CardContent, CardHeader, CardTitle, CodeBlock, Composer, ContextDialog, ContextRing, Conversation, ConversationContent, ConversationScrollButton, CopyAction, CopyButton, Dialog, DialogBody, DialogClose, DialogContent, DialogHeader, DialogRow, DialogTrigger, Empty, EmptyKey, EngineIcon, FileCard, FileLinkProvider, HostFilesDialog, Ink, Input, Loader, McpDialog, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, ModelSelect, PERMISSION_MODES, PermissionModeSelect, PermissionPrompt, ProgressRing, ProjectIcon, PromptArea, PromptTokenText, QUESTION_BEHAVIORS, QuestionPrompt, Reasoning, Response, Row, STATUS_META, Select, SelectContent, SelectItem, SelectItemText, SelectTrigger, SelectValue, SessionBrowser, SessionEmptyState, SessionInfoDialog, SessionItem, SessionList, SessionListItem, SessionPanel, SessionStatusIcon, SkillsDialog, Spinner, Splitter, StatusBar, StepRow, StepToggle, SubagentStrip, TaskList, TasksDialog, TerminalDiff, TerminalItemView, TerminalMarkdown, TerminalPermissionPrompt, TerminalQuestionPrompt, TerminalStatusLine, TerminalSurface, TerminalTranscript, Textarea, Tip, Toaster, ToolCallCard, ToolTitleProvider, TooltipContent, TooltipProvider, Transcript, TranscriptDensityProvider, TranscriptVariantProvider, UsageDialog, 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, rateLimitWindowSeconds, resolveAgainstCwd, rowShapeClass, runningSteps, segmentsToPlainText, sessionSteps, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMinuteClock, usePathLinks, usePromptAreaState, useToolTitle, useTranscriptDensity, useTranscriptVariant, vendorMarkClass, vendorTextClass };
1089
+ //#region src/components/agent/SubagentToggle.tsx
1090
+ const SUBAGENT_DISPLAY_ORDER = [
1091
+ "all",
1092
+ "active",
1093
+ "none"
1094
+ ];
1095
+ const SUBAGENT_DISPLAY_META = {
1096
+ all: {
1097
+ label: "All sub-agents",
1098
+ hint: "Showing every sub-agent"
1099
+ },
1100
+ active: {
1101
+ label: "Hide completed",
1102
+ hint: "Showing running and failed sub-agents"
1103
+ },
1104
+ none: {
1105
+ label: "Hide sub-agents",
1106
+ hint: "Sub-agents hidden"
1107
+ }
1108
+ };
1109
+ const HIDDEN_ROW = .34;
1110
+ function SubagentDisplayIcon({ value, className }) {
1111
+ return /* @__PURE__ */ jsxs("svg", {
1112
+ viewBox: "0 0 24 24",
1113
+ fill: "none",
1114
+ stroke: "currentColor",
1115
+ strokeWidth: 2,
1116
+ strokeLinecap: "round",
1117
+ strokeLinejoin: "round",
1118
+ "aria-hidden": "true",
1119
+ className,
1120
+ children: [
1121
+ /* @__PURE__ */ jsx("path", { d: "M3 5h18" }),
1122
+ /* @__PURE__ */ jsx("path", {
1123
+ d: "M9 12h12",
1124
+ opacity: value === "none" ? HIDDEN_ROW : 1
1125
+ }),
1126
+ /* @__PURE__ */ jsx("path", {
1127
+ d: "M9 19h12",
1128
+ opacity: value === "all" ? 1 : HIDDEN_ROW
1129
+ })
1130
+ ]
1131
+ });
1132
+ }
1133
+ function SubagentToggle({ value, onChange, className }) {
1134
+ const meta = SUBAGENT_DISPLAY_META[value];
1135
+ return /* @__PURE__ */ jsxs(Menu, { children: [/* @__PURE__ */ jsx(MenuTrigger, { render: /* @__PURE__ */ jsxs(Button, {
1136
+ variant: "ghost",
1137
+ size: "icon-sm",
1138
+ "aria-label": `Sub-agents: ${meta.label}`,
1139
+ title: meta.hint,
1140
+ className: cn("w-9 gap-0.5", className),
1141
+ children: [/* @__PURE__ */ jsx(SubagentDisplayIcon, {
1142
+ value,
1143
+ className: "size-4"
1144
+ }), /* @__PURE__ */ jsx(ChevronDown, { className: "size-2.5 text-fg-4" })]
1145
+ }) }), /* @__PURE__ */ jsx(MenuContent, {
1146
+ className: "min-w-44",
1147
+ children: SUBAGENT_DISPLAY_ORDER.map((option) => /* @__PURE__ */ jsxs(MenuItem, {
1148
+ onClick: () => onChange(option),
1149
+ children: [
1150
+ /* @__PURE__ */ jsx(SubagentDisplayIcon, {
1151
+ value: option,
1152
+ className: "size-4 shrink-0 text-fg-3"
1153
+ }),
1154
+ /* @__PURE__ */ jsx("span", {
1155
+ className: "flex-1",
1156
+ children: SUBAGENT_DISPLAY_META[option].label
1157
+ }),
1158
+ option === value ? /* @__PURE__ */ jsx(Check, { className: "size-3.5 shrink-0 text-accent" }) : null
1159
+ ]
1160
+ }, option))
1161
+ })] });
1162
+ }
1163
+ //#endregion
1164
+ export { AlertDialog, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogTitle, AlertDialogTrigger, Badge, Band, Blank, Button, Card, CardContent, CardHeader, CardTitle, CodeBlock, Composer, ContextDialog, ContextRing, Conversation, ConversationContent, ConversationScrollButton, CopyAction, CopyButton, Dialog, DialogBody, DialogClose, DialogContent, DialogHeader, DialogRow, DialogTrigger, Empty, EmptyKey, EngineIcon, FileCard, FileLinkProvider, HostFilesDialog, Ink, Input, Loader, McpDialog, Menu, MenuContent, MenuItem, MenuSeparator, MenuTrigger, Message, MessageContent, ModelSelect, PERMISSION_MODES, PermissionModeSelect, PermissionPrompt, ProgressRing, ProjectIcon, PromptArea, PromptTokenText, QUESTION_BEHAVIORS, QuestionPrompt, Reasoning, Response, Row, STATUS_META, SUBAGENT_DISPLAY_META, SUBAGENT_DISPLAY_ORDER, Select, SelectContent, SelectItem, SelectItemText, SelectTrigger, SelectValue, SessionBrowser, SessionEmptyState, SessionInfoDialog, SessionItem, SessionList, SessionListItem, SessionNamesProvider, SessionPanel, SessionStatusIcon, SkillNamesProvider, SkillsDialog, Spinner, Splitter, StatusBar, StepRow, SubagentDisplayIcon, SubagentStrip, SubagentToggle, TaskList, TasksDialog, TerminalDiff, TerminalItemView, TerminalMarkdown, TerminalPermissionPrompt, TerminalQuestionPrompt, TerminalStatusLine, TerminalSurface, TerminalTranscript, Textarea, Tip, Toaster, ToolCallCard, ToolTitleProvider, TooltipContent, TooltipProvider, Transcript, TranscriptDensityProvider, TranscriptVariantProvider, UsageDialog, 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, skillPrompt, toast, toolIcon, toolInputPreview, useAffordances, useFileLinks, useMinuteClock, usePathLinks, usePromptAreaState, useToolTitle, useTranscriptDensity, useTranscriptVariant, vendorMarkClass, vendorTextClass };
1102
1165
 
1103
1166
  //# sourceMappingURL=index.mjs.map