@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
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
.sq-title { margin: 0; font: 600 16px/1.3 var(--body); color: var(--ink); overflow-wrap: anywhere; }
|
|
7
7
|
.sq-secs { font: 500 12.5px/1.3 var(--body); color: var(--hot); white-space: nowrap; }
|
|
8
8
|
.sq-q { border: 0; margin: 12px 0 0; padding: 0; min-width: 0; }
|
|
9
|
-
.sq-q-text { padding: 0; font:
|
|
9
|
+
.sq-q-text { padding: 0; font: 700 15.5px/1.4 var(--body); color: var(--ink); overflow-wrap: anywhere; }
|
|
10
10
|
.sq-q-tag { font-size: 12.5px; font-weight: 500; color: var(--tertiary); }
|
|
11
11
|
.sq-fine { margin: 2px 0 0; font-size: 12.5px; color: var(--tertiary); }
|
|
12
12
|
.sq-options { display: grid; gap: 2px; margin-top: 8px; }
|
|
@@ -27,6 +27,44 @@
|
|
|
27
27
|
.sq-leave { min-height: 44px; font-size: 14px; font-weight: 500; color: var(--ink); }
|
|
28
28
|
.sq-note { margin: 8px 0 0; font-size: 13px; color: var(--hot); }
|
|
29
29
|
.sq-note.hidden { display: none; }
|
|
30
|
+
/* 6.99.26: read like Claude Code's question in the terminal (Miles 11/07): the strip, numbered options, Other as the
|
|
31
|
+
last number, the answers to review, Submit. */
|
|
32
|
+
.sq-steps { display: flex; flex-wrap: wrap; gap: 0 14px; margin: 8px 0 0; padding-bottom: 6px; border-bottom: 1px solid var(--row-border); }
|
|
33
|
+
.sq-step { min-height: 36px; padding: 0; font: 500 13.5px/1.2 var(--mono); color: var(--sub); white-space: nowrap; }
|
|
34
|
+
.sq-step:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
|
|
35
|
+
.sq-num { flex: none; min-width: 1.6em; font: 500 14px/1.45 var(--mono); color: var(--sub); }
|
|
36
|
+
.sq-option-other { align-items: center; cursor: text; }
|
|
37
|
+
.sq-option-other .sq-other { flex: 1; width: auto; min-width: 0; margin-top: 0; }
|
|
38
|
+
.sq-review { margin: 14px 0 0; padding: 10px 12px; border-radius: 10px; background: var(--qopen); }
|
|
39
|
+
.sq-review-head { margin: 0 0 4px; font: 600 13px/1.3 var(--body); color: var(--sub); }
|
|
40
|
+
.sq-review-list { margin: 0; padding-left: 1.4em; display: grid; gap: 4px; font-size: 14px; line-height: 1.4; }
|
|
41
|
+
.sq-review-q { font-weight: 600; color: var(--ink); margin-right: 8px; }
|
|
42
|
+
.sq-review-a { color: var(--ink); overflow-wrap: anywhere; }
|
|
43
|
+
.sq-review-a.empty { color: var(--tertiary); }
|
|
44
|
+
/* 6.99.27 (Miles's phone test): what each question needs, and a footer that keeps the progress and the answer button
|
|
45
|
+
on screen while the card is, at every Duo size. Questions clear the top bar and the footer when scrolled to. */
|
|
46
|
+
.sq-need { margin: 2px 0 0; font-size: 13px; line-height: 1.4; }
|
|
47
|
+
.sq-need[data-state="todo"] { color: var(--hot); font-weight: 600; }
|
|
48
|
+
.sq-need[data-state="done"] { color: var(--tertiary); }
|
|
49
|
+
.sq-q { scroll-margin-top: calc(var(--topbar-h, 48px) + var(--safe-top, 0px) + 12px); scroll-margin-bottom: 150px; }
|
|
50
|
+
.ta-q .sq-q { scroll-margin-top: 8px; }
|
|
51
|
+
.sq-review { scroll-margin-bottom: 150px; }
|
|
52
|
+
.sq-foot { position: sticky; bottom: var(--safe-bottom, 0px); z-index: 2; margin: 12px -16px -12px; padding: 10px 16px 12px; background: var(--panel);
|
|
53
|
+
border-top: 1px solid var(--row-border); border-radius: 0 0 16px 16px; }
|
|
54
|
+
.sq-foot .sq-acts { margin-top: 0; }
|
|
55
|
+
/* QA 6.99.27: on the page, the footer rides above the on-screen keyboard (questions.js sets --sq-kb from
|
|
56
|
+
visualViewport). In Today's overlay the layer already follows the visible viewport, so the footer sits at the
|
|
57
|
+
bottom of the sheet with no gap. */
|
|
58
|
+
.sq-host .sq-foot { bottom: max(var(--safe-bottom, 0px), var(--sq-kb, 0px)); }
|
|
59
|
+
.ta-q .sq-foot { bottom: 0; }
|
|
60
|
+
.sq-progress { margin: 0 0 8px; font: 500 13.5px/1.35 var(--body); color: var(--sub); }
|
|
61
|
+
.sq-progress[data-alert] { color: var(--hot); font-weight: 600; }
|
|
62
|
+
.sq-keys { display: none; margin-top: 10px; }
|
|
63
|
+
@media (hover: hover) and (pointer: fine) { .sq-keys { display: block; } }
|
|
64
|
+
/* 6.99.26: a question the Mac's own prompt waits on. Read-only, so it does not take the waiting colour. */
|
|
65
|
+
.sq-card.sq-mac { border-color: var(--panel-border); }
|
|
66
|
+
.sq-mac-q { margin: 10px 0 0; }
|
|
67
|
+
.sq-mac-line { margin: 10px 0 0; font-size: 13.5px; line-height: 1.4; color: var(--sub); }
|
|
30
68
|
@media (max-width: 480px) {
|
|
31
69
|
.sq-acts .cx-btn { flex: 1; justify-content: center; }
|
|
32
70
|
}
|