@lukeashford/aurelius 3.0.0 → 3.2.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.mts CHANGED
@@ -602,6 +602,8 @@ interface StepperProps extends React$1.HTMLAttributes<HTMLDivElement> {
602
602
  }
603
603
  declare const Stepper: React$1.ForwardRefExoticComponent<StepperProps & React$1.RefAttributes<HTMLDivElement>>;
604
604
 
605
+ declare function ChatBubbleIcon({ className, ...props }: IconProps): React$1.JSX.Element;
606
+
605
607
  declare function ChevronLeftIcon({ className, ...props }: IconProps): React$1.JSX.Element;
606
608
 
607
609
  declare function ChevronRightIcon({ className, ...props }: IconProps): React$1.JSX.Element;
@@ -808,59 +810,6 @@ interface ChatInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'o
808
810
  */
809
811
  declare const ChatInput: React$1.ForwardRefExoticComponent<ChatInputProps & React$1.RefAttributes<HTMLDivElement>>;
810
812
 
811
- interface Conversation {
812
- id: string;
813
- title: string;
814
- preview?: string;
815
- timestamp?: string;
816
- isActive?: boolean;
817
- }
818
- interface ConversationSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
819
- /**
820
- * List of conversations to display
821
- */
822
- conversations: Conversation[];
823
- /**
824
- * Whether the sidebar is collapsed
825
- */
826
- isCollapsed?: boolean;
827
- /**
828
- * Callback when a conversation is selected
829
- */
830
- onSelectConversation?: (id: string) => void;
831
- /**
832
- * Callback when "New Chat" is clicked
833
- */
834
- onNewChat?: () => void;
835
- /**
836
- * Callback to toggle collapse state
837
- */
838
- onToggleCollapse?: () => void;
839
- /**
840
- * Current width of the sidebar (when expanded).
841
- * Accepts CSS width value (e.g., "15vw", "256px").
842
- */
843
- width?: string;
844
- /**
845
- * Callback to start resizing
846
- */
847
- onResizeStart?: (e: React$1.MouseEvent) => void;
848
- }
849
- /**
850
- * ConversationSidebar displays a collapsible list of past conversations.
851
- *
852
- * When collapsed, shows a thin strip with history icon at top.
853
- * When expanded, shows chevron at top-left to collapse.
854
- */
855
- declare const ConversationSidebar: React$1.ForwardRefExoticComponent<ConversationSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
856
- /**
857
- * Collapsed sidebar toggle button (for external use if needed)
858
- */
859
- interface CollapsedSidebarToggleProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
860
- onExpand?: () => void;
861
- }
862
- declare const CollapsedSidebarToggle: React$1.ForwardRefExoticComponent<CollapsedSidebarToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
863
-
864
813
  declare const TASK_STATUSES: {
865
814
  readonly PENDING: "pending";
866
815
  readonly IN_PROGRESS: "in_progress";
@@ -921,6 +870,99 @@ declare const TodosList: React$1.ForwardRefExoticComponent<TodosListProps & Reac
921
870
  */
922
871
  declare function areAllTasksSettled(tasks: Task[]): boolean;
923
872
 
873
+ /**
874
+ * Position group for a tool — combines vertical position (top/bottom)
875
+ * with sidebar side (left/right).
876
+ */
877
+ type ToolGroup = 'top-left' | 'bottom-left' | 'top-right' | 'bottom-right';
878
+ /**
879
+ * Describes a tool that can be toggled from the sidebar.
880
+ */
881
+ interface ToolDefinition {
882
+ /**
883
+ * Unique identifier for this tool
884
+ */
885
+ id: string;
886
+ /**
887
+ * Icon element shown in the sidebar button
888
+ */
889
+ icon: React$1.ReactNode;
890
+ /**
891
+ * Accessible label for the button
892
+ */
893
+ label: string;
894
+ /**
895
+ * Which group the tool belongs to — tools in the same group
896
+ * are mutually exclusive (opening one closes the other).
897
+ */
898
+ group: ToolGroup;
899
+ }
900
+ /**
901
+ * Consumer-provided tool definition passed via ChatInterface's `tools` prop.
902
+ * Defines a custom tool with its sidebar icon and the panel content to
903
+ * render when the tool is opened.
904
+ */
905
+ interface ExternalToolDefinition {
906
+ /**
907
+ * Unique identifier for this tool
908
+ */
909
+ id: string;
910
+ /**
911
+ * Icon element shown in the sidebar button
912
+ */
913
+ icon: React$1.ReactNode;
914
+ /**
915
+ * Accessible label for the button
916
+ */
917
+ label: string;
918
+ /**
919
+ * Which group the tool belongs to
920
+ */
921
+ group: ToolGroup;
922
+ /**
923
+ * Content to render when the tool is open
924
+ */
925
+ content: React$1.ReactNode;
926
+ }
927
+ /**
928
+ * Tracks which tool is open in each group (null = none).
929
+ */
930
+ interface ToolPanelState {
931
+ 'top-left': string | null;
932
+ 'bottom-left': string | null;
933
+ 'top-right': string | null;
934
+ 'bottom-right': string | null;
935
+ }
936
+ interface ToolSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
937
+ /**
938
+ * Available tool definitions
939
+ */
940
+ tools: ToolDefinition[];
941
+ /**
942
+ * Current state — which tool is open per group
943
+ */
944
+ activeTools: ToolPanelState;
945
+ /**
946
+ * Called when a tool button is clicked (toggle)
947
+ */
948
+ onToggleTool: (toolId: string) => void;
949
+ /**
950
+ * Which side this sidebar is on — controls border direction
951
+ */
952
+ side: 'left' | 'right';
953
+ }
954
+ /**
955
+ * ToolSidebar renders a vertical strip of tool icon buttons on either
956
+ * side of the chat interface. It follows the IntelliJ pattern:
957
+ *
958
+ * - Top-aligned group and bottom-aligned group separated by a divider
959
+ * - Tools in the same group are mutually exclusive
960
+ * - Clicking an active tool closes it; clicking an inactive tool opens it
961
+ * - Constant slim width regardless of tool panel state
962
+ * - Can be placed on left or right side via the `side` prop
963
+ */
964
+ declare const ToolSidebar: React$1.ForwardRefExoticComponent<ToolSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
965
+
924
966
  /**
925
967
  * Script element types following standard screenplay format
926
968
  */
@@ -1245,6 +1287,13 @@ interface ChatMessage {
1245
1287
  */
1246
1288
  isStreaming?: boolean;
1247
1289
  }
1290
+ interface Conversation {
1291
+ id: string;
1292
+ title: string;
1293
+ preview?: string;
1294
+ timestamp?: string;
1295
+ isActive?: boolean;
1296
+ }
1248
1297
  interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
1249
1298
  /**
1250
1299
  * Array of messages in the conversation (flat mode)
@@ -1309,10 +1358,6 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
1309
1358
  * Helper text shown in the empty state (when there are no messages).
1310
1359
  */
1311
1360
  emptyStateHelper?: React$1.ReactNode;
1312
- /**
1313
- * Whether the sidebar should be initially collapsed.
1314
- */
1315
- initialSidebarCollapsed?: boolean;
1316
1361
  /**
1317
1362
  * Custom content to show when the conversation is empty.
1318
1363
  * Overrides the default centered input and helper text.
@@ -1357,18 +1402,28 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
1357
1402
  * @default "Tasks"
1358
1403
  */
1359
1404
  tasksTitle?: string;
1405
+ /**
1406
+ * Additional tools to add to the tool sidebars. Each ExternalToolDefinition provides
1407
+ * an id, icon, label, group ('top-left' | 'bottom-left' | 'top-right' | 'bottom-right'),
1408
+ * and content (ReactNode) to render when opened. Tools in the same group are mutually
1409
+ * exclusive. Built-in tools occupy: History (top-left), Artifacts (top-right), Tasks
1410
+ * (bottom-right). Consumer tools are added alongside these.
1411
+ */
1412
+ tools?: ExternalToolDefinition[];
1360
1413
  }
1361
1414
  /**
1362
1415
  * ChatInterface is the main orchestrator for a full-featured chat experience.
1363
1416
  *
1364
1417
  * Features:
1365
- * - ConversationSidebar (left) — collapsible list of past conversations
1366
1418
  * - ChatView (center) — main conversation area with smart scrolling
1367
- * - Tool panel system (right) — IntelliJ-style tool sidebar with:
1368
- * - Top group: Chat History, Artifacts Panel (mutually exclusive)
1369
- * - Bottom group: Todo List
1370
- * - Vertical split with draggable divider when both groups are active
1371
- * - Width-resizable tool content area
1419
+ * - Dual tool sidebar system — IntelliJ-style tool sidebars on left and right:
1420
+ * - Left sidebar: History (top-left, conversation list + new chat) + consumer tools (bottom-left)
1421
+ * - Right sidebar: Artifacts (top-right) + Tasks (bottom-right) + consumer tools
1422
+ * - Tools in the same group are mutually exclusive
1423
+ * - Both panels can be open simultaneously — chat area shrinks to accommodate
1424
+ * - Each panel is independently width-resizable
1425
+ * - Vertical split with draggable divider when both slots in a panel are active
1426
+ * - Consumer tools via `tools` prop — provide icon, label, group, and content
1372
1427
  * - ChatInput — position-aware input that centers in empty state
1373
1428
  * - Branching — support for conversation tree with branch navigation
1374
1429
  * - Message Actions — copy, edit, retry
@@ -1459,60 +1514,6 @@ interface ArtifactsPanelToggleProps extends React$1.ButtonHTMLAttributes<HTMLBut
1459
1514
  }
1460
1515
  declare const ArtifactsPanelToggle: React$1.ForwardRefExoticComponent<ArtifactsPanelToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
1461
1516
 
1462
- /**
1463
- * Describes a tool that can be toggled from the sidebar.
1464
- */
1465
- interface ToolDefinition {
1466
- /**
1467
- * Unique identifier for this tool
1468
- */
1469
- id: string;
1470
- /**
1471
- * Icon element shown in the sidebar button
1472
- */
1473
- icon: React$1.ReactNode;
1474
- /**
1475
- * Accessible label for the button
1476
- */
1477
- label: string;
1478
- /**
1479
- * Which group the tool belongs to — tools in the same group
1480
- * are mutually exclusive (opening one closes the other).
1481
- */
1482
- group: 'top' | 'bottom';
1483
- }
1484
- /**
1485
- * Tracks which tool is open in each group (null = none).
1486
- */
1487
- interface ToolPanelState {
1488
- top: string | null;
1489
- bottom: string | null;
1490
- }
1491
- interface ToolSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
1492
- /**
1493
- * Available tool definitions
1494
- */
1495
- tools: ToolDefinition[];
1496
- /**
1497
- * Current state — which tool is open per group
1498
- */
1499
- activeTools: ToolPanelState;
1500
- /**
1501
- * Called when a tool button is clicked (toggle)
1502
- */
1503
- onToggleTool: (toolId: string) => void;
1504
- }
1505
- /**
1506
- * ToolSidebar renders a vertical strip of tool icon buttons on the right
1507
- * side of the chat interface. It follows the IntelliJ pattern:
1508
- *
1509
- * - Top-aligned group and bottom-aligned group separated by a divider
1510
- * - Tools in the same group are mutually exclusive
1511
- * - Clicking an active tool closes it; clicking an inactive tool opens it
1512
- * - Constant slim width regardless of tool panel state
1513
- */
1514
- declare const ToolSidebar: React$1.ForwardRefExoticComponent<ToolSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
1515
-
1516
1517
  interface ToolPanelContainerProps extends React$1.HTMLAttributes<HTMLDivElement> {
1517
1518
  /**
1518
1519
  * Content for the top tool slot (from the top group).
@@ -1532,6 +1533,10 @@ interface ToolPanelContainerProps extends React$1.HTMLAttributes<HTMLDivElement>
1532
1533
  * Callback to start horizontal resizing (width dragger)
1533
1534
  */
1534
1535
  onResizeStart?: (e: React$1.MouseEvent) => void;
1536
+ /**
1537
+ * Which side this panel is on — controls border and resize handle position
1538
+ */
1539
+ side?: 'left' | 'right';
1535
1540
  }
1536
1541
  /**
1537
1542
  * ToolPanelContainer manages the layout of one or two tool panels
@@ -1926,4 +1931,4 @@ declare const ArtifactVariantStack: React$1.ForwardRefExoticComponent<ArtifactVa
1926
1931
 
1927
1932
  declare const version = "2.0.0";
1928
1933
 
1929
- export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, type ArtifactNode, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatInput, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatMessage, ChatView, type ChatViewItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, CollapsedSidebarToggle, type CollapsedSidebarToggleProps, ColorSwatch, type ColorSwatchProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, ConversationSidebar, type ConversationSidebarProps, type ConversationTree, CrossSquareIcon, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, FileChip, type FileChipProps, type FileChipStatus, HelperText, type HelperTextProps, HistoryIcon, type IconProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextCard, type TextCardProps, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type UseArtifactTreeNavigationReturn, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addMessageToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, generateId, getActivePathMessages, getSiblingInfo, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, switchBranch, updateNodeContent, useArtifactTreeNavigation, useResizable, useScrollAnchor, useToast, version };
1934
+ export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, type ArtifactNode, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatBubbleIcon, ChatInput, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatMessage, ChatView, type ChatViewItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorSwatch, type ColorSwatchProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, type ConversationTree, CrossSquareIcon, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, type ExternalToolDefinition, FileChip, type FileChipProps, type FileChipStatus, HelperText, type HelperTextProps, HistoryIcon, type IconProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextCard, type TextCardProps, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, type ToolGroup, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type UseArtifactTreeNavigationReturn, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addMessageToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, generateId, getActivePathMessages, getSiblingInfo, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, switchBranch, updateNodeContent, useArtifactTreeNavigation, useResizable, useScrollAnchor, useToast, version };
package/dist/index.d.ts CHANGED
@@ -602,6 +602,8 @@ interface StepperProps extends React$1.HTMLAttributes<HTMLDivElement> {
602
602
  }
603
603
  declare const Stepper: React$1.ForwardRefExoticComponent<StepperProps & React$1.RefAttributes<HTMLDivElement>>;
604
604
 
605
+ declare function ChatBubbleIcon({ className, ...props }: IconProps): React$1.JSX.Element;
606
+
605
607
  declare function ChevronLeftIcon({ className, ...props }: IconProps): React$1.JSX.Element;
606
608
 
607
609
  declare function ChevronRightIcon({ className, ...props }: IconProps): React$1.JSX.Element;
@@ -808,59 +810,6 @@ interface ChatInputProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'o
808
810
  */
809
811
  declare const ChatInput: React$1.ForwardRefExoticComponent<ChatInputProps & React$1.RefAttributes<HTMLDivElement>>;
810
812
 
811
- interface Conversation {
812
- id: string;
813
- title: string;
814
- preview?: string;
815
- timestamp?: string;
816
- isActive?: boolean;
817
- }
818
- interface ConversationSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
819
- /**
820
- * List of conversations to display
821
- */
822
- conversations: Conversation[];
823
- /**
824
- * Whether the sidebar is collapsed
825
- */
826
- isCollapsed?: boolean;
827
- /**
828
- * Callback when a conversation is selected
829
- */
830
- onSelectConversation?: (id: string) => void;
831
- /**
832
- * Callback when "New Chat" is clicked
833
- */
834
- onNewChat?: () => void;
835
- /**
836
- * Callback to toggle collapse state
837
- */
838
- onToggleCollapse?: () => void;
839
- /**
840
- * Current width of the sidebar (when expanded).
841
- * Accepts CSS width value (e.g., "15vw", "256px").
842
- */
843
- width?: string;
844
- /**
845
- * Callback to start resizing
846
- */
847
- onResizeStart?: (e: React$1.MouseEvent) => void;
848
- }
849
- /**
850
- * ConversationSidebar displays a collapsible list of past conversations.
851
- *
852
- * When collapsed, shows a thin strip with history icon at top.
853
- * When expanded, shows chevron at top-left to collapse.
854
- */
855
- declare const ConversationSidebar: React$1.ForwardRefExoticComponent<ConversationSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
856
- /**
857
- * Collapsed sidebar toggle button (for external use if needed)
858
- */
859
- interface CollapsedSidebarToggleProps extends React$1.ButtonHTMLAttributes<HTMLButtonElement> {
860
- onExpand?: () => void;
861
- }
862
- declare const CollapsedSidebarToggle: React$1.ForwardRefExoticComponent<CollapsedSidebarToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
863
-
864
813
  declare const TASK_STATUSES: {
865
814
  readonly PENDING: "pending";
866
815
  readonly IN_PROGRESS: "in_progress";
@@ -921,6 +870,99 @@ declare const TodosList: React$1.ForwardRefExoticComponent<TodosListProps & Reac
921
870
  */
922
871
  declare function areAllTasksSettled(tasks: Task[]): boolean;
923
872
 
873
+ /**
874
+ * Position group for a tool — combines vertical position (top/bottom)
875
+ * with sidebar side (left/right).
876
+ */
877
+ type ToolGroup = 'top-left' | 'bottom-left' | 'top-right' | 'bottom-right';
878
+ /**
879
+ * Describes a tool that can be toggled from the sidebar.
880
+ */
881
+ interface ToolDefinition {
882
+ /**
883
+ * Unique identifier for this tool
884
+ */
885
+ id: string;
886
+ /**
887
+ * Icon element shown in the sidebar button
888
+ */
889
+ icon: React$1.ReactNode;
890
+ /**
891
+ * Accessible label for the button
892
+ */
893
+ label: string;
894
+ /**
895
+ * Which group the tool belongs to — tools in the same group
896
+ * are mutually exclusive (opening one closes the other).
897
+ */
898
+ group: ToolGroup;
899
+ }
900
+ /**
901
+ * Consumer-provided tool definition passed via ChatInterface's `tools` prop.
902
+ * Defines a custom tool with its sidebar icon and the panel content to
903
+ * render when the tool is opened.
904
+ */
905
+ interface ExternalToolDefinition {
906
+ /**
907
+ * Unique identifier for this tool
908
+ */
909
+ id: string;
910
+ /**
911
+ * Icon element shown in the sidebar button
912
+ */
913
+ icon: React$1.ReactNode;
914
+ /**
915
+ * Accessible label for the button
916
+ */
917
+ label: string;
918
+ /**
919
+ * Which group the tool belongs to
920
+ */
921
+ group: ToolGroup;
922
+ /**
923
+ * Content to render when the tool is open
924
+ */
925
+ content: React$1.ReactNode;
926
+ }
927
+ /**
928
+ * Tracks which tool is open in each group (null = none).
929
+ */
930
+ interface ToolPanelState {
931
+ 'top-left': string | null;
932
+ 'bottom-left': string | null;
933
+ 'top-right': string | null;
934
+ 'bottom-right': string | null;
935
+ }
936
+ interface ToolSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
937
+ /**
938
+ * Available tool definitions
939
+ */
940
+ tools: ToolDefinition[];
941
+ /**
942
+ * Current state — which tool is open per group
943
+ */
944
+ activeTools: ToolPanelState;
945
+ /**
946
+ * Called when a tool button is clicked (toggle)
947
+ */
948
+ onToggleTool: (toolId: string) => void;
949
+ /**
950
+ * Which side this sidebar is on — controls border direction
951
+ */
952
+ side: 'left' | 'right';
953
+ }
954
+ /**
955
+ * ToolSidebar renders a vertical strip of tool icon buttons on either
956
+ * side of the chat interface. It follows the IntelliJ pattern:
957
+ *
958
+ * - Top-aligned group and bottom-aligned group separated by a divider
959
+ * - Tools in the same group are mutually exclusive
960
+ * - Clicking an active tool closes it; clicking an inactive tool opens it
961
+ * - Constant slim width regardless of tool panel state
962
+ * - Can be placed on left or right side via the `side` prop
963
+ */
964
+ declare const ToolSidebar: React$1.ForwardRefExoticComponent<ToolSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
965
+
924
966
  /**
925
967
  * Script element types following standard screenplay format
926
968
  */
@@ -1245,6 +1287,13 @@ interface ChatMessage {
1245
1287
  */
1246
1288
  isStreaming?: boolean;
1247
1289
  }
1290
+ interface Conversation {
1291
+ id: string;
1292
+ title: string;
1293
+ preview?: string;
1294
+ timestamp?: string;
1295
+ isActive?: boolean;
1296
+ }
1248
1297
  interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'onSubmit'> {
1249
1298
  /**
1250
1299
  * Array of messages in the conversation (flat mode)
@@ -1309,10 +1358,6 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
1309
1358
  * Helper text shown in the empty state (when there are no messages).
1310
1359
  */
1311
1360
  emptyStateHelper?: React$1.ReactNode;
1312
- /**
1313
- * Whether the sidebar should be initially collapsed.
1314
- */
1315
- initialSidebarCollapsed?: boolean;
1316
1361
  /**
1317
1362
  * Custom content to show when the conversation is empty.
1318
1363
  * Overrides the default centered input and helper text.
@@ -1357,18 +1402,28 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
1357
1402
  * @default "Tasks"
1358
1403
  */
1359
1404
  tasksTitle?: string;
1405
+ /**
1406
+ * Additional tools to add to the tool sidebars. Each ExternalToolDefinition provides
1407
+ * an id, icon, label, group ('top-left' | 'bottom-left' | 'top-right' | 'bottom-right'),
1408
+ * and content (ReactNode) to render when opened. Tools in the same group are mutually
1409
+ * exclusive. Built-in tools occupy: History (top-left), Artifacts (top-right), Tasks
1410
+ * (bottom-right). Consumer tools are added alongside these.
1411
+ */
1412
+ tools?: ExternalToolDefinition[];
1360
1413
  }
1361
1414
  /**
1362
1415
  * ChatInterface is the main orchestrator for a full-featured chat experience.
1363
1416
  *
1364
1417
  * Features:
1365
- * - ConversationSidebar (left) — collapsible list of past conversations
1366
1418
  * - ChatView (center) — main conversation area with smart scrolling
1367
- * - Tool panel system (right) — IntelliJ-style tool sidebar with:
1368
- * - Top group: Chat History, Artifacts Panel (mutually exclusive)
1369
- * - Bottom group: Todo List
1370
- * - Vertical split with draggable divider when both groups are active
1371
- * - Width-resizable tool content area
1419
+ * - Dual tool sidebar system — IntelliJ-style tool sidebars on left and right:
1420
+ * - Left sidebar: History (top-left, conversation list + new chat) + consumer tools (bottom-left)
1421
+ * - Right sidebar: Artifacts (top-right) + Tasks (bottom-right) + consumer tools
1422
+ * - Tools in the same group are mutually exclusive
1423
+ * - Both panels can be open simultaneously — chat area shrinks to accommodate
1424
+ * - Each panel is independently width-resizable
1425
+ * - Vertical split with draggable divider when both slots in a panel are active
1426
+ * - Consumer tools via `tools` prop — provide icon, label, group, and content
1372
1427
  * - ChatInput — position-aware input that centers in empty state
1373
1428
  * - Branching — support for conversation tree with branch navigation
1374
1429
  * - Message Actions — copy, edit, retry
@@ -1459,60 +1514,6 @@ interface ArtifactsPanelToggleProps extends React$1.ButtonHTMLAttributes<HTMLBut
1459
1514
  }
1460
1515
  declare const ArtifactsPanelToggle: React$1.ForwardRefExoticComponent<ArtifactsPanelToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
1461
1516
 
1462
- /**
1463
- * Describes a tool that can be toggled from the sidebar.
1464
- */
1465
- interface ToolDefinition {
1466
- /**
1467
- * Unique identifier for this tool
1468
- */
1469
- id: string;
1470
- /**
1471
- * Icon element shown in the sidebar button
1472
- */
1473
- icon: React$1.ReactNode;
1474
- /**
1475
- * Accessible label for the button
1476
- */
1477
- label: string;
1478
- /**
1479
- * Which group the tool belongs to — tools in the same group
1480
- * are mutually exclusive (opening one closes the other).
1481
- */
1482
- group: 'top' | 'bottom';
1483
- }
1484
- /**
1485
- * Tracks which tool is open in each group (null = none).
1486
- */
1487
- interface ToolPanelState {
1488
- top: string | null;
1489
- bottom: string | null;
1490
- }
1491
- interface ToolSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
1492
- /**
1493
- * Available tool definitions
1494
- */
1495
- tools: ToolDefinition[];
1496
- /**
1497
- * Current state — which tool is open per group
1498
- */
1499
- activeTools: ToolPanelState;
1500
- /**
1501
- * Called when a tool button is clicked (toggle)
1502
- */
1503
- onToggleTool: (toolId: string) => void;
1504
- }
1505
- /**
1506
- * ToolSidebar renders a vertical strip of tool icon buttons on the right
1507
- * side of the chat interface. It follows the IntelliJ pattern:
1508
- *
1509
- * - Top-aligned group and bottom-aligned group separated by a divider
1510
- * - Tools in the same group are mutually exclusive
1511
- * - Clicking an active tool closes it; clicking an inactive tool opens it
1512
- * - Constant slim width regardless of tool panel state
1513
- */
1514
- declare const ToolSidebar: React$1.ForwardRefExoticComponent<ToolSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
1515
-
1516
1517
  interface ToolPanelContainerProps extends React$1.HTMLAttributes<HTMLDivElement> {
1517
1518
  /**
1518
1519
  * Content for the top tool slot (from the top group).
@@ -1532,6 +1533,10 @@ interface ToolPanelContainerProps extends React$1.HTMLAttributes<HTMLDivElement>
1532
1533
  * Callback to start horizontal resizing (width dragger)
1533
1534
  */
1534
1535
  onResizeStart?: (e: React$1.MouseEvent) => void;
1536
+ /**
1537
+ * Which side this panel is on — controls border and resize handle position
1538
+ */
1539
+ side?: 'left' | 'right';
1535
1540
  }
1536
1541
  /**
1537
1542
  * ToolPanelContainer manages the layout of one or two tool panels
@@ -1926,4 +1931,4 @@ declare const ArtifactVariantStack: React$1.ForwardRefExoticComponent<ArtifactVa
1926
1931
 
1927
1932
  declare const version = "2.0.0";
1928
1933
 
1929
- export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, type ArtifactNode, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatInput, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatMessage, ChatView, type ChatViewItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, CollapsedSidebarToggle, type CollapsedSidebarToggleProps, ColorSwatch, type ColorSwatchProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, ConversationSidebar, type ConversationSidebarProps, type ConversationTree, CrossSquareIcon, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, FileChip, type FileChipProps, type FileChipStatus, HelperText, type HelperTextProps, HistoryIcon, type IconProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextCard, type TextCardProps, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type UseArtifactTreeNavigationReturn, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addMessageToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, generateId, getActivePathMessages, getSiblingInfo, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, switchBranch, updateNodeContent, useArtifactTreeNavigation, useResizable, useScrollAnchor, useToast, version };
1934
+ export { ARTIFACT_TYPES, Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDialog, type AlertDialogProps, type AlertProps, type AlertVariant, type Artifact, ArtifactCard, type ArtifactCardProps, ArtifactGroup, type ArtifactGroupProps, type ArtifactNode, type ArtifactType, ArtifactVariantStack, type ArtifactVariantStackProps, ArtifactsPanel, type ArtifactsPanelProps, ArtifactsPanelToggle, type ArtifactsPanelToggleProps, type AspectRatio, type AspectRatioPreset, type Attachment, type AttachmentItem, AttachmentPreview, type AttachmentPreviewProps, type AttachmentStatus, AudioCard, type AudioCardProps, Avatar, type AvatarProps, type AvatarSize, Badge, type BadgeProps, type BadgeVariant, BranchNavigator, type BranchNavigatorProps, BrandIcon, type BrandIconProps, type BrandIconSize, type BrandIconVariant, Breadcrumb, type BreadcrumbEntry, BreadcrumbItem, type BreadcrumbItemProps, BreadcrumbLink, type BreadcrumbLinkProps, type BreadcrumbProps, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardMediaProps, type CardProps, type CardVariant, ChatBubbleIcon, ChatInput, type ChatInputPosition, type ChatInputProps, ChatInterface, type ChatInterfaceProps, type ChatMessage, ChatView, type ChatViewItem, type ChatViewProps, CheckSquareIcon, Checkbox, type CheckboxProps, ChevronLeftIcon, ChevronRightIcon, CloseIcon, Col, type ColOffset, type ColOrder, type ColProps, type ColSpan, ColorSwatch, type ColorSwatchProps, ConfirmDialog, type ConfirmDialogProps, Container, type ContainerProps, type ContainerSize, type Conversation, type ConversationTree, CrossSquareIcon, Divider, type DividerProps, Drawer, type DrawerPosition, type DrawerProps, EmptySquareIcon, ExpandIcon, type ExternalToolDefinition, FileChip, type FileChipProps, type FileChipStatus, HelperText, type HelperTextProps, HistoryIcon, type IconProps, ImageCard, type ImageCardProps, Input, type InputAddonProps, type InputElementProps, InputGroup, type InputGroupProps, InputLeftAddon, InputLeftElement, type InputProps, InputRightAddon, InputRightElement, InputWrapper, type InputWrapperProps, Label, type LabelProps, LayersIcon, List, ListItem, type ListItemProps, ListItemText, type ListItemTextProps, type ListProps, ListSubheader, type ListSubheaderProps, MarkdownContent, type MarkdownContentProps, MediaIcon, Menu, MenuContent, type MenuContentProps, MenuItem, type MenuItemProps, MenuLabel, type MenuProps, MenuSeparator, MenuTrigger, type MenuTriggerProps, Message, MessageActions, type MessageActionsConfig, type MessageActionsProps, type MessageActionsVariant, type MessageBranchInfo, type MessageNode, type MessageProps, type MessageVariant, Modal, type ModalProps, NODE_TYPES, Navbar, NavbarBrand, type NavbarBrandProps, NavbarContent, type NavbarContentProps, NavbarDivider, NavbarItem, type NavbarItemProps, NavbarLink, type NavbarLinkProps, type NavbarProps, type NodeType, Pagination, type PaginationProps, PdfCard, type PdfCardProps, PlusIcon, Popover, type PopoverAlign, type PopoverPosition, type PopoverProps, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Radio, type RadioProps, Row, type RowAlign, type RowGutter, type RowJustify, type RowProps, SCRIPT_ELEMENT_TYPES, ScriptCard, type ScriptCardProps, type ScriptElement, type ScriptElementType, SectionHeading, type SectionHeadingLevel, type SectionHeadingProps, Select, type SelectOption, type SelectProps, Skeleton, type SkeletonProps, Slider, type SliderProps, Spinner, type SpinnerProps, SquareLoaderIcon, Stack, type StackDirection, type StackGap, type StackProps, type Step, type StepStatus, Stepper, type StepperProps, StreamingCursor, type StreamingCursorProps, Switch, type SwitchProps, TASK_STATUSES, Tab, TabList, type TabListProps, TabPanel, type TabPanelProps, type TabProps, Table, TableBody, type TableBodyProps, TableCaption, type TableCaptionProps, TableCell, type TableCellProps, TableFooter, type TableFooterProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsProps, type Task, type TaskStatus, TextCard, type TextCardProps, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, type ToastData, type ToastPosition, ToastProvider, type ToastProviderProps, type ToastVariant, TodosList, type TodosListProps, type ToolDefinition, type ToolGroup, ToolPanelContainer, type ToolPanelContainerProps, type ToolPanelState, ToolSidebar, type ToolSidebarProps, Tooltip, type TooltipProps, type UseArtifactTreeNavigationReturn, type UseScrollAnchorOptions, type UseScrollAnchorReturn, type VideoAspectRatio, type VideoAspectRatioPreset, VideoCard, type VideoCardProps, addMessageToTree, areAllTasksSettled, createEmptyTree, createPreviewUrl, generateId, getActivePathMessages, getSiblingInfo, isBranchPoint, isImageFile, messagesToTree, revokePreviewUrl, switchBranch, updateNodeContent, useArtifactTreeNavigation, useResizable, useScrollAnchor, useToast, version };