@agent-native/agentkit 0.1.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 (88) hide show
  1. package/ARCHITECTURE.md +290 -0
  2. package/README.md +822 -0
  3. package/dist/adapters/http.d.ts +56 -0
  4. package/dist/adapters/http.d.ts.map +1 -0
  5. package/dist/adapters/http.js +950 -0
  6. package/dist/adapters/http.js.map +1 -0
  7. package/dist/adapters/index.d.ts +2 -0
  8. package/dist/adapters/index.d.ts.map +1 -0
  9. package/dist/adapters/index.js +2 -0
  10. package/dist/adapters/index.js.map +1 -0
  11. package/dist/client/client.d.ts +240 -0
  12. package/dist/client/client.d.ts.map +1 -0
  13. package/dist/client/client.js +1605 -0
  14. package/dist/client/client.js.map +1 -0
  15. package/dist/client/index.d.ts +3 -0
  16. package/dist/client/index.d.ts.map +1 -0
  17. package/dist/client/index.js +3 -0
  18. package/dist/client/index.js.map +1 -0
  19. package/dist/client/state.d.ts +72 -0
  20. package/dist/client/state.d.ts.map +1 -0
  21. package/dist/client/state.js +385 -0
  22. package/dist/client/state.js.map +1 -0
  23. package/dist/conformance/index.d.ts +41 -0
  24. package/dist/conformance/index.d.ts.map +1 -0
  25. package/dist/conformance/index.js +924 -0
  26. package/dist/conformance/index.js.map +1 -0
  27. package/dist/index.d.ts +3 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +3 -0
  30. package/dist/index.js.map +1 -0
  31. package/dist/protocol/agui-codec.d.ts +28 -0
  32. package/dist/protocol/agui-codec.d.ts.map +1 -0
  33. package/dist/protocol/agui-codec.js +250 -0
  34. package/dist/protocol/agui-codec.js.map +1 -0
  35. package/dist/protocol/agui.d.ts +144 -0
  36. package/dist/protocol/agui.d.ts.map +1 -0
  37. package/dist/protocol/agui.js +253 -0
  38. package/dist/protocol/agui.js.map +1 -0
  39. package/dist/protocol/compatibility.d.ts +35 -0
  40. package/dist/protocol/compatibility.d.ts.map +1 -0
  41. package/dist/protocol/compatibility.js +160 -0
  42. package/dist/protocol/compatibility.js.map +1 -0
  43. package/dist/protocol/errors.d.ts +24 -0
  44. package/dist/protocol/errors.d.ts.map +1 -0
  45. package/dist/protocol/errors.js +77 -0
  46. package/dist/protocol/errors.js.map +1 -0
  47. package/dist/protocol/index.d.ts +982 -0
  48. package/dist/protocol/index.d.ts.map +1 -0
  49. package/dist/protocol/index.js +56 -0
  50. package/dist/protocol/index.js.map +1 -0
  51. package/dist/protocol/validation.d.ts +94 -0
  52. package/dist/protocol/validation.d.ts.map +1 -0
  53. package/dist/protocol/validation.js +1871 -0
  54. package/dist/protocol/validation.js.map +1 -0
  55. package/dist/protocol/version.d.ts +7 -0
  56. package/dist/protocol/version.d.ts.map +1 -0
  57. package/dist/protocol/version.js +9 -0
  58. package/dist/protocol/version.js.map +1 -0
  59. package/dist/react/chat.d.ts +34 -0
  60. package/dist/react/chat.d.ts.map +1 -0
  61. package/dist/react/chat.js +23 -0
  62. package/dist/react/chat.js.map +1 -0
  63. package/dist/react/components.d.ts +96 -0
  64. package/dist/react/components.d.ts.map +1 -0
  65. package/dist/react/components.js +1300 -0
  66. package/dist/react/components.js.map +1 -0
  67. package/dist/react/context.d.ts +259 -0
  68. package/dist/react/context.d.ts.map +1 -0
  69. package/dist/react/context.js +359 -0
  70. package/dist/react/context.js.map +1 -0
  71. package/dist/react/headless.d.ts +3 -0
  72. package/dist/react/headless.d.ts.map +1 -0
  73. package/dist/react/headless.js +3 -0
  74. package/dist/react/headless.js.map +1 -0
  75. package/dist/react/index.d.ts +6 -0
  76. package/dist/react/index.d.ts.map +1 -0
  77. package/dist/react/index.js +6 -0
  78. package/dist/react/index.js.map +1 -0
  79. package/dist/react/root.d.ts +58 -0
  80. package/dist/react/root.d.ts.map +1 -0
  81. package/dist/react/root.js +151 -0
  82. package/dist/react/root.js.map +1 -0
  83. package/dist/react/streaming-text.d.ts +19 -0
  84. package/dist/react/streaming-text.d.ts.map +1 -0
  85. package/dist/react/streaming-text.js +259 -0
  86. package/dist/react/streaming-text.js.map +1 -0
  87. package/dist/react/styles.css +1477 -0
  88. package/package.json +112 -0
@@ -0,0 +1,1477 @@
1
+ :where(.agentkit-chat) {
2
+ --agentkit-canvas: var(
3
+ --agentkit-chat-background,
4
+ var(--agent-kit-recessed-surface, Canvas)
5
+ );
6
+ --agentkit-surface: var(
7
+ --agentkit-composer-background,
8
+ var(
9
+ --agent-kit-raised-surface,
10
+ color-mix(in srgb, Canvas 96%, CanvasText 4%)
11
+ )
12
+ );
13
+ --agentkit-subtle: var(
14
+ --agent-kit-subtle-surface,
15
+ color-mix(in srgb, Canvas 92%, CanvasText 8%)
16
+ );
17
+ --agentkit-border: var(
18
+ --agent-kit-border,
19
+ color-mix(in srgb, CanvasText 16%, transparent)
20
+ );
21
+ --agentkit-text: var(--agent-kit-text, CanvasText);
22
+ --agentkit-text-muted: var(
23
+ --agent-kit-muted-text,
24
+ color-mix(in srgb, CanvasText 62%, transparent)
25
+ );
26
+ --agentkit-accent: var(--agent-kit-accent, CanvasText);
27
+ --agentkit-accent-text: var(--agent-kit-accent-text, Canvas);
28
+ --agentkit-danger: var(--agent-kit-danger, CanvasText);
29
+ --agentkit-success: var(--agent-kit-success, CanvasText);
30
+ --agentkit-focus: var(--agent-kit-focus, Highlight);
31
+ --agentkit-radius: var(--radius-xl, calc(var(--radius, 0.75rem) + 0.5rem));
32
+ --agentkit-radius-inner: var(--radius-lg, var(--radius, 0.75rem));
33
+ --agentkit-elevation: var(--agent-kit-composer-elevation, none);
34
+ --agentkit-composer-border: var(
35
+ --agent-kit-composer-border-color,
36
+ transparent
37
+ );
38
+ --agentkit-composer-focus-border: var(
39
+ --agent-kit-composer-focus-border-color,
40
+ transparent
41
+ );
42
+ --agentkit-composer-toolbar-control-size: var(
43
+ --agent-kit-composer-toolbar-control-size,
44
+ 1.75rem
45
+ );
46
+ --agentkit-composer-toolbar-control-gap: var(
47
+ --agent-kit-composer-toolbar-control-gap,
48
+ 0.25rem
49
+ );
50
+ --agentkit-composer-toolbar-control-padding-inline: var(
51
+ --agent-kit-composer-toolbar-control-padding-inline,
52
+ 0.375rem
53
+ );
54
+ --agentkit-composer-toolbar-control-font-size: var(
55
+ --agent-kit-composer-toolbar-control-font-size,
56
+ 0.75rem
57
+ );
58
+ --agentkit-composer-toolbar-control-line-height: var(
59
+ --agent-kit-composer-toolbar-control-line-height,
60
+ 1rem
61
+ );
62
+ --agentkit-composer-toolbar-control-font-weight: var(
63
+ --agent-kit-composer-toolbar-control-font-weight,
64
+ 500
65
+ );
66
+
67
+ position: relative;
68
+ display: grid;
69
+ inline-size: 100%;
70
+ block-size: 100%;
71
+ min-inline-size: 0;
72
+ min-block-size: 0;
73
+ grid-template-columns: minmax(0, 1fr);
74
+ grid-template-rows: auto minmax(0, 1fr) auto;
75
+ overflow: hidden;
76
+ color: var(--agentkit-text);
77
+ background: var(--agentkit-canvas);
78
+ font: inherit;
79
+ }
80
+
81
+ /*
82
+ * AgentKit owns the complete visual contract for the shared composer
83
+ * primitives it renders internally. Keep this stylesheet independent from the
84
+ * Toolkit Tailwind source-registration stylesheet: AgentKit must remain valid
85
+ * CSS in hosts that do not use Tailwind.
86
+ */
87
+ .agentkit-composer-stack [data-agent-composer-slot="area"] {
88
+ position: relative;
89
+ z-index: 1;
90
+ padding-block: 0.5rem;
91
+ }
92
+
93
+ .agentkit-composer-stack [data-agent-composer-slot="workflow"] {
94
+ position: relative;
95
+ display: flex;
96
+ inline-size: 100%;
97
+ flex-direction: column;
98
+ }
99
+
100
+ .agentkit-composer[data-agent-composer-slot="root"] {
101
+ display: flex;
102
+ flex-direction: column;
103
+ overflow: hidden;
104
+ border: 1px solid var(--agentkit-composer-border);
105
+ border-color: var(--agentkit-composer-border) !important;
106
+ border-radius: var(--agentkit-radius);
107
+ color: var(--agentkit-text);
108
+ background: var(--agentkit-surface);
109
+ box-shadow: var(--agentkit-elevation);
110
+ }
111
+
112
+ .agentkit-composer[data-agent-composer-slot="root"]:focus-within {
113
+ border-color: var(--agentkit-composer-focus-border) !important;
114
+ }
115
+
116
+ :is(:root.dark, :root[data-theme="dark"], .dark)
117
+ .agentkit-composer[data-agent-composer-slot="root"],
118
+ :is(:root.dark, :root[data-theme="dark"], .dark)
119
+ .agentkit-composer[data-agent-composer-slot="root"]:focus-within {
120
+ border-color: transparent !important;
121
+ }
122
+
123
+ .agentkit-composer [data-agent-composer-slot="editor-wrap"] {
124
+ padding: 0.75rem 0.875rem 0.25rem;
125
+ }
126
+
127
+ .agentkit-composer [data-agent-composer-slot="editor"] {
128
+ min-inline-size: 0;
129
+ }
130
+
131
+ .agentkit-composer [data-agent-composer-slot="editor-input"] {
132
+ min-block-size: 3.25rem;
133
+ max-block-size: 10rem;
134
+ overflow-y: auto;
135
+ outline: none;
136
+ color: var(--agentkit-text);
137
+ background: transparent;
138
+ font-size: 0.875rem;
139
+ line-height: 1.5;
140
+ }
141
+
142
+ .agentkit-composer [data-agent-composer-slot="editor-input"] p {
143
+ margin: 0;
144
+ }
145
+
146
+ .agentkit-composer [data-agent-composer-slot="mode-row"],
147
+ .agentkit-composer [data-agent-composer-slot="context-row"] {
148
+ display: flex;
149
+ flex-wrap: wrap;
150
+ gap: 0.375rem;
151
+ padding: 0.5rem 0.625rem 0;
152
+ }
153
+
154
+ .agentkit-composer
155
+ [data-agent-composer-slot="editor-input"]
156
+ p.is-editor-empty:first-child::before,
157
+ .agentkit-composer
158
+ [data-agent-composer-slot="editor-input"]
159
+ p.is-empty:first-child:last-child::before {
160
+ color: var(--agentkit-text-muted);
161
+ }
162
+
163
+ .agentkit-composer [data-agent-composer-slot="toolbar"] {
164
+ display: flex;
165
+ align-items: center;
166
+ gap: var(--agentkit-composer-toolbar-control-gap);
167
+ padding: 0.375rem 0.5rem 0.5rem;
168
+ }
169
+
170
+ .agentkit-composer [data-agent-composer-slot="toolbar-spacer"] {
171
+ flex: 1;
172
+ }
173
+
174
+ .agentkit-composer [data-agent-composer-slot="model-button"] {
175
+ flex: none;
176
+ max-inline-size: none;
177
+ }
178
+
179
+ .agentkit-composer input[type="file"] {
180
+ display: none;
181
+ }
182
+
183
+ .agentkit-composer button {
184
+ display: inline-flex;
185
+ min-inline-size: var(--agentkit-composer-toolbar-control-size);
186
+ block-size: var(--agentkit-composer-toolbar-control-size);
187
+ align-items: center;
188
+ justify-content: center;
189
+ gap: var(--agentkit-composer-toolbar-control-gap);
190
+ padding-inline: var(--agentkit-composer-toolbar-control-padding-inline);
191
+ border: 0;
192
+ border-radius: var(--agentkit-radius-inner);
193
+ color: var(--agentkit-text-muted);
194
+ background: transparent;
195
+ font-family: inherit;
196
+ font-size: var(--agentkit-composer-toolbar-control-font-size);
197
+ font-weight: var(--agentkit-composer-toolbar-control-font-weight);
198
+ line-height: var(--agentkit-composer-toolbar-control-line-height);
199
+ cursor: pointer;
200
+ }
201
+
202
+ .agentkit-composer button:has(> svg:only-child),
203
+ .agentkit-composer [data-agent-composer-slot="send-button"] {
204
+ inline-size: var(--agentkit-composer-toolbar-control-size);
205
+ padding-inline: 0;
206
+ }
207
+
208
+ .agentkit-composer button:hover:not(:disabled) {
209
+ color: var(--agentkit-text);
210
+ background: var(--agentkit-subtle);
211
+ }
212
+
213
+ .agentkit-composer button:disabled {
214
+ opacity: 0.35;
215
+ cursor: default;
216
+ }
217
+
218
+ .agentkit-composer [data-agent-composer-slot="send-button"] {
219
+ border-radius: 999px;
220
+ color: var(--agentkit-accent-text);
221
+ background: var(--agentkit-accent);
222
+ }
223
+
224
+ .agentkit-composer button svg {
225
+ inline-size: 1rem;
226
+ block-size: 1rem;
227
+ flex: none;
228
+ }
229
+
230
+ /* Recessed queued work grows from behind the composer as one workflow. */
231
+ .agentkit-composer-stack
232
+ [data-agent-message-queue="true"][data-agent-message-queue-variant="recessed"] {
233
+ position: relative;
234
+ z-index: 0;
235
+ inline-size: calc(100% - 4rem);
236
+ block-size: var(--agent-message-queue-height, 0);
237
+ margin: 0 auto -1rem;
238
+ padding-block-end: 0.625rem;
239
+ overflow: hidden;
240
+ border: 1px solid color-mix(in srgb, var(--agentkit-border) 70%, transparent);
241
+ border-radius: var(--agentkit-radius-inner);
242
+ background: color-mix(
243
+ in srgb,
244
+ var(--agentkit-subtle) 78%,
245
+ var(--agentkit-surface)
246
+ );
247
+ opacity: 1;
248
+ transform: translateY(0);
249
+ transition:
250
+ block-size 200ms var(--ease-collapse, ease-out),
251
+ margin 200ms var(--ease-collapse, ease-out),
252
+ opacity 160ms ease-out,
253
+ transform 200ms var(--ease-collapse, ease-out),
254
+ border-color 160ms ease-out;
255
+ }
256
+
257
+ .agentkit-composer-stack [data-agent-message-queue="true"][data-empty="true"] {
258
+ margin-block-end: 0;
259
+ padding-block-end: 0;
260
+ border-color: transparent;
261
+ opacity: 0;
262
+ pointer-events: none;
263
+ transform: translateY(0.5rem);
264
+ }
265
+
266
+ .agentkit-composer-stack [data-agent-message-queue="true"] ul {
267
+ display: flex;
268
+ block-size: 100%;
269
+ max-block-size: 10rem;
270
+ flex-direction: column;
271
+ gap: 0.125rem;
272
+ margin: 0;
273
+ padding: 0.25rem 0;
274
+ overflow-y: auto;
275
+ list-style: none;
276
+ }
277
+
278
+ .agentkit-composer-stack [data-agent-message-queue="true"] li {
279
+ display: flex;
280
+ min-block-size: 2.25rem;
281
+ min-inline-size: 0;
282
+ align-items: center;
283
+ gap: 0.5rem;
284
+ padding: 0.375rem 1rem;
285
+ color: var(--agentkit-text);
286
+ font-size: 0.8125rem;
287
+ line-height: 1rem;
288
+ }
289
+
290
+ .agentkit-composer-stack [data-agent-message-queue="true"] li > svg {
291
+ inline-size: 0.875rem;
292
+ block-size: 0.875rem;
293
+ flex: none;
294
+ color: var(--agentkit-text-muted);
295
+ }
296
+
297
+ .agentkit-composer-stack
298
+ [data-agent-message-queue="true"]
299
+ li
300
+ > div:first-of-type {
301
+ min-inline-size: 0;
302
+ flex: 1;
303
+ }
304
+
305
+ .agentkit-composer-stack
306
+ [data-agent-message-queue="true"]
307
+ li
308
+ > div:first-of-type
309
+ > div:first-child {
310
+ overflow: hidden;
311
+ text-overflow: ellipsis;
312
+ white-space: nowrap;
313
+ }
314
+
315
+ .agentkit-composer-stack [data-agent-message-queue="true"] li > div:last-child {
316
+ display: flex;
317
+ flex: none;
318
+ align-items: center;
319
+ gap: 0.125rem;
320
+ color: var(--agentkit-text-muted);
321
+ }
322
+
323
+ .agentkit-composer-stack [data-agent-message-queue="true"] button {
324
+ display: inline-flex;
325
+ min-inline-size: 1.75rem;
326
+ block-size: 1.75rem;
327
+ align-items: center;
328
+ justify-content: center;
329
+ gap: 0.25rem;
330
+ padding-inline: 0.375rem;
331
+ border: 0;
332
+ border-radius: var(--radius-md, var(--radius));
333
+ color: inherit;
334
+ background: transparent;
335
+ font: inherit;
336
+ font-size: 0.75rem;
337
+ cursor: pointer;
338
+ }
339
+
340
+ .agentkit-composer-stack
341
+ [data-agent-message-queue="true"]
342
+ button:has(> svg:only-child) {
343
+ inline-size: 1.75rem;
344
+ padding-inline: 0;
345
+ }
346
+
347
+ .agentkit-composer-stack
348
+ [data-agent-message-queue="true"]
349
+ button:hover:not(:disabled) {
350
+ color: var(--agentkit-text);
351
+ background: var(--agentkit-subtle);
352
+ }
353
+
354
+ .agentkit-composer-stack [data-agent-message-queue="true"] button svg {
355
+ inline-size: 0.875rem;
356
+ block-size: 0.875rem;
357
+ flex: none;
358
+ }
359
+
360
+ .agentkit-composer-stack [data-agent-message-queue="true"] img {
361
+ inline-size: 2rem;
362
+ block-size: 2rem;
363
+ border: 1px solid var(--agentkit-border);
364
+ border-radius: var(--radius-md, var(--radius));
365
+ object-fit: cover;
366
+ }
367
+
368
+ .agentkit-suggestions[data-agent-suggestion-bar="true"] {
369
+ inline-size: 100%;
370
+ overflow: hidden;
371
+ padding: 0.5rem 0;
372
+ }
373
+
374
+ .agentkit-suggestions [data-agent-suggestion-scroller="true"] {
375
+ display: flex;
376
+ inline-size: 100%;
377
+ gap: 0.375rem;
378
+ overflow-x: auto;
379
+ overscroll-behavior-inline: contain;
380
+ scrollbar-width: none;
381
+ }
382
+
383
+ .agentkit-suggestions
384
+ [data-agent-suggestion-scroller="true"]::-webkit-scrollbar {
385
+ display: none;
386
+ }
387
+
388
+ .agentkit-suggestions button {
389
+ flex: none;
390
+ padding: 0.375rem 0.625rem;
391
+ border: 1px solid transparent;
392
+ border-radius: 999px;
393
+ color: var(--agentkit-text-muted);
394
+ background: var(--agentkit-subtle);
395
+ font: inherit;
396
+ font-size: 0.75rem;
397
+ white-space: nowrap;
398
+ cursor: pointer;
399
+ }
400
+
401
+ .agentkit-suggestions button:hover {
402
+ border-color: var(--agentkit-border);
403
+ color: var(--agentkit-text);
404
+ }
405
+
406
+ /* The slash and mention palette is portaled to body, so it resolves host
407
+ * tokens directly instead of relying on inheritance from .agentkit-chat. */
408
+ [data-agent-native-composer-popover="true"] {
409
+ --agentkit-palette-surface: var(
410
+ --agent-kit-popover-surface,
411
+ var(--agent-kit-raised-surface, Canvas)
412
+ );
413
+ --agentkit-palette-text: var(
414
+ --agent-kit-popover-text,
415
+ var(--agent-kit-text, CanvasText)
416
+ );
417
+ --agentkit-palette-muted: var(
418
+ --agent-kit-muted-text,
419
+ color-mix(in srgb, CanvasText 62%, transparent)
420
+ );
421
+ --agentkit-palette-hover: var(
422
+ --agent-kit-subtle-surface,
423
+ color-mix(in srgb, Canvas 92%, CanvasText 8%)
424
+ );
425
+ --agentkit-palette-border: var(
426
+ --agent-kit-border,
427
+ color-mix(in srgb, CanvasText 16%, transparent)
428
+ );
429
+
430
+ position: fixed;
431
+ z-index: 9999;
432
+ max-block-size: min(27.5rem, calc(100vh - 2rem));
433
+ overflow-y: auto;
434
+ padding: 0.25rem;
435
+ border: 1px solid
436
+ color-mix(in srgb, var(--agentkit-palette-border) 80%, transparent);
437
+ border-radius: var(--radius-lg, var(--radius, 0.75rem));
438
+ color: var(--agentkit-palette-text);
439
+ background: var(--agentkit-palette-surface);
440
+ box-shadow: var(--agent-kit-overlay-elevation, none);
441
+ font: inherit;
442
+ }
443
+
444
+ body:has(> [data-agent-native-composer-popover="true"]) > .fixed.inset-0 {
445
+ position: fixed;
446
+ z-index: 9998;
447
+ inset: 0;
448
+ }
449
+
450
+ [data-agent-native-composer-popover="true"] [data-mention-index] {
451
+ display: flex;
452
+ inline-size: 100%;
453
+ min-block-size: 2rem;
454
+ min-inline-size: 0;
455
+ align-items: center;
456
+ gap: 0.5rem;
457
+ padding: 0.25rem 0.5rem;
458
+ border: 0;
459
+ border-radius: var(--radius-md, var(--radius, 0.75rem));
460
+ color: var(--agentkit-palette-text);
461
+ background: transparent;
462
+ font: inherit;
463
+ text-align: start;
464
+ cursor: pointer;
465
+ }
466
+
467
+ [data-agent-native-composer-popover="true"] [data-mention-index]:hover,
468
+ [data-agent-native-composer-popover="true"] [data-mention-index]:focus-visible {
469
+ background: var(--agentkit-palette-hover);
470
+ }
471
+
472
+ [data-agent-native-composer-popover="true"] [data-mention-index] > svg {
473
+ inline-size: 1rem;
474
+ block-size: 1rem;
475
+ flex: none;
476
+ color: var(--agentkit-palette-muted);
477
+ }
478
+
479
+ [data-agent-native-composer-popover="true"] [data-mention-index] > span {
480
+ min-inline-size: 0;
481
+ overflow: hidden;
482
+ font-size: 0.8125rem;
483
+ line-height: 1rem;
484
+ text-overflow: ellipsis;
485
+ white-space: nowrap;
486
+ }
487
+
488
+ [data-agent-native-composer-popover="true"]
489
+ [data-mention-index]
490
+ > span:last-child:not(:first-child) {
491
+ max-inline-size: 60%;
492
+ flex: none;
493
+ margin-inline-start: auto;
494
+ color: var(--agentkit-palette-muted);
495
+ }
496
+
497
+ [data-agent-native-composer-popover="true"]
498
+ > div
499
+ > div
500
+ > div:not(:has([data-mention-index])) {
501
+ color: var(--agentkit-palette-muted);
502
+ }
503
+
504
+ .agentkit-chat[data-empty="true"] {
505
+ grid-template-rows: minmax(0, 1fr) auto;
506
+ }
507
+
508
+ .agentkit-chat[data-empty="true"][data-empty-composer-placement="center"] {
509
+ grid-template-rows: minmax(0, 1fr) auto 1rem auto minmax(0, 1fr);
510
+ }
511
+
512
+ .agentkit-chat[data-empty="true"][data-empty-composer-placement="center"]
513
+ .agentkit-transcript {
514
+ grid-row: 2;
515
+ overflow: visible;
516
+ }
517
+
518
+ .agentkit-chat[data-empty="true"][data-empty-composer-placement="center"]
519
+ .agentkit-transcript-content {
520
+ padding-block: 0;
521
+ }
522
+
523
+ .agentkit-chat[data-empty="true"][data-empty-composer-placement="center"]
524
+ .agentkit-chat-footer {
525
+ grid-row: 4;
526
+ padding-block-end: 0;
527
+ }
528
+
529
+ .agentkit-chat-header {
530
+ z-index: 2;
531
+ display: flex;
532
+ min-block-size: 3rem;
533
+ align-items: center;
534
+ justify-content: space-between;
535
+ gap: 1rem;
536
+ padding-inline: 1rem;
537
+ border-block-end: 1px solid var(--agentkit-border);
538
+ background: var(--agentkit-canvas);
539
+ }
540
+
541
+ .agentkit-chat-title {
542
+ min-inline-size: 0;
543
+ overflow: hidden;
544
+ font-size: 0.8125rem;
545
+ font-weight: 560;
546
+ text-overflow: ellipsis;
547
+ white-space: nowrap;
548
+ }
549
+
550
+ .agentkit-chat-toolbar {
551
+ display: flex;
552
+ min-inline-size: 0;
553
+ align-items: center;
554
+ gap: 0.25rem;
555
+ }
556
+
557
+ .agentkit-chat-toolbar > * {
558
+ flex: none;
559
+ }
560
+
561
+ .agentkit-transcript {
562
+ grid-column: 1;
563
+ grid-row: 2;
564
+ inline-size: 100%;
565
+ min-block-size: 0;
566
+ overflow-y: auto;
567
+ overflow-anchor: none;
568
+ overscroll-behavior-block: contain;
569
+ scrollbar-color: transparent transparent;
570
+ scrollbar-gutter: stable;
571
+ scrollbar-width: thin;
572
+ }
573
+
574
+ .agentkit-transcript::-webkit-scrollbar {
575
+ inline-size: 0.3125rem;
576
+ block-size: 0.3125rem;
577
+ }
578
+
579
+ .agentkit-transcript::-webkit-scrollbar-track {
580
+ background: transparent;
581
+ }
582
+
583
+ .agentkit-transcript::-webkit-scrollbar-thumb {
584
+ border-radius: 999px;
585
+ background: transparent;
586
+ }
587
+
588
+ .agentkit-transcript[data-scrollbar-visible="true"] {
589
+ scrollbar-color: color-mix(
590
+ in srgb,
591
+ var(--agentkit-text-muted) 42%,
592
+ transparent
593
+ )
594
+ transparent;
595
+ }
596
+
597
+ .agentkit-transcript[data-scrollbar-visible="true"]::-webkit-scrollbar-thumb {
598
+ background: color-mix(in srgb, var(--agentkit-text-muted) 42%, transparent);
599
+ }
600
+
601
+ .agentkit-transcript[data-scrollbar-visible="true"]::-webkit-scrollbar-thumb:hover {
602
+ background: color-mix(in srgb, var(--agentkit-text-muted) 62%, transparent);
603
+ }
604
+
605
+ .agentkit-transcript-content {
606
+ inline-size: min(100%, 47rem);
607
+ min-inline-size: 0;
608
+ margin-inline: auto;
609
+ padding: 1.5rem 1rem;
610
+ }
611
+
612
+ .agentkit-message {
613
+ display: flex;
614
+ flex-direction: column;
615
+ align-items: flex-start;
616
+ margin-block: 0 1.25rem;
617
+ font-size: 0.875rem;
618
+ line-height: 1.52;
619
+ }
620
+
621
+ .agentkit-message[data-role="user"] {
622
+ align-items: flex-end;
623
+ }
624
+
625
+ .agentkit-message-content {
626
+ max-inline-size: 100%;
627
+ }
628
+
629
+ .agentkit-message[data-role="user"] .agentkit-message-content {
630
+ max-inline-size: min(88%, 38rem);
631
+ padding: 0.625rem 0.8125rem;
632
+ border-radius: var(--agentkit-radius-inner);
633
+ background: var(--agentkit-subtle);
634
+ }
635
+
636
+ .agentkit-message-content > :first-child {
637
+ margin-block-start: 0;
638
+ }
639
+
640
+ .agentkit-message-content > :last-child {
641
+ margin-block-end: 0;
642
+ }
643
+
644
+ .agentkit-message-content p {
645
+ margin-block: 0 0.625rem;
646
+ white-space: pre-wrap;
647
+ }
648
+
649
+ .agentkit-message-content p[data-format="plain"] {
650
+ font-weight: inherit;
651
+ font-style: normal;
652
+ }
653
+
654
+ .agentkit-markdown {
655
+ overflow-wrap: anywhere;
656
+ }
657
+
658
+ .agentkit-markdown p {
659
+ white-space: normal;
660
+ }
661
+
662
+ .agentkit-markdown :where(ul, ol) {
663
+ margin-block: 0 0.625rem;
664
+ padding-inline-start: 1.25rem;
665
+ }
666
+
667
+ .agentkit-markdown li + li {
668
+ margin-block-start: 0.25rem;
669
+ }
670
+
671
+ .agentkit-markdown :where(code, pre) {
672
+ font-family: var(--font-mono, ui-monospace, monospace);
673
+ }
674
+
675
+ .agentkit-markdown :not(pre) > code {
676
+ padding: 0.125rem 0.25rem;
677
+ border-radius: var(--radius-sm, calc(var(--radius, 0.75rem) / 2));
678
+ background: var(--agentkit-subtle);
679
+ font-size: 0.875em;
680
+ }
681
+
682
+ .agentkit-markdown pre {
683
+ margin-block: 0 0.625rem;
684
+ padding: 0.75rem;
685
+ overflow-x: auto;
686
+ border: 1px solid var(--agentkit-border);
687
+ border-radius: var(--agentkit-radius-inner);
688
+ background: var(--agentkit-subtle);
689
+ }
690
+
691
+ .agentkit-markdown pre code {
692
+ font-size: 0.8125rem;
693
+ }
694
+
695
+ .agentkit-markdown a {
696
+ color: inherit;
697
+ text-decoration-color: var(--agentkit-text-muted);
698
+ text-underline-offset: 0.15em;
699
+ }
700
+
701
+ .agentkit-markdown blockquote {
702
+ margin: 0 0 0.625rem;
703
+ padding-inline-start: 0.75rem;
704
+ border-inline-start: 2px solid var(--agentkit-border);
705
+ color: var(--agentkit-text-muted);
706
+ }
707
+
708
+ .agentkit-message-actions {
709
+ display: flex;
710
+ min-block-size: 1.5rem;
711
+ align-items: center;
712
+ gap: 0.125rem;
713
+ margin-block-start: 0.25rem;
714
+ color: var(--agentkit-text-muted);
715
+ opacity: 0;
716
+ transition: opacity 140ms ease;
717
+ }
718
+
719
+ .agentkit-message:hover .agentkit-message-actions,
720
+ .agentkit-message:focus-within .agentkit-message-actions {
721
+ opacity: 1;
722
+ }
723
+
724
+ .agentkit-message-actions button {
725
+ display: inline-grid;
726
+ inline-size: 1.75rem;
727
+ block-size: 1.75rem;
728
+ place-items: center;
729
+ padding: 0;
730
+ border: 0;
731
+ border-radius: var(--radius-md, var(--radius));
732
+ color: inherit;
733
+ background: transparent;
734
+ cursor: pointer;
735
+ }
736
+
737
+ .agentkit-chat-toolbar :where(button, [role="button"]) {
738
+ display: inline-flex;
739
+ min-inline-size: 1.75rem;
740
+ block-size: 1.75rem;
741
+ align-items: center;
742
+ justify-content: center;
743
+ gap: 0.25rem;
744
+ padding-inline: 0.5rem;
745
+ border: 0;
746
+ border-radius: var(--radius-md, var(--radius));
747
+ color: inherit;
748
+ background: transparent;
749
+ font: inherit;
750
+ font-size: 0.75rem;
751
+ white-space: nowrap;
752
+ cursor: pointer;
753
+ }
754
+
755
+ .agentkit-chat-toolbar :where(button, [role="button"]):has(> svg:only-child) {
756
+ inline-size: 1.75rem;
757
+ padding-inline: 0;
758
+ }
759
+
760
+ .agentkit-message-actions button:hover,
761
+ .agentkit-chat-toolbar :where(button, [role="button"]):hover {
762
+ color: var(--agentkit-text);
763
+ background: var(--agentkit-subtle);
764
+ }
765
+
766
+ .agentkit-message-actions button[aria-pressed="true"] {
767
+ color: var(--agentkit-text);
768
+ background: var(--agentkit-subtle);
769
+ }
770
+
771
+ .agentkit-message-actions button[aria-pressed="true"] svg {
772
+ stroke-width: 2.2;
773
+ }
774
+
775
+ .agentkit-message-actions svg {
776
+ inline-size: 0.875rem;
777
+ block-size: 0.875rem;
778
+ }
779
+
780
+ .agentkit-message-actions time {
781
+ margin-inline-start: 0.25rem;
782
+ font-size: 0.6875rem;
783
+ }
784
+
785
+ .agentkit-icon {
786
+ inline-size: 1rem;
787
+ block-size: 1rem;
788
+ flex: none;
789
+ stroke-width: 1.7;
790
+ }
791
+
792
+ .agentkit-agent-feed,
793
+ .agentkit-activities,
794
+ .agentkit-tasks {
795
+ margin-block: 0.375rem 1.25rem;
796
+ color: var(--agentkit-text-muted);
797
+ font-size: 0.8125rem;
798
+ }
799
+
800
+ .agentkit-agent-feed {
801
+ display: grid;
802
+ gap: 0.125rem;
803
+ }
804
+
805
+ .agentkit-activities-summary,
806
+ .agentkit-activity-row,
807
+ .agentkit-agent-interaction,
808
+ .agentkit-tasks-summary,
809
+ .agentkit-task-row {
810
+ display: flex;
811
+ inline-size: 100%;
812
+ min-inline-size: 0;
813
+ align-items: center;
814
+ gap: 0.5rem;
815
+ padding: 0.25rem 0;
816
+ border: 0;
817
+ color: inherit;
818
+ background: transparent;
819
+ text-align: start;
820
+ list-style: none;
821
+ }
822
+
823
+ .agentkit-activities-summary,
824
+ .agentkit-tasks-summary {
825
+ cursor: pointer;
826
+ }
827
+
828
+ .agentkit-activities-summary::-webkit-details-marker,
829
+ .agentkit-activity-cluster > summary::-webkit-details-marker,
830
+ .agentkit-tasks-summary::-webkit-details-marker {
831
+ display: none;
832
+ }
833
+
834
+ .agentkit-activities-summary:hover,
835
+ .agentkit-activity-row:hover,
836
+ .agentkit-agent-interaction:hover,
837
+ .agentkit-tasks-summary:hover,
838
+ .agentkit-task-row:hover {
839
+ color: var(--agentkit-text);
840
+ }
841
+
842
+ .agentkit-agent {
843
+ display: inline-flex;
844
+ min-inline-size: 0;
845
+ max-inline-size: 12rem;
846
+ flex: none;
847
+ align-items: center;
848
+ padding: 0.125rem 0.5rem;
849
+ border: 1px solid var(--agentkit-border);
850
+ border-radius: 999px;
851
+ color: var(--agentkit-text);
852
+ overflow: hidden;
853
+ background: var(--agentkit-subtle);
854
+ font-size: 0.75rem;
855
+ font-weight: 500;
856
+ line-height: 1.25rem;
857
+ }
858
+
859
+ .agentkit-agent-name,
860
+ .agentkit-agent-interaction-label {
861
+ min-inline-size: 0;
862
+ overflow: hidden;
863
+ text-overflow: ellipsis;
864
+ white-space: nowrap;
865
+ }
866
+
867
+ .agentkit-agent[data-status="working"] .agentkit-agent-name {
868
+ color: transparent;
869
+ background: linear-gradient(
870
+ 90deg,
871
+ var(--agentkit-text),
872
+ color-mix(in srgb, var(--agentkit-text) 34%, transparent),
873
+ var(--agentkit-text)
874
+ );
875
+ background-size: 200% 100%;
876
+ background-clip: text;
877
+ animation: agentkit-shimmer 1.8s linear infinite;
878
+ }
879
+
880
+ .agentkit-agent[data-status="failed"] {
881
+ border-color: color-mix(
882
+ in srgb,
883
+ var(--agentkit-danger) 32%,
884
+ var(--agentkit-border)
885
+ );
886
+ color: var(--agentkit-danger);
887
+ }
888
+
889
+ .agentkit-agent-interaction-detail {
890
+ min-inline-size: 0;
891
+ max-inline-size: 45%;
892
+ margin-inline-start: auto;
893
+ overflow: hidden;
894
+ color: var(--agentkit-text-muted);
895
+ text-overflow: ellipsis;
896
+ white-space: nowrap;
897
+ }
898
+
899
+ .agentkit-activities-count,
900
+ .agentkit-activity-cluster-count,
901
+ .agentkit-tasks-count,
902
+ .agentkit-task-progress {
903
+ color: color-mix(in srgb, var(--agentkit-text-muted) 75%, transparent);
904
+ font-variant-numeric: tabular-nums;
905
+ }
906
+
907
+ .agentkit-activity-cluster-count {
908
+ flex: none;
909
+ margin-inline-start: auto;
910
+ }
911
+
912
+ .agentkit-activity-cluster > summary {
913
+ cursor: pointer;
914
+ }
915
+
916
+ .agentkit-activity-cluster-items {
917
+ display: grid;
918
+ gap: 0.125rem;
919
+ margin-inline-start: 0.5rem;
920
+ padding-inline-start: 1rem;
921
+ border-inline-start: 1px solid var(--agentkit-border);
922
+ }
923
+
924
+ .agentkit-activities-label {
925
+ min-inline-size: 0;
926
+ overflow: hidden;
927
+ text-overflow: ellipsis;
928
+ white-space: nowrap;
929
+ }
930
+
931
+ .agentkit-activities[data-running="true"] .agentkit-activities-label {
932
+ color: transparent;
933
+ background: linear-gradient(
934
+ 90deg,
935
+ var(--agentkit-text-muted),
936
+ color-mix(in srgb, var(--agentkit-text-muted) 28%, transparent),
937
+ var(--agentkit-text-muted)
938
+ );
939
+ background-size: 200% 100%;
940
+ background-clip: text;
941
+ animation: agentkit-shimmer 1.8s linear infinite;
942
+ }
943
+
944
+ .agentkit-summary-chevron,
945
+ .agentkit-disclosure-icon {
946
+ transition: transform 160ms ease;
947
+ }
948
+
949
+ .agentkit-activity-disclosure {
950
+ display: inline-grid;
951
+ inline-size: 1.5rem;
952
+ block-size: 1.5rem;
953
+ flex: none;
954
+ place-items: center;
955
+ margin-inline-start: 0.125rem;
956
+ padding: 0;
957
+ border: 0;
958
+ border-radius: var(--radius-md, var(--radius));
959
+ color: inherit;
960
+ background: transparent;
961
+ cursor: pointer;
962
+ }
963
+
964
+ .agentkit-activity-disclosure:hover {
965
+ color: var(--agentkit-text);
966
+ background: var(--agentkit-subtle);
967
+ }
968
+
969
+ .agentkit-activities[open] .agentkit-summary-chevron,
970
+ .agentkit-tasks[open] .agentkit-summary-chevron,
971
+ .agentkit-disclosure-icon[data-open="true"] {
972
+ transform: rotate(90deg);
973
+ }
974
+
975
+ .agentkit-activities-list,
976
+ .agentkit-tasks-list {
977
+ display: grid;
978
+ gap: 0.125rem;
979
+ padding-block-start: 0.25rem;
980
+ }
981
+
982
+ .agentkit-task-title {
983
+ min-inline-size: 0;
984
+ overflow: hidden;
985
+ color: var(--agentkit-text);
986
+ text-overflow: ellipsis;
987
+ white-space: nowrap;
988
+ }
989
+
990
+ .agentkit-task-detail,
991
+ .agentkit-task-progress {
992
+ margin-inline-start: auto;
993
+ overflow: hidden;
994
+ text-overflow: ellipsis;
995
+ white-space: nowrap;
996
+ }
997
+
998
+ .agentkit-task-row[data-status="running"] .agentkit-task-title {
999
+ color: transparent;
1000
+ background: linear-gradient(
1001
+ 90deg,
1002
+ var(--agentkit-text-muted),
1003
+ color-mix(in srgb, var(--agentkit-text-muted) 28%, transparent),
1004
+ var(--agentkit-text-muted)
1005
+ );
1006
+ background-size: 200% 100%;
1007
+ background-clip: text;
1008
+ animation: agentkit-shimmer 1.8s linear infinite;
1009
+ }
1010
+
1011
+ .agentkit-activity-label {
1012
+ min-inline-size: 0;
1013
+ overflow: hidden;
1014
+ color: var(--agentkit-text);
1015
+ text-overflow: ellipsis;
1016
+ white-space: nowrap;
1017
+ }
1018
+
1019
+ .agentkit-activity-item[data-status="running"] .agentkit-activity-label {
1020
+ color: transparent;
1021
+ background: linear-gradient(
1022
+ 90deg,
1023
+ var(--agentkit-text-muted),
1024
+ color-mix(in srgb, var(--agentkit-text-muted) 28%, transparent),
1025
+ var(--agentkit-text-muted)
1026
+ );
1027
+ background-size: 200% 100%;
1028
+ background-clip: text;
1029
+ animation: agentkit-shimmer 1.8s linear infinite;
1030
+ }
1031
+
1032
+ .agentkit-activity-detail,
1033
+ .agentkit-object {
1034
+ display: flex;
1035
+ min-inline-size: 0;
1036
+ max-inline-size: 55%;
1037
+ align-items: center;
1038
+ gap: 0.375rem;
1039
+ margin-inline-start: auto;
1040
+ padding: 0;
1041
+ border: 0;
1042
+ overflow: hidden;
1043
+ color: var(--agentkit-text-muted);
1044
+ background: transparent;
1045
+ font: inherit;
1046
+ text-align: end;
1047
+ text-overflow: ellipsis;
1048
+ white-space: nowrap;
1049
+ }
1050
+
1051
+ button.agentkit-object {
1052
+ cursor: pointer;
1053
+ }
1054
+
1055
+ .agentkit-object-label {
1056
+ overflow: hidden;
1057
+ text-overflow: ellipsis;
1058
+ }
1059
+
1060
+ .agentkit-diff-added {
1061
+ color: var(--agentkit-success);
1062
+ }
1063
+
1064
+ .agentkit-diff-removed {
1065
+ color: var(--agentkit-danger);
1066
+ }
1067
+
1068
+ .agentkit-activity-summary {
1069
+ margin-inline-start: 1.5rem;
1070
+ padding: 0.25rem 0 0.5rem;
1071
+ color: var(--agentkit-text);
1072
+ }
1073
+
1074
+ .agentkit-approval,
1075
+ .agentkit-connection-request,
1076
+ .agentkit-widget {
1077
+ overflow: hidden;
1078
+ margin-block: 0.75rem 1.25rem;
1079
+ border: 1px solid var(--agentkit-border);
1080
+ border-radius: var(--agentkit-radius-inner);
1081
+ background: var(--agentkit-surface);
1082
+ box-shadow: var(--agent-kit-control-elevation, none);
1083
+ }
1084
+
1085
+ .agentkit-approval-copy,
1086
+ .agentkit-connection-request-copy,
1087
+ .agentkit-widget {
1088
+ padding: 0.875rem;
1089
+ }
1090
+
1091
+ .agentkit-approval h3,
1092
+ .agentkit-connection-request h3,
1093
+ .agentkit-widget h3 {
1094
+ margin: 0;
1095
+ font-size: 0.875rem;
1096
+ font-weight: 600;
1097
+ }
1098
+
1099
+ .agentkit-approval p,
1100
+ .agentkit-connection-request p,
1101
+ .agentkit-widget p {
1102
+ margin: 0.25rem 0 0;
1103
+ color: var(--agentkit-text-muted);
1104
+ font-size: 0.75rem;
1105
+ }
1106
+
1107
+ .agentkit-connection-request-copy {
1108
+ display: flex;
1109
+ align-items: flex-start;
1110
+ gap: 0.625rem;
1111
+ }
1112
+
1113
+ .agentkit-connection-request-copy > .agentkit-icon {
1114
+ flex: 0 0 auto;
1115
+ margin-block-start: 0.125rem;
1116
+ color: var(--agentkit-text-muted);
1117
+ }
1118
+
1119
+ .agentkit-connection-request[data-status="connected"]
1120
+ .agentkit-connection-request-copy
1121
+ > .agentkit-icon {
1122
+ color: var(--agentkit-success);
1123
+ }
1124
+
1125
+ .agentkit-connection-request-actions {
1126
+ display: flex;
1127
+ justify-content: flex-end;
1128
+ gap: 0.375rem;
1129
+ padding: 0.625rem 0.875rem;
1130
+ border-block-start: 1px solid var(--agentkit-border);
1131
+ }
1132
+
1133
+ .agentkit-connection-request > .agentkit-command-error {
1134
+ display: flex;
1135
+ align-items: center;
1136
+ gap: 0.375rem;
1137
+ margin: 0;
1138
+ padding: 0 0.875rem 0.75rem;
1139
+ }
1140
+
1141
+ .agentkit-approval-options {
1142
+ display: grid;
1143
+ gap: 0.375rem;
1144
+ padding: 0 0.875rem 0.875rem;
1145
+ }
1146
+
1147
+ .agentkit-approval-options button {
1148
+ display: grid;
1149
+ gap: 0.125rem;
1150
+ padding: 0.625rem 0.75rem;
1151
+ border: 1px solid var(--agentkit-border);
1152
+ border-radius: var(--radius-md, var(--radius));
1153
+ color: var(--agentkit-text);
1154
+ background: transparent;
1155
+ text-align: start;
1156
+ cursor: pointer;
1157
+ }
1158
+
1159
+ .agentkit-approval-options button[aria-pressed="true"] {
1160
+ border-color: var(--agentkit-accent);
1161
+ background: color-mix(in srgb, var(--agentkit-accent) 8%, transparent);
1162
+ }
1163
+
1164
+ .agentkit-approval-options small {
1165
+ color: var(--agentkit-text-muted);
1166
+ }
1167
+
1168
+ .agentkit-approval-input {
1169
+ display: grid;
1170
+ gap: 0.25rem;
1171
+ padding: 0 0.875rem 0.875rem;
1172
+ color: var(--agentkit-text-muted);
1173
+ font-size: 0.75rem;
1174
+ }
1175
+
1176
+ .agentkit-approval-input input {
1177
+ min-block-size: 2.25rem;
1178
+ padding-inline: 0.625rem;
1179
+ border: 1px solid var(--agentkit-border);
1180
+ border-radius: var(--radius-md, var(--radius));
1181
+ color: var(--agentkit-text);
1182
+ background: var(--agentkit-canvas);
1183
+ font: inherit;
1184
+ }
1185
+
1186
+ .agentkit-approval-footer,
1187
+ .agentkit-widget-actions {
1188
+ display: flex;
1189
+ justify-content: flex-end;
1190
+ gap: 0.375rem;
1191
+ padding: 0.625rem 0.875rem;
1192
+ border-block-start: 1px solid var(--agentkit-border);
1193
+ }
1194
+
1195
+ .agentkit-approval-footer button,
1196
+ .agentkit-widget-actions button {
1197
+ min-block-size: 2rem;
1198
+ padding-inline: 0.75rem;
1199
+ border: 1px solid var(--agentkit-border);
1200
+ border-radius: var(--radius-md, var(--radius));
1201
+ color: var(--agentkit-text);
1202
+ background: transparent;
1203
+ font: inherit;
1204
+ font-size: 0.75rem;
1205
+ cursor: pointer;
1206
+ }
1207
+
1208
+ .agentkit-primary-button,
1209
+ .agentkit-widget-actions button[data-kind="primary"] {
1210
+ border-color: var(--agentkit-accent);
1211
+ color: var(--agentkit-accent-text);
1212
+ background: var(--agentkit-accent);
1213
+ }
1214
+
1215
+ .agentkit-widget-action {
1216
+ display: grid;
1217
+ justify-items: end;
1218
+ gap: 0.25rem;
1219
+ }
1220
+
1221
+ .agentkit-command-error,
1222
+ .agentkit-composer-error {
1223
+ color: var(--agentkit-danger);
1224
+ font-size: 0.75rem;
1225
+ line-height: 1.35;
1226
+ }
1227
+
1228
+ .agentkit-approval > .agentkit-command-error {
1229
+ display: block;
1230
+ margin: 0;
1231
+ padding: 0 0.875rem 0.75rem;
1232
+ }
1233
+
1234
+ .agentkit-composer-error {
1235
+ display: flex;
1236
+ align-items: center;
1237
+ gap: 0.375rem;
1238
+ padding: 0.375rem 0.625rem 0;
1239
+ }
1240
+
1241
+ .agentkit-file {
1242
+ display: inline-flex;
1243
+ align-items: center;
1244
+ gap: 0.375rem;
1245
+ color: var(--agentkit-text-muted);
1246
+ text-decoration: none;
1247
+ }
1248
+
1249
+ .agentkit-annotations {
1250
+ display: flex;
1251
+ flex-wrap: wrap;
1252
+ gap: 0.375rem;
1253
+ margin-block-start: 0.5rem;
1254
+ font-size: 0.75rem;
1255
+ }
1256
+
1257
+ .agentkit-annotations a,
1258
+ .agentkit-annotations span {
1259
+ color: var(--agentkit-text-muted);
1260
+ text-decoration-color: color-mix(
1261
+ in srgb,
1262
+ var(--agentkit-text-muted) 45%,
1263
+ transparent
1264
+ );
1265
+ text-underline-offset: 0.2em;
1266
+ }
1267
+
1268
+ .agentkit-reasoning {
1269
+ margin-block: 0.375rem 0.75rem;
1270
+ color: var(--agentkit-text-muted);
1271
+ font-size: 0.8125rem;
1272
+ }
1273
+
1274
+ .agentkit-reasoning-summary {
1275
+ display: flex;
1276
+ inline-size: max-content;
1277
+ max-inline-size: 100%;
1278
+ align-items: center;
1279
+ gap: 0.5rem;
1280
+ padding-block: 0.25rem;
1281
+ color: var(--agentkit-text-muted);
1282
+ cursor: pointer;
1283
+ list-style: none;
1284
+ }
1285
+
1286
+ .agentkit-reasoning-summary::-webkit-details-marker {
1287
+ display: none;
1288
+ }
1289
+
1290
+ .agentkit-reasoning-label {
1291
+ min-inline-size: 0;
1292
+ overflow: hidden;
1293
+ text-overflow: ellipsis;
1294
+ white-space: nowrap;
1295
+ }
1296
+
1297
+ .agentkit-reasoning[data-active="true"] .agentkit-reasoning-label {
1298
+ color: transparent;
1299
+ background: linear-gradient(
1300
+ 90deg,
1301
+ var(--agentkit-text-muted),
1302
+ color-mix(in srgb, var(--agentkit-text-muted) 28%, transparent),
1303
+ var(--agentkit-text-muted)
1304
+ );
1305
+ background-size: 200% 100%;
1306
+ background-clip: text;
1307
+ animation: agentkit-shimmer 1.8s linear infinite;
1308
+ }
1309
+
1310
+ .agentkit-reasoning-chevron {
1311
+ transition: transform 160ms ease-out;
1312
+ }
1313
+
1314
+ .agentkit-reasoning[open] .agentkit-reasoning-chevron {
1315
+ transform: rotate(90deg);
1316
+ }
1317
+
1318
+ .agentkit-reasoning-content {
1319
+ margin-inline-start: 1.5rem;
1320
+ padding: 0.25rem 0 0.5rem;
1321
+ color: var(--agentkit-text);
1322
+ }
1323
+
1324
+ .agentkit-reasoning-content p {
1325
+ margin: 0;
1326
+ }
1327
+
1328
+ .agentkit-error {
1329
+ display: grid;
1330
+ gap: 0.125rem;
1331
+ margin-block: 0.75rem 1.25rem;
1332
+ padding: 0.75rem 0.875rem;
1333
+ border: 1px solid
1334
+ color-mix(in srgb, var(--agentkit-danger) 32%, var(--agentkit-border));
1335
+ border-radius: var(--agentkit-radius-inner);
1336
+ background: color-mix(in srgb, var(--agentkit-danger) 6%, transparent);
1337
+ font-size: 0.75rem;
1338
+ }
1339
+
1340
+ .agentkit-error span {
1341
+ color: var(--agentkit-text-muted);
1342
+ }
1343
+
1344
+ .agentkit-error-actions {
1345
+ display: flex;
1346
+ justify-content: flex-start;
1347
+ margin-block-start: 0.5rem;
1348
+ }
1349
+
1350
+ .agentkit-run-failure {
1351
+ display: flex;
1352
+ align-items: flex-start;
1353
+ gap: 0.5rem;
1354
+ margin-block: 0.375rem 1.25rem;
1355
+ padding-block: 0.25rem;
1356
+ color: var(--agentkit-danger);
1357
+ font-size: 0.75rem;
1358
+ line-height: 1.4;
1359
+ }
1360
+
1361
+ .agentkit-run-failure > .agentkit-icon {
1362
+ margin-block-start: 0.0625rem;
1363
+ }
1364
+
1365
+ .agentkit-run-failure-copy {
1366
+ display: flex;
1367
+ min-inline-size: 0;
1368
+ flex-wrap: wrap;
1369
+ gap: 0.125rem 0.375rem;
1370
+ }
1371
+
1372
+ .agentkit-run-failure-copy strong {
1373
+ color: var(--agentkit-danger);
1374
+ font-weight: 600;
1375
+ }
1376
+
1377
+ .agentkit-run-failure-copy span {
1378
+ color: var(--agentkit-text-muted);
1379
+ }
1380
+
1381
+ :where(.agentkit-chat) :where(button, a, input, summary):focus-visible {
1382
+ outline: 2px solid var(--agentkit-focus);
1383
+ outline-offset: 2px;
1384
+ }
1385
+
1386
+ .agentkit-chat-footer {
1387
+ position: relative;
1388
+ grid-column: 1;
1389
+ grid-row: 3;
1390
+ z-index: 3;
1391
+ min-inline-size: 0;
1392
+ padding: 0 1rem 1rem;
1393
+ pointer-events: none;
1394
+ }
1395
+
1396
+ .agentkit-composer-stack {
1397
+ inline-size: min(100%, 47rem);
1398
+ min-inline-size: 0;
1399
+ margin-inline: auto;
1400
+ pointer-events: auto;
1401
+ }
1402
+
1403
+ .agentkit-composer-stack [data-agent-composer-slot="area"],
1404
+ .agentkit-composer-stack [data-agent-composer-slot="workflow"],
1405
+ .agentkit-composer-stack [data-agent-composer-slot="root"],
1406
+ .agentkit-composer-stack [data-agent-composer-slot="toolbar"] {
1407
+ min-inline-size: 0;
1408
+ }
1409
+
1410
+ .agentkit-composer {
1411
+ border-radius: var(--agentkit-radius);
1412
+ background: var(--agentkit-surface);
1413
+ box-shadow: var(--agentkit-elevation);
1414
+ }
1415
+
1416
+ .agentkit-suggestions {
1417
+ padding-block: 0.5rem 0;
1418
+ }
1419
+
1420
+ @keyframes agentkit-shimmer {
1421
+ to {
1422
+ background-position: -200% 0;
1423
+ }
1424
+ }
1425
+
1426
+ @media (prefers-reduced-motion: reduce) {
1427
+ .agentkit-activities[data-running="true"] .agentkit-activities-label,
1428
+ .agentkit-activity-item[data-status="running"] .agentkit-activity-label,
1429
+ .agentkit-agent[data-status="working"] .agentkit-agent-name,
1430
+ .agentkit-reasoning[data-active="true"] .agentkit-reasoning-label {
1431
+ animation: none;
1432
+ }
1433
+
1434
+ .agentkit-message-actions,
1435
+ .agentkit-summary-chevron,
1436
+ .agentkit-disclosure-icon,
1437
+ .agentkit-reasoning-chevron,
1438
+ .agentkit-composer-stack [data-agent-message-queue="true"] {
1439
+ transition: none;
1440
+ }
1441
+ }
1442
+
1443
+ @media (max-width: 40rem) {
1444
+ .agentkit-transcript-content {
1445
+ padding-inline: 0.75rem;
1446
+ }
1447
+
1448
+ .agentkit-chat-footer {
1449
+ padding-inline: 0.75rem;
1450
+ }
1451
+
1452
+ .agentkit-composer-stack [data-agent-composer-slot="area"] {
1453
+ padding-inline: 0;
1454
+ }
1455
+
1456
+ .agentkit-composer [data-agent-composer-slot="toolbar"] {
1457
+ gap: 0.125rem;
1458
+ padding-inline: 0.5rem;
1459
+ }
1460
+
1461
+ .agentkit-composer [data-agent-composer-slot="model-button"] {
1462
+ max-inline-size: 7.5rem;
1463
+ padding-inline: 0.375rem;
1464
+ }
1465
+
1466
+ .agentkit-composer [data-agent-composer-slot="mode-button"] {
1467
+ padding-inline: 0.375rem;
1468
+ }
1469
+
1470
+ .agentkit-composer .agent-composer-model-effort {
1471
+ display: none;
1472
+ }
1473
+
1474
+ .agentkit-message[data-role="user"] .agentkit-message-content {
1475
+ max-inline-size: 94%;
1476
+ }
1477
+ }