@scotthuang/agent-knock-knock 0.10.1 → 0.10.2

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.
@@ -77,6 +77,27 @@ export interface TerminalIdentityVerificationResult {
77
77
  terminalControl?: TerminalControlRef;
78
78
  }
79
79
  export type TerminalIdentityVerifier = (request: TerminalIdentityVerificationRequest) => Promise<TerminalIdentityVerificationResult | void>;
80
+ export type TerminalTransportStage = "text_injected" | "enter_dispatched";
81
+ export interface TerminalTransportStageEvent {
82
+ stage: TerminalTransportStage;
83
+ agent: ExecutorKind;
84
+ terminalControl: TerminalControlRef;
85
+ multiline: boolean;
86
+ }
87
+ export interface TerminalSendOptions {
88
+ runtime?: TerminalRuntimeIdentity;
89
+ /**
90
+ * Awaited immediately after each irreversible transport boundary so the
91
+ * caller can durably persist the exact proof level before continuing.
92
+ */
93
+ onTransportStage?: (event: TerminalTransportStageEvent) => void | Promise<void>;
94
+ }
95
+ export interface TerminalSendResult {
96
+ stage: "enter_dispatched";
97
+ agent: ExecutorKind;
98
+ terminalControl: TerminalControlRef;
99
+ multiline: boolean;
100
+ }
80
101
  export interface TerminalApprovalAuthorizationContext {
81
102
  agent: ExecutorKind;
82
103
  terminalControl: TerminalControlRef;
@@ -123,9 +144,17 @@ export declare class TerminalAgentBridge {
123
144
  scrollbackLines?: number;
124
145
  runtime?: TerminalRuntimeIdentity;
125
146
  }): Promise<TerminalBridgeStatus>;
126
- send(agent: ExecutorKind, terminalControl: TerminalControlRef, text: string, options?: {
147
+ send(agent: ExecutorKind, terminalControl: TerminalControlRef, text: string, options?: TerminalSendOptions): Promise<TerminalSendResult>;
148
+ private settleCodexMultilineComposer;
149
+ /**
150
+ * Prove that the exact managed draft is still present after Enter dispatch.
151
+ * Two identity-fenced captures are required so transient repaint state never
152
+ * becomes a hard `not_accepted` conclusion.
153
+ */
154
+ proveExactDraftStillPresent(agent: ExecutorKind, terminalControl: TerminalControlRef, expectedText: string, options?: {
127
155
  runtime?: TerminalRuntimeIdentity;
128
- }): Promise<void>;
156
+ scrollbackLines?: number;
157
+ }): Promise<boolean>;
129
158
  /**
130
159
  * Clear a terminal composer's current input without submitting it. This is
131
160
  * intentionally narrower than arbitrary key dispatch and always revalidates
@@ -1,6 +1,17 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { formatTerminalConversationId, parseTerminalConversationId, terminalControlCapabilitiesForAdapter } from "./terminal-agent-adapter.js";
3
3
  import { enrichActiveProcessesWithTerminalControl, terminalRefFromPane } from "./terminal-control-provider.js";
4
+ // Codex 0.146.x keeps Enter in paste/newline mode for 120ms after burst input.
5
+ // Cross that boundary rather than landing on it, and also require observable
6
+ // composer stability instead of treating this delay alone as acceptance.
7
+ const CODEX_PASTE_ENTER_SETTLE_MS = 121;
8
+ const CODEX_MULTILINE_SETTLE_POLL_MS = 30;
9
+ const CODEX_MULTILINE_SETTLE_TIMEOUT_MS = 2_000;
10
+ const CODEX_MULTILINE_STABLE_CAPTURES = 2;
11
+ const CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES = 240;
12
+ const CODEX_COMPOSER_MARKER = /^[›»](?:\s|$)/u;
13
+ const CODEX_COMPOSER_FOOTER = /^(?:gpt-[\w.-]+(?:\s|$)|[-\w.]+ default ·)/u;
14
+ const CODEX_LARGE_PASTE_CHAR_THRESHOLD = 1_000;
4
15
  export class TerminalAgentBridge {
5
16
  registry;
6
17
  terminalProvider;
@@ -134,30 +145,154 @@ export class TerminalAgentBridge {
134
145
  if (!normalized) {
135
146
  throw new Error("terminal message is empty");
136
147
  }
148
+ const multiline = /[\r\n]/u.test(normalized);
137
149
  const verifiedForText = await this.verifyTerminalIdentity(adapter.agent, terminalControl, options.runtime);
138
150
  await this.terminalProvider.sendText(verifiedForText.target, normalized, {
139
151
  socketPath: verifiedForText.socketPath
140
152
  });
141
- // Text and Enter are separate tmux operations. Revalidate between them; if the
142
- // identity changed, clear the line best-effort and never submit it.
153
+ await options.onTransportStage?.({
154
+ stage: "text_injected",
155
+ agent: adapter.agent,
156
+ terminalControl: verifiedForText,
157
+ multiline
158
+ });
159
+ // Text and Enter are separate tmux operations. Revalidate between them and
160
+ // never submit after identity or composer drift. The legacy single-line
161
+ // path retains its best-effort pre-submit cleanup behavior.
143
162
  let verifiedForEnter;
144
- try {
145
- verifiedForEnter = await this.verifyTerminalIdentity(adapter.agent, terminalControl, options.runtime);
163
+ if (adapter.agent === "codex" && multiline) {
164
+ verifiedForEnter = await this.settleCodexMultilineComposer(adapter, terminalControl, normalized, options.runtime);
146
165
  }
147
- catch (error) {
166
+ else {
148
167
  try {
149
- await this.terminalProvider.sendKeys(verifiedForText.target, ["C-u"], {
150
- socketPath: verifiedForText.socketPath
151
- });
168
+ verifiedForEnter = await this.verifyTerminalIdentity(adapter.agent, terminalControl, options.runtime);
152
169
  }
153
- catch {
154
- // Best effort only: preserving the identity failure is more important than cleanup.
170
+ catch (error) {
171
+ try {
172
+ await this.terminalProvider.sendKeys(verifiedForText.target, ["C-u"], {
173
+ socketPath: verifiedForText.socketPath
174
+ });
175
+ }
176
+ catch {
177
+ // Best effort only: preserving the identity failure is more important than cleanup.
178
+ }
179
+ throw error;
155
180
  }
156
- throw error;
157
181
  }
158
182
  await this.terminalProvider.sendKeys(verifiedForEnter.target, ["C-m"], {
159
183
  socketPath: verifiedForEnter.socketPath
160
184
  });
185
+ await options.onTransportStage?.({
186
+ stage: "enter_dispatched",
187
+ agent: adapter.agent,
188
+ terminalControl: verifiedForEnter,
189
+ multiline
190
+ });
191
+ return {
192
+ stage: "enter_dispatched",
193
+ agent: adapter.agent,
194
+ terminalControl: verifiedForEnter,
195
+ multiline
196
+ };
197
+ }
198
+ async settleCodexMultilineComposer(adapter, terminalControl, expectedText, runtime) {
199
+ const startedAt = performance.now();
200
+ let stableDigest;
201
+ let stableSince;
202
+ let stableCaptures = 0;
203
+ while (performance.now() - startedAt <= CODEX_MULTILINE_SETTLE_TIMEOUT_MS) {
204
+ const captured = await this.captureInspection(adapter, terminalControl, {
205
+ runtime,
206
+ scrollbackLines: CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES
207
+ });
208
+ if (captured.inspection.approval.blocked ||
209
+ captured.inspection.activity.state === "awaiting_approval" ||
210
+ captured.inspection.activity.state === "working") {
211
+ throw new Error("Codex became busy or blocked while its multiline composer was settling");
212
+ }
213
+ const composer = exactCodexComposerCapture(captured.screen, expectedText);
214
+ const composerIsIdle = captured.inspection.activity.state === "idle" ||
215
+ (captured.inspection.activity.state === "unknown" &&
216
+ composer !== undefined);
217
+ if (composer && composerIsIdle) {
218
+ if (composer.digest === stableDigest) {
219
+ stableCaptures += 1;
220
+ }
221
+ else {
222
+ stableDigest = composer.digest;
223
+ stableSince = performance.now();
224
+ stableCaptures = 1;
225
+ }
226
+ if (stableCaptures >= CODEX_MULTILINE_STABLE_CAPTURES &&
227
+ stableSince !== undefined &&
228
+ performance.now() - stableSince >= CODEX_PASTE_ENTER_SETTLE_MS) {
229
+ const finalCapture = await this.captureInspection(adapter, captured.terminalControl, {
230
+ runtime,
231
+ scrollbackLines: CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES
232
+ });
233
+ const finalComposer = exactCodexComposerCapture(finalCapture.screen, expectedText);
234
+ const finalIsIdle = finalCapture.inspection.activity.state === "idle" ||
235
+ (finalCapture.inspection.activity.state === "unknown" &&
236
+ finalComposer !== undefined);
237
+ if (finalCapture.inspection.approval.blocked ||
238
+ !finalIsIdle ||
239
+ !finalComposer ||
240
+ finalComposer.digest !== stableDigest) {
241
+ throw new Error("Codex multiline composer changed after its stable pre-submit capture");
242
+ }
243
+ const verifiedImmediatelyBeforeEnter = await this.verifyTerminalIdentity(adapter.agent, finalCapture.terminalControl, runtime);
244
+ if (!sameTerminalControlIdentity(finalCapture.terminalControl, verifiedImmediatelyBeforeEnter)) {
245
+ throw new Error("terminal control identity changed after the final Codex composer capture");
246
+ }
247
+ return verifiedImmediatelyBeforeEnter;
248
+ }
249
+ }
250
+ else {
251
+ stableDigest = undefined;
252
+ stableSince = undefined;
253
+ stableCaptures = 0;
254
+ }
255
+ const remainingSuppressionMs = CODEX_PASTE_ENTER_SETTLE_MS -
256
+ (stableSince === undefined ? 0 : performance.now() - stableSince);
257
+ await terminalSettleDelay(Math.max(1, Math.min(CODEX_MULTILINE_SETTLE_POLL_MS, remainingSuppressionMs > 0
258
+ ? remainingSuppressionMs
259
+ : CODEX_MULTILINE_SETTLE_POLL_MS)));
260
+ }
261
+ throw new Error("Codex multiline composer did not become exact, idle, and stable before the bounded submit deadline");
262
+ }
263
+ /**
264
+ * Prove that the exact managed draft is still present after Enter dispatch.
265
+ * Two identity-fenced captures are required so transient repaint state never
266
+ * becomes a hard `not_accepted` conclusion.
267
+ */
268
+ async proveExactDraftStillPresent(agent, terminalControl, expectedText, options = {}) {
269
+ const adapter = this.registry.require(agent);
270
+ const captureExactDraft = async (control) => {
271
+ const captured = await this.captureInspection(adapter, control, {
272
+ runtime: options.runtime,
273
+ scrollbackLines: options.scrollbackLines ??
274
+ CODEX_MULTILINE_SETTLE_SCROLLBACK_LINES
275
+ });
276
+ if (captured.inspection.approval.blocked ||
277
+ captured.inspection.activity.state === "awaiting_approval" ||
278
+ captured.inspection.activity.state === "working") {
279
+ return { captured, draft: undefined };
280
+ }
281
+ return {
282
+ captured,
283
+ draft: exactTerminalComposerCapture(adapter.agent, captured.screen, expectedText)
284
+ };
285
+ };
286
+ const first = await captureExactDraft(terminalControl);
287
+ if (!first.draft) {
288
+ return false;
289
+ }
290
+ await terminalSettleDelay(CODEX_MULTILINE_SETTLE_POLL_MS);
291
+ const second = await captureExactDraft(first.captured.terminalControl);
292
+ if (!sameTerminalControlIdentity(first.captured.terminalControl, second.captured.terminalControl)) {
293
+ throw new Error("terminal control identity changed while proving the exact draft remained");
294
+ }
295
+ return Boolean(second.draft && second.draft.digest === first.draft.digest);
161
296
  }
162
297
  /**
163
298
  * Clear a terminal composer's current input without submitting it. This is
@@ -580,6 +715,91 @@ export class TerminalAgentBridge {
580
715
  return result?.terminalControl ?? terminalControl;
581
716
  }
582
717
  }
718
+ function exactCodexComposerCapture(screen, expectedText) {
719
+ const lines = screen.replace(/\r\n?/gu, "\n").split("\n");
720
+ const expectedComparable = composerComparableText(expectedText);
721
+ const expectedCharacterCount = Array.from(expectedText).length;
722
+ const largePasteComparable = composerComparableText(`[Pasted Content ${expectedCharacterCount} chars]`);
723
+ const matches = [];
724
+ for (let index = 0; index < lines.length; index += 1) {
725
+ if (!CODEX_COMPOSER_MARKER.test(lines[index])) {
726
+ continue;
727
+ }
728
+ const footerIndex = lines.findIndex((line, candidateIndex) => candidateIndex > index && CODEX_COMPOSER_FOOTER.test(line.trim()));
729
+ const region = lines.slice(index, footerIndex < 0 ? lines.length : footerIndex);
730
+ while (region.length > 1 && region.at(-1)?.trim() === "") {
731
+ region.pop();
732
+ }
733
+ const body = [
734
+ region[0].replace(/^[›»]\s?/u, ""),
735
+ ...region.slice(1).map((line) => line.startsWith(" ") ? line.slice(2) : line)
736
+ ].join("\n");
737
+ const comparable = composerComparableText(body);
738
+ const exactVisibleDraft = comparable === expectedComparable;
739
+ const exactLargePastePlaceholder = expectedCharacterCount > CODEX_LARGE_PASTE_CHAR_THRESHOLD &&
740
+ comparable === largePasteComparable;
741
+ if (!exactVisibleDraft && !exactLargePastePlaceholder) {
742
+ continue;
743
+ }
744
+ matches.push({
745
+ digest: createHash("sha256")
746
+ .update(region.join("\n"))
747
+ .digest("hex")
748
+ });
749
+ }
750
+ if (matches.length > 1) {
751
+ throw new Error("multiple Codex composer regions matched the multiline terminal request");
752
+ }
753
+ return matches[0];
754
+ }
755
+ function exactTerminalComposerCapture(agent, screen, expectedText) {
756
+ return agent === "codex"
757
+ ? exactCodexComposerCapture(screen, expectedText)
758
+ : exactClaudeComposerCapture(screen, expectedText);
759
+ }
760
+ function exactClaudeComposerCapture(screen, expectedText) {
761
+ const lines = screen.replace(/\r\n?/gu, "\n").split("\n");
762
+ const dividerIndexes = lines
763
+ .map((line, index) => /^\s*[─━]{8,}\s*$/u.test(line) ? index : -1)
764
+ .filter((index) => index >= 0);
765
+ if (dividerIndexes.length < 2) {
766
+ return undefined;
767
+ }
768
+ const closeIndex = dividerIndexes.at(-1);
769
+ const openIndex = dividerIndexes.at(-2);
770
+ const trailing = lines.slice(closeIndex + 1)
771
+ .filter((line) => line.trim().length > 0);
772
+ if (trailing.length > 2 ||
773
+ trailing.some((line) => !/^\s*(?:[⏵⏴]{1,2}|\?)\s*.*(?:shift\+tab|accept edits|bypass permissions|for shortcuts|← for agents)/iu
774
+ .test(line))) {
775
+ return undefined;
776
+ }
777
+ const region = lines.slice(openIndex + 1, closeIndex);
778
+ while (region.length > 1 && region.at(-1)?.trim() === "") {
779
+ region.pop();
780
+ }
781
+ if (region.length === 0 || !/^\s*❯(?:\s|$)/u.test(region[0])) {
782
+ return undefined;
783
+ }
784
+ const body = [
785
+ region[0].replace(/^\s*❯\s?/u, ""),
786
+ ...region.slice(1).map((line) => line.startsWith(" ") ? line.slice(2) : line)
787
+ ].join("\n");
788
+ if (composerComparableText(body) !== composerComparableText(expectedText)) {
789
+ return undefined;
790
+ }
791
+ return {
792
+ digest: createHash("sha256")
793
+ .update(lines.slice(openIndex, closeIndex + 1).join("\n"))
794
+ .digest("hex")
795
+ };
796
+ }
797
+ function composerComparableText(value) {
798
+ return value.replace(/\r\n?/gu, "\n");
799
+ }
800
+ async function terminalSettleDelay(milliseconds) {
801
+ await new Promise((resolve) => setTimeout(resolve, milliseconds));
802
+ }
583
803
  function sameTerminalControlIdentity(left, right) {
584
804
  return left.kind === right.kind &&
585
805
  left.target === right.target &&
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-agent-bridge.js","sourceRoot":"","sources":["../../src/terminal-agent-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-agent-bridge.js","sourceRoot":"","sources":["../../src/terminal-agent-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ export interface TerminalSubmissionAcceptanceEvidence {
2
+ source: "codex_rollout" | "claude_transcript";
3
+ kind: "native_user_turn";
4
+ nativeThreadId: string;
5
+ requestHash: string;
6
+ acceptanceId: string;
7
+ acceptedAt?: string;
8
+ anchorFingerprint: string;
9
+ evidenceFingerprint: string;
10
+ metadata?: Record<string, string | number>;
11
+ }
12
+ export interface CodexRolloutIdentity {
13
+ fd: string;
14
+ device: string;
15
+ inode: string;
16
+ path: string;
17
+ }
18
+ export interface CodexRolloutAcceptanceAnchor {
19
+ schema: "agent-knock-knock/codex-rollout-acceptance-anchor";
20
+ version: 1;
21
+ native_thread_id: string;
22
+ process_uuid: string;
23
+ process_birth: string;
24
+ captured_at: string;
25
+ mode: "existing" | "pre_materialization";
26
+ file_existed: boolean;
27
+ offset_bytes: number;
28
+ rollout?: CodexRolloutIdentity;
29
+ expected_empty_native_session?: true;
30
+ anchor_fingerprint: string;
31
+ }
32
+ export interface CodexRolloutAcceptanceIdentity {
33
+ sessionId: string;
34
+ processUuid?: string;
35
+ processBirth?: string;
36
+ rollout?: CodexRolloutIdentity;
37
+ }
38
+ export declare function validateTerminalSubmissionAcceptanceEvidence(value: unknown, expected: {
39
+ source: TerminalSubmissionAcceptanceEvidence["source"];
40
+ nativeThreadId: string;
41
+ requestHash: string;
42
+ }): TerminalSubmissionAcceptanceEvidence;
43
+ export declare function terminalSubmissionReplayReceipt(options: {
44
+ proofLevel: "submitted" | "enter_dispatched" | "agent_accepted";
45
+ evidence?: unknown;
46
+ expected: {
47
+ source: TerminalSubmissionAcceptanceEvidence["source"];
48
+ nativeThreadId: string;
49
+ requestHash: string;
50
+ };
51
+ }): {
52
+ replayed: true;
53
+ delivered: boolean;
54
+ status: "async_pending" | "submission_pending_acceptance" | "submission_uncertain";
55
+ submission_outcome: "agent_accepted" | "pending_acceptance" | "uncertain";
56
+ delivery_receipt: "agent_accepted" | "enter_dispatched" | "submitted";
57
+ do_not_retry?: true;
58
+ evidence_error?: string;
59
+ };
60
+ type CaptureCodexRolloutAcceptanceAnchorOptions = {
61
+ nativeThreadId: string;
62
+ processUuid: string;
63
+ processBirth: string;
64
+ now?: Date;
65
+ } & ({
66
+ mode: "existing";
67
+ rollout: CodexRolloutIdentity;
68
+ } | {
69
+ mode: "pre_materialization";
70
+ expectedEmptyNativeSession: true;
71
+ });
72
+ export declare function captureCodexRolloutAcceptanceAnchor(options: CaptureCodexRolloutAcceptanceAnchorOptions): CodexRolloutAcceptanceAnchor;
73
+ export declare function detectCodexRolloutAcceptance(options: {
74
+ anchor: CodexRolloutAcceptanceAnchor;
75
+ currentIdentity: CodexRolloutAcceptanceIdentity;
76
+ requestHash: string;
77
+ }): TerminalSubmissionAcceptanceEvidence | undefined;
78
+ export {};