@agno-hq/chat-react 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +327 -22
- package/dist/chat/index.cjs +314 -0
- package/dist/chat/index.cjs.map +1 -0
- package/dist/chat/index.d.cts +1225 -0
- package/dist/chat/index.d.ts +1225 -0
- package/dist/chat/index.js +5 -0
- package/dist/chat/index.js.map +1 -0
- package/dist/chunk-2WM3CCFE.cjs +106 -0
- package/dist/chunk-2WM3CCFE.cjs.map +1 -0
- package/dist/chunk-62IEW2HM.js +506 -0
- package/dist/chunk-62IEW2HM.js.map +1 -0
- package/dist/chunk-ERCKKOF4.cjs +3308 -0
- package/dist/chunk-ERCKKOF4.cjs.map +1 -0
- package/dist/chunk-MUOMZG4V.js +3226 -0
- package/dist/chunk-MUOMZG4V.js.map +1 -0
- package/dist/chunk-RE7ZT73K.js +102 -0
- package/dist/chunk-RE7ZT73K.js.map +1 -0
- package/dist/chunk-ROFIOWGX.cjs +530 -0
- package/dist/chunk-ROFIOWGX.cjs.map +1 -0
- package/dist/client-DUyVqxU9.d.cts +413 -0
- package/dist/client-DUyVqxU9.d.ts +413 -0
- package/dist/core/index.cjs +94 -0
- package/dist/core/index.cjs.map +1 -0
- package/dist/core/index.d.cts +108 -0
- package/dist/core/index.d.ts +108 -0
- package/dist/core/index.js +5 -0
- package/dist/core/index.js.map +1 -0
- package/dist/fonts.css +18 -0
- package/dist/index.cjs +395 -1959
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -835
- package/dist/index.d.ts +12 -835
- package/dist/index.js +3 -1925
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1898 -662
- package/dist/tokens.css +111 -0
- package/package.json +52 -7
package/dist/styles.css
CHANGED
|
@@ -1,126 +1,188 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* agno-chat-react
|
|
3
|
-
* Brand accent #ff4017, near-black #111113 surfaces, zinc greys, white-alpha
|
|
4
|
-
* borders, Inter + DM Mono. Import once: `import 'agno-chat-react/styles.css'`.
|
|
2
|
+
* @agno-hq/chat-react — design tokens.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
4
|
+
* Lifted from `agno-os/src/globals.css` so the components render with the same
|
|
5
|
+
* palette, radii and shadows as the AgentOS chat. Import this file alone
|
|
6
|
+
* (`@agno-hq/chat-react/tokens.css`) to keep the palette while supplying your own
|
|
7
|
+
* component CSS; `styles.css` already contains it.
|
|
8
|
+
*
|
|
9
|
+
* Declared on :root as well as the embed classes, so you can retheme globally
|
|
10
|
+
* or per-embed:
|
|
11
|
+
*
|
|
12
|
+
* :root { --color-brand-brand: 99, 102, 241; --agno-radius-lg: 1.25rem; }
|
|
13
|
+
*
|
|
14
|
+
* Dark by default; add `agno-light` on the embed for light mode (`agno-dark`
|
|
15
|
+
* also works if you toggle both explicitly).
|
|
7
16
|
*/
|
|
8
17
|
|
|
9
|
-
|
|
18
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
19
|
+
Design tokens — Agno OS
|
|
20
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
10
21
|
|
|
22
|
+
:root,
|
|
11
23
|
.agno-root,
|
|
12
|
-
.agno-
|
|
13
|
-
|
|
24
|
+
.agno-launcher {
|
|
25
|
+
/* Radii (agno-os: --radius-rounded-*) */
|
|
26
|
+
--agno-radius-xs: 0.25rem;
|
|
27
|
+
--agno-radius-sm: 0.5rem;
|
|
28
|
+
--agno-radius-md: 0.625rem;
|
|
29
|
+
--agno-radius-lg: 0.75rem;
|
|
30
|
+
--agno-radius-xl: 1rem;
|
|
31
|
+
--agno-radius-full: 9999px;
|
|
32
|
+
|
|
33
|
+
/* Brand + semantic colours are theme-independent in Agno OS */
|
|
34
|
+
--color-brand-brand: 255, 64, 23;
|
|
35
|
+
--color-brand-accent: 235, 110, 82;
|
|
36
|
+
--color-positive: 34, 197, 94;
|
|
37
|
+
--color-destructive: 229, 57, 53;
|
|
38
|
+
|
|
39
|
+
/* Dark theme (agno-os `.dark`) */
|
|
40
|
+
--color-primary: 255, 255, 255;
|
|
41
|
+
--color-primary-accent: 24, 24, 27;
|
|
42
|
+
--color-muted: 161, 161, 170;
|
|
43
|
+
--color-background: 17, 17, 19;
|
|
44
|
+
--color-background-secondary: 39, 39, 42;
|
|
45
|
+
--color-border-default: 255, 255, 255, 0.2;
|
|
46
|
+
--color-border-selected: 255, 255, 255, 0.75;
|
|
47
|
+
|
|
48
|
+
--agno-shadow-border: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 2px -1px rgba(0, 0, 0, 0.4),
|
|
49
|
+
0 2px 4px 0 rgba(0, 0, 0, 0.3);
|
|
50
|
+
--agno-shadow-panel: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 12px 32px -8px rgba(0, 0, 0, 0.6);
|
|
51
|
+
|
|
52
|
+
/* Semantic aliases used throughout this stylesheet. */
|
|
53
|
+
--agno-primary: rgb(var(--color-primary));
|
|
54
|
+
--agno-accent: rgb(var(--color-primary-accent));
|
|
55
|
+
--agno-muted: rgb(var(--color-muted));
|
|
56
|
+
--agno-bg: rgb(var(--color-background));
|
|
57
|
+
--agno-secondary: rgb(var(--color-background-secondary));
|
|
58
|
+
--agno-secondary-soft: rgba(var(--color-background-secondary), 0.5);
|
|
59
|
+
--agno-border: rgba(var(--color-border-default));
|
|
60
|
+
--agno-border-selected: rgba(var(--color-border-selected));
|
|
61
|
+
--agno-brand: rgb(var(--color-brand-brand));
|
|
62
|
+
--agno-brand-soft: rgba(var(--color-brand-brand), 0.14);
|
|
63
|
+
--agno-positive: rgb(var(--color-positive));
|
|
64
|
+
--agno-destructive: rgb(var(--color-destructive));
|
|
65
|
+
/* Agno OS layers subtle primary tints instead of extra greys. */
|
|
66
|
+
--agno-tint: rgba(var(--color-primary), 0.05);
|
|
67
|
+
--agno-tint-strong: rgba(var(--color-primary), 0.1);
|
|
68
|
+
|
|
69
|
+
/* Back-compat aliases (previous releases exposed these names). */
|
|
70
|
+
--agno-text: var(--agno-primary);
|
|
71
|
+
--agno-surface: var(--agno-bg);
|
|
72
|
+
--agno-surface-2: var(--agno-secondary);
|
|
73
|
+
--agno-error: var(--agno-destructive);
|
|
74
|
+
--agno-radius: var(--agno-radius-md);
|
|
75
|
+
--agno-primary-bg: var(--agno-primary);
|
|
76
|
+
--agno-primary-fg: var(--agno-accent);
|
|
77
|
+
|
|
78
|
+
/* Typography — repoint these to self-hosted faces to skip fonts.css. */
|
|
79
|
+
--agno-font: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
|
|
80
|
+
--agno-font-mono: 'DM Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
|
|
14
81
|
}
|
|
15
82
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
--
|
|
21
|
-
--
|
|
22
|
-
--
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
--agno-brand: #ff4017;
|
|
28
|
-
--agno-brand-soft: rgba(255, 64, 23, 0.14);
|
|
29
|
-
--agno-accent: var(--agno-brand);
|
|
30
|
-
|
|
31
|
-
/* Monochrome primary action (Agno uses inverse, not brand, for buttons). */
|
|
32
|
-
--agno-primary-bg: #fafafa;
|
|
33
|
-
--agno-primary-fg: #111113;
|
|
34
|
-
|
|
35
|
-
--agno-user: rgba(255, 255, 255, 0.06);
|
|
36
|
-
--agno-positive: #22c55e;
|
|
37
|
-
--agno-error: #e53935;
|
|
83
|
+
/* Light theme (agno-os `:root`) */
|
|
84
|
+
.agno-light,
|
|
85
|
+
.agno-root.agno-light,
|
|
86
|
+
.agno-launcher.agno-light {
|
|
87
|
+
--color-primary: 24, 24, 27;
|
|
88
|
+
--color-primary-accent: 255, 255, 255;
|
|
89
|
+
--color-muted: 113, 113, 122;
|
|
90
|
+
--color-background: 255, 255, 255;
|
|
91
|
+
--color-background-secondary: 244, 244, 245;
|
|
92
|
+
--color-border-default: 24, 24, 27, 0.1;
|
|
93
|
+
--color-border-selected: 24, 24, 27, 0.5;
|
|
38
94
|
|
|
39
|
-
--agno-
|
|
40
|
-
|
|
41
|
-
--agno-
|
|
95
|
+
--agno-shadow-border: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 1px 2px -1px rgba(0, 0, 0, 0.06),
|
|
96
|
+
0 2px 4px 0 rgba(0, 0, 0, 0.04);
|
|
97
|
+
--agno-shadow-panel: 0 0 0 1px rgba(0, 0, 0, 0.06), 0 12px 32px -8px rgba(0, 0, 0, 0.18);
|
|
98
|
+
}
|
|
42
99
|
|
|
100
|
+
/* Explicit dark, for apps that toggle both classes. */
|
|
101
|
+
.agno-dark,
|
|
102
|
+
.agno-root.agno-dark,
|
|
103
|
+
.agno-launcher.agno-dark {
|
|
104
|
+
--color-primary: 255, 255, 255;
|
|
105
|
+
--color-primary-accent: 24, 24, 27;
|
|
106
|
+
--color-muted: 161, 161, 170;
|
|
107
|
+
--color-background: 17, 17, 19;
|
|
108
|
+
--color-background-secondary: 39, 39, 42;
|
|
109
|
+
--color-border-default: 255, 255, 255, 0.2;
|
|
110
|
+
--color-border-selected: 255, 255, 255, 0.75;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/*
|
|
114
|
+
* @agno-hq/chat-react — component styles, following the Agno OS design system.
|
|
115
|
+
*
|
|
116
|
+
* Every colour, radius, shadow and font here comes from a token in
|
|
117
|
+
* `tokens.css`; `styles.css` ships the two concatenated, so import that unless
|
|
118
|
+
* you are supplying your own tokens. Webfonts are a separate opt-in file
|
|
119
|
+
* (`fonts.css`) — this sheet makes no third-party request.
|
|
120
|
+
*
|
|
121
|
+
* Each class below is also addressable from the `classNames` prop on the
|
|
122
|
+
* components, so Tailwind (or anything else) layers on top of these rules
|
|
123
|
+
* rather than replacing them.
|
|
124
|
+
*/
|
|
125
|
+
|
|
126
|
+
.agno-root,
|
|
127
|
+
.agno-root *,
|
|
128
|
+
.agno-launcher,
|
|
129
|
+
.agno-launcher * {
|
|
130
|
+
box-sizing: border-box;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
.agno-root {
|
|
43
135
|
display: flex;
|
|
44
136
|
flex-direction: column;
|
|
45
137
|
background: var(--agno-bg);
|
|
46
|
-
color: var(--agno-
|
|
138
|
+
color: var(--agno-primary);
|
|
47
139
|
border: 1px solid var(--agno-border);
|
|
48
140
|
border-radius: var(--agno-radius-lg);
|
|
49
141
|
overflow: hidden;
|
|
50
|
-
font-family:
|
|
51
|
-
font-size:
|
|
52
|
-
|
|
142
|
+
font-family: var(--agno-font);
|
|
143
|
+
font-size: 0.875rem;
|
|
144
|
+
font-weight: 400;
|
|
145
|
+
line-height: 21px;
|
|
146
|
+
letter-spacing: -0.02em;
|
|
53
147
|
-webkit-font-smoothing: antialiased;
|
|
54
148
|
-moz-osx-font-smoothing: grayscale;
|
|
55
149
|
}
|
|
56
150
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
151
|
+
|
|
152
|
+
/* Type scale — Agno OS `Paragraph` sizes. */
|
|
153
|
+
.agno-text-body {
|
|
154
|
+
font-size: 0.875rem;
|
|
155
|
+
line-height: 21px;
|
|
156
|
+
letter-spacing: -0.02em;
|
|
157
|
+
}
|
|
158
|
+
.agno-text-xsmall {
|
|
159
|
+
font-size: 0.75rem;
|
|
160
|
+
line-height: 1.0625rem;
|
|
161
|
+
letter-spacing: -0.02em;
|
|
162
|
+
}
|
|
163
|
+
.agno-text-label,
|
|
164
|
+
.agno-mono {
|
|
165
|
+
font-family: var(--agno-font-mono);
|
|
166
|
+
font-size: 0.75rem;
|
|
167
|
+
line-height: 1rem;
|
|
168
|
+
letter-spacing: 0.02em;
|
|
69
169
|
}
|
|
70
170
|
|
|
71
|
-
/* Scrollbars — thin, like Agno OS. */
|
|
72
171
|
.agno-root ::-webkit-scrollbar {
|
|
73
172
|
width: 6px;
|
|
74
173
|
height: 6px;
|
|
75
174
|
}
|
|
76
175
|
.agno-root ::-webkit-scrollbar-thumb {
|
|
77
|
-
background: var(--agno-
|
|
78
|
-
border-radius:
|
|
176
|
+
background: var(--agno-tint-strong);
|
|
177
|
+
border-radius: var(--agno-radius-full);
|
|
79
178
|
}
|
|
80
179
|
.agno-root ::-webkit-scrollbar-track {
|
|
81
180
|
background: transparent;
|
|
82
181
|
}
|
|
83
182
|
|
|
84
|
-
/*
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
align-items: center;
|
|
88
|
-
justify-content: space-between;
|
|
89
|
-
gap: 12px;
|
|
90
|
-
padding: 12px 16px;
|
|
91
|
-
border-bottom: 1px solid var(--agno-border);
|
|
92
|
-
background: var(--agno-bg);
|
|
93
|
-
}
|
|
94
|
-
.agno-header__brand {
|
|
95
|
-
display: flex;
|
|
96
|
-
align-items: center;
|
|
97
|
-
gap: 10px;
|
|
98
|
-
}
|
|
99
|
-
.agno-header__title {
|
|
100
|
-
font-weight: 600;
|
|
101
|
-
font-size: 13px;
|
|
102
|
-
text-transform: uppercase;
|
|
103
|
-
letter-spacing: 0.08em;
|
|
104
|
-
}
|
|
105
|
-
/* Agno brand mark — orange rounded square with the "A". */
|
|
106
|
-
.agno-logo {
|
|
107
|
-
display: grid;
|
|
108
|
-
place-items: center;
|
|
109
|
-
width: 24px;
|
|
110
|
-
height: 24px;
|
|
111
|
-
border-radius: 7px;
|
|
112
|
-
background: var(--agno-brand);
|
|
113
|
-
color: #fff;
|
|
114
|
-
font-weight: 700;
|
|
115
|
-
font-size: 14px;
|
|
116
|
-
line-height: 1;
|
|
117
|
-
box-shadow: 0 0 16px rgba(255, 64, 23, 0.45);
|
|
118
|
-
}
|
|
119
|
-
.agno-header__controls {
|
|
120
|
-
display: flex;
|
|
121
|
-
align-items: center;
|
|
122
|
-
gap: 8px;
|
|
123
|
-
}
|
|
183
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
184
|
+
Shell: sidebars, chat column
|
|
185
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
124
186
|
|
|
125
187
|
.agno-main {
|
|
126
188
|
display: flex;
|
|
@@ -129,26 +191,26 @@
|
|
|
129
191
|
}
|
|
130
192
|
|
|
131
193
|
.agno-sidebar {
|
|
132
|
-
width:
|
|
194
|
+
width: 316px;
|
|
133
195
|
border-left: 1px solid var(--agno-border);
|
|
134
196
|
background: var(--agno-bg);
|
|
135
|
-
padding:
|
|
197
|
+
padding: 16px;
|
|
136
198
|
overflow: auto;
|
|
137
199
|
}
|
|
138
200
|
.agno-sidebar--left {
|
|
139
201
|
border-left: none;
|
|
140
202
|
border-right: 1px solid var(--agno-border);
|
|
141
|
-
width:
|
|
203
|
+
width: 260px;
|
|
142
204
|
}
|
|
143
205
|
.agno-sidebar__title {
|
|
144
|
-
font-
|
|
206
|
+
font-family: var(--agno-font-mono);
|
|
207
|
+
font-size: 0.75rem;
|
|
208
|
+
letter-spacing: 0.02em;
|
|
145
209
|
text-transform: uppercase;
|
|
146
|
-
letter-spacing: 0.06em;
|
|
147
210
|
color: var(--agno-muted);
|
|
148
|
-
margin-bottom:
|
|
211
|
+
margin-bottom: 12px;
|
|
149
212
|
}
|
|
150
213
|
|
|
151
|
-
/* Chat surface */
|
|
152
214
|
.agno-chat {
|
|
153
215
|
display: flex;
|
|
154
216
|
flex-direction: column;
|
|
@@ -157,105 +219,93 @@
|
|
|
157
219
|
min-height: 0;
|
|
158
220
|
}
|
|
159
221
|
|
|
222
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
223
|
+
Transcript
|
|
224
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
225
|
+
|
|
160
226
|
.agno-list {
|
|
161
227
|
flex: 1;
|
|
162
228
|
overflow-y: auto;
|
|
163
|
-
padding:
|
|
229
|
+
padding: 24px 24px 8px;
|
|
230
|
+
}
|
|
231
|
+
/* Agno OS centres the conversation in an 800px column. */
|
|
232
|
+
.agno-list__inner {
|
|
233
|
+
width: 100%;
|
|
234
|
+
max-width: 800px;
|
|
235
|
+
margin: 0 auto;
|
|
164
236
|
display: flex;
|
|
165
237
|
flex-direction: column;
|
|
166
|
-
gap:
|
|
238
|
+
gap: 36px;
|
|
167
239
|
}
|
|
168
240
|
.agno-list__empty {
|
|
169
|
-
|
|
170
|
-
|
|
241
|
+
height: 100%;
|
|
242
|
+
display: grid;
|
|
243
|
+
place-items: center;
|
|
171
244
|
text-align: center;
|
|
172
|
-
|
|
245
|
+
color: var(--agno-muted);
|
|
173
246
|
}
|
|
174
247
|
|
|
175
|
-
/* Messages */
|
|
176
248
|
.agno-msg {
|
|
177
249
|
display: flex;
|
|
178
|
-
gap: 12px;
|
|
179
250
|
align-items: flex-start;
|
|
180
|
-
|
|
181
|
-
.agno-msg--user {
|
|
182
|
-
flex-direction: row-reverse;
|
|
251
|
+
gap: 16px;
|
|
183
252
|
}
|
|
184
253
|
.agno-msg__avatar {
|
|
185
|
-
flex: 0 0
|
|
186
|
-
width:
|
|
187
|
-
height:
|
|
188
|
-
border-radius:
|
|
254
|
+
flex: 0 0 24px;
|
|
255
|
+
width: 24px;
|
|
256
|
+
height: 24px;
|
|
257
|
+
border-radius: 6px;
|
|
189
258
|
display: grid;
|
|
190
259
|
place-items: center;
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
260
|
+
overflow: hidden;
|
|
261
|
+
}
|
|
262
|
+
.agno-msg__avatar svg {
|
|
263
|
+
display: block;
|
|
264
|
+
}
|
|
265
|
+
.agno-msg--user .agno-msg__avatar {
|
|
266
|
+
background: var(--agno-secondary);
|
|
267
|
+
color: var(--agno-primary);
|
|
268
|
+
border-radius: var(--agno-radius-sm);
|
|
269
|
+
font-size: 10px;
|
|
270
|
+
line-height: 1;
|
|
271
|
+
font-weight: 500;
|
|
272
|
+
letter-spacing: 0;
|
|
194
273
|
}
|
|
195
|
-
.agno-msg--
|
|
274
|
+
.agno-msg--team .agno-msg__avatar {
|
|
196
275
|
background: var(--agno-brand);
|
|
197
|
-
border-color: transparent;
|
|
198
276
|
color: #fff;
|
|
199
|
-
|
|
200
|
-
box-shadow: 0 0 14px rgba(255, 64, 23, 0.4);
|
|
277
|
+
padding: 4px;
|
|
201
278
|
}
|
|
202
279
|
.agno-msg__body {
|
|
203
|
-
max-width: 80%;
|
|
204
|
-
display: flex;
|
|
205
|
-
flex-direction: column;
|
|
206
|
-
gap: 8px;
|
|
207
|
-
}
|
|
208
|
-
/* Agent body spans the column so tool/step cards keep a stable width as
|
|
209
|
-
content streams in (no horizontal jitter). */
|
|
210
|
-
.agno-msg--agent .agno-msg__body {
|
|
211
280
|
flex: 1;
|
|
212
|
-
max-width: 100%;
|
|
213
281
|
min-width: 0;
|
|
282
|
+
display: flex;
|
|
283
|
+
flex-direction: column;
|
|
284
|
+
gap: 12px;
|
|
285
|
+
color: var(--agno-primary);
|
|
214
286
|
}
|
|
215
|
-
|
|
216
|
-
align-items: flex-end;
|
|
217
|
-
}
|
|
218
|
-
/* Agent replies render as plain text (Agno OS style), not a card. */
|
|
287
|
+
/* Agent and user messages are both plain text in Agno OS — no bubbles. */
|
|
219
288
|
.agno-msg__content {
|
|
220
|
-
padding: 2px 0;
|
|
221
289
|
word-break: break-word;
|
|
222
290
|
}
|
|
223
|
-
/* User messages sit in a rounded bubble. */
|
|
224
|
-
.agno-msg--user .agno-msg__content {
|
|
225
|
-
background: var(--agno-user);
|
|
226
|
-
border: 1px solid var(--agno-border);
|
|
227
|
-
border-radius: var(--agno-radius);
|
|
228
|
-
padding: 10px 14px;
|
|
229
|
-
}
|
|
230
|
-
.agno-msg__content--empty {
|
|
231
|
-
min-height: 20px;
|
|
232
|
-
}
|
|
233
291
|
.agno-msg__error {
|
|
234
|
-
color: var(--agno-
|
|
235
|
-
|
|
292
|
+
color: var(--agno-destructive);
|
|
293
|
+
word-break: break-word;
|
|
236
294
|
}
|
|
237
|
-
|
|
238
|
-
/* Inline "what it's doing" indicator, shown in the agent bubble before content. */
|
|
239
295
|
.agno-msg__activity {
|
|
240
296
|
display: flex;
|
|
241
297
|
align-items: center;
|
|
242
|
-
gap:
|
|
298
|
+
gap: 8px;
|
|
299
|
+
min-height: 28px;
|
|
243
300
|
color: var(--agno-muted);
|
|
244
|
-
font-size: 13px;
|
|
245
|
-
padding: 4px 0;
|
|
246
301
|
}
|
|
247
|
-
.agno-msg__activity-label {
|
|
248
|
-
letter-spacing: 0.01em;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
/* Streaming caret — brand accent */
|
|
252
302
|
.agno-msg__caret {
|
|
253
303
|
display: inline-block;
|
|
254
|
-
width:
|
|
304
|
+
width: 6px;
|
|
255
305
|
height: 14px;
|
|
256
306
|
margin-left: 2px;
|
|
257
307
|
vertical-align: text-bottom;
|
|
258
|
-
background: var(--agno-
|
|
308
|
+
background: var(--agno-primary);
|
|
259
309
|
border-radius: 1px;
|
|
260
310
|
animation: agno-blink 1s steps(2, start) infinite;
|
|
261
311
|
}
|
|
@@ -265,7 +315,10 @@
|
|
|
265
315
|
}
|
|
266
316
|
}
|
|
267
317
|
|
|
268
|
-
/*
|
|
318
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
319
|
+
Markdown
|
|
320
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
321
|
+
|
|
269
322
|
.agno-md > :first-child {
|
|
270
323
|
margin-top: 0;
|
|
271
324
|
}
|
|
@@ -273,230 +326,844 @@
|
|
|
273
326
|
margin-bottom: 0;
|
|
274
327
|
}
|
|
275
328
|
.agno-md-p {
|
|
276
|
-
margin:
|
|
329
|
+
margin: 8px 0;
|
|
277
330
|
}
|
|
278
331
|
.agno-md-heading {
|
|
279
|
-
margin:
|
|
280
|
-
|
|
281
|
-
|
|
332
|
+
margin: 16px 0 8px;
|
|
333
|
+
font-weight: 500;
|
|
334
|
+
line-height: normal;
|
|
282
335
|
}
|
|
283
336
|
.agno-md-list {
|
|
284
|
-
margin:
|
|
337
|
+
margin: 8px 0;
|
|
285
338
|
padding-left: 20px;
|
|
286
339
|
}
|
|
287
340
|
.agno-md-code {
|
|
288
|
-
background: var(--agno-
|
|
341
|
+
background: var(--agno-tint);
|
|
289
342
|
padding: 1px 5px;
|
|
290
|
-
border-radius:
|
|
291
|
-
font-
|
|
292
|
-
font-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
343
|
+
border-radius: var(--agno-radius-xs);
|
|
344
|
+
font-family: var(--agno-font-mono);
|
|
345
|
+
font-size: 0.75rem;
|
|
346
|
+
letter-spacing: -0.015em;
|
|
347
|
+
}
|
|
348
|
+
/* Fenced code: a header bar (language, copy) over a numbered, highlighted body. */
|
|
349
|
+
.agno-md-code-block {
|
|
350
|
+
margin: 8px 0;
|
|
296
351
|
border: 1px solid var(--agno-border);
|
|
352
|
+
border-radius: var(--agno-radius-md);
|
|
353
|
+
background: var(--agno-secondary-soft);
|
|
354
|
+
overflow: hidden;
|
|
355
|
+
}
|
|
356
|
+
.agno-md-code-head {
|
|
357
|
+
display: flex;
|
|
358
|
+
align-items: center;
|
|
359
|
+
justify-content: space-between;
|
|
360
|
+
gap: 8px;
|
|
361
|
+
padding: 6px 8px 6px 14px;
|
|
362
|
+
border-bottom: 1px solid var(--agno-border);
|
|
363
|
+
}
|
|
364
|
+
.agno-md-code-lang {
|
|
365
|
+
font-family: var(--agno-font-mono);
|
|
366
|
+
font-size: 0.75rem;
|
|
367
|
+
color: var(--agno-muted);
|
|
368
|
+
letter-spacing: -0.01em;
|
|
369
|
+
}
|
|
370
|
+
.agno-md-copy {
|
|
371
|
+
display: grid;
|
|
372
|
+
place-items: center;
|
|
373
|
+
width: 26px;
|
|
374
|
+
height: 26px;
|
|
375
|
+
padding: 0;
|
|
376
|
+
border: 0;
|
|
297
377
|
border-radius: var(--agno-radius-sm);
|
|
378
|
+
background: transparent;
|
|
379
|
+
color: var(--agno-muted);
|
|
380
|
+
cursor: pointer;
|
|
381
|
+
transition: color 0.15s ease, background-color 0.15s ease;
|
|
382
|
+
}
|
|
383
|
+
.agno-md-copy:hover,
|
|
384
|
+
.agno-md-copy:focus-visible {
|
|
385
|
+
color: var(--agno-primary);
|
|
386
|
+
background: var(--agno-tint);
|
|
387
|
+
}
|
|
388
|
+
.agno-md-copy.is-copied {
|
|
389
|
+
color: var(--agno-positive);
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
.agno-md-pre {
|
|
393
|
+
margin: 0;
|
|
298
394
|
padding: 12px 14px;
|
|
395
|
+
max-height: var(--agno-code-max-height, 32rem);
|
|
396
|
+
overflow: auto;
|
|
397
|
+
font-family: var(--agno-font-mono);
|
|
398
|
+
font-size: 0.75rem;
|
|
399
|
+
line-height: 1.5rem;
|
|
400
|
+
letter-spacing: -0.02em;
|
|
401
|
+
}
|
|
402
|
+
/* Line numbers are counters, so they neither select nor copy. */
|
|
403
|
+
.agno-md-pre code {
|
|
404
|
+
counter-reset: line;
|
|
405
|
+
}
|
|
406
|
+
.agno-md-line {
|
|
407
|
+
counter-increment: line;
|
|
408
|
+
}
|
|
409
|
+
.agno-md-line::before {
|
|
410
|
+
content: counter(line);
|
|
411
|
+
display: inline-block;
|
|
412
|
+
width: var(--agno-code-gutter, 2ch);
|
|
413
|
+
margin-right: 1.25rem;
|
|
414
|
+
text-align: right;
|
|
415
|
+
color: var(--agno-muted);
|
|
416
|
+
user-select: none;
|
|
417
|
+
}
|
|
418
|
+
/* Tokens carry both themes; the theme class picks one, like every other colour. */
|
|
419
|
+
.agno-md-line span {
|
|
420
|
+
color: var(--shiki-dark);
|
|
421
|
+
}
|
|
422
|
+
.agno-light .agno-md-line span {
|
|
423
|
+
color: var(--shiki-light);
|
|
424
|
+
}
|
|
425
|
+
.agno-dark .agno-md-line span {
|
|
426
|
+
color: var(--shiki-dark);
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.agno-md a {
|
|
430
|
+
color: var(--agno-primary);
|
|
431
|
+
text-underline-offset: 2px;
|
|
432
|
+
}
|
|
433
|
+
.agno-md-quote {
|
|
434
|
+
margin: 8px 0;
|
|
435
|
+
padding-left: 12px;
|
|
436
|
+
border-left: 2px solid var(--agno-border);
|
|
437
|
+
color: var(--agno-muted);
|
|
438
|
+
}
|
|
439
|
+
.agno-md-rule {
|
|
440
|
+
margin: 16px 0;
|
|
441
|
+
border: none;
|
|
442
|
+
border-top: 1px solid var(--agno-border);
|
|
443
|
+
}
|
|
444
|
+
.agno-md-img {
|
|
445
|
+
max-width: 100%;
|
|
446
|
+
border-radius: var(--agno-radius-md);
|
|
447
|
+
}
|
|
448
|
+
/* Wide tables scroll in place — the transcript column never widens. */
|
|
449
|
+
.agno-md-table-wrap {
|
|
450
|
+
margin: 8px 0;
|
|
299
451
|
overflow-x: auto;
|
|
300
|
-
|
|
301
|
-
|
|
452
|
+
border: 1px solid var(--agno-border);
|
|
453
|
+
border-radius: var(--agno-radius-md);
|
|
454
|
+
}
|
|
455
|
+
.agno-md-table {
|
|
456
|
+
width: 100%;
|
|
457
|
+
border-collapse: collapse;
|
|
458
|
+
font-size: 0.8125rem;
|
|
459
|
+
}
|
|
460
|
+
.agno-md-table th,
|
|
461
|
+
.agno-md-table td {
|
|
462
|
+
padding: 6px 10px;
|
|
463
|
+
text-align: left;
|
|
464
|
+
vertical-align: top;
|
|
465
|
+
}
|
|
466
|
+
.agno-md-table th {
|
|
467
|
+
background: var(--agno-secondary-soft);
|
|
468
|
+
font-weight: 500;
|
|
469
|
+
white-space: nowrap;
|
|
470
|
+
}
|
|
471
|
+
.agno-md-table tr + tr td {
|
|
472
|
+
border-top: 1px solid var(--agno-border);
|
|
302
473
|
}
|
|
474
|
+
/* GFM task lists: the checkbox replaces the bullet. */
|
|
475
|
+
.agno-md-list li:has(> input[type='checkbox']) {
|
|
476
|
+
list-style: none;
|
|
477
|
+
margin-left: -20px;
|
|
478
|
+
}
|
|
479
|
+
.agno-md-list li input[type='checkbox'] {
|
|
480
|
+
margin-right: 6px;
|
|
481
|
+
accent-color: var(--agno-brand);
|
|
482
|
+
}
|
|
483
|
+
|
|
484
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
485
|
+
Tool calls — pill triggers, detail panel underneath
|
|
486
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
303
487
|
|
|
304
|
-
/* Tool calls */
|
|
305
488
|
.agno-tools {
|
|
306
489
|
display: flex;
|
|
307
490
|
flex-direction: column;
|
|
308
|
-
gap:
|
|
309
|
-
}
|
|
310
|
-
.agno-tool {
|
|
311
|
-
border: 1px solid var(--agno-border);
|
|
312
|
-
border-radius: var(--agno-radius-sm);
|
|
313
|
-
background: var(--agno-surface);
|
|
314
|
-
overflow: hidden;
|
|
315
|
-
}
|
|
316
|
-
.agno-tool--running {
|
|
317
|
-
border-color: rgba(255, 64, 23, 0.35);
|
|
491
|
+
gap: 8px;
|
|
318
492
|
}
|
|
319
|
-
.agno-
|
|
320
|
-
width: 100%;
|
|
493
|
+
.agno-tools__row {
|
|
321
494
|
display: flex;
|
|
495
|
+
flex-wrap: wrap;
|
|
322
496
|
align-items: center;
|
|
323
497
|
gap: 8px;
|
|
324
|
-
|
|
325
|
-
|
|
498
|
+
}
|
|
499
|
+
.agno-tool {
|
|
500
|
+
display: inline-flex;
|
|
501
|
+
align-items: center;
|
|
502
|
+
gap: 6px;
|
|
503
|
+
padding: 2px 8px;
|
|
326
504
|
border: none;
|
|
327
|
-
|
|
505
|
+
border-radius: var(--agno-radius-sm);
|
|
506
|
+
background: var(--agno-tint);
|
|
507
|
+
color: var(--agno-primary);
|
|
328
508
|
cursor: pointer;
|
|
329
|
-
font:
|
|
330
|
-
|
|
509
|
+
font-family: var(--agno-font-mono);
|
|
510
|
+
font-size: 0.75rem;
|
|
511
|
+
line-height: 1.125rem;
|
|
512
|
+
letter-spacing: 0.02em;
|
|
513
|
+
text-transform: uppercase;
|
|
514
|
+
transition: background 0.12s ease;
|
|
331
515
|
}
|
|
332
|
-
.agno-
|
|
333
|
-
|
|
334
|
-
opacity: 0.7;
|
|
516
|
+
.agno-tool:hover {
|
|
517
|
+
background: var(--agno-tint-strong);
|
|
335
518
|
}
|
|
336
|
-
.agno-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
}
|
|
341
|
-
.agno-tool__status {
|
|
342
|
-
font-size: 10.5px;
|
|
343
|
-
padding: 1px 8px;
|
|
344
|
-
border-radius: 999px;
|
|
345
|
-
background: var(--agno-surface-2);
|
|
519
|
+
.agno-tool.is-open {
|
|
520
|
+
background: var(--agno-tint-strong);
|
|
521
|
+
}
|
|
522
|
+
.agno-tool__spinner {
|
|
346
523
|
color: var(--agno-muted);
|
|
347
|
-
text-transform: lowercase;
|
|
348
|
-
letter-spacing: 0.02em;
|
|
349
524
|
}
|
|
350
|
-
.agno-
|
|
351
|
-
|
|
352
|
-
background: var(--agno-brand-soft);
|
|
525
|
+
.agno-spin {
|
|
526
|
+
animation: agno-spin 1s linear infinite;
|
|
353
527
|
}
|
|
354
|
-
|
|
355
|
-
|
|
528
|
+
@keyframes agno-spin {
|
|
529
|
+
to {
|
|
530
|
+
transform: rotate(360deg);
|
|
531
|
+
}
|
|
532
|
+
}
|
|
533
|
+
.agno-tool__icon {
|
|
534
|
+
color: var(--agno-muted);
|
|
356
535
|
}
|
|
357
|
-
.agno-
|
|
358
|
-
color: var(--agno-
|
|
536
|
+
.agno-tool--error {
|
|
537
|
+
color: var(--agno-destructive);
|
|
359
538
|
}
|
|
360
|
-
.agno-
|
|
539
|
+
.agno-tool--paused .agno-tool__icon {
|
|
361
540
|
color: var(--agno-brand);
|
|
362
541
|
}
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
font-size: 9px;
|
|
366
|
-
color: var(--agno-muted);
|
|
367
|
-
}
|
|
368
|
-
.agno-tool__body {
|
|
369
|
-
padding: 10px 11px;
|
|
370
|
-
border-top: 1px solid var(--agno-border);
|
|
542
|
+
|
|
543
|
+
.agno-tool-detail {
|
|
371
544
|
display: flex;
|
|
372
545
|
flex-direction: column;
|
|
546
|
+
gap: 12px;
|
|
547
|
+
padding: 12px;
|
|
548
|
+
border-radius: var(--agno-radius-md);
|
|
549
|
+
background: var(--agno-secondary-soft);
|
|
550
|
+
}
|
|
551
|
+
.agno-tool-detail__head {
|
|
552
|
+
display: flex;
|
|
553
|
+
align-items: center;
|
|
554
|
+
justify-content: space-between;
|
|
373
555
|
gap: 8px;
|
|
374
556
|
}
|
|
375
|
-
.agno-
|
|
376
|
-
|
|
557
|
+
.agno-tool-detail__meta {
|
|
558
|
+
margin-left: auto;
|
|
559
|
+
}
|
|
560
|
+
.agno-tool-detail__name {
|
|
561
|
+
font-family: var(--agno-font-mono);
|
|
562
|
+
font-size: 0.75rem;
|
|
563
|
+
letter-spacing: 0.02em;
|
|
564
|
+
text-transform: uppercase;
|
|
565
|
+
}
|
|
566
|
+
.agno-tool-detail__status {
|
|
567
|
+
color: var(--agno-muted);
|
|
568
|
+
font-family: var(--agno-font-mono);
|
|
569
|
+
font-size: 0.75rem;
|
|
570
|
+
letter-spacing: 0.02em;
|
|
377
571
|
text-transform: uppercase;
|
|
378
|
-
|
|
572
|
+
}
|
|
573
|
+
.agno-tool-detail__status--done {
|
|
574
|
+
color: var(--agno-positive);
|
|
575
|
+
}
|
|
576
|
+
.agno-tool-detail__status--error {
|
|
577
|
+
color: var(--agno-destructive);
|
|
578
|
+
}
|
|
579
|
+
.agno-tool-detail__status--paused,
|
|
580
|
+
.agno-tool-detail__status--running {
|
|
581
|
+
color: var(--agno-brand);
|
|
582
|
+
}
|
|
583
|
+
.agno-tool-detail__label {
|
|
379
584
|
color: var(--agno-muted);
|
|
380
|
-
|
|
585
|
+
font-family: var(--agno-font-mono);
|
|
586
|
+
font-size: 0.75rem;
|
|
587
|
+
letter-spacing: 0.02em;
|
|
588
|
+
text-transform: uppercase;
|
|
589
|
+
margin-bottom: 6px;
|
|
381
590
|
}
|
|
382
|
-
.agno-
|
|
591
|
+
.agno-tool-detail__pre {
|
|
383
592
|
margin: 0;
|
|
384
|
-
|
|
385
|
-
border-radius:
|
|
386
|
-
|
|
593
|
+
padding: 10px;
|
|
594
|
+
border-radius: var(--agno-radius-sm);
|
|
595
|
+
background: var(--agno-bg);
|
|
387
596
|
overflow-x: auto;
|
|
388
|
-
font-
|
|
389
|
-
font-
|
|
597
|
+
font-family: var(--agno-font-mono);
|
|
598
|
+
font-size: 0.75rem;
|
|
599
|
+
line-height: 1.125rem;
|
|
600
|
+
letter-spacing: -0.02em;
|
|
601
|
+
white-space: pre-wrap;
|
|
602
|
+
word-break: break-word;
|
|
390
603
|
}
|
|
391
604
|
|
|
392
|
-
/*
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
background: var(--agno-surface);
|
|
398
|
-
}
|
|
399
|
-
.agno-reasoning__toggle,
|
|
400
|
-
.agno-citations__toggle {
|
|
401
|
-
width: 100%;
|
|
605
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
606
|
+
Collapsible panels: reasoning, tool calls
|
|
607
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
608
|
+
|
|
609
|
+
.agno-disclosure__toggle {
|
|
402
610
|
display: flex;
|
|
403
611
|
align-items: center;
|
|
404
|
-
gap:
|
|
405
|
-
padding:
|
|
612
|
+
gap: 8px;
|
|
613
|
+
padding: 0;
|
|
406
614
|
background: none;
|
|
407
615
|
border: none;
|
|
408
616
|
color: var(--agno-muted);
|
|
409
617
|
cursor: pointer;
|
|
410
618
|
font: inherit;
|
|
411
|
-
|
|
619
|
+
text-align: left;
|
|
412
620
|
}
|
|
413
|
-
.agno-
|
|
414
|
-
|
|
415
|
-
margin-left: auto;
|
|
416
|
-
font-size: 9px;
|
|
621
|
+
.agno-disclosure__toggle:hover {
|
|
622
|
+
color: var(--agno-primary);
|
|
417
623
|
}
|
|
418
|
-
.agno-
|
|
419
|
-
|
|
420
|
-
|
|
624
|
+
.agno-disclosure__chev {
|
|
625
|
+
flex: 0 0 16px;
|
|
626
|
+
transition: transform 0.2s ease;
|
|
627
|
+
}
|
|
628
|
+
.agno-disclosure__toggle[aria-expanded='true'] .agno-disclosure__chev {
|
|
629
|
+
transform: rotate(180deg);
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
.agno-reasoning {
|
|
421
633
|
display: flex;
|
|
422
634
|
flex-direction: column;
|
|
423
|
-
gap:
|
|
635
|
+
gap: 12px;
|
|
424
636
|
}
|
|
425
|
-
.
|
|
637
|
+
/* Timeline — a continuous rule down the centre of the icon column. */
|
|
638
|
+
.agno-timeline {
|
|
426
639
|
position: relative;
|
|
640
|
+
isolation: isolate;
|
|
641
|
+
margin: 0;
|
|
642
|
+
padding: 0 0 0 24px;
|
|
643
|
+
list-style: none;
|
|
644
|
+
display: flex;
|
|
645
|
+
flex-direction: column;
|
|
646
|
+
gap: 16px;
|
|
427
647
|
}
|
|
428
|
-
.agno-
|
|
648
|
+
.agno-timeline::before {
|
|
429
649
|
content: '';
|
|
430
650
|
position: absolute;
|
|
431
|
-
left:
|
|
432
|
-
top:
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
background: var(--agno-brand);
|
|
651
|
+
left: 8px;
|
|
652
|
+
top: 10px;
|
|
653
|
+
bottom: 10px;
|
|
654
|
+
width: 1px;
|
|
655
|
+
background: var(--agno-border);
|
|
437
656
|
}
|
|
438
|
-
.agno-
|
|
439
|
-
|
|
657
|
+
.agno-timeline__item {
|
|
658
|
+
position: relative;
|
|
659
|
+
}
|
|
660
|
+
.agno-timeline__item::before {
|
|
661
|
+
content: '';
|
|
662
|
+
position: absolute;
|
|
663
|
+
left: -20px;
|
|
664
|
+
top: 7px;
|
|
665
|
+
width: 7px;
|
|
666
|
+
height: 7px;
|
|
667
|
+
border-radius: var(--agno-radius-full);
|
|
668
|
+
background: var(--agno-muted);
|
|
669
|
+
box-shadow: 0 0 0 4px var(--agno-bg);
|
|
670
|
+
}
|
|
671
|
+
.agno-reasoning__title {
|
|
672
|
+
font-weight: 500;
|
|
440
673
|
}
|
|
441
674
|
.agno-reasoning__text {
|
|
442
|
-
color: var(--agno-
|
|
675
|
+
color: var(--agno-primary);
|
|
443
676
|
}
|
|
444
677
|
.agno-reasoning__meta {
|
|
445
|
-
font-size: 12px;
|
|
446
678
|
color: var(--agno-muted);
|
|
679
|
+
font-size: 0.75rem;
|
|
680
|
+
line-height: 1.0625rem;
|
|
447
681
|
}
|
|
448
682
|
|
|
449
|
-
.
|
|
450
|
-
|
|
683
|
+
/* Behind the scenes — one trigger over the whole run timeline. */
|
|
684
|
+
.agno-bts {
|
|
451
685
|
display: flex;
|
|
452
686
|
flex-direction: column;
|
|
453
|
-
gap:
|
|
687
|
+
gap: 12px;
|
|
688
|
+
}
|
|
689
|
+
.agno-bts__toggle {
|
|
690
|
+
display: flex;
|
|
691
|
+
align-items: center;
|
|
692
|
+
gap: 8px;
|
|
693
|
+
width: fit-content;
|
|
694
|
+
max-width: 100%;
|
|
695
|
+
padding: 0;
|
|
696
|
+
background: none;
|
|
697
|
+
border: none;
|
|
698
|
+
color: var(--agno-muted);
|
|
699
|
+
cursor: pointer;
|
|
700
|
+
font: inherit;
|
|
701
|
+
letter-spacing: -0.02em;
|
|
702
|
+
text-align: left;
|
|
703
|
+
}
|
|
704
|
+
.agno-bts__toggle:hover {
|
|
705
|
+
color: var(--agno-primary);
|
|
706
|
+
}
|
|
707
|
+
/* Loader and chevron share a cell: the loader shows while streaming, and the
|
|
708
|
+
chevron takes over on hover — as in AgentOS. */
|
|
709
|
+
.agno-bts__marker {
|
|
710
|
+
display: grid;
|
|
711
|
+
place-items: center;
|
|
712
|
+
flex: 0 0 16px;
|
|
713
|
+
width: 16px;
|
|
714
|
+
height: 16px;
|
|
715
|
+
}
|
|
716
|
+
.agno-bts__marker > * {
|
|
717
|
+
grid-column: 1;
|
|
718
|
+
grid-row: 1;
|
|
719
|
+
transition: opacity 0.2s ease, transform 0.2s ease;
|
|
720
|
+
}
|
|
721
|
+
.agno-bts--streaming .agno-bts__chev {
|
|
722
|
+
opacity: 0;
|
|
454
723
|
}
|
|
455
|
-
.agno-
|
|
456
|
-
|
|
457
|
-
font-size: 12px;
|
|
724
|
+
.agno-bts--streaming .agno-bts__toggle:hover .agno-bts__chev {
|
|
725
|
+
opacity: 1;
|
|
458
726
|
}
|
|
459
|
-
.agno-
|
|
460
|
-
|
|
727
|
+
.agno-bts--streaming .agno-bts__toggle:hover .agno-loader {
|
|
728
|
+
opacity: 0;
|
|
729
|
+
}
|
|
730
|
+
.agno-bts__toggle[aria-expanded='true'] .agno-bts__chev {
|
|
731
|
+
transform: rotate(180deg);
|
|
732
|
+
}
|
|
733
|
+
.agno-bts__label-text {
|
|
734
|
+
overflow: hidden;
|
|
735
|
+
text-overflow: ellipsis;
|
|
736
|
+
white-space: nowrap;
|
|
737
|
+
}
|
|
738
|
+
.agno-bts__label {
|
|
461
739
|
color: var(--agno-muted);
|
|
740
|
+
font-size: 0.75rem;
|
|
741
|
+
line-height: 1.0625rem;
|
|
462
742
|
}
|
|
463
|
-
.
|
|
464
|
-
|
|
465
|
-
|
|
743
|
+
/* One step line: label, truncated preview, marker on the right. */
|
|
744
|
+
.agno-bts__step {
|
|
745
|
+
display: flex;
|
|
746
|
+
align-items: center;
|
|
747
|
+
gap: 8px;
|
|
748
|
+
width: 100%;
|
|
749
|
+
min-width: 0;
|
|
750
|
+
padding: 0;
|
|
751
|
+
color: var(--agno-muted);
|
|
752
|
+
font-size: 0.75rem;
|
|
753
|
+
line-height: 1.0625rem;
|
|
754
|
+
letter-spacing: -0.02em;
|
|
755
|
+
text-align: left;
|
|
756
|
+
}
|
|
757
|
+
.agno-bts__step--button {
|
|
758
|
+
background: none;
|
|
759
|
+
border: none;
|
|
760
|
+
cursor: pointer;
|
|
761
|
+
font-family: inherit;
|
|
762
|
+
}
|
|
763
|
+
.agno-bts__step--button:hover .agno-bts__step-label {
|
|
764
|
+
color: var(--agno-primary);
|
|
765
|
+
}
|
|
766
|
+
.agno-bts__step-label {
|
|
767
|
+
flex-shrink: 0;
|
|
768
|
+
white-space: nowrap;
|
|
769
|
+
}
|
|
770
|
+
.agno-bts__preview {
|
|
771
|
+
flex: 1;
|
|
772
|
+
min-width: 0;
|
|
773
|
+
overflow: hidden;
|
|
774
|
+
text-overflow: ellipsis;
|
|
775
|
+
white-space: nowrap;
|
|
776
|
+
color: var(--agno-muted);
|
|
777
|
+
}
|
|
778
|
+
.agno-bts__detail {
|
|
779
|
+
margin-left: auto;
|
|
780
|
+
flex-shrink: 0;
|
|
781
|
+
}
|
|
782
|
+
.agno-bts__step-marker {
|
|
783
|
+
margin-left: auto;
|
|
784
|
+
display: grid;
|
|
785
|
+
place-items: center;
|
|
786
|
+
flex: 0 0 14px;
|
|
787
|
+
width: 14px;
|
|
788
|
+
height: 14px;
|
|
789
|
+
}
|
|
790
|
+
.agno-bts__step-marker > * {
|
|
791
|
+
grid-column: 1;
|
|
792
|
+
grid-row: 1;
|
|
793
|
+
transition: opacity 0.2s ease, transform 0.2s ease;
|
|
794
|
+
}
|
|
795
|
+
/* While a step runs the loader shows; hovering reveals the chevron. */
|
|
796
|
+
.agno-bts__step-marker .agno-loader + .agno-bts__chev {
|
|
797
|
+
opacity: 0;
|
|
798
|
+
}
|
|
799
|
+
.agno-bts__step--button:hover .agno-bts__step-marker .agno-bts__chev {
|
|
800
|
+
opacity: 1;
|
|
801
|
+
}
|
|
802
|
+
.agno-bts__step--button:hover .agno-bts__step-marker .agno-loader {
|
|
803
|
+
opacity: 0;
|
|
804
|
+
}
|
|
805
|
+
.agno-bts__step--button[aria-expanded='true'] .agno-bts__chev {
|
|
806
|
+
transform: rotate(180deg);
|
|
807
|
+
}
|
|
808
|
+
.agno-bts__step-body {
|
|
809
|
+
display: flex;
|
|
810
|
+
flex-direction: column;
|
|
811
|
+
gap: 8px;
|
|
812
|
+
padding-top: 4px;
|
|
813
|
+
}
|
|
814
|
+
.agno-bts__name {
|
|
815
|
+
color: var(--agno-primary);
|
|
816
|
+
font-weight: 500;
|
|
817
|
+
}
|
|
818
|
+
.agno-bts__content {
|
|
819
|
+
color: var(--agno-primary);
|
|
820
|
+
}
|
|
821
|
+
|
|
822
|
+
/* Timeline rows with an icon column (the line runs behind the icons). */
|
|
823
|
+
.agno-timeline--icons {
|
|
824
|
+
padding-left: 0;
|
|
825
|
+
}
|
|
826
|
+
/* A single step needs no connecting rule. */
|
|
827
|
+
.agno-timeline--icons:has(> :only-child)::before {
|
|
828
|
+
display: none;
|
|
829
|
+
}
|
|
830
|
+
.agno-timeline__row {
|
|
831
|
+
position: relative;
|
|
832
|
+
display: flex;
|
|
833
|
+
align-items: flex-start;
|
|
834
|
+
gap: 8px;
|
|
835
|
+
}
|
|
836
|
+
.agno-timeline__icon {
|
|
837
|
+
position: relative;
|
|
838
|
+
z-index: 1;
|
|
839
|
+
display: grid;
|
|
840
|
+
place-items: center;
|
|
841
|
+
flex: 0 0 16px;
|
|
842
|
+
width: 16px;
|
|
843
|
+
height: 20px;
|
|
844
|
+
color: var(--agno-muted);
|
|
845
|
+
background: var(--agno-bg);
|
|
846
|
+
}
|
|
847
|
+
.agno-timeline__content {
|
|
848
|
+
flex: 1;
|
|
849
|
+
min-width: 0;
|
|
850
|
+
margin-top: 2px;
|
|
851
|
+
display: flex;
|
|
852
|
+
flex-direction: column;
|
|
853
|
+
gap: 8px;
|
|
854
|
+
}
|
|
855
|
+
|
|
856
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
857
|
+
Sources — the cards under an answer
|
|
858
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
859
|
+
|
|
860
|
+
.agno-sources {
|
|
861
|
+
display: flex;
|
|
862
|
+
flex-direction: column;
|
|
863
|
+
gap: 8px;
|
|
864
|
+
}
|
|
865
|
+
.agno-sources__head {
|
|
866
|
+
color: var(--agno-muted);
|
|
867
|
+
font-family: var(--agno-font-mono);
|
|
868
|
+
font-size: 0.75rem;
|
|
869
|
+
letter-spacing: 0.02em;
|
|
870
|
+
text-transform: uppercase;
|
|
871
|
+
}
|
|
872
|
+
/* Cards are sized by their title and wrap into as many per row as fit. */
|
|
873
|
+
.agno-sources__grid {
|
|
874
|
+
display: flex;
|
|
875
|
+
flex-wrap: wrap;
|
|
876
|
+
gap: 8px;
|
|
877
|
+
}
|
|
878
|
+
.agno-sources__more {
|
|
879
|
+
align-self: flex-start;
|
|
880
|
+
padding: 0;
|
|
881
|
+
background: none;
|
|
882
|
+
border: none;
|
|
883
|
+
color: var(--agno-muted);
|
|
884
|
+
cursor: pointer;
|
|
885
|
+
font: inherit;
|
|
886
|
+
font-size: 0.75rem;
|
|
887
|
+
}
|
|
888
|
+
.agno-sources__more:hover {
|
|
889
|
+
color: var(--agno-primary);
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
.agno-source {
|
|
893
|
+
display: flex;
|
|
894
|
+
align-items: center;
|
|
895
|
+
gap: 8px;
|
|
896
|
+
min-width: 0;
|
|
897
|
+
max-width: min(100%, 320px);
|
|
898
|
+
padding: 8px 12px;
|
|
899
|
+
border: 1px solid transparent;
|
|
900
|
+
border-radius: var(--agno-radius-md);
|
|
901
|
+
background: var(--agno-secondary-soft);
|
|
902
|
+
color: inherit;
|
|
903
|
+
text-decoration: none;
|
|
904
|
+
transition: border-color 0.15s ease, background 0.15s ease;
|
|
905
|
+
}
|
|
906
|
+
a.agno-source:hover {
|
|
907
|
+
border-color: var(--agno-border);
|
|
908
|
+
background: var(--agno-secondary);
|
|
909
|
+
}
|
|
910
|
+
.agno-source__title {
|
|
911
|
+
min-width: 0;
|
|
912
|
+
overflow: hidden;
|
|
913
|
+
text-overflow: ellipsis;
|
|
914
|
+
white-space: nowrap;
|
|
915
|
+
font-size: 0.8125rem;
|
|
916
|
+
font-weight: 500;
|
|
917
|
+
line-height: 1.125rem;
|
|
918
|
+
}
|
|
919
|
+
|
|
920
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
921
|
+
Follow-ups — "Related questions" under the latest answer
|
|
922
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
923
|
+
|
|
924
|
+
.agno-followups {
|
|
925
|
+
display: flex;
|
|
926
|
+
flex-direction: column;
|
|
927
|
+
gap: 8px;
|
|
928
|
+
min-width: 0;
|
|
929
|
+
}
|
|
930
|
+
.agno-followups__head {
|
|
931
|
+
color: var(--agno-muted);
|
|
932
|
+
font-size: 0.8125rem;
|
|
933
|
+
line-height: 1.25rem;
|
|
934
|
+
}
|
|
935
|
+
/* One bordered box, rows divided by hairlines — reads as a list of questions
|
|
936
|
+
rather than a row of chips, so long prompts have the full width. */
|
|
937
|
+
.agno-followups__list {
|
|
938
|
+
display: flex;
|
|
939
|
+
flex-direction: column;
|
|
940
|
+
border: 1px solid var(--agno-border);
|
|
941
|
+
border-radius: var(--agno-radius-lg);
|
|
942
|
+
background: var(--agno-secondary-soft);
|
|
943
|
+
overflow: hidden;
|
|
944
|
+
}
|
|
945
|
+
.agno-followup {
|
|
946
|
+
display: flex;
|
|
947
|
+
align-items: center;
|
|
948
|
+
width: 100%;
|
|
949
|
+
min-width: 0;
|
|
950
|
+
margin: 0;
|
|
951
|
+
padding: 10px 14px;
|
|
952
|
+
border: 0;
|
|
953
|
+
border-top: 1px solid var(--agno-border);
|
|
954
|
+
background: none;
|
|
955
|
+
color: var(--agno-primary);
|
|
956
|
+
font-family: inherit;
|
|
957
|
+
font-size: 0.875rem;
|
|
958
|
+
line-height: 1.375rem;
|
|
959
|
+
letter-spacing: -0.01em;
|
|
960
|
+
text-align: left;
|
|
961
|
+
cursor: pointer;
|
|
962
|
+
transition: background 0.15s ease;
|
|
963
|
+
}
|
|
964
|
+
.agno-followup:first-child {
|
|
965
|
+
border-top: 0;
|
|
966
|
+
}
|
|
967
|
+
.agno-followup:hover:not(:disabled),
|
|
968
|
+
.agno-followup:focus-visible {
|
|
969
|
+
background: var(--agno-tint);
|
|
970
|
+
outline: none;
|
|
971
|
+
}
|
|
972
|
+
.agno-followup:disabled {
|
|
973
|
+
opacity: 0.5;
|
|
974
|
+
cursor: not-allowed;
|
|
975
|
+
}
|
|
976
|
+
/* Clamped to `--agno-followup-lines` (set per button from the `lines` prop),
|
|
977
|
+
one by default: a prompt that wraps reads like an answer, not a question to
|
|
978
|
+
ask. The full text is on the button's `title`. */
|
|
979
|
+
.agno-followup__text {
|
|
980
|
+
flex: 1;
|
|
981
|
+
min-width: 0;
|
|
982
|
+
display: -webkit-box;
|
|
983
|
+
-webkit-box-orient: vertical;
|
|
984
|
+
-webkit-line-clamp: var(--agno-followup-lines, 1);
|
|
985
|
+
line-clamp: var(--agno-followup-lines, 1);
|
|
986
|
+
overflow: hidden;
|
|
987
|
+
overflow-wrap: anywhere;
|
|
988
|
+
}
|
|
989
|
+
/* Pinned above the dock by `<ChatWindow>`: same 800px column and inner
|
|
990
|
+
padding as the quick prompts, so the box lines up with the input. */
|
|
991
|
+
.agno-followups--dock {
|
|
992
|
+
width: 100%;
|
|
993
|
+
max-width: calc(800px + 48px);
|
|
994
|
+
margin: 0 auto;
|
|
995
|
+
padding: 0 32px 8px;
|
|
996
|
+
box-sizing: border-box;
|
|
997
|
+
}
|
|
998
|
+
|
|
999
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1000
|
+
Link previews — the card body, shared by source cards and hover cards
|
|
1001
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1002
|
+
|
|
1003
|
+
.agno-preview {
|
|
1004
|
+
min-width: 0;
|
|
1005
|
+
display: flex;
|
|
1006
|
+
flex-direction: column;
|
|
1007
|
+
gap: 2px;
|
|
1008
|
+
}
|
|
1009
|
+
.agno-preview__site {
|
|
1010
|
+
display: flex;
|
|
1011
|
+
align-items: center;
|
|
1012
|
+
gap: 6px;
|
|
1013
|
+
min-width: 0;
|
|
1014
|
+
color: var(--agno-muted);
|
|
1015
|
+
font-size: 0.6875rem;
|
|
1016
|
+
line-height: 1rem;
|
|
1017
|
+
}
|
|
1018
|
+
.agno-preview__host {
|
|
1019
|
+
overflow: hidden;
|
|
1020
|
+
text-overflow: ellipsis;
|
|
1021
|
+
white-space: nowrap;
|
|
1022
|
+
}
|
|
1023
|
+
.agno-preview__title {
|
|
1024
|
+
font-size: 0.8125rem;
|
|
1025
|
+
font-weight: 500;
|
|
1026
|
+
line-height: 1.125rem;
|
|
1027
|
+
/* Two lines, then ellipsis — titles vary wildly and the cards are a grid. */
|
|
1028
|
+
display: -webkit-box;
|
|
1029
|
+
-webkit-line-clamp: 2;
|
|
1030
|
+
-webkit-box-orient: vertical;
|
|
1031
|
+
overflow: hidden;
|
|
1032
|
+
}
|
|
1033
|
+
.agno-preview__desc {
|
|
1034
|
+
color: var(--agno-muted);
|
|
1035
|
+
font-size: 0.75rem;
|
|
1036
|
+
line-height: 1.0625rem;
|
|
1037
|
+
display: -webkit-box;
|
|
1038
|
+
-webkit-line-clamp: 3;
|
|
1039
|
+
-webkit-box-orient: vertical;
|
|
1040
|
+
overflow: hidden;
|
|
1041
|
+
}
|
|
1042
|
+
.agno-preview__image {
|
|
1043
|
+
margin-top: 6px;
|
|
1044
|
+
width: 100%;
|
|
1045
|
+
aspect-ratio: 1.91;
|
|
1046
|
+
object-fit: cover;
|
|
1047
|
+
border-radius: var(--agno-radius-sm);
|
|
1048
|
+
}
|
|
1049
|
+
.agno-preview[data-loading='true'] .agno-preview__title {
|
|
1050
|
+
opacity: 0.6;
|
|
1051
|
+
}
|
|
1052
|
+
|
|
1053
|
+
.agno-favicon {
|
|
1054
|
+
flex: 0 0 14px;
|
|
1055
|
+
width: 14px;
|
|
1056
|
+
height: 14px;
|
|
1057
|
+
border-radius: var(--agno-radius-xs);
|
|
1058
|
+
object-fit: contain;
|
|
1059
|
+
}
|
|
1060
|
+
.agno-favicon--glyph {
|
|
1061
|
+
display: grid;
|
|
1062
|
+
place-items: center;
|
|
1063
|
+
color: var(--agno-muted);
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1067
|
+
Inline citation markers + the hover card
|
|
1068
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1069
|
+
|
|
1070
|
+
.agno-hover {
|
|
1071
|
+
/* The card is portalled to <body>, so this only has to hold the trigger. */
|
|
1072
|
+
display: inline;
|
|
1073
|
+
}
|
|
1074
|
+
.agno-cite {
|
|
1075
|
+
display: inline-grid;
|
|
1076
|
+
place-items: center;
|
|
1077
|
+
min-width: 16px;
|
|
1078
|
+
height: 16px;
|
|
1079
|
+
margin: 0 1px 0 2px;
|
|
1080
|
+
padding: 0 4px;
|
|
1081
|
+
border-radius: var(--agno-radius-full);
|
|
1082
|
+
background: var(--agno-tint);
|
|
1083
|
+
color: var(--agno-muted);
|
|
1084
|
+
font-size: 0.625rem;
|
|
1085
|
+
font-variant-numeric: tabular-nums;
|
|
1086
|
+
line-height: 1;
|
|
466
1087
|
text-decoration: none;
|
|
1088
|
+
vertical-align: 2px;
|
|
1089
|
+
transition: background 0.15s ease, color 0.15s ease;
|
|
1090
|
+
}
|
|
1091
|
+
.agno-md a.agno-cite {
|
|
1092
|
+
color: var(--agno-muted);
|
|
1093
|
+
}
|
|
1094
|
+
.agno-cite:hover,
|
|
1095
|
+
.agno-cite:focus-visible {
|
|
1096
|
+
background: var(--agno-tint-strong);
|
|
1097
|
+
color: var(--agno-primary);
|
|
467
1098
|
}
|
|
468
1099
|
|
|
469
|
-
|
|
1100
|
+
.agno-hovercard {
|
|
1101
|
+
position: fixed;
|
|
1102
|
+
z-index: 2147483000;
|
|
1103
|
+
padding: 12px;
|
|
1104
|
+
border: 1px solid var(--agno-border);
|
|
1105
|
+
border-radius: var(--agno-radius-lg);
|
|
1106
|
+
background: var(--agno-bg);
|
|
1107
|
+
box-shadow: var(--agno-shadow-panel);
|
|
1108
|
+
color: var(--agno-primary);
|
|
1109
|
+
font-family: var(--agno-font);
|
|
1110
|
+
animation: agno-hovercard-in 0.12s ease-out;
|
|
1111
|
+
}
|
|
1112
|
+
/* Positioned by its top edge either way; anchoring above means lifting the
|
|
1113
|
+
card by its own height, which only CSS knows. */
|
|
1114
|
+
.agno-hovercard--top {
|
|
1115
|
+
transform: translateY(-100%);
|
|
1116
|
+
}
|
|
1117
|
+
@keyframes agno-hovercard-in {
|
|
1118
|
+
from {
|
|
1119
|
+
opacity: 0;
|
|
1120
|
+
}
|
|
1121
|
+
to {
|
|
1122
|
+
opacity: 1;
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1126
|
+
.agno-hovercard {
|
|
1127
|
+
animation: none;
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1132
|
+
Workflow steps + member responses
|
|
1133
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1134
|
+
|
|
470
1135
|
.agno-steps,
|
|
471
1136
|
.agno-members {
|
|
472
1137
|
display: flex;
|
|
473
1138
|
flex-direction: column;
|
|
474
|
-
gap:
|
|
1139
|
+
gap: 8px;
|
|
475
1140
|
}
|
|
476
1141
|
.agno-steps__title,
|
|
477
1142
|
.agno-members__title {
|
|
478
|
-
font-size: 11px;
|
|
479
|
-
text-transform: uppercase;
|
|
480
|
-
letter-spacing: 0.05em;
|
|
481
1143
|
color: var(--agno-muted);
|
|
1144
|
+
font-family: var(--agno-font-mono);
|
|
1145
|
+
font-size: 0.75rem;
|
|
1146
|
+
letter-spacing: 0.02em;
|
|
1147
|
+
text-transform: uppercase;
|
|
482
1148
|
}
|
|
483
1149
|
.agno-steps__list {
|
|
484
1150
|
display: flex;
|
|
485
1151
|
flex-direction: column;
|
|
486
|
-
|
|
1152
|
+
gap: 6px;
|
|
487
1153
|
}
|
|
488
|
-
.agno-step
|
|
489
|
-
|
|
490
|
-
border-radius: var(--agno-radius-
|
|
491
|
-
background: var(--agno-
|
|
492
|
-
|
|
1154
|
+
.agno-step,
|
|
1155
|
+
.agno-member {
|
|
1156
|
+
border-radius: var(--agno-radius-md);
|
|
1157
|
+
background: var(--agno-secondary-soft);
|
|
1158
|
+
overflow: hidden;
|
|
493
1159
|
}
|
|
494
|
-
.agno-step__head
|
|
1160
|
+
.agno-step__head,
|
|
1161
|
+
.agno-member__head {
|
|
495
1162
|
width: 100%;
|
|
496
1163
|
display: flex;
|
|
497
1164
|
align-items: center;
|
|
498
|
-
gap:
|
|
499
|
-
padding:
|
|
1165
|
+
gap: 8px;
|
|
1166
|
+
padding: 10px 12px;
|
|
500
1167
|
background: none;
|
|
501
1168
|
border: none;
|
|
502
1169
|
color: inherit;
|
|
@@ -505,79 +1172,53 @@
|
|
|
505
1172
|
text-align: left;
|
|
506
1173
|
}
|
|
507
1174
|
.agno-step__icon {
|
|
1175
|
+
flex: 0 0 18px;
|
|
508
1176
|
width: 18px;
|
|
509
1177
|
height: 18px;
|
|
510
|
-
|
|
511
|
-
border-radius: 50%;
|
|
1178
|
+
border-radius: var(--agno-radius-full);
|
|
512
1179
|
display: grid;
|
|
513
1180
|
place-items: center;
|
|
514
1181
|
font-size: 11px;
|
|
515
|
-
background: var(--agno-
|
|
1182
|
+
background: var(--agno-tint);
|
|
516
1183
|
color: var(--agno-muted);
|
|
517
1184
|
}
|
|
518
1185
|
.agno-step__icon--completed {
|
|
519
|
-
background: rgba(
|
|
1186
|
+
background: rgba(var(--color-positive), 0.15);
|
|
520
1187
|
color: var(--agno-positive);
|
|
521
1188
|
}
|
|
522
1189
|
.agno-step__icon--running {
|
|
523
1190
|
background: var(--agno-brand-soft);
|
|
524
1191
|
color: var(--agno-brand);
|
|
525
|
-
animation: agno-pulse 1.4s ease-in-out infinite;
|
|
526
1192
|
}
|
|
527
1193
|
.agno-step__icon--error {
|
|
528
|
-
background: rgba(
|
|
529
|
-
color: var(--agno-
|
|
530
|
-
}
|
|
531
|
-
@keyframes agno-pulse {
|
|
532
|
-
0%, 100% {
|
|
533
|
-
opacity: 1;
|
|
534
|
-
}
|
|
535
|
-
50% {
|
|
536
|
-
opacity: 0.4;
|
|
537
|
-
}
|
|
1194
|
+
background: rgba(var(--color-destructive), 0.15);
|
|
1195
|
+
color: var(--agno-destructive);
|
|
538
1196
|
}
|
|
539
|
-
.agno-step__name
|
|
1197
|
+
.agno-step__name,
|
|
1198
|
+
.agno-member__name {
|
|
540
1199
|
font-weight: 500;
|
|
541
|
-
font-size: 13px;
|
|
542
1200
|
}
|
|
543
|
-
.agno-step__chev
|
|
1201
|
+
.agno-step__chev,
|
|
1202
|
+
.agno-member__chev {
|
|
544
1203
|
margin-left: auto;
|
|
545
|
-
font-size: 9px;
|
|
546
1204
|
color: var(--agno-muted);
|
|
1205
|
+
transition: transform 0.2s ease;
|
|
1206
|
+
}
|
|
1207
|
+
.agno-step__head[aria-expanded='true'] .agno-step__chev,
|
|
1208
|
+
.agno-member__head[aria-expanded='true'] .agno-member__chev {
|
|
1209
|
+
transform: rotate(180deg);
|
|
547
1210
|
}
|
|
548
1211
|
.agno-step__body {
|
|
549
|
-
padding: 0
|
|
550
|
-
font-size: 13px;
|
|
1212
|
+
padding: 0 12px 12px 38px;
|
|
551
1213
|
}
|
|
552
1214
|
.agno-step__error {
|
|
553
|
-
color: var(--agno-
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
/* Member / executor responses */
|
|
557
|
-
.agno-member {
|
|
558
|
-
border: 1px solid var(--agno-border);
|
|
559
|
-
border-radius: var(--agno-radius-sm);
|
|
560
|
-
background: var(--agno-surface);
|
|
561
|
-
overflow: hidden;
|
|
562
|
-
}
|
|
563
|
-
.agno-member__head {
|
|
564
|
-
width: 100%;
|
|
565
|
-
display: flex;
|
|
566
|
-
align-items: center;
|
|
567
|
-
gap: 8px;
|
|
568
|
-
padding: 8px 11px;
|
|
569
|
-
background: none;
|
|
570
|
-
border: none;
|
|
571
|
-
color: inherit;
|
|
572
|
-
cursor: pointer;
|
|
573
|
-
font: inherit;
|
|
574
|
-
text-align: left;
|
|
1215
|
+
color: var(--agno-destructive);
|
|
575
1216
|
}
|
|
576
1217
|
.agno-member__dot {
|
|
1218
|
+
flex: 0 0 8px;
|
|
577
1219
|
width: 8px;
|
|
578
1220
|
height: 8px;
|
|
579
|
-
|
|
580
|
-
border-radius: 50%;
|
|
1221
|
+
border-radius: var(--agno-radius-full);
|
|
581
1222
|
background: var(--agno-muted);
|
|
582
1223
|
}
|
|
583
1224
|
.agno-member__dot--running {
|
|
@@ -588,36 +1229,35 @@
|
|
|
588
1229
|
background: var(--agno-positive);
|
|
589
1230
|
}
|
|
590
1231
|
.agno-member__dot--error {
|
|
591
|
-
background: var(--agno-
|
|
1232
|
+
background: var(--agno-destructive);
|
|
592
1233
|
}
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
1234
|
+
@keyframes agno-pulse {
|
|
1235
|
+
0%,
|
|
1236
|
+
100% {
|
|
1237
|
+
opacity: 1;
|
|
1238
|
+
}
|
|
1239
|
+
50% {
|
|
1240
|
+
opacity: 0.4;
|
|
1241
|
+
}
|
|
596
1242
|
}
|
|
597
1243
|
.agno-member__kind {
|
|
598
|
-
font-size: 10.5px;
|
|
599
1244
|
color: var(--agno-muted);
|
|
1245
|
+
font-family: var(--agno-font-mono);
|
|
1246
|
+
font-size: 0.75rem;
|
|
1247
|
+
letter-spacing: 0.02em;
|
|
600
1248
|
text-transform: uppercase;
|
|
601
|
-
letter-spacing: 0.04em;
|
|
602
|
-
}
|
|
603
|
-
.agno-member__chev {
|
|
604
|
-
margin-left: auto;
|
|
605
|
-
font-size: 9px;
|
|
606
|
-
color: var(--agno-muted);
|
|
607
1249
|
}
|
|
608
1250
|
.agno-member__body {
|
|
609
|
-
padding: 0
|
|
610
|
-
border-top: 1px solid var(--agno-border);
|
|
1251
|
+
padding: 0 12px 12px;
|
|
611
1252
|
display: flex;
|
|
612
1253
|
flex-direction: column;
|
|
613
|
-
gap:
|
|
614
|
-
padding-top: 10px;
|
|
615
|
-
}
|
|
616
|
-
.agno-member__content {
|
|
617
|
-
font-size: 13.5px;
|
|
1254
|
+
gap: 12px;
|
|
618
1255
|
}
|
|
619
1256
|
|
|
620
|
-
/*
|
|
1257
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1258
|
+
Media
|
|
1259
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1260
|
+
|
|
621
1261
|
.agno-media {
|
|
622
1262
|
display: flex;
|
|
623
1263
|
flex-wrap: wrap;
|
|
@@ -626,63 +1266,219 @@
|
|
|
626
1266
|
.agno-media__img,
|
|
627
1267
|
.agno-media__video {
|
|
628
1268
|
max-width: 100%;
|
|
629
|
-
border-radius: var(--agno-radius-
|
|
1269
|
+
border-radius: var(--agno-radius-md);
|
|
630
1270
|
border: 1px solid var(--agno-border);
|
|
631
1271
|
}
|
|
632
1272
|
.agno-media__audio {
|
|
633
1273
|
width: 100%;
|
|
634
1274
|
}
|
|
635
1275
|
|
|
636
|
-
/*
|
|
1276
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1277
|
+
Status + loader (ported from agno-os DiagonalGridLoader)
|
|
1278
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1279
|
+
|
|
637
1280
|
.agno-status {
|
|
638
1281
|
display: flex;
|
|
639
1282
|
align-items: center;
|
|
640
|
-
gap:
|
|
1283
|
+
gap: 8px;
|
|
641
1284
|
color: var(--agno-muted);
|
|
642
|
-
|
|
643
|
-
padding-left: 42px;
|
|
644
|
-
}
|
|
645
|
-
.agno-status__dots {
|
|
646
|
-
display: inline-flex;
|
|
647
|
-
gap: 3px;
|
|
648
|
-
}
|
|
649
|
-
.agno-status__dots span {
|
|
650
|
-
width: 6px;
|
|
651
|
-
height: 6px;
|
|
652
|
-
border-radius: 50%;
|
|
653
|
-
background: var(--agno-brand);
|
|
654
|
-
animation: agno-bounce 1.2s infinite ease-in-out;
|
|
1285
|
+
padding-left: 40px;
|
|
655
1286
|
}
|
|
656
|
-
|
|
657
|
-
|
|
1287
|
+
|
|
1288
|
+
.agno-loader {
|
|
1289
|
+
display: grid;
|
|
1290
|
+
place-items: center;
|
|
1291
|
+
flex-shrink: 0;
|
|
1292
|
+
width: 14px;
|
|
1293
|
+
height: 14px;
|
|
1294
|
+
color: currentColor;
|
|
658
1295
|
}
|
|
659
|
-
|
|
660
|
-
|
|
1296
|
+
|
|
1297
|
+
/* Grid loader — copied from agno-os DiagonalGridLoader.css */
|
|
1298
|
+
.agno-loader__dot {
|
|
1299
|
+
color: currentColor;
|
|
1300
|
+
box-shadow:
|
|
1301
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1302
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1303
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1304
|
+
var(--gap) 0 0 0px,
|
|
1305
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1306
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1307
|
+
var(--gap) var(--gap) 0 0px,
|
|
1308
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1309
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
1310
|
+
transform: translateX(calc(-2 * var(--gap)));
|
|
1311
|
+
animation: agno-grid-loader 2s infinite linear;
|
|
661
1312
|
}
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
1313
|
+
|
|
1314
|
+
@keyframes agno-grid-loader {
|
|
1315
|
+
0% {
|
|
1316
|
+
box-shadow:
|
|
1317
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1318
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1319
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1320
|
+
var(--gap) 0 0 0px,
|
|
1321
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1322
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1323
|
+
var(--gap) var(--gap) 0 0px,
|
|
1324
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1325
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
666
1326
|
}
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
1327
|
+
|
|
1328
|
+
12.5% {
|
|
1329
|
+
box-shadow:
|
|
1330
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1331
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1332
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px
|
|
1333
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1334
|
+
var(--gap) 0 0 0px color-mix(in srgb, currentColor 20%, transparent),
|
|
1335
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1336
|
+
calc(3 * var(--gap)) 0 0 0px
|
|
1337
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1338
|
+
var(--gap) var(--gap) 0 0px,
|
|
1339
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1340
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
1341
|
+
}
|
|
1342
|
+
|
|
1343
|
+
25% {
|
|
1344
|
+
box-shadow:
|
|
1345
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px
|
|
1346
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1347
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1348
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px
|
|
1349
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1350
|
+
var(--gap) 0 0 0px,
|
|
1351
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1352
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1353
|
+
var(--gap) var(--gap) 0 0px,
|
|
1354
|
+
calc(2 * var(--gap)) var(--gap) 0 0px
|
|
1355
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1356
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
670
1357
|
}
|
|
1358
|
+
|
|
1359
|
+
37.5% {
|
|
1360
|
+
box-shadow:
|
|
1361
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1362
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px
|
|
1363
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1364
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1365
|
+
var(--gap) 0 0 0px,
|
|
1366
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1367
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1368
|
+
var(--gap) var(--gap) 0 0px
|
|
1369
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1370
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1371
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
1372
|
+
}
|
|
1373
|
+
|
|
1374
|
+
50% {
|
|
1375
|
+
box-shadow:
|
|
1376
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px
|
|
1377
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1378
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px
|
|
1379
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1380
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1381
|
+
var(--gap) 0 0 0px,
|
|
1382
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1383
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1384
|
+
var(--gap) var(--gap) 0 0px,
|
|
1385
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1386
|
+
calc(3 * var(--gap)) var(--gap) 0 0px
|
|
1387
|
+
color-mix(in srgb, currentColor 20%, transparent);
|
|
1388
|
+
}
|
|
1389
|
+
|
|
1390
|
+
62.5% {
|
|
1391
|
+
box-shadow:
|
|
1392
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1393
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1394
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1395
|
+
var(--gap) 0 0 0px color-mix(in srgb, currentColor 20%, transparent),
|
|
1396
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1397
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1398
|
+
var(--gap) var(--gap) 0 0px,
|
|
1399
|
+
calc(2 * var(--gap)) var(--gap) 0 0px
|
|
1400
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1401
|
+
calc(3 * var(--gap)) var(--gap) 0 0px
|
|
1402
|
+
color-mix(in srgb, currentColor 20%, transparent);
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
75% {
|
|
1406
|
+
box-shadow:
|
|
1407
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1408
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px
|
|
1409
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1410
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1411
|
+
var(--gap) 0 0 0px,
|
|
1412
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1413
|
+
calc(3 * var(--gap)) 0 0 0px
|
|
1414
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1415
|
+
var(--gap) var(--gap) 0 0px,
|
|
1416
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1417
|
+
calc(3 * var(--gap)) var(--gap) 0 0px
|
|
1418
|
+
color-mix(in srgb, currentColor 20%, transparent);
|
|
1419
|
+
}
|
|
1420
|
+
|
|
1421
|
+
87.5% {
|
|
1422
|
+
box-shadow:
|
|
1423
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1424
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px
|
|
1425
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1426
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1427
|
+
var(--gap) 0 0 0px,
|
|
1428
|
+
calc(2 * var(--gap)) 0 0 0px
|
|
1429
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1430
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1431
|
+
var(--gap) var(--gap) 0 0px
|
|
1432
|
+
color-mix(in srgb, currentColor 20%, transparent),
|
|
1433
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1434
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
1435
|
+
}
|
|
1436
|
+
|
|
1437
|
+
100% {
|
|
1438
|
+
box-shadow:
|
|
1439
|
+
var(--gap) calc(-1 * var(--gap)) 0 0px,
|
|
1440
|
+
calc(2 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1441
|
+
calc(3 * var(--gap)) calc(-1 * var(--gap)) 0 0px,
|
|
1442
|
+
var(--gap) 0 0 0px,
|
|
1443
|
+
calc(2 * var(--gap)) 0 0 0px,
|
|
1444
|
+
calc(3 * var(--gap)) 0 0 0px,
|
|
1445
|
+
var(--gap) var(--gap) 0 0px,
|
|
1446
|
+
calc(2 * var(--gap)) var(--gap) 0 0px,
|
|
1447
|
+
calc(3 * var(--gap)) var(--gap) 0 0px;
|
|
1448
|
+
}
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1451
|
+
/* Loader sizing — agno-os sets these inline; the defaults match its `default` size. */
|
|
1452
|
+
.agno-loader__dot {
|
|
1453
|
+
--dot-size: 2px;
|
|
1454
|
+
--gap: 6px;
|
|
1455
|
+
width: 2px;
|
|
1456
|
+
height: 2px;
|
|
1457
|
+
aspect-ratio: 1;
|
|
1458
|
+
border-radius: 0.5px;
|
|
671
1459
|
}
|
|
672
1460
|
|
|
673
|
-
/*
|
|
1461
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1462
|
+
Human in the loop
|
|
1463
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1464
|
+
|
|
674
1465
|
.agno-hitl {
|
|
675
1466
|
display: flex;
|
|
676
1467
|
flex-direction: column;
|
|
677
|
-
gap:
|
|
678
|
-
|
|
1468
|
+
gap: 12px;
|
|
1469
|
+
width: 100%;
|
|
1470
|
+
max-width: 800px;
|
|
1471
|
+
margin: 0 auto;
|
|
679
1472
|
}
|
|
680
1473
|
.agno-hitl__title {
|
|
681
1474
|
display: flex;
|
|
682
1475
|
align-items: center;
|
|
683
|
-
gap:
|
|
684
|
-
|
|
685
|
-
font-
|
|
1476
|
+
gap: 8px;
|
|
1477
|
+
color: var(--agno-muted);
|
|
1478
|
+
font-family: var(--agno-font-mono);
|
|
1479
|
+
font-size: 0.75rem;
|
|
1480
|
+
letter-spacing: 0.02em;
|
|
1481
|
+
text-transform: uppercase;
|
|
686
1482
|
}
|
|
687
1483
|
.agno-hitl__actions {
|
|
688
1484
|
display: flex;
|
|
@@ -694,9 +1490,8 @@
|
|
|
694
1490
|
flex-direction: column;
|
|
695
1491
|
gap: 12px;
|
|
696
1492
|
padding: 12px;
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
border-radius: var(--agno-radius);
|
|
1493
|
+
border-radius: var(--agno-radius-md);
|
|
1494
|
+
background: var(--agno-secondary-soft);
|
|
700
1495
|
}
|
|
701
1496
|
.agno-hitl-card__head {
|
|
702
1497
|
display: flex;
|
|
@@ -707,48 +1502,41 @@
|
|
|
707
1502
|
.agno-hitl-card__tool {
|
|
708
1503
|
display: flex;
|
|
709
1504
|
align-items: center;
|
|
710
|
-
gap:
|
|
711
|
-
font-family: 'DM Mono', ui-monospace, monospace;
|
|
712
|
-
font-size: 12px;
|
|
713
|
-
text-transform: uppercase;
|
|
714
|
-
letter-spacing: 0.03em;
|
|
1505
|
+
gap: 8px;
|
|
715
1506
|
color: var(--agno-muted);
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
1507
|
+
font-family: var(--agno-font-mono);
|
|
1508
|
+
font-size: 0.75rem;
|
|
1509
|
+
letter-spacing: 0.02em;
|
|
1510
|
+
text-transform: uppercase;
|
|
719
1511
|
}
|
|
720
1512
|
.agno-hitl-card__choices {
|
|
721
1513
|
display: flex;
|
|
722
1514
|
gap: 6px;
|
|
723
1515
|
}
|
|
724
1516
|
.agno-hitl-card__choice {
|
|
725
|
-
width: 26px;
|
|
726
|
-
height: 26px;
|
|
727
1517
|
display: grid;
|
|
728
1518
|
place-items: center;
|
|
729
|
-
|
|
1519
|
+
width: 24px;
|
|
1520
|
+
height: 24px;
|
|
1521
|
+
border-radius: var(--agno-radius-sm);
|
|
730
1522
|
border: 1px solid var(--agno-border);
|
|
731
|
-
background:
|
|
1523
|
+
background: transparent;
|
|
732
1524
|
color: var(--agno-muted);
|
|
733
1525
|
cursor: pointer;
|
|
734
|
-
font-size: 12px;
|
|
735
1526
|
}
|
|
736
1527
|
.agno-hitl-card__choice:hover:not(:disabled) {
|
|
737
|
-
border-color: var(--agno-border-
|
|
738
|
-
color: var(--agno-
|
|
1528
|
+
border-color: var(--agno-border-selected);
|
|
1529
|
+
color: var(--agno-primary);
|
|
739
1530
|
}
|
|
740
1531
|
.agno-hitl-card__choice.is-active.is-confirm {
|
|
741
1532
|
border-color: var(--agno-positive);
|
|
742
1533
|
color: var(--agno-positive);
|
|
743
|
-
box-shadow: 0 0 0 1px var(--agno-positive);
|
|
744
1534
|
}
|
|
745
1535
|
.agno-hitl-card__choice.is-active.is-reject {
|
|
746
|
-
border-color: var(--agno-
|
|
747
|
-
color: var(--agno-
|
|
748
|
-
box-shadow: 0 0 0 1px var(--agno-error);
|
|
1536
|
+
border-color: var(--agno-destructive);
|
|
1537
|
+
color: var(--agno-destructive);
|
|
749
1538
|
}
|
|
750
1539
|
.agno-hitl-card__args {
|
|
751
|
-
border: 1px solid var(--agno-border);
|
|
752
1540
|
border-radius: var(--agno-radius-sm);
|
|
753
1541
|
background: var(--agno-bg);
|
|
754
1542
|
}
|
|
@@ -757,60 +1545,69 @@
|
|
|
757
1545
|
display: flex;
|
|
758
1546
|
align-items: center;
|
|
759
1547
|
justify-content: space-between;
|
|
760
|
-
|
|
1548
|
+
gap: 8px;
|
|
1549
|
+
padding: 8px 10px;
|
|
761
1550
|
background: none;
|
|
762
1551
|
border: none;
|
|
763
1552
|
color: var(--agno-muted);
|
|
764
1553
|
cursor: pointer;
|
|
765
|
-
font:
|
|
766
|
-
font-size:
|
|
1554
|
+
font-family: var(--agno-font-mono);
|
|
1555
|
+
font-size: 0.75rem;
|
|
1556
|
+
letter-spacing: 0.02em;
|
|
767
1557
|
text-transform: uppercase;
|
|
768
|
-
|
|
1558
|
+
}
|
|
1559
|
+
.agno-hitl-card__args-head[aria-expanded='true'] .agno-hitl-card__chev {
|
|
1560
|
+
transform: rotate(180deg);
|
|
769
1561
|
}
|
|
770
1562
|
.agno-hitl-card__chev {
|
|
771
|
-
|
|
1563
|
+
transition: transform 0.2s ease;
|
|
772
1564
|
}
|
|
773
1565
|
.agno-hitl-card__args-body {
|
|
774
|
-
padding: 0 10px
|
|
1566
|
+
padding: 0 10px 10px;
|
|
775
1567
|
display: flex;
|
|
776
1568
|
flex-direction: column;
|
|
777
1569
|
gap: 4px;
|
|
778
1570
|
}
|
|
779
1571
|
.agno-hitl-card__arg {
|
|
780
1572
|
display: flex;
|
|
781
|
-
gap:
|
|
782
|
-
font-size:
|
|
1573
|
+
gap: 8px;
|
|
1574
|
+
font-size: 0.75rem;
|
|
1575
|
+
line-height: 1.0625rem;
|
|
783
1576
|
}
|
|
784
1577
|
.agno-hitl-card__arg-key {
|
|
785
1578
|
color: var(--agno-muted);
|
|
786
|
-
font-family:
|
|
1579
|
+
font-family: var(--agno-font-mono);
|
|
787
1580
|
}
|
|
788
1581
|
.agno-hitl-card__arg-val {
|
|
789
|
-
color: var(--agno-text);
|
|
790
1582
|
word-break: break-word;
|
|
791
1583
|
}
|
|
792
|
-
.agno-hitl-card__reason
|
|
1584
|
+
.agno-hitl-card__reason,
|
|
1585
|
+
.agno-hitl-card__input {
|
|
793
1586
|
background: var(--agno-bg);
|
|
794
1587
|
border: 1px solid var(--agno-border);
|
|
795
|
-
border-radius: var(--agno-radius-
|
|
796
|
-
padding:
|
|
797
|
-
color: var(--agno-
|
|
1588
|
+
border-radius: var(--agno-radius-md);
|
|
1589
|
+
padding: 9px 11px;
|
|
1590
|
+
color: var(--agno-primary);
|
|
798
1591
|
font: inherit;
|
|
1592
|
+
letter-spacing: -0.02em;
|
|
1593
|
+
}
|
|
1594
|
+
.agno-hitl-card__reason {
|
|
799
1595
|
resize: vertical;
|
|
800
1596
|
}
|
|
801
|
-
.agno-hitl-card__reason:focus
|
|
1597
|
+
.agno-hitl-card__reason:focus,
|
|
1598
|
+
.agno-hitl-card__input:focus {
|
|
802
1599
|
outline: none;
|
|
803
|
-
border-color: var(--agno-border-
|
|
1600
|
+
border-color: var(--agno-border-selected);
|
|
804
1601
|
}
|
|
805
1602
|
.agno-hitl-card__fields {
|
|
806
1603
|
display: flex;
|
|
807
1604
|
flex-direction: column;
|
|
808
|
-
gap:
|
|
1605
|
+
gap: 12px;
|
|
809
1606
|
}
|
|
810
1607
|
.agno-hitl-card__field {
|
|
811
1608
|
display: flex;
|
|
812
1609
|
flex-direction: column;
|
|
813
|
-
gap:
|
|
1610
|
+
gap: 6px;
|
|
814
1611
|
}
|
|
815
1612
|
.agno-hitl-card__field.is-bool {
|
|
816
1613
|
flex-direction: row;
|
|
@@ -818,32 +1615,26 @@
|
|
|
818
1615
|
justify-content: space-between;
|
|
819
1616
|
}
|
|
820
1617
|
.agno-hitl-card__field-name {
|
|
821
|
-
font-size: 11px;
|
|
822
|
-
text-transform: uppercase;
|
|
823
|
-
letter-spacing: 0.03em;
|
|
824
1618
|
color: var(--agno-muted);
|
|
1619
|
+
font-family: var(--agno-font-mono);
|
|
1620
|
+
font-size: 0.75rem;
|
|
1621
|
+
letter-spacing: 0.02em;
|
|
1622
|
+
text-transform: uppercase;
|
|
825
1623
|
}
|
|
826
|
-
.agno-hitl-card__input {
|
|
827
|
-
background: var(--agno-bg);
|
|
828
|
-
border: 1px solid var(--agno-border);
|
|
829
|
-
border-radius: var(--agno-radius-sm);
|
|
830
|
-
padding: 9px 11px;
|
|
831
|
-
color: var(--agno-text);
|
|
832
|
-
font: inherit;
|
|
833
|
-
}
|
|
834
|
-
.agno-hitl-card__input:focus {
|
|
835
|
-
outline: none;
|
|
836
|
-
border-color: var(--agno-brand);
|
|
837
|
-
}
|
|
838
1624
|
|
|
839
|
-
/*
|
|
1625
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1626
|
+
Event log
|
|
1627
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1628
|
+
|
|
840
1629
|
.agno-eventlog {
|
|
841
1630
|
overflow-y: auto;
|
|
842
1631
|
display: flex;
|
|
843
1632
|
flex-direction: column;
|
|
844
|
-
gap:
|
|
845
|
-
font-
|
|
846
|
-
font-
|
|
1633
|
+
gap: 4px;
|
|
1634
|
+
font-family: var(--agno-font-mono);
|
|
1635
|
+
font-size: 0.75rem;
|
|
1636
|
+
line-height: 1.125rem;
|
|
1637
|
+
letter-spacing: -0.02em;
|
|
847
1638
|
}
|
|
848
1639
|
.agno-eventlog__empty {
|
|
849
1640
|
color: var(--agno-muted);
|
|
@@ -852,20 +1643,16 @@
|
|
|
852
1643
|
display: flex;
|
|
853
1644
|
align-items: baseline;
|
|
854
1645
|
gap: 8px;
|
|
855
|
-
padding:
|
|
856
|
-
border-radius:
|
|
857
|
-
background: var(--agno-
|
|
858
|
-
border: 1px solid var(--agno-border);
|
|
1646
|
+
padding: 5px 8px;
|
|
1647
|
+
border-radius: var(--agno-radius-sm);
|
|
1648
|
+
background: var(--agno-secondary-soft);
|
|
859
1649
|
}
|
|
860
1650
|
.agno-eventlog__name {
|
|
861
|
-
|
|
1651
|
+
text-transform: uppercase;
|
|
1652
|
+
letter-spacing: 0.02em;
|
|
862
1653
|
}
|
|
863
1654
|
.agno-eventlog__count {
|
|
864
|
-
color: var(--agno-
|
|
865
|
-
background: var(--agno-surface-2);
|
|
866
|
-
border-radius: 999px;
|
|
867
|
-
padding: 0 6px;
|
|
868
|
-
font-size: 11px;
|
|
1655
|
+
color: var(--agno-muted);
|
|
869
1656
|
}
|
|
870
1657
|
.agno-eventlog__source {
|
|
871
1658
|
color: var(--agno-muted);
|
|
@@ -879,11 +1666,20 @@
|
|
|
879
1666
|
white-space: nowrap;
|
|
880
1667
|
}
|
|
881
1668
|
|
|
882
|
-
/*
|
|
1669
|
+
/* The per-run feed nested inside a behind-the-scenes step. */
|
|
1670
|
+
.agno-timeline__content .agno-eventlog {
|
|
1671
|
+
margin-top: 4px;
|
|
1672
|
+
padding-right: 4px;
|
|
1673
|
+
}
|
|
1674
|
+
|
|
1675
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1676
|
+
Sessions
|
|
1677
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1678
|
+
|
|
883
1679
|
.agno-sessions {
|
|
884
1680
|
display: flex;
|
|
885
1681
|
flex-direction: column;
|
|
886
|
-
gap:
|
|
1682
|
+
gap: 12px;
|
|
887
1683
|
height: 100%;
|
|
888
1684
|
min-height: 0;
|
|
889
1685
|
}
|
|
@@ -893,42 +1689,16 @@
|
|
|
893
1689
|
justify-content: space-between;
|
|
894
1690
|
}
|
|
895
1691
|
.agno-sessions__title {
|
|
896
|
-
font-size: 11px;
|
|
897
|
-
text-transform: uppercase;
|
|
898
|
-
letter-spacing: 0.06em;
|
|
899
1692
|
color: var(--agno-muted);
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
align-items: center;
|
|
904
|
-
justify-content: center;
|
|
905
|
-
gap: 8px;
|
|
906
|
-
width: 100%;
|
|
907
|
-
background: var(--agno-surface);
|
|
908
|
-
border: 1px solid var(--agno-border);
|
|
909
|
-
border-radius: var(--agno-radius);
|
|
910
|
-
color: var(--agno-text);
|
|
911
|
-
padding: 11px 12px;
|
|
912
|
-
cursor: pointer;
|
|
913
|
-
font: inherit;
|
|
914
|
-
font-size: 12px;
|
|
915
|
-
font-weight: 600;
|
|
1693
|
+
font-family: var(--agno-font-mono);
|
|
1694
|
+
font-size: 0.75rem;
|
|
1695
|
+
letter-spacing: 0.02em;
|
|
916
1696
|
text-transform: uppercase;
|
|
917
|
-
letter-spacing: 0.08em;
|
|
918
|
-
transition: border-color 0.12s ease, background 0.12s ease;
|
|
919
|
-
}
|
|
920
|
-
.agno-sessions__new:hover {
|
|
921
|
-
border-color: var(--agno-border-strong);
|
|
922
|
-
background: var(--agno-surface-2);
|
|
923
|
-
}
|
|
924
|
-
.agno-sessions__new span {
|
|
925
|
-
font-size: 15px;
|
|
926
|
-
font-weight: 400;
|
|
927
1697
|
}
|
|
928
1698
|
.agno-sessions__empty {
|
|
929
1699
|
color: var(--agno-muted);
|
|
930
|
-
font-size:
|
|
931
|
-
|
|
1700
|
+
font-size: 0.75rem;
|
|
1701
|
+
line-height: 1.0625rem;
|
|
932
1702
|
}
|
|
933
1703
|
.agno-sessions__list {
|
|
934
1704
|
list-style: none;
|
|
@@ -936,29 +1706,31 @@
|
|
|
936
1706
|
padding: 0;
|
|
937
1707
|
display: flex;
|
|
938
1708
|
flex-direction: column;
|
|
939
|
-
gap:
|
|
1709
|
+
gap: 8px;
|
|
940
1710
|
overflow-y: auto;
|
|
941
1711
|
}
|
|
942
1712
|
.agno-sessions__item {
|
|
943
1713
|
display: flex;
|
|
944
1714
|
align-items: stretch;
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
1715
|
+
/* The list scrolls, so a row must never be squeezed to make others fit —
|
|
1716
|
+
shrinking one cascades into the name's line box and clips its descenders. */
|
|
1717
|
+
flex-shrink: 0;
|
|
1718
|
+
min-height: 3.25rem;
|
|
1719
|
+
border-radius: var(--agno-radius-md);
|
|
1720
|
+
background: var(--agno-secondary-soft);
|
|
949
1721
|
}
|
|
950
1722
|
.agno-sessions__item:hover {
|
|
951
|
-
|
|
1723
|
+
background: var(--agno-secondary);
|
|
952
1724
|
}
|
|
953
1725
|
.agno-sessions__item.is-active {
|
|
954
|
-
background: var(--agno-
|
|
955
|
-
border-color: var(--agno-border-strong);
|
|
1726
|
+
background: var(--agno-secondary);
|
|
956
1727
|
}
|
|
957
1728
|
.agno-sessions__select {
|
|
958
1729
|
flex: 1;
|
|
959
1730
|
min-width: 0;
|
|
960
1731
|
display: flex;
|
|
961
1732
|
flex-direction: column;
|
|
1733
|
+
justify-content: center;
|
|
962
1734
|
gap: 2px;
|
|
963
1735
|
background: none;
|
|
964
1736
|
border: none;
|
|
@@ -966,251 +1738,387 @@
|
|
|
966
1738
|
cursor: pointer;
|
|
967
1739
|
font: inherit;
|
|
968
1740
|
text-align: left;
|
|
969
|
-
padding:
|
|
1741
|
+
padding: 10px 12px;
|
|
970
1742
|
}
|
|
971
1743
|
.agno-sessions__name {
|
|
972
1744
|
white-space: nowrap;
|
|
973
1745
|
overflow: hidden;
|
|
974
1746
|
text-overflow: ellipsis;
|
|
975
|
-
|
|
1747
|
+
/* `overflow: hidden` clips vertically too, so keep the full line box. */
|
|
1748
|
+
flex-shrink: 0;
|
|
976
1749
|
}
|
|
977
1750
|
.agno-sessions__date {
|
|
978
|
-
font-size: 11px;
|
|
979
1751
|
color: var(--agno-muted);
|
|
1752
|
+
font-size: 0.75rem;
|
|
1753
|
+
line-height: 1.0625rem;
|
|
980
1754
|
}
|
|
981
1755
|
.agno-sessions__delete {
|
|
1756
|
+
display: grid;
|
|
1757
|
+
place-items: center;
|
|
982
1758
|
background: none;
|
|
983
1759
|
border: none;
|
|
984
1760
|
color: var(--agno-muted);
|
|
985
1761
|
cursor: pointer;
|
|
986
|
-
padding: 0
|
|
987
|
-
|
|
1762
|
+
padding: 0 12px;
|
|
1763
|
+
opacity: 0;
|
|
1764
|
+
transition: opacity 0.15s ease;
|
|
1765
|
+
}
|
|
1766
|
+
.agno-sessions__item:hover .agno-sessions__delete,
|
|
1767
|
+
.agno-sessions__delete:focus-visible {
|
|
1768
|
+
opacity: 1;
|
|
988
1769
|
}
|
|
989
1770
|
.agno-sessions__delete:hover {
|
|
990
|
-
color: var(--agno-
|
|
1771
|
+
color: var(--agno-destructive);
|
|
1772
|
+
}
|
|
1773
|
+
.agno-sessions__spinner {
|
|
1774
|
+
display: grid;
|
|
1775
|
+
place-items: center;
|
|
1776
|
+
padding: 0 12px;
|
|
1777
|
+
color: var(--agno-muted);
|
|
991
1778
|
}
|
|
992
1779
|
|
|
993
|
-
/*
|
|
1780
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1781
|
+
Banner + errors
|
|
1782
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1783
|
+
|
|
994
1784
|
.agno-banner {
|
|
995
|
-
padding:
|
|
1785
|
+
padding: 12px 16px;
|
|
996
1786
|
background: var(--agno-brand-soft);
|
|
997
|
-
border-bottom: 1px solid rgba(
|
|
998
|
-
|
|
999
|
-
|
|
1787
|
+
border-bottom: 1px solid rgba(var(--color-brand-brand), 0.3);
|
|
1788
|
+
font-size: 0.75rem;
|
|
1789
|
+
line-height: 1.0625rem;
|
|
1000
1790
|
}
|
|
1001
1791
|
.agno-banner code {
|
|
1002
|
-
background: var(--agno-
|
|
1792
|
+
background: var(--agno-tint);
|
|
1003
1793
|
padding: 1px 5px;
|
|
1004
|
-
border-radius:
|
|
1005
|
-
font-
|
|
1006
|
-
font-family: 'DM Mono', ui-monospace, monospace;
|
|
1794
|
+
border-radius: var(--agno-radius-xs);
|
|
1795
|
+
font-family: var(--agno-font-mono);
|
|
1007
1796
|
}
|
|
1797
|
+
.agno-chat__error {
|
|
1798
|
+
flex: 0 0 auto;
|
|
1799
|
+
width: 100%;
|
|
1800
|
+
max-width: 800px;
|
|
1801
|
+
max-height: 120px;
|
|
1802
|
+
overflow-y: auto;
|
|
1803
|
+
margin: 0 auto;
|
|
1804
|
+
padding: 0 24px 8px;
|
|
1805
|
+
color: var(--agno-destructive);
|
|
1806
|
+
font-size: 0.75rem;
|
|
1807
|
+
line-height: 1.0625rem;
|
|
1808
|
+
}
|
|
1809
|
+
|
|
1810
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1811
|
+
Chat input dock
|
|
1812
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1008
1813
|
|
|
1009
|
-
/* Input */
|
|
1010
1814
|
.agno-input {
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1815
|
+
padding: 8px 24px 12px;
|
|
1816
|
+
}
|
|
1817
|
+
.agno-input__dock {
|
|
1818
|
+
width: 100%;
|
|
1819
|
+
max-width: 800px;
|
|
1820
|
+
margin: 0 auto;
|
|
1821
|
+
display: flex;
|
|
1822
|
+
flex-direction: column;
|
|
1823
|
+
gap: 8px;
|
|
1824
|
+
padding: 8px;
|
|
1825
|
+
border: 1px solid var(--agno-border);
|
|
1826
|
+
border-radius: var(--agno-radius-xl);
|
|
1827
|
+
background: var(--agno-accent);
|
|
1828
|
+
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
|
|
1829
|
+
}
|
|
1830
|
+
/* Attachment previews — the AgentOS upload banner: a count with "clear all",
|
|
1831
|
+
then a scrolling row of thumbnails and typed file cards. */
|
|
1832
|
+
.agno-files {
|
|
1014
1833
|
display: flex;
|
|
1015
1834
|
flex-direction: column;
|
|
1835
|
+
gap: 10px;
|
|
1836
|
+
padding: 4px 4px 2px;
|
|
1837
|
+
}
|
|
1838
|
+
.agno-files__head {
|
|
1839
|
+
display: flex;
|
|
1840
|
+
align-items: center;
|
|
1841
|
+
justify-content: space-between;
|
|
1842
|
+
gap: 8px;
|
|
1843
|
+
}
|
|
1844
|
+
.agno-files__count,
|
|
1845
|
+
.agno-files__clear {
|
|
1846
|
+
font-family: var(--agno-font-mono);
|
|
1847
|
+
font-size: 0.75rem;
|
|
1848
|
+
line-height: 1rem;
|
|
1849
|
+
letter-spacing: 0.02em;
|
|
1850
|
+
text-transform: uppercase;
|
|
1851
|
+
}
|
|
1852
|
+
.agno-files__count {
|
|
1853
|
+
color: var(--agno-muted);
|
|
1854
|
+
}
|
|
1855
|
+
.agno-files__clear {
|
|
1856
|
+
display: inline-flex;
|
|
1857
|
+
align-items: center;
|
|
1858
|
+
gap: 4px;
|
|
1859
|
+
border: none;
|
|
1860
|
+
background: none;
|
|
1861
|
+
padding: 0;
|
|
1862
|
+
color: var(--agno-primary);
|
|
1863
|
+
cursor: pointer;
|
|
1864
|
+
}
|
|
1865
|
+
.agno-files__row {
|
|
1866
|
+
display: flex;
|
|
1867
|
+
align-items: flex-start;
|
|
1868
|
+
gap: 8px;
|
|
1869
|
+
overflow-x: auto;
|
|
1870
|
+
scrollbar-width: none;
|
|
1871
|
+
}
|
|
1872
|
+
.agno-files__row::-webkit-scrollbar {
|
|
1873
|
+
display: none;
|
|
1874
|
+
}
|
|
1875
|
+
.agno-file {
|
|
1876
|
+
position: relative;
|
|
1877
|
+
flex: none;
|
|
1878
|
+
}
|
|
1879
|
+
.agno-file__remove {
|
|
1880
|
+
position: absolute;
|
|
1881
|
+
top: -5px;
|
|
1882
|
+
right: -6px;
|
|
1883
|
+
z-index: 1;
|
|
1884
|
+
display: grid;
|
|
1885
|
+
place-items: center;
|
|
1886
|
+
padding: 2px;
|
|
1887
|
+
border: none;
|
|
1888
|
+
border-radius: var(--agno-radius-full);
|
|
1889
|
+
background: rgba(var(--color-muted), 0.9);
|
|
1890
|
+
color: var(--agno-accent);
|
|
1891
|
+
cursor: pointer;
|
|
1892
|
+
}
|
|
1893
|
+
.agno-file__thumb {
|
|
1894
|
+
display: block;
|
|
1895
|
+
width: 69px;
|
|
1896
|
+
height: 54px;
|
|
1897
|
+
object-fit: cover;
|
|
1898
|
+
border-radius: var(--agno-radius-sm);
|
|
1899
|
+
}
|
|
1900
|
+
.agno-file__card {
|
|
1901
|
+
display: flex;
|
|
1902
|
+
align-items: center;
|
|
1016
1903
|
gap: 8px;
|
|
1904
|
+
height: 54px;
|
|
1905
|
+
padding: 0 12px;
|
|
1906
|
+
border: 1px solid var(--agno-border);
|
|
1907
|
+
border-radius: var(--agno-radius-sm);
|
|
1908
|
+
background: var(--agno-bg);
|
|
1909
|
+
}
|
|
1910
|
+
.agno-file__mark {
|
|
1911
|
+
display: grid;
|
|
1912
|
+
place-items: center;
|
|
1913
|
+
flex: none;
|
|
1914
|
+
padding: 6px;
|
|
1915
|
+
border-radius: var(--agno-radius-sm);
|
|
1916
|
+
background: var(--agno-tint);
|
|
1917
|
+
color: var(--agno-primary);
|
|
1017
1918
|
}
|
|
1018
|
-
.agno-
|
|
1919
|
+
.agno-file__meta {
|
|
1019
1920
|
display: flex;
|
|
1020
|
-
flex-
|
|
1021
|
-
|
|
1921
|
+
flex-direction: column;
|
|
1922
|
+
min-width: 0;
|
|
1022
1923
|
}
|
|
1023
|
-
.agno-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1924
|
+
.agno-file__name {
|
|
1925
|
+
max-width: 8rem;
|
|
1926
|
+
overflow: hidden;
|
|
1927
|
+
text-overflow: ellipsis;
|
|
1928
|
+
white-space: nowrap;
|
|
1929
|
+
font-size: 0.875rem;
|
|
1930
|
+
line-height: 1.25rem;
|
|
1931
|
+
color: var(--agno-primary);
|
|
1031
1932
|
}
|
|
1032
|
-
.agno-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
font-
|
|
1933
|
+
.agno-file__type {
|
|
1934
|
+
max-width: 8rem;
|
|
1935
|
+
overflow: hidden;
|
|
1936
|
+
text-overflow: ellipsis;
|
|
1937
|
+
white-space: nowrap;
|
|
1938
|
+
font-family: var(--agno-font-mono);
|
|
1939
|
+
font-size: 0.6875rem;
|
|
1940
|
+
line-height: 1rem;
|
|
1941
|
+
letter-spacing: 0.02em;
|
|
1942
|
+
text-transform: uppercase;
|
|
1943
|
+
color: rgba(var(--color-primary), 0.5);
|
|
1038
1944
|
}
|
|
1039
|
-
.agno-
|
|
1945
|
+
.agno-input__field {
|
|
1040
1946
|
display: flex;
|
|
1041
|
-
align-items: flex-
|
|
1042
|
-
gap: 8px;
|
|
1043
|
-
background: var(--agno-surface);
|
|
1044
|
-
border: 1px solid var(--agno-border);
|
|
1947
|
+
align-items: flex-start;
|
|
1045
1948
|
border-radius: var(--agno-radius-lg);
|
|
1046
|
-
|
|
1047
|
-
}
|
|
1048
|
-
.agno-input__row:focus-within {
|
|
1049
|
-
border-color: var(--agno-border-strong);
|
|
1949
|
+
background: var(--agno-secondary);
|
|
1050
1950
|
}
|
|
1051
1951
|
.agno-input__textarea {
|
|
1052
1952
|
flex: 1;
|
|
1953
|
+
min-width: 0;
|
|
1954
|
+
min-height: 31px;
|
|
1955
|
+
max-height: 213px;
|
|
1053
1956
|
resize: none;
|
|
1054
|
-
|
|
1957
|
+
overflow-y: auto;
|
|
1055
1958
|
background: transparent;
|
|
1056
1959
|
border: none;
|
|
1057
|
-
padding:
|
|
1058
|
-
color: var(--agno-
|
|
1960
|
+
padding: 12px;
|
|
1961
|
+
color: var(--agno-primary);
|
|
1059
1962
|
font: inherit;
|
|
1963
|
+
letter-spacing: -0.02em;
|
|
1060
1964
|
}
|
|
1061
1965
|
.agno-input__textarea::placeholder {
|
|
1062
|
-
color: var(--
|
|
1966
|
+
color: rgba(var(--color-muted), 0.5);
|
|
1063
1967
|
}
|
|
1064
1968
|
.agno-input__textarea:focus {
|
|
1065
1969
|
outline: none;
|
|
1066
1970
|
}
|
|
1067
|
-
.agno-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1971
|
+
.agno-input__textarea:disabled {
|
|
1972
|
+
cursor: not-allowed;
|
|
1973
|
+
opacity: 0.5;
|
|
1974
|
+
}
|
|
1975
|
+
.agno-input__row {
|
|
1976
|
+
display: flex;
|
|
1977
|
+
align-items: center;
|
|
1978
|
+
justify-content: space-between;
|
|
1979
|
+
gap: 8px;
|
|
1076
1980
|
}
|
|
1077
|
-
.agno-
|
|
1078
|
-
|
|
1079
|
-
|
|
1981
|
+
.agno-input__actions {
|
|
1982
|
+
display: flex;
|
|
1983
|
+
align-items: center;
|
|
1984
|
+
gap: 8px;
|
|
1080
1985
|
}
|
|
1081
1986
|
|
|
1082
|
-
/*
|
|
1987
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
1988
|
+
Buttons — Agno OS `Button` (DM Mono, uppercase, rounded-md)
|
|
1989
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1990
|
+
|
|
1083
1991
|
.agno-btn {
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1992
|
+
display: inline-flex;
|
|
1993
|
+
align-items: center;
|
|
1994
|
+
justify-content: center;
|
|
1995
|
+
gap: 8px;
|
|
1996
|
+
height: 36px;
|
|
1997
|
+
padding: 0 16px;
|
|
1998
|
+
border: 1px solid transparent;
|
|
1999
|
+
border-radius: var(--agno-radius-md);
|
|
2000
|
+
background: var(--agno-primary);
|
|
2001
|
+
color: var(--agno-accent);
|
|
1089
2002
|
cursor: pointer;
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
2003
|
+
user-select: none;
|
|
2004
|
+
white-space: nowrap;
|
|
2005
|
+
font-family: var(--agno-font-mono);
|
|
2006
|
+
font-size: 0.75rem;
|
|
2007
|
+
font-weight: 400;
|
|
2008
|
+
line-height: 1rem;
|
|
2009
|
+
letter-spacing: 0.24px;
|
|
2010
|
+
text-transform: uppercase;
|
|
2011
|
+
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
|
|
2012
|
+
transition: background 0.12s ease, opacity 0.12s ease, border-color 0.12s ease;
|
|
1093
2013
|
}
|
|
1094
2014
|
.agno-btn:hover:not(:disabled) {
|
|
1095
|
-
|
|
2015
|
+
background: rgba(var(--color-primary), 0.8);
|
|
1096
2016
|
}
|
|
1097
2017
|
.agno-btn:disabled {
|
|
1098
|
-
opacity: 0.
|
|
2018
|
+
opacity: 0.5;
|
|
1099
2019
|
cursor: not-allowed;
|
|
2020
|
+
pointer-events: none;
|
|
1100
2021
|
}
|
|
1101
|
-
.agno-btn--
|
|
1102
|
-
background: var(--agno-
|
|
1103
|
-
|
|
1104
|
-
color: var(--agno-primary-fg);
|
|
2022
|
+
.agno-btn--secondary {
|
|
2023
|
+
background: var(--agno-secondary);
|
|
2024
|
+
color: var(--agno-primary);
|
|
1105
2025
|
}
|
|
1106
|
-
.agno-btn--
|
|
1107
|
-
|
|
1108
|
-
border-color: var(--agno-primary-bg);
|
|
2026
|
+
.agno-btn--secondary:hover:not(:disabled) {
|
|
2027
|
+
background: var(--agno-secondary-soft);
|
|
1109
2028
|
}
|
|
1110
|
-
.agno-btn--
|
|
1111
|
-
background:
|
|
1112
|
-
border-color: var(--agno-
|
|
1113
|
-
color:
|
|
2029
|
+
.agno-btn--outline {
|
|
2030
|
+
background: transparent;
|
|
2031
|
+
border-color: var(--agno-border);
|
|
2032
|
+
color: var(--agno-primary);
|
|
2033
|
+
}
|
|
2034
|
+
.agno-btn--outline:hover:not(:disabled) {
|
|
2035
|
+
background: var(--agno-tint);
|
|
1114
2036
|
}
|
|
1115
2037
|
.agno-btn--ghost {
|
|
1116
|
-
background:
|
|
1117
|
-
color: var(--agno-
|
|
1118
|
-
|
|
1119
|
-
font-weight: 600;
|
|
1120
|
-
text-transform: uppercase;
|
|
1121
|
-
letter-spacing: 0.08em;
|
|
1122
|
-
padding: 7px 12px;
|
|
2038
|
+
background: transparent;
|
|
2039
|
+
color: var(--agno-primary);
|
|
2040
|
+
box-shadow: none;
|
|
1123
2041
|
}
|
|
1124
2042
|
.agno-btn--ghost:hover:not(:disabled) {
|
|
1125
|
-
|
|
1126
|
-
background: var(--agno-surface);
|
|
2043
|
+
background: var(--agno-tint);
|
|
1127
2044
|
}
|
|
1128
2045
|
.agno-btn--ghost.is-active {
|
|
1129
|
-
background: var(--agno-
|
|
1130
|
-
color: var(--agno-text);
|
|
1131
|
-
border-color: var(--agno-border-strong);
|
|
2046
|
+
background: var(--agno-tint-strong);
|
|
1132
2047
|
}
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
display: grid;
|
|
1137
|
-
place-items: center;
|
|
1138
|
-
width: 36px;
|
|
1139
|
-
height: 36px;
|
|
1140
|
-
border-radius: var(--agno-radius);
|
|
1141
|
-
border: 1px solid transparent;
|
|
1142
|
-
background: var(--agno-primary-bg);
|
|
1143
|
-
color: var(--agno-primary-fg);
|
|
1144
|
-
cursor: pointer;
|
|
1145
|
-
font-size: 14px;
|
|
1146
|
-
transition: opacity 0.12s ease, background 0.12s ease;
|
|
2048
|
+
.agno-btn--destructive {
|
|
2049
|
+
background: var(--agno-destructive);
|
|
2050
|
+
color: #fff;
|
|
1147
2051
|
}
|
|
1148
|
-
.agno-
|
|
1149
|
-
|
|
1150
|
-
transform: translateX(1px);
|
|
2052
|
+
.agno-btn--destructive:hover:not(:disabled) {
|
|
2053
|
+
background: rgba(var(--color-destructive), 0.8);
|
|
1151
2054
|
}
|
|
1152
|
-
.agno-
|
|
1153
|
-
|
|
2055
|
+
.agno-btn--sm {
|
|
2056
|
+
height: 32px;
|
|
2057
|
+
padding: 0 12px;
|
|
1154
2058
|
}
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
2059
|
+
/* Square icon buttons: `iconSm` (32px) and `iconXs` (24px) in Agno OS. */
|
|
2060
|
+
.agno-btn--icon {
|
|
2061
|
+
width: 32px;
|
|
2062
|
+
height: 32px;
|
|
2063
|
+
padding: 0;
|
|
2064
|
+
border-radius: var(--agno-radius-sm);
|
|
1158
2065
|
}
|
|
1159
|
-
.agno-
|
|
1160
|
-
|
|
1161
|
-
|
|
2066
|
+
.agno-btn--icon-xs {
|
|
2067
|
+
width: 24px;
|
|
2068
|
+
height: 24px;
|
|
2069
|
+
padding: 0;
|
|
2070
|
+
border-radius: var(--agno-radius-sm);
|
|
1162
2071
|
}
|
|
1163
|
-
.agno-
|
|
1164
|
-
|
|
1165
|
-
font-size: 11px;
|
|
2072
|
+
.agno-btn--block {
|
|
2073
|
+
width: 100%;
|
|
1166
2074
|
}
|
|
1167
2075
|
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
padding: 6px 14px;
|
|
1172
|
-
}
|
|
2076
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2077
|
+
Entity selector
|
|
2078
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
1173
2079
|
|
|
1174
|
-
/* Entity selector — Agno OS style popover */
|
|
1175
2080
|
.agno-select {
|
|
1176
2081
|
position: relative;
|
|
2082
|
+
min-width: 0;
|
|
1177
2083
|
}
|
|
1178
2084
|
.agno-select__trigger {
|
|
1179
2085
|
display: flex;
|
|
1180
2086
|
align-items: center;
|
|
1181
2087
|
justify-content: space-between;
|
|
1182
2088
|
gap: 8px;
|
|
1183
|
-
height:
|
|
1184
|
-
|
|
2089
|
+
height: 32px;
|
|
2090
|
+
/* Comfortable 190px when there is room, but never wider than what the header
|
|
2091
|
+
can spare — a hard floor here starves the title in a narrow launcher
|
|
2092
|
+
panel. `.agno-select__value` ellipses once it shrinks. */
|
|
2093
|
+
min-width: min(190px, 100%);
|
|
1185
2094
|
max-width: 280px;
|
|
1186
2095
|
padding: 0 10px;
|
|
1187
|
-
background:
|
|
2096
|
+
background: transparent;
|
|
1188
2097
|
border: 1px solid var(--agno-border);
|
|
1189
|
-
border-radius: var(--agno-radius-
|
|
1190
|
-
color: var(--agno-
|
|
2098
|
+
border-radius: var(--agno-radius-md);
|
|
2099
|
+
color: var(--agno-primary);
|
|
1191
2100
|
cursor: pointer;
|
|
1192
|
-
font:
|
|
2101
|
+
font-family: var(--agno-font-mono);
|
|
2102
|
+
font-size: 0.75rem;
|
|
2103
|
+
letter-spacing: 0.02em;
|
|
2104
|
+
text-transform: uppercase;
|
|
1193
2105
|
}
|
|
1194
2106
|
.agno-select__trigger:hover:not(:disabled) {
|
|
1195
|
-
|
|
2107
|
+
background: var(--agno-tint);
|
|
1196
2108
|
}
|
|
1197
2109
|
.agno-select__trigger:disabled {
|
|
1198
2110
|
opacity: 0.5;
|
|
1199
2111
|
cursor: not-allowed;
|
|
1200
2112
|
}
|
|
1201
2113
|
.agno-select__value {
|
|
1202
|
-
font-family: 'DM Mono', ui-monospace, monospace;
|
|
1203
|
-
font-size: 12px;
|
|
1204
|
-
letter-spacing: 0.02em;
|
|
1205
|
-
text-transform: uppercase;
|
|
1206
2114
|
white-space: nowrap;
|
|
1207
2115
|
overflow: hidden;
|
|
1208
2116
|
text-overflow: ellipsis;
|
|
1209
2117
|
}
|
|
1210
2118
|
.agno-select__chev {
|
|
2119
|
+
flex: 0 0 16px;
|
|
1211
2120
|
color: var(--agno-muted);
|
|
1212
|
-
|
|
1213
|
-
transition: transform 0.15s ease;
|
|
2121
|
+
transition: transform 0.2s ease;
|
|
1214
2122
|
}
|
|
1215
2123
|
.agno-select__chev.is-open {
|
|
1216
2124
|
transform: rotate(180deg);
|
|
@@ -1225,27 +2133,25 @@
|
|
|
1225
2133
|
max-height: 360px;
|
|
1226
2134
|
overflow-y: auto;
|
|
1227
2135
|
padding: 6px;
|
|
1228
|
-
background: var(--agno-
|
|
1229
|
-
border:
|
|
1230
|
-
|
|
1231
|
-
box-shadow:
|
|
1232
|
-
0 0 0 1px rgba(0, 0, 0, 0.3),
|
|
1233
|
-
0 12px 32px -8px rgba(0, 0, 0, 0.6);
|
|
2136
|
+
background: var(--agno-bg);
|
|
2137
|
+
border-radius: var(--agno-radius-lg);
|
|
2138
|
+
box-shadow: var(--agno-shadow-panel);
|
|
1234
2139
|
}
|
|
1235
2140
|
.agno-select__empty {
|
|
1236
2141
|
padding: 8px 10px;
|
|
1237
2142
|
color: var(--agno-muted);
|
|
1238
|
-
font-size:
|
|
2143
|
+
font-size: 0.75rem;
|
|
1239
2144
|
}
|
|
1240
2145
|
.agno-select__group + .agno-select__group {
|
|
1241
2146
|
margin-top: 4px;
|
|
1242
2147
|
}
|
|
1243
2148
|
.agno-select__group-label {
|
|
1244
2149
|
padding: 6px 10px 4px;
|
|
1245
|
-
font-size: 11px;
|
|
1246
2150
|
color: var(--agno-muted);
|
|
2151
|
+
font-family: var(--agno-font-mono);
|
|
2152
|
+
font-size: 0.75rem;
|
|
2153
|
+
letter-spacing: 0.02em;
|
|
1247
2154
|
text-transform: uppercase;
|
|
1248
|
-
letter-spacing: 0.05em;
|
|
1249
2155
|
}
|
|
1250
2156
|
.agno-select__option {
|
|
1251
2157
|
width: 100%;
|
|
@@ -1256,22 +2162,19 @@
|
|
|
1256
2162
|
background: none;
|
|
1257
2163
|
border: none;
|
|
1258
2164
|
border-radius: var(--agno-radius-sm);
|
|
1259
|
-
color: var(--agno-
|
|
2165
|
+
color: var(--agno-primary);
|
|
1260
2166
|
cursor: pointer;
|
|
1261
2167
|
font: inherit;
|
|
1262
2168
|
text-align: left;
|
|
1263
2169
|
}
|
|
1264
|
-
.agno-select__option:hover
|
|
1265
|
-
background: var(--agno-surface-2);
|
|
1266
|
-
}
|
|
2170
|
+
.agno-select__option:hover,
|
|
1267
2171
|
.agno-select__option.is-selected {
|
|
1268
|
-
background: var(--agno-
|
|
2172
|
+
background: var(--agno-secondary-soft);
|
|
1269
2173
|
}
|
|
1270
2174
|
.agno-select__check {
|
|
1271
|
-
width: 14px;
|
|
1272
2175
|
flex: 0 0 14px;
|
|
1273
|
-
|
|
1274
|
-
|
|
2176
|
+
width: 14px;
|
|
2177
|
+
color: var(--agno-primary);
|
|
1275
2178
|
}
|
|
1276
2179
|
.agno-select__label {
|
|
1277
2180
|
flex: 1;
|
|
@@ -1279,15 +2182,348 @@
|
|
|
1279
2182
|
white-space: nowrap;
|
|
1280
2183
|
overflow: hidden;
|
|
1281
2184
|
text-overflow: ellipsis;
|
|
1282
|
-
font-size: 14px;
|
|
1283
2185
|
}
|
|
1284
2186
|
.agno-select__model {
|
|
1285
|
-
font-family: 'DM Mono', ui-monospace, monospace;
|
|
1286
|
-
font-size: 10.5px;
|
|
1287
2187
|
color: var(--agno-muted);
|
|
1288
|
-
|
|
2188
|
+
font-family: var(--agno-font-mono);
|
|
2189
|
+
font-size: 0.75rem;
|
|
2190
|
+
letter-spacing: 0.02em;
|
|
2191
|
+
white-space: nowrap;
|
|
2192
|
+
}
|
|
2193
|
+
|
|
2194
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2195
|
+
Quick prompts — suggested chips on an empty transcript
|
|
2196
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
2197
|
+
|
|
2198
|
+
.agno-empty {
|
|
2199
|
+
display: flex;
|
|
2200
|
+
flex-direction: column;
|
|
2201
|
+
align-items: center;
|
|
2202
|
+
gap: 16px;
|
|
2203
|
+
max-width: 480px;
|
|
2204
|
+
}
|
|
2205
|
+
|
|
2206
|
+
/* AgentOS stacks the suggestions above the dock as left-aligned cards, sharing
|
|
2207
|
+
the dock's 800px column and inner padding so their left edges line up. */
|
|
2208
|
+
.agno-prompts {
|
|
2209
|
+
display: flex;
|
|
2210
|
+
flex-direction: column;
|
|
2211
|
+
align-items: flex-start;
|
|
2212
|
+
gap: 8px;
|
|
2213
|
+
width: 100%;
|
|
2214
|
+
/* Line the cards up with the dock's inner block: the dock is an 800px box
|
|
2215
|
+
inside `.agno-input`'s 24px padding, then 8px of its own. Matching that
|
|
2216
|
+
total here keeps the left edges flush at every width. */
|
|
2217
|
+
max-width: calc(800px + 48px);
|
|
2218
|
+
margin: 0 auto;
|
|
2219
|
+
padding: 0 32px 8px;
|
|
2220
|
+
max-height: 45vh;
|
|
2221
|
+
overflow-y: auto;
|
|
2222
|
+
}
|
|
2223
|
+
.agno-prompt {
|
|
2224
|
+
display: flex;
|
|
2225
|
+
align-items: center;
|
|
2226
|
+
width: 400px;
|
|
2227
|
+
max-width: 100%;
|
|
2228
|
+
padding: 8px 12px;
|
|
2229
|
+
border: 1px solid rgba(var(--color-primary), 0.15);
|
|
2230
|
+
border-radius: var(--agno-radius-sm);
|
|
2231
|
+
background: var(--agno-secondary-soft);
|
|
2232
|
+
backdrop-filter: blur(40px);
|
|
2233
|
+
color: rgba(var(--color-primary), 0.8);
|
|
2234
|
+
font-family: inherit;
|
|
2235
|
+
font-size: 0.875rem;
|
|
2236
|
+
line-height: 21px;
|
|
2237
|
+
letter-spacing: -0.02em;
|
|
2238
|
+
text-align: left;
|
|
2239
|
+
cursor: pointer;
|
|
2240
|
+
/* Long prompts clamp rather than growing the stack out of the viewport. */
|
|
2241
|
+
display: -webkit-box;
|
|
2242
|
+
-webkit-line-clamp: 2;
|
|
2243
|
+
-webkit-box-orient: vertical;
|
|
2244
|
+
overflow: hidden;
|
|
2245
|
+
transition: border-color 0.15s ease;
|
|
2246
|
+
}
|
|
2247
|
+
.agno-prompt:hover:not(:disabled) {
|
|
2248
|
+
border-color: var(--agno-primary);
|
|
2249
|
+
}
|
|
2250
|
+
.agno-prompt:disabled {
|
|
2251
|
+
opacity: 0.5;
|
|
2252
|
+
cursor: not-allowed;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2256
|
+
Floating launcher — the support-widget layout
|
|
2257
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
2258
|
+
|
|
2259
|
+
.agno-launcher {
|
|
2260
|
+
--agno-launcher-offset: 24px;
|
|
2261
|
+
--agno-launcher-width: 400px;
|
|
2262
|
+
--agno-launcher-height: 620px;
|
|
2263
|
+
|
|
2264
|
+
position: fixed;
|
|
2265
|
+
z-index: 2147483000;
|
|
2266
|
+
display: flex;
|
|
2267
|
+
flex-direction: column;
|
|
2268
|
+
gap: 12px;
|
|
2269
|
+
font-family: var(--agno-font);
|
|
2270
|
+
}
|
|
2271
|
+
|
|
2272
|
+
/* Bottom corners stack panel-then-bubble; top corners flip the order. */
|
|
2273
|
+
.agno-launcher--bottom-right {
|
|
2274
|
+
bottom: var(--agno-launcher-offset);
|
|
2275
|
+
right: var(--agno-launcher-offset);
|
|
2276
|
+
align-items: flex-end;
|
|
2277
|
+
}
|
|
2278
|
+
.agno-launcher--bottom-left {
|
|
2279
|
+
bottom: var(--agno-launcher-offset);
|
|
2280
|
+
left: var(--agno-launcher-offset);
|
|
2281
|
+
align-items: flex-start;
|
|
2282
|
+
}
|
|
2283
|
+
.agno-launcher--top-right {
|
|
2284
|
+
top: var(--agno-launcher-offset);
|
|
2285
|
+
right: var(--agno-launcher-offset);
|
|
2286
|
+
align-items: flex-end;
|
|
2287
|
+
flex-direction: column-reverse;
|
|
2288
|
+
}
|
|
2289
|
+
.agno-launcher--top-left {
|
|
2290
|
+
top: var(--agno-launcher-offset);
|
|
2291
|
+
left: var(--agno-launcher-offset);
|
|
2292
|
+
align-items: flex-start;
|
|
2293
|
+
flex-direction: column-reverse;
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2296
|
+
.agno-launcher__panel {
|
|
2297
|
+
display: flex;
|
|
2298
|
+
width: var(--agno-launcher-width);
|
|
2299
|
+
height: var(--agno-launcher-height);
|
|
2300
|
+
/* Never outgrow the viewport: leave the offsets plus room for the bubble. */
|
|
2301
|
+
max-width: calc(100vw - 2 * var(--agno-launcher-offset));
|
|
2302
|
+
max-height: calc(100vh - 2 * var(--agno-launcher-offset) - 68px);
|
|
2303
|
+
border-radius: var(--agno-radius-lg);
|
|
2304
|
+
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.15), 0 24px 48px -12px rgba(0, 0, 0, 0.5);
|
|
2305
|
+
overflow: hidden;
|
|
2306
|
+
animation: agno-launcher-in 0.16s ease-out;
|
|
2307
|
+
}
|
|
2308
|
+
.agno-launcher__panel > * {
|
|
2309
|
+
flex: 1;
|
|
2310
|
+
min-width: 0;
|
|
2311
|
+
min-height: 0;
|
|
2312
|
+
}
|
|
2313
|
+
.agno-launcher__panel[hidden] {
|
|
2314
|
+
display: none;
|
|
2315
|
+
}
|
|
2316
|
+
|
|
2317
|
+
@keyframes agno-launcher-in {
|
|
2318
|
+
from {
|
|
2319
|
+
opacity: 0;
|
|
2320
|
+
transform: translateY(8px) scale(0.98);
|
|
2321
|
+
}
|
|
2322
|
+
to {
|
|
2323
|
+
opacity: 1;
|
|
2324
|
+
transform: none;
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
.agno-launcher__bubble {
|
|
2329
|
+
display: inline-flex;
|
|
2330
|
+
align-items: center;
|
|
2331
|
+
justify-content: center;
|
|
2332
|
+
gap: 8px;
|
|
2333
|
+
flex: 0 0 auto;
|
|
2334
|
+
width: 56px;
|
|
2335
|
+
height: 56px;
|
|
2336
|
+
padding: 0;
|
|
2337
|
+
border: none;
|
|
2338
|
+
border-radius: var(--agno-radius-full);
|
|
2339
|
+
background: var(--agno-brand);
|
|
2340
|
+
color: #fff;
|
|
2341
|
+
font-family: inherit;
|
|
2342
|
+
font-size: 0.875rem;
|
|
2343
|
+
font-weight: 500;
|
|
2344
|
+
letter-spacing: -0.02em;
|
|
2345
|
+
cursor: pointer;
|
|
2346
|
+
box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.6);
|
|
2347
|
+
transition: transform 0.15s ease, filter 0.15s ease;
|
|
2348
|
+
}
|
|
2349
|
+
.agno-launcher__bubble.has-label {
|
|
2350
|
+
width: auto;
|
|
2351
|
+
padding: 0 20px;
|
|
2352
|
+
}
|
|
2353
|
+
.agno-launcher__bubble:hover {
|
|
2354
|
+
filter: brightness(1.08);
|
|
2355
|
+
transform: translateY(-1px);
|
|
2356
|
+
}
|
|
2357
|
+
.agno-launcher__label {
|
|
2358
|
+
white-space: nowrap;
|
|
2359
|
+
}
|
|
2360
|
+
|
|
2361
|
+
/* Full-screen panels take the viewport; the bubble becomes a corner close. */
|
|
2362
|
+
.agno-launcher.is-fullscreen.is-open {
|
|
2363
|
+
top: 0;
|
|
2364
|
+
right: 0;
|
|
2365
|
+
bottom: 0;
|
|
2366
|
+
left: 0;
|
|
2367
|
+
gap: 0;
|
|
2368
|
+
align-items: stretch;
|
|
2369
|
+
}
|
|
2370
|
+
.agno-launcher.is-fullscreen.is-open .agno-launcher__panel {
|
|
2371
|
+
width: 100%;
|
|
2372
|
+
height: 100%;
|
|
2373
|
+
max-width: none;
|
|
2374
|
+
max-height: none;
|
|
2375
|
+
border-radius: 0;
|
|
2376
|
+
}
|
|
2377
|
+
.agno-launcher.is-fullscreen.is-open .agno-launcher__bubble {
|
|
2378
|
+
position: absolute;
|
|
2379
|
+
top: var(--agno-launcher-offset);
|
|
2380
|
+
width: 40px;
|
|
2381
|
+
height: 40px;
|
|
2382
|
+
}
|
|
2383
|
+
.agno-launcher.is-fullscreen.is-open.agno-launcher--bottom-right .agno-launcher__bubble,
|
|
2384
|
+
.agno-launcher.is-fullscreen.is-open.agno-launcher--top-right .agno-launcher__bubble {
|
|
2385
|
+
right: var(--agno-launcher-offset);
|
|
2386
|
+
}
|
|
2387
|
+
.agno-launcher.is-fullscreen.is-open.agno-launcher--bottom-left .agno-launcher__bubble,
|
|
2388
|
+
.agno-launcher.is-fullscreen.is-open.agno-launcher--top-left .agno-launcher__bubble {
|
|
2389
|
+
left: var(--agno-launcher-offset);
|
|
2390
|
+
}
|
|
2391
|
+
.agno-launcher.is-fullscreen.is-open .agno-root {
|
|
2392
|
+
border: none;
|
|
2393
|
+
border-radius: 0;
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
/* Below the popover width, a popover panel fills the screen too. */
|
|
2397
|
+
@media (max-width: 480px) {
|
|
2398
|
+
.agno-launcher.is-popover.is-open {
|
|
2399
|
+
top: 0;
|
|
2400
|
+
right: 0;
|
|
2401
|
+
bottom: 0;
|
|
2402
|
+
left: 0;
|
|
2403
|
+
gap: 0;
|
|
2404
|
+
align-items: stretch;
|
|
2405
|
+
}
|
|
2406
|
+
.agno-launcher.is-popover.is-open .agno-launcher__panel {
|
|
2407
|
+
width: 100%;
|
|
2408
|
+
height: 100%;
|
|
2409
|
+
max-width: none;
|
|
2410
|
+
max-height: none;
|
|
2411
|
+
border-radius: 0;
|
|
2412
|
+
}
|
|
2413
|
+
.agno-launcher.is-popover.is-open .agno-launcher__bubble {
|
|
2414
|
+
position: absolute;
|
|
2415
|
+
top: 12px;
|
|
2416
|
+
right: 12px;
|
|
2417
|
+
width: 40px;
|
|
2418
|
+
height: 40px;
|
|
2419
|
+
}
|
|
2420
|
+
.agno-launcher.is-popover.is-open .agno-root {
|
|
2421
|
+
border: none;
|
|
2422
|
+
border-radius: 0;
|
|
2423
|
+
}
|
|
2424
|
+
}
|
|
2425
|
+
|
|
2426
|
+
/* ─────────────────────────────────────────────────────────────────────────
|
|
2427
|
+
Header-less shell
|
|
2428
|
+
The embed ships without chrome of its own. Two rules pick up the pieces the
|
|
2429
|
+
old header used to hold.
|
|
2430
|
+
───────────────────────────────────────────────────────────────────────── */
|
|
2431
|
+
|
|
2432
|
+
/* A full-screen launcher panel covers its own bubble, so it needs a way out.
|
|
2433
|
+
With no header to sit in, the close button floats over the surface. */
|
|
2434
|
+
.agno-close-floating {
|
|
2435
|
+
position: absolute;
|
|
2436
|
+
top: 12px;
|
|
2437
|
+
right: 12px;
|
|
2438
|
+
z-index: 2;
|
|
2439
|
+
}
|
|
2440
|
+
.agno-root {
|
|
2441
|
+
position: relative;
|
|
2442
|
+
}
|
|
2443
|
+
|
|
2444
|
+
/* The entity picker now lives in the composer's right action group, beside the
|
|
2445
|
+
send button — the AgentOS composer layout, where the left group holds attach
|
|
2446
|
+
and the right holds the component selector then send. */
|
|
2447
|
+
.agno-input__actions > .agno-select {
|
|
2448
|
+
flex: 0 1 auto;
|
|
2449
|
+
min-width: 0;
|
|
2450
|
+
}
|
|
2451
|
+
.agno-input__actions > .agno-select .agno-select__trigger {
|
|
2452
|
+
/* AgentOS sizes this h-8, max-w-[300px], px-3. Inside the dock it needs no
|
|
2453
|
+
border of its own — the dock already frames it — so it reads as part of
|
|
2454
|
+
the row until hovered. */
|
|
2455
|
+
height: 32px;
|
|
2456
|
+
min-width: 0;
|
|
2457
|
+
max-width: 300px;
|
|
2458
|
+
padding: 0 12px;
|
|
2459
|
+
border-color: transparent;
|
|
2460
|
+
}
|
|
2461
|
+
.agno-input__actions > .agno-select .agno-select__trigger:hover {
|
|
2462
|
+
border-color: var(--agno-border);
|
|
2463
|
+
}
|
|
2464
|
+
/* The dock sits at the bottom of the surface, so the popover opens upwards. */
|
|
2465
|
+
.agno-input__actions > .agno-select .agno-select__panel {
|
|
2466
|
+
top: auto;
|
|
2467
|
+
bottom: calc(100% + 6px);
|
|
2468
|
+
right: 0;
|
|
2469
|
+
left: auto;
|
|
2470
|
+
}
|
|
2471
|
+
|
|
2472
|
+
/* Rows must be allowed to shrink, or the transcript cannot scroll inside a
|
|
2473
|
+
fixed-height embed. */
|
|
2474
|
+
.agno-main,
|
|
2475
|
+
.agno-chat {
|
|
2476
|
+
min-height: 0;
|
|
2477
|
+
}
|
|
2478
|
+
|
|
2479
|
+
/* The read-only selection display in the composer row — AgentOS's
|
|
2480
|
+
`SelectComponentType`: h-8, capped width, mono uppercase, model chip. */
|
|
2481
|
+
.agno-entity {
|
|
2482
|
+
display: flex;
|
|
2483
|
+
align-items: center;
|
|
2484
|
+
justify-content: flex-end;
|
|
2485
|
+
gap: 8px;
|
|
2486
|
+
height: 32px;
|
|
2487
|
+
min-width: 0;
|
|
2488
|
+
max-width: 300px;
|
|
2489
|
+
padding: 0 4px;
|
|
2490
|
+
cursor: default;
|
|
2491
|
+
}
|
|
2492
|
+
.agno-entity__name {
|
|
2493
|
+
min-width: 0;
|
|
2494
|
+
overflow: hidden;
|
|
2495
|
+
text-overflow: ellipsis;
|
|
2496
|
+
white-space: nowrap;
|
|
2497
|
+
font-family: var(--agno-font-mono);
|
|
2498
|
+
font-size: 0.75rem;
|
|
2499
|
+
line-height: 1rem;
|
|
2500
|
+
letter-spacing: 0.02em;
|
|
2501
|
+
text-transform: uppercase;
|
|
2502
|
+
color: var(--agno-primary);
|
|
2503
|
+
}
|
|
2504
|
+
/* AgentOS frames the provider mark in a small bordered square. */
|
|
2505
|
+
.agno-entity__mark {
|
|
2506
|
+
display: grid;
|
|
2507
|
+
place-items: center;
|
|
2508
|
+
flex: none;
|
|
2509
|
+
width: 18px;
|
|
2510
|
+
height: 18px;
|
|
1289
2511
|
border: 1px solid var(--agno-border);
|
|
1290
|
-
border-radius:
|
|
1291
|
-
|
|
2512
|
+
border-radius: 6px;
|
|
2513
|
+
color: var(--agno-primary);
|
|
2514
|
+
}
|
|
2515
|
+
.agno-entity__model {
|
|
2516
|
+
flex: none;
|
|
2517
|
+
max-width: 120px;
|
|
2518
|
+
overflow: hidden;
|
|
2519
|
+
text-overflow: ellipsis;
|
|
1292
2520
|
white-space: nowrap;
|
|
2521
|
+
padding: 2px 6px;
|
|
2522
|
+
border: 1px solid var(--agno-border);
|
|
2523
|
+
border-radius: 6px;
|
|
2524
|
+
font-family: var(--agno-font-mono);
|
|
2525
|
+
font-size: 0.6875rem;
|
|
2526
|
+
line-height: 1rem;
|
|
2527
|
+
letter-spacing: 0.02em;
|
|
2528
|
+
color: var(--agno-muted);
|
|
1293
2529
|
}
|