@scotthuang/agent-knock-knock 0.13.11 → 0.13.13

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 (127) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +8 -9
  3. package/dist/src/codex-app-server-interaction-client.d.ts +72 -0
  4. package/dist/src/codex-app-server-interaction-client.js +311 -0
  5. package/dist/src/codex-app-server-interaction-client.js.map +1 -0
  6. package/dist/src/codex-app-server-questionnaire.d.ts +73 -0
  7. package/dist/src/codex-app-server-questionnaire.js +366 -0
  8. package/dist/src/codex-app-server-questionnaire.js.map +1 -0
  9. package/dist/src/codex-app-server-read-client.d.ts +118 -0
  10. package/dist/src/codex-app-server-read-client.js +300 -0
  11. package/dist/src/codex-app-server-read-client.js.map +1 -0
  12. package/dist/src/codex-app-server-transport.d.ts +11 -0
  13. package/dist/src/codex-app-server-transport.js +47 -0
  14. package/dist/src/codex-app-server-transport.js.map +1 -0
  15. package/dist/src/codex-async-question-adapter.d.ts +5 -0
  16. package/dist/src/codex-async-question-adapter.js +61 -17
  17. package/dist/src/codex-async-question-adapter.js.map +1 -1
  18. package/dist/src/codex-fullscreen-composer-proof.d.ts +23 -0
  19. package/dist/src/codex-fullscreen-composer-proof.js +125 -0
  20. package/dist/src/codex-fullscreen-composer-proof.js.map +1 -0
  21. package/dist/src/codex-lifecycle-compatibility.d.ts +5 -0
  22. package/dist/src/codex-lifecycle-compatibility.js +13 -1
  23. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  24. package/dist/src/codex-paginated-answer-proof.d.ts +25 -0
  25. package/dist/src/codex-paginated-answer-proof.js +189 -0
  26. package/dist/src/codex-paginated-answer-proof.js.map +1 -0
  27. package/dist/src/codex-paginated-async-answer.d.ts +36 -0
  28. package/dist/src/codex-paginated-async-answer.js +322 -0
  29. package/dist/src/codex-paginated-async-answer.js.map +1 -0
  30. package/dist/src/codex-paginated-async-response.d.ts +21 -0
  31. package/dist/src/codex-paginated-async-response.js +118 -0
  32. package/dist/src/codex-paginated-async-response.js.map +1 -0
  33. package/dist/src/codex-paginated-observation.d.ts +30 -0
  34. package/dist/src/codex-paginated-observation.js +139 -0
  35. package/dist/src/codex-paginated-observation.js.map +1 -0
  36. package/dist/src/codex-paginated-questionnaire-runtime.d.ts +33 -0
  37. package/dist/src/codex-paginated-questionnaire-runtime.js +157 -0
  38. package/dist/src/codex-paginated-questionnaire-runtime.js.map +1 -0
  39. package/dist/src/codex-paginated-task.d.ts +78 -0
  40. package/dist/src/codex-paginated-task.js +441 -0
  41. package/dist/src/codex-paginated-task.js.map +1 -0
  42. package/dist/src/codex-paginated-thread-binding.d.ts +18 -0
  43. package/dist/src/codex-paginated-thread-binding.js +56 -0
  44. package/dist/src/codex-paginated-thread-binding.js.map +1 -0
  45. package/dist/src/codex-paginated-thread-facts.d.ts +11 -0
  46. package/dist/src/codex-paginated-thread-facts.js +2 -0
  47. package/dist/src/codex-paginated-thread-facts.js.map +1 -0
  48. package/dist/src/codex-paginated-watch.d.ts +29 -0
  49. package/dist/src/codex-paginated-watch.js +107 -0
  50. package/dist/src/codex-paginated-watch.js.map +1 -0
  51. package/dist/src/codex-terminal-agent-adapter.js +127 -7
  52. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  53. package/dist/src/store.d.ts +1 -1
  54. package/dist/src/store.js +2 -2
  55. package/dist/src/store.js.map +1 -1
  56. package/dist/src/terminal-agent-adapter.d.ts +3 -0
  57. package/dist/src/terminal-agent-adapter.js.map +1 -1
  58. package/dist/src/terminal-agent-bridge.d.ts +13 -5
  59. package/dist/src/terminal-agent-bridge.js +28 -103
  60. package/dist/src/terminal-agent-bridge.js.map +1 -1
  61. package/dist/src/terminal-approval-fingerprint.d.ts +7 -0
  62. package/dist/src/terminal-approval-fingerprint.js +107 -0
  63. package/dist/src/terminal-approval-fingerprint.js.map +1 -0
  64. package/dist/src/terminal-command-cli-ports.d.ts +1 -0
  65. package/dist/src/terminal-composer-classifier.js +39 -1
  66. package/dist/src/terminal-composer-classifier.js.map +1 -1
  67. package/dist/src/terminal-control-provider.d.ts +6 -2
  68. package/dist/src/terminal-control-provider.js +4 -4
  69. package/dist/src/terminal-control-provider.js.map +1 -1
  70. package/dist/src/terminal-human-explicit-send-cli-adapter.js +22 -15
  71. package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -1
  72. package/dist/src/terminal-interaction-core.js +3 -1
  73. package/dist/src/terminal-interaction-core.js.map +1 -1
  74. package/dist/src/terminal-interaction-response-bridge.d.ts +21 -1
  75. package/dist/src/terminal-interaction-response-bridge.js +148 -3
  76. package/dist/src/terminal-interaction-response-bridge.js.map +1 -1
  77. package/dist/src/terminal-list-cli-adapter.js +4 -4
  78. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  79. package/dist/src/terminal-list-facts.d.ts +1 -1
  80. package/dist/src/terminal-list-facts.js +1 -1
  81. package/dist/src/terminal-list-facts.js.map +1 -1
  82. package/dist/src/terminal-managed-send-cli-adapter.d.ts +1 -1
  83. package/dist/src/terminal-managed-send-cli-adapter.js +27 -0
  84. package/dist/src/terminal-managed-send-cli-adapter.js.map +1 -1
  85. package/dist/src/terminal-model-control-bridge.d.ts +1 -1
  86. package/dist/src/terminal-model-control-bridge.js +1 -1
  87. package/dist/src/terminal-model-control-bridge.js.map +1 -1
  88. package/dist/src/terminal-model-control-profile.d.ts +3 -1
  89. package/dist/src/terminal-model-control-profile.js +47 -1
  90. package/dist/src/terminal-model-control-profile.js.map +1 -1
  91. package/dist/src/terminal-model-control.js +63 -21
  92. package/dist/src/terminal-model-control.js.map +1 -1
  93. package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
  94. package/dist/src/terminal-native-inspection-bridge.d.ts +6 -1
  95. package/dist/src/terminal-native-inspection-bridge.js +126 -79
  96. package/dist/src/terminal-native-inspection-bridge.js.map +1 -1
  97. package/dist/src/terminal-questionnaire-adapter.js +20 -16
  98. package/dist/src/terminal-questionnaire-adapter.js.map +1 -1
  99. package/dist/src/terminal-runtime-cli-adapter.js +17 -0
  100. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  101. package/dist/src/terminal-send-watch-policy.d.ts +38 -0
  102. package/dist/src/terminal-send-watch-policy.js +79 -0
  103. package/dist/src/terminal-send-watch-policy.js.map +1 -0
  104. package/dist/src/terminal-submission-facts.d.ts +1 -1
  105. package/dist/src/terminal-submission-facts.js +11 -9
  106. package/dist/src/terminal-submission-facts.js.map +1 -1
  107. package/dist/src/terminal-watch-cli-adapter.d.ts +9 -1
  108. package/dist/src/terminal-watch-cli-adapter.js +199 -210
  109. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  110. package/dist/src/terminal-watch-codec.js +23 -1
  111. package/dist/src/terminal-watch-codec.js.map +1 -1
  112. package/dist/src/terminal-watch-interaction-runtime.js +27 -6
  113. package/dist/src/terminal-watch-interaction-runtime.js.map +1 -1
  114. package/dist/src/terminal-watch-presentation.d.ts +4 -0
  115. package/dist/src/terminal-watch-presentation.js +153 -0
  116. package/dist/src/terminal-watch-presentation.js.map +1 -0
  117. package/dist/src/terminal-watch-record.d.ts +4 -2
  118. package/dist/src/terminal-watch-record.js +15 -10
  119. package/dist/src/terminal-watch-record.js.map +1 -1
  120. package/dist/src/terminal-watch-service.js +13 -1
  121. package/dist/src/terminal-watch-service.js.map +1 -1
  122. package/docs/codex-0.158.0-compatibility.md +129 -0
  123. package/docs/codex-0.159.0-compatibility.md +150 -0
  124. package/docs/quickstart-herdr.md +3 -3
  125. package/docs/quickstart-tmux.md +5 -5
  126. package/package.json +7 -3
  127. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +14 -12
@@ -32,8 +32,8 @@ export declare function decideTerminalMonitorApproval(input: TerminalMonitorAppr
32
32
  markPromptCleared: boolean;
33
33
  suppressions: TerminalMonitorApprovalSuppression[];
34
34
  notification: {
35
- reason?: undefined;
36
35
  kind: string;
36
+ reason?: undefined;
37
37
  };
38
38
  } | {
39
39
  markPromptCleared: boolean;
@@ -48,6 +48,8 @@ export interface TerminalNativeInspectionBeforeEnterContext {
48
48
  }
49
49
  export interface TerminalNativeInspectionOptions {
50
50
  runtime?: TerminalRuntimeIdentity;
51
+ /** Private, in-lock paginated status read; public native inspection stays idle-only. */
52
+ allowWorkingCodexStatus?: true;
51
53
  /**
52
54
  * Gives the CLI one final in-lock authorization point for its Store binding
53
55
  * and action-token fences. The bridge recaptures the exact composer and
@@ -168,9 +170,12 @@ export declare class TerminalNativeInspectionBridge<TStatus> {
168
170
  */
169
171
  dismissNativeInspection(agent: ExecutorKind, terminalControl: TerminalControlRef, plan: TerminalNativeInspectionPlan, request: TerminalNativeInspectionObservationRequest, expectedEvidenceFingerprint: string, options?: TerminalNativeInspectionDismissalOptions): Promise<TerminalNativeInspectionDismissalResult>;
170
172
  private captureCodexReadyComposer;
173
+ private captureCodexReadyComposerFrame;
174
+ private captureCodexStatusViewportBeforeInput;
171
175
  private assertFinalCodexStatusViewport;
172
176
  private settleNativeInspectionComposer;
173
177
  private revalidateNativeInspectionComposer;
178
+ private captureCodexStyledStatusPopup;
174
179
  }
175
180
  export declare function assertTerminalMutationCapabilities({ provider, terminal, semantic, transport }: {
176
181
  provider: TerminalControlProvider;
@@ -198,7 +203,7 @@ export declare function exactClaudeComposerFrame(screen: string): {
198
203
  } | undefined;
199
204
  export declare function claudeNativeInspectionTrailingIsFooter(lines: readonly string[]): boolean;
200
205
  export declare function stripTerminalEscapeSequences(value: string): string;
201
- export declare function exactCodexReadyStyledComposerCapture(screen: string): {
206
+ export declare function exactCodexReadyStyledComposerCapture(screen: string, agentVersion?: string): {
202
207
  digest: string;
203
208
  } | undefined;
204
209
  /**
@@ -1,4 +1,6 @@
1
+ import { isCodexPaginatedVersion } from "./codex-lifecycle-compatibility.js";
1
2
  import { createHash } from "node:crypto";
3
+ import { captureCodexFullscreenComposerFrame, exactCodexFullscreenSlashComposerCapture } from "./codex-fullscreen-composer-proof.js";
2
4
  import { TerminalControlInputNotSentError } from "./terminal-control-provider.js";
3
5
  import { sameTerminalControlIncarnation } from "./terminal-control-ref.js";
4
6
  import { CODEX_EXACT_CANDIDATE_GRACE_CAPTURES, CODEX_MULTILINE_SETTLE_POLL_MS, CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES, CODEX_MULTILINE_STABLE_CAPTURES, CODEX_PASTE_ENTER_SETTLE_MS } from "./terminal-text-submission-bridge.js";
@@ -50,6 +52,14 @@ const CODEX_NATIVE_STATUS_POPUP_BY_PROFILE = {
50
52
  " /status show current session configuration and token usage",
51
53
  " /statusline configure which items appear in the status line"
52
54
  ],
55
+ "codex-tui-0.158.0": [
56
+ "› /status show current session configuration and token usage",
57
+ " /statusline configure which items appear in the status line"
58
+ ],
59
+ "codex-tui-0.159.0": [
60
+ "› /status show current session configuration and token usage",
61
+ " /statusline configure which items appear in the status line"
62
+ ],
53
63
  "codex-tui-generic-v1": [
54
64
  " /status show current session configuration and token usage",
55
65
  " /statusline configure which items appear in the status line"
@@ -72,6 +82,8 @@ const CODEX_NATIVE_STATUS_MIN_VIEWPORT_BY_PROFILE = {
72
82
  "codex-tui-0.153.4": 80,
73
83
  "codex-tui-0.154.0": 80,
74
84
  "codex-tui-0.155.1": 80,
85
+ "codex-tui-0.158.0": 80,
86
+ "codex-tui-0.159.0": 80,
75
87
  "codex-tui-generic-v1": 80
76
88
  };
77
89
  const CLAUDE_NATIVE_STATUS_POPUP_BY_PROFILE = {
@@ -250,6 +262,10 @@ export class TerminalNativeInspectionBridge {
250
262
  * composer and terminal-identity fences used by native inspection.
251
263
  */
252
264
  async submitCodexStatusProbe(terminalControl, agentVersion, options = {}) {
265
+ if (options.allowWorkingCodexStatus && (!isCodexPaginatedVersion(agentVersion) ||
266
+ options.runtime?.agentVersion !== agentVersion)) {
267
+ throw nativeInspectionSubmissionError("not_started", new Error("working native status requires the same exact verified paginated Codex runtime"), "unsupported_profile");
268
+ }
253
269
  const adapter = this.registry.require("codex");
254
270
  let plan;
255
271
  try {
@@ -268,7 +284,10 @@ export class TerminalNativeInspectionBridge {
268
284
  catch (error) {
269
285
  throw nativeInspectionSubmissionError("not_started", error, "unsupported_profile");
270
286
  }
271
- const result = await this.submitClosedNativeInspection("codex", terminalControl, plan, options, { requireCodexReadyComposer: true });
287
+ const result = await this.submitClosedNativeInspection("codex", terminalControl, plan, options, {
288
+ requireCodexReadyComposer: true,
289
+ allowWorkingCodexStatus: options.allowWorkingCodexStatus === true
290
+ });
272
291
  if (!result.preTextScreenDigest) {
273
292
  throw new Error("Codex /status pre-text composer evidence is missing");
274
293
  }
@@ -312,7 +331,7 @@ export class TerminalNativeInspectionBridge {
312
331
  let preTextScreenDigest;
313
332
  if (safety.requireCodexReadyComposer) {
314
333
  try {
315
- const ready = await this.captureCodexReadyComposer(adapter, verifiedForText, plan, options.runtime);
334
+ const ready = await this.captureCodexReadyComposer(adapter, verifiedForText, plan, options.runtime, safety.allowWorkingCodexStatus);
316
335
  verifiedForText = ready.terminalControl;
317
336
  preTextScreenDigest = ready.screenDigest;
318
337
  }
@@ -336,7 +355,7 @@ export class TerminalNativeInspectionBridge {
336
355
  }
337
356
  let settled;
338
357
  try {
339
- settled = await this.settleNativeInspectionComposer(adapter, terminalControl, plan, options.runtime);
358
+ settled = await this.settleNativeInspectionComposer(adapter, terminalControl, plan, options.runtime, safety.allowWorkingCodexStatus);
340
359
  await options.beforeEnter?.({
341
360
  agent: adapter.agent,
342
361
  terminalControl: settled.terminalControl,
@@ -354,7 +373,7 @@ export class TerminalNativeInspectionBridge {
354
373
  // human input while that proof is in flight. Keep the exact composer
355
374
  // capture as the final substantive asynchronous evidence before the
356
375
  // single Enter attempt.
357
- settled = await this.revalidateNativeInspectionComposer(adapter, settled.terminalControl, plan, settled.materialization, options.runtime);
376
+ settled = await this.revalidateNativeInspectionComposer(adapter, settled.terminalControl, plan, settled.materialization, options.runtime, safety.allowWorkingCodexStatus);
358
377
  }
359
378
  catch (error) {
360
379
  throw nativeInspectionSubmissionError("text_injected", error, "composer_not_exact");
@@ -486,7 +505,7 @@ export class TerminalNativeInspectionBridge {
486
505
  throw new NativeInspectionDismissalError(error instanceof Error ? error.message : String(error), { cause: error });
487
506
  }
488
507
  }
489
- async captureCodexReadyComposer(adapter, terminalControl, plan, runtime) {
508
+ async captureCodexReadyComposer(adapter, terminalControl, plan, runtime, allowWorkingCodexStatus = false) {
490
509
  if (adapter.agent !== "codex") {
491
510
  throw new NativeInspectionDiagnosticError("unsupported_profile", "the closed Codex /status probe requires the Codex adapter");
492
511
  }
@@ -494,71 +513,8 @@ export class TerminalNativeInspectionBridge {
494
513
  if (minimumViewport === undefined) {
495
514
  throw new NativeInspectionDiagnosticError("unsupported_profile", `Codex ${plan.behaviorProfile} has no exact /status viewport profile`);
496
515
  }
497
- const captureReady = async (control) => {
498
- const verified = await this.verifyTerminalIdentity(adapter.agent, control, runtime);
499
- const endpoint = this.terminalProvider.endpoint(verified);
500
- const viewportInspector = this.terminalProvider.inspectViewport;
501
- let exactViewport;
502
- let viewportUnavailableReason = "terminal provider has no exact viewport inspector";
503
- if (viewportInspector) {
504
- let viewport;
505
- try {
506
- viewport = await viewportInspector.call(this.terminalProvider, endpoint);
507
- }
508
- catch (error) {
509
- throw new NativeInspectionDiagnosticError("viewport_unavailable", `Codex /status viewport inspection failed before terminal input: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
510
- }
511
- if (viewport) {
512
- if (!Number.isSafeInteger(viewport.columns) ||
513
- viewport.columns <= 0 ||
514
- !Number.isSafeInteger(viewport.rows) ||
515
- viewport.rows <= 0) {
516
- throw new NativeInspectionDiagnosticError("viewport_unavailable", "Codex /status viewport inspector returned invalid geometry");
517
- }
518
- exactViewport = viewport.columns;
519
- }
520
- else {
521
- viewportUnavailableReason =
522
- "terminal provider could not prove exact viewport geometry";
523
- }
524
- }
525
- const styledScreen = await this.terminalProvider.capture(endpoint, { scrollbackLines: 40, preserveEscapes: true });
526
- const plainScreen = stripTerminalEscapeSequences(styledScreen);
527
- const inspection = adapter.inspectScreen({ screen: plainScreen, runtime });
528
- assertNativeInspectionComposerSafe(inspection, adapter.displayName);
529
- const composer = exactCodexReadyStyledComposerCapture(styledScreen);
530
- if (!composer) {
531
- throw new NativeInspectionDiagnosticError("composer_not_ready", "Codex composer contains non-placeholder input or is not at the exact idle prompt");
532
- }
533
- const inferredViewport = inferCodexVisibleViewportColumns(styledScreen);
534
- const observedViewport = exactViewport ?? inferredViewport;
535
- if ((observedViewport !== undefined && observedViewport < minimumViewport) ||
536
- hasTruncatedCodexStatusSessionLine(plainScreen)) {
537
- throw new NativeInspectionDiagnosticError("viewport_too_narrow", `Codex /status requires a proven viewport of at least ` +
538
- `${minimumViewport} columns to preserve the complete Session UUID` +
539
- `${observedViewport === undefined
540
- ? ""
541
- : `; observed ${observedViewport}`}; widen or zoom the pane before retrying`);
542
- }
543
- if (exactViewport === undefined) {
544
- throw new NativeInspectionDiagnosticError("viewport_unavailable", `Codex /status requires exact terminal viewport geometry before input; ` +
545
- viewportUnavailableReason +
546
- `${inferredViewport === undefined
547
- ? ""
548
- : ` (ANSI fallback estimated ${inferredViewport} columns)`}`);
549
- }
550
- const reverified = await this.verifyTerminalIdentity(adapter.agent, verified, runtime);
551
- if (!sameTerminalControlIdentity(verified, reverified)) {
552
- throw new NativeInspectionDiagnosticError("identity_unverified", "terminal control identity changed after the Codex pre-text composer capture");
553
- }
554
- return {
555
- terminalControl: reverified,
556
- screenDigest: nativeInspectionScreenFingerprint(styledScreen),
557
- composerDigest: composer.digest
558
- };
559
- };
560
- const first = await captureReady(terminalControl);
561
- const second = await captureReady(first.terminalControl);
516
+ const first = await this.captureCodexReadyComposerFrame(adapter, terminalControl, minimumViewport, runtime, allowWorkingCodexStatus);
517
+ const second = await this.captureCodexReadyComposerFrame(adapter, first.terminalControl, minimumViewport, runtime, allowWorkingCodexStatus);
562
518
  if (second.composerDigest !== first.composerDigest) {
563
519
  throw new NativeInspectionDiagnosticError("composer_not_ready", "Codex empty composer changed across its stable pre-text captures");
564
520
  }
@@ -567,6 +523,66 @@ export class TerminalNativeInspectionBridge {
567
523
  screenDigest: second.screenDigest
568
524
  };
569
525
  }
526
+ async captureCodexReadyComposerFrame(adapter, control, minimumViewport, runtime, allowWorkingCodexStatus = false) {
527
+ const verified = await this.verifyTerminalIdentity(adapter.agent, control, runtime);
528
+ const endpoint = this.terminalProvider.endpoint(verified);
529
+ const { exactViewport, viewportUnavailableReason } = await this.captureCodexStatusViewportBeforeInput(endpoint);
530
+ const styledScreen = await this.terminalProvider.capture(endpoint, { scrollbackLines: 40, preserveEscapes: true });
531
+ const plainScreen = stripTerminalEscapeSequences(styledScreen);
532
+ const inspection = adapter.inspectScreen({ screen: plainScreen, runtime });
533
+ assertNativeInspectionComposerSafe(inspection, adapter.displayName, allowWorkingCodexStatus);
534
+ const composer = exactCodexReadyStyledComposerCapture(styledScreen, runtime?.agentVersion);
535
+ if (!composer) {
536
+ throw new NativeInspectionDiagnosticError("composer_not_ready", "Codex composer contains non-placeholder input or is not at the exact idle prompt");
537
+ }
538
+ const inferredViewport = inferCodexVisibleViewportColumns(styledScreen);
539
+ const observedViewport = exactViewport ?? inferredViewport;
540
+ if ((observedViewport !== undefined && observedViewport < minimumViewport) ||
541
+ hasTruncatedCodexStatusSessionLine(plainScreen)) {
542
+ throw new NativeInspectionDiagnosticError("viewport_too_narrow", `Codex /status requires a proven viewport of at least ` +
543
+ `${minimumViewport} columns to preserve the complete Session UUID` +
544
+ `${observedViewport === undefined
545
+ ? ""
546
+ : `; observed ${observedViewport}`}; widen or zoom the pane before retrying`);
547
+ }
548
+ if (exactViewport === undefined) {
549
+ throw new NativeInspectionDiagnosticError("viewport_unavailable", `Codex /status requires exact terminal viewport geometry before input; ` +
550
+ viewportUnavailableReason + `${inferredViewport === undefined
551
+ ? "" : ` (ANSI fallback estimated ${inferredViewport} columns)`}`);
552
+ }
553
+ const reverified = await this.verifyTerminalIdentity(adapter.agent, verified, runtime);
554
+ if (!sameTerminalControlIdentity(verified, reverified)) {
555
+ throw new NativeInspectionDiagnosticError("identity_unverified", "terminal control identity changed after the Codex pre-text composer capture");
556
+ }
557
+ return { terminalControl: reverified,
558
+ screenDigest: nativeInspectionScreenFingerprint(styledScreen), composerDigest: composer.digest };
559
+ }
560
+ async captureCodexStatusViewportBeforeInput(endpoint) {
561
+ const inspector = this.terminalProvider.inspectViewport;
562
+ if (!inspector)
563
+ return {
564
+ viewportUnavailableReason: "terminal provider has no exact viewport inspector"
565
+ };
566
+ let viewport;
567
+ try {
568
+ viewport = await inspector.call(this.terminalProvider, endpoint);
569
+ }
570
+ catch (error) {
571
+ throw new NativeInspectionDiagnosticError("viewport_unavailable", `Codex /status viewport inspection failed before terminal input: ${error instanceof Error ? error.message : String(error)}`, { cause: error });
572
+ }
573
+ if (!viewport)
574
+ return {
575
+ viewportUnavailableReason: "terminal provider could not prove exact viewport geometry"
576
+ };
577
+ if (!Number.isSafeInteger(viewport.columns) || viewport.columns <= 0 ||
578
+ !Number.isSafeInteger(viewport.rows) || viewport.rows <= 0) {
579
+ throw new NativeInspectionDiagnosticError("viewport_unavailable", "Codex /status viewport inspector returned invalid geometry");
580
+ }
581
+ return {
582
+ exactViewport: viewport.columns,
583
+ viewportUnavailableReason: "terminal provider has no exact viewport inspector"
584
+ };
585
+ }
570
586
  async assertFinalCodexStatusViewport(terminalControl, plan, runtime) {
571
587
  const minimumViewport = CODEX_NATIVE_STATUS_MIN_VIEWPORT_BY_PROFILE[plan.behaviorProfile];
572
588
  if (minimumViewport === undefined) {
@@ -601,7 +617,7 @@ export class TerminalNativeInspectionBridge {
601
617
  }
602
618
  return reverified;
603
619
  }
604
- async settleNativeInspectionComposer(adapter, terminalControl, plan, runtime) {
620
+ async settleNativeInspectionComposer(adapter, terminalControl, plan, runtime, allowWorkingCodexStatus = false) {
605
621
  const startedAt = this.nowMs();
606
622
  const settleTimeoutMs = plan.composer.maximumSettleMs;
607
623
  let stableDigest;
@@ -615,7 +631,7 @@ export class TerminalNativeInspectionBridge {
615
631
  runtime,
616
632
  scrollbackLines: CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES
617
633
  });
618
- assertNativeInspectionComposerSafe(captured.inspection);
634
+ assertNativeInspectionComposerSafe(captured.inspection, adapter.displayName, allowWorkingCodexStatus);
619
635
  const materialized = exactNativeInspectionComposerCapture(adapter.agent, captured.screen, plan);
620
636
  const now = this.nowMs();
621
637
  if (materialized) {
@@ -638,7 +654,7 @@ export class TerminalNativeInspectionBridge {
638
654
  stableForMs,
639
655
  stableCaptures
640
656
  };
641
- return this.revalidateNativeInspectionComposer(adapter, captured.terminalControl, plan, evidence, runtime);
657
+ return this.revalidateNativeInspectionComposer(adapter, captured.terminalControl, plan, evidence, runtime, allowWorkingCodexStatus);
642
658
  }
643
659
  }
644
660
  else {
@@ -671,12 +687,12 @@ export class TerminalNativeInspectionBridge {
671
687
  ? `${adapter.displayName} /status slash popup was truncated by the viewport; widen or zoom the pane before retrying manually`
672
688
  : `${adapter.displayName} /status composer did not become exact, idle, and stable before the bounded submit deadline`);
673
689
  }
674
- async revalidateNativeInspectionComposer(adapter, terminalControl, plan, expected, runtime) {
690
+ async revalidateNativeInspectionComposer(adapter, terminalControl, plan, expected, runtime, allowWorkingCodexStatus = false) {
675
691
  const captured = await this.captureInspection(adapter, terminalControl, {
676
692
  runtime,
677
693
  scrollbackLines: CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES
678
694
  });
679
- assertNativeInspectionComposerSafe(captured.inspection);
695
+ assertNativeInspectionComposerSafe(captured.inspection, adapter.displayName, allowWorkingCodexStatus);
680
696
  const materialized = exactNativeInspectionComposerCapture(adapter.agent, captured.screen, plan);
681
697
  if (!materialized ||
682
698
  materialized.digest !== expected.digest ||
@@ -697,13 +713,29 @@ export class TerminalNativeInspectionBridge {
697
713
  if (!sameTerminalControlIdentity(captured.terminalControl, verifiedImmediatelyBeforeEnter)) {
698
714
  throw new NativeInspectionDiagnosticError("identity_unverified", `terminal control identity changed after the final ${adapter.displayName} /status composer capture`);
699
715
  }
716
+ const finalScreen = codexFullscreenStatusVersion(plan) !== undefined
717
+ ? await this.captureCodexStyledStatusPopup(verifiedImmediatelyBeforeEnter, plan, expected, runtime, allowWorkingCodexStatus)
718
+ : captured.screen;
700
719
  return {
701
720
  terminalControl: verifiedImmediatelyBeforeEnter,
702
- screenDigest: nativeInspectionScreenFingerprint(captured.screen),
721
+ screenDigest: nativeInspectionScreenFingerprint(finalScreen),
703
722
  evidenceInventory: baseline.evidenceInventory,
704
723
  materialization: expected
705
724
  };
706
725
  }
726
+ async captureCodexStyledStatusPopup(control, plan, expected, runtime, allowWorking = false) {
727
+ const styledScreen = await this.terminalProvider.capture(this.terminalProvider.endpoint(control), { scrollbackLines: CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES, preserveEscapes: true });
728
+ const plainScreen = stripTerminalEscapeSequences(styledScreen);
729
+ const adapter = this.registry.require("codex");
730
+ assertNativeInspectionComposerSafe(adapter.inspectScreen({ screen: plainScreen, runtime }), adapter.displayName, allowWorking);
731
+ const styled = exactCodexFullscreenSlashComposerCapture(styledScreen, plan.command, CODEX_NATIVE_STATUS_POPUP_BY_PROFILE[plan.behaviorProfile] ?? [], true, codexFullscreenStatusVersion(plan));
732
+ const materialized = exactNativeInspectionComposerCapture("codex", plainScreen, plan);
733
+ if (!styled || !materialized || materialized.digest !== expected.digest ||
734
+ materialized.kind !== expected.kind) {
735
+ throw new NativeInspectionDiagnosticError("composer_drift", "Codex fullscreen /status lost its exact styled popup before Enter");
736
+ }
737
+ return styledScreen;
738
+ }
707
739
  }
708
740
  function sameTerminalControlIdentity(left, right) {
709
741
  return sameTerminalControlIncarnation(left, right);
@@ -794,10 +826,10 @@ function assertClosedNativeInspectionDismissal(plan) {
794
826
  throw new Error("native inspection has no closed modal dismissal plan");
795
827
  }
796
828
  }
797
- function assertNativeInspectionComposerSafe(inspection, displayName = "terminal agent") {
829
+ function assertNativeInspectionComposerSafe(inspection, displayName = "terminal agent", allowWorkingCodexStatus = false) {
798
830
  if (inspection.approval.blocked ||
799
831
  inspection.activity.state === "awaiting_approval" ||
800
- inspection.activity.state === "working") {
832
+ inspection.activity.state === "working" && !allowWorkingCodexStatus) {
801
833
  throw new NativeInspectionDiagnosticError("composer_not_ready", `${displayName} became busy or blocked while its /status composer was settling`);
802
834
  }
803
835
  // Codex's generic activity parser deliberately reports a non-empty slash
@@ -812,6 +844,10 @@ function exactNativeInspectionComposerCapture(agent, screen, plan) {
812
844
  : exactClaudeNativeInspectionComposerCapture(screen, plan);
813
845
  }
814
846
  function exactCodexNativeInspectionComposerCapture(screen, plan) {
847
+ if (codexFullscreenStatusVersion(plan) !== undefined) {
848
+ const captured = exactCodexFullscreenSlashComposerCapture(stripTerminalEscapeSequences(screen), plan.command, CODEX_NATIVE_STATUS_POPUP_BY_PROFILE[plan.behaviorProfile], false, codexFullscreenStatusVersion(plan));
849
+ return captured && { digest: captured.digest, kind: "exact_slash_popup" };
850
+ }
815
851
  const lines = screen.replace(/\r\n?/gu, "\n").split("\n");
816
852
  let currentComposerIndex = -1;
817
853
  for (let index = lines.length - 1; index >= 0; index -= 1) {
@@ -983,7 +1019,14 @@ function bareDigestFromNativeInspectionScreenFingerprint(fingerprint) {
983
1019
  export function stripTerminalEscapeSequences(value) {
984
1020
  return value.replace(/\x1B(?:\[[0-?]*[ -/]*[@-~]|\][^\x07\x1B]*(?:\x07|\x1B\\))/gu, "");
985
1021
  }
986
- export function exactCodexReadyStyledComposerCapture(screen) {
1022
+ export function exactCodexReadyStyledComposerCapture(screen, agentVersion) {
1023
+ if (isCodexPaginatedVersion(agentVersion)) {
1024
+ const frame = captureCodexFullscreenComposerFrame(screen, agentVersion);
1025
+ if (!frame || !frame.hasShortcutFooter ||
1026
+ !["", "Ask Codex to do anything"].includes(frame.composerText)) {
1027
+ return undefined;
1028
+ }
1029
+ }
987
1030
  const lines = screen.replace(/\r\n?/gu, "\n").split("\n");
988
1031
  while (lines.length > 0 &&
989
1032
  stripTerminalEscapeSequences(lines.at(-1) ?? "").trim().length === 0) {
@@ -1129,4 +1172,8 @@ function codexNativeInspectionComposerMismatchDiagnostic(screen, plan) {
1129
1172
  ? "composer_viewport_truncated"
1130
1173
  : "composer_not_exact";
1131
1174
  }
1175
+ function codexFullscreenStatusVersion(plan) {
1176
+ const version = /^codex-tui-(.+)$/u.exec(plan.behaviorProfile)?.[1];
1177
+ return isCodexPaginatedVersion(version) ? version : undefined;
1178
+ }
1132
1179
  //# sourceMappingURL=terminal-native-inspection-bridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-native-inspection-bridge.js","sourceRoot":"","sources":["../../src/terminal-native-inspection-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-native-inspection-bridge.js","sourceRoot":"","sources":["../../src/terminal-native-inspection-bridge.ts"],"names":[],"mappings":"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"}