@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,199 @@
1
+ import { isExecutorKind } from "./executors.js";
2
+ import { executorForConversation, sessionIdForConversation, turnIdForConversation } from "./protocol.js";
3
+ import { isRecord, nonBlankString as stringValue } from "./value-guards.js";
4
+ export function summarizeConversation(conversation, ports) {
5
+ const executor = executorForConversation(conversation);
6
+ const callbackDelivery = isRecord(conversation.callback_delivery)
7
+ ? conversation.callback_delivery
8
+ : undefined;
9
+ const callbackDisposition = callbackDelivery
10
+ ? ports.callbackRetryDisposition(callbackDelivery)
11
+ : undefined;
12
+ return {
13
+ session_id: sessionIdForConversation(conversation),
14
+ turn_id: turnIdForConversation(conversation),
15
+ conversation_id: conversation.conversation_id,
16
+ agent: executor.kind,
17
+ executor,
18
+ session: executor.session,
19
+ status: conversation.status,
20
+ request: conversation.user_request,
21
+ workspace: conversation.workspace,
22
+ openclaw_session: conversation.openclaw_session,
23
+ response_rounds_used: conversation.response_rounds_used,
24
+ soft_limit: conversation.soft_limit,
25
+ hard_limit: conversation.hard_limit,
26
+ created_at: conversation.created_at,
27
+ updated_at: conversation.updated_at,
28
+ idle_since: conversation.idle_since,
29
+ closed_at: conversation.closed_at,
30
+ ...(callbackDelivery
31
+ ? {
32
+ callback_delivery: {
33
+ status: callbackDelivery.status,
34
+ attempts: callbackDelivery.attempts,
35
+ attempt_state: callbackDisposition?.state,
36
+ attempt_pid: callbackDelivery.attempt_pid,
37
+ lease_expires_at: callbackDelivery.attempt_lease_expires_at,
38
+ next_attempt_at: callbackDelivery.next_attempt_at,
39
+ last_error: callbackDelivery.last_error === undefined
40
+ ? undefined
41
+ : ports.textSummary(String(callbackDelivery.last_error))
42
+ }
43
+ }
44
+ : {}),
45
+ state_path: conversation.state_path,
46
+ event_log_path: conversation.event_log_path
47
+ };
48
+ }
49
+ export function isDiscoverableTmuxConversation(conversation) {
50
+ if (!isRecord(conversation) || !isRecord(conversation.executor)) {
51
+ return false;
52
+ }
53
+ const kind = stringValue(conversation.executor.kind)?.toLowerCase();
54
+ return kind !== undefined &&
55
+ isExecutorKind(kind) &&
56
+ conversation.executor.transport === "tmux";
57
+ }
58
+ export function persistedExecutorLogFields(conversation) {
59
+ if (isDiscoverableTmuxConversation(conversation)) {
60
+ const executor = executorForConversation(conversation);
61
+ return {
62
+ agent: executor.kind,
63
+ executor_session: executor.session
64
+ };
65
+ }
66
+ const rawExecutor = isRecord(conversation?.executor) ? conversation.executor : {};
67
+ return {
68
+ agent: stringValue(rawExecutor.kind) ?? "unsupported",
69
+ executor_session: stringValue(rawExecutor.session)
70
+ };
71
+ }
72
+ export function summarizeEvent(event) {
73
+ return {
74
+ ts: event.ts,
75
+ event: event.event,
76
+ from: event.from,
77
+ to: event.to,
78
+ type: event.type,
79
+ status: event.status,
80
+ round: event.round,
81
+ body: typeof event.body === "string" ? event.body.slice(0, 500) : undefined
82
+ };
83
+ }
84
+ export function codexTerminalContextFromHistory(input) {
85
+ const { id, confidence, match, process, context, terminalControl, terminalStatus, limitations, candidates } = input;
86
+ return {
87
+ conversation_id: id,
88
+ source: "terminal_control",
89
+ confidence,
90
+ match,
91
+ about: rolloutAbout(context, terminalStatus),
92
+ codex_session: context.source,
93
+ evidence: {
94
+ process,
95
+ terminal_control: terminalControl,
96
+ terminal_status: terminalStatus,
97
+ initial_request: bestSessionIntent(context),
98
+ title: context.source.title,
99
+ recent_messages: visibleRolloutMessages(context).slice(-8),
100
+ recent_commands: context.commands.slice(-8),
101
+ candidates
102
+ },
103
+ limitations
104
+ };
105
+ }
106
+ export function managedConversationAbout(conversation, events, terminalStatus) {
107
+ const request = truncateText(String(conversation.user_request ?? "").trim(), 220);
108
+ const recent = recentMessageEvidence(events).at(-1)?.body;
109
+ const parts = [
110
+ request ? `Initial request: ${request}` : undefined,
111
+ recent ? `Latest visible message: ${truncateText(recent, 180)}` : undefined,
112
+ terminalStatus?.activity_state
113
+ ? `Current terminal state: ${terminalStatus.activity_state}.`
114
+ : undefined
115
+ ].filter(Boolean);
116
+ return parts.length > 0
117
+ ? parts.join(" ")
118
+ : "No durable task content is available for this AKK-managed session.";
119
+ }
120
+ export function rolloutAbout(context, terminalStatus) {
121
+ const title = truncateText(String(context.source.title ?? "").trim(), 180);
122
+ const intent = bestSessionIntent(context);
123
+ const latestAssistant = [...visibleRolloutMessages(context)].reverse()
124
+ .find((message) => message.role === "assistant")?.text;
125
+ const latestCommand = context.commands.at(-1)?.command;
126
+ const parts = [
127
+ intent
128
+ ? `Initial request: ${truncateText(intent, 220)}`
129
+ : title ? `Codex title: ${title}` : undefined,
130
+ latestAssistant
131
+ ? `Latest visible progress: ${truncateText(latestAssistant, 180)}`
132
+ : undefined,
133
+ latestCommand
134
+ ? `Recent command: ${truncateText(latestCommand, 140)}`
135
+ : undefined,
136
+ terminalStatus?.activity_state
137
+ ? `Current terminal state: ${terminalStatus.activity_state}.`
138
+ : undefined
139
+ ].filter(Boolean);
140
+ return parts.length > 0
141
+ ? parts.join(" ")
142
+ : "Codex history was found, but it did not include enough visible message content to summarize the session.";
143
+ }
144
+ export function screenOnlyAbout(input) {
145
+ const { process, terminalStatus } = input;
146
+ const activity = terminalStatus?.activity_reason ?? terminalStatus?.activity_state;
147
+ const excerpt = terminalStatus?.screen?.excerpt;
148
+ const parts = [
149
+ process?.cwd ? `This Codex process is running in ${process.cwd}.` : undefined,
150
+ activity ? `Terminal activity: ${truncateText(String(activity), 180)}` : undefined,
151
+ excerpt ? `Visible screen: ${truncateText(String(excerpt), 220)}` : undefined
152
+ ].filter(Boolean);
153
+ return parts.length > 0
154
+ ? parts.join(" ")
155
+ : "Only active process metadata is available; no Codex conversation history or terminal screen content could be read.";
156
+ }
157
+ export function bestSessionIntent(context) {
158
+ const firstUser = visibleRolloutMessages(context)
159
+ .find((message) => message.role === "user")?.text;
160
+ if (firstUser) {
161
+ return firstUser;
162
+ }
163
+ const title = cleanIntentText(context.source.title);
164
+ if (title) {
165
+ return title;
166
+ }
167
+ return undefined;
168
+ }
169
+ export function visibleRolloutMessages(context) {
170
+ return context.messages.filter((message) => !isEnvironmentContextMessage(message.text));
171
+ }
172
+ export function cleanIntentText(value) {
173
+ const text = String(value ?? "").replace(/\s+/g, " ").trim();
174
+ return text && !isEnvironmentContextMessage(text) ? text : undefined;
175
+ }
176
+ export function isEnvironmentContextMessage(value) {
177
+ return /^\s*<environment_context[\s>]/u.test(String(value ?? ""));
178
+ }
179
+ function recentMessageEvidence(events) {
180
+ return events
181
+ .filter((event) => event.event === "message" && typeof event.body === "string")
182
+ .slice(-8)
183
+ .map((event) => ({
184
+ ts: event.ts,
185
+ from: event.from,
186
+ to: event.to,
187
+ type: event.type,
188
+ round: event.round,
189
+ body: truncateText(event.body, 800)
190
+ }));
191
+ }
192
+ export function truncateText(value, maxLength) {
193
+ const text = String(value ?? "").replace(/\s+/g, " ").trim();
194
+ if (text.length <= maxLength) {
195
+ return text;
196
+ }
197
+ return `${text.slice(0, Math.max(0, maxLength - 3))}...`;
198
+ }
199
+ //# sourceMappingURL=terminal-status-facts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal-status-facts.js","sourceRoot":"","sources":["../../src/terminal-status-facts.ts"],"names":[],"mappings":"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"}
@@ -1,101 +1,8 @@
1
- import type { CodexOpenRootRolloutIdentity, CodexOpenRootRolloutInventory } from "./agent-session-provider.js";
1
+ import type { CodexOpenRootRolloutInventory } from "./agent-session-provider.js";
2
2
  import type { TerminalCompletionEvidence } from "./terminal-agent-adapter.js";
3
- export interface TerminalSubmissionAcceptanceEvidence {
4
- source: "codex_rollout" | "claude_transcript";
5
- kind: "native_user_turn";
6
- nativeThreadId: string;
7
- requestHash: string;
8
- acceptanceId: string;
9
- acceptedAt?: string;
10
- anchorFingerprint: string;
11
- evidenceFingerprint: string;
12
- metadata?: Record<string, string | number>;
13
- }
14
- export interface CodexRolloutIdentity {
15
- fd: string;
16
- device: string;
17
- inode: string;
18
- path: string;
19
- }
20
- interface CodexRolloutAcceptanceAnchorBase {
21
- schema: "agent-knock-knock/codex-rollout-acceptance-anchor";
22
- process_uuid: string;
23
- process_birth: string;
24
- captured_at: string;
25
- file_existed: boolean;
26
- offset_bytes: number;
27
- anchor_fingerprint: string;
28
- }
29
- export interface CodexBoundRolloutAcceptanceAnchor extends CodexRolloutAcceptanceAnchorBase {
30
- version: 1;
31
- native_thread_id: string;
32
- mode: "existing" | "pre_materialization";
33
- rollout?: CodexRolloutIdentity;
34
- expected_empty_native_session?: true;
35
- }
36
- /**
37
- * A process-bound anchor for a genuinely virgin Codex TUI. Codex does not
38
- * assign a native thread UUID or open a rollout until its first prompt is
39
- * submitted, so the UUID cannot safely be named before transport. The exact
40
- * process incarnation is still pinned here; acceptance must additionally
41
- * prove the newly materialized UUID, rollout, and request hash.
42
- */
43
- export interface CodexVirginRolloutAcceptanceAnchor extends CodexRolloutAcceptanceAnchorBase {
44
- version: 2;
45
- mode: "pre_materialization";
46
- native_thread_id?: never;
47
- native_thread_binding: "post_submission";
48
- file_existed: false;
49
- offset_bytes: 0;
50
- rollout?: never;
51
- expected_empty_native_session: true;
52
- }
53
- export interface CodexCandidateRolloutAcceptanceAnchorEntry {
54
- native_thread_id: string;
55
- rollout: CodexRolloutIdentity;
56
- offset_bytes: number;
57
- }
58
- /**
59
- * A process-bound pre-submit snapshot for a terminal whose open-root
60
- * inventory is exact but cannot name one foreground root. Existing roots are
61
- * fenced at their byte offsets; roots opened after capture are admitted only
62
- * with a fresh exact session_meta header. No candidate is selected by mtime.
63
- */
64
- export interface CodexCandidateSetRolloutAcceptanceAnchor extends CodexRolloutAcceptanceAnchorBase {
65
- version: 3;
66
- mode: "candidate_set";
67
- native_thread_binding: "post_submission";
68
- file_existed: false;
69
- offset_bytes: 0;
70
- zero_file_baseline: boolean;
71
- inventory_pid: number;
72
- inventory_cwd?: string;
73
- inventory_fingerprint: string;
74
- candidate_rollouts: CodexCandidateRolloutAcceptanceAnchorEntry[];
75
- }
76
- export type CodexRolloutAcceptanceAnchor = CodexBoundRolloutAcceptanceAnchor | CodexVirginRolloutAcceptanceAnchor | CodexCandidateSetRolloutAcceptanceAnchor;
77
- export type CodexCandidateSetRolloutAcceptanceResult = {
78
- status: "accepted";
79
- identity: CodexOpenRootRolloutIdentity;
80
- evidence: TerminalSubmissionAcceptanceEvidence;
81
- } | {
82
- status: "pending";
83
- inspected_candidates: number;
84
- exact_matches: number;
85
- incomplete_candidates?: number;
86
- } | {
87
- status: "uncertain";
88
- code: "multiple_exact_request_acceptances" | "candidate_inventory_changed" | "candidate_scan_invalid";
89
- reason: string;
90
- inspected_candidates: number;
91
- exact_matches: number;
92
- };
93
- export interface CodexRolloutAcceptanceIdentity {
94
- sessionId: string;
95
- processUuid?: string;
96
- processBirth?: string;
97
- rollout?: CodexRolloutIdentity;
98
- }
3
+ import { validateCodexRolloutAcceptanceAnchor, validateTerminalSubmissionAcceptanceEvidence, type CaptureCodexRolloutAcceptanceAnchorOptions, type CodexCandidateSetRolloutAcceptanceAnchor, type CodexCandidateSetRolloutAcceptanceRequest, type CodexCandidateSetRolloutAcceptanceResult, type CodexRolloutAcceptanceAnchor, type CodexRolloutAcceptanceIdentity, type CodexRolloutAcceptanceRequest, type CodexRolloutIdentity, type TerminalSubmissionAcceptanceEvidence } from "./terminal-submission-facts.js";
4
+ export { validateCodexRolloutAcceptanceAnchor, validateTerminalSubmissionAcceptanceEvidence };
5
+ export type { CodexBoundRolloutAcceptanceAnchor, CodexCandidateRolloutAcceptanceAnchorEntry, CodexCandidateSetRolloutAcceptanceAnchor, CodexRolloutAcceptanceAnchor, CodexCandidateSetRolloutAcceptanceResult, CodexRolloutAcceptanceIdentity, CodexRolloutIdentity, TerminalSubmissionAcceptanceEvidence, CodexVirginRolloutAcceptanceAnchor } from "./terminal-submission-facts.js";
99
6
  export type CodexBoundRolloutCompletionCode = "completion_found" | "exact_turn_not_complete" | "partial_rollout_record" | "rollout_changed_during_scan" | "invalid_anchor" | "invalid_acceptance_evidence" | "acceptance_anchor_mismatch" | "acceptance_turn_mismatch" | "binding_identity_mismatch" | "rollout_identity_mismatch" | "rollout_unreadable" | "rollout_truncated" | "scan_limit_exceeded" | "invalid_rollout_jsonl" | "duplicate_exact_completion" | "invalid_exact_completion";
100
7
  export interface CodexBoundRolloutCompletionDiagnostics {
101
8
  detector: "codex_exact_bound_rollout";
@@ -121,60 +28,72 @@ export type CodexBoundRolloutCompletionResult = {
121
28
  status: "failure";
122
29
  diagnostics: CodexBoundRolloutCompletionDiagnostics;
123
30
  };
124
- export declare function validateTerminalSubmissionAcceptanceEvidence(value: unknown, expected: {
125
- source: TerminalSubmissionAcceptanceEvidence["source"];
126
- nativeThreadId: string;
127
- requestHash: string;
128
- }): TerminalSubmissionAcceptanceEvidence;
129
- export declare function terminalSubmissionReplayReceipt(options: {
130
- proofLevel: "submitted" | "enter_dispatched" | "agent_accepted";
131
- evidence?: unknown;
132
- expected: {
133
- source: TerminalSubmissionAcceptanceEvidence["source"];
134
- nativeThreadId: string;
135
- requestHash: string;
136
- };
137
- }): {
138
- replayed: true;
139
- delivered: boolean;
140
- status: "async_pending" | "submission_pending_acceptance" | "submission_uncertain";
141
- submission_outcome: "agent_accepted" | "pending_acceptance" | "uncertain";
142
- delivery_receipt: "agent_accepted" | "enter_dispatched" | "submitted";
143
- do_not_retry?: true;
144
- evidence_error?: string;
145
- };
146
- type CaptureCodexRolloutAcceptanceAnchorOptions = {
147
- processUuid: string;
148
- processBirth: string;
149
- now?: Date;
150
- } & ({
151
- nativeThreadId: string;
152
- mode: "existing";
31
+ /**
32
+ * Durable identity for one already-running Codex task that was started by the
33
+ * human in the TUI. The prompt itself is deliberately omitted; the exact root
34
+ * user row is represented only by its SHA-256 digest and native turn UUID.
35
+ */
36
+ export interface CodexHumanStartedActiveTaskAnchor {
37
+ schema: "agent-knock-knock/codex-human-started-active-task-anchor";
38
+ version: 1;
39
+ native_thread_id: string;
40
+ process_uuid: string;
41
+ process_birth: string;
42
+ captured_at: string;
153
43
  rollout: CodexRolloutIdentity;
44
+ turn_id: string;
45
+ request_hash: string;
46
+ codex_version: string;
47
+ task_started_offset_bytes: number;
48
+ user_message_offset_bytes: number;
49
+ observed_end_offset_bytes: number;
50
+ anchor_fingerprint: string;
51
+ }
52
+ export interface CaptureCodexHumanStartedActiveTaskOptions {
53
+ currentIdentity: CodexRolloutAcceptanceIdentity;
54
+ now?: Date;
55
+ maxBytes?: number;
56
+ }
57
+ export interface ObserveCodexHumanStartedActiveTaskOptions {
58
+ anchor: CodexHumanStartedActiveTaskAnchor;
59
+ currentIdentity: CodexRolloutAcceptanceIdentity;
60
+ maxBytes?: number;
61
+ /** Last complete, stable JSONL boundary returned by a prior observation. */
62
+ resumeOffsetBytes?: number;
63
+ }
64
+ export type CodexHumanStartedActiveTaskObservation = {
65
+ status: "pending";
66
+ observedEndOffsetBytes: number;
67
+ safeResumeOffsetBytes: number;
154
68
  } | {
155
- nativeThreadId: string;
156
- mode: "pre_materialization";
157
- expectedEmptyNativeSession: true;
69
+ status: "completed";
70
+ completion: TerminalCompletionEvidence & {
71
+ outcome: "success" | "failure";
72
+ };
158
73
  } | {
159
- nativeThreadId?: undefined;
160
- mode: "pre_materialization";
161
- expectedEmptyNativeSession: true;
162
- });
74
+ status: "invalidated";
75
+ reason: string;
76
+ } | {
77
+ status: "unavailable";
78
+ reason: string;
79
+ retryable: true;
80
+ };
81
+ /**
82
+ * Capture the latest active native task in an exact open Codex rollout.
83
+ * This is intentionally separate from the pre-send acceptance anchor: all
84
+ * task-start and root-user evidence already exists when this function runs.
85
+ */
86
+ export declare function captureCodexHumanStartedActiveTaskAnchor(options: CaptureCodexHumanStartedActiveTaskOptions): CodexHumanStartedActiveTaskAnchor | undefined;
87
+ /** Observe only the exact human-started task named by the persisted anchor. */
88
+ export declare function observeCodexHumanStartedActiveTask(options: ObserveCodexHumanStartedActiveTaskOptions): CodexHumanStartedActiveTaskObservation;
89
+ export declare function validateCodexHumanStartedActiveTaskAnchor(value: unknown): CodexHumanStartedActiveTaskAnchor;
163
90
  export declare function captureCodexRolloutAcceptanceAnchor(options: CaptureCodexRolloutAcceptanceAnchorOptions): CodexRolloutAcceptanceAnchor;
164
91
  export declare function captureCodexCandidateSetRolloutAcceptanceAnchor({ inventory: inventoryValue, now }: {
165
92
  inventory: CodexOpenRootRolloutInventory;
166
93
  now?: Date;
167
94
  }): CodexCandidateSetRolloutAcceptanceAnchor;
168
- export declare function detectCodexCandidateSetRolloutAcceptance({ anchor: anchorValue, currentInventory: inventoryValue, requestHash: requestHashValue }: {
169
- anchor: CodexCandidateSetRolloutAcceptanceAnchor;
170
- currentInventory: CodexOpenRootRolloutInventory;
171
- requestHash: string;
172
- }): CodexCandidateSetRolloutAcceptanceResult;
173
- export declare function detectCodexRolloutAcceptance(options: {
174
- anchor: CodexRolloutAcceptanceAnchor;
175
- currentIdentity: CodexRolloutAcceptanceIdentity;
176
- requestHash: string;
177
- }): TerminalSubmissionAcceptanceEvidence | undefined;
95
+ export declare function detectCodexCandidateSetRolloutAcceptance({ anchor: anchorValue, currentInventory: inventoryValue, requestHash: requestHashValue }: CodexCandidateSetRolloutAcceptanceRequest): CodexCandidateSetRolloutAcceptanceResult;
96
+ export declare function detectCodexRolloutAcceptance(options: CodexRolloutAcceptanceRequest): TerminalSubmissionAcceptanceEvidence | undefined;
178
97
  /**
179
98
  * Scans the exact rollout and native turn proven by terminal acceptance.
180
99
  *
@@ -189,5 +108,3 @@ export declare function detectCodexBoundRolloutCompletion(options: {
189
108
  currentIdentity: CodexRolloutAcceptanceIdentity;
190
109
  requestHash: string;
191
110
  }): CodexBoundRolloutCompletionResult;
192
- export declare function validateCodexRolloutAcceptanceAnchor(value: CodexRolloutAcceptanceAnchor): CodexRolloutAcceptanceAnchor;
193
- export {};