@scotthuang/agent-knock-knock 0.13.2 → 0.13.4

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 (278) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +27 -6
  3. package/dist/src/callback-outbox-policy.js +27 -6
  4. package/dist/src/callback-outbox-policy.js.map +1 -1
  5. package/dist/src/callback-outbox-service.d.ts +4 -30
  6. package/dist/src/callback-outbox-service.js +21 -154
  7. package/dist/src/callback-outbox-service.js.map +1 -1
  8. package/dist/src/callback-outbox-settlement.js +13 -8
  9. package/dist/src/callback-outbox-settlement.js.map +1 -1
  10. package/dist/src/callback-route-service.d.ts +46 -0
  11. package/dist/src/callback-route-service.js +155 -0
  12. package/dist/src/callback-route-service.js.map +1 -0
  13. package/dist/src/claude-terminal-agent-adapter.js +4 -0
  14. package/dist/src/claude-terminal-agent-adapter.js.map +1 -1
  15. package/dist/src/cli-core.js +9 -1
  16. package/dist/src/cli-core.js.map +1 -1
  17. package/dist/src/codex-process-incarnation.d.ts +8 -0
  18. package/dist/src/codex-process-incarnation.js +36 -0
  19. package/dist/src/codex-process-incarnation.js.map +1 -0
  20. package/dist/src/codex-terminal-agent-adapter.js +4 -0
  21. package/dist/src/codex-terminal-agent-adapter.js.map +1 -1
  22. package/dist/src/deferred-foreground-conflict-policy.d.ts +22 -0
  23. package/dist/src/deferred-foreground-conflict-policy.js +52 -0
  24. package/dist/src/deferred-foreground-conflict-policy.js.map +1 -0
  25. package/dist/src/durable-notification-kernel.d.ts +94 -0
  26. package/dist/src/durable-notification-kernel.js +68 -0
  27. package/dist/src/durable-notification-kernel.js.map +1 -0
  28. package/dist/src/herdr-socket-transport.d.ts +43 -0
  29. package/dist/src/herdr-socket-transport.js +170 -0
  30. package/dist/src/herdr-socket-transport.js.map +1 -0
  31. package/dist/src/herdr-terminal-control-provider.d.ts +2 -45
  32. package/dist/src/herdr-terminal-control-provider.js +8 -173
  33. package/dist/src/herdr-terminal-control-provider.js.map +1 -1
  34. package/dist/src/host-adapter-capabilities.d.ts +35 -0
  35. package/dist/src/host-adapter-capabilities.js +146 -0
  36. package/dist/src/host-adapter-capabilities.js.map +1 -0
  37. package/dist/src/host-adapter.d.ts +9 -3
  38. package/dist/src/host-adapter.js +33 -9
  39. package/dist/src/host-adapter.js.map +1 -1
  40. package/dist/src/host-bridge-tools.d.ts +3 -4
  41. package/dist/src/host-bridge-tools.js +49 -92
  42. package/dist/src/host-bridge-tools.js.map +1 -1
  43. package/dist/src/host-bridge.js +5 -5
  44. package/dist/src/host-bridge.js.map +1 -1
  45. package/dist/src/host-monitor-reconciliation.d.ts +6 -0
  46. package/dist/src/host-monitor-reconciliation.js +96 -0
  47. package/dist/src/host-monitor-reconciliation.js.map +1 -0
  48. package/dist/src/managed-session.js +2 -18
  49. package/dist/src/managed-session.js.map +1 -1
  50. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +13 -0
  51. package/dist/src/native-thread-lifecycle-cli-adapter.js +635 -3
  52. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -1
  53. package/dist/src/openclaw-list-projection.d.ts +2 -0
  54. package/dist/src/openclaw-list-projection.js +3 -0
  55. package/dist/src/openclaw-list-projection.js.map +1 -0
  56. package/dist/src/openclaw-model-facing-field-policy.d.ts +2 -0
  57. package/dist/src/openclaw-model-facing-field-policy.js +3 -0
  58. package/dist/src/openclaw-model-facing-field-policy.js.map +1 -0
  59. package/dist/src/openclaw-plugin-command-adapter.d.ts +6 -29
  60. package/dist/src/openclaw-plugin-command-adapter.js +7 -2370
  61. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -1
  62. package/dist/src/openclaw-plugin-helpers.d.ts +2 -121
  63. package/dist/src/openclaw-plugin-helpers.js +2 -1164
  64. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  65. package/dist/src/openclaw-plugin-schemas.d.ts +2 -510
  66. package/dist/src/openclaw-plugin-schemas.js +2 -519
  67. package/dist/src/openclaw-plugin-schemas.js.map +1 -1
  68. package/dist/src/openclaw-plugin-supervisor.d.ts +4 -5
  69. package/dist/src/openclaw-plugin-supervisor.js +5 -94
  70. package/dist/src/openclaw-plugin-supervisor.js.map +1 -1
  71. package/dist/src/openclaw-plugin-value-helpers.d.ts +2 -0
  72. package/dist/src/openclaw-plugin-value-helpers.js +3 -0
  73. package/dist/src/openclaw-plugin-value-helpers.js.map +1 -0
  74. package/dist/src/openclaw-private-authority-offers.d.ts +4 -39
  75. package/dist/src/openclaw-private-authority-offers.js +3 -258
  76. package/dist/src/openclaw-private-authority-offers.js.map +1 -1
  77. package/dist/src/semantic-private-authority-offers.d.ts +41 -0
  78. package/dist/src/semantic-private-authority-offers.js +261 -0
  79. package/dist/src/semantic-private-authority-offers.js.map +1 -0
  80. package/dist/src/semantic-tool-arguments.d.ts +9 -0
  81. package/dist/src/semantic-tool-arguments.js +64 -0
  82. package/dist/src/semantic-tool-arguments.js.map +1 -0
  83. package/dist/src/semantic-tool-catalog.d.ts +48 -0
  84. package/dist/src/semantic-tool-catalog.js +105 -0
  85. package/dist/src/semantic-tool-catalog.js.map +1 -0
  86. package/dist/src/semantic-tool-command-helpers.d.ts +145 -0
  87. package/dist/src/semantic-tool-command-helpers.js +1272 -0
  88. package/dist/src/semantic-tool-command-helpers.js.map +1 -0
  89. package/dist/src/semantic-tool-list-projection.d.ts +10 -0
  90. package/dist/src/semantic-tool-list-projection.js +497 -0
  91. package/dist/src/semantic-tool-list-projection.js.map +1 -0
  92. package/dist/src/semantic-tool-model-facing-field-policy.d.ts +3 -0
  93. package/dist/src/semantic-tool-model-facing-field-policy.js +66 -0
  94. package/dist/src/semantic-tool-model-facing-field-policy.js.map +1 -0
  95. package/dist/src/semantic-tool-presentation.d.ts +37 -0
  96. package/dist/src/semantic-tool-presentation.js +680 -0
  97. package/dist/src/semantic-tool-presentation.js.map +1 -0
  98. package/dist/src/semantic-tool-private-authority.d.ts +39 -0
  99. package/dist/src/semantic-tool-private-authority.js +602 -0
  100. package/dist/src/semantic-tool-private-authority.js.map +1 -0
  101. package/dist/src/semantic-tool-relay.d.ts +16 -0
  102. package/dist/src/semantic-tool-relay.js +175 -0
  103. package/dist/src/semantic-tool-relay.js.map +1 -0
  104. package/dist/src/semantic-tool-runtime.d.ts +10 -0
  105. package/dist/src/semantic-tool-runtime.js +1157 -0
  106. package/dist/src/semantic-tool-runtime.js.map +1 -0
  107. package/dist/src/semantic-tool-schemas.d.ts +563 -0
  108. package/dist/src/semantic-tool-schemas.js +573 -0
  109. package/dist/src/semantic-tool-schemas.js.map +1 -0
  110. package/dist/src/semantic-tool-value-helpers.d.ts +5 -0
  111. package/dist/src/semantic-tool-value-helpers.js +27 -0
  112. package/dist/src/semantic-tool-value-helpers.js.map +1 -0
  113. package/dist/src/store-event-presentation.d.ts +17 -0
  114. package/dist/src/store-event-presentation.js +33 -0
  115. package/dist/src/store-event-presentation.js.map +1 -0
  116. package/dist/src/store.d.ts +3 -16
  117. package/dist/src/store.js +2 -30
  118. package/dist/src/store.js.map +1 -1
  119. package/dist/src/terminal-action-projection.d.ts +3 -17
  120. package/dist/src/terminal-action-projection.js +13 -41
  121. package/dist/src/terminal-action-projection.js.map +1 -1
  122. package/dist/src/terminal-agent-adapter.d.ts +7 -0
  123. package/dist/src/terminal-agent-adapter.js +8 -0
  124. package/dist/src/terminal-agent-adapter.js.map +1 -1
  125. package/dist/src/terminal-agent-bridge.d.ts +35 -332
  126. package/dist/src/terminal-agent-bridge.js +293 -2798
  127. package/dist/src/terminal-agent-bridge.js.map +1 -1
  128. package/dist/src/terminal-approval-cli-adapter.d.ts +17 -0
  129. package/dist/src/terminal-approval-cli-adapter.js +921 -0
  130. package/dist/src/terminal-approval-cli-adapter.js.map +1 -0
  131. package/dist/src/terminal-command-cli-adapter.d.ts +2 -429
  132. package/dist/src/terminal-command-cli-adapter.js +344 -6061
  133. package/dist/src/terminal-command-cli-adapter.js.map +1 -1
  134. package/dist/src/terminal-command-cli-ports.d.ts +443 -0
  135. package/dist/src/terminal-command-cli-ports.js +2 -0
  136. package/dist/src/terminal-command-cli-ports.js.map +1 -0
  137. package/dist/src/terminal-command-dispatch-preparation.d.ts +81 -0
  138. package/dist/src/terminal-command-dispatch-preparation.js +209 -0
  139. package/dist/src/terminal-command-dispatch-preparation.js.map +1 -0
  140. package/dist/src/terminal-command-dispatch-transport.d.ts +35 -0
  141. package/dist/src/terminal-command-dispatch-transport.js +859 -0
  142. package/dist/src/terminal-command-dispatch-transport.js.map +1 -0
  143. package/dist/src/terminal-command-foreground-proof.d.ts +32 -0
  144. package/dist/src/terminal-command-foreground-proof.js +72 -0
  145. package/dist/src/terminal-command-foreground-proof.js.map +1 -0
  146. package/dist/src/terminal-command-send-preflight.d.ts +41 -0
  147. package/dist/src/terminal-command-send-preflight.js +86 -0
  148. package/dist/src/terminal-command-send-preflight.js.map +1 -0
  149. package/dist/src/terminal-composer-classifier.d.ts +55 -0
  150. package/dist/src/terminal-composer-classifier.js +638 -0
  151. package/dist/src/terminal-composer-classifier.js.map +1 -0
  152. package/dist/src/terminal-control-ref.d.ts +23 -0
  153. package/dist/src/terminal-control-ref.js +32 -0
  154. package/dist/src/terminal-control-ref.js.map +1 -1
  155. package/dist/src/terminal-dispatch-recovery-authority.d.ts +56 -0
  156. package/dist/src/terminal-dispatch-recovery-authority.js +251 -0
  157. package/dist/src/terminal-dispatch-recovery-authority.js.map +1 -0
  158. package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +1 -9
  159. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +5 -240
  160. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -1
  161. package/dist/src/terminal-handoff-cli-adapter.d.ts +1 -11
  162. package/dist/src/terminal-handoff-cli-adapter.js +2 -39
  163. package/dist/src/terminal-handoff-cli-adapter.js.map +1 -1
  164. package/dist/src/terminal-human-explicit-send-cli-adapter.d.ts +25 -0
  165. package/dist/src/terminal-human-explicit-send-cli-adapter.js +903 -0
  166. package/dist/src/terminal-human-explicit-send-cli-adapter.js.map +1 -0
  167. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +1 -6
  168. package/dist/src/terminal-identity-authority-cli-adapter.js +3 -33
  169. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -1
  170. package/dist/src/terminal-interaction-cli-adapter.js +209 -210
  171. package/dist/src/terminal-interaction-cli-adapter.js.map +1 -1
  172. package/dist/src/terminal-interaction-core.d.ts +0 -2
  173. package/dist/src/terminal-interaction-core.js +4 -3
  174. package/dist/src/terminal-interaction-core.js.map +1 -1
  175. package/dist/src/terminal-interaction-protocol.d.ts +21 -0
  176. package/dist/src/terminal-interaction-protocol.js +74 -0
  177. package/dist/src/terminal-interaction-protocol.js.map +1 -1
  178. package/dist/src/terminal-interaction-response-bridge.d.ts +126 -0
  179. package/dist/src/terminal-interaction-response-bridge.js +579 -0
  180. package/dist/src/terminal-interaction-response-bridge.js.map +1 -0
  181. package/dist/src/terminal-interaction-response-transaction.d.ts +44 -0
  182. package/dist/src/terminal-interaction-response-transaction.js +56 -0
  183. package/dist/src/terminal-interaction-response-transaction.js.map +1 -0
  184. package/dist/src/terminal-list-action-policy.d.ts +43 -0
  185. package/dist/src/terminal-list-action-policy.js +164 -0
  186. package/dist/src/terminal-list-action-policy.js.map +1 -0
  187. package/dist/src/terminal-list-cli-adapter.d.ts +6 -36
  188. package/dist/src/terminal-list-cli-adapter.js +314 -1711
  189. package/dist/src/terminal-list-cli-adapter.js.map +1 -1
  190. package/dist/src/terminal-list-facts.d.ts +129 -0
  191. package/dist/src/terminal-list-facts.js +179 -0
  192. package/dist/src/terminal-list-facts.js.map +1 -0
  193. package/dist/src/terminal-list-inventory.d.ts +59 -0
  194. package/dist/src/terminal-list-inventory.js +194 -0
  195. package/dist/src/terminal-list-inventory.js.map +1 -0
  196. package/dist/src/terminal-list-ownership-service.d.ts +118 -0
  197. package/dist/src/terminal-list-ownership-service.js +1003 -0
  198. package/dist/src/terminal-list-ownership-service.js.map +1 -0
  199. package/dist/src/terminal-list-projection-service.d.ts +49 -0
  200. package/dist/src/terminal-list-projection-service.js +407 -0
  201. package/dist/src/terminal-list-projection-service.js.map +1 -0
  202. package/dist/src/terminal-list-renderer.d.ts +12 -11
  203. package/dist/src/terminal-list-renderer.js +237 -104
  204. package/dist/src/terminal-list-renderer.js.map +1 -1
  205. package/dist/src/terminal-managed-send-cli-adapter.d.ts +33 -0
  206. package/dist/src/terminal-managed-send-cli-adapter.js +994 -0
  207. package/dist/src/terminal-managed-send-cli-adapter.js.map +1 -0
  208. package/dist/src/terminal-managed-turn-list-action-policy.d.ts +47 -0
  209. package/dist/src/terminal-managed-turn-list-action-policy.js +64 -0
  210. package/dist/src/terminal-managed-turn-list-action-policy.js.map +1 -0
  211. package/dist/src/terminal-model-control-action-policy.d.ts +60 -0
  212. package/dist/src/terminal-model-control-action-policy.js +96 -0
  213. package/dist/src/terminal-model-control-action-policy.js.map +1 -0
  214. package/dist/src/terminal-model-control-availability.d.ts +68 -0
  215. package/dist/src/terminal-model-control-availability.js +157 -0
  216. package/dist/src/terminal-model-control-availability.js.map +1 -0
  217. package/dist/src/terminal-model-control-bridge.d.ts +48 -0
  218. package/dist/src/terminal-model-control-bridge.js +259 -0
  219. package/dist/src/terminal-model-control-bridge.js.map +1 -0
  220. package/dist/src/terminal-model-control-profile.d.ts +55 -0
  221. package/dist/src/terminal-model-control-profile.js +137 -0
  222. package/dist/src/terminal-model-control-profile.js.map +1 -0
  223. package/dist/src/terminal-model-control-subject.d.ts +34 -0
  224. package/dist/src/terminal-model-control-subject.js +58 -0
  225. package/dist/src/terminal-model-control-subject.js.map +1 -0
  226. package/dist/src/terminal-model-control-transaction.d.ts +19 -0
  227. package/dist/src/terminal-model-control-transaction.js +39 -0
  228. package/dist/src/terminal-model-control-transaction.js.map +1 -0
  229. package/dist/src/terminal-model-control.d.ts +331 -0
  230. package/dist/src/terminal-model-control.js +1686 -0
  231. package/dist/src/terminal-model-control.js.map +1 -0
  232. package/dist/src/terminal-monitor-application-service.js +50 -17
  233. package/dist/src/terminal-monitor-application-service.js.map +1 -1
  234. package/dist/src/terminal-native-inspection-bridge.d.ts +211 -0
  235. package/dist/src/terminal-native-inspection-bridge.js +1127 -0
  236. package/dist/src/terminal-native-inspection-bridge.js.map +1 -0
  237. package/dist/src/terminal-runtime-cli-adapter.d.ts +2 -0
  238. package/dist/src/terminal-runtime-cli-adapter.js +59 -17
  239. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -1
  240. package/dist/src/terminal-submission-retry-application.d.ts +24 -0
  241. package/dist/src/terminal-submission-retry-application.js +402 -0
  242. package/dist/src/terminal-submission-retry-application.js.map +1 -0
  243. package/dist/src/terminal-submission-retry-ports.d.ts +30 -0
  244. package/dist/src/terminal-submission-retry-ports.js +2 -0
  245. package/dist/src/terminal-submission-retry-ports.js.map +1 -0
  246. package/dist/src/terminal-submission-retry-reconciliation.d.ts +236 -0
  247. package/dist/src/terminal-submission-retry-reconciliation.js +1130 -0
  248. package/dist/src/terminal-submission-retry-reconciliation.js.map +1 -0
  249. package/dist/src/terminal-submission-retry-transport.d.ts +58 -0
  250. package/dist/src/terminal-submission-retry-transport.js +675 -0
  251. package/dist/src/terminal-submission-retry-transport.js.map +1 -0
  252. package/dist/src/terminal-text-submission-bridge.d.ts +200 -0
  253. package/dist/src/terminal-text-submission-bridge.js +632 -0
  254. package/dist/src/terminal-text-submission-bridge.js.map +1 -0
  255. package/dist/src/terminal-user-explicit-send-policy.d.ts +29 -0
  256. package/dist/src/terminal-user-explicit-send-policy.js +46 -0
  257. package/dist/src/terminal-user-explicit-send-policy.js.map +1 -0
  258. package/dist/src/terminal-watch-cli-adapter.js +91 -143
  259. package/dist/src/terminal-watch-cli-adapter.js.map +1 -1
  260. package/dist/src/terminal-watch-codec.d.ts +9 -0
  261. package/dist/src/terminal-watch-codec.js +1051 -0
  262. package/dist/src/terminal-watch-codec.js.map +1 -0
  263. package/dist/src/terminal-watch-interaction-response-store.d.ts +19 -0
  264. package/dist/src/terminal-watch-interaction-response-store.js +87 -0
  265. package/dist/src/terminal-watch-interaction-response-store.js.map +1 -0
  266. package/dist/src/terminal-watch-record.d.ts +319 -0
  267. package/dist/src/terminal-watch-record.js +742 -0
  268. package/dist/src/terminal-watch-record.js.map +1 -0
  269. package/dist/src/terminal-watch-service.js +48 -27
  270. package/dist/src/terminal-watch-service.js.map +1 -1
  271. package/dist/src/terminal-watch-store.d.ts +3 -279
  272. package/dist/src/terminal-watch-store.js +5 -1779
  273. package/dist/src/terminal-watch-store.js.map +1 -1
  274. package/docs/quickstart-herdr.md +1 -1
  275. package/docs/quickstart-tmux.md +27 -2
  276. package/openclaw.plugin.json +13 -1
  277. package/package.json +7 -2
  278. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +54 -11
@@ -0,0 +1,211 @@
1
+ import type { ExecutorKind } from "./executors.js";
2
+ import type { TerminalAgentAdapter, TerminalAgentAdapterRegistry, TerminalControlCapability, TerminalNativeInspectionEvidenceInventoryEntry, TerminalNativeInspectionObservation, TerminalNativeInspectionObservationRequest, TerminalNativeInspectionPlan, TerminalRuntimeIdentity, TerminalScreenInspection } from "./terminal-agent-adapter.js";
3
+ import { type TerminalControlProvider } from "./terminal-control-provider.js";
4
+ import { type TerminalControlRef, type TerminalEndpointRef, type TerminalProviderCapability } from "./terminal-control-ref.js";
5
+ export declare const CODEX_COMPOSER_MARKER: RegExp;
6
+ export declare const CODEX_COMPOSER_FOOTER: RegExp;
7
+ export type NativeInspectionSubmissionStage = "not_started" | "text_injected" | "enter_uncertain";
8
+ /** Machine-readable reason for a closed native-inspection submission failure. */
9
+ 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";
10
+ /**
11
+ * A fail-closed native-inspection submission result.
12
+ *
13
+ * Only `not_started` proves that a caller may safely retry. Once text has
14
+ * reached the composer, or Enter has been attempted, automated retries could
15
+ * duplicate input or execute a different command after terminal drift.
16
+ */
17
+ export declare class NativeInspectionSubmissionError extends Error {
18
+ readonly stage: NativeInspectionSubmissionStage;
19
+ readonly code = "AKK_NATIVE_INSPECTION_SUBMISSION_FAILED";
20
+ readonly doNotRetry: boolean;
21
+ constructor(stage: NativeInspectionSubmissionStage, message: string, options?: {
22
+ cause?: unknown;
23
+ diagnostic?: NativeInspectionSubmissionDiagnostic;
24
+ });
25
+ readonly diagnostic?: NativeInspectionSubmissionDiagnostic;
26
+ }
27
+ /** A verified modal could not be dismissed across one exact key attempt. */
28
+ export declare class NativeInspectionDismissalError extends Error {
29
+ readonly code = "AKK_NATIVE_INSPECTION_DISMISSAL_FAILED";
30
+ readonly doNotRetry = true;
31
+ constructor(message: string, options?: {
32
+ cause?: unknown;
33
+ });
34
+ }
35
+ export type TerminalNativeInspectionMaterializationKind = "exact_slash_composer" | "exact_slash_popup";
36
+ export interface TerminalNativeInspectionMaterializationEvidence {
37
+ kind: TerminalNativeInspectionMaterializationKind;
38
+ digest: string;
39
+ stableForMs: number;
40
+ stableCaptures: number;
41
+ }
42
+ export interface TerminalNativeInspectionBeforeEnterContext {
43
+ agent: ExecutorKind;
44
+ terminalControl: TerminalControlRef;
45
+ plan: TerminalNativeInspectionPlan;
46
+ preEnterScreenDigest: string;
47
+ materialization: TerminalNativeInspectionMaterializationEvidence;
48
+ }
49
+ export interface TerminalNativeInspectionOptions {
50
+ runtime?: TerminalRuntimeIdentity;
51
+ /**
52
+ * Gives the CLI one final in-lock authorization point for its Store binding
53
+ * and action-token fences. The bridge recaptures the exact composer and
54
+ * revalidates terminal identity again after this hook before pressing Enter.
55
+ */
56
+ beforeEnter?: (context: TerminalNativeInspectionBeforeEnterContext) => void | Promise<void>;
57
+ }
58
+ export interface TerminalNativeInspectionResult {
59
+ stage: "enter_dispatched";
60
+ agent: ExecutorKind;
61
+ terminalControl: TerminalControlRef;
62
+ command: string;
63
+ behaviorProfile: string;
64
+ preEnterScreenDigest: string;
65
+ preEnterEvidenceInventory: readonly TerminalNativeInspectionEvidenceInventoryEntry[];
66
+ materialization: TerminalNativeInspectionMaterializationEvidence;
67
+ enterCount: 1;
68
+ }
69
+ export interface TerminalCodexStatusProbeResult extends TerminalNativeInspectionResult {
70
+ agent: "codex";
71
+ /** Identity-fenced ANSI capture proving an empty/dim placeholder composer. */
72
+ preTextScreenDigest: string;
73
+ /**
74
+ * Bare SHA-256 of the final pre-Enter 240-line capture. This deliberately
75
+ * matches `status().screen.digest` when observed with the returned depth.
76
+ */
77
+ observationBaselineDigest: string;
78
+ /** Capture depth required for same-domain post-Enter freshness checks. */
79
+ observationScrollbackLines: 240;
80
+ }
81
+ export interface TerminalNativeInspectionBeforeDismissContext {
82
+ agent: ExecutorKind;
83
+ terminalControl: TerminalControlRef;
84
+ plan: TerminalNativeInspectionPlan;
85
+ evidenceFingerprint: string;
86
+ }
87
+ export interface TerminalNativeInspectionDismissalOptions {
88
+ runtime?: TerminalRuntimeIdentity;
89
+ scrollbackLines?: number;
90
+ beforeDismiss?: (context: TerminalNativeInspectionBeforeDismissContext) => void | Promise<void>;
91
+ }
92
+ export interface TerminalNativeInspectionDismissalResult {
93
+ stage: "dismiss_dispatched";
94
+ agent: ExecutorKind;
95
+ terminalControl: TerminalControlRef;
96
+ keys: readonly string[];
97
+ dismissCount: 1;
98
+ }
99
+ export interface TerminalNativeInspectionTransportObservationResult<TStatus> {
100
+ terminalControl: TerminalControlRef;
101
+ status: TStatus;
102
+ /** Same raw-screen fingerprint format used by adapter stale checks. */
103
+ screenDigest: string;
104
+ observation: TerminalNativeInspectionObservation;
105
+ }
106
+ interface TerminalNativeInspectionCapture {
107
+ terminalControl: TerminalControlRef;
108
+ screen: string;
109
+ inspection: TerminalScreenInspection;
110
+ }
111
+ interface TerminalNativeInspectionRuntime<TStatus> {
112
+ captureInspection: (adapter: TerminalAgentAdapter, terminalControl: TerminalControlRef, options: {
113
+ runtime?: TerminalRuntimeIdentity;
114
+ scrollbackLines?: number;
115
+ }) => Promise<TerminalNativeInspectionCapture>;
116
+ verifyIdentity: (agent: ExecutorKind, terminalControl: TerminalControlRef, runtime?: TerminalRuntimeIdentity) => Promise<TerminalControlRef>;
117
+ statusFromInspection: (adapter: TerminalAgentAdapter, terminalControl: TerminalControlRef, inspection: TerminalScreenInspection, options: {
118
+ screen?: string;
119
+ runtime?: TerminalRuntimeIdentity;
120
+ }) => TStatus;
121
+ nowMs: () => number;
122
+ sleep: (milliseconds: number) => Promise<void>;
123
+ }
124
+ /**
125
+ * Closed native-inspection transport. Terminal locking, Store authority, and
126
+ * the caller's one-shot input ledger remain outside this internal service.
127
+ */
128
+ export declare class TerminalNativeInspectionBridge<TStatus> {
129
+ readonly registry: TerminalAgentAdapterRegistry;
130
+ readonly terminalProvider: TerminalControlProvider;
131
+ constructor(options: {
132
+ registry: TerminalAgentAdapterRegistry;
133
+ terminalProvider: TerminalControlProvider;
134
+ runtime: TerminalNativeInspectionRuntime<TStatus>;
135
+ });
136
+ private readonly runtime;
137
+ private captureInspection;
138
+ private verifyTerminalIdentity;
139
+ private nowMs;
140
+ private sleep;
141
+ /**
142
+ * Submit one closed, adapter-owned native inspection command.
143
+ *
144
+ * This intentionally does not use `send()`: native slash commands need a
145
+ * stricter composer proof, and failures after text injection must leave the
146
+ * draft untouched instead of issuing the legacy best-effort C-u cleanup.
147
+ */
148
+ submitNativeInspection(agent: ExecutorKind, terminalControl: TerminalControlRef, plan: TerminalNativeInspectionPlan, options?: TerminalNativeInspectionOptions): Promise<TerminalNativeInspectionResult>;
149
+ /**
150
+ * Submit Codex's closed, version-profiled `/status` probe.
151
+ *
152
+ * Unlike the generic native-inspection entry point, callers provide only
153
+ * the detected Codex version, never a command or plan. The bridge proves an
154
+ * exact empty (or fully dim replace-on-type) ANSI composer before injecting
155
+ * text, then crosses Codex's paste suppression window under the same exact
156
+ * composer and terminal-identity fences used by native inspection.
157
+ */
158
+ submitCodexStatusProbe(terminalControl: TerminalControlRef, agentVersion: string, options?: TerminalNativeInspectionOptions): Promise<TerminalCodexStatusProbeResult>;
159
+ private submitClosedNativeInspection;
160
+ observeNativeInspection(agent: ExecutorKind, terminalControl: TerminalControlRef, request: TerminalNativeInspectionObservationRequest, options?: {
161
+ runtime?: TerminalRuntimeIdentity;
162
+ scrollbackLines?: number;
163
+ }): Promise<TerminalNativeInspectionTransportObservationResult<TStatus>>;
164
+ /**
165
+ * Dismiss one exact adapter-owned modal result after re-observing the same
166
+ * evidence under the terminal identity fence. There is exactly one key
167
+ * attempt and no automated retry across an uncertain dismissal boundary.
168
+ */
169
+ dismissNativeInspection(agent: ExecutorKind, terminalControl: TerminalControlRef, plan: TerminalNativeInspectionPlan, request: TerminalNativeInspectionObservationRequest, expectedEvidenceFingerprint: string, options?: TerminalNativeInspectionDismissalOptions): Promise<TerminalNativeInspectionDismissalResult>;
170
+ private captureCodexReadyComposer;
171
+ private assertFinalCodexStatusViewport;
172
+ private settleNativeInspectionComposer;
173
+ private revalidateNativeInspectionComposer;
174
+ }
175
+ export declare function assertTerminalMutationCapabilities({ provider, terminal, semantic, transport }: {
176
+ provider: TerminalControlProvider;
177
+ terminal: TerminalEndpointRef;
178
+ semantic: readonly TerminalControlCapability[];
179
+ transport: readonly TerminalProviderCapability[];
180
+ }): void;
181
+ /**
182
+ * Prove Claude Code's exact current idle input frame. This is shared by every
183
+ * automated-input path: a loose or historical `❯` prompt is not authority to
184
+ * inject text into the terminal.
185
+ */
186
+ export declare function isExactClaudeIdleComposer(screen: string): boolean;
187
+ /**
188
+ * Compatibility export retained for callers that adopted the native-status
189
+ * name before the same exact-frame proof was reused by lifecycle handoff.
190
+ */
191
+ export declare function isExactClaudeNativeInspectionIdleComposer(screen: string): boolean;
192
+ export declare function exactClaudeComposerFrame(screen: string): {
193
+ lines: string[];
194
+ openIndex: number;
195
+ closeIndex: number;
196
+ composerRows: string[];
197
+ trailing: string[];
198
+ } | undefined;
199
+ export declare function claudeNativeInspectionTrailingIsFooter(lines: readonly string[]): boolean;
200
+ export declare function stripTerminalEscapeSequences(value: string): string;
201
+ export declare function exactCodexReadyStyledComposerCapture(screen: string): {
202
+ digest: string;
203
+ } | undefined;
204
+ /**
205
+ * Infer a viewport only from fixed-width visible-buffer rows. Trimmed captures
206
+ * deliberately return undefined: a short content row is not proof of a short
207
+ * terminal. This keeps the fallback provider-neutral and fail-closed only on
208
+ * positive geometry evidence.
209
+ */
210
+ export declare function inferCodexVisibleViewportColumns(screen: string): number | undefined;
211
+ export {};