@lukeashford/aurelius 3.9.0 → 4.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/llms.md CHANGED
@@ -127,7 +127,7 @@ Import from `@lukeashford/aurelius`:
127
127
  | List | variant, ordered, leading, trailing, interactive, selected, disabled, primary, secondary |
128
128
  | MarkdownContent | content, isMarkdown, sanitizeConfig, isStreaming, cursorClassName |
129
129
  | Menu | children, open, onOpenChange, asChild, align, side, icon, destructive |
130
- | Message | variant (user, assistant), content, isStreaming, branchInfo, actions, hideActions |
130
+ | Message | variant (user, assistant), content, isStreaming, branchInfo, actions, hideActions, onClick, label, children, disabled |
131
131
  | Modal | isOpen, onClose, title, children, className |
132
132
  | Navbar | fixed, bordered, position, active, active |
133
133
  | Pagination | page, totalPages, onPageChange, siblingCount, showEdges |
@@ -156,10 +156,12 @@ Import from `@lukeashford/aurelius`:
156
156
  | ArtifactsPanel | nodes, loading, artifactCount, onExpand |
157
157
  | BranchNavigator | current, total, onPrevious, onNext, size, showIcon |
158
158
  | ChatInput | position (centered, bottom), placeholder, helperText, onSubmit, disabled, animate, isStreaming, onStop, attachments, onAttachmentsChange, onAttachmentRemove, showAttachmentButton, acceptedFileTypes, notice, onInputChange, initialInputValue, autoFocus |
159
- | ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onStop, onSelectConversation, onNewChat, onRenameConversation, isStreaming, isThinking, placeholder, emptyStateHelper, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, onAttachmentRemove, artifactNodes, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle, onStopAllTasks |
160
- | ChatView | messages, latestUserMessageIndex, isStreaming, isThinking, onScroll |
159
+ | ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onJumpToCheckpoint, onJumpToLatest, onStop, onSelectConversation, onNewChat, onRenameConversation, isStreaming, isThinking, placeholder, emptyStateHelper, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, onAttachmentRemove, artifactNodes, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle, onStopAllTasks |
160
+ | ChatView | items, latestUserMessageIndex, isStreaming, isThinking, onScroll |
161
+ | Checkpoint | name, executionKind (task, submit, rename, init), status (completed, failed, cancelled), isActive, muted, branchInfo, onJumpHere |
162
+ | GreyedDivider | messageCount, checkpointCount, onJumpToLatest |
161
163
  | HistoryPanel | conversations, onSelectConversation, onNewChat, onRenameConversation |
162
- | MessageActions | variant (user, assistant), content, onEdit, onRetry, isEditing, onEditingChange, editValue |
164
+ | MessageActions | variant, content, onEdit, onRetry, isEditing, onEditingChange, editValue |
163
165
  | ThinkingIndicator | isVisible, phraseInterval, phrases |
164
166
  | TodosList | tasks, title, onStopAllTasks |
165
167
  | ToolPanelContainer | topContent, bottomContent, width, initialTopPercent, onResizeStart, side |
@@ -235,6 +237,9 @@ navigate for groups).
235
237
  - **removable**: * Whether attachments are removable
236
238
  - **maxVisible**: * Maximum number of attachments to show before collapsing Set to 0 or undefined to show all
237
239
 
240
+ **AudioCard**
241
+ - **playerProps**: Forwarded to the underlying ReactPlayer.
242
+
238
243
  **FileChip**
239
244
  - **name**: * File name to display
240
245
  - **size**: * File size in bytes (optional, will be formatted)
@@ -336,6 +341,9 @@ A card for displaying text content, supporting Markdown and HTML formatting.
336
341
  - **maxHeight**: * Maximum height of the content area before scrolling @default '16rem'
337
342
  - **contentClassName**: * Optional class name for the content container
338
343
 
344
+ **VideoCard**
345
+ - **playerProps**: Forwarded to the underlying ReactPlayer.
346
+
339
347
  **ArtifactsPanel**
340
348
  ArtifactsPanel displays artifacts in a navigable tree panel.
341
349
 
@@ -431,6 +439,8 @@ artifactNodes prop.
431
439
  - **onMessageSubmit**: * Called when a message is submitted from the input. Provides the text content and any files attached.
432
440
  - **onEditMessage**: * Called when a user message is edited. In tree mode, this creates a new branch.
433
441
  - **onRetryMessage**: * Called when an assistant message is retried. In tree mode, this creates a new branch.
442
+ - **onJumpToCheckpoint**: * Called when the user clicks a non-active checkpoint to rewind. Receives the checkpoint id; the consumer should move the active leaf there (without forking) so the artifacts panel and chat re-anchor. In tree mode only.
443
+ - **onJumpToLatest**: * Called when the user clicks "Jump to latest" on the greyed-future divider or otherwise asks to return to the deepest leaf they had reached. In tree mode only.
434
444
  - **onStop**: * Called when the Stop button is clicked during assistant streaming.
435
445
  - **onSelectConversation**: * Called when a conversation is selected from the sidebar.
436
446
  - **onNewChat**: * Called when the "New Chat" button is clicked in the sidebar.
@@ -453,20 +463,55 @@ artifactNodes prop.
453
463
  - **onStopAllTasks**: * Called when the "Stop All Tasks" button is clicked in the tasks panel. Only shown when at least one task has in_progress status. The consumer app decides what stopping means (cancel API calls, mark tasks cancelled, etc.). * May return a Promise. While the Promise is pending, the button becomes disabled and displays a spinner with "Stopping tasks" so the user knows the stop request is in flight.
454
464
 
455
465
  **ChatView**
456
- ChatView displays a conversation thread with smart scrolling behavior.
466
+ Renders a heterogeneous chat stream messages, checkpoints, and the
467
+ greyed-future divider — with smart scrolling behavior.
457
468
 
458
469
  Key behaviors:
459
- - When a user message is sent, it anchors to the top of the viewport
470
+ - When a user message arrives, it anchors to the top of the viewport
460
471
  - Does NOT auto-scroll during streaming (respects user's reading position)
461
- - Smooth transitions and animations
462
-
463
- - **ChatViewItem.branchInfo**: * Branch navigation info for this message
464
- - **ChatViewItem.actions**: * Actions configuration for this message
465
- - **messages**: * Array of chat messages to display
466
- - **latestUserMessageIndex**: * Index of the latest user message to anchor scroll to. When this changes, the component scrolls that message to the top.
467
- - **isStreaming**: * Whether the assistant is currently streaming a response
468
- - **isThinking**: * Whether to show the thinking indicator (between user message and response)
469
- - **onScroll**: * Callback when the user scrolls manually
472
+ - Each row's renderer is dispatched from its `kind` discriminator
473
+
474
+ - **ChatViewMessageItem.branchInfo**: Branch navigation info chevrons render only when total > 1.
475
+ - **ChatViewMessageItem.actions**: Actions configuration (copy / edit / retry).
476
+ - **ChatViewMessageItem.muted**: When true, this row is rendered in the greyed-future region.
477
+ - **items**: * Rows to render in the chat stream. Heterogeneous: messages, checkpoints, and the greyed-future divider live in the same list, ordered top-to-bottom.
478
+ - **latestUserMessageIndex**: * Index of the latest user-message row to anchor scroll to. When this index changes, the corresponding row scrolls to the top. Defaults to the last-found user message in `items`.
479
+ - **isStreaming**: * Whether the assistant is currently streaming a response. Drives the streaming cursor on the last assistant message and the thinking indicator.
480
+ - **isThinking**: * Whether to show the thinking indicator (between user message and response).
481
+ - **onScroll**: * Callback when the user scrolls manually.
482
+
483
+ **Checkpoint**
484
+ A single-line marker in the chat stream that anchors a chat position to a
485
+ project state. Clicking the underlined name rewinds the artifacts panel and
486
+ the active leaf to this checkpoint without forking. Chevrons switch between
487
+ sibling forks (e.g. parallel task attempts, alternative submits).
488
+
489
+ Visual variants:
490
+ - active: gold accent, no underline (the user is already here)
491
+ - muted: greyed-future row, lower opacity, still clickable
492
+ - failed/cancelled: status suffix in muted error/silver, still clickable
493
+
494
+ - **CheckpointBranchInfo.current**: 1-based index of this checkpoint among its siblings.
495
+ - **CheckpointBranchInfo.total**: Total sibling count at this fork point.
496
+ - **name**: Human-readable label, ≤ 50 chars. Comes from the underlying execution name.
497
+ - **executionKind**: What produced the checkpoint — drives the leading icon.
498
+ - **status**: * Terminal status of the execution. @default 'completed'
499
+ - **isActive**: * When true, this checkpoint is the active leaf — the artifacts panel is already showing this state. Renders without underline or jump affordance.
500
+ - **muted**: * When true, this checkpoint sits in the greyed-future region (the timeline the user rewound away from). Lower opacity; still clickable to jump back.
501
+ - **branchInfo**: * Sibling info for the BranchNavigator chevrons. Chevrons render only when `total > 1`.
502
+ - **onJumpHere**: * Click handler for the row. Called when the user wants to jump to this checkpoint (rewind the artifacts panel and active leaf to here).
503
+
504
+ **GreyedDivider**
505
+ A full-width divider that announces the start of the greyed-future region —
506
+ the timeline beyond the user's current rewound position. Clicking
507
+ "Jump to latest" returns to the deepest leaf the user previously reached.
508
+
509
+ Visual: hairline rule with a centered summary chip and a right-aligned
510
+ jump-to-latest action. Renders nothing when both counts are zero.
511
+
512
+ - **messageCount**: Number of message rows in the greyed-future region.
513
+ - **checkpointCount**: Number of checkpoint rows in the greyed-future region.
514
+ - **onJumpToLatest**: Click handler that jumps the active leaf to the deepest greyed leaf.
470
515
 
471
516
  **HistoryPanel**
472
517
  HistoryPanel renders the conversation history sidebar: a project filter,
@@ -534,10 +579,6 @@ side of the chat interface. It follows the IntelliJ pattern:
534
579
  - **ToolDefinition.icon**: * Icon element shown in the sidebar button
535
580
  - **ToolDefinition.label**: * Accessible label for the button
536
581
  - **ToolDefinition.group**: * Which group the tool belongs to — tools in the same group are mutually exclusive (opening one closes the other).
537
- - **ExternalToolDefinition.id**: * Unique identifier for this tool
538
- - **ExternalToolDefinition.icon**: * Icon element shown in the sidebar button
539
- - **ExternalToolDefinition.label**: * Accessible label for the button
540
- - **ExternalToolDefinition.group**: * Which group the tool belongs to
541
582
  - **ExternalToolDefinition.content**: * Content to render when the tool is open
542
583
  - **tools**: * Available tool definitions
543
584
  - **activeTools**: * Current state — which tool is open per group
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "3.9.0",
3
+ "version": "4.1.0",
4
4
  "description": "Design system for Aurelius applications — A cohesive visual language for creative technologists",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",