@lukeashford/aurelius 2.21.0 → 3.1.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 +208 -219
- package/dist/index.d.ts +208 -219
- package/dist/index.js +199 -188
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +144 -132
- package/dist/index.mjs.map +1 -1
- package/llms.md +32 -63
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -921,47 +921,98 @@ declare const TodosList: React$1.ForwardRefExoticComponent<TodosListProps & Reac
|
|
|
921
921
|
*/
|
|
922
922
|
declare function areAllTasksSettled(tasks: Task[]): boolean;
|
|
923
923
|
|
|
924
|
-
|
|
924
|
+
/**
|
|
925
|
+
* Position group for a tool — combines vertical position (top/bottom)
|
|
926
|
+
* with sidebar side (left/right).
|
|
927
|
+
*/
|
|
928
|
+
type ToolGroup = 'top-left' | 'bottom-left' | 'top-right' | 'bottom-right';
|
|
929
|
+
/**
|
|
930
|
+
* Describes a tool that can be toggled from the sidebar.
|
|
931
|
+
*/
|
|
932
|
+
interface ToolDefinition {
|
|
925
933
|
/**
|
|
926
|
-
*
|
|
934
|
+
* Unique identifier for this tool
|
|
927
935
|
*/
|
|
928
|
-
|
|
936
|
+
id: string;
|
|
929
937
|
/**
|
|
930
|
-
*
|
|
938
|
+
* Icon element shown in the sidebar button
|
|
931
939
|
*/
|
|
932
|
-
|
|
940
|
+
icon: React$1.ReactNode;
|
|
941
|
+
/**
|
|
942
|
+
* Accessible label for the button
|
|
943
|
+
*/
|
|
944
|
+
label: string;
|
|
945
|
+
/**
|
|
946
|
+
* Which group the tool belongs to — tools in the same group
|
|
947
|
+
* are mutually exclusive (opening one closes the other).
|
|
948
|
+
*/
|
|
949
|
+
group: ToolGroup;
|
|
933
950
|
}
|
|
934
|
-
|
|
951
|
+
/**
|
|
952
|
+
* Consumer-provided tool definition passed via ChatInterface's `tools` prop.
|
|
953
|
+
* Defines a custom tool with its sidebar icon and the panel content to
|
|
954
|
+
* render when the tool is opened.
|
|
955
|
+
*/
|
|
956
|
+
interface ExternalToolDefinition {
|
|
935
957
|
/**
|
|
936
|
-
*
|
|
958
|
+
* Unique identifier for this tool
|
|
937
959
|
*/
|
|
938
|
-
|
|
960
|
+
id: string;
|
|
939
961
|
/**
|
|
940
|
-
*
|
|
962
|
+
* Icon element shown in the sidebar button
|
|
941
963
|
*/
|
|
942
|
-
|
|
964
|
+
icon: React$1.ReactNode;
|
|
943
965
|
/**
|
|
944
|
-
*
|
|
966
|
+
* Accessible label for the button
|
|
945
967
|
*/
|
|
946
|
-
|
|
968
|
+
label: string;
|
|
947
969
|
/**
|
|
948
|
-
*
|
|
970
|
+
* Which group the tool belongs to
|
|
949
971
|
*/
|
|
950
|
-
|
|
972
|
+
group: ToolGroup;
|
|
951
973
|
/**
|
|
952
|
-
*
|
|
974
|
+
* Content to render when the tool is open
|
|
953
975
|
*/
|
|
954
|
-
|
|
976
|
+
content: React$1.ReactNode;
|
|
955
977
|
}
|
|
956
978
|
/**
|
|
957
|
-
*
|
|
979
|
+
* Tracks which tool is open in each group (null = none).
|
|
980
|
+
*/
|
|
981
|
+
interface ToolPanelState {
|
|
982
|
+
'top-left': string | null;
|
|
983
|
+
'bottom-left': string | null;
|
|
984
|
+
'top-right': string | null;
|
|
985
|
+
'bottom-right': string | null;
|
|
986
|
+
}
|
|
987
|
+
interface ToolSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
988
|
+
/**
|
|
989
|
+
* Available tool definitions
|
|
990
|
+
*/
|
|
991
|
+
tools: ToolDefinition[];
|
|
992
|
+
/**
|
|
993
|
+
* Current state — which tool is open per group
|
|
994
|
+
*/
|
|
995
|
+
activeTools: ToolPanelState;
|
|
996
|
+
/**
|
|
997
|
+
* Called when a tool button is clicked (toggle)
|
|
998
|
+
*/
|
|
999
|
+
onToggleTool: (toolId: string) => void;
|
|
1000
|
+
/**
|
|
1001
|
+
* Which side this sidebar is on — controls border direction
|
|
1002
|
+
*/
|
|
1003
|
+
side: 'left' | 'right';
|
|
1004
|
+
}
|
|
1005
|
+
/**
|
|
1006
|
+
* ToolSidebar renders a vertical strip of tool icon buttons on either
|
|
1007
|
+
* side of the chat interface. It follows the IntelliJ pattern:
|
|
958
1008
|
*
|
|
959
|
-
*
|
|
960
|
-
* -
|
|
961
|
-
* -
|
|
962
|
-
* -
|
|
1009
|
+
* - Top-aligned group and bottom-aligned group separated by a divider
|
|
1010
|
+
* - Tools in the same group are mutually exclusive
|
|
1011
|
+
* - Clicking an active tool closes it; clicking an inactive tool opens it
|
|
1012
|
+
* - Constant slim width regardless of tool panel state
|
|
1013
|
+
* - Can be placed on left or right side via the `side` prop
|
|
963
1014
|
*/
|
|
964
|
-
declare
|
|
1015
|
+
declare const ToolSidebar: React$1.ForwardRefExoticComponent<ToolSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
965
1016
|
|
|
966
1017
|
/**
|
|
967
1018
|
* Script element types following standard screenplay format
|
|
@@ -1108,83 +1159,6 @@ interface ArtifactCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1108
1159
|
*/
|
|
1109
1160
|
declare const ArtifactCard: React$1.ForwardRefExoticComponent<ArtifactCardProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1110
1161
|
|
|
1111
|
-
interface UseArtifactsReturn {
|
|
1112
|
-
/**
|
|
1113
|
-
* Current list of artifacts
|
|
1114
|
-
*/
|
|
1115
|
-
artifacts: Artifact[];
|
|
1116
|
-
/**
|
|
1117
|
-
* Schedule a new artifact (adds to list with isPending=true, shows skeleton).
|
|
1118
|
-
*/
|
|
1119
|
-
scheduleArtifact: (artifact: Omit<Artifact, 'isPending'>) => void;
|
|
1120
|
-
/**
|
|
1121
|
-
* Show an artifact (updates existing or adds new with isPending=false).
|
|
1122
|
-
*/
|
|
1123
|
-
showArtifact: (artifactId: string, artifact: Omit<Artifact, 'id' | 'isPending'>) => void;
|
|
1124
|
-
/**
|
|
1125
|
-
* Remove an artifact from the list.
|
|
1126
|
-
*/
|
|
1127
|
-
removeArtifact: (artifactId: string) => void;
|
|
1128
|
-
/**
|
|
1129
|
-
* Clear all artifacts
|
|
1130
|
-
*/
|
|
1131
|
-
clearArtifacts: () => void;
|
|
1132
|
-
}
|
|
1133
|
-
/**
|
|
1134
|
-
* Hook for managing artifacts in the ChatInterface.
|
|
1135
|
-
*
|
|
1136
|
-
* Provides methods to control the artifacts panel programmatically,
|
|
1137
|
-
* designed for event-driven architectures like SSE streams.
|
|
1138
|
-
*
|
|
1139
|
-
* @example
|
|
1140
|
-
* ```tsx
|
|
1141
|
-
* const { artifacts, scheduleArtifact, showArtifact, removeArtifact } = useArtifacts()
|
|
1142
|
-
*
|
|
1143
|
-
* // When SSE operator.started event arrives
|
|
1144
|
-
* scheduleArtifact({ id: operatorId, type: 'IMAGE' })
|
|
1145
|
-
*
|
|
1146
|
-
* // When SSE artifact.created event arrives
|
|
1147
|
-
* showArtifact(artifactId, {
|
|
1148
|
-
* type: 'IMAGE',
|
|
1149
|
-
* url: 'https://example.com/image.png',
|
|
1150
|
-
* title: 'Generated Image',
|
|
1151
|
-
* })
|
|
1152
|
-
*
|
|
1153
|
-
* // When SSE operator.failed event arrives
|
|
1154
|
-
* removeArtifact(operatorId)
|
|
1155
|
-
* ```
|
|
1156
|
-
*/
|
|
1157
|
-
declare function useArtifacts(): UseArtifactsReturn;
|
|
1158
|
-
|
|
1159
|
-
interface UseResizableProps {
|
|
1160
|
-
/**
|
|
1161
|
-
* Initial width as percentage of viewport (0-100)
|
|
1162
|
-
*/
|
|
1163
|
-
initialWidthPercent: number;
|
|
1164
|
-
/**
|
|
1165
|
-
* Minimum width as percentage of viewport (0-100)
|
|
1166
|
-
*/
|
|
1167
|
-
minWidthPercent: number;
|
|
1168
|
-
/**
|
|
1169
|
-
* Maximum width as percentage of viewport (0-100)
|
|
1170
|
-
*/
|
|
1171
|
-
maxWidthPercent: number;
|
|
1172
|
-
/**
|
|
1173
|
-
* Direction to resize from
|
|
1174
|
-
*/
|
|
1175
|
-
direction: 'left' | 'right';
|
|
1176
|
-
}
|
|
1177
|
-
/**
|
|
1178
|
-
* Hook for resizable panels with percentage-based widths.
|
|
1179
|
-
* Returns width as a CSS percentage string (e.g., "50%").
|
|
1180
|
-
*/
|
|
1181
|
-
declare function useResizable({ initialWidthPercent, minWidthPercent, maxWidthPercent, direction, }: UseResizableProps): {
|
|
1182
|
-
width: string;
|
|
1183
|
-
widthPercent: number;
|
|
1184
|
-
isResizing: boolean;
|
|
1185
|
-
startResizing: (e: React.MouseEvent) => void;
|
|
1186
|
-
};
|
|
1187
|
-
|
|
1188
1162
|
/**
|
|
1189
1163
|
* Node types in the artifact tree
|
|
1190
1164
|
*/
|
|
@@ -1225,39 +1199,6 @@ interface ArtifactNode {
|
|
|
1225
1199
|
children: ArtifactNode[];
|
|
1226
1200
|
}
|
|
1227
1201
|
|
|
1228
|
-
/**
|
|
1229
|
-
* A breadcrumb entry representing one level of navigation depth.
|
|
1230
|
-
*/
|
|
1231
|
-
interface BreadcrumbEntry {
|
|
1232
|
-
/** Display label for this level */
|
|
1233
|
-
label: string;
|
|
1234
|
-
/** The group node at this level (null for root) */
|
|
1235
|
-
node: ArtifactNode | null;
|
|
1236
|
-
}
|
|
1237
|
-
/**
|
|
1238
|
-
* Return type for the useArtifactTreeNavigation hook.
|
|
1239
|
-
*/
|
|
1240
|
-
interface UseArtifactTreeNavigationReturn {
|
|
1241
|
-
/** Nodes to display at the current navigation level */
|
|
1242
|
-
currentNodes: ArtifactNode[];
|
|
1243
|
-
/** Breadcrumb trail from root to current level */
|
|
1244
|
-
breadcrumbs: BreadcrumbEntry[];
|
|
1245
|
-
/** Whether the user is at the root level */
|
|
1246
|
-
isAtRoot: boolean;
|
|
1247
|
-
/** Navigate into a group node, pushing it onto the stack */
|
|
1248
|
-
navigateInto: (node: ArtifactNode) => void;
|
|
1249
|
-
/** Navigate to a specific breadcrumb level by index */
|
|
1250
|
-
navigateTo: (index: number) => void;
|
|
1251
|
-
/** Navigate back one level */
|
|
1252
|
-
navigateBack: () => void;
|
|
1253
|
-
}
|
|
1254
|
-
/**
|
|
1255
|
-
* Manages navigation state for an artifact tree panel.
|
|
1256
|
-
* Maintains a stack of group nodes the user has navigated into,
|
|
1257
|
-
* deriving children from the node references themselves.
|
|
1258
|
-
*/
|
|
1259
|
-
declare function useArtifactTreeNavigation(rootNodes: ArtifactNode[]): UseArtifactTreeNavigationReturn;
|
|
1260
|
-
|
|
1261
1202
|
/**
|
|
1262
1203
|
* Conversation Tree Types
|
|
1263
1204
|
*
|
|
@@ -1487,13 +1428,7 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
|
|
|
1487
1428
|
*/
|
|
1488
1429
|
onAttachmentsChange?: (attachments: Attachment[]) => void;
|
|
1489
1430
|
/**
|
|
1490
|
-
*
|
|
1491
|
-
* Best managed via the useArtifacts hook and passed here.
|
|
1492
|
-
*/
|
|
1493
|
-
artifacts?: Artifact[];
|
|
1494
|
-
/**
|
|
1495
|
-
* Top-level artifact tree nodes for tree-aware navigation.
|
|
1496
|
-
* When provided, the panel renders a navigable tree instead of a flat list.
|
|
1431
|
+
* Top-level artifact tree nodes for the artifacts panel.
|
|
1497
1432
|
*/
|
|
1498
1433
|
artifactNodes?: ArtifactNode[];
|
|
1499
1434
|
/**
|
|
@@ -1515,27 +1450,36 @@ interface ChatInterfaceProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>
|
|
|
1515
1450
|
* @default "Tasks"
|
|
1516
1451
|
*/
|
|
1517
1452
|
tasksTitle?: string;
|
|
1453
|
+
/**
|
|
1454
|
+
* Additional tools to add to the tool sidebars. Each ExternalToolDefinition provides
|
|
1455
|
+
* an id, icon, label, group ('top-left' | 'bottom-left' | 'top-right' | 'bottom-right'),
|
|
1456
|
+
* and content (ReactNode) to render when opened. Tools in the same group are mutually
|
|
1457
|
+
* exclusive. Built-in tools occupy: History (top-left), Artifacts (top-right), Tasks
|
|
1458
|
+
* (bottom-right). Consumer tools are added alongside these.
|
|
1459
|
+
*/
|
|
1460
|
+
tools?: ExternalToolDefinition[];
|
|
1518
1461
|
}
|
|
1519
1462
|
/**
|
|
1520
1463
|
* ChatInterface is the main orchestrator for a full-featured chat experience.
|
|
1521
1464
|
*
|
|
1522
1465
|
* Features:
|
|
1523
|
-
* - ConversationSidebar (left) — collapsible list of past conversations
|
|
1466
|
+
* - ConversationSidebar (far left) — collapsible list of past conversations
|
|
1524
1467
|
* - ChatView (center) — main conversation area with smart scrolling
|
|
1525
|
-
* -
|
|
1526
|
-
* -
|
|
1527
|
-
* -
|
|
1528
|
-
* -
|
|
1529
|
-
* -
|
|
1468
|
+
* - Dual tool sidebar system — IntelliJ-style tool sidebars on left and right:
|
|
1469
|
+
* - Left sidebar: History (top-left) + consumer tools (bottom-left)
|
|
1470
|
+
* - Right sidebar: Artifacts (top-right) + Tasks (bottom-right) + consumer tools
|
|
1471
|
+
* - Tools in the same group are mutually exclusive
|
|
1472
|
+
* - Both panels can be open simultaneously — chat area shrinks to accommodate
|
|
1473
|
+
* - Each panel is independently width-resizable
|
|
1474
|
+
* - Vertical split with draggable divider when both slots in a panel are active
|
|
1475
|
+
* - Consumer tools via `tools` prop — provide icon, label, group, and content
|
|
1530
1476
|
* - ChatInput — position-aware input that centers in empty state
|
|
1531
1477
|
* - Branching — support for conversation tree with branch navigation
|
|
1532
1478
|
* - Message Actions — copy, edit, retry
|
|
1533
1479
|
* - Thinking Indicator — shown between user message and response
|
|
1534
1480
|
*
|
|
1535
|
-
* Artifacts are
|
|
1536
|
-
*
|
|
1537
|
-
* - showArtifact() — reveals artifact content
|
|
1538
|
-
* - removeArtifact() — removes artifact on failure
|
|
1481
|
+
* Artifacts are supplied as a tree of ArtifactNode objects via the
|
|
1482
|
+
* artifactNodes prop.
|
|
1539
1483
|
*/
|
|
1540
1484
|
declare const ChatInterface: React$1.ForwardRefExoticComponent<ChatInterfaceProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1541
1485
|
|
|
@@ -1586,15 +1530,9 @@ declare const ChatView: React$1.ForwardRefExoticComponent<ChatViewProps & React$
|
|
|
1586
1530
|
|
|
1587
1531
|
interface ArtifactsPanelProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1588
1532
|
/**
|
|
1589
|
-
* Top-level tree nodes to display
|
|
1590
|
-
* a navigable artifact tree instead of a flat list.
|
|
1533
|
+
* Top-level tree nodes to display in the navigable artifact tree.
|
|
1591
1534
|
*/
|
|
1592
1535
|
nodes?: ArtifactNode[];
|
|
1593
|
-
/**
|
|
1594
|
-
* Array of flat artifacts to display (legacy/simple mode).
|
|
1595
|
-
* Ignored when `nodes` is provided.
|
|
1596
|
-
*/
|
|
1597
|
-
artifacts?: Artifact[];
|
|
1598
1536
|
/**
|
|
1599
1537
|
* Whether artifacts are still loading (show skeletons)
|
|
1600
1538
|
*/
|
|
@@ -1607,16 +1545,13 @@ interface ArtifactsPanelProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1607
1545
|
* placed in. Opening/closing and resizing are handled by the parent
|
|
1608
1546
|
* ToolPanelContainer and ToolSidebar.
|
|
1609
1547
|
*
|
|
1610
|
-
*
|
|
1611
|
-
* where groups can be entered (breadcrumb navigation) and artifacts
|
|
1548
|
+
* Groups can be entered (breadcrumb navigation) and artifact nodes
|
|
1612
1549
|
* can be expanded to a full-screen modal.
|
|
1613
1550
|
*
|
|
1614
|
-
*
|
|
1615
|
-
*
|
|
1616
|
-
*
|
|
1617
|
-
*
|
|
1618
|
-
* uniformly — cards, images, gaps, and text all shrink as if the viewer
|
|
1619
|
-
* is physically moving back from the content.
|
|
1551
|
+
* Supports zoom controls (0.25x–1x). Zoom uses CSS `transform: scale()`
|
|
1552
|
+
* on the content wrapper so the entire layout scales uniformly — cards,
|
|
1553
|
+
* images, gaps, and text all shrink as if the viewer is physically
|
|
1554
|
+
* moving back from the content.
|
|
1620
1555
|
*/
|
|
1621
1556
|
declare const ArtifactsPanel: React$1.ForwardRefExoticComponent<ArtifactsPanelProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1622
1557
|
/**
|
|
@@ -1628,60 +1563,6 @@ interface ArtifactsPanelToggleProps extends React$1.ButtonHTMLAttributes<HTMLBut
|
|
|
1628
1563
|
}
|
|
1629
1564
|
declare const ArtifactsPanelToggle: React$1.ForwardRefExoticComponent<ArtifactsPanelToggleProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
1630
1565
|
|
|
1631
|
-
/**
|
|
1632
|
-
* Describes a tool that can be toggled from the sidebar.
|
|
1633
|
-
*/
|
|
1634
|
-
interface ToolDefinition {
|
|
1635
|
-
/**
|
|
1636
|
-
* Unique identifier for this tool
|
|
1637
|
-
*/
|
|
1638
|
-
id: string;
|
|
1639
|
-
/**
|
|
1640
|
-
* Icon element shown in the sidebar button
|
|
1641
|
-
*/
|
|
1642
|
-
icon: React$1.ReactNode;
|
|
1643
|
-
/**
|
|
1644
|
-
* Accessible label for the button
|
|
1645
|
-
*/
|
|
1646
|
-
label: string;
|
|
1647
|
-
/**
|
|
1648
|
-
* Which group the tool belongs to — tools in the same group
|
|
1649
|
-
* are mutually exclusive (opening one closes the other).
|
|
1650
|
-
*/
|
|
1651
|
-
group: 'top' | 'bottom';
|
|
1652
|
-
}
|
|
1653
|
-
/**
|
|
1654
|
-
* Tracks which tool is open in each group (null = none).
|
|
1655
|
-
*/
|
|
1656
|
-
interface ToolPanelState {
|
|
1657
|
-
top: string | null;
|
|
1658
|
-
bottom: string | null;
|
|
1659
|
-
}
|
|
1660
|
-
interface ToolSidebarProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1661
|
-
/**
|
|
1662
|
-
* Available tool definitions
|
|
1663
|
-
*/
|
|
1664
|
-
tools: ToolDefinition[];
|
|
1665
|
-
/**
|
|
1666
|
-
* Current state — which tool is open per group
|
|
1667
|
-
*/
|
|
1668
|
-
activeTools: ToolPanelState;
|
|
1669
|
-
/**
|
|
1670
|
-
* Called when a tool button is clicked (toggle)
|
|
1671
|
-
*/
|
|
1672
|
-
onToggleTool: (toolId: string) => void;
|
|
1673
|
-
}
|
|
1674
|
-
/**
|
|
1675
|
-
* ToolSidebar renders a vertical strip of tool icon buttons on the right
|
|
1676
|
-
* side of the chat interface. It follows the IntelliJ pattern:
|
|
1677
|
-
*
|
|
1678
|
-
* - Top-aligned group and bottom-aligned group separated by a divider
|
|
1679
|
-
* - Tools in the same group are mutually exclusive
|
|
1680
|
-
* - Clicking an active tool closes it; clicking an inactive tool opens it
|
|
1681
|
-
* - Constant slim width regardless of tool panel state
|
|
1682
|
-
*/
|
|
1683
|
-
declare const ToolSidebar: React$1.ForwardRefExoticComponent<ToolSidebarProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1684
|
-
|
|
1685
1566
|
interface ToolPanelContainerProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
1686
1567
|
/**
|
|
1687
1568
|
* Content for the top tool slot (from the top group).
|
|
@@ -1701,6 +1582,10 @@ interface ToolPanelContainerProps extends React$1.HTMLAttributes<HTMLDivElement>
|
|
|
1701
1582
|
* Callback to start horizontal resizing (width dragger)
|
|
1702
1583
|
*/
|
|
1703
1584
|
onResizeStart?: (e: React$1.MouseEvent) => void;
|
|
1585
|
+
/**
|
|
1586
|
+
* Which side this panel is on — controls border and resize handle position
|
|
1587
|
+
*/
|
|
1588
|
+
side?: 'left' | 'right';
|
|
1704
1589
|
}
|
|
1705
1590
|
/**
|
|
1706
1591
|
* ToolPanelContainer manages the layout of one or two tool panels
|
|
@@ -1800,6 +1685,110 @@ interface BranchNavigatorProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
1800
1685
|
*/
|
|
1801
1686
|
declare const BranchNavigator: React$1.ForwardRefExoticComponent<BranchNavigatorProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
1802
1687
|
|
|
1688
|
+
interface UseScrollAnchorOptions {
|
|
1689
|
+
/**
|
|
1690
|
+
* Behavior for scrolling. Defaults to 'smooth'.
|
|
1691
|
+
*/
|
|
1692
|
+
behavior?: ScrollBehavior;
|
|
1693
|
+
/**
|
|
1694
|
+
* Block alignment for scrollIntoView. Defaults to 'start'.
|
|
1695
|
+
*/
|
|
1696
|
+
block?: ScrollLogicalPosition;
|
|
1697
|
+
}
|
|
1698
|
+
interface UseScrollAnchorReturn {
|
|
1699
|
+
/**
|
|
1700
|
+
* Ref to attach to the scrollable container
|
|
1701
|
+
*/
|
|
1702
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
1703
|
+
/**
|
|
1704
|
+
* Ref to attach to the anchor element (latest user message)
|
|
1705
|
+
*/
|
|
1706
|
+
anchorRef: React.RefObject<HTMLDivElement | null>;
|
|
1707
|
+
/**
|
|
1708
|
+
* Scroll the anchor element into view. Call this on user message submission.
|
|
1709
|
+
*/
|
|
1710
|
+
scrollToAnchor: () => void;
|
|
1711
|
+
/**
|
|
1712
|
+
* Scroll to the bottom of the container.
|
|
1713
|
+
*/
|
|
1714
|
+
scrollToBottom: () => void;
|
|
1715
|
+
/**
|
|
1716
|
+
* Check if user has scrolled away from the bottom.
|
|
1717
|
+
*/
|
|
1718
|
+
isScrolledToBottom: () => boolean;
|
|
1719
|
+
}
|
|
1720
|
+
/**
|
|
1721
|
+
* Hook for smart scroll behavior in chat interfaces.
|
|
1722
|
+
*
|
|
1723
|
+
* Key behaviors:
|
|
1724
|
+
* - Anchors user messages to the top of the viewport when they send a message
|
|
1725
|
+
* - Does NOT auto-scroll during streaming to respect user's reading position
|
|
1726
|
+
* - Allows manual scroll detection
|
|
1727
|
+
*/
|
|
1728
|
+
declare function useScrollAnchor(options?: UseScrollAnchorOptions): UseScrollAnchorReturn;
|
|
1729
|
+
|
|
1730
|
+
interface UseResizableProps {
|
|
1731
|
+
/**
|
|
1732
|
+
* Initial width as percentage of viewport (0-100)
|
|
1733
|
+
*/
|
|
1734
|
+
initialWidthPercent: number;
|
|
1735
|
+
/**
|
|
1736
|
+
* Minimum width as percentage of viewport (0-100)
|
|
1737
|
+
*/
|
|
1738
|
+
minWidthPercent: number;
|
|
1739
|
+
/**
|
|
1740
|
+
* Maximum width as percentage of viewport (0-100)
|
|
1741
|
+
*/
|
|
1742
|
+
maxWidthPercent: number;
|
|
1743
|
+
/**
|
|
1744
|
+
* Direction to resize from
|
|
1745
|
+
*/
|
|
1746
|
+
direction: 'left' | 'right';
|
|
1747
|
+
}
|
|
1748
|
+
/**
|
|
1749
|
+
* Hook for resizable panels with percentage-based widths.
|
|
1750
|
+
* Returns width as a CSS percentage string (e.g., "50%").
|
|
1751
|
+
*/
|
|
1752
|
+
declare function useResizable({ initialWidthPercent, minWidthPercent, maxWidthPercent, direction, }: UseResizableProps): {
|
|
1753
|
+
width: string;
|
|
1754
|
+
widthPercent: number;
|
|
1755
|
+
isResizing: boolean;
|
|
1756
|
+
startResizing: (e: React.MouseEvent) => void;
|
|
1757
|
+
};
|
|
1758
|
+
|
|
1759
|
+
/**
|
|
1760
|
+
* A breadcrumb entry representing one level of navigation depth.
|
|
1761
|
+
*/
|
|
1762
|
+
interface BreadcrumbEntry {
|
|
1763
|
+
/** Display label for this level */
|
|
1764
|
+
label: string;
|
|
1765
|
+
/** The group node at this level (null for root) */
|
|
1766
|
+
node: ArtifactNode | null;
|
|
1767
|
+
}
|
|
1768
|
+
/**
|
|
1769
|
+
* Return type for the useArtifactTreeNavigation hook.
|
|
1770
|
+
*/
|
|
1771
|
+
interface UseArtifactTreeNavigationReturn {
|
|
1772
|
+
/** Nodes to display at the current navigation level */
|
|
1773
|
+
currentNodes: ArtifactNode[];
|
|
1774
|
+
/** Breadcrumb trail from root to current level */
|
|
1775
|
+
breadcrumbs: BreadcrumbEntry[];
|
|
1776
|
+
/** Whether the user is at the root level */
|
|
1777
|
+
isAtRoot: boolean;
|
|
1778
|
+
/** Navigate into a group node, pushing it onto the stack */
|
|
1779
|
+
navigateInto: (node: ArtifactNode) => void;
|
|
1780
|
+
/** Navigate to a specific breadcrumb level by index */
|
|
1781
|
+
navigateTo: (index: number) => void;
|
|
1782
|
+
/** Navigate back one level */
|
|
1783
|
+
navigateBack: () => void;
|
|
1784
|
+
}
|
|
1785
|
+
/**
|
|
1786
|
+
* Manages navigation state for an artifact tree panel.
|
|
1787
|
+
* Maintains a stack of group nodes the user has navigated into,
|
|
1788
|
+
* deriving children from the node references themselves.
|
|
1789
|
+
*/
|
|
1790
|
+
declare function useArtifactTreeNavigation(rootNodes: ArtifactNode[]): UseArtifactTreeNavigationReturn;
|
|
1791
|
+
|
|
1803
1792
|
type BrandIconSize = 'sm' | 'md' | 'lg';
|
|
1804
1793
|
type BrandIconVariant = 'solid' | 'outline';
|
|
1805
1794
|
interface BrandIconProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
@@ -1991,4 +1980,4 @@ declare const ArtifactVariantStack: React$1.ForwardRefExoticComponent<ArtifactVa
|
|
|
1991
1980
|
|
|
1992
1981
|
declare const version = "2.0.0";
|
|
1993
1982
|
|
|
1994
|
-
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
|
|
1983
|
+
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, 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 };
|