@scotthuang/agent-knock-knock 0.12.13 → 0.12.15

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 (170) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +13 -13
  3. package/dist/src/callback-cli-adapter.d.ts +9 -6
  4. package/dist/src/callback-cli-adapter.js +119 -30
  5. package/dist/src/callback-cli-adapter.js.map +1 -1
  6. package/dist/src/callback-outbox-policy.d.ts +39 -0
  7. package/dist/src/callback-outbox-policy.js +163 -6
  8. package/dist/src/callback-outbox-policy.js.map +1 -1
  9. package/dist/src/callback-outbox-service.d.ts +28 -1
  10. package/dist/src/callback-outbox-service.js +413 -82
  11. package/dist/src/callback-outbox-service.js.map +1 -1
  12. package/dist/src/callback-outbox-settlement.d.ts +14 -1
  13. package/dist/src/callback-outbox-settlement.js +151 -30
  14. package/dist/src/callback-outbox-settlement.js.map +1 -1
  15. package/dist/src/callback-route-authority.d.ts +59 -0
  16. package/dist/src/callback-route-authority.js +123 -0
  17. package/dist/src/callback-route-authority.js.map +1 -0
  18. package/dist/src/callback-transport.d.ts +134 -0
  19. package/dist/src/callback-transport.js +256 -0
  20. package/dist/src/callback-transport.js.map +1 -0
  21. package/dist/src/cli-core.js +56 -18
  22. package/dist/src/cli-core.js.map +1 -1
  23. package/dist/src/cli-runtime-context.d.ts +2 -0
  24. package/dist/src/cli-runtime-context.js.map +1 -1
  25. package/dist/src/codex-lifecycle-compatibility.js +2 -1
  26. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  27. package/dist/src/deferred-foreground-application-service.d.ts +18 -0
  28. package/dist/src/deferred-foreground-application-service.js +72 -0
  29. package/dist/src/deferred-foreground-application-service.js.map +1 -1
  30. package/dist/src/deferred-foreground-authority-cli-adapter.js +10 -1
  31. package/dist/src/deferred-foreground-authority-cli-adapter.js.map +1 -1
  32. package/dist/src/deferred-foreground-recovery-cli-adapter.d.ts +1 -1
  33. package/dist/src/deferred-foreground-recovery-cli-adapter.js +108 -37
  34. package/dist/src/deferred-foreground-recovery-cli-adapter.js.map +1 -1
  35. package/dist/src/deferred-foreground-recovery-service.d.ts +1 -1
  36. package/dist/src/deferred-foreground-recovery-service.js +10 -3
  37. package/dist/src/deferred-foreground-recovery-service.js.map +1 -1
  38. package/dist/src/deferred-foreground-transfer-policy.d.ts +1 -1
  39. package/dist/src/deferred-foreground-transfer-policy.js +3 -2
  40. package/dist/src/deferred-foreground-transfer-policy.js.map +1 -1
  41. package/dist/src/deferred-foreground-transfer.d.ts +17 -1
  42. package/dist/src/deferred-foreground-transfer.js +244 -35
  43. package/dist/src/deferred-foreground-transfer.js.map +1 -1
  44. package/dist/src/deferred-foreground-user-close.d.ts +18 -0
  45. package/dist/src/deferred-foreground-user-close.js +180 -0
  46. package/dist/src/deferred-foreground-user-close.js.map +1 -0
  47. package/dist/src/install-doctor-command-adapter.js +1 -1
  48. package/dist/src/install-doctor-command-adapter.js.map +1 -1
  49. package/dist/src/openclaw-callback-transport.d.ts +4 -1
  50. package/dist/src/openclaw-callback-transport.js +403 -10
  51. package/dist/src/openclaw-callback-transport.js.map +1 -1
  52. package/dist/src/openclaw-doctor.js +16 -2
  53. package/dist/src/openclaw-doctor.js.map +1 -1
  54. package/dist/src/openclaw-managed-callback-cli-adapter.d.ts +23 -0
  55. package/dist/src/openclaw-managed-callback-cli-adapter.js +77 -0
  56. package/dist/src/openclaw-managed-callback-cli-adapter.js.map +1 -0
  57. package/dist/src/openclaw-plugin-command-adapter.js +93 -39
  58. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  59. package/dist/src/openclaw-plugin-helpers.d.ts +1 -0
  60. package/dist/src/openclaw-plugin-helpers.js +9 -1
  61. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  62. package/dist/src/openclaw-plugin-schemas.d.ts +20 -1
  63. package/dist/src/openclaw-plugin-schemas.js +27 -3
  64. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  65. package/dist/src/protocol.d.ts +3 -0
  66. package/dist/src/protocol.js +4 -0
  67. package/dist/src/protocol.js.map +1 -1
  68. package/dist/src/store.d.ts +12 -1
  69. package/dist/src/store.js +81 -3
  70. package/dist/src/store.js.map +1 -1
  71. package/dist/src/terminal-acceptance-cli-adapter.d.ts +2 -0
  72. package/dist/src/terminal-acceptance-cli-adapter.js +62 -12
  73. package/dist/src/terminal-acceptance-cli-adapter.js.map +1 -1
  74. package/dist/src/terminal-action-projection.d.ts +31 -3
  75. package/dist/src/terminal-action-projection.js +64 -9
  76. package/dist/src/terminal-action-projection.js.map +1 -1
  77. package/dist/src/terminal-agent-bridge.d.ts +82 -0
  78. package/dist/src/terminal-agent-bridge.js +553 -109
  79. package/dist/src/terminal-agent-bridge.js.map +1 -1
  80. package/dist/src/terminal-command-cli-adapter.d.ts +26 -2
  81. package/dist/src/terminal-command-cli-adapter.js +3162 -214
  82. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  83. package/dist/src/terminal-delegate-cli-adapter.d.ts +4 -22
  84. package/dist/src/terminal-delegate-cli-adapter.js +239 -192
  85. package/dist/src/terminal-delegate-cli-adapter.js.map +1 -1
  86. package/dist/src/terminal-delegate-send-binding.d.ts +63 -0
  87. package/dist/src/terminal-delegate-send-binding.js +360 -0
  88. package/dist/src/terminal-delegate-send-binding.js.map +1 -0
  89. package/dist/src/terminal-dispatch-application.d.ts +4 -1
  90. package/dist/src/terminal-dispatch-application.js +11 -2
  91. package/dist/src/terminal-dispatch-application.js.map +1 -1
  92. package/dist/src/terminal-dispatch-composition.d.ts +5 -0
  93. package/dist/src/terminal-dispatch-execution.js +3 -1
  94. package/dist/src/terminal-dispatch-execution.js.map +1 -1
  95. package/dist/src/terminal-dispatch-ledger-codec.d.ts +3 -0
  96. package/dist/src/terminal-dispatch-ledger-codec.js +46 -19
  97. package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -1
  98. package/dist/src/terminal-dispatch-presenter.js +5 -3
  99. package/dist/src/terminal-dispatch-presenter.js.map +1 -1
  100. package/dist/src/terminal-dispatch-receipt.d.ts +3 -0
  101. package/dist/src/terminal-dispatch-receipt.js +15 -1
  102. package/dist/src/terminal-dispatch-receipt.js.map +1 -1
  103. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +68 -7
  104. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  105. package/dist/src/terminal-dispatch-recovery-service.d.ts +2 -0
  106. package/dist/src/terminal-dispatch-recovery-service.js +9 -0
  107. package/dist/src/terminal-dispatch-recovery-service.js.map +1 -1
  108. package/dist/src/terminal-dispatch-repository-cli-adapter.d.ts +4 -2
  109. package/dist/src/terminal-dispatch-repository-cli-adapter.js +10 -3
  110. package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -1
  111. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +2 -0
  112. package/dist/src/terminal-identity-authority-cli-adapter.js +34 -27
  113. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  114. package/dist/src/terminal-list-cli-adapter.d.ts +6 -0
  115. package/dist/src/terminal-list-cli-adapter.js +391 -177
  116. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  117. package/dist/src/terminal-list-renderer.d.ts +9 -1
  118. package/dist/src/terminal-list-renderer.js +226 -104
  119. package/dist/src/terminal-list-renderer.js.map +1 -1
  120. package/dist/src/terminal-maintenance-cli-adapter.js +253 -326
  121. package/dist/src/terminal-maintenance-cli-adapter.js.map +1 -1
  122. package/dist/src/terminal-monitor-application-service.d.ts +5 -0
  123. package/dist/src/terminal-monitor-application-service.js +5 -0
  124. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  125. package/dist/src/terminal-monitor-cli-adapter.d.ts +25 -1
  126. package/dist/src/terminal-monitor-cli-adapter.js +170 -27
  127. package/dist/src/terminal-monitor-cli-adapter.js.map +1 -1
  128. package/dist/src/terminal-monitor-reconciliation-eligibility.d.ts +1 -1
  129. package/dist/src/terminal-monitor-reconciliation-eligibility.js +220 -32
  130. package/dist/src/terminal-monitor-reconciliation-eligibility.js.map +1 -1
  131. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +1 -1
  132. package/dist/src/terminal-monitor-state-cli-adapter.js +808 -147
  133. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -1
  134. package/dist/src/terminal-monitor-state-reconciliation-service.d.ts +2 -1
  135. package/dist/src/terminal-monitor-state-reconciliation-service.js +12 -0
  136. package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -1
  137. package/dist/src/terminal-monitor-supervision-cli-adapter.d.ts +2 -0
  138. package/dist/src/terminal-monitor-supervision-cli-adapter.js +31 -11
  139. package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -1
  140. package/dist/src/terminal-process-source.d.ts +13 -0
  141. package/dist/src/terminal-process-source.js +37 -0
  142. package/dist/src/terminal-process-source.js.map +1 -1
  143. package/dist/src/terminal-runtime-cli-adapter.js +14 -2
  144. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  145. package/dist/src/terminal-status-cli-adapter.d.ts +1 -0
  146. package/dist/src/terminal-status-cli-adapter.js +30 -28
  147. package/dist/src/terminal-status-cli-adapter.js.map +1 -1
  148. package/dist/src/terminal-submission-acceptance.js +78 -25
  149. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  150. package/dist/src/terminal-submission-retry-service.d.ts +114 -0
  151. package/dist/src/terminal-submission-retry-service.js +589 -0
  152. package/dist/src/terminal-submission-retry-service.js.map +1 -0
  153. package/dist/src/terminal-user-send-intent.d.ts +65 -0
  154. package/dist/src/terminal-user-send-intent.js +317 -0
  155. package/dist/src/terminal-user-send-intent.js.map +1 -0
  156. package/dist/src/terminal-watch-callback-cli-adapter.d.ts +10 -2
  157. package/dist/src/terminal-watch-callback-cli-adapter.js +76 -37
  158. package/dist/src/terminal-watch-callback-cli-adapter.js.map +1 -1
  159. package/dist/src/terminal-watch-cli-adapter.js +41 -17
  160. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  161. package/dist/src/terminal-watch-service.d.ts +11 -6
  162. package/dist/src/terminal-watch-service.js +210 -41
  163. package/dist/src/terminal-watch-service.js.map +1 -1
  164. package/dist/src/terminal-watch-store.d.ts +23 -0
  165. package/dist/src/terminal-watch-store.js +162 -4
  166. package/dist/src/terminal-watch-store.js.map +1 -1
  167. package/docs/quickstart-herdr.md +1 -1
  168. package/docs/quickstart-tmux.md +3 -3
  169. package/package.json +1 -1
  170. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +14 -11
@@ -8,6 +8,33 @@ export declare class TerminalInputNotStartedError extends Error {
8
8
  cause?: unknown;
9
9
  });
10
10
  }
11
+ /**
12
+ * Text is already in the terminal composer, but this bridge invocation proved
13
+ * that it never called the Enter transport boundary.
14
+ *
15
+ * Callers may persist this as narrow recovery evidence. It says nothing about
16
+ * whether the draft remains exact or whether a later human action submitted
17
+ * it; those facts must be re-observed under the terminal lock.
18
+ */
19
+ export declare class TerminalEnterDispatchNotAttemptedError extends Error {
20
+ readonly code = "AKK_TERMINAL_ENTER_DISPATCH_NOT_ATTEMPTED";
21
+ readonly stage = "enter_not_attempted";
22
+ constructor(message: string, options?: {
23
+ cause?: unknown;
24
+ });
25
+ }
26
+ /**
27
+ * The caller's one-shot Enter reservation was invoked, so this recovery
28
+ * attempt is permanently consumed even though C-m was not proven dispatched.
29
+ */
30
+ export declare class TerminalEnterDispatchReservedError extends Error {
31
+ readonly code = "AKK_TERMINAL_ENTER_DISPATCH_RESERVED";
32
+ readonly stage = "enter_reserved";
33
+ readonly doNotRetry = true;
34
+ constructor(message: string, options?: {
35
+ cause?: unknown;
36
+ });
37
+ }
11
38
  export type NativeInspectionSubmissionStage = "not_started" | "text_injected" | "enter_uncertain";
12
39
  /** Machine-readable reason for a closed native-inspection submission failure. */
13
40
  export type NativeInspectionSubmissionDiagnostic = "unsupported_profile" | "capability_unavailable" | "identity_unverified" | "composer_not_ready" | "viewport_too_narrow" | "viewport_unavailable" | "text_delivery_unproven" | "composer_viewport_truncated" | "composer_not_exact" | "composer_drift" | "evidence_unproven" | "enter_uncertain";
@@ -133,6 +160,14 @@ export interface TerminalSendOptions {
133
160
  beforeEnter?: (context: TerminalSendBoundaryContext) => void | Promise<void>;
134
161
  /** Require Codex's exact stable composer proof even for a single-line send. */
135
162
  requireExactComposerBeforeEnter?: boolean;
163
+ /**
164
+ * Retry-only authority from a preliminary exact-empty observation. After
165
+ * `beforeText` reserves the attempt, the bridge independently recaptures the
166
+ * same empty composer and then immediately makes its sole text-delivery call.
167
+ */
168
+ requireExactEmptyComposerAfterBeforeText?: {
169
+ preliminaryComposerDigest: string;
170
+ };
136
171
  /**
137
172
  * Awaited immediately after each irreversible transport boundary so the
138
173
  * caller can durably persist the exact proof level before continuing.
@@ -145,6 +180,41 @@ export interface TerminalSendResult {
145
180
  terminalControl: TerminalControlRef;
146
181
  multiline: boolean;
147
182
  }
183
+ interface TerminalCodexStableComposerObservationBase {
184
+ terminalControl: TerminalControlRef;
185
+ digest: string;
186
+ stableCaptures: number;
187
+ }
188
+ type TerminalCodexObservedComposerState = "exact_draft" | "exact_empty" | "different_draft" | "working" | "approval_or_modal";
189
+ /** Closed, content-redacting observation of the current Codex composer. */
190
+ export type TerminalCodexComposerObservation = {
191
+ [State in TerminalCodexObservedComposerState]: TerminalCodexStableComposerObservationBase & {
192
+ state: State;
193
+ };
194
+ }[TerminalCodexObservedComposerState] | {
195
+ state: "identity_drift" | "unavailable";
196
+ reason: string;
197
+ };
198
+ export interface TerminalCodexDraftSubmissionContext {
199
+ terminalControl: TerminalControlRef;
200
+ text: string;
201
+ composerDigest: string;
202
+ }
203
+ export interface TerminalCodexDraftSubmissionOptions {
204
+ runtime?: TerminalRuntimeIdentity;
205
+ /**
206
+ * Persist the caller's one-shot Enter reservation after the preliminary
207
+ * stable proof. The bridge then independently recaptures the exact draft
208
+ * before its sole C-m transport call. Invoking this hook consumes the attempt
209
+ * even when the hook or any later step fails.
210
+ */
211
+ beforeEnterReservation: (context: TerminalCodexDraftSubmissionContext) => void | Promise<void>;
212
+ }
213
+ export interface TerminalCodexDraftSubmissionResult {
214
+ stage: "enter_dispatched";
215
+ terminalControl: TerminalControlRef;
216
+ enterCount: 1;
217
+ }
148
218
  export type TerminalNativeInspectionMaterializationKind = "exact_slash_composer" | "exact_slash_popup";
149
219
  export interface TerminalNativeInspectionMaterializationEvidence {
150
220
  kind: TerminalNativeInspectionMaterializationKind;
@@ -273,6 +343,15 @@ export declare class TerminalAgentBridge {
273
343
  runtime?: TerminalRuntimeIdentity;
274
344
  }): Promise<TerminalBridgeStatus>;
275
345
  send(agent: ExecutorKind, terminalControl: TerminalControlRef, text: string, options?: TerminalSendOptions): Promise<TerminalSendResult>;
346
+ /** Observe only the current, live Codex composer without exposing its text. */
347
+ observeCodexComposer(terminalControl: TerminalControlRef, expectedText: string, options?: {
348
+ runtime?: TerminalRuntimeIdentity;
349
+ }): Promise<TerminalCodexComposerObservation>;
350
+ /**
351
+ * Submit one already-present exact Codex draft. This primitive never writes
352
+ * text, clears the composer, or emits C-c, and contains exactly one C-m call.
353
+ */
354
+ submitExactCodexDraft(terminalControl: TerminalControlRef, expectedText: string, options: TerminalCodexDraftSubmissionOptions): Promise<TerminalCodexDraftSubmissionResult>;
276
355
  private verifyExactComposerBeforeEnter;
277
356
  /**
278
357
  * Submit one closed, adapter-owned native inspection command.
@@ -308,6 +387,8 @@ export declare class TerminalAgentBridge {
308
387
  private settleNativeInspectionComposer;
309
388
  private revalidateNativeInspectionComposer;
310
389
  private settleCodexMultilineComposer;
390
+ private settleCodexComposerObservation;
391
+ private captureCodexComposerSnapshot;
311
392
  /**
312
393
  * Prove that the exact managed draft is still present after Enter dispatch.
313
394
  * Two identity-fenced captures are required so transient repaint state never
@@ -383,3 +464,4 @@ export declare function terminalApprovalFingerprint(agent: ExecutorKind, termina
383
464
  screen?: string;
384
465
  runtime?: TerminalRuntimeIdentity;
385
466
  }): string | undefined;
467
+ export {};