clay-server 5.2.1-beta.2 → 5.3.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/clay-control-presentation-binding.js +5 -3
- package/lib/clay-product-control-tools.js +3 -3
- package/lib/clay-product-control.js +4 -2
- package/lib/clay-screen-controls.js +18 -3
- package/lib/clay-split-view-awareness.js +35 -0
- package/lib/clay-split-view-controls.js +122 -0
- package/lib/clay-split-view-input.js +20 -0
- package/lib/clay-split-view-render-proof.js +22 -0
- package/lib/pane-asset-manifest.js +63 -0
- package/lib/project-connection.js +19 -10
- package/lib/project-session-actions.js +1 -0
- package/lib/project-session-delete.js +2 -2
- package/lib/project-session-folders.js +1 -0
- package/lib/project-sessions.js +6 -1
- package/lib/project-split-view-document.js +33 -0
- package/lib/project-split-view-names.js +67 -0
- package/lib/project-split-view-organization.js +23 -0
- package/lib/project-split-views.js +479 -0
- package/lib/project-worker-conversation.js +222 -0
- package/lib/project-worker-creation-proposal.js +3 -4
- package/lib/project-worker-proposal.js +1 -1
- package/lib/project-worker-removal.js +101 -0
- package/lib/project.js +28 -1
- package/lib/public/app.js +32 -13
- package/lib/public/css/base.css +9 -0
- package/lib/public/css/filebrowser.css +0 -1
- package/lib/public/css/pane-header-controls.css +100 -0
- package/lib/public/css/pane.css +24 -41
- package/lib/public/css/popup-chat.css +123 -0
- package/lib/public/css/right-workbench.css +50 -18
- package/lib/public/css/session-folders.css +1 -1
- package/lib/public/css/split-view-layout.css +463 -0
- package/lib/public/css/split-view-worker-activity.css +97 -0
- package/lib/public/css/sticky-notes.css +13 -0
- package/lib/public/index.html +3 -3
- package/lib/public/modules/app-connection.js +4 -1
- package/lib/public/modules/app-favicon.js +1 -1
- package/lib/public/modules/app-messages.js +31 -9
- package/lib/public/modules/chat-render-runtime.js +54 -0
- package/lib/public/modules/clay-control-copy.js +3 -0
- package/lib/public/modules/clay-navigation-render.js +1 -1
- package/lib/public/modules/clay-owner-navigation.js +15 -5
- package/lib/public/modules/clay-split-view-screen.js +74 -0
- package/lib/public/modules/clay-tool-activity.js +5 -0
- package/lib/public/modules/command-palette.js +30 -28
- package/lib/public/modules/contextual-clay-session.js +26 -2
- package/lib/public/modules/contextual-clay.js +5 -2
- package/lib/public/modules/contextual-mate-sessions.js +2 -0
- package/lib/public/modules/filebrowser.js +6 -2
- package/lib/public/modules/generation-stop.js +7 -1
- package/lib/public/modules/knowledge-workbench-entry.js +43 -0
- package/lib/public/modules/markdown-view-mode.js +34 -0
- package/lib/public/modules/markdown.js +11 -0
- package/lib/public/modules/mate-knowledge-workbench.js +2 -7
- package/lib/public/modules/mate-sidebar.js +1 -1
- package/lib/public/modules/palette-clay-conversation.js +87 -0
- package/lib/public/modules/palette-render-helpers.js +25 -0
- package/lib/public/modules/pane-activation.js +46 -7
- package/lib/public/modules/pane-binding.js +12 -2
- package/lib/public/modules/pane-bridge.js +12 -3
- package/lib/public/modules/pane-deferred-bootstrap.js +32 -0
- package/lib/public/modules/pane-feature-assets.js +35 -0
- package/lib/public/modules/pane-file-bridge.js +8 -3
- package/lib/public/modules/pane-search-receipt.js +12 -0
- package/lib/public/modules/permission-control.js +6 -6
- package/lib/public/modules/popup-chat-rendering.js +244 -0
- package/lib/public/modules/project-activation.js +2 -2
- package/lib/public/modules/qrcode.js +12 -1
- package/lib/public/modules/right-workbench.js +68 -0
- package/lib/public/modules/search-hints.js +79 -0
- package/lib/public/modules/session-context-menu.js +35 -2
- package/lib/public/modules/session-folder-collapse.js +2 -1
- package/lib/public/modules/session-folder-context.js +24 -13
- package/lib/public/modules/session-folder-delete.js +18 -1
- package/lib/public/modules/session-folder-dnd.js +4 -1
- package/lib/public/modules/session-folder-layout.js +7 -6
- package/lib/public/modules/session-search-pane-state.js +30 -0
- package/lib/public/modules/session-search.js +53 -13
- package/lib/public/modules/sidebar-mobile.js +3 -3
- package/lib/public/modules/sidebar-projects.js +1 -0
- package/lib/public/modules/sidebar-session-folders-ui.js +3 -3
- package/lib/public/modules/sidebar-sessions.js +57 -24
- package/lib/public/modules/sidebar.js +20 -3
- package/lib/public/modules/split-group-helpers.js +1 -1
- package/lib/public/modules/split-group-restore.js +8 -11
- package/lib/public/modules/split-pair-ui.js +18 -0
- package/lib/public/modules/split-pane-header-state.js +45 -0
- package/lib/public/modules/split-pane-reconciler.js +23 -4
- package/lib/public/modules/split-pane-renderer.js +330 -23
- package/lib/public/modules/split-pane-retention.js +157 -0
- package/lib/public/modules/split-session-boundary.js +21 -0
- package/lib/public/modules/split-view-create-action.js +15 -0
- package/lib/public/modules/split-view-create-menu.js +83 -0
- package/lib/public/modules/split-view-create-request.js +23 -0
- package/lib/public/modules/split-view-layout-client.js +198 -0
- package/lib/public/modules/split-view-layout-icons.js +37 -0
- package/lib/public/modules/split-view-layout-scope.js +38 -0
- package/lib/public/modules/split-view-organization.js +73 -0
- package/lib/public/modules/split-view-presentation-close.js +35 -0
- package/lib/public/modules/split-view-presentation-drag.js +278 -0
- package/lib/public/modules/split-view-presentation-drop.js +57 -0
- package/lib/public/modules/split-view-presentation-lookup.js +44 -0
- package/lib/public/modules/split-view-presentation-renderer.js +494 -0
- package/lib/public/modules/split-view-presentations.js +498 -0
- package/lib/public/modules/split-view-shell-controls.js +28 -0
- package/lib/public/modules/split-view-sidebar-menu.js +42 -0
- package/lib/public/modules/split-view-sidebar-renderer.js +30 -0
- package/lib/public/modules/split-view-singleton.js +21 -0
- package/lib/public/modules/split-view-worker-activity.js +94 -0
- package/lib/public/modules/split-view-worker-controls.js +30 -0
- package/lib/public/modules/split-view-worker-removal.js +137 -0
- package/lib/public/modules/split-view-worker-scroll.js +57 -0
- package/lib/public/modules/split-view-worker-transcript.js +46 -0
- package/lib/public/modules/split-view-workers.js +418 -0
- package/lib/public/modules/split-view.js +61 -22
- package/lib/public/modules/sticky-notes.js +9 -2
- package/lib/public/modules/tools.js +25 -5
- package/lib/public/modules/workbench-layout-preference.js +76 -0
- package/lib/public/modules/worker-created-presentation.js +37 -0
- package/lib/public/pane-assets/app-2DRBYY3L.js +1 -0
- package/lib/public/pane-assets/chunk-4BM7UVNG.js +2 -0
- package/lib/public/pane-assets/chunk-6SM2WQJX.js +1 -0
- package/lib/public/pane-assets/chunk-7H36SUZA.js +2 -0
- package/lib/public/pane-assets/chunk-C4RVVYNT.js +1 -0
- package/lib/public/pane-assets/chunk-DGOFGEUK.js +1 -0
- package/lib/public/pane-assets/chunk-I57URYSL.js +1 -0
- package/lib/public/pane-assets/chunk-O6MQL6MR.js +167 -0
- package/lib/public/pane-assets/chunk-PO2JOHHW.js +1 -0
- package/lib/public/pane-assets/chunk-UMGHINOT.js +1 -0
- package/lib/public/pane-assets/manifest.json +553 -0
- package/lib/public/pane-assets/style-63EZCREE.css +1 -0
- package/lib/public/style.css +5 -1
- package/lib/server-owner-ui.js +6 -2
- package/lib/server-owner-view-observation.js +34 -0
- package/lib/server-palette.js +1 -0
- package/lib/server-pane-bootstrap.js +24 -0
- package/lib/server-settings.js +2 -0
- package/lib/server-static-assets.js +52 -0
- package/lib/server-workbench-layout-settings.js +56 -0
- package/lib/server.js +6 -45
- package/lib/session-activity-state.js +28 -0
- package/lib/session-list-delivery.js +17 -0
- package/lib/session-pair-turn-control.js +1 -6
- package/lib/session-search.js +3 -0
- package/lib/session-split-group-anchors.js +2 -2
- package/lib/session-split-group-roles.js +5 -8
- package/lib/session-split-group-v2-store.js +0 -3
- package/lib/sessions.js +16 -6
- package/lib/split-view-layout.js +132 -0
- package/lib/users-workbench-layout-preferences.js +33 -0
- package/lib/users.js +3 -0
- package/lib/workspace-query-service.js +1 -5
- package/lib/ws-schema.js +16 -0
- package/package.json +6 -3
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/* Loading actions retain their place while their unavailable state is explicit. */
|
|
2
|
+
.split-pane-header[data-pane-loading="true"] button {
|
|
3
|
+
opacity: .38;
|
|
4
|
+
color: var(--text-muted);
|
|
5
|
+
background: transparent;
|
|
6
|
+
box-shadow: none;
|
|
7
|
+
cursor: default;
|
|
8
|
+
}
|
|
9
|
+
.split-pane-header[data-pane-loading="true"] .split-pane-title { cursor: default; }
|
|
10
|
+
|
|
11
|
+
/* Parent-owned search stays above Worker rows without moving the conversation. */
|
|
12
|
+
.split-pane-search-popover {
|
|
13
|
+
position: absolute;
|
|
14
|
+
top: var(--split-pane-search-top, 28px);
|
|
15
|
+
right: 8px;
|
|
16
|
+
z-index: 20;
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: 4px;
|
|
20
|
+
box-sizing: border-box;
|
|
21
|
+
width: min(420px, calc(100% - 16px));
|
|
22
|
+
padding: 5px 6px;
|
|
23
|
+
border: 1px solid var(--border);
|
|
24
|
+
border-top: 0;
|
|
25
|
+
border-radius: 0 0 8px 8px;
|
|
26
|
+
background: var(--bg-alt);
|
|
27
|
+
color: var(--text);
|
|
28
|
+
box-shadow: 0 3px 8px rgba(var(--shadow-rgb), .14);
|
|
29
|
+
}
|
|
30
|
+
.split-pane-search-popover[hidden] { display: none; }
|
|
31
|
+
.split-pane-search-input {
|
|
32
|
+
flex: 1 1 120px;
|
|
33
|
+
width: 0;
|
|
34
|
+
min-width: 32px;
|
|
35
|
+
height: 26px;
|
|
36
|
+
box-sizing: border-box;
|
|
37
|
+
padding: 3px 7px;
|
|
38
|
+
border: 1px solid var(--border-subtle);
|
|
39
|
+
border-radius: 5px;
|
|
40
|
+
background: var(--bg);
|
|
41
|
+
color: var(--text);
|
|
42
|
+
font: inherit;
|
|
43
|
+
font-size: 12px;
|
|
44
|
+
}
|
|
45
|
+
.split-pane-search-input::placeholder { color: var(--text-muted); }
|
|
46
|
+
.split-pane-search-count {
|
|
47
|
+
flex: 0 1 auto;
|
|
48
|
+
max-width: 72px;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
color: var(--text-muted);
|
|
51
|
+
font-size: 10px;
|
|
52
|
+
text-overflow: ellipsis;
|
|
53
|
+
white-space: nowrap;
|
|
54
|
+
}
|
|
55
|
+
.split-pane-search-action {
|
|
56
|
+
display: inline-flex;
|
|
57
|
+
align-items: center;
|
|
58
|
+
justify-content: center;
|
|
59
|
+
flex: 0 0 24px;
|
|
60
|
+
width: 24px;
|
|
61
|
+
height: 26px;
|
|
62
|
+
padding: 4px;
|
|
63
|
+
border: 0;
|
|
64
|
+
border-radius: 4px;
|
|
65
|
+
background: transparent;
|
|
66
|
+
color: var(--text-muted);
|
|
67
|
+
cursor: pointer;
|
|
68
|
+
}
|
|
69
|
+
.split-pane-search-action svg { width: 14px; height: 14px; }
|
|
70
|
+
.split-pane-search-action:hover:not(:disabled) { background: var(--sidebar-hover); color: var(--text); }
|
|
71
|
+
.split-pane-search-action:disabled { opacity: .45; cursor: default; }
|
|
72
|
+
.split-pane-search-input:focus-visible,
|
|
73
|
+
.split-pane-search-action:focus-visible,
|
|
74
|
+
#sidebar-shell-expand-btn:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
|
|
75
|
+
|
|
76
|
+
/* The shell remains reachable while its native conversation header is hidden. */
|
|
77
|
+
#sidebar-shell-expand-btn {
|
|
78
|
+
display: none;
|
|
79
|
+
align-items: center;
|
|
80
|
+
justify-content: center;
|
|
81
|
+
width: 24px;
|
|
82
|
+
height: 24px;
|
|
83
|
+
padding: 4px;
|
|
84
|
+
border: 0;
|
|
85
|
+
border-radius: 5px;
|
|
86
|
+
background: transparent;
|
|
87
|
+
color: var(--text-secondary);
|
|
88
|
+
cursor: pointer;
|
|
89
|
+
}
|
|
90
|
+
#sidebar-shell-expand-btn svg { width: 16px; height: 16px; }
|
|
91
|
+
#sidebar-shell-expand-btn:hover { background: var(--sidebar-hover); color: var(--text); }
|
|
92
|
+
#sidebar-shell-expand-btn[hidden] { display: none; }
|
|
93
|
+
@media (min-width: 769px) {
|
|
94
|
+
#layout.sidebar-collapsed #sidebar-shell-expand-btn:not([hidden]) { display: inline-flex; }
|
|
95
|
+
}
|
|
96
|
+
@media (pointer: coarse) {
|
|
97
|
+
.split-pane-search-input { height: 32px; font-size: 16px; }
|
|
98
|
+
.split-pane-search-action { flex-basis: 32px; width: 32px; height: 32px; }
|
|
99
|
+
#sidebar-shell-expand-btn { width: 28px; height: 28px; }
|
|
100
|
+
}
|
package/lib/public/css/pane.css
CHANGED
|
@@ -229,31 +229,6 @@ body.pane-mode #input-area {
|
|
|
229
229
|
}
|
|
230
230
|
.split-pair-live { color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); animation: pair-status-pulse 1.5s ease-in-out infinite; }
|
|
231
231
|
|
|
232
|
-
#split-host.split-delegating::after {
|
|
233
|
-
content: "→";
|
|
234
|
-
position: absolute;
|
|
235
|
-
z-index: 4;
|
|
236
|
-
top: calc(50% - 10px);
|
|
237
|
-
left: calc(50% - 17px);
|
|
238
|
-
width: 34px;
|
|
239
|
-
height: 20px;
|
|
240
|
-
display: grid;
|
|
241
|
-
place-items: center;
|
|
242
|
-
border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
|
|
243
|
-
border-radius: 999px;
|
|
244
|
-
pointer-events: none;
|
|
245
|
-
background: var(--sidebar-bg);
|
|
246
|
-
color: var(--accent);
|
|
247
|
-
font-size: 14px;
|
|
248
|
-
font-weight: 800;
|
|
249
|
-
animation: pair-divider-flow 1.1s ease-in-out infinite;
|
|
250
|
-
filter: drop-shadow(0 0 4px color-mix(in srgb, var(--accent) 65%, transparent));
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
#split-host.split-direction-left::after { content: "←"; animation-name: pair-divider-flow-left; }
|
|
254
|
-
|
|
255
|
-
@keyframes pair-divider-flow { 0%, 100% { transform: translateX(-3px); opacity: 0.65; } 50% { transform: translateX(3px); opacity: 1; } }
|
|
256
|
-
@keyframes pair-divider-flow-left { 0%, 100% { transform: translateX(3px); opacity: 0.65; } 50% { transform: translateX(-3px); opacity: 1; } }
|
|
257
232
|
@keyframes pair-status-pulse { 50% { opacity: 0.55; } }
|
|
258
233
|
|
|
259
234
|
/* Worker activity notice shown while this pane processes a delegated task. */
|
|
@@ -392,7 +367,7 @@ body.pane-mode #input-area {
|
|
|
392
367
|
}
|
|
393
368
|
|
|
394
369
|
.split-pane-header .split-pane-full-access {
|
|
395
|
-
height:
|
|
370
|
+
height: 22px;
|
|
396
371
|
align-self: center;
|
|
397
372
|
margin-left: 0;
|
|
398
373
|
padding: 0;
|
|
@@ -404,14 +379,21 @@ body.pane-mode #input-area {
|
|
|
404
379
|
}
|
|
405
380
|
|
|
406
381
|
.split-pane-header .session-permission-segmented button {
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
382
|
+
flex: 0 0 auto;
|
|
383
|
+
width: auto;
|
|
384
|
+
min-width: 30px;
|
|
385
|
+
min-height: 18px;
|
|
386
|
+
height: 18px;
|
|
387
|
+
padding: 2px 5px;
|
|
388
|
+
border: 1px solid transparent;
|
|
389
|
+
border-radius: 4px;
|
|
390
|
+
font-size: 10px;
|
|
410
391
|
}
|
|
411
392
|
|
|
412
393
|
.split-pane-header .session-permission-segmented {
|
|
413
|
-
height:
|
|
394
|
+
height: 22px;
|
|
414
395
|
padding: 1px;
|
|
396
|
+
border-radius: 5px;
|
|
415
397
|
}
|
|
416
398
|
|
|
417
399
|
.split-pane-header .session-permission-status {
|
|
@@ -424,6 +406,18 @@ body.pane-mode #input-area {
|
|
|
424
406
|
font-size: 10px;
|
|
425
407
|
}
|
|
426
408
|
|
|
409
|
+
@media (pointer: coarse) {
|
|
410
|
+
.split-pane-header { height: 36px; min-height: 36px; }
|
|
411
|
+
.split-pane-header .split-pane-full-access,
|
|
412
|
+
.split-pane-header .session-permission-segmented { height: 32px; }
|
|
413
|
+
.split-pane-header .session-permission-segmented button {
|
|
414
|
+
min-width: 36px;
|
|
415
|
+
min-height: 28px;
|
|
416
|
+
height: 28px;
|
|
417
|
+
font-size: 11px;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
427
421
|
.split-pane-header .session-full-access-track {
|
|
428
422
|
width: 16px;
|
|
429
423
|
height: 9px;
|
|
@@ -577,18 +571,7 @@ body.pane-mode #input-area {
|
|
|
577
571
|
flex: 1 1 auto;
|
|
578
572
|
}
|
|
579
573
|
|
|
580
|
-
#split-host:has(.split-pane-role-worker).split-delegating::after {
|
|
581
|
-
content: "↑";
|
|
582
|
-
/* Center on worker bottom + half the gap, accounting for the shell
|
|
583
|
-
inset and the 30% basis being relative to the inset content box. */
|
|
584
|
-
top: calc(var(--split-shell-inset) + var(--split-worker-height) + var(--split-pane-gap-half) - 10px);
|
|
585
|
-
animation-name: pair-divider-flow-up;
|
|
586
|
-
}
|
|
587
574
|
|
|
588
|
-
@keyframes pair-divider-flow-up {
|
|
589
|
-
0%, 100% { transform: translateY(3px); opacity: 0.65; }
|
|
590
|
-
50% { transform: translateY(-3px); opacity: 1; }
|
|
591
|
-
}
|
|
592
575
|
}
|
|
593
576
|
|
|
594
577
|
/* Prevent an iframe from taking the pointer midway through a note gesture. */
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/* Popup activity uses the native transcript and its existing interactive pills. */
|
|
2
|
+
body.popup-chat-rendering #messages > :has(> .dm-bubble-content > .dm-bubble-header) {
|
|
3
|
+
display: grid;
|
|
4
|
+
grid-template-columns: 24px minmax(0, 1fr);
|
|
5
|
+
column-gap: 7px;
|
|
6
|
+
row-gap: 4px;
|
|
7
|
+
}
|
|
8
|
+
body.popup-chat-rendering #messages > :has(> .dm-bubble-content > .dm-bubble-header) > .dm-bubble-avatar {
|
|
9
|
+
grid-column: 1;
|
|
10
|
+
grid-row: 1;
|
|
11
|
+
width: 24px;
|
|
12
|
+
height: 24px;
|
|
13
|
+
margin: 0;
|
|
14
|
+
align-self: center;
|
|
15
|
+
}
|
|
16
|
+
body.popup-chat-rendering #messages > :has(> .dm-bubble-content > .dm-bubble-header) > .dm-bubble-content {
|
|
17
|
+
display: contents;
|
|
18
|
+
}
|
|
19
|
+
body.popup-chat-rendering #messages > :has(> .dm-bubble-content > .dm-bubble-header) > .dm-bubble-content > * {
|
|
20
|
+
grid-column: 1 / -1;
|
|
21
|
+
min-width: 0;
|
|
22
|
+
}
|
|
23
|
+
body.popup-chat-rendering #messages > :has(> .dm-bubble-content > .dm-bubble-header) > .dm-bubble-content > .dm-bubble-header {
|
|
24
|
+
grid-column: 2;
|
|
25
|
+
grid-row: 1;
|
|
26
|
+
min-height: 24px;
|
|
27
|
+
align-items: center;
|
|
28
|
+
}
|
|
29
|
+
body.popup-chat-rendering #messages > .grouped > .dm-bubble-avatar {
|
|
30
|
+
display: none;
|
|
31
|
+
}
|
|
32
|
+
body.popup-chat-rendering #messages .popup-chat-activity {
|
|
33
|
+
display: block;
|
|
34
|
+
box-sizing: border-box;
|
|
35
|
+
width: 100%;
|
|
36
|
+
max-width: 100%;
|
|
37
|
+
margin-inline: 0;
|
|
38
|
+
padding-inline: 16px;
|
|
39
|
+
}
|
|
40
|
+
body.popup-chat-rendering #messages .popup-chat-activity > .dm-bubble-avatar {
|
|
41
|
+
display: none;
|
|
42
|
+
}
|
|
43
|
+
body.popup-chat-rendering #messages .popup-chat-activity > .dm-bubble-content {
|
|
44
|
+
display: block;
|
|
45
|
+
width: 100%;
|
|
46
|
+
padding-top: 0;
|
|
47
|
+
}
|
|
48
|
+
body.popup-chat-rendering #messages .msg-assistant .md-content,
|
|
49
|
+
body.popup-chat-rendering #messages .msg-user .bubble {
|
|
50
|
+
font-size: 14px;
|
|
51
|
+
line-height: 1.65;
|
|
52
|
+
}
|
|
53
|
+
body.popup-chat-rendering #messages .popup-chat-activity,
|
|
54
|
+
body.popup-chat-rendering .popup-chat-activity > .dm-bubble-content {
|
|
55
|
+
border: 0;
|
|
56
|
+
border-radius: 0;
|
|
57
|
+
background: transparent;
|
|
58
|
+
box-shadow: none;
|
|
59
|
+
}
|
|
60
|
+
body.popup-chat-rendering .popup-chat-activity .tool-group-header {
|
|
61
|
+
display: flex;
|
|
62
|
+
align-items: center;
|
|
63
|
+
gap: 6px;
|
|
64
|
+
min-height: 24px;
|
|
65
|
+
width: 100%;
|
|
66
|
+
box-sizing: border-box;
|
|
67
|
+
padding: 0;
|
|
68
|
+
border: 0;
|
|
69
|
+
border-radius: 0;
|
|
70
|
+
background: transparent;
|
|
71
|
+
}
|
|
72
|
+
body.popup-chat-rendering .popup-chat-activity .tool-group-header:hover {
|
|
73
|
+
background: transparent;
|
|
74
|
+
}
|
|
75
|
+
body.popup-chat-rendering .popup-chat-activity-icon {
|
|
76
|
+
display: inline-flex;
|
|
77
|
+
flex: none;
|
|
78
|
+
color: var(--accent);
|
|
79
|
+
}
|
|
80
|
+
body.popup-chat-rendering .popup-chat-activity-icon .lucide { width: 13px; height: 13px; }
|
|
81
|
+
body.popup-chat-rendering .popup-chat-activity .tool-group-label {
|
|
82
|
+
color: var(--text-muted);
|
|
83
|
+
font-size: 11px;
|
|
84
|
+
font-weight: 600;
|
|
85
|
+
}
|
|
86
|
+
body.popup-chat-rendering .popup-chat-activity-count {
|
|
87
|
+
color: var(--text-dimmer);
|
|
88
|
+
font-size: 10px;
|
|
89
|
+
}
|
|
90
|
+
body.popup-chat-rendering .popup-chat-activity .tool-group-chevron {
|
|
91
|
+
order: 5;
|
|
92
|
+
margin-left: auto;
|
|
93
|
+
}
|
|
94
|
+
body.popup-chat-rendering .popup-chat-activity .tool-group-bullet { display: none; }
|
|
95
|
+
body.popup-chat-rendering .popup-chat-activity.collapsed .tool-group-items { display: block; }
|
|
96
|
+
body.popup-chat-rendering .popup-chat-activity .tool-item[hidden] { display: none !important; }
|
|
97
|
+
body.popup-chat-rendering .popup-chat-activity .tool-header {
|
|
98
|
+
min-height: 23px;
|
|
99
|
+
padding: 2px 0;
|
|
100
|
+
border: 0;
|
|
101
|
+
border-radius: 0;
|
|
102
|
+
background: transparent;
|
|
103
|
+
gap: 6px;
|
|
104
|
+
}
|
|
105
|
+
body.popup-chat-rendering .popup-chat-activity .tool-name {
|
|
106
|
+
min-width: 0;
|
|
107
|
+
font-size: 11px;
|
|
108
|
+
font-weight: 500;
|
|
109
|
+
color: var(--text-muted);
|
|
110
|
+
}
|
|
111
|
+
body.popup-chat-rendering .popup-chat-activity .tool-desc {
|
|
112
|
+
font-family: var(--font-ui);
|
|
113
|
+
font-size: 10px;
|
|
114
|
+
color: var(--text-dimmer);
|
|
115
|
+
}
|
|
116
|
+
body.popup-chat-rendering .popup-chat-activity .tool-status-icon { order: -1; margin-left: 0; }
|
|
117
|
+
body.popup-chat-rendering .popup-chat-activity .tool-status-icon .lucide { width: 13px; height: 13px; }
|
|
118
|
+
body.popup-chat-rendering .popup-chat-activity .tool-header > .tool-bullet { display: none; }
|
|
119
|
+
body.popup-chat-rendering .popup-chat-activity .tool-header > .tool-chevron { order: 5; margin-left: auto; }
|
|
120
|
+
@media (pointer: coarse) {
|
|
121
|
+
body.popup-chat-rendering .popup-chat-activity .tool-group-header,
|
|
122
|
+
body.popup-chat-rendering .popup-chat-activity .tool-header { min-height: 32px; }
|
|
123
|
+
}
|
|
@@ -5,51 +5,83 @@
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
@media (min-width: 1024px) {
|
|
8
|
-
:is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench):not(.panel-fullscreen) {
|
|
8
|
+
:is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench, #wireframe-panel):not(.panel-fullscreen) {
|
|
9
9
|
box-shadow:
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
0 12px 24px rgba(var(--shadow-rgb), 0.20),
|
|
11
|
+
0 3px 6px rgba(var(--shadow-rgb), 0.12),
|
|
12
12
|
inset 0 1px 0 rgba(255, 255, 255, 0.04);
|
|
13
13
|
animation: workbench-panel-in 0.18s cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
14
14
|
transition: max-width 0.2s ease, width 0.2s ease, box-shadow 0.2s ease;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
:is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench).panel-fullscreen {
|
|
18
|
+
:is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench, #wireframe-panel).panel-fullscreen {
|
|
19
19
|
box-shadow: none;
|
|
20
20
|
animation: none;
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
/*
|
|
24
|
-
|
|
25
|
-
Chat (#app) is hidden by filebrowser.css; the split host is a sibling whose
|
|
26
|
-
pane headers overflow its collapsed width, so lift it out of flow and make it
|
|
27
|
-
unpaintable and unclickable while expanded, including descendants that force visibility. Its frames keep their size and
|
|
28
|
-
state, and modals keep their own stacking above this region. */
|
|
23
|
+
/* Workbench panels float above the canvas. Opening or expanding a panel must
|
|
24
|
+
leave mounted conversations and their layout measurements unchanged. */
|
|
29
25
|
@media (min-width: 1024px) {
|
|
30
|
-
|
|
31
|
-
|
|
26
|
+
#main-panels { position: relative; }
|
|
27
|
+
#main-panels > :is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench, #wireframe-panel) {
|
|
28
|
+
position: absolute;
|
|
29
|
+
top: 8px;
|
|
30
|
+
right: 8px;
|
|
31
|
+
z-index: 30;
|
|
32
|
+
height: calc(100% - 16px);
|
|
33
|
+
max-height: calc(100% - 16px);
|
|
34
|
+
margin: 0;
|
|
35
|
+
}
|
|
36
|
+
#main-panels > :is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench, #wireframe-panel).panel-fullscreen {
|
|
37
|
+
inset: 0;
|
|
32
38
|
width: 100%;
|
|
33
39
|
max-width: none;
|
|
34
40
|
min-width: 0;
|
|
35
41
|
height: 100%;
|
|
42
|
+
max-height: none;
|
|
36
43
|
margin: 0;
|
|
37
44
|
border: 0;
|
|
38
45
|
border-radius: 0;
|
|
39
46
|
}
|
|
40
|
-
#main-panels:has(>
|
|
41
|
-
position: absolute;
|
|
42
|
-
inset: 0;
|
|
47
|
+
#main-panels:has(> .panel-fullscreen:not(.hidden)) > :is(#app, #split-host) {
|
|
43
48
|
visibility: hidden;
|
|
44
49
|
pointer-events: none;
|
|
45
|
-
/* Some descendants set visibility:visible themselves (for example the
|
|
46
|
-
pending permission spinner); the clip keeps all of them unpainted. */
|
|
47
50
|
clip-path: inset(100%);
|
|
48
51
|
}
|
|
52
|
+
#main-panels[data-workbench-mode="docked"] > :is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench, #wireframe-panel):not(.panel-fullscreen) {
|
|
53
|
+
position: relative;
|
|
54
|
+
inset: auto;
|
|
55
|
+
margin: 8px 8px 8px 0;
|
|
56
|
+
box-shadow: 0 2px 5px rgba(var(--shadow-rgb), .08);
|
|
57
|
+
animation: none;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#main-panels .workbench-layout-toggle {
|
|
62
|
+
display: inline-flex;
|
|
63
|
+
align-items: center;
|
|
64
|
+
justify-content: center;
|
|
65
|
+
flex: 0 0 28px;
|
|
66
|
+
width: 28px;
|
|
67
|
+
height: 28px;
|
|
68
|
+
padding: 5px;
|
|
69
|
+
border: 0;
|
|
70
|
+
border-radius: 6px;
|
|
71
|
+
background: transparent;
|
|
72
|
+
color: var(--text-muted);
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
}
|
|
75
|
+
#main-panels .workbench-layout-toggle svg { width: 15px; height: 15px; }
|
|
76
|
+
#main-panels .workbench-layout-toggle:hover { background: var(--sidebar-hover); color: var(--text); }
|
|
77
|
+
#main-panels .workbench-layout-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
|
|
78
|
+
#main-panels .workbench-layout-toggle:disabled { opacity: .45; cursor: wait; }
|
|
79
|
+
@media (max-width: 1023px) {
|
|
80
|
+
#main-panels .workbench-layout-toggle { display: none; }
|
|
49
81
|
}
|
|
50
82
|
|
|
51
83
|
@media (prefers-reduced-motion: reduce) {
|
|
52
|
-
:is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench):not(.panel-fullscreen) {
|
|
84
|
+
:is(#file-viewer, #terminal-container, #project-logs-panel, #you-panel, #issues-panel, #linear-panel, #notes-browser, #scheduled-tasks-panel, #debates-workbench, #shared-browser-panel, #mcp-skills-workbench, #mate-knowledge-workbench, #wireframe-panel):not(.panel-fullscreen) {
|
|
53
85
|
animation: none;
|
|
54
86
|
transition: none;
|
|
55
87
|
}
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
|
|
22
22
|
.session-folder-chevron, .session-folder-icon { display: inline-flex; flex: none; }
|
|
23
23
|
.session-folder-chevron svg, .session-folder-icon svg { width: 12px; height: 12px; display: block; }
|
|
24
|
-
.session-folder-chevron { transition: transform 0.15s ease; }
|
|
24
|
+
.session-folder-chevron { align-items: center; justify-content: center; min-height: 20px; min-width: 16px; margin: -4px -2px; transition: transform 0.15s ease; }
|
|
25
25
|
.session-folder-toggle[aria-expanded="true"] .session-folder-chevron { transform: rotate(90deg); }
|
|
26
26
|
.session-folder-favorites .session-folder-icon { color: var(--accent); }
|
|
27
27
|
.session-folder-label { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|