@lukeashford/aurelius 3.4.0 → 3.6.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
@@ -155,13 +155,14 @@ Import from `@lukeashford/aurelius`:
155
155
  | VideoCard | src, title, subtitle, aspectRatio (${number}/${number}), playing, controls, light, volume, muted, loop, mediaClassName, contentClassName, playerProps, loading |
156
156
  | ArtifactsPanel | nodes, loading, artifactCount, onExpand |
157
157
  | BranchNavigator | current, total, onPrevious, onNext, size, showIcon |
158
- | ChatInput | position (centered, bottom), placeholder, helperText, onSubmit, disabled, animate, isStreaming, onStop, attachments, onAttachmentsChange, showAttachmentButton, acceptedFileTypes |
159
- | ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onStop, onSelectConversation, onNewChat, isStreaming, isThinking, placeholder, emptyStateHelper, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, artifactNodes, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle, onStopAllTasks, tools |
158
+ | ChatInput | position (centered, bottom), placeholder, helperText, onSubmit, disabled, animate, isStreaming, onStop, attachments, onAttachmentsChange, showAttachmentButton, acceptedFileTypes, notice, onInputChange, autoFocus |
159
+ | ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onStop, onSelectConversation, onNewChat, onRenameConversation, isStreaming, isThinking, placeholder, emptyStateHelper, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, artifactNodes, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle, onStopAllTasks |
160
160
  | ChatView | messages, latestUserMessageIndex, isStreaming, isThinking, onScroll |
161
+ | HistoryPanel | conversations, onSelectConversation, onNewChat, onRenameConversation |
161
162
  | MessageActions | variant (user, assistant), content, onEdit, onRetry, isEditing, onEditingChange, editValue |
162
163
  | ThinkingIndicator | isVisible, phraseInterval, phrases |
163
164
  | TodosList | tasks, title, onStopAllTasks |
164
- | ToolPanelContainer | topContent, bottomContent, width, onResizeStart, side |
165
+ | ToolPanelContainer | topContent, bottomContent, width, initialTopPercent, onResizeStart, side |
165
166
  | ToolSidebar | tools, activeTools, onToggleTool, side |
166
167
  | ChatBubbleIcon | children |
167
168
  | CheckSquareIcon | children |
@@ -375,6 +376,10 @@ Features:
375
376
  - Streaming state with stop button
376
377
  - Animated transition between positions
377
378
 
379
+ - **ChatInputNotice.variant**: * Visual severity: 'warning' shows a dismissible amber notice, 'error' shows a persistent red notice
380
+ - **ChatInputNotice.content**: * Content to render — plain text or any React node (e.g. text + button for error state)
381
+ - **ChatInputNotice.dismissible**: * Whether to show a dismiss (×) button. Defaults to true for warning, ignored for error.
382
+ - **ChatInputNotice.onDismiss**: * Called when the dismiss button is clicked. Consumer controls whether the notice disappears.
378
383
  - **position**: * Position of the input: 'centered' for empty state, 'bottom' for conversation mode
379
384
  - **placeholder**: * Placeholder text for the input
380
385
  - **helperText**: * Helper text shown above the input in centered mode
@@ -387,6 +392,9 @@ Features:
387
392
  - **onAttachmentsChange**: * Called when attachments change (controlled mode)
388
393
  - **showAttachmentButton**: * Whether to show the attachment button
389
394
  - **acceptedFileTypes**: * Accepted file types for attachments
395
+ - **notice**: * Optional notice displayed above the input (e.g. credit warnings or exhaustion messages)
396
+ - **onInputChange**: * Called whenever the input value changes, giving the consumer access to the current text
397
+ - **autoFocus**: * Whether to automatically focus the input when it becomes enabled
390
398
 
391
399
  **ChatInterface**
392
400
  ChatInterface is the main orchestrator for a full-featured chat experience.
@@ -413,6 +421,11 @@ artifactNodes prop.
413
421
  - **ChatMessage.variant**: * Whether the message is from the user or the assistant
414
422
  - **ChatMessage.content**: * Message content (Markdown supported)
415
423
  - **ChatMessage.isStreaming**: * Whether the message is currently streaming
424
+ - **Conversation.id**: * Unique identifier for the conversation
425
+ - **Conversation.title**: * Title shown as the first line of the row. Editable via the rename affordance.
426
+ - **Conversation.project**: * Project this conversation belongs to. Shown as the second line of the row and collected into the project filter in the history panel.
427
+ - **Conversation.timestamp**: * Timestamp used to group conversations into Today / Yesterday / Older. Accepts a Date, ISO string, or millisecond epoch. Not displayed.
428
+ - **Conversation.isActive**: * Whether this conversation is currently active (highlighted in the list).
416
429
  - **messages**: * Array of messages in the conversation (flat mode) Use this OR conversationTree, not both
417
430
  - **conversationTree**: * Conversation tree for branching support Use this OR messages, not both
418
431
  - **onTreeChange**: * Called when the conversation tree changes (for tree mode)
@@ -423,6 +436,7 @@ artifactNodes prop.
423
436
  - **onStop**: * Called when the Stop button is clicked during assistant streaming.
424
437
  - **onSelectConversation**: * Called when a conversation is selected from the sidebar.
425
438
  - **onNewChat**: * Called when the "New Chat" button is clicked in the sidebar.
439
+ - **onRenameConversation**: * Called when a conversation's title is renamed from the history panel. Receives the conversation id and the new, trimmed title.
426
440
  - **isStreaming**: * Whether the assistant is currently streaming a response. Shows a stop button and disables certain actions.
427
441
  - **isThinking**: * Whether to show the thinking indicator. Typically shown after a user message but before the first streaming token.
428
442
  - **placeholder**: * Placeholder text for the main chat input.
@@ -438,7 +452,6 @@ artifactNodes prop.
438
452
  - **tasks**: * Tasks to display in the todos list tool panel. Shows a list of tasks with status indicators.
439
453
  - **tasksTitle**: * Title for the todos list @default "Tasks"
440
454
  - **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.
441
- - **tools**: * Additional tools to add to the tool sidebars. Each ExternalToolDefinition provides an id, icon, label, group ('top-left' | 'bottom-left' | 'top-right' | 'bottom-right'), and content (ReactNode) to render when opened. Tools in the same group are mutually exclusive. Built-in tools occupy: History (top-left), Artifacts (top-right), Tasks (bottom-right). Consumer tools are added alongside these.
442
455
 
443
456
  **ChatView**
444
457
  ChatView displays a conversation thread with smart scrolling behavior.
@@ -456,6 +469,17 @@ Key behaviors:
456
469
  - **isThinking**: * Whether to show the thinking indicator (between user message and response)
457
470
  - **onScroll**: * Callback when the user scrolls manually
458
471
 
472
+ **HistoryPanel**
473
+ HistoryPanel renders the conversation history sidebar: a project filter,
474
+ a "New Chat" button, and the conversation list grouped by recency
475
+ (Today / Yesterday / Older). Each row shows the title and an optional
476
+ project subtitle, and exposes an inline rename affordance on hover.
477
+
478
+ - **conversations**: * List of past conversations to display.
479
+ - **onSelectConversation**: * Called when a conversation is selected.
480
+ - **onNewChat**: * Called when the "New Chat" button is clicked.
481
+ - **onRenameConversation**: * Called when a conversation's title is edited.
482
+
459
483
  **MessageActions**
460
484
  - **variant**: * Whether this is for a user or assistant message
461
485
  - **content**: * The message content for copy functionality
@@ -493,6 +517,7 @@ to the previous ArtifactsPanel resize behavior.
493
517
  - **topContent**: * Content for the top tool slot (from the top group). When null, the bottom slot takes full height.
494
518
  - **bottomContent**: * Content for the bottom tool slot (from the bottom group). When null, the top slot takes full height.
495
519
  - **width**: * Panel width as CSS value (e.g., "50vw")
520
+ - **initialTopPercent**: * Default top panel height percentage (0-100). @default 60
496
521
  - **onResizeStart**: * Callback to start horizontal resizing (width dragger)
497
522
  - **side**: * Which side this panel is on — controls border and resize handle position
498
523
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "3.4.0",
3
+ "version": "3.6.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",