@tangle-network/ui 1.0.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 (220) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/LICENSE +21 -0
  3. package/README.md +33 -0
  4. package/dist/active-sessions-store-CeOmXgv5.d.ts +85 -0
  5. package/dist/artifact-pane-DvJyPWV4.d.ts +24 -0
  6. package/dist/auth.d.ts +74 -0
  7. package/dist/auth.js +15 -0
  8. package/dist/button-CMQuQEW_.d.ts +17 -0
  9. package/dist/chat.d.ts +232 -0
  10. package/dist/chat.js +30 -0
  11. package/dist/chunk-2NFQRQOD.js +1009 -0
  12. package/dist/chunk-2VH6PUXD.js +186 -0
  13. package/dist/chunk-34A66VBG.js +214 -0
  14. package/dist/chunk-3OI2QKFD.js +0 -0
  15. package/dist/chunk-4CLN43XT.js +45 -0
  16. package/dist/chunk-54SQQMMM.js +156 -0
  17. package/dist/chunk-5Z5ZYMOJ.js +0 -0
  18. package/dist/chunk-66BNMOVT.js +167 -0
  19. package/dist/chunk-6BGQA4BQ.js +0 -0
  20. package/dist/chunk-7UO2ZMRQ.js +133 -0
  21. package/dist/chunk-BX6AQMUS.js +183 -0
  22. package/dist/chunk-CD53GZOM.js +59 -0
  23. package/dist/chunk-CSAIKY36.js +54 -0
  24. package/dist/chunk-EEE55AVS.js +1201 -0
  25. package/dist/chunk-GYPQXTJU.js +230 -0
  26. package/dist/chunk-HFL6R6IF.js +37 -0
  27. package/dist/chunk-HJKCSXCH.js +737 -0
  28. package/dist/chunk-LISXUB4D.js +1222 -0
  29. package/dist/chunk-LQS34IGP.js +0 -0
  30. package/dist/chunk-MKTSMWVD.js +109 -0
  31. package/dist/chunk-NKDZ7GZE.js +192 -0
  32. package/dist/chunk-OEX7NZE3.js +321 -0
  33. package/dist/chunk-Q56BYXQF.js +61 -0
  34. package/dist/chunk-Q7EIIWTC.js +0 -0
  35. package/dist/chunk-REJESC5U.js +117 -0
  36. package/dist/chunk-RQGKSCEZ.js +0 -0
  37. package/dist/chunk-RQHJBTEU.js +10 -0
  38. package/dist/chunk-TMFOPHHN.js +299 -0
  39. package/dist/chunk-XGKULLYE.js +40 -0
  40. package/dist/chunk-XIHMJ7ZQ.js +614 -0
  41. package/dist/chunk-YJ2G3XO5.js +1048 -0
  42. package/dist/chunk-YNN4O57I.js +754 -0
  43. package/dist/code-block-DjXf8eOG.d.ts +19 -0
  44. package/dist/document-editor-pane-A5LT5H4N.js +12 -0
  45. package/dist/document-editor-pane-DyDEX_Zm.d.ts +124 -0
  46. package/dist/editor.d.ts +120 -0
  47. package/dist/editor.js +34 -0
  48. package/dist/files.d.ts +175 -0
  49. package/dist/files.js +20 -0
  50. package/dist/hooks.d.ts +56 -0
  51. package/dist/hooks.js +41 -0
  52. package/dist/index.d.ts +43 -0
  53. package/dist/index.js +446 -0
  54. package/dist/markdown.d.ts +15 -0
  55. package/dist/markdown.js +14 -0
  56. package/dist/message-BHWbxBtT.d.ts +15 -0
  57. package/dist/openui.d.ts +115 -0
  58. package/dist/openui.js +12 -0
  59. package/dist/parts-dj7AcUg0.d.ts +36 -0
  60. package/dist/primitives.d.ts +332 -0
  61. package/dist/primitives.js +191 -0
  62. package/dist/run-PfLmDAox.d.ts +41 -0
  63. package/dist/run.d.ts +69 -0
  64. package/dist/run.js +36 -0
  65. package/dist/sdk-hooks.d.ts +285 -0
  66. package/dist/sdk-hooks.js +31 -0
  67. package/dist/stores.d.ts +17 -0
  68. package/dist/stores.js +76 -0
  69. package/dist/tool-call-feed-Bs3MyQMT.d.ts +68 -0
  70. package/dist/tool-display-z4JcDmMQ.d.ts +32 -0
  71. package/dist/tool-previews.d.ts +48 -0
  72. package/dist/tool-previews.js +21 -0
  73. package/dist/types.d.ts +19 -0
  74. package/dist/types.js +1 -0
  75. package/dist/utils.d.ts +45 -0
  76. package/dist/utils.js +32 -0
  77. package/package.json +193 -0
  78. package/src/auth/auth.tsx +228 -0
  79. package/src/auth/index.ts +13 -0
  80. package/src/auth/login-layout.tsx +46 -0
  81. package/src/chat/agent-timeline.stories.tsx +429 -0
  82. package/src/chat/agent-timeline.tsx +360 -0
  83. package/src/chat/chat-container.tsx +486 -0
  84. package/src/chat/chat-input.stories.tsx +142 -0
  85. package/src/chat/chat-input.tsx +389 -0
  86. package/src/chat/chat-message.stories.tsx +237 -0
  87. package/src/chat/chat-message.tsx +129 -0
  88. package/src/chat/index.ts +18 -0
  89. package/src/chat/message-list.stories.tsx +336 -0
  90. package/src/chat/message-list.tsx +79 -0
  91. package/src/chat/thinking-indicator.stories.tsx +56 -0
  92. package/src/chat/thinking-indicator.tsx +30 -0
  93. package/src/chat/user-message.stories.tsx +92 -0
  94. package/src/chat/user-message.tsx +43 -0
  95. package/src/editor/document-editor-pane.tsx +351 -0
  96. package/src/editor/editor-provider.tsx +428 -0
  97. package/src/editor/editor-toolbar.tsx +130 -0
  98. package/src/editor/index.ts +31 -0
  99. package/src/editor/markdown-conversion.ts +21 -0
  100. package/src/editor/markdown-document-editor.tsx +137 -0
  101. package/src/editor/tiptap-editor.tsx +331 -0
  102. package/src/editor/use-editor.ts +221 -0
  103. package/src/files/file-artifact-pane.tsx +183 -0
  104. package/src/files/file-preview.tsx +342 -0
  105. package/src/files/file-tabs.tsx +71 -0
  106. package/src/files/file-tree.tsx +258 -0
  107. package/src/files/index.ts +17 -0
  108. package/src/files/rich-file-tree.stories.tsx +104 -0
  109. package/src/files/rich-file-tree.test.tsx +42 -0
  110. package/src/files/rich-file-tree.tsx +232 -0
  111. package/src/hooks/index.ts +10 -0
  112. package/src/hooks/use-auth.ts +153 -0
  113. package/src/hooks/use-auto-scroll.ts +59 -0
  114. package/src/hooks/use-dropdown-menu.ts +40 -0
  115. package/src/hooks/use-live-time.test.tsx +40 -0
  116. package/src/hooks/use-live-time.ts +27 -0
  117. package/src/hooks/use-realtime-session.ts +319 -0
  118. package/src/hooks/use-run-collapse-state.ts +25 -0
  119. package/src/hooks/use-run-groups.ts +111 -0
  120. package/src/hooks/use-sdk-session.ts +575 -0
  121. package/src/hooks/use-sse-stream.ts +475 -0
  122. package/src/hooks/use-tool-call-stream.ts +96 -0
  123. package/src/index.ts +14 -0
  124. package/src/lib/utils.ts +6 -0
  125. package/src/markdown/code-block.tsx +198 -0
  126. package/src/markdown/index.ts +2 -0
  127. package/src/markdown/markdown.stories.tsx +190 -0
  128. package/src/markdown/markdown.tsx +62 -0
  129. package/src/openui/index.ts +20 -0
  130. package/src/openui/openui-artifact-renderer.tsx +542 -0
  131. package/src/primitives/artifact-pane.tsx +91 -0
  132. package/src/primitives/avatar.stories.tsx +95 -0
  133. package/src/primitives/avatar.tsx +47 -0
  134. package/src/primitives/badge.stories.tsx +57 -0
  135. package/src/primitives/badge.tsx +97 -0
  136. package/src/primitives/button.stories.tsx +48 -0
  137. package/src/primitives/button.tsx +115 -0
  138. package/src/primitives/card.stories.tsx +53 -0
  139. package/src/primitives/card.tsx +98 -0
  140. package/src/primitives/code-block.stories.tsx +115 -0
  141. package/src/primitives/code-block.tsx +22 -0
  142. package/src/primitives/design-tokens.stories.tsx +162 -0
  143. package/src/primitives/dialog.stories.tsx +176 -0
  144. package/src/primitives/dialog.tsx +137 -0
  145. package/src/primitives/drop-zone.stories.tsx +123 -0
  146. package/src/primitives/drop-zone.tsx +131 -0
  147. package/src/primitives/dropdown-menu.stories.tsx +122 -0
  148. package/src/primitives/dropdown-menu.tsx +214 -0
  149. package/src/primitives/empty-state.stories.tsx +81 -0
  150. package/src/primitives/empty-state.tsx +40 -0
  151. package/src/primitives/index.ts +118 -0
  152. package/src/primitives/input.stories.tsx +113 -0
  153. package/src/primitives/input.tsx +136 -0
  154. package/src/primitives/label.stories.tsx +84 -0
  155. package/src/primitives/label.tsx +24 -0
  156. package/src/primitives/progress.stories.tsx +93 -0
  157. package/src/primitives/progress.tsx +50 -0
  158. package/src/primitives/segmented-control.test.tsx +328 -0
  159. package/src/primitives/segmented-control.tsx +154 -0
  160. package/src/primitives/select.stories.tsx +164 -0
  161. package/src/primitives/select.tsx +158 -0
  162. package/src/primitives/sidebar-drop-zone.stories.tsx +100 -0
  163. package/src/primitives/sidebar-drop-zone.tsx +149 -0
  164. package/src/primitives/skeleton.stories.tsx +79 -0
  165. package/src/primitives/skeleton.tsx +55 -0
  166. package/src/primitives/stat-card.stories.tsx +137 -0
  167. package/src/primitives/stat-card.tsx +97 -0
  168. package/src/primitives/switch.stories.tsx +85 -0
  169. package/src/primitives/switch.tsx +28 -0
  170. package/src/primitives/table.stories.tsx +170 -0
  171. package/src/primitives/table.tsx +116 -0
  172. package/src/primitives/tabs.stories.tsx +180 -0
  173. package/src/primitives/tabs.tsx +71 -0
  174. package/src/primitives/terminal-display.stories.tsx +191 -0
  175. package/src/primitives/terminal-display.tsx +189 -0
  176. package/src/primitives/theme-toggle.stories.tsx +32 -0
  177. package/src/primitives/theme-toggle.tsx +96 -0
  178. package/src/primitives/toast.stories.tsx +155 -0
  179. package/src/primitives/toast.tsx +190 -0
  180. package/src/primitives/upload-progress.stories.tsx +120 -0
  181. package/src/primitives/upload-progress.tsx +110 -0
  182. package/src/run/expanded-tool-detail.stories.tsx +182 -0
  183. package/src/run/expanded-tool-detail.tsx +186 -0
  184. package/src/run/index.ts +13 -0
  185. package/src/run/inline-thinking-item.stories.tsx +136 -0
  186. package/src/run/inline-thinking-item.tsx +120 -0
  187. package/src/run/inline-tool-item.stories.tsx +222 -0
  188. package/src/run/inline-tool-item.tsx +190 -0
  189. package/src/run/run-group.stories.tsx +322 -0
  190. package/src/run/run-group.tsx +569 -0
  191. package/src/run/run-item-primitives.tsx +17 -0
  192. package/src/run/tool-call-feed.stories.tsx +294 -0
  193. package/src/run/tool-call-feed.tsx +192 -0
  194. package/src/run/tool-call-step.stories.tsx +198 -0
  195. package/src/run/tool-call-step.tsx +240 -0
  196. package/src/sdk-hooks.ts +38 -0
  197. package/src/stores/active-sessions-store.ts +455 -0
  198. package/src/stores/chat-store.ts +43 -0
  199. package/src/stores/index.ts +2 -0
  200. package/src/tool-previews/command-preview.tsx +116 -0
  201. package/src/tool-previews/diff-preview.tsx +85 -0
  202. package/src/tool-previews/glob-results-preview.tsx +98 -0
  203. package/src/tool-previews/grep-results-preview.tsx +157 -0
  204. package/src/tool-previews/index.ts +22 -0
  205. package/src/tool-previews/preview-primitives.tsx +84 -0
  206. package/src/tool-previews/question-preview.tsx +101 -0
  207. package/src/tool-previews/web-search-preview.tsx +117 -0
  208. package/src/tool-previews/write-file-preview.tsx +80 -0
  209. package/src/types/branding.ts +11 -0
  210. package/src/types/index.ts +5 -0
  211. package/src/types/message.ts +13 -0
  212. package/src/types/parts.ts +51 -0
  213. package/src/types/run.ts +56 -0
  214. package/src/types/tool-display.ts +41 -0
  215. package/src/utils/copy-text.ts +30 -0
  216. package/src/utils/format.test.ts +43 -0
  217. package/src/utils/format.ts +56 -0
  218. package/src/utils/index.ts +10 -0
  219. package/src/utils/time-ago.ts +9 -0
  220. package/src/utils/tool-display.ts +238 -0
@@ -0,0 +1,332 @@
1
+ export { B as Button, a as ButtonProps, b as buttonVariants } from './button-CMQuQEW_.js';
2
+ import * as React$1 from 'react';
3
+ import { ReactNode } from 'react';
4
+ import * as react_jsx_runtime from 'react/jsx-runtime';
5
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
6
+ import * as class_variance_authority_types from 'class-variance-authority/types';
7
+ import { VariantProps } from 'class-variance-authority';
8
+ import * as AvatarPrimitive from '@radix-ui/react-avatar';
9
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
10
+ import * as SelectPrimitive from '@radix-ui/react-select';
11
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
12
+ import * as ProgressPrimitive from '@radix-ui/react-progress';
13
+ import * as SwitchPrimitives from '@radix-ui/react-switch';
14
+ import * as LabelPrimitive from '@radix-ui/react-label';
15
+ export { Logo, LogoProps, TangleKnot } from '@tangle-network/brand';
16
+ export { A as ArtifactPane, a as ArtifactPaneProps } from './artifact-pane-DvJyPWV4.js';
17
+ export { C as CodeBlock, a as CodeBlockProps, b as CopyButton } from './code-block-DjXf8eOG.js';
18
+
19
+ declare const Card: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & {
20
+ variant?: "default" | "glass" | "sandbox" | "elevated";
21
+ hover?: boolean;
22
+ } & React$1.RefAttributes<HTMLDivElement>>;
23
+ declare const CardHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
24
+ declare const CardTitle: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLHeadingElement> & React$1.RefAttributes<HTMLHeadingElement>>;
25
+ declare const CardDescription: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLParagraphElement> & React$1.RefAttributes<HTMLParagraphElement>>;
26
+ declare const CardContent: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
27
+ declare const CardFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
28
+
29
+ declare const Dialog: React$1.FC<DialogPrimitive.DialogProps>;
30
+ declare const DialogTrigger: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
31
+ declare const DialogPortal: React$1.FC<DialogPrimitive.DialogPortalProps>;
32
+ declare const DialogClose: React$1.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>>;
33
+ declare const DialogOverlay: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
34
+ declare const DialogContent: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
35
+ variant?: "default" | "sandbox";
36
+ } & React$1.RefAttributes<HTMLDivElement>>;
37
+ declare const DialogHeader: {
38
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
39
+ displayName: string;
40
+ };
41
+ declare const DialogFooter: {
42
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
43
+ displayName: string;
44
+ };
45
+ declare const DialogTitle: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
46
+ declare const DialogDescription: React$1.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
47
+
48
+ declare const inputVariants: (props?: ({
49
+ variant?: "default" | "sandbox" | "error" | null | undefined;
50
+ size?: "default" | "sm" | "lg" | null | undefined;
51
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
52
+ interface InputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "size">, VariantProps<typeof inputVariants> {
53
+ label?: string;
54
+ error?: string;
55
+ hint?: string;
56
+ }
57
+ declare const Input: React$1.ForwardRefExoticComponent<InputProps & React$1.RefAttributes<HTMLInputElement>>;
58
+ interface TextareaProps extends React$1.TextareaHTMLAttributes<HTMLTextAreaElement> {
59
+ variant?: "default" | "sandbox";
60
+ label?: string;
61
+ error?: string;
62
+ hint?: string;
63
+ }
64
+ declare const Textarea: React$1.ForwardRefExoticComponent<TextareaProps & React$1.RefAttributes<HTMLTextAreaElement>>;
65
+
66
+ declare const badgeVariants: (props?: ({
67
+ variant?: "default" | "destructive" | "outline" | "secondary" | "sandbox" | "error" | "success" | "warning" | "info" | "running" | "creating" | "stopped" | "warm" | "cold" | "deleted" | null | undefined;
68
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
69
+ type BadgeVariant = "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "error" | "info" | "sandbox" | "running" | "creating" | "stopped" | "warm" | "cold" | "deleted" | null;
70
+ interface BadgeProps extends VariantProps<typeof badgeVariants> {
71
+ variant?: BadgeVariant;
72
+ className?: string;
73
+ children?: React$1.ReactNode;
74
+ dot?: boolean;
75
+ onClick?: React$1.MouseEventHandler<HTMLDivElement>;
76
+ style?: React$1.CSSProperties;
77
+ id?: string;
78
+ role?: React$1.AriaRole;
79
+ title?: string;
80
+ [key: string]: unknown;
81
+ }
82
+ declare function Badge({ className, variant, dot, children, ...props }: BadgeProps): react_jsx_runtime.JSX.Element;
83
+
84
+ declare const Avatar: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
85
+ declare const AvatarImage: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarImageProps & React$1.RefAttributes<HTMLImageElement>, "ref"> & React$1.RefAttributes<HTMLImageElement>>;
86
+ declare const AvatarFallback: React$1.ForwardRefExoticComponent<Omit<AvatarPrimitive.AvatarFallbackProps & React$1.RefAttributes<HTMLSpanElement>, "ref"> & React$1.RefAttributes<HTMLSpanElement>>;
87
+
88
+ declare const DropdownMenu: React$1.FC<DropdownMenuPrimitive.DropdownMenuProps>;
89
+ declare const DropdownMenuTrigger: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React$1.RefAttributes<HTMLButtonElement>>;
90
+ declare const DropdownMenuGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React$1.RefAttributes<HTMLDivElement>>;
91
+ declare const DropdownMenuPortal: React$1.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
92
+ declare const DropdownMenuSub: React$1.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
93
+ declare const DropdownMenuRadioGroup: React$1.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React$1.RefAttributes<HTMLDivElement>>;
94
+ declare const DropdownMenuSubTrigger: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
95
+ inset?: boolean;
96
+ } & React$1.RefAttributes<HTMLDivElement>>;
97
+ declare const DropdownMenuSubContent: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
98
+ declare const DropdownMenuContent: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
99
+ declare const DropdownMenuItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
100
+ inset?: boolean;
101
+ } & React$1.RefAttributes<HTMLDivElement>>;
102
+ declare const DropdownMenuCheckboxItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
103
+ declare const DropdownMenuRadioItem: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
104
+ declare const DropdownMenuLabel: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
105
+ inset?: boolean;
106
+ } & React$1.RefAttributes<HTMLDivElement>>;
107
+ declare const DropdownMenuSeparator: React$1.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
108
+ declare const DropdownMenuShortcut: {
109
+ ({ className, ...props }: React$1.HTMLAttributes<HTMLSpanElement>): react_jsx_runtime.JSX.Element;
110
+ displayName: string;
111
+ };
112
+
113
+ declare const Select: React$1.FC<SelectPrimitive.SelectProps>;
114
+ declare const SelectGroup: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
115
+ declare const SelectValue: React$1.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React$1.RefAttributes<HTMLSpanElement>>;
116
+ declare const SelectTrigger: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
117
+ declare const SelectScrollUpButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
118
+ declare const SelectScrollDownButton: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
119
+ declare const SelectContent: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
120
+ declare const SelectLabel: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
121
+ declare const SelectItem: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
122
+ declare const SelectSeparator: React$1.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
123
+
124
+ declare const Table: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableElement> & React$1.RefAttributes<HTMLTableElement>>;
125
+ declare const TableHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
126
+ declare const TableBody: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
127
+ declare const TableFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableSectionElement> & React$1.RefAttributes<HTMLTableSectionElement>>;
128
+ declare const TableRow: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableRowElement> & React$1.RefAttributes<HTMLTableRowElement>>;
129
+ declare const TableHead: React$1.ForwardRefExoticComponent<React$1.ThHTMLAttributes<HTMLTableCellElement> & React$1.RefAttributes<HTMLTableCellElement>>;
130
+ declare const TableCell: React$1.ForwardRefExoticComponent<React$1.TdHTMLAttributes<HTMLTableCellElement> & React$1.RefAttributes<HTMLTableCellElement>>;
131
+ declare const TableCaption: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLTableCaptionElement> & React$1.RefAttributes<HTMLTableCaptionElement>>;
132
+
133
+ declare const Tabs: React$1.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React$1.RefAttributes<HTMLDivElement>>;
134
+ declare const TabsList: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
135
+ variant?: "default" | "pills" | "underline";
136
+ } & React$1.RefAttributes<HTMLDivElement>>;
137
+ declare const TabsTrigger: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & {
138
+ variant?: "default" | "pills" | "underline";
139
+ } & React$1.RefAttributes<HTMLButtonElement>>;
140
+ declare const TabsContent: React$1.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
141
+
142
+ /**
143
+ * Visually lightweight segmented control for single-value selection.
144
+ *
145
+ * Uses role="radiogroup" / role="radio" because this is a value-selector
146
+ * with no associated panels — not a tab interface. Arrow keys navigate
147
+ * between options (with wrapping), Home/End jump to first/last.
148
+ *
149
+ * **Accessibility:** Provide either `aria-label` or `aria-labelledby` — the
150
+ * ARIA spec requires every radiogroup to have an accessible name. A dev-mode
151
+ * console warning fires when both are omitted.
152
+ *
153
+ * Design rules baked into the default variant:
154
+ * - Only the SELECTED segment shows a surface colour + accent text.
155
+ * - Unselected segments have NO background — they're plain-text labels
156
+ * that darken on hover. This keeps the selected segment as the
157
+ * single visual anchor instead of the whole group competing with
158
+ * itself.
159
+ */
160
+ interface SegmentedControlOption<T extends string = string> {
161
+ value: T;
162
+ label: React$1.ReactNode;
163
+ /** Rendered right of the label, typically a count or status pill. */
164
+ adornment?: React$1.ReactNode;
165
+ }
166
+ interface SegmentedControlProps<T extends string = string> extends Pick<React$1.HTMLAttributes<HTMLDivElement>, "id" | "className" | "aria-label" | "aria-labelledby"> {
167
+ value: T;
168
+ onValueChange: (value: T) => void;
169
+ options: SegmentedControlOption<T>[];
170
+ /**
171
+ * Layout:
172
+ * - "row" — horizontal pill bar (default, fits in a header region)
173
+ * - "tabs" — horizontal with a bottom border so the selected pill
174
+ * reads as a classic tab (used on the Team page)
175
+ */
176
+ variant?: "row" | "tabs";
177
+ }
178
+ declare function SegmentedControl<T extends string = string>({ value, onValueChange, options, variant, className, ...rest }: SegmentedControlProps<T>): react_jsx_runtime.JSX.Element;
179
+
180
+ declare const Progress: React$1.ForwardRefExoticComponent<Omit<ProgressPrimitive.ProgressProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & {
181
+ variant?: "default" | "sandbox";
182
+ showValue?: boolean;
183
+ } & React$1.RefAttributes<HTMLDivElement>>;
184
+
185
+ declare const Switch: React$1.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
186
+
187
+ declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
188
+ declare function SkeletonCard({ className }: {
189
+ className?: string;
190
+ }): react_jsx_runtime.JSX.Element;
191
+ declare function SkeletonTable({ rows }: {
192
+ rows?: number;
193
+ }): react_jsx_runtime.JSX.Element;
194
+
195
+ interface Toast {
196
+ id: string;
197
+ title: string;
198
+ description?: string;
199
+ variant?: "default" | "success" | "error" | "warning" | "info";
200
+ duration?: number;
201
+ }
202
+ interface ToastContainerProps {
203
+ toasts: Toast[];
204
+ onDismiss: (id: string) => void;
205
+ }
206
+ declare function ToastContainer({ toasts, onDismiss }: ToastContainerProps): react_jsx_runtime.JSX.Element;
207
+ type ToastInput = Omit<Toast, "id">;
208
+ interface ToastContextValue {
209
+ toasts: Toast[];
210
+ toast: (input: ToastInput) => void;
211
+ success: (title: string, description?: string) => void;
212
+ error: (title: string, description?: string) => void;
213
+ warning: (title: string, description?: string) => void;
214
+ info: (title: string, description?: string) => void;
215
+ dismiss: (id: string) => void;
216
+ }
217
+ declare function ToastProvider({ children }: {
218
+ children: React$1.ReactNode;
219
+ }): react_jsx_runtime.JSX.Element;
220
+ declare function useToast(): ToastContextValue;
221
+
222
+ declare const Label: React$1.ForwardRefExoticComponent<Omit<LabelPrimitive.LabelProps & React$1.RefAttributes<HTMLLabelElement>, "ref"> & React$1.RefAttributes<HTMLLabelElement>>;
223
+
224
+ interface EmptyStateProps extends React$1.HTMLAttributes<HTMLDivElement> {
225
+ icon?: React$1.ReactNode;
226
+ title: string;
227
+ description?: string;
228
+ action?: React$1.ReactNode;
229
+ }
230
+ declare const EmptyState: React$1.ForwardRefExoticComponent<EmptyStateProps & React$1.RefAttributes<HTMLDivElement>>;
231
+
232
+ interface StatCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
233
+ variant?: "default" | "sandbox";
234
+ title: string;
235
+ value: string | number;
236
+ subtitle?: string;
237
+ icon?: React$1.ReactNode;
238
+ trend?: {
239
+ value: number;
240
+ label?: string;
241
+ };
242
+ }
243
+ declare const StatCard: React$1.ForwardRefExoticComponent<StatCardProps & React$1.RefAttributes<HTMLDivElement>>;
244
+
245
+ interface TerminalDisplayProps extends React$1.HTMLAttributes<HTMLDivElement> {
246
+ variant?: "default" | "sandbox";
247
+ title?: string;
248
+ showHeader?: boolean;
249
+ autoScroll?: boolean;
250
+ maxHeight?: string;
251
+ }
252
+ declare const TerminalDisplay: React$1.ForwardRefExoticComponent<TerminalDisplayProps & React$1.RefAttributes<HTMLDivElement>>;
253
+ interface TerminalLineProps extends React$1.HTMLAttributes<HTMLDivElement> {
254
+ type?: "input" | "output" | "error" | "success" | "info" | "thinking" | "command" | "warning";
255
+ prompt?: string;
256
+ timestamp?: string;
257
+ }
258
+ declare const TerminalLine: React$1.ForwardRefExoticComponent<TerminalLineProps & React$1.RefAttributes<HTMLDivElement>>;
259
+ declare const TerminalCursor: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLSpanElement> & React$1.RefAttributes<HTMLSpanElement>>;
260
+ interface TerminalInputProps extends Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onSubmit"> {
261
+ onSubmit?: (value: string) => void;
262
+ variant?: "default" | "sandbox";
263
+ }
264
+ declare const TerminalInput: React$1.ForwardRefExoticComponent<TerminalInputProps & React$1.RefAttributes<HTMLInputElement>>;
265
+
266
+ interface DropZoneProps {
267
+ /** Called with dropped files */
268
+ onDrop: (files: File[]) => void;
269
+ /** Accepted file types (e.g. ".pdf,.csv,.xlsx") */
270
+ accept?: string;
271
+ /** Whether drop zone is active */
272
+ disabled?: boolean;
273
+ /** Custom overlay content (replaces default) */
274
+ overlay?: ReactNode;
275
+ /** Overlay title */
276
+ title?: string;
277
+ /** Overlay description */
278
+ description?: string;
279
+ /** Overlay icon (Material Symbols name or ReactNode) */
280
+ icon?: string | ReactNode;
281
+ /** Children wrapped by the drop zone */
282
+ children: ReactNode;
283
+ className?: string;
284
+ }
285
+ declare function DropZone({ onDrop, accept, disabled, overlay, title, description, icon, children, className, }: DropZoneProps): react_jsx_runtime.JSX.Element;
286
+
287
+ /**
288
+ * UploadProgress — file upload status indicators.
289
+ *
290
+ * Shows a list of files being uploaded with progress bars,
291
+ * completion checkmarks, and error states.
292
+ */
293
+ interface UploadFile {
294
+ id: string;
295
+ name: string;
296
+ size: number;
297
+ status: "pending" | "uploading" | "complete" | "error";
298
+ progress?: number;
299
+ error?: string;
300
+ }
301
+ interface UploadProgressProps {
302
+ files: UploadFile[];
303
+ onRemove?: (id: string) => void;
304
+ onRetry?: (id: string) => void;
305
+ className?: string;
306
+ }
307
+ declare function UploadProgress({ files, onRemove, onRetry, className }: UploadProgressProps): react_jsx_runtime.JSX.Element | null;
308
+
309
+ interface SidebarDropZoneProps {
310
+ /** Called with dropped files */
311
+ onDrop: (files: File[]) => void;
312
+ /** Accepted file types (e.g. ".pdf,.csv") */
313
+ accept?: string;
314
+ /** Whether drop zone is active */
315
+ disabled?: boolean;
316
+ /** Title shown in the drop zone */
317
+ title?: string;
318
+ /** Description shown below the title */
319
+ description?: string;
320
+ /** Custom icon (replaces default upload icon) */
321
+ icon?: ReactNode;
322
+ /** Always visible (not just on drag). Useful as a persistent upload area. */
323
+ persistent?: boolean;
324
+ className?: string;
325
+ }
326
+ declare function SidebarDropZone({ onDrop, accept, disabled, title, description, icon, persistent, className, }: SidebarDropZoneProps): react_jsx_runtime.JSX.Element;
327
+
328
+ interface InlineCodeProps extends React.HTMLAttributes<HTMLElement> {
329
+ }
330
+ declare function InlineCode({ className, children, ...props }: InlineCodeProps): react_jsx_runtime.JSX.Element;
331
+
332
+ 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, InlineCode, type InlineCodeProps, Input, type InputProps, Label, 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, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, TerminalCursor, TerminalDisplay, TerminalInput, TerminalLine, Textarea, type TextareaProps, type Toast, ToastContainer, ToastProvider, type UploadFile, UploadProgress, type UploadProgressProps, badgeVariants, useToast };
@@ -0,0 +1,191 @@
1
+ import {
2
+ Dialog,
3
+ DialogClose,
4
+ DialogContent,
5
+ DialogDescription,
6
+ DialogFooter,
7
+ DialogHeader,
8
+ DialogOverlay,
9
+ DialogPortal,
10
+ DialogTitle,
11
+ DialogTrigger,
12
+ DropZone,
13
+ EmptyState,
14
+ Input,
15
+ Label,
16
+ Logo,
17
+ Progress,
18
+ SegmentedControl,
19
+ Select,
20
+ SelectContent,
21
+ SelectGroup,
22
+ SelectItem,
23
+ SelectLabel,
24
+ SelectScrollDownButton,
25
+ SelectScrollUpButton,
26
+ SelectSeparator,
27
+ SelectTrigger,
28
+ SelectValue,
29
+ SidebarDropZone,
30
+ Skeleton,
31
+ SkeletonCard,
32
+ SkeletonTable,
33
+ StatCard,
34
+ Switch,
35
+ TangleKnot,
36
+ TerminalCursor,
37
+ TerminalDisplay,
38
+ TerminalInput,
39
+ TerminalLine,
40
+ Textarea,
41
+ ToastContainer,
42
+ ToastProvider,
43
+ UploadProgress,
44
+ useToast
45
+ } from "./chunk-LISXUB4D.js";
46
+ import {
47
+ Avatar,
48
+ AvatarFallback,
49
+ AvatarImage,
50
+ DropdownMenu,
51
+ DropdownMenuCheckboxItem,
52
+ DropdownMenuContent,
53
+ DropdownMenuGroup,
54
+ DropdownMenuItem,
55
+ DropdownMenuLabel,
56
+ DropdownMenuPortal,
57
+ DropdownMenuRadioGroup,
58
+ DropdownMenuRadioItem,
59
+ DropdownMenuSeparator,
60
+ DropdownMenuShortcut,
61
+ DropdownMenuSub,
62
+ DropdownMenuSubContent,
63
+ DropdownMenuSubTrigger,
64
+ DropdownMenuTrigger
65
+ } from "./chunk-34A66VBG.js";
66
+ import {
67
+ Badge,
68
+ Card,
69
+ CardContent,
70
+ CardDescription,
71
+ CardFooter,
72
+ CardHeader,
73
+ CardTitle,
74
+ InlineCode,
75
+ Table,
76
+ TableBody,
77
+ TableCaption,
78
+ TableCell,
79
+ TableFooter,
80
+ TableHead,
81
+ TableHeader,
82
+ TableRow,
83
+ badgeVariants
84
+ } from "./chunk-GYPQXTJU.js";
85
+ import {
86
+ Button,
87
+ buttonVariants
88
+ } from "./chunk-MKTSMWVD.js";
89
+ import {
90
+ Tabs,
91
+ TabsContent,
92
+ TabsList,
93
+ TabsTrigger
94
+ } from "./chunk-Q56BYXQF.js";
95
+ import {
96
+ ArtifactPane
97
+ } from "./chunk-CSAIKY36.js";
98
+ import {
99
+ CodeBlock,
100
+ CopyButton
101
+ } from "./chunk-66BNMOVT.js";
102
+ import "./chunk-RQHJBTEU.js";
103
+ export {
104
+ ArtifactPane,
105
+ Avatar,
106
+ AvatarFallback,
107
+ AvatarImage,
108
+ Badge,
109
+ Button,
110
+ Card,
111
+ CardContent,
112
+ CardDescription,
113
+ CardFooter,
114
+ CardHeader,
115
+ CardTitle,
116
+ CodeBlock,
117
+ CopyButton,
118
+ Dialog,
119
+ DialogClose,
120
+ DialogContent,
121
+ DialogDescription,
122
+ DialogFooter,
123
+ DialogHeader,
124
+ DialogOverlay,
125
+ DialogPortal,
126
+ DialogTitle,
127
+ DialogTrigger,
128
+ DropZone,
129
+ DropdownMenu,
130
+ DropdownMenuCheckboxItem,
131
+ DropdownMenuContent,
132
+ DropdownMenuGroup,
133
+ DropdownMenuItem,
134
+ DropdownMenuLabel,
135
+ DropdownMenuPortal,
136
+ DropdownMenuRadioGroup,
137
+ DropdownMenuRadioItem,
138
+ DropdownMenuSeparator,
139
+ DropdownMenuShortcut,
140
+ DropdownMenuSub,
141
+ DropdownMenuSubContent,
142
+ DropdownMenuSubTrigger,
143
+ DropdownMenuTrigger,
144
+ EmptyState,
145
+ InlineCode,
146
+ Input,
147
+ Label,
148
+ Logo,
149
+ Progress,
150
+ SegmentedControl,
151
+ Select,
152
+ SelectContent,
153
+ SelectGroup,
154
+ SelectItem,
155
+ SelectLabel,
156
+ SelectScrollDownButton,
157
+ SelectScrollUpButton,
158
+ SelectSeparator,
159
+ SelectTrigger,
160
+ SelectValue,
161
+ SidebarDropZone,
162
+ Skeleton,
163
+ SkeletonCard,
164
+ SkeletonTable,
165
+ StatCard,
166
+ Switch,
167
+ Table,
168
+ TableBody,
169
+ TableCaption,
170
+ TableCell,
171
+ TableFooter,
172
+ TableHead,
173
+ TableHeader,
174
+ TableRow,
175
+ Tabs,
176
+ TabsContent,
177
+ TabsList,
178
+ TabsTrigger,
179
+ TangleKnot,
180
+ TerminalCursor,
181
+ TerminalDisplay,
182
+ TerminalInput,
183
+ TerminalLine,
184
+ Textarea,
185
+ ToastContainer,
186
+ ToastProvider,
187
+ UploadProgress,
188
+ badgeVariants,
189
+ buttonVariants,
190
+ useToast
191
+ };
@@ -0,0 +1,41 @@
1
+ import { S as SessionMessage } from './message-BHWbxBtT.js';
2
+
3
+ /** Broad category of a tool invocation, used for display grouping. */
4
+ type ToolCategory = "command" | "write" | "read" | "search" | "edit" | "task" | "web" | "todo" | "other";
5
+ interface RunStats {
6
+ toolCount: number;
7
+ messageCount: number;
8
+ thinkingDurationMs: number;
9
+ textPartCount: number;
10
+ toolCategories: Set<ToolCategory>;
11
+ }
12
+ interface FinalTextPart {
13
+ messageId: string;
14
+ partIndex: number;
15
+ text: string;
16
+ }
17
+ /**
18
+ * A Run is a consecutive group of assistant messages that form one
19
+ * logical "turn" of the agent. Runs are collapsible in the UI and
20
+ * show a summary header when collapsed.
21
+ */
22
+ interface Run {
23
+ id: string;
24
+ messages: SessionMessage[];
25
+ isComplete: boolean;
26
+ isStreaming: boolean;
27
+ stats: RunStats;
28
+ summaryText: string | null;
29
+ finalTextPart: FinalTextPart | null;
30
+ }
31
+ interface MessageRun {
32
+ type: "run";
33
+ run: Run;
34
+ }
35
+ interface MessageUser {
36
+ type: "user";
37
+ message: SessionMessage;
38
+ }
39
+ type GroupedMessage = MessageRun | MessageUser;
40
+
41
+ export type { FinalTextPart as F, GroupedMessage as G, MessageRun as M, Run as R, ToolCategory as T, MessageUser as a, RunStats as b };
package/dist/run.d.ts ADDED
@@ -0,0 +1,69 @@
1
+ import * as React from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { R as Run } from './run-PfLmDAox.js';
5
+ import { S as SessionPart, a as ToolPart, R as ReasoningPart } from './parts-dj7AcUg0.js';
6
+ import { AgentBranding } from './types.js';
7
+ import { C as CustomToolRenderer } from './tool-display-z4JcDmMQ.js';
8
+ export { F as FeedSegment, T as ToolCallData, a as ToolCallFeed, b as ToolCallFeedProps, c as ToolCallGroup, d as ToolCallGroupProps, e as ToolCallStatus, f as ToolCallStep, g as ToolCallStepProps, h as ToolCallType, p as parseToolEvent } from './tool-call-feed-Bs3MyQMT.js';
9
+ import './message-BHWbxBtT.js';
10
+
11
+ interface RunGroupProps {
12
+ run: Run;
13
+ partMap: Record<string, SessionPart[]>;
14
+ collapsed: boolean;
15
+ onToggle: () => void;
16
+ branding?: AgentBranding;
17
+ renderToolDetail?: CustomToolRenderer;
18
+ headerActions?: ReactNode;
19
+ renderToolActions?: (part: ToolPart, options: {
20
+ run: Run;
21
+ messageId: string;
22
+ partIndex: number;
23
+ }) => ReactNode;
24
+ }
25
+ /**
26
+ * Collapsible container for a consecutive group of assistant messages (a "run").
27
+ * Shows a summary header with stats and renders tool/thinking/text parts.
28
+ */
29
+ declare const RunGroup: React.MemoExoticComponent<({ run, partMap, collapsed, onToggle, branding, renderToolDetail, headerActions, renderToolActions, }: RunGroupProps) => react_jsx_runtime.JSX.Element | null>;
30
+
31
+ interface InlineToolItemProps {
32
+ part: ToolPart;
33
+ renderToolDetail?: CustomToolRenderer;
34
+ groupPosition?: "single" | "first" | "middle" | "last";
35
+ className?: string;
36
+ contentClassName?: string;
37
+ actions?: ReactNode;
38
+ }
39
+ /**
40
+ * Compact single-line tool call display (32px height).
41
+ * Shows icon, title, description, duration, and status indicator.
42
+ * Expands on click to show ExpandedToolDetail.
43
+ */
44
+ declare const InlineToolItem: React.MemoExoticComponent<({ part, renderToolDetail, groupPosition, className, contentClassName, actions, }: InlineToolItemProps) => react_jsx_runtime.JSX.Element>;
45
+
46
+ interface InlineThinkingItemProps {
47
+ part: ReasoningPart;
48
+ defaultOpen?: boolean;
49
+ autoCollapse?: boolean;
50
+ className?: string;
51
+ contentClassName?: string;
52
+ }
53
+ declare const InlineThinkingItem: React.MemoExoticComponent<({ part, defaultOpen, autoCollapse, className, contentClassName, }: InlineThinkingItemProps) => react_jsx_runtime.JSX.Element>;
54
+
55
+ interface ExpandedToolDetailProps {
56
+ part: ToolPart;
57
+ }
58
+ /**
59
+ * Renders full tool details when a tool item is expanded.
60
+ * Dispatches to specialised previews (CommandPreview, WriteFilePreview)
61
+ * or falls back to a generic input/output code view.
62
+ */
63
+ declare const ExpandedToolDetail: React.MemoExoticComponent<({ part }: ExpandedToolDetailProps) => react_jsx_runtime.JSX.Element>;
64
+
65
+ declare function LiveDuration({ startTime }: {
66
+ startTime: number;
67
+ }): react_jsx_runtime.JSX.Element;
68
+
69
+ export { ExpandedToolDetail, type ExpandedToolDetailProps, InlineThinkingItem, type InlineThinkingItemProps, InlineToolItem, type InlineToolItemProps, LiveDuration, RunGroup, type RunGroupProps };
package/dist/run.js ADDED
@@ -0,0 +1,36 @@
1
+ import "./chunk-LQS34IGP.js";
2
+ import {
3
+ ToolCallFeed,
4
+ parseToolEvent
5
+ } from "./chunk-7UO2ZMRQ.js";
6
+ import {
7
+ ExpandedToolDetail,
8
+ InlineThinkingItem,
9
+ InlineToolItem,
10
+ LiveDuration,
11
+ RunGroup
12
+ } from "./chunk-YNN4O57I.js";
13
+ import {
14
+ ToolCallGroup,
15
+ ToolCallStep
16
+ } from "./chunk-2VH6PUXD.js";
17
+ import "./chunk-4CLN43XT.js";
18
+ import "./chunk-BX6AQMUS.js";
19
+ import "./chunk-XIHMJ7ZQ.js";
20
+ import "./chunk-TMFOPHHN.js";
21
+ import "./chunk-GYPQXTJU.js";
22
+ import "./chunk-MKTSMWVD.js";
23
+ import "./chunk-CD53GZOM.js";
24
+ import "./chunk-66BNMOVT.js";
25
+ import "./chunk-RQHJBTEU.js";
26
+ export {
27
+ ExpandedToolDetail,
28
+ InlineThinkingItem,
29
+ InlineToolItem,
30
+ LiveDuration,
31
+ RunGroup,
32
+ ToolCallFeed,
33
+ ToolCallGroup,
34
+ ToolCallStep,
35
+ parseToolEvent
36
+ };