@usetheo/ui 0.5.1-next.0 → 0.6.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +107 -0
- package/NOTICE +38 -0
- package/README.md +18 -18
- package/dist/index.d.ts +324 -31
- package/dist/index.js +991 -56
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/registry/index.json +1 -1
- package/registry/r/agent-stream.json +1 -1
- package/registry/r/chat-message.json +112 -4
- package/registry/r/chat-types.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ClassValue } from 'clsx';
|
|
2
2
|
import * as react from 'react';
|
|
3
|
-
import { ReactNode, JSX, ComponentPropsWithoutRef, ComponentProps, ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, ComponentType, SVGProps, TextareaHTMLAttributes, ElementType, OutputHTMLAttributes } from 'react';
|
|
3
|
+
import { ReactNode, JSX as JSX$1, ComponentPropsWithoutRef, ComponentProps, ButtonHTMLAttributes, HTMLAttributes, InputHTMLAttributes, ComponentType, SVGProps, TextareaHTMLAttributes, ElementType, ReactElement, OutputHTMLAttributes } from 'react';
|
|
4
4
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
5
|
import * as ToastPrimitive from '@radix-ui/react-toast';
|
|
6
6
|
import { VariantProps } from 'class-variance-authority';
|
|
@@ -157,7 +157,7 @@ interface ThemeProviderProps {
|
|
|
157
157
|
* 3. Lazy-loads theme font URLs by injecting `<link rel="stylesheet">`.
|
|
158
158
|
* 4. Optionally persists choice in localStorage.
|
|
159
159
|
*/
|
|
160
|
-
declare function ThemeProvider({ children, defaultTheme, defaultMode, themes: themesProp, storageKey, defaultDensity, }: ThemeProviderProps): JSX.Element;
|
|
160
|
+
declare function ThemeProvider({ children, defaultTheme, defaultMode, themes: themesProp, storageKey, defaultDensity, }: ThemeProviderProps): JSX$1.Element;
|
|
161
161
|
/**
|
|
162
162
|
* useTheme — access theme state from any component inside <ThemeProvider>.
|
|
163
163
|
* Throws if used outside the provider — fail-fast.
|
|
@@ -201,7 +201,7 @@ interface ThemeScriptProps {
|
|
|
201
201
|
*/
|
|
202
202
|
storageKey?: string | null;
|
|
203
203
|
}
|
|
204
|
-
declare function ThemeScript({ defaultTheme, defaultMode, storageKey, }: ThemeScriptProps): JSX.Element;
|
|
204
|
+
declare function ThemeScript({ defaultTheme, defaultMode, storageKey, }: ThemeScriptProps): JSX$1.Element;
|
|
205
205
|
|
|
206
206
|
interface ThemeSwitcherProps {
|
|
207
207
|
className?: string;
|
|
@@ -217,7 +217,7 @@ interface ThemeSwitcherProps {
|
|
|
217
217
|
*
|
|
218
218
|
* Stateless wrt itself — pulls state from `useTheme()`.
|
|
219
219
|
*/
|
|
220
|
-
declare function ThemeSwitcher({ className, showModeToggle }: ThemeSwitcherProps): JSX.Element;
|
|
220
|
+
declare function ThemeSwitcher({ className, showModeToggle }: ThemeSwitcherProps): JSX$1.Element;
|
|
221
221
|
|
|
222
222
|
/**
|
|
223
223
|
* Violet Forge — the default Theo theme.
|
|
@@ -508,7 +508,7 @@ interface ToasterProps {
|
|
|
508
508
|
* Toaster — mount once at the app root. Wraps children in a Radix Toast
|
|
509
509
|
* Provider + Viewport and exposes the `useToast()` hook for descendants.
|
|
510
510
|
*/
|
|
511
|
-
declare function Toaster({ children, position, className }: ToasterProps): JSX.Element;
|
|
511
|
+
declare function Toaster({ children, position, className }: ToasterProps): JSX$1.Element;
|
|
512
512
|
/**
|
|
513
513
|
* useToast — fire toasts from anywhere inside <Toaster>.
|
|
514
514
|
*
|
|
@@ -561,29 +561,183 @@ interface TheoUIProviderProps {
|
|
|
561
561
|
/** Pass-through props for the inner `<Toaster>`. */
|
|
562
562
|
toaster?: Omit<ComponentProps<typeof Toaster>, "children">;
|
|
563
563
|
}
|
|
564
|
-
declare function TheoUIProvider({ children, theme, toaster }: TheoUIProviderProps): JSX.Element;
|
|
564
|
+
declare function TheoUIProvider({ children, theme, toaster }: TheoUIProviderProps): JSX$1.Element;
|
|
565
565
|
declare namespace TheoUIProvider {
|
|
566
566
|
var displayName: string;
|
|
567
567
|
}
|
|
568
568
|
|
|
569
|
-
|
|
569
|
+
/**
|
|
570
|
+
* Chat message types — structurally compatible with `vercel/ai` `UIMessage`.
|
|
571
|
+
*
|
|
572
|
+
* Verbatim of the part-type shape from `packages/ai/src/ui/ui-messages.ts`
|
|
573
|
+
* (Apache-2.0, copyright Vercel Inc., see NOTICE). Re-declared standalone so
|
|
574
|
+
* `@usetheo/ui` does not take `ai` as a direct dependency — the goal is
|
|
575
|
+
* interop without coupling.
|
|
576
|
+
*
|
|
577
|
+
* Consumer code using `useChat()` from `@ai-sdk/react`:
|
|
578
|
+
*
|
|
579
|
+
* const { messages } = useChat();
|
|
580
|
+
* return messages.map((m) => <ChatMessage message={m} />);
|
|
581
|
+
*
|
|
582
|
+
* Works because the Vercel `UIMessage` shape is structurally assignable to
|
|
583
|
+
* the types declared here.
|
|
584
|
+
*/
|
|
585
|
+
type MessageRole = "system" | "user" | "assistant";
|
|
586
|
+
/**
|
|
587
|
+
* Orthogonal attachment shape used by `<AttachmentChip>` and chat composer
|
|
588
|
+
* primitives. Distinct from `FileUIPart` (which is part of the message
|
|
589
|
+
* payload) — `Attachment` is the consumer's pending-upload state.
|
|
590
|
+
*/
|
|
570
591
|
interface Attachment {
|
|
571
592
|
id: string;
|
|
572
593
|
name: string;
|
|
573
594
|
size?: string;
|
|
574
595
|
type?: string;
|
|
575
596
|
}
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
597
|
+
type ProviderMetadata = Record<string, Record<string, unknown>>;
|
|
598
|
+
/**
|
|
599
|
+
* A text part of a message.
|
|
600
|
+
*/
|
|
601
|
+
interface TextUIPart {
|
|
602
|
+
type: "text";
|
|
603
|
+
text: string;
|
|
604
|
+
/** "streaming" while tokens arrive; "done" when complete. */
|
|
605
|
+
state?: "streaming" | "done";
|
|
606
|
+
providerMetadata?: ProviderMetadata;
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* A reasoning ("thinking") part of a message — typically rendered as a
|
|
610
|
+
* collapsible panel.
|
|
611
|
+
*/
|
|
612
|
+
interface ReasoningUIPart {
|
|
613
|
+
type: "reasoning";
|
|
614
|
+
text: string;
|
|
615
|
+
state?: "streaming" | "done";
|
|
616
|
+
providerMetadata?: ProviderMetadata;
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* A file part of a message (image, document, audio, video).
|
|
620
|
+
*/
|
|
621
|
+
interface FileUIPart {
|
|
622
|
+
type: "file";
|
|
581
623
|
/**
|
|
582
|
-
*
|
|
583
|
-
* e.g. "Opus 4.6", "Sonnet 4.6", "GPT-5.4".
|
|
624
|
+
* IANA media type (e.g. `image/png`) or top-level segment (e.g. `image`).
|
|
584
625
|
*/
|
|
585
|
-
|
|
586
|
-
|
|
626
|
+
mediaType: string;
|
|
627
|
+
filename?: string;
|
|
628
|
+
/** URL or data: URL. */
|
|
629
|
+
url: string;
|
|
630
|
+
providerMetadata?: ProviderMetadata;
|
|
631
|
+
}
|
|
632
|
+
/**
|
|
633
|
+
* A file emitted as part of a reasoning trace (e.g. internal scratchpad).
|
|
634
|
+
*/
|
|
635
|
+
interface ReasoningFileUIPart {
|
|
636
|
+
type: "reasoning-file";
|
|
637
|
+
mediaType: string;
|
|
638
|
+
url: string;
|
|
639
|
+
providerMetadata?: ProviderMetadata;
|
|
640
|
+
}
|
|
641
|
+
/**
|
|
642
|
+
* A URL source citation.
|
|
643
|
+
*/
|
|
644
|
+
interface SourceUrlUIPart {
|
|
645
|
+
type: "source-url";
|
|
646
|
+
sourceId: string;
|
|
647
|
+
url: string;
|
|
648
|
+
title?: string;
|
|
649
|
+
providerMetadata?: ProviderMetadata;
|
|
650
|
+
}
|
|
651
|
+
/**
|
|
652
|
+
* A document source citation.
|
|
653
|
+
*/
|
|
654
|
+
interface SourceDocumentUIPart {
|
|
655
|
+
type: "source-document";
|
|
656
|
+
sourceId: string;
|
|
657
|
+
mediaType: string;
|
|
658
|
+
title: string;
|
|
659
|
+
filename?: string;
|
|
660
|
+
providerMetadata?: ProviderMetadata;
|
|
661
|
+
}
|
|
662
|
+
/**
|
|
663
|
+
* A step boundary marker — used to delimit multi-step agent responses.
|
|
664
|
+
*/
|
|
665
|
+
interface StepStartUIPart {
|
|
666
|
+
type: "step-start";
|
|
667
|
+
}
|
|
668
|
+
/**
|
|
669
|
+
* A provider-specific custom content part.
|
|
670
|
+
*/
|
|
671
|
+
interface CustomContentUIPart {
|
|
672
|
+
type: "custom";
|
|
673
|
+
/** Format: `${provider}.${providerType}`. */
|
|
674
|
+
kind: `${string}.${string}`;
|
|
675
|
+
providerMetadata?: ProviderMetadata;
|
|
676
|
+
}
|
|
677
|
+
type ToolInvocationState = "input-streaming" | "input-available" | "approval-requested" | "approval-responded" | "output-available" | "output-error" | "output-denied";
|
|
678
|
+
/**
|
|
679
|
+
* A tool invocation part — covers both static (typed) and dynamic tools via
|
|
680
|
+
* the `dynamic-tool` discriminator. The `type` field follows the Vercel
|
|
681
|
+
* convention: `tool-${toolName}` for static, `dynamic-tool` for runtime.
|
|
682
|
+
*/
|
|
683
|
+
interface ToolUIPart {
|
|
684
|
+
/** `tool-${toolName}` (static) or `dynamic-tool` (runtime). */
|
|
685
|
+
type: `tool-${string}` | "dynamic-tool";
|
|
686
|
+
toolCallId: string;
|
|
687
|
+
toolName?: string;
|
|
688
|
+
title?: string;
|
|
689
|
+
state: ToolInvocationState;
|
|
690
|
+
input?: unknown;
|
|
691
|
+
output?: unknown;
|
|
692
|
+
errorText?: string;
|
|
693
|
+
providerExecuted?: boolean;
|
|
694
|
+
callProviderMetadata?: ProviderMetadata;
|
|
695
|
+
resultProviderMetadata?: ProviderMetadata;
|
|
696
|
+
approval?: {
|
|
697
|
+
id: string;
|
|
698
|
+
approved?: boolean;
|
|
699
|
+
reason?: string;
|
|
700
|
+
isAutomatic?: boolean;
|
|
701
|
+
};
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* A data part — typed custom application state. The `type` field follows
|
|
705
|
+
* `data-${name}` and `data` carries the payload. Consumers register a
|
|
706
|
+
* renderer per `data-${name}` via the `<ChatMessage>` `dataRenderers` prop.
|
|
707
|
+
*/
|
|
708
|
+
interface DataUIPart {
|
|
709
|
+
/** `data-${name}` */
|
|
710
|
+
type: `data-${string}`;
|
|
711
|
+
id?: string;
|
|
712
|
+
data: unknown;
|
|
713
|
+
}
|
|
714
|
+
type UIMessagePart = TextUIPart | ReasoningUIPart | FileUIPart | ReasoningFileUIPart | SourceUrlUIPart | SourceDocumentUIPart | StepStartUIPart | CustomContentUIPart | ToolUIPart | DataUIPart;
|
|
715
|
+
declare function isTextUIPart(part: UIMessagePart): part is TextUIPart;
|
|
716
|
+
declare function isReasoningUIPart(part: UIMessagePart): part is ReasoningUIPart;
|
|
717
|
+
declare function isFileUIPart(part: UIMessagePart): part is FileUIPart;
|
|
718
|
+
declare function isReasoningFileUIPart(part: UIMessagePart): part is ReasoningFileUIPart;
|
|
719
|
+
declare function isSourceUrlUIPart(part: UIMessagePart): part is SourceUrlUIPart;
|
|
720
|
+
declare function isSourceDocumentUIPart(part: UIMessagePart): part is SourceDocumentUIPart;
|
|
721
|
+
declare function isStepStartUIPart(part: UIMessagePart): part is StepStartUIPart;
|
|
722
|
+
declare function isCustomContentUIPart(part: UIMessagePart): part is CustomContentUIPart;
|
|
723
|
+
declare function isToolUIPart(part: UIMessagePart): part is ToolUIPart;
|
|
724
|
+
declare function isDataUIPart(part: UIMessagePart): part is DataUIPart;
|
|
725
|
+
/**
|
|
726
|
+
* A chat message in UI form.
|
|
727
|
+
*
|
|
728
|
+
* Field-for-field compatible with `UIMessage` from `vercel/ai` (the AI SDK's
|
|
729
|
+
* `useChat()` return type) — a consumer's `useChat()` messages flow into
|
|
730
|
+
* `<ChatMessage message={msg} />` with zero adapter.
|
|
731
|
+
*
|
|
732
|
+
* `metadata` is opaque (`unknown`) so consumers can attach arbitrary fields
|
|
733
|
+
* (timestamps, model identifiers, request IDs, …) without our type
|
|
734
|
+
* dictating shape.
|
|
735
|
+
*/
|
|
736
|
+
interface UIMessage {
|
|
737
|
+
id: string;
|
|
738
|
+
role: MessageRole;
|
|
739
|
+
parts: UIMessagePart[];
|
|
740
|
+
metadata?: unknown;
|
|
587
741
|
}
|
|
588
742
|
|
|
589
743
|
type AgentEventType = "command" | "file_read" | "file_write" | "edit" | "lint" | "typecheck" | "build" | "tool";
|
|
@@ -2041,26 +2195,165 @@ interface SessionListItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonEleme
|
|
|
2041
2195
|
}
|
|
2042
2196
|
declare const SessionListItem: react.ForwardRefExoticComponent<SessionListItemProps & react.RefAttributes<HTMLButtonElement>>;
|
|
2043
2197
|
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2198
|
+
type DataRenderer = (data: unknown, part: DataUIPart) => JSX.Element;
|
|
2199
|
+
type DataRendererMap = Record<string, DataRenderer>;
|
|
2200
|
+
interface DataPartProps {
|
|
2201
|
+
part: DataUIPart;
|
|
2202
|
+
/** Map of `data-${name}` → renderer. */
|
|
2203
|
+
renderers?: DataRendererMap;
|
|
2204
|
+
}
|
|
2205
|
+
declare function DataPart({ part, renderers }: DataPartProps): JSX.Element;
|
|
2206
|
+
|
|
2207
|
+
type ChatMessageRootProps = HTMLAttributes<HTMLDivElement> & {
|
|
2208
|
+
/** Sender role — controls layout (right-aligned bubble for `user`, left for `assistant`/`system`). */
|
|
2209
|
+
from: MessageRole;
|
|
2210
|
+
};
|
|
2211
|
+
declare const ChatMessageRoot: react.ForwardRefExoticComponent<HTMLAttributes<HTMLDivElement> & {
|
|
2212
|
+
/** Sender role — controls layout (right-aligned bubble for `user`, left for `assistant`/`system`). */
|
|
2213
|
+
from: MessageRole;
|
|
2214
|
+
} & react.RefAttributes<HTMLDivElement>>;
|
|
2215
|
+
type ChatMessageContentVariant = "contained" | "flat";
|
|
2216
|
+
interface ChatMessageContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
2217
|
+
/**
|
|
2218
|
+
* `contained` (default) — bubble surface (background + padding + radius).
|
|
2219
|
+
* Applied to user role automatically. Assistant defaults to `flat`.
|
|
2220
|
+
*
|
|
2221
|
+
* `flat` — no bubble, content flows directly. Use for assistant or system.
|
|
2222
|
+
*/
|
|
2223
|
+
variant?: ChatMessageContentVariant;
|
|
2224
|
+
}
|
|
2225
|
+
declare const ChatMessageContent: react.ForwardRefExoticComponent<ChatMessageContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
2226
|
+
interface RenderPartOptions {
|
|
2227
|
+
/** Consumer-defined renderers for `data-${name}` parts. */
|
|
2228
|
+
dataRenderers?: DataRendererMap;
|
|
2229
|
+
/** Override built-in renderers per part `type`. */
|
|
2230
|
+
partRenderers?: PartRendererMap;
|
|
2231
|
+
}
|
|
2232
|
+
type PartRendererMap = Partial<{
|
|
2233
|
+
text: (part: TextUIPart) => ReactNode;
|
|
2234
|
+
reasoning: (part: ReasoningUIPart) => ReactNode;
|
|
2235
|
+
"reasoning-file": (part: ReasoningFileUIPart) => ReactNode;
|
|
2236
|
+
file: (part: FileUIPart) => ReactNode;
|
|
2237
|
+
"source-url": (part: SourceUrlUIPart) => ReactNode;
|
|
2238
|
+
"source-document": (part: SourceDocumentUIPart) => ReactNode;
|
|
2239
|
+
tool: (part: ToolUIPart) => ReactNode;
|
|
2240
|
+
data: (part: DataUIPart) => ReactNode;
|
|
2241
|
+
"step-start": () => ReactNode;
|
|
2242
|
+
}>;
|
|
2243
|
+
declare function renderPart(part: UIMessagePart, opts?: RenderPartOptions): ReactNode;
|
|
2244
|
+
interface ChatMessageProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2245
|
+
/** The UI message to render. Parts are dispatched automatically. */
|
|
2246
|
+
message: UIMessage;
|
|
2247
|
+
/** Optional avatar slot rendered before assistant/system content. */
|
|
2049
2248
|
avatar?: ReactNode;
|
|
2249
|
+
/** Optional toolbar (copy / regenerate / branch nav) rendered below the content. */
|
|
2250
|
+
actions?: ReactNode;
|
|
2251
|
+
/** Variant of the content bubble. */
|
|
2252
|
+
variant?: ChatMessageContentVariant;
|
|
2253
|
+
/** Override built-in part renderers. */
|
|
2254
|
+
partRenderers?: PartRendererMap;
|
|
2255
|
+
/** Renderers for `data-${name}` parts. */
|
|
2256
|
+
dataRenderers?: DataRendererMap;
|
|
2257
|
+
}
|
|
2258
|
+
declare const ChatMessage: react.ForwardRefExoticComponent<ChatMessageProps & react.RefAttributes<HTMLDivElement>>;
|
|
2259
|
+
|
|
2260
|
+
interface ChatMessageResponseProps {
|
|
2261
|
+
/** Raw markdown text from the model. */
|
|
2262
|
+
text: string;
|
|
2050
2263
|
/**
|
|
2051
|
-
*
|
|
2264
|
+
* True while tokens are still arriving. Enables the streaming-safe
|
|
2265
|
+
* preprocess pass (auto-closes incomplete `**bold`, fences, links, math).
|
|
2052
2266
|
*/
|
|
2053
|
-
|
|
2267
|
+
isStreaming?: boolean;
|
|
2268
|
+
/** Extra className on the prose wrapper. */
|
|
2269
|
+
className?: string;
|
|
2054
2270
|
}
|
|
2271
|
+
declare function ChatMessageResponseImpl({ text, isStreaming, className, }: ChatMessageResponseProps): ReactElement;
|
|
2272
|
+
declare const ChatMessageResponse: react.MemoExoticComponent<typeof ChatMessageResponseImpl>;
|
|
2273
|
+
|
|
2055
2274
|
/**
|
|
2056
|
-
*
|
|
2275
|
+
* `<ChatMessageActions>` + `<ChatMessageAction>` — footer toolbar for a chat
|
|
2276
|
+
* message (copy, regenerate, thumbs up/down, share, edit, …).
|
|
2057
2277
|
*
|
|
2058
|
-
*
|
|
2059
|
-
*
|
|
2060
|
-
*
|
|
2061
|
-
*
|
|
2278
|
+
* Forked from `vercel/ai-elements` `<MessageActions>` + `<MessageAction>`
|
|
2279
|
+
* (Apache-2.0, see NOTICE). Adapted to TheoUI primitives: `<Button>` from
|
|
2280
|
+
* `@usetheo/ui` instead of shadcn, no Tooltip primitive yet (Vercel uses
|
|
2281
|
+
* one — we render the `tooltip` prop as a `title` attribute for now; a
|
|
2282
|
+
* proper Tooltip primitive lands in a follow-up RFC).
|
|
2283
|
+
*/
|
|
2284
|
+
|
|
2285
|
+
type ChatMessageActionsProps = HTMLAttributes<HTMLDivElement>;
|
|
2286
|
+
declare function ChatMessageActions({ className, children, ...props }: ChatMessageActionsProps): JSX.Element;
|
|
2287
|
+
type ChatMessageActionProps = ComponentProps<typeof Button> & {
|
|
2288
|
+
/** Tooltip text — rendered as native `title` for now. */
|
|
2289
|
+
tooltip?: string;
|
|
2290
|
+
/** Accessible label (used by screen readers when only an icon is visible). */
|
|
2291
|
+
label?: string;
|
|
2292
|
+
children?: ReactNode;
|
|
2293
|
+
};
|
|
2294
|
+
declare function ChatMessageAction({ tooltip, label, variant, size, className, children, ...props }: ChatMessageActionProps): JSX.Element;
|
|
2295
|
+
|
|
2296
|
+
/**
|
|
2297
|
+
* `<ChatMessageToolbar>` — bottom-of-message bar holding actions + branch nav.
|
|
2298
|
+
* Forked from `vercel/ai-elements` `<MessageToolbar>` (Apache-2.0, NOTICE).
|
|
2062
2299
|
*/
|
|
2063
|
-
|
|
2300
|
+
|
|
2301
|
+
type ChatMessageToolbarProps = HTMLAttributes<HTMLDivElement>;
|
|
2302
|
+
declare function ChatMessageToolbar({ className, children, ...props }: ChatMessageToolbarProps): JSX.Element;
|
|
2303
|
+
|
|
2304
|
+
type ChatMessageBranchProps = HTMLAttributes<HTMLDivElement> & {
|
|
2305
|
+
defaultBranch?: number;
|
|
2306
|
+
onBranchChange?: (branchIndex: number) => void;
|
|
2307
|
+
};
|
|
2308
|
+
declare function ChatMessageBranch({ defaultBranch, onBranchChange, className, ...props }: ChatMessageBranchProps): JSX.Element;
|
|
2309
|
+
type ChatMessageBranchContentProps = HTMLAttributes<HTMLDivElement>;
|
|
2310
|
+
declare function ChatMessageBranchContent({ children, ...props }: ChatMessageBranchContentProps): JSX.Element;
|
|
2311
|
+
type ChatMessageBranchSelectorProps = HTMLAttributes<HTMLDivElement>;
|
|
2312
|
+
declare function ChatMessageBranchSelector({ className, ...props }: ChatMessageBranchSelectorProps): JSX.Element | null;
|
|
2313
|
+
type ChatMessageBranchPreviousProps = ComponentProps<typeof Button>;
|
|
2314
|
+
declare function ChatMessageBranchPrevious({ children, ...props }: ChatMessageBranchPreviousProps): JSX.Element;
|
|
2315
|
+
type ChatMessageBranchNextProps = ComponentProps<typeof Button>;
|
|
2316
|
+
declare function ChatMessageBranchNext({ children, ...props }: ChatMessageBranchNextProps): JSX.Element;
|
|
2317
|
+
type ChatMessageBranchPageProps = HTMLAttributes<HTMLSpanElement>;
|
|
2318
|
+
declare function ChatMessageBranchPage({ className, ...props }: ChatMessageBranchPageProps): JSX.Element;
|
|
2319
|
+
|
|
2320
|
+
/**
|
|
2321
|
+
* `<TextPart>` — renders a `TextUIPart`.
|
|
2322
|
+
*
|
|
2323
|
+
* Delegates to `<ChatMessageResponse>` which handles markdown + streaming
|
|
2324
|
+
* preprocess + code-block highlight + memoization.
|
|
2325
|
+
*/
|
|
2326
|
+
|
|
2327
|
+
interface TextPartProps {
|
|
2328
|
+
part: TextUIPart;
|
|
2329
|
+
}
|
|
2330
|
+
declare function TextPart({ part }: TextPartProps): JSX.Element;
|
|
2331
|
+
|
|
2332
|
+
interface ReasoningPartProps {
|
|
2333
|
+
part: ReasoningUIPart;
|
|
2334
|
+
/** Open by default. Useful while the model is still streaming reasoning. */
|
|
2335
|
+
defaultOpen?: boolean;
|
|
2336
|
+
}
|
|
2337
|
+
declare function ReasoningPart({ part, defaultOpen }: ReasoningPartProps): JSX.Element;
|
|
2338
|
+
|
|
2339
|
+
interface ToolCallPartProps {
|
|
2340
|
+
part: ToolUIPart;
|
|
2341
|
+
}
|
|
2342
|
+
declare function ToolCallPart({ part }: ToolCallPartProps): JSX.Element;
|
|
2343
|
+
|
|
2344
|
+
interface FilePartProps {
|
|
2345
|
+
part: FileUIPart;
|
|
2346
|
+
}
|
|
2347
|
+
declare function FilePart({ part }: FilePartProps): JSX.Element;
|
|
2348
|
+
|
|
2349
|
+
interface SourceUrlPartProps {
|
|
2350
|
+
part: SourceUrlUIPart;
|
|
2351
|
+
}
|
|
2352
|
+
declare function SourceUrlPart({ part }: SourceUrlPartProps): JSX.Element;
|
|
2353
|
+
interface SourceDocumentPartProps {
|
|
2354
|
+
part: SourceDocumentUIPart;
|
|
2355
|
+
}
|
|
2356
|
+
declare function SourceDocumentPart({ part }: SourceDocumentPartProps): JSX.Element;
|
|
2064
2357
|
|
|
2065
2358
|
/**
|
|
2066
2359
|
* ChatThread — simple vertical container that applies spacing + scroll.
|
|
@@ -3025,7 +3318,7 @@ interface StreamingStreamItem {
|
|
|
3025
3318
|
interface MessageStreamItem {
|
|
3026
3319
|
kind: "message";
|
|
3027
3320
|
id: string;
|
|
3028
|
-
message:
|
|
3321
|
+
message: UIMessage;
|
|
3029
3322
|
}
|
|
3030
3323
|
interface CustomStreamItem {
|
|
3031
3324
|
kind: "custom";
|
|
@@ -3369,4 +3662,4 @@ interface CommandPaletteProps {
|
|
|
3369
3662
|
*/
|
|
3370
3663
|
declare function CommandPalette({ open, onOpenChange, items, onSelect, placeholder, emptyMessage, filter, }: CommandPaletteProps): react_jsx_runtime.JSX.Element;
|
|
3371
3664
|
|
|
3372
|
-
export { ALL_MODES, AgentComposer, type AgentDraft, AgentEditor, AgentErrorCard, type AgentErrorKind, AgentEvent, type AgentEvent$1 as AgentEventModel, type AgentEventStatus, type AgentEventType, AgentHandoff, AgentProfile, type AgentProfileDescriptor, AgentStartingState, AgentStream, type AgentStreamItem, AgentStreaming, AgentTimeline, ApprovalCard, type ApprovalSeverity, ArtifactPreview, type Attachment, AttachmentChip, type AuditActorKind, type AuditEntry, AuditLogEntry, type AuditSeverity, AutoCompactNotice, Avatar, BadgeWithDot as Badge, type BadgeProps, BrowserControls, BuildLogStream, Button, type ButtonProps, type Capability, CapabilityIndicator, type CapabilityState, Card, ChatComposer, ChatMessage, ChatThread, Checkbox, type ColorScale, type CommandItem, CommandPalette, type ComposerMode, ContextCard, ContextWindowBar, CostMeter, type CreatedFile, CreatedFilesCard, type CronJob, CronJobCard, type CronJobStatus, CronJobsList, type DefineThemeInput, type Density, type DensityContextValue, type Deployment, DeploymentRow, type DeploymentStatus, Dialog, type DiffHunk, type DiffLine, type DiffLineKind, DiffViewer, type Domain, DomainConfig, type DomainStatus, EmptyState, type EnvScope, type EnvVar, EnvVarEditor, FolderContextCard, type FolderEntry, FolderSelector, FormField, HOOK_EVENTS, type HandoffParty, HookConfig, type HookEntry, type HookEvent, type HookEventEntry, HookEventLog, type HookEventResult, Input, type InputProps, type IntentOption, IntentSelector, Label, type Lane, LaneBoard, type LaneCard, type LaneState, type LogLevel, type LogLine, LoginSplit, type MCPServer, MCPServerCard, MCPServerList, type MCPServerStatus, MODE_LABEL, MemoryEditor, type MemoryLayer, type MemoryScope, type MentionItem, MentionMenu, type MentionTrigger, type
|
|
3665
|
+
export { ALL_MODES, AgentComposer, type AgentDraft, AgentEditor, AgentErrorCard, type AgentErrorKind, AgentEvent, type AgentEvent$1 as AgentEventModel, type AgentEventStatus, type AgentEventType, AgentHandoff, AgentProfile, type AgentProfileDescriptor, AgentStartingState, AgentStream, type AgentStreamItem, AgentStreaming, AgentTimeline, ApprovalCard, type ApprovalSeverity, ArtifactPreview, type Attachment, AttachmentChip, type AuditActorKind, type AuditEntry, AuditLogEntry, type AuditSeverity, AutoCompactNotice, Avatar, BadgeWithDot as Badge, type BadgeProps, BrowserControls, BuildLogStream, Button, type ButtonProps, type Capability, CapabilityIndicator, type CapabilityState, Card, ChatComposer, ChatMessage, ChatMessageAction, type ChatMessageActionProps, ChatMessageActions, type ChatMessageActionsProps, ChatMessageBranch, ChatMessageBranchContent, type ChatMessageBranchContentProps, ChatMessageBranchNext, type ChatMessageBranchNextProps, ChatMessageBranchPage, type ChatMessageBranchPageProps, ChatMessageBranchPrevious, type ChatMessageBranchPreviousProps, type ChatMessageBranchProps, ChatMessageBranchSelector, type ChatMessageBranchSelectorProps, ChatMessageContent, type ChatMessageContentProps, type ChatMessageContentVariant, type ChatMessageProps, ChatMessageResponse, type ChatMessageResponseProps, ChatMessageRoot, type ChatMessageRootProps, ChatMessageToolbar, type ChatMessageToolbarProps, ChatThread, Checkbox, type ColorScale, type CommandItem, CommandPalette, type ComposerMode, ContextCard, ContextWindowBar, CostMeter, type CreatedFile, CreatedFilesCard, type CronJob, CronJobCard, type CronJobStatus, CronJobsList, type CustomContentUIPart, DataPart, type DataPartProps, type DataRenderer, type DataRendererMap, type DataUIPart, type DefineThemeInput, type Density, type DensityContextValue, type Deployment, DeploymentRow, type DeploymentStatus, Dialog, type DiffHunk, type DiffLine, type DiffLineKind, DiffViewer, type Domain, DomainConfig, type DomainStatus, EmptyState, type EnvScope, type EnvVar, EnvVarEditor, FilePart, type FilePartProps, type FileUIPart, FolderContextCard, type FolderEntry, FolderSelector, FormField, HOOK_EVENTS, type HandoffParty, HookConfig, type HookEntry, type HookEvent, type HookEventEntry, HookEventLog, type HookEventResult, Input, type InputProps, type IntentOption, IntentSelector, Label, type Lane, LaneBoard, type LaneCard, type LaneState, type LogLevel, type LogLine, LoginSplit, type MCPServer, MCPServerCard, MCPServerList, type MCPServerStatus, MODE_LABEL, MemoryEditor, type MemoryLayer, type MemoryScope, type MentionItem, MentionMenu, type MentionTrigger, type MessageRole, type Metric, MetricsPanel, type Mode, type ModelCapabilityFlag, ModelCard, type ModelInfo, type ModelOption, ModelSelector, type PartRendererMap, type PermissionDecision, type PermissionDecisionKind, PermissionMatrix, PermissionModal, type PermissionOperation, type PermissionRequest, type PermissionRule, type PlanNode, type PlanNodeStatus, type PreviewEnv, PreviewEnvCard, PreviewPanel, type PreviewService, ProgressChecklist, type Project, ProjectCard, type ProjectStatus, ProjectSwitcher, type ProviderMetadata, type QuickAction, QuickActionChips, RadioGroup, type RailStep, type ReasoningFileUIPart, ReasoningPart, type ReasoningPartProps, type ReasoningUIPart, type RecentFolder, RecentFoldersList, type RenderPartOptions, type RollbackTarget, RollbackUI, type Rule, RuleCard, RuleEditor, type RuleScope, type RuleState, RunStats, type RunningTaskItem, type RunningTaskStatus, RunningTasksPanel, ScrollArea, Select, SessionListItem, type SessionMode, type SessionRunStatus, type SessionStatus, type SessionSummary, SessionTimeline, Sheet, Sidebar, Skeleton, type Skill, SkillCard, SkillEditor, type SkillSource, type SkillState, SkillsList, SocialAuthRow, type SocialProvider, SourceDocumentPart, type SourceDocumentPartProps, type SourceDocumentUIPart, SourceUrlPart, type SourceUrlPartProps, type SourceUrlUIPart, type StepStartUIPart, StepsRail, SubAgentDispatch, type SubAgentRun, type SubAgentState, Switch, SystemPromptEditor, Tabs, TaskHeader, TaskNode, TaskPlan, type TaskSource, type TaskStatus, type TaskStep, type TaskStepStatus, type TerminalLine, TerminalPanel, TextPart, type TextPartProps, type TextUIPart, Textarea, type TextareaProps, type Theme, type ThemeFonts, type ThemeMode, ThemeProvider, ThemeScript, ThemeSwitcher, TheoUIProvider, type TheoUIProviderProps, Toast, type ToastVariant, Toaster, TokenUsageChart, type TokenUsagePoint, ToolCall, ToolCallCard, ToolCallPart, type ToolCallPartProps, type ToolCallStatus, type ToolEnablement, type ToolEntry, type ToolInvocationState, ToolResult, type ToolUIPart, ToolsList, TooltipWithStatics as Tooltip, TopNav, type UIMessage, type UIMessagePart, anthropicStyle, auroraTerminal, avatarVariants, badgeVariants, builtinThemes, buttonVariants, capabilityPresets, classicPaper, cn, defineTheme, dracula, githubDark, hex, isCustomContentUIPart, isDataUIPart, isFileUIPart, isReasoningFileUIPart, isReasoningUIPart, isSourceDocumentUIPart, isSourceUrlUIPart, isStepStartUIPart, isTextUIPart, isToolUIPart, linearGlass, modelCapabilityPresets, oneDark, openaiStyle, renderPart, rgb, sheetVariants, useDensity, useTheme, useToast, vercelMono, violetForge };
|