@animalabs/agent-framework 0.26.2 → 0.27.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 (276) hide show
  1. package/README.md +56 -6
  2. package/dist/src/agent.d.ts +263 -22
  3. package/dist/src/agent.d.ts.map +1 -1
  4. package/dist/src/agent.js +531 -54
  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 +1 -2
  8. package/dist/src/api/server.js.map +1 -1
  9. package/dist/src/auto-continue.d.ts +33 -0
  10. package/dist/src/auto-continue.d.ts.map +1 -0
  11. package/dist/src/auto-continue.js +35 -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/framework.d.ts +759 -129
  18. package/dist/src/framework.d.ts.map +1 -1
  19. package/dist/src/framework.js +3482 -928
  20. package/dist/src/framework.js.map +1 -1
  21. package/dist/src/gate/event-gate.d.ts +309 -46
  22. package/dist/src/gate/event-gate.d.ts.map +1 -1
  23. package/dist/src/gate/event-gate.js +2117 -395
  24. package/dist/src/gate/event-gate.js.map +1 -1
  25. package/dist/src/gate/index.d.ts +2 -2
  26. package/dist/src/gate/index.d.ts.map +1 -1
  27. package/dist/src/gate/index.js +1 -1
  28. package/dist/src/gate/index.js.map +1 -1
  29. package/dist/src/gate/recipe-reconcile.d.ts +103 -0
  30. package/dist/src/gate/recipe-reconcile.d.ts.map +1 -0
  31. package/dist/src/gate/recipe-reconcile.js +325 -0
  32. package/dist/src/gate/recipe-reconcile.js.map +1 -0
  33. package/dist/src/gate/types.d.ts +68 -8
  34. package/dist/src/gate/types.d.ts.map +1 -1
  35. package/dist/src/index.d.ts +6 -4
  36. package/dist/src/index.d.ts.map +1 -1
  37. package/dist/src/index.js +5 -2
  38. package/dist/src/index.js.map +1 -1
  39. package/dist/src/mcpl/channel-registry.d.ts +433 -113
  40. package/dist/src/mcpl/channel-registry.d.ts.map +1 -1
  41. package/dist/src/mcpl/channel-registry.js +1152 -434
  42. package/dist/src/mcpl/channel-registry.js.map +1 -1
  43. package/dist/src/mcpl/conversation-router.d.ts +16 -8
  44. package/dist/src/mcpl/conversation-router.d.ts.map +1 -1
  45. package/dist/src/mcpl/conversation-router.js +29 -15
  46. package/dist/src/mcpl/conversation-router.js.map +1 -1
  47. package/dist/src/mcpl/convert-block.d.ts.map +1 -1
  48. package/dist/src/mcpl/convert-block.js +14 -2
  49. package/dist/src/mcpl/convert-block.js.map +1 -1
  50. package/dist/src/mcpl/hook-orchestrator.d.ts +7 -1
  51. package/dist/src/mcpl/hook-orchestrator.d.ts.map +1 -1
  52. package/dist/src/mcpl/hook-orchestrator.js +32 -7
  53. package/dist/src/mcpl/hook-orchestrator.js.map +1 -1
  54. package/dist/src/mcpl/index.d.ts +5 -1
  55. package/dist/src/mcpl/index.d.ts.map +1 -1
  56. package/dist/src/mcpl/index.js +4 -0
  57. package/dist/src/mcpl/index.js.map +1 -1
  58. package/dist/src/mcpl/inference-router.d.ts +14 -2
  59. package/dist/src/mcpl/inference-router.d.ts.map +1 -1
  60. package/dist/src/mcpl/inference-router.js +73 -28
  61. package/dist/src/mcpl/inference-router.js.map +1 -1
  62. package/dist/src/mcpl/prose-grammar.d.ts +4 -0
  63. package/dist/src/mcpl/prose-grammar.d.ts.map +1 -1
  64. package/dist/src/mcpl/prose-grammar.js +6 -0
  65. package/dist/src/mcpl/prose-grammar.js.map +1 -1
  66. package/dist/src/mcpl/protocol-family.d.ts.map +1 -1
  67. package/dist/src/mcpl/protocol-family.js +3 -0
  68. package/dist/src/mcpl/protocol-family.js.map +1 -1
  69. package/dist/src/mcpl/push-coalescer.d.ts +20 -2
  70. package/dist/src/mcpl/push-coalescer.d.ts.map +1 -1
  71. package/dist/src/mcpl/push-coalescer.js +33 -11
  72. package/dist/src/mcpl/push-coalescer.js.map +1 -1
  73. package/dist/src/mcpl/reference-fetcher.d.ts +63 -42
  74. package/dist/src/mcpl/reference-fetcher.d.ts.map +1 -1
  75. package/dist/src/mcpl/reference-fetcher.js +177 -145
  76. package/dist/src/mcpl/reference-fetcher.js.map +1 -1
  77. package/dist/src/mcpl/references.d.ts +380 -46
  78. package/dist/src/mcpl/references.d.ts.map +1 -1
  79. package/dist/src/mcpl/references.js +736 -77
  80. package/dist/src/mcpl/references.js.map +1 -1
  81. package/dist/src/mcpl/server-connection.d.ts +82 -3
  82. package/dist/src/mcpl/server-connection.d.ts.map +1 -1
  83. package/dist/src/mcpl/server-connection.js +132 -7
  84. package/dist/src/mcpl/server-connection.js.map +1 -1
  85. package/dist/src/mcpl/tool-lifecycle.d.ts +11 -0
  86. package/dist/src/mcpl/tool-lifecycle.d.ts.map +1 -1
  87. package/dist/src/mcpl/tool-lifecycle.js +21 -0
  88. package/dist/src/mcpl/tool-lifecycle.js.map +1 -1
  89. package/dist/src/mcpl/tool-presence.d.ts +259 -0
  90. package/dist/src/mcpl/tool-presence.d.ts.map +1 -0
  91. package/dist/src/mcpl/tool-presence.js +628 -0
  92. package/dist/src/mcpl/tool-presence.js.map +1 -0
  93. package/dist/src/mcpl/tool-result-normalize.d.ts +9 -3
  94. package/dist/src/mcpl/tool-result-normalize.d.ts.map +1 -1
  95. package/dist/src/mcpl/tool-result-normalize.js +14 -6
  96. package/dist/src/mcpl/tool-result-normalize.js.map +1 -1
  97. package/dist/src/mcpl/tool-signature.d.ts +39 -0
  98. package/dist/src/mcpl/tool-signature.d.ts.map +1 -0
  99. package/dist/src/mcpl/tool-signature.js +292 -0
  100. package/dist/src/mcpl/tool-signature.js.map +1 -0
  101. package/dist/src/mcpl/toolset-host.d.ts +200 -0
  102. package/dist/src/mcpl/toolset-host.d.ts.map +1 -0
  103. package/dist/src/mcpl/toolset-host.js +621 -0
  104. package/dist/src/mcpl/toolset-host.js.map +1 -0
  105. package/dist/src/mcpl/toolsets-module.d.ts +80 -0
  106. package/dist/src/mcpl/toolsets-module.d.ts.map +1 -0
  107. package/dist/src/mcpl/toolsets-module.js +431 -0
  108. package/dist/src/mcpl/toolsets-module.js.map +1 -0
  109. package/dist/src/mcpl/transport.d.ts +2 -2
  110. package/dist/src/mcpl/transport.d.ts.map +1 -1
  111. package/dist/src/mcpl/transport.js +3 -2
  112. package/dist/src/mcpl/transport.js.map +1 -1
  113. package/dist/src/mcpl/types.d.ts +21 -1
  114. package/dist/src/mcpl/types.d.ts.map +1 -1
  115. package/dist/src/mcpl/types.js.map +1 -1
  116. package/dist/src/mcpl/visible-content.d.ts +7 -9
  117. package/dist/src/mcpl/visible-content.d.ts.map +1 -1
  118. package/dist/src/mcpl/visible-content.js +21 -9
  119. package/dist/src/mcpl/visible-content.js.map +1 -1
  120. package/dist/src/module-registry.d.ts +23 -8
  121. package/dist/src/module-registry.d.ts.map +1 -1
  122. package/dist/src/module-registry.js +68 -15
  123. package/dist/src/module-registry.js.map +1 -1
  124. package/dist/src/modules/discord/index.js +1 -1
  125. package/dist/src/modules/discord/index.js.map +1 -1
  126. package/dist/src/modules/history/index.d.ts +2 -1
  127. package/dist/src/modules/history/index.d.ts.map +1 -1
  128. package/dist/src/modules/history/index.js +51 -17
  129. package/dist/src/modules/history/index.js.map +1 -1
  130. package/dist/src/modules/history/semantic.d.ts +108 -6
  131. package/dist/src/modules/history/semantic.d.ts.map +1 -1
  132. package/dist/src/modules/history/semantic.js +273 -57
  133. package/dist/src/modules/history/semantic.js.map +1 -1
  134. package/dist/src/modules/workspace/direct-write.d.ts +181 -0
  135. package/dist/src/modules/workspace/direct-write.d.ts.map +1 -0
  136. package/dist/src/modules/workspace/direct-write.js +384 -0
  137. package/dist/src/modules/workspace/direct-write.js.map +1 -0
  138. package/dist/src/modules/workspace/edit-text.d.ts +26 -12
  139. package/dist/src/modules/workspace/edit-text.d.ts.map +1 -1
  140. package/dist/src/modules/workspace/edit-text.js +58 -28
  141. package/dist/src/modules/workspace/edit-text.js.map +1 -1
  142. package/dist/src/modules/workspace/effects.d.ts +10 -0
  143. package/dist/src/modules/workspace/effects.d.ts.map +1 -1
  144. package/dist/src/modules/workspace/effects.js +1 -1
  145. package/dist/src/modules/workspace/effects.js.map +1 -1
  146. package/dist/src/modules/workspace/index.d.ts +246 -27
  147. package/dist/src/modules/workspace/index.d.ts.map +1 -1
  148. package/dist/src/modules/workspace/index.js +1216 -236
  149. package/dist/src/modules/workspace/index.js.map +1 -1
  150. package/dist/src/modules/workspace/read-page.d.ts +41 -0
  151. package/dist/src/modules/workspace/read-page.d.ts.map +1 -0
  152. package/dist/src/modules/workspace/read-page.js +213 -0
  153. package/dist/src/modules/workspace/read-page.js.map +1 -0
  154. package/dist/src/modules/workspace/result-text.d.ts +67 -0
  155. package/dist/src/modules/workspace/result-text.d.ts.map +1 -0
  156. package/dist/src/modules/workspace/result-text.js +94 -0
  157. package/dist/src/modules/workspace/result-text.js.map +1 -0
  158. package/dist/src/modules/workspace/text.d.ts +29 -12
  159. package/dist/src/modules/workspace/text.d.ts.map +1 -1
  160. package/dist/src/modules/workspace/text.js +35 -33
  161. package/dist/src/modules/workspace/text.js.map +1 -1
  162. package/dist/src/modules/workspace/types.d.ts +41 -17
  163. package/dist/src/modules/workspace/types.d.ts.map +1 -1
  164. package/dist/src/modules/workspace/types.js.map +1 -1
  165. package/dist/src/sent-rows.d.ts +59 -0
  166. package/dist/src/sent-rows.d.ts.map +1 -0
  167. package/dist/src/sent-rows.js +145 -0
  168. package/dist/src/sent-rows.js.map +1 -0
  169. package/dist/src/silent-heartbeat.d.ts +17 -10
  170. package/dist/src/silent-heartbeat.d.ts.map +1 -1
  171. package/dist/src/silent-heartbeat.js.map +1 -1
  172. package/dist/src/stable-hash.d.ts +3 -0
  173. package/dist/src/stable-hash.d.ts.map +1 -0
  174. package/dist/src/stable-hash.js +15 -0
  175. package/dist/src/stable-hash.js.map +1 -0
  176. package/dist/src/stored-injections.d.ts +99 -0
  177. package/dist/src/stored-injections.d.ts.map +1 -0
  178. package/dist/src/stored-injections.js +106 -0
  179. package/dist/src/stored-injections.js.map +1 -0
  180. package/dist/src/text-as-stored.d.ts +4 -3
  181. package/dist/src/text-as-stored.d.ts.map +1 -1
  182. package/dist/src/text-as-stored.js +4 -3
  183. package/dist/src/text-as-stored.js.map +1 -1
  184. package/dist/src/thinking-drops.d.ts +81 -0
  185. package/dist/src/thinking-drops.d.ts.map +1 -0
  186. package/dist/src/thinking-drops.js +103 -0
  187. package/dist/src/thinking-drops.js.map +1 -0
  188. package/dist/src/tool-image-ledger.d.ts +9 -8
  189. package/dist/src/tool-image-ledger.d.ts.map +1 -1
  190. package/dist/src/tool-image-ledger.js +9 -8
  191. package/dist/src/tool-image-ledger.js.map +1 -1
  192. package/dist/src/tool-presentation.d.ts.map +1 -1
  193. package/dist/src/tool-presentation.js +3 -1
  194. package/dist/src/tool-presentation.js.map +1 -1
  195. package/dist/src/tool-result-guard.d.ts +4 -2
  196. package/dist/src/tool-result-guard.d.ts.map +1 -1
  197. package/dist/src/tool-result-guard.js +21 -6
  198. package/dist/src/tool-result-guard.js.map +1 -1
  199. package/dist/src/tool-result-history.d.ts +176 -24
  200. package/dist/src/tool-result-history.d.ts.map +1 -1
  201. package/dist/src/tool-result-history.js +411 -91
  202. package/dist/src/tool-result-history.js.map +1 -1
  203. package/dist/src/tune-out/coordinator.d.ts +17 -9
  204. package/dist/src/tune-out/coordinator.d.ts.map +1 -1
  205. package/dist/src/tune-out/coordinator.js +84 -37
  206. package/dist/src/tune-out/coordinator.js.map +1 -1
  207. package/dist/src/types/agent.d.ts +186 -7
  208. package/dist/src/types/agent.d.ts.map +1 -1
  209. package/dist/src/types/events.d.ts +15 -1
  210. package/dist/src/types/events.d.ts.map +1 -1
  211. package/dist/src/types/framework.d.ts +24 -3
  212. package/dist/src/types/framework.d.ts.map +1 -1
  213. package/dist/src/types/module.d.ts +90 -7
  214. package/dist/src/types/module.d.ts.map +1 -1
  215. package/dist/src/types/trace.d.ts +57 -2
  216. package/dist/src/types/trace.d.ts.map +1 -1
  217. package/package.json +4 -3
  218. package/src/agent.ts +593 -60
  219. package/src/api/server.ts +1 -2
  220. package/src/auto-continue.ts +42 -0
  221. package/src/code-execution/isolate/scripts.ts +11 -3
  222. package/src/framework.ts +3601 -967
  223. package/src/gate/event-gate.ts +2315 -389
  224. package/src/gate/index.ts +2 -1
  225. package/src/gate/recipe-reconcile.ts +355 -0
  226. package/src/gate/types.ts +70 -8
  227. package/src/index.ts +7 -4
  228. package/src/mcpl/channel-registry.ts +1220 -467
  229. package/src/mcpl/conversation-router.ts +34 -16
  230. package/src/mcpl/convert-block.ts +14 -1
  231. package/src/mcpl/hook-orchestrator.ts +33 -6
  232. package/src/mcpl/index.ts +6 -1
  233. package/src/mcpl/inference-router.ts +79 -34
  234. package/src/mcpl/prose-grammar.ts +7 -0
  235. package/src/mcpl/protocol-family.ts +2 -0
  236. package/src/mcpl/push-coalescer.ts +51 -13
  237. package/src/mcpl/reference-fetcher.ts +201 -162
  238. package/src/mcpl/references.ts +851 -77
  239. package/src/mcpl/server-connection.ts +145 -7
  240. package/src/mcpl/tool-lifecycle.ts +21 -0
  241. package/src/mcpl/tool-presence.ts +650 -0
  242. package/src/mcpl/tool-result-normalize.ts +18 -6
  243. package/src/mcpl/tool-signature.ts +285 -0
  244. package/src/mcpl/toolset-host.ts +637 -0
  245. package/src/mcpl/toolsets-module.ts +451 -0
  246. package/src/mcpl/transport.ts +3 -2
  247. package/src/mcpl/types.ts +22 -1
  248. package/src/mcpl/visible-content.ts +22 -9
  249. package/src/module-registry.ts +77 -24
  250. package/src/modules/discord/index.ts +1 -1
  251. package/src/modules/history/index.ts +48 -18
  252. package/src/modules/history/semantic.ts +308 -54
  253. package/src/modules/workspace/direct-write.ts +425 -0
  254. package/src/modules/workspace/edit-text.ts +82 -35
  255. package/src/modules/workspace/effects.ts +1 -1
  256. package/src/modules/workspace/index.ts +1274 -241
  257. package/src/modules/workspace/read-page.ts +222 -0
  258. package/src/modules/workspace/result-text.ts +119 -0
  259. package/src/modules/workspace/text.ts +58 -32
  260. package/src/modules/workspace/types.ts +41 -17
  261. package/src/sent-rows.ts +162 -0
  262. package/src/silent-heartbeat.ts +17 -10
  263. package/src/stable-hash.ts +14 -0
  264. package/src/stored-injections.ts +131 -0
  265. package/src/text-as-stored.ts +4 -3
  266. package/src/thinking-drops.ts +141 -0
  267. package/src/tool-image-ledger.ts +9 -8
  268. package/src/tool-presentation.ts +3 -1
  269. package/src/tool-result-guard.ts +19 -6
  270. package/src/tool-result-history.ts +471 -90
  271. package/src/tune-out/coordinator.ts +80 -37
  272. package/src/types/agent.ts +189 -7
  273. package/src/types/events.ts +15 -1
  274. package/src/types/framework.ts +21 -3
  275. package/src/types/module.ts +86 -7
  276. package/src/types/trace.ts +58 -2
@@ -8,6 +8,7 @@
8
8
  * Spec reference: Section 11 (Server-Initiated Inference).
9
9
  */
10
10
  import { McplFeatureSetError } from './feature-set-manager.js';
11
+ import { logValue } from './log-value.js';
11
12
  // ============================================================================
12
13
  // Wildcard matching (same logic as feature-set-manager)
13
14
  // ============================================================================
@@ -132,6 +133,10 @@ export class InferenceRouter {
132
133
  featureSetManager;
133
134
  routingPolicy;
134
135
  emitTraceFn;
136
+ /** The refusals for want of a model that have been logged: one line per
137
+ * server with no policy, and per server and feature set with one, so a
138
+ * server that keeps asking doesn't flood the operator's log. */
139
+ loggedRefusals = new Set();
135
140
  constructor(membrane, hookOrchestrator, featureSetManager, routingPolicy, emitTraceFn) {
136
141
  this.membrane = membrane;
137
142
  this.hookOrchestrator = hookOrchestrator;
@@ -144,7 +149,7 @@ export class InferenceRouter {
144
149
  *
145
150
  * 1. Validate feature set
146
151
  * 2. Check loop prevention (reject if inside a hook)
147
- * 3. Resolve model from routing policy
152
+ * 3. Resolve model from routing policy, refusing when it names none
148
153
  * 4. Build membrane request
149
154
  * 5. Run inference, streaming its visible text as chunks when asked
150
155
  * 6. Answer with the result, or with the error for any ending that isn't
@@ -168,8 +173,56 @@ export class InferenceRouter {
168
173
  responder.respondError(-32600, 'Cannot process inference request during hook execution');
169
174
  return;
170
175
  }
171
- // 3. Resolve model
176
+ // Streaming needs a way to send chunks and an id to tag them with;
177
+ // without either, the request is answered whole.
178
+ const sendChunk = params.stream ? responder.sendChunk?.bind(responder) : undefined;
179
+ const chunkRequestId = sendChunk ? responder.requestId : undefined;
180
+ const streamed = chunkRequestId != null;
181
+ // 3. Resolve model. With no routing policy, or one that names no model
182
+ // for this feature set, the operator has chosen no model for this
183
+ // server's inference: refused rather than guessed, since a model picked
184
+ // here would run, on whatever credentials and at whatever price it
185
+ // carries, for a server the operator never chose it for. The answer is
186
+ // -32603, the code the router answers a failed inference with, as it
187
+ // answered this request when it reached the provider with no model; the
188
+ // server's grant can still list inferenceRequest, so not -32002.
172
189
  const model = this.resolveModel(params.featureSet, params.conversationId);
190
+ if (model === undefined) {
191
+ const policy = Boolean(this.routingPolicy);
192
+ // One reason, quoted for where it goes: JSON for the server, logValue
193
+ // for the host log.
194
+ const reason = (quote) => policy
195
+ ? `the inference routing policy (inferenceRouting) names no model for feature set ${quote(params.featureSet)}`
196
+ : 'the host sets no inference routing policy (inferenceRouting)';
197
+ const message = `inference/request refused: ${reason(JSON.stringify)}, so the host has no model to run it on; ` +
198
+ "it stays refused until the host's operator configures one";
199
+ // Logged once per server with no policy, and once per server and
200
+ // feature set with one, since each feature set the policy misses is
201
+ // its own entry to add; validateInbound (step 1) bounds feature sets
202
+ // to those the server declares.
203
+ const key = JSON.stringify(policy ? [serverId, params.featureSet] : [serverId]);
204
+ if (!this.loggedRefusals.has(key)) {
205
+ this.loggedRefusals.add(key);
206
+ console.error(`[mcpl] ${logValue(serverId)}: inference/request refused: ${reason(logValue)}; ` +
207
+ (policy
208
+ ? 'give it a default, or a byFeature or wildcards entry for that feature set. ' +
209
+ 'This line prints once per server and feature set'
210
+ : 'set inferenceRouting in the framework config to choose the model server-initiated inference runs on. ' +
211
+ 'This line prints once per server') +
212
+ '; later refusals are answered and traced but not logged.');
213
+ }
214
+ // The failure a trace watcher saw when this request failed at the
215
+ // provider, still seen; no inference_start, since none started.
216
+ this.emitTraceFn({
217
+ type: 'mcpl:inference_fail',
218
+ serverId,
219
+ model: null,
220
+ error: message,
221
+ streamed,
222
+ });
223
+ responder.respondError(-32603, message);
224
+ return;
225
+ }
173
226
  // Emit trace: inference start
174
227
  this.emitTraceFn({
175
228
  type: 'mcpl:inference_start',
@@ -191,11 +244,6 @@ export class InferenceRouter {
191
244
  temperature: params.preferences?.temperature,
192
245
  },
193
246
  };
194
- // Streaming needs a way to send chunks and an id to tag them with;
195
- // without either, the request is answered whole.
196
- const sendChunk = params.stream ? responder.sendChunk?.bind(responder) : undefined;
197
- const chunkRequestId = sendChunk ? responder.requestId : undefined;
198
- const streamed = chunkRequestId != null;
199
247
  try {
200
248
  // 5. Run inference. Both modes end in membrane's response, and one
201
249
  // builder makes the result from it.
@@ -244,30 +292,27 @@ export class InferenceRouter {
244
292
  * 2. Exact feature set match
245
293
  * 3. Wildcard pattern match (first match wins)
246
294
  * 4. Default from policy
247
- * 5. Fallback string 'default'
295
+ *
296
+ * Only an entry naming a model counts: one that is empty or not a string
297
+ * names none and is passed over, as a missing one is. That includes what a
298
+ * server-sent conversation id or feature set such as `constructor` or
299
+ * `__proto__` finds on Object.prototype, which is never a string. A
300
+ * conversation id that is falsy reads no override.
301
+ *
302
+ * Undefined with no policy, or when none of these names a model: the
303
+ * request is then refused.
248
304
  */
249
305
  resolveModel(featureSet, conversationId) {
250
- if (!this.routingPolicy) {
251
- return 'default';
252
- }
253
- // Check per-conversation override
254
- if (conversationId && this.routingPolicy.overrides?.[conversationId]) {
255
- return this.routingPolicy.overrides[conversationId];
256
- }
257
- // Check exact feature set match
258
- if (this.routingPolicy.byFeature?.[featureSet]) {
259
- return this.routingPolicy.byFeature[featureSet];
260
- }
261
- // Check wildcard patterns
262
- if (this.routingPolicy.wildcards) {
263
- for (const [pattern, matchedModel] of Object.entries(this.routingPolicy.wildcards)) {
264
- if (wildcardMatch(pattern, featureSet)) {
265
- return matchedModel;
266
- }
267
- }
306
+ const policy = this.routingPolicy;
307
+ if (!policy) {
308
+ return undefined;
268
309
  }
269
- // Default
270
- return this.routingPolicy.default;
310
+ const named = (value) => typeof value === 'string' && value !== '' ? value : undefined;
311
+ return (conversationId ? named(policy.overrides?.[conversationId]) : undefined)
312
+ ?? named(policy.byFeature?.[featureSet])
313
+ // First wildcard that matches and names a model.
314
+ ?? Object.entries(policy.wildcards ?? {}).find(([pattern, m]) => named(m) && wildcardMatch(pattern, featureSet))?.[1]
315
+ ?? named(policy.default);
271
316
  }
272
317
  // ==========================================================================
273
318
  // Private: Streaming
@@ -1 +1 @@
1
- {"version":3,"file":"inference-router.js","sourceRoot":"","sources":["../../../src/mcpl/inference-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inference-router.js","sourceRoot":"","sources":["../../../src/mcpl/inference-router.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,10 @@ export interface ProsePrefix {
17
17
  continueTurn: boolean;
18
18
  body: string;
19
19
  }
20
+ /** Whether a `>>` (or `>>>`) prefix line reads `name` as a target: one token,
21
+ * and not `skip_reply`, which the line reads as private speech. For a name
22
+ * offered to an agent to write after `>>`. */
23
+ export declare function isProseTargetToken(name: string): boolean;
20
24
  /** A REAL prefix line: `>>` immediately followed by a target token. */
21
25
  export declare const PROSE_PREFIX_LINE: RegExp;
22
26
  export declare function parseProsePrefix(text: string): ProsePrefix;
@@ -1 +1 @@
1
- {"version":3,"file":"prose-grammar.d.ts","sourceRoot":"","sources":["../../../src/mcpl/prose-grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,QAAU,CAAC;AAEzC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAc1D;AAED;4CAC4C;AAC5C,eAAO,MAAM,wBAAwB,QAAiB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAQhE"}
1
+ {"version":3,"file":"prose-grammar.d.ts","sourceRoot":"","sources":["../../../src/mcpl/prose-grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;+CAE+C;AAC/C,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,QAAU,CAAC;AAEzC,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAc1D;AAED;4CAC4C;AAC5C,eAAO,MAAM,wBAAwB,QAAiB,CAAC;AAEvD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CAQhE"}
@@ -11,6 +11,12 @@
11
11
  * A line's `>>` counts only when immediately followed by a target token
12
12
  * (`>> quoted arrow` stays body text).
13
13
  */
14
+ /** Whether a `>>` (or `>>>`) prefix line reads `name` as a target: one token,
15
+ * and not `skip_reply`, which the line reads as private speech. For a name
16
+ * offered to an agent to write after `>>`. */
17
+ export function isProseTargetToken(name) {
18
+ return /^\S+$/.test(name) && name !== 'skip_reply';
19
+ }
14
20
  /** A REAL prefix line: `>>` immediately followed by a target token. */
15
21
  export const PROSE_PREFIX_LINE = /^>>\S/;
16
22
  export function parseProsePrefix(text) {
@@ -1 +1 @@
1
- {"version":3,"file":"prose-grammar.js","sourceRoot":"","sources":["../../../src/mcpl/prose-grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACrB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,uEAAuE;IACvE,6EAA6E;IAC7E,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;4CAC4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACrB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"prose-grammar.js","sourceRoot":"","sources":["../../../src/mcpl/prose-grammar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AASH;;+CAE+C;AAC/C,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,YAAY,CAAC;AACrD,CAAC;AAED,uEAAuE;AACvE,MAAM,CAAC,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAEzC,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,GAAG,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACrB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,uEAAuE;IACvE,6EAA6E;IAC7E,4EAA4E;IAC5E,4DAA4D;IAC5D,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;QAC5B,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IACjD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC;AAED;4CAC4C;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,cAAc,CAAC;AAEvD;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,MAAM,CAAC,GAAG,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;IACrB,MAAM,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,KAAK,YAAY;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC5E,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;AACxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-family.d.ts","sourceRoot":"","sources":["../../../src/mcpl/protocol-family.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-family.d.ts","sourceRoot":"","sources":["../../../src/mcpl/protocol-family.ts"],"names":[],"mappings":"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"}
@@ -622,6 +622,9 @@ export function mcplPolicyGrants(config) {
622
622
  const grants = [];
623
623
  if (isEffective(config.allowHostCommands))
624
624
  grants.push('allowHostCommands');
625
+ // RFC-014 tool hints are an MCPL advertisement.
626
+ if (config.toolHints === true)
627
+ grants.push('toolHints');
625
628
  // An allow-list, except that a pattern matching a path denied by default
626
629
  // grants it (computeGrant's explicitlyEnabled), named by the path.
627
630
  const enabled = config.enabledCapabilities;
@@ -1 +1 @@
1
- {"version":3,"file":"protocol-family.js","sourceRoot":"","sources":["../../../src/mcpl/protocol-family.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"protocol-family.js","sourceRoot":"","sources":["../../../src/mcpl/protocol-family.ts"],"names":[],"mappings":"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"}
@@ -127,6 +127,14 @@ interface DeferredBatch<E> {
127
127
  latest: CoalescedOccurrence<E>;
128
128
  notices: DeferredNotice[];
129
129
  dropped: number;
130
+ /** Every notice folded into the batch, a dropped one included, and a
131
+ * plain occurrence a notice displaced unread (Occupant.ambient), was
132
+ * tagged `chat:ambient` (RFC-001), so its render asks nothing of the agent
133
+ * (CoalescerHost.wakeToRead). Snapshots carry it. A batch restored
134
+ * without it, from a snapshot written before it existed or from an
135
+ * acceptance receipt, which doesn't carry it, reads as not all ambient:
136
+ * the side that keeps a wake. */
137
+ allAmbient?: true;
130
138
  /** Set on a batch restored from a snapshot whose render may have started. */
131
139
  noRender?: boolean;
132
140
  /** The batch opened on the agent's first view of its subject: a fresh
@@ -181,6 +189,12 @@ interface Occupant {
181
189
  * render that joins a run finds a version placed. In memory only: a
182
190
  * snapshot's occupant comes back as read. */
183
191
  firstView?: true;
192
+ /** A plain occurrence its server tagged `chat:ambient`. A notice that
193
+ * displaces it unread stands its batch's render in its place, so that
194
+ * render is all ambient only if this was (DeferredBatch.allAmbient). In
195
+ * memory only, as `firstView`: a snapshot's occupant comes back as read,
196
+ * and only an unread one is displaced. */
197
+ ambient?: true;
184
198
  /** The run's earlier renders, oldest first, each placed ahead of this one. */
185
199
  before?: Array<Omit<Occupant, 'before'>>;
186
200
  }
@@ -234,6 +248,7 @@ export interface CoalescingSnapshot {
234
248
  dropped: number;
235
249
  rendering?: boolean;
236
250
  firstView?: true;
251
+ allAmbient?: true;
237
252
  };
238
253
  }>;
239
254
  }
@@ -290,8 +305,11 @@ export interface CoalescerHost<E> {
290
305
  /** Queue an ordinary push wake for `agent`, under the batch's own wake
291
306
  * policy, to read a render of the batch placed in its deferred queue that
292
307
  * no request consumed, at `deferredId`. It carries no subject, so the
293
- * subject's other wakes, and later withdrawals of them, leave it. */
294
- wakeToRead(occurrence: CoalescedOccurrence<E>, agent: string, deferredId?: string): Promise<void>;
308
+ * subject's other wakes, and later withdrawals of them, leave it.
309
+ * `allAmbient`: every notice the render stands for was tagged
310
+ * `chat:ambient` (DeferredBatch.allAmbient), so the wake is marked
311
+ * ambient. */
312
+ wakeToRead(occurrence: CoalescedOccurrence<E>, agent: string, deferredId?: string, allAmbient?: boolean): Promise<void>;
295
313
  /** Withdraw unstarted wakes whose sole cause is this subject. */
296
314
  cancelWake(subject: string): void;
297
315
  /** The batch's audience still holds the authority it was admitted under. */
@@ -1 +1 @@
1
- {"version":3,"file":"push-coalescer.d.ts","sourceRoot":"","sources":["../../../src/mcpl/push-coalescer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push-coalescer.d.ts","sourceRoot":"","sources":["../../../src/mcpl/push-coalescer.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,11 @@ export class EmptyContentError extends CoalesceError {
41
41
  this.name = 'EmptyContentError';
42
42
  }
43
43
  }
44
+ /** An occupant's `ambient` mark, for a plain occurrence its server tagged
45
+ * `chat:ambient`. */
46
+ function ambientOccupant(occurrence) {
47
+ return occurrence.tags?.includes('chat:ambient') === true ? { ambient: true } : {};
48
+ }
44
49
  /** The occupant holding a run's renders, given oldest first: the newest,
45
50
  * carrying the rest as `before`. */
46
51
  function runOf(members) {
@@ -119,7 +124,8 @@ export function validateCoalescedContent(content, options = {}) {
119
124
  /**
120
125
  * Whether the converter (`convertBlock` in convert-block.ts, which every lane
121
126
  * uses) shows a block as itself, its text or its image or
122
- * audio source, or as a reference stub, and not as a placeholder: an
127
+ * audio source (for MCP's embedded resource, its contents'), or as a
128
+ * reference stub, and not as a placeholder: an
123
129
  * unrecognized block, a no-data or no-media-type one, withheld inline data,
124
130
  * or a text block whose text isn't a string. This follows its branches in
125
131
  * their order.
@@ -127,8 +133,13 @@ export function validateCoalescedContent(content, options = {}) {
127
133
  function showsAsItself(b) {
128
134
  if (b.type === 'text')
129
135
  return typeof b.text === 'string';
130
- if (b.type === 'resource')
131
- return classifyBlock(b).kind === 'reference';
136
+ if (b.type === 'resource' || b.type === 'resource_link') {
137
+ const c = classifyBlock(b);
138
+ // MCP's embedded resource shows as the block its contents make.
139
+ if (c.kind === 'embedded')
140
+ return c.contents.kind === 'block' && showsAsItself(c.contents.block);
141
+ return c.kind === 'reference';
142
+ }
132
143
  if (b.type !== 'image' && b.type !== 'audio')
133
144
  return false;
134
145
  if (isInlineContradiction(b))
@@ -552,7 +563,7 @@ export class PushCoalescer {
552
563
  // context that read a version, never a new one (§3.2).
553
564
  const placement = await this.deliver({ ...occurrence, deliverTo: state.audienceAgent });
554
565
  if (placement) {
555
- state.occupant = { eventId: occurrence.eventId, placement };
566
+ state.occupant = { eventId: occurrence.eventId, placement, ...ambientOccupant(occurrence) };
556
567
  state.audienceAgent = placement.agent;
557
568
  }
558
569
  return 'noted';
@@ -576,7 +587,7 @@ export class PushCoalescer {
576
587
  ...occurrence, deliverTo: prior.placement.agent,
577
588
  ...(firstView ? { firstView: true } : {}),
578
589
  });
579
- state.occupant = placement ? { eventId: occurrence.eventId, placement, ...(firstView ? { firstView: true } : {}) } : undefined;
590
+ state.occupant = placement ? { eventId: occurrence.eventId, placement, ...(firstView ? { firstView: true } : {}), ...ambientOccupant(occurrence) } : undefined;
580
591
  if (placement)
581
592
  state.audienceAgent = placement.agent;
582
593
  return 'replaced';
@@ -592,7 +603,7 @@ export class PushCoalescer {
592
603
  // batch's place (a batch's own first view ends with the subject's).
593
604
  const firstView = hadBatch ? batchFirstView && state.history === 'none' : outcome === 'first' && !state.firstViewEnded;
594
605
  const placement = await this.deliver(hadBatch && firstView ? { ...occurrence, firstView: true } : occurrence);
595
- state.occupant = placement ? { eventId: occurrence.eventId, placement, ...(firstView ? { firstView: true } : {}) } : undefined;
606
+ state.occupant = placement ? { eventId: occurrence.eventId, placement, ...(firstView ? { firstView: true } : {}), ...ambientOccupant(occurrence) } : undefined;
596
607
  if (placement)
597
608
  state.audienceAgent = placement.agent;
598
609
  return outcome;
@@ -607,6 +618,10 @@ export class PushCoalescer {
607
618
  // batches already open too). A render still under way is weighed when a
608
619
  // batch's first delivery is.
609
620
  let firstView = state.history === 'none' && !state.firstViewEnded;
621
+ // Whether every notice the batch's render stands for was tagged
622
+ // `chat:ambient` (DeferredBatch.allAmbient): this one, and a plain
623
+ // occurrence it displaces unread, whose place the render takes.
624
+ let ambient = occurrence.tags?.includes('chat:ambient') === true;
610
625
  if (occupantUnread && state.occupant?.rendered) {
611
626
  // An unread render is a delta the next render builds on (§5.2), not a
612
627
  // plain occurrence: it stays, and the batch follows its agent (§3.2), so
@@ -619,6 +634,8 @@ export class PushCoalescer {
619
634
  // — in the audience that held the plain occurrence (§3.2).
620
635
  if (!this.occupantLeaves(state, state.occupant))
621
636
  firstView = false;
637
+ if (state.occupant.ambient !== true)
638
+ ambient = false;
622
639
  this.host.audit({ kind: 'displaced', subject, eventId: state.occupant.eventId });
623
640
  if (this.host.remove(state.occupant.placement)) {
624
641
  outcome = 'replaced';
@@ -644,11 +661,13 @@ export class PushCoalescer {
644
661
  state.batch.dropped++;
645
662
  }
646
663
  state.batch.latest = occurrence;
664
+ if (!ambient)
665
+ delete state.batch.allAmbient;
647
666
  outcome = 'replaced';
648
667
  }
649
668
  else {
650
669
  // Rule 1: a notice during a render opens a NEW batch ("first").
651
- state.batch = { latest: occurrence, notices: [notice], dropped: 0, ...(firstView ? { firstView: true } : {}) };
670
+ state.batch = { latest: occurrence, notices: [notice], dropped: 0, ...(firstView ? { firstView: true } : {}), ...(ambient ? { allAmbient: true } : {}) };
652
671
  }
653
672
  await this.host.wakeForBatch(occurrence);
654
673
  return outcome;
@@ -882,7 +901,9 @@ export class PushCoalescer {
882
901
  // agent's wake for this batch; give it an ordinary wake, as any
883
902
  // delivery during its turn has, beside any wakes a newer batch has,
884
903
  // so that its next turn reads the content (the wake starts no turn
885
- // once the agent has read it, or it's removed).
904
+ // once a request that carried it is answered and, if the wake
905
+ // carries a channel and the batch wasn't all ambient, the agent has
906
+ // published there since, or once it's removed).
886
907
  // The run's renders keep their own records, whatever else an
887
908
  // occupant carries, a first view's mark included.
888
909
  let before;
@@ -899,7 +920,7 @@ export class PushCoalescer {
899
920
  await this.host.wakeForBatch(state.batch.latest);
900
921
  }
901
922
  state.audienceAgent = placement.agent;
902
- await this.host.wakeToRead(occurrence, placement.agent, placement.deferredId);
923
+ await this.host.wakeToRead(occurrence, placement.agent, placement.deferredId, batch.allAmbient === true);
903
924
  return;
904
925
  }
905
926
  // The materialized occurrence is consumed by the request being
@@ -946,6 +967,7 @@ export class PushCoalescer {
946
967
  state.batch = {
947
968
  latest: s.batch.latest, notices: s.batch.notices, dropped: s.batch.dropped,
948
969
  ...(s.batch.rendering ? { noRender: true } : s.batch.firstView ? { firstView: true } : {}),
970
+ ...(s.batch.allAmbient ? { allAmbient: true } : {}),
949
971
  };
950
972
  }
951
973
  this.subjects.set(s.subject, state);
@@ -1038,8 +1060,8 @@ export class PushCoalescer {
1038
1060
  // restore() reads only these. After a restart nothing of the subject
1039
1061
  // is tracked as unread, a run included: its history counts as read.
1040
1062
  ...(s.occupant ? { occupant: { eventId: s.occupant.eventId, placement: s.occupant.placement } } : {}),
1041
- ...(s.batch ? { batch: { latest: s.batch.latest, notices: s.batch.notices, dropped: s.batch.dropped, ...(s.batch.noRender ? { rendering: true } : s.batch.firstView ? { firstView: true } : {}) } }
1042
- : s.rendering ? { batch: { latest: s.rendering.batch.latest, notices: s.rendering.batch.notices, dropped: s.rendering.batch.dropped, rendering: true } }
1063
+ ...(s.batch ? { batch: { latest: s.batch.latest, notices: s.batch.notices, dropped: s.batch.dropped, ...(s.batch.noRender ? { rendering: true } : s.batch.firstView ? { firstView: true } : {}), ...(s.batch.allAmbient ? { allAmbient: true } : {}) } }
1064
+ : s.rendering ? { batch: { latest: s.rendering.batch.latest, notices: s.rendering.batch.notices, dropped: s.rendering.batch.dropped, rendering: true, ...(s.rendering.batch.allAmbient ? { allAmbient: true } : {}) } }
1043
1065
  : {}),
1044
1066
  })),
1045
1067
  };