clay-server 5.0.2-beta.1 → 5.1.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/LICENSES/README.md +4 -0
- package/LICENSES/dicebear-avatars.md +16 -0
- package/lib/daemon-project-access.js +7 -1
- package/lib/daemon.js +2 -0
- 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/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/project-connection.js +36 -2
- 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-file-path.js +2 -3
- package/lib/project-knowledge.js +315 -136
- package/lib/project-mate-creation-proposal.js +1 -0
- package/lib/project-request-access.js +13 -1
- package/lib/project-sessions.js +39 -2
- package/lib/project-user-knowledge.js +60 -0
- package/lib/project.js +59 -18
- package/lib/public/app.js +73 -34
- 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/filebrowser.css +10 -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/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/right-workbench.css +3 -3
- package/lib/public/css/session-folders.css +80 -21
- package/lib/public/css/sidebar.css +183 -107
- package/lib/public/css/title-bar.css +151 -0
- 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 +33 -101
- package/lib/public/modules/account-island.js +230 -0
- package/lib/public/modules/app-cursors.js +19 -43
- package/lib/public/modules/app-debate-ui.js +4 -3
- 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 +34 -9
- package/lib/public/modules/app-notifications.js +4 -7
- package/lib/public/modules/app-projects.js +5 -38
- 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/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 +81 -65
- package/lib/public/modules/filebrowser.js +28 -8
- 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/html-preview.js +19 -0
- 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/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/profile.js +51 -18
- 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-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/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-list-visibility.js +41 -0
- package/lib/public/modules/session-presence-ui.js +4 -1
- package/lib/public/modules/session-title-marquee.js +51 -0
- 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/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/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 +16 -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/server-admin.js +11 -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-mate-instructions.js +44 -0
- package/lib/server-mates.js +12 -3
- package/lib/server-palette.js +1 -1
- package/lib/server-settings.js +65 -1
- package/lib/server-user-knowledge.js +119 -0
- package/lib/server.js +21 -1
- package/lib/session-visibility.js +7 -2
- package/lib/sessions.js +32 -6
- package/lib/user-knowledge-service.js +167 -0
- package/lib/users-permissions.js +7 -0
- package/lib/users-project-mate-filter-preferences.js +39 -0
- package/lib/users.js +6 -0
- package/lib/workspace-query-access.js +4 -1
- package/lib/ws-schema.js +50 -0
- package/package.json +10 -1
|
@@ -1,160 +1,82 @@
|
|
|
1
|
-
/*
|
|
2
|
-
|
|
1
|
+
/* Worker proposals are decisions first, and readable receipts after acceptance. */
|
|
3
2
|
.worker-proposal-card {
|
|
3
|
+
box-sizing: border-box;
|
|
4
4
|
width: min(var(--content-width), calc(100% - 40px));
|
|
5
5
|
margin: 16px auto;
|
|
6
|
-
padding: 16px;
|
|
7
|
-
border: 1px solid
|
|
8
|
-
border-radius:
|
|
9
|
-
background:
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
box-shadow: 0 12px 32px rgba(var(--shadow-rgb), 0.12);
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.worker-proposal-header {
|
|
16
|
-
display: flex;
|
|
17
|
-
align-items: center;
|
|
18
|
-
gap: 10px;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.worker-proposal-mark {
|
|
22
|
-
width: 34px;
|
|
23
|
-
height: 34px;
|
|
24
|
-
display: grid;
|
|
25
|
-
place-items: center;
|
|
26
|
-
flex-shrink: 0;
|
|
27
|
-
border-radius: 11px;
|
|
28
|
-
background: color-mix(in srgb, var(--accent2) 14%, var(--bg));
|
|
29
|
-
color: var(--accent2);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.worker-proposal-mark .lucide { width: 17px; height: 17px; }
|
|
33
|
-
.worker-proposal-heading { min-width: 0; display: grid; gap: 1px; }
|
|
34
|
-
.worker-proposal-heading strong { color: var(--text); font-size: 14px; line-height: 1.25; }
|
|
35
|
-
.worker-proposal-kicker { color: var(--accent2); font-size: 8px; font-weight: 800; letter-spacing: 0.14em; }
|
|
36
|
-
|
|
37
|
-
.worker-proposal-status {
|
|
38
|
-
margin-left: auto;
|
|
39
|
-
padding: 3px 8px;
|
|
40
|
-
border-radius: 999px;
|
|
41
|
-
background: color-mix(in srgb, var(--accent2) 10%, transparent);
|
|
42
|
-
color: var(--accent2);
|
|
43
|
-
font-size: 9px;
|
|
44
|
-
font-weight: 700;
|
|
45
|
-
white-space: nowrap;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.worker-proposal-summary {
|
|
49
|
-
margin: 12px 0 10px;
|
|
50
|
-
color: var(--text-secondary);
|
|
51
|
-
font-size: 13px;
|
|
52
|
-
line-height: 1.5;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
.worker-proposal-plan {
|
|
56
|
-
display: grid;
|
|
57
|
-
gap: 5px;
|
|
58
|
-
margin: 0 0 14px;
|
|
59
|
-
padding: 10px 12px 10px 32px;
|
|
60
|
-
border: 1px solid var(--border-subtle);
|
|
61
|
-
border-radius: 11px;
|
|
62
|
-
background: color-mix(in srgb, var(--bg) 72%, transparent);
|
|
63
|
-
color: var(--text-muted);
|
|
64
|
-
font-size: 11px;
|
|
65
|
-
line-height: 1.45;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
.worker-proposal-plan li::marker { color: var(--accent2); font-weight: 700; }
|
|
69
|
-
|
|
70
|
-
.worker-proposal-rationale {
|
|
71
|
-
display: grid;
|
|
72
|
-
gap: 4px;
|
|
73
|
-
margin: 0 0 14px;
|
|
74
|
-
padding: 10px 12px;
|
|
75
|
-
border-left: 2px solid color-mix(in srgb, var(--accent2) 62%, var(--border));
|
|
76
|
-
background: color-mix(in srgb, var(--accent2) 5%, transparent);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.worker-proposal-rationale > span {
|
|
80
|
-
color: var(--accent2);
|
|
81
|
-
font-size: 9px;
|
|
82
|
-
font-weight: 750;
|
|
83
|
-
letter-spacing: 0.06em;
|
|
84
|
-
text-transform: uppercase;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.worker-proposal-rationale p {
|
|
88
|
-
margin: 0;
|
|
89
|
-
color: var(--text-secondary);
|
|
90
|
-
font-size: 11px;
|
|
91
|
-
line-height: 1.45;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.worker-proposal-config {
|
|
95
|
-
display: grid;
|
|
96
|
-
grid-template-columns: minmax(120px, 0.8fr) minmax(160px, 1.2fr) minmax(190px, auto);
|
|
97
|
-
gap: 9px;
|
|
98
|
-
align-items: end;
|
|
6
|
+
padding: 14px 16px;
|
|
7
|
+
border: 1px solid var(--border);
|
|
8
|
+
border-radius: 10px;
|
|
9
|
+
background: var(--bg);
|
|
10
|
+
box-shadow: 0 1px 3px rgba(var(--shadow-rgb), .08);
|
|
11
|
+
container-type: inline-size;
|
|
99
12
|
}
|
|
100
|
-
|
|
13
|
+
.worker-proposal-header { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
|
|
14
|
+
.worker-proposal-mark { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border: 1px solid var(--border-subtle); border-radius: 7px; background: var(--bg-alt); color: var(--text-muted); }
|
|
15
|
+
.worker-proposal-mark .lucide { width: 15px; height: 15px; }
|
|
16
|
+
.worker-proposal-heading { min-width: 0; flex: 1; display: grid; gap: 2px; }
|
|
17
|
+
.worker-proposal-heading strong { color: var(--text); font-size: 14px; line-height: 1.35; font-weight: 600; }
|
|
18
|
+
.worker-proposal-kicker { color: var(--text-muted); font-size: 11px; line-height: 1.3; }
|
|
19
|
+
.worker-proposal-status { color: var(--text-muted); background: var(--bg-alt); border: 1px solid var(--border-subtle); border-radius: 5px; padding: 3px 6px; font-size: 11px; line-height: 1.3; }
|
|
20
|
+
.worker-proposal-card[data-status="pending"] .worker-proposal-status { color: var(--text); }
|
|
21
|
+
.worker-proposal-card[data-status="error"] .worker-proposal-status { color: var(--error); }
|
|
22
|
+
.worker-proposal-card[data-status="completed"] .worker-proposal-status { color: var(--text); }
|
|
23
|
+
.worker-proposal-summary { margin: 12px 0; color: var(--text); font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
|
|
24
|
+
.worker-proposal-brief { margin: 0 0 12px; }
|
|
25
|
+
.worker-proposal-brief > summary { list-style: none; display: flex; align-items: center; gap: 5px; width: fit-content; color: var(--text-muted); cursor: pointer; font-size: 12px; padding: 3px 0; }
|
|
26
|
+
.worker-proposal-brief > summary::-webkit-details-marker { display: none; }
|
|
27
|
+
.worker-proposal-brief > summary .lucide { width: 13px; height: 13px; transition: transform 150ms ease; }
|
|
28
|
+
.worker-proposal-brief[open] > summary .lucide { transform: rotate(90deg); }
|
|
29
|
+
.worker-proposal-plan { margin: 7px 0 10px; padding: 0 0 0 21px; color: var(--text); font-size: 13px; line-height: 1.55; display: grid; gap: 4px; overflow-wrap: anywhere; }
|
|
30
|
+
.worker-proposal-plan li::marker { color: var(--text-muted); font-size: 11px; }
|
|
31
|
+
.worker-proposal-rationale { margin: 10px 0 0; }
|
|
32
|
+
.worker-proposal-rationale > span { font-size: 12px; font-weight: 600; color: var(--text); }
|
|
33
|
+
.worker-proposal-rationale p { margin: 3px 0 0; font-size: 12px; line-height: 1.55; color: var(--text-muted); overflow-wrap: anywhere; }
|
|
34
|
+
.worker-proposal-config { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 10px; padding-top: 12px; border-top: 1px solid var(--border-subtle); }
|
|
101
35
|
.worker-proposal-field { min-width: 0; display: grid; gap: 5px; }
|
|
102
|
-
.worker-proposal-field > span { color: var(--text-
|
|
36
|
+
.worker-proposal-field > span { color: var(--text-muted); font-size: 11px; line-height: 1.4; }
|
|
103
37
|
.worker-proposal-vendor-control { position: relative; display: flex; align-items: center; }
|
|
104
|
-
.worker-proposal-vendor-control img { position: absolute; left: 9px; width:
|
|
105
|
-
.worker-proposal-vendor-control .worker-proposal-select { padding-left:
|
|
106
|
-
|
|
107
|
-
.worker-proposal-select {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.worker-proposal-select:focus { border-color: var(--accent2); }
|
|
122
|
-
.worker-proposal-effort-buttons { display: flex; height: 34px; padding: 3px; border: 1px solid var(--border); border-radius: 9px; background: var(--input-bg); }
|
|
123
|
-
.worker-proposal-effort-btn { flex: 1; min-width: 38px; border: 0; border-radius: 6px; background: transparent; color: var(--text-dimmer); font: inherit; font-size: 9px; font-weight: 650; cursor: pointer; }
|
|
38
|
+
.worker-proposal-vendor-control img { position: absolute; left: 9px; width: 16px; height: 16px; border-radius: 4px; pointer-events: none; z-index: 1; }
|
|
39
|
+
.worker-proposal-vendor-control .worker-runtime-trigger, .worker-proposal-vendor-control .worker-proposal-select { padding-left: 31px; }
|
|
40
|
+
.worker-runtime-picker { min-width: 0; width: 100%; }
|
|
41
|
+
.worker-proposal-select, .worker-runtime-trigger { width: 100%; height: 34px; min-width: 0; padding: 0 9px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg-alt); color: var(--text); font: inherit; font-size: 13px; }
|
|
42
|
+
.worker-runtime-picker > select { display: none; }
|
|
43
|
+
.worker-runtime-trigger { display: flex; align-items: center; gap: 8px; text-align: left; cursor: pointer; }
|
|
44
|
+
.worker-runtime-trigger > span { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
45
|
+
.worker-runtime-trigger .lucide { flex: none; width: 13px; height: 13px; color: var(--text-muted); }
|
|
46
|
+
.worker-runtime-trigger:hover { border-color: var(--text-dimmer); }
|
|
47
|
+
.worker-runtime-options { position: fixed; z-index: 10050; box-sizing: border-box; max-height: min(240px, calc(100dvh - 16px)); overflow-y: auto; padding: 4px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); box-shadow: 0 3px 12px rgba(var(--shadow-rgb), .15); }
|
|
48
|
+
.worker-runtime-options button { display: block; width: 100%; min-height: 30px; border: 0; border-radius: 5px; padding: 5px 8px; text-align: left; font: inherit; font-size: 13px; background: transparent; color: var(--text); cursor: pointer; overflow-wrap: anywhere; }
|
|
49
|
+
.worker-runtime-options button:hover, .worker-runtime-options button:focus { background: var(--bg-alt); }
|
|
50
|
+
.worker-runtime-options [aria-selected="true"] { background: color-mix(in srgb, var(--brand-indigo) 10%, var(--bg)); }
|
|
51
|
+
.worker-proposal-effort { grid-column: 1 / -1; }
|
|
52
|
+
.worker-proposal-effort-buttons { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; border: 1px solid var(--border-subtle); border-radius: 7px; background: var(--bg-alt); }
|
|
53
|
+
.worker-proposal-effort-btn { flex: 1; min-width: 45px; min-height: 27px; border: 1px solid transparent; border-radius: 4px; background: transparent; color: var(--text-muted); font: inherit; font-size: 11px; cursor: pointer; }
|
|
124
54
|
.worker-proposal-effort-btn:hover { color: var(--text); }
|
|
125
|
-
.worker-proposal-effort-btn.active { background: color-mix(in srgb, var(--
|
|
126
|
-
|
|
127
|
-
.worker-proposal-decision {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
55
|
+
.worker-proposal-effort-btn.active { color: var(--text); background: var(--bg); border-color: color-mix(in srgb, var(--brand-indigo) 40%, var(--border)); box-shadow: 0 1px 2px rgba(var(--shadow-rgb), .08); }
|
|
56
|
+
.worker-proposal-runtime { margin: 10px 0 0; padding-top: 10px; border-top: 1px solid var(--border-subtle); color: var(--text); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
|
|
57
|
+
.worker-proposal-decision { margin-top: 8px; color: var(--text-muted); font-size: 11px; line-height: 1.5; }
|
|
58
|
+
.worker-proposal-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; margin-top: 12px; }
|
|
59
|
+
.worker-proposal-action { min-height: 32px; padding: 0 11px; border-radius: 7px; font: inherit; font-size: 12px; font-weight: 550; cursor: pointer; }
|
|
60
|
+
.worker-proposal-action.secondary { border: 1px solid var(--border); background: var(--bg); color: var(--text); }
|
|
61
|
+
.worker-proposal-action.primary { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--brand-indigo); background: var(--brand-indigo); color: #fff; box-shadow: 0 1px 2px rgba(var(--shadow-rgb), .1); }
|
|
62
|
+
.worker-proposal-action.primary .lucide { width: 14px; height: 14px; }
|
|
63
|
+
.worker-proposal-action:active:not(:disabled) { transform: translateY(1px); }
|
|
64
|
+
.worker-proposal-action:disabled, .worker-proposal-select:disabled, .worker-runtime-trigger:disabled, .worker-proposal-effort-btn:disabled { cursor: default; opacity: .6; }
|
|
65
|
+
.worker-proposal-error { margin-top: 10px; padding: 8px 10px; border-radius: 6px; font-size: 12px; line-height: 1.5; color: var(--error); background: var(--error-8); }
|
|
66
|
+
.worker-proposal-card .hidden { display: none; }
|
|
67
|
+
.worker-proposal-card :is(button, select, summary):focus-visible, .worker-runtime-options button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
68
|
+
@container (max-width: 340px) {
|
|
69
|
+
.worker-proposal-header { display: grid; grid-template-columns: 28px minmax(0, 1fr); }
|
|
70
|
+
.worker-proposal-status { grid-column: 2; justify-self: start; }
|
|
71
|
+
.worker-proposal-config { grid-template-columns: 1fr; }
|
|
72
|
+
.worker-proposal-actions > button { flex: 1 1 100%; }
|
|
132
73
|
}
|
|
133
|
-
|
|
134
|
-
.worker-proposal-decision.automatic { color: var(--accent2); }
|
|
135
|
-
|
|
136
|
-
.worker-proposal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 14px; }
|
|
137
|
-
.worker-proposal-action { min-height: 34px; padding: 0 13px; border-radius: 9px; font: inherit; font-size: 11px; font-weight: 700; cursor: pointer; }
|
|
138
|
-
.worker-proposal-action.secondary { border: 1px solid var(--border); background: transparent; color: var(--text-muted); }
|
|
139
|
-
.worker-proposal-action.primary { display: inline-flex; align-items: center; gap: 6px; border: 1px solid color-mix(in srgb, var(--accent2) 55%, var(--border)); background: color-mix(in srgb, var(--accent2) 16%, var(--bg)); color: var(--accent2); }
|
|
140
|
-
.worker-proposal-action.primary .lucide { width: 13px; height: 13px; }
|
|
141
|
-
.worker-proposal-action:not(:disabled):hover { filter: brightness(1.12); }
|
|
142
|
-
.worker-proposal-action:disabled, .worker-proposal-select:disabled, .worker-proposal-effort-btn:disabled { cursor: default; opacity: 0.58; }
|
|
143
|
-
|
|
144
|
-
.worker-proposal-error { margin-top: 10px; padding: 8px 10px; border-radius: 8px; font-size: 10px; line-height: 1.45; }
|
|
145
|
-
.worker-proposal-error { color: var(--error); background: var(--error-8); }
|
|
146
|
-
.worker-proposal-error.hidden { display: none; }
|
|
147
|
-
.worker-proposal-card[data-status="starting"] .worker-proposal-status,
|
|
148
|
-
.worker-proposal-card[data-status="running"] .worker-proposal-status { animation: worker-proposal-pulse 1.6s ease-in-out infinite; }
|
|
149
|
-
.worker-proposal-card[data-status="completed"] { border-color: color-mix(in srgb, var(--success) 35%, var(--border)); }
|
|
150
|
-
.worker-proposal-card[data-status="completed"] .worker-proposal-status { color: var(--success); background: var(--success-8); }
|
|
151
|
-
.worker-proposal-card[data-status="declined"] .worker-proposal-status { color: var(--text-muted); background: rgba(var(--overlay-rgb), 0.04); }
|
|
152
|
-
|
|
153
|
-
@keyframes worker-proposal-pulse { 50% { opacity: 0.55; } }
|
|
154
|
-
|
|
155
74
|
@media (max-width: 720px) {
|
|
156
|
-
.worker-proposal-card { width: calc(100% - 24px); padding:
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
.worker-
|
|
75
|
+
.worker-proposal-card { width: calc(100% - 24px); padding: 12px; }
|
|
76
|
+
}
|
|
77
|
+
@media (pointer: coarse) {
|
|
78
|
+
.worker-runtime-picker > select { display: block; }
|
|
79
|
+
.worker-runtime-trigger { display: none; }
|
|
80
|
+
.worker-proposal-action, .worker-proposal-select { min-height: 40px; }
|
|
160
81
|
}
|
|
82
|
+
@media (prefers-reduced-motion: reduce) { .worker-proposal-brief > summary .lucide { transition: none; } }
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/* You shares the Logs workbench and adds Clay's shell-level voice. */
|
|
2
|
+
/* Me is a fixed Clay-only tool, sharing the palette's geometry. */
|
|
3
|
+
body.clay-workspace-active #session-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
|
|
4
|
+
body.clay-workspace-active #session-actions .tool-btn-label { display: block; white-space: nowrap; word-break: normal; }
|
|
5
|
+
#you-button { display: none; }
|
|
6
|
+
body.clay-workspace-active #you-button { display: flex; }
|
|
7
|
+
body.clay-workspace-active #sidebar-column #you-button.palette-tile > .lucide {
|
|
8
|
+
color: var(--brand-indigo);
|
|
9
|
+
background: #fff;
|
|
10
|
+
box-shadow: inset 0 0 0 1px rgba(88,87,252,.18), 0 1px 2px rgba(var(--shadow-rgb),.1), 0 3px 7px rgba(88,87,252,.16);
|
|
11
|
+
}
|
|
12
|
+
body.clay-workspace-active #sidebar-column #you-button.palette-tile:hover > .lucide {
|
|
13
|
+
color: var(--brand-indigo);
|
|
14
|
+
background: #fff;
|
|
15
|
+
box-shadow: inset 0 0 0 1px rgba(88,87,252,.3), 0 2px 3px rgba(var(--shadow-rgb),.1), 0 4px 9px rgba(88,87,252,.22);
|
|
16
|
+
}
|
|
17
|
+
body.clay-workspace-active #sidebar-column #you-button.palette-tile.active > .lucide {
|
|
18
|
+
box-shadow: inset 0 0 0 1px rgba(88,87,252,.4), 0 0 0 2px rgba(88,87,252,.12), 0 3px 7px rgba(88,87,252,.18);
|
|
19
|
+
}
|
|
20
|
+
#you-button .tool-btn-label { font-weight: 600; }
|
|
21
|
+
#you-button:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
|
|
22
|
+
#session-actions [data-fixed="true"] { -webkit-user-drag: none; }
|
|
23
|
+
#you-panel button:focus-visible, #you-activity button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
|
|
24
|
+
.you-status { margin: 0; padding: 7px 14px; color: var(--text-muted); font-size: 12px; }
|
|
25
|
+
.you-status:empty { display: none; }
|
|
26
|
+
.you-pending { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 14px; border-bottom: 1px solid var(--border-subtle); color: var(--text-secondary); font-size: 12px; }
|
|
27
|
+
.you-pending.hidden { display: none; }
|
|
28
|
+
#you-panel .you-more, .you-pending button { border: 1px solid var(--border); background: var(--bg-alt); color: var(--text); border-radius: 7px; padding: 5px 9px; font: inherit; font-size: 12px; cursor: pointer; }
|
|
29
|
+
.you-more { margin: 6px 14px; }
|
|
30
|
+
.you-evidence { white-space: pre-wrap; margin: 12px 24px 24px; padding-top: 12px; border-top: 1px solid var(--border-subtle); color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
|
|
31
|
+
.you-categories { position: relative; }
|
|
32
|
+
.you-categories summary { display: flex; align-items: center; cursor: pointer; white-space: nowrap; }
|
|
33
|
+
.you-category-options { position: absolute; right: 0; top: 42px; z-index: 2; min-width: 160px; max-height: 240px; overflow: auto; padding: 4px; border: 1px solid var(--border); border-radius: 8px; background: var(--bg); box-shadow: 0 3px 9px rgba(0,0,0,.12); }
|
|
34
|
+
.you-category-options button { display: block; width: 100%; padding: 6px 8px; border: 0; border-radius: 5px; background: transparent; color: var(--text); text-align: left; font: inherit; font-size: 12px; cursor: pointer; }
|
|
35
|
+
.you-category-options button:hover, .you-category-options button[aria-pressed="true"] { background: var(--bg-alt); }
|
|
36
|
+
#you-activity { display: none; position: relative; margin-left: 0; min-width: 0; max-width: 360px; }
|
|
37
|
+
#you-activity.announcing { display: block; }
|
|
38
|
+
#you-activity.announcing ~ .top-bar-brand-link { display: none; }
|
|
39
|
+
#you-activity-toggle { position: relative; display: flex; align-items: center; height: 28px; width: 100%; padding: 0 10px; border: 1.5px solid var(--text-muted); border-radius: 15px 16px 14px 7px; background: var(--bg-alt); color: var(--text-secondary); cursor: pointer; font: inherit; font-size: 11px; box-shadow: 0 1px 2px rgba(0,0,0,.08); }
|
|
40
|
+
#you-activity-toggle::before, #you-activity-toggle::after { content: ''; position: absolute; left: 14px; bottom: -13px; width: 17px; height: 14px; background: var(--text-muted); clip-path: polygon(0 0, 100% 0, 35% 100%); pointer-events: none; }
|
|
41
|
+
#you-activity-toggle::after { left: 15px; bottom: -10px; width: 14px; height: 11px; background: var(--bg-alt); }
|
|
42
|
+
#you-activity-text { overflow: hidden; white-space: nowrap; text-overflow: clip; }
|
|
43
|
+
#you-activity-history { position: absolute; left: 0; top: 38px; width: min(390px, calc(100vw - 80px)); max-height: min(520px, calc(100dvh - 70px)); overflow-y: auto; z-index: 500; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); box-shadow: 0 5px 18px rgba(0,0,0,.16); color: var(--text); }
|
|
44
|
+
#you-activity-history header { display: flex; align-items: center; justify-content: space-between; padding: 10px 12px; border-bottom: 1px solid var(--border-subtle); font-size: 12px; }
|
|
45
|
+
#you-activity-history button { font: inherit; font-size: 12px; color: var(--text-secondary); cursor: pointer; }
|
|
46
|
+
#you-activity-close { border: 0; background: transparent; }
|
|
47
|
+
.you-activity-entry { display: grid; gap: 5px; width: 100%; padding: 10px 12px; text-align: left; border: 0; border-bottom: 1px solid var(--border-subtle); background: transparent; line-height: 1.5; }
|
|
48
|
+
.you-activity-entry:hover { background: var(--bg-alt); }
|
|
49
|
+
.you-activity-entry small { color: var(--text-dimmer); font-size: 10px; }
|
|
50
|
+
.you-activity-empty { padding: 10px 12px; color: var(--text-dimmer); font-size: 12px; }
|
|
51
|
+
#you-activity-open, #you-activity-more { margin: 8px 12px; padding: 5px 9px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg-alt); }
|
|
52
|
+
@media (max-width: 1023px) { #you-wide, #you-fullscreen { display: none; } }
|
|
53
|
+
@media (max-width: 768px) {
|
|
54
|
+
#you-activity { margin-left: 0; max-width: 190px; }
|
|
55
|
+
#you-activity-toggle::before, #you-activity-toggle::after { display: none; }
|
|
56
|
+
#you-activity-history { width: min(340px, calc(100vw - 20px)); }
|
|
57
|
+
#you-panel .project-logs-subtitle { display: none; }
|
|
58
|
+
#you-panel .project-logs-window-actions { margin-left: auto; }
|
|
59
|
+
}
|
|
60
|
+
#you-activity .hidden, #you-panel .hidden { display: none; }
|
|
61
|
+
@media (min-width: 769px) { #you-activity { max-width: min(360px, calc(50vw - 270px)); } }
|
|
62
|
+
|
|
63
|
+
#you-announcement-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
|
|
64
|
+
|
|
65
|
+
/* The personal mark echoes the raised sidebar tool faces. */
|
|
66
|
+
.me-mark { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; flex: 0 0 22px; color: var(--accent); background: color-mix(in srgb, var(--brand-indigo) 13%, var(--bg)); border: 1px solid color-mix(in srgb, var(--brand-indigo) 26%, var(--border)); border-radius: 8px 8px 6px 8px; }
|
|
67
|
+
.me-mark .lucide { width: 15px; height: 15px; stroke-width: 2; }
|
|
68
|
+
.me-unread-badge { position: absolute; top: 3px; right: calc(50% - 24px); border: 1px solid var(--sidebar-bg); min-width: 15px; height: 15px; box-sizing: border-box; padding: 0 4px; border-radius: 8px; background: var(--brand-indigo); color: #fff; font-size: 10px; font-weight: 600; line-height: 15px; text-align: center; }
|
|
69
|
+
.me-unread-badge[hidden] { display: none; }
|
|
70
|
+
.me-new-badge { flex: 0 0 auto; color: var(--accent); background: color-mix(in srgb, var(--brand-indigo) 10%, transparent); border-radius: 4px; padding: 2px 5px; font-size: 10px; font-weight: 600; }
|
|
71
|
+
|
|
72
|
+
.me-introduction { flex: 0 0 auto; margin: 0; padding: 12px 16px; color: var(--text-secondary); font-size: 12px; line-height: 1.6; border-bottom: 1px solid var(--border-subtle); }
|
|
73
|
+
|
|
74
|
+
@media (prefers-reduced-motion: reduce) { .you-button, .you-button > .lucide { transition: none; transform: none; } }
|
package/lib/public/index.html
CHANGED
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
<!-- === Top Bar (full width, forms reverse-ㄱ with icon strip) === -->
|
|
57
57
|
<div id="top-bar">
|
|
58
58
|
<div class="top-bar-left-pills">
|
|
59
|
+
<a class="top-bar-brand-link" href="https://github.com/chadbyte/clay" target="_blank" rel="noopener noreferrer" aria-label="Clay Studio repository"><span class="top-bar-brand-wordmark" aria-hidden="true"></span></a>
|
|
59
60
|
<button id="pwa-install-pill" class="top-bar-install-btn hidden" title="Open as app"><i data-lucide="download"></i> Open as app</button>
|
|
60
61
|
<div id="update-pill-wrap" class="top-bar-update hidden">
|
|
61
62
|
<button id="update-pill" class="top-bar-update-btn"><i data-lucide="arrow-up-circle"></i> <span id="update-version"></span> is available. Update now</button>
|
|
@@ -81,114 +82,40 @@
|
|
|
81
82
|
|
|
82
83
|
<!-- === Icon Strip === -->
|
|
83
84
|
<div id="icon-strip">
|
|
84
|
-
<
|
|
85
|
-
<
|
|
86
|
-
|
|
87
|
-
<span class="icon-strip-home-badge" id="icon-strip-home-badge"></span>
|
|
88
|
-
</div>
|
|
85
|
+
<button type="button" class="icon-strip-home icon-strip-brand" aria-label="Open Clay" disabled>
|
|
86
|
+
<img class="icon-strip-logo" src="clay-studio-symbol.png" width="38" height="38" alt="">
|
|
87
|
+
</button>
|
|
89
88
|
<div class="icon-strip-separator"></div>
|
|
90
89
|
<button type="button" class="icon-strip-hint" id="icon-strip-hint-project" data-switcher-mode="project" aria-label="Switch project"></button>
|
|
90
|
+
<div class="icon-strip-filter" id="icon-strip-filter">
|
|
91
|
+
<button type="button" class="icon-strip-filter-knob" id="icon-strip-filter-knob" data-mode="all" aria-label="Showing all. Activate to show projects only">
|
|
92
|
+
<span class="icon-strip-filter-face" aria-hidden="true">
|
|
93
|
+
<span class="icon-strip-filter-pointer"></span>
|
|
94
|
+
<span class="icon-strip-filter-category" data-filter-icon="all"><i data-lucide="layout-grid"></i></span>
|
|
95
|
+
<span class="icon-strip-filter-category" data-filter-icon="projects"><i data-lucide="folder"></i></span>
|
|
96
|
+
<span class="icon-strip-filter-category" data-filter-icon="mates"><i data-lucide="users"></i></span>
|
|
97
|
+
</span>
|
|
98
|
+
<span class="icon-strip-filter-label" id="icon-strip-filter-label">All</span>
|
|
99
|
+
</button>
|
|
100
|
+
</div>
|
|
91
101
|
<div class="icon-strip-projects" id="icon-strip-projects">
|
|
92
102
|
<div class="skeleton-icon-strip-item"></div>
|
|
93
103
|
<div class="skeleton-icon-strip-item"></div>
|
|
94
104
|
</div>
|
|
95
|
-
<button class="icon-strip-add" id="icon-strip-add" title="Add project"><i data-lucide="plus"></i></button>
|
|
105
|
+
<button class="icon-strip-add" id="icon-strip-add" type="button" title="Add" aria-label="Add a Mate or project" aria-haspopup="dialog"><i data-lucide="plus"></i></button>
|
|
96
106
|
<div class="icon-strip-mate-section" id="icon-strip-mate-section">
|
|
97
107
|
<button type="button" class="icon-strip-hint hidden" id="icon-strip-hint-mate" data-switcher-mode="mate" aria-label="Switch mate"></button>
|
|
98
108
|
<div class="icon-strip-users hidden" id="icon-strip-users"></div>
|
|
99
109
|
</div>
|
|
100
|
-
<div class="icon-strip-me" id="icon-strip-me"></div>
|
|
101
110
|
</div>
|
|
102
111
|
|
|
103
112
|
<!-- === Main Area (sidebar + resize-handle + main-column) === -->
|
|
104
113
|
<div id="main-area">
|
|
105
114
|
<section id="projects-hub" class="hidden" aria-label="Projects"></section>
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
<div class="home-sidebar-brand-row">
|
|
111
|
-
<div class="home-sidebar-brand"><img src="/clay-studio-symbol.png" alt=""><span class="home-sidebar-brand-wordmark">Clay Studio</span></div>
|
|
112
|
-
<div class="home-sidebar-brand-actions">
|
|
113
|
-
<button id="home-sidebar-all" class="home-sidebar-icon-btn" type="button" title="Search chats" aria-label="Search chats"><i data-lucide="search"></i></button>
|
|
114
|
-
<button id="home-sidebar-collapse" class="home-sidebar-icon-btn" type="button" title="Collapse sidebar" aria-label="Collapse Home sidebar"><i data-lucide="panel-left-close"></i></button>
|
|
115
|
-
</div>
|
|
116
|
-
</div>
|
|
117
|
-
<nav class="home-sidebar-primary-actions" aria-label="Home actions">
|
|
118
|
-
<button id="home-nav-projects" class="home-sidebar-action" type="button" title="Projects" aria-label="Projects"><span class="home-sidebar-action-icon" aria-hidden="true"><i data-lucide="folder"></i></span><span>Projects</span></button>
|
|
119
|
-
<button id="home-sidebar-new" class="home-sidebar-action home-sidebar-new" type="button" title="New Chat" aria-label="Start a new chat with the current Mate" disabled><span class="home-sidebar-action-icon" aria-hidden="true"><i data-lucide="message-square-plus"></i></span><span>New Chat</span></button>
|
|
120
|
-
<button id="home-sidebar-debate" class="home-sidebar-action" type="button" title="Browse debates" aria-label="Browse debates" aria-pressed="false"><span class="home-sidebar-action-icon" aria-hidden="true"><i data-lucide="messages-square"></i></span><span>Debates</span></button>
|
|
121
|
-
<button id="home-tools-btn" class="home-sidebar-action" type="button" title="Capsules" aria-label="Capsules" aria-expanded="false" aria-controls="home-tool-workbench"><span class="home-sidebar-action-icon" aria-hidden="true"><i data-lucide="box"></i></span><span id="home-tools-label">Capsules</span><span id="home-tools-activity" class="home-tools-activity" aria-hidden="true"></span></button>
|
|
122
|
-
</nav>
|
|
123
|
-
<section class="home-sidebar-section home-sidebar-mate-section" aria-labelledby="home-sidebar-mate-label">
|
|
124
|
-
<button id="home-sidebar-mate-label" class="home-sidebar-label home-sidebar-mate-toggle" type="button" aria-expanded="true" aria-controls="home-mate-list"><span>Mates</span><i data-lucide="chevron-down" aria-hidden="true"></i></button>
|
|
125
|
-
<div id="home-mate-list" class="home-mate-list" role="list" aria-label="Mates"></div>
|
|
126
|
-
</section>
|
|
127
|
-
<section class="home-sidebar-section home-sidebar-recents" aria-labelledby="home-sidebar-recent-label">
|
|
128
|
-
<div class="home-sidebar-recents-heading">
|
|
129
|
-
<div id="home-sidebar-recent-label" class="home-sidebar-label">Chats</div>
|
|
130
|
-
<div class="home-chat-scope" role="group" aria-label="Chat scope">
|
|
131
|
-
<button class="home-chat-scope-option" type="button" data-home-chat-scope="current" aria-pressed="false" aria-controls="home-sidebar-recent-list">Current</button>
|
|
132
|
-
<button class="home-chat-scope-option" type="button" data-home-chat-scope="all" aria-pressed="true" aria-controls="home-sidebar-recent-list">All</button>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
<div id="home-sidebar-recent-list" class="home-sidebar-recent-list"></div>
|
|
136
|
-
</section>
|
|
137
|
-
</aside>
|
|
138
|
-
<div id="home-workspace" class="home-workspace">
|
|
139
|
-
<button id="home-sidebar-expand" class="home-sidebar-expand" type="button" title="Show sidebar" aria-label="Show Home sidebar" aria-describedby="home-sidebar-expand-brand-label"><i data-lucide="panel-left-open"></i><span id="home-sidebar-expand-brand-label" class="home-sidebar-brand-wordmark home-sidebar-expand-wordmark">Clay Studio</span></button>
|
|
140
|
-
<button id="home-close-control" class="home-close-control" type="button" title="Return to project" aria-label="Return to project"><i data-lucide="folder" aria-hidden="true"></i><span>Project</span></button>
|
|
141
|
-
<section id="home-project-empty" class="home-project-empty" aria-labelledby="home-project-empty-title" hidden>
|
|
142
|
-
<div class="home-project-empty-content">
|
|
143
|
-
<span class="home-project-empty-icon" aria-hidden="true"><i data-lucide="folder-plus"></i></span>
|
|
144
|
-
<p class="home-project-empty-eyebrow">PROJECT WORKSPACE</p>
|
|
145
|
-
<h1 id="home-project-empty-title" tabindex="-1">Start a new project</h1>
|
|
146
|
-
<p id="home-project-empty-status" class="home-project-empty-status" role="status">Create an empty project, then continue in its workspace.</p>
|
|
147
|
-
<button id="home-project-empty-create" type="button">Start a new project</button>
|
|
148
|
-
</div>
|
|
149
|
-
</section>
|
|
150
|
-
<div id="home-conversation-region" class="home-conversation-region">
|
|
151
|
-
<div id="home-mate-chat" class="home-mate-chat">
|
|
152
|
-
<div class="home-mate-chat-stage">
|
|
153
|
-
<section id="home-debates-archive" class="home-debates-archive" aria-labelledby="home-debates-title" hidden>
|
|
154
|
-
<header class="home-debates-header">
|
|
155
|
-
<div>
|
|
156
|
-
<p class="home-debates-eyebrow">Home archive</p>
|
|
157
|
-
<h1 id="home-debates-title" tabindex="-1">Debates</h1>
|
|
158
|
-
<p id="home-debates-summary" class="home-debates-summary" role="status" aria-live="polite">Loading debates…</p>
|
|
159
|
-
</div>
|
|
160
|
-
<button id="home-debates-new" class="home-debates-new" type="button"><i data-lucide="messages-square" aria-hidden="true"></i><span>New debate</span></button>
|
|
161
|
-
</header>
|
|
162
|
-
<form id="home-debates-topic-form" class="home-debates-topic-form" hidden>
|
|
163
|
-
<label for="home-debates-topic">What should the debate be about?</label>
|
|
164
|
-
<textarea id="home-debates-topic" rows="2" maxlength="1000" required placeholder="Enter a question or topic"></textarea>
|
|
165
|
-
<div class="home-debates-topic-actions">
|
|
166
|
-
<p id="home-debates-topic-status" role="status" aria-live="polite">Press Ctrl or Command + Enter to start.</p>
|
|
167
|
-
<button id="home-debates-topic-cancel" type="button">Cancel</button>
|
|
168
|
-
<button id="home-debates-topic-submit" type="submit">Start debate</button>
|
|
169
|
-
</div>
|
|
170
|
-
</form>
|
|
171
|
-
<div id="home-debates-list" class="home-debates-list" aria-label="Debate archive"></div>
|
|
172
|
-
</section>
|
|
173
|
-
<div class="home-mate-chat-messages" id="home-mate-chat-messages"></div>
|
|
174
|
-
<button id="home-chat-new-activity" class="home-chat-new-activity" type="button" hidden><i data-lucide="arrow-down" aria-hidden="true"></i><span>New activity</span></button>
|
|
175
|
-
<div id="home-mate-chat-composer-frame" class="home-mate-chat-composer-frame">
|
|
176
|
-
<div id="home-mate-chat-composer" class="home-mate-chat-composer">
|
|
177
|
-
<textarea id="home-mate-chat-input" rows="1" placeholder="Message"></textarea>
|
|
178
|
-
<button id="home-stt-btn" type="button" aria-label="Start voice input"><i data-lucide="mic"></i></button>
|
|
179
|
-
<button id="home-mate-chat-send" aria-label="Send message"><i data-lucide="arrow-up"></i></button>
|
|
180
|
-
</div>
|
|
181
|
-
<div id="home-mate-chat-session-model" class="home-mate-chat-session-model" role="status" aria-live="polite" title="Model for this conversation: Loading model…">
|
|
182
|
-
<i data-lucide="cpu" aria-hidden="true"></i><span>Conversation model</span><span aria-hidden="true">·</span><span id="home-mate-chat-session-model-value">Loading model…</span><button id="home-mate-chat-session-model-choose" class="hidden" type="button">Choose model</button>
|
|
183
|
-
</div>
|
|
184
|
-
<div id="home-debate-controls-slot" class="home-debate-controls-slot" hidden></div>
|
|
185
|
-
</div>
|
|
186
|
-
<div id="home-mate-chat-suggestions" class="home-mate-chat-suggestions"></div>
|
|
187
|
-
</div>
|
|
188
|
-
</div>
|
|
189
|
-
</div>
|
|
190
|
-
<div id="home-dock-backdrop" class="home-dock-backdrop"></div>
|
|
191
|
-
<div id="home-dock-divider" class="home-dock-divider" role="separator" aria-label="Resize Capsules Workbench" aria-orientation="vertical" tabindex="0"></div>
|
|
115
|
+
<!-- Retained inert Capsule host markup. Capsules and their stored data are
|
|
116
|
+
preserved for a future placement without keeping the Home board live. -->
|
|
117
|
+
<template id="retained-capsule-host-template">
|
|
118
|
+
<section id="retained-capsule-host" aria-label="Retained Capsules Workbench">
|
|
192
119
|
<section id="home-tool-workbench" class="home-tool-workbench" aria-label="Capsules Workbench">
|
|
193
120
|
<div class="home-dock-header">
|
|
194
121
|
<button id="home-dock-return" class="home-dock-return" type="button"><i data-lucide="arrow-left"></i><span>Return to conversation</span></button>
|
|
@@ -201,15 +128,14 @@
|
|
|
201
128
|
</div>
|
|
202
129
|
<div class="home-dock-content" id="home-dock-content"></div>
|
|
203
130
|
</section>
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
</div>
|
|
131
|
+
</section>
|
|
132
|
+
</template>
|
|
207
133
|
|
|
208
134
|
<div id="sidebar-column">
|
|
209
135
|
<div class="title-bar-sidebar">
|
|
210
136
|
<button class="title-bar-project-dropdown" id="title-bar-project-dropdown">
|
|
211
137
|
<span class="title-bar-project-icon" id="title-bar-project-icon" aria-hidden="true"></span>
|
|
212
|
-
<span class="title-bar-project-name" id="title-bar-project-name"></span>
|
|
138
|
+
<span class="title-bar-project-label"><span class="title-bar-project-name" id="title-bar-project-name"></span><span class="title-bar-project-default" id="title-bar-project-default"></span></span>
|
|
213
139
|
<i data-lucide="chevron-down" class="title-bar-chevron"></i>
|
|
214
140
|
</button>
|
|
215
141
|
<span id="sidebar-presence" class="sidebar-presence"></span>
|
|
@@ -655,7 +581,6 @@
|
|
|
655
581
|
<div id="mobile-tab-bar">
|
|
656
582
|
<button class="mobile-tab" data-tab="chat" id="mob-tab-chat"><i data-lucide="message-square"></i><span class="mobile-tab-label">Chat</span></button>
|
|
657
583
|
<button class="mobile-tab" data-tab="search" id="mob-tab-search"><i data-lucide="search"></i><span class="mobile-tab-label">Search</span></button>
|
|
658
|
-
<button class="mobile-tab-home" id="mobile-home-btn"><img src="/clay-studio-symbol.png" alt="Clay Studio home" class="mobile-home-icon"></button>
|
|
659
584
|
<button class="mobile-tab" data-tab="tools" id="mob-tab-tools"><i data-lucide="wrench"></i><span class="mobile-tab-label">Tools</span></button>
|
|
660
585
|
<button class="mobile-tab" data-tab="settings" id="mob-tab-settings"><i data-lucide="settings"></i><span class="mobile-tab-label">Settings</span></button>
|
|
661
586
|
</div>
|
|
@@ -941,13 +866,16 @@
|
|
|
941
866
|
|
|
942
867
|
<!-- === User Island === -->
|
|
943
868
|
<div id="user-island">
|
|
944
|
-
<
|
|
869
|
+
<button class="user-island-profile" id="user-account-trigger" type="button" aria-label="Open account menu" aria-controls="account-popover" aria-expanded="false">
|
|
945
870
|
<div class="user-island-avatar"><span class="user-island-avatar-letter">?</span></div>
|
|
946
871
|
<div class="user-island-info">
|
|
947
872
|
<span class="user-island-name"></span>
|
|
948
873
|
<span class="user-island-cta hidden">Personalize your name</span>
|
|
949
874
|
</div>
|
|
950
|
-
</
|
|
875
|
+
</button>
|
|
876
|
+
<button id="cursor-share-toggle" class="cursor-share-toggle" type="button" aria-pressed="false" aria-label="Cursor sharing unavailable" disabled>
|
|
877
|
+
<i data-lucide="mouse-pointer-2" class="cursor-share-icon" aria-hidden="true"></i>
|
|
878
|
+
</button>
|
|
951
879
|
<div class="user-island-actions">
|
|
952
880
|
<button id="user-settings-btn" title="User settings"><i data-lucide="settings"></i></button>
|
|
953
881
|
</div>
|
|
@@ -1161,7 +1089,7 @@
|
|
|
1161
1089
|
<label class="settings-toggle-row">
|
|
1162
1090
|
<div>
|
|
1163
1091
|
<span class="settings-label">Mate DMs in projects</span>
|
|
1164
|
-
<div class="settings-hint">Show Mate DM shortcuts in project workspaces.
|
|
1092
|
+
<div class="settings-hint">Show Mate DM shortcuts in project workspaces. Debates, mentions, and Mate memory stay available.</div>
|
|
1165
1093
|
</div>
|
|
1166
1094
|
<input type="checkbox" id="us-mates-enabled">
|
|
1167
1095
|
<span class="toggle-track"><span class="toggle-thumb"></span></span>
|
|
@@ -2274,6 +2202,10 @@
|
|
|
2274
2202
|
<script src="https://cdn.jsdelivr.net/npm/@xterm/addon-fit@0/lib/addon-fit.min.js"></script>
|
|
2275
2203
|
<script src="https://cdn.jsdelivr.net/npm/@xterm/addon-web-links@0/lib/addon-web-links.min.js"></script>
|
|
2276
2204
|
<script src="https://cdn.jsdelivr.net/npm/@xterm/addon-webgl@0/lib/addon-webgl.min.js"></script>
|
|
2205
|
+
<script src="vendor/codemirror/codemirror.js"></script>
|
|
2206
|
+
<script src="vendor/codemirror/markdown.js"></script>
|
|
2207
|
+
<script src="vendor/codemirror/continuelist.js"></script>
|
|
2208
|
+
<script src="vendor/codemirror/show-hint.js"></script>
|
|
2277
2209
|
<script type="module" src="app.js?v=20260913-scheduled-tasks4"></script>
|
|
2278
2210
|
<div id="pwa-install-modal" class="pwa-modal hidden">
|
|
2279
2211
|
<div class="pwa-modal-backdrop"></div>
|