@usetheo/ui 0.5.0-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/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
- type MessageRole = "user" | "assistant" | "system";
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
- interface Message {
577
- id: string;
578
- role: MessageRole;
579
- content: string | ReactNode;
580
- timestamp?: string;
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
- * Model that produced this message (assistant role only).
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
- model?: string;
586
- attachments?: Attachment[];
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
- interface ChatMessageProps extends HTMLAttributes<HTMLElement> {
2045
- message: Message;
2046
- /**
2047
- * Optional avatar slot rendered before assistant/user content.
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
- * Optional toolbar (copy, regenerate, etc.) rendered after the content.
2264
+ * True while tokens are still arriving. Enables the streaming-safe
2265
+ * preprocess pass (auto-closes incomplete `**bold`, fences, links, math).
2052
2266
  */
2053
- actions?: ReactNode;
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
- * ChatMessagesingle chat turn.
2275
+ * `<ChatMessageActions>` + `<ChatMessageAction>` footer toolbar for a chat
2276
+ * message (copy, regenerate, thumbs up/down, share, edit, …).
2057
2277
  *
2058
- * Visual:
2059
- * - user → soft surface bubble aligned right, max-width 70%
2060
- * - assistant card with violet accent border-left + display-font title for model + body
2061
- * - system → muted callout with accent-deep border
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
- declare const ChatMessage: react.ForwardRefExoticComponent<ChatMessageProps & react.RefAttributes<HTMLElement>>;
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: 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 Message, type MessageRole, type Metric, MetricsPanel, type Mode, type ModelCapabilityFlag, ModelCard, type ModelInfo, type ModelOption, ModelSelector, 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 QuickAction, QuickActionChips, RadioGroup, type RailStep, type RecentFolder, RecentFoldersList, 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, StepsRail, SubAgentDispatch, type SubAgentRun, type SubAgentState, Switch, SystemPromptEditor, Tabs, TaskHeader, TaskNode, TaskPlan, type TaskSource, type TaskStatus, type TaskStep, type TaskStepStatus, type TerminalLine, TerminalPanel, Textarea, type TextareaProps, type Theme, type ThemeFonts, type ThemeMode, ThemeProvider, ThemeScript, ThemeSwitcher, TheoUIProvider, type TheoUIProviderProps, Toast, type ToastVariant, Toaster, TokenUsageChart, type TokenUsagePoint, ToolCall, ToolCallCard, type ToolCallStatus, type ToolEnablement, type ToolEntry, ToolResult, ToolsList, TooltipWithStatics as Tooltip, TopNav, anthropicStyle, auroraTerminal, avatarVariants, badgeVariants, builtinThemes, buttonVariants, capabilityPresets, classicPaper, cn, defineTheme, dracula, githubDark, hex, linearGlass, modelCapabilityPresets, oneDark, openaiStyle, rgb, sheetVariants, useDensity, useTheme, useToast, vercelMono, violetForge };
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 };