@animalabs/agent-framework 0.26.2 → 0.28.0

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 (371) hide show
  1. package/README.md +99 -8
  2. package/dist/src/agent.d.ts +291 -23
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +596 -61
  5. package/dist/src/agent.js.map +1 -1
  6. package/dist/src/api/server.d.ts.map +1 -1
  7. package/dist/src/api/server.js +5 -4
  8. package/dist/src/api/server.js.map +1 -1
  9. package/dist/src/auto-continue.d.ts +34 -0
  10. package/dist/src/auto-continue.d.ts.map +1 -0
  11. package/dist/src/auto-continue.js +36 -0
  12. package/dist/src/auto-continue.js.map +1 -0
  13. package/dist/src/code-execution/isolate/scripts.d.ts +11 -0
  14. package/dist/src/code-execution/isolate/scripts.d.ts.map +1 -1
  15. package/dist/src/code-execution/isolate/scripts.js +5 -1
  16. package/dist/src/code-execution/isolate/scripts.js.map +1 -1
  17. package/dist/src/cut-off-round.d.ts +24 -0
  18. package/dist/src/cut-off-round.d.ts.map +1 -0
  19. package/dist/src/cut-off-round.js +87 -0
  20. package/dist/src/cut-off-round.js.map +1 -0
  21. package/dist/src/framework.d.ts +1038 -193
  22. package/dist/src/framework.d.ts.map +1 -1
  23. package/dist/src/framework.js +5967 -1514
  24. package/dist/src/framework.js.map +1 -1
  25. package/dist/src/gate/event-gate.d.ts +405 -46
  26. package/dist/src/gate/event-gate.d.ts.map +1 -1
  27. package/dist/src/gate/event-gate.js +2646 -399
  28. package/dist/src/gate/event-gate.js.map +1 -1
  29. package/dist/src/gate/index.d.ts +3 -2
  30. package/dist/src/gate/index.d.ts.map +1 -1
  31. package/dist/src/gate/index.js +2 -1
  32. package/dist/src/gate/index.js.map +1 -1
  33. package/dist/src/gate/recipe-reconcile.d.ts +103 -0
  34. package/dist/src/gate/recipe-reconcile.d.ts.map +1 -0
  35. package/dist/src/gate/recipe-reconcile.js +325 -0
  36. package/dist/src/gate/recipe-reconcile.js.map +1 -0
  37. package/dist/src/gate/reply-judge.d.ts +116 -0
  38. package/dist/src/gate/reply-judge.d.ts.map +1 -0
  39. package/dist/src/gate/reply-judge.js +467 -0
  40. package/dist/src/gate/reply-judge.js.map +1 -0
  41. package/dist/src/gate/types.d.ts +229 -8
  42. package/dist/src/gate/types.d.ts.map +1 -1
  43. package/dist/src/heartbeat/heartbeat.d.ts +184 -0
  44. package/dist/src/heartbeat/heartbeat.d.ts.map +1 -0
  45. package/dist/src/heartbeat/heartbeat.js +752 -0
  46. package/dist/src/heartbeat/heartbeat.js.map +1 -0
  47. package/dist/src/heartbeat/reminder-time.d.ts +5 -0
  48. package/dist/src/heartbeat/reminder-time.d.ts.map +1 -0
  49. package/dist/src/heartbeat/reminder-time.js +107 -0
  50. package/dist/src/heartbeat/reminder-time.js.map +1 -0
  51. package/dist/src/index.d.ts +10 -4
  52. package/dist/src/index.d.ts.map +1 -1
  53. package/dist/src/index.js +7 -2
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/mcpl/capability-mask.d.ts.map +1 -1
  56. package/dist/src/mcpl/capability-mask.js +3 -2
  57. package/dist/src/mcpl/capability-mask.js.map +1 -1
  58. package/dist/src/mcpl/channel-registry.d.ts +433 -113
  59. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  60. package/dist/src/mcpl/channel-registry.js +1154 -435
  61. package/dist/src/mcpl/channel-registry.js.map +1 -1
  62. package/dist/src/mcpl/conversation-router.d.ts +16 -8
  63. package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
  64. package/dist/src/mcpl/conversation-router.js +29 -15
  65. package/dist/src/mcpl/conversation-router.js.map +1 -1
  66. package/dist/src/mcpl/convert-block.d.ts.map +1 -1
  67. package/dist/src/mcpl/convert-block.js +14 -2
  68. package/dist/src/mcpl/convert-block.js.map +1 -1
  69. package/dist/src/mcpl/hook-orchestrator.d.ts +7 -1
  70. package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
  71. package/dist/src/mcpl/hook-orchestrator.js +32 -7
  72. package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
  73. package/dist/src/mcpl/inbound-source.d.ts +26 -10
  74. package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
  75. package/dist/src/mcpl/inbound-source.js +40 -69
  76. package/dist/src/mcpl/inbound-source.js.map +1 -1
  77. package/dist/src/mcpl/index.d.ts +5 -1
  78. package/dist/src/mcpl/index.d.ts.map +1 -1
  79. package/dist/src/mcpl/index.js +4 -0
  80. package/dist/src/mcpl/index.js.map +1 -1
  81. package/dist/src/mcpl/inference-router.d.ts +14 -2
  82. package/dist/src/mcpl/inference-router.d.ts.map +1 -1
  83. package/dist/src/mcpl/inference-router.js +73 -28
  84. package/dist/src/mcpl/inference-router.js.map +1 -1
  85. package/dist/src/mcpl/prose-grammar.d.ts +4 -0
  86. package/dist/src/mcpl/prose-grammar.d.ts.map +1 -1
  87. package/dist/src/mcpl/prose-grammar.js +6 -0
  88. package/dist/src/mcpl/prose-grammar.js.map +1 -1
  89. package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
  90. package/dist/src/mcpl/protocol-family.js +3 -0
  91. package/dist/src/mcpl/protocol-family.js.map +1 -1
  92. package/dist/src/mcpl/push-coalescer.d.ts +20 -2
  93. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
  94. package/dist/src/mcpl/push-coalescer.js +33 -11
  95. package/dist/src/mcpl/push-coalescer.js.map +1 -1
  96. package/dist/src/mcpl/reference-fetcher.d.ts +63 -42
  97. package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
  98. package/dist/src/mcpl/reference-fetcher.js +177 -145
  99. package/dist/src/mcpl/reference-fetcher.js.map +1 -1
  100. package/dist/src/mcpl/references.d.ts +380 -46
  101. package/dist/src/mcpl/references.d.ts.map +1 -1
  102. package/dist/src/mcpl/references.js +736 -77
  103. package/dist/src/mcpl/references.js.map +1 -1
  104. package/dist/src/mcpl/server-connection.d.ts +93 -4
  105. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  106. package/dist/src/mcpl/server-connection.js +176 -11
  107. package/dist/src/mcpl/server-connection.js.map +1 -1
  108. package/dist/src/mcpl/tags.d.ts +9 -2
  109. package/dist/src/mcpl/tags.d.ts.map +1 -1
  110. package/dist/src/mcpl/tags.js +12 -2
  111. package/dist/src/mcpl/tags.js.map +1 -1
  112. package/dist/src/mcpl/tool-lifecycle.d.ts +11 -0
  113. package/dist/src/mcpl/tool-lifecycle.d.ts.map +1 -1
  114. package/dist/src/mcpl/tool-lifecycle.js +21 -0
  115. package/dist/src/mcpl/tool-lifecycle.js.map +1 -1
  116. package/dist/src/mcpl/tool-presence.d.ts +311 -0
  117. package/dist/src/mcpl/tool-presence.d.ts.map +1 -0
  118. package/dist/src/mcpl/tool-presence.js +697 -0
  119. package/dist/src/mcpl/tool-presence.js.map +1 -0
  120. package/dist/src/mcpl/tool-result-normalize.d.ts +9 -3
  121. package/dist/src/mcpl/tool-result-normalize.d.ts.map +1 -1
  122. package/dist/src/mcpl/tool-result-normalize.js +14 -6
  123. package/dist/src/mcpl/tool-result-normalize.js.map +1 -1
  124. package/dist/src/mcpl/tool-signature.d.ts +46 -0
  125. package/dist/src/mcpl/tool-signature.d.ts.map +1 -0
  126. package/dist/src/mcpl/tool-signature.js +321 -0
  127. package/dist/src/mcpl/tool-signature.js.map +1 -0
  128. package/dist/src/mcpl/toolset-host.d.ts +251 -0
  129. package/dist/src/mcpl/toolset-host.d.ts.map +1 -0
  130. package/dist/src/mcpl/toolset-host.js +720 -0
  131. package/dist/src/mcpl/toolset-host.js.map +1 -0
  132. package/dist/src/mcpl/toolsets-module.d.ts +83 -0
  133. package/dist/src/mcpl/toolsets-module.d.ts.map +1 -0
  134. package/dist/src/mcpl/toolsets-module.js +523 -0
  135. package/dist/src/mcpl/toolsets-module.js.map +1 -0
  136. package/dist/src/mcpl/transport.d.ts +2 -2
  137. package/dist/src/mcpl/transport.d.ts.map +1 -1
  138. package/dist/src/mcpl/transport.js +3 -2
  139. package/dist/src/mcpl/transport.js.map +1 -1
  140. package/dist/src/mcpl/types.d.ts +24 -2
  141. package/dist/src/mcpl/types.d.ts.map +1 -1
  142. package/dist/src/mcpl/types.js.map +1 -1
  143. package/dist/src/mcpl/visible-content.d.ts +7 -9
  144. package/dist/src/mcpl/visible-content.d.ts.map +1 -1
  145. package/dist/src/mcpl/visible-content.js +21 -9
  146. package/dist/src/mcpl/visible-content.js.map +1 -1
  147. package/dist/src/module-registry.d.ts +27 -9
  148. package/dist/src/module-registry.d.ts.map +1 -1
  149. package/dist/src/module-registry.js +77 -17
  150. package/dist/src/module-registry.js.map +1 -1
  151. package/dist/src/modules/discord/index.js +1 -1
  152. package/dist/src/modules/discord/index.js.map +1 -1
  153. package/dist/src/modules/history/index.d.ts +2 -1
  154. package/dist/src/modules/history/index.d.ts.map +1 -1
  155. package/dist/src/modules/history/index.js +73 -28
  156. package/dist/src/modules/history/index.js.map +1 -1
  157. package/dist/src/modules/history/semantic.d.ts +108 -6
  158. package/dist/src/modules/history/semantic.d.ts.map +1 -1
  159. package/dist/src/modules/history/semantic.js +273 -57
  160. package/dist/src/modules/history/semantic.js.map +1 -1
  161. package/dist/src/modules/workspace/answers.d.ts +22 -0
  162. package/dist/src/modules/workspace/answers.d.ts.map +1 -0
  163. package/dist/src/modules/workspace/answers.js +123 -0
  164. package/dist/src/modules/workspace/answers.js.map +1 -0
  165. package/dist/src/modules/workspace/branch-intent.d.ts +5 -3
  166. package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
  167. package/dist/src/modules/workspace/branch-intent.js +6 -2
  168. package/dist/src/modules/workspace/branch-intent.js.map +1 -1
  169. package/dist/src/modules/workspace/direct-write.d.ts +184 -0
  170. package/dist/src/modules/workspace/direct-write.d.ts.map +1 -0
  171. package/dist/src/modules/workspace/direct-write.js +417 -0
  172. package/dist/src/modules/workspace/direct-write.js.map +1 -0
  173. package/dist/src/modules/workspace/disk-agreement.d.ts +33 -11
  174. package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
  175. package/dist/src/modules/workspace/disk-agreement.js +48 -17
  176. package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
  177. package/dist/src/modules/workspace/edit-text.d.ts +27 -12
  178. package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
  179. package/dist/src/modules/workspace/edit-text.js +61 -29
  180. package/dist/src/modules/workspace/edit-text.js.map +1 -1
  181. package/dist/src/modules/workspace/effects.d.ts +10 -0
  182. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  183. package/dist/src/modules/workspace/effects.js +21 -14
  184. package/dist/src/modules/workspace/effects.js.map +1 -1
  185. package/dist/src/modules/workspace/index.d.ts +308 -78
  186. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  187. package/dist/src/modules/workspace/index.js +2103 -720
  188. package/dist/src/modules/workspace/index.js.map +1 -1
  189. package/dist/src/modules/workspace/observe.d.ts +75 -63
  190. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  191. package/dist/src/modules/workspace/observe.js +366 -180
  192. package/dist/src/modules/workspace/observe.js.map +1 -1
  193. package/dist/src/modules/workspace/read-page.d.ts +41 -0
  194. package/dist/src/modules/workspace/read-page.d.ts.map +1 -0
  195. package/dist/src/modules/workspace/read-page.js +219 -0
  196. package/dist/src/modules/workspace/read-page.js.map +1 -0
  197. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  198. package/dist/src/modules/workspace/reconcile.js +26 -16
  199. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  200. package/dist/src/modules/workspace/result-text.d.ts +68 -0
  201. package/dist/src/modules/workspace/result-text.d.ts.map +1 -0
  202. package/dist/src/modules/workspace/result-text.js +94 -0
  203. package/dist/src/modules/workspace/result-text.js.map +1 -0
  204. package/dist/src/modules/workspace/sync.d.ts +9 -0
  205. package/dist/src/modules/workspace/sync.d.ts.map +1 -1
  206. package/dist/src/modules/workspace/sync.js +14 -0
  207. package/dist/src/modules/workspace/sync.js.map +1 -1
  208. package/dist/src/modules/workspace/text.d.ts +29 -12
  209. package/dist/src/modules/workspace/text.d.ts.map +1 -1
  210. package/dist/src/modules/workspace/text.js +35 -33
  211. package/dist/src/modules/workspace/text.js.map +1 -1
  212. package/dist/src/modules/workspace/types.d.ts +137 -60
  213. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  214. package/dist/src/modules/workspace/types.js.map +1 -1
  215. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  216. package/dist/src/modules/workspace/watcher.js +8 -3
  217. package/dist/src/modules/workspace/watcher.js.map +1 -1
  218. package/dist/src/prose-drafts.d.ts +4 -3
  219. package/dist/src/prose-drafts.d.ts.map +1 -1
  220. package/dist/src/prose-drafts.js +3 -2
  221. package/dist/src/prose-drafts.js.map +1 -1
  222. package/dist/src/reasoning-loss-notice.d.ts +23 -0
  223. package/dist/src/reasoning-loss-notice.d.ts.map +1 -0
  224. package/dist/src/reasoning-loss-notice.js +50 -0
  225. package/dist/src/reasoning-loss-notice.js.map +1 -0
  226. package/dist/src/reasoning-loss.d.ts +24 -0
  227. package/dist/src/reasoning-loss.d.ts.map +1 -0
  228. package/dist/src/reasoning-loss.js +102 -0
  229. package/dist/src/reasoning-loss.js.map +1 -0
  230. package/dist/src/send-tools.d.ts +3 -2
  231. package/dist/src/send-tools.d.ts.map +1 -1
  232. package/dist/src/send-tools.js +3 -2
  233. package/dist/src/send-tools.js.map +1 -1
  234. package/dist/src/sent-rows.d.ts +59 -0
  235. package/dist/src/sent-rows.d.ts.map +1 -0
  236. package/dist/src/sent-rows.js +145 -0
  237. package/dist/src/sent-rows.js.map +1 -0
  238. package/dist/src/silent-heartbeat.d.ts +17 -10
  239. package/dist/src/silent-heartbeat.d.ts.map +1 -1
  240. package/dist/src/silent-heartbeat.js.map +1 -1
  241. package/dist/src/stable-hash.d.ts +3 -0
  242. package/dist/src/stable-hash.d.ts.map +1 -0
  243. package/dist/src/stable-hash.js +15 -0
  244. package/dist/src/stable-hash.js.map +1 -0
  245. package/dist/src/stored-injections.d.ts +99 -0
  246. package/dist/src/stored-injections.d.ts.map +1 -0
  247. package/dist/src/stored-injections.js +106 -0
  248. package/dist/src/stored-injections.js.map +1 -0
  249. package/dist/src/text-as-stored.d.ts +4 -3
  250. package/dist/src/text-as-stored.d.ts.map +1 -1
  251. package/dist/src/text-as-stored.js +4 -3
  252. package/dist/src/text-as-stored.js.map +1 -1
  253. package/dist/src/thinking-drops.d.ts +74 -0
  254. package/dist/src/thinking-drops.d.ts.map +1 -0
  255. package/dist/src/thinking-drops.js +96 -0
  256. package/dist/src/thinking-drops.js.map +1 -0
  257. package/dist/src/tool-args.d.ts +12 -0
  258. package/dist/src/tool-args.d.ts.map +1 -1
  259. package/dist/src/tool-args.js +35 -1
  260. package/dist/src/tool-args.js.map +1 -1
  261. package/dist/src/tool-image-ledger.d.ts +9 -8
  262. package/dist/src/tool-image-ledger.d.ts.map +1 -1
  263. package/dist/src/tool-image-ledger.js +9 -8
  264. package/dist/src/tool-image-ledger.js.map +1 -1
  265. package/dist/src/tool-presentation.d.ts.map +1 -1
  266. package/dist/src/tool-presentation.js +3 -1
  267. package/dist/src/tool-presentation.js.map +1 -1
  268. package/dist/src/tool-result-guard.d.ts +12 -6
  269. package/dist/src/tool-result-guard.d.ts.map +1 -1
  270. package/dist/src/tool-result-guard.js +44 -17
  271. package/dist/src/tool-result-guard.js.map +1 -1
  272. package/dist/src/tool-result-history.d.ts +176 -24
  273. package/dist/src/tool-result-history.d.ts.map +1 -1
  274. package/dist/src/tool-result-history.js +411 -91
  275. package/dist/src/tool-result-history.js.map +1 -1
  276. package/dist/src/tune-out/coordinator.d.ts +17 -9
  277. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  278. package/dist/src/tune-out/coordinator.js +84 -37
  279. package/dist/src/tune-out/coordinator.js.map +1 -1
  280. package/dist/src/tune-out/tools.d.ts +4 -1
  281. package/dist/src/tune-out/tools.d.ts.map +1 -1
  282. package/dist/src/types/agent.d.ts +217 -7
  283. package/dist/src/types/agent.d.ts.map +1 -1
  284. package/dist/src/types/events.d.ts +33 -9
  285. package/dist/src/types/events.d.ts.map +1 -1
  286. package/dist/src/types/framework.d.ts +39 -3
  287. package/dist/src/types/framework.d.ts.map +1 -1
  288. package/dist/src/types/module.d.ts +95 -9
  289. package/dist/src/types/module.d.ts.map +1 -1
  290. package/dist/src/types/trace.d.ts +91 -3
  291. package/dist/src/types/trace.d.ts.map +1 -1
  292. package/package.json +5 -4
  293. package/src/agent.ts +661 -67
  294. package/src/api/server.ts +5 -4
  295. package/src/auto-continue.ts +43 -0
  296. package/src/code-execution/isolate/scripts.ts +11 -3
  297. package/src/cut-off-round.ts +98 -0
  298. package/src/framework.ts +6168 -1540
  299. package/src/gate/event-gate.ts +2895 -405
  300. package/src/gate/index.ts +10 -1
  301. package/src/gate/recipe-reconcile.ts +355 -0
  302. package/src/gate/reply-judge.ts +512 -0
  303. package/src/gate/types.ts +234 -9
  304. package/src/heartbeat/heartbeat.ts +804 -0
  305. package/src/heartbeat/reminder-time.ts +107 -0
  306. package/src/index.ts +11 -4
  307. package/src/mcpl/capability-mask.ts +3 -2
  308. package/src/mcpl/channel-registry.ts +1222 -468
  309. package/src/mcpl/conversation-router.ts +34 -16
  310. package/src/mcpl/convert-block.ts +14 -1
  311. package/src/mcpl/hook-orchestrator.ts +33 -6
  312. package/src/mcpl/inbound-source.ts +42 -69
  313. package/src/mcpl/index.ts +6 -1
  314. package/src/mcpl/inference-router.ts +79 -34
  315. package/src/mcpl/prose-grammar.ts +7 -0
  316. package/src/mcpl/protocol-family.ts +2 -0
  317. package/src/mcpl/push-coalescer.ts +51 -13
  318. package/src/mcpl/reference-fetcher.ts +201 -162
  319. package/src/mcpl/references.ts +851 -77
  320. package/src/mcpl/server-connection.ts +189 -11
  321. package/src/mcpl/tags.ts +13 -2
  322. package/src/mcpl/tool-lifecycle.ts +21 -0
  323. package/src/mcpl/tool-presence.ts +716 -0
  324. package/src/mcpl/tool-result-normalize.ts +18 -6
  325. package/src/mcpl/tool-signature.ts +316 -0
  326. package/src/mcpl/toolset-host.ts +727 -0
  327. package/src/mcpl/toolsets-module.ts +545 -0
  328. package/src/mcpl/transport.ts +3 -2
  329. package/src/mcpl/types.ts +25 -2
  330. package/src/mcpl/visible-content.ts +22 -9
  331. package/src/module-registry.ts +85 -26
  332. package/src/modules/discord/index.ts +1 -1
  333. package/src/modules/history/index.ts +70 -30
  334. package/src/modules/history/semantic.ts +308 -54
  335. package/src/modules/workspace/answers.ts +133 -0
  336. package/src/modules/workspace/branch-intent.ts +10 -5
  337. package/src/modules/workspace/direct-write.ts +460 -0
  338. package/src/modules/workspace/disk-agreement.ts +52 -21
  339. package/src/modules/workspace/edit-text.ts +84 -35
  340. package/src/modules/workspace/effects.ts +22 -13
  341. package/src/modules/workspace/index.ts +2142 -723
  342. package/src/modules/workspace/observe.ts +381 -177
  343. package/src/modules/workspace/read-page.ts +228 -0
  344. package/src/modules/workspace/reconcile.ts +27 -15
  345. package/src/modules/workspace/result-text.ts +121 -0
  346. package/src/modules/workspace/sync.ts +16 -0
  347. package/src/modules/workspace/text.ts +58 -32
  348. package/src/modules/workspace/types.ts +137 -60
  349. package/src/modules/workspace/watcher.ts +8 -3
  350. package/src/prose-drafts.ts +4 -3
  351. package/src/reasoning-loss-notice.ts +62 -0
  352. package/src/reasoning-loss.ts +120 -0
  353. package/src/send-tools.ts +3 -2
  354. package/src/sent-rows.ts +162 -0
  355. package/src/silent-heartbeat.ts +17 -10
  356. package/src/stable-hash.ts +14 -0
  357. package/src/stored-injections.ts +131 -0
  358. package/src/text-as-stored.ts +4 -3
  359. package/src/thinking-drops.ts +135 -0
  360. package/src/tool-args.ts +34 -1
  361. package/src/tool-image-ledger.ts +9 -8
  362. package/src/tool-presentation.ts +3 -1
  363. package/src/tool-result-guard.ts +45 -17
  364. package/src/tool-result-history.ts +471 -90
  365. package/src/tune-out/coordinator.ts +80 -37
  366. package/src/tune-out/tools.ts +4 -1
  367. package/src/types/agent.ts +220 -7
  368. package/src/types/events.ts +33 -9
  369. package/src/types/framework.ts +36 -3
  370. package/src/types/module.ts +91 -9
  371. package/src/types/trace.ts +94 -3
@@ -1 +1 @@
1
- {"version":3,"file":"prose-drafts.js","sourceRoot":"","sources":["../../src/prose-drafts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prose-drafts.js","sourceRoot":"","sources":["../../src/prose-drafts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ export type ReasoningLossCause = 'tools' | 'system' | 'model';
2
+ export type ReasoningLossAnchor = {
3
+ text: string;
4
+ } | {
5
+ toolCall: string;
6
+ };
7
+ export interface ReasoningLossNoticeInput {
8
+ agentName: string;
9
+ scope: {
10
+ kind: 'all';
11
+ through?: ReasoningLossAnchor;
12
+ thisTurn: boolean;
13
+ } | {
14
+ kind: 'some';
15
+ count: number;
16
+ first?: ReasoningLossAnchor;
17
+ unplaced?: boolean;
18
+ thisTurn: boolean;
19
+ };
20
+ causes: readonly ReasoningLossCause[];
21
+ }
22
+ export declare function reasoningLossNotice(input: ReasoningLossNoticeInput): string;
23
+ //# sourceMappingURL=reasoning-loss-notice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-loss-notice.d.ts","sourceRoot":"","sources":["../../src/reasoning-loss-notice.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EACD;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GACjE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACxG,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACvC;AAWD,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAyB3E"}
@@ -0,0 +1,50 @@
1
+ import { safeSlice } from './safe-slice.js';
2
+ const ANCHOR_CHARS = 80;
3
+ const CAUSE_WORDS = {
4
+ tools: 'your tools changed',
5
+ system: 'your system prompt changed',
6
+ model: 'your model changed',
7
+ };
8
+ const CAUSE_ORDER = ['tools', 'system', 'model'];
9
+ export function reasoningLossNotice(input) {
10
+ const causes = CAUSE_ORDER.filter((c) => input.causes.includes(c)).map((c) => CAUSE_WORDS[c]);
11
+ const because = causes.length > 0 ? `, because ${joinAnd(causes)}` : '';
12
+ const scope = input.scope;
13
+ let lost;
14
+ let reread;
15
+ if (scope.kind === 'all') {
16
+ const through = scope.through ? anchorWords(scope.through) : undefined;
17
+ const among = scope.thisTurn ? ", this turn's earlier steps among them," : '';
18
+ lost = through
19
+ ? `The reasoning behind your replies up to the one ${through}${among} is no longer in your context${because}.`
20
+ : `The reasoning behind your earlier replies${among} is no longer in your context${because}.`;
21
+ reread = 'Re-read before relying on an earlier decision.';
22
+ }
23
+ else {
24
+ const one = scope.count === 1 && !scope.unplaced;
25
+ const replies = scope.unplaced
26
+ ? `at least ${scope.count} of your replies`
27
+ : one ? 'one of your replies' : `${scope.count} of your replies`;
28
+ const named = scope.first && !scope.unplaced ? anchorWords(scope.first) : undefined;
29
+ const first = named ? (one ? `, the one ${named}` : `, the first being the one ${named}`) : '';
30
+ const among = scope.thisTurn ? (one ? ', an earlier step of this turn' : ", this turn's earlier steps among them") : '';
31
+ lost = `Some of your earlier reasoning is no longer in your context: the reasoning behind ${replies}${first}${among}${because}.`;
32
+ reread = named ? 'Re-read before relying on a decision made since then.' : 'Re-read before relying on an earlier decision.';
33
+ }
34
+ return `[reasoning] ${input.agentName}: ${lost} Their words are still here. ${reread}`;
35
+ }
36
+ function anchorWords(anchor) {
37
+ if ('toolCall' in anchor)
38
+ return anchor.toolCall ? `that called \`${anchor.toolCall}\`` : undefined;
39
+ const text = anchor.text.replace(/\s+/g, ' ').trim();
40
+ if (!text)
41
+ return undefined;
42
+ const clipped = text.length > ANCHOR_CHARS ? `${safeSlice(text, 0, ANCHOR_CHARS).trimEnd()}…` : text;
43
+ return `beginning "${clipped}"`;
44
+ }
45
+ function joinAnd(parts) {
46
+ if (parts.length <= 1)
47
+ return parts.join('');
48
+ return `${parts.slice(0, -1).join(', ')} and ${parts[parts.length - 1]}`;
49
+ }
50
+ //# sourceMappingURL=reasoning-loss-notice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-loss-notice.js","sourceRoot":"","sources":["../../src/reasoning-loss-notice.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { ContentBlock } from '@animalabs/membrane';
2
+ import type { MessageId, ThinkingStrip } from '@animalabs/context-manager';
3
+ import { type PlacedDrop } from './thinking-drops.js';
4
+ export interface StoredReplyReader {
5
+ getMessage(id: MessageId): {
6
+ sequence: number;
7
+ content: readonly ContentBlock[];
8
+ } | null;
9
+ }
10
+ export interface ReasoningLossTurn {
11
+ start?: {
12
+ branch: string;
13
+ sequence: number;
14
+ };
15
+ }
16
+ export declare class ReasoningLossTeller {
17
+ private readonly told;
18
+ private readonly drops;
19
+ forStrip(agentName: string, branch: string, strip: ThinkingStrip, turn: ReasoningLossTurn, store: StoredReplyReader): string | undefined;
20
+ forDrops(agentName: string, branch: string, placed: readonly PlacedDrop[], turn: ReasoningLossTurn, store: StoredReplyReader): string | undefined;
21
+ forget(agentName: string): void;
22
+ private toldFor;
23
+ }
24
+ //# sourceMappingURL=reasoning-loss.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-loss.d.ts","sourceRoot":"","sources":["../../src/reasoning-loss.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAyB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO7E,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,EAAE,SAAS,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CAC1F;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAQD,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAkD;IACvE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA+B;IAErD,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,iBAAiB,GACvB,MAAM,GAAG,SAAS,CA0BpB;IAED,QAAQ,CACN,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,SAAS,UAAU,EAAE,EAC7B,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,iBAAiB,GACvB,MAAM,GAAG,SAAS,CAuBpB;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAG9B;IAED,OAAO,CAAC,OAAO;CAOhB"}
@@ -0,0 +1,102 @@
1
+ import { ThinkingLossIncidents } from './thinking-drops.js';
2
+ import { reasoningLossNotice, } from './reasoning-loss-notice.js';
3
+ const HEAD_CAUSES = {
4
+ tools: 'tools',
5
+ system: 'system',
6
+ model: 'model',
7
+ };
8
+ export class ReasoningLossTeller {
9
+ told = new Map();
10
+ drops = new ThinkingLossIncidents();
11
+ forStrip(agentName, branch, strip, turn, store) {
12
+ const told = this.toldFor(agentName, branch);
13
+ const taken = strip.newly
14
+ .map((id) => ({ id, sequence: store.getMessage(id)?.sequence }))
15
+ .sort((a, b) => (a.sequence ?? Infinity) - (b.sequence ?? Infinity));
16
+ const replies = taken.filter((r) => !told.has(r.id));
17
+ if (replies.length === 0)
18
+ return undefined;
19
+ const thisTurn = replies.some((r) => isThisTurn(r.sequence, branch, turn));
20
+ if (strip.cause === 'head') {
21
+ const causes = (strip.changed ?? [])
22
+ .map((c) => HEAD_CAUSES[c])
23
+ .filter((c) => c !== undefined);
24
+ const newest = taken.filter((r) => r.sequence !== undefined).at(-1);
25
+ const through = newest ? anchorOf(store.getMessage(newest.id)?.content) : undefined;
26
+ const amongThisTurn = taken.some((r) => isThisTurn(r.sequence, branch, turn));
27
+ for (const r of replies)
28
+ told.add(r.id);
29
+ return reasoningLossNotice({ agentName, scope: { kind: 'all', ...(through ? { through } : {}), thisTurn: amongThisTurn }, causes });
30
+ }
31
+ if (strip.cause !== 'first' && !taken.some((r) => isThisTurn(r.sequence, branch, turn)))
32
+ return undefined;
33
+ const first = anchorOf(store.getMessage(replies[0].id)?.content);
34
+ for (const r of replies)
35
+ told.add(r.id);
36
+ return reasoningLossNotice({
37
+ agentName,
38
+ scope: { kind: 'some', count: replies.length, ...(first ? { first } : {}), thisTurn },
39
+ causes: [],
40
+ });
41
+ }
42
+ forDrops(agentName, branch, placed, turn, store) {
43
+ const replies = new Map();
44
+ const rounds = new Set();
45
+ let blocks = 0;
46
+ for (const drop of placed) {
47
+ if (drop.kind === 'unplaced')
48
+ continue;
49
+ blocks++;
50
+ if (drop.kind === 'round')
51
+ rounds.add(drop.round);
52
+ else
53
+ for (const body of drop.bodies)
54
+ replies.set(body.messageId, body.sequence);
55
+ }
56
+ const unplaced = blocks < placed.length;
57
+ const count = replies.size + rounds.size;
58
+ const ordered = [...replies].sort((a, b) => a[1] - b[1]);
59
+ const thisTurn = rounds.size > 0 || ordered.some(([, sequence]) => isThisTurn(sequence, branch, turn));
60
+ const first = ordered.length > 0 && !unplaced ? anchorOf(store.getMessage(ordered[0][0])?.content) : undefined;
61
+ if (this.drops.observe(agentName, blocks, branch) === undefined)
62
+ return undefined;
63
+ const told = this.toldFor(agentName, branch);
64
+ for (const id of replies.keys())
65
+ told.add(id);
66
+ return reasoningLossNotice({
67
+ agentName,
68
+ scope: { kind: 'some', count, ...(first ? { first } : {}), ...(unplaced ? { unplaced: true } : {}), thisTurn },
69
+ causes: [],
70
+ });
71
+ }
72
+ forget(agentName) {
73
+ this.told.delete(agentName);
74
+ this.drops.forget(agentName);
75
+ }
76
+ toldFor(agentName, branch) {
77
+ let branches = this.told.get(agentName);
78
+ if (!branches)
79
+ this.told.set(agentName, (branches = new Map()));
80
+ let told = branches.get(branch);
81
+ if (!told)
82
+ branches.set(branch, (told = new Set()));
83
+ return told;
84
+ }
85
+ }
86
+ function isThisTurn(sequence, branch, turn) {
87
+ return sequence !== undefined && turn.start?.branch === branch && sequence > turn.start.sequence;
88
+ }
89
+ function anchorOf(content) {
90
+ if (!content)
91
+ return undefined;
92
+ for (const block of content) {
93
+ if (block.type === 'text' && typeof block.text === 'string' && block.text.trim() !== '')
94
+ return { text: block.text };
95
+ }
96
+ for (const block of content) {
97
+ if (block.type === 'tool_use' && typeof block.name === 'string' && block.name !== '')
98
+ return { toolCall: block.name };
99
+ }
100
+ return undefined;
101
+ }
102
+ //# sourceMappingURL=reasoning-loss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reasoning-loss.js","sourceRoot":"","sources":["../../src/reasoning-loss.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,9 @@
2
2
  * Tools whose call delivers the resident's message to a channel or person,
3
3
  * by bare name (an MCPL server's `<prefix>--` stripped). The framework reads
4
4
  * a call of one as an explicit send that silences the round's auto-routed
5
- * prose; the history module's semantic index reads its message argument as
6
- * what the resident wrote to someone, whether or not it was delivered.
5
+ * prose where it may have posted; the history module's semantic index reads
6
+ * its message argument as what the resident wrote to someone, whether or not
7
+ * it was delivered.
7
8
  */
8
9
  export declare const SEND_TOOLS: Set<string>;
9
10
  /** Strip the `server--` MCPL prefix from a tool name. */
@@ -1 +1 @@
1
- {"version":3,"file":"send-tools.d.ts","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,aAA2E,CAAC;AAEnG,yDAAyD;AACzD,eAAO,MAAM,YAAY,MAAO,MAAM,KAAG,MAA8B,CAAC"}
1
+ {"version":3,"file":"send-tools.d.ts","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,UAAU,aAA2E,CAAC;AAEnG,yDAAyD;AACzD,eAAO,MAAM,YAAY,MAAO,MAAM,KAAG,MAA8B,CAAC"}
@@ -2,8 +2,9 @@
2
2
  * Tools whose call delivers the resident's message to a channel or person,
3
3
  * by bare name (an MCPL server's `<prefix>--` stripped). The framework reads
4
4
  * a call of one as an explicit send that silences the round's auto-routed
5
- * prose; the history module's semantic index reads its message argument as
6
- * what the resident wrote to someone, whether or not it was delivered.
5
+ * prose where it may have posted; the history module's semantic index reads
6
+ * its message argument as what the resident wrote to someone, whether or not
7
+ * it was delivered.
7
8
  */
8
9
  export const SEND_TOOLS = new Set(['channel_publish', 'send_message', 'reply_message', 'send_dm']);
9
10
  /** Strip the `server--` MCPL prefix from a tool name. */
@@ -1 +1 @@
1
- {"version":3,"file":"send-tools.js","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnG,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC"}
1
+ {"version":3,"file":"send-tools.js","sourceRoot":"","sources":["../../src/send-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,CAAC,iBAAiB,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC,CAAC;AAEnG,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAG,CAAC"}
@@ -0,0 +1,59 @@
1
+ import type { ContentBlock, ToolResult as MembraneToolResult } from '@animalabs/membrane';
2
+ import type { MessageId } from '@animalabs/context-manager';
3
+ /**
4
+ * A row a stream's later round carried after its compiled messages, as a context manager that keeps a
5
+ * thinking-binding record is told of it (`noteRequestSent`): the id of a stored body the next request carries as
6
+ * the stream sent it, or the marker for one it doesn't, after which nothing keeps its thinking.
7
+ */
8
+ export type SentRow = MessageId | {
9
+ unstored: true;
10
+ };
11
+ /**
12
+ * Whether a request carries a block: the sanitize pass leaves out an empty or whitespace text block, which the
13
+ * Anthropic API refuses (assembleActivationRequest). The `typeof` guard is runtime defense: history loaded from
14
+ * disk can carry a non-string `text` despite what the types claim.
15
+ */
16
+ export declare function carriedBlock(block: ContentBlock): boolean;
17
+ /**
18
+ * A stored body's content as the agent's next request carries it: what the sanitize pass leaves of it, without
19
+ * the framework's pricing stamp. Null when the pass leaves nothing, so the request carries no message there.
20
+ */
21
+ export declare function asNextRequestCarries(content: readonly ContentBlock[]): ContentBlock[] | null;
22
+ /**
23
+ * Blocks equal as JSON data, as the store keeps them and a request sends them: equal where `JSON.stringify` writes
24
+ * them alike, key order aside. So a non-finite number is null; a field whose value is undefined, a function or a
25
+ * symbol is absent; such an array element, or a hole, is null; and anything else an object can be (a Date, a Buffer)
26
+ * is compared as JSON writes it. It walks plain objects and arrays rather than serializing them, since a note compares
27
+ * every row of the stream so far, base64 images and long tool results included, at each boundary.
28
+ */
29
+ export declare function sameData(a: unknown, b: unknown): boolean;
30
+ /** One stored row of a round, beside what the stream sent in its place. */
31
+ export type RoundRow = {
32
+ kind: 'reply';
33
+ id: MessageId | undefined;
34
+ sent: readonly ContentBlock[];
35
+ } | {
36
+ kind: 'results';
37
+ id: MessageId | undefined;
38
+ sent: readonly MembraneToolResult[];
39
+ } | {
40
+ kind: 'injected';
41
+ id: MessageId | undefined;
42
+ participant: string;
43
+ sent: readonly ContentBlock[];
44
+ };
45
+ /**
46
+ * A round's rows as noted: each stored row's id where the next request carries it as the stream sent it, the
47
+ * marker where it doesn't. `carried` gives each id's stored body as the next compile renders it (participant and
48
+ * content, or null where no compile can send it), so the comparison is the one the context manager's record
49
+ * makes, after the agent's own request passes (asNextRequestCarries). A row the store doesn't hold (no id), a reply
50
+ * that differs from the round's content as membrane held it, results that differ from those submitted (as while the
51
+ * tool-result guard holds a batch, storing placeholders and submitting the originals), or an injected message sent
52
+ * otherwise than its stored body renders, is the marker. Called again over the same rows once the store has
53
+ * changed, as when the guard's batch settles to the originals, it gives each row's verdict as of then.
54
+ */
55
+ export declare function roundRows(rows: readonly RoundRow[], carried: (id: MessageId) => {
56
+ participant: string;
57
+ content: ContentBlock[];
58
+ } | null): SentRow[];
59
+ //# sourceMappingURL=sent-rows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sent-rows.d.ts","sourceRoot":"","sources":["../../src/sent-rows.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,IAAI,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAK5D;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAA;CAAE,CAAC;AAIrD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEzD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,GAAG,YAAY,EAAE,GAAG,IAAI,CAI5F;AAuCD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAqBxD;AAYD,2EAA2E;AAC3E,MAAM,MAAM,QAAQ,GAChB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,GAC3E;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAC;IAAC,IAAI,EAAE,SAAS,kBAAkB,EAAE,CAAA;CAAE,GACnF;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,EAAE,EAAE,SAAS,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,SAAS,YAAY,EAAE,CAAA;CAAE,CAAC;AAExG;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,SAAS,QAAQ,EAAE,EACzB,OAAO,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE,GAAG,IAAI,GAClF,OAAO,EAAE,CAeX"}
@@ -0,0 +1,145 @@
1
+ import { isDeepStrictEqual } from 'node:util';
2
+ import { withoutTokenEstimates } from './thinking-token-stamp.js';
3
+ const UNSTORED = Object.freeze({ unstored: true });
4
+ /**
5
+ * Whether a request carries a block: the sanitize pass leaves out an empty or whitespace text block, which the
6
+ * Anthropic API refuses (assembleActivationRequest). The `typeof` guard is runtime defense: history loaded from
7
+ * disk can carry a non-string `text` despite what the types claim.
8
+ */
9
+ export function carriedBlock(block) {
10
+ return !(block.type === 'text' && (typeof block.text !== 'string' || block.text.trim() === ''));
11
+ }
12
+ /**
13
+ * A stored body's content as the agent's next request carries it: what the sanitize pass leaves of it, without
14
+ * the framework's pricing stamp. Null when the pass leaves nothing, so the request carries no message there.
15
+ */
16
+ export function asNextRequestCarries(content) {
17
+ const kept = content.filter(carriedBlock);
18
+ if (kept.length === 0)
19
+ return null;
20
+ return withoutTokenEstimates([{ content: kept }])[0].content;
21
+ }
22
+ /**
23
+ * Whether a block of what a stream sent counts in the comparison. membrane's native formatter leaves out an exactly
24
+ * empty text block, which the API refuses. An empty text block carrying a provider-native item (`rawItem`) it sends
25
+ * as that item where it's a server-tool block it knows, in an assistant turn, and leaves out otherwise; whitespace
26
+ * text it sends, behind the participant's name where a multiuser conversation shows names. The next request's
27
+ * sanitize pass leaves both out, so both count as differences. Where membrane, or the adapter's cleanup (whitespace in
28
+ * an assistant turn), leaves one out of both requests, that's a needless strip rather than a row named for bytes the
29
+ * provider didn't see.
30
+ */
31
+ function sentBlock(block) {
32
+ if (block.type !== 'text' || block.text !== '')
33
+ return true;
34
+ const raw = block.rawItem;
35
+ return raw !== null && typeof raw === 'object';
36
+ }
37
+ /** A block's own cache marker left out: the provider's thinking binding doesn't count it, nor does the context
38
+ * manager's record, and stored history can carry a stale one. */
39
+ function withoutCacheMarker(block) {
40
+ if (!('cache_control' in block) && !('cacheControl' in block))
41
+ return block;
42
+ const { cache_control: _snake, cacheControl: _camel, ...rest } = block;
43
+ return rest;
44
+ }
45
+ /** A value as JSON writes it: a non-finite number as null, and undefined, a function or a symbol as nothing
46
+ * (undefined here), which an object leaves out and an array writes as null. */
47
+ function asJson(value) {
48
+ if (typeof value === 'number')
49
+ return Number.isFinite(value) ? value : null;
50
+ return value === undefined || typeof value === 'function' || typeof value === 'symbol' ? undefined : value;
51
+ }
52
+ /** Whether JSON writes an object by walking it: an array, or a plain object without its own `toJSON`. */
53
+ function walkable(value) {
54
+ if (Array.isArray(value))
55
+ return true;
56
+ const proto = Object.getPrototypeOf(value);
57
+ return (proto === Object.prototype || proto === null) && typeof value.toJSON !== 'function';
58
+ }
59
+ /**
60
+ * Blocks equal as JSON data, as the store keeps them and a request sends them: equal where `JSON.stringify` writes
61
+ * them alike, key order aside. So a non-finite number is null; a field whose value is undefined, a function or a
62
+ * symbol is absent; such an array element, or a hole, is null; and anything else an object can be (a Date, a Buffer)
63
+ * is compared as JSON writes it. It walks plain objects and arrays rather than serializing them, since a note compares
64
+ * every row of the stream so far, base64 images and long tool results included, at each boundary.
65
+ */
66
+ export function sameData(a, b) {
67
+ const left = asJson(a);
68
+ const right = asJson(b);
69
+ if (left === right)
70
+ return true;
71
+ const unwalked = (value) => typeof value === 'object' && value !== null && !walkable(value);
72
+ if (unwalked(left) || unwalked(right)) {
73
+ return isDeepStrictEqual(JSON.parse(JSON.stringify(left) ?? 'null'), JSON.parse(JSON.stringify(right) ?? 'null'));
74
+ }
75
+ if (typeof left !== 'object' || typeof right !== 'object' || left === null || right === null)
76
+ return false;
77
+ if (Array.isArray(left) || Array.isArray(right)) {
78
+ if (!Array.isArray(left) || !Array.isArray(right) || left.length !== right.length)
79
+ return false;
80
+ for (let i = 0; i < left.length; i++) {
81
+ if (!sameData(asJson(left[i]) ?? null, asJson(right[i]) ?? null))
82
+ return false;
83
+ }
84
+ return true;
85
+ }
86
+ const l = left;
87
+ const r = right;
88
+ const keys = Object.keys(l).filter((key) => asJson(l[key]) !== undefined);
89
+ return keys.length === Object.keys(r).filter((key) => asJson(r[key]) !== undefined).length
90
+ && keys.every((key) => Object.hasOwn(r, key) && asJson(r[key]) !== undefined && sameData(l[key], r[key]));
91
+ }
92
+ /** What membrane builds a round's results message from: each submitted result as a `tool_result` block. */
93
+ function submittedBlocks(results) {
94
+ return results.map((result) => ({
95
+ type: 'tool_result',
96
+ toolUseId: result.toolUseId,
97
+ content: result.content,
98
+ isError: result.isError === true,
99
+ }));
100
+ }
101
+ /**
102
+ * A round's rows as noted: each stored row's id where the next request carries it as the stream sent it, the
103
+ * marker where it doesn't. `carried` gives each id's stored body as the next compile renders it (participant and
104
+ * content, or null where no compile can send it), so the comparison is the one the context manager's record
105
+ * makes, after the agent's own request passes (asNextRequestCarries). A row the store doesn't hold (no id), a reply
106
+ * that differs from the round's content as membrane held it, results that differ from those submitted (as while the
107
+ * tool-result guard holds a batch, storing placeholders and submitting the originals), or an injected message sent
108
+ * otherwise than its stored body renders, is the marker. Called again over the same rows once the store has
109
+ * changed, as when the guard's batch settles to the originals, it gives each row's verdict as of then.
110
+ */
111
+ export function roundRows(rows, carried) {
112
+ return rows.map((row) => {
113
+ if (row.id === undefined)
114
+ return UNSTORED;
115
+ const body = carried(row.id);
116
+ const content = body ? asNextRequestCarries(body.content) : null;
117
+ if (!body || !content)
118
+ return UNSTORED;
119
+ // What the stream sent, as membrane's native formatter sends it (sentBlock): an exactly empty text block is in
120
+ // neither request.
121
+ const sent = row.kind === 'results' ? submittedBlocks(row.sent) : row.sent.filter(sentBlock);
122
+ const sameParticipant = row.kind !== 'injected' || body.participant === row.participant;
123
+ const sameContent = row.kind === 'results'
124
+ ? sameData(content.map(normalizedResult), sent.map(normalizedResult))
125
+ : sameData(content.map(withoutCacheMarker), sent.map(withoutCacheMarker));
126
+ return sameParticipant && sameContent ? row.id : UNSTORED;
127
+ });
128
+ }
129
+ /**
130
+ * A results block as compared: what a request sends of it, its id, content and error flag, with `isError` as a
131
+ * boolean, where a stored block may leave a false one out. A stream's envelope sends a submitted result's
132
+ * `is_error: false` and the next request, from the stored block, sends none; the provider's thinking binding takes
133
+ * the two alike (read from the provider on 2026-10-23: Haiku 5.5 with the drop control, on an enforcing API-key
134
+ * organization and on a subscription account, reported no drop for either, and dropped both replies' blocks when an
135
+ * earlier user message changed). The store's own fields beside them, such as
136
+ * `toolName`, don't reach the provider on membrane's native path, the only one noted (membrane 0.8.0's XML
137
+ * formatter reads `toolName`, and an XML stream is never noted).
138
+ */
139
+ function normalizedResult(block) {
140
+ if (block.type !== 'tool_result')
141
+ return block;
142
+ const { toolUseId, content, isError } = block;
143
+ return { type: 'tool_result', toolUseId, content, isError: isError === true };
144
+ }
145
+ //# sourceMappingURL=sent-rows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sent-rows.js","sourceRoot":"","sources":["../../src/sent-rows.ts"],"names":[],"mappings":"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"}
@@ -7,19 +7,22 @@
7
7
  * - A silent heartbeat tick stores no prompt row (#216): its reply is written
8
8
  * straight after whatever the window held before it — often the previous
9
9
  * assistant message, since a suppressed tick leaves no delivery receipt
10
- * behind. Every row a tick writes is stamped with `metadata.silentHeartbeat`,
11
- * and a separator carrying the tick's instruction is rendered before the
12
- * first of the tick's rows that survives compilation.
10
+ * behind. Every row the tick's reply writes is stamped with
11
+ * `metadata.silentHeartbeat`, and a separator carrying the tick's
12
+ * instruction is rendered before the first of those rows that survives
13
+ * compilation. A context injection its start stores (stored-injections.ts)
14
+ * is unstamped: it's history the agent saw, not the tick's speech, so a
15
+ * policy that drops a tick's rows leaves it.
13
16
  * - A compile that ends on the agent's own message gets a trailing
14
17
  * `[Continue]` turn (some models reject a trailing assistant message). The
15
18
  * reply it prompts is stored straight after that message, so the reply's
16
19
  * rows are stamped `metadata.promptedBy` (`RequestOnlyPrompt`), and the turn
17
20
  * is rendered before the first of them that survives. A reply follows the
18
21
  * prompt when what it was sent ends on that `[Continue]`, or on the tool
19
- * results of a reply that followed it (`toolLoopPrompt`): a stream start
20
- * and each round of a stream alike. A reply sent anything else after the
21
- * results (a message that arrived meanwhile) follows that, and carries no
22
- * prompt.
22
+ * results of a reply that followed it (`toolLoopPrompt`), stored context
23
+ * injections after those results aside: a stream start and each round of
24
+ * a stream alike. A reply sent anything else after the results (a message
25
+ * that arrived meanwhile) follows that, and carries no prompt.
23
26
  *
24
27
  * Without the row, the wire formatter merges consecutive same-role messages:
25
28
  * the reply would read as an unprompted continuation of the earlier response,
@@ -65,9 +68,13 @@ export interface SilentHeartbeatTick {
65
68
  /** The MCPL server that sent it. */
66
69
  serverId: string;
67
70
  }
68
- /** `metadata.silentHeartbeat` on every row a tick's turn writes. Residents
69
- * share one message slot, so the stamp names the agent whose turn wrote it
70
- * (tool_result rows are stored as `user`). */
71
+ /** `metadata.silentHeartbeat` on the rows of a tick's own turn (its reply,
72
+ * tool results and their wrappers). What the framework stores of its own
73
+ * accord is left unstamped, a clock row (at the turn's start or a tool
74
+ * boundary) or a context injection, so a retention policy that drops a
75
+ * tick's rows keeps it. Residents share one message
76
+ * slot, so the stamp names the agent whose turn wrote it (tool_result rows
77
+ * are stored as `user`). */
71
78
  export interface SilentHeartbeatStamp extends SilentHeartbeatTick {
72
79
  agentName: string;
73
80
  /** The separator text the tick's request rendered, which later compiles
@@ -1 +1 @@
1
- {"version":3,"file":"silent-heartbeat.d.ts","sourceRoot":"","sources":["../../src/silent-heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE3E;;;;;4DAK4D;AAC5D,eAAO,MAAM,0BAA0B,QAEiF,CAAC;AAMzH,6EAA6E;AAC7E,eAAO,MAAM,YAAY,eAAe,CAAC;AAEzC,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC;oCACgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;8CAE8C;AAC9C,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;iDAE6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;6DAC6D;AAC7D,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEzD;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAOrF;AAED;;oEAEoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;sCAGsC;AACtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAK7E;AAED,wBAAgB,4BAA4B,IAAI,iBAAiB,CAEhE;AAED,wBAAgB,YAAY,IAAI,iBAAiB,CAEhD;AA8BD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC;;mCAE+B;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD;6CACyC;IACzC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACzC;AAED;;;yDAGyD;AACzD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAiB7G;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,KAAK,EAAE,mBAAmB,GACzB,iBAAiB,GAAG,SAAS,CAQ/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;0DACsD;IACtD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAsBzB"}
1
+ {"version":3,"file":"silent-heartbeat.d.ts","sourceRoot":"","sources":["../../src/silent-heartbeat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE3E;;;;;4DAK4D;AAC5D,eAAO,MAAM,0BAA0B,QAEiF,CAAC;AAMzH,6EAA6E;AAC7E,eAAO,MAAM,YAAY,eAAe,CAAC;AAEzC,2DAA2D;AAC3D,MAAM,WAAW,mBAAmB;IAClC;oCACgC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;4BAM4B;AAC5B,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D,SAAS,EAAE,MAAM,CAAC;IAClB;;iDAE6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;6DAC6D;AAC7D,wBAAgB,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,MAAM,CAEzD;AAED,yDAAyD;AACzD,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,oBAAoB,GAAG,SAAS,CAOrF;AAED;;oEAEoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;sCAGsC;AACtC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,QAAQ,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAK7E;AAED,wBAAgB,4BAA4B,IAAI,iBAAiB,CAEhE;AAED,wBAAgB,YAAY,IAAI,iBAAiB,CAEhD;AA8BD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC;;mCAE+B;IAC/B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD;6CACyC;IACzC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACzC;AAED;;;yDAGyD;AACzD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,aAAa,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,mBAAmB,CAiB7G;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,KAAK,EAAE,mBAAmB,GACzB,iBAAiB,GAAG,SAAS,CAQ/B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;0DACsD;IACtD,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC7B;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EAAE,mBAAmB,EAC1B,SAAS,EAAE,MAAM,GAChB,uBAAuB,CAsBzB"}