@animalabs/agent-framework 0.27.0 → 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 (234) hide show
  1. package/README.md +56 -15
  2. package/dist/src/agent.d.ts +29 -2
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +69 -11
  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 +4 -2
  8. package/dist/src/api/server.js.map +1 -1
  9. package/dist/src/auto-continue.d.ts +3 -2
  10. package/dist/src/auto-continue.d.ts.map +1 -1
  11. package/dist/src/auto-continue.js +4 -3
  12. package/dist/src/auto-continue.js.map +1 -1
  13. package/dist/src/cut-off-round.d.ts +24 -0
  14. package/dist/src/cut-off-round.d.ts.map +1 -0
  15. package/dist/src/cut-off-round.js +87 -0
  16. package/dist/src/cut-off-round.js.map +1 -0
  17. package/dist/src/framework.d.ts +304 -89
  18. package/dist/src/framework.d.ts.map +1 -1
  19. package/dist/src/framework.js +2577 -678
  20. package/dist/src/framework.js.map +1 -1
  21. package/dist/src/gate/event-gate.d.ts +99 -3
  22. package/dist/src/gate/event-gate.d.ts.map +1 -1
  23. package/dist/src/gate/event-gate.js +538 -13
  24. package/dist/src/gate/event-gate.js.map +1 -1
  25. package/dist/src/gate/index.d.ts +2 -1
  26. package/dist/src/gate/index.d.ts.map +1 -1
  27. package/dist/src/gate/index.js +1 -0
  28. package/dist/src/gate/index.js.map +1 -1
  29. package/dist/src/gate/reply-judge.d.ts +116 -0
  30. package/dist/src/gate/reply-judge.d.ts.map +1 -0
  31. package/dist/src/gate/reply-judge.js +467 -0
  32. package/dist/src/gate/reply-judge.js.map +1 -0
  33. package/dist/src/gate/types.d.ts +161 -0
  34. package/dist/src/gate/types.d.ts.map +1 -1
  35. package/dist/src/heartbeat/heartbeat.d.ts +184 -0
  36. package/dist/src/heartbeat/heartbeat.d.ts.map +1 -0
  37. package/dist/src/heartbeat/heartbeat.js +752 -0
  38. package/dist/src/heartbeat/heartbeat.js.map +1 -0
  39. package/dist/src/heartbeat/reminder-time.d.ts +5 -0
  40. package/dist/src/heartbeat/reminder-time.d.ts.map +1 -0
  41. package/dist/src/heartbeat/reminder-time.js +107 -0
  42. package/dist/src/heartbeat/reminder-time.js.map +1 -0
  43. package/dist/src/index.d.ts +4 -0
  44. package/dist/src/index.d.ts.map +1 -1
  45. package/dist/src/index.js +2 -0
  46. package/dist/src/index.js.map +1 -1
  47. package/dist/src/mcpl/capability-mask.d.ts.map +1 -1
  48. package/dist/src/mcpl/capability-mask.js +3 -2
  49. package/dist/src/mcpl/capability-mask.js.map +1 -1
  50. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  51. package/dist/src/mcpl/channel-registry.js +2 -1
  52. package/dist/src/mcpl/channel-registry.js.map +1 -1
  53. package/dist/src/mcpl/inbound-source.d.ts +26 -10
  54. package/dist/src/mcpl/inbound-source.d.ts.map +1 -1
  55. package/dist/src/mcpl/inbound-source.js +40 -69
  56. package/dist/src/mcpl/inbound-source.js.map +1 -1
  57. package/dist/src/mcpl/server-connection.d.ts +18 -8
  58. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  59. package/dist/src/mcpl/server-connection.js +50 -10
  60. package/dist/src/mcpl/server-connection.js.map +1 -1
  61. package/dist/src/mcpl/tags.d.ts +9 -2
  62. package/dist/src/mcpl/tags.d.ts.map +1 -1
  63. package/dist/src/mcpl/tags.js +12 -2
  64. package/dist/src/mcpl/tags.js.map +1 -1
  65. package/dist/src/mcpl/tool-presence.d.ts +66 -14
  66. package/dist/src/mcpl/tool-presence.d.ts.map +1 -1
  67. package/dist/src/mcpl/tool-presence.js +134 -65
  68. package/dist/src/mcpl/tool-presence.js.map +1 -1
  69. package/dist/src/mcpl/tool-signature.d.ts +10 -3
  70. package/dist/src/mcpl/tool-signature.d.ts.map +1 -1
  71. package/dist/src/mcpl/tool-signature.js +47 -18
  72. package/dist/src/mcpl/tool-signature.js.map +1 -1
  73. package/dist/src/mcpl/toolset-host.d.ts +88 -37
  74. package/dist/src/mcpl/toolset-host.d.ts.map +1 -1
  75. package/dist/src/mcpl/toolset-host.js +207 -108
  76. package/dist/src/mcpl/toolset-host.js.map +1 -1
  77. package/dist/src/mcpl/toolsets-module.d.ts +14 -11
  78. package/dist/src/mcpl/toolsets-module.d.ts.map +1 -1
  79. package/dist/src/mcpl/toolsets-module.js +141 -49
  80. package/dist/src/mcpl/toolsets-module.js.map +1 -1
  81. package/dist/src/mcpl/types.d.ts +3 -1
  82. package/dist/src/mcpl/types.d.ts.map +1 -1
  83. package/dist/src/mcpl/types.js.map +1 -1
  84. package/dist/src/module-registry.d.ts +4 -1
  85. package/dist/src/module-registry.d.ts.map +1 -1
  86. package/dist/src/module-registry.js +9 -2
  87. package/dist/src/module-registry.js.map +1 -1
  88. package/dist/src/modules/history/index.d.ts.map +1 -1
  89. package/dist/src/modules/history/index.js +22 -11
  90. package/dist/src/modules/history/index.js.map +1 -1
  91. package/dist/src/modules/workspace/answers.d.ts +22 -0
  92. package/dist/src/modules/workspace/answers.d.ts.map +1 -0
  93. package/dist/src/modules/workspace/answers.js +123 -0
  94. package/dist/src/modules/workspace/answers.js.map +1 -0
  95. package/dist/src/modules/workspace/branch-intent.d.ts +5 -3
  96. package/dist/src/modules/workspace/branch-intent.d.ts.map +1 -1
  97. package/dist/src/modules/workspace/branch-intent.js +6 -2
  98. package/dist/src/modules/workspace/branch-intent.js.map +1 -1
  99. package/dist/src/modules/workspace/direct-write.d.ts +3 -0
  100. package/dist/src/modules/workspace/direct-write.d.ts.map +1 -1
  101. package/dist/src/modules/workspace/direct-write.js +57 -24
  102. package/dist/src/modules/workspace/direct-write.js.map +1 -1
  103. package/dist/src/modules/workspace/disk-agreement.d.ts +33 -11
  104. package/dist/src/modules/workspace/disk-agreement.d.ts.map +1 -1
  105. package/dist/src/modules/workspace/disk-agreement.js +48 -17
  106. package/dist/src/modules/workspace/disk-agreement.js.map +1 -1
  107. package/dist/src/modules/workspace/edit-text.d.ts +2 -1
  108. package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
  109. package/dist/src/modules/workspace/edit-text.js +4 -2
  110. package/dist/src/modules/workspace/edit-text.js.map +1 -1
  111. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  112. package/dist/src/modules/workspace/effects.js +20 -13
  113. package/dist/src/modules/workspace/effects.js.map +1 -1
  114. package/dist/src/modules/workspace/index.d.ts +62 -51
  115. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  116. package/dist/src/modules/workspace/index.js +934 -531
  117. package/dist/src/modules/workspace/index.js.map +1 -1
  118. package/dist/src/modules/workspace/observe.d.ts +75 -63
  119. package/dist/src/modules/workspace/observe.d.ts.map +1 -1
  120. package/dist/src/modules/workspace/observe.js +366 -180
  121. package/dist/src/modules/workspace/observe.js.map +1 -1
  122. package/dist/src/modules/workspace/read-page.d.ts.map +1 -1
  123. package/dist/src/modules/workspace/read-page.js +7 -1
  124. package/dist/src/modules/workspace/read-page.js.map +1 -1
  125. package/dist/src/modules/workspace/reconcile.d.ts.map +1 -1
  126. package/dist/src/modules/workspace/reconcile.js +26 -16
  127. package/dist/src/modules/workspace/reconcile.js.map +1 -1
  128. package/dist/src/modules/workspace/result-text.d.ts +1 -0
  129. package/dist/src/modules/workspace/result-text.d.ts.map +1 -1
  130. package/dist/src/modules/workspace/result-text.js.map +1 -1
  131. package/dist/src/modules/workspace/sync.d.ts +9 -0
  132. package/dist/src/modules/workspace/sync.d.ts.map +1 -1
  133. package/dist/src/modules/workspace/sync.js +14 -0
  134. package/dist/src/modules/workspace/sync.js.map +1 -1
  135. package/dist/src/modules/workspace/types.d.ts +96 -43
  136. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  137. package/dist/src/modules/workspace/types.js.map +1 -1
  138. package/dist/src/modules/workspace/watcher.d.ts.map +1 -1
  139. package/dist/src/modules/workspace/watcher.js +8 -3
  140. package/dist/src/modules/workspace/watcher.js.map +1 -1
  141. package/dist/src/prose-drafts.d.ts +4 -3
  142. package/dist/src/prose-drafts.d.ts.map +1 -1
  143. package/dist/src/prose-drafts.js +3 -2
  144. package/dist/src/prose-drafts.js.map +1 -1
  145. package/dist/src/reasoning-loss-notice.d.ts +23 -0
  146. package/dist/src/reasoning-loss-notice.d.ts.map +1 -0
  147. package/dist/src/reasoning-loss-notice.js +50 -0
  148. package/dist/src/reasoning-loss-notice.js.map +1 -0
  149. package/dist/src/reasoning-loss.d.ts +24 -0
  150. package/dist/src/reasoning-loss.d.ts.map +1 -0
  151. package/dist/src/reasoning-loss.js +102 -0
  152. package/dist/src/reasoning-loss.js.map +1 -0
  153. package/dist/src/send-tools.d.ts +3 -2
  154. package/dist/src/send-tools.d.ts.map +1 -1
  155. package/dist/src/send-tools.js +3 -2
  156. package/dist/src/send-tools.js.map +1 -1
  157. package/dist/src/sent-rows.js +1 -1
  158. package/dist/src/thinking-drops.d.ts +4 -11
  159. package/dist/src/thinking-drops.d.ts.map +1 -1
  160. package/dist/src/thinking-drops.js +7 -14
  161. package/dist/src/thinking-drops.js.map +1 -1
  162. package/dist/src/tool-args.d.ts +12 -0
  163. package/dist/src/tool-args.d.ts.map +1 -1
  164. package/dist/src/tool-args.js +35 -1
  165. package/dist/src/tool-args.js.map +1 -1
  166. package/dist/src/tool-result-guard.d.ts +8 -4
  167. package/dist/src/tool-result-guard.d.ts.map +1 -1
  168. package/dist/src/tool-result-guard.js +23 -11
  169. package/dist/src/tool-result-guard.js.map +1 -1
  170. package/dist/src/tune-out/tools.d.ts +4 -1
  171. package/dist/src/tune-out/tools.d.ts.map +1 -1
  172. package/dist/src/types/agent.d.ts +40 -9
  173. package/dist/src/types/agent.d.ts.map +1 -1
  174. package/dist/src/types/events.d.ts +18 -8
  175. package/dist/src/types/events.d.ts.map +1 -1
  176. package/dist/src/types/framework.d.ts +15 -0
  177. package/dist/src/types/framework.d.ts.map +1 -1
  178. package/dist/src/types/module.d.ts +5 -2
  179. package/dist/src/types/module.d.ts.map +1 -1
  180. package/dist/src/types/trace.d.ts +34 -1
  181. package/dist/src/types/trace.d.ts.map +1 -1
  182. package/package.json +3 -3
  183. package/src/agent.ts +72 -11
  184. package/src/api/server.ts +4 -2
  185. package/src/auto-continue.ts +4 -3
  186. package/src/cut-off-round.ts +98 -0
  187. package/src/framework.ts +2694 -700
  188. package/src/gate/event-gate.ts +579 -15
  189. package/src/gate/index.ts +8 -0
  190. package/src/gate/reply-judge.ts +512 -0
  191. package/src/gate/types.ts +164 -1
  192. package/src/heartbeat/heartbeat.ts +804 -0
  193. package/src/heartbeat/reminder-time.ts +107 -0
  194. package/src/index.ts +4 -0
  195. package/src/mcpl/capability-mask.ts +3 -2
  196. package/src/mcpl/channel-registry.ts +2 -1
  197. package/src/mcpl/inbound-source.ts +42 -69
  198. package/src/mcpl/server-connection.ts +56 -16
  199. package/src/mcpl/tags.ts +13 -2
  200. package/src/mcpl/tool-presence.ts +133 -67
  201. package/src/mcpl/tool-signature.ts +51 -20
  202. package/src/mcpl/toolset-host.ts +197 -107
  203. package/src/mcpl/toolsets-module.ts +143 -49
  204. package/src/mcpl/types.ts +3 -1
  205. package/src/module-registry.ts +8 -2
  206. package/src/modules/history/index.ts +22 -12
  207. package/src/modules/workspace/answers.ts +133 -0
  208. package/src/modules/workspace/branch-intent.ts +10 -5
  209. package/src/modules/workspace/direct-write.ts +58 -23
  210. package/src/modules/workspace/disk-agreement.ts +52 -21
  211. package/src/modules/workspace/edit-text.ts +7 -5
  212. package/src/modules/workspace/effects.ts +21 -12
  213. package/src/modules/workspace/index.ts +927 -541
  214. package/src/modules/workspace/observe.ts +381 -177
  215. package/src/modules/workspace/read-page.ts +7 -1
  216. package/src/modules/workspace/reconcile.ts +27 -15
  217. package/src/modules/workspace/result-text.ts +2 -0
  218. package/src/modules/workspace/sync.ts +16 -0
  219. package/src/modules/workspace/types.ts +96 -43
  220. package/src/modules/workspace/watcher.ts +8 -3
  221. package/src/prose-drafts.ts +4 -3
  222. package/src/reasoning-loss-notice.ts +62 -0
  223. package/src/reasoning-loss.ts +120 -0
  224. package/src/send-tools.ts +3 -2
  225. package/src/sent-rows.ts +1 -1
  226. package/src/thinking-drops.ts +10 -16
  227. package/src/tool-args.ts +34 -1
  228. package/src/tool-result-guard.ts +26 -11
  229. package/src/tune-out/tools.ts +4 -1
  230. package/src/types/agent.ts +40 -9
  231. package/src/types/events.ts +18 -8
  232. package/src/types/framework.ts +15 -0
  233. package/src/types/module.ts +5 -2
  234. package/src/types/trace.ts +36 -1
@@ -139,23 +139,39 @@ export declare function canonicalJson(value: unknown): string;
139
139
  * room-220 #46752–#47210): SHA-256 hex of `canonicalJson([blocks])` over the
140
140
  * ContentBlock[] the framework stores for the body — after MCPL conversion,
141
141
  * before any host decoration is added and before storage shards it — with
142
- * each block as the store keeps it (storedBlock, canonicalJson). So a body
143
- * hashes alike as delivered, as handed to storage, and as read back from
144
- * the store. The one-element array keeps the framing an undecorated,
145
- * unsharded stored copy has always hashed to, so a stamped copy and an
146
- * older copy of the same body share a version.
142
+ * each block as the store keeps it, which context-manager's `blockAsStored`
143
+ * gives. So a body hashes alike as delivered, as handed to storage, and as
144
+ * read back unsharded from the store with its blobs resolved, except one
145
+ * whose blocks the store changes together: when it mends a `tool_use` whose
146
+ * input isn't an object, it also releases a raw replay form (`rawXml`,
147
+ * `rawItem`) that the message's other blocks share, which no one block's
148
+ * stored form shows. A body an MCPL lane stamps is never one. A block the
149
+ * store refuses on write, a `blob_ref` among them, is digested as given. The
150
+ * one-element array keeps the framing an undecorated, unsharded stored copy
151
+ * has always hashed to, so a stamped copy and an older copy of the same body
152
+ * share a version where the store keeps the body as it did then.
153
+ *
154
+ * A digest is a digest under the context-manager release that computed it: a
155
+ * release that changes what the store keeps, such as its set of image
156
+ * signatures, changes the digest of a body it touches.
147
157
  *
148
158
  * Ingestion stamps it as `metadata.sourceBodyDigest`, and the same function
149
159
  * over exactly the blocks handed to storage (decorations included) as
150
160
  * `metadata.storedBodyDigest`, on both MCPL lanes. Both live outside the
151
161
  * frozen admission envelope: they describe the body actually delivered (a
152
162
  * materialization, a correction), not the admission. Neither proves later
153
- * presence or completeness; an unsharded stored copy that no longer hashes
163
+ * presence or completeness. An unsharded stored copy that no longer hashes
154
164
  * to its storedBodyDigest was changed after delivery (editMessage keeps
155
- * metadata). A body the store shards carries the whole body's two digests
156
- * on every shard, and no shard hashes to them. Check a copy read back with
157
- * its blobs resolved (getAllMessages, getMessage, or getMessageWindow
158
- * without `resolveBlobs: false`): a blob reference never matches.
165
+ * metadata), or holds blocks the store changes together, or its digest was
166
+ * taken under a release that kept some block of it differently: a
167
+ * context-manager release that changed a stored form, or an agent-framework
168
+ * release from 0.24.0 up to the one that brought in blockAsStored, which
169
+ * took stored forms from a copy of the store's transform. Digests already
170
+ * stamped are never recomputed. A body the store shards carries the whole
171
+ * body's two digests on every shard, and no shard hashes to them. Check a
172
+ * copy read back with its blobs resolved (getAllMessages, getMessage, or
173
+ * getMessageWindow without `resolveBlobs: false`): a blob reference never
174
+ * matches.
159
175
  *
160
176
  * Exported from the package root, so a consumer checks a copy against either
161
177
  * field with this same function rather than a copy of it.
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-source.d.ts","sourceRoot":"","sources":["../../../src/mcpl/inbound-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH;;;;+CAI+C;AAC/C,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAE7D,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,6DAA6D;IAC7D,IAAI,EAAE,WAAW,CAAC;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB;;qFAEiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB;gFAC4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,uEAAuE;IACvE,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAEhG;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9C;AAED,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAMlD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAwB9E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAMzE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUpD;AAmED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAEnE"}
1
+ {"version":3,"file":"inbound-source.d.ts","sourceRoot":"","sources":["../../../src/mcpl/inbound-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAMH;;;;+CAI+C;AAC/C,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG,YAAY,CAAC;AAE7D,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,6DAA6D;IAC7D,IAAI,EAAE,WAAW,CAAC;IAClB,oDAAoD;IACpD,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;IACjB;;qFAEiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB;gFAC4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2EAA2E;IAC3E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,uEAAuE;IACvE,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,mFAAmF;AACnF,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAChB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED,2EAA2E;AAC3E,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,SAAS,CAAC;IAChB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,aAAa,GAAG,oBAAoB,GAAG,qBAAqB,GAAG,oBAAoB,CAAC;AAEhG;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;CAC9C;AAED,yCAAyC;AACzC,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAMlD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,GAAG,SAAS,CAwB9E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAMzE;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAUpD;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,MAAM,CAEnE"}
@@ -21,6 +21,8 @@
21
21
  * key: `eventId` is present only when the producer supplied one.
22
22
  */
23
23
  import { createHash } from 'node:crypto';
24
+ import { blockAsStored, MalformedContentError } from '@animalabs/context-manager';
25
+ import { logDetail, logValue } from './log-value.js';
24
26
  /** Metadata key the framework stamps. */
25
27
  export const INBOUND_SOURCE_KEY = 'inboundSource';
26
28
  const isText = (v) => typeof v === 'string' && v.length > 0;
@@ -117,92 +119,61 @@ export function canonicalJson(value) {
117
119
  return JSON.stringify(value) ?? 'null';
118
120
  }
119
121
  /**
120
- * A block as the store hands it back. Context-manager keeps inline media as
121
- * blobs (blob-manager.ts): an image whose source isn't a URL, and every
122
- * document, audio or video block, comes back as `{ type, source: { type:
123
- * 'base64', data, mediaType } }` and nothing else, its data re-encoded from
124
- * the decoded bytes, and an image's media type taken from its bytes'
125
- * signature where they have one. Any other block comes back as it was given,
126
- * except a store-internal `blob_ref` from an unresolved read, which resolves
127
- * to inline media by default. It is digested as given here, so an unresolved
128
- * read and its resolved form differ. Context-manager refuses caller-supplied
129
- * blob_ref writes; the MCPL lanes never store one.
122
+ * blockAsStored throws a `MalformedContentError` for a block the store
123
+ * refuses on write, a caller-supplied `blob_ref` among them. Such a block
124
+ * has no stored form, and whatever is thrown, it is digested as given.
130
125
  */
131
126
  function storedBlock(block) {
132
- const media = block;
133
- const blob = media?.type === 'image'
134
- ? media.source?.type !== 'url'
135
- : media?.type === 'document' || media?.type === 'audio' || media?.type === 'video';
136
- const source = media?.source;
137
- if (!blob || typeof source?.data !== 'string')
138
- return block;
139
- const data = canonicalBase64(source.data);
140
- const mediaType = media.type === 'image'
141
- ? sniffRasterImageMediaType(Buffer.from(data.slice(0, 32), 'base64')) ?? source.mediaType
142
- : source.mediaType;
143
- return { type: media.type, source: { type: 'base64', data, mediaType } };
144
- }
145
- /**
146
- * Base64 as the store writes it back from the decoded bytes: padded, with no
147
- * whitespace, the standard alphabet and zero unused bits. Data already in
148
- * that form, as every stored copy's is, is returned without decoding it all.
149
- */
150
- function canonicalBase64(data) {
151
- if (data.length % 4 === 0 && /^[A-Za-z0-9+/]*={0,2}$/.test(data)) {
152
- const last = data.slice(-4);
153
- if (Buffer.from(last, 'base64').toString('base64') === last)
154
- return data;
127
+ try {
128
+ return blockAsStored(block);
155
129
  }
156
- return Buffer.from(data, 'base64').toString('base64');
157
- }
158
- /**
159
- * The store's own test for raster image types with an unambiguous byte
160
- * signature, copied from context-manager's blob-manager.ts (it isn't
161
- * exported): the store relabels an image whose bytes match one of these.
162
- */
163
- function sniffRasterImageMediaType(bytes) {
164
- if (bytes.length >= 8 &&
165
- bytes[0] === 0x89 && bytes[1] === 0x50 && bytes[2] === 0x4e && bytes[3] === 0x47 &&
166
- bytes[4] === 0x0d && bytes[5] === 0x0a && bytes[6] === 0x1a && bytes[7] === 0x0a) {
167
- return 'image/png';
168
- }
169
- if (bytes.length >= 3 && bytes[0] === 0xff && bytes[1] === 0xd8 && bytes[2] === 0xff) {
170
- return 'image/jpeg';
171
- }
172
- if (bytes.length >= 6) {
173
- const signature = Buffer.from(bytes.subarray(0, 6)).toString('ascii');
174
- if (signature === 'GIF87a' || signature === 'GIF89a')
175
- return 'image/gif';
176
- }
177
- if (bytes.length >= 12 &&
178
- Buffer.from(bytes.subarray(0, 4)).toString('ascii') === 'RIFF' &&
179
- Buffer.from(bytes.subarray(8, 12)).toString('ascii') === 'WEBP') {
180
- return 'image/webp';
130
+ catch (err) {
131
+ if (!(err instanceof MalformedContentError)) {
132
+ const { name, message } = (err ?? {});
133
+ console.error(`[stored-digest-as-given] error=${logValue(typeof name === 'string' ? name : typeof err)}: ` +
134
+ logDetail(typeof message === 'string' ? message : ''));
135
+ }
136
+ return block;
181
137
  }
182
- return null;
183
138
  }
184
139
  /**
185
140
  * The version identity of a delivered body (agreed with the receipts lane,
186
141
  * room-220 #46752–#47210): SHA-256 hex of `canonicalJson([blocks])` over the
187
142
  * ContentBlock[] the framework stores for the body — after MCPL conversion,
188
143
  * before any host decoration is added and before storage shards it — with
189
- * each block as the store keeps it (storedBlock, canonicalJson). So a body
190
- * hashes alike as delivered, as handed to storage, and as read back from
191
- * the store. The one-element array keeps the framing an undecorated,
192
- * unsharded stored copy has always hashed to, so a stamped copy and an
193
- * older copy of the same body share a version.
144
+ * each block as the store keeps it, which context-manager's `blockAsStored`
145
+ * gives. So a body hashes alike as delivered, as handed to storage, and as
146
+ * read back unsharded from the store with its blobs resolved, except one
147
+ * whose blocks the store changes together: when it mends a `tool_use` whose
148
+ * input isn't an object, it also releases a raw replay form (`rawXml`,
149
+ * `rawItem`) that the message's other blocks share, which no one block's
150
+ * stored form shows. A body an MCPL lane stamps is never one. A block the
151
+ * store refuses on write, a `blob_ref` among them, is digested as given. The
152
+ * one-element array keeps the framing an undecorated, unsharded stored copy
153
+ * has always hashed to, so a stamped copy and an older copy of the same body
154
+ * share a version where the store keeps the body as it did then.
155
+ *
156
+ * A digest is a digest under the context-manager release that computed it: a
157
+ * release that changes what the store keeps, such as its set of image
158
+ * signatures, changes the digest of a body it touches.
194
159
  *
195
160
  * Ingestion stamps it as `metadata.sourceBodyDigest`, and the same function
196
161
  * over exactly the blocks handed to storage (decorations included) as
197
162
  * `metadata.storedBodyDigest`, on both MCPL lanes. Both live outside the
198
163
  * frozen admission envelope: they describe the body actually delivered (a
199
164
  * materialization, a correction), not the admission. Neither proves later
200
- * presence or completeness; an unsharded stored copy that no longer hashes
165
+ * presence or completeness. An unsharded stored copy that no longer hashes
201
166
  * to its storedBodyDigest was changed after delivery (editMessage keeps
202
- * metadata). A body the store shards carries the whole body's two digests
203
- * on every shard, and no shard hashes to them. Check a copy read back with
204
- * its blobs resolved (getAllMessages, getMessage, or getMessageWindow
205
- * without `resolveBlobs: false`): a blob reference never matches.
167
+ * metadata), or holds blocks the store changes together, or its digest was
168
+ * taken under a release that kept some block of it differently: a
169
+ * context-manager release that changed a stored form, or an agent-framework
170
+ * release from 0.24.0 up to the one that brought in blockAsStored, which
171
+ * took stored forms from a copy of the store's transform. Digests already
172
+ * stamped are never recomputed. A body the store shards carries the whole
173
+ * body's two digests on every shard, and no shard hashes to them. Check a
174
+ * copy read back with its blobs resolved (getAllMessages, getMessage, or
175
+ * getMessageWindow without `resolveBlobs: false`): a blob reference never
176
+ * matches.
206
177
  *
207
178
  * Exported from the package root, so a consumer checks a copy against either
208
179
  * field with this same function rather than a copy of it.
@@ -1 +1 @@
1
- {"version":3,"file":"inbound-source.js","sourceRoot":"","sources":["../../../src/mcpl/inbound-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbound-source.js","sourceRoot":"","sources":["../../../src/mcpl/inbound-source.ts"],"names":[],"mappings":"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"}
@@ -104,16 +104,19 @@ export declare function toolsetDeclarationsOf(advertised: unknown): Record<strin
104
104
  /** What the RFC-014 read tap is handed as the connection reads a message
105
105
  * that can carry hint changes (see McplServerConnection.setReadTap). */
106
106
  export type HintRead =
107
- /** A response to a request that can carry hints (RFC-014 §6.1 carrier 1).
108
- * `awaited`: whoever sent it still waits for it; false for a result that
109
- * arrives after its timeout. A JSON-RPC error carries no state and isn't
110
- * tapped. */
107
+ /** A response to a request that can carry hints (RFC-014 §6.1 carrier 1),
108
+ * or a `tools/list`'s whole inventory (§4.1), its pages joined by
109
+ * sendToolsList, `straddled` when its pages carry different revs.
110
+ * `awaited`: whoever sent it still waits for it; false for a
111
+ * result that arrives after its timeout. A JSON-RPC error carries no state
112
+ * and isn't tapped. */
111
113
  {
112
114
  kind: 'result';
113
115
  method: string;
114
116
  params: Record<string, unknown>;
115
117
  result: unknown;
116
118
  awaited: boolean;
119
+ straddled?: boolean;
117
120
  }
118
121
  /** A push/event (carrier 2), as read, before the plane gate or the grant
119
122
  * admit or refuse it. */
@@ -258,13 +261,16 @@ export declare class McplServerConnection extends EventEmitter {
258
261
  * the message: a push the plane holds or the grant refuses, a result its
259
262
  * caller stopped waiting for. The tap sees every such message of the
260
263
  * current transport, synchronously, before anything routes it; a late
261
- * answer's request is remembered past its timeout (hintedRequests) so its
262
- * hints still apply. Null (the default) taps nothing, and the connection
264
+ * answer's request is remembered past its timeout (hintedRequests, while
265
+ * no more than 1,000 hinted requests await an answer) so its hints still
266
+ * apply. Null (the default) taps nothing, and the connection
263
267
  * behaves as it always has.
264
268
  */
265
269
  private readTap;
266
270
  /** The hinted requests sent on this transport, by id, kept past a timeout
267
- * so a late result is still tapped; bounded. Cleared at each boundary,
271
+ * so a late result is still tapped: each one's method, and an open's or
272
+ * close's toolset and instance, which are all the read of its result
273
+ * uses; never a call's arguments. Bounded. Cleared at each boundary,
268
274
  * since the next transport numbers its requests afresh. */
269
275
  private hintedRequests;
270
276
  /** Install (or, with null, remove) the RFC-014 read tap (see readTap). */
@@ -684,7 +690,11 @@ export declare class McplServerConnection extends EventEmitter {
684
690
  * read it as a complete page). A page that isn't well formed (no `tools` array, a cursor
685
691
  * that isn't a string), or cursors that don't terminate (a repeat, or more
686
692
  * than {@link MAX_TOOL_LIST_PAGES} pages), are errors, never a partial or
687
- * empty inventory published as complete.
693
+ * empty inventory published as complete. The read tap (RFC-014) is handed
694
+ * the complete inventory once, with the last page's `_meta`, as the last
695
+ * page's response is read, before anything read after it; a list that
696
+ * fails or times out hands it nothing. It's `straddled` when its pages
697
+ * carry different `mcpl/rev`s.
688
698
  */
689
699
  sendToolsList(): Promise<{
690
700
  tools: McpToolDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"server-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-connection.d.ts","sourceRoot":"","sources":["../../../src/mcpl/server-connection.ts"],"names":[],"mappings":"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"}
@@ -163,8 +163,16 @@ export function toolsetDeclarationsOf(advertised) {
163
163
  ...(surface !== undefined ? { surface } : {}),
164
164
  };
165
165
  }
166
- /** Requests whose results can carry hint state (RFC-014 §6.1, §4.1). */
167
- const HINTED_METHODS = new Set(['tools/call', 'toolsets/open', 'toolsets/close', 'toolsets/list', 'tools/list']);
166
+ /** Requests whose results can carry hint state, remembered for a late answer (RFC-014 §6.1). */
167
+ const HINTED_METHODS = new Set(['tools/call', 'toolsets/open', 'toolsets/close', 'toolsets/list']);
168
+ function hintedParams(method, params) {
169
+ if (method !== 'toolsets/open' && method !== 'toolsets/close')
170
+ return {};
171
+ return {
172
+ ...(typeof params.toolset === 'string' ? { toolset: params.toolset } : {}),
173
+ ...(typeof params.instance === 'string' ? { instance: params.instance } : {}),
174
+ };
175
+ }
168
176
  /**
169
177
  * A handshake that failed, and whose cleanup couldn't confirm that the child
170
178
  * exited. The transport goes to whoever owns the launch.
@@ -322,13 +330,16 @@ export class McplServerConnection extends EventEmitter {
322
330
  * the message: a push the plane holds or the grant refuses, a result its
323
331
  * caller stopped waiting for. The tap sees every such message of the
324
332
  * current transport, synchronously, before anything routes it; a late
325
- * answer's request is remembered past its timeout (hintedRequests) so its
326
- * hints still apply. Null (the default) taps nothing, and the connection
333
+ * answer's request is remembered past its timeout (hintedRequests, while
334
+ * no more than 1,000 hinted requests await an answer) so its hints still
335
+ * apply. Null (the default) taps nothing, and the connection
327
336
  * behaves as it always has.
328
337
  */
329
338
  readTap = null;
330
339
  /** The hinted requests sent on this transport, by id, kept past a timeout
331
- * so a late result is still tapped; bounded. Cleared at each boundary,
340
+ * so a late result is still tapped: each one's method, and an open's or
341
+ * close's toolset and instance, which are all the read of its result
342
+ * uses; never a call's arguments. Bounded. Cleared at each boundary,
332
343
  * since the next transport numbers its requests afresh. */
333
344
  hintedRequests = new Map();
334
345
  /** Install (or, with null, remove) the RFC-014 read tap (see readTap). */
@@ -1468,21 +1479,44 @@ export class McplServerConnection extends EventEmitter {
1468
1479
  * read it as a complete page). A page that isn't well formed (no `tools` array, a cursor
1469
1480
  * that isn't a string), or cursors that don't terminate (a repeat, or more
1470
1481
  * than {@link MAX_TOOL_LIST_PAGES} pages), are errors, never a partial or
1471
- * empty inventory published as complete.
1482
+ * empty inventory published as complete. The read tap (RFC-014) is handed
1483
+ * the complete inventory once, with the last page's `_meta`, as the last
1484
+ * page's response is read, before anything read after it; a list that
1485
+ * fails or times out hands it nothing. It's `straddled` when its pages
1486
+ * carry different `mcpl/rev`s.
1472
1487
  */
1473
1488
  async sendToolsList() {
1474
1489
  const tools = [];
1475
1490
  const seen = new Set();
1476
1491
  let cursor;
1477
1492
  let first;
1493
+ const read = [];
1494
+ const revs = new Set();
1495
+ const onRead = (result) => {
1496
+ if (!result || typeof result !== 'object' || !Array.isArray(result.tools))
1497
+ return;
1498
+ const r = result;
1499
+ for (const t of r.tools)
1500
+ read.push(t);
1501
+ const rev = r._meta?.['mcpl/rev'];
1502
+ if (typeof rev === 'number')
1503
+ revs.add(rev);
1504
+ if (r.nextCursor !== undefined && r.nextCursor !== null)
1505
+ return;
1506
+ this.tap({
1507
+ kind: 'result', method: 'tools/list', params: {}, ...(revs.size > 1 ? { straddled: true } : {}),
1508
+ result: { tools: read, ...(r._meta !== undefined ? { _meta: r._meta } : {}) }, awaited: true,
1509
+ });
1510
+ };
1478
1511
  for (let page = 0; page < MAX_TOOL_LIST_PAGES; page++) {
1479
- const result = await this.sendRequest('tools/list', cursor === undefined ? {} : { cursor });
1512
+ const result = await this.sendRequest('tools/list', cursor === undefined ? {} : { cursor }, { onRead });
1480
1513
  const malformed = (why) => new Error(`MCPL server "${this.id}" sent a malformed tools/list page ${page + 1}: ${why}`);
1481
1514
  if (!result || typeof result !== 'object' || !Array.isArray(result.tools)) {
1482
1515
  throw malformed('no tools array');
1483
1516
  }
1484
1517
  first ??= result;
1485
- tools.push(...result.tools);
1518
+ for (const t of result.tools)
1519
+ tools.push(t);
1486
1520
  if (result.nextCursor === undefined || result.nextCursor === null) {
1487
1521
  // The first page's other fields are kept as they came, so a
1488
1522
  // single-page answer is returned exactly as before.
@@ -1894,7 +1928,7 @@ export class McplServerConnection extends EventEmitter {
1894
1928
  'If calling it again fails, ask whoever runs this host.', 'not-sent'), `MCPL server "${this.id}": ${method} (id=${id}) not sent, since it can't be written as JSON: ${logDetail(err instanceof Error ? err.message : err)}`);
1895
1929
  }
1896
1930
  return new Promise((resolve, reject) => {
1897
- const pending = { resolve, reject, method };
1931
+ const pending = { resolve, reject, method, ...(options.onRead ? { onRead: options.onRead } : {}) };
1898
1932
  const timeoutMs = options.timeoutMs ?? this.requestTimeoutMs;
1899
1933
  if (timeoutMs > 0) {
1900
1934
  pending.timer = setTimeout(() => {
@@ -1932,7 +1966,7 @@ export class McplServerConnection extends EventEmitter {
1932
1966
  // RFC-014: a request whose result can carry hints is remembered past
1933
1967
  // its timeout, so a late result's hints still apply (readTap).
1934
1968
  if (this.readTap && HINTED_METHODS.has(method)) {
1935
- this.hintedRequests.set(id, { method, params });
1969
+ this.hintedRequests.set(id, { method, params: hintedParams(method, params) });
1936
1970
  if (this.hintedRequests.size > 1000)
1937
1971
  this.hintedRequests.delete(this.hintedRequests.keys().next().value);
1938
1972
  }
@@ -2347,6 +2381,12 @@ export class McplServerConnection extends EventEmitter {
2347
2381
  logValueRedacted(response.error.message, redact));
2348
2382
  }
2349
2383
  else {
2384
+ try {
2385
+ pending.onRead?.(response.result);
2386
+ }
2387
+ catch (error) {
2388
+ console.error(`MCPL server "${this.id}": reading ${pending.method}'s result failed: ${logDetail(describeCause(error))}`);
2389
+ }
2350
2390
  pending.resolve(response.result);
2351
2391
  }
2352
2392
  }