@scotthuang/agent-knock-knock 0.13.14 → 0.13.16

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 (113) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +2 -1
  3. package/dist/src/cli-core.js +6 -3
  4. package/dist/src/cli-core.js.map +1 -1
  5. package/dist/src/codex-app-server-read-client.d.ts +17 -1
  6. package/dist/src/codex-app-server-read-client.js +81 -37
  7. package/dist/src/codex-app-server-read-client.js.map +1 -1
  8. package/dist/src/codex-fullscreen-composer-proof.d.ts +3 -1
  9. package/dist/src/codex-fullscreen-composer-proof.js +11 -3
  10. package/dist/src/codex-fullscreen-composer-proof.js.map +1 -1
  11. package/dist/src/codex-lifecycle-compatibility.d.ts +9 -0
  12. package/dist/src/codex-lifecycle-compatibility.js +27 -0
  13. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  14. package/dist/src/codex-paginated-observation.d.ts +1 -0
  15. package/dist/src/codex-paginated-observation.js +13 -4
  16. package/dist/src/codex-paginated-observation.js.map +1 -1
  17. package/dist/src/codex-paginated-task.d.ts +7 -5
  18. package/dist/src/codex-paginated-task.js +41 -17
  19. package/dist/src/codex-paginated-task.js.map +1 -1
  20. package/dist/src/codex-paginated-thread-binding.d.ts +5 -0
  21. package/dist/src/codex-paginated-thread-binding.js +52 -35
  22. package/dist/src/codex-paginated-thread-binding.js.map +1 -1
  23. package/dist/src/codex-paginated-thread-facts.d.ts +2 -3
  24. package/dist/src/codex-paginated-watch.d.ts +1 -1
  25. package/dist/src/codex-paginated-watch.js +19 -2
  26. package/dist/src/codex-paginated-watch.js.map +1 -1
  27. package/dist/src/codex-permission-surface.d.ts +23 -0
  28. package/dist/src/codex-permission-surface.js +211 -0
  29. package/dist/src/codex-permission-surface.js.map +1 -0
  30. package/dist/src/codex-status-history-navigation.js +4 -3
  31. package/dist/src/codex-status-history-navigation.js.map +1 -1
  32. package/dist/src/codex-terminal-agent-adapter.js +28 -12
  33. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  34. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +5 -4
  35. package/dist/src/native-thread-lifecycle-cli-adapter.js +20 -0
  36. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  37. package/dist/src/semantic-permission-control.d.ts +19 -0
  38. package/dist/src/semantic-permission-control.js +174 -0
  39. package/dist/src/semantic-permission-control.js.map +1 -0
  40. package/dist/src/semantic-tool-command-helpers.d.ts +7 -0
  41. package/dist/src/semantic-tool-command-helpers.js +29 -1
  42. package/dist/src/semantic-tool-command-helpers.js.map +1 -1
  43. package/dist/src/semantic-tool-list-projection.js +4 -0
  44. package/dist/src/semantic-tool-list-projection.js.map +1 -1
  45. package/dist/src/semantic-tool-presentation.js +5 -2
  46. package/dist/src/semantic-tool-presentation.js.map +1 -1
  47. package/dist/src/semantic-tool-runtime.js +7 -1
  48. package/dist/src/semantic-tool-runtime.js.map +1 -1
  49. package/dist/src/semantic-tool-schemas.d.ts +33 -0
  50. package/dist/src/semantic-tool-schemas.js +33 -0
  51. package/dist/src/semantic-tool-schemas.js.map +1 -1
  52. package/dist/src/store.d.ts +1 -1
  53. package/dist/src/store.js +2 -2
  54. package/dist/src/store.js.map +1 -1
  55. package/dist/src/terminal-action-projection.d.ts +1 -1
  56. package/dist/src/terminal-action-projection.js.map +1 -1
  57. package/dist/src/terminal-agent-bridge.d.ts +3 -0
  58. package/dist/src/terminal-agent-bridge.js +45 -6
  59. package/dist/src/terminal-agent-bridge.js.map +1 -1
  60. package/dist/src/terminal-composer-classifier.js +31 -5
  61. package/dist/src/terminal-composer-classifier.js.map +1 -1
  62. package/dist/src/terminal-human-explicit-send-cli-adapter.js +11 -0
  63. package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -1
  64. package/dist/src/terminal-list-cli-adapter.js +7 -12
  65. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  66. package/dist/src/terminal-list-renderer.d.ts +7 -0
  67. package/dist/src/terminal-list-renderer.js +53 -0
  68. package/dist/src/terminal-list-renderer.js.map +1 -1
  69. package/dist/src/terminal-monitor-decision-policy.d.ts +1 -1
  70. package/dist/src/terminal-native-control-cli-contract.d.ts +16 -0
  71. package/dist/src/terminal-native-control-cli-contract.js +2 -0
  72. package/dist/src/terminal-native-control-cli-contract.js.map +1 -0
  73. package/dist/src/terminal-native-inspection-bridge.js +34 -25
  74. package/dist/src/terminal-native-inspection-bridge.js.map +1 -1
  75. package/dist/src/terminal-permission-control-availability.d.ts +31 -0
  76. package/dist/src/terminal-permission-control-availability.js +50 -0
  77. package/dist/src/terminal-permission-control-availability.js.map +1 -0
  78. package/dist/src/terminal-permission-control-bridge.d.ts +16 -0
  79. package/dist/src/terminal-permission-control-bridge.js +93 -0
  80. package/dist/src/terminal-permission-control-bridge.js.map +1 -0
  81. package/dist/src/terminal-permission-control-cli-adapter.d.ts +31 -0
  82. package/dist/src/terminal-permission-control-cli-adapter.js +152 -0
  83. package/dist/src/terminal-permission-control-cli-adapter.js.map +1 -0
  84. package/dist/src/terminal-permission-control-list-projection.d.ts +23 -0
  85. package/dist/src/terminal-permission-control-list-projection.js +47 -0
  86. package/dist/src/terminal-permission-control-list-projection.js.map +1 -0
  87. package/dist/src/terminal-permission-control-runtime.d.ts +28 -0
  88. package/dist/src/terminal-permission-control-runtime.js +88 -0
  89. package/dist/src/terminal-permission-control-runtime.js.map +1 -0
  90. package/dist/src/terminal-permission-control.d.ts +69 -0
  91. package/dist/src/terminal-permission-control.js +217 -0
  92. package/dist/src/terminal-permission-control.js.map +1 -0
  93. package/dist/src/terminal-send-watch-policy.js +9 -12
  94. package/dist/src/terminal-send-watch-policy.js.map +1 -1
  95. package/dist/src/terminal-watch-cli-adapter.d.ts +5 -10
  96. package/dist/src/terminal-watch-cli-adapter.js +51 -32
  97. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  98. package/dist/src/terminal-watch-codec.js +11 -2
  99. package/dist/src/terminal-watch-codec.js.map +1 -1
  100. package/dist/src/terminal-watch-record.d.ts +8 -1
  101. package/dist/src/terminal-watch-record.js +16 -2
  102. package/dist/src/terminal-watch-record.js.map +1 -1
  103. package/dist/src/terminal-watch-send-activity.d.ts +28 -0
  104. package/dist/src/terminal-watch-send-activity.js +65 -0
  105. package/dist/src/terminal-watch-send-activity.js.map +1 -0
  106. package/dist/src/terminal-watch-service.d.ts +5 -0
  107. package/dist/src/terminal-watch-service.js +53 -6
  108. package/dist/src/terminal-watch-service.js.map +1 -1
  109. package/docs/callback-compatibility.md +84 -0
  110. package/docs/codex-permissions.md +95 -0
  111. package/openclaw.plugin.json +9 -1
  112. package/package.json +4 -2
  113. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +21 -16
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { codexProcessIncarnationForPid } from "./codex-process-incarnation.js";
5
- import { isAuditedCodexPaginatedServerPair, isCodexPaginatedVersion } from "./codex-lifecycle-compatibility.js";
5
+ import { isCodexPaginatedReadCandidate } from "./codex-lifecycle-compatibility.js";
6
6
  import { connectCodexAppServerReadClient } from "./codex-app-server-read-client.js";
7
7
  import { createCodexTerminalAgentAdapter } from "./codex-terminal-agent-adapter.js";
8
8
  import { stripTerminalEscapeSequences } from "./terminal-native-inspection-bridge.js";
@@ -10,9 +10,17 @@ export function codexPaginatedHome(configured) {
10
10
  const value = configured ?? process.env.CODEX_HOME ?? path.join(os.homedir(), ".codex");
11
11
  return path.resolve(value.startsWith("~/") ? path.join(os.homedir(), value.slice(2)) : value);
12
12
  }
13
+ /** A dispatched /status whose closed UI transaction was not proven must not be followed by Send. */
14
+ export class CodexPaginatedForegroundInspectionError extends Error {
15
+ doNotRetry = true;
16
+ constructor(cause) {
17
+ super(cause instanceof Error ? cause.message : "Codex foreground status observation failed", { cause });
18
+ this.name = "CodexPaginatedForegroundInspectionError";
19
+ }
20
+ }
13
21
  export async function captureCodexPaginatedThreadBinding(input) {
14
- if (!isCodexPaginatedVersion(input.agentVersion)) {
15
- throw new Error("Codex paginated foreground inspection requires version 0.158.0, 0.159.0, or 0.159.2");
22
+ if (!isCodexPaginatedReadCandidate(input.agentVersion)) {
23
+ throw new Error("Codex paginated foreground inspection requires a complete version at least 0.158.0");
16
24
  }
17
25
  const incarnation = input.incarnation ?? codexProcessIncarnationForPid;
18
26
  const before = incarnation(input.pid);
@@ -20,47 +28,56 @@ export async function captureCodexPaginatedThreadBinding(input) {
20
28
  const submission = await input.bridge.submitCodexStatusProbe(input.terminalControl, input.agentVersion, { runtime, ...(input.allowWorking ? { allowWorkingCodexStatus: true } : {}) });
21
29
  const adapter = createCodexTerminalAgentAdapter();
22
30
  const sleep = input.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
23
- for (let attempt = 0; attempt < 40; attempt += 1) {
24
- const frame = await input.bridge.captureCodexStatusFrame(input.terminalControl, runtime, submission);
25
- const observed = adapter.observeNativeInspection?.({
26
- operation: { kind: "status" }, expectedAgentVersion: input.agentVersion,
27
- screen: stripTerminalEscapeSequences(frame.screen),
28
- previousScreenFingerprint: submission.preEnterScreenDigest
29
- });
30
- // LocalDaemon processes the /status history cell before its next Draw.
31
- // A cleared styled Composer plus complete card proves this closed command
32
- // finished; fullscreen clipping cannot preserve a monotonic card count.
33
- if (frame.emptyComposer && createHash("sha256").update(frame.screen).digest("hex") !== submission.observationBaselineDigest &&
34
- observed?.status === "observed" && observed.nativeThreadId &&
35
- observed.result?.fields.some((field) => field.name === "Server" && field.value === "Local background server")) {
36
- const codexHome = codexPaginatedHome(input.codexHome);
37
- const serverVersion = await (input.resolveBackendVersion ?? resolveCodexBackendVersion)({
38
- codexHome, agentVersion: input.agentVersion
31
+ let closedStatusProven = false;
32
+ try {
33
+ for (let attempt = 0; attempt < 40; attempt += 1) {
34
+ const frame = await input.bridge.captureCodexStatusFrame(input.terminalControl, runtime, submission);
35
+ const observed = adapter.observeNativeInspection?.({
36
+ operation: { kind: "status" }, expectedAgentVersion: input.agentVersion,
37
+ screen: stripTerminalEscapeSequences(frame.screen),
38
+ previousScreenFingerprint: submission.preEnterScreenDigest
39
39
  });
40
- if (!isAuditedCodexPaginatedServerPair(input.agentVersion, serverVersion)) {
41
- throw new Error("Codex TUI and shared app-server versions are not an audited pair");
40
+ // LocalDaemon processes the /status history cell before its next Draw.
41
+ // A cleared styled Composer plus complete card proves this closed command
42
+ // finished; fullscreen clipping cannot preserve a monotonic card count.
43
+ if (frame.emptyComposer && createHash("sha256").update(frame.screen).digest("hex") !== submission.observationBaselineDigest &&
44
+ observed?.status === "observed" && observed.nativeThreadId &&
45
+ observed.result?.fields.some((field) => field.name === "Server" && field.value === "Local background server")) {
46
+ closedStatusProven = true;
47
+ const codexHome = codexPaginatedHome(input.codexHome);
48
+ const serverVersion = await (input.resolveBackendVersion ?? resolveCodexBackendVersion)({
49
+ codexHome, agentVersion: input.agentVersion
50
+ });
51
+ if (!isCodexPaginatedReadCandidate(serverVersion)) {
52
+ throw new Error("Codex app-server initialize did not provide a paginated read candidate version");
53
+ }
54
+ const after = incarnation(input.pid);
55
+ if (after.processUuid !== before.processUuid || after.processBirth !== before.processBirth) {
56
+ throw new Error("Codex process changed during foreground thread inspection");
57
+ }
58
+ return {
59
+ codexHome,
60
+ threadId: observed.nativeThreadId, agentVersion: input.agentVersion,
61
+ serverVersion,
62
+ processUuid: after.processUuid, processBirth: after.processBirth,
63
+ pid: input.pid, observedAt: (input.now?.() ?? new Date()).toISOString()
64
+ };
42
65
  }
43
- const after = incarnation(input.pid);
44
- if (after.processUuid !== before.processUuid || after.processBirth !== before.processBirth) {
45
- throw new Error("Codex process changed during foreground thread inspection");
46
- }
47
- return {
48
- codexHome,
49
- threadId: observed.nativeThreadId, agentVersion: input.agentVersion,
50
- serverVersion,
51
- processUuid: after.processUuid, processBirth: after.processBirth,
52
- pid: input.pid, observedAt: (input.now?.() ?? new Date()).toISOString()
53
- };
66
+ await sleep(100);
54
67
  }
55
- await sleep(100);
68
+ throw new Error("Codex did not provide a fresh exact foreground thread in /status");
69
+ }
70
+ catch (error) {
71
+ if (!closedStatusProven)
72
+ throw new CodexPaginatedForegroundInspectionError(error);
73
+ throw error;
56
74
  }
57
- throw new Error("Codex did not provide a fresh exact foreground thread in /status");
58
75
  }
59
76
  async function resolveCodexBackendVersion(request) {
60
77
  const client = await connectCodexAppServerReadClient({
61
78
  codexHome: request.codexHome,
62
79
  expectedServerVersion: request.agentVersion,
63
- allowAuditedBackendPatch: true
80
+ compatibility: "read_contract"
64
81
  });
65
82
  try {
66
83
  return client.metadata.serverVersion;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-paginated-thread-binding.js","sourceRoot":"","sources":["../../src/codex-paginated-thread-binding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-paginated-thread-binding.js","sourceRoot":"","sources":["../../src/codex-paginated-thread-binding.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import type { CodexPaginatedBackendVersion, CodexPaginatedVersion } from "./codex-lifecycle-compatibility.js";
2
1
  /** A fresh status transaction binds a physical TUI to a daemon-owned thread. */
3
2
  export interface CodexPaginatedThreadBinding {
4
3
  codexHome: string;
5
4
  threadId: string;
6
5
  /** Version of the exact foreground Codex TUI process and its UI contract. */
7
- agentVersion: CodexPaginatedVersion;
6
+ agentVersion: string;
8
7
  /** Version returned by the shared app-server initialize response. */
9
- serverVersion: CodexPaginatedBackendVersion;
8
+ serverVersion: string;
10
9
  processUuid: string;
11
10
  processBirth: string;
12
11
  pid: number;
@@ -21,7 +21,7 @@ export declare function observePaginatedWatch(input: {
21
21
  observedAt: string;
22
22
  terminalMatches: boolean;
23
23
  terminalAvailable: boolean;
24
- questionnaire: (checkpoint: CodexPaginatedTaskCheckpoint, questions: readonly CodexAsyncQuestionDurableEvidence[]) => TerminalWatchObservation | undefined;
24
+ questionnaire: (checkpoint: CodexPaginatedTaskCheckpoint, questions: readonly CodexAsyncQuestionDurableEvidence[], allowResponses: boolean) => TerminalWatchObservation | undefined;
25
25
  blockingQuestionnaire?: (checkpoint: CodexPaginatedTaskCheckpoint) => Promise<TerminalWatchObservation | undefined>;
26
26
  readSnapshot?: typeof readCodexPaginatedTaskSnapshot;
27
27
  }): Promise<TerminalWatchObservation>;
@@ -4,6 +4,7 @@ import { observeCodexPaginatedTask } from "./codex-paginated-task.js";
4
4
  import { isRecord, nonBlankString } from "./value-guards.js";
5
5
  import { terminalWatchObservationFence } from "./terminal-watch-service.js";
6
6
  import { createHash } from "node:crypto";
7
+ import { isAuditedCodexPaginatedServerPair } from "./codex-lifecycle-compatibility.js";
7
8
  export { isPaginatedSendWatch } from "./terminal-watch-record.js";
8
9
  export function paginatedWatchProcessMatches(terminal, anchor) {
9
10
  return Number(terminal.pid) === anchor.pid &&
@@ -59,12 +60,28 @@ export async function observePaginatedWatch(input) {
59
60
  return { ...base, kind: "invalidated", reason_code: "codex_paginated_terminal_identity_changed",
60
61
  evidence_fingerprint: digest({ anchor: anchor.anchor_fingerprint, reason: "physical_identity_changed" }) };
61
62
  }
62
- if (input.terminalMatches && paginatedTaskNeedsBlockingAnswer(snapshot) && input.blockingQuestionnaire) {
63
+ // Read compatibility never grants write compatibility. A previously actionable
64
+ // Watch must not keep answer authority after its shared backend changes.
65
+ const allowResponses = snapshot.serverVersion === (anchor.backend_version ?? anchor.codex_version) &&
66
+ isAuditedCodexPaginatedServerPair(anchor.codex_version, snapshot.serverVersion);
67
+ const prior = watch.current_interaction;
68
+ if (!allowResponses && prior?.aggregate.state === "pending" &&
69
+ prior.projection.response_authority === "executable") {
70
+ // Revoke the stored offer before considering another surface. Its old
71
+ // prompt is not fresh evidence for a replacement manual notification.
72
+ return { ...base, kind: input.terminalAvailable ? "pending" : "unavailable",
73
+ observation_checkpoint: result.checkpoint, last_activity_at: input.observedAt,
74
+ interaction_write_capability_lost: {
75
+ interaction_id: prior.projection.interaction_id,
76
+ prompt_fingerprint: prior.projection.prompt_fingerprint
77
+ } };
78
+ }
79
+ if (input.terminalMatches && allowResponses && paginatedTaskNeedsBlockingAnswer(snapshot) && input.blockingQuestionnaire) {
63
80
  const blocking = await input.blockingQuestionnaire(result.checkpoint);
64
81
  if (blocking)
65
82
  return blocking;
66
83
  }
67
- const interaction = input.terminalMatches ? input.questionnaire(result.checkpoint, result.questions) : undefined;
84
+ const interaction = input.terminalMatches ? input.questionnaire(result.checkpoint, result.questions, allowResponses) : undefined;
68
85
  return interaction ?? { ...base, kind: input.terminalAvailable ? "pending" : "unavailable",
69
86
  observation_checkpoint: result.checkpoint, last_activity_at: input.observedAt };
70
87
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-paginated-watch.js","sourceRoot":"","sources":["../../src/codex-paginated-watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-paginated-watch.js","sourceRoot":"","sources":["../../src/codex-paginated-watch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export type CodexPermissionId = "read_only" | "ask_for_approval" | "approve_for_me" | "full_access";
2
+ export interface CodexPermissionRow {
3
+ readonly id: CodexPermissionId;
4
+ readonly label: string;
5
+ readonly description: string;
6
+ readonly current: boolean;
7
+ readonly index: number;
8
+ }
9
+ export type CodexPermissionSurface = {
10
+ readonly state: "picker";
11
+ readonly rows: readonly CodexPermissionRow[];
12
+ readonly selectedIndex: number;
13
+ readonly fingerprint: string;
14
+ } | {
15
+ readonly state: "full_access_confirmation";
16
+ readonly selectedIndex: number;
17
+ readonly fingerprint: string;
18
+ } | {
19
+ readonly state: "none" | "ambiguous";
20
+ readonly reason?: string;
21
+ };
22
+ /** Closed, styled Codex 0.159.2/0.159.3 permission picker grammar. */
23
+ export declare function observeCodexPermissionSurface(styledScreen: string): CodexPermissionSurface;
@@ -0,0 +1,211 @@
1
+ import { createHash } from "node:crypto";
2
+ const PICKER_TITLE = "Update Model Permissions";
3
+ const CONFIRM_TITLE = "Enable full access?";
4
+ const FOOTER = "enter select · esc back";
5
+ const MODES = [
6
+ { id: "ask_for_approval", label: "Ask for approval", description: "Read and edit workspace files and run commands, with approval required for internet access or edits outside the workspace" },
7
+ { id: "approve_for_me", label: "Approve for me", description: "Only ask for actions detected as potentially unsafe" },
8
+ { id: "full_access", label: "Full Access", description: "Use with caution: Codex can edit files outside this workspace and access the internet without approval" },
9
+ { id: "read_only", label: "Read Only", description: "Read workspace files, with approval required for edits or internet access" }
10
+ ];
11
+ const FULL_ACCESS_WARNING = "When Codex runs with full access, it can edit any file on your computer and run commands with network, without your approval.";
12
+ const WARNINGS = new Set([
13
+ `${FULL_ACCESS_WARNING} Exercise caution when enabling full access. This significantly increases the risk of data loss, leaks, or unexpected behavior.`,
14
+ ...["Approve for me", "Ask for approval"].map((reviewer) => `${FULL_ACCESS_WARNING} Cyber models carry a higher risk of dangerous actions. Ensure proper safeguards are in place before granting full access. We strongly recommend selecting "${reviewer}" instead${reviewer === "Approve for me" ? ", and customizing the reviewer policy for your use case" : ""}.`)
15
+ ]);
16
+ const RESET = { bold: false, dim: false, reverse: false };
17
+ /** Closed, styled Codex 0.159.2/0.159.3 permission picker grammar. */
18
+ export function observeCodexPermissionSurface(styledScreen) {
19
+ const rawLines = styledScreen.replace(/\r\n?/gu, "\n").split("\n");
20
+ const plainLines = rawLines.map((line) => line.replace(/\x1b\[[0-9;]*m/gu, ""));
21
+ const titles = plainLines.flatMap((line, index) => [PICKER_TITLE, CONFIRM_TITLE].includes(line.trim()) ? [index] : []);
22
+ if (!titles.length)
23
+ return { state: "none" };
24
+ if (titles.length !== 1)
25
+ return ambiguousPermissionSurface("multiple permission surfaces are visible");
26
+ const start = titles[0];
27
+ let end = plainLines.length - 1;
28
+ while (end >= 0 && !plainLines[end].trim())
29
+ end -= 1;
30
+ if (plainLines[end]?.trim() !== FOOTER ||
31
+ plainLines.slice(start, end).some((line) => line.trim() === FOOTER)) {
32
+ return ambiguousPermissionSurface("permission surface has no unique complete closing footer");
33
+ }
34
+ const lines = decodeStyledLines(rawLines.slice(start, end + 1));
35
+ if (!lines)
36
+ return ambiguousPermissionSurface("permission surface contains unsupported terminal controls");
37
+ if (!visibleCells(lines[0]).every(({ style }) => style.bold && !style.dim && !style.reverse)) {
38
+ return ambiguousPermissionSurface("permission title lacks native bold styling");
39
+ }
40
+ const body = lines.slice(1, -1);
41
+ const parsed = parseRows(body);
42
+ if (!parsed || parsed.rows.filter((row) => row.selected).length !== 1 ||
43
+ parsed.rows.some((row, index) => row.number !== index + 1)) {
44
+ return ambiguousPermissionSurface("permission choices are incomplete, duplicated or unselected");
45
+ }
46
+ const selectedIndex = parsed.rows.findIndex((row) => row.selected);
47
+ if (!nativeSelectedStyle(parsed.rows[selectedIndex].line)) {
48
+ return ambiguousPermissionSurface("selected permission choice lacks native highlight styling");
49
+ }
50
+ if (parsed.rows.some((row) => !row.selected && visibleCells(row.line)
51
+ .some(({ style }) => style.reverse))) {
52
+ return ambiguousPermissionSurface("multiple permission choices have selection styling");
53
+ }
54
+ const fingerprint = `sha256:${createHash("sha256")
55
+ .update(rawLines.slice(start, end + 1).join("\n")).digest("hex")}`;
56
+ return permissionRowsSurface(lines[0].plain.trim() === CONFIRM_TITLE, parsed, selectedIndex, fingerprint);
57
+ }
58
+ function permissionRowsSurface(confirmation, parsed, selectedIndex, fingerprint) {
59
+ if (confirmation) {
60
+ if (!WARNINGS.has(normalize(parsed.preamble)) || parsed.rows.length !== 2 ||
61
+ parsed.rows[0].text !== "Yes, continue anyway Apply full access for this session" ||
62
+ parsed.rows[1].text !== "Cancel Go back without enabling full access") {
63
+ return ambiguousPermissionSurface("full access confirmation is incomplete or changed");
64
+ }
65
+ return { state: "full_access_confirmation", selectedIndex, fingerprint };
66
+ }
67
+ if (parsed.preamble.trim())
68
+ return ambiguousPermissionSurface("permission picker has unexpected introductory content");
69
+ const rows = [];
70
+ for (const row of parsed.rows) {
71
+ const mode = MODES.find((candidate) => row.text === `${candidate.label} ${candidate.description}` ||
72
+ row.text === `${candidate.label} (current) ${candidate.description}`);
73
+ if (!mode)
74
+ return ambiguousPermissionSurface("permission picker contains an unknown, disabled or clipped choice");
75
+ rows.push({ ...mode, current: row.text.startsWith(`${mode.label} (current) `), index: rows.length });
76
+ }
77
+ const ids = rows.map((row) => row.id).join(",");
78
+ if (!["ask_for_approval,full_access", "ask_for_approval,approve_for_me,full_access",
79
+ "ask_for_approval,full_access,read_only", "ask_for_approval,approve_for_me,full_access,read_only"].includes(ids) ||
80
+ rows.filter((row) => row.current).length > 1) {
81
+ return ambiguousPermissionSurface("permission picker order or current choice is inconsistent");
82
+ }
83
+ return { state: "picker", rows, selectedIndex, fingerprint };
84
+ }
85
+ function ambiguousPermissionSurface(reason) {
86
+ return { state: "ambiguous", reason };
87
+ }
88
+ function normalize(value) { return value.replace(/\s+/gu, " ").trim(); }
89
+ function visibleCells(line) { return line.cells.filter((cell) => cell.text.trim()); }
90
+ function parseRows(lines) {
91
+ const rows = [];
92
+ const preamble = [];
93
+ for (const line of lines) {
94
+ const value = line.plain.trimEnd();
95
+ if (!value.trim())
96
+ continue;
97
+ const match = /^(?:(›) | )([1-4])\. (\S.*)$/u.exec(value);
98
+ if (match) {
99
+ rows.push({ number: Number(match[2]), selected: Boolean(match[1]), text: normalize(match[3]), line });
100
+ }
101
+ else if (!rows.length) {
102
+ preamble.push(value);
103
+ }
104
+ else if (/^ {4,}\S/u.test(value) && !/[›↑↓]|\(disabled\)|\[…/u.test(value)) {
105
+ rows.at(-1).text += ` ${normalize(value)}`;
106
+ }
107
+ else
108
+ return undefined;
109
+ }
110
+ return { rows, preamble: preamble.join(" ") };
111
+ }
112
+ function nativeSelectedStyle(line) {
113
+ const prefix = /^› [1-4]\. (?:Ask for approval|Approve for me|Full Access|Read Only|Yes, continue anyway|Cancel)(?: \(current\))? {2,}/u.exec(line.plain);
114
+ if (!prefix)
115
+ return false;
116
+ const descriptionOffset = prefix[0].length;
117
+ const marker = line.cells[0];
118
+ // Native SelectionView makes the marker/name bold, then resets bold for
119
+ // the description while retaining the same highlight. Both are required;
120
+ // accepting a bold transcript line alone would erase this distinction.
121
+ return line.cells.every(({ text, style }, index) => !text.trim() ||
122
+ style.bold === (index < descriptionOffset) && !style.dim && (marker.style.reverse
123
+ ? style.reverse
124
+ : !style.reverse && style.fg === "rgb:0,0,46" &&
125
+ ["rgb:99,168,248", "rgb:164,205,251"].includes(style.bg ?? "") &&
126
+ style.bg === marker.style.bg));
127
+ }
128
+ function decodeStyledLines(lines) {
129
+ const result = [];
130
+ let style = RESET;
131
+ for (const raw of lines) {
132
+ const cells = [];
133
+ for (let offset = 0; offset < raw.length;) {
134
+ if (raw[offset] === "\x1b") {
135
+ const sgr = /^\x1b\[([0-9;]*)m/u.exec(raw.slice(offset));
136
+ if (!sgr)
137
+ return undefined;
138
+ const next = applySgr(style, sgr[1]);
139
+ if (!next)
140
+ return undefined;
141
+ style = next;
142
+ offset += sgr[0].length;
143
+ }
144
+ else {
145
+ const text = String.fromCodePoint(raw.codePointAt(offset));
146
+ if (/[\u0000-\u001f\u007f-\u009f]/u.test(text))
147
+ return undefined;
148
+ cells.push({ text, style });
149
+ offset += text.length;
150
+ }
151
+ }
152
+ result.push({ plain: cells.map((cell) => cell.text).join(""), cells });
153
+ }
154
+ return result;
155
+ }
156
+ function applySgr(previous, value) {
157
+ let style = previous;
158
+ const codes = value.split(";").map(Number);
159
+ for (let index = 0; index < codes.length; index += 1) {
160
+ const code = codes[index];
161
+ if (code === 38 || code === 48) {
162
+ const color = extendedSgrColor(codes, index);
163
+ if (!color)
164
+ return undefined;
165
+ style = { ...style, [code === 38 ? "fg" : "bg"]: color.value };
166
+ index += color.consumed;
167
+ }
168
+ else {
169
+ const next = applyBasicSgr(style, code);
170
+ if (!next)
171
+ return undefined;
172
+ style = next;
173
+ }
174
+ }
175
+ return style;
176
+ }
177
+ function extendedSgrColor(codes, index) {
178
+ const kind = codes[index + 1];
179
+ const count = kind === 2 ? 3 : kind === 5 ? 1 : 0;
180
+ const colors = codes.slice(index + 2, index + 2 + count);
181
+ if (!count || colors.length !== count || colors.some((part) => part < 0 || part > 255))
182
+ return undefined;
183
+ return {
184
+ value: `${kind === 2 ? "rgb" : "indexed"}:${colors.join(",")}`,
185
+ consumed: count + 1
186
+ };
187
+ }
188
+ function applyBasicSgr(style, code) {
189
+ if (code === 0)
190
+ return RESET;
191
+ if (code === 1)
192
+ return { ...style, bold: true };
193
+ if (code === 2)
194
+ return { ...style, dim: true };
195
+ if (code === 7)
196
+ return { ...style, reverse: true };
197
+ if (code === 22)
198
+ return { ...style, bold: false, dim: false };
199
+ if (code === 27)
200
+ return { ...style, reverse: false };
201
+ if (code === 39)
202
+ return { ...style, fg: undefined };
203
+ if (code === 49)
204
+ return { ...style, bg: undefined };
205
+ if (code >= 30 && code <= 37 || code >= 90 && code <= 97)
206
+ return { ...style, fg: `ansi:${code}` };
207
+ if (code >= 40 && code <= 47 || code >= 100 && code <= 107)
208
+ return { ...style, bg: `ansi:${code}` };
209
+ return undefined;
210
+ }
211
+ //# sourceMappingURL=codex-permission-surface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-permission-surface.js","sourceRoot":"","sources":["../../src/codex-permission-surface.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import { createHash } from "node:crypto";
2
+ import { codexNativeInspectionCompatibilityProfile, isCodexPaginatedReadCandidate } from "./codex-lifecycle-compatibility.js";
2
3
  import { captureCodexFullscreenComposerFrame } from "./codex-fullscreen-composer-proof.js";
3
4
  import { closedCodex159StatusSuffix, observeCodexNativeInspection } from "./codex-terminal-agent-adapter.js";
4
5
  import { exactCodexReadyStyledComposerCapture, stripTerminalEscapeSequences } from "./terminal-native-inspection-bridge.js";
5
- /** Only the observed 0.159 owned-screen navigation protocol, never a generic pager. */
6
+ /** Only the recognized owned-screen navigation grammar, never a generic pager. */
6
7
  const PAUSED_FOOTER = /^ {2}(?:New activity · )?enter\/esc latest · \? shortcuts(?: {2,}⚠ [1-9]\d? warnings? · f2 to view)?$/u;
7
8
  const HISTORY_GAP = /^ +(?:New activity · )?↓ Back to bottom · esc *$/u;
8
9
  const SESSION = /^ {2}Session: {2,}[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}$/u;
@@ -218,12 +219,12 @@ async function restoreLatest(ports, version, tail) {
218
219
  /** One reversible page, only after our proven closed /status Enter cleared its Composer. */
219
220
  export async function captureCodexStatusHistory(input) {
220
221
  const { screen, version, submission, ports } = input;
221
- if (!["0.159.0", "0.159.2"].includes(version) || completeStatus(screen, version))
222
+ if (!isCodexPaginatedReadCandidate(version) || completeStatus(screen, version))
222
223
  return screen;
223
224
  const tail = clippedTail(screen, version);
224
225
  if (!tail || !submission || submission.stage !== "enter_dispatched" || submission.enterCount !== 1 ||
225
226
  submission.agent !== "codex" || submission.command !== "/status" ||
226
- submission.behaviorProfile !== `codex-tui-${version}` ||
227
+ submission.behaviorProfile !== codexNativeInspectionCompatibilityProfile(version)?.behaviorProfile ||
227
228
  !/^[0-9a-f]{64}$/u.test(submission.observationBaselineDigest) ||
228
229
  createHash("sha256").update(screen).digest("hex") === submission.observationBaselineDigest)
229
230
  return screen;
@@ -1 +1 @@
1
- {"version":3,"file":"codex-status-history-navigation.js","sourceRoot":"","sources":["../../src/codex-status-history-navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-status-history-navigation.js","sourceRoot":"","sources":["../../src/codex-status-history-navigation.ts"],"names":[],"mappings":"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"}