@slipstream-ui/ai 0.5.0 → 0.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.
Files changed (47) hide show
  1. package/dist/index.d.mts +19 -4
  2. package/dist/index.d.ts +19 -4
  3. package/dist/index.js +12 -7
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +12 -7
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/manifests/attachment.manifest.json +35 -8
  8. package/dist/manifests/branch.manifest.json +1 -1
  9. package/dist/manifests/chain-thought.manifest.json +1 -1
  10. package/dist/manifests/code-block.manifest.json +1 -1
  11. package/dist/manifests/command-palette.manifest.json +22 -1
  12. package/dist/manifests/confirmation.manifest.json +1 -1
  13. package/dist/manifests/conversation.manifest.json +1 -1
  14. package/dist/manifests/inline-citation.manifest.json +1 -1
  15. package/dist/manifests/message-actions.manifest.json +59 -11
  16. package/dist/manifests/message.manifest.json +13 -1
  17. package/dist/manifests/prompt-input.manifest.json +2 -2
  18. package/dist/manifests/reasoning.manifest.json +13 -1
  19. package/dist/manifests/response.manifest.json +1 -1
  20. package/dist/manifests/source.manifest.json +2 -2
  21. package/dist/manifests/streaming-indicator.manifest.json +1 -1
  22. package/dist/manifests/suggestions.manifest.json +2 -2
  23. package/dist/manifests/tool-call.manifest.json +1 -1
  24. package/package.json +9 -9
  25. package/src/components/command-palette/CommandPalette.test.tsx +21 -0
  26. package/src/components/command-palette/CommandPalette.tsx +12 -3
  27. package/src/components/message/Message.test.tsx +15 -0
  28. package/src/components/message/Message.tsx +9 -1
  29. package/src/components/reasoning/Reasoning.test.tsx +15 -0
  30. package/src/components/reasoning/Reasoning.tsx +8 -2
  31. package/src/manifests/attachment.manifest.json +35 -8
  32. package/src/manifests/branch.manifest.json +1 -1
  33. package/src/manifests/chain-thought.manifest.json +1 -1
  34. package/src/manifests/code-block.manifest.json +1 -1
  35. package/src/manifests/command-palette.manifest.json +22 -1
  36. package/src/manifests/confirmation.manifest.json +1 -1
  37. package/src/manifests/conversation.manifest.json +1 -1
  38. package/src/manifests/inline-citation.manifest.json +1 -1
  39. package/src/manifests/message-actions.manifest.json +59 -11
  40. package/src/manifests/message.manifest.json +13 -1
  41. package/src/manifests/prompt-input.manifest.json +2 -2
  42. package/src/manifests/reasoning.manifest.json +13 -1
  43. package/src/manifests/response.manifest.json +1 -1
  44. package/src/manifests/source.manifest.json +2 -2
  45. package/src/manifests/streaming-indicator.manifest.json +1 -1
  46. package/src/manifests/suggestions.manifest.json +2 -2
  47. package/src/manifests/tool-call.manifest.json +1 -1
@@ -63,5 +63,5 @@
63
63
  "exportName": "Branch",
64
64
  "package": "@slipstream-ui/ai",
65
65
  "importPath": "@slipstream-ui/ai",
66
- "version": "0.0.1"
66
+ "version": "0.6.0"
67
67
  }
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "package": "@slipstream-ui/ai",
35
35
  "importPath": "@slipstream-ui/ai",
36
- "version": "0.0.1",
36
+ "version": "0.6.0",
37
37
  "sourceDir": "chainthought",
38
38
  "exportName": "ChainThought"
39
39
  }
@@ -48,5 +48,5 @@
48
48
  "exportName": "CodeBlock",
49
49
  "package": "@slipstream-ui/ai",
50
50
  "importPath": "@slipstream-ui/ai",
51
- "version": "0.0.1"
51
+ "version": "0.6.0"
52
52
  }
@@ -67,6 +67,27 @@
67
67
  "type": "string",
68
68
  "required": false,
69
69
  "description": "Shown while async commands load."
70
+ },
71
+ {
72
+ "name": "dialogLabel",
73
+ "type": "string",
74
+ "required": false,
75
+ "defaultValue": "Command palette",
76
+ "description": "Accessible label for the combobox."
77
+ },
78
+ {
79
+ "name": "listLabel",
80
+ "type": "string",
81
+ "required": false,
82
+ "defaultValue": "Commands",
83
+ "description": "Accessible label for the command listbox."
84
+ },
85
+ {
86
+ "name": "emptyText",
87
+ "type": "string",
88
+ "required": false,
89
+ "defaultValue": "No matching commands.",
90
+ "description": "Shown when no command matches the query."
70
91
  }
71
92
  ],
72
93
  "examples": [
@@ -108,7 +129,7 @@
108
129
  ],
109
130
  "package": "@slipstream-ui/ai",
110
131
  "importPath": "@slipstream-ui/ai",
111
- "version": "0.0.1",
132
+ "version": "0.6.0",
112
133
  "sourceDir": "command-palette",
113
134
  "exportName": "CommandPalette"
114
135
  }
@@ -141,5 +141,5 @@
141
141
  "exportName": "Confirmation",
142
142
  "package": "@slipstream-ui/ai",
143
143
  "importPath": "@slipstream-ui/ai",
144
- "version": "0.0.1"
144
+ "version": "0.6.0"
145
145
  }
@@ -284,7 +284,7 @@
284
284
  ],
285
285
  "package": "@slipstream-ui/ai",
286
286
  "importPath": "@slipstream-ui/ai",
287
- "version": "0.0.1",
287
+ "version": "0.6.0",
288
288
  "sourceDir": "conversation",
289
289
  "exportName": "Conversation"
290
290
  }
@@ -44,5 +44,5 @@
44
44
  "exportName": "InlineCitation",
45
45
  "package": "@slipstream-ui/ai",
46
46
  "importPath": "@slipstream-ui/ai",
47
- "version": "0.0.1"
47
+ "version": "0.6.0"
48
48
  }
@@ -5,12 +5,48 @@
5
5
  "description": "Feedback toolbar for an AI response: copy to clipboard, thumbs up/down rating, and regenerate. Every action is a callback; the component holds no conversation state.",
6
6
  "designIntent": "Collect user trust signals (copy, rating, regeneration) with minimal API surface; consumers own what happens after each action.",
7
7
  "props": [
8
- { "name": "content", "type": "string", "required": false, "description": "Text to copy; omit to hide the copy action." },
9
- { "name": "onCopy", "type": "(content: string) => void", "required": false, "description": "Called after copy with the copied text." },
10
- { "name": "onFeedback", "type": "(rating: 'up' | 'down' | undefined) => void", "required": false, "description": "Rating callback; selecting the active rating again passes undefined." },
11
- { "name": "onRegenerate", "type": "() => void", "required": false, "description": "Regeneration request; omit to hide the action." },
12
- { "name": "autohide", "type": "'always' | 'on-hover' | 'not-last'", "required": false, "defaultValue": "always", "enum": ["always", "on-hover", "not-last"], "description": "Controls visibility: always visible, visible on hover/focus, or hidden until hover for non-latest messages." },
13
- { "name": "labels", "type": "{ copy?, copied?, thumbUp?, thumbDown?, regenerate? }", "required": false, "description": "Overrides for all visible labels; enables localization." }
8
+ {
9
+ "name": "content",
10
+ "type": "string",
11
+ "required": false,
12
+ "description": "Text to copy; omit to hide the copy action."
13
+ },
14
+ {
15
+ "name": "onCopy",
16
+ "type": "(content: string) => void",
17
+ "required": false,
18
+ "description": "Called after copy with the copied text."
19
+ },
20
+ {
21
+ "name": "onFeedback",
22
+ "type": "(rating: 'up' | 'down' | undefined) => void",
23
+ "required": false,
24
+ "description": "Rating callback; selecting the active rating again passes undefined."
25
+ },
26
+ {
27
+ "name": "onRegenerate",
28
+ "type": "() => void",
29
+ "required": false,
30
+ "description": "Regeneration request; omit to hide the action."
31
+ },
32
+ {
33
+ "name": "autohide",
34
+ "type": "'always' | 'on-hover' | 'not-last'",
35
+ "required": false,
36
+ "defaultValue": "always",
37
+ "enum": [
38
+ "always",
39
+ "on-hover",
40
+ "not-last"
41
+ ],
42
+ "description": "Controls visibility: always visible, visible on hover/focus, or hidden until hover for non-latest messages."
43
+ },
44
+ {
45
+ "name": "labels",
46
+ "type": "{ copy?, copied?, thumbUp?, thumbDown?, regenerate? }",
47
+ "required": false,
48
+ "description": "Overrides for all visible labels; enables localization."
49
+ }
14
50
  ],
15
51
  "examples": [
16
52
  {
@@ -23,16 +59,28 @@
23
59
  }
24
60
  ],
25
61
  "antiPatterns": [
26
- { "title": "Do not place MessageActions inside the message text flow", "explanation": "Render it below the Message bubble so actions remain visually and semantically separate from content." }
62
+ {
63
+ "title": "Do not place MessageActions inside the message text flow",
64
+ "explanation": "Render it below the Message bubble so actions remain visually and semantically separate from content."
65
+ }
27
66
  ],
28
67
  "accessibility": [
29
- { "feature": "Toolbar semantics", "implementation": "Root has role=toolbar with an aria-label." },
30
- { "feature": "Toggle state", "implementation": "Rating buttons expose aria-pressed so screen readers announce selection." },
31
- { "feature": "Icon buttons", "implementation": "All icon-only controls have accessible labels; labels are localizable." }
68
+ {
69
+ "feature": "Toolbar semantics",
70
+ "implementation": "Root has role=toolbar with an aria-label."
71
+ },
72
+ {
73
+ "feature": "Toggle state",
74
+ "implementation": "Rating buttons expose aria-pressed so screen readers announce selection."
75
+ },
76
+ {
77
+ "feature": "Icon buttons",
78
+ "implementation": "All icon-only controls have accessible labels; labels are localizable."
79
+ }
32
80
  ],
33
81
  "sourceDir": "message-actions",
34
82
  "exportName": "MessageActions",
35
83
  "package": "@slipstream-ui/ai",
36
84
  "importPath": "@slipstream-ui/ai",
37
- "version": "0.0.1"
85
+ "version": "0.6.0"
38
86
  }
@@ -102,6 +102,18 @@
102
102
  "type": "(content: string) => void",
103
103
  "required": false,
104
104
  "description": "Enables edit-and-resubmit; called with the edited content"
105
+ },
106
+ {
107
+ "name": "formatTime",
108
+ "type": "(date: Date) => string",
109
+ "required": false,
110
+ "description": "Formats message or step timestamps. Defaults to the runtime toLocaleTimeString()."
111
+ },
112
+ {
113
+ "name": "locale",
114
+ "type": "string",
115
+ "required": false,
116
+ "description": "BCP-47 locale used by the default timestamp formatter."
105
117
  }
106
118
  ],
107
119
  "examples": [
@@ -229,7 +241,7 @@
229
241
  ],
230
242
  "package": "@slipstream-ui/ai",
231
243
  "importPath": "@slipstream-ui/ai",
232
- "version": "0.0.1",
244
+ "version": "0.6.0",
233
245
  "sourceDir": "message",
234
246
  "exportName": "Message"
235
247
  }
@@ -328,7 +328,7 @@
328
328
  ],
329
329
  "package": "@slipstream-ui/ai",
330
330
  "importPath": "@slipstream-ui/ai",
331
- "version": "0.0.1",
331
+ "version": "0.6.0",
332
332
  "sourceDir": "prompt-input",
333
333
  "exportName": "PromptInput"
334
- }
334
+ }
@@ -59,6 +59,18 @@
59
59
  "type": "{ title?: string; count?: (count: number) => string; thinking?: string; step?: (index: number) => string }",
60
60
  "required": false,
61
61
  "description": "Localized header, count and step labels."
62
+ },
63
+ {
64
+ "name": "formatTime",
65
+ "type": "(date: Date) => string",
66
+ "required": false,
67
+ "description": "Formats message or step timestamps. Defaults to the runtime toLocaleTimeString()."
68
+ },
69
+ {
70
+ "name": "locale",
71
+ "type": "string",
72
+ "required": false,
73
+ "description": "BCP-47 locale used by the default timestamp formatter."
62
74
  }
63
75
  ],
64
76
  "examples": [
@@ -177,7 +189,7 @@
177
189
  ],
178
190
  "package": "@slipstream-ui/ai",
179
191
  "importPath": "@slipstream-ui/ai",
180
- "version": "0.0.1",
192
+ "version": "0.6.0",
181
193
  "sourceDir": "reasoning",
182
194
  "exportName": "Reasoning"
183
195
  }
@@ -49,5 +49,5 @@
49
49
  "exportName": "Response",
50
50
  "package": "@slipstream-ui/ai",
51
51
  "importPath": "@slipstream-ui/ai",
52
- "version": "0.0.1"
52
+ "version": "0.6.0"
53
53
  }
@@ -72,7 +72,7 @@
72
72
  ],
73
73
  "package": "@slipstream-ui/ai",
74
74
  "importPath": "@slipstream-ui/ai",
75
- "version": "0.0.1",
75
+ "version": "0.6.0",
76
76
  "sourceDir": "source",
77
77
  "exportName": "Source"
78
- }
78
+ }
@@ -33,7 +33,7 @@
33
33
  ],
34
34
  "package": "@slipstream-ui/ai",
35
35
  "importPath": "@slipstream-ui/ai",
36
- "version": "0.0.1",
36
+ "version": "0.6.0",
37
37
  "sourceDir": "streaming",
38
38
  "exportName": "StreamingIndicator"
39
39
  }
@@ -39,7 +39,7 @@
39
39
  ],
40
40
  "package": "@slipstream-ui/ai",
41
41
  "importPath": "@slipstream-ui/ai",
42
- "version": "0.0.1",
42
+ "version": "0.6.0",
43
43
  "sourceDir": "suggestion",
44
44
  "exportName": "Suggestions"
45
- }
45
+ }
@@ -158,7 +158,7 @@
158
158
  ],
159
159
  "package": "@slipstream-ui/ai",
160
160
  "importPath": "@slipstream-ui/ai",
161
- "version": "0.0.1",
161
+ "version": "0.6.0",
162
162
  "sourceDir": "tool-call",
163
163
  "exportName": "ToolCall"
164
164
  }