@scotthuang/agent-knock-knock 0.13.13 → 0.13.14

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.
Files changed (79) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +4 -4
  3. package/dist/src/claude-lifecycle-compatibility.js +25 -4
  4. package/dist/src/claude-lifecycle-compatibility.js.map +1 -1
  5. package/dist/src/claude-local-transcript-provider.js +12 -19
  6. package/dist/src/claude-local-transcript-provider.js.map +1 -1
  7. package/dist/src/claude-terminal-agent-adapter.js +27 -11
  8. package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
  9. package/dist/src/claude-transcript-record-order.d.ts +17 -0
  10. package/dist/src/claude-transcript-record-order.js +81 -0
  11. package/dist/src/claude-transcript-record-order.js.map +1 -0
  12. package/dist/src/codex-app-server-interaction-client.js +4 -3
  13. package/dist/src/codex-app-server-interaction-client.js.map +1 -1
  14. package/dist/src/codex-app-server-read-client.d.ts +2 -0
  15. package/dist/src/codex-app-server-read-client.js +4 -1
  16. package/dist/src/codex-app-server-read-client.js.map +1 -1
  17. package/dist/src/codex-async-question-adapter.js +4 -2
  18. package/dist/src/codex-async-question-adapter.js.map +1 -1
  19. package/dist/src/codex-fullscreen-composer-proof.js +102 -14
  20. package/dist/src/codex-fullscreen-composer-proof.js.map +1 -1
  21. package/dist/src/codex-lifecycle-compatibility.d.ts +4 -1
  22. package/dist/src/codex-lifecycle-compatibility.js +10 -2
  23. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  24. package/dist/src/codex-paginated-async-answer.js +21 -11
  25. package/dist/src/codex-paginated-async-answer.js.map +1 -1
  26. package/dist/src/codex-paginated-async-response.js +3 -2
  27. package/dist/src/codex-paginated-async-response.js.map +1 -1
  28. package/dist/src/codex-paginated-observation.js +4 -1
  29. package/dist/src/codex-paginated-observation.js.map +1 -1
  30. package/dist/src/codex-paginated-questionnaire-runtime.js +2 -1
  31. package/dist/src/codex-paginated-questionnaire-runtime.js.map +1 -1
  32. package/dist/src/codex-paginated-task.d.ts +4 -1
  33. package/dist/src/codex-paginated-task.js +7 -3
  34. package/dist/src/codex-paginated-task.js.map +1 -1
  35. package/dist/src/codex-paginated-thread-binding.d.ts +4 -0
  36. package/dist/src/codex-paginated-thread-binding.js +27 -5
  37. package/dist/src/codex-paginated-thread-binding.js.map +1 -1
  38. package/dist/src/codex-paginated-thread-facts.d.ts +5 -2
  39. package/dist/src/codex-paginated-watch.js +5 -3
  40. package/dist/src/codex-paginated-watch.js.map +1 -1
  41. package/dist/src/codex-status-history-navigation.d.ts +17 -0
  42. package/dist/src/codex-status-history-navigation.js +260 -0
  43. package/dist/src/codex-status-history-navigation.js.map +1 -0
  44. package/dist/src/codex-terminal-agent-adapter.d.ts +2 -0
  45. package/dist/src/codex-terminal-agent-adapter.js +11 -9
  46. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  47. package/dist/src/herdr-terminal-control-provider.d.ts +2 -0
  48. package/dist/src/herdr-terminal-control-provider.js +35 -8
  49. package/dist/src/herdr-terminal-control-provider.js.map +1 -1
  50. package/dist/src/semantic-tool-schemas.js +1 -1
  51. package/dist/src/semantic-tool-schemas.js.map +1 -1
  52. package/dist/src/terminal-agent-bridge.d.ts +2 -1
  53. package/dist/src/terminal-agent-bridge.js +46 -4
  54. package/dist/src/terminal-agent-bridge.js.map +1 -1
  55. package/dist/src/terminal-composer-classifier.js +6 -0
  56. package/dist/src/terminal-composer-classifier.js.map +1 -1
  57. package/dist/src/terminal-control-provider.d.ts +4 -0
  58. package/dist/src/terminal-control-provider.js +57 -6
  59. package/dist/src/terminal-control-provider.js.map +1 -1
  60. package/dist/src/terminal-model-control-profile.d.ts +3 -1
  61. package/dist/src/terminal-model-control-profile.js +45 -2
  62. package/dist/src/terminal-model-control-profile.js.map +1 -1
  63. package/dist/src/terminal-native-inspection-bridge.js +23 -1
  64. package/dist/src/terminal-native-inspection-bridge.js.map +1 -1
  65. package/dist/src/terminal-questionnaire-adapter.js +24 -4
  66. package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
  67. package/dist/src/terminal-runtime-cli-adapter.js +3 -3
  68. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  69. package/dist/src/terminal-send-watch-policy.js +2 -1
  70. package/dist/src/terminal-send-watch-policy.js.map +1 -1
  71. package/dist/src/terminal-watch-interaction-runtime.js +3 -1
  72. package/dist/src/terminal-watch-interaction-runtime.js.map +1 -1
  73. package/docs/claude-2.1.285-compatibility.md +133 -0
  74. package/docs/codex-0.159.0-compatibility.md +82 -0
  75. package/docs/codex-0.159.2-compatibility.md +226 -0
  76. package/docs/quickstart-herdr.md +2 -2
  77. package/docs/quickstart-tmux.md +3 -3
  78. package/package.json +4 -2
  79. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +10 -10
@@ -0,0 +1,260 @@
1
+ import { createHash } from "node:crypto";
2
+ import { captureCodexFullscreenComposerFrame } from "./codex-fullscreen-composer-proof.js";
3
+ import { closedCodex159StatusSuffix, observeCodexNativeInspection } from "./codex-terminal-agent-adapter.js";
4
+ import { exactCodexReadyStyledComposerCapture, stripTerminalEscapeSequences } from "./terminal-native-inspection-bridge.js";
5
+ /** Only the observed 0.159 owned-screen navigation protocol, never a generic pager. */
6
+ const PAUSED_FOOTER = /^ {2}(?:New activity · )?enter\/esc latest · \? shortcuts(?: {2,}⚠ [1-9]\d? warnings? · f2 to view)?$/u;
7
+ const HISTORY_GAP = /^ +(?:New activity · )?↓ Back to bottom · esc *$/u;
8
+ const SESSION = /^ {2}Session: {2,}[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$/u;
9
+ const FIELD = /^ {2}[A-Za-z][^:│]{0,63}: {2,}\S.*$/u;
10
+ const INFO = new Set([
11
+ " Visit https://chatgpt.com/codex/settings/usage for up-to-date",
12
+ " information on rate limits and credits"
13
+ ]);
14
+ class MissingStatusOverlap extends Error {
15
+ }
16
+ function lines(screen) {
17
+ return screen.replace(/\r\n?/gu, "\n").split("\n");
18
+ }
19
+ function plainRows(rows) {
20
+ return rows.map((row) => stripTerminalEscapeSequences(row).trimEnd());
21
+ }
22
+ function trimEmptyEnd(rows) {
23
+ while (rows.length && !stripTerminalEscapeSequences(rows.at(-1)).trim())
24
+ rows.pop();
25
+ return rows;
26
+ }
27
+ function completeStatus(screen, version) {
28
+ return observeCodexNativeInspection({
29
+ operation: { kind: "status" }, expectedAgentVersion: version,
30
+ screen: stripTerminalEscapeSequences(screen)
31
+ }).status === "observed";
32
+ }
33
+ /** A clipped card tail is navigation eligibility, never independent identity evidence. */
34
+ function clippedTail(screen, version) {
35
+ if (!exactCodexReadyStyledComposerCapture(screen, version))
36
+ return undefined;
37
+ const frame = captureCodexFullscreenComposerFrame(screen, version);
38
+ const start = /^[›»](?:\s|$)/u.test(frame.plainLines[0] ?? "") ? 1 : 0;
39
+ let end = frame.composerIndex;
40
+ const session = frame.plainLines.findIndex((row, index) => index >= start && index < end && SESSION.test(row.trimEnd()));
41
+ if (session < 0)
42
+ return undefined;
43
+ for (let index = start; index < end; index += 1) {
44
+ const row = frame.plainLines[index].trimEnd();
45
+ if (!row.trim() || FIELD.test(row) || INFO.has(row) || /^ {4,}\S/u.test(row) ||
46
+ index === start && row === ` >_ OpenAI Codex (v${version})`)
47
+ continue;
48
+ if (index <= session)
49
+ return undefined;
50
+ end = index; // Native working/queue chrome is validated by the complete-card parser later.
51
+ break;
52
+ }
53
+ const liveChrome = frame.plainLines.slice(end, frame.composerIndex).filter((row) => row.trim()).map((row) => row.trimEnd());
54
+ if (!closedCodex159StatusSuffix(liveChrome))
55
+ return undefined;
56
+ const rows = trimEmptyEnd(frame.styledLines.slice(start, end));
57
+ const plain = plainRows(rows);
58
+ if (!plain.some((row) => /^ {2}Directory: {2,}\S/u.test(row)) ||
59
+ !plain.some((row) => /^ {2}Permissions: {2,}\S/u.test(row)) ||
60
+ !plain.some((row) => /^ {2}Agents\.md: {2,}\S/u.test(row)))
61
+ return undefined;
62
+ return {
63
+ rows, plain,
64
+ liveChrome,
65
+ footer: frame.plainLines[frame.footerIndex].trimEnd()
66
+ };
67
+ }
68
+ function normalizedChrome(rows) {
69
+ return JSON.stringify(rows.map((row) => row
70
+ .replace(/^[•◦] /u, "• ")
71
+ .replace(/\((?:(?:\d+h )?\d+m )?\d+s • esc to interrupt\)/u, "(elapsed • esc to interrupt)")
72
+ .replace(/^( {2}\? [1-9]\d{0,2} questions?) · (?:[1-9]|1\d|20)s$/u, "$1")));
73
+ }
74
+ function currentChromeBoundary(rows, end) {
75
+ const tail = plainRows(rows.slice(0, end)).flatMap((row, index) => row.trim() ? [{ row, index }] : []).slice(-8);
76
+ const start = tail.findIndex(({ row }) => row === "• Queued follow-up inputs" ||
77
+ closedCodex159StatusSuffix([row]) || / to interrupt/u.test(row));
78
+ if (start < 0)
79
+ return end; // The task may have finished and removed its entire live bottom pane.
80
+ return closedCodex159StatusSuffix(tail.slice(start).map(({ row }) => row)) ? tail[start].index : undefined;
81
+ }
82
+ function historyBeforeChrome(rows, end, tail, restoreOnly) {
83
+ if (restoreOnly) {
84
+ const boundary = currentChromeBoundary(rows, end);
85
+ return boundary === undefined ? undefined : {
86
+ rows: trimEmptyEnd(rows.slice(0, boundary)), transcriptBottom: boundary, screenRows: rows.length
87
+ };
88
+ }
89
+ const indexed = plainRows(rows.slice(0, end)).flatMap((row, index) => row.trim() ? [{ row, index }] : []);
90
+ if (tail.liveChrome.length > 0) {
91
+ const suffix = indexed.slice(-tail.liveChrome.length);
92
+ const chrome = suffix.map(({ row }) => row);
93
+ if (!closedCodex159StatusSuffix(chrome) || normalizedChrome(chrome) !== normalizedChrome(tail.liveChrome))
94
+ return undefined;
95
+ end = suffix[0].index;
96
+ }
97
+ return { rows: trimEmptyEnd(rows.slice(0, end)), transcriptBottom: end, screenRows: rows.length };
98
+ }
99
+ /** Normalize only the exact native paused footer for the existing styled Composer proof. */
100
+ function pausedHistory(screen, version, tail, restoreOnly = false) {
101
+ const rows = trimEmptyEnd(lines(screen));
102
+ const plain = plainRows(rows);
103
+ if (!PAUSED_FOOTER.test(plain.at(-1) ?? ""))
104
+ return undefined;
105
+ const normalized = [...rows.slice(0, -1), " ← for agents · ? for shortcuts"].join("\n");
106
+ if (!exactCodexReadyStyledComposerCapture(normalized, version))
107
+ return undefined;
108
+ const frame = captureCodexFullscreenComposerFrame(normalized, version);
109
+ if (frame.plainLines[frame.footerIndex].trimEnd() !== tail.footer)
110
+ return undefined;
111
+ const gaps = plain.flatMap((row, index) => HISTORY_GAP.test(row) ? [index] : []);
112
+ if (gaps.length !== 1 || gaps[0] >= frame.composerIndex ||
113
+ plain.slice(gaps[0] + 1, frame.composerIndex).some((row) => row.trim()))
114
+ return undefined;
115
+ return historyBeforeChrome(rows, gaps[0], tail, restoreOnly);
116
+ }
117
+ function reconstruct(previous, screen, tail, version) {
118
+ const plain = plainRows(previous);
119
+ const command = plain.lastIndexOf("/status");
120
+ if (command < 0)
121
+ throw new Error("Codex history did not expose the latest /status command");
122
+ const prefix = previous.slice(command);
123
+ const prefixPlain = plain.slice(command);
124
+ const overlaps = [];
125
+ for (let size = 1; size <= Math.min(prefix.length, tail.rows.length); size += 1) {
126
+ const overlap = tail.plain.slice(0, size);
127
+ if (overlap.some((row) => row.trim().length >= 12) &&
128
+ JSON.stringify(prefixPlain.slice(-size)) === JSON.stringify(overlap))
129
+ overlaps.push(size);
130
+ }
131
+ if (overlaps.length === 0)
132
+ throw new MissingStatusOverlap("Codex status history overlap is missing or ambiguous");
133
+ if (overlaps.length !== 1)
134
+ throw new Error("Codex status history overlap is ambiguous");
135
+ const size = overlaps[0];
136
+ const anchor = tail.plain.slice(0, size).find((row) => row.trim().length >= 12);
137
+ if (prefixPlain.filter((row) => row === anchor).length !== 1 ||
138
+ tail.plain.filter((row) => row === anchor).length !== 1) {
139
+ throw new Error("Codex status history overlap is not unique");
140
+ }
141
+ const frame = captureCodexFullscreenComposerFrame(screen, version);
142
+ const start = /^[›»](?:\s|$)/u.test(frame.plainLines[0] ?? "") ? 1 : 0;
143
+ // All header/identity characters come from captured frames. The original live
144
+ // suffix and Composer close the reconstructed card; pager chrome never does.
145
+ const result = [...prefix.slice(0, -size), ...frame.styledLines.slice(start)].join("\n");
146
+ if (!completeStatus(result, version))
147
+ throw new Error("Codex reconstructed status card is incomplete or ambiguous");
148
+ return result;
149
+ }
150
+ function sameTail(screen, version, expected) {
151
+ const tail = clippedTail(screen, version);
152
+ return tail !== undefined && JSON.stringify(tail.plain) === JSON.stringify(expected.plain) &&
153
+ tail.footer === expected.footer;
154
+ }
155
+ function compatibleStatusPrefix(paused, screen, version) {
156
+ const plain = plainRows(paused.rows);
157
+ const command = plain.lastIndexOf("/status");
158
+ if (command < 0)
159
+ return false;
160
+ const frame = captureCodexFullscreenComposerFrame(screen, version);
161
+ if (!frame)
162
+ return false;
163
+ const start = /^[›»](?:\s|$)/u.test(frame.plainLines[0] ?? "") ? 1 : 0;
164
+ // This adjacency is ONLY eligibility for one read-only wheel event, never
165
+ // identity evidence. Reuse the strict card grammar to reject contradictory
166
+ // headers/fields/prose, including a command-only stub whose header is below
167
+ // the paused viewport. Returning identity still requires observed overlap.
168
+ return completeStatus([...paused.rows.slice(command), ...frame.styledLines.slice(start)].join("\n"), version);
169
+ }
170
+ async function reconstructWithBoundaryBridge(paused, screen, tail, version, ports) {
171
+ try {
172
+ return reconstruct(paused.rows, screen, tail, version);
173
+ }
174
+ catch (error) {
175
+ if (!(error instanceof MissingStatusOverlap) || !compatibleStatusPrefix(paused, screen, version) ||
176
+ !ports.inspectViewport || !ports.scrollHistoryDown)
177
+ throw error;
178
+ }
179
+ const viewport = await ports.inspectViewport();
180
+ const fresh = pausedHistory(await ports.capture(), version, tail);
181
+ if (!viewport || viewport.columns < 80 || viewport.rows < 12 || !fresh ||
182
+ fresh.screenRows !== viewport.rows || fresh.transcriptBottom < 3 ||
183
+ JSON.stringify(plainRows(fresh.rows)) !== JSON.stringify(plainRows(paused.rows))) {
184
+ throw new Error("Codex status-boundary history scroll lacks an exact paused transcript viewport");
185
+ }
186
+ // Codex 0.159 transcript_view/input.rs: ScrollDown inside self.area advances
187
+ // exactly three rows. The closed provider event targets (2,2), below the
188
+ // one-row sticky prompt and above proven bottom-pane chrome. Never repeat it.
189
+ await ports.scrollHistoryDown(viewport);
190
+ for (let attempt = 0; attempt < 8; attempt += 1) {
191
+ await ports.sleep(50);
192
+ const after = pausedHistory(await ports.capture(), version, tail);
193
+ if (!after || after.screenRows !== viewport.rows)
194
+ throw new Error("Codex history scroll lost its exact paused viewport");
195
+ if (JSON.stringify(plainRows(after.rows)) !== JSON.stringify(plainRows(paused.rows))) {
196
+ return reconstruct(after.rows, screen, tail, version);
197
+ }
198
+ }
199
+ throw new Error("Codex history scroll did not provide a unique nonblank status overlap");
200
+ }
201
+ async function restoreLatest(ports, version, tail) {
202
+ // Recapture before restoration: a user draft, modal, selection, or changed
203
+ // model/path footer forbids further input, even a navigation key.
204
+ if (!pausedHistory(await ports.capture(), version, tail, true)) {
205
+ throw new Error("Codex status history changed before restoring latest");
206
+ }
207
+ await ports.sendKey("C-End");
208
+ for (let attempt = 0; attempt < 8; attempt += 1) {
209
+ await ports.sleep(50);
210
+ const capture = await ports.capture();
211
+ if (sameTail(capture, version, tail))
212
+ return;
213
+ if (!pausedHistory(capture, version, tail, true))
214
+ break;
215
+ }
216
+ throw new Error("Codex status history did not restore its exact latest card tail");
217
+ }
218
+ /** One reversible page, only after our proven closed /status Enter cleared its Composer. */
219
+ export async function captureCodexStatusHistory(input) {
220
+ const { screen, version, submission, ports } = input;
221
+ if (!["0.159.0", "0.159.2"].includes(version) || completeStatus(screen, version))
222
+ return screen;
223
+ const tail = clippedTail(screen, version);
224
+ if (!tail || !submission || submission.stage !== "enter_dispatched" || submission.enterCount !== 1 ||
225
+ submission.agent !== "codex" || submission.command !== "/status" ||
226
+ submission.behaviorProfile !== `codex-tui-${version}` ||
227
+ !/^[0-9a-f]{64}$/u.test(submission.observationBaselineDigest) ||
228
+ createHash("sha256").update(screen).digest("hex") === submission.observationBaselineDigest)
229
+ return screen;
230
+ // The original transaction's styled command -> cleared Composer transition
231
+ // provides freshness. Fullscreen clipping cannot preserve occurrence counts
232
+ // in preEnterEvidenceInventory, including repeated identical /status cards.
233
+ if (!sameTail(await ports.capture(), version, tail))
234
+ throw new Error("Codex status tail changed before history navigation");
235
+ let paused;
236
+ let restoreNeeded = false;
237
+ let candidate;
238
+ try {
239
+ await ports.sendKey("PageUp");
240
+ for (let attempt = 0; attempt < 8; attempt += 1) {
241
+ await ports.sleep(50);
242
+ const capture = await ports.capture();
243
+ paused = pausedHistory(capture, version, tail);
244
+ restoreNeeded = paused !== undefined || pausedHistory(capture, version, tail, true) !== undefined;
245
+ if (paused)
246
+ break;
247
+ if (!sameTail(capture, version, tail))
248
+ throw new Error("Codex history navigation lost its exact Composer or native footer");
249
+ }
250
+ if (!paused)
251
+ throw new Error("Codex history navigation did not expose a proven paused viewport");
252
+ candidate = await reconstructWithBoundaryBridge(paused, screen, tail, version, ports);
253
+ }
254
+ finally {
255
+ if (restoreNeeded)
256
+ await restoreLatest(ports, version, tail);
257
+ }
258
+ return candidate;
259
+ }
260
+ //# sourceMappingURL=codex-status-history-navigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-status-history-navigation.js","sourceRoot":"","sources":["../../src/codex-status-history-navigation.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,8 @@ export declare function planCodexThreadLifecycle(operation: TerminalThreadLifecy
29
29
  export declare function observeCodexThreadLifecycle(request: TerminalThreadLifecycleObservationRequest): TerminalThreadLifecycleObservation;
30
30
  /** @deprecated Pass a typed observation request. */
31
31
  export declare function observeCodexThreadLifecycle(screen: string, operation: TerminalThreadLifecycleOperation): TerminalThreadLifecycleObservation;
32
+ /** Native activity/details stay outside identity evidence, before the Composer. */
33
+ export declare function closedCodex159StatusSuffix(lines: readonly string[]): boolean;
32
34
  export declare const codexTerminalAgentAdapter: TerminalAgentAdapter<"codex_cli">;
33
35
  export declare function inspectCodexScreen(options: TerminalScreenInspectionOptions): TerminalScreenInspection;
34
36
  export declare function detectCodexApprovalPrompt(screen: string): CodexApprovalPromptDetection;
@@ -20,7 +20,7 @@ const CODEX_SKILLS_HINT = /^[›»]\s+Use \/skills\b/u;
20
20
  const CODEX_FOOTER_LINE = /^(?:gpt-[\w.-]+(?:\s|$)|[-\w.]+ default ·)/u;
21
21
  // Diagnostic activity only. These fullscreen rows do not prove a task identity,
22
22
  // an empty styled Composer, or permission to use a version-bound native action.
23
- const CODEX_FULLSCREEN_ACTIVITY_VERSIONS = new Set(["0.157.0", "0.157.1", "0.158.0", "0.159.0"]);
23
+ const CODEX_FULLSCREEN_ACTIVITY_VERSIONS = new Set(["0.157.0", "0.157.1", "0.158.0", "0.159.0", "0.159.2"]);
24
24
  const CODEX_FULLSCREEN_MODEL_FOOTER = /^ {2}(?:GPT-[\w.-]+|gpt-[\w.-]+) (?:low|medium|high|xhigh|max|ultra)(?: fast)? · (?:~\/|\/)[^·\r\n]+(?: · [^·\r\n]+)*$/u;
25
25
  const CODEX_FULLSCREEN_SHORTCUT_FOOTER = /^ {2}← for agents · \? for shortcuts(?: {2,}⚠ [1-9]\d? warnings? · f2 to view)?$/u;
26
26
  // Verified Codex releases can animate the otherwise empty Astra Composer by replacing
@@ -472,8 +472,10 @@ function parseCodexStatusCardAfterCommand(lines, commandIndex) {
472
472
  while (topBorderIndex < lines.length && !lines[topBorderIndex].trim()) {
473
473
  topBorderIndex += 1;
474
474
  }
475
- if (lines[topBorderIndex]?.trim() === ">_ OpenAI Codex (v0.159.0)") {
476
- return parseCodex159StatusCard(lines, topBorderIndex);
475
+ const borderlessVersion = /^>_ OpenAI Codex \(v(0\.159\.(?:0|2))\)$/u
476
+ .exec(lines[topBorderIndex]?.trim() ?? "")?.[1];
477
+ if (borderlessVersion === "0.159.0" || borderlessVersion === "0.159.2") {
478
+ return parseCodex159StatusCard(lines, topBorderIndex, borderlessVersion);
477
479
  }
478
480
  if (topBorderIndex >= lines.length ||
479
481
  !CODEX_STATUS_TOP_BORDER.test(lines[topBorderIndex])) {
@@ -557,7 +559,7 @@ function parseCodexStatusCardAfterCommand(lines, commandIndex) {
557
559
  };
558
560
  }
559
561
  /** 0.159 removes borders. Close fields before the exact native live suffix. */
560
- function parseCodex159StatusCard(lines, start) {
562
+ function parseCodex159StatusCard(lines, start, agentVersion) {
561
563
  const uncertain = (reason) => ({ status: "ambiguous", reason });
562
564
  const limit = Math.min(lines.length, start + CODEX_STATUS_MAX_LINES);
563
565
  let end = start + 1;
@@ -570,7 +572,7 @@ function parseCodex159StatusCard(lines, start) {
570
572
  // command may close an earlier card in the pre-Enter occurrence inventory.
571
573
  if (/^[›»](?:\s|$)/u.test(lines[end]) &&
572
574
  codexNativeCommandLine(lines[end]) === undefined &&
573
- captureCodexFullscreenComposerFrame(lines.slice(end).join("\n"), "0.159.0")?.composerIndex !== 0) {
575
+ captureCodexFullscreenComposerFrame(lines.slice(end).join("\n"), agentVersion)?.composerIndex !== 0) {
574
576
  return uncertain("Codex 0.159 /status closing Composer is incomplete");
575
577
  }
576
578
  const suffixStart = lines.findIndex((line, index) => index > start && index < end &&
@@ -625,7 +627,7 @@ function parseCodex159StatusCard(lines, start) {
625
627
  return { status: "missing", reason: "Codex 0.159 /status lacks complete required fields or its exact Session UUID" };
626
628
  }
627
629
  return {
628
- status: "observed", region, nativeThreadId: nativeThreadId.toLowerCase(), agentVersion: "0.159.0",
630
+ status: "observed", region, nativeThreadId: nativeThreadId.toLowerCase(), agentVersion,
629
631
  fields: fields.map(({ name, value }) => ({
630
632
  name: redactCodexNativeStatusText(name),
631
633
  value: /^account$/iu.test(name) ? "[REDACTED]" : redactCodexNativeStatusText(value)
@@ -641,7 +643,7 @@ function safeCodex159StatusDisplayText(line) {
641
643
  !/(?:\b(?:Session|Server):|OpenAI Codex|(?:^|\s)\/status(?:\s|$))/iu.test(line);
642
644
  }
643
645
  /** Native activity/details stay outside identity evidence, before the Composer. */
644
- function closedCodex159StatusSuffix(lines) {
646
+ export function closedCodex159StatusSuffix(lines) {
645
647
  const rows = lines.filter((line) => line.trim()).map((line) => line.trimEnd());
646
648
  if (isCodex159ActivityRow(rows[0] ?? "")) {
647
649
  rows.shift();
@@ -664,7 +666,7 @@ function closedCodex159StatusSuffix(lines) {
664
666
  return true;
665
667
  if (rows.length !== 3 || rows[0] !== "• Queued follow-up inputs")
666
668
  return false;
667
- const summary = /^ {2}\? ([1-9]\d{0,2}) (question|questions)(?: · [1-9]\d{0,2}s)?$/u.exec(rows[1]);
669
+ const summary = /^ {2}\? ([1-9]\d{0,2}) (question|questions)(?: · (?:[1-9]|1\d|20)s)?$/u.exec(rows[1]);
668
670
  return summary !== null && (Number(summary[1]) === 1) === (summary[2] === "question") &&
669
671
  /^ {4}(?:shift\+←|⌥\+↑) to answer$/u.test(rows[2]);
670
672
  }
@@ -904,7 +906,7 @@ export function detectCodexActivityState(screen, approval = detectCodexApprovalP
904
906
  }
905
907
  const tailLines = screen.trimEnd().split(/\r?\n/).slice(-30);
906
908
  const workingLine = tailLines.find((line) => isCodexWorkingLine(line) ||
907
- agentVersion === "0.159.0" && isCodex159ActivityRow(line.trimEnd()));
909
+ (agentVersion === "0.159.0" || agentVersion === "0.159.2") && isCodex159ActivityRow(line.trimEnd()));
908
910
  if (workingLine) {
909
911
  return {
910
912
  state: "working",
@@ -1 +1 @@
1
- {"version":3,"file":"codex-terminal-agent-adapter.js","sourceRoot":"","sources":["../../src/codex-terminal-agent-adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-terminal-agent-adapter.js","sourceRoot":"","sources":["../../src/codex-terminal-agent-adapter.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export interface HerdrTtyDeviceIdentity {
9
9
  device: string;
10
10
  inode: string;
11
11
  rdev: string;
12
+ /** Mutable activity metadata, not part of a character device's identity. */
12
13
  ctimeNs: string;
13
14
  ownerUid: number;
14
15
  symbolicLink: boolean;
@@ -79,6 +80,7 @@ export declare class HerdrTerminalControlProvider implements TerminalControlProv
79
80
  }): Promise<string>;
80
81
  sendText(terminal: TerminalEndpointRef, text: string): Promise<void>;
81
82
  sendKeys(terminal: TerminalEndpointRef, keys: readonly string[]): Promise<void>;
83
+ scrollHistoryDown(terminal: TerminalEndpointRef): Promise<void>;
82
84
  private logDiagnostic;
83
85
  private discoverSessions;
84
86
  private probeCommand;