@lukeashford/aurelius 4.0.0 → 4.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/llms.md CHANGED
@@ -156,8 +156,10 @@ 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
164
  | MessageActions | variant, content, onEdit, onRetry, isEditing, onEditingChange, editValue |
163
165
  | ThinkingIndicator | isVisible, phraseInterval, phrases |
@@ -437,6 +439,8 @@ artifactNodes prop.
437
439
  - **onMessageSubmit**: * Called when a message is submitted from the input. Provides the text content and any files attached.
438
440
  - **onEditMessage**: * Called when a user message is edited. In tree mode, this creates a new branch.
439
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.
440
444
  - **onStop**: * Called when the Stop button is clicked during assistant streaming.
441
445
  - **onSelectConversation**: * Called when a conversation is selected from the sidebar.
442
446
  - **onNewChat**: * Called when the "New Chat" button is clicked in the sidebar.
@@ -459,20 +463,55 @@ artifactNodes prop.
459
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.
460
464
 
461
465
  **ChatView**
462
- 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.
463
468
 
464
469
  Key behaviors:
465
- - 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
466
471
  - Does NOT auto-scroll during streaming (respects user's reading position)
467
- - Smooth transitions and animations
468
-
469
- - **ChatViewItem.branchInfo**: * Branch navigation info for this message
470
- - **ChatViewItem.actions**: * Actions configuration for this message
471
- - **messages**: * Array of chat messages to display
472
- - **latestUserMessageIndex**: * Index of the latest user message to anchor scroll to. When this changes, the component scrolls that message to the top.
473
- - **isStreaming**: * Whether the assistant is currently streaming a response
474
- - **isThinking**: * Whether to show the thinking indicator (between user message and response)
475
- - **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.
476
515
 
477
516
  **HistoryPanel**
478
517
  HistoryPanel renders the conversation history sidebar: a project filter,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "4.0.0",
3
+ "version": "4.2.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",