@lukeashford/aurelius 4.2.0 → 4.4.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
@@ -103,7 +103,7 @@ Import from `@lukeashford/aurelius`:
103
103
  | ArtifactCard | artifact, onExpand, loading |
104
104
  | ArtifactGroup | node, onClick |
105
105
  | ArtifactVariantStack | node, onExpandArtifact, onGroupClick |
106
- | AttachmentPreview | attachments, onRemove, removable, maxVisible |
106
+ | AttachmentPreview | attachments, onRemove, removable, maxVisible, onOpen |
107
107
  | AudioCard | src, title, subtitle, playing, controls, volume, muted, loop, mediaClassName, contentClassName, playerProps, height, loading |
108
108
  | Avatar | src, alt, name, size (xs, sm, md, lg, xl, 2xl), status (online, offline, busy) |
109
109
  | Badge | variant (default, gold, success, error, warning, info) |
@@ -118,7 +118,7 @@ Import from `@lukeashford/aurelius`:
118
118
  | Dialog | description, confirmText, cancelText, onConfirm, onCancel, confirmVariant, isLoading, description, acknowledgeText, variant, description, placeholder, defaultValue, submitText, cancelText, onSubmit, onCancel, isLoading |
119
119
  | Divider | orientation (horizontal, vertical), variant (solid, dashed, dotted), label, color |
120
120
  | Drawer | isOpen, onClose, position (left, right, top, bottom), title, size, children, className |
121
- | FileChip | name, size, type, status (pending, uploading, complete, error), previewUrl, onRemove, removable, error |
121
+ | FileChip | name, size, type, status (pending, uploading, uploaded, analyzing, analyzed, upload_failed, analysis_failed), previewUrl, onRemove, removable, error, artifactId, onOpen |
122
122
  | HelperText | error |
123
123
  | ImageCard | src, alt, title, subtitle, aspectRatio (${number}/${number}), objectFit, overlay, mediaClassName, contentClassName, loading |
124
124
  | Input | error, leadingIcon, trailingIcon |
@@ -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, onClick, label, children, disabled |
130
+ | Message | variant (user, assistant), content, isStreaming, branchInfo, actions, hideActions, attachments, onAttachmentOpen, 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 |
@@ -153,16 +153,16 @@ Import from `@lukeashford/aurelius`:
153
153
  | Toast | children, position (top-right, top-left, bottom-right, bottom-left, top-center, bottom-center), defaultDuration |
154
154
  | Tooltip | content, children, open, side (top, right, bottom, left) |
155
155
  | VideoCard | src, title, subtitle, aspectRatio (${number}/${number}), playing, controls, light, volume, muted, loop, mediaClassName, contentClassName, playerProps, loading |
156
- | ArtifactsPanel | nodes, loading, artifactCount, onExpand |
156
+ | ArtifactsPanel | nodes, loading, openArtifactId, onArtifactClosed, 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, 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 |
159
+ | ChatInterface | messages, conversationTree, onTreeChange, conversations, onMessageSubmit, onEditMessage, onRetryMessage, onJumpToCheckpoint, onJumpToLatest, onStop, onSelectConversation, onNewChat, onRenameConversation, isStreaming, isThinking, thinkingLabel, placeholder, emptyStateHelper, emptyState, showAttachmentButton, enableMessageActions, attachments, onAttachmentsChange, onAttachmentRemove, onAttachmentOpen, artifactNodes, isArtifactsPanelOpen, onArtifactsPanelOpenChange, tasks, tasksTitle, onStopAllTasks |
160
+ | ChatView | items, latestUserMessageIndex, isStreaming, isThinking, thinkingLabel, onScroll |
161
+ | Checkpoint | name, executionKind (task, submit, rename, init, ingest), status (completed, failed, cancelled), isActive, muted, branchInfo, onJumpHere |
162
162
  | GreyedDivider | messageCount, checkpointCount, onJumpToLatest |
163
163
  | HistoryPanel | conversations, onSelectConversation, onNewChat, onRenameConversation |
164
164
  | MessageActions | variant, content, onEdit, onRetry, isEditing, onEditingChange, editValue |
165
- | ThinkingIndicator | isVisible, phraseInterval, phrases |
165
+ | ThinkingIndicator | isVisible, phraseInterval, phrases, manualLabel |
166
166
  | TodosList | tasks, title, onStopAllTasks |
167
167
  | ToolPanelContainer | topContent, bottomContent, width, initialTopPercent, onResizeStart, side |
168
168
  | ToolSidebar | tools, activeTools, onToggleTool, side |
@@ -228,14 +228,16 @@ navigate for groups).
228
228
 
229
229
  **AttachmentPreview**
230
230
  - **AttachmentItem.id**: * Unique identifier
231
- - **AttachmentItem.file**: * The File object
231
+ - **AttachmentItem.file**: * The file's name, size and MIME type. A real `File` object satisfies this shape — compose-box callers pass File instances directly. Above-message (post-send) rendering supplies a synthetic record built from persisted attachment metadata.
232
232
  - **AttachmentItem.previewUrl**: * Blob URL for image previews
233
233
  - **AttachmentItem.status**: * Current status
234
- - **AttachmentItem.error**: * Error message if status is 'error'
234
+ - **AttachmentItem.error**: * Error message if status is an error variant
235
+ - **AttachmentItem.artifactId**: * Backend artifact id, set once the upload has been integrated. Required to make the chip clickable to open the artifact card modal.
235
236
  - **attachments**: * Array of attachments to display
236
237
  - **onRemove**: * Called when an attachment should be removed
237
238
  - **removable**: * Whether attachments are removable
238
239
  - **maxVisible**: * Maximum number of attachments to show before collapsing Set to 0 or undefined to show all
240
+ - **onOpen**: * Click handler for chips with an artifactId. When set, chips that carry an artifactId become clickable and forward the id to this handler.
239
241
 
240
242
  **AudioCard**
241
243
  - **playerProps**: Forwarded to the underlying ReactPlayer.
@@ -248,7 +250,9 @@ navigate for groups).
248
250
  - **previewUrl**: * Preview image URL (for images)
249
251
  - **onRemove**: * Called when the remove button is clicked
250
252
  - **removable**: * Whether the chip is removable
251
- - **error**: * Error message to display (when status is 'error')
253
+ - **error**: * Error message to display (when status is an error)
254
+ - **artifactId**: * Backend artifact id, set once the upload has been integrated. When both `artifactId` and `onOpen` are present, the chip becomes clickable.
255
+ - **onOpen**: * Click handler invoked with `artifactId` when the chip is clicked. Compose-box (pre-integrate) chips should not pass this — the chip stays non-clickable except for its remove button.
252
256
 
253
257
  **MarkdownContent**
254
258
  - **content**: * Content to display (can be Markdown or HTML)
@@ -270,6 +274,8 @@ navigate for groups).
270
274
  - **branchInfo**: * Branch navigation info (shows branch indicator if provided and total > 1)
271
275
  - **actions**: * Actions configuration (shows action bar if provided)
272
276
  - **hideActions**: * Whether to hide actions (e.g., during streaming)
277
+ - **attachments**: * Attachments to render above the bubble. Used by user messages to show the files that were attached to that turn. Empty/undefined renders nothing.
278
+ - **onAttachmentOpen**: * Click handler invoked with an attachment's `artifactId`. Wire to open the artifact-card modal in the host app.
273
279
 
274
280
  **PdfCard**
275
281
  A card for displaying PDF documents with an embedded viewer.
@@ -361,6 +367,8 @@ moving back from the content.
361
367
 
362
368
  - **nodes**: * Top-level tree nodes to display in the navigable artifact tree.
363
369
  - **loading**: * Whether artifacts are still loading (show skeletons)
370
+ - **openArtifactId**: * When set to a non-null id, surfaces the same expanded artifact card the panel grid would. Drives chip click-through from outside the panel. Pair with `onArtifactClosed` so the parent can clear its controller state when the user dismisses the modal.
371
+ - **onArtifactClosed**: * Called when the user closes the expanded card (X button or backdrop). The parent owns whether subsequent renders re-open by re-supplying `openArtifactId`.
364
372
 
365
373
  **BranchNavigator**
366
374
  BranchNavigator provides a UI for switching between conversation branches.
@@ -447,6 +455,7 @@ artifactNodes prop.
447
455
  - **onRenameConversation**: * Called when a conversation's title is renamed from the history panel. Receives the conversation id and the new, trimmed title.
448
456
  - **isStreaming**: * Whether the assistant is currently streaming a response. Shows a stop button and disables certain actions.
449
457
  - **isThinking**: * Whether to show the thinking indicator. Typically shown after a user message but before the first streaming token.
458
+ - **thinkingLabel**: * Optional verbatim label for the thinking indicator. When set, the indicator suppresses its rotating phrases and renders this string as-is. Use for domain-specific waits like "Analyzing uploads..." — any animated suffix (e.g. cycling dots) is the caller's responsibility.
450
459
  - **placeholder**: * Placeholder text for the main chat input.
451
460
  - **emptyStateHelper**: * Helper text shown in the empty state (when there are no messages).
452
461
  - **emptyState**: * Custom content to show when the conversation is empty. Overrides the default centered input and helper text.
@@ -455,6 +464,7 @@ artifactNodes prop.
455
464
  - **attachments**: * Current attachments for the chat input (controlled).
456
465
  - **onAttachmentsChange**: * Called when attachments are added or removed in the chat input.
457
466
  - **onAttachmentRemove**: * Called when an attachment is removed by the user (clicking the "x")
467
+ - **onAttachmentOpen**: * Called when a chip above a sent message is clicked. Receives the `artifactId` carried by the chip; wire to open the artifact-card modal. Without this, above-message chips are not clickable.
458
468
  - **artifactNodes**: * Top-level artifact tree nodes for the artifacts panel.
459
469
  - **isArtifactsPanelOpen**: * Whether the artifacts panel is currently open (controlled). When set, maps to the tool panel system — opens the artifacts tool.
460
470
  - **onArtifactsPanelOpenChange**: * Called when the artifacts panel is opened or closed (controlled).
@@ -478,6 +488,7 @@ Key behaviors:
478
488
  - **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
489
  - **isStreaming**: * Whether the assistant is currently streaming a response. Drives the streaming cursor on the last assistant message and the thinking indicator.
480
490
  - **isThinking**: * Whether to show the thinking indicator (between user message and response).
491
+ - **thinkingLabel**: * When set, the thinking indicator renders this label verbatim instead of its rotating phrases. Use for domain-specific waits like "Analyzing uploads..." (any animated suffix is the caller's responsibility).
481
492
  - **onScroll**: * Callback when the user scrolls manually.
482
493
 
483
494
  **Checkpoint**
@@ -540,6 +551,7 @@ but has not yet started streaming tokens. It cycles through flavorful "thinking"
540
551
  - **isVisible**: * Whether the indicator is visible/active
541
552
  - **phraseInterval**: * Interval between phrase changes in ms @default 2500
542
553
  - **phrases**: * Custom phrases to cycle through (defaults to built-in phrases)
554
+ - **manualLabel**: * When set, suppresses internal phrase rotation and renders this label verbatim. Used by the host to express domain-specific waiting states (e.g. "Analyzing uploads..."). Any animated suffix (cycling dots) is the caller's responsibility — Aurelius renders the string as-is.
543
555
 
544
556
  **TodosList**
545
557
  - **Task.id**: * Unique identifier for the task
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lukeashford/aurelius",
3
- "version": "4.2.0",
3
+ "version": "4.4.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",
@@ -80,9 +80,9 @@
80
80
  "@commitlint/config-conventional": "*",
81
81
  "@eslint/css": "^0.9.0",
82
82
  "@poupe/eslint-plugin-tailwindcss": "^0.2.4",
83
- "@semantic-release/changelog": "*",
84
- "@semantic-release/git": "*",
85
- "@semantic-release/github": "*",
83
+ "@semantic-release/changelog": "^6.0.3",
84
+ "@semantic-release/git": "^10.0.1",
85
+ "@semantic-release/github": "^12.0.6",
86
86
  "@testing-library/jest-dom": "^6.6.3",
87
87
  "@testing-library/react": "^16.1.0",
88
88
  "@testing-library/user-event": "^14.5.2",
@@ -103,14 +103,14 @@
103
103
  "jest-environment-jsdom": "^29.7.0",
104
104
  "react": "^19.2.1",
105
105
  "react-dom": "^19.2.1",
106
- "semantic-release": "*",
106
+ "semantic-release": "^25.0.3",
107
107
  "tailwindcss": "^4.1.17",
108
108
  "ts-jest": "^29.2.5",
109
109
  "ts-node": "^10.9.2",
110
110
  "tsup": "^8.0.0",
111
111
  "tsx": "^4.7.0",
112
112
  "typescript": "^5.0.0",
113
- "vite": "^5.4.11"
113
+ "vite": "^6.4.2"
114
114
  },
115
115
  "repository": {
116
116
  "type": "git",
@@ -134,5 +134,9 @@
134
134
  "marked": "^15.0.12",
135
135
  "react-player": "^3.4.0",
136
136
  "tailwind-merge": "^3.4.0"
137
+ },
138
+ "overrides": {
139
+ "@tootallnate/once": "3.0.1",
140
+ "npm": "11.13.0"
137
141
  }
138
142
  }