@gotcos/glasses-server 6.99.20 → 6.99.29
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/CHANGELOG.md +257 -0
- package/docs/work-orchestrator.md +20 -0
- package/package.json +1 -1
- package/server/index.ts +48 -5
- package/server/lib/agent-session-output-images.ts +280 -0
- package/server/lib/agent-session-store.ts +3 -1
- package/server/lib/agent-session-turns.ts +18 -7
- package/server/lib/client-liveness.ts +38 -3
- package/server/lib/codex-subagent-activity.ts +36 -0
- package/server/lib/g2-turn-provenance.ts +679 -0
- package/server/lib/media-store.ts +41 -2
- package/server/lib/permission-broker.ts +94 -17
- package/server/lib/queue-turn-evidence.ts +19 -2
- package/server/lib/session-halt.ts +15 -1
- package/server/lib/session-stream-events.ts +4 -0
- package/server/lib/session-subagents.ts +155 -0
- package/server/lib/session-turn-attachments.ts +245 -0
- package/server/lib/thread-turn-queue-deliver.ts +17 -2
- package/server/lib/thread-turn-queue.ts +10 -0
- package/server/lib/today-brief.ts +731 -0
- package/server/lib/turn-file-store.ts +202 -0
- package/server/lib/turn-footer.ts +81 -0
- package/server/lib/web-control-static.ts +226 -0
- package/server/lib/web-memories-bridge.ts +9 -8
- package/server/lib/web-pet-choice.ts +225 -0
- package/server/lib/web-pet.ts +226 -0
- package/server/lib/work-lens-rounds.ts +29 -4
- package/server/routes/agent-session-bindings.ts +164 -16
- package/server/routes/agent-sessions.ts +77 -8
- package/server/routes/client-instance.ts +12 -1
- package/server/routes/cursor-stop-followup.ts +30 -1
- package/server/routes/g2-turns.ts +46 -0
- package/server/routes/health.ts +9 -0
- package/server/routes/media.ts +32 -8
- package/server/routes/permission-broker.ts +47 -4
- package/server/routes/thread-turn-queue.ts +148 -8
- package/server/routes/today-brief.ts +148 -0
- package/server/routes/web-control.ts +110 -7
- package/server/routes/work-lens-rounds.ts +19 -5
- package/server/web-control/app.css +26 -5
- package/server/web-control/app.js +1351 -177
- package/server/web-control/control.css +1 -1
- package/server/web-control/index.html +31 -13
- package/server/web-control/memories/memory-workspace.js +1 -1
- package/server/web-control/panes/cos-chat.css +22 -0
- package/server/web-control/panes/cos-chat.js +264 -48
- package/server/web-control/panes/meetings.css +15 -2
- package/server/web-control/panes/meetings.js +20 -9
- package/server/web-control/panes/memories.css +291 -0
- package/server/web-control/panes/memories.js +2208 -0
- package/server/web-control/panes/questions.css +39 -1
- package/server/web-control/panes/questions.js +419 -64
- package/server/web-control/panes/reader-media.js +154 -0
- package/server/web-control/panes/sessions.css +2 -0
- package/server/web-control/panes/settings.js +136 -6
- package/server/web-control/panes/today-actions.css +167 -0
- package/server/web-control/panes/today-actions.js +1303 -0
- package/server/web-control/panes/work.css +54 -0
- package/server/web-control/panes/work.js +1037 -18
- package/server/web-control/shell.js +6 -2
- package/server/web-control/theme.js +0 -2
- package/server/web-control/memories/memories-app.js +0 -1561
- package/server/web-control/memories/memories-theme.css +0 -73
- package/server/web-control/memories/memories.html +0 -72
- package/server/web-control/memories/memory-stewardship.js +0 -63
|
@@ -259,3 +259,57 @@
|
|
|
259
259
|
.wk-more-body { display: flex; flex-direction: column; gap: 10px; padding-top: 8px; }
|
|
260
260
|
.wk-edit-foot { display: flex; flex-direction: column; gap: 8px; padding-top: 12px; border-top: 1px solid var(--hairline); }
|
|
261
261
|
.wk-edit-foot .wk-confirm { margin: 0; }
|
|
262
|
+
|
|
263
|
+
/* ── Work chat (Control's WorkTaskChatView) ─────────────── */
|
|
264
|
+
/* The detail repaints these parts around the composer; display: contents keeps the column's own gaps. */
|
|
265
|
+
.wk-part { display: contents; }
|
|
266
|
+
.wk-chat { padding-top: 14px; border-top: 1px solid var(--hairline); }
|
|
267
|
+
.wk-rounds { display: flex; flex-direction: column; gap: 12px; }
|
|
268
|
+
.wk-round { padding: 14px; border-radius: 10px; background: var(--panel); border: 1px solid var(--panel-border); display: flex; flex-direction: column; gap: 8px; min-width: 0; }
|
|
269
|
+
.wk-round p { margin: 0; }
|
|
270
|
+
.wk-round-q { font: 600 14.5px/1.45 var(--body); color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
271
|
+
.wk-round-from { margin: -4px 0 0; }
|
|
272
|
+
.wk-round-answer { font-size: 14px; }
|
|
273
|
+
.wk-round-state { margin: 2px 0 0; }
|
|
274
|
+
.wk-round-actions { gap: 10px; }
|
|
275
|
+
.wk-pre { white-space: pre-wrap; }
|
|
276
|
+
.wk-warn { color: var(--amber); }
|
|
277
|
+
.wk-assign { padding: 12px; border-radius: 8px; background: var(--qopen); border: 1px solid var(--panel-border); display: flex; flex-direction: column; gap: 6px; min-width: 0; }
|
|
278
|
+
.wk-assign strong { font-size: 13.5px; line-height: 1.35; overflow-wrap: anywhere; }
|
|
279
|
+
.wk-updates { display: flex; flex-direction: column; gap: 4px; }
|
|
280
|
+
.wk-updates h3 { margin: 0; font: 600 13px/1.3 var(--body); color: var(--ink); }
|
|
281
|
+
.wk-updates ul { margin: 0; padding-left: 18px; font-size: 13px; line-height: 1.5; color: var(--ink); }
|
|
282
|
+
.wk-cmp { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 10px; background: var(--panel); border: 1px solid var(--panel-border); min-width: 0; }
|
|
283
|
+
.wk-cmp p { margin: 0; }
|
|
284
|
+
.wk-cmp-status:empty { display: none; }
|
|
285
|
+
.wk-cmp-status { display: flex; flex-direction: column; gap: 4px; }
|
|
286
|
+
.wk-cmp-phase { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--ink); }
|
|
287
|
+
.wk-spin { width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--panel-border); border-top-color: var(--accent); animation: wk-spin 0.9s linear infinite; flex: none; }
|
|
288
|
+
@keyframes wk-spin { to { transform: rotate(360deg); } }
|
|
289
|
+
@media (prefers-reduced-motion: reduce) { .wk-spin { animation: none; border-top-color: var(--panel-border); background: var(--accent); } }
|
|
290
|
+
.wk-cmp-files { color: var(--sub); }
|
|
291
|
+
.wk-cmp-files strong { color: var(--ink); font-weight: 600; }
|
|
292
|
+
.wk-cmp-picks { display: flex; flex-wrap: wrap; gap: 8px 14px; }
|
|
293
|
+
.wk-cmp-picks p { margin: 0; }
|
|
294
|
+
.wk-cmp-text.field { width: 100%; min-height: 96px; resize: none; font-size: 16px; line-height: 1.45; padding: 10px 12px; border-radius: 9px; overflow-y: hidden; }
|
|
295
|
+
.wk-cmp-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
|
|
296
|
+
.wk-cmp-count { flex: none; }
|
|
297
|
+
.wk-cmp-count.over { color: var(--danger); font-weight: 600; }
|
|
298
|
+
.wk-cmp-size { flex: 1 1 140px; min-width: 0; }
|
|
299
|
+
.wk-cmp-hint { margin: 0; flex: 1 1 auto; text-align: right; }
|
|
300
|
+
.wk-cmp-plan { flex: none; margin-left: auto; min-width: 88px; justify-content: center; }
|
|
301
|
+
@media (pointer: coarse), (max-width: 599px) {
|
|
302
|
+
.wk-cmp-plan, .wk-round-actions .cx-btn, .wk-round .cx-btn { min-height: 44px; height: auto; padding: 0 18px; font-size: 15px; }
|
|
303
|
+
}
|
|
304
|
+
@media (max-width: 599px) { .wk-cmp-picks .wk-pick { flex: 1 1 130px; } }
|
|
305
|
+
.wk-preview summary { cursor: pointer; font: 600 12.5px/1.3 var(--body); color: var(--accent); min-height: 32px; display: flex; align-items: center; }
|
|
306
|
+
.wk-preview-text { margin: 6px 0; padding: 10px; border-radius: 8px; background: var(--panel); border: 1px solid var(--panel-border); font: 400 11.5px/1.5 var(--mono); color: var(--ink);
|
|
307
|
+
white-space: pre-wrap; overflow-wrap: anywhere; max-height: 260px; overflow-y: auto; }
|
|
308
|
+
.wk-send-confirm { display: flex; flex-direction: column; gap: 8px; padding: 12px; border-radius: 9px; background: var(--qopen); border: 1px solid var(--accent); }
|
|
309
|
+
.wk-send-confirm p { margin: 0; }
|
|
310
|
+
.wk-picker { display: flex; flex-direction: column; gap: 8px; padding: 10px; border-radius: 9px; border: 1px solid var(--panel-border); background: var(--panel); }
|
|
311
|
+
.wk-picker .field { min-height: 40px; font-size: 15px; padding: 7px 10px; border-radius: 8px; }
|
|
312
|
+
.wk-pick-list { display: flex; flex-direction: column; max-height: 320px; overflow-y: auto; overscroll-behavior: contain; }
|
|
313
|
+
.wk-pick-row { display: flex; align-items: center; gap: 10px; padding: 8px 2px; border-top: 1px solid var(--hairline); }
|
|
314
|
+
.wk-pick-row > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
|
|
315
|
+
.wk-pick-row strong { font-size: 13.5px; }
|