@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
@@ -1,262 +1,6 @@
1
- import { type CallbackEnvelopeV1, type CallbackRouteV1 } from "./callback-transport.js";
2
- import type { ExecutorKind } from "./executors.js";
3
- import { type ClaudeTranscriptAnchor, type ClaudeHumanStartedActiveTaskAnchor, type ClaudeHumanStartedActiveTaskCheckpoint } from "./claude-local-transcript-provider.js";
4
- import { type CodexHumanStartedActiveTaskAnchor } from "./terminal-submission-acceptance.js";
5
- import { type CodexRolloutAcceptanceAnchor, type CodexRolloutIdentity, type TerminalSubmissionAcceptanceEvidence } from "./terminal-submission-facts.js";
6
- import { type TerminalControlEvidence } from "./terminal-control-ref.js";
7
- import { type TerminalInteractionSubjectProjection } from "./terminal-interaction-protocol.js";
8
- import { type TerminalInteractionAggregate } from "./terminal-interaction-core.js";
9
- export declare const TERMINAL_WATCH_SCHEMA: "agent-knock-knock/terminal-watch";
10
- export declare const TERMINAL_WATCH_VERSION: 3;
11
- export declare const TERMINAL_WATCHES_DIRECTORY = "terminal-watches";
12
- declare const TERMINAL_WATCH_TERMINAL_STATUSES: readonly ["completed", "failed", "timed_out", "invalidated", "cancelled"];
13
- declare const TERMINAL_WATCH_STATUSES: readonly ["active", "completed", "failed", "timed_out", "invalidated", "cancelled"];
14
- declare const TERMINAL_WATCH_NOTIFICATION_KINDS: readonly ["approval", "interaction_required", "interaction_manual_required", "completed", "failed", "timed_out", "invalidated", "cancelled"];
15
- declare const TERMINAL_WATCH_NOTIFICATION_STATUSES: readonly ["pending", "delivering", "failed", "delivered", "superseded"];
16
- export declare const TERMINAL_WATCH_INTERACTION_POLICIES: readonly ["notify_only", "respond_when_exact"];
17
- export type TerminalWatchStatus = typeof TERMINAL_WATCH_STATUSES[number];
18
- export type TerminalWatchTerminalStatus = typeof TERMINAL_WATCH_TERMINAL_STATUSES[number];
19
- export type TerminalWatchInteractionPolicy = typeof TERMINAL_WATCH_INTERACTION_POLICIES[number];
20
- export interface TerminalWatchTerminalIdentity {
21
- terminal_id: string;
22
- terminal_endpoint: TerminalControlEvidence;
23
- workspace: string;
24
- binding_token: string;
25
- }
26
- export type TerminalWatchAnchor = CodexHumanStartedActiveTaskAnchor | ClaudeHumanStartedActiveTaskAnchor | CodexUserExplicitFallbackWatchAnchor | ClaudeUserExplicitFallbackWatchAnchor | TerminalActivityWatchAnchor;
27
- export type TerminalActivityState = "awaiting_approval" | "working" | "idle" | "unknown";
28
- /**
29
- * Observation-only fallback for a user-selected live terminal. It deliberately
30
- * carries no task ownership claim: when a provider artifact cannot name one
31
- * exact task, the Watch follows only this terminal/process activity epoch.
32
- */
33
- export interface TerminalActivityWatchAnchor {
34
- schema: "agent-knock-knock/terminal-activity-watch-anchor";
35
- version: 1;
36
- captured_at: string;
37
- terminal_id: string;
38
- pid: number;
39
- initial_activity_state: TerminalActivityState;
40
- native_process_uuid?: string;
41
- native_process_birth?: string;
42
- agent_version?: string;
43
- anchor_fingerprint: string;
44
- }
45
- export declare function isTerminalActivityWatch(watch: Pick<TerminalWatch, "anchor">): watch is Pick<TerminalWatch, "anchor"> & {
46
- anchor: TerminalActivityWatchAnchor;
47
- };
48
- /**
49
- * New exact-task Watches opt in to fail-closed interaction response authority.
50
- * Best-effort activity Watches can notify about a questionnaire but can never
51
- * become terminal-input authorities.
52
- */
53
- export declare function initialTerminalWatchInteractionPolicy(anchor: TerminalWatchAnchor): TerminalWatchInteractionPolicy;
54
- export declare function createTerminalActivityWatchAnchor(input: {
55
- capturedAt: Date;
56
- terminalId: string;
57
- pid: number;
58
- initialActivityState: TerminalActivityState;
59
- nativeProcessUuid?: string;
60
- nativeProcessBirth?: string;
61
- agentVersion?: string;
62
- }): TerminalActivityWatchAnchor;
63
- export interface CodexUserExplicitFallbackWatchAnchor {
64
- schema: "agent-knock-knock/codex-user-explicit-fallback-watch-anchor";
65
- version: 1;
66
- captured_at: string;
67
- request_hash: string;
68
- codex_version: string;
69
- acceptance_anchor: CodexRolloutAcceptanceAnchor;
70
- anchor_fingerprint: string;
71
- }
72
- export interface ClaudeUserExplicitFallbackWatchAnchor {
73
- schema: "agent-knock-knock/claude-user-explicit-fallback-watch-anchor";
74
- version: 1;
75
- captured_at: string;
76
- request_hash: string;
77
- claude_version: string;
78
- transcript_anchor: ClaudeTranscriptAnchor;
79
- anchor_fingerprint: string;
80
- }
81
- export type UserExplicitFallbackWatchAnchor = CodexUserExplicitFallbackWatchAnchor | ClaudeUserExplicitFallbackWatchAnchor;
82
- export declare function isUserExplicitFallbackWatch(watch: Pick<TerminalWatch, "anchor">): watch is Pick<TerminalWatch, "anchor"> & {
83
- anchor: UserExplicitFallbackWatchAnchor;
84
- };
85
- export declare function terminalUserExplicitFallbackWatchId(input: {
86
- messageId: string;
87
- physicalToken: string;
88
- requestHash: string;
89
- }): string;
90
- export declare function createCodexUserExplicitFallbackWatchAnchor(input: {
91
- acceptanceAnchor: CodexRolloutAcceptanceAnchor;
92
- requestHash: string;
93
- codexVersion: string;
94
- }): CodexUserExplicitFallbackWatchAnchor;
95
- export declare function createClaudeUserExplicitFallbackWatchAnchor(input: {
96
- transcriptAnchor: ClaudeTranscriptAnchor;
97
- requestHash: string;
98
- claudeVersion: string;
99
- }): ClaudeUserExplicitFallbackWatchAnchor;
100
- /**
101
- * Mutable, privacy-safe progress through the append-only provider artifact.
102
- * The immutable anchor continues to name the exact task; this cursor may only
103
- * advance after a provider proves a complete, stable JSONL boundary.
104
- */
105
- export interface CodexTerminalWatchObservationCheckpoint {
106
- safe_resume_offset_bytes: number;
107
- }
108
- export interface CodexUserExplicitFallbackWatchAcceptedIdentity {
109
- native_thread_id: string;
110
- process_uuid: string;
111
- process_birth: string;
112
- rollout: CodexRolloutIdentity;
113
- }
114
- export interface CodexUserExplicitFallbackWatchObservationCheckpoint {
115
- schema: "agent-knock-knock/codex-user-explicit-fallback-watch-checkpoint";
116
- version: 1;
117
- safe_resume_offset_bytes: number;
118
- acceptance_evidence?: TerminalSubmissionAcceptanceEvidence;
119
- accepted_identity?: CodexUserExplicitFallbackWatchAcceptedIdentity;
120
- }
121
- export interface ClaudeUserExplicitFallbackWatchObservationCheckpoint {
122
- schema: "agent-knock-knock/claude-user-explicit-fallback-watch-checkpoint";
123
- version: 1;
124
- safe_resume_offset_bytes: number;
125
- acceptance_evidence?: TerminalSubmissionAcceptanceEvidence;
126
- accepted_prompt_uuid?: string;
127
- }
128
- export interface TerminalActivityWatchObservationCheckpoint {
129
- schema: "agent-knock-knock/terminal-activity-watch-checkpoint";
130
- version: 1;
131
- safe_resume_offset_bytes: 0;
132
- has_seen_activity: boolean;
133
- consecutive_idle_observations: number;
134
- last_activity_state: TerminalActivityState;
135
- }
136
- export type TerminalWatchObservationCheckpoint = CodexTerminalWatchObservationCheckpoint | CodexUserExplicitFallbackWatchObservationCheckpoint | ClaudeUserExplicitFallbackWatchObservationCheckpoint | ClaudeHumanStartedActiveTaskCheckpoint | TerminalActivityWatchObservationCheckpoint;
137
- export declare function initialTerminalWatchObservationCheckpoint(anchor: TerminalWatchAnchor): TerminalWatchObservationCheckpoint;
138
- export type TerminalWatchNotificationKind = typeof TERMINAL_WATCH_NOTIFICATION_KINDS[number];
139
- export type TerminalWatchNotificationStatus = typeof TERMINAL_WATCH_NOTIFICATION_STATUSES[number];
140
- export type TerminalWatchManualInteractionResponseKind = "single_select" | "multi_select" | "free_text" | "confirm";
141
- export interface TerminalWatchManualInteractionOption {
142
- label: string;
143
- description?: string;
144
- }
145
- /**
146
- * Bounded semantic summary for a questionnaire that Terminal Watch can only
147
- * ask a human to resolve in the live TUI. It deliberately omits raw screen
148
- * contents, native keys, action plans, private prompt fingerprints, and
149
- * response authority.
150
- */
151
- export interface TerminalWatchManualInteractionSummary {
152
- kind: "questionnaire";
153
- response_kind: TerminalWatchManualInteractionResponseKind;
154
- required: boolean;
155
- current_step: number;
156
- total_steps: number;
157
- parser_status: "actionable" | "manual_required";
158
- prompt?: string;
159
- options?: TerminalWatchManualInteractionOption[];
160
- manual_reason?: string;
161
- }
162
- /**
163
- * One immutable notification payload plus its mutable delivery receipt.
164
- * `notification_id` and `idempotency_key` are deterministic from the Watch,
165
- * kind, and evidence fingerprint, so a transport retry cannot create a second
166
- * logical OpenClaw notification.
167
- */
168
- export interface TerminalWatchNotification {
169
- notification_id: string;
170
- idempotency_key: string;
171
- kind: TerminalWatchNotificationKind;
172
- evidence_fingerprint: string;
173
- reason_code?: string;
174
- manual_interaction?: TerminalWatchManualInteractionSummary;
175
- callback_route?: CallbackRouteV1;
176
- callback_envelope?: CallbackEnvelopeV1;
177
- status: TerminalWatchNotificationStatus;
178
- attempts: number;
179
- created_at: string;
180
- last_attempt_at?: string;
181
- attempt_id?: string;
182
- attempt_lease_expires_at?: string;
183
- failed_at?: string;
184
- next_attempt_at?: string;
185
- last_error_code?: string;
186
- delivered_at?: string;
187
- superseded_at?: string;
188
- }
189
- export interface TerminalWatchSettlement {
190
- kind: TerminalWatchTerminalStatus;
191
- evidence_fingerprint: string;
192
- observed_at: string;
193
- reason_code?: string;
194
- completion_text?: string;
195
- completion_id?: string;
196
- completion_timestamp?: string;
197
- }
198
- /**
199
- * Privacy-safe durable state for the questionnaire currently attributed to a
200
- * Watch. The public projection is intentionally bounded by the interaction
201
- * protocol. The aggregate stores only opaque identities, fingerprints,
202
- * timestamps, and response receipts; native key plans, raw terminal frames,
203
- * and answer text never cross this persistence boundary.
204
- */
205
- export interface TerminalWatchCurrentInteraction {
206
- projection: TerminalInteractionSubjectProjection;
207
- aggregate: TerminalInteractionAggregate;
208
- }
209
- /**
210
- * Durable observation authority for work started by a human in a coding-agent
211
- * TUI. It is deliberately not a Conversation, Turn, Session, dispatch receipt,
212
- * or terminal-input authority.
213
- */
214
- export interface TerminalWatch {
215
- schema: typeof TERMINAL_WATCH_SCHEMA;
216
- version: typeof TERMINAL_WATCH_VERSION;
217
- watch_id: string;
218
- revision?: number;
219
- agent: ExecutorKind;
220
- terminal: TerminalWatchTerminalIdentity;
221
- anchor: TerminalWatchAnchor;
222
- observation_checkpoint: TerminalWatchObservationCheckpoint;
223
- /** Immutable creation-time response policy. Legacy records are notify-only. */
224
- interaction_policy: TerminalWatchInteractionPolicy;
225
- current_interaction?: TerminalWatchCurrentInteraction;
226
- /** Immutable creation-time diagnostics; none of these veto observation. */
227
- warnings?: string[];
228
- /** Immutable callback authority captured by a native Host at Watch creation. */
229
- callback_route?: CallbackRouteV1;
230
- openclaw_session: string;
231
- openclaw_bin: string;
232
- created_at: string;
233
- deadline_at: string;
234
- updated_at: string;
235
- status: TerminalWatchStatus;
236
- last_activity_at: string;
237
- settlement?: TerminalWatchSettlement;
238
- notification_outbox: TerminalWatchNotification[];
239
- }
240
- export type TerminalWatchCallbackEvent = "approval_required" | "interaction_required" | "interaction_manual_required" | TerminalWatchTerminalStatus;
241
- export interface TerminalWatchCallbackMessageInput {
242
- watchId: string;
243
- event: TerminalWatchCallbackEvent;
244
- agent: ExecutorKind;
245
- terminalId: string;
246
- origin?: "user_selected_terminal" | "terminal_user_explicit_fallback" | "terminal_activity_fallback";
247
- detail?: string;
248
- completionText?: string;
249
- manualInteraction?: TerminalWatchManualInteractionSummary;
250
- }
251
- /**
252
- * Terminal Watch callbacks may wake their owning controller, but never carry
253
- * authority to answer a terminal interaction. Keep this projection reusable at
254
- * creation and delivery so a persisted predecessor route with `respond:true`
255
- * is safely reduced without making the predecessor Watch unreadable.
256
- */
257
- export declare function terminalWatchNotificationOnlyRoute(value: unknown): CallbackRouteV1;
258
- export declare function terminalWatchCallbackEnvelope(watch: TerminalWatch, notification: TerminalWatchNotification, route: CallbackRouteV1): CallbackEnvelopeV1;
259
- export declare function terminalWatchCallbackMessage(input: TerminalWatchCallbackMessageInput): string;
1
+ import { type TerminalWatch } from "./terminal-watch-record.js";
2
+ export { TERMINAL_WATCH_INTERACTION_POLICIES, TERMINAL_WATCH_SCHEMA, TERMINAL_WATCH_VERSION, TERMINAL_WATCHES_DIRECTORY, createClaudeUserExplicitFallbackWatchAnchor, createCodexUserExplicitFallbackWatchAnchor, createTerminalActivityWatchAnchor, initialTerminalWatchInteractionPolicy, initialTerminalWatchObservationCheckpoint, isTerminalActivityWatch, isUserExplicitFallbackWatch, terminalUserExplicitFallbackWatchId, terminalWatchCallbackEnvelope, terminalWatchCallbackMessage, terminalWatchIdentityFingerprint, terminalWatchNotificationCallbackSnapshot, terminalWatchNotificationId, terminalWatchNotificationIdempotencyKey, terminalWatchNotificationOnlyRoute, terminalWatchRevision, type ClaudeUserExplicitFallbackWatchAnchor, type ClaudeUserExplicitFallbackWatchObservationCheckpoint, type CodexTerminalWatchObservationCheckpoint, type CodexUserExplicitFallbackWatchAcceptedIdentity, type CodexUserExplicitFallbackWatchAnchor, type CodexUserExplicitFallbackWatchObservationCheckpoint, type TerminalActivityState, type TerminalActivityWatchAnchor, type TerminalActivityWatchObservationCheckpoint, type TerminalWatch, type TerminalWatchAnchor, type TerminalWatchCallbackEvent, type TerminalWatchCallbackMessageInput, type TerminalWatchCurrentInteraction, type TerminalWatchInteractionPolicy, type TerminalWatchManualInteractionOption, type TerminalWatchManualInteractionResponseKind, type TerminalWatchManualInteractionSummary, type TerminalWatchNotification, type TerminalWatchNotificationCallbackSnapshot, type TerminalWatchNotificationKind, type TerminalWatchNotificationStatus, type TerminalWatchObservationCheckpoint, type TerminalWatchSettlement, type TerminalWatchStatus, type TerminalWatchTerminalIdentity, type TerminalWatchTerminalStatus, type UserExplicitFallbackWatchAnchor } from "./terminal-watch-record.js";
3
+ export { assertTerminalWatch, assertTerminalWatchCurrentInteraction, assertTerminalWatchManualInteractionSummary, assertTerminalWatchObservationCheckpoint } from "./terminal-watch-codec.js";
260
4
  export interface TerminalWatchSaveOptions {
261
5
  /** `null` creates; a positive revision performs an exact CAS update. */
262
6
  expectedRevision: number | null;
@@ -311,13 +55,6 @@ export declare function pathsForTerminalWatch(watchId: string, storeDir: string)
311
55
  */
312
56
  export declare function withTerminalWatchLock<Result>(storeDir: string, watchId: string, locks: TerminalWatchFileLockPort, operation: () => Result): Result;
313
57
  export declare function createTerminalWatchStore(storeDir: string, locks: TerminalWatchFileLockPort): TerminalWatchStore;
314
- export declare function terminalWatchNotificationId(watchId: string, kind: TerminalWatchNotificationKind, evidenceFingerprint: string): string;
315
- export declare function terminalWatchNotificationIdempotencyKey(watchId: string, notificationId: string): string;
316
- export declare function terminalWatchIdentityFingerprint(watch: Pick<TerminalWatch, "agent" | "terminal" | "anchor">): string;
317
- export declare function terminalWatchRevision(watch: TerminalWatch): number;
318
- export declare function assertTerminalWatch(value: unknown, expectedWatchId?: string, options?: {
319
- allowMissingRevision?: boolean;
320
- }): asserts value is TerminalWatch;
321
58
  export declare function saveTerminalWatch(storeDir: string, watch: TerminalWatch, options: TerminalWatchSaveOptions): TerminalWatch;
322
59
  export declare function loadTerminalWatch(storeDir: string, watchId: string): TerminalWatch;
323
60
  export declare function tryLoadTerminalWatch(storeDir: string, watchId: string): TerminalWatch | undefined;
@@ -328,16 +65,3 @@ export declare function listTerminalWatches(storeDir: string): TerminalWatch[];
328
65
  * failures remain global fail-closed boundaries.
329
66
  */
330
67
  export declare function scanTerminalWatchesForReconciliation(storeDir: string): TerminalWatchReconciliationScan;
331
- export declare function assertTerminalWatchObservationCheckpoint(value: unknown, anchor: TerminalWatchAnchor): asserts value is TerminalWatchObservationCheckpoint;
332
- export declare function assertTerminalWatchManualInteractionSummary(value: unknown): asserts value is TerminalWatchManualInteractionSummary;
333
- export declare function assertTerminalWatchCurrentInteraction(value: unknown, watch: Pick<TerminalWatch, "watch_id" | "agent" | "anchor" | "interaction_policy" | "created_at" | "updated_at" | "status">): asserts value is TerminalWatchCurrentInteraction | undefined;
334
- export interface TerminalWatchNotificationCallbackSnapshot {
335
- route: CallbackRouteV1;
336
- envelope: CallbackEnvelopeV1;
337
- }
338
- /**
339
- * Parse one optional v1 callback snapshot. Legacy notifications may omit both
340
- * fields; a partial or malformed snapshot is never treated as legacy.
341
- */
342
- export declare function terminalWatchNotificationCallbackSnapshot(watch: TerminalWatch, notification: TerminalWatchNotification): TerminalWatchNotificationCallbackSnapshot | undefined;
343
- export {};