@tetrascience-npm/tetrascience-react-ui 0.5.0-beta.39.1 → 0.5.0-beta.41.1

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 (91) hide show
  1. package/dist/components/ai/attachments.cjs +2 -0
  2. package/dist/components/ai/attachments.cjs.map +1 -0
  3. package/dist/components/ai/attachments.js +224 -0
  4. package/dist/components/ai/attachments.js.map +1 -0
  5. package/dist/components/ai/chain-of-thought.cjs +2 -0
  6. package/dist/components/ai/chain-of-thought.cjs.map +1 -0
  7. package/dist/components/ai/chain-of-thought.js +145 -0
  8. package/dist/components/ai/chain-of-thought.js.map +1 -0
  9. package/dist/components/ai/confirmation.cjs +2 -0
  10. package/dist/components/ai/confirmation.cjs.map +1 -0
  11. package/dist/components/ai/confirmation.js +109 -0
  12. package/dist/components/ai/confirmation.js.map +1 -0
  13. package/dist/components/ai/context.cjs +2 -0
  14. package/dist/components/ai/context.cjs.map +1 -0
  15. package/dist/components/ai/context.js +266 -0
  16. package/dist/components/ai/context.js.map +1 -0
  17. package/dist/components/ai/conversation.cjs +4 -0
  18. package/dist/components/ai/conversation.cjs.map +1 -0
  19. package/dist/components/ai/conversation.js +108 -0
  20. package/dist/components/ai/conversation.js.map +1 -0
  21. package/dist/components/ai/inline-citation.cjs +2 -0
  22. package/dist/components/ai/inline-citation.cjs.map +1 -0
  23. package/dist/components/ai/inline-citation.js +182 -0
  24. package/dist/components/ai/inline-citation.js.map +1 -0
  25. package/dist/components/ai/message.cjs +2 -0
  26. package/dist/components/ai/message.cjs.map +1 -0
  27. package/dist/components/ai/message.js +237 -0
  28. package/dist/components/ai/message.js.map +1 -0
  29. package/dist/components/ai/model-selector.cjs +2 -0
  30. package/dist/components/ai/model-selector.cjs.map +1 -0
  31. package/dist/components/ai/model-selector.js +77 -0
  32. package/dist/components/ai/model-selector.js.map +1 -0
  33. package/dist/components/ai/prompt-input.cjs +2 -0
  34. package/dist/components/ai/prompt-input.cjs.map +1 -0
  35. package/dist/components/ai/prompt-input.js +774 -0
  36. package/dist/components/ai/prompt-input.js.map +1 -0
  37. package/dist/components/ai/queue.cjs +2 -0
  38. package/dist/components/ai/queue.cjs.map +1 -0
  39. package/dist/components/ai/queue.js +209 -0
  40. package/dist/components/ai/queue.js.map +1 -0
  41. package/dist/components/ai/reasoning.cjs +2 -0
  42. package/dist/components/ai/reasoning.cjs.map +1 -0
  43. package/dist/components/ai/reasoning.js +129 -0
  44. package/dist/components/ai/reasoning.js.map +1 -0
  45. package/dist/components/ai/shimmer.cjs +2 -0
  46. package/dist/components/ai/shimmer.cjs.map +1 -0
  47. package/dist/components/ai/shimmer.js +49 -0
  48. package/dist/components/ai/shimmer.js.map +1 -0
  49. package/dist/components/ai/sources.cjs +2 -0
  50. package/dist/components/ai/sources.cjs.map +1 -0
  51. package/dist/components/ai/sources.js +54 -0
  52. package/dist/components/ai/sources.js.map +1 -0
  53. package/dist/components/ai/speech-input.cjs +2 -0
  54. package/dist/components/ai/speech-input.cjs.map +1 -0
  55. package/dist/components/ai/speech-input.js +123 -0
  56. package/dist/components/ai/speech-input.js.map +1 -0
  57. package/dist/components/ai/stream-status.cjs +2 -0
  58. package/dist/components/ai/stream-status.cjs.map +1 -0
  59. package/dist/components/ai/stream-status.js +106 -0
  60. package/dist/components/ai/stream-status.js.map +1 -0
  61. package/dist/components/ai/suggestion.cjs +2 -0
  62. package/dist/components/ai/suggestion.cjs.map +1 -0
  63. package/dist/components/ai/suggestion.js +38 -0
  64. package/dist/components/ai/suggestion.js.map +1 -0
  65. package/dist/components/ai/task.cjs +2 -0
  66. package/dist/components/ai/task.cjs.map +1 -0
  67. package/dist/components/ai/task.js +94 -0
  68. package/dist/components/ai/task.js.map +1 -0
  69. package/dist/components/ai/tool.cjs +2 -0
  70. package/dist/components/ai/tool.cjs.map +1 -0
  71. package/dist/components/ai/tool.js +143 -0
  72. package/dist/components/ai/tool.js.map +1 -0
  73. package/dist/components/composed/Chat/Chat.cjs +2 -0
  74. package/dist/components/composed/Chat/Chat.cjs.map +1 -0
  75. package/dist/components/composed/Chat/Chat.js +167 -0
  76. package/dist/components/composed/Chat/Chat.js.map +1 -0
  77. package/dist/components/ui/code-block.cjs +4 -0
  78. package/dist/components/ui/code-block.cjs.map +1 -0
  79. package/dist/components/ui/code-block.js +306 -0
  80. package/dist/components/ui/code-block.js.map +1 -0
  81. package/dist/components/ui/progress.cjs +2 -0
  82. package/dist/components/ui/progress.cjs.map +1 -0
  83. package/dist/components/ui/progress.js +32 -0
  84. package/dist/components/ui/progress.js.map +1 -0
  85. package/dist/index.cjs +1 -1
  86. package/dist/index.css +1 -1
  87. package/dist/index.d.ts +1145 -0
  88. package/dist/index.js +574 -372
  89. package/dist/index.js.map +1 -1
  90. package/dist/index.tailwind.css +1 -1
  91. package/package.json +12 -1
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ import { Accordion as Accordion_2 } from 'radix-ui';
2
2
  import { AlertDialog as AlertDialog_2 } from 'radix-ui';
3
3
  import { AspectRatio as AspectRatio_2 } from 'radix-ui';
4
4
  import { Avatar as Avatar_2 } from 'radix-ui';
5
+ import { BundledLanguage } from 'shiki';
6
+ import { ChatStatus } from 'ai';
5
7
  import { Checkbox as Checkbox_2 } from 'radix-ui';
6
8
  import { ClassProp } from 'class-variance-authority/types';
7
9
  import { Collapsible as Collapsible_2 } from 'radix-ui';
@@ -9,6 +11,8 @@ import { ColumnDef } from '@tanstack/react-table';
9
11
  import { ColumnOrderState } from '@tanstack/react-table';
10
12
  import { Combobox as Combobox_2 } from '@base-ui/react';
11
13
  import { Command as Command_2 } from 'cmdk';
14
+ import { ComponentProps } from 'react';
15
+ import { Context as Context_2 } from 'react';
12
16
  import { ContextMenu as ContextMenu_2 } from 'radix-ui';
13
17
  import { DayButton } from 'react-day-picker';
14
18
  import { DayPicker } from 'react-day-picker';
@@ -17,31 +21,50 @@ import { default as default_3 } from 'embla-carousel-react';
17
21
  import { Dialog as Dialog_2 } from 'radix-ui';
18
22
  import { Drawer as Drawer_2 } from 'vaul';
19
23
  import { DropdownMenu as DropdownMenu_2 } from 'radix-ui';
24
+ import { DynamicToolUIPart } from 'ai';
25
+ import { ElementType } from 'react';
26
+ import { FileUIPart } from 'ai';
27
+ import { FormEvent } from 'react';
20
28
  import { HoverCard as HoverCard_2 } from 'radix-ui';
29
+ import { HTMLAttributes } from 'react';
21
30
  import { JSX } from 'react/jsx-runtime';
31
+ import { JSXElementConstructor } from 'react';
22
32
  import { Label as Label_2 } from 'radix-ui';
33
+ import { LanguageModelUsage } from 'ai';
23
34
  import { Locale } from 'react-day-picker';
24
35
  import { LucideIcon } from 'lucide-react';
36
+ import { MemoExoticComponent } from 'react';
25
37
  import { Menubar as Menubar_2 } from 'radix-ui';
26
38
  import { NavigationMenu as NavigationMenu_2 } from 'radix-ui';
27
39
  import { OnChange } from '@monaco-editor/react';
28
40
  import { OTPInput } from 'input-otp';
29
41
  import { PaginationState } from '@tanstack/react-table';
42
+ import { PropsWithChildren } from 'react';
30
43
  import { RadioGroup as RadioGroup_2 } from 'radix-ui';
31
44
  import * as React_2 from 'react';
45
+ import { ReactElement } from 'react';
46
+ import { ReactNode } from 'react';
47
+ import { ReactPortal } from 'react';
48
+ import { RefObject } from 'react';
32
49
  import * as ResizablePrimitive from 'react-resizable-panels';
33
50
  import { ScrollArea as ScrollArea_2 } from 'radix-ui';
34
51
  import { SearchEqlRequest } from '@tetrascience-npm/ts-connectors-sdk';
35
52
  import { Select as Select_2 } from 'radix-ui';
36
53
  import { Separator as Separator_2 } from 'radix-ui';
37
54
  import { Slider as Slider_2 } from 'radix-ui';
55
+ import { SourceDocumentUIPart } from 'ai';
56
+ import { StickToBottom } from 'use-stick-to-bottom';
57
+ import { Streamdown } from 'streamdown';
38
58
  import { Switch as Switch_2 } from 'radix-ui';
39
59
  import { Table as Table_2 } from '@tanstack/react-table';
40
60
  import { Tabs as Tabs_2 } from 'radix-ui';
61
+ import { ThemedToken } from 'shiki';
41
62
  import { ToasterProps } from 'sonner';
42
63
  import { Toggle as Toggle_2 } from 'radix-ui';
43
64
  import { ToggleGroup as ToggleGroup_2 } from 'radix-ui';
44
65
  import { Tooltip as Tooltip_2 } from 'radix-ui';
66
+ import { ToolUIPart } from 'ai';
67
+ import { UIMessage } from 'ai';
45
68
  import { UseEmblaCarouselType } from 'embla-carousel-react';
46
69
  import { VariantProps } from 'class-variance-authority';
47
70
  import { VisibilityState } from '@tanstack/react-table';
@@ -118,6 +141,85 @@ export declare type AreaGraphVariant = "normal" | "stacked";
118
141
 
119
142
  export declare function AspectRatio({ ...props }: React.ComponentProps<typeof AspectRatio_2.Root>): JSX.Element;
120
143
 
144
+ export declare const Attachment: ({ data, onRemove, className, children, ...props }: AttachmentProps) => JSX.Element;
145
+
146
+ declare interface AttachmentContextValue {
147
+ data: AttachmentData;
148
+ mediaCategory: AttachmentMediaCategory;
149
+ onRemove?: () => void;
150
+ variant: AttachmentVariant;
151
+ }
152
+
153
+ export declare type AttachmentData = (FileUIPart & {
154
+ id: string;
155
+ }) | (SourceDocumentUIPart & {
156
+ id: string;
157
+ });
158
+
159
+ export declare const AttachmentEmpty: ({ className, children, ...props }: AttachmentEmptyProps) => JSX.Element;
160
+
161
+ export declare type AttachmentEmptyProps = HTMLAttributes<HTMLDivElement>;
162
+
163
+ export declare const AttachmentHoverCard: ({ openDelay, closeDelay, ...props }: AttachmentHoverCardProps) => JSX.Element;
164
+
165
+ export declare const AttachmentHoverCardContent: ({ align, className, ...props }: AttachmentHoverCardContentProps) => JSX.Element;
166
+
167
+ export declare type AttachmentHoverCardContentProps = ComponentProps<typeof HoverCardContent>;
168
+
169
+ export declare type AttachmentHoverCardProps = ComponentProps<typeof HoverCard>;
170
+
171
+ export declare const AttachmentHoverCardTrigger: (props: AttachmentHoverCardTriggerProps) => JSX.Element;
172
+
173
+ export declare type AttachmentHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;
174
+
175
+ export declare const AttachmentInfo: ({ showMediaType, className, ...props }: AttachmentInfoProps) => JSX.Element | null;
176
+
177
+ export declare type AttachmentInfoProps = HTMLAttributes<HTMLDivElement> & {
178
+ showMediaType?: boolean;
179
+ };
180
+
181
+ export declare type AttachmentMediaCategory = "image" | "video" | "audio" | "document" | "source" | "unknown";
182
+
183
+ export declare const AttachmentPreview: ({ fallbackIcon, className, ...props }: AttachmentPreviewProps) => JSX.Element;
184
+
185
+ export declare type AttachmentPreviewProps = HTMLAttributes<HTMLDivElement> & {
186
+ fallbackIcon?: ReactNode;
187
+ };
188
+
189
+ export declare type AttachmentProps = HTMLAttributes<HTMLDivElement> & {
190
+ data: AttachmentData;
191
+ onRemove?: () => void;
192
+ };
193
+
194
+ export declare const AttachmentRemove: ({ label, className, children, ...props }: AttachmentRemoveProps) => JSX.Element | null;
195
+
196
+ export declare type AttachmentRemoveProps = ComponentProps<typeof Button> & {
197
+ label?: string;
198
+ };
199
+
200
+ export declare const Attachments: ({ variant, className, children, ...props }: AttachmentsProps) => JSX.Element;
201
+
202
+ export declare interface AttachmentsContext {
203
+ files: (FileUIPart & {
204
+ id: string;
205
+ })[];
206
+ add: (files: File[] | FileList) => void;
207
+ remove: (id: string) => void;
208
+ clear: () => void;
209
+ openFileDialog: () => void;
210
+ fileInputRef: RefObject<HTMLInputElement | null>;
211
+ }
212
+
213
+ declare interface AttachmentsContextValue {
214
+ variant: AttachmentVariant;
215
+ }
216
+
217
+ export declare type AttachmentsProps = HTMLAttributes<HTMLDivElement> & {
218
+ variant?: AttachmentVariant;
219
+ };
220
+
221
+ export declare type AttachmentVariant = "grid" | "inline" | "list";
222
+
121
223
  export declare function Avatar({ className, size, ...props }: React_2.ComponentProps<typeof Avatar_2.Root> & {
122
224
  size?: "default" | "sm" | "lg";
123
225
  }): JSX.Element;
@@ -325,12 +427,121 @@ declare type CarouselProps = {
325
427
  setApi?: (api: CarouselApi) => void;
326
428
  };
327
429
 
430
+ export declare const ChainOfThought: {
431
+ ({ className, defaultOpen, ...props }: ChainOfThoughtProps): JSX.Element;
432
+ displayName: string;
433
+ };
434
+
435
+ export declare const ChainOfThoughtContent: {
436
+ ({ className, ...props }: ChainOfThoughtContentProps): JSX.Element;
437
+ displayName: string;
438
+ };
439
+
440
+ export declare type ChainOfThoughtContentProps = ComponentProps<typeof CollapsibleContent>;
441
+
442
+ export declare const ChainOfThoughtImage: {
443
+ ({ src, alt, caption, className, ...props }: ChainOfThoughtImageProps): JSX.Element;
444
+ displayName: string;
445
+ };
446
+
447
+ export declare type ChainOfThoughtImageProps = ComponentProps<"figure"> & {
448
+ src: string;
449
+ alt?: string;
450
+ caption?: string;
451
+ };
452
+
453
+ export declare type ChainOfThoughtProps = ComponentProps<typeof Collapsible>;
454
+
455
+ export declare const ChainOfThoughtSource: {
456
+ ({ className, children, ...props }: ChainOfThoughtSourceProps): JSX.Element;
457
+ displayName: string;
458
+ };
459
+
460
+ export declare type ChainOfThoughtSourceProps = ComponentProps<"a">;
461
+
462
+ export declare const ChainOfThoughtSources: {
463
+ ({ className, ...props }: ChainOfThoughtSourcesProps): JSX.Element;
464
+ displayName: string;
465
+ };
466
+
467
+ export declare type ChainOfThoughtSourcesProps = ComponentProps<"div">;
468
+
469
+ export declare const ChainOfThoughtStep: {
470
+ ({ variant, className, children, ...props }: ChainOfThoughtStepProps): JSX.Element;
471
+ displayName: string;
472
+ };
473
+
474
+ export declare type ChainOfThoughtStepProps = ComponentProps<"div"> & {
475
+ /**
476
+ * Visual prefix for the step.
477
+ * - `"bullet"` — small dot (default, plain reasoning text)
478
+ * - `"search"` — magnifying-glass (web search / tool call)
479
+ * - `"image"` — image icon (image fetch / vision step)
480
+ * - ReactNode — custom icon
481
+ */
482
+ variant?: ChainOfThoughtStepVariant | ReactNode;
483
+ };
484
+
485
+ export declare type ChainOfThoughtStepVariant = "bullet" | "search" | "image";
486
+
487
+ export declare const ChainOfThoughtTrigger: {
488
+ ({ className, children, title, icon, isStreaming, ...props }: ChainOfThoughtTriggerProps): JSX.Element;
489
+ displayName: string;
490
+ };
491
+
492
+ export declare type ChainOfThoughtTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
493
+ title?: string;
494
+ icon?: ReactNode;
495
+ /** When true, renders a subtle animated dot next to the title. */
496
+ isStreaming?: boolean;
497
+ };
498
+
328
499
  /**
329
500
  * Chart color palette for consistent graph styling
330
501
  * Uses the primary graph colors from the design system
331
502
  */
332
503
  export declare const CHART_COLORS: readonly [string, string, string, string, string, string, string, string, string, string, string, string];
333
504
 
505
+ export declare const Chat: ({ initialMessages, models, defaultModel, suggestions, onSend, className, }: ChatProps) => JSX.Element;
506
+
507
+ export declare interface ChatMessage {
508
+ id: string;
509
+ role: "user" | "assistant";
510
+ content: string;
511
+ /** Displayed in a collapsible Reasoning panel above the message content. */
512
+ reasoning?: string;
513
+ /** Web sources used to produce this message. */
514
+ sources?: ChatSource[];
515
+ /** Multiple alternative responses (for branching). When provided, the
516
+ * array should include `content` as one of its items. */
517
+ branches?: string[];
518
+ }
519
+
520
+ export declare interface ChatModel {
521
+ id: string;
522
+ name: string;
523
+ }
524
+
525
+ export declare interface ChatProps {
526
+ /** Initial messages to pre-populate the conversation. */
527
+ initialMessages?: ChatMessage[];
528
+ /** Available models shown in the model-selector dropdown. */
529
+ models?: ChatModel[];
530
+ /** Initial model id. Defaults to the first model in `models`. */
531
+ defaultModel?: string;
532
+ /** Suggestion chips shown when the conversation is empty. */
533
+ suggestions?: string[];
534
+ /** Called when the user submits a message. The returned string (if any)
535
+ * will be appended as the assistant's reply. Defaults to a no-op. */
536
+ onSend?: (message: string, model: string) => Promise<string | undefined> | string | undefined;
537
+ className?: string;
538
+ }
539
+
540
+ export declare interface ChatSource {
541
+ href: string;
542
+ title: string;
543
+ }
544
+
334
545
  export declare function Checkbox({ className, ...props }: React_2.ComponentProps<typeof Checkbox_2.Root>): JSX.Element;
335
546
 
336
547
  export declare const Chromatogram: default_2.FC<ChromatogramProps>;
@@ -426,6 +637,60 @@ export declare interface ChromatogramSeries {
426
637
  metadata?: Record<string, unknown>;
427
638
  }
428
639
 
640
+ export declare const CodeBlock: ({ code, language, showLineNumbers, className, children, ...props }: CodeBlockProps) => JSX.Element;
641
+
642
+ export declare const CodeBlockActions: ({ children, className, ...props }: HTMLAttributes<HTMLDivElement>) => JSX.Element;
643
+
644
+ export declare const CodeBlockContainer: ({ className, language, style, ...props }: HTMLAttributes<HTMLDivElement> & {
645
+ language: string;
646
+ }) => JSX.Element;
647
+
648
+ export declare const CodeBlockContent: ({ code, language, showLineNumbers, }: {
649
+ code: string;
650
+ language: BundledLanguage;
651
+ showLineNumbers?: boolean;
652
+ }) => JSX.Element;
653
+
654
+ export declare const CodeBlockCopyButton: ({ onCopy, onError, timeout, children, className, ...props }: CodeBlockCopyButtonProps) => JSX.Element;
655
+
656
+ export declare type CodeBlockCopyButtonProps = ComponentProps<typeof Button> & {
657
+ onCopy?: () => void;
658
+ onError?: (error: Error) => void;
659
+ timeout?: number;
660
+ };
661
+
662
+ export declare const CodeBlockFilename: ({ children, className, ...props }: HTMLAttributes<HTMLSpanElement>) => JSX.Element;
663
+
664
+ export declare const CodeBlockHeader: ({ children, className, ...props }: HTMLAttributes<HTMLDivElement>) => JSX.Element;
665
+
666
+ export declare const CodeBlockLanguageSelector: (props: CodeBlockLanguageSelectorProps) => JSX.Element;
667
+
668
+ export declare const CodeBlockLanguageSelectorContent: ({ align, ...props }: CodeBlockLanguageSelectorContentProps) => JSX.Element;
669
+
670
+ export declare type CodeBlockLanguageSelectorContentProps = ComponentProps<typeof SelectContent>;
671
+
672
+ export declare const CodeBlockLanguageSelectorItem: (props: CodeBlockLanguageSelectorItemProps) => JSX.Element;
673
+
674
+ export declare type CodeBlockLanguageSelectorItemProps = ComponentProps<typeof SelectItem>;
675
+
676
+ export declare type CodeBlockLanguageSelectorProps = ComponentProps<typeof Select>;
677
+
678
+ export declare const CodeBlockLanguageSelectorTrigger: ({ className, ...props }: CodeBlockLanguageSelectorTriggerProps) => JSX.Element;
679
+
680
+ export declare type CodeBlockLanguageSelectorTriggerProps = ComponentProps<typeof SelectTrigger>;
681
+
682
+ export declare const CodeBlockLanguageSelectorValue: (props: CodeBlockLanguageSelectorValueProps) => JSX.Element;
683
+
684
+ export declare type CodeBlockLanguageSelectorValueProps = ComponentProps<typeof SelectValue>;
685
+
686
+ declare type CodeBlockProps = HTMLAttributes<HTMLDivElement> & {
687
+ code: string;
688
+ language: BundledLanguage;
689
+ showLineNumbers?: boolean;
690
+ };
691
+
692
+ export declare const CodeBlockTitle: ({ children, className, ...props }: HTMLAttributes<HTMLDivElement>) => JSX.Element;
693
+
429
694
  export declare const CodeEditor: default_2.FC<CodeEditorProps>;
430
695
 
431
696
  export declare interface CodeEditorProps {
@@ -629,6 +894,71 @@ declare interface CommonTdpSearchProps {
629
894
  renderResults?: (props: TdpResultsRenderProps) => default_2.ReactNode;
630
895
  }
631
896
 
897
+ export declare const Confirmation: ({ className, approval, state, children, ...props }: ConfirmationProps) => JSX.Element | null;
898
+
899
+ export declare const ConfirmationAccepted: ({ children }: {
900
+ children?: ReactNode;
901
+ }) => JSX.Element | null;
902
+
903
+ export declare const ConfirmationAction: ({ className, size, ...props }: ConfirmationActionProps) => JSX.Element;
904
+
905
+ export declare type ConfirmationActionProps = ComponentProps<typeof Button>;
906
+
907
+ export declare const ConfirmationActions: ({ className, ...props }: ConfirmationActionsProps) => JSX.Element | null;
908
+
909
+ export declare type ConfirmationActionsProps = ComponentProps<"div">;
910
+
911
+ export declare const ConfirmationCode: ({ className, children, ...props }: ConfirmationCodeProps) => JSX.Element;
912
+
913
+ export declare type ConfirmationCodeProps = ComponentProps<typeof CodeBlock>;
914
+
915
+ export declare type ConfirmationProps = ComponentProps<"div"> & {
916
+ approval?: ToolUIPartApproval;
917
+ state: ToolUIPart["state"];
918
+ };
919
+
920
+ export declare const ConfirmationRejected: ({ children }: {
921
+ children?: ReactNode;
922
+ }) => JSX.Element | null;
923
+
924
+ export declare const ConfirmationRequest: ({ children }: {
925
+ children?: ReactNode;
926
+ }) => JSX.Element | null;
927
+
928
+ export declare const ConfirmationShortcut: ({ className, ...props }: ConfirmationShortcutProps) => JSX.Element;
929
+
930
+ export declare type ConfirmationShortcutProps = ComponentProps<typeof Kbd>;
931
+
932
+ export declare const ConfirmationTitle: ({ className, children, ...props }: ConfirmationTitleProps) => JSX.Element;
933
+
934
+ export declare type ConfirmationTitleProps = PropsWithChildren<ComponentProps<"h3">>;
935
+
936
+ export declare const Context: ({ usedTokens, maxTokens, usage, cost, ...props }: ContextProps) => JSX.Element;
937
+
938
+ export declare const ContextCacheUsage: ({ className, children, ...props }: ContextCacheUsageProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null;
939
+
940
+ export declare type ContextCacheUsageProps = ComponentProps<"div">;
941
+
942
+ export declare const ContextContent: ({ className, ...props }: ContextContentProps) => JSX.Element;
943
+
944
+ export declare const ContextContentBody: ({ children, className, ...props }: ContextContentBodyProps) => JSX.Element;
945
+
946
+ export declare type ContextContentBodyProps = ComponentProps<"div">;
947
+
948
+ export declare const ContextContentFooter: ({ children, className, ...props }: ContextContentFooterProps) => JSX.Element;
949
+
950
+ export declare type ContextContentFooterProps = ComponentProps<"div">;
951
+
952
+ export declare const ContextContentHeader: ({ children, className, ...props }: ContextContentHeaderProps) => JSX.Element;
953
+
954
+ export declare type ContextContentHeaderProps = ComponentProps<"div">;
955
+
956
+ export declare type ContextContentProps = ComponentProps<typeof HoverCardContent>;
957
+
958
+ export declare const ContextInputUsage: ({ className, children, ...props }: ContextInputUsageProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null;
959
+
960
+ export declare type ContextInputUsageProps = ComponentProps<"div">;
961
+
632
962
  export declare function ContextMenu({ ...props }: React_2.ComponentProps<typeof ContextMenu_2.Root>): JSX.Element;
633
963
 
634
964
  export declare function ContextMenuCheckboxItem({ className, children, checked, inset, ...props }: React_2.ComponentProps<typeof ContextMenu_2.CheckboxItem> & {
@@ -672,6 +1002,65 @@ export declare function ContextMenuSubTrigger({ className, inset, children, ...p
672
1002
 
673
1003
  export declare function ContextMenuTrigger({ className, ...props }: React_2.ComponentProps<typeof ContextMenu_2.Trigger>): JSX.Element;
674
1004
 
1005
+ export declare const ContextOutputUsage: ({ className, children, ...props }: ContextOutputUsageProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null;
1006
+
1007
+ export declare type ContextOutputUsageProps = ComponentProps<"div">;
1008
+
1009
+ export declare type ContextProps = ComponentProps<typeof HoverCard> & ContextSchema;
1010
+
1011
+ export declare const ContextReasoningUsage: ({ className, children, ...props }: ContextReasoningUsageProps) => string | number | bigint | true | Iterable<ReactNode> | Promise<string | number | bigint | boolean | ReactPortal | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | JSX.Element | null;
1012
+
1013
+ export declare type ContextReasoningUsageProps = ComponentProps<"div">;
1014
+
1015
+ declare interface ContextSchema {
1016
+ usedTokens: number;
1017
+ maxTokens: number;
1018
+ usage?: LanguageModelUsage;
1019
+ cost?: CostBreakdown;
1020
+ }
1021
+
1022
+ export declare const ContextTrigger: ({ children, showPercentage, ...props }: ContextTriggerProps) => JSX.Element;
1023
+
1024
+ export declare type ContextTriggerProps = ComponentProps<typeof Button> & {
1025
+ showPercentage?: boolean;
1026
+ };
1027
+
1028
+ export declare const Conversation: ({ className, ...props }: ConversationProps) => JSX.Element;
1029
+
1030
+ export declare const ConversationContent: ({ className, ...props }: ConversationContentProps) => JSX.Element;
1031
+
1032
+ export declare type ConversationContentProps = ComponentProps<typeof StickToBottom.Content>;
1033
+
1034
+ export declare const ConversationDownload: ({ messages, filename, formatMessage, className, children, ...props }: ConversationDownloadProps) => JSX.Element;
1035
+
1036
+ export declare type ConversationDownloadProps = Omit<ComponentProps<typeof Button>, "onClick"> & {
1037
+ messages: UIMessage[];
1038
+ filename?: string;
1039
+ formatMessage?: (message: UIMessage, index: number) => string;
1040
+ };
1041
+
1042
+ export declare const ConversationEmptyState: ({ className, title, description, icon, children, ...props }: ConversationEmptyStateProps) => JSX.Element;
1043
+
1044
+ export declare type ConversationEmptyStateProps = ComponentProps<"div"> & {
1045
+ title?: string;
1046
+ description?: string;
1047
+ icon?: React.ReactNode;
1048
+ };
1049
+
1050
+ export declare type ConversationProps = ComponentProps<typeof StickToBottom>;
1051
+
1052
+ export declare const ConversationScrollButton: ({ className, ...props }: ConversationScrollButtonProps) => false | JSX.Element;
1053
+
1054
+ export declare type ConversationScrollButtonProps = ComponentProps<typeof Button>;
1055
+
1056
+ export declare interface CostBreakdown {
1057
+ total?: number;
1058
+ input?: number;
1059
+ output?: number;
1060
+ reasoning?: number;
1061
+ cache?: number;
1062
+ }
1063
+
675
1064
  export declare function DataAppShell({ appName, appFullName, appIcon, version, navGroups, onAppNameClick, backToPlatformPath, onBackToPlatform, userMenu, breadcrumbs, onHelpClick, headerActions, sidebarPanel, children, className, }: DataAppShellProps): JSX.Element;
676
1065
 
677
1066
  export declare interface DataAppShellProps {
@@ -892,6 +1281,12 @@ declare const fieldVariants: (props?: ({
892
1281
  orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
893
1282
  } & ClassProp) | undefined) => string;
894
1283
 
1284
+ export declare const getAttachmentLabel: (data: AttachmentData) => string;
1285
+
1286
+ export declare const getMediaCategory: (data: AttachmentData) => AttachmentMediaCategory;
1287
+
1288
+ export declare const getStatusBadge: (status: ToolPart["state"]) => JSX.Element;
1289
+
895
1290
  /**
896
1291
  * TDP Navigation Utilities
897
1292
  *
@@ -954,6 +1349,8 @@ export declare interface HeatmapProps {
954
1349
  valueUnit?: string;
955
1350
  }
956
1351
 
1352
+ export declare const highlightCode: (code: string, language: BundledLanguage, callback?: (result: TokenizedCode) => void) => TokenizedCode | null;
1353
+
957
1354
  export declare const Histogram: default_2.FC<HistogramProps>;
958
1355
 
959
1356
  export declare interface HistogramDataSeries {
@@ -988,6 +1385,68 @@ export declare function HoverCardContent({ className, align, sideOffset, ...prop
988
1385
 
989
1386
  export declare function HoverCardTrigger({ ...props }: React_2.ComponentProps<typeof HoverCard_2.Trigger>): JSX.Element;
990
1387
 
1388
+ export declare const InlineCitation: ({ className, ...props }: InlineCitationProps) => JSX.Element;
1389
+
1390
+ export declare const InlineCitationCard: (props: InlineCitationCardProps) => JSX.Element;
1391
+
1392
+ export declare const InlineCitationCardBody: ({ className, ...props }: InlineCitationCardBodyProps) => JSX.Element;
1393
+
1394
+ export declare type InlineCitationCardBodyProps = ComponentProps<"div">;
1395
+
1396
+ export declare type InlineCitationCardProps = ComponentProps<typeof HoverCard>;
1397
+
1398
+ export declare const InlineCitationCardTrigger: ({ sources, className, ...props }: InlineCitationCardTriggerProps) => JSX.Element;
1399
+
1400
+ export declare type InlineCitationCardTriggerProps = ComponentProps<typeof Badge> & {
1401
+ sources: string[];
1402
+ };
1403
+
1404
+ export declare const InlineCitationCarousel: ({ className, children, ...props }: InlineCitationCarouselProps) => JSX.Element;
1405
+
1406
+ export declare const InlineCitationCarouselContent: (props: InlineCitationCarouselContentProps) => JSX.Element;
1407
+
1408
+ export declare type InlineCitationCarouselContentProps = ComponentProps<"div">;
1409
+
1410
+ export declare const InlineCitationCarouselHeader: ({ className, ...props }: InlineCitationCarouselHeaderProps) => JSX.Element;
1411
+
1412
+ export declare type InlineCitationCarouselHeaderProps = ComponentProps<"div">;
1413
+
1414
+ export declare const InlineCitationCarouselIndex: ({ children, className, ...props }: InlineCitationCarouselIndexProps) => JSX.Element;
1415
+
1416
+ export declare type InlineCitationCarouselIndexProps = ComponentProps<"div">;
1417
+
1418
+ export declare const InlineCitationCarouselItem: ({ className, ...props }: InlineCitationCarouselItemProps) => JSX.Element;
1419
+
1420
+ export declare type InlineCitationCarouselItemProps = ComponentProps<"div">;
1421
+
1422
+ export declare const InlineCitationCarouselNext: ({ className, ...props }: InlineCitationCarouselNextProps) => JSX.Element;
1423
+
1424
+ export declare type InlineCitationCarouselNextProps = ComponentProps<"button">;
1425
+
1426
+ export declare const InlineCitationCarouselPrev: ({ className, ...props }: InlineCitationCarouselPrevProps) => JSX.Element;
1427
+
1428
+ export declare type InlineCitationCarouselPrevProps = ComponentProps<"button">;
1429
+
1430
+ export declare type InlineCitationCarouselProps = ComponentProps<typeof Carousel>;
1431
+
1432
+ export declare type InlineCitationProps = ComponentProps<"span">;
1433
+
1434
+ export declare const InlineCitationQuote: ({ children, className, ...props }: InlineCitationQuoteProps) => JSX.Element;
1435
+
1436
+ export declare type InlineCitationQuoteProps = ComponentProps<"blockquote">;
1437
+
1438
+ export declare const InlineCitationSource: ({ title, url, description, className, children, ...props }: InlineCitationSourceProps) => JSX.Element;
1439
+
1440
+ export declare type InlineCitationSourceProps = ComponentProps<"div"> & {
1441
+ title?: string;
1442
+ url?: string;
1443
+ description?: string;
1444
+ };
1445
+
1446
+ export declare const InlineCitationText: ({ className, ...props }: InlineCitationTextProps) => JSX.Element;
1447
+
1448
+ export declare type InlineCitationTextProps = ComponentProps<"span">;
1449
+
991
1450
  export declare function Input({ className, type, ...props }: React_2.ComponentProps<"input">): JSX.Element;
992
1451
 
993
1452
  export declare function InputGroup({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
@@ -1173,6 +1632,8 @@ export declare type LineGraphProps = {
1173
1632
 
1174
1633
  export declare type LineGraphVariant = "lines" | "lines+markers" | "lines+markers+error_bars";
1175
1634
 
1635
+ export declare const LocalReferencedSourcesContext: Context_2<ReferencedSourcesContext | null>;
1636
+
1176
1637
  export declare type MarkerSymbol = "circle" | "circle-open" | "circle-dot" | "circle-open-dot" | "square" | "square-open" | "square-dot" | "square-open-dot" | "diamond" | "diamond-open" | "diamond-dot" | "diamond-open-dot" | "cross" | "cross-open" | "cross-dot" | "cross-open-dot" | "x" | "x-open" | "x-dot" | "x-open-dot" | "triangle-up" | "triangle-up-open" | "triangle-up-dot" | "triangle-up-open-dot" | "triangle-down" | "triangle-down-open" | "triangle-down-dot" | "triangle-down-open-dot" | "triangle-left" | "triangle-left-open" | "triangle-left-dot" | "triangle-left-open-dot" | "triangle-right" | "triangle-right-open" | "triangle-right-dot" | "triangle-right-open-dot" | "triangle-ne" | "triangle-ne-open" | "triangle-ne-dot" | "triangle-ne-open-dot" | "triangle-se" | "triangle-se-open" | "triangle-se-dot" | "triangle-se-open-dot" | "triangle-sw" | "triangle-sw-open" | "triangle-sw-dot" | "triangle-sw-open-dot" | "triangle-nw" | "triangle-nw-open" | "triangle-nw-dot" | "triangle-nw-open-dot" | "pentagon" | "pentagon-open" | "pentagon-dot" | "pentagon-open-dot" | "hexagon" | "hexagon-open" | "hexagon-dot" | "hexagon-open-dot" | "hexagon2" | "hexagon2-open" | "hexagon2-dot" | "hexagon2-open-dot" | "octagon" | "octagon-open" | "octagon-dot" | "octagon-open-dot" | "star" | "star-open" | "star-dot" | "star-open-dot" | "hexagram" | "hexagram-open" | "hexagram-dot" | "hexagram-open-dot" | "star-triangle-up" | "star-triangle-up-open" | "star-triangle-up-dot" | "star-triangle-up-open-dot" | "star-triangle-down" | "star-triangle-down-open" | "star-triangle-down-dot" | "star-triangle-down-open-dot" | "star-square" | "star-square-open" | "star-square-dot" | "star-square-open-dot" | "star-diamond" | "star-diamond-open" | "star-diamond-dot" | "star-diamond-open-dot" | "diamond-tall" | "diamond-tall-open" | "diamond-tall-dot" | "diamond-tall-open-dot" | "diamond-wide" | "diamond-wide-open" | "diamond-wide-dot" | "diamond-wide-open-dot" | "hourglass" | "hourglass-open" | "bowtie" | "bowtie-open" | "circle-cross" | "circle-cross-open" | "circle-x" | "circle-x-open" | "square-cross" | "square-cross-open" | "square-x" | "square-x-open" | "diamond-cross" | "diamond-cross-open" | "diamond-x" | "diamond-x-open" | "cross-thin" | "cross-thin-open" | "x-thin" | "x-thin-open" | "asterisk" | "asterisk-open" | "hash" | "hash-open" | "hash-dot" | "hash-open-dot" | "y-up" | "y-up-open" | "y-down" | "y-down-open" | "y-left" | "y-left-open" | "y-right" | "y-right-open" | "line-ew" | "line-ew-open" | "line-ns" | "line-ns-open" | "line-ne" | "line-ne-open" | "line-nw" | "line-nw-open" | "arrow" | "arrow-open" | "arrow-wide" | "arrow-wide-open";
1177
1638
 
1178
1639
  declare type MarkerSymbol_2 = "circle" | "square" | "diamond" | "triangle-up" | "triangle-down" | "star";
@@ -1220,6 +1681,124 @@ export declare function MenubarSubTrigger({ className, inset, children, ...props
1220
1681
 
1221
1682
  export declare function MenubarTrigger({ className, ...props }: React_2.ComponentProps<typeof Menubar_2.Trigger>): JSX.Element;
1222
1683
 
1684
+ export declare const Message: ({ className, from, ...props }: MessageProps) => JSX.Element;
1685
+
1686
+ export declare const MessageAction: ({ tooltip, children, label, variant, size, ...props }: MessageActionProps) => JSX.Element;
1687
+
1688
+ export declare type MessageActionProps = ComponentProps<typeof Button> & {
1689
+ tooltip?: string;
1690
+ label?: string;
1691
+ };
1692
+
1693
+ export declare const MessageActions: ({ className, children, ...props }: MessageActionsProps) => JSX.Element;
1694
+
1695
+ export declare type MessageActionsProps = ComponentProps<"div">;
1696
+
1697
+ export declare const MessageBranch: ({ defaultBranch, onBranchChange, className, ...props }: MessageBranchProps) => JSX.Element;
1698
+
1699
+ export declare const MessageBranchContent: ({ children, ...props }: MessageBranchContentProps) => JSX.Element[];
1700
+
1701
+ export declare type MessageBranchContentProps = HTMLAttributes<HTMLDivElement>;
1702
+
1703
+ export declare const MessageBranchNext: ({ children, ...props }: MessageBranchNextProps) => JSX.Element;
1704
+
1705
+ export declare type MessageBranchNextProps = ComponentProps<typeof Button>;
1706
+
1707
+ export declare const MessageBranchPage: ({ className, ...props }: MessageBranchPageProps) => JSX.Element;
1708
+
1709
+ export declare type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
1710
+
1711
+ export declare const MessageBranchPrevious: ({ children, ...props }: MessageBranchPreviousProps) => JSX.Element;
1712
+
1713
+ export declare type MessageBranchPreviousProps = ComponentProps<typeof Button>;
1714
+
1715
+ export declare type MessageBranchProps = HTMLAttributes<HTMLDivElement> & {
1716
+ defaultBranch?: number;
1717
+ onBranchChange?: (branchIndex: number) => void;
1718
+ };
1719
+
1720
+ export declare const MessageBranchSelector: ({ className, ...props }: MessageBranchSelectorProps) => JSX.Element | null;
1721
+
1722
+ export declare type MessageBranchSelectorProps = ComponentProps<typeof ButtonGroup>;
1723
+
1724
+ export declare const MessageContent: ({ children, className, ...props }: MessageContentProps) => JSX.Element;
1725
+
1726
+ export declare type MessageContentProps = HTMLAttributes<HTMLDivElement>;
1727
+
1728
+ export declare type MessageProps = HTMLAttributes<HTMLDivElement> & {
1729
+ from: UIMessage["role"];
1730
+ };
1731
+
1732
+ export declare const MessageResponse: MemoExoticComponent<({ className, ...props }: MessageResponseProps) => JSX.Element>;
1733
+
1734
+ export declare type MessageResponseProps = ComponentProps<typeof Streamdown>;
1735
+
1736
+ export declare const messagesToMarkdown: (messages: UIMessage[], formatMessage?: (message: UIMessage, index: number) => string) => string;
1737
+
1738
+ export declare const MessageToolbar: ({ className, children, ...props }: MessageToolbarProps) => JSX.Element;
1739
+
1740
+ export declare type MessageToolbarProps = ComponentProps<"div">;
1741
+
1742
+ export declare const ModelSelector: (props: ModelSelectorProps) => JSX.Element;
1743
+
1744
+ export declare const ModelSelectorContent: ({ className, children, title, ...props }: ModelSelectorContentProps) => JSX.Element;
1745
+
1746
+ export declare type ModelSelectorContentProps = ComponentProps<typeof DialogContent> & {
1747
+ title?: ReactNode;
1748
+ };
1749
+
1750
+ export declare const ModelSelectorDialog: (props: ModelSelectorDialogProps) => JSX.Element;
1751
+
1752
+ export declare type ModelSelectorDialogProps = ComponentProps<typeof CommandDialog>;
1753
+
1754
+ export declare const ModelSelectorEmpty: (props: ModelSelectorEmptyProps) => JSX.Element;
1755
+
1756
+ export declare type ModelSelectorEmptyProps = ComponentProps<typeof CommandEmpty>;
1757
+
1758
+ export declare const ModelSelectorGroup: (props: ModelSelectorGroupProps) => JSX.Element;
1759
+
1760
+ export declare type ModelSelectorGroupProps = ComponentProps<typeof CommandGroup>;
1761
+
1762
+ export declare const ModelSelectorInput: ({ className, ...props }: ModelSelectorInputProps) => JSX.Element;
1763
+
1764
+ export declare type ModelSelectorInputProps = ComponentProps<typeof CommandInput>;
1765
+
1766
+ export declare const ModelSelectorItem: (props: ModelSelectorItemProps) => JSX.Element;
1767
+
1768
+ export declare type ModelSelectorItemProps = ComponentProps<typeof CommandItem>;
1769
+
1770
+ export declare const ModelSelectorList: (props: ModelSelectorListProps) => JSX.Element;
1771
+
1772
+ export declare type ModelSelectorListProps = ComponentProps<typeof CommandList>;
1773
+
1774
+ export declare const ModelSelectorLogo: ({ provider, className, ...props }: ModelSelectorLogoProps) => JSX.Element;
1775
+
1776
+ export declare const ModelSelectorLogoGroup: ({ className, ...props }: ModelSelectorLogoGroupProps) => JSX.Element;
1777
+
1778
+ export declare type ModelSelectorLogoGroupProps = ComponentProps<"div">;
1779
+
1780
+ export declare type ModelSelectorLogoProps = Omit<ComponentProps<"img">, "src" | "alt"> & {
1781
+ provider: "moonshotai-cn" | "lucidquery" | "moonshotai" | "zai-coding-plan" | "alibaba" | "xai" | "vultr" | "nvidia" | "upstage" | "groq" | "github-copilot" | "mistral" | "vercel" | "nebius" | "deepseek" | "alibaba-cn" | "google-vertex-anthropic" | "venice" | "chutes" | "cortecs" | "github-models" | "togetherai" | "azure" | "baseten" | "huggingface" | "opencode" | "fastrouter" | "google" | "google-vertex" | "cloudflare-workers-ai" | "inception" | "wandb" | "openai" | "zhipuai-coding-plan" | "perplexity" | "openrouter" | "zenmux" | "v0" | "iflowcn" | "synthetic" | "deepinfra" | "zhipuai" | "submodel" | "zai" | "inference" | "requesty" | "morph" | "lmstudio" | "anthropic" | "aihubmix" | "fireworks-ai" | "modelscope" | "llama" | "scaleway" | "amazon-bedrock" | "cerebras" | (string & {});
1782
+ };
1783
+
1784
+ export declare const ModelSelectorName: ({ className, ...props }: ModelSelectorNameProps) => JSX.Element;
1785
+
1786
+ export declare type ModelSelectorNameProps = ComponentProps<"span">;
1787
+
1788
+ export declare type ModelSelectorProps = ComponentProps<typeof Dialog>;
1789
+
1790
+ export declare const ModelSelectorSeparator: (props: ModelSelectorSeparatorProps) => JSX.Element;
1791
+
1792
+ export declare type ModelSelectorSeparatorProps = ComponentProps<typeof CommandSeparator>;
1793
+
1794
+ export declare const ModelSelectorShortcut: ({ className, ...props }: ModelSelectorShortcutProps) => JSX.Element;
1795
+
1796
+ export declare type ModelSelectorShortcutProps = ComponentProps<typeof Kbd>;
1797
+
1798
+ export declare const ModelSelectorTrigger: (props: ModelSelectorTriggerProps) => JSX.Element;
1799
+
1800
+ export declare type ModelSelectorTriggerProps = ComponentProps<typeof DialogTrigger>;
1801
+
1223
1802
  export declare interface NavGroup {
1224
1803
  /** Optional group label shown as a section header in expanded nav */
1225
1804
  label?: string;
@@ -1511,10 +2090,347 @@ declare interface PlateRegion {
1511
2090
  fillColor?: string;
1512
2091
  }
1513
2092
 
2093
+ export declare const PromptInput: ({ className, accept, multiple, globalDrop, syncHiddenInput, maxFiles, maxFileSize, onError, onSubmit, children, ...props }: PromptInputProps) => JSX.Element;
2094
+
2095
+ export declare const PromptInputActionAddAttachments: ({ label, ...props }: PromptInputActionAddAttachmentsProps) => JSX.Element;
2096
+
2097
+ export declare type PromptInputActionAddAttachmentsProps = ComponentProps<typeof DropdownMenuItem> & {
2098
+ label?: string;
2099
+ };
2100
+
2101
+ export declare const PromptInputActionAddScreenshot: ({ label, onSelect, ...props }: PromptInputActionAddScreenshotProps) => JSX.Element;
2102
+
2103
+ export declare type PromptInputActionAddScreenshotProps = ComponentProps<typeof DropdownMenuItem> & {
2104
+ label?: string;
2105
+ };
2106
+
2107
+ export declare const PromptInputActionMenu: (props: PromptInputActionMenuProps) => JSX.Element;
2108
+
2109
+ export declare const PromptInputActionMenuContent: ({ className, ...props }: PromptInputActionMenuContentProps) => JSX.Element;
2110
+
2111
+ export declare type PromptInputActionMenuContentProps = ComponentProps<typeof DropdownMenuContent>;
2112
+
2113
+ export declare const PromptInputActionMenuItem: ({ className, ...props }: PromptInputActionMenuItemProps) => JSX.Element;
2114
+
2115
+ export declare type PromptInputActionMenuItemProps = ComponentProps<typeof DropdownMenuItem>;
2116
+
2117
+ export declare type PromptInputActionMenuProps = ComponentProps<typeof DropdownMenu>;
2118
+
2119
+ export declare const PromptInputActionMenuTrigger: ({ className, children, tooltip, "aria-label": ariaLabel, ...props }: PromptInputActionMenuTriggerProps) => JSX.Element;
2120
+
2121
+ export declare type PromptInputActionMenuTriggerProps = PromptInputButtonProps;
2122
+
2123
+ export declare const PromptInputBody: ({ className, ...props }: PromptInputBodyProps) => JSX.Element;
2124
+
2125
+ export declare type PromptInputBodyProps = HTMLAttributes<HTMLDivElement>;
2126
+
2127
+ export declare const PromptInputButton: ({ variant, className, size, tooltip, ...props }: PromptInputButtonProps) => JSX.Element;
2128
+
2129
+ export declare type PromptInputButtonProps = ComponentProps<typeof InputGroupButton> & {
2130
+ tooltip?: PromptInputButtonTooltip;
2131
+ };
2132
+
2133
+ export declare type PromptInputButtonTooltip = string | {
2134
+ content: ReactNode;
2135
+ shortcut?: string;
2136
+ side?: ComponentProps<typeof TooltipContent>["side"];
2137
+ };
2138
+
2139
+ export declare const PromptInputCommand: ({ className, ...props }: PromptInputCommandProps) => JSX.Element;
2140
+
2141
+ export declare const PromptInputCommandEmpty: ({ className, ...props }: PromptInputCommandEmptyProps) => JSX.Element;
2142
+
2143
+ export declare type PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;
2144
+
2145
+ export declare const PromptInputCommandGroup: ({ className, ...props }: PromptInputCommandGroupProps) => JSX.Element;
2146
+
2147
+ export declare type PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;
2148
+
2149
+ export declare const PromptInputCommandInput: ({ className, ...props }: PromptInputCommandInputProps) => JSX.Element;
2150
+
2151
+ export declare type PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;
2152
+
2153
+ export declare const PromptInputCommandItem: ({ className, ...props }: PromptInputCommandItemProps) => JSX.Element;
2154
+
2155
+ export declare type PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;
2156
+
2157
+ export declare const PromptInputCommandList: ({ className, ...props }: PromptInputCommandListProps) => JSX.Element;
2158
+
2159
+ export declare type PromptInputCommandListProps = ComponentProps<typeof CommandList>;
2160
+
2161
+ export declare type PromptInputCommandProps = ComponentProps<typeof Command>;
2162
+
2163
+ export declare const PromptInputCommandSeparator: ({ className, ...props }: PromptInputCommandSeparatorProps) => JSX.Element;
2164
+
2165
+ export declare type PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;
2166
+
2167
+ export declare interface PromptInputControllerProps {
2168
+ textInput: TextInputContext;
2169
+ attachments: AttachmentsContext;
2170
+ /** INTERNAL: Allows PromptInput to register its file textInput + "open" callback */
2171
+ __registerFileInput: (ref: RefObject<HTMLInputElement | null>, open: () => void) => void;
2172
+ }
2173
+
2174
+ export declare const PromptInputFooter: ({ className, ...props }: PromptInputFooterProps) => JSX.Element;
2175
+
2176
+ export declare type PromptInputFooterProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
2177
+
2178
+ export declare const PromptInputHeader: ({ className, ...props }: PromptInputHeaderProps) => JSX.Element;
2179
+
2180
+ export declare type PromptInputHeaderProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
2181
+
2182
+ export declare const PromptInputHoverCard: ({ openDelay, closeDelay, ...props }: PromptInputHoverCardProps) => JSX.Element;
2183
+
2184
+ export declare const PromptInputHoverCardContent: ({ align, ...props }: PromptInputHoverCardContentProps) => JSX.Element;
2185
+
2186
+ export declare type PromptInputHoverCardContentProps = ComponentProps<typeof HoverCardContent>;
2187
+
2188
+ export declare type PromptInputHoverCardProps = ComponentProps<typeof HoverCard>;
2189
+
2190
+ export declare const PromptInputHoverCardTrigger: (props: PromptInputHoverCardTriggerProps) => JSX.Element;
2191
+
2192
+ export declare type PromptInputHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;
2193
+
2194
+ export declare interface PromptInputMessage {
2195
+ text: string;
2196
+ files: FileUIPart[];
2197
+ }
2198
+
2199
+ export declare type PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, "onSubmit" | "onError"> & {
2200
+ accept?: string;
2201
+ multiple?: boolean;
2202
+ globalDrop?: boolean;
2203
+ syncHiddenInput?: boolean;
2204
+ maxFiles?: number;
2205
+ maxFileSize?: number;
2206
+ onError?: (err: {
2207
+ code: "max_files" | "max_file_size" | "accept";
2208
+ message: string;
2209
+ }) => void;
2210
+ onSubmit: (message: PromptInputMessage, event: FormEvent<HTMLFormElement>) => void | Promise<void>;
2211
+ };
2212
+
2213
+ /**
2214
+ * Optional global provider that lifts PromptInput state outside of PromptInput.
2215
+ * If you don't use it, PromptInput stays fully self-managed.
2216
+ */
2217
+ export declare const PromptInputProvider: ({ initialInput: initialTextInput, children, }: PromptInputProviderProps) => JSX.Element;
2218
+
2219
+ export declare type PromptInputProviderProps = PropsWithChildren<{
2220
+ initialInput?: string;
2221
+ }>;
2222
+
2223
+ export declare const PromptInputSelect: (props: PromptInputSelectProps) => JSX.Element;
2224
+
2225
+ export declare const PromptInputSelectContent: ({ className, ...props }: PromptInputSelectContentProps) => JSX.Element;
2226
+
2227
+ export declare type PromptInputSelectContentProps = ComponentProps<typeof SelectContent>;
2228
+
2229
+ export declare const PromptInputSelectItem: ({ className, ...props }: PromptInputSelectItemProps) => JSX.Element;
2230
+
2231
+ export declare type PromptInputSelectItemProps = ComponentProps<typeof SelectItem>;
2232
+
2233
+ export declare type PromptInputSelectProps = ComponentProps<typeof Select>;
2234
+
2235
+ export declare const PromptInputSelectTrigger: ({ className, ...props }: PromptInputSelectTriggerProps) => JSX.Element;
2236
+
2237
+ export declare type PromptInputSelectTriggerProps = ComponentProps<typeof SelectTrigger>;
2238
+
2239
+ export declare const PromptInputSelectValue: ({ className, ...props }: PromptInputSelectValueProps) => JSX.Element;
2240
+
2241
+ export declare type PromptInputSelectValueProps = ComponentProps<typeof SelectValue>;
2242
+
2243
+ export declare const PromptInputSlotSwap: ({ a, b, show, className, }: PromptInputSlotSwapProps) => JSX.Element;
2244
+
2245
+ export declare type PromptInputSlotSwapProps = {
2246
+ /** Shown when show=false (e.g. mic button). */
2247
+ a: ReactNode;
2248
+ /** Shown when show=true (e.g. submit button). */
2249
+ b: ReactNode;
2250
+ /** When true, b is visible; when false, a is visible. */
2251
+ show: boolean;
2252
+ className?: string;
2253
+ };
2254
+
2255
+ export declare const PromptInputSubmit: ({ className, variant, size, status, onStop, onClick, children, ...props }: PromptInputSubmitProps) => JSX.Element;
2256
+
2257
+ export declare type PromptInputSubmitProps = ComponentProps<typeof InputGroupButton> & {
2258
+ status?: ChatStatus;
2259
+ onStop?: () => void;
2260
+ };
2261
+
2262
+ export declare const PromptInputTab: ({ className, ...props }: PromptInputTabProps) => JSX.Element;
2263
+
2264
+ export declare const PromptInputTabBody: ({ className, ...props }: PromptInputTabBodyProps) => JSX.Element;
2265
+
2266
+ export declare type PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;
2267
+
2268
+ export declare const PromptInputTabItem: ({ className, ...props }: PromptInputTabItemProps) => JSX.Element;
2269
+
2270
+ export declare type PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;
2271
+
2272
+ export declare const PromptInputTabLabel: ({ className, children, ...props }: PromptInputTabLabelProps) => JSX.Element;
2273
+
2274
+ export declare type PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;
2275
+
2276
+ export declare type PromptInputTabProps = HTMLAttributes<HTMLDivElement>;
2277
+
2278
+ export declare const PromptInputTabsList: ({ className, ...props }: PromptInputTabsListProps) => JSX.Element;
2279
+
2280
+ export declare type PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;
2281
+
2282
+ export declare const PromptInputTextarea: ({ onChange, onKeyDown, className, placeholder, ...props }: PromptInputTextareaProps) => JSX.Element;
2283
+
2284
+ export declare type PromptInputTextareaProps = ComponentProps<typeof InputGroupTextarea>;
2285
+
2286
+ export declare const PromptInputTools: ({ className, ...props }: PromptInputToolsProps) => JSX.Element;
2287
+
2288
+ export declare type PromptInputToolsProps = HTMLAttributes<HTMLDivElement>;
2289
+
2290
+ export declare const Queue: ({ className, isStreaming, children, style, id, ...props }: QueueProps) => JSX.Element;
2291
+
2292
+ export declare const QueueItem: ({ className, ...props }: QueueItemProps) => JSX.Element;
2293
+
2294
+ export declare const QueueItemAction: ({ className, ...props }: QueueItemActionProps) => JSX.Element;
2295
+
2296
+ export declare type QueueItemActionProps = Omit<ComponentProps<typeof Button>, "variant" | "size">;
2297
+
2298
+ export declare const QueueItemActions: ({ className, ...props }: QueueItemActionsProps) => JSX.Element;
2299
+
2300
+ export declare type QueueItemActionsProps = ComponentProps<"div">;
2301
+
2302
+ export declare const QueueItemAttachment: ({ className, ...props }: QueueItemAttachmentProps) => JSX.Element;
2303
+
2304
+ export declare type QueueItemAttachmentProps = ComponentProps<"div">;
2305
+
2306
+ export declare const QueueItemContent: ({ completed, className, ...props }: QueueItemContentProps) => JSX.Element;
2307
+
2308
+ export declare type QueueItemContentProps = ComponentProps<"span"> & {
2309
+ completed?: boolean;
2310
+ };
2311
+
2312
+ export declare const QueueItemDescription: ({ completed, className, ...props }: QueueItemDescriptionProps) => JSX.Element;
2313
+
2314
+ export declare type QueueItemDescriptionProps = ComponentProps<"div"> & {
2315
+ completed?: boolean;
2316
+ };
2317
+
2318
+ export declare const QueueItemFile: ({ children, className, ...props }: QueueItemFileProps) => JSX.Element;
2319
+
2320
+ export declare type QueueItemFileProps = ComponentProps<"span">;
2321
+
2322
+ export declare const QueueItemImage: ({ className, ...props }: QueueItemImageProps) => JSX.Element;
2323
+
2324
+ export declare type QueueItemImageProps = ComponentProps<"img">;
2325
+
2326
+ export declare const QueueItemIndicator: ({ status, completed, className, ...props }: QueueItemIndicatorProps) => JSX.Element;
2327
+
2328
+ export declare type QueueItemIndicatorProps = ComponentProps<"span"> & {
2329
+ /**
2330
+ * Visual state of the indicator dot.
2331
+ * - `pending` — unfilled muted ring
2332
+ * - `loading` — spinning ring (primary accent)
2333
+ * - `done` — filled muted dot (task complete)
2334
+ * - `error` — filled destructive dot
2335
+ */
2336
+ status?: QueueItemStatus;
2337
+ /** @deprecated Use `status="done"` instead. */
2338
+ completed?: boolean;
2339
+ };
2340
+
2341
+ export declare type QueueItemProps = ComponentProps<"li">;
2342
+
2343
+ export declare type QueueItemStatus = "pending" | "loading" | "done" | "error";
2344
+
2345
+ export declare const QueueList: ({ children, className, ...props }: QueueListProps) => JSX.Element;
2346
+
2347
+ export declare type QueueListProps = ComponentProps<typeof ScrollArea>;
2348
+
2349
+ export declare interface QueueMessage {
2350
+ id: string;
2351
+ parts: QueueMessagePart[];
2352
+ }
2353
+
2354
+ export declare interface QueueMessagePart {
2355
+ type: string;
2356
+ text?: string;
2357
+ url?: string;
2358
+ filename?: string;
2359
+ mediaType?: string;
2360
+ }
2361
+
2362
+ export declare type QueueProps = ComponentProps<"div"> & {
2363
+ isStreaming?: boolean;
2364
+ };
2365
+
2366
+ export declare const QueueSection: ({ className, defaultOpen, ...props }: QueueSectionProps) => JSX.Element;
2367
+
2368
+ export declare const QueueSectionContent: ({ className, ...props }: QueueSectionContentProps) => JSX.Element;
2369
+
2370
+ export declare type QueueSectionContentProps = ComponentProps<typeof CollapsibleContent>;
2371
+
2372
+ export declare const QueueSectionLabel: ({ count, icon, className, children, ...props }: QueueSectionLabelProps) => JSX.Element;
2373
+
2374
+ export declare type QueueSectionLabelProps = ComponentProps<"span"> & {
2375
+ count?: number;
2376
+ icon?: React.ReactNode;
2377
+ };
2378
+
2379
+ export declare type QueueSectionProps = ComponentProps<typeof Collapsible>;
2380
+
2381
+ export declare const QueueSectionTrigger: ({ children, className, ...props }: QueueSectionTriggerProps) => JSX.Element;
2382
+
2383
+ export declare type QueueSectionTriggerProps = ComponentProps<"button">;
2384
+
2385
+ export declare interface QueueTodo {
2386
+ id: string;
2387
+ title: string;
2388
+ description?: string;
2389
+ status?: "pending" | "completed";
2390
+ }
2391
+
1514
2392
  export declare function RadioGroup({ className, ...props }: React_2.ComponentProps<typeof RadioGroup_2.Root>): JSX.Element;
1515
2393
 
1516
2394
  export declare function RadioGroupItem({ className, ...props }: React_2.ComponentProps<typeof RadioGroup_2.Item>): JSX.Element;
1517
2395
 
2396
+ export declare const Reasoning: MemoExoticComponent<({ className, isStreaming, open, defaultOpen, onOpenChange, duration: durationProp, children, ...props }: ReasoningProps) => JSX.Element>;
2397
+
2398
+ export declare const ReasoningContent: MemoExoticComponent<({ className, children, ...props }: ReasoningContentProps) => JSX.Element>;
2399
+
2400
+ export declare type ReasoningContentProps = ComponentProps<typeof CollapsibleContent> & {
2401
+ children: string;
2402
+ };
2403
+
2404
+ declare interface ReasoningContextValue {
2405
+ isStreaming: boolean;
2406
+ isOpen: boolean;
2407
+ setIsOpen: (open: boolean) => void;
2408
+ duration: number | undefined;
2409
+ }
2410
+
2411
+ export declare type ReasoningProps = ComponentProps<typeof Collapsible> & {
2412
+ isStreaming?: boolean;
2413
+ open?: boolean;
2414
+ defaultOpen?: boolean;
2415
+ onOpenChange?: (open: boolean) => void;
2416
+ duration?: number;
2417
+ };
2418
+
2419
+ export declare const ReasoningTrigger: MemoExoticComponent<({ className, children, getThinkingMessage, ...props }: ReasoningTriggerProps) => JSX.Element>;
2420
+
2421
+ export declare type ReasoningTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
2422
+ getThinkingMessage?: (isStreaming: boolean, duration?: number) => ReactNode;
2423
+ };
2424
+
2425
+ export declare interface ReferencedSourcesContext {
2426
+ sources: (SourceDocumentUIPart & {
2427
+ id: string;
2428
+ })[];
2429
+ add: (sources: SourceDocumentUIPart[] | SourceDocumentUIPart) => void;
2430
+ remove: (id: string) => void;
2431
+ clear: () => void;
2432
+ }
2433
+
1518
2434
  export declare function ResizableHandle({ withHandle, className, ...props }: ResizablePrimitive.SeparatorProps & {
1519
2435
  withHandle?: boolean;
1520
2436
  }): JSX.Element;
@@ -1603,6 +2519,8 @@ export declare function SheetTitle({ className, ...props }: React_2.ComponentPro
1603
2519
 
1604
2520
  export declare function SheetTrigger({ ...props }: React_2.ComponentProps<typeof Dialog_2.Trigger>): JSX.Element;
1605
2521
 
2522
+ export declare const Shimmer: MemoExoticComponent<({ children, as: Component, className, duration, spread, gradient, }: TextShimmerProps) => JSX.Element>;
2523
+
1606
2524
  export declare function Sidebar({ side, variant, collapsible, className, children, dir, ...props }: React_2.ComponentProps<"div"> & {
1607
2525
  side?: "left" | "right";
1608
2526
  variant?: "sidebar" | "floating" | "inset";
@@ -1693,12 +2611,114 @@ export declare function Skeleton({ className, ...props }: React.ComponentProps<"
1693
2611
 
1694
2612
  export declare function Slider({ className, defaultValue, value, min, max, ...props }: React_2.ComponentProps<typeof Slider_2.Root>): JSX.Element;
1695
2613
 
2614
+ export declare const Source: ({ href, title, className, children, ...props }: SourceProps) => JSX.Element;
2615
+
2616
+ export declare type SourceProps = ComponentProps<"a">;
2617
+
2618
+ export declare const Sources: ({ className, ...props }: SourcesProps) => JSX.Element;
2619
+
2620
+ export declare const SourcesContent: ({ className, ...props }: SourcesContentProps) => JSX.Element;
2621
+
2622
+ export declare type SourcesContentProps = ComponentProps<typeof CollapsibleContent>;
2623
+
2624
+ export declare type SourcesProps = ComponentProps<"div">;
2625
+
2626
+ export declare const SourcesTrigger: ({ className, count, children, ...props }: SourcesTriggerProps) => JSX.Element;
2627
+
2628
+ export declare type SourcesTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
2629
+ count: number;
2630
+ };
2631
+
2632
+ export declare const SpeechInput: ({ className, onTranscriptionChange, onAudioRecorded, lang, ...props }: SpeechInputProps) => JSX.Element;
2633
+
2634
+ export declare type SpeechInputProps = ComponentProps<typeof Button> & {
2635
+ onTranscriptionChange?: (text: string) => void;
2636
+ /**
2637
+ * Callback for when audio is recorded using MediaRecorder fallback.
2638
+ * This is called in browsers that don't support the Web Speech API (Firefox, Safari).
2639
+ * The callback receives an audio Blob that should be sent to a transcription service.
2640
+ * Return the transcribed text, which will be passed to onTranscriptionChange.
2641
+ */
2642
+ onAudioRecorded?: (audioBlob: Blob) => Promise<string>;
2643
+ lang?: string;
2644
+ };
2645
+
1696
2646
  export declare function Spinner({ className, size, ...props }: React.ComponentProps<"svg"> & VariantProps<typeof spinnerVariants>): JSX.Element;
1697
2647
 
1698
2648
  export declare const spinnerVariants: (props?: ({
1699
2649
  size?: "default" | "sm" | "lg" | "md" | null | undefined;
1700
2650
  } & ClassProp) | undefined) => string;
1701
2651
 
2652
+ /** Built-in Lucide spinner icons that pair well with ts-spin-pulse animation. */
2653
+ export declare const STREAM_STATUS_ICONS: {
2654
+ readonly loader: JSX.Element;
2655
+ readonly "loader-circle": JSX.Element;
2656
+ readonly "loader-pinwheel": JSX.Element;
2657
+ readonly "disc-3": JSX.Element;
2658
+ };
2659
+
2660
+ export declare const StreamStatus: MemoExoticComponent<({ startTime, isStreaming, state: stateProp, showIndicator, tokenCount, tokenLabel, icon, iconVariant, className, }: StreamStatusProps) => JSX.Element>;
2661
+
2662
+ export declare type StreamStatusIconVariant = keyof typeof STREAM_STATUS_ICONS;
2663
+
2664
+ export declare interface StreamStatusProps {
2665
+ /**
2666
+ * Timestamp when streaming started (Date or epoch ms).
2667
+ * The component manages an internal 1-second ticker when set.
2668
+ */
2669
+ startTime?: Date | number;
2670
+ /** Whether streaming is currently active. Defaults to `true` when `startTime` is set. */
2671
+ isStreaming?: boolean;
2672
+ /**
2673
+ * Explicit state for the right-end indicator dot colour.
2674
+ * If omitted, derived from `isStreaming`: `true` → "streaming", `false` → "idle".
2675
+ *
2676
+ * | state | colour |
2677
+ * |-------------|----------------------------|
2678
+ * | streaming | TS Light Blue 300 (pulsing)|
2679
+ * | idle | muted gray |
2680
+ * | done | TS Forest Green 300 |
2681
+ * | error | TS Imperial Red |
2682
+ */
2683
+ state?: StreamStatusState;
2684
+ /**
2685
+ * Show the coloured status dot at the right end of the component.
2686
+ * Defaults to `false`.
2687
+ */
2688
+ showIndicator?: boolean;
2689
+ /** Token count shown after the separator, e.g. `8700` → "↓ 8.7k tokens". */
2690
+ tokenCount?: number;
2691
+ /** Prefix before the formatted token count. Defaults to `↓`. */
2692
+ tokenLabel?: ReactNode;
2693
+ /**
2694
+ * Custom icon (ReactNode). Takes precedence over `iconVariant`.
2695
+ * While streaming, the icon wrapper receives `ts-spin-pulse` — a continuous
2696
+ * rotation that occasionally surges to 1.3× scale.
2697
+ */
2698
+ icon?: ReactNode;
2699
+ /**
2700
+ * Convenience shorthand to pick a built-in Lucide spinner.
2701
+ * Ignored when `icon` is also provided.
2702
+ *
2703
+ * Options: `"loader"` | `"loader-circle"` | `"loader-pinwheel"` | `"disc-3"`
2704
+ */
2705
+ iconVariant?: StreamStatusIconVariant;
2706
+ className?: string;
2707
+ }
2708
+
2709
+ export declare type StreamStatusState = "streaming" | "idle" | "done" | "error";
2710
+
2711
+ export declare const Suggestion: ({ suggestion, onClick, className, variant, size, children, ...props }: SuggestionProps) => JSX.Element;
2712
+
2713
+ export declare type SuggestionProps = Omit<ComponentProps<typeof Button>, "onClick"> & {
2714
+ suggestion: string;
2715
+ onClick?: (suggestion: string) => void;
2716
+ };
2717
+
2718
+ export declare const Suggestions: ({ className, children, ...props }: SuggestionsProps) => JSX.Element;
2719
+
2720
+ export declare type SuggestionsProps = ComponentProps<"div">;
2721
+
1702
2722
  export declare function Switch({ className, size, ...props }: React_2.ComponentProps<typeof Switch_2.Root> & {
1703
2723
  size?: "sm" | "default";
1704
2724
  }): JSX.Element;
@@ -1748,6 +2768,30 @@ export declare const tabsListVariants: (props?: ({
1748
2768
 
1749
2769
  export declare function TabsTrigger({ className, ...props }: React_2.ComponentProps<typeof Tabs_2.Trigger>): JSX.Element;
1750
2770
 
2771
+ export declare const Task: ({ defaultOpen, isStreaming, open, onOpenChange, className, ...props }: TaskProps) => JSX.Element;
2772
+
2773
+ export declare const TaskContent: ({ children, className, ...props }: TaskContentProps) => JSX.Element;
2774
+
2775
+ export declare type TaskContentProps = ComponentProps<typeof CollapsibleContent>;
2776
+
2777
+ export declare const TaskItem: ({ children, className, ...props }: TaskItemProps) => JSX.Element;
2778
+
2779
+ export declare const TaskItemFile: ({ children, className, ...props }: TaskItemFileProps) => JSX.Element;
2780
+
2781
+ export declare type TaskItemFileProps = ComponentProps<"div">;
2782
+
2783
+ export declare type TaskItemProps = ComponentProps<"div">;
2784
+
2785
+ export declare type TaskProps = ComponentProps<typeof Collapsible> & {
2786
+ isStreaming?: boolean;
2787
+ };
2788
+
2789
+ export declare const TaskTrigger: ({ children, className, title, ...props }: TaskTriggerProps) => JSX.Element;
2790
+
2791
+ export declare type TaskTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
2792
+ title: string;
2793
+ };
2794
+
1751
2795
  /** Props passed to the renderFilters render prop */
1752
2796
  export declare interface TdpFiltersRenderProps {
1753
2797
  filters: TdpSearchFilter[];
@@ -1942,6 +2986,26 @@ export declare interface TetraScienceIconProps extends React_2.SVGProps<SVGSVGEl
1942
2986
 
1943
2987
  export declare function Textarea({ className, ...props }: React_2.ComponentProps<"textarea">): JSX.Element;
1944
2988
 
2989
+ export declare interface TextInputContext {
2990
+ value: string;
2991
+ setInput: (v: string) => void;
2992
+ clear: () => void;
2993
+ }
2994
+
2995
+ export declare interface TextShimmerProps {
2996
+ children: string;
2997
+ as?: ElementType;
2998
+ className?: string;
2999
+ duration?: number;
3000
+ spread?: number;
3001
+ /**
3002
+ * CSS gradient used as the base text colour. Defaults to `muted-foreground`.
3003
+ * Pass `TS_SHIMMER_GRADIENT` (or any custom gradient) to colour the text
3004
+ * with the brand blue→purple sweep.
3005
+ */
3006
+ gradient?: string;
3007
+ }
3008
+
1945
3009
  export declare const Toaster: ({ ...props }: ToasterProps) => JSX.Element;
1946
3010
 
1947
3011
  export declare function Toggle({ className, variant, size, ...props }: React_2.ComponentProps<typeof Toggle_2.Root> & VariantProps<typeof toggleVariants>): JSX.Element;
@@ -1958,6 +3022,52 @@ export declare const toggleVariants: (props?: ({
1958
3022
  size?: "default" | "sm" | "lg" | null | undefined;
1959
3023
  } & ClassProp) | undefined) => string;
1960
3024
 
3025
+ declare interface TokenizedCode {
3026
+ tokens: ThemedToken[][];
3027
+ fg: string;
3028
+ bg: string;
3029
+ }
3030
+
3031
+ export declare const Tool: ({ className, isStreaming, open, onOpenChange, defaultOpen, ...props }: ToolProps) => JSX.Element;
3032
+
3033
+ export declare const ToolContent: ({ className, ...props }: ToolContentProps) => JSX.Element;
3034
+
3035
+ export declare type ToolContentProps = ComponentProps<typeof CollapsibleContent>;
3036
+
3037
+ export declare const ToolHeader: ({ className, title, type, state, toolName, ...props }: ToolHeaderProps) => JSX.Element;
3038
+
3039
+ export declare type ToolHeaderProps = {
3040
+ title?: string;
3041
+ className?: string;
3042
+ } & ({
3043
+ type: ToolUIPart["type"];
3044
+ state: ToolUIPart["state"];
3045
+ toolName?: never;
3046
+ } | {
3047
+ type: DynamicToolUIPart["type"];
3048
+ state: DynamicToolUIPart["state"];
3049
+ toolName: string;
3050
+ });
3051
+
3052
+ export declare const ToolInput: ({ className, input, ...props }: ToolInputProps) => JSX.Element;
3053
+
3054
+ export declare type ToolInputProps = ComponentProps<"div"> & {
3055
+ input: ToolPart["input"];
3056
+ };
3057
+
3058
+ export declare const ToolOutput: ({ className, output, errorText, ...props }: ToolOutputProps) => JSX.Element | null;
3059
+
3060
+ export declare type ToolOutputProps = ComponentProps<"div"> & {
3061
+ output: ToolPart["output"];
3062
+ errorText: ToolPart["errorText"];
3063
+ };
3064
+
3065
+ export declare type ToolPart = ToolUIPart | DynamicToolUIPart;
3066
+
3067
+ export declare type ToolProps = ComponentProps<typeof Collapsible> & {
3068
+ isStreaming?: boolean;
3069
+ };
3070
+
1961
3071
  export declare function Tooltip({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Root>): JSX.Element;
1962
3072
 
1963
3073
  export declare function TooltipContent({ className, sideOffset, children, ...props }: React_2.ComponentProps<typeof Tooltip_2.Content>): JSX.Element;
@@ -1966,6 +3076,31 @@ export declare function TooltipProvider({ delayDuration, ...props }: React_2.Com
1966
3076
 
1967
3077
  export declare function TooltipTrigger({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Trigger>): JSX.Element;
1968
3078
 
3079
+ declare type ToolUIPartApproval = {
3080
+ id: string;
3081
+ approved?: never;
3082
+ reason?: never;
3083
+ } | {
3084
+ id: string;
3085
+ approved: boolean;
3086
+ reason?: string;
3087
+ } | {
3088
+ id: string;
3089
+ approved: true;
3090
+ reason?: string;
3091
+ } | {
3092
+ id: string;
3093
+ approved: false;
3094
+ reason?: string;
3095
+ } | undefined;
3096
+
3097
+ /** TetraScience brand gradient — Light Blue 300 → Purple 500 → Violet Marble */
3098
+ export declare const TS_SHIMMER_GRADIENT = "linear-gradient(90deg, #549DFF, #8243BA, #9665F4)";
3099
+
3100
+ export declare const useAttachmentContext: () => AttachmentContextValue;
3101
+
3102
+ export declare const useAttachmentsContext: () => AttachmentsContextValue;
3103
+
1969
3104
  export declare function useCarousel(): CarouselContextProps;
1970
3105
 
1971
3106
  declare type UseCarouselParameters = Parameters<typeof default_3>;
@@ -1974,6 +3109,16 @@ export declare function useComboboxAnchor(): React_2.RefObject<HTMLDivElement |
1974
3109
 
1975
3110
  export declare function useDataTable<TData = unknown>(): TableContextValue<TData>;
1976
3111
 
3112
+ export declare const usePromptInputAttachments: () => AttachmentsContext;
3113
+
3114
+ export declare const usePromptInputController: () => PromptInputControllerProps;
3115
+
3116
+ export declare const usePromptInputReferencedSources: () => ReferencedSourcesContext;
3117
+
3118
+ export declare const useProviderAttachments: () => AttachmentsContext;
3119
+
3120
+ export declare const useReasoning: () => ReasoningContextValue;
3121
+
1977
3122
  export declare function useSearch(config: UseSearchConfig): UseSearchResult;
1978
3123
 
1979
3124
  export declare type UseSearchConfig = {