@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
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-foreground-transfer.js","sourceRoot":"","sources":["../../src/deferred-foreground-transfer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferred-foreground-transfer.js","sourceRoot":"","sources":["../../src/deferred-foreground-transfer.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface DoctorCommandCheck {
6
6
  command: string;
7
7
  available: boolean;
8
8
  version_supported?: boolean;
9
+ native_profile_supported?: boolean;
10
+ native_profile?: string;
9
11
  status?: DoctorProbeStatus;
10
12
  }
11
13
  export interface DoctorCommandProbe extends DoctorCommandCheck {
@@ -58,6 +60,13 @@ export interface DoctorCapabilitySummary {
58
60
  }
59
61
  export declare const DOCTOR_SUPPORTED_HERDR_VERSION: "0.8.0";
60
62
  export declare const DOCTOR_PROBE_COMMANDS: readonly DoctorProbeCommand[];
63
+ /**
64
+ * Return the exact native lifecycle/status profile verified for a coding-agent
65
+ * version. This diagnostic never controls general doctor readiness: unknown
66
+ * versions may still support ordinary terminal work while native lifecycle and
67
+ * inspection remain fail closed.
68
+ */
69
+ export declare function doctorCodingAgentNativeProfile(command: "codex" | "claude", version: string | undefined): string | undefined;
61
70
  /**
62
71
  * Run a bounded, non-interactive version probe for one doctor dependency.
63
72
  *
@@ -1,4 +1,6 @@
1
1
  import { spawnSync } from "node:child_process";
2
+ import { claudeNativeInspectionBehaviorProfile } from "./claude-lifecycle-compatibility.js";
3
+ import { codexLifecycleBehaviorProfile } from "./codex-lifecycle-compatibility.js";
2
4
  export const DOCTOR_SUPPORTED_HERDR_VERSION = "0.8.0";
3
5
  const DEFAULT_PROBE_TIMEOUT_MS = 3_000;
4
6
  const MAX_PROBE_TIMEOUT_MS = 30_000;
@@ -19,6 +21,17 @@ const DEFAULT_PROBE_EXECUTABLES = {
19
21
  claude: "claude"
20
22
  };
21
23
  export const DOCTOR_PROBE_COMMANDS = Object.freeze(Object.keys(PROBE_ARGUMENTS));
24
+ /**
25
+ * Return the exact native lifecycle/status profile verified for a coding-agent
26
+ * version. This diagnostic never controls general doctor readiness: unknown
27
+ * versions may still support ordinary terminal work while native lifecycle and
28
+ * inspection remain fail closed.
29
+ */
30
+ export function doctorCodingAgentNativeProfile(command, version) {
31
+ return command === "codex"
32
+ ? codexLifecycleBehaviorProfile(version)
33
+ : claudeNativeInspectionBehaviorProfile(version);
34
+ }
22
35
  /**
23
36
  * Run a bounded, non-interactive version probe for one doctor dependency.
24
37
  *
@@ -179,12 +192,21 @@ export function evaluateDoctorCapabilities(checks) {
179
192
  };
180
193
  }
181
194
  function buildProbeResult({ command, executable, args, status, durationMs, version, output, error, exitCode, signal }) {
195
+ const nativeProfile = (command === "codex" || command === "claude") && status === "ok"
196
+ ? doctorCodingAgentNativeProfile(command, version)
197
+ : undefined;
182
198
  return {
183
199
  command,
184
200
  executable,
185
201
  args,
186
202
  status,
187
203
  available: status === "ok",
204
+ ...(command === "codex" || command === "claude"
205
+ ? {
206
+ native_profile_supported: nativeProfile !== undefined,
207
+ ...(nativeProfile ? { native_profile: nativeProfile } : {})
208
+ }
209
+ : {}),
188
210
  ...(command === "herdr"
189
211
  ? {
190
212
  version_supported: status === "ok" && version === DOCTOR_SUPPORTED_HERDR_VERSION
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-capabilities.js","sourceRoot":"","sources":["../../src/doctor-capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-capabilities.js","sourceRoot":"","sources":["../../src/doctor-capabilities.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ export interface AtomicJsonFileOptions {
2
+ rootLabel: string;
3
+ directoryLabel: string;
4
+ fileLabel: string;
5
+ ensureDirectory: (directory: string) => void;
6
+ fsyncNewRootParent?: boolean;
7
+ fsyncNewDirectoryParent?: boolean;
8
+ }
9
+ export interface AtomicPrivateJsonReplaceOptions {
10
+ temporaryPath: string;
11
+ beforeRename?: () => void;
12
+ cleanupTemporary: (temporaryPath: string) => void;
13
+ }
14
+ /** Atomically replace one private JSON record without following symlinks. */
15
+ export declare function atomicSaveJsonFile(filePath: string, value: unknown, options: AtomicJsonFileOptions): void;
16
+ /** Replace one private JSON file after its caller validates path policy. */
17
+ export declare function atomicReplacePrivateJsonFile(filePath: string, value: unknown, options: AtomicPrivateJsonReplaceOptions): void;
18
+ /** Read one regular private JSON record without following its final path. */
19
+ export declare function readJsonFileNoFollow(filePath: string, label: string): unknown;
20
+ export declare function assertRealDirectory(value: string, label: string): void;
21
+ export declare function fsyncDirectory(directory: string): void;
22
+ export declare function isNodeError(error: unknown, code?: string): error is NodeJS.ErrnoException;
@@ -0,0 +1,127 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import fs from "node:fs";
3
+ import path from "node:path";
4
+ const PRIVATE_FILE_MODE = 0o600;
5
+ const NO_FOLLOW_FLAG = typeof fs.constants.O_NOFOLLOW === "number"
6
+ ? fs.constants.O_NOFOLLOW
7
+ : 0;
8
+ /** Atomically replace one private JSON record without following symlinks. */
9
+ export function atomicSaveJsonFile(filePath, value, options) {
10
+ const root = path.dirname(path.dirname(filePath));
11
+ const directory = path.dirname(filePath);
12
+ const rootExisted = fs.existsSync(root);
13
+ options.ensureDirectory(root);
14
+ assertRealDirectory(root, options.rootLabel);
15
+ if (!rootExisted && options.fsyncNewRootParent) {
16
+ fsyncDirectory(path.dirname(root));
17
+ }
18
+ const directoryExisted = fs.existsSync(directory);
19
+ options.ensureDirectory(directory);
20
+ if (!directoryExisted && options.fsyncNewDirectoryParent) {
21
+ fsyncDirectory(root);
22
+ }
23
+ assertRealDirectory(directory, options.directoryLabel);
24
+ assertRegularOrAbsent(filePath, options.fileLabel);
25
+ const temporaryPath = path.join(directory, `.${path.basename(filePath)}.${process.pid}.${randomUUID()}.tmp`);
26
+ atomicReplacePrivateJsonFile(filePath, value, {
27
+ temporaryPath,
28
+ beforeRename: () => assertRegularOrAbsent(filePath, options.fileLabel),
29
+ cleanupTemporary: () => {
30
+ try {
31
+ fs.unlinkSync(temporaryPath);
32
+ }
33
+ catch (error) {
34
+ if (!isNodeError(error, "ENOENT")) {
35
+ throw error;
36
+ }
37
+ }
38
+ }
39
+ });
40
+ }
41
+ /** Replace one private JSON file after its caller validates path policy. */
42
+ export function atomicReplacePrivateJsonFile(filePath, value, options) {
43
+ let fd;
44
+ try {
45
+ fd = fs.openSync(options.temporaryPath, fs.constants.O_CREAT |
46
+ fs.constants.O_EXCL |
47
+ fs.constants.O_WRONLY |
48
+ NO_FOLLOW_FLAG, PRIVATE_FILE_MODE);
49
+ fs.fchmodSync(fd, PRIVATE_FILE_MODE);
50
+ fs.writeFileSync(fd, `${JSON.stringify(value, null, 2)}\n`, "utf8");
51
+ fs.fsyncSync(fd);
52
+ fs.closeSync(fd);
53
+ fd = undefined;
54
+ options.beforeRename?.();
55
+ fs.renameSync(options.temporaryPath, filePath);
56
+ fs.chmodSync(filePath, PRIVATE_FILE_MODE);
57
+ fsyncDirectory(path.dirname(filePath));
58
+ }
59
+ finally {
60
+ if (fd !== undefined) {
61
+ fs.closeSync(fd);
62
+ }
63
+ options.cleanupTemporary(options.temporaryPath);
64
+ }
65
+ }
66
+ /** Read one regular private JSON record without following its final path. */
67
+ export function readJsonFileNoFollow(filePath, label) {
68
+ assertRealDirectory(path.dirname(path.dirname(filePath)), `${label} root`);
69
+ assertRealDirectory(path.dirname(filePath), `${label} directory`);
70
+ const stat = fs.lstatSync(filePath);
71
+ if (stat.isSymbolicLink() || !stat.isFile()) {
72
+ throw new Error(`${label} must be a regular file: ${filePath}`);
73
+ }
74
+ const fd = fs.openSync(filePath, fs.constants.O_RDONLY | NO_FOLLOW_FLAG);
75
+ try {
76
+ if (!fs.fstatSync(fd).isFile()) {
77
+ throw new Error(`${label} must be a regular file: ${filePath}`);
78
+ }
79
+ return JSON.parse(fs.readFileSync(fd, "utf8"));
80
+ }
81
+ finally {
82
+ fs.closeSync(fd);
83
+ }
84
+ }
85
+ export function assertRealDirectory(value, label) {
86
+ const stat = fs.lstatSync(value);
87
+ if (stat.isSymbolicLink() || !stat.isDirectory()) {
88
+ throw new Error(`${label} must be a real directory: ${value}`);
89
+ }
90
+ }
91
+ function assertRegularOrAbsent(value, label) {
92
+ try {
93
+ const stat = fs.lstatSync(value);
94
+ if (stat.isSymbolicLink() || !stat.isFile()) {
95
+ throw new Error(`${label} must be a regular file: ${value}`);
96
+ }
97
+ }
98
+ catch (error) {
99
+ if (!isNodeError(error, "ENOENT")) {
100
+ throw error;
101
+ }
102
+ }
103
+ }
104
+ export function fsyncDirectory(directory) {
105
+ let fd;
106
+ try {
107
+ fd = fs.openSync(directory, fs.constants.O_RDONLY | NO_FOLLOW_FLAG);
108
+ fs.fsyncSync(fd);
109
+ }
110
+ catch (error) {
111
+ const code = isNodeError(error) ? error.code : undefined;
112
+ if (!["EINVAL", "ENOTSUP", "EPERM", "EISDIR"].includes(String(code))) {
113
+ throw error;
114
+ }
115
+ }
116
+ finally {
117
+ if (fd !== undefined) {
118
+ fs.closeSync(fd);
119
+ }
120
+ }
121
+ }
122
+ export function isNodeError(error, code) {
123
+ return error instanceof Error &&
124
+ "code" in error &&
125
+ (code === undefined || error.code === code);
126
+ }
127
+ //# sourceMappingURL=durable-json-file.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"durable-json-file.js","sourceRoot":"","sources":["../../src/durable-json-file.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ export type FileLockAcquisitionOptions = Readonly<{
2
+ timeoutMs?: number;
3
+ retryMs?: number;
4
+ }>;
5
+ export type FileLockOwner = Readonly<{
6
+ pid?: number;
7
+ token?: string;
8
+ }>;
9
+ export interface FileLockCliRuntime {
10
+ now(): Date;
11
+ nowMs(): number;
12
+ pid(): number;
13
+ sleepSync(milliseconds: number): void;
14
+ nonce?(): string;
15
+ signalProcess?(pid: number): void;
16
+ }
17
+ export interface FileLockFileSystem {
18
+ readonly constants: Readonly<{
19
+ O_CREAT: number;
20
+ O_EXCL: number;
21
+ O_WRONLY: number;
22
+ O_NOFOLLOW?: number;
23
+ }>;
24
+ openSync(filePath: string, flags: number, mode: number): number;
25
+ fchmodSync(fd: number, mode: number): void;
26
+ writeFileSync(fd: number, data: string, encoding: "utf8"): void;
27
+ fsyncSync(fd: number): void;
28
+ closeSync(fd: number): void;
29
+ lstatSync(filePath: string): Readonly<{
30
+ isSymbolicLink(): boolean;
31
+ isFile(): boolean;
32
+ mtimeMs: number;
33
+ }>;
34
+ unlinkSync(filePath: string): void;
35
+ readFileSync(filePath: string, encoding: "utf8"): string;
36
+ }
37
+ export interface FileLockCliAdapter {
38
+ acquire(lockPath: string, options?: FileLockAcquisitionOptions): () => void;
39
+ stale(lockPath: string): boolean;
40
+ owner(lockPath: string): FileLockOwner;
41
+ }
42
+ /** Bind the synchronous file-lock protocol to one CLI runtime boundary. */
43
+ export declare function createFileLockCliAdapter(runtime: FileLockCliRuntime, fileSystem?: FileLockFileSystem): FileLockCliAdapter;
@@ -0,0 +1,150 @@
1
+ import { randomUUID } from "node:crypto";
2
+ import fs from "node:fs";
3
+ import process from "node:process";
4
+ import { isRecord, nonBlankString } from "./value-guards.js";
5
+ const PRIVATE_LOCK_FILE_MODE = 0o600;
6
+ const STALE_LOCK_AGE_MS = 30_000;
7
+ /** Bind the synchronous file-lock protocol to one CLI runtime boundary. */
8
+ export function createFileLockCliAdapter(runtime, fileSystem = fs) {
9
+ const noFollowFlag = typeof fileSystem.constants.O_NOFOLLOW === "number"
10
+ ? fileSystem.constants.O_NOFOLLOW
11
+ : 0;
12
+ const exclusiveWriteFlags = fileSystem.constants.O_CREAT |
13
+ fileSystem.constants.O_EXCL | fileSystem.constants.O_WRONLY | noFollowFlag;
14
+ const nonce = runtime.nonce ?? randomUUID;
15
+ const signalProcess = runtime.signalProcess ?? ((pid) => {
16
+ process.kill(pid, 0);
17
+ });
18
+ function owner(lockPath) {
19
+ try {
20
+ const text = fileSystem.readFileSync(lockPath, "utf8").trim();
21
+ try {
22
+ const parsed = JSON.parse(text);
23
+ if (isRecord(parsed)) {
24
+ const pid = Number(parsed.pid);
25
+ return {
26
+ pid: Number.isSafeInteger(pid) && pid > 1 ? pid : undefined,
27
+ token: nonBlankString(parsed.token)
28
+ };
29
+ }
30
+ }
31
+ catch {
32
+ // Legacy locks contained only the owner PID.
33
+ }
34
+ const legacyPid = Number(text);
35
+ return {
36
+ pid: Number.isSafeInteger(legacyPid) && legacyPid > 1 ? legacyPid : undefined
37
+ };
38
+ }
39
+ catch {
40
+ return {};
41
+ }
42
+ }
43
+ function stale(lockPath) {
44
+ try {
45
+ const stat = fileSystem.lstatSync(lockPath);
46
+ if (stat.isSymbolicLink() || !stat.isFile()) {
47
+ throw new Error(`file lock must be a regular file, not a symlink: ${lockPath}`);
48
+ }
49
+ const lockOwner = owner(lockPath);
50
+ if (lockOwner.pid !== undefined) {
51
+ try {
52
+ signalProcess(lockOwner.pid);
53
+ return false;
54
+ }
55
+ catch (error) {
56
+ return isRecord(error) && error.code === "ESRCH";
57
+ }
58
+ }
59
+ return runtime.nowMs() - stat.mtimeMs > STALE_LOCK_AGE_MS;
60
+ }
61
+ catch (error) {
62
+ return isRecord(error) && error.code === "ENOENT";
63
+ }
64
+ }
65
+ function reclaim(lockPath) {
66
+ const reclaimPath = `${lockPath}.reclaim`;
67
+ let reclaimFd;
68
+ try {
69
+ reclaimFd = fileSystem.openSync(reclaimPath, exclusiveWriteFlags, PRIVATE_LOCK_FILE_MODE);
70
+ fileSystem.fchmodSync(reclaimFd, PRIVATE_LOCK_FILE_MODE);
71
+ fileSystem.writeFileSync(reclaimFd, `${runtime.pid()}\n`, "utf8");
72
+ fileSystem.fsyncSync(reclaimFd);
73
+ }
74
+ catch (error) {
75
+ if (reclaimFd !== undefined)
76
+ fileSystem.closeSync(reclaimFd);
77
+ if (isRecord(error) && error.code === "EEXIST")
78
+ return false;
79
+ throw error;
80
+ }
81
+ try {
82
+ if (!stale(lockPath))
83
+ return false;
84
+ try {
85
+ fileSystem.unlinkSync(lockPath);
86
+ return true;
87
+ }
88
+ catch (error) {
89
+ return isRecord(error) && error.code === "ENOENT";
90
+ }
91
+ }
92
+ finally {
93
+ fileSystem.closeSync(reclaimFd);
94
+ try {
95
+ fileSystem.unlinkSync(reclaimPath);
96
+ }
97
+ catch (error) {
98
+ if (!isRecord(error) || error.code !== "ENOENT") {
99
+ throw error;
100
+ }
101
+ }
102
+ }
103
+ }
104
+ function release(lockPath, token) {
105
+ try {
106
+ if (owner(lockPath).token !== token)
107
+ return;
108
+ fileSystem.unlinkSync(lockPath);
109
+ }
110
+ catch (error) {
111
+ if (!isRecord(error) || error.code !== "ENOENT") {
112
+ throw error;
113
+ }
114
+ }
115
+ }
116
+ function acquire(lockPath, { timeoutMs = 5000, retryMs = 50 } = {}) {
117
+ const started = runtime.nowMs();
118
+ const token = nonce();
119
+ while (true) {
120
+ let fd;
121
+ try {
122
+ fd = fileSystem.openSync(lockPath, exclusiveWriteFlags, PRIVATE_LOCK_FILE_MODE);
123
+ fileSystem.fchmodSync(fd, PRIVATE_LOCK_FILE_MODE);
124
+ const contents = JSON.stringify({
125
+ pid: runtime.pid(), token, created_at: runtime.now().toISOString()
126
+ });
127
+ fileSystem.writeFileSync(fd, `${contents}\n`, "utf8");
128
+ fileSystem.fsyncSync(fd);
129
+ fileSystem.closeSync(fd);
130
+ fd = undefined;
131
+ return () => release(lockPath, token);
132
+ }
133
+ catch (error) {
134
+ if (fd !== undefined)
135
+ fileSystem.closeSync(fd);
136
+ if (!isRecord(error) || error.code !== "EEXIST")
137
+ throw error;
138
+ if (reclaim(lockPath)) {
139
+ continue;
140
+ }
141
+ if (runtime.nowMs() - started >= timeoutMs) {
142
+ throw Object.assign(new Error(`timed out waiting for file lock: ${lockPath}`), { code: "LOCK_TIMEOUT" });
143
+ }
144
+ runtime.sleepSync(retryMs);
145
+ }
146
+ }
147
+ }
148
+ return Object.freeze({ acquire, stale, owner });
149
+ }
150
+ //# sourceMappingURL=file-lock-cli-adapter.js.map