@tetrascience-npm/tetrascience-react-ui 0.5.0-beta.40.1 → 0.5.0-beta.42.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 (99) 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/data-table/data-table-filter.cjs +2 -0
  82. package/dist/components/ui/data-table/data-table-filter.cjs.map +1 -0
  83. package/dist/components/ui/data-table/data-table-filter.js +178 -0
  84. package/dist/components/ui/data-table/data-table-filter.js.map +1 -0
  85. package/dist/components/ui/data-table/data-table.cjs +1 -1
  86. package/dist/components/ui/data-table/data-table.cjs.map +1 -1
  87. package/dist/components/ui/data-table/data-table.js +244 -195
  88. package/dist/components/ui/data-table/data-table.js.map +1 -1
  89. package/dist/components/ui/progress.cjs +2 -0
  90. package/dist/components/ui/progress.cjs.map +1 -0
  91. package/dist/components/ui/progress.js +32 -0
  92. package/dist/components/ui/progress.js.map +1 -0
  93. package/dist/index.cjs +1 -1
  94. package/dist/index.css +1 -1
  95. package/dist/index.d.ts +1182 -1
  96. package/dist/index.js +572 -368
  97. package/dist/index.js.map +1 -1
  98. package/dist/index.tailwind.css +1 -1
  99. 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 {
@@ -707,7 +1096,7 @@ export declare interface DataAppShellProps {
707
1096
  className?: string;
708
1097
  }
709
1098
 
710
- export declare function DataTable<TData, TValue>({ columns, data, toolbar, enableSorting, enableColumnVisibility, children, columnOrder: controlledColumnOrder, onColumnOrderChange, columnVisibility: controlledColumnVisibility, onColumnVisibilityChange, columnLabels: controlledColumnLabels, onColumnLabelChange, enablePagination, defaultPageSize, pagination: controlledPagination, onPaginationChange, enableColumnReorder, density, className, variant, containerClassName, }: DataTableProps<TData, TValue>): JSX.Element;
1099
+ export declare function DataTable<TData, TValue>({ columns, data, toolbar, enableSorting, enableColumnVisibility, children, columnOrder: controlledColumnOrder, onColumnOrderChange, columnVisibility: controlledColumnVisibility, onColumnVisibilityChange, columnLabels: controlledColumnLabels, onColumnLabelChange, enablePagination, defaultPageSize, pagination: controlledPagination, onPaginationChange, enableColumnReorder, enableFiltering, filters: controlledFilters, onFiltersChange, filterConfig, manualFiltering, density, className, variant, containerClassName, }: DataTableProps<TData, TValue>): JSX.Element;
711
1100
 
712
1101
  export declare function DataTableColumnToggle({ className }: DataTableColumnToggleProps): JSX.Element | null;
713
1102
 
@@ -715,6 +1104,16 @@ export declare interface DataTableColumnToggleProps {
715
1104
  className?: string;
716
1105
  }
717
1106
 
1107
+ export declare function DataTableFilter({ className }: DataTableFilterProps): JSX.Element | null;
1108
+
1109
+ export declare namespace DataTableFilter {
1110
+ var displayName: string;
1111
+ }
1112
+
1113
+ export declare interface DataTableFilterProps {
1114
+ className?: string;
1115
+ }
1116
+
718
1117
  export declare function DataTablePagination({ pageSizeOptions, className, }: DataTablePaginationProps): JSX.Element | null;
719
1118
 
720
1119
  export declare interface DataTablePaginationProps {
@@ -740,6 +1139,12 @@ export declare interface DataTableProps<TData, TValue> {
740
1139
  pagination?: PaginationState;
741
1140
  onPaginationChange?: (pagination: PaginationState) => void;
742
1141
  enableColumnReorder?: boolean;
1142
+ enableFiltering?: boolean;
1143
+ filters?: FilterCondition[];
1144
+ onFiltersChange?: (filters: FilterCondition[]) => void;
1145
+ filterConfig?: FilterColumnConfig[];
1146
+ /** When true, filtering is handled externally — onFiltersChange fires but rows are not filtered client-side. */
1147
+ manualFiltering?: boolean;
743
1148
  density?: "compact" | "default" | "relaxed";
744
1149
  children?: React_2.ReactNode;
745
1150
  className?: string;
@@ -892,6 +1297,28 @@ declare const fieldVariants: (props?: ({
892
1297
  orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
893
1298
  } & ClassProp) | undefined) => string;
894
1299
 
1300
+ export declare interface FilterColumnConfig {
1301
+ columnId: string;
1302
+ label?: string;
1303
+ operators?: FilterOperator[];
1304
+ }
1305
+
1306
+ export declare interface FilterCondition {
1307
+ /** Stable unique key for React reconciliation. */
1308
+ id: string;
1309
+ columnId: string;
1310
+ operator: FilterOperator;
1311
+ value: string;
1312
+ }
1313
+
1314
+ export declare type FilterOperator = "contains" | "equals" | "not_equals" | "starts_with" | "ends_with" | "is_empty" | "is_not_empty";
1315
+
1316
+ export declare const getAttachmentLabel: (data: AttachmentData) => string;
1317
+
1318
+ export declare const getMediaCategory: (data: AttachmentData) => AttachmentMediaCategory;
1319
+
1320
+ export declare const getStatusBadge: (status: ToolPart["state"]) => JSX.Element;
1321
+
895
1322
  /**
896
1323
  * TDP Navigation Utilities
897
1324
  *
@@ -954,6 +1381,8 @@ export declare interface HeatmapProps {
954
1381
  valueUnit?: string;
955
1382
  }
956
1383
 
1384
+ export declare const highlightCode: (code: string, language: BundledLanguage, callback?: (result: TokenizedCode) => void) => TokenizedCode | null;
1385
+
957
1386
  export declare const Histogram: default_2.FC<HistogramProps>;
958
1387
 
959
1388
  export declare interface HistogramDataSeries {
@@ -988,6 +1417,68 @@ export declare function HoverCardContent({ className, align, sideOffset, ...prop
988
1417
 
989
1418
  export declare function HoverCardTrigger({ ...props }: React_2.ComponentProps<typeof HoverCard_2.Trigger>): JSX.Element;
990
1419
 
1420
+ export declare const InlineCitation: ({ className, ...props }: InlineCitationProps) => JSX.Element;
1421
+
1422
+ export declare const InlineCitationCard: (props: InlineCitationCardProps) => JSX.Element;
1423
+
1424
+ export declare const InlineCitationCardBody: ({ className, ...props }: InlineCitationCardBodyProps) => JSX.Element;
1425
+
1426
+ export declare type InlineCitationCardBodyProps = ComponentProps<"div">;
1427
+
1428
+ export declare type InlineCitationCardProps = ComponentProps<typeof HoverCard>;
1429
+
1430
+ export declare const InlineCitationCardTrigger: ({ sources, className, ...props }: InlineCitationCardTriggerProps) => JSX.Element;
1431
+
1432
+ export declare type InlineCitationCardTriggerProps = ComponentProps<typeof Badge> & {
1433
+ sources: string[];
1434
+ };
1435
+
1436
+ export declare const InlineCitationCarousel: ({ className, children, ...props }: InlineCitationCarouselProps) => JSX.Element;
1437
+
1438
+ export declare const InlineCitationCarouselContent: (props: InlineCitationCarouselContentProps) => JSX.Element;
1439
+
1440
+ export declare type InlineCitationCarouselContentProps = ComponentProps<"div">;
1441
+
1442
+ export declare const InlineCitationCarouselHeader: ({ className, ...props }: InlineCitationCarouselHeaderProps) => JSX.Element;
1443
+
1444
+ export declare type InlineCitationCarouselHeaderProps = ComponentProps<"div">;
1445
+
1446
+ export declare const InlineCitationCarouselIndex: ({ children, className, ...props }: InlineCitationCarouselIndexProps) => JSX.Element;
1447
+
1448
+ export declare type InlineCitationCarouselIndexProps = ComponentProps<"div">;
1449
+
1450
+ export declare const InlineCitationCarouselItem: ({ className, ...props }: InlineCitationCarouselItemProps) => JSX.Element;
1451
+
1452
+ export declare type InlineCitationCarouselItemProps = ComponentProps<"div">;
1453
+
1454
+ export declare const InlineCitationCarouselNext: ({ className, ...props }: InlineCitationCarouselNextProps) => JSX.Element;
1455
+
1456
+ export declare type InlineCitationCarouselNextProps = ComponentProps<"button">;
1457
+
1458
+ export declare const InlineCitationCarouselPrev: ({ className, ...props }: InlineCitationCarouselPrevProps) => JSX.Element;
1459
+
1460
+ export declare type InlineCitationCarouselPrevProps = ComponentProps<"button">;
1461
+
1462
+ export declare type InlineCitationCarouselProps = ComponentProps<typeof Carousel>;
1463
+
1464
+ export declare type InlineCitationProps = ComponentProps<"span">;
1465
+
1466
+ export declare const InlineCitationQuote: ({ children, className, ...props }: InlineCitationQuoteProps) => JSX.Element;
1467
+
1468
+ export declare type InlineCitationQuoteProps = ComponentProps<"blockquote">;
1469
+
1470
+ export declare const InlineCitationSource: ({ title, url, description, className, children, ...props }: InlineCitationSourceProps) => JSX.Element;
1471
+
1472
+ export declare type InlineCitationSourceProps = ComponentProps<"div"> & {
1473
+ title?: string;
1474
+ url?: string;
1475
+ description?: string;
1476
+ };
1477
+
1478
+ export declare const InlineCitationText: ({ className, ...props }: InlineCitationTextProps) => JSX.Element;
1479
+
1480
+ export declare type InlineCitationTextProps = ComponentProps<"span">;
1481
+
991
1482
  export declare function Input({ className, type, ...props }: React_2.ComponentProps<"input">): JSX.Element;
992
1483
 
993
1484
  export declare function InputGroup({ className, ...props }: React_2.ComponentProps<"div">): JSX.Element;
@@ -1173,6 +1664,8 @@ export declare type LineGraphProps = {
1173
1664
 
1174
1665
  export declare type LineGraphVariant = "lines" | "lines+markers" | "lines+markers+error_bars";
1175
1666
 
1667
+ export declare const LocalReferencedSourcesContext: Context_2<ReferencedSourcesContext | null>;
1668
+
1176
1669
  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
1670
 
1178
1671
  declare type MarkerSymbol_2 = "circle" | "square" | "diamond" | "triangle-up" | "triangle-down" | "star";
@@ -1220,6 +1713,124 @@ export declare function MenubarSubTrigger({ className, inset, children, ...props
1220
1713
 
1221
1714
  export declare function MenubarTrigger({ className, ...props }: React_2.ComponentProps<typeof Menubar_2.Trigger>): JSX.Element;
1222
1715
 
1716
+ export declare const Message: ({ className, from, ...props }: MessageProps) => JSX.Element;
1717
+
1718
+ export declare const MessageAction: ({ tooltip, children, label, variant, size, ...props }: MessageActionProps) => JSX.Element;
1719
+
1720
+ export declare type MessageActionProps = ComponentProps<typeof Button> & {
1721
+ tooltip?: string;
1722
+ label?: string;
1723
+ };
1724
+
1725
+ export declare const MessageActions: ({ className, children, ...props }: MessageActionsProps) => JSX.Element;
1726
+
1727
+ export declare type MessageActionsProps = ComponentProps<"div">;
1728
+
1729
+ export declare const MessageBranch: ({ defaultBranch, onBranchChange, className, ...props }: MessageBranchProps) => JSX.Element;
1730
+
1731
+ export declare const MessageBranchContent: ({ children, ...props }: MessageBranchContentProps) => JSX.Element[];
1732
+
1733
+ export declare type MessageBranchContentProps = HTMLAttributes<HTMLDivElement>;
1734
+
1735
+ export declare const MessageBranchNext: ({ children, ...props }: MessageBranchNextProps) => JSX.Element;
1736
+
1737
+ export declare type MessageBranchNextProps = ComponentProps<typeof Button>;
1738
+
1739
+ export declare const MessageBranchPage: ({ className, ...props }: MessageBranchPageProps) => JSX.Element;
1740
+
1741
+ export declare type MessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
1742
+
1743
+ export declare const MessageBranchPrevious: ({ children, ...props }: MessageBranchPreviousProps) => JSX.Element;
1744
+
1745
+ export declare type MessageBranchPreviousProps = ComponentProps<typeof Button>;
1746
+
1747
+ export declare type MessageBranchProps = HTMLAttributes<HTMLDivElement> & {
1748
+ defaultBranch?: number;
1749
+ onBranchChange?: (branchIndex: number) => void;
1750
+ };
1751
+
1752
+ export declare const MessageBranchSelector: ({ className, ...props }: MessageBranchSelectorProps) => JSX.Element | null;
1753
+
1754
+ export declare type MessageBranchSelectorProps = ComponentProps<typeof ButtonGroup>;
1755
+
1756
+ export declare const MessageContent: ({ children, className, ...props }: MessageContentProps) => JSX.Element;
1757
+
1758
+ export declare type MessageContentProps = HTMLAttributes<HTMLDivElement>;
1759
+
1760
+ export declare type MessageProps = HTMLAttributes<HTMLDivElement> & {
1761
+ from: UIMessage["role"];
1762
+ };
1763
+
1764
+ export declare const MessageResponse: MemoExoticComponent<({ className, ...props }: MessageResponseProps) => JSX.Element>;
1765
+
1766
+ export declare type MessageResponseProps = ComponentProps<typeof Streamdown>;
1767
+
1768
+ export declare const messagesToMarkdown: (messages: UIMessage[], formatMessage?: (message: UIMessage, index: number) => string) => string;
1769
+
1770
+ export declare const MessageToolbar: ({ className, children, ...props }: MessageToolbarProps) => JSX.Element;
1771
+
1772
+ export declare type MessageToolbarProps = ComponentProps<"div">;
1773
+
1774
+ export declare const ModelSelector: (props: ModelSelectorProps) => JSX.Element;
1775
+
1776
+ export declare const ModelSelectorContent: ({ className, children, title, ...props }: ModelSelectorContentProps) => JSX.Element;
1777
+
1778
+ export declare type ModelSelectorContentProps = ComponentProps<typeof DialogContent> & {
1779
+ title?: ReactNode;
1780
+ };
1781
+
1782
+ export declare const ModelSelectorDialog: (props: ModelSelectorDialogProps) => JSX.Element;
1783
+
1784
+ export declare type ModelSelectorDialogProps = ComponentProps<typeof CommandDialog>;
1785
+
1786
+ export declare const ModelSelectorEmpty: (props: ModelSelectorEmptyProps) => JSX.Element;
1787
+
1788
+ export declare type ModelSelectorEmptyProps = ComponentProps<typeof CommandEmpty>;
1789
+
1790
+ export declare const ModelSelectorGroup: (props: ModelSelectorGroupProps) => JSX.Element;
1791
+
1792
+ export declare type ModelSelectorGroupProps = ComponentProps<typeof CommandGroup>;
1793
+
1794
+ export declare const ModelSelectorInput: ({ className, ...props }: ModelSelectorInputProps) => JSX.Element;
1795
+
1796
+ export declare type ModelSelectorInputProps = ComponentProps<typeof CommandInput>;
1797
+
1798
+ export declare const ModelSelectorItem: (props: ModelSelectorItemProps) => JSX.Element;
1799
+
1800
+ export declare type ModelSelectorItemProps = ComponentProps<typeof CommandItem>;
1801
+
1802
+ export declare const ModelSelectorList: (props: ModelSelectorListProps) => JSX.Element;
1803
+
1804
+ export declare type ModelSelectorListProps = ComponentProps<typeof CommandList>;
1805
+
1806
+ export declare const ModelSelectorLogo: ({ provider, className, ...props }: ModelSelectorLogoProps) => JSX.Element;
1807
+
1808
+ export declare const ModelSelectorLogoGroup: ({ className, ...props }: ModelSelectorLogoGroupProps) => JSX.Element;
1809
+
1810
+ export declare type ModelSelectorLogoGroupProps = ComponentProps<"div">;
1811
+
1812
+ export declare type ModelSelectorLogoProps = Omit<ComponentProps<"img">, "src" | "alt"> & {
1813
+ 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 & {});
1814
+ };
1815
+
1816
+ export declare const ModelSelectorName: ({ className, ...props }: ModelSelectorNameProps) => JSX.Element;
1817
+
1818
+ export declare type ModelSelectorNameProps = ComponentProps<"span">;
1819
+
1820
+ export declare type ModelSelectorProps = ComponentProps<typeof Dialog>;
1821
+
1822
+ export declare const ModelSelectorSeparator: (props: ModelSelectorSeparatorProps) => JSX.Element;
1823
+
1824
+ export declare type ModelSelectorSeparatorProps = ComponentProps<typeof CommandSeparator>;
1825
+
1826
+ export declare const ModelSelectorShortcut: ({ className, ...props }: ModelSelectorShortcutProps) => JSX.Element;
1827
+
1828
+ export declare type ModelSelectorShortcutProps = ComponentProps<typeof Kbd>;
1829
+
1830
+ export declare const ModelSelectorTrigger: (props: ModelSelectorTriggerProps) => JSX.Element;
1831
+
1832
+ export declare type ModelSelectorTriggerProps = ComponentProps<typeof DialogTrigger>;
1833
+
1223
1834
  export declare interface NavGroup {
1224
1835
  /** Optional group label shown as a section header in expanded nav */
1225
1836
  label?: string;
@@ -1511,10 +2122,347 @@ declare interface PlateRegion {
1511
2122
  fillColor?: string;
1512
2123
  }
1513
2124
 
2125
+ export declare const PromptInput: ({ className, accept, multiple, globalDrop, syncHiddenInput, maxFiles, maxFileSize, onError, onSubmit, children, ...props }: PromptInputProps) => JSX.Element;
2126
+
2127
+ export declare const PromptInputActionAddAttachments: ({ label, ...props }: PromptInputActionAddAttachmentsProps) => JSX.Element;
2128
+
2129
+ export declare type PromptInputActionAddAttachmentsProps = ComponentProps<typeof DropdownMenuItem> & {
2130
+ label?: string;
2131
+ };
2132
+
2133
+ export declare const PromptInputActionAddScreenshot: ({ label, onSelect, ...props }: PromptInputActionAddScreenshotProps) => JSX.Element;
2134
+
2135
+ export declare type PromptInputActionAddScreenshotProps = ComponentProps<typeof DropdownMenuItem> & {
2136
+ label?: string;
2137
+ };
2138
+
2139
+ export declare const PromptInputActionMenu: (props: PromptInputActionMenuProps) => JSX.Element;
2140
+
2141
+ export declare const PromptInputActionMenuContent: ({ className, ...props }: PromptInputActionMenuContentProps) => JSX.Element;
2142
+
2143
+ export declare type PromptInputActionMenuContentProps = ComponentProps<typeof DropdownMenuContent>;
2144
+
2145
+ export declare const PromptInputActionMenuItem: ({ className, ...props }: PromptInputActionMenuItemProps) => JSX.Element;
2146
+
2147
+ export declare type PromptInputActionMenuItemProps = ComponentProps<typeof DropdownMenuItem>;
2148
+
2149
+ export declare type PromptInputActionMenuProps = ComponentProps<typeof DropdownMenu>;
2150
+
2151
+ export declare const PromptInputActionMenuTrigger: ({ className, children, tooltip, "aria-label": ariaLabel, ...props }: PromptInputActionMenuTriggerProps) => JSX.Element;
2152
+
2153
+ export declare type PromptInputActionMenuTriggerProps = PromptInputButtonProps;
2154
+
2155
+ export declare const PromptInputBody: ({ className, ...props }: PromptInputBodyProps) => JSX.Element;
2156
+
2157
+ export declare type PromptInputBodyProps = HTMLAttributes<HTMLDivElement>;
2158
+
2159
+ export declare const PromptInputButton: ({ variant, className, size, tooltip, ...props }: PromptInputButtonProps) => JSX.Element;
2160
+
2161
+ export declare type PromptInputButtonProps = ComponentProps<typeof InputGroupButton> & {
2162
+ tooltip?: PromptInputButtonTooltip;
2163
+ };
2164
+
2165
+ export declare type PromptInputButtonTooltip = string | {
2166
+ content: ReactNode;
2167
+ shortcut?: string;
2168
+ side?: ComponentProps<typeof TooltipContent>["side"];
2169
+ };
2170
+
2171
+ export declare const PromptInputCommand: ({ className, ...props }: PromptInputCommandProps) => JSX.Element;
2172
+
2173
+ export declare const PromptInputCommandEmpty: ({ className, ...props }: PromptInputCommandEmptyProps) => JSX.Element;
2174
+
2175
+ export declare type PromptInputCommandEmptyProps = ComponentProps<typeof CommandEmpty>;
2176
+
2177
+ export declare const PromptInputCommandGroup: ({ className, ...props }: PromptInputCommandGroupProps) => JSX.Element;
2178
+
2179
+ export declare type PromptInputCommandGroupProps = ComponentProps<typeof CommandGroup>;
2180
+
2181
+ export declare const PromptInputCommandInput: ({ className, ...props }: PromptInputCommandInputProps) => JSX.Element;
2182
+
2183
+ export declare type PromptInputCommandInputProps = ComponentProps<typeof CommandInput>;
2184
+
2185
+ export declare const PromptInputCommandItem: ({ className, ...props }: PromptInputCommandItemProps) => JSX.Element;
2186
+
2187
+ export declare type PromptInputCommandItemProps = ComponentProps<typeof CommandItem>;
2188
+
2189
+ export declare const PromptInputCommandList: ({ className, ...props }: PromptInputCommandListProps) => JSX.Element;
2190
+
2191
+ export declare type PromptInputCommandListProps = ComponentProps<typeof CommandList>;
2192
+
2193
+ export declare type PromptInputCommandProps = ComponentProps<typeof Command>;
2194
+
2195
+ export declare const PromptInputCommandSeparator: ({ className, ...props }: PromptInputCommandSeparatorProps) => JSX.Element;
2196
+
2197
+ export declare type PromptInputCommandSeparatorProps = ComponentProps<typeof CommandSeparator>;
2198
+
2199
+ export declare interface PromptInputControllerProps {
2200
+ textInput: TextInputContext;
2201
+ attachments: AttachmentsContext;
2202
+ /** INTERNAL: Allows PromptInput to register its file textInput + "open" callback */
2203
+ __registerFileInput: (ref: RefObject<HTMLInputElement | null>, open: () => void) => void;
2204
+ }
2205
+
2206
+ export declare const PromptInputFooter: ({ className, ...props }: PromptInputFooterProps) => JSX.Element;
2207
+
2208
+ export declare type PromptInputFooterProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
2209
+
2210
+ export declare const PromptInputHeader: ({ className, ...props }: PromptInputHeaderProps) => JSX.Element;
2211
+
2212
+ export declare type PromptInputHeaderProps = Omit<ComponentProps<typeof InputGroupAddon>, "align">;
2213
+
2214
+ export declare const PromptInputHoverCard: ({ openDelay, closeDelay, ...props }: PromptInputHoverCardProps) => JSX.Element;
2215
+
2216
+ export declare const PromptInputHoverCardContent: ({ align, ...props }: PromptInputHoverCardContentProps) => JSX.Element;
2217
+
2218
+ export declare type PromptInputHoverCardContentProps = ComponentProps<typeof HoverCardContent>;
2219
+
2220
+ export declare type PromptInputHoverCardProps = ComponentProps<typeof HoverCard>;
2221
+
2222
+ export declare const PromptInputHoverCardTrigger: (props: PromptInputHoverCardTriggerProps) => JSX.Element;
2223
+
2224
+ export declare type PromptInputHoverCardTriggerProps = ComponentProps<typeof HoverCardTrigger>;
2225
+
2226
+ export declare interface PromptInputMessage {
2227
+ text: string;
2228
+ files: FileUIPart[];
2229
+ }
2230
+
2231
+ export declare type PromptInputProps = Omit<HTMLAttributes<HTMLFormElement>, "onSubmit" | "onError"> & {
2232
+ accept?: string;
2233
+ multiple?: boolean;
2234
+ globalDrop?: boolean;
2235
+ syncHiddenInput?: boolean;
2236
+ maxFiles?: number;
2237
+ maxFileSize?: number;
2238
+ onError?: (err: {
2239
+ code: "max_files" | "max_file_size" | "accept";
2240
+ message: string;
2241
+ }) => void;
2242
+ onSubmit: (message: PromptInputMessage, event: FormEvent<HTMLFormElement>) => void | Promise<void>;
2243
+ };
2244
+
2245
+ /**
2246
+ * Optional global provider that lifts PromptInput state outside of PromptInput.
2247
+ * If you don't use it, PromptInput stays fully self-managed.
2248
+ */
2249
+ export declare const PromptInputProvider: ({ initialInput: initialTextInput, children, }: PromptInputProviderProps) => JSX.Element;
2250
+
2251
+ export declare type PromptInputProviderProps = PropsWithChildren<{
2252
+ initialInput?: string;
2253
+ }>;
2254
+
2255
+ export declare const PromptInputSelect: (props: PromptInputSelectProps) => JSX.Element;
2256
+
2257
+ export declare const PromptInputSelectContent: ({ className, ...props }: PromptInputSelectContentProps) => JSX.Element;
2258
+
2259
+ export declare type PromptInputSelectContentProps = ComponentProps<typeof SelectContent>;
2260
+
2261
+ export declare const PromptInputSelectItem: ({ className, ...props }: PromptInputSelectItemProps) => JSX.Element;
2262
+
2263
+ export declare type PromptInputSelectItemProps = ComponentProps<typeof SelectItem>;
2264
+
2265
+ export declare type PromptInputSelectProps = ComponentProps<typeof Select>;
2266
+
2267
+ export declare const PromptInputSelectTrigger: ({ className, ...props }: PromptInputSelectTriggerProps) => JSX.Element;
2268
+
2269
+ export declare type PromptInputSelectTriggerProps = ComponentProps<typeof SelectTrigger>;
2270
+
2271
+ export declare const PromptInputSelectValue: ({ className, ...props }: PromptInputSelectValueProps) => JSX.Element;
2272
+
2273
+ export declare type PromptInputSelectValueProps = ComponentProps<typeof SelectValue>;
2274
+
2275
+ export declare const PromptInputSlotSwap: ({ a, b, show, className, }: PromptInputSlotSwapProps) => JSX.Element;
2276
+
2277
+ export declare type PromptInputSlotSwapProps = {
2278
+ /** Shown when show=false (e.g. mic button). */
2279
+ a: ReactNode;
2280
+ /** Shown when show=true (e.g. submit button). */
2281
+ b: ReactNode;
2282
+ /** When true, b is visible; when false, a is visible. */
2283
+ show: boolean;
2284
+ className?: string;
2285
+ };
2286
+
2287
+ export declare const PromptInputSubmit: ({ className, variant, size, status, onStop, onClick, children, ...props }: PromptInputSubmitProps) => JSX.Element;
2288
+
2289
+ export declare type PromptInputSubmitProps = ComponentProps<typeof InputGroupButton> & {
2290
+ status?: ChatStatus;
2291
+ onStop?: () => void;
2292
+ };
2293
+
2294
+ export declare const PromptInputTab: ({ className, ...props }: PromptInputTabProps) => JSX.Element;
2295
+
2296
+ export declare const PromptInputTabBody: ({ className, ...props }: PromptInputTabBodyProps) => JSX.Element;
2297
+
2298
+ export declare type PromptInputTabBodyProps = HTMLAttributes<HTMLDivElement>;
2299
+
2300
+ export declare const PromptInputTabItem: ({ className, ...props }: PromptInputTabItemProps) => JSX.Element;
2301
+
2302
+ export declare type PromptInputTabItemProps = HTMLAttributes<HTMLDivElement>;
2303
+
2304
+ export declare const PromptInputTabLabel: ({ className, children, ...props }: PromptInputTabLabelProps) => JSX.Element;
2305
+
2306
+ export declare type PromptInputTabLabelProps = HTMLAttributes<HTMLHeadingElement>;
2307
+
2308
+ export declare type PromptInputTabProps = HTMLAttributes<HTMLDivElement>;
2309
+
2310
+ export declare const PromptInputTabsList: ({ className, ...props }: PromptInputTabsListProps) => JSX.Element;
2311
+
2312
+ export declare type PromptInputTabsListProps = HTMLAttributes<HTMLDivElement>;
2313
+
2314
+ export declare const PromptInputTextarea: ({ onChange, onKeyDown, className, placeholder, ...props }: PromptInputTextareaProps) => JSX.Element;
2315
+
2316
+ export declare type PromptInputTextareaProps = ComponentProps<typeof InputGroupTextarea>;
2317
+
2318
+ export declare const PromptInputTools: ({ className, ...props }: PromptInputToolsProps) => JSX.Element;
2319
+
2320
+ export declare type PromptInputToolsProps = HTMLAttributes<HTMLDivElement>;
2321
+
2322
+ export declare const Queue: ({ className, isStreaming, children, style, id, ...props }: QueueProps) => JSX.Element;
2323
+
2324
+ export declare const QueueItem: ({ className, ...props }: QueueItemProps) => JSX.Element;
2325
+
2326
+ export declare const QueueItemAction: ({ className, ...props }: QueueItemActionProps) => JSX.Element;
2327
+
2328
+ export declare type QueueItemActionProps = Omit<ComponentProps<typeof Button>, "variant" | "size">;
2329
+
2330
+ export declare const QueueItemActions: ({ className, ...props }: QueueItemActionsProps) => JSX.Element;
2331
+
2332
+ export declare type QueueItemActionsProps = ComponentProps<"div">;
2333
+
2334
+ export declare const QueueItemAttachment: ({ className, ...props }: QueueItemAttachmentProps) => JSX.Element;
2335
+
2336
+ export declare type QueueItemAttachmentProps = ComponentProps<"div">;
2337
+
2338
+ export declare const QueueItemContent: ({ completed, className, ...props }: QueueItemContentProps) => JSX.Element;
2339
+
2340
+ export declare type QueueItemContentProps = ComponentProps<"span"> & {
2341
+ completed?: boolean;
2342
+ };
2343
+
2344
+ export declare const QueueItemDescription: ({ completed, className, ...props }: QueueItemDescriptionProps) => JSX.Element;
2345
+
2346
+ export declare type QueueItemDescriptionProps = ComponentProps<"div"> & {
2347
+ completed?: boolean;
2348
+ };
2349
+
2350
+ export declare const QueueItemFile: ({ children, className, ...props }: QueueItemFileProps) => JSX.Element;
2351
+
2352
+ export declare type QueueItemFileProps = ComponentProps<"span">;
2353
+
2354
+ export declare const QueueItemImage: ({ className, ...props }: QueueItemImageProps) => JSX.Element;
2355
+
2356
+ export declare type QueueItemImageProps = ComponentProps<"img">;
2357
+
2358
+ export declare const QueueItemIndicator: ({ status, completed, className, ...props }: QueueItemIndicatorProps) => JSX.Element;
2359
+
2360
+ export declare type QueueItemIndicatorProps = ComponentProps<"span"> & {
2361
+ /**
2362
+ * Visual state of the indicator dot.
2363
+ * - `pending` — unfilled muted ring
2364
+ * - `loading` — spinning ring (primary accent)
2365
+ * - `done` — filled muted dot (task complete)
2366
+ * - `error` — filled destructive dot
2367
+ */
2368
+ status?: QueueItemStatus;
2369
+ /** @deprecated Use `status="done"` instead. */
2370
+ completed?: boolean;
2371
+ };
2372
+
2373
+ export declare type QueueItemProps = ComponentProps<"li">;
2374
+
2375
+ export declare type QueueItemStatus = "pending" | "loading" | "done" | "error";
2376
+
2377
+ export declare const QueueList: ({ children, className, ...props }: QueueListProps) => JSX.Element;
2378
+
2379
+ export declare type QueueListProps = ComponentProps<typeof ScrollArea>;
2380
+
2381
+ export declare interface QueueMessage {
2382
+ id: string;
2383
+ parts: QueueMessagePart[];
2384
+ }
2385
+
2386
+ export declare interface QueueMessagePart {
2387
+ type: string;
2388
+ text?: string;
2389
+ url?: string;
2390
+ filename?: string;
2391
+ mediaType?: string;
2392
+ }
2393
+
2394
+ export declare type QueueProps = ComponentProps<"div"> & {
2395
+ isStreaming?: boolean;
2396
+ };
2397
+
2398
+ export declare const QueueSection: ({ className, defaultOpen, ...props }: QueueSectionProps) => JSX.Element;
2399
+
2400
+ export declare const QueueSectionContent: ({ className, ...props }: QueueSectionContentProps) => JSX.Element;
2401
+
2402
+ export declare type QueueSectionContentProps = ComponentProps<typeof CollapsibleContent>;
2403
+
2404
+ export declare const QueueSectionLabel: ({ count, icon, className, children, ...props }: QueueSectionLabelProps) => JSX.Element;
2405
+
2406
+ export declare type QueueSectionLabelProps = ComponentProps<"span"> & {
2407
+ count?: number;
2408
+ icon?: React.ReactNode;
2409
+ };
2410
+
2411
+ export declare type QueueSectionProps = ComponentProps<typeof Collapsible>;
2412
+
2413
+ export declare const QueueSectionTrigger: ({ children, className, ...props }: QueueSectionTriggerProps) => JSX.Element;
2414
+
2415
+ export declare type QueueSectionTriggerProps = ComponentProps<"button">;
2416
+
2417
+ export declare interface QueueTodo {
2418
+ id: string;
2419
+ title: string;
2420
+ description?: string;
2421
+ status?: "pending" | "completed";
2422
+ }
2423
+
1514
2424
  export declare function RadioGroup({ className, ...props }: React_2.ComponentProps<typeof RadioGroup_2.Root>): JSX.Element;
1515
2425
 
1516
2426
  export declare function RadioGroupItem({ className, ...props }: React_2.ComponentProps<typeof RadioGroup_2.Item>): JSX.Element;
1517
2427
 
2428
+ export declare const Reasoning: MemoExoticComponent<({ className, isStreaming, open, defaultOpen, onOpenChange, duration: durationProp, children, ...props }: ReasoningProps) => JSX.Element>;
2429
+
2430
+ export declare const ReasoningContent: MemoExoticComponent<({ className, children, ...props }: ReasoningContentProps) => JSX.Element>;
2431
+
2432
+ export declare type ReasoningContentProps = ComponentProps<typeof CollapsibleContent> & {
2433
+ children: string;
2434
+ };
2435
+
2436
+ declare interface ReasoningContextValue {
2437
+ isStreaming: boolean;
2438
+ isOpen: boolean;
2439
+ setIsOpen: (open: boolean) => void;
2440
+ duration: number | undefined;
2441
+ }
2442
+
2443
+ export declare type ReasoningProps = ComponentProps<typeof Collapsible> & {
2444
+ isStreaming?: boolean;
2445
+ open?: boolean;
2446
+ defaultOpen?: boolean;
2447
+ onOpenChange?: (open: boolean) => void;
2448
+ duration?: number;
2449
+ };
2450
+
2451
+ export declare const ReasoningTrigger: MemoExoticComponent<({ className, children, getThinkingMessage, ...props }: ReasoningTriggerProps) => JSX.Element>;
2452
+
2453
+ export declare type ReasoningTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
2454
+ getThinkingMessage?: (isStreaming: boolean, duration?: number) => ReactNode;
2455
+ };
2456
+
2457
+ export declare interface ReferencedSourcesContext {
2458
+ sources: (SourceDocumentUIPart & {
2459
+ id: string;
2460
+ })[];
2461
+ add: (sources: SourceDocumentUIPart[] | SourceDocumentUIPart) => void;
2462
+ remove: (id: string) => void;
2463
+ clear: () => void;
2464
+ }
2465
+
1518
2466
  export declare function ResizableHandle({ withHandle, className, ...props }: ResizablePrimitive.SeparatorProps & {
1519
2467
  withHandle?: boolean;
1520
2468
  }): JSX.Element;
@@ -1603,6 +2551,8 @@ export declare function SheetTitle({ className, ...props }: React_2.ComponentPro
1603
2551
 
1604
2552
  export declare function SheetTrigger({ ...props }: React_2.ComponentProps<typeof Dialog_2.Trigger>): JSX.Element;
1605
2553
 
2554
+ export declare const Shimmer: MemoExoticComponent<({ children, as: Component, className, duration, spread, gradient, }: TextShimmerProps) => JSX.Element>;
2555
+
1606
2556
  export declare function Sidebar({ side, variant, collapsible, className, children, dir, ...props }: React_2.ComponentProps<"div"> & {
1607
2557
  side?: "left" | "right";
1608
2558
  variant?: "sidebar" | "floating" | "inset";
@@ -1693,12 +2643,114 @@ export declare function Skeleton({ className, ...props }: React.ComponentProps<"
1693
2643
 
1694
2644
  export declare function Slider({ className, defaultValue, value, min, max, ...props }: React_2.ComponentProps<typeof Slider_2.Root>): JSX.Element;
1695
2645
 
2646
+ export declare const Source: ({ href, title, className, children, ...props }: SourceProps) => JSX.Element;
2647
+
2648
+ export declare type SourceProps = ComponentProps<"a">;
2649
+
2650
+ export declare const Sources: ({ className, ...props }: SourcesProps) => JSX.Element;
2651
+
2652
+ export declare const SourcesContent: ({ className, ...props }: SourcesContentProps) => JSX.Element;
2653
+
2654
+ export declare type SourcesContentProps = ComponentProps<typeof CollapsibleContent>;
2655
+
2656
+ export declare type SourcesProps = ComponentProps<"div">;
2657
+
2658
+ export declare const SourcesTrigger: ({ className, count, children, ...props }: SourcesTriggerProps) => JSX.Element;
2659
+
2660
+ export declare type SourcesTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
2661
+ count: number;
2662
+ };
2663
+
2664
+ export declare const SpeechInput: ({ className, onTranscriptionChange, onAudioRecorded, lang, ...props }: SpeechInputProps) => JSX.Element;
2665
+
2666
+ export declare type SpeechInputProps = ComponentProps<typeof Button> & {
2667
+ onTranscriptionChange?: (text: string) => void;
2668
+ /**
2669
+ * Callback for when audio is recorded using MediaRecorder fallback.
2670
+ * This is called in browsers that don't support the Web Speech API (Firefox, Safari).
2671
+ * The callback receives an audio Blob that should be sent to a transcription service.
2672
+ * Return the transcribed text, which will be passed to onTranscriptionChange.
2673
+ */
2674
+ onAudioRecorded?: (audioBlob: Blob) => Promise<string>;
2675
+ lang?: string;
2676
+ };
2677
+
1696
2678
  export declare function Spinner({ className, size, ...props }: React.ComponentProps<"svg"> & VariantProps<typeof spinnerVariants>): JSX.Element;
1697
2679
 
1698
2680
  export declare const spinnerVariants: (props?: ({
1699
2681
  size?: "default" | "sm" | "lg" | "md" | null | undefined;
1700
2682
  } & ClassProp) | undefined) => string;
1701
2683
 
2684
+ /** Built-in Lucide spinner icons that pair well with ts-spin-pulse animation. */
2685
+ export declare const STREAM_STATUS_ICONS: {
2686
+ readonly loader: JSX.Element;
2687
+ readonly "loader-circle": JSX.Element;
2688
+ readonly "loader-pinwheel": JSX.Element;
2689
+ readonly "disc-3": JSX.Element;
2690
+ };
2691
+
2692
+ export declare const StreamStatus: MemoExoticComponent<({ startTime, isStreaming, state: stateProp, showIndicator, tokenCount, tokenLabel, icon, iconVariant, className, }: StreamStatusProps) => JSX.Element>;
2693
+
2694
+ export declare type StreamStatusIconVariant = keyof typeof STREAM_STATUS_ICONS;
2695
+
2696
+ export declare interface StreamStatusProps {
2697
+ /**
2698
+ * Timestamp when streaming started (Date or epoch ms).
2699
+ * The component manages an internal 1-second ticker when set.
2700
+ */
2701
+ startTime?: Date | number;
2702
+ /** Whether streaming is currently active. Defaults to `true` when `startTime` is set. */
2703
+ isStreaming?: boolean;
2704
+ /**
2705
+ * Explicit state for the right-end indicator dot colour.
2706
+ * If omitted, derived from `isStreaming`: `true` → "streaming", `false` → "idle".
2707
+ *
2708
+ * | state | colour |
2709
+ * |-------------|----------------------------|
2710
+ * | streaming | TS Light Blue 300 (pulsing)|
2711
+ * | idle | muted gray |
2712
+ * | done | TS Forest Green 300 |
2713
+ * | error | TS Imperial Red |
2714
+ */
2715
+ state?: StreamStatusState;
2716
+ /**
2717
+ * Show the coloured status dot at the right end of the component.
2718
+ * Defaults to `false`.
2719
+ */
2720
+ showIndicator?: boolean;
2721
+ /** Token count shown after the separator, e.g. `8700` → "↓ 8.7k tokens". */
2722
+ tokenCount?: number;
2723
+ /** Prefix before the formatted token count. Defaults to `↓`. */
2724
+ tokenLabel?: ReactNode;
2725
+ /**
2726
+ * Custom icon (ReactNode). Takes precedence over `iconVariant`.
2727
+ * While streaming, the icon wrapper receives `ts-spin-pulse` — a continuous
2728
+ * rotation that occasionally surges to 1.3× scale.
2729
+ */
2730
+ icon?: ReactNode;
2731
+ /**
2732
+ * Convenience shorthand to pick a built-in Lucide spinner.
2733
+ * Ignored when `icon` is also provided.
2734
+ *
2735
+ * Options: `"loader"` | `"loader-circle"` | `"loader-pinwheel"` | `"disc-3"`
2736
+ */
2737
+ iconVariant?: StreamStatusIconVariant;
2738
+ className?: string;
2739
+ }
2740
+
2741
+ export declare type StreamStatusState = "streaming" | "idle" | "done" | "error";
2742
+
2743
+ export declare const Suggestion: ({ suggestion, onClick, className, variant, size, children, ...props }: SuggestionProps) => JSX.Element;
2744
+
2745
+ export declare type SuggestionProps = Omit<ComponentProps<typeof Button>, "onClick"> & {
2746
+ suggestion: string;
2747
+ onClick?: (suggestion: string) => void;
2748
+ };
2749
+
2750
+ export declare const Suggestions: ({ className, children, ...props }: SuggestionsProps) => JSX.Element;
2751
+
2752
+ export declare type SuggestionsProps = ComponentProps<"div">;
2753
+
1702
2754
  export declare function Switch({ className, size, ...props }: React_2.ComponentProps<typeof Switch_2.Root> & {
1703
2755
  size?: "sm" | "default";
1704
2756
  }): JSX.Element;
@@ -1720,6 +2772,10 @@ declare interface TableContextValue<TData> {
1720
2772
  table: Table_2<TData>;
1721
2773
  columnLabels: Record<string, string>;
1722
2774
  setColumnLabel: (columnId: string, label: string) => void;
2775
+ filters: FilterCondition[];
2776
+ setFilters: (filters: FilterCondition[]) => void;
2777
+ filterConfig: FilterColumnConfig[];
2778
+ enableFiltering: boolean;
1723
2779
  }
1724
2780
 
1725
2781
  export declare function TableFooter({ className, ...props }: React_2.ComponentProps<"tfoot">): JSX.Element;
@@ -1748,6 +2804,30 @@ export declare const tabsListVariants: (props?: ({
1748
2804
 
1749
2805
  export declare function TabsTrigger({ className, ...props }: React_2.ComponentProps<typeof Tabs_2.Trigger>): JSX.Element;
1750
2806
 
2807
+ export declare const Task: ({ defaultOpen, isStreaming, open, onOpenChange, className, ...props }: TaskProps) => JSX.Element;
2808
+
2809
+ export declare const TaskContent: ({ children, className, ...props }: TaskContentProps) => JSX.Element;
2810
+
2811
+ export declare type TaskContentProps = ComponentProps<typeof CollapsibleContent>;
2812
+
2813
+ export declare const TaskItem: ({ children, className, ...props }: TaskItemProps) => JSX.Element;
2814
+
2815
+ export declare const TaskItemFile: ({ children, className, ...props }: TaskItemFileProps) => JSX.Element;
2816
+
2817
+ export declare type TaskItemFileProps = ComponentProps<"div">;
2818
+
2819
+ export declare type TaskItemProps = ComponentProps<"div">;
2820
+
2821
+ export declare type TaskProps = ComponentProps<typeof Collapsible> & {
2822
+ isStreaming?: boolean;
2823
+ };
2824
+
2825
+ export declare const TaskTrigger: ({ children, className, title, ...props }: TaskTriggerProps) => JSX.Element;
2826
+
2827
+ export declare type TaskTriggerProps = ComponentProps<typeof CollapsibleTrigger> & {
2828
+ title: string;
2829
+ };
2830
+
1751
2831
  /** Props passed to the renderFilters render prop */
1752
2832
  export declare interface TdpFiltersRenderProps {
1753
2833
  filters: TdpSearchFilter[];
@@ -1942,6 +3022,26 @@ export declare interface TetraScienceIconProps extends React_2.SVGProps<SVGSVGEl
1942
3022
 
1943
3023
  export declare function Textarea({ className, ...props }: React_2.ComponentProps<"textarea">): JSX.Element;
1944
3024
 
3025
+ export declare interface TextInputContext {
3026
+ value: string;
3027
+ setInput: (v: string) => void;
3028
+ clear: () => void;
3029
+ }
3030
+
3031
+ export declare interface TextShimmerProps {
3032
+ children: string;
3033
+ as?: ElementType;
3034
+ className?: string;
3035
+ duration?: number;
3036
+ spread?: number;
3037
+ /**
3038
+ * CSS gradient used as the base text colour. Defaults to `muted-foreground`.
3039
+ * Pass `TS_SHIMMER_GRADIENT` (or any custom gradient) to colour the text
3040
+ * with the brand blue→purple sweep.
3041
+ */
3042
+ gradient?: string;
3043
+ }
3044
+
1945
3045
  export declare const Toaster: ({ ...props }: ToasterProps) => JSX.Element;
1946
3046
 
1947
3047
  export declare function Toggle({ className, variant, size, ...props }: React_2.ComponentProps<typeof Toggle_2.Root> & VariantProps<typeof toggleVariants>): JSX.Element;
@@ -1958,6 +3058,52 @@ export declare const toggleVariants: (props?: ({
1958
3058
  size?: "default" | "sm" | "lg" | null | undefined;
1959
3059
  } & ClassProp) | undefined) => string;
1960
3060
 
3061
+ declare interface TokenizedCode {
3062
+ tokens: ThemedToken[][];
3063
+ fg: string;
3064
+ bg: string;
3065
+ }
3066
+
3067
+ export declare const Tool: ({ className, isStreaming, open, onOpenChange, defaultOpen, ...props }: ToolProps) => JSX.Element;
3068
+
3069
+ export declare const ToolContent: ({ className, ...props }: ToolContentProps) => JSX.Element;
3070
+
3071
+ export declare type ToolContentProps = ComponentProps<typeof CollapsibleContent>;
3072
+
3073
+ export declare const ToolHeader: ({ className, title, type, state, toolName, ...props }: ToolHeaderProps) => JSX.Element;
3074
+
3075
+ export declare type ToolHeaderProps = {
3076
+ title?: string;
3077
+ className?: string;
3078
+ } & ({
3079
+ type: ToolUIPart["type"];
3080
+ state: ToolUIPart["state"];
3081
+ toolName?: never;
3082
+ } | {
3083
+ type: DynamicToolUIPart["type"];
3084
+ state: DynamicToolUIPart["state"];
3085
+ toolName: string;
3086
+ });
3087
+
3088
+ export declare const ToolInput: ({ className, input, ...props }: ToolInputProps) => JSX.Element;
3089
+
3090
+ export declare type ToolInputProps = ComponentProps<"div"> & {
3091
+ input: ToolPart["input"];
3092
+ };
3093
+
3094
+ export declare const ToolOutput: ({ className, output, errorText, ...props }: ToolOutputProps) => JSX.Element | null;
3095
+
3096
+ export declare type ToolOutputProps = ComponentProps<"div"> & {
3097
+ output: ToolPart["output"];
3098
+ errorText: ToolPart["errorText"];
3099
+ };
3100
+
3101
+ export declare type ToolPart = ToolUIPart | DynamicToolUIPart;
3102
+
3103
+ export declare type ToolProps = ComponentProps<typeof Collapsible> & {
3104
+ isStreaming?: boolean;
3105
+ };
3106
+
1961
3107
  export declare function Tooltip({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Root>): JSX.Element;
1962
3108
 
1963
3109
  export declare function TooltipContent({ className, sideOffset, children, ...props }: React_2.ComponentProps<typeof Tooltip_2.Content>): JSX.Element;
@@ -1966,6 +3112,31 @@ export declare function TooltipProvider({ delayDuration, ...props }: React_2.Com
1966
3112
 
1967
3113
  export declare function TooltipTrigger({ ...props }: React_2.ComponentProps<typeof Tooltip_2.Trigger>): JSX.Element;
1968
3114
 
3115
+ declare type ToolUIPartApproval = {
3116
+ id: string;
3117
+ approved?: never;
3118
+ reason?: never;
3119
+ } | {
3120
+ id: string;
3121
+ approved: boolean;
3122
+ reason?: string;
3123
+ } | {
3124
+ id: string;
3125
+ approved: true;
3126
+ reason?: string;
3127
+ } | {
3128
+ id: string;
3129
+ approved: false;
3130
+ reason?: string;
3131
+ } | undefined;
3132
+
3133
+ /** TetraScience brand gradient — Light Blue 300 → Purple 500 → Violet Marble */
3134
+ export declare const TS_SHIMMER_GRADIENT = "linear-gradient(90deg, #549DFF, #8243BA, #9665F4)";
3135
+
3136
+ export declare const useAttachmentContext: () => AttachmentContextValue;
3137
+
3138
+ export declare const useAttachmentsContext: () => AttachmentsContextValue;
3139
+
1969
3140
  export declare function useCarousel(): CarouselContextProps;
1970
3141
 
1971
3142
  declare type UseCarouselParameters = Parameters<typeof default_3>;
@@ -1974,6 +3145,16 @@ export declare function useComboboxAnchor(): React_2.RefObject<HTMLDivElement |
1974
3145
 
1975
3146
  export declare function useDataTable<TData = unknown>(): TableContextValue<TData>;
1976
3147
 
3148
+ export declare const usePromptInputAttachments: () => AttachmentsContext;
3149
+
3150
+ export declare const usePromptInputController: () => PromptInputControllerProps;
3151
+
3152
+ export declare const usePromptInputReferencedSources: () => ReferencedSourcesContext;
3153
+
3154
+ export declare const useProviderAttachments: () => AttachmentsContext;
3155
+
3156
+ export declare const useReasoning: () => ReasoningContextValue;
3157
+
1977
3158
  export declare function useSearch(config: UseSearchConfig): UseSearchResult;
1978
3159
 
1979
3160
  export declare type UseSearchConfig = {