@scotthuang/agent-knock-knock 0.12.11 → 0.12.13

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 (344) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +43 -30
  3. package/dist/src/approval-policy.d.ts +11 -2
  4. package/dist/src/approval-policy.js +33 -7
  5. package/dist/src/approval-policy.js.map +1 -1
  6. package/dist/src/callback-cli-adapter.d.ts +47 -0
  7. package/dist/src/callback-cli-adapter.js +156 -0
  8. package/dist/src/callback-cli-adapter.js.map +1 -0
  9. package/dist/src/callback-outbox-policy.d.ts +95 -0
  10. package/dist/src/callback-outbox-policy.js +149 -0
  11. package/dist/src/callback-outbox-policy.js.map +1 -0
  12. package/dist/src/callback-outbox-service.d.ts +247 -0
  13. package/dist/src/callback-outbox-service.js +1053 -0
  14. package/dist/src/callback-outbox-service.js.map +1 -0
  15. package/dist/src/callback-outbox-settlement.d.ts +54 -0
  16. package/dist/src/callback-outbox-settlement.js +241 -0
  17. package/dist/src/callback-outbox-settlement.js.map +1 -0
  18. package/dist/src/canonical-json.d.ts +1 -0
  19. package/dist/src/canonical-json.js +14 -0
  20. package/dist/src/canonical-json.js.map +1 -0
  21. package/dist/src/claude-lifecycle-compatibility.js +15 -0
  22. package/dist/src/claude-lifecycle-compatibility.js.map +1 -1
  23. package/dist/src/claude-local-transcript-provider.d.ts +82 -1
  24. package/dist/src/claude-local-transcript-provider.js +873 -23
  25. package/dist/src/claude-local-transcript-provider.js.map +1 -1
  26. package/dist/src/cli-command-runtime.d.ts +14 -0
  27. package/dist/src/cli-command-runtime.js +164 -0
  28. package/dist/src/cli-command-runtime.js.map +1 -0
  29. package/dist/src/cli-core.d.ts +4 -42
  30. package/dist/src/cli-core.js +958 -28684
  31. package/dist/src/cli-core.js.map +1 -1
  32. package/dist/src/cli-runtime-context.d.ts +57 -0
  33. package/dist/src/cli-runtime-context.js +118 -0
  34. package/dist/src/cli-runtime-context.js.map +1 -0
  35. package/dist/src/codex-lifecycle-compatibility.js +2 -1
  36. package/dist/src/codex-lifecycle-compatibility.js.map +1 -1
  37. package/dist/src/codex-local-session-provider.d.ts +18 -0
  38. package/dist/src/codex-local-session-provider.js +67 -0
  39. package/dist/src/codex-local-session-provider.js.map +1 -1
  40. package/dist/src/codex-session-provider.js +1 -3
  41. package/dist/src/codex-session-provider.js.map +1 -1
  42. package/dist/src/conversation-trace.d.ts +30 -0
  43. package/dist/src/conversation-trace.js +185 -0
  44. package/dist/src/conversation-trace.js.map +1 -0
  45. package/dist/src/deferred-foreground-application-service.d.ts +84 -0
  46. package/dist/src/deferred-foreground-application-service.js +742 -0
  47. package/dist/src/deferred-foreground-application-service.js.map +1 -0
  48. package/dist/src/deferred-foreground-authority-cli-adapter.d.ts +78 -0
  49. package/dist/src/deferred-foreground-authority-cli-adapter.js +795 -0
  50. package/dist/src/deferred-foreground-authority-cli-adapter.js.map +1 -0
  51. package/dist/src/deferred-foreground-boundary.d.ts +61 -0
  52. package/dist/src/deferred-foreground-boundary.js +2 -0
  53. package/dist/src/deferred-foreground-boundary.js.map +1 -0
  54. package/dist/src/deferred-foreground-capability.d.ts +4 -0
  55. package/dist/src/deferred-foreground-capability.js +184 -0
  56. package/dist/src/deferred-foreground-capability.js.map +1 -0
  57. package/dist/src/deferred-foreground-preparation-cli-adapter.d.ts +53 -0
  58. package/dist/src/deferred-foreground-preparation-cli-adapter.js +210 -0
  59. package/dist/src/deferred-foreground-preparation-cli-adapter.js.map +1 -0
  60. package/dist/src/deferred-foreground-preparation-service.d.ts +72 -0
  61. package/dist/src/deferred-foreground-preparation-service.js +179 -0
  62. package/dist/src/deferred-foreground-preparation-service.js.map +1 -0
  63. package/dist/src/deferred-foreground-recovery-cli-adapter.d.ts +139 -0
  64. package/dist/src/deferred-foreground-recovery-cli-adapter.js +1125 -0
  65. package/dist/src/deferred-foreground-recovery-cli-adapter.js.map +1 -0
  66. package/dist/src/deferred-foreground-recovery-service.d.ts +48 -0
  67. package/dist/src/deferred-foreground-recovery-service.js +91 -0
  68. package/dist/src/deferred-foreground-recovery-service.js.map +1 -0
  69. package/dist/src/deferred-foreground-transfer-policy.d.ts +2 -0
  70. package/dist/src/deferred-foreground-transfer-policy.js +10 -0
  71. package/dist/src/deferred-foreground-transfer-policy.js.map +1 -0
  72. package/dist/src/deferred-foreground-transfer.js +46 -105
  73. package/dist/src/deferred-foreground-transfer.js.map +1 -1
  74. package/dist/src/doctor-capabilities.d.ts +9 -0
  75. package/dist/src/doctor-capabilities.js +22 -0
  76. package/dist/src/doctor-capabilities.js.map +1 -1
  77. package/dist/src/durable-json-file.d.ts +22 -0
  78. package/dist/src/durable-json-file.js +127 -0
  79. package/dist/src/durable-json-file.js.map +1 -0
  80. package/dist/src/file-lock-cli-adapter.d.ts +43 -0
  81. package/dist/src/file-lock-cli-adapter.js +150 -0
  82. package/dist/src/file-lock-cli-adapter.js.map +1 -0
  83. package/dist/src/herdr-terminal-control-provider.js +1 -3
  84. package/dist/src/herdr-terminal-control-provider.js.map +1 -1
  85. package/dist/src/install-doctor-command-adapter.d.ts +17 -0
  86. package/dist/src/install-doctor-command-adapter.js +225 -0
  87. package/dist/src/install-doctor-command-adapter.js.map +1 -0
  88. package/dist/src/live-lifecycle-evidence.js +76 -46
  89. package/dist/src/live-lifecycle-evidence.js.map +1 -1
  90. package/dist/src/live-lifecycle-smoke.js +74 -50
  91. package/dist/src/live-lifecycle-smoke.js.map +1 -1
  92. package/dist/src/managed-session.d.ts +2 -0
  93. package/dist/src/managed-session.js +24 -0
  94. package/dist/src/managed-session.js.map +1 -1
  95. package/dist/src/managed-turn-recovery-service.d.ts +86 -0
  96. package/dist/src/managed-turn-recovery-service.js +145 -0
  97. package/dist/src/managed-turn-recovery-service.js.map +1 -0
  98. package/dist/src/mutation-transaction.d.ts +48 -0
  99. package/dist/src/mutation-transaction.js +73 -0
  100. package/dist/src/mutation-transaction.js.map +1 -0
  101. package/dist/src/native-thread-lifecycle-cli-adapter.d.ts +154 -0
  102. package/dist/src/native-thread-lifecycle-cli-adapter.js +786 -0
  103. package/dist/src/native-thread-lifecycle-cli-adapter.js.map +1 -0
  104. package/dist/src/native-thread-lifecycle-ledger-cli-adapter.d.ts +25 -0
  105. package/dist/src/native-thread-lifecycle-ledger-cli-adapter.js +50 -0
  106. package/dist/src/native-thread-lifecycle-ledger-cli-adapter.js.map +1 -0
  107. package/dist/src/native-thread-lifecycle-query-service.d.ts +75 -0
  108. package/dist/src/native-thread-lifecycle-query-service.js +297 -0
  109. package/dist/src/native-thread-lifecycle-query-service.js.map +1 -0
  110. package/dist/src/native-thread-lifecycle-recovery-adapter.d.ts +45 -0
  111. package/dist/src/native-thread-lifecycle-recovery-adapter.js +154 -0
  112. package/dist/src/native-thread-lifecycle-recovery-adapter.js.map +1 -0
  113. package/dist/src/native-thread-lifecycle-recovery-service.d.ts +211 -0
  114. package/dist/src/native-thread-lifecycle-recovery-service.js +1093 -0
  115. package/dist/src/native-thread-lifecycle-recovery-service.js.map +1 -0
  116. package/dist/src/native-thread-resume-snapshot-policy.d.ts +73 -0
  117. package/dist/src/native-thread-resume-snapshot-policy.js +218 -0
  118. package/dist/src/native-thread-resume-snapshot-policy.js.map +1 -0
  119. package/dist/src/native-thread-resume-snapshot.d.ts +3 -61
  120. package/dist/src/native-thread-resume-snapshot.js +2 -143
  121. package/dist/src/native-thread-resume-snapshot.js.map +1 -1
  122. package/dist/src/native-thread-transition-application.d.ts +147 -0
  123. package/dist/src/native-thread-transition-application.js +974 -0
  124. package/dist/src/native-thread-transition-application.js.map +1 -0
  125. package/dist/src/native-thread-transition-policy.d.ts +127 -0
  126. package/dist/src/native-thread-transition-policy.js +154 -0
  127. package/dist/src/native-thread-transition-policy.js.map +1 -0
  128. package/dist/src/native-thread-transition-resource-adapter.d.ts +12 -0
  129. package/dist/src/native-thread-transition-resource-adapter.js +44 -0
  130. package/dist/src/native-thread-transition-resource-adapter.js.map +1 -0
  131. package/dist/src/native-thread-transition-settlement-service.d.ts +94 -0
  132. package/dist/src/native-thread-transition-settlement-service.js +134 -0
  133. package/dist/src/native-thread-transition-settlement-service.js.map +1 -0
  134. package/dist/src/native-thread-transition-verification-adapter.d.ts +62 -0
  135. package/dist/src/native-thread-transition-verification-adapter.js +451 -0
  136. package/dist/src/native-thread-transition-verification-adapter.js.map +1 -0
  137. package/dist/src/openclaw-callback-transport.d.ts +69 -0
  138. package/dist/src/openclaw-callback-transport.js +583 -0
  139. package/dist/src/openclaw-callback-transport.js.map +1 -0
  140. package/dist/src/openclaw-plugin-callback-adapter.d.ts +1 -0
  141. package/dist/src/openclaw-plugin-callback-adapter.js +423 -0
  142. package/dist/src/openclaw-plugin-callback-adapter.js.map +1 -0
  143. package/dist/src/openclaw-plugin-command-adapter.d.ts +16 -0
  144. package/dist/src/openclaw-plugin-command-adapter.js +1868 -0
  145. package/dist/src/openclaw-plugin-command-adapter.js.map +1 -0
  146. package/dist/src/openclaw-plugin-helpers.d.ts +27 -4
  147. package/dist/src/openclaw-plugin-helpers.js +356 -81
  148. package/dist/src/openclaw-plugin-helpers.js.map +1 -1
  149. package/dist/src/openclaw-plugin-schemas.d.ts +358 -0
  150. package/dist/src/openclaw-plugin-schemas.js +366 -0
  151. package/dist/src/openclaw-plugin-schemas.js.map +1 -0
  152. package/dist/src/openclaw-plugin-supervisor.d.ts +6 -0
  153. package/dist/src/openclaw-plugin-supervisor.js +123 -0
  154. package/dist/src/openclaw-plugin-supervisor.js.map +1 -0
  155. package/dist/src/openclaw-plugin.js +7 -2212
  156. package/dist/src/openclaw-plugin.js.map +1 -1
  157. package/dist/src/openclaw-private-authority-offers.d.ts +22 -0
  158. package/dist/src/openclaw-private-authority-offers.js +177 -0
  159. package/dist/src/openclaw-private-authority-offers.js.map +1 -0
  160. package/dist/src/protocol.d.ts +5 -0
  161. package/dist/src/protocol.js +59 -3
  162. package/dist/src/protocol.js.map +1 -1
  163. package/dist/src/session-store.d.ts +1 -0
  164. package/dist/src/session-store.js +84 -106
  165. package/dist/src/session-store.js.map +1 -1
  166. package/dist/src/store.d.ts +1 -0
  167. package/dist/src/store.js +5 -2
  168. package/dist/src/store.js.map +1 -1
  169. package/dist/src/terminal-acceptance-application-service.d.ts +65 -0
  170. package/dist/src/terminal-acceptance-application-service.js +63 -0
  171. package/dist/src/terminal-acceptance-application-service.js.map +1 -0
  172. package/dist/src/terminal-acceptance-cli-adapter.d.ts +210 -0
  173. package/dist/src/terminal-acceptance-cli-adapter.js +957 -0
  174. package/dist/src/terminal-acceptance-cli-adapter.js.map +1 -0
  175. package/dist/src/terminal-action-projection.d.ts +309 -0
  176. package/dist/src/terminal-action-projection.js +376 -0
  177. package/dist/src/terminal-action-projection.js.map +1 -0
  178. package/dist/src/terminal-agent-bridge.d.ts +3 -0
  179. package/dist/src/terminal-agent-bridge.js +29 -8
  180. package/dist/src/terminal-agent-bridge.js.map +1 -1
  181. package/dist/src/terminal-authority-policy.d.ts +141 -0
  182. package/dist/src/terminal-authority-policy.js +367 -0
  183. package/dist/src/terminal-authority-policy.js.map +1 -0
  184. package/dist/src/terminal-binding-authority.d.ts +118 -0
  185. package/dist/src/terminal-binding-authority.js +245 -0
  186. package/dist/src/terminal-binding-authority.js.map +1 -0
  187. package/dist/src/terminal-binding-reconciliation-service.d.ts +75 -0
  188. package/dist/src/terminal-binding-reconciliation-service.js +73 -0
  189. package/dist/src/terminal-binding-reconciliation-service.js.map +1 -0
  190. package/dist/src/terminal-command-cli-adapter.d.ts +380 -0
  191. package/dist/src/terminal-command-cli-adapter.js +3288 -0
  192. package/dist/src/terminal-command-cli-adapter.js.map +1 -0
  193. package/dist/src/terminal-control-ref.d.ts +4 -0
  194. package/dist/src/terminal-control-ref.js +11 -8
  195. package/dist/src/terminal-control-ref.js.map +1 -1
  196. package/dist/src/terminal-delegate-cli-adapter.d.ts +41 -0
  197. package/dist/src/terminal-delegate-cli-adapter.js +242 -0
  198. package/dist/src/terminal-delegate-cli-adapter.js.map +1 -0
  199. package/dist/src/terminal-dispatch-abort.d.ts +22 -0
  200. package/dist/src/terminal-dispatch-abort.js +30 -0
  201. package/dist/src/terminal-dispatch-abort.js.map +1 -0
  202. package/dist/src/terminal-dispatch-application.d.ts +115 -0
  203. package/dist/src/terminal-dispatch-application.js +478 -0
  204. package/dist/src/terminal-dispatch-application.js.map +1 -0
  205. package/dist/src/terminal-dispatch-capability.d.ts +63 -0
  206. package/dist/src/terminal-dispatch-capability.js +133 -0
  207. package/dist/src/terminal-dispatch-capability.js.map +1 -0
  208. package/dist/src/terminal-dispatch-completion-cli-adapter.d.ts +22 -0
  209. package/dist/src/terminal-dispatch-completion-cli-adapter.js +96 -0
  210. package/dist/src/terminal-dispatch-completion-cli-adapter.js.map +1 -0
  211. package/dist/src/terminal-dispatch-composition.d.ts +79 -0
  212. package/dist/src/terminal-dispatch-composition.js +2 -0
  213. package/dist/src/terminal-dispatch-composition.js.map +1 -0
  214. package/dist/src/terminal-dispatch-execution.d.ts +290 -0
  215. package/dist/src/terminal-dispatch-execution.js +916 -0
  216. package/dist/src/terminal-dispatch-execution.js.map +1 -0
  217. package/dist/src/terminal-dispatch-ledger-codec.d.ts +110 -0
  218. package/dist/src/terminal-dispatch-ledger-codec.js +399 -0
  219. package/dist/src/terminal-dispatch-ledger-codec.js.map +1 -0
  220. package/dist/src/terminal-dispatch-policy.d.ts +93 -0
  221. package/dist/src/terminal-dispatch-policy.js +122 -0
  222. package/dist/src/terminal-dispatch-policy.js.map +1 -0
  223. package/dist/src/terminal-dispatch-presenter.d.ts +65 -0
  224. package/dist/src/terminal-dispatch-presenter.js +258 -0
  225. package/dist/src/terminal-dispatch-presenter.js.map +1 -0
  226. package/dist/src/terminal-dispatch-receipt.d.ts +79 -0
  227. package/dist/src/terminal-dispatch-receipt.js +314 -0
  228. package/dist/src/terminal-dispatch-receipt.js.map +1 -0
  229. package/dist/src/terminal-dispatch-recovery-cli-adapter.d.ts +132 -0
  230. package/dist/src/terminal-dispatch-recovery-cli-adapter.js +1330 -0
  231. package/dist/src/terminal-dispatch-recovery-cli-adapter.js.map +1 -0
  232. package/dist/src/terminal-dispatch-recovery-service.d.ts +271 -0
  233. package/dist/src/terminal-dispatch-recovery-service.js +374 -0
  234. package/dist/src/terminal-dispatch-recovery-service.js.map +1 -0
  235. package/dist/src/terminal-dispatch-repository-cli-adapter.d.ts +35 -0
  236. package/dist/src/terminal-dispatch-repository-cli-adapter.js +483 -0
  237. package/dist/src/terminal-dispatch-repository-cli-adapter.js.map +1 -0
  238. package/dist/src/terminal-handoff-application-service.d.ts +7 -0
  239. package/dist/src/terminal-handoff-application-service.js +18 -0
  240. package/dist/src/terminal-handoff-application-service.js.map +1 -0
  241. package/dist/src/terminal-handoff-cli-adapter.d.ts +229 -0
  242. package/dist/src/terminal-handoff-cli-adapter.js +1389 -0
  243. package/dist/src/terminal-handoff-cli-adapter.js.map +1 -0
  244. package/dist/src/terminal-handoff-facts.d.ts +12 -0
  245. package/dist/src/terminal-handoff-facts.js +16 -0
  246. package/dist/src/terminal-handoff-facts.js.map +1 -0
  247. package/dist/src/terminal-identity-authority-cli-adapter.d.ts +318 -0
  248. package/dist/src/terminal-identity-authority-cli-adapter.js +1072 -0
  249. package/dist/src/terminal-identity-authority-cli-adapter.js.map +1 -0
  250. package/dist/src/terminal-identity-authority-service.d.ts +48 -0
  251. package/dist/src/terminal-identity-authority-service.js +45 -0
  252. package/dist/src/terminal-identity-authority-service.js.map +1 -0
  253. package/dist/src/terminal-list-cli-adapter.d.ts +274 -0
  254. package/dist/src/terminal-list-cli-adapter.js +2444 -0
  255. package/dist/src/terminal-list-cli-adapter.js.map +1 -0
  256. package/dist/src/terminal-list-renderer.d.ts +34 -0
  257. package/dist/src/terminal-list-renderer.js +643 -0
  258. package/dist/src/terminal-list-renderer.js.map +1 -0
  259. package/dist/src/terminal-maintenance-cli-adapter.d.ts +102 -0
  260. package/dist/src/terminal-maintenance-cli-adapter.js +1059 -0
  261. package/dist/src/terminal-maintenance-cli-adapter.js.map +1 -0
  262. package/dist/src/terminal-monitor-application-service.d.ts +275 -0
  263. package/dist/src/terminal-monitor-application-service.js +982 -0
  264. package/dist/src/terminal-monitor-application-service.js.map +1 -0
  265. package/dist/src/terminal-monitor-cli-adapter.d.ts +130 -0
  266. package/dist/src/terminal-monitor-cli-adapter.js +442 -0
  267. package/dist/src/terminal-monitor-cli-adapter.js.map +1 -0
  268. package/dist/src/terminal-monitor-decision-policy.d.ts +98 -0
  269. package/dist/src/terminal-monitor-decision-policy.js +246 -0
  270. package/dist/src/terminal-monitor-decision-policy.js.map +1 -0
  271. package/dist/src/terminal-monitor-launch-plan.d.ts +45 -0
  272. package/dist/src/terminal-monitor-launch-plan.js +94 -0
  273. package/dist/src/terminal-monitor-launch-plan.js.map +1 -0
  274. package/dist/src/terminal-monitor-ownership-policy.d.ts +31 -0
  275. package/dist/src/terminal-monitor-ownership-policy.js +64 -0
  276. package/dist/src/terminal-monitor-ownership-policy.js.map +1 -0
  277. package/dist/src/terminal-monitor-poll-policy.d.ts +48 -0
  278. package/dist/src/terminal-monitor-poll-policy.js +67 -0
  279. package/dist/src/terminal-monitor-poll-policy.js.map +1 -0
  280. package/dist/src/terminal-monitor-reconciliation-eligibility.d.ts +53 -0
  281. package/dist/src/terminal-monitor-reconciliation-eligibility.js +114 -0
  282. package/dist/src/terminal-monitor-reconciliation-eligibility.js.map +1 -0
  283. package/dist/src/terminal-monitor-state-cli-adapter.d.ts +106 -0
  284. package/dist/src/terminal-monitor-state-cli-adapter.js +1492 -0
  285. package/dist/src/terminal-monitor-state-cli-adapter.js.map +1 -0
  286. package/dist/src/terminal-monitor-state-reconciliation-service.d.ts +87 -0
  287. package/dist/src/terminal-monitor-state-reconciliation-service.js +106 -0
  288. package/dist/src/terminal-monitor-state-reconciliation-service.js.map +1 -0
  289. package/dist/src/terminal-monitor-supervision-cli-adapter.d.ts +122 -0
  290. package/dist/src/terminal-monitor-supervision-cli-adapter.js +685 -0
  291. package/dist/src/terminal-monitor-supervision-cli-adapter.js.map +1 -0
  292. package/dist/src/terminal-process-facts.d.ts +2 -0
  293. package/dist/src/terminal-process-facts.js +19 -0
  294. package/dist/src/terminal-process-facts.js.map +1 -0
  295. package/dist/src/terminal-process-source.d.ts +6 -4
  296. package/dist/src/terminal-process-source.js +25 -20
  297. package/dist/src/terminal-process-source.js.map +1 -1
  298. package/dist/src/terminal-runtime-cli-adapter.d.ts +80 -0
  299. package/dist/src/terminal-runtime-cli-adapter.js +488 -0
  300. package/dist/src/terminal-runtime-cli-adapter.js.map +1 -0
  301. package/dist/src/terminal-scoped-approval-authority.d.ts +62 -0
  302. package/dist/src/terminal-scoped-approval-authority.js +281 -0
  303. package/dist/src/terminal-scoped-approval-authority.js.map +1 -0
  304. package/dist/src/terminal-selector-projection-service.d.ts +26 -0
  305. package/dist/src/terminal-selector-projection-service.js +81 -0
  306. package/dist/src/terminal-selector-projection-service.js.map +1 -0
  307. package/dist/src/terminal-status-cli-adapter.d.ts +126 -0
  308. package/dist/src/terminal-status-cli-adapter.js +577 -0
  309. package/dist/src/terminal-status-cli-adapter.js.map +1 -0
  310. package/dist/src/terminal-status-facts.d.ts +56 -0
  311. package/dist/src/terminal-status-facts.js +199 -0
  312. package/dist/src/terminal-status-facts.js.map +1 -0
  313. package/dist/src/terminal-submission-acceptance.d.ts +62 -145
  314. package/dist/src/terminal-submission-acceptance.js +555 -222
  315. package/dist/src/terminal-submission-acceptance.js.map +1 -1
  316. package/dist/src/terminal-submission-facts.d.ts +123 -0
  317. package/dist/src/terminal-submission-facts.js +205 -0
  318. package/dist/src/terminal-submission-facts.js.map +1 -0
  319. package/dist/src/terminal-turn-binding-authority-cli-adapter.d.ts +14 -0
  320. package/dist/src/terminal-turn-binding-authority-cli-adapter.js +90 -0
  321. package/dist/src/terminal-turn-binding-authority-cli-adapter.js.map +1 -0
  322. package/dist/src/terminal-watch-callback-cli-adapter.d.ts +20 -0
  323. package/dist/src/terminal-watch-callback-cli-adapter.js +55 -0
  324. package/dist/src/terminal-watch-callback-cli-adapter.js.map +1 -0
  325. package/dist/src/terminal-watch-cli-adapter.d.ts +64 -0
  326. package/dist/src/terminal-watch-cli-adapter.js +508 -0
  327. package/dist/src/terminal-watch-cli-adapter.js.map +1 -0
  328. package/dist/src/terminal-watch-service.d.ts +97 -0
  329. package/dist/src/terminal-watch-service.js +714 -0
  330. package/dist/src/terminal-watch-service.js.map +1 -0
  331. package/dist/src/terminal-watch-store.d.ts +149 -0
  332. package/dist/src/terminal-watch-store.js +861 -0
  333. package/dist/src/terminal-watch-store.js.map +1 -0
  334. package/dist/src/value-guards.d.ts +4 -0
  335. package/dist/src/value-guards.js +12 -0
  336. package/dist/src/value-guards.js.map +1 -0
  337. package/dist/src/verified-dead-agent-policy.d.ts +192 -0
  338. package/dist/src/verified-dead-agent-policy.js +262 -0
  339. package/dist/src/verified-dead-agent-policy.js.map +1 -0
  340. package/docs/quickstart-herdr.md +8 -0
  341. package/docs/quickstart-tmux.md +33 -6
  342. package/openclaw.plugin.json +11 -3
  343. package/package.json +3 -1
  344. package/templates/openclaw-skills/agent-knock-knock/SKILL.md +58 -40
@@ -0,0 +1,508 @@
1
+ import { createHash } from "node:crypto";
2
+ import path from "node:path";
3
+ import { captureClaudeHumanStartedActiveTaskAnchor, observeClaudeHumanStartedActiveTask } from "./claude-local-transcript-provider.js";
4
+ import { turnIdForConversation } from "./protocol.js";
5
+ import { decideTerminalWatchExternalTaskAuthority } from "./terminal-action-projection.js";
6
+ import { exactTerminalWatchAction } from "./terminal-list-renderer.js";
7
+ import { captureCodexHumanStartedActiveTaskAnchor, observeCodexHumanStartedActiveTask } from "./terminal-submission-acceptance.js";
8
+ import { sameTerminalControlEvidenceIncarnation, terminalControlEvidence } from "./terminal-control-ref.js";
9
+ import { createTerminalWatchCallbackCliAdapter } from "./terminal-watch-callback-cli-adapter.js";
10
+ import { createTerminalWatchService, terminalWatchObservationFence } from "./terminal-watch-service.js";
11
+ import { createTerminalWatchStore, terminalWatchIdentityFingerprint } from "./terminal-watch-store.js";
12
+ import { isRecord, nonBlankString as stringValue } from "./value-guards.js";
13
+ const DEFAULT_TERMINAL_WATCH_HARD_TIMEOUT_MINUTES = 720;
14
+ export function createTerminalWatchCliAdapter(dependencies) {
15
+ const callback = dependencies.callback ??
16
+ createTerminalWatchCallbackCliAdapter();
17
+ function serviceFor(options) {
18
+ const repository = createTerminalWatchStore(dependencies.storeDirFromOptions(options), { acquire: dependencies.acquireFileLock });
19
+ return createTerminalWatchService({
20
+ repository,
21
+ now: dependencies.now,
22
+ randomUUID: dependencies.randomUUID,
23
+ observe: (watch) => observeTerminalWatch(watch, options, dependencies),
24
+ deliver: async ({ watch, notification }) => {
25
+ callback.deliver({
26
+ watchId: watch.watch_id,
27
+ idempotencyKey: notification.idempotency_key,
28
+ event: callbackEvent(notification),
29
+ agent: watch.agent,
30
+ terminalId: watch.terminal.terminal_id,
31
+ openclawSession: watch.openclaw_session,
32
+ openclawBin: watch.openclaw_bin,
33
+ detail: notification.reason_code ?? watch.settlement?.reason_code,
34
+ completionText: notification.kind === "completed" || notification.kind === "failed"
35
+ ? watch.settlement?.completion_text
36
+ : undefined
37
+ });
38
+ }
39
+ });
40
+ }
41
+ async function runWatch(options) {
42
+ const terminalId = requiredString(options.terminal, "--terminal");
43
+ const openclawSession = requiredString(options.openclawSession, "--openclaw-session");
44
+ const storeDir = dependencies.storeDirFromOptions(options);
45
+ const initiallyObserved = await exactTerminalForWatch(terminalId, options, dependencies);
46
+ const initiallyObservedBindingToken = bindingTokenForWatch(initiallyObserved.rawTerminal);
47
+ const initialTerminalControl = terminalControlForWatch(initiallyObserved.rawTerminal);
48
+ const releaseTerminal = dependencies.acquireTerminalLock(storeDir, initialTerminalControl);
49
+ let watch;
50
+ try {
51
+ const observed = await exactTerminalForWatch(terminalId, options, dependencies);
52
+ const rawTerminal = observed.rawTerminal;
53
+ const projectedTerminal = observed.terminal;
54
+ const expectedBindingToken = bindingTokenForWatch(rawTerminal);
55
+ const terminalControl = terminalControlForWatch(rawTerminal);
56
+ if (!sameTerminalControlEvidenceIncarnation(initialTerminalControl, terminalControl) || expectedBindingToken !== initiallyObservedBindingToken) {
57
+ throw new Error("terminal binding changed while AKK acquired authority; refresh " +
58
+ "AKK list and retry");
59
+ }
60
+ assertExternalTerminalWatchAuthority(storeDir, terminalControl, dependencies);
61
+ const watchService = serviceFor(options);
62
+ const existing = watchService.list().find((candidate) => candidate.status === "active" &&
63
+ candidate.terminal.terminal_id === terminalId);
64
+ if (existing) {
65
+ throw new Error(`terminal ${terminalId} is already monitored by Terminal Watch ` +
66
+ `${existing.watch_id}; use watch-status instead of creating another`);
67
+ }
68
+ assertExactPublicWatchAction(projectedTerminal, terminalId);
69
+ const agent = terminalAgent(rawTerminal);
70
+ const anchor = captureTerminalWatchAnchor(agent, rawTerminal, options, dependencies);
71
+ if (!anchor) {
72
+ throw new Error("the exact terminal has no unique supported human-started active task");
73
+ }
74
+ watch = watchService.create({
75
+ agent,
76
+ terminal: terminalWatchIdentity(rawTerminal, expectedBindingToken),
77
+ anchor,
78
+ openclaw_session: openclawSession,
79
+ openclaw_bin: stringValue(options.openclawBin) ?? "openclaw",
80
+ timeout_ms: positiveMinutes(options.hardTimeoutMinutes, DEFAULT_TERMINAL_WATCH_HARD_TIMEOUT_MINUTES) * 60_000,
81
+ approval_fingerprint: approvalFingerprint(projectedTerminal),
82
+ approval_reason_code: approvalFingerprint(projectedTerminal)
83
+ ? "terminal_waiting_for_approval"
84
+ : undefined
85
+ });
86
+ }
87
+ finally {
88
+ releaseTerminal();
89
+ }
90
+ dependencies.printJson({ watch: publicTerminalWatch(watch) });
91
+ }
92
+ async function runUnwatch(options) {
93
+ const service = serviceFor(options);
94
+ const watch = service.cancel(requiredWatchId(options.watch));
95
+ dependencies.printJson({ watch: publicTerminalWatch(watch) });
96
+ }
97
+ function runWatchStatus(options) {
98
+ const watch = serviceFor(options).get(requiredWatchId(options.watch));
99
+ dependencies.printJson({ watch: publicTerminalWatch(watch) });
100
+ }
101
+ async function runReconcileWatches(options) {
102
+ dependencies.printJson(await serviceFor(options).reconcileAll());
103
+ }
104
+ function listPublicWatches(storeDir, options = {}) {
105
+ const service = serviceFor({ storeDir });
106
+ return publicTerminalWatches(service.list(), options);
107
+ }
108
+ function scanPublicWatchesForExactObservation(storeDir, options = {}) {
109
+ const repository = createTerminalWatchStore(storeDir, {
110
+ acquire: dependencies.acquireFileLock
111
+ });
112
+ const scan = repository.scanForReconciliation();
113
+ return {
114
+ watches: publicTerminalWatches(scan.watches, options),
115
+ activeOverlayTrusted: scan.errors.length === 0
116
+ };
117
+ }
118
+ function publicTerminalWatches(watches, options) {
119
+ return watches
120
+ .filter((watch) => options.includeAll || watch.status === "active")
121
+ .map(publicTerminalWatch);
122
+ }
123
+ return Object.freeze({
124
+ runWatch,
125
+ runUnwatch,
126
+ runWatchStatus,
127
+ runReconcileWatches,
128
+ listPublicWatches,
129
+ scanPublicWatchesForExactObservation
130
+ });
131
+ }
132
+ async function exactTerminalForWatch(terminalId, options, dependencies) {
133
+ const observation = await dependencies.observeExactTerminal({
134
+ options,
135
+ terminalId
136
+ });
137
+ if (observation.state === "unavailable") {
138
+ throw new Error("authoritative observation of the exact terminal is temporarily " +
139
+ "unavailable; retry after refreshing AKK list");
140
+ }
141
+ if (observation.state === "absent") {
142
+ throw new Error(`expected exact terminal ${terminalId}; observed none`);
143
+ }
144
+ return observation;
145
+ }
146
+ function bindingTokenForWatch(terminal) {
147
+ return requiredSha256(terminal.lifecycle_binding_token, "current terminal binding token");
148
+ }
149
+ function assertExactPublicWatchAction(terminal, terminalId) {
150
+ if (!exactTerminalWatchAction(terminal, terminalId)) {
151
+ throw new Error("the exact terminal is not currently watchable; refresh AKK list and " +
152
+ "use only its current available_actions.watch");
153
+ }
154
+ }
155
+ function terminalControlForWatch(terminal) {
156
+ if (!isRecord(terminal.terminal_control)) {
157
+ throw new Error("the exact terminal has no terminal control authority");
158
+ }
159
+ return terminal.terminal_control;
160
+ }
161
+ function assertExternalTerminalWatchAuthority(storeDir, terminalControl, dependencies) {
162
+ const blockingTurn = dependencies.terminalIncarnationBlockingTurns(storeDir, terminalControl)[0];
163
+ const authority = decideTerminalWatchExternalTaskAuthority({
164
+ blockingTurn,
165
+ dispatchOwnership: blockingTurn
166
+ ? { state: "none" }
167
+ : dependencies.terminalDispatchOwnership(terminalControl)
168
+ });
169
+ if (authority.state === "external_task") {
170
+ return;
171
+ }
172
+ if (authority.state === "managed_turn") {
173
+ const turn = authority.conversation;
174
+ throw new Error(`Terminal Watch is unavailable: this task already belongs to AKK Turn ` +
175
+ `${turnIdForConversation(turn)} (${turn.status}) and is covered by the ` +
176
+ "managed Turn monitor/callback path. Use AKK status for that Turn.");
177
+ }
178
+ const reason = stringValue(authority.conflict.reason) ??
179
+ "terminal dispatch ownership is conflicted";
180
+ throw new Error(`Terminal Watch is unavailable because AKK cannot prove this is external ` +
181
+ `work: ${reason}. Refresh AKK list and resolve the ownership conflict.`);
182
+ }
183
+ function captureTerminalWatchAnchor(agent, terminal, options, dependencies) {
184
+ if (agent === "codex") {
185
+ return captureCodexHumanStartedActiveTaskAnchor({
186
+ currentIdentity: codexIdentity(terminal),
187
+ now: dependencies.now()
188
+ });
189
+ }
190
+ return captureClaudeHumanStartedActiveTaskAnchor({
191
+ sessionId: requiredString(terminal.native_agent_session_id, "Claude native session id"),
192
+ cwd: terminalWorkspace(terminal),
193
+ pid: positiveInteger(terminal.pid, "Claude PID"),
194
+ claudeHome: stringValue(options.claudeHome),
195
+ agentRows: dependencies.loadClaudeAgentRows(options, { required: true }),
196
+ now: dependencies.now()
197
+ });
198
+ }
199
+ async function observeTerminalWatch(watch, options, dependencies) {
200
+ const observedAt = dependencies.now().toISOString();
201
+ const fence = terminalWatchObservationFence(watch);
202
+ const exactTerminal = await currentTerminalForWatch(watch, options, dependencies);
203
+ const rawTerminal = exactTerminal.state === "available"
204
+ ? exactTerminal.rawTerminal
205
+ : undefined;
206
+ const projectedTerminal = exactTerminal.state === "available"
207
+ ? exactTerminal.terminal
208
+ : undefined;
209
+ const terminalMatches = rawTerminal
210
+ ? terminalMatchesWatch(rawTerminal, watch)
211
+ : false;
212
+ const observation = watch.anchor.schema ===
213
+ "agent-knock-knock/codex-human-started-active-task-anchor"
214
+ ? observeCodexHumanStartedActiveTask({
215
+ anchor: watch.anchor,
216
+ currentIdentity: rawTerminal
217
+ ? codexIdentity(rawTerminal)
218
+ : codexIdentityForWatch(watch),
219
+ resumeOffsetBytes: watch.observation_checkpoint.safe_resume_offset_bytes
220
+ })
221
+ : observeClaudeHumanStartedActiveTask({
222
+ anchor: watch.anchor,
223
+ claudeHome: stringValue(options.claudeHome),
224
+ agentRows: dependencies.loadClaudeAgentRows(options, { required: true }),
225
+ resumeOffsetBytes: watch.observation_checkpoint.safe_resume_offset_bytes,
226
+ checkpoint: claudeObservationCheckpoint(watch)
227
+ });
228
+ if (observation.status === "invalidated") {
229
+ return invalidatedObservation(watch, observedAt, "task_anchor_invalidated");
230
+ }
231
+ if (observation.status === "completed") {
232
+ const completion = observation.completion;
233
+ const kind = completion.outcome === "failure" ? "failed" : "completed";
234
+ return {
235
+ ...fence,
236
+ kind,
237
+ observed_at: observedAt,
238
+ evidence_fingerprint: sha256({
239
+ kind,
240
+ watch_id: watch.watch_id,
241
+ completion_id: completion.id ?? null,
242
+ completion_timestamp: completion.timestamp ?? null,
243
+ anchor_fingerprint: watch.anchor.anchor_fingerprint
244
+ }),
245
+ reason_code: completion.outcome === "failure"
246
+ ? "anchored_task_failed"
247
+ : "anchored_task_completed",
248
+ completion_text: completion.text.slice(0, 4000),
249
+ completion_id: completion.id,
250
+ completion_timestamp: completion.timestamp
251
+ };
252
+ }
253
+ if (observation.status === "unavailable") {
254
+ return {
255
+ ...fence,
256
+ kind: "unavailable",
257
+ observed_at: observedAt,
258
+ reason_code: "provider_observation_unavailable"
259
+ };
260
+ }
261
+ const safeResumeOffsetBytes = observation.safeResumeOffsetBytes;
262
+ const observationCheckpoint = "checkpoint" in observation
263
+ ? observation.checkpoint
264
+ : undefined;
265
+ if (exactTerminal.state === "unavailable") {
266
+ return {
267
+ ...fence,
268
+ kind: "unavailable",
269
+ observed_at: observedAt,
270
+ safe_resume_offset_bytes: safeResumeOffsetBytes,
271
+ observation_checkpoint: observationCheckpoint,
272
+ reason_code: "terminal_observation_unavailable"
273
+ };
274
+ }
275
+ if (rawTerminal && !terminalMatches) {
276
+ return invalidatedObservation(watch, observedAt, "terminal_identity_changed");
277
+ }
278
+ if (exactTerminal.state === "absent") {
279
+ return invalidatedObservation(watch, observedAt, "terminal_process_unavailable");
280
+ }
281
+ if (!projectedTerminal) {
282
+ throw new Error("exact terminal observation is inconsistent");
283
+ }
284
+ const approval = approvalFingerprint(projectedTerminal);
285
+ if (approval) {
286
+ return {
287
+ ...fence,
288
+ kind: "approval",
289
+ observed_at: observedAt,
290
+ last_activity_at: observedAt,
291
+ safe_resume_offset_bytes: safeResumeOffsetBytes,
292
+ observation_checkpoint: observationCheckpoint,
293
+ evidence_fingerprint: approval,
294
+ reason_code: "terminal_waiting_for_approval"
295
+ };
296
+ }
297
+ return {
298
+ ...fence,
299
+ kind: "pending",
300
+ observed_at: observedAt,
301
+ safe_resume_offset_bytes: safeResumeOffsetBytes,
302
+ observation_checkpoint: observationCheckpoint
303
+ };
304
+ }
305
+ function claudeObservationCheckpoint(watch) {
306
+ const checkpoint = watch.observation_checkpoint;
307
+ if (!("schema" in checkpoint) ||
308
+ checkpoint.schema !==
309
+ "agent-knock-knock/claude-human-started-active-task-checkpoint") {
310
+ throw new Error("Claude terminal Watch has no continuation checkpoint");
311
+ }
312
+ return checkpoint;
313
+ }
314
+ async function currentTerminalForWatch(watch, options, dependencies) {
315
+ return dependencies.observeExactTerminal({
316
+ options,
317
+ terminalId: watch.terminal.terminal_id
318
+ });
319
+ }
320
+ function terminalMatchesWatch(terminal, watch) {
321
+ try {
322
+ const agent = terminalAgent(terminal);
323
+ const current = terminalWatchIdentity(terminal, bindingTokenForWatch(terminal));
324
+ return agent === watch.agent &&
325
+ terminalWatchIdentityFingerprint({
326
+ agent,
327
+ terminal: current,
328
+ anchor: watch.anchor
329
+ }) === terminalWatchIdentityFingerprint(watch) &&
330
+ sameTerminalControlEvidenceIncarnation(current.terminal_endpoint, watch.terminal.terminal_endpoint);
331
+ }
332
+ catch {
333
+ return false;
334
+ }
335
+ }
336
+ function terminalWatchIdentity(terminal, bindingToken) {
337
+ const terminalControl = terminal.terminal_control;
338
+ return {
339
+ terminal_id: requiredString(terminal.id, "terminal id"),
340
+ terminal_endpoint: terminalControlEvidence(terminalControl),
341
+ workspace: terminalWorkspace(terminal),
342
+ binding_token: bindingToken
343
+ };
344
+ }
345
+ function codexIdentity(terminal) {
346
+ if (!isRecord(terminal.native_agent_rollout)) {
347
+ throw new Error("Codex terminal has no exact rollout identity");
348
+ }
349
+ return {
350
+ sessionId: requiredString(terminal.native_agent_session_id, "Codex native thread id"),
351
+ processUuid: requiredString(terminal.native_agent_process_uuid, "Codex process UUID"),
352
+ processBirth: requiredString(terminal.native_agent_process_birth, "Codex process birth"),
353
+ rollout: {
354
+ fd: requiredString(terminal.native_agent_rollout.fd, "Codex rollout fd"),
355
+ device: requiredString(terminal.native_agent_rollout.device, "Codex rollout device"),
356
+ inode: requiredString(terminal.native_agent_rollout.inode, "Codex rollout inode"),
357
+ path: requiredString(terminal.native_agent_rollout.path, "Codex rollout path")
358
+ }
359
+ };
360
+ }
361
+ function codexIdentityForWatch(watch) {
362
+ if (watch.agent !== "codex" ||
363
+ watch.anchor.schema !==
364
+ "agent-knock-knock/codex-human-started-active-task-anchor") {
365
+ throw new Error("terminal Watch has no Codex identity");
366
+ }
367
+ return {
368
+ sessionId: watch.anchor.native_thread_id,
369
+ processUuid: watch.anchor.process_uuid,
370
+ processBirth: watch.anchor.process_birth,
371
+ rollout: watch.anchor.rollout
372
+ };
373
+ }
374
+ function publicTerminalWatch(watch) {
375
+ const pending = watch.notification_outbox.filter(({ status }) => status === "pending" || status === "delivering" || status === "failed").length;
376
+ return {
377
+ watch_id: watch.watch_id,
378
+ source: "human_started_terminal_watch",
379
+ agent: watch.agent,
380
+ terminal_id: watch.terminal.terminal_id,
381
+ native_thread_id: watch.anchor.schema ===
382
+ "agent-knock-knock/codex-human-started-active-task-anchor"
383
+ ? watch.anchor.native_thread_id
384
+ : watch.anchor.session_id,
385
+ workspace: watch.terminal.workspace,
386
+ status: watch.status,
387
+ activity_state: watch.status === "active" ? "watching" : "settled",
388
+ created_at: watch.created_at,
389
+ deadline_at: watch.deadline_at,
390
+ updated_at: watch.updated_at,
391
+ last_activity_at: watch.last_activity_at,
392
+ callback: {
393
+ pending,
394
+ delivered: watch.notification_outbox.filter(({ status }) => status === "delivered").length,
395
+ failed: watch.notification_outbox.filter(({ status }) => status === "failed").length,
396
+ superseded: watch.notification_outbox.filter(({ status }) => status === "superseded").length
397
+ },
398
+ ...(watch.settlement
399
+ ? {
400
+ settlement: {
401
+ kind: watch.settlement.kind,
402
+ observed_at: watch.settlement.observed_at,
403
+ reason_code: watch.settlement.reason_code,
404
+ completion_text: watch.settlement.completion_text,
405
+ completion_id: watch.settlement.completion_id,
406
+ completion_timestamp: watch.settlement.completion_timestamp
407
+ }
408
+ }
409
+ : {}),
410
+ available_actions: {
411
+ status: {
412
+ tool: "agent_knock_knock_status",
413
+ arguments: { watch_id: watch.watch_id }
414
+ },
415
+ ...(watch.status === "active"
416
+ ? {
417
+ unwatch: {
418
+ tool: "agent_knock_knock_unwatch",
419
+ arguments: { watch_id: watch.watch_id },
420
+ requires_user_intent: true
421
+ }
422
+ }
423
+ : {})
424
+ }
425
+ };
426
+ }
427
+ function callbackEvent(notification) {
428
+ return notification.kind === "approval"
429
+ ? "approval_required"
430
+ : notification.kind;
431
+ }
432
+ function approvalFingerprint(terminal) {
433
+ if (terminal.activity_state !== "awaiting_approval")
434
+ return undefined;
435
+ const approval = isRecord(terminal.approval_state)
436
+ ? terminal.approval_state
437
+ : undefined;
438
+ const fingerprint = stringValue(approval?.fingerprint);
439
+ return fingerprint && /^[a-f0-9]{64}$/u.test(fingerprint)
440
+ ? fingerprint
441
+ : undefined;
442
+ }
443
+ function invalidatedObservation(watch, observedAt, reasonCode) {
444
+ return {
445
+ ...terminalWatchObservationFence(watch),
446
+ kind: "invalidated",
447
+ observed_at: observedAt,
448
+ evidence_fingerprint: sha256({
449
+ watch_id: watch.watch_id,
450
+ reason_code: reasonCode,
451
+ anchor_fingerprint: watch.anchor.anchor_fingerprint
452
+ }),
453
+ reason_code: reasonCode
454
+ };
455
+ }
456
+ function terminalAgent(terminal) {
457
+ const agent = stringValue(terminal.agent);
458
+ if (agent !== "codex" && agent !== "claude") {
459
+ throw new Error("terminal Watch supports only Codex or Claude Code");
460
+ }
461
+ return agent;
462
+ }
463
+ function terminalWorkspace(terminal) {
464
+ const workspace = requiredString(terminal.workspace ?? terminal.cwd, "terminal workspace");
465
+ if (!path.isAbsolute(workspace)) {
466
+ throw new Error("terminal workspace must be absolute");
467
+ }
468
+ return path.resolve(workspace);
469
+ }
470
+ function requiredWatchId(value) {
471
+ const watchId = requiredString(value, "--watch");
472
+ if (!/^terminal-watch-[A-Za-z0-9._:-]+$/u.test(watchId)) {
473
+ throw new Error("--watch must be an exact Terminal Watch id");
474
+ }
475
+ return watchId;
476
+ }
477
+ function requiredString(value, label) {
478
+ const result = stringValue(value);
479
+ if (!result || result.includes("\0")) {
480
+ throw new Error(`${label} is required`);
481
+ }
482
+ return result;
483
+ }
484
+ function requiredSha256(value, label) {
485
+ const result = requiredString(value, label);
486
+ if (!/^[a-f0-9]{64}$/u.test(result)) {
487
+ throw new Error(`${label} must be exactly 64 lowercase ASCII hexadecimal characters`);
488
+ }
489
+ return result;
490
+ }
491
+ function positiveInteger(value, label) {
492
+ const result = Number(value);
493
+ if (!Number.isSafeInteger(result) || result <= 0) {
494
+ throw new Error(`${label} must be a positive integer`);
495
+ }
496
+ return result;
497
+ }
498
+ function positiveMinutes(value, fallback) {
499
+ const result = value === undefined ? fallback : Number(value);
500
+ if (!Number.isFinite(result) || result <= 0) {
501
+ throw new Error("--hard-timeout-minutes must be a positive number");
502
+ }
503
+ return result;
504
+ }
505
+ function sha256(value) {
506
+ return createHash("sha256").update(JSON.stringify(value)).digest("hex");
507
+ }
508
+ //# sourceMappingURL=terminal-watch-cli-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-watch-cli-adapter.js","sourceRoot":"","sources":["../../src/terminal-watch-cli-adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { type TerminalWatch, type TerminalWatchAnchor, type TerminalWatchNotification, type TerminalWatchObservationCheckpoint, type TerminalWatchStatus, type TerminalWatchStore, type TerminalWatchTerminalIdentity } from "./terminal-watch-store.js";
2
+ import type { ExecutorKind } from "./executors.js";
3
+ export interface CreateTerminalWatchInput {
4
+ watch_id?: string;
5
+ agent: ExecutorKind;
6
+ terminal: TerminalWatchTerminalIdentity;
7
+ anchor: TerminalWatchAnchor;
8
+ openclaw_session: string;
9
+ openclaw_bin: string;
10
+ timeout_ms: number;
11
+ last_activity_at?: string;
12
+ approval_fingerprint?: string;
13
+ approval_reason_code?: string;
14
+ }
15
+ export interface TerminalWatchObservationFence {
16
+ watch_id: string;
17
+ terminal_identity_fingerprint: string;
18
+ anchor_fingerprint: string;
19
+ }
20
+ interface TerminalWatchObservationBase extends TerminalWatchObservationFence {
21
+ observed_at: string;
22
+ last_activity_at?: string;
23
+ safe_resume_offset_bytes?: number;
24
+ observation_checkpoint?: TerminalWatchObservationCheckpoint;
25
+ }
26
+ export type TerminalWatchObservation = (TerminalWatchObservationBase & {
27
+ kind: "pending";
28
+ }) | (TerminalWatchObservationBase & {
29
+ kind: "unavailable";
30
+ reason_code?: string;
31
+ }) | (TerminalWatchObservationBase & {
32
+ kind: "approval";
33
+ evidence_fingerprint: string;
34
+ reason_code?: string;
35
+ }) | (TerminalWatchObservationBase & {
36
+ kind: "completed" | "failed";
37
+ evidence_fingerprint: string;
38
+ reason_code?: string;
39
+ completion_text?: string;
40
+ completion_id?: string;
41
+ completion_timestamp?: string;
42
+ }) | (TerminalWatchObservationBase & {
43
+ kind: "invalidated";
44
+ evidence_fingerprint: string;
45
+ reason_code?: string;
46
+ });
47
+ export interface TerminalWatchDeliveryInput {
48
+ watch: TerminalWatch;
49
+ notification: TerminalWatchNotification;
50
+ }
51
+ export interface TerminalWatchServiceDependencies {
52
+ repository: TerminalWatchStore;
53
+ now(): Date;
54
+ randomUUID(): string;
55
+ observe(watch: TerminalWatch): Promise<TerminalWatchObservation>;
56
+ deliver(input: TerminalWatchDeliveryInput): Promise<void>;
57
+ notificationLeaseMs?: number;
58
+ notificationRetryDelayMs?: number | ((attempt: number) => number);
59
+ notificationMaxRetryDelayMs?: number;
60
+ reconciliationDeliveryLimit?: number;
61
+ classifyDeliveryError?(error: unknown): string;
62
+ }
63
+ export interface TerminalWatchReconciliationItem {
64
+ watch_id: string;
65
+ status: TerminalWatchStatus | "error";
66
+ changed: boolean;
67
+ callbacks_delivered: number;
68
+ error_code?: string;
69
+ }
70
+ export interface TerminalWatchReconciliationSummary {
71
+ checked: number;
72
+ changed: number;
73
+ callbacks_delivered: number;
74
+ errors: number;
75
+ items: TerminalWatchReconciliationItem[];
76
+ }
77
+ export interface TerminalWatchService {
78
+ create(input: CreateTerminalWatchInput): TerminalWatch;
79
+ cancel(watchId: string): TerminalWatch;
80
+ get(watchId: string): TerminalWatch;
81
+ list(): TerminalWatch[];
82
+ reconcile(watchId: string): Promise<TerminalWatch>;
83
+ reconcileAll(): Promise<TerminalWatchReconciliationSummary>;
84
+ }
85
+ export declare class ActiveTerminalWatchConflictError extends Error {
86
+ readonly code = "AKK_ACTIVE_TERMINAL_WATCH_CONFLICT";
87
+ readonly existingWatchId: string;
88
+ constructor(existingWatchId: string);
89
+ }
90
+ /**
91
+ * Create the durable Watch application service. Terminal observation and
92
+ * callback transport are the only effects; the API intentionally has no port
93
+ * capable of writing to, approving, cancelling, or taking ownership of a TUI.
94
+ */
95
+ export declare function createTerminalWatchService(dependencies: TerminalWatchServiceDependencies): TerminalWatchService;
96
+ export declare function terminalWatchObservationFence(watch: TerminalWatch): TerminalWatchObservationFence;
97
+ export {};