@songsid/agend 2.3.4-beta.4 → 2.3.4-beta.6
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/dist/backend/claude-code.d.ts +3 -0
- package/dist/backend/claude-code.js +88 -3
- package/dist/backend/claude-code.js.map +1 -1
- package/dist/backend/grok.d.ts +0 -2
- package/dist/backend/grok.js +0 -22
- package/dist/backend/grok.js.map +1 -1
- package/dist/backend/types.d.ts +0 -2
- package/dist/backend/types.js.map +1 -1
- package/dist/daemon.d.ts +1 -1
- package/dist/daemon.js +62 -82
- package/dist/daemon.js.map +1 -1
- package/dist/delivery-outbox.test.js +2 -2
- package/dist/delivery-outbox.test.js.map +1 -1
- package/dist/ui/shared/app.css +1 -15
- package/dist/ui/shared/panel-view.js +10 -185
- package/dist/ui/shared/view-strings.js +0 -23
- package/dist/view-api.d.ts +0 -15
- package/dist/view-api.js +33 -94
- package/dist/view-api.js.map +1 -1
- package/package.json +1 -1
|
@@ -255,7 +255,7 @@ describe("DeliveryOutbox", () => {
|
|
|
255
255
|
`const claimed = outbox.claimNext(manager.managerBootId, name => manager.lifecycle.daemons.get(name)?.bootId ?? null, new Set());`,
|
|
256
256
|
`const instanceDir = root + "/instances/worker"; mkdirSync(instanceDir, { recursive: true }); writeFileSync(instanceDir + "/window-id", "@worker");`,
|
|
257
257
|
`target.wake = async () => {}; target.waitForInputTransientToClear = async () => true; target.getWindowId = () => "@worker";`,
|
|
258
|
-
`target.
|
|
258
|
+
`target.tmux = { getWindowId: () => "@worker", capturePane: async () => "❯", pasteBuffer: async () => true, sendSpecialKey: async () => { process.stdout.write("raw-enter-accepted\\n"); return new Promise(() => {}); }, getLastPasteError: () => undefined, isLastPasteFailureRecoverable: () => true };`,
|
|
259
259
|
`target.queueRawPaste("/compact", 0, false, { deliveryId: row.deliveryId, attemptNo: claimed.attemptNo, submissionMode: "raw_paste" });`,
|
|
260
260
|
`setInterval(() => {}, 1000);`,
|
|
261
261
|
].join("\n");
|
|
@@ -337,7 +337,7 @@ describe("DeliveryOutbox", () => {
|
|
|
337
337
|
`target.hasPositiveDeliveryInput = async () => true;`,
|
|
338
338
|
`target.waitForInputTransientToClear = async () => true;`,
|
|
339
339
|
`target.capturePaneEvidence = async () => ({ captured: true });`,
|
|
340
|
-
`target.
|
|
340
|
+
`target.tmux = { getWindowId: () => "@old", capturePane: async () => "", pasteBuffer: async () => true, sendSpecialKey: async () => { process.stdout.write("tmux-enter-accepted\\n"); return new Promise(() => {}); }, getLastPasteError: () => undefined, isLastPasteFailureRecoverable: () => true };`,
|
|
341
341
|
`target.pushChannelMessage("hello", { delivery_id: row.deliveryId, delivery_attempt: String(claimed.attemptNo), from_instance: "source", correlation_id: "same-correlation", user: "instance:source", user_id: "instance:source", message_id: "message-native-queue-crash", chat_id: "", thread_id: "", ts: new Date().toISOString() });`,
|
|
342
342
|
`setInterval(() => {}, 1000);`,
|
|
343
343
|
].join("\n");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delivery-outbox.test.js","sourceRoot":"","sources":["../src/delivery-outbox.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"delivery-outbox.test.js","sourceRoot":"","sources":["../src/delivery-outbox.test.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/shared/app.css
CHANGED
|
@@ -1335,20 +1335,6 @@ body.side-resizing, body.side-resizing * { cursor: col-resize !important; user-s
|
|
|
1335
1335
|
/* #1844 Fleet overview → Docs: the arrow says "opens a new tab". */
|
|
1336
1336
|
.hd-docs .hd-ext { color: var(--text-3); }
|
|
1337
1337
|
.v-term { flex: 1; min-height: 0; overflow: auto; scrollbar-gutter: stable; padding: 5px 6px; background: #000000; position: relative; }
|
|
1338
|
-
/* M-2262: the terminal's box — the scrolling terminal, and its scrollback controls over it (they never scroll with it). */
|
|
1339
|
-
.v-term-box { flex: 1; min-height: 0; display: flex; flex-direction: column; position: relative; }
|
|
1340
|
-
.v-term:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
|
|
1341
|
-
.v-term-earlier, .v-term-latest { position: absolute; right: var(--s-4); z-index: 2; display: inline-flex; align-items: center; gap: 4px; opacity: .88; }
|
|
1342
|
-
.v-term-earlier { top: var(--s-2); }
|
|
1343
|
-
.v-term-latest { bottom: var(--s-3); opacity: 1; }
|
|
1344
|
-
.v-term-logbar { flex-shrink: 0; margin: 0; padding: var(--s-2) var(--s-4); background: #111111; border-bottom: 1px solid #2a2a2a; text-align: right; font-size: var(--fs-sm); }
|
|
1345
|
-
.v-term-logbar a { display: inline-flex; align-items: center; gap: 4px; color: #9cc8ff; text-decoration: underline; text-underline-offset: 2px; min-height: 28px; }
|
|
1346
|
-
@media (pointer: coarse) { .v-term-logbar a { min-height: 44px; } }
|
|
1347
|
-
.v-term-latest.has-new { background: var(--accent-fill); border-color: transparent; color: var(--on-accent); }
|
|
1348
|
-
.v-term-earlier:hover, .v-term-earlier:focus-visible { opacity: 1; }
|
|
1349
|
-
.v-term-history-note { position: absolute; left: var(--s-3); right: var(--s-3); bottom: var(--s-3); z-index: 2; margin: 0; padding: var(--s-1) var(--s-3); border-radius: var(--r-sm); background: rgba(20, 20, 20, .92); border: 1px solid #3a3a3a; color: #e0e0e0; font-size: var(--fs-sm); }
|
|
1350
|
-
@media (max-width: 600px) { .v-term-history-note { left: var(--s-4); right: var(--s-4); } }
|
|
1351
|
-
@media (pointer: coarse) { .v-term-earlier, .v-term-latest { min-height: 44px; padding-left: var(--s-3); padding-right: var(--s-3); } }
|
|
1352
1338
|
.v-pre { margin: 0; min-width: 100%; min-height: 100%; font-family: var(--font-mono); line-height: 1.2; white-space: pre; color: #d0d0d0; }
|
|
1353
1339
|
.v-pre .ansi[data-b] { font-weight: var(--fw-bold); }
|
|
1354
1340
|
/* #1582: faint text (SGR 2) — a CLI's suggestion or placeholder, never input — stays faint here. */
|
|
@@ -2318,7 +2304,7 @@ html.oo-immersive .p-fleet > .panel-body { z-index: 50; }
|
|
|
2318
2304
|
.p-fleet > .seg, .p-settings > .seg,
|
|
2319
2305
|
.p-fleet > .panel-body, .p-needs > .panel-body, .p-notices > .panel-body, .p-settings > .panel-body,
|
|
2320
2306
|
.p-log > .panel-body, .p-details > .panel-body, .p-view > .panel-body,
|
|
2321
|
-
.p-log > .log-bar, .p-view > .v-term
|
|
2307
|
+
.p-log > .log-bar, .p-view > .v-term, .p-view > .v-id, .p-view > .v-watching { position: relative; z-index: 1; }
|
|
2322
2308
|
/* Keep the existing Apply bar's sticky behavior, in its own bounded stock band. */
|
|
2323
2309
|
.p-settings > .s-pending { z-index: 1; }
|
|
2324
2310
|
|
|
@@ -26,7 +26,7 @@ import { viewStore } from "./view-roster-store.js";
|
|
|
26
26
|
/** #1580: the app's stream says the fleet is not answering (a restart): the View's polls skip their turn until it is. */
|
|
27
27
|
const fleetUnreachable = () => appStore.get().connection === "reconnecting";
|
|
28
28
|
import { navigate } from "./app-nav.js";
|
|
29
|
-
import {
|
|
29
|
+
import { viewPath } from "./app-route.js";
|
|
30
30
|
import { Dialog } from "./ui-dialog.js";
|
|
31
31
|
import { Empty, ErrorState, Skeleton } from "./ui-states.js";
|
|
32
32
|
import { Icon } from "./ui-icons.js";
|
|
@@ -198,8 +198,8 @@ export function ViewPanel({ route, navKey }) {
|
|
|
198
198
|
else if (!it) body = html`<div data-trust="panel-content" class="panel-body center"><${Empty} icon="alert" title=${tn("notFound", { name })} hint=${tn("notFoundHint")} /></div>`;
|
|
199
199
|
else if (guest && !trusted) body = html`<div data-trust="panel-content" class="panel-body center"><${Empty} icon="view" title=${tn("guestNeedsTrusted")} hint=${tn("guestNeedsTrustedHint")} /></div>`;
|
|
200
200
|
else if (guest) body = html`<p data-trust="panel-content" class="v-watching" role="note">${tn("guestWatching")}</p>
|
|
201
|
-
<${Terminal} key=${name} name=${name} lease=${lease} density=${density} every=${GUEST_PANE_MS}
|
|
202
|
-
else body = html`<${Terminal} key=${name} name=${name} lease=${lease} density=${density}
|
|
201
|
+
<${Terminal} key=${name} name=${name} lease=${lease} density=${density} every=${GUEST_PANE_MS} />`;
|
|
202
|
+
else body = html`<${Terminal} key=${name} name=${name} lease=${lease} density=${density} />
|
|
203
203
|
<${ViewIdentity} it=${it} viewOnly=${viewOnly} onEdit=${() => setDialog("edit")} />`;
|
|
204
204
|
|
|
205
205
|
return html`<div data-effect-panel="view" class="panel p-view">
|
|
@@ -214,73 +214,11 @@ export function ViewPanel({ route, navKey }) {
|
|
|
214
214
|
|
|
215
215
|
/** #2855: how often a guest's View reads the pane (the server allows it two reads a second). */
|
|
216
216
|
const GUEST_PANE_MS = 1000;
|
|
217
|
-
/**
|
|
218
|
-
|
|
219
|
-
*
|
|
220
|
-
* M-2262 (the user, hmsg-435f6df6): scrolling back. Following (the default), it shows the pane's screen as it is now.
|
|
221
|
-
* Scrolling up — the wheel, a touch drag, PageUp/↑/Home, or "Earlier output" — reads the pane's scrollback once
|
|
222
|
-
* (`?history=1`: tmux's history above the screen, bounded) and shows it: reading. While reading, nothing moves the
|
|
223
|
-
* person: the refresh keeps reading the screen only to say "New output below", and never redraws. "Jump to latest"
|
|
224
|
-
* (or End), or scrolling to the bottom, follows again. Everything happens in this page, over text tmux was asked to
|
|
225
|
-
* capture: never copy-mode and never a key to the pane (hmsg-b8a170c0 — scrolling must never affect delivery).
|
|
226
|
-
*/
|
|
227
|
-
/** How long a scrollback note stays (it covers the terminal's bottom rows). */
|
|
228
|
-
const NOTE_MS = 6000;
|
|
229
|
-
/** A scroll this soon after the person's own wheel, touch, key or pointer is theirs (not one this page made). */
|
|
230
|
-
const GESTURE_MS = 1000;
|
|
231
|
-
/**
|
|
232
|
-
* #2969 review (Prism P3): is `live` (a screen read) still what `shown` ends with — the screen as it was when reading
|
|
233
|
-
* began (the scrollback's last lines, or the screen itself)? Trailing blank rows are not content.
|
|
234
|
-
*/
|
|
235
|
-
export function sameScreen(shown, live) {
|
|
236
|
-
if (shown == null || live == null) return shown === live;
|
|
237
|
-
const trim = (t) => String(t).replace(/\n+$/, "");
|
|
238
|
-
const s = trim(shown).split("\n"), l = trim(live).split("\n");
|
|
239
|
-
return s.length >= l.length && s.slice(s.length - l.length).join("\n") === l.join("\n");
|
|
240
|
-
}
|
|
241
|
-
/** M-2262 survey: CLIs that redraw their whole window (no tmux scrollback even outside the alternate screen). */
|
|
242
|
-
const REDRAWS_IN_PLACE = new Set(["grok"]);
|
|
243
|
-
/** M-2262 survey: the full-screen CLIs (the alternate screen, or redrawn in place) — tmux keeps nothing above their screen. */
|
|
244
|
-
const FULL_SCREEN = new Set(["claude-code", "opencode", "grok"]); // agy: its chat UI unverified — found by the read
|
|
245
|
-
/** The full-screen CLIs whose earlier output the Log tab shows (it reads their transcript: log-service.ts). */
|
|
246
|
-
const LOG_HAS_HISTORY = new Set(["claude-code"]);
|
|
247
|
-
/**
|
|
248
|
-
* M-2267 option (2), the leader's safe default: where a full-screen CLI's earlier output is — its Log tab (or that the
|
|
249
|
-
* Log tab is off, and where to turn it on). Only for whom the Log tab is (a signed-in session on the full app; never a
|
|
250
|
-
* guest or a View-only reader: they get the plain words), and only for a CLI the Log tab reads.
|
|
251
|
-
*/
|
|
252
|
-
function logLinkFor(name, backend, signedIn) {
|
|
253
|
-
if (!signedIn || !LOG_HAS_HISTORY.has(backend)) return null;
|
|
254
|
-
const on = typeof document !== "undefined" && document.body?.dataset?.logTab === "1";
|
|
255
|
-
return on ? { href: logPath(name), text: tn("earlierInLog") } : { href: sectionPath("web-dashboard"), text: tn("logTabOff") };
|
|
256
|
-
}
|
|
257
|
-
function Terminal({ name, lease, density, every = 800, backend = "", signedIn = false }) {
|
|
217
|
+
/** The live terminal: the pane every 800 ms (passive), drawn as escaped markup, its font fitted to the pane's grid. */
|
|
218
|
+
function Terminal({ name, lease, density, every = 800 }) {
|
|
258
219
|
const term = useRef(null), pre = useRef(null);
|
|
259
220
|
const grid = useRef({ cols: 0, rows: 0, applied: 0, key: "" });
|
|
260
221
|
const [problem, setProblem] = useState(null);
|
|
261
|
-
// "follow" | "loading" | "reading"; the screen's text when reading began, the newest read since; a note about history.
|
|
262
|
-
const [mode, setModeState] = useState("follow");
|
|
263
|
-
const modeRef = useRef("follow");
|
|
264
|
-
const setMode = (m) => { modeRef.current = m; setModeState(m); };
|
|
265
|
-
const [newBelow, setNewBelow] = useState(false);
|
|
266
|
-
const [historyNote, setHistoryNoteState] = useState(null);
|
|
267
|
-
// A CLI found to keep no scrollback (full screen): nothing is offered or read again for it; the note says why, briefly.
|
|
268
|
-
const [noScrollback, setNoScrollback] = useState(FULL_SCREEN.has(backend));
|
|
269
|
-
const noScrollbackRef = useRef(FULL_SCREEN.has(backend));
|
|
270
|
-
const logLink = logLinkFor(name, backend, signedIn);
|
|
271
|
-
const noteTimer = useRef(null);
|
|
272
|
-
const setHistoryNote = (note, brief = false) => {
|
|
273
|
-
lease.clear(noteTimer.current); noteTimer.current = null;
|
|
274
|
-
setHistoryNoteState(note);
|
|
275
|
-
if (note && brief) noteTimer.current = lease.timeout(() => setHistoryNoteState(null), NOTE_MS);
|
|
276
|
-
};
|
|
277
|
-
// `reading`: the text shown while reading (the scrollback, or the screen as it was when the person left the bottom);
|
|
278
|
-
// `latest`: the newest screen read; `history`: whether what is shown has the scrollback in it.
|
|
279
|
-
// `drawn` (#2969 review P3): the text actually on the page now — what reading starts from, never a newer read not drawn.
|
|
280
|
-
const screenAt = useRef({ reading: null, latest: null, history: false, drawn: null });
|
|
281
|
-
// #2969 review (Prism P2): when the person last moved the terminal themselves (wheel, touch, key, pointer).
|
|
282
|
-
const gestureAt = useRef(-Infinity);
|
|
283
|
-
const recentGesture = () => performance.now() - gestureAt.current < GESTURE_MS;
|
|
284
222
|
// #1674: the text size as of this render. The pane refresh and the resize handlers below are set up once per mount
|
|
285
223
|
// and keep the fit() of that render; reading the size here, not from that render's props, keeps them on the current
|
|
286
224
|
// choice (they used to put the mount-time size back within one 800 ms refresh).
|
|
@@ -307,27 +245,7 @@ function Terminal({ name, lease, density, every = 800, backend = "", signedIn =
|
|
|
307
245
|
g.applied = size;
|
|
308
246
|
p.style.fontSize = `${size.toFixed(2)}px`; // CSSOM, never a style attribute (#1300)
|
|
309
247
|
};
|
|
310
|
-
/** Keep a following view on the newest line (a grid taller than the box at the larger sizes scrolls). */
|
|
311
|
-
const toBottom = () => { const box = term.current; if (box) box.scrollTop = box.scrollHeight; };
|
|
312
|
-
const draw = (text) => {
|
|
313
|
-
pre.current.innerHTML = ansiToHtml(text); // escaped by construction: markup only from ansiToHtml's own spans
|
|
314
|
-
paintAnsi(pre.current);
|
|
315
|
-
screenAt.current.drawn = text;
|
|
316
|
-
};
|
|
317
248
|
useEffect(() => { grid.current.key = ""; fit(); }, [density]);
|
|
318
|
-
const atBottom = () => { const box = term.current; return !box || box.scrollHeight - box.scrollTop - box.clientHeight <= 2; };
|
|
319
|
-
/** Reading what is shown now (`text`, with or without the scrollback): the refresh only says whether there is more. */
|
|
320
|
-
const startReading = (text, history) => {
|
|
321
|
-
screenAt.current.reading = text; screenAt.current.history = history;
|
|
322
|
-
setNewBelow(false); setMode("reading");
|
|
323
|
-
};
|
|
324
|
-
const grid1 = (r) => {
|
|
325
|
-
const c = Number(r.headers.get("X-Pane-Cols")), rw = Number(r.headers.get("X-Pane-Rows"));
|
|
326
|
-
if (c >= 1 && rw >= 1 && (c !== grid.current.cols || rw !== grid.current.rows)) { grid.current.cols = c; grid.current.rows = rw; grid.current.key = ""; }
|
|
327
|
-
};
|
|
328
|
-
// The person asked for what scrolled off: one bounded read, then reading (or why there is nothing to read).
|
|
329
|
-
const loadEarlier = useRef(null);
|
|
330
|
-
const follow = useRef(null);
|
|
331
249
|
useEffect(() => {
|
|
332
250
|
const reads = readStream(lease);
|
|
333
251
|
const refresh = async () => {
|
|
@@ -345,72 +263,15 @@ function Terminal({ name, lease, density, every = 800, backend = "", signedIn =
|
|
|
345
263
|
if (!r.ok) { setProblem(r.status === 404 ? tn("paneUnavailable") : r.status === 403 && guestPage() ? tn("guestNeedsTrusted") : tn("paneFailed", { name, status: r.status })); return; }
|
|
346
264
|
const text = await r.text();
|
|
347
265
|
if (!reads.live(token) || !pre.current) return;
|
|
266
|
+
const c = Number(r.headers.get("X-Pane-Cols")), rw = Number(r.headers.get("X-Pane-Rows"));
|
|
267
|
+
if (c >= 1 && rw >= 1 && (c !== grid.current.cols || rw !== grid.current.rows)) { grid.current.cols = c; grid.current.rows = rw; grid.current.key = ""; }
|
|
348
268
|
setProblem(null);
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
if (modeRef.current !== "follow") { if (modeRef.current === "reading") setNewBelow(!sameScreen(screenAt.current.reading, text)); return; }
|
|
352
|
-
// #2969 review (Prism P2): the person is moving a screen taller than its box away from the bottom right now —
|
|
353
|
-
// this is them leaving it, not the latest to follow: read on, nothing redrawn.
|
|
354
|
-
// Reading starts from what is drawn; this newer read (not drawn) is then the new output below.
|
|
355
|
-
if (recentGesture() && !atBottom()) { startReading(screenAt.current.drawn, false); setNewBelow(!sameScreen(screenAt.current.drawn, text)); return; }
|
|
356
|
-
grid1(r);
|
|
357
|
-
draw(text);
|
|
269
|
+
pre.current.innerHTML = ansiToHtml(text); // escaped by construction: markup only from ansiToHtml's own spans
|
|
270
|
+
paintAnsi(pre.current);
|
|
358
271
|
fit();
|
|
359
|
-
toBottom();
|
|
360
272
|
} catch { /* a transient error keeps the last frame */ }
|
|
361
273
|
finally { reads.end(token); }
|
|
362
274
|
};
|
|
363
|
-
loadEarlier.current = async () => {
|
|
364
|
-
// From following, or from reading what was on the screen (the person reached its top): never twice, never over it.
|
|
365
|
-
const from = modeRef.current;
|
|
366
|
-
if (from !== "follow" && !(from === "reading" && !screenAt.current.history)) return;
|
|
367
|
-
if (noScrollbackRef.current) { setHistoryNote(tn("noEarlier"), true); return; } // known: nothing to read
|
|
368
|
-
const box0 = term.current;
|
|
369
|
-
// Where the person is, measured from the end: the screen's lines stay where they are under the scrollback added.
|
|
370
|
-
const fromEnd = box0 ? box0.scrollHeight - box0.scrollTop : 0;
|
|
371
|
-
const back = () => { setMode(from); if (from === "follow") toBottom(); };
|
|
372
|
-
setMode("loading"); setHistoryNote(tn("loadingEarlier"));
|
|
373
|
-
try {
|
|
374
|
-
const r = await lease.fetch(`/api/pane/${encodeURIComponent(name)}?history=1`);
|
|
375
|
-
if (!lease.current() || modeRef.current !== "loading") return;
|
|
376
|
-
// #2969 review (Prism P2): a scrollback read that failed — or answered without its facts — changes nothing shown.
|
|
377
|
-
if (!r.ok || r.headers.get("X-Pane-History-Lines") == null) { back(); setHistoryNote(r.status === 429 ? null : tn("earlierFailed"), true); return; }
|
|
378
|
-
const text = await r.text();
|
|
379
|
-
if (!lease.current() || modeRef.current !== "loading" || !pre.current) return;
|
|
380
|
-
// A full-screen CLI (the alternate screen, or one that redraws its whole window) leaves nothing above its screen;
|
|
381
|
-
// any other with no history yet has simply not scrolled: say which, keep following.
|
|
382
|
-
if (r.headers.get("X-Pane-Alternate") === "1" || REDRAWS_IN_PLACE.has(backend)) {
|
|
383
|
-
noScrollbackRef.current = true; setNoScrollback(true);
|
|
384
|
-
back(); setHistoryNote(tn("noEarlier"), true); return;
|
|
385
|
-
}
|
|
386
|
-
if (r.headers.get("X-Pane-History-Lines") === "0") { back(); setHistoryNote(tn("nothingEarlier"), true); return; }
|
|
387
|
-
grid1(r);
|
|
388
|
-
const lines = text.split("\n").length, rows = grid.current.rows || 0;
|
|
389
|
-
// #2969 review (Prism P3): new output is judged against what is shown — the scrollback's own last screen — and
|
|
390
|
-
// a screen read while this one was out already counts.
|
|
391
|
-
screenAt.current.reading = text; screenAt.current.history = true;
|
|
392
|
-
setNewBelow(screenAt.current.latest != null && !sameScreen(text, screenAt.current.latest));
|
|
393
|
-
setMode("reading"); setHistoryNote(null);
|
|
394
|
-
draw(text);
|
|
395
|
-
fit();
|
|
396
|
-
const box = term.current;
|
|
397
|
-
if (box) {
|
|
398
|
-
const lineH = lines > 0 ? pre.current.scrollHeight / lines : 16;
|
|
399
|
-
// From following (at the bottom): a few lines up — the earlier output right above. From reading: the same lines.
|
|
400
|
-
box.scrollTop = from === "follow"
|
|
401
|
-
? Math.max(0, box.scrollHeight - box.clientHeight - lineH * Math.min(3, Math.max(1, lines - rows)))
|
|
402
|
-
: Math.max(0, box.scrollHeight - fromEnd);
|
|
403
|
-
}
|
|
404
|
-
} catch { if (lease.current()) { back(); setHistoryNote(tn("earlierFailed"), true); } }
|
|
405
|
-
};
|
|
406
|
-
follow.current = () => {
|
|
407
|
-
if (modeRef.current === "follow") return;
|
|
408
|
-
setMode("follow"); setNewBelow(false); setHistoryNote(null); screenAt.current.history = false;
|
|
409
|
-
const latest = screenAt.current.latest;
|
|
410
|
-
if (latest != null && pre.current) { draw(latest); fit(); }
|
|
411
|
-
toBottom();
|
|
412
|
-
refresh();
|
|
413
|
-
};
|
|
414
275
|
refresh();
|
|
415
276
|
lease.interval(refresh, every);
|
|
416
277
|
let timer = null;
|
|
@@ -421,44 +282,8 @@ function Terminal({ name, lease, density, every = 800, backend = "", signedIn =
|
|
|
421
282
|
ro.observe(term.current);
|
|
422
283
|
lease.hold(() => ro.disconnect());
|
|
423
284
|
}
|
|
424
|
-
// Scrolling up asks for the earlier output; reaching the bottom while reading follows again.
|
|
425
|
-
const box = term.current;
|
|
426
|
-
if (box) {
|
|
427
|
-
// Asking for the earlier output: from following, or from reading the screen as it was — at the top.
|
|
428
|
-
const mayLoad = () => (modeRef.current === "follow" || (modeRef.current === "reading" && !screenAt.current.history)) && box.scrollTop <= 0;
|
|
429
|
-
const gesture = () => { gestureAt.current = performance.now(); };
|
|
430
|
-
lease.on(box, "wheel", (e) => { gesture(); if (e.deltaY < 0 && mayLoad()) loadEarlier.current(); }, { passive: true });
|
|
431
|
-
let touchY = null;
|
|
432
|
-
lease.on(box, "touchstart", (e) => { gesture(); touchY = e.touches && e.touches[0] ? e.touches[0].clientY : null; }, { passive: true });
|
|
433
|
-
lease.on(box, "touchmove", (e) => {
|
|
434
|
-
gesture();
|
|
435
|
-
const y = e.touches && e.touches[0] ? e.touches[0].clientY : null;
|
|
436
|
-
if (touchY == null || y == null) return;
|
|
437
|
-
if (y - touchY > 24 && mayLoad()) { touchY = null; loadEarlier.current(); }
|
|
438
|
-
}, { passive: true });
|
|
439
|
-
lease.on(box, "pointerdown", gesture, { passive: true }); // the scrollbar, dragged
|
|
440
|
-
lease.on(box, "keydown", (e) => {
|
|
441
|
-
gesture();
|
|
442
|
-
if ((e.key === "PageUp" || e.key === "ArrowUp" || e.key === "Home") && mayLoad()) { e.preventDefault(); loadEarlier.current(); }
|
|
443
|
-
else if (modeRef.current === "reading" && e.key === "End") { e.preventDefault(); follow.current(); }
|
|
444
|
-
});
|
|
445
|
-
lease.on(box, "scroll", () => {
|
|
446
|
-
if (modeRef.current === "reading") { if (atBottom()) follow.current(); return; }
|
|
447
|
-
// #2969 review (Prism P2): a screen taller than its box (a larger Aa), moved up from the bottom by the person:
|
|
448
|
-
// reading what is on it — the refresh no longer pulls them back down.
|
|
449
|
-
if (modeRef.current === "follow" && recentGesture() && !atBottom()) startReading(screenAt.current.drawn, false);
|
|
450
|
-
}, { passive: true });
|
|
451
|
-
}
|
|
452
285
|
}, [lease, name]);
|
|
453
|
-
|
|
454
|
-
// A full-screen CLI's Log link is a bar above the terminal, not over it: its first row is never covered.
|
|
455
|
-
return html`<div class="v-term-box">
|
|
456
|
-
${noScrollback && logLink ? html`<p class="v-term-logbar"><a class="v-term-log" href=${logLink.href}>${logLink.text}<${Icon} name="forward" size=${14} /></a></p>` : null}
|
|
457
|
-
<div data-trust="panel-content" class=${`v-term${reading ? " is-reading" : ""}`} ref=${term} tabindex="0" aria-label=${tn(reading ? "readingEarlier" : "earlierHint")}>${problem ? html`<p class="v-term-note" role="status">${problem}</p>` : null}<pre ref=${pre} class="v-pre"></pre></div>
|
|
458
|
-
${historyNote ? html`<p class="v-term-history-note" role="status">${historyNote}</p>` : null}
|
|
459
|
-
${mode === "follow" && !noScrollback ? html`<button type="button" class="v-term-earlier btn btn-sm" title=${tn("earlierHint")} onClick=${() => loadEarlier.current && loadEarlier.current()}><${Icon} name="up" size=${14} />${tn("earlier")}</button>` : null}
|
|
460
|
-
${reading ? html`<button type="button" class=${`v-term-latest btn btn-sm${newBelow ? " has-new" : ""}`} onClick=${() => follow.current && follow.current()}>${newBelow ? html`<span class="v-term-new">${tn("newBelow")} · </span>` : null}${tn("jumpLatest")}<${Icon} name="down" size=${14} /></button>` : null}
|
|
461
|
-
</div>`;
|
|
286
|
+
return html`<div data-trust="panel-content" class="v-term" ref=${term}>${problem ? html`<p class="v-term-note" role="status">${problem}</p>` : null}<pre ref=${pre} class="v-pre"></pre></div>`;
|
|
462
287
|
}
|
|
463
288
|
|
|
464
289
|
// The advance of one monospace cell as a fraction of font-size, measured once on this page.
|
|
@@ -215,18 +215,6 @@ register("view", {
|
|
|
215
215
|
"guestNeedsTrustedHint": "Your host gave you chat access to this agent. Ask them to make you Trusted in Settings → Guests.",
|
|
216
216
|
"noInstances": "No instances yet",
|
|
217
217
|
"paneUnavailable": "This instance's terminal is not available (is it stopped?)",
|
|
218
|
-
// M-2262: the terminal's scrollback.
|
|
219
|
-
"earlier": "Earlier output",
|
|
220
|
-
"earlierHint": "Scroll up to read what has scrolled off. Live output keeps coming in below.",
|
|
221
|
-
"loadingEarlier": "Loading earlier output…",
|
|
222
|
-
"earlierFailed": "Could not load earlier output.",
|
|
223
|
-
"noEarlier": "This CLI redraws its whole screen, so the terminal keeps no earlier output to scroll back to.",
|
|
224
|
-
"nothingEarlier": "Nothing has scrolled off the screen yet.",
|
|
225
|
-
"earlierInLog": "Earlier output is in the Log tab",
|
|
226
|
-
"logTabOff": "Earlier output: the Log tab is off. Turn it on in Settings",
|
|
227
|
-
"readingEarlier": "Reading earlier output. Live output continues; scroll to the bottom to follow it again.",
|
|
228
|
-
"jumpLatest": "Jump to latest",
|
|
229
|
-
"newBelow": "New output below",
|
|
230
218
|
"rosterFailedShort": "The instance list could not be loaded.",
|
|
231
219
|
"collapseGroup": "Fold {group}",
|
|
232
220
|
"expandGroup": "Open {group}",
|
|
@@ -473,17 +461,6 @@ register("view", {
|
|
|
473
461
|
"guestNeedsTrustedHint": "主人給你的是這個 agent 的聊天權限。請他在設定 → 訪客把你改成「信任」。",
|
|
474
462
|
"noInstances": "還沒有 instance",
|
|
475
463
|
"paneUnavailable": "無法取得這個 instance 的終端畫面(它是否已停止?)",
|
|
476
|
-
"earlier": "較早的輸出",
|
|
477
|
-
"earlierHint": "往上捲動可以看到已經捲走的內容,新的輸出會繼續出現在下方。",
|
|
478
|
-
"loadingEarlier": "正在載入較早的輸出…",
|
|
479
|
-
"earlierFailed": "無法載入較早的輸出。",
|
|
480
|
-
"noEarlier": "這個 CLI 會重繪整個畫面,終端沒有保留可以往上捲動的較早輸出。",
|
|
481
|
-
"nothingEarlier": "還沒有內容捲出畫面。",
|
|
482
|
-
"earlierInLog": "較早的輸出在「紀錄」分頁",
|
|
483
|
-
"logTabOff": "較早的輸出:「紀錄」分頁目前關閉,請到設定開啟",
|
|
484
|
-
"readingEarlier": "正在看較早的輸出。新的輸出仍會繼續;捲到最下面即可再次跟著最新內容。",
|
|
485
|
-
"jumpLatest": "跳到最新",
|
|
486
|
-
"newBelow": "下方有新的輸出",
|
|
487
464
|
"rosterFailedShort": "無法載入 instance 清單。",
|
|
488
465
|
"collapseGroup": "收合 {group}",
|
|
489
466
|
"expandGroup": "展開 {group}",
|
package/dist/view-api.d.ts
CHANGED
|
@@ -137,26 +137,11 @@ export declare function cardPicture(ctx: {
|
|
|
137
137
|
export declare function humanCards(dataDir: string): ReturnType<typeof HumanCardStore.all>;
|
|
138
138
|
/** For tests: forget the guests' read counts and shared captures. */
|
|
139
139
|
export declare function resetGuestPanes(): void;
|
|
140
|
-
/**
|
|
141
|
-
* M-2262 (the user, hmsg-435f6df6): the View's scrollback — the pane's history above its screen, read only when the
|
|
142
|
-
* person scrolls up (never on the 800 ms refresh), at most `lines` lines (tmux's own default history-limit) and at most
|
|
143
|
-
* `maxBytes` (its end, from a whole line). A viewer's tabs asking at once share one read.
|
|
144
|
-
*/
|
|
145
|
-
export declare const VIEW_HISTORY: {
|
|
146
|
-
readonly lines: 2000;
|
|
147
|
-
readonly maxBytes: number;
|
|
148
|
-
};
|
|
149
140
|
/** A pane's logical grid size in cells, as tmux sees it. */
|
|
150
141
|
export interface PaneSize {
|
|
151
142
|
cols: number;
|
|
152
143
|
rows: number;
|
|
153
144
|
}
|
|
154
|
-
/** M-2262: whether the pane shows its alternate screen, and how many lines tmux keeps above it. */
|
|
155
|
-
export interface PaneScrollback {
|
|
156
|
-
alternate: boolean;
|
|
157
|
-
lines: number;
|
|
158
|
-
}
|
|
159
|
-
export declare function parsePaneScrollback(alternate: string | undefined, lines: string | undefined): PaneScrollback | null;
|
|
160
145
|
/** Parse `display-message`'s `<cols>x<rows>` output. Returns null if unusable. */
|
|
161
146
|
export declare function parsePaneSize(out: string): PaneSize | null;
|
|
162
147
|
/** True if the path belongs to the view feature (so the caller can skip the
|