@tangle-network/ui 11.6.0 → 11.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +43 -0
  3. package/dist/chat.d.ts +18 -8
  4. package/dist/chat.js +9 -7
  5. package/dist/chunk-4CLN43XT.js +45 -0
  6. package/dist/{chunk-AZWDI2JG.js → chunk-565EATZZ.js} +1 -1
  7. package/dist/{chunk-XROQW5J7.js → chunk-BWOUSEHM.js} +1 -1
  8. package/dist/{chunk-J2G7KCYH.js → chunk-KNYSKNZX.js} +113 -69
  9. package/dist/chunk-L57WRIND.js +59 -0
  10. package/dist/{chunk-ULDNFLIM.js → chunk-ND3ZFXQK.js} +11 -58
  11. package/dist/{chunk-AAUNOHVL.js → chunk-NWECTSOH.js} +1 -1
  12. package/dist/{chunk-R5GVQDL3.js → chunk-OXZRCXJK.js} +9 -7
  13. package/dist/{chunk-XPYPZMYT.js → chunk-Q7ZR6LSD.js} +1 -1
  14. package/dist/{chunk-RKC3GXHE.js → chunk-X53RZSX6.js} +99 -104
  15. package/dist/{chunk-PLWRAS5Z.js → chunk-XGOWUDDW.js} +270 -106
  16. package/dist/{chunk-ZRVH3WCA.js → chunk-XU3HB5QL.js} +21 -1
  17. package/dist/chunk-YTO5V6QS.js +19 -0
  18. package/dist/files.d.ts +41 -12
  19. package/dist/files.js +13 -5
  20. package/dist/hooks.js +9 -7
  21. package/dist/index.d.ts +2 -2
  22. package/dist/index.js +37 -24
  23. package/dist/primitives.d.ts +15 -1
  24. package/dist/primitives.js +5 -1
  25. package/dist/run.d.ts +22 -17
  26. package/dist/run.js +11 -8
  27. package/dist/sdk-hooks.js +9 -7
  28. package/dist/tool-previews.js +2 -2
  29. package/dist/utils.d.ts +6 -0
  30. package/dist/utils.js +6 -4
  31. package/package.json +1 -1
  32. package/src/chat/agent-timeline.stories.tsx +163 -10
  33. package/src/chat/agent-timeline.test.tsx +114 -7
  34. package/src/chat/agent-timeline.tsx +120 -158
  35. package/src/chat/chat-container.test.tsx +59 -0
  36. package/src/chat/user-message.test.tsx +33 -0
  37. package/src/chat/user-message.tsx +13 -8
  38. package/src/files/file-artifact-pane.stories.tsx +149 -0
  39. package/src/files/file-artifact-pane.test.tsx +192 -0
  40. package/src/files/file-artifact-pane.tsx +6 -1
  41. package/src/files/file-format.ts +42 -4
  42. package/src/files/file-preview-kind.test.ts +109 -0
  43. package/src/files/file-preview.tsx +315 -132
  44. package/src/files/index.ts +8 -1
  45. package/src/primitives/index.ts +3 -0
  46. package/src/primitives/text-shimmer.test.tsx +34 -0
  47. package/src/primitives/text-shimmer.tsx +82 -0
  48. package/src/run/inline-thinking-item.stories.tsx +2 -2
  49. package/src/run/inline-thinking-item.tsx +2 -2
  50. package/src/run/inline-tool-item.test.tsx +76 -0
  51. package/src/run/inline-tool-item.tsx +9 -7
  52. package/src/run/run-group.tsx +4 -3
  53. package/src/run/run-row-shell.test.tsx +74 -4
  54. package/src/run/run-row-shell.tsx +81 -53
  55. package/src/run/tool-call-step.tsx +9 -7
  56. package/src/utils/tool-display.test.ts +53 -0
  57. package/src/utils/tool-display.ts +16 -15
  58. package/dist/chunk-LQS34IGP.js +0 -0
  59. /package/dist/{chunk-EJ5NBW7V.js → chunk-LDLOJKPC.js} +0 -0
package/dist/files.js CHANGED
@@ -1,23 +1,29 @@
1
1
  import {
2
+ CSV_PREVIEW_ROW_LIMIT,
2
3
  FileArtifactPane,
3
4
  FilePreview,
4
5
  FileTabs,
5
6
  FileTree,
6
7
  RichFileTree,
7
- filterFileTree
8
- } from "./chunk-PLWRAS5Z.js";
8
+ filterFileTree,
9
+ parseCsv
10
+ } from "./chunk-XGOWUDDW.js";
11
+ import "./chunk-4CLN43XT.js";
9
12
  import {
10
13
  detectFileFormat,
11
14
  fileExtension,
12
15
  getCodeLanguage,
13
16
  getFormatLabel,
14
- getSyntaxLanguage
15
- } from "./chunk-ZRVH3WCA.js";
17
+ getSyntaxLanguage,
18
+ resolveFilePreviewKind
19
+ } from "./chunk-XU3HB5QL.js";
20
+ import "./chunk-MKTSMWVD.js";
16
21
  import "./chunk-LTEKI7YJ.js";
17
22
  import "./chunk-P5F43A65.js";
18
23
  import "./chunk-WUQDUBJG.js";
19
24
  import "./chunk-RQHJBTEU.js";
20
25
  export {
26
+ CSV_PREVIEW_ROW_LIMIT,
21
27
  FileArtifactPane,
22
28
  FilePreview,
23
29
  FileTabs,
@@ -28,5 +34,7 @@ export {
28
34
  filterFileTree,
29
35
  getCodeLanguage,
30
36
  getFormatLabel,
31
- getSyntaxLanguage
37
+ getSyntaxLanguage,
38
+ parseCsv,
39
+ resolveFilePreviewKind
32
40
  };
package/dist/hooks.js CHANGED
@@ -11,18 +11,20 @@ import {
11
11
  useSSEStream,
12
12
  useSdkSession,
13
13
  useToolCallStream
14
- } from "./chunk-XROQW5J7.js";
14
+ } from "./chunk-BWOUSEHM.js";
15
15
  import "./chunk-OEX7NZE3.js";
16
16
  import {
17
17
  useAutoScroll,
18
18
  useRunCollapseState,
19
19
  useRunGroups
20
- } from "./chunk-AZWDI2JG.js";
21
- import "./chunk-XPYPZMYT.js";
22
- import "./chunk-J2G7KCYH.js";
23
- import "./chunk-ULDNFLIM.js";
24
- import "./chunk-AAUNOHVL.js";
25
- import "./chunk-ZRVH3WCA.js";
20
+ } from "./chunk-565EATZZ.js";
21
+ import "./chunk-Q7ZR6LSD.js";
22
+ import "./chunk-KNYSKNZX.js";
23
+ import "./chunk-ND3ZFXQK.js";
24
+ import "./chunk-NWECTSOH.js";
25
+ import "./chunk-L57WRIND.js";
26
+ import "./chunk-4CLN43XT.js";
27
+ import "./chunk-XU3HB5QL.js";
26
28
  import "./chunk-P5F43A65.js";
27
29
  import "./chunk-WUQDUBJG.js";
28
30
  import "./chunk-RQHJBTEU.js";
package/dist/index.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  export { B as Button, a as ButtonProps, b as buttonVariants } from './button-CMQuQEW_.js';
2
- export { Avatar, AvatarFallback, AvatarImage, Badge, BadgeProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStateProps, FilterField, FilterFieldProps, InlineCode, InlineCodeProps, Input, InputProps, Label, Metric, MetricProps, MetricStrip, MetricStripProps, PageHeader, PageHeaderProps, Progress, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarDropZone, SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, StatCard, StatCardProps, StatusPill, StatusPillProps, StatusTone, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, Textarea, TextareaProps, ThemeToggle, Toast, ToastContainer, ToastProvider, Toolbar, ToolbarProps, UploadFile, UploadProgress, UploadProgressProps, badgeVariants, useTheme, useToast } from './primitives.js';
2
+ export { Avatar, AvatarFallback, AvatarImage, Badge, BadgeProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, EmptyStateProps, FilterField, FilterFieldProps, InlineCode, InlineCodeProps, Input, InputProps, Label, Metric, MetricProps, MetricStrip, MetricStripProps, PageHeader, PageHeaderProps, Progress, SegmentedControl, SegmentedControlOption, SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarDropZone, SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, StatCard, StatCardProps, StatusPill, StatusPillProps, StatusTone, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, TextShimmerProps, Textarea, TextareaProps, ThemeToggle, Toast, ToastContainer, ToastProvider, Toolbar, ToolbarProps, UploadFile, UploadProgress, UploadProgressProps, badgeVariants, useTheme, useToast } from './primitives.js';
3
3
  export { Logo, LogoProps, TangleKnot } from '@tangle-network/brand';
4
4
  export { A as ArtifactPane, a as ArtifactPaneProps } from './artifact-pane-DpuWcAiF.js';
5
5
  export { AgentTimeline, AgentTimelineArtifactItem, AgentTimelineCustomItem, AgentTimelineItem, AgentTimelineMessageItem, AgentTimelineProps, AgentTimelineStatusItem, AgentTimelineTone, AgentTimelineToolGroupItem, AgentTimelineToolItem, ChatContainer, ChatContainerProps, ChatMessage, ChatMessageProps, MessageList, MessageListProps, MessageRole, ThinkingIndicator, ThinkingIndicatorProps, UserMessage, UserMessageProps } from './chat.js';
6
6
  export { ExpandedToolDetail, ExpandedToolDetailProps, InlineThinkingItem, InlineThinkingItemProps, InlineToolItem, InlineToolItemProps, LiveDuration, RunGroup, RunGroupProps, RunRowShell, RunRowShellProps, RunRowStatus, RunRowStatusDot } from './run.js';
7
7
  export { F as FeedSegment, T as ToolCallData, a as ToolCallFeed, b as ToolCallFeedProps, c as ToolCallStatus, d as ToolCallType, p as parseToolEvent } from './tool-call-feed-D9iofJgW.js';
8
8
  export { OpenUIAction, OpenUIActionsNode, OpenUIArtifactRenderer, OpenUIArtifactRendererProps, OpenUIBadgeNode, OpenUICardNode, OpenUICodeNode, OpenUIComponentNode, OpenUIGridNode, OpenUIHeadingNode, OpenUIKeyValueNode, OpenUIMarkdownNode, OpenUIPrimitive, OpenUISeparatorNode, OpenUIStackNode, OpenUIStatNode, OpenUITableNode, OpenUITextNode } from './openui.js';
9
- export { FileArtifactPane, FileArtifactPaneProps, FileFormat, FileNode, FilePreview, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage } from './files.js';
9
+ export { CSV_PREVIEW_ROW_LIMIT, FileArtifactPane, FileArtifactPaneProps, FileFormat, FileNode, FilePreview, FilePreviewKind, FilePreviewProps, FileTabData, FileTabs, FileTabsProps, FileTree, FileTreeProps, FileTreeVisibilityOptions, RichFileTree, RichFileTreeGitEntry, RichFileTreeGitStatus, RichFileTreeProps, RichFileTreeThemeVars, detectFileFormat, fileExtension, filterFileTree, getCodeLanguage, getFormatLabel, getSyntaxLanguage, parseCsv, resolveFilePreviewKind } from './files.js';
10
10
  export { Markdown, MarkdownProps } from './markdown.js';
11
11
  export { C as CodeBlock, a as CodeBlockProps, b as CopyButton } from './code-block-0kSpWMnf.js';
12
12
  export { AuthHeader, AuthHeaderProps, GitHubLoginButton, GitHubLoginButtonProps, LoginLayout, LoginLayoutProps, SessionUser, UserMenu, UserMenuProps } from './auth.js';
package/dist/index.js CHANGED
@@ -20,7 +20,7 @@ import {
20
20
  useSSEStream,
21
21
  useSdkSession,
22
22
  useToolCallStream
23
- } from "./chunk-XROQW5J7.js";
23
+ } from "./chunk-BWOUSEHM.js";
24
24
  import {
25
25
  addMessage,
26
26
  addParts,
@@ -118,7 +118,7 @@ import {
118
118
  UploadProgress,
119
119
  useTheme,
120
120
  useToast
121
- } from "./chunk-EJ5NBW7V.js";
121
+ } from "./chunk-LDLOJKPC.js";
122
122
  import {
123
123
  Avatar,
124
124
  AvatarFallback,
@@ -146,38 +146,35 @@ import {
146
146
  MessageList,
147
147
  ThinkingIndicator,
148
148
  UserMessage
149
- } from "./chunk-RKC3GXHE.js";
149
+ } from "./chunk-X53RZSX6.js";
150
150
  import {
151
151
  useAutoScroll,
152
152
  useRunCollapseState,
153
153
  useRunGroups
154
- } from "./chunk-AZWDI2JG.js";
155
- import "./chunk-LQS34IGP.js";
154
+ } from "./chunk-565EATZZ.js";
155
+ import {
156
+ LiveDuration
157
+ } from "./chunk-YTO5V6QS.js";
156
158
  import {
157
159
  ToolCallFeed,
158
160
  parseToolEvent
159
- } from "./chunk-XPYPZMYT.js";
161
+ } from "./chunk-Q7ZR6LSD.js";
160
162
  import {
161
163
  InlineThinkingItem,
162
164
  RunGroup
163
- } from "./chunk-R5GVQDL3.js";
165
+ } from "./chunk-OXZRCXJK.js";
164
166
  import {
165
167
  ExpandedToolDetail,
166
168
  InlineToolItem,
167
- LiveDuration,
168
169
  RunRowShell,
169
170
  RunRowStatusDot
170
- } from "./chunk-J2G7KCYH.js";
171
+ } from "./chunk-KNYSKNZX.js";
171
172
  import {
172
173
  TOOL_CATEGORY_ICONS,
173
- formatBytes,
174
- formatDuration,
175
- formatUptime,
176
174
  getToolCategory,
177
175
  getToolDisplayMetadata,
178
- getToolErrorText,
179
- truncateText
180
- } from "./chunk-ULDNFLIM.js";
176
+ getToolErrorText
177
+ } from "./chunk-ND3ZFXQK.js";
181
178
  import {
182
179
  CommandPreview,
183
180
  DiffPreview,
@@ -186,7 +183,10 @@ import {
186
183
  QuestionPreview,
187
184
  WebSearchPreview,
188
185
  WriteFilePreview
189
- } from "./chunk-AAUNOHVL.js";
186
+ } from "./chunk-NWECTSOH.js";
187
+ import {
188
+ TextShimmer
189
+ } from "./chunk-L57WRIND.js";
190
190
  import "./chunk-RQGKSCEZ.js";
191
191
  import {
192
192
  OpenUIArtifactRenderer
@@ -211,24 +211,33 @@ import {
211
211
  badgeVariants
212
212
  } from "./chunk-GYPQXTJU.js";
213
213
  import {
214
- Button,
215
- buttonVariants
216
- } from "./chunk-MKTSMWVD.js";
217
- import {
214
+ CSV_PREVIEW_ROW_LIMIT,
218
215
  FileArtifactPane,
219
216
  FilePreview,
220
217
  FileTabs,
221
218
  FileTree,
222
219
  RichFileTree,
223
- filterFileTree
224
- } from "./chunk-PLWRAS5Z.js";
220
+ filterFileTree,
221
+ parseCsv
222
+ } from "./chunk-XGOWUDDW.js";
223
+ import {
224
+ formatBytes,
225
+ formatDuration,
226
+ formatUptime,
227
+ truncateText
228
+ } from "./chunk-4CLN43XT.js";
225
229
  import {
226
230
  detectFileFormat,
227
231
  fileExtension,
228
232
  getCodeLanguage,
229
233
  getFormatLabel,
230
- getSyntaxLanguage
231
- } from "./chunk-ZRVH3WCA.js";
234
+ getSyntaxLanguage,
235
+ resolveFilePreviewKind
236
+ } from "./chunk-XU3HB5QL.js";
237
+ import {
238
+ Button,
239
+ buttonVariants
240
+ } from "./chunk-MKTSMWVD.js";
232
241
  import {
233
242
  Tabs,
234
243
  TabsContent,
@@ -258,6 +267,7 @@ export {
258
267
  AvatarImage,
259
268
  Badge,
260
269
  Button,
270
+ CSV_PREVIEW_ROW_LIMIT,
261
271
  Card,
262
272
  CardContent,
263
273
  CardDescription,
@@ -364,6 +374,7 @@ export {
364
374
  TerminalDisplay,
365
375
  TerminalInput,
366
376
  TerminalLine,
377
+ TextShimmer,
367
378
  Textarea,
368
379
  ThemeToggle,
369
380
  ThinkingIndicator,
@@ -408,10 +419,12 @@ export {
408
419
  hasBackgroundRunningSessions,
409
420
  isStreamingAtom,
410
421
  messagesAtom,
422
+ parseCsv,
411
423
  parseToolEvent,
412
424
  partMapAtom,
413
425
  registerActiveSession,
414
426
  resetActiveSessions,
427
+ resolveFilePreviewKind,
415
428
  setActiveSessionAttention,
416
429
  setActiveSessionConnection,
417
430
  setActiveSessionError,
@@ -192,6 +192,20 @@ declare function SkeletonTable({ rows }: {
192
192
  rows?: number;
193
193
  }): react_jsx_runtime.JSX.Element;
194
194
 
195
+ interface TextShimmerProps {
196
+ children: ReactNode;
197
+ className?: string;
198
+ /** One sweep across the text, in milliseconds. */
199
+ durationMs?: number;
200
+ }
201
+ /**
202
+ * Inline text with a gradient-mask sweep — the in-flight signal for a run row
203
+ * label ("Thinking…", a tool verb while its call is running). Carries the
204
+ * styles it needs, so a consumer that only scans this package for Tailwind
205
+ * classes still gets the animation.
206
+ */
207
+ declare function TextShimmer({ children, className, durationMs, }: TextShimmerProps): react_jsx_runtime.JSX.Element;
208
+
195
209
  interface Toast {
196
210
  id: string;
197
211
  title: string;
@@ -506,4 +520,4 @@ interface FilterFieldProps extends React$1.HTMLAttributes<HTMLDivElement> {
506
520
  }
507
521
  declare const FilterField: React$1.ForwardRefExoticComponent<FilterFieldProps & React$1.RefAttributes<HTMLDivElement>>;
508
522
 
509
- export { Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, FilterField, type FilterFieldProps, InlineCode, type InlineCodeProps, Input, type InputProps, Label, Metric, type MetricProps, MetricStrip, type MetricStripProps, PageHeader, type PageHeaderProps, Progress, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarDropZone, type SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, StatCard, type StatCardProps, StatusPill, type StatusPillProps, type StatusTone, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, Textarea, type TextareaProps, ThemeToggle, type Toast, ToastContainer, ToastProvider, Toolbar, type ToolbarProps, type UploadFile, UploadProgress, type UploadProgressProps, badgeVariants, useTheme, useToast };
523
+ export { Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropZone, type DropZoneProps, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, FilterField, type FilterFieldProps, InlineCode, type InlineCodeProps, Input, type InputProps, Label, Metric, type MetricProps, MetricStrip, type MetricStripProps, PageHeader, type PageHeaderProps, Progress, SegmentedControl, type SegmentedControlOption, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, SidebarDropZone, type SidebarDropZoneProps, Skeleton, SkeletonCard, SkeletonTable, StatCard, type StatCardProps, StatusPill, type StatusPillProps, type StatusTone, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, TextShimmer, type TextShimmerProps, Textarea, type TextareaProps, ThemeToggle, type Toast, ToastContainer, ToastProvider, Toolbar, type ToolbarProps, type UploadFile, UploadProgress, type UploadProgressProps, badgeVariants, useTheme, useToast };
@@ -50,7 +50,7 @@ import {
50
50
  UploadProgress,
51
51
  useTheme,
52
52
  useToast
53
- } from "./chunk-EJ5NBW7V.js";
53
+ } from "./chunk-LDLOJKPC.js";
54
54
  import {
55
55
  Avatar,
56
56
  AvatarFallback,
@@ -71,6 +71,9 @@ import {
71
71
  DropdownMenuSubTrigger,
72
72
  DropdownMenuTrigger
73
73
  } from "./chunk-34A66VBG.js";
74
+ import {
75
+ TextShimmer
76
+ } from "./chunk-L57WRIND.js";
74
77
  import {
75
78
  Badge,
76
79
  Card,
@@ -194,6 +197,7 @@ export {
194
197
  TerminalDisplay,
195
198
  TerminalInput,
196
199
  TerminalLine,
200
+ TextShimmer,
197
201
  Textarea,
198
202
  ThemeToggle,
199
203
  ToastContainer,
package/dist/run.d.ts CHANGED
@@ -30,28 +30,31 @@ declare const RunGroup: React.MemoExoticComponent<({ run, partMap, collapsed, on
30
30
 
31
31
  type RunRowStatus = "running" | "success" | "error" | "idle";
32
32
  /**
33
- * Trailing status indicator shared by every run row: a spinner while running,
34
- * a green/red dot on terminal states, nothing when idle. Status is shown here
35
- * — it never replaces the row's semantic lead icon.
33
+ * Trailing status indicator shared by every run row. Only `error` draws a
34
+ * mark (a red dot). Success is silence, and a running row carries its state in
35
+ * the title — a `TextShimmer` sweep — so neither renders anything here.
36
36
  */
37
37
  declare function RunRowStatusDot({ status }: {
38
38
  status: RunRowStatus;
39
39
  }): react_jsx_runtime.JSX.Element | null;
40
40
  interface RunRowShellProps {
41
- /** Semantic lead glyph — always visible; never replaced by status. */
41
+ /** Semantic lead glyph (14px). At rest it is the row's only ornament; on
42
+ * hover and while open the expand chevron takes its slot. */
42
43
  icon: ReactNode;
43
44
  /** Row title. A string in the common case; a node when the title carries its
44
- * own treatment (e.g. an active-state shimmer sweep) — it renders inline in
45
- * the shell's title slot either way. */
45
+ * own treatment — a running row passes `<TextShimmer>` here, which is the
46
+ * whole in-flight signal (the shell draws no spinner). */
46
47
  title: ReactNode;
47
48
  /** Secondary inline text (tool path/command, or a reasoning preview). */
48
49
  description?: string;
49
50
  /** Render the description in mono (tools) vs prose (reasoning). */
50
51
  descriptionMono?: boolean;
51
52
  status?: RunRowStatus;
52
- /** Live-ticks a duration while running. */
53
+ /** @deprecated The shell no longer ticks a live duration while running; the
54
+ * running state lives in the title (`TextShimmer`). Accepted and ignored so
55
+ * existing callers keep compiling. */
53
56
  startTime?: number;
54
- /** Static duration shown once the row is no longer running. */
57
+ /** Static duration, revealed on hover once the row is no longer running. */
55
58
  durationMs?: number;
56
59
  /** Radius shaping when rows are stacked into a group. */
57
60
  groupPosition?: "single" | "first" | "middle" | "last";
@@ -68,12 +71,13 @@ interface RunRowShellProps {
68
71
  children?: ReactNode;
69
72
  }
70
73
  /**
71
- * Shared shell for the agent activity rows (reasoning + tool). Owns the
72
- * bordered container, the lead icon badge, title/description, the trailing
73
- * meta cluster (duration + status + chevron) and the collapsible body, so
74
- * both row kinds read as one family instead of two bespoke layouts.
74
+ * Shared shell for the agent activity rows (reasoning + tool). A quiet
75
+ * one-liner at rest — bare glyph, muted title and description, no fill, no
76
+ * border — that becomes a bordered card only while open. The border is always
77
+ * present (transparent at rest) so hover and expand never shift layout.
78
+ * Both row kinds render through it so they read as one family.
75
79
  */
76
- declare function RunRowShell({ icon, title, description, descriptionMono, status, startTime, durationMs, groupPosition, collapsedError, actions, open: openProp, onOpenChange, defaultOpen, className, contentClassName, children, }: RunRowShellProps): react_jsx_runtime.JSX.Element;
80
+ declare function RunRowShell({ icon, title, description, descriptionMono, status, durationMs, groupPosition, collapsedError, actions, open: openProp, onOpenChange, defaultOpen, className, contentClassName, children, }: RunRowShellProps): react_jsx_runtime.JSX.Element;
77
81
 
78
82
  interface InlineToolItemProps {
79
83
  part: ToolPart;
@@ -88,10 +92,11 @@ interface InlineToolItemProps {
88
92
  description?: string;
89
93
  }
90
94
  /**
91
- * Compact single-line tool call display. Shows a category icon, title,
92
- * description, duration and status, and expands on click to show
93
- * ExpandedToolDetail. Rendered through the shared RunRowShell so it stays
94
- * consistent with the reasoning row.
95
+ * Compact single-line tool call display: a category glyph, the tool verb, and
96
+ * the path or command it acted on. While the call runs the verb shimmers;
97
+ * once it completes the row goes quiet (duration on hover, a red dot only on
98
+ * error). Expands on click to show ExpandedToolDetail. Rendered through the
99
+ * shared RunRowShell so it stays consistent with the reasoning row.
95
100
  */
96
101
  declare const InlineToolItem: React.MemoExoticComponent<({ part, renderToolDetail, groupPosition, className, contentClassName, actions, title: titleOverride, description: descriptionOverride, }: InlineToolItemProps) => react_jsx_runtime.JSX.Element>;
97
102
 
package/dist/run.js CHANGED
@@ -1,25 +1,28 @@
1
- import "./chunk-LQS34IGP.js";
1
+ import {
2
+ LiveDuration
3
+ } from "./chunk-YTO5V6QS.js";
2
4
  import {
3
5
  ToolCallFeed,
4
6
  parseToolEvent
5
- } from "./chunk-XPYPZMYT.js";
7
+ } from "./chunk-Q7ZR6LSD.js";
6
8
  import {
7
9
  InlineThinkingItem,
8
10
  RunGroup
9
- } from "./chunk-R5GVQDL3.js";
11
+ } from "./chunk-OXZRCXJK.js";
10
12
  import {
11
13
  ExpandedToolDetail,
12
14
  InlineToolItem,
13
- LiveDuration,
14
15
  RunRowShell,
15
16
  RunRowStatusDot
16
- } from "./chunk-J2G7KCYH.js";
17
- import "./chunk-ULDNFLIM.js";
18
- import "./chunk-AAUNOHVL.js";
17
+ } from "./chunk-KNYSKNZX.js";
18
+ import "./chunk-ND3ZFXQK.js";
19
+ import "./chunk-NWECTSOH.js";
20
+ import "./chunk-L57WRIND.js";
19
21
  import "./chunk-3M7BPSSW.js";
20
22
  import "./chunk-GYPQXTJU.js";
23
+ import "./chunk-4CLN43XT.js";
24
+ import "./chunk-XU3HB5QL.js";
21
25
  import "./chunk-MKTSMWVD.js";
22
- import "./chunk-ZRVH3WCA.js";
23
26
  import "./chunk-P5F43A65.js";
24
27
  import "./chunk-WUQDUBJG.js";
25
28
  import "./chunk-RQHJBTEU.js";
package/dist/sdk-hooks.js CHANGED
@@ -5,18 +5,20 @@ import {
5
5
  useSSEStream,
6
6
  useSdkSession,
7
7
  useToolCallStream
8
- } from "./chunk-XROQW5J7.js";
8
+ } from "./chunk-BWOUSEHM.js";
9
9
  import "./chunk-OEX7NZE3.js";
10
10
  import {
11
11
  useAutoScroll,
12
12
  useRunCollapseState,
13
13
  useRunGroups
14
- } from "./chunk-AZWDI2JG.js";
15
- import "./chunk-XPYPZMYT.js";
16
- import "./chunk-J2G7KCYH.js";
17
- import "./chunk-ULDNFLIM.js";
18
- import "./chunk-AAUNOHVL.js";
19
- import "./chunk-ZRVH3WCA.js";
14
+ } from "./chunk-565EATZZ.js";
15
+ import "./chunk-Q7ZR6LSD.js";
16
+ import "./chunk-KNYSKNZX.js";
17
+ import "./chunk-ND3ZFXQK.js";
18
+ import "./chunk-NWECTSOH.js";
19
+ import "./chunk-L57WRIND.js";
20
+ import "./chunk-4CLN43XT.js";
21
+ import "./chunk-XU3HB5QL.js";
20
22
  import "./chunk-P5F43A65.js";
21
23
  import "./chunk-WUQDUBJG.js";
22
24
  import "./chunk-RQHJBTEU.js";
@@ -7,8 +7,8 @@ import {
7
7
  QuestionPreview,
8
8
  WebSearchPreview,
9
9
  WriteFilePreview
10
- } from "./chunk-AAUNOHVL.js";
11
- import "./chunk-ZRVH3WCA.js";
10
+ } from "./chunk-NWECTSOH.js";
11
+ import "./chunk-XU3HB5QL.js";
12
12
  import "./chunk-WUQDUBJG.js";
13
13
  import "./chunk-RQHJBTEU.js";
14
14
  export {
package/dist/utils.d.ts CHANGED
@@ -36,6 +36,12 @@ declare function timeAgo(ts: number): string;
36
36
 
37
37
  declare const TOOL_CATEGORY_ICONS: Record<ToolCategory, string>;
38
38
  declare function getToolCategory(toolName: string): ToolCategory;
39
+ /**
40
+ * Title is the bare verb ("Read", "Edit", "Shell"); the path, command, pattern
41
+ * or query lives in `description` only, so a row prints its subject once.
42
+ * `targetPath` / `commandSnippet` carry the untruncated value for consumers
43
+ * that need it (diff headers, expanded detail).
44
+ */
39
45
  declare function getToolDisplayMetadata(part: ToolPart): ToolDisplayMetadata;
40
46
  /** Extract error text from a tool part, if any. */
41
47
  declare function getToolErrorText(part: ToolPart, fallback?: string): string | undefined;
package/dist/utils.js CHANGED
@@ -4,14 +4,16 @@ import {
4
4
  } from "./chunk-XGKULLYE.js";
5
5
  import {
6
6
  TOOL_CATEGORY_ICONS,
7
+ getToolCategory,
8
+ getToolDisplayMetadata,
9
+ getToolErrorText
10
+ } from "./chunk-ND3ZFXQK.js";
11
+ import {
7
12
  formatBytes,
8
13
  formatDuration,
9
14
  formatUptime,
10
- getToolCategory,
11
- getToolDisplayMetadata,
12
- getToolErrorText,
13
15
  truncateText
14
- } from "./chunk-ULDNFLIM.js";
16
+ } from "./chunk-4CLN43XT.js";
15
17
  import {
16
18
  cn
17
19
  } from "./chunk-RQHJBTEU.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tangle-network/ui",
3
- "version": "11.6.0",
3
+ "version": "11.8.0",
4
4
  "description": "Generic React UI components for Tangle products — primitives, chat, run, files, editor, markdown.",
5
5
  "type": "module",
6
6
  "license": "MIT",