@ciridae/ui 0.2.5 → 0.3.2

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 (150) hide show
  1. package/dist/components/ui/app-shell-page.js +1 -1
  2. package/dist/components/ui/app-shell.js +1 -1
  3. package/dist/components/ui/button-group.js +1 -1
  4. package/dist/components/ui/card.js +1 -1
  5. package/dist/components/ui/ciridae-ui-provider.d.ts +8 -0
  6. package/dist/components/ui/ciridae-ui-provider.js +14 -0
  7. package/dist/components/ui/color-theme.d.ts +1 -0
  8. package/dist/components/ui/color-theme.js +1 -0
  9. package/dist/components/ui/combobox.js +2 -2
  10. package/dist/components/ui/command.js +1 -1
  11. package/dist/components/ui/context-menu.js +2 -2
  12. package/dist/components/ui/data-table-grid.js +1 -1
  13. package/dist/components/ui/data-table.js +1 -1
  14. package/dist/components/ui/dropdown-menu.js +2 -2
  15. package/dist/components/ui/input-group.js +1 -1
  16. package/dist/components/ui/item.d.ts +1 -1
  17. package/dist/components/ui/menubar.js +2 -2
  18. package/dist/components/ui/page-header.js +1 -1
  19. package/dist/components/ui/registry-docs-api.js +1 -1
  20. package/dist/components/ui/registry-docs-showcase.js +1 -1
  21. package/dist/components/ui/select.js +1 -1
  22. package/dist/components/ui/sidebar/group.js +2 -2
  23. package/dist/components/ui/sidebar/menu.js +3 -3
  24. package/dist/components/ui/sidebar-account-menu-theme.js +2 -2
  25. package/dist/components/ui/sidebar-account-menu.js +3 -3
  26. package/dist/styled-system/styles.css +393 -61
  27. package/dist/styles.css +2 -0
  28. package/package.json +7 -260
  29. package/dist/components/agentic/agent-card.d.ts +0 -28
  30. package/dist/components/agentic/agent-card.js +0 -27
  31. package/dist/components/agentic/agent-composer.d.ts +0 -44
  32. package/dist/components/agentic/agent-composer.js +0 -104
  33. package/dist/components/agentic/agent-context.d.ts +0 -28
  34. package/dist/components/agentic/agent-context.js +0 -102
  35. package/dist/components/agentic/agent-plan.d.ts +0 -27
  36. package/dist/components/agentic/agent-plan.js +0 -43
  37. package/dist/components/agentic/agent-queue.d.ts +0 -46
  38. package/dist/components/agentic/agent-queue.js +0 -53
  39. package/dist/components/agentic/agent-task.d.ts +0 -16
  40. package/dist/components/agentic/agent-task.js +0 -20
  41. package/dist/components/agentic/approval-request.d.ts +0 -24
  42. package/dist/components/agentic/approval-request.js +0 -57
  43. package/dist/components/agentic/artifact.d.ts +0 -24
  44. package/dist/components/agentic/artifact.js +0 -72
  45. package/dist/components/agentic/attachments.d.ts +0 -124
  46. package/dist/components/agentic/attachments.js +0 -595
  47. package/dist/components/agentic/audio-player.d.ts +0 -16
  48. package/dist/components/agentic/audio-player.js +0 -21
  49. package/dist/components/agentic/canvas.d.ts +0 -10
  50. package/dist/components/agentic/canvas.js +0 -22
  51. package/dist/components/agentic/clipboard.d.ts +0 -2
  52. package/dist/components/agentic/clipboard.js +0 -12
  53. package/dist/components/agentic/code-block.d.ts +0 -43
  54. package/dist/components/agentic/code-block.js +0 -92
  55. package/dist/components/agentic/commit.d.ts +0 -57
  56. package/dist/components/agentic/commit.js +0 -85
  57. package/dist/components/agentic/connection.d.ts +0 -3
  58. package/dist/components/agentic/connection.js +0 -8
  59. package/dist/components/agentic/controls.d.ts +0 -6
  60. package/dist/components/agentic/controls.js +0 -7
  61. package/dist/components/agentic/conversation.d.ts +0 -25
  62. package/dist/components/agentic/conversation.js +0 -56
  63. package/dist/components/agentic/edge.d.ts +0 -8
  64. package/dist/components/agentic/edge.js +0 -65
  65. package/dist/components/agentic/effort-selector.d.ts +0 -43
  66. package/dist/components/agentic/effort-selector.js +0 -47
  67. package/dist/components/agentic/environment-variables.d.ts +0 -32
  68. package/dist/components/agentic/environment-variables.js +0 -66
  69. package/dist/components/agentic/file-tree.d.ts +0 -24
  70. package/dist/components/agentic/file-tree.js +0 -56
  71. package/dist/components/agentic/image.d.ts +0 -9
  72. package/dist/components/agentic/image.js +0 -11
  73. package/dist/components/agentic/inline-citation.d.ts +0 -40
  74. package/dist/components/agentic/inline-citation.js +0 -111
  75. package/dist/components/agentic/jsx-preview.d.ts +0 -19
  76. package/dist/components/agentic/jsx-preview.js +0 -34
  77. package/dist/components/agentic/message-branch.d.ts +0 -20
  78. package/dist/components/agentic/message-branch.js +0 -83
  79. package/dist/components/agentic/message-response.css +0 -265
  80. package/dist/components/agentic/message-response.css.d.ts +0 -2
  81. package/dist/components/agentic/message.d.ts +0 -27
  82. package/dist/components/agentic/message.js +0 -57
  83. package/dist/components/agentic/mic-selector.d.ts +0 -58
  84. package/dist/components/agentic/mic-selector.js +0 -173
  85. package/dist/components/agentic/model-selector.d.ts +0 -39
  86. package/dist/components/agentic/model-selector.js +0 -47
  87. package/dist/components/agentic/node.d.ts +0 -26
  88. package/dist/components/agentic/node.js +0 -29
  89. package/dist/components/agentic/open-in-chat.d.ts +0 -9
  90. package/dist/components/agentic/open-in-chat.js +0 -8
  91. package/dist/components/agentic/package-info.d.ts +0 -30
  92. package/dist/components/agentic/package-info.js +0 -44
  93. package/dist/components/agentic/panel.d.ts +0 -6
  94. package/dist/components/agentic/panel.js +0 -7
  95. package/dist/components/agentic/persona.d.ts +0 -16
  96. package/dist/components/agentic/persona.js +0 -116
  97. package/dist/components/agentic/prompt-input-action-menu.d.ts +0 -16
  98. package/dist/components/agentic/prompt-input-action-menu.js +0 -22
  99. package/dist/components/agentic/prompt-input-command.d.ts +0 -18
  100. package/dist/components/agentic/prompt-input-command.js +0 -25
  101. package/dist/components/agentic/prompt-input-hover-card.d.ts +0 -10
  102. package/dist/components/agentic/prompt-input-hover-card.js +0 -13
  103. package/dist/components/agentic/prompt-input-select.d.ts +0 -14
  104. package/dist/components/agentic/prompt-input-select.js +0 -19
  105. package/dist/components/agentic/prompt-input-tabs.d.ts +0 -17
  106. package/dist/components/agentic/prompt-input-tabs.js +0 -45
  107. package/dist/components/agentic/prompt-input.d.ts +0 -79
  108. package/dist/components/agentic/prompt-input.js +0 -206
  109. package/dist/components/agentic/reasoning.d.ts +0 -21
  110. package/dist/components/agentic/reasoning.js +0 -106
  111. package/dist/components/agentic/run-checkpoint.d.ts +0 -13
  112. package/dist/components/agentic/run-checkpoint.js +0 -19
  113. package/dist/components/agentic/run-trace.d.ts +0 -30
  114. package/dist/components/agentic/run-trace.js +0 -56
  115. package/dist/components/agentic/sandbox.d.ts +0 -24
  116. package/dist/components/agentic/sandbox.js +0 -33
  117. package/dist/components/agentic/schema-display.d.ts +0 -39
  118. package/dist/components/agentic/schema-display.js +0 -56
  119. package/dist/components/agentic/shimmer.d.ts +0 -11
  120. package/dist/components/agentic/shimmer.js +0 -16
  121. package/dist/components/agentic/snippet.d.ts +0 -18
  122. package/dist/components/agentic/snippet.js +0 -35
  123. package/dist/components/agentic/sources.d.ts +0 -16
  124. package/dist/components/agentic/sources.js +0 -17
  125. package/dist/components/agentic/speech-input.d.ts +0 -24
  126. package/dist/components/agentic/speech-input.js +0 -30
  127. package/dist/components/agentic/stack-trace.d.ts +0 -27
  128. package/dist/components/agentic/stack-trace.js +0 -76
  129. package/dist/components/agentic/suggestion.d.ts +0 -12
  130. package/dist/components/agentic/suggestion.js +0 -15
  131. package/dist/components/agentic/terminal.d.ts +0 -24
  132. package/dist/components/agentic/terminal.js +0 -47
  133. package/dist/components/agentic/test-results.d.ts +0 -51
  134. package/dist/components/agentic/test-results.js +0 -83
  135. package/dist/components/agentic/theme.d.ts +0 -5
  136. package/dist/components/agentic/theme.js +0 -31
  137. package/dist/components/agentic/tool.d.ts +0 -25
  138. package/dist/components/agentic/tool.js +0 -73
  139. package/dist/components/agentic/toolbar.d.ts +0 -6
  140. package/dist/components/agentic/toolbar.js +0 -7
  141. package/dist/components/agentic/transcription.d.ts +0 -20
  142. package/dist/components/agentic/transcription.js +0 -32
  143. package/dist/components/agentic/types.d.ts +0 -172
  144. package/dist/components/agentic/types.js +0 -1
  145. package/dist/components/agentic/use-controllable-state.d.ts +0 -6
  146. package/dist/components/agentic/use-controllable-state.js +0 -13
  147. package/dist/components/agentic/voice-selector.d.ts +0 -69
  148. package/dist/components/agentic/voice-selector.js +0 -122
  149. package/dist/components/agentic/web-preview.d.ts +0 -25
  150. package/dist/components/agentic/web-preview.js +0 -33
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ciridae/ui",
3
- "version": "0.2.5",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "repository": {
@@ -15,254 +15,6 @@
15
15
  ],
16
16
  "exports": {
17
17
  "./package.json": "./package.json",
18
- "./agent-card": {
19
- "types": "./dist/components/agentic/agent-card.d.ts",
20
- "default": "./dist/components/agentic/agent-card.js"
21
- },
22
- "./agent-composer": {
23
- "types": "./dist/components/agentic/agent-composer.d.ts",
24
- "default": "./dist/components/agentic/agent-composer.js"
25
- },
26
- "./agent-context": {
27
- "types": "./dist/components/agentic/agent-context.d.ts",
28
- "default": "./dist/components/agentic/agent-context.js"
29
- },
30
- "./agent-plan": {
31
- "types": "./dist/components/agentic/agent-plan.d.ts",
32
- "default": "./dist/components/agentic/agent-plan.js"
33
- },
34
- "./agent-queue": {
35
- "types": "./dist/components/agentic/agent-queue.d.ts",
36
- "default": "./dist/components/agentic/agent-queue.js"
37
- },
38
- "./agent-task": {
39
- "types": "./dist/components/agentic/agent-task.d.ts",
40
- "default": "./dist/components/agentic/agent-task.js"
41
- },
42
- "./approval-request": {
43
- "types": "./dist/components/agentic/approval-request.d.ts",
44
- "default": "./dist/components/agentic/approval-request.js"
45
- },
46
- "./artifact": {
47
- "types": "./dist/components/agentic/artifact.d.ts",
48
- "default": "./dist/components/agentic/artifact.js"
49
- },
50
- "./attachments": {
51
- "types": "./dist/components/agentic/attachments.d.ts",
52
- "default": "./dist/components/agentic/attachments.js"
53
- },
54
- "./audio-player": {
55
- "types": "./dist/components/agentic/audio-player.d.ts",
56
- "default": "./dist/components/agentic/audio-player.js"
57
- },
58
- "./canvas": {
59
- "types": "./dist/components/agentic/canvas.d.ts",
60
- "default": "./dist/components/agentic/canvas.js"
61
- },
62
- "./clipboard": {
63
- "types": "./dist/components/agentic/clipboard.d.ts",
64
- "default": "./dist/components/agentic/clipboard.js"
65
- },
66
- "./code-block": {
67
- "types": "./dist/components/agentic/code-block.d.ts",
68
- "default": "./dist/components/agentic/code-block.js"
69
- },
70
- "./commit": {
71
- "types": "./dist/components/agentic/commit.d.ts",
72
- "default": "./dist/components/agentic/commit.js"
73
- },
74
- "./connection": {
75
- "types": "./dist/components/agentic/connection.d.ts",
76
- "default": "./dist/components/agentic/connection.js"
77
- },
78
- "./controls": {
79
- "types": "./dist/components/agentic/controls.d.ts",
80
- "default": "./dist/components/agentic/controls.js"
81
- },
82
- "./conversation": {
83
- "types": "./dist/components/agentic/conversation.d.ts",
84
- "default": "./dist/components/agentic/conversation.js"
85
- },
86
- "./edge": {
87
- "types": "./dist/components/agentic/edge.d.ts",
88
- "default": "./dist/components/agentic/edge.js"
89
- },
90
- "./effort-selector": {
91
- "types": "./dist/components/agentic/effort-selector.d.ts",
92
- "default": "./dist/components/agentic/effort-selector.js"
93
- },
94
- "./environment-variables": {
95
- "types": "./dist/components/agentic/environment-variables.d.ts",
96
- "default": "./dist/components/agentic/environment-variables.js"
97
- },
98
- "./file-tree": {
99
- "types": "./dist/components/agentic/file-tree.d.ts",
100
- "default": "./dist/components/agentic/file-tree.js"
101
- },
102
- "./image": {
103
- "types": "./dist/components/agentic/image.d.ts",
104
- "default": "./dist/components/agentic/image.js"
105
- },
106
- "./inline-citation": {
107
- "types": "./dist/components/agentic/inline-citation.d.ts",
108
- "default": "./dist/components/agentic/inline-citation.js"
109
- },
110
- "./jsx-preview": {
111
- "types": "./dist/components/agentic/jsx-preview.d.ts",
112
- "default": "./dist/components/agentic/jsx-preview.js"
113
- },
114
- "./message-branch": {
115
- "types": "./dist/components/agentic/message-branch.d.ts",
116
- "default": "./dist/components/agentic/message-branch.js"
117
- },
118
- "./message": {
119
- "types": "./dist/components/agentic/message.d.ts",
120
- "default": "./dist/components/agentic/message.js"
121
- },
122
- "./message-response.css": {
123
- "types": "./dist/components/agentic/message-response.css.d.ts",
124
- "default": "./dist/components/agentic/message-response.css"
125
- },
126
- "./mic-selector": {
127
- "types": "./dist/components/agentic/mic-selector.d.ts",
128
- "default": "./dist/components/agentic/mic-selector.js"
129
- },
130
- "./model-selector": {
131
- "types": "./dist/components/agentic/model-selector.d.ts",
132
- "default": "./dist/components/agentic/model-selector.js"
133
- },
134
- "./node": {
135
- "types": "./dist/components/agentic/node.d.ts",
136
- "default": "./dist/components/agentic/node.js"
137
- },
138
- "./open-in-chat": {
139
- "types": "./dist/components/agentic/open-in-chat.d.ts",
140
- "default": "./dist/components/agentic/open-in-chat.js"
141
- },
142
- "./package-info": {
143
- "types": "./dist/components/agentic/package-info.d.ts",
144
- "default": "./dist/components/agentic/package-info.js"
145
- },
146
- "./panel": {
147
- "types": "./dist/components/agentic/panel.d.ts",
148
- "default": "./dist/components/agentic/panel.js"
149
- },
150
- "./persona": {
151
- "types": "./dist/components/agentic/persona.d.ts",
152
- "default": "./dist/components/agentic/persona.js"
153
- },
154
- "./prompt-input-action-menu": {
155
- "types": "./dist/components/agentic/prompt-input-action-menu.d.ts",
156
- "default": "./dist/components/agentic/prompt-input-action-menu.js"
157
- },
158
- "./prompt-input": {
159
- "types": "./dist/components/agentic/prompt-input.d.ts",
160
- "default": "./dist/components/agentic/prompt-input.js"
161
- },
162
- "./prompt-input-command": {
163
- "types": "./dist/components/agentic/prompt-input-command.d.ts",
164
- "default": "./dist/components/agentic/prompt-input-command.js"
165
- },
166
- "./prompt-input-hover-card": {
167
- "types": "./dist/components/agentic/prompt-input-hover-card.d.ts",
168
- "default": "./dist/components/agentic/prompt-input-hover-card.js"
169
- },
170
- "./prompt-input-select": {
171
- "types": "./dist/components/agentic/prompt-input-select.d.ts",
172
- "default": "./dist/components/agentic/prompt-input-select.js"
173
- },
174
- "./prompt-input-tabs": {
175
- "types": "./dist/components/agentic/prompt-input-tabs.d.ts",
176
- "default": "./dist/components/agentic/prompt-input-tabs.js"
177
- },
178
- "./reasoning": {
179
- "types": "./dist/components/agentic/reasoning.d.ts",
180
- "default": "./dist/components/agentic/reasoning.js"
181
- },
182
- "./run-checkpoint": {
183
- "types": "./dist/components/agentic/run-checkpoint.d.ts",
184
- "default": "./dist/components/agentic/run-checkpoint.js"
185
- },
186
- "./run-trace": {
187
- "types": "./dist/components/agentic/run-trace.d.ts",
188
- "default": "./dist/components/agentic/run-trace.js"
189
- },
190
- "./sandbox": {
191
- "types": "./dist/components/agentic/sandbox.d.ts",
192
- "default": "./dist/components/agentic/sandbox.js"
193
- },
194
- "./schema-display": {
195
- "types": "./dist/components/agentic/schema-display.d.ts",
196
- "default": "./dist/components/agentic/schema-display.js"
197
- },
198
- "./shimmer": {
199
- "types": "./dist/components/agentic/shimmer.d.ts",
200
- "default": "./dist/components/agentic/shimmer.js"
201
- },
202
- "./snippet": {
203
- "types": "./dist/components/agentic/snippet.d.ts",
204
- "default": "./dist/components/agentic/snippet.js"
205
- },
206
- "./sources": {
207
- "types": "./dist/components/agentic/sources.d.ts",
208
- "default": "./dist/components/agentic/sources.js"
209
- },
210
- "./speech-input": {
211
- "types": "./dist/components/agentic/speech-input.d.ts",
212
- "default": "./dist/components/agentic/speech-input.js"
213
- },
214
- "./stack-trace": {
215
- "types": "./dist/components/agentic/stack-trace.d.ts",
216
- "default": "./dist/components/agentic/stack-trace.js"
217
- },
218
- "./suggestion": {
219
- "types": "./dist/components/agentic/suggestion.d.ts",
220
- "default": "./dist/components/agentic/suggestion.js"
221
- },
222
- "./terminal": {
223
- "types": "./dist/components/agentic/terminal.d.ts",
224
- "default": "./dist/components/agentic/terminal.js"
225
- },
226
- "./test-results": {
227
- "types": "./dist/components/agentic/test-results.d.ts",
228
- "default": "./dist/components/agentic/test-results.js"
229
- },
230
- "./theme": {
231
- "types": "./dist/components/agentic/theme.d.ts",
232
- "default": "./dist/components/agentic/theme.js"
233
- },
234
- "./tool": {
235
- "types": "./dist/components/agentic/tool.d.ts",
236
- "default": "./dist/components/agentic/tool.js"
237
- },
238
- "./toolbar": {
239
- "types": "./dist/components/agentic/toolbar.d.ts",
240
- "default": "./dist/components/agentic/toolbar.js"
241
- },
242
- "./transcription": {
243
- "types": "./dist/components/agentic/transcription.d.ts",
244
- "default": "./dist/components/agentic/transcription.js"
245
- },
246
- "./types": {
247
- "types": "./dist/components/agentic/types.d.ts",
248
- "default": "./dist/components/agentic/types.js"
249
- },
250
- "./agentic-types": {
251
- "types": "./dist/components/agentic/types.d.ts",
252
- "default": "./dist/components/agentic/types.js"
253
- },
254
- "./use-controllable-state": {
255
- "types": "./dist/components/agentic/use-controllable-state.d.ts",
256
- "default": "./dist/components/agentic/use-controllable-state.js"
257
- },
258
- "./voice-selector": {
259
- "types": "./dist/components/agentic/voice-selector.d.ts",
260
- "default": "./dist/components/agentic/voice-selector.js"
261
- },
262
- "./web-preview": {
263
- "types": "./dist/components/agentic/web-preview.d.ts",
264
- "default": "./dist/components/agentic/web-preview.js"
265
- },
266
18
  "./accordion": {
267
19
  "types": "./dist/components/ui/accordion.d.ts",
268
20
  "default": "./dist/components/ui/accordion.js"
@@ -351,6 +103,10 @@
351
103
  "types": "./dist/components/ui/checkbox.d.ts",
352
104
  "default": "./dist/components/ui/checkbox.js"
353
105
  },
106
+ "./ciridae-ui-provider": {
107
+ "types": "./dist/components/ui/ciridae-ui-provider.d.ts",
108
+ "default": "./dist/components/ui/ciridae-ui-provider.js"
109
+ },
354
110
  "./collapsible": {
355
111
  "types": "./dist/components/ui/collapsible.d.ts",
356
112
  "default": "./dist/components/ui/collapsible.js"
@@ -683,6 +439,7 @@
683
439
  "types": "./dist/styled-system/tokens/index.d.ts",
684
440
  "default": "./dist/styled-system/tokens/index.mjs"
685
441
  },
442
+ "./styles.css": "./dist/styles.css",
686
443
  "./styled-system/styles.css": "./dist/styled-system/styles.css"
687
444
  },
688
445
  "files": [
@@ -695,31 +452,21 @@
695
452
  },
696
453
  "dependencies": {
697
454
  "@base-ui/react": "^1.6.0",
698
- "@pandacss/dev": "^1.11.4",
699
- "@rive-app/react-webgl2": "^4.29.4",
700
- "@streamdown/cjk": "^1.0.3",
701
- "@streamdown/code": "^1.1.1",
702
- "@streamdown/math": "^1.0.2",
703
- "@streamdown/mermaid": "^1.0.2",
704
455
  "@tanstack/react-table": "^8.21.3",
705
- "@xyflow/react": "^12.11.1",
456
+ "agentation": "^3.0.2",
706
457
  "class-variance-authority": "^0.7.1",
707
458
  "clsx": "^2.1.1",
708
459
  "cmdk": "^1.1.1",
709
460
  "embla-carousel-react": "^8.6.0",
710
461
  "input-otp": "^1.4.2",
711
- "katex": "^0.17.0",
712
462
  "lucide-react": "^1.23.0",
713
463
  "radix-ui": "^1.6.1",
714
464
  "react-day-picker": "^10.0.1",
715
465
  "react-hook-form": "^7.80.0",
716
- "react-jsx-parser": "^2.4.1",
717
466
  "react-resizable-panels": "^4.12.0",
718
467
  "recharts": "^3.9.1",
719
468
  "shiki": "^4.3.0",
720
469
  "sonner": "^2.0.7",
721
- "streamdown": "^2.5.0",
722
- "use-stick-to-bottom": "^1.1.6",
723
470
  "vaul": "^1.1.2"
724
471
  }
725
472
  }
@@ -1,28 +0,0 @@
1
- import type * as React from "react";
2
- import { Accordion, AccordionItem } from "@ciridae/ui/accordion";
3
- type AgentProps = React.ComponentProps<"div">;
4
- type AgentHeaderProps = React.ComponentProps<"div"> & {
5
- status?: string;
6
- };
7
- type AgentContentProps = React.ComponentProps<"div">;
8
- type AgentInstructionsProps = React.ComponentProps<"div">;
9
- type AgentToolsProps = Omit<React.ComponentProps<typeof Accordion>, "collapsible" | "defaultValue" | "onValueChange" | "type" | "value"> & {
10
- defaultValue?: string;
11
- onValueChange?: (value: string) => void;
12
- value?: string;
13
- };
14
- type AgentToolProps = Omit<React.ComponentProps<typeof AccordionItem>, "value"> & {
15
- description?: string;
16
- name: string;
17
- value?: string;
18
- };
19
- type AgentOutputProps = React.ComponentProps<"div">;
20
- declare function Agent({ className, ...props }: AgentProps): React.JSX.Element;
21
- declare function AgentHeader({ children, className, status, ...props }: AgentHeaderProps): React.JSX.Element;
22
- declare function AgentContent({ className, ...props }: AgentContentProps): React.JSX.Element;
23
- declare function AgentInstructions({ className, ...props }: AgentInstructionsProps): React.JSX.Element;
24
- declare function AgentTools(props: AgentToolsProps): React.JSX.Element;
25
- declare function AgentTool({ children, description, name, value, ...props }: AgentToolProps): React.JSX.Element;
26
- declare function AgentOutput({ className, ...props }: AgentOutputProps): React.JSX.Element;
27
- export { Agent, AgentContent, AgentHeader, AgentInstructions, AgentOutput, AgentTool, AgentTools };
28
- export type { AgentContentProps, AgentHeaderProps, AgentInstructionsProps, AgentOutputProps, AgentProps, AgentToolProps, AgentToolsProps, };
@@ -1,27 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { BotIcon } from "lucide-react";
3
- import { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "@ciridae/ui/accordion";
4
- import { Badge } from "@ciridae/ui/badge";
5
- import { cn } from "@ciridae/ui/utils";
6
- function Agent({ className, ...props }) {
7
- return (_jsx("div", { "data-slot": "agent", className: cn("grid gap-3 rounded-lg border bg-card p-4", className), ...props }));
8
- }
9
- function AgentHeader({ children, className, status, ...props }) {
10
- return (_jsxs("div", { "data-slot": "agent-header", className: cn("flex min-w-0 items-start justify-between gap-3", className), ...props, children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2", children: [_jsx(BotIcon, { "aria-hidden": "true", className: "size-4 shrink-0 text-muted-foreground" }), _jsx("div", { className: "min-w-0", children: children })] }), status ? _jsx(Badge, { variant: "outline", children: status }) : null] }));
11
- }
12
- function AgentContent({ className, ...props }) {
13
- return _jsx("div", { "data-slot": "agent-content", className: cn("grid gap-3", className), ...props });
14
- }
15
- function AgentInstructions({ className, ...props }) {
16
- return (_jsx("div", { "data-slot": "agent-instructions", className: cn("rounded-md bg-muted/40 p-3 text-sm text-muted-foreground", className), ...props }));
17
- }
18
- function AgentTools(props) {
19
- return _jsx(Accordion, { "data-slot": "agent-tools", type: "single", collapsible: true, ...props });
20
- }
21
- function AgentTool({ children, description, name, value, ...props }) {
22
- return (_jsxs(AccordionItem, { "data-slot": "agent-tool", value: value ?? name, ...props, children: [_jsx(AccordionTrigger, { children: name }), _jsxs(AccordionContent, { children: [description ? _jsx("p", { className: "mb-2 text-sm text-muted-foreground", children: description }) : null, children] })] }));
23
- }
24
- function AgentOutput({ className, ...props }) {
25
- return (_jsx("div", { "data-slot": "agent-output", className: cn("rounded-md border bg-muted/30 p-3 text-sm", className), ...props }));
26
- }
27
- export { Agent, AgentContent, AgentHeader, AgentInstructions, AgentOutput, AgentTool, AgentTools };
@@ -1,44 +0,0 @@
1
- import * as React from "react";
2
- import { type AgenticAttachment, type AttachmentError } from "@ciridae/ui/attachments";
3
- import { type EffortSelectorValue } from "@ciridae/ui/effort-selector";
4
- import { type PromptInputDensity, type PromptInputMessage, type PromptInputSurface } from "@ciridae/ui/prompt-input";
5
- import type { AgenticChatStatus } from "@ciridae/ui/types";
6
- type AgentComposerModel = {
7
- description?: string;
8
- group?: string;
9
- id: string;
10
- label: string;
11
- provider: string;
12
- shortcut?: string;
13
- src?: string;
14
- };
15
- type AgentComposerProps = Omit<React.ComponentProps<"div">, "onSubmit"> & {
16
- accept?: string;
17
- attachments?: AgenticAttachment[];
18
- defaultAttachments?: AgenticAttachment[];
19
- defaultValue?: string;
20
- density?: PromptInputDensity;
21
- disabled?: boolean;
22
- effort: EffortSelectorValue;
23
- focusHint?: React.ReactNode;
24
- globalDrop?: boolean;
25
- maxAttachmentSizeMb?: number;
26
- maxAttachments?: number;
27
- model: string;
28
- models: AgentComposerModel[];
29
- multiple?: boolean;
30
- onAttachmentError?: (error: AttachmentError) => void;
31
- onAttachmentsChange?: (attachments: AgenticAttachment[]) => void;
32
- onEffortChange: (value: EffortSelectorValue) => void;
33
- onModelChange: (modelId: string) => void;
34
- onStop?: () => void;
35
- onSubmit?: (message: PromptInputMessage) => void | Promise<void>;
36
- onValueChange?: (value: string) => void;
37
- placeholder?: string;
38
- status?: AgenticChatStatus;
39
- surface?: PromptInputSurface;
40
- value?: string;
41
- };
42
- declare function AgentComposer({ accept, attachments, className, defaultAttachments, defaultValue, density, disabled, effort, focusHint, globalDrop, maxAttachmentSizeMb, maxAttachments, model, models, multiple, onAttachmentError, onAttachmentsChange, onEffortChange, onModelChange, onStop, onSubmit, onValueChange, placeholder, status, surface, value, ...props }: AgentComposerProps): React.JSX.Element;
43
- export { AgentComposer };
44
- export type { AgentComposerModel, AgentComposerProps };
@@ -1,104 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- /* eslint-disable complexity, max-lines, max-lines-per-function, react/jsx-max-depth */
3
- import { CheckIcon, ChevronsUpDownIcon } from "lucide-react";
4
- import * as React from "react";
5
- import { AttachmentList, useAttachments, } from "@ciridae/ui/attachments";
6
- import { EffortSelector } from "@ciridae/ui/effort-selector";
7
- import { ModelSelector, ModelSelectorContent, ModelSelectorEmpty, ModelSelectorGroup, ModelSelectorInput, ModelSelectorItem, ModelSelectorList, ModelSelectorLogo, ModelSelectorName, ModelSelectorShortcut, ModelSelectorTrigger, } from "@ciridae/ui/model-selector";
8
- import { PromptInput, PromptInputActionAddAttachments, PromptInputBody, PromptInputDropOverlay, PromptInputFocusHint, PromptInputProvider, PromptInputSubmit, PromptInputTextarea, PromptInputTools, } from "@ciridae/ui/prompt-input";
9
- import { Button } from "@ciridae/ui/button";
10
- import { cn } from "@ciridae/ui/utils";
11
- function AgentComposer({ accept, attachments, className, defaultAttachments, defaultValue, density = "comfortable", disabled, effort, focusHint, globalDrop, maxAttachmentSizeMb = 25, maxAttachments = 4, model, models, multiple = true, onAttachmentError, onAttachmentsChange, onEffortChange, onModelChange, onStop, onSubmit, onValueChange, placeholder = "Ask anything", status = "idle", surface = "glass", value, ...props }) {
12
- const containerRef = React.useRef(null);
13
- const [localValue, setLocalValue] = React.useState(defaultValue ?? "");
14
- const resolvedValue = value ?? localValue;
15
- const [isDragOver, dropHandlers] = useAgentComposerDropOverlay();
16
- const selectedModel = getSelectedModel(models, model);
17
- const hasText = Boolean(resolvedValue.trim());
18
- const isRunning = status === "submitted" || status === "streaming";
19
- useComposerFocusShortcut(containerRef);
20
- return (_jsx("div", { ref: containerRef, className: cn("w-full", className), ...props, children: _jsx(PromptInputProvider, { accept: accept, attachments: attachments, defaultAttachments: defaultAttachments, maxAttachmentSizeMb: maxAttachmentSizeMb, maxAttachments: maxAttachments, multiple: multiple, onAttachmentError: onAttachmentError, onAttachmentsChange: onAttachmentsChange, onValueChange: (nextValue) => {
21
- if (value === undefined)
22
- setLocalValue(nextValue);
23
- onValueChange?.(nextValue);
24
- }, value: resolvedValue, children: _jsxs(PromptInput, { density: density, disabled: disabled, globalDrop: globalDrop, maxAttachments: maxAttachments, onSubmit: onSubmit, status: status, surface: surface, ...dropHandlers, children: [_jsxs(PromptInputBody, { children: [_jsx(AgentComposerPromptArea, { focusHint: focusHint, hasText: hasText, density: density, placeholder: placeholder }), _jsxs(PromptInputTools, { children: [_jsxs("div", { className: "flex min-w-0 items-center gap-1", children: [_jsx(AgentComposerModelSelector, { disabled: disabled || isRunning, model: selectedModel, models: models, onModelChange: onModelChange }), _jsx(EffortSelector, { disabled: disabled || isRunning, value: effort, onValueChange: onEffortChange })] }), _jsxs("div", { className: "flex items-center gap-1", children: [_jsx(PromptInputActionAddAttachments, { disabled: disabled || isRunning, tooltip: "Add files" }), _jsx(PromptInputSubmit, { disabled: disabled, onStop: onStop, status: status })] })] })] }), _jsx(PromptInputDropOverlay, { visible: isDragOver })] }) }) }));
25
- }
26
- function AgentComposerPromptArea({ focusHint, hasText, density, placeholder, }) {
27
- const attachments = useAttachments();
28
- const [attachmentOffset, setAttachmentOffset] = React.useState(0);
29
- const attachmentRef = React.useRef(null);
30
- const hasAttachments = attachments.files.length > 0;
31
- React.useLayoutEffect(() => {
32
- const node = attachmentRef.current;
33
- if (!node || !hasAttachments) {
34
- setAttachmentOffset(0);
35
- return;
36
- }
37
- const update = () => setAttachmentOffset(node.offsetWidth + 8);
38
- update();
39
- const observer = new ResizeObserver(update);
40
- observer.observe(node);
41
- return () => observer.disconnect();
42
- }, [hasAttachments]);
43
- return (_jsxs("div", { className: cn("relative px-3", density === "comfortable" ? "min-h-20 py-3" : "min-h-9 py-2"), children: [hasAttachments ? (_jsx(AttachmentList, { ref: attachmentRef, className: cn("absolute left-3 z-10 max-w-[min(18rem,calc(100%-7rem))] flex-nowrap overflow-hidden", density === "comfortable" ? "top-[0.8125rem]" : "top-[0.5625rem]", "[&_[data-slot=attachment]]:h-[1.375rem] [&_[data-slot=attachment]]:max-w-full [&_[data-slot=attachment]]:gap-1 [&_[data-slot=attachment]]:rounded-[0.25rem] [&_[data-slot=attachment]]:px-1 [&_[data-slot=attachment]]:pr-1.5", "[&_[data-slot=attachment-info]]:gap-0 [&_[data-slot=attachment-info]>span]:text-[0.75rem] [&_[data-slot=attachment-info]>span]:leading-none", "[&_[data-slot=attachment-preview]]:size-4 [&_[data-slot=attachment-status]]:size-3.5") })) : null, _jsx(PromptInputTextarea, { placeholder: hasAttachments ? "" : placeholder, style: attachmentOffset ? { textIndent: attachmentOffset } : undefined, className: cn("!w-full !px-0 !py-0 pr-32 text-base leading-relaxed md:text-sm", density === "comfortable" ? "!min-h-20" : "!min-h-6") }), _jsx(PromptInputFocusHint, { visible: !hasAttachments && !hasText, children: focusHint })] }));
44
- }
45
- function AgentComposerModelSelector({ disabled, model, models, onModelChange, }) {
46
- return (_jsxs(ModelSelector, { children: [_jsx(ModelSelectorTrigger, { asChild: true, children: _jsxs(Button, { className: "h-7 max-w-44 justify-start gap-1.5 rounded-md px-1.5 text-xs", disabled: disabled, type: "button", variant: "ghost", children: [_jsx(ModelSelectorLogo, { provider: model.provider, src: model.src }), _jsx(ModelSelectorName, { className: "max-w-32 flex-none", children: model.label }), _jsx(ChevronsUpDownIcon, { className: "size-3.5 shrink-0 text-muted-foreground" })] }) }), _jsxs(ModelSelectorContent, { title: "Select model", children: [_jsx(ModelSelectorInput, { placeholder: "Search models..." }), _jsxs(ModelSelectorList, { children: [_jsx(ModelSelectorEmpty, { children: "No models found." }), groupModels(models).map(([group, groupModels]) => (_jsx(ModelSelectorGroup, { heading: group, children: groupModels.map((option) => (_jsxs(ModelSelectorItem, { value: `${option.label} ${option.id} ${option.provider}`, onSelect: () => onModelChange(option.id), children: [_jsx(ModelSelectorLogo, { className: "size-8 rounded-md p-1", provider: option.provider, src: option.src }), _jsxs(ModelSelectorName, { children: [_jsx("span", { className: "block truncate", children: option.label }), option.description ? (_jsx("span", { className: "block truncate text-xs text-muted-foreground", children: option.description })) : null] }), option.shortcut ? (_jsx(ModelSelectorShortcut, { children: option.shortcut })) : null, model.id === option.id ? _jsx(CheckIcon, {}) : null] }, option.id))) }, group)))] })] })] }));
47
- }
48
- function useComposerFocusShortcut(containerRef) {
49
- React.useEffect(() => {
50
- const handleKeyDown = (event) => {
51
- if (!(event.metaKey || event.ctrlKey) || event.key.toLowerCase() !== "l")
52
- return;
53
- const textarea = containerRef.current?.querySelector('[data-slot="prompt-input-textarea"]');
54
- if (!textarea)
55
- return;
56
- event.preventDefault();
57
- textarea.focus();
58
- };
59
- document.addEventListener("keydown", handleKeyDown);
60
- return () => document.removeEventListener("keydown", handleKeyDown);
61
- }, [containerRef]);
62
- }
63
- function useAgentComposerDropOverlay() {
64
- const [dragDepth, setDragDepth] = React.useState(0);
65
- const isDragOver = dragDepth > 0;
66
- const handleDragEnter = React.useCallback((event) => {
67
- if (!event.dataTransfer.types.includes("Files"))
68
- return;
69
- setDragDepth((depth) => depth + 1);
70
- }, []);
71
- const handleDragLeave = React.useCallback((event) => {
72
- if (!event.dataTransfer.types.includes("Files"))
73
- return;
74
- setDragDepth((depth) => Math.max(0, depth - 1));
75
- }, []);
76
- const handleDrop = React.useCallback(() => setDragDepth(0), []);
77
- const handleDragEnd = React.useCallback(() => setDragDepth(0), []);
78
- return [
79
- isDragOver,
80
- {
81
- onDragEnd: handleDragEnd,
82
- onDragEnter: handleDragEnter,
83
- onDragLeave: handleDragLeave,
84
- onDrop: handleDrop,
85
- },
86
- ];
87
- }
88
- function getSelectedModel(models, modelId) {
89
- return models.find((model) => model.id === modelId) ?? models[0] ?? fallbackModel;
90
- }
91
- function groupModels(models) {
92
- const groups = new Map();
93
- for (const model of models) {
94
- const group = model.group ?? "Models";
95
- groups.set(group, [...(groups.get(group) ?? []), model]);
96
- }
97
- return Array.from(groups.entries());
98
- }
99
- const fallbackModel = {
100
- id: "model",
101
- label: "Model",
102
- provider: "openai",
103
- };
104
- export { AgentComposer };
@@ -1,28 +0,0 @@
1
- import type * as React from "react";
2
- import type { AgenticContextUsage } from "@ciridae/ui/types";
3
- import { Button } from "@ciridae/ui/button";
4
- import { HoverCard, HoverCardContent } from "@ciridae/ui/hover-card";
5
- type AgentContextProps = React.ComponentProps<typeof HoverCard> & AgenticContextUsage;
6
- type AgentContextTriggerProps = React.ComponentProps<typeof Button>;
7
- type AgentContextContentProps = React.ComponentProps<typeof HoverCardContent>;
8
- type AgentContextContentHeaderProps = React.ComponentProps<"div">;
9
- type AgentContextContentBodyProps = React.ComponentProps<"div">;
10
- type AgentContextContentFooterProps = React.ComponentProps<"div">;
11
- type AgentContextUsageRowProps = React.ComponentProps<"div"> & {
12
- costText?: string;
13
- label: string;
14
- tokens?: number;
15
- };
16
- declare function AgentContext({ cacheCostText, cachedInputTokens, children, inputCostText, inputTokens, maxTokens, outputCostText, outputTokens, reasoningCostText, reasoningTokens, totalCostText, usedTokens, ...props }: AgentContextProps): React.JSX.Element;
17
- declare function AgentContextTrigger({ children, ...props }: AgentContextTriggerProps): React.JSX.Element;
18
- declare function AgentContextContent({ className, ...props }: AgentContextContentProps): React.JSX.Element;
19
- declare function AgentContextContentHeader({ children, className, ...props }: AgentContextContentHeaderProps): React.JSX.Element;
20
- declare function AgentContextContentBody({ className, ...props }: AgentContextContentBodyProps): React.JSX.Element;
21
- declare function AgentContextContentFooter({ children, className, ...props }: AgentContextContentFooterProps): React.JSX.Element;
22
- declare function AgentContextUsageRow({ className, costText, label, tokens, ...props }: AgentContextUsageRowProps): React.JSX.Element | null;
23
- declare function AgentContextInputUsage(props: Omit<AgentContextUsageRowProps, "label" | "tokens">): React.JSX.Element;
24
- declare function AgentContextOutputUsage(props: Omit<AgentContextUsageRowProps, "label" | "tokens">): React.JSX.Element;
25
- declare function AgentContextReasoningUsage(props: Omit<AgentContextUsageRowProps, "label" | "tokens">): React.JSX.Element;
26
- declare function AgentContextCacheUsage(props: Omit<AgentContextUsageRowProps, "label" | "tokens">): React.JSX.Element;
27
- export { AgentContext, AgentContextCacheUsage, AgentContextContent, AgentContextContentBody, AgentContextContentFooter, AgentContextContentHeader, AgentContextInputUsage, AgentContextOutputUsage, AgentContextReasoningUsage, AgentContextTrigger, AgentContextUsageRow, };
28
- export type { AgentContextContentBodyProps, AgentContextContentFooterProps, AgentContextContentHeaderProps, AgentContextContentProps, AgentContextProps, AgentContextTriggerProps, AgentContextUsageRowProps, };