clay-server 5.1.0-beta.1 → 6.0.0-beta.1
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/LICENSES/README.md +4 -0
- package/LICENSES/dicebear-avatars.md +16 -0
- package/bin/cli.js +9 -91
- package/lib/daemon-project-access.js +7 -1
- package/lib/daemon-settings.js +11 -0
- package/lib/daemon.js +10 -37
- package/lib/dicebear-avatar.js +62 -0
- package/lib/knowledge-db-service.js +175 -0
- package/lib/knowledge-db-validation.js +0 -0
- package/lib/knowledge-document-index.js +49 -0
- package/lib/knowledge-draft-store.js +56 -0
- package/lib/knowledge-file-store.js +199 -0
- package/lib/knowledge-markdown.js +128 -0
- package/lib/linear-store.js +35 -8
- package/lib/mate-knowledge-mcp-server.js +29 -6
- package/lib/mate-knowledge-service.js +23 -2
- package/lib/mate-knowledge-sync.js +36 -21
- package/lib/mate-workspace-color.js +4 -0
- package/lib/mates.js +18 -0
- package/lib/os-users.js +5 -16
- package/lib/project-connection.js +36 -9
- package/lib/project-debate-proposal.js +6 -0
- package/lib/project-debate-workspace.js +43 -0
- package/lib/project-debate.js +1 -0
- package/lib/project-filesystem.js +21 -39
- package/lib/project-knowledge.js +315 -136
- package/lib/project-mate-creation-proposal.js +1 -0
- package/lib/project-mate-interaction.js +2 -2
- package/lib/project-server-settings.js +31 -0
- package/lib/project-sessions.js +92 -182
- package/lib/project-user-knowledge.js +60 -0
- package/lib/project.js +59 -18
- package/lib/public/app.js +79 -71
- package/lib/public/clay-studio-wordmark-bold.svg +20 -0
- package/lib/public/css/clay-workspace.css +105 -0
- package/lib/public/css/debates-workbench.css +47 -0
- package/lib/public/css/home-debate-live.css +26 -0
- package/lib/public/css/home-hub.css +3 -1
- package/lib/public/css/home-mate-model-picker.css +15 -131
- package/lib/public/css/home-mate-settings.css +168 -16
- package/lib/public/css/icon-strip.css +249 -32
- package/lib/public/css/input.css +3 -1
- package/lib/public/css/mate-conversation.css +176 -0
- package/lib/public/css/mate-knowledge-workbench.css +118 -0
- package/lib/public/css/mate-workspace-color.css +16 -0
- package/lib/public/css/mates.css +28 -28
- package/lib/public/css/messages.css +1 -114
- package/lib/public/css/mobile-nav.css +16 -16
- package/lib/public/css/overlays.css +8 -0
- package/lib/public/css/project-logs.css +7 -0
- package/lib/public/css/project-mate-creation.css +105 -0
- package/lib/public/css/project-settings-modal.css +56 -0
- package/lib/public/css/right-workbench.css +3 -3
- package/lib/public/css/server-settings-system.css +125 -0
- package/lib/public/css/session-folders.css +80 -21
- package/lib/public/css/session-github.css +25 -16
- package/lib/public/css/settings-ui.css +247 -22
- package/lib/public/css/shared-browser.css +2 -0
- package/lib/public/css/sidebar.css +183 -107
- package/lib/public/css/title-bar.css +156 -1
- package/lib/public/css/worker-delegation.css +47 -0
- package/lib/public/css/worker-proposal.css +72 -150
- package/lib/public/css/you.css +74 -0
- package/lib/public/index.html +203 -547
- package/lib/public/modules/account-island.js +232 -0
- package/lib/public/modules/admin-settings-email.js +197 -0
- package/lib/public/modules/admin-settings-invitations.js +183 -0
- package/lib/public/modules/admin-settings-projects.js +198 -0
- package/lib/public/modules/admin-settings-ui.js +100 -0
- package/lib/public/modules/admin-settings-users.js +331 -0
- package/lib/public/modules/admin.js +19 -949
- package/lib/public/modules/app-cursors.js +19 -43
- package/lib/public/modules/app-debate-ui.js +4 -3
- package/lib/public/modules/app-dm.js +0 -2
- package/lib/public/modules/app-header.js +106 -0
- package/lib/public/modules/app-message-router.js +12 -3
- package/lib/public/modules/app-messages.js +47 -61
- package/lib/public/modules/app-notifications.js +4 -7
- package/lib/public/modules/app-projects.js +5 -38
- package/lib/public/modules/app-rate-limit.js +70 -12
- package/lib/public/modules/app-rendering.js +12 -13
- package/lib/public/modules/avatar.js +25 -9
- package/lib/public/modules/chat-render-runtime.js +16 -4
- package/lib/public/modules/command-palette.js +2 -15
- package/lib/public/modules/context-sources.js +27 -18
- package/lib/public/modules/cursor-sharing-preference.js +3 -3
- package/lib/public/modules/debate-controls.js +299 -0
- package/lib/public/modules/debate.js +2 -0
- package/lib/public/modules/debates-workbench.js +339 -0
- package/lib/public/modules/default-ai.js +88 -65
- package/lib/public/modules/header-tui-font.js +10 -20
- package/lib/public/modules/home-debate-controls.js +18 -289
- package/lib/public/modules/home-mate-avatar-editor.js +228 -0
- package/lib/public/modules/home-mate-color-picker.js +66 -0
- package/lib/public/modules/home-mate-creation.js +1 -1
- package/lib/public/modules/home-mate-instructions.js +90 -0
- package/lib/public/modules/home-mate-model-picker.js +80 -271
- package/lib/public/modules/home-mate-profile-editor.js +72 -0
- package/lib/public/modules/home-mate-settings.js +118 -125
- package/lib/public/modules/home-shell.js +3 -0
- package/lib/public/modules/home-surface-boot.js +1 -9
- package/lib/public/modules/icon-strip-tooltip.js +95 -0
- package/lib/public/modules/knowledge-db-edit-state.js +35 -0
- package/lib/public/modules/knowledge-db-workbench.js +234 -0
- package/lib/public/modules/knowledge-history-state.js +55 -0
- package/lib/public/modules/knowledge-markdown-editor.js +57 -0
- package/lib/public/modules/knowledge-preview-links.js +70 -0
- package/lib/public/modules/knowledge-workbench-shell.js +21 -0
- package/lib/public/modules/linear-settings.js +3 -2
- package/lib/public/modules/markdown.js +5 -6
- package/lib/public/modules/mate-knowledge-workbench-state.js +174 -0
- package/lib/public/modules/mate-knowledge-workbench.js +500 -0
- package/lib/public/modules/mate-knowledge.js +11 -3
- package/lib/public/modules/mate-management.js +54 -10
- package/lib/public/modules/mate-sidebar.js +11 -1
- package/lib/public/modules/mate-workspace-color.js +33 -0
- package/lib/public/modules/mention.js +5 -13
- package/lib/public/modules/notification-settings.js +81 -0
- package/lib/public/modules/notifications.js +44 -28
- package/lib/public/modules/personal-settings-dialog.js +51 -0
- package/lib/public/modules/profile.js +66 -24
- package/lib/public/modules/project-chat-identity.js +79 -0
- package/lib/public/modules/project-debate-planning-workspace.js +250 -0
- package/lib/public/modules/project-debate-workspace.js +185 -0
- package/lib/public/modules/project-header-identity.js +127 -0
- package/lib/public/modules/project-logs-render.js +9 -4
- package/lib/public/modules/project-mate-creation-workspace.js +414 -0
- package/lib/public/modules/project-mate-navigation.js +238 -0
- package/lib/public/modules/project-session-navigation.js +29 -0
- package/lib/public/modules/project-settings-environment.js +106 -0
- package/lib/public/modules/project-settings.js +72 -628
- package/lib/public/modules/project-switcher.js +6 -8
- package/lib/public/modules/projects-hub-view.js +5 -6
- package/lib/public/modules/projects-hub.js +2 -6
- package/lib/public/modules/qrcode.js +27 -8
- package/lib/public/modules/search-clay-chat.js +8 -11
- package/lib/public/modules/server-settings-controls.js +316 -0
- package/lib/public/modules/server-settings-environment.js +194 -0
- package/lib/public/modules/server-settings-navigation.js +39 -0
- package/lib/public/modules/server-settings-state.js +54 -0
- package/lib/public/modules/server-settings.js +116 -788
- package/lib/public/modules/server-storage-settings.js +84 -0
- package/lib/public/modules/session-activity-tooltip.js +12 -0
- package/lib/public/modules/session-create-form.js +86 -14
- package/lib/public/modules/session-create.js +50 -7
- package/lib/public/modules/session-github.js +2 -1
- package/lib/public/modules/session-list-visibility.js +41 -0
- package/lib/public/modules/session-presence-ui.js +3 -0
- package/lib/public/modules/session-title-marquee.js +51 -0
- package/lib/public/modules/settings-env-values.js +34 -0
- package/lib/public/modules/settings-select.js +121 -0
- package/lib/public/modules/shared-browser.js +10 -7
- package/lib/public/modules/sidebar-mates.js +3 -50
- package/lib/public/modules/sidebar-mobile.js +63 -60
- package/lib/public/modules/sidebar-projects.js +84 -97
- package/lib/public/modules/sidebar-session-folders-ui.js +2 -2
- package/lib/public/modules/sidebar-session-hierarchy.js +149 -70
- package/lib/public/modules/sidebar-sessions.js +49 -50
- package/lib/public/modules/sidebar.js +11 -13
- package/lib/public/modules/stt-picker.js +14 -5
- package/lib/public/modules/terminal-prefs.js +22 -0
- package/lib/public/modules/theme.js +88 -52
- package/lib/public/modules/thinking-lifecycle.js +7 -6
- package/lib/public/modules/tool-palette-order.js +4 -3
- package/lib/public/modules/tool-palette.js +13 -3
- package/lib/public/modules/tools.js +22 -22
- package/lib/public/modules/user-settings-account.js +318 -0
- package/lib/public/modules/user-settings-appearance.js +55 -0
- package/lib/public/modules/user-settings-editors.js +24 -0
- package/lib/public/modules/user-settings-integrations.js +104 -0
- package/lib/public/modules/user-settings-layout.js +80 -0
- package/lib/public/modules/user-settings-preferences.js +48 -0
- package/lib/public/modules/user-settings-profile.js +53 -0
- package/lib/public/modules/user-settings-themes.js +38 -0
- package/lib/public/modules/user-settings-voice.js +75 -0
- package/lib/public/modules/user-settings.js +53 -480
- package/lib/public/modules/worker-proposal.js +42 -8
- package/lib/public/modules/worker-runtime-picker.js +115 -0
- package/lib/public/modules/you-activity.js +121 -0
- package/lib/public/modules/you.js +251 -0
- package/lib/public/style.css +20 -8
- package/lib/public/vendor/codemirror/LICENSE +21 -0
- package/lib/public/vendor/codemirror/codemirror.css +344 -0
- package/lib/public/vendor/codemirror/codemirror.js +9884 -0
- package/lib/public/vendor/codemirror/continuelist.js +101 -0
- package/lib/public/vendor/codemirror/markdown.js +886 -0
- package/lib/public/vendor/codemirror/show-hint.css +37 -0
- package/lib/public/vendor/codemirror/show-hint.js +523 -0
- package/lib/sdk-bridge.js +15 -3
- package/lib/sdk-message-processor.js +16 -4
- package/lib/sdk-quota-snapshot.js +37 -0
- package/lib/server-admin.js +11 -0
- package/lib/server-appearance-settings.js +71 -0
- package/lib/server-home-chat-events.js +1 -1
- package/lib/server-home-chat.js +25 -3
- package/lib/server-home-debate-planning.js +4 -1
- package/lib/server-home-debates.js +2 -0
- package/lib/server-home-mate-creation.js +4 -1
- package/lib/server-linear.js +14 -8
- package/lib/server-mate-instructions.js +44 -0
- package/lib/server-mates.js +12 -3
- package/lib/server-notification-settings.js +67 -0
- package/lib/server-palette.js +1 -1
- package/lib/server-settings.js +69 -1
- package/lib/server-storage.js +56 -0
- package/lib/server-user-knowledge.js +119 -0
- package/lib/server.js +31 -3
- package/lib/session-visibility.js +7 -2
- package/lib/sessions.js +34 -9
- package/lib/startup-projects.js +40 -0
- package/lib/storage-usage.js +127 -0
- package/lib/user-knowledge-service.js +167 -0
- package/lib/users-permissions.js +7 -0
- package/lib/users-preferences.js +0 -74
- package/lib/users-project-mate-filter-preferences.js +39 -0
- package/lib/users.js +6 -4
- package/lib/workspace-query-access.js +4 -1
- package/lib/ws-schema.js +52 -4
- package/lib/yoke/adapters/codex.js +8 -45
- package/lib/yoke/codex-model-catalog.js +40 -0
- package/lib/yoke/codex-rate-limits.js +26 -0
- package/package.json +12 -3
|
@@ -2,6 +2,16 @@
|
|
|
2
2
|
Icon Strip — Discord-style vertical server/project bar
|
|
3
3
|
========================================================================== */
|
|
4
4
|
|
|
5
|
+
#layout-body {
|
|
6
|
+
--account-rail-bottom: 12px;
|
|
7
|
+
--account-rail-avatar-target: 44px;
|
|
8
|
+
--account-rail-control-gap: 4px;
|
|
9
|
+
--account-rail-cursor-target: 28px;
|
|
10
|
+
--account-rail-clearance: 8px;
|
|
11
|
+
--account-rail-strip-fixed-top: calc(48px + 58px + 48px);
|
|
12
|
+
--account-rail-footer-height: calc(var(--account-rail-bottom) + var(--account-rail-avatar-target) + var(--account-rail-control-gap) + var(--account-rail-cursor-target) + var(--account-rail-clearance));
|
|
13
|
+
}
|
|
14
|
+
|
|
5
15
|
#icon-strip {
|
|
6
16
|
position: relative;
|
|
7
17
|
width: 72px;
|
|
@@ -10,7 +20,7 @@
|
|
|
10
20
|
display: flex;
|
|
11
21
|
flex-direction: column;
|
|
12
22
|
align-items: center;
|
|
13
|
-
padding: 0 0
|
|
23
|
+
padding: 0 0 var(--account-rail-footer-height, 100px);
|
|
14
24
|
overflow: hidden;
|
|
15
25
|
z-index: 2;
|
|
16
26
|
}
|
|
@@ -59,6 +69,16 @@
|
|
|
59
69
|
opacity: 1;
|
|
60
70
|
}
|
|
61
71
|
|
|
72
|
+
.icon-strip-brand {
|
|
73
|
+
cursor: default;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.icon-strip-brand:hover::before,
|
|
77
|
+
.icon-strip-brand.active::before {
|
|
78
|
+
background: var(--bg-alt);
|
|
79
|
+
box-shadow: 0 1px 2px rgba(var(--shadow-rgb), 0.08);
|
|
80
|
+
}
|
|
81
|
+
|
|
62
82
|
.icon-strip-home.active::before {
|
|
63
83
|
background: var(--bg);
|
|
64
84
|
box-shadow: 0 1px 3px rgba(var(--shadow-rgb), 0.14);
|
|
@@ -149,6 +169,7 @@
|
|
|
149
169
|
/* --- Scrollable project list area --- */
|
|
150
170
|
.icon-strip-projects {
|
|
151
171
|
width: 100%;
|
|
172
|
+
flex: 1 1 0;
|
|
152
173
|
min-height: 0;
|
|
153
174
|
overflow-y: auto;
|
|
154
175
|
overflow-x: hidden;
|
|
@@ -164,6 +185,133 @@
|
|
|
164
185
|
display: none;
|
|
165
186
|
}
|
|
166
187
|
|
|
188
|
+
/* --- Project / Mate rotary filter --- */
|
|
189
|
+
.icon-strip-filter {
|
|
190
|
+
width: 100%;
|
|
191
|
+
height: 58px;
|
|
192
|
+
flex: 0 0 58px;
|
|
193
|
+
display: flex;
|
|
194
|
+
align-items: center;
|
|
195
|
+
justify-content: center;
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
.icon-strip-filter-knob {
|
|
199
|
+
width: 48px;
|
|
200
|
+
height: 56px;
|
|
201
|
+
padding: 3px 0 2px;
|
|
202
|
+
border: 0;
|
|
203
|
+
background: transparent;
|
|
204
|
+
color: var(--text-dimmer);
|
|
205
|
+
font: inherit;
|
|
206
|
+
cursor: pointer;
|
|
207
|
+
display: flex;
|
|
208
|
+
flex-direction: column;
|
|
209
|
+
align-items: center;
|
|
210
|
+
justify-content: center;
|
|
211
|
+
gap: 2px;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
.icon-strip-filter-face {
|
|
215
|
+
position: relative;
|
|
216
|
+
width: 34px;
|
|
217
|
+
height: 34px;
|
|
218
|
+
border-radius: 50%;
|
|
219
|
+
background: var(--bg);
|
|
220
|
+
box-shadow:
|
|
221
|
+
inset 0 1px 0 color-mix(in srgb, white 42%, transparent),
|
|
222
|
+
0 1px 2px rgba(var(--shadow-rgb), 0.1);
|
|
223
|
+
transition: background 0.2s ease, box-shadow 0.2s ease;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
.icon-strip-filter-pointer {
|
|
227
|
+
position: absolute;
|
|
228
|
+
inset: 2px;
|
|
229
|
+
border-radius: 50%;
|
|
230
|
+
transition: transform 180ms cubic-bezier(0.2, 0.75, 0.3, 1);
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
.icon-strip-filter-pointer::before {
|
|
234
|
+
content: "";
|
|
235
|
+
position: absolute;
|
|
236
|
+
left: 50%;
|
|
237
|
+
top: 2px;
|
|
238
|
+
width: 5px;
|
|
239
|
+
height: 2px;
|
|
240
|
+
border-radius: 2px;
|
|
241
|
+
background: color-mix(in srgb, var(--accent) 72%, var(--text-dimmer));
|
|
242
|
+
box-shadow: inset 0 1px 1px rgba(var(--shadow-rgb), 0.28);
|
|
243
|
+
transform: translateX(-50%);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
.icon-strip-filter-category {
|
|
247
|
+
position: absolute;
|
|
248
|
+
inset: 0;
|
|
249
|
+
z-index: 1;
|
|
250
|
+
display: none;
|
|
251
|
+
align-items: center;
|
|
252
|
+
justify-content: center;
|
|
253
|
+
color: var(--text-secondary);
|
|
254
|
+
pointer-events: none;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
.icon-strip-filter-category .lucide {
|
|
258
|
+
width: 14px;
|
|
259
|
+
height: 14px;
|
|
260
|
+
stroke-width: 1.8;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
.icon-strip-filter-knob[data-mode="all"] [data-filter-icon="all"],
|
|
264
|
+
.icon-strip-filter-knob[data-mode="projects"] [data-filter-icon="projects"],
|
|
265
|
+
.icon-strip-filter-knob[data-mode="mates"] [data-filter-icon="mates"] {
|
|
266
|
+
display: flex;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
.icon-strip-filter-label {
|
|
270
|
+
max-width: 48px;
|
|
271
|
+
overflow: hidden;
|
|
272
|
+
color: var(--text-muted);
|
|
273
|
+
font-size: 9px;
|
|
274
|
+
font-weight: 700;
|
|
275
|
+
line-height: 11px;
|
|
276
|
+
letter-spacing: 0.01em;
|
|
277
|
+
text-overflow: ellipsis;
|
|
278
|
+
white-space: nowrap;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
.icon-strip-filter-knob:hover .icon-strip-filter-face {
|
|
282
|
+
background: var(--bg-alt);
|
|
283
|
+
box-shadow:
|
|
284
|
+
inset 0 1px 0 color-mix(in srgb, white 48%, transparent),
|
|
285
|
+
0 2px 6px rgba(var(--shadow-rgb), 0.14);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
.icon-strip-filter-knob:focus-visible {
|
|
289
|
+
outline: 2px solid var(--accent);
|
|
290
|
+
outline-offset: -2px;
|
|
291
|
+
border-radius: 13px;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
.icon-strip-projects[data-filter-mode="projects"] > [data-mate-id],
|
|
295
|
+
.icon-strip-projects[data-filter-mode="mates"] > .icon-strip-item[data-slug],
|
|
296
|
+
.icon-strip-projects[data-filter-mode="mates"] > .icon-strip-group,
|
|
297
|
+
.icon-strip-projects:not([data-filter-mode="all"]) > .icon-strip-peer-separator {
|
|
298
|
+
display: none;
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
.icon-strip-peer-separator {
|
|
302
|
+
width: 24px;
|
|
303
|
+
height: 1px;
|
|
304
|
+
margin: 4px 0;
|
|
305
|
+
flex: 0 0 1px;
|
|
306
|
+
background: color-mix(in srgb, var(--border) 72%, transparent);
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
@media (prefers-reduced-motion: reduce) {
|
|
310
|
+
.icon-strip-filter-pointer {
|
|
311
|
+
transition-duration: 0.01ms;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
|
|
167
315
|
/* --- Project icon item (48px hit-box, 38px visible bg) --- */
|
|
168
316
|
.icon-strip-item {
|
|
169
317
|
position: relative;
|
|
@@ -217,6 +365,29 @@
|
|
|
217
365
|
}
|
|
218
366
|
|
|
219
367
|
/* --- Socket status indicator on icon (top-left dot) --- */
|
|
368
|
+
.icon-strip-project-mate {
|
|
369
|
+
border: 0;
|
|
370
|
+
padding: 0;
|
|
371
|
+
font: inherit;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
.icon-strip-mate-avatar {
|
|
375
|
+
width: 34px;
|
|
376
|
+
height: 34px;
|
|
377
|
+
border-radius: 10px;
|
|
378
|
+
object-fit: cover;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
.icon-strip-project-mate:focus-visible {
|
|
382
|
+
outline: 2px solid var(--accent);
|
|
383
|
+
outline-offset: -3px;
|
|
384
|
+
border-radius: 12px;
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
.icon-strip-project-mate.active .icon-strip-mate-avatar {
|
|
388
|
+
box-shadow: 0 0 0 2px var(--accent);
|
|
389
|
+
}
|
|
390
|
+
|
|
220
391
|
.icon-strip-status {
|
|
221
392
|
position: absolute;
|
|
222
393
|
top: 3px;
|
|
@@ -363,6 +534,37 @@
|
|
|
363
534
|
box-shadow: 0 4px 12px rgba(var(--shadow-rgb), 0.5);
|
|
364
535
|
}
|
|
365
536
|
|
|
537
|
+
.icon-strip-tooltip-mate {
|
|
538
|
+
padding: 6px 10px 6px 7px;
|
|
539
|
+
border: 1px solid var(--border);
|
|
540
|
+
border-left: 3px solid var(--accent);
|
|
541
|
+
border-radius: 9px;
|
|
542
|
+
background: var(--sidebar-bg);
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
.icon-strip-tooltip-mate-identity {
|
|
546
|
+
display: flex;
|
|
547
|
+
align-items: center;
|
|
548
|
+
gap: 7px;
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
.icon-strip-tooltip-mate-avatar {
|
|
552
|
+
width: 18px;
|
|
553
|
+
height: 18px;
|
|
554
|
+
flex: none;
|
|
555
|
+
border-radius: 50%;
|
|
556
|
+
object-fit: cover;
|
|
557
|
+
box-shadow: 0 0 0 1px var(--border);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
.icon-strip-tooltip-label {
|
|
561
|
+
min-width: 0;
|
|
562
|
+
max-width: 220px;
|
|
563
|
+
overflow: hidden;
|
|
564
|
+
text-overflow: ellipsis;
|
|
565
|
+
white-space: nowrap;
|
|
566
|
+
}
|
|
567
|
+
|
|
366
568
|
.icon-strip-tooltip.visible {
|
|
367
569
|
opacity: 1;
|
|
368
570
|
transform: translateX(0);
|
|
@@ -379,6 +581,10 @@
|
|
|
379
581
|
border-left: none;
|
|
380
582
|
}
|
|
381
583
|
|
|
584
|
+
.icon-strip-tooltip-mate::before {
|
|
585
|
+
border-right-color: var(--sidebar-bg);
|
|
586
|
+
}
|
|
587
|
+
|
|
382
588
|
/* --- Drag-and-drop reordering --- */
|
|
383
589
|
.icon-strip-item.dragging {
|
|
384
590
|
opacity: 0.3;
|
|
@@ -546,6 +752,12 @@
|
|
|
546
752
|
|
|
547
753
|
.project-ctx-item .lucide { width: 15px; height: 15px; flex-shrink: 0; }
|
|
548
754
|
.project-ctx-item:hover { background: rgba(var(--overlay-rgb), 0.06); color: var(--text); }
|
|
755
|
+
.project-ctx-item:focus-visible {
|
|
756
|
+
color: var(--text);
|
|
757
|
+
background: rgba(var(--overlay-rgb), 0.06);
|
|
758
|
+
outline: 2px solid var(--accent);
|
|
759
|
+
outline-offset: -2px;
|
|
760
|
+
}
|
|
549
761
|
.project-ctx-item:first-child { border-radius: 6px 6px 0 0; }
|
|
550
762
|
.project-ctx-item:last-child { border-radius: 0 0 6px 6px; }
|
|
551
763
|
|
|
@@ -845,20 +1057,20 @@
|
|
|
845
1057
|
height: 22px;
|
|
846
1058
|
}
|
|
847
1059
|
|
|
848
|
-
/* Mate section wrapper —
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
floating up in the project section's flex flow. */
|
|
1060
|
+
/* Mate section wrapper — an in-flow footer above the user-island.
|
|
1061
|
+
Its rendered height is reserved after Add project, while the project
|
|
1062
|
+
and Mate icon region takes and scrolls within the remaining space. */
|
|
852
1063
|
.icon-strip-mate-section {
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
1064
|
+
flex: 0 0 auto;
|
|
1065
|
+
max-height: max(0px, calc(100vh - var(--account-rail-footer-height, 116px) - var(--account-rail-strip-fixed-top, 154px)));
|
|
1066
|
+
overflow-y: auto;
|
|
1067
|
+
scrollbar-width: none;
|
|
857
1068
|
display: flex;
|
|
858
1069
|
flex-direction: column;
|
|
859
1070
|
align-items: center;
|
|
860
1071
|
gap: 4px;
|
|
861
1072
|
}
|
|
1073
|
+
.icon-strip-mate-section::-webkit-scrollbar { display: none; }
|
|
862
1074
|
|
|
863
1075
|
/* --- User avatars (circle, inside the mate section) --- */
|
|
864
1076
|
.icon-strip-users {
|
|
@@ -1024,29 +1236,6 @@
|
|
|
1024
1236
|
|
|
1025
1237
|
/* DM mode: keep same position (user-island gone but layout stays) */
|
|
1026
1238
|
|
|
1027
|
-
/* --- My avatar at bottom of icon strip (always present, behind user-island) --- */
|
|
1028
|
-
/* Positioned to align with icon-strip center (72px / 2 = 36px) */
|
|
1029
|
-
/* Matches user-island avatar center: left:8px + padding:10px + 18px = 36px */
|
|
1030
|
-
.icon-strip-me {
|
|
1031
|
-
position: absolute;
|
|
1032
|
-
bottom: 19px; /* vertically center with user-island (bottom:8px + height:58px/2 - 16px) */
|
|
1033
|
-
left: 36px;
|
|
1034
|
-
transform: translateX(-50%);
|
|
1035
|
-
display: flex;
|
|
1036
|
-
align-items: center;
|
|
1037
|
-
justify-content: center;
|
|
1038
|
-
width: 32px;
|
|
1039
|
-
height: 32px;
|
|
1040
|
-
z-index: 1; /* below user-island z-index: 15 */
|
|
1041
|
-
}
|
|
1042
|
-
|
|
1043
|
-
.icon-strip-me-avatar {
|
|
1044
|
-
width: 32px;
|
|
1045
|
-
height: 32px;
|
|
1046
|
-
border-radius: 50%;
|
|
1047
|
-
object-fit: cover;
|
|
1048
|
-
}
|
|
1049
|
-
|
|
1050
1239
|
/* --- DM user picker popup --- */
|
|
1051
1240
|
.dm-user-picker {
|
|
1052
1241
|
position: fixed;
|
|
@@ -1547,3 +1736,31 @@ select.wt-modal-input {
|
|
|
1547
1736
|
display: none;
|
|
1548
1737
|
}
|
|
1549
1738
|
}
|
|
1739
|
+
|
|
1740
|
+
/* Mate workspaces omit repository, filesystem, and terminal controls. */
|
|
1741
|
+
body.mate-workspace-active #session-actions {
|
|
1742
|
+
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1743
|
+
}
|
|
1744
|
+
/* Use the full column for captions at the 192px sidebar minimum, keeping
|
|
1745
|
+
words such as Knowledge intact without enlarging the icon face. */
|
|
1746
|
+
body.mate-workspace-active #session-actions .palette-tile {
|
|
1747
|
+
padding-inline: 0;
|
|
1748
|
+
}
|
|
1749
|
+
body.mate-workspace-active #git-placard,
|
|
1750
|
+
body.mate-workspace-active #sidebar-panel-git,
|
|
1751
|
+
body.mate-workspace-active #file-browser-btn,
|
|
1752
|
+
body.mate-workspace-active #terminal-sidebar-btn,
|
|
1753
|
+
body.mate-workspace-active #project-logs-btn,
|
|
1754
|
+
body.mate-workspace-active #issues-btn,
|
|
1755
|
+
body.mate-workspace-active #terminal-toggle-btn,
|
|
1756
|
+
body.mate-workspace-active #shell-command-btn,
|
|
1757
|
+
body.mate-workspace-active #input-more-shell,
|
|
1758
|
+
body.mate-workspace-active #loop-interview-btn,
|
|
1759
|
+
body.mate-workspace-active #composer-handoff-btn {
|
|
1760
|
+
display: none !important;
|
|
1761
|
+
}
|
|
1762
|
+
|
|
1763
|
+
#knowledge-workbench-btn { display: none !important; }
|
|
1764
|
+
body.mate-workspace-active #knowledge-workbench-btn { display: flex !important; }
|
|
1765
|
+
#mate-project-debates-btn { display: none !important; }
|
|
1766
|
+
body.mate-workspace-active #mate-project-debates-btn { display: flex !important; }
|
package/lib/public/css/input.css
CHANGED
|
@@ -742,7 +742,9 @@
|
|
|
742
742
|
}
|
|
743
743
|
|
|
744
744
|
#input-wrapper {
|
|
745
|
-
|
|
745
|
+
/* Writing follows the pane width independently of transcript layout.
|
|
746
|
+
Mate workspaces provide their own bounded composer override. */
|
|
747
|
+
max-width: 100%;
|
|
746
748
|
margin: 0 auto;
|
|
747
749
|
position: relative;
|
|
748
750
|
}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
/* Restore the Home conversation's reading measure inside Mate projects.
|
|
2
|
+
The existing project renderer, queue and composer still own behavior. */
|
|
3
|
+
body.mate-workspace-active { --content-width: 720px; }
|
|
4
|
+
body.mate-workspace-active #messages { padding-inline: max(0px, calc((100% - 720px) / 2)); }
|
|
5
|
+
body.mate-workspace-active #messages > .msg-assistant,
|
|
6
|
+
body.mate-workspace-active #messages > .msg-user {
|
|
7
|
+
width: 100%;
|
|
8
|
+
max-width: 720px;
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
margin: 0 auto 12px;
|
|
11
|
+
padding: 4px 20px;
|
|
12
|
+
border-radius: 0;
|
|
13
|
+
}
|
|
14
|
+
body.mate-workspace-active #messages > .msg-assistant {
|
|
15
|
+
display: grid;
|
|
16
|
+
grid-template-columns: 34px minmax(0, 1fr);
|
|
17
|
+
gap: 9px;
|
|
18
|
+
align-items: start;
|
|
19
|
+
}
|
|
20
|
+
body.mate-workspace-active .msg-assistant > .dm-bubble-avatar {
|
|
21
|
+
display: block;
|
|
22
|
+
width: 34px;
|
|
23
|
+
height: 34px;
|
|
24
|
+
margin-top: 1px;
|
|
25
|
+
border-radius: 8px;
|
|
26
|
+
}
|
|
27
|
+
body.mate-workspace-active .msg-assistant > .dm-bubble-content { min-width: 0; }
|
|
28
|
+
body.mate-workspace-active .msg-assistant .dm-bubble-header {
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: baseline;
|
|
31
|
+
min-height: 19px;
|
|
32
|
+
gap: 7px;
|
|
33
|
+
margin-bottom: 2px;
|
|
34
|
+
}
|
|
35
|
+
body.mate-workspace-active .msg-assistant .dm-bubble-name { font-size: 13px; font-weight: 650; }
|
|
36
|
+
body.mate-workspace-active .msg-assistant .dm-bubble-time { font-size: 10px; color: var(--text-dimmer); }
|
|
37
|
+
body.mate-workspace-active .msg-assistant .md-content { line-height: 1.58; }
|
|
38
|
+
body.mate-workspace-active #messages > .msg-user:not(.msg-user-other):not(.msg-user-delegated) {
|
|
39
|
+
display: flex;
|
|
40
|
+
flex-direction: column;
|
|
41
|
+
align-items: flex-end;
|
|
42
|
+
justify-content: flex-start;
|
|
43
|
+
}
|
|
44
|
+
body.mate-workspace-active .msg-user:not(.msg-user-other):not(.msg-user-delegated) > .msg-actions {
|
|
45
|
+
align-self: flex-end;
|
|
46
|
+
margin-left: 0;
|
|
47
|
+
padding-top: 2px;
|
|
48
|
+
}
|
|
49
|
+
body.mate-workspace-active .msg-user:not(.msg-user-other):not(.msg-user-delegated) > .dm-bubble-avatar,
|
|
50
|
+
body.mate-workspace-active .msg-user:not(.msg-user-other):not(.msg-user-delegated) .dm-bubble-header { display: none; }
|
|
51
|
+
body.mate-workspace-active .msg-user:not(.msg-user-other):not(.msg-user-delegated) > .dm-bubble-content {
|
|
52
|
+
flex: 0 1 auto;
|
|
53
|
+
min-width: 0;
|
|
54
|
+
max-width: min(560px, 100%);
|
|
55
|
+
align-items: flex-end;
|
|
56
|
+
}
|
|
57
|
+
body.mate-workspace-active .msg-user:not(.msg-user-other):not(.msg-user-delegated) .bubble {
|
|
58
|
+
background: var(--bg-alt);
|
|
59
|
+
border: 1px solid var(--border-subtle);
|
|
60
|
+
border-radius: 10px;
|
|
61
|
+
padding: 8px 11px;
|
|
62
|
+
max-width: 100%;
|
|
63
|
+
font-size: 14px;
|
|
64
|
+
line-height: 1.5;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/* One writing row, with secondary tools and model selection underneath.
|
|
68
|
+
Display contents preserves the live controls and their event handlers. */
|
|
69
|
+
body.mate-workspace-active #input-wrapper { max-width: 720px; }
|
|
70
|
+
body.mate-workspace-active #input-row,
|
|
71
|
+
body.mate-workspace-active #input-row:focus-within {
|
|
72
|
+
display: grid;
|
|
73
|
+
grid-template-columns: minmax(0, 1fr) auto auto auto;
|
|
74
|
+
gap: 6px 4px;
|
|
75
|
+
padding: 0;
|
|
76
|
+
background: transparent;
|
|
77
|
+
box-shadow: none;
|
|
78
|
+
transform: none;
|
|
79
|
+
border-radius: 0;
|
|
80
|
+
}
|
|
81
|
+
body.mate-workspace-active #input-row::before {
|
|
82
|
+
content: "";
|
|
83
|
+
grid-area: 4 / 1 / 5 / -1;
|
|
84
|
+
align-self: stretch;
|
|
85
|
+
background: var(--bg);
|
|
86
|
+
border: 1px solid var(--border-subtle);
|
|
87
|
+
border-radius: 22px;
|
|
88
|
+
box-shadow: 0 2px 8px rgba(var(--shadow-rgb), .09);
|
|
89
|
+
pointer-events: none;
|
|
90
|
+
transition: border-color 150ms ease, box-shadow 150ms ease;
|
|
91
|
+
}
|
|
92
|
+
body.mate-workspace-active #input-row:focus-within::before {
|
|
93
|
+
border-color: color-mix(in srgb, var(--brand-indigo) 65%, var(--border-subtle));
|
|
94
|
+
box-shadow: 0 2px 6px rgba(var(--shadow-rgb), .12);
|
|
95
|
+
}
|
|
96
|
+
@media (prefers-reduced-motion: reduce) {
|
|
97
|
+
body.mate-workspace-active #input-row::before { transition: none; }
|
|
98
|
+
}
|
|
99
|
+
body.mate-workspace-active #input-bottom,
|
|
100
|
+
body.mate-workspace-active #input-bottom-right { display: contents; }
|
|
101
|
+
body.mate-workspace-active #image-preview-bar { grid-area: 2 / 1 / 3 / -1; }
|
|
102
|
+
body.mate-workspace-active #suggestion-chips { grid-area: 3 / 1 / 4 / -1; }
|
|
103
|
+
body.mate-workspace-active #input-textarea-wrap { grid-area: 4 / 1 / 5 / 2; align-self: center; }
|
|
104
|
+
body.mate-workspace-active #input,
|
|
105
|
+
body.mate-workspace-active #ghost-suggestion {
|
|
106
|
+
display: block;
|
|
107
|
+
font-size: 16px;
|
|
108
|
+
line-height: 1.45;
|
|
109
|
+
padding: 12px 0 12px 15px;
|
|
110
|
+
}
|
|
111
|
+
body.mate-workspace-active #ghost-suggestion.hidden { display: none; }
|
|
112
|
+
body.mate-workspace-active #send-btn,
|
|
113
|
+
body.mate-workspace-active #stt-btn,
|
|
114
|
+
body.mate-workspace-active #input-bottom-right > #generation-stop {
|
|
115
|
+
position: relative;
|
|
116
|
+
align-self: end;
|
|
117
|
+
margin: 7px 0;
|
|
118
|
+
width: 34px;
|
|
119
|
+
height: 34px;
|
|
120
|
+
border-radius: 50%;
|
|
121
|
+
}
|
|
122
|
+
body.mate-workspace-active #send-btn { grid-area: 4 / 4 / 5 / 5; margin-right: 8px; }
|
|
123
|
+
body.mate-workspace-active #input-bottom-right > .stt-controls { grid-area: 4 / 3 / 5 / 4; position: relative; align-self: end; }
|
|
124
|
+
body.mate-workspace-active #input-row .stt-progress { grid-area: 6 / 1 / 7 / -1; }
|
|
125
|
+
body.mate-workspace-active #input-bottom-right > #generation-stop { grid-area: 4 / 2 / 5 / 3; }
|
|
126
|
+
body.mate-workspace-active #attach-wrap { grid-area: 5 / 1 / 6 / 3; min-width: 0; flex-wrap: wrap; }
|
|
127
|
+
body.mate-workspace-active #config-chip-wrap { grid-area: 5 / 3 / 6 / 5; align-self: start; justify-self: end; }
|
|
128
|
+
body.mate-workspace-active #active-vendor-indicator,
|
|
129
|
+
body.mate-workspace-active #attach-wrap .composer-tool-group-collaboration,
|
|
130
|
+
body.mate-workspace-active #attach-wrap .composer-tool-group-execution { display: none; }
|
|
131
|
+
@media (max-width: 768px) {
|
|
132
|
+
/* The rail is absent here; its floating footer must not cover writing tools. */
|
|
133
|
+
body.mate-workspace-active #user-island { display: none; }
|
|
134
|
+
body.mate-workspace-active #messages > .msg-assistant,
|
|
135
|
+
body.mate-workspace-active #messages > .msg-user { padding-inline: 12px; }
|
|
136
|
+
body.mate-workspace-active #input-area { padding-inline: 12px; }
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
body.mate-workspace-active #context-mini { grid-area: 1 / 1 / 2 / -1; }
|
|
140
|
+
|
|
141
|
+
/* Keep the restored conversational action rows aligned with Mate replies. */
|
|
142
|
+
body.mate-workspace-active #messages > .mate-tool-group,
|
|
143
|
+
body.mate-workspace-active #messages > .mate-thinking,
|
|
144
|
+
body.mate-workspace-active #messages > .mate-permission,
|
|
145
|
+
body.mate-workspace-active #messages > .mate-ask-user {
|
|
146
|
+
box-sizing: border-box;
|
|
147
|
+
max-width: 720px;
|
|
148
|
+
margin: 0 auto 12px;
|
|
149
|
+
padding: 4px 20px;
|
|
150
|
+
gap: 9px;
|
|
151
|
+
}
|
|
152
|
+
body.mate-workspace-active .mate-tool-group > .dm-bubble-avatar,
|
|
153
|
+
body.mate-workspace-active .mate-thinking > .dm-bubble-avatar,
|
|
154
|
+
body.mate-workspace-active .mate-permission > .dm-bubble-avatar,
|
|
155
|
+
body.mate-workspace-active .mate-ask-user > .dm-bubble-avatar {
|
|
156
|
+
width: 34px;
|
|
157
|
+
height: 34px;
|
|
158
|
+
border-radius: 8px;
|
|
159
|
+
}
|
|
160
|
+
@media (max-width: 768px) {
|
|
161
|
+
body.mate-workspace-active #messages > .mate-tool-group,
|
|
162
|
+
body.mate-workspace-active #messages > .mate-thinking,
|
|
163
|
+
body.mate-workspace-active #messages > .mate-permission,
|
|
164
|
+
body.mate-workspace-active #messages > .mate-ask-user { padding-inline: 12px; }
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
/* Action summaries belong to the reply's text lane, without repeated identity. */
|
|
168
|
+
body.mate-workspace-active .mate-tool-group > .dm-bubble-avatar { display: none; }
|
|
169
|
+
body.mate-workspace-active #messages > .mate-tool-group {
|
|
170
|
+
padding: 2px 20px 2px 63px;
|
|
171
|
+
margin-bottom: 8px;
|
|
172
|
+
}
|
|
173
|
+
body.mate-workspace-active .mate-tool-group > .dm-bubble-content { padding-top: 0; }
|
|
174
|
+
@media (max-width: 768px) {
|
|
175
|
+
body.mate-workspace-active #messages > .mate-tool-group { padding-inline: 55px 12px; }
|
|
176
|
+
}
|