@animalabs/agent-framework 0.22.1 → 0.22.2

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 (359) hide show
  1. package/README.md +1 -1
  2. package/dist/src/agent.d.ts +192 -19
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +404 -65
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/mcp-server-core.d.ts +41 -0
  7. package/dist/src/api/mcp-server-core.d.ts.map +1 -0
  8. package/dist/src/api/mcp-server-core.js +593 -0
  9. package/dist/src/api/mcp-server-core.js.map +1 -0
  10. package/dist/src/api/mcp-server.d.ts +2 -36
  11. package/dist/src/api/mcp-server.d.ts.map +1 -1
  12. package/dist/src/api/mcp-server.js +15 -595
  13. package/dist/src/api/mcp-server.js.map +1 -1
  14. package/dist/src/api/server.d.ts +9 -1
  15. package/dist/src/api/server.d.ts.map +1 -1
  16. package/dist/src/api/server.js +50 -26
  17. package/dist/src/api/server.js.map +1 -1
  18. package/dist/src/api/types.d.ts +9 -1
  19. package/dist/src/api/types.d.ts.map +1 -1
  20. package/dist/src/code-execution/py-runner.d.ts.map +1 -1
  21. package/dist/src/code-execution/py-runner.js.map +1 -1
  22. package/dist/src/framework.d.ts +393 -113
  23. package/dist/src/framework.d.ts.map +1 -1
  24. package/dist/src/framework.js +1748 -582
  25. package/dist/src/framework.js.map +1 -1
  26. package/dist/src/gate/event-gate.d.ts.map +1 -1
  27. package/dist/src/gate/gate-script.d.ts.map +1 -1
  28. package/dist/src/gate/gate-script.js.map +1 -1
  29. package/dist/src/index.d.ts +2 -2
  30. package/dist/src/index.d.ts.map +1 -1
  31. package/dist/src/index.js +2 -2
  32. package/dist/src/index.js.map +1 -1
  33. package/dist/src/mcpl/capability-grant.d.ts.map +1 -1
  34. package/dist/src/mcpl/channel-registry.d.ts +26 -7
  35. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  36. package/dist/src/mcpl/channel-registry.js +102 -22
  37. package/dist/src/mcpl/channel-registry.js.map +1 -1
  38. package/dist/src/mcpl/checkpoint-manager.d.ts.map +1 -1
  39. package/dist/src/mcpl/checkpoint-manager.js.map +1 -1
  40. package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
  41. package/dist/src/mcpl/errors.js.map +1 -1
  42. package/dist/src/mcpl/feature-set-manager.d.ts.map +1 -1
  43. package/dist/src/mcpl/feature-set-manager.js +4 -3
  44. package/dist/src/mcpl/feature-set-manager.js.map +1 -1
  45. package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
  46. package/dist/src/mcpl/inference-router.d.ts.map +1 -1
  47. package/dist/src/mcpl/log-value.d.ts +54 -0
  48. package/dist/src/mcpl/log-value.d.ts.map +1 -0
  49. package/dist/src/mcpl/log-value.js +109 -0
  50. package/dist/src/mcpl/log-value.js.map +1 -0
  51. package/dist/src/mcpl/prose-stream-router.d.ts +6 -6
  52. package/dist/src/mcpl/prose-stream-router.d.ts.map +1 -1
  53. package/dist/src/mcpl/prose-stream-router.js +4 -4
  54. package/dist/src/mcpl/prose-stream-router.js.map +1 -1
  55. package/dist/src/mcpl/push-coalescer.d.ts +38 -3
  56. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
  57. package/dist/src/mcpl/push-coalescer.js +81 -16
  58. package/dist/src/mcpl/push-coalescer.js.map +1 -1
  59. package/dist/src/mcpl/push-handler.d.ts +26 -3
  60. package/dist/src/mcpl/push-handler.d.ts.map +1 -1
  61. package/dist/src/mcpl/push-handler.js +87 -23
  62. package/dist/src/mcpl/push-handler.js.map +1 -1
  63. package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
  64. package/dist/src/mcpl/reference-fetcher.js.map +1 -1
  65. package/dist/src/mcpl/references.d.ts +2 -2
  66. package/dist/src/mcpl/references.d.ts.map +1 -1
  67. package/dist/src/mcpl/references.js.map +1 -1
  68. package/dist/src/mcpl/refusal-lines.d.ts +37 -0
  69. package/dist/src/mcpl/refusal-lines.d.ts.map +1 -0
  70. package/dist/src/mcpl/refusal-lines.js +61 -0
  71. package/dist/src/mcpl/refusal-lines.js.map +1 -0
  72. package/dist/src/mcpl/scope-manager.d.ts.map +1 -1
  73. package/dist/src/mcpl/server-connection.d.ts +18 -2
  74. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  75. package/dist/src/mcpl/server-connection.js +66 -11
  76. package/dist/src/mcpl/server-connection.js.map +1 -1
  77. package/dist/src/mcpl/server-registry.d.ts.map +1 -1
  78. package/dist/src/mcpl/tool-classes.d.ts +1 -1
  79. package/dist/src/mcpl/tool-classes.d.ts.map +1 -1
  80. package/dist/src/mcpl/tool-classes.js +3 -2
  81. package/dist/src/mcpl/tool-classes.js.map +1 -1
  82. package/dist/src/mcpl/tool-lifecycle.d.ts.map +1 -1
  83. package/dist/src/mcpl/tool-lifecycle.js.map +1 -1
  84. package/dist/src/mcpl/transport.d.ts +23 -5
  85. package/dist/src/mcpl/transport.d.ts.map +1 -1
  86. package/dist/src/mcpl/transport.js +103 -10
  87. package/dist/src/mcpl/transport.js.map +1 -1
  88. package/dist/src/mcpl/types.d.ts +30 -26
  89. package/dist/src/mcpl/types.d.ts.map +1 -1
  90. package/dist/src/mcpl/types.js.map +1 -1
  91. package/dist/src/module-registry.d.ts.map +1 -1
  92. package/dist/src/module-registry.js.map +1 -1
  93. package/dist/src/modules/api/index.d.ts.map +1 -1
  94. package/dist/src/modules/discord/discord-js-client.d.ts.map +1 -1
  95. package/dist/src/modules/discord/discord-js-client.js.map +1 -1
  96. package/dist/src/modules/discord/index.d.ts.map +1 -1
  97. package/dist/src/modules/discord/index.js +4 -2
  98. package/dist/src/modules/discord/index.js.map +1 -1
  99. package/dist/src/modules/health/index.d.ts.map +1 -1
  100. package/dist/src/modules/health/index.js.map +1 -1
  101. package/dist/src/modules/history/index.d.ts.map +1 -1
  102. package/dist/src/modules/history/index.js.map +1 -1
  103. package/dist/src/modules/history/semantic.d.ts.map +1 -1
  104. package/dist/src/modules/history/semantic.js.map +1 -1
  105. package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
  106. package/dist/src/modules/workspace/branch-intent.js.map +1 -1
  107. package/dist/src/modules/workspace/disk-agreement.d.ts +22 -4
  108. package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
  109. package/dist/src/modules/workspace/disk-agreement.js +63 -25
  110. package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
  111. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  112. package/dist/src/modules/workspace/index.d.ts +8 -4
  113. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  114. package/dist/src/modules/workspace/index.js +39 -12
  115. package/dist/src/modules/workspace/index.js.map +1 -1
  116. package/dist/src/modules/workspace/observe.d.ts +43 -8
  117. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  118. package/dist/src/modules/workspace/observe.js +264 -39
  119. package/dist/src/modules/workspace/observe.js.map +1 -1
  120. package/dist/src/modules/workspace/reconcile.d.ts +17 -1
  121. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  122. package/dist/src/modules/workspace/reconcile.js +57 -14
  123. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  124. package/dist/src/modules/workspace/types.d.ts +27 -2
  125. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  126. package/dist/src/modules/workspace/types.js.map +1 -1
  127. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  128. package/dist/src/modules/workspace/watcher.js.map +1 -1
  129. package/dist/src/operator-log.d.ts.map +1 -1
  130. package/dist/src/operator-log.js.map +1 -1
  131. package/dist/src/provider-waits.d.ts.map +1 -1
  132. package/dist/src/provider-waits.js.map +1 -1
  133. package/dist/src/queue.d.ts.map +1 -1
  134. package/dist/src/record-journal.d.ts.map +1 -1
  135. package/dist/src/record-journal.js.map +1 -1
  136. package/dist/src/recovery/discord-awareness-outbox.d.ts.map +1 -1
  137. package/dist/src/recovery/discord-awareness-outbox.js.map +1 -1
  138. package/dist/src/recovery/offline-branch.d.ts.map +1 -1
  139. package/dist/src/recovery/offline-branch.js +29 -24
  140. package/dist/src/recovery/offline-branch.js.map +1 -1
  141. package/dist/src/recovery/recover-cli.js.map +1 -1
  142. package/dist/src/runtime/liveness-watchdog.d.ts.map +1 -1
  143. package/dist/src/runtime/liveness-watchdog.js.map +1 -1
  144. package/dist/src/shutdown.d.ts.map +1 -1
  145. package/dist/src/shutdown.js.map +1 -1
  146. package/dist/src/stored-removal.d.ts +73 -0
  147. package/dist/src/stored-removal.d.ts.map +1 -0
  148. package/dist/src/stored-removal.js +100 -0
  149. package/dist/src/stored-removal.js.map +1 -0
  150. package/dist/src/thinking-token-stamp.js.map +1 -1
  151. package/dist/src/tool-image-ledger.d.ts.map +1 -1
  152. package/dist/src/tool-image-ledger.js.map +1 -1
  153. package/dist/src/tool-presentation.d.ts.map +1 -1
  154. package/dist/src/tool-presentation.js.map +1 -1
  155. package/dist/src/tool-result-guard.d.ts.map +1 -1
  156. package/dist/src/tool-result-guard.js.map +1 -1
  157. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  158. package/dist/src/tune-out/coordinator.js.map +1 -1
  159. package/dist/src/tune-out/tools.d.ts +1 -1
  160. package/dist/src/tune-out/tools.d.ts.map +1 -1
  161. package/dist/src/types/agent.d.ts +42 -6
  162. package/dist/src/types/agent.d.ts.map +1 -1
  163. package/dist/src/types/framework.d.ts +10 -0
  164. package/dist/src/types/framework.d.ts.map +1 -1
  165. package/dist/src/types/module.d.ts +8 -4
  166. package/dist/src/types/module.d.ts.map +1 -1
  167. package/dist/src/types/trace.d.ts +61 -10
  168. package/dist/src/types/trace.d.ts.map +1 -1
  169. package/dist/src/usage/usage-tracker.d.ts.map +1 -1
  170. package/dist/test/agent-runtime-settings.test.js +1139 -3
  171. package/dist/test/agent-runtime-settings.test.js.map +1 -1
  172. package/dist/test/batched-wake-locus.test.js.map +1 -1
  173. package/dist/test/channel-label-history.test.js.map +1 -1
  174. package/dist/test/code-execution.test.js.map +1 -1
  175. package/dist/test/conversation-fork-injection-scoping.test.js.map +1 -1
  176. package/dist/test/conversation-router.test.js.map +1 -1
  177. package/dist/test/conversation-routing.test.js +240 -6
  178. package/dist/test/conversation-routing.test.js.map +1 -1
  179. package/dist/test/discord-awareness-outbox.test.js +104 -0
  180. package/dist/test/discord-awareness-outbox.test.js.map +1 -1
  181. package/dist/test/discord-typing-keepalive.test.d.ts +2 -0
  182. package/dist/test/discord-typing-keepalive.test.d.ts.map +1 -0
  183. package/dist/test/discord-typing-keepalive.test.js +77 -0
  184. package/dist/test/discord-typing-keepalive.test.js.map +1 -0
  185. package/dist/test/ephemeral-settle.test.js.map +1 -1
  186. package/dist/test/event-gate-passthrough.test.js.map +1 -1
  187. package/dist/test/event-gate-policy-mutation.test.js.map +1 -1
  188. package/dist/test/event-gate-rate-limit.test.js.map +1 -1
  189. package/dist/test/event-gate-script.test.js.map +1 -1
  190. package/dist/test/event-gate-selfwake.test.js.map +1 -1
  191. package/dist/test/event-gate-tags.test.js.map +1 -1
  192. package/dist/test/event-gate.test.js.map +1 -1
  193. package/dist/test/explicit-prose-routing.test.js +363 -42
  194. package/dist/test/explicit-prose-routing.test.js.map +1 -1
  195. package/dist/test/framework.test.js.map +1 -1
  196. package/dist/test/helpers/coalescing-fixture.d.ts +2 -0
  197. package/dist/test/helpers/coalescing-fixture.d.ts.map +1 -1
  198. package/dist/test/helpers/coalescing-fixture.js +8 -2
  199. package/dist/test/helpers/coalescing-fixture.js.map +1 -1
  200. package/dist/test/helpers/mock-membrane.d.ts.map +1 -1
  201. package/dist/test/helpers/mock-membrane.js.map +1 -1
  202. package/dist/test/hide-then-turn.test.d.ts +2 -0
  203. package/dist/test/hide-then-turn.test.d.ts.map +1 -0
  204. package/dist/test/hide-then-turn.test.js +101 -0
  205. package/dist/test/hide-then-turn.test.js.map +1 -0
  206. package/dist/test/history-module-overview.test.js.map +1 -1
  207. package/dist/test/history-module-semantic.test.js.map +1 -1
  208. package/dist/test/history-module.test.js.map +1 -1
  209. package/dist/test/history-semantic-review-findings.test.js.map +1 -1
  210. package/dist/test/host-quiesce.test.js +125 -0
  211. package/dist/test/host-quiesce.test.js.map +1 -1
  212. package/dist/test/inference-exhaustion-rewind.test.js +81 -3
  213. package/dist/test/inference-exhaustion-rewind.test.js.map +1 -1
  214. package/dist/test/inference-failure-bounds.test.js +1 -0
  215. package/dist/test/inference-failure-bounds.test.js.map +1 -1
  216. package/dist/test/kv-unified-open-flight-retry.test.js.map +1 -1
  217. package/dist/test/liveness-watchdog.test.js.map +1 -1
  218. package/dist/test/maintenance-timer.test.js +1564 -2
  219. package/dist/test/maintenance-timer.test.js.map +1 -1
  220. package/dist/test/mcp-server-bin.test.d.ts +2 -0
  221. package/dist/test/mcp-server-bin.test.d.ts.map +1 -0
  222. package/dist/test/mcp-server-bin.test.js +142 -0
  223. package/dist/test/mcp-server-bin.test.js.map +1 -0
  224. package/dist/test/mcpl-awareness-barrier.test.js.map +1 -1
  225. package/dist/test/mcpl-child-env.test.js +1 -1
  226. package/dist/test/mcpl-child-env.test.js.map +1 -1
  227. package/dist/test/mcpl-coalesced-content-parity.test.d.ts +2 -0
  228. package/dist/test/mcpl-coalesced-content-parity.test.d.ts.map +1 -0
  229. package/dist/test/mcpl-coalesced-content-parity.test.js +532 -0
  230. package/dist/test/mcpl-coalesced-content-parity.test.js.map +1 -0
  231. package/dist/test/mcpl-coalescing.test.js.map +1 -1
  232. package/dist/test/mcpl-config-diagnostics.test.js.map +1 -1
  233. package/dist/test/mcpl-gate-roundtrip.test.js.map +1 -1
  234. package/dist/test/mcpl-manifest-changed.test.js.map +1 -1
  235. package/dist/test/mcpl-reconnect-events.test.js.map +1 -1
  236. package/dist/test/mcpl-reconnect-reregistration.test.js +2 -0
  237. package/dist/test/mcpl-reconnect-reregistration.test.js.map +1 -1
  238. package/dist/test/mcpl-reference-fetcher.test.js.map +1 -1
  239. package/dist/test/mcpl-reference-fields.test.js.map +1 -1
  240. package/dist/test/mcpl-rejection-log-lines.test.d.ts +2 -0
  241. package/dist/test/mcpl-rejection-log-lines.test.d.ts.map +1 -0
  242. package/dist/test/mcpl-rejection-log-lines.test.js +349 -0
  243. package/dist/test/mcpl-rejection-log-lines.test.js.map +1 -0
  244. package/dist/test/mcpl-stderr-tail.test.d.ts +2 -0
  245. package/dist/test/mcpl-stderr-tail.test.d.ts.map +1 -0
  246. package/dist/test/mcpl-stderr-tail.test.js +210 -0
  247. package/dist/test/mcpl-stderr-tail.test.js.map +1 -0
  248. package/dist/test/mcpl-tool-lifecycle-e2e.test.js.map +1 -1
  249. package/dist/test/mcpl-tool-lifecycle-emitter.test.js.map +1 -1
  250. package/dist/test/mcpl-tool-lifecycle-script.test.js.map +1 -1
  251. package/dist/test/mcpl-tool-lifecycle.test.js.map +1 -1
  252. package/dist/test/mcpl-transport-close.test.d.ts +2 -0
  253. package/dist/test/mcpl-transport-close.test.d.ts.map +1 -0
  254. package/dist/test/mcpl-transport-close.test.js +373 -0
  255. package/dist/test/mcpl-transport-close.test.js.map +1 -0
  256. package/dist/test/mcpl-transport-spawn.test.d.ts +2 -0
  257. package/dist/test/mcpl-transport-spawn.test.d.ts.map +1 -0
  258. package/dist/test/mcpl-transport-spawn.test.js +58 -0
  259. package/dist/test/mcpl-transport-spawn.test.js.map +1 -0
  260. package/dist/test/mcpl-ws-transport.test.js +1 -0
  261. package/dist/test/mcpl-ws-transport.test.js.map +1 -1
  262. package/dist/test/offline-recovery-branch.test.js +344 -0
  263. package/dist/test/offline-recovery-branch.test.js.map +1 -1
  264. package/dist/test/operator-surgery.test.js +197 -0
  265. package/dist/test/operator-surgery.test.js.map +1 -1
  266. package/dist/test/overbudget-drain-breaker.test.js +1 -0
  267. package/dist/test/overbudget-drain-breaker.test.js.map +1 -1
  268. package/dist/test/pack-installs-alone.test.d.ts +2 -0
  269. package/dist/test/pack-installs-alone.test.d.ts.map +1 -0
  270. package/dist/test/pack-installs-alone.test.js +284 -0
  271. package/dist/test/pack-installs-alone.test.js.map +1 -0
  272. package/dist/test/physical-window-restart.test.d.ts +6 -4
  273. package/dist/test/physical-window-restart.test.d.ts.map +1 -1
  274. package/dist/test/physical-window-restart.test.js +275 -10
  275. package/dist/test/physical-window-restart.test.js.map +1 -1
  276. package/dist/test/placed-reaction-baseline.test.js.map +1 -1
  277. package/dist/test/present-while-acting.test.js +949 -6
  278. package/dist/test/present-while-acting.test.js.map +1 -1
  279. package/dist/test/provider-acceleration-cooldown.test.js.map +1 -1
  280. package/dist/test/provider-waits.test.js +67 -4
  281. package/dist/test/provider-waits.test.js.map +1 -1
  282. package/dist/test/puppet-tool-call.test.js +2 -0
  283. package/dist/test/puppet-tool-call.test.js.map +1 -1
  284. package/dist/test/reaction-baseline-platform.test.js.map +1 -1
  285. package/dist/test/record-journal.test.js.map +1 -1
  286. package/dist/test/refusal-rewind.test.js +9 -0
  287. package/dist/test/refusal-rewind.test.js.map +1 -1
  288. package/dist/test/refusal-single-call.test.js.map +1 -1
  289. package/dist/test/release-bump.test.d.ts +2 -0
  290. package/dist/test/release-bump.test.d.ts.map +1 -0
  291. package/dist/test/release-bump.test.js +248 -0
  292. package/dist/test/release-bump.test.js.map +1 -0
  293. package/dist/test/release-changelog.test.js.map +1 -1
  294. package/dist/test/release-holds.test.d.ts +2 -0
  295. package/dist/test/release-holds.test.d.ts.map +1 -0
  296. package/dist/test/release-holds.test.js +456 -0
  297. package/dist/test/release-holds.test.js.map +1 -0
  298. package/dist/test/same-round-think-policy.test.js.map +1 -1
  299. package/dist/test/shutdown-errors.test.js.map +1 -1
  300. package/dist/test/silent-heartbeat-rows.test.js.map +1 -1
  301. package/dist/test/stop-with-host-operations.test.d.ts +20 -0
  302. package/dist/test/stop-with-host-operations.test.d.ts.map +1 -0
  303. package/dist/test/stop-with-host-operations.test.js +1174 -0
  304. package/dist/test/stop-with-host-operations.test.js.map +1 -0
  305. package/dist/test/stop-with-work-in-flight.test.js +162 -50
  306. package/dist/test/stop-with-work-in-flight.test.js.map +1 -1
  307. package/dist/test/surgery-marks-receipt.test.js.map +1 -1
  308. package/dist/test/tool-batch-hook.test.js.map +1 -1
  309. package/dist/test/tool-result-guard.test.js +131 -9
  310. package/dist/test/tool-result-guard.test.js.map +1 -1
  311. package/dist/test/tool-result-spill.test.js.map +1 -1
  312. package/dist/test/tool-wrapper-prose-guard-integration.test.js.map +1 -1
  313. package/dist/test/trunk-channel-routing.test.js +330 -7
  314. package/dist/test/trunk-channel-routing.test.js.map +1 -1
  315. package/dist/test/tune-out-e2e.test.js.map +1 -1
  316. package/dist/test/unconvertible-tool-result.test.js.map +1 -1
  317. package/dist/test/unsent-compiles.test.d.ts +2 -0
  318. package/dist/test/unsent-compiles.test.d.ts.map +1 -0
  319. package/dist/test/unsent-compiles.test.js +139 -0
  320. package/dist/test/unsent-compiles.test.js.map +1 -0
  321. package/dist/test/workspace-branch-continuation.test.js.map +1 -1
  322. package/dist/test/workspace-materialize-freshness.test.js.map +1 -1
  323. package/dist/test/workspace-read-text.test.js.map +1 -1
  324. package/dist/test/workspace-three-way.test.js +907 -7
  325. package/dist/test/workspace-three-way.test.js.map +1 -1
  326. package/dist/test/workspace-watcher.test.js.map +1 -1
  327. package/dist/test/xml-round-persist.test.js.map +1 -1
  328. package/dist/tsconfig.tsbuildinfo +1 -1
  329. package/package.json +8 -6
  330. package/src/agent.ts +411 -66
  331. package/src/api/mcp-server-core.ts +681 -0
  332. package/src/api/mcp-server.ts +16 -685
  333. package/src/api/server.ts +51 -29
  334. package/src/api/types.ts +9 -1
  335. package/src/framework.ts +1899 -641
  336. package/src/index.ts +2 -2
  337. package/src/mcpl/channel-registry.ts +126 -31
  338. package/src/mcpl/feature-set-manager.ts +4 -3
  339. package/src/mcpl/log-value.ts +116 -0
  340. package/src/mcpl/prose-stream-router.ts +6 -6
  341. package/src/mcpl/push-coalescer.ts +76 -12
  342. package/src/mcpl/push-handler.ts +95 -23
  343. package/src/mcpl/refusal-lines.ts +59 -0
  344. package/src/mcpl/server-connection.ts +70 -11
  345. package/src/mcpl/tool-classes.ts +3 -2
  346. package/src/mcpl/transport.ts +105 -14
  347. package/src/mcpl/types.ts +5 -1
  348. package/src/modules/discord/index.ts +4 -2
  349. package/src/modules/workspace/disk-agreement.ts +74 -18
  350. package/src/modules/workspace/index.ts +41 -11
  351. package/src/modules/workspace/observe.ts +265 -39
  352. package/src/modules/workspace/reconcile.ts +71 -14
  353. package/src/modules/workspace/types.ts +26 -1
  354. package/src/recovery/offline-branch.ts +32 -28
  355. package/src/stored-removal.ts +126 -0
  356. package/src/types/agent.ts +42 -6
  357. package/src/types/framework.ts +10 -0
  358. package/src/types/module.ts +8 -4
  359. package/src/types/trace.ts +62 -11
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-fork-injection-scoping.test.js","sourceRoot":"","sources":["../../test/conversation-fork-injection-scoping.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-fork-injection-scoping.test.js","sourceRoot":"","sources":["../../test/conversation-fork-injection-scoping.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-router.test.js","sourceRoot":"","sources":["../../test/conversation-router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-router.test.js","sourceRoot":"","sources":["../../test/conversation-router.test.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { tmpdir } from 'node:os';
9
9
  import { mkdtempSync, rmSync } from 'node:fs';
10
10
  import { join } from 'node:path';
11
11
  import { AgentFramework } from '../src/index.js';
12
+ import { Membrane, OpenAIResponsesAPIAdapter, OpenAIResponsesFormatter } from '@animalabs/membrane';
12
13
  import { MockMembrane, createMockResponse } from './helpers/mock-membrane.js';
13
14
  function incomingEvent(overrides) {
14
15
  return {
@@ -165,20 +166,253 @@ describe('Conversation routing', () => {
165
166
  assert.equal(membrane.calls.length, callsAfterSpawn, 'ambient message must not trigger inference');
166
167
  await framework.stop();
167
168
  });
168
- it('fork inherits the template context', async () => {
169
+ /** Spawn the fork for `slack:D3`, and return what its namespace was seeded
170
+ * with and the `[conversation]` lines the spawn logged. */
171
+ async function seedOf(framework) {
172
+ const log = mock.method(console, 'log', () => { });
173
+ let lines;
174
+ try {
175
+ framework.pushEvent(incomingEvent({ channelId: 'slack:D3', text: 'hi', channelType: 'im' }));
176
+ await framework.runUntilIdle();
177
+ lines = log.mock.calls.map((c) => String(c.arguments[0])).filter((line) => line.startsWith('[conversation]'));
178
+ }
179
+ finally {
180
+ log.mock.restore();
181
+ }
182
+ const seeded = framework.getAgent('conversation-slack-D3-g1').getContextManager().getAllMessages();
183
+ return { seeded, lines };
184
+ }
185
+ /** The line a spawn logs for a seed that left something out. */
186
+ function seedLine(thinking, calls, results) {
187
+ return `[conversation] conversation-slack-D3-g1: seeded from trunk without ${thinking} thinking block(s), ` +
188
+ `${calls} unanswered tool call(s) and ${results} orphaned tool result(s)`;
189
+ }
190
+ it('fork inherits the template context, and a seed that leaves nothing out logs nothing', async () => {
169
191
  membrane.pushResponse(createMockResponse([{ type: 'text', text: 'ok' }]));
170
192
  const framework = await makeFramework();
171
193
  // Seed the trunk (primary agent) with handbook-like content.
172
194
  framework.getAgent('trunk').getContextManager().addMessage('user', [
173
195
  { type: 'text', text: 'HANDBOOK: always check the logs first.' },
174
196
  ]);
175
- framework.pushEvent(incomingEvent({ channelId: 'slack:D2', text: 'hi', channelType: 'im' }));
176
- await framework.runUntilIdle();
177
- const fork = framework.getAgent('conversation-slack-D2-g1');
178
- const { messages } = await fork.getContextManager().compile();
179
- assert.ok(messages.some((m) => JSON.stringify(m.content).includes('HANDBOOK')), 'fork should inherit trunk context');
197
+ const { seeded, lines } = await seedOf(framework);
198
+ assert.ok(seeded.some((m) => JSON.stringify(m.content).includes('HANDBOOK')), 'fork should inherit trunk context');
199
+ assert.deepEqual(lines, [], 'a seed with nothing left out logs no line');
180
200
  await framework.stop();
181
201
  });
202
+ it("a fork's seed is a dry run, and carries none of the template's thinking", async () => {
203
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'ok' }]));
204
+ const framework = await makeFramework();
205
+ const trunk = framework.getAgent('trunk').getContextManager();
206
+ trunk.addMessage('user', [{ type: 'text', text: 'HANDBOOK: always check the logs first.' }]);
207
+ trunk.addMessage('trunk', [
208
+ { type: 'thinking', thinking: 'minted under the trunk\'s prefix', signature: 'sig-trunk' },
209
+ { type: 'text', text: 'Checked the logs.' },
210
+ ]);
211
+ trunk.addMessage('trunk', [{ type: 'redacted_thinking', data: 'opaque' }]);
212
+ // Every compile on any context manager during the spawn, by instance.
213
+ const proto = trunk.constructor.prototype;
214
+ const original = proto.compile;
215
+ const compiles = [];
216
+ proto.compile = function (...args) {
217
+ compiles.push({ cm: this, dry: args[2]?.dryRun === true });
218
+ return original.apply(this, args);
219
+ };
220
+ let seed;
221
+ try {
222
+ seed = await seedOf(framework);
223
+ }
224
+ finally {
225
+ proto.compile = original;
226
+ }
227
+ const { seeded, lines } = seed;
228
+ const fork = framework.getAgent('conversation-slack-D3-g1').getContextManager();
229
+ const onTrunk = compiles.filter((c) => c.cm === trunk);
230
+ assert.ok(onTrunk.length >= 1, 'the seed compiled the template');
231
+ assert.ok(onTrunk.every((c) => c.dry), "the template's compiles during the spawn are dry runs");
232
+ assert.equal(compiles.find((c) => c.cm === fork)?.dry, true, "the new namespace's emptiness check is a dry run");
233
+ const types = seeded.flatMap((m) => m.content.map((b) => b.type));
234
+ assert.ok(!types.includes('thinking') && !types.includes('redacted_thinking'), `no thinking in the seed: ${types}`);
235
+ const texts = seeded.map((m) => JSON.stringify(m.content));
236
+ assert.ok(texts.some((t) => t.includes('HANDBOOK')) && texts.some((t) => t.includes('Checked the logs.')));
237
+ assert.ok(seeded.some((m) => m.participant === 'conversation-slack-D3-g1'
238
+ && JSON.stringify(m.content).includes('Checked the logs.')), "the reply keeps its text, under the fork's name");
239
+ assert.ok(seeded.every((m) => m.content.length > 0), 'the thinking-only message is left out, not stored empty');
240
+ assert.deepEqual(lines, [seedLine(2, 0, 0)], 'one line counts what the seed left out');
241
+ await framework.stop();
242
+ });
243
+ it("a seed that ends on a completed tool round keeps the round, without its thinking", async () => {
244
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'ok' }]));
245
+ const framework = await makeFramework();
246
+ const trunk = framework.getAgent('trunk').getContextManager();
247
+ trunk.addMessage('user', [{ type: 'text', text: 'check the logs' }]);
248
+ trunk.addMessage('trunk', [
249
+ { type: 'thinking', thinking: 'the logs first', signature: 'sig-round' },
250
+ { type: 'tool_use', id: 'toolu_logs', name: 'read_logs', input: {} },
251
+ ]);
252
+ trunk.addMessage('user', [{ type: 'tool_result', toolUseId: 'toolu_logs', content: 'all quiet' }]);
253
+ const { seeded, lines } = await seedOf(framework);
254
+ const contents = seeded.map((m) => m.content);
255
+ const round = contents.findIndex((c) => c.some((b) => b.type === 'tool_use'));
256
+ assert.ok(round >= 0, 'the round is in the seed');
257
+ assert.deepEqual(contents[round].map((b) => b.type), ['tool_use'], 'its call stays, its thinking goes');
258
+ assert.equal(seeded[round].participant, 'conversation-slack-D3-g1');
259
+ assert.deepEqual(contents[round + 1].map((b) => b.type), ['tool_result'], 'its result follows it');
260
+ assert.deepEqual(lines, [seedLine(1, 0, 0)]);
261
+ await framework.stop();
262
+ });
263
+ it("a seed's unanswered call gives way to a placeholder, and the seed ends on neither it nor a thinking-only row", async () => {
264
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'ok' }]));
265
+ const framework = await makeFramework();
266
+ const trunk = framework.getAgent('trunk').getContextManager();
267
+ trunk.addMessage('user', [{ type: 'text', text: 'check the logs' }]);
268
+ trunk.addMessage('trunk', [{ type: 'text', text: 'Looking.' }]);
269
+ // A tool round's assistant row, stored before its results (the spawn can
270
+ // land between the two when the coalescer spawns outside the event loop),
271
+ // and a thinking-only row after it.
272
+ trunk.addMessage('trunk', [
273
+ { type: 'thinking', thinking: 'mid-round', signature: 'sig-mid' },
274
+ { type: 'tool_use', id: 'toolu_pending', name: 'read_logs', input: {} },
275
+ ]);
276
+ trunk.addMessage('trunk', [{ type: 'thinking', thinking: 'still thinking', signature: 'sig-after' }]);
277
+ const { seeded, lines } = await seedOf(framework);
278
+ const types = seeded.flatMap((m) => m.content.map((b) => b.type));
279
+ assert.ok(!types.includes('tool_use') && !types.includes('thinking'), `no unanswered call or thinking in the seed: ${types}`);
280
+ // The seed is everything before the fork's own first message ('hi').
281
+ const firstOwn = seeded.findIndex((m) => JSON.stringify(m.content).includes('"hi"'));
282
+ assert.ok(firstOwn > 1, 'the incoming message follows the seed');
283
+ // The thinking goes first, so the round's row holds only its unanswered
284
+ // call, which the pairing pass replaces with its placeholder.
285
+ const last = seeded[firstOwn - 1];
286
+ assert.deepEqual(last.content.map((b) => b.type), ['text']);
287
+ assert.ok(JSON.stringify(last.content).includes('[tool call omitted]'), `the seed ends on the placeholder: ${JSON.stringify(last.content)}`);
288
+ assert.equal(last.participant, 'conversation-slack-D3-g1');
289
+ assert.ok(JSON.stringify(seeded[firstOwn - 2].content).includes('Looking.'), 'the exchange before the round stays');
290
+ assert.deepEqual(lines, [seedLine(2, 1, 0)]);
291
+ await framework.stop();
292
+ });
293
+ it("a seed keeps a partly answered round's answered call and drops the other, drops an orphaned result and a trailing unanswered call, and keeps the text beside each", async () => {
294
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'ok' }]));
295
+ const framework = await makeFramework();
296
+ const trunk = framework.getAgent('trunk').getContextManager();
297
+ // A result whose call isn't in the history (as where a window starts
298
+ // after the call), beside the user's text.
299
+ trunk.addMessage('user', [
300
+ { type: 'tool_result', toolUseId: 'toolu_gone', content: 'stale' },
301
+ { type: 'text', text: 'check both' },
302
+ ]);
303
+ // A parallel round with one of its two calls answered.
304
+ trunk.addMessage('trunk', [
305
+ { type: 'text', text: 'Checking both.' },
306
+ { type: 'tool_use', id: 'toolu_a', name: 'read_logs', input: {} },
307
+ { type: 'tool_use', id: 'toolu_b', name: 'read_config', input: {} },
308
+ ]);
309
+ trunk.addMessage('user', [{ type: 'tool_result', toolUseId: 'toolu_a', content: 'all quiet' }]);
310
+ // The next round's row, stored before its result: thinking, text and a call.
311
+ trunk.addMessage('trunk', [
312
+ { type: 'thinking', thinking: 'the config next', signature: 'sig-next' },
313
+ { type: 'text', text: 'And the config.' },
314
+ { type: 'tool_use', id: 'toolu_c', name: 'read_config', input: {} },
315
+ ]);
316
+ const { seeded, lines } = await seedOf(framework);
317
+ const blocks = seeded.flatMap((m) => m.content);
318
+ assert.deepEqual(blocks.filter((b) => b.type === 'tool_use').map((b) => b.id), ['toolu_a'], 'the answered call stays, the unanswered ones go');
319
+ assert.deepEqual(blocks.filter((b) => b.type === 'tool_result').map((b) => b.toolUseId), ['toolu_a'], 'its result stays, the orphaned one goes');
320
+ const round = seeded.find((m) => m.content.some((b) => b.type === 'tool_use'));
321
+ assert.deepEqual(round.content.map((b) => b.type), ['text', 'tool_use'], "the round's text stays beside its answered call");
322
+ assert.ok(seeded.some((m) => JSON.stringify(m.content).includes('check both')), "the user's text stays beside the orphaned result");
323
+ const trailing = seeded.find((m) => JSON.stringify(m.content).includes('And the config.'));
324
+ assert.deepEqual(trailing.content.map((b) => b.type), ['text'], "the trailing row keeps its text, without its thinking or its unanswered call");
325
+ assert.deepEqual(lines, [seedLine(1, 2, 1)]);
326
+ await framework.stop();
327
+ });
328
+ /** A Responses reply as membrane stores it: `output` through membrane's own
329
+ * Responses adapter and its conversion to content blocks, with the HTTP
330
+ * call stubbed. */
331
+ async function storedResponsesReply(output) {
332
+ const completed = {
333
+ type: 'response.completed',
334
+ response: { id: 'resp_seed', status: 'completed', output, usage: { input_tokens: 1, output_tokens: 1 } },
335
+ };
336
+ const realFetch = globalThis.fetch;
337
+ globalThis.fetch = (async () => new Response(`data: ${JSON.stringify(completed)}\n\n`, {
338
+ status: 200,
339
+ headers: { 'content-type': 'text/event-stream' },
340
+ }));
341
+ try {
342
+ const responses = new Membrane(new OpenAIResponsesAPIAdapter({ apiKey: 'test' }), {
343
+ formatter: new OpenAIResponsesFormatter(),
344
+ });
345
+ const response = await responses.stream({
346
+ messages: [{ participant: 'user', content: [{ type: 'text', text: 'what changed?' }] }],
347
+ config: { model: 'gpt-test', maxTokens: 100 },
348
+ tools: [{ name: 'read_config', description: 'Read the config.', inputSchema: { type: 'object', properties: {} } }],
349
+ });
350
+ return response.content;
351
+ }
352
+ finally {
353
+ globalThis.fetch = realFetch;
354
+ }
355
+ }
356
+ it("a Responses seed replays no item paired with the reasoning it left out; opaque carriers stay whole", async () => {
357
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'ok' }]));
358
+ const framework = await makeFramework();
359
+ const trunk = framework.getAgent('trunk').getContextManager();
360
+ trunk.addMessage('user', [{ type: 'text', text: 'what changed?' }]);
361
+ // A reply holding a compaction, a reasoning item, a hosted web search, a
362
+ // message and a function call, as membrane stores it.
363
+ trunk.addMessage('trunk', await storedResponsesReply([
364
+ { type: 'compaction', id: 'cmp_1', encrypted_content: 'earlier history' },
365
+ { type: 'reasoning', id: 'rs_1', encrypted_content: 'enc', summary: [] },
366
+ { type: 'web_search_call', id: 'ws_1', status: 'completed', action: { type: 'search', query: 'config' } },
367
+ { type: 'message', id: 'msg_1', role: 'assistant', status: 'completed', content: [{ type: 'output_text', text: 'The config.' }] },
368
+ { type: 'function_call', id: 'fc_1', call_id: 'call_1', name: 'read_config', arguments: '{}', status: 'completed' },
369
+ ]));
370
+ trunk.addMessage('user', [{ type: 'tool_result', toolUseId: 'call_1', content: 'ok' }]);
371
+ // A reply with no reasoning item: nothing it was paired with is left out,
372
+ // so it replays as it was.
373
+ trunk.addMessage('trunk', await storedResponsesReply([
374
+ { type: 'message', id: 'msg_2', role: 'assistant', status: 'completed', content: [{ type: 'output_text', text: 'Read it.' }] },
375
+ ]));
376
+ // An Anthropic reply in the same history: its thinking carries no raw item.
377
+ trunk.addMessage('trunk', [
378
+ { type: 'thinking', thinking: 'plain', signature: 'sig-plain' },
379
+ { type: 'text', text: 'Done.' },
380
+ ]);
381
+ const { seeded } = await seedOf(framework);
382
+ const items = new OpenAIResponsesFormatter().buildMessages(seeded.map((m) => ({ participant: m.participant, content: m.content })), { participantMode: 'simple', assistantParticipant: 'conversation-slack-D3-g1', humanParticipant: 'user', systemPrompt: 'fork' }).messages;
383
+ const ids = items.map((item) => item.id).filter((id) => id !== undefined);
384
+ assert.deepEqual(ids, ['cmp_1', 'ws_1', 'msg_2'], `only the opaque carriers and the unpaired reply replay by id: ${JSON.stringify(items)}`);
385
+ assert.ok(!items.some((item) => item.type === 'reasoning'), 'the reasoning item is left out');
386
+ assert.ok(items.some((item) => item.type === 'function_call' && item.call_id === 'call_1'), 'the call renders from its fields');
387
+ assert.ok(items.some((item) => item.type === 'message' && JSON.stringify(item.content).includes('The config.')), 'the text renders from its fields');
388
+ const plain = seeded.find((m) => JSON.stringify(m.content).includes('Done.'));
389
+ assert.deepEqual(plain.content.map((b) => b.type), ['text'], "an Anthropic reply loses only its thinking");
390
+ await framework.stop();
391
+ });
392
+ it("a fork whose namespace already holds history isn't seeded again", async () => {
393
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'noted' }]));
394
+ const fw1 = await makeFramework({}, 'reseed.chronicle');
395
+ fw1.getAgent('trunk').getContextManager().addMessage('user', [
396
+ { type: 'text', text: 'HANDBOOK-V1: always check the logs first.' },
397
+ ]);
398
+ fw1.pushEvent(incomingEvent({ channelId: 'slack:D8', text: 'case one', channelType: 'im' }));
399
+ await fw1.runUntilIdle();
400
+ assert.ok(fw1.getAgent('conversation-slack-D8-g1'), 'first engagement spawns g1');
401
+ await fw1.stop();
402
+ // Restart with the generation counters lost, so the next engagement
403
+ // proposes g1 again, and its namespace already holds g1's history.
404
+ membrane.pushResponse(createMockResponse([{ type: 'text', text: 'again' }]));
405
+ const fw2 = await makeFramework({}, 'reseed.chronicle');
406
+ fw2.getConversationRouter().generations.clear();
407
+ fw2.pushEvent(incomingEvent({ channelId: 'slack:D8', text: 'case two', channelType: 'im' }));
408
+ await fw2.runUntilIdle();
409
+ const g1 = fw2.getAgent('conversation-slack-D8-g1');
410
+ assert.ok(g1, 'the lost counters propose g1 again');
411
+ const contents = g1.getContextManager().getAllMessages().map((m) => JSON.stringify(m.content));
412
+ assert.equal(contents.filter((c) => c.includes('HANDBOOK-V1')).length, 1, 'no second template copy on its history');
413
+ assert.ok(contents.some((c) => c.includes('case one')), 'its own history stays');
414
+ await fw2.stop();
415
+ });
182
416
  // Exercise the delivery boundary without scheduling inference. The same
183
417
  // handler receives ordinary channel traffic and coalesced fixed-audience notices.
184
418
  async function deliver(framework, channelId, text, deliverTo) {
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-routing.test.js","sourceRoot":"","sources":["../../test/conversation-routing.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-routing.test.js","sourceRoot":"","sources":["../../test/conversation-routing.test.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,103 @@ test('framework resumes an interrupted suppression before activating its markers
129
129
  rmSync(dir, { recursive: true, force: true });
130
130
  }
131
131
  });
132
+ test('a resumed suppression removes a one-shard body as a range and a message outside any body alone', async () => {
133
+ const dir = mkdtempSync(join(tmpdir(), 'discord-awareness-resume-shard-'));
134
+ const path = join(dir, 'outbox.json');
135
+ try {
136
+ const outbox = new DiscordAwarenessOutbox(path);
137
+ const batch = outbox.prepare({
138
+ agentName: 'cairn',
139
+ sourceBranch: 'main',
140
+ targetBranch: 'recovery/cairn/suppressed',
141
+ activationPolicy: 'explicit',
142
+ suppressionIntervals: [
143
+ { fromId: 'plain', toId: 'plain' },
144
+ { fromId: 'shard', toId: 'shard' },
145
+ ],
146
+ refs: [
147
+ { serverId: 'discord', channelId: 'discord:g1:c1', messageId: 'm1' },
148
+ ],
149
+ });
150
+ const present = new Set(['plain', 'shard']);
151
+ const removals = [];
152
+ // As context-manager 0.14 does, removeMessage refuses a shard, a
153
+ // one-shard body's included.
154
+ const cm = {
155
+ getMessage: (id) => present.has(id)
156
+ ? { id, ...(id === 'shard' ? { bodyGroupId: 'doc', shardIndex: 0 } : {}) }
157
+ : null,
158
+ removeMessage: (id) => {
159
+ if (id === 'shard')
160
+ throw new Error(`Cannot remove shard ${id} in isolation: it is part of bodyGroup doc.`);
161
+ present.delete(id);
162
+ removals.push(id);
163
+ },
164
+ removeMessages: (from, to) => {
165
+ present.delete(from);
166
+ present.delete(to);
167
+ removals.push(`${from}..${to}`);
168
+ },
169
+ };
170
+ const framework = Object.create(AgentFramework.prototype);
171
+ framework.discordAwarenessOutbox = outbox;
172
+ framework.store = {
173
+ currentBranch: () => ({ name: 'recovery/cairn/suppressed' }),
174
+ listBranches: () => [],
175
+ };
176
+ framework.agents = new Map([['cairn', { getContextManager: () => cm }]]);
177
+ await framework.resumePreparedDiscordSuppressions();
178
+ assert.deepEqual(removals, ['shard..shard', 'plain']);
179
+ assert.equal(outbox.batches().find((candidate) => candidate.id === batch.id)?.status, 'active');
180
+ }
181
+ finally {
182
+ rmSync(dir, { recursive: true, force: true });
183
+ }
184
+ });
185
+ test('a resumed suppression skips an interval that committed before the crash, and refuses one only partly present', async () => {
186
+ const dir = mkdtempSync(join(tmpdir(), 'discord-awareness-resume-states-'));
187
+ try {
188
+ const run = async (present) => {
189
+ const outbox = new DiscordAwarenessOutbox(join(dir, `outbox-${[...present].join('-') || 'none'}.json`));
190
+ const batch = outbox.prepare({
191
+ agentName: 'cairn',
192
+ sourceBranch: 'main',
193
+ targetBranch: 'recovery/cairn/suppressed',
194
+ activationPolicy: 'explicit',
195
+ suppressionIntervals: [
196
+ { fromId: 'a0', toId: 'a1' },
197
+ { fromId: 'b0', toId: 'b1' },
198
+ ],
199
+ refs: [{ serverId: 'discord', channelId: 'discord:g1:c1', messageId: 'm1' }],
200
+ });
201
+ const removals = [];
202
+ const cm = {
203
+ getMessage: (id) => (present.has(id) ? { id } : null),
204
+ removeMessage: (id) => { present.delete(id); removals.push(id); },
205
+ removeMessages: (from, to) => { present.delete(from); present.delete(to); removals.push(`${from}..${to}`); },
206
+ };
207
+ const framework = Object.create(AgentFramework.prototype);
208
+ framework.discordAwarenessOutbox = outbox;
209
+ framework.store = { currentBranch: () => ({ name: 'recovery/cairn/suppressed' }), listBranches: () => [] };
210
+ framework.agents = new Map([['cairn', { getContextManager: () => cm }]]);
211
+ const outcome = await framework.resumePreparedDiscordSuppressions().then(() => 'resumed', (error) => error.message);
212
+ return { outcome, removals, status: outbox.batches().find((candidate) => candidate.id === batch.id)?.status };
213
+ };
214
+ // The later interval committed before the crash: only the earlier is removed.
215
+ const committed = await run(new Set(['a0', 'a1']));
216
+ assert.equal(committed.outcome, 'resumed');
217
+ assert.deepEqual(committed.removals, ['a0..a1']);
218
+ assert.equal(committed.status, 'active');
219
+ // An interval with one end gone isn't safe to finish.
220
+ const partial = await run(new Set(['a0', 'a1', 'b0']));
221
+ assert.match(partial.outcome, /interval b0\.\.b1 is only partially present/);
222
+ assert.deepEqual(partial.removals, []);
223
+ assert.equal(partial.status, 'prepared');
224
+ }
225
+ finally {
226
+ rmSync(dir, { recursive: true, force: true });
227
+ }
228
+ });
132
229
  test('framework drain records failures per ref and continues past permanent failures', async () => {
133
230
  const dir = mkdtempSync(join(tmpdir(), 'discord-awareness-drain-'));
134
231
  const path = join(dir, 'outbox.json');
@@ -247,6 +344,13 @@ test('message-granular undo prepares markers before switching branches', async (
247
344
  framework.nextTurnToken = 1;
248
345
  framework.deferredMessages = [];
249
346
  framework.pendingAssistantBlocks = new Map();
347
+ // A host/command and a store surgery are operations stop() waits for.
348
+ framework.operatorOperations = new Set();
349
+ // A surgery waits for maintenance work that is running: here, none.
350
+ framework.maintenancePass = null;
351
+ framework.overBudgetDrains = new Set();
352
+ // Its hold wakes maintenance calls parked at the provider gates: here, none.
353
+ framework.providerGates = new Map();
250
354
  framework.operatorLog = new OperatorLog(undefined);
251
355
  const result = await framework.handleHostCommand('discord', {
252
356
  command: 'undo', agentName: 'cairn', messages: 2,