@spine-event-engine/server 2.0.0-snapshot.22 → 2.0.0-snapshot.24

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 (199) hide show
  1. package/README.md +104 -7
  2. package/REFERENCE.md +272 -31
  3. package/dist/agent/agent-admission.d.ts +80 -0
  4. package/dist/agent/agent-admission.d.ts.map +1 -0
  5. package/dist/agent/agent-admission.js +127 -0
  6. package/dist/agent/agent-admission.js.map +1 -0
  7. package/dist/agent/agent-ai-binding.d.ts +24 -0
  8. package/dist/agent/agent-ai-binding.d.ts.map +1 -0
  9. package/dist/agent/agent-ai-binding.js +48 -0
  10. package/dist/agent/agent-ai-binding.js.map +1 -0
  11. package/dist/agent/agent-ai-runtime.d.ts +76 -0
  12. package/dist/agent/agent-ai-runtime.d.ts.map +1 -0
  13. package/dist/agent/agent-ai-runtime.js +1269 -0
  14. package/dist/agent/agent-ai-runtime.js.map +1 -0
  15. package/dist/agent/agent-execution-capacity.d.ts +43 -0
  16. package/dist/agent/agent-execution-capacity.d.ts.map +1 -0
  17. package/dist/agent/agent-execution-capacity.js +147 -0
  18. package/dist/agent/agent-execution-capacity.js.map +1 -0
  19. package/dist/agent/agent-execution-fault.d.ts +18 -0
  20. package/dist/agent/agent-execution-fault.d.ts.map +1 -0
  21. package/dist/agent/agent-execution-fault.js +31 -0
  22. package/dist/agent/agent-execution-fault.js.map +1 -0
  23. package/dist/agent/agent-execution-session.d.ts +103 -0
  24. package/dist/agent/agent-execution-session.d.ts.map +1 -0
  25. package/dist/agent/agent-execution-session.js +238 -0
  26. package/dist/agent/agent-execution-session.js.map +1 -0
  27. package/dist/agent/agent-history.d.ts +148 -0
  28. package/dist/agent/agent-history.d.ts.map +1 -0
  29. package/dist/agent/agent-history.js +340 -0
  30. package/dist/agent/agent-history.js.map +1 -0
  31. package/dist/agent/agent-interaction-audit.d.ts +58 -0
  32. package/dist/agent/agent-interaction-audit.d.ts.map +1 -0
  33. package/dist/agent/agent-interaction-audit.js +114 -0
  34. package/dist/agent/agent-interaction-audit.js.map +1 -0
  35. package/dist/agent/agent-interaction-events.d.ts +40 -0
  36. package/dist/agent/agent-interaction-events.d.ts.map +1 -0
  37. package/dist/agent/agent-interaction-events.js +129 -0
  38. package/dist/agent/agent-interaction-events.js.map +1 -0
  39. package/dist/agent/agent-mcp-budget.d.ts +125 -0
  40. package/dist/agent/agent-mcp-budget.d.ts.map +1 -0
  41. package/dist/agent/agent-mcp-budget.js +566 -0
  42. package/dist/agent/agent-mcp-budget.js.map +1 -0
  43. package/dist/agent/agent-mcp-host.d.ts +125 -0
  44. package/dist/agent/agent-mcp-host.d.ts.map +1 -0
  45. package/dist/agent/agent-mcp-host.js +15 -0
  46. package/dist/agent/agent-mcp-host.js.map +1 -0
  47. package/dist/agent/agent-mcp-runtime.d.ts +199 -0
  48. package/dist/agent/agent-mcp-runtime.d.ts.map +1 -0
  49. package/dist/agent/agent-mcp-runtime.js +621 -0
  50. package/dist/agent/agent-mcp-runtime.js.map +1 -0
  51. package/dist/agent/agent-model-selection.d.ts +129 -0
  52. package/dist/agent/agent-model-selection.d.ts.map +1 -0
  53. package/dist/agent/agent-model-selection.js +342 -0
  54. package/dist/agent/agent-model-selection.js.map +1 -0
  55. package/dist/agent/agent-read-runtime.d.ts +70 -0
  56. package/dist/agent/agent-read-runtime.d.ts.map +1 -0
  57. package/dist/agent/agent-read-runtime.js +320 -0
  58. package/dist/agent/agent-read-runtime.js.map +1 -0
  59. package/dist/agent/agent-revisions.d.ts +35 -0
  60. package/dist/agent/agent-revisions.d.ts.map +1 -0
  61. package/dist/agent/agent-revisions.js +133 -0
  62. package/dist/agent/agent-revisions.js.map +1 -0
  63. package/dist/agent/agent-scheduler.d.ts +99 -0
  64. package/dist/agent/agent-scheduler.d.ts.map +1 -0
  65. package/dist/agent/agent-scheduler.js +398 -0
  66. package/dist/agent/agent-scheduler.js.map +1 -0
  67. package/dist/bus/command-bus.d.ts +62 -0
  68. package/dist/bus/command-bus.d.ts.map +1 -1
  69. package/dist/bus/command-bus.js +51 -2
  70. package/dist/bus/command-bus.js.map +1 -1
  71. package/dist/bus/event-bus.d.ts +101 -2
  72. package/dist/bus/event-bus.d.ts.map +1 -1
  73. package/dist/bus/event-bus.js +74 -13
  74. package/dist/bus/event-bus.js.map +1 -1
  75. package/dist/bus/saved-dispatcher-binding.d.ts +53 -0
  76. package/dist/bus/saved-dispatcher-binding.d.ts.map +1 -0
  77. package/dist/bus/saved-dispatcher-binding.js +27 -0
  78. package/dist/bus/saved-dispatcher-binding.js.map +1 -0
  79. package/dist/context/bounded-context.d.ts +45 -12
  80. package/dist/context/bounded-context.d.ts.map +1 -1
  81. package/dist/context/bounded-context.js +306 -86
  82. package/dist/context/bounded-context.js.map +1 -1
  83. package/dist/context/entity-inbox.d.ts.map +1 -1
  84. package/dist/context/entity-inbox.js +21 -7
  85. package/dist/context/entity-inbox.js.map +1 -1
  86. package/dist/context/local-inbox-handoff.d.ts +1 -0
  87. package/dist/context/local-inbox-handoff.d.ts.map +1 -1
  88. package/dist/context/local-inbox-handoff.js +31 -1
  89. package/dist/context/local-inbox-handoff.js.map +1 -1
  90. package/dist/context/projection-handoff.d.ts.map +1 -1
  91. package/dist/context/projection-handoff.js +2 -0
  92. package/dist/context/projection-handoff.js.map +1 -1
  93. package/dist/context/tenant-index.d.ts +25 -0
  94. package/dist/context/tenant-index.d.ts.map +1 -1
  95. package/dist/context/tenant-index.js +45 -1
  96. package/dist/context/tenant-index.js.map +1 -1
  97. package/dist/delivery/delivery-monitor.d.ts +12 -9
  98. package/dist/delivery/delivery-monitor.d.ts.map +1 -1
  99. package/dist/delivery/delivery-monitor.js +15 -9
  100. package/dist/delivery/delivery-monitor.js.map +1 -1
  101. package/dist/delivery/delivery-ports.d.ts +6 -13
  102. package/dist/delivery/delivery-ports.d.ts.map +1 -1
  103. package/dist/delivery/delivery-run-control.d.ts +15 -0
  104. package/dist/delivery/delivery-run-control.d.ts.map +1 -1
  105. package/dist/delivery/delivery-run-control.js.map +1 -1
  106. package/dist/delivery/delivery-supervisor.d.ts +33 -5
  107. package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
  108. package/dist/delivery/delivery-supervisor.js +150 -22
  109. package/dist/delivery/delivery-supervisor.js.map +1 -1
  110. package/dist/delivery/delivery.d.ts.map +1 -1
  111. package/dist/delivery/delivery.js +128 -54
  112. package/dist/delivery/delivery.js.map +1 -1
  113. package/dist/delivery/inbox-storage.d.ts +8 -11
  114. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  115. package/dist/delivery/inbox-storage.js +33 -76
  116. package/dist/delivery/inbox-storage.js.map +1 -1
  117. package/dist/delivery/inbox.d.ts +9 -12
  118. package/dist/delivery/inbox.d.ts.map +1 -1
  119. package/dist/delivery/inbox.js +10 -13
  120. package/dist/delivery/inbox.js.map +1 -1
  121. package/dist/delivery/reception-observation.d.ts +56 -0
  122. package/dist/delivery/reception-observation.d.ts.map +1 -0
  123. package/dist/delivery/reception-observation.js +67 -0
  124. package/dist/delivery/reception-observation.js.map +1 -0
  125. package/dist/entity/entity.d.ts +82 -3
  126. package/dist/entity/entity.d.ts.map +1 -1
  127. package/dist/entity/entity.js +121 -22
  128. package/dist/entity/entity.js.map +1 -1
  129. package/dist/handler/generated-handler-registry.js +8 -3
  130. package/dist/handler/generated-handler-registry.js.map +1 -1
  131. package/dist/handler/handler-metadata.d.ts +17 -1
  132. package/dist/handler/handler-metadata.d.ts.map +1 -1
  133. package/dist/handler/handler-metadata.js +10 -4
  134. package/dist/handler/handler-metadata.js.map +1 -1
  135. package/dist/index.d.ts +2 -2
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +1 -1
  138. package/dist/index.js.map +1 -1
  139. package/dist/repository/commit-fence.d.ts +11 -0
  140. package/dist/repository/commit-fence.d.ts.map +1 -1
  141. package/dist/repository/commit-fence.js +13 -0
  142. package/dist/repository/commit-fence.js.map +1 -1
  143. package/dist/repository/repository.d.ts +221 -13
  144. package/dist/repository/repository.d.ts.map +1 -1
  145. package/dist/repository/repository.js +2323 -134
  146. package/dist/repository/repository.js.map +1 -1
  147. package/dist/runtime/runtime.d.ts +11 -0
  148. package/dist/runtime/runtime.d.ts.map +1 -1
  149. package/dist/runtime/runtime.js +13 -0
  150. package/dist/runtime/runtime.js.map +1 -1
  151. package/dist/runtime/signal-metadata.d.ts.map +1 -1
  152. package/dist/runtime/signal-metadata.js +3 -10
  153. package/dist/runtime/signal-metadata.js.map +1 -1
  154. package/dist/runtime/signal-publisher.d.ts +14 -30
  155. package/dist/runtime/signal-publisher.d.ts.map +1 -1
  156. package/dist/runtime/signal-publisher.js +75 -47
  157. package/dist/runtime/signal-publisher.js.map +1 -1
  158. package/dist/runtime/standalone-handler-runtime.d.ts +7 -0
  159. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
  160. package/dist/runtime/standalone-handler-runtime.js +118 -11
  161. package/dist/runtime/standalone-handler-runtime.js.map +1 -1
  162. package/dist/server/environment-delivery-worker.d.ts.map +1 -1
  163. package/dist/server/environment-delivery-worker.js +305 -5
  164. package/dist/server/environment-delivery-worker.js.map +1 -1
  165. package/dist/server/managed-server-application.d.ts +2 -2
  166. package/dist/server/managed-server-application.d.ts.map +1 -1
  167. package/dist/server/managed-server-application.js +467 -177
  168. package/dist/server/managed-server-application.js.map +1 -1
  169. package/dist/server/node-coordinator.d.ts +14 -0
  170. package/dist/server/node-coordinator.d.ts.map +1 -1
  171. package/dist/server/node-coordinator.js +266 -45
  172. package/dist/server/node-coordinator.js.map +1 -1
  173. package/dist/server/server-log.d.ts.map +1 -1
  174. package/dist/server/server-log.js +4 -0
  175. package/dist/server/server-log.js.map +1 -1
  176. package/dist/server/server.d.ts +9 -0
  177. package/dist/server/server.d.ts.map +1 -1
  178. package/dist/server/server.js +33 -8
  179. package/dist/server/server.js.map +1 -1
  180. package/dist/services/spine-services.d.ts.map +1 -1
  181. package/dist/services/spine-services.js +200 -72
  182. package/dist/services/spine-services.js.map +1 -1
  183. package/dist/stand/event-origin-filter.d.ts +16 -0
  184. package/dist/stand/event-origin-filter.d.ts.map +1 -0
  185. package/dist/stand/event-origin-filter.js +124 -0
  186. package/dist/stand/event-origin-filter.js.map +1 -0
  187. package/dist/stand/subscription-observer.d.ts.map +1 -1
  188. package/dist/stand/subscription-observer.js +7 -0
  189. package/dist/stand/subscription-observer.js.map +1 -1
  190. package/dist/stand/subscription-runtime.d.ts +18 -1
  191. package/dist/stand/subscription-runtime.d.ts.map +1 -1
  192. package/dist/stand/subscription-runtime.js +32 -4
  193. package/dist/stand/subscription-runtime.js.map +1 -1
  194. package/dist/testing/index.d.ts +57 -1
  195. package/dist/testing/index.d.ts.map +1 -1
  196. package/dist/testing/index.js +88 -1
  197. package/dist/testing/index.js.map +1 -1
  198. package/dist/tsconfig.tsbuildinfo +1 -1
  199. package/package.json +15 -13
@@ -18,6 +18,7 @@ import { emitServerWarning } from "../server/server-log.js";
18
18
  const deliverySupervisorLoggers = new WeakMap();
19
19
  const deliverySupervisorAdmissions = new WeakMap();
20
20
  const deliverySupervisorFinalizers = new WeakMap();
21
+ const deliverySupervisorMessageSettlers = new WeakMap();
21
22
  const deliverySupervisors = new WeakSet();
22
23
  /**
23
24
  * Raised when active delivery or release cleanup exceeds its bounded close phase.
@@ -36,31 +37,113 @@ export class DeliveryShutdownTimeoutError extends Error {
36
37
  * Admits bounded local delivery and observes remote shards.
37
38
  */
38
39
  export class DeliverySupervisor {
40
+ /**
41
+ * Remote source of sessions and shard notifications.
42
+ */
39
43
  #source;
44
+ /**
45
+ * Configured delivery runner.
46
+ */
40
47
  #runs;
48
+ /**
49
+ * Endpoint invoked for received messages.
50
+ */
41
51
  #onMessage;
52
+ /**
53
+ * Maximum concurrent shard runs.
54
+ */
42
55
  #concurrency;
56
+ /**
57
+ * Maximum retained pending shard notifications.
58
+ */
43
59
  #pendingLimit;
60
+ /**
61
+ * Delay between missed-notification rescans.
62
+ */
44
63
  #recoveryMs;
64
+ /**
65
+ * Separate stale-session age used during release.
66
+ */
45
67
  #staleMs;
68
+ /**
69
+ * Initial watch reconnect delay.
70
+ */
46
71
  #watchInitialBackoffMs;
72
+ /**
73
+ * Maximum watch reconnect delay.
74
+ */
47
75
  #watchMaxBackoffMs;
76
+ /**
77
+ * Shards waiting for a run slot.
78
+ */
48
79
  #pending = new Map();
80
+ /**
81
+ * Shards whose failed runs await the next periodic recovery before another observation.
82
+ */
83
+ #failedObserved = new Set();
84
+ /**
85
+ * Shards with an active run.
86
+ */
49
87
  #active = new Set();
88
+ /**
89
+ * Waiters for an empty active and pending set.
90
+ */
50
91
  #idle = new Set();
92
+ /**
93
+ * Cancels worker runs during close.
94
+ */
51
95
  #controller = new AbortController();
96
+ /**
97
+ * Cancels remote watch and recovery reads during close.
98
+ */
52
99
  #sourceController = new AbortController();
100
+ /**
101
+ * Whether startup began.
102
+ */
53
103
  #started = false;
104
+ /**
105
+ * Whether close stopped new admissions.
106
+ */
54
107
  #closing = false;
108
+ /**
109
+ * Whether all close phases completed.
110
+ */
55
111
  #closed = false;
112
+ /**
113
+ * Whether overflow requested another full rescan.
114
+ */
56
115
  #rescanRequired = false;
116
+ /**
117
+ * Shared in-progress recovery.
118
+ */
57
119
  #recovering;
120
+ /**
121
+ * Timer for the next periodic recovery.
122
+ */
58
123
  #recoveryTimer;
124
+ /**
125
+ * Timer for a watch reconnect.
126
+ */
59
127
  #watchTimer;
128
+ /**
129
+ * Current watch reconnect delay.
130
+ */
60
131
  #watchBackoffMs;
132
+ /**
133
+ * Whether a remote watch is active.
134
+ */
61
135
  #watching = false;
136
+ /**
137
+ * Whether close confirmed expired-session release.
138
+ */
62
139
  #releaseConfirmed = false;
140
+ /**
141
+ * Shared in-progress release call.
142
+ */
63
143
  #releaseAttempt;
144
+ /**
145
+ * Shared in-progress close call.
146
+ */
64
147
  #closeAttempt;
65
148
  /**
66
149
  * Creates a bounded delivery supervisor.
@@ -74,13 +157,12 @@ export class DeliverySupervisor {
74
157
  this.#onMessage = options.onMessage;
75
158
  this.#concurrency = _a.#requireBound("Delivery supervisor concurrency", options.concurrency ?? 1);
76
159
  this.#pendingLimit = _a.#requireBound("Delivery supervisor pending limit", options.pendingLimit ?? 100);
77
- this.#recoveryMs = _a.#requireBound("Delivery supervisor recovery interval", options.recoveryMs ?? 30_000);
160
+ this.#recoveryMs = _a.#requireBound("Delivery supervisor recovery interval", options.recoveryMs ?? 10_000);
78
161
  this.#staleMs = _a.#requireBound("Delivery supervisor stale session interval", options.staleMs ?? 60_000);
79
162
  this.#watchInitialBackoffMs = _a.#requireBound("Delivery supervisor watch initial backoff", options.watchInitialBackoffMs ?? 100);
80
163
  this.#watchMaxBackoffMs = _a.#requireBound("Delivery supervisor watch maximum backoff", options.watchMaxBackoffMs ?? 30_000);
81
- if (this.#watchMaxBackoffMs < this.#watchInitialBackoffMs) {
164
+ if (this.#watchMaxBackoffMs < this.#watchInitialBackoffMs)
82
165
  throw new Error("Delivery supervisor watch maximum backoff must not be smaller than initial backoff.");
83
- }
84
166
  this.#watchBackoffMs = this.#watchInitialBackoffMs;
85
167
  }
86
168
  /**
@@ -107,11 +189,32 @@ export class DeliverySupervisor {
107
189
  * @param shard The shard whose work may be scheduled.
108
190
  */
109
191
  notify(shard) {
192
+ this.#admit(shard, false);
193
+ }
194
+ /**
195
+ * Admits one source observation unless a failed run awaits periodic recovery.
196
+ *
197
+ * @param update Source update with status and pending count.
198
+ */
199
+ #notifyObserved(update) {
200
+ if (update.status !== "NOT_PICKED" || update.messages <= 0)
201
+ return;
202
+ if (this.#failedObserved.has(_a.#shardKey(update.shard)))
203
+ return;
204
+ this.#admit(update.shard, true);
205
+ }
206
+ /**
207
+ * Starts or retains one explicit or observed shard request.
208
+ *
209
+ * @param shard Shard selected for delivery.
210
+ * @param observed Distinguishes a remote status observation from an explicit notification.
211
+ */
212
+ #admit(shard, observed) {
110
213
  if (!this.#started || this.#closing || this.#closed)
111
214
  return;
112
215
  const key = _a.#shardKey(shard);
113
216
  if (this.#active.has(key) || this.#active.size >= this.#concurrency) {
114
- this.#queue(key, shard);
217
+ this.#queue(key, shard, observed);
115
218
  return;
116
219
  }
117
220
  this.#active.add(key);
@@ -137,9 +240,10 @@ export class DeliverySupervisor {
137
240
  /**
138
241
  * Stops admission and source activity, waits one bounded active-work grace phase, then fences runs.
139
242
  * A separate release-cleanup phase uses the same bound. Cleanup failure takes precedence over
140
- * an active-work timeout; incomplete cleanup is retained for a later close retry.
243
+ * an active-work timeout; incomplete cleanup is retained for a later close retry. After both
244
+ * bounded phases, entered work may still keep close pending indefinitely.
141
245
  *
142
- * @param options The bounded close controls.
246
+ * @param options Close controls; `graceMs` defaults to 30000 milliseconds per phase.
143
247
  * @returns A promise that settles after close cleanup completes.
144
248
  */
145
249
  close(options = {}) {
@@ -219,13 +323,16 @@ export class DeliverySupervisor {
219
323
  return attempt;
220
324
  }
221
325
  async #run(shard, key) {
326
+ let failed = true;
222
327
  try {
223
328
  const admission = deliverySupervisorAdmissions.get(this);
329
+ const messageSettled = deliverySupervisorMessageSettlers.get(this);
224
330
  const finalization = deliverySupervisorFinalizers.get(this);
225
- await this.#runs.run({
331
+ const result = await this.#runs.run({
226
332
  shard,
227
333
  onMessage: this.#onMessage,
228
334
  ...(admission === undefined ? {} : { acceptMessage: admission }),
335
+ ...(messageSettled === undefined ? {} : { onMessageSettled: messageSettled }),
229
336
  ...(finalization === undefined
230
337
  ? {}
231
338
  : {
@@ -233,10 +340,16 @@ export class DeliverySupervisor {
233
340
  finalization(shard);
234
341
  },
235
342
  }),
343
+ onDrainResult: (run) => {
344
+ failed = run.failed > 0;
345
+ },
236
346
  signal: this.#controller.signal,
237
347
  });
348
+ failed ||= result.status === "FAILED";
238
349
  }
239
350
  finally {
351
+ if (failed && !this.#closing)
352
+ this.#failedObserved.add(key);
240
353
  this.#active.delete(key);
241
354
  this.#startNext(key);
242
355
  this.#settleIdle();
@@ -265,10 +378,8 @@ export class DeliverySupervisor {
265
378
  // Release is a mutation: a rejection is not treated as a successful release.
266
379
  await this.#releaseExpired({ signal: this.#sourceController.signal });
267
380
  const shards = await this.#source.shardSnapshot({ signal: this.#sourceController.signal });
268
- for (const shard of shards) {
269
- if (shard.status === "NOT_PICKED" && shard.messages > 0)
270
- this.notify(shard.shard);
271
- }
381
+ for (const shard of shards)
382
+ this.#notifyObserved(shard);
272
383
  return true;
273
384
  // spine-log-boundary: server.delivery_recovery_failure
274
385
  }
@@ -296,6 +407,7 @@ export class DeliverySupervisor {
296
407
  return;
297
408
  this.#recoveryTimer = setTimeout(() => {
298
409
  this.#recoveryTimer = undefined;
410
+ this.#failedObserved.clear();
299
411
  void this.#recover().then((recovered) => {
300
412
  if (recovered)
301
413
  this.#startWatch();
@@ -319,8 +431,7 @@ export class DeliverySupervisor {
319
431
  if (this.#closing || this.#closed)
320
432
  return;
321
433
  this.#watchBackoffMs = this.#watchInitialBackoffMs;
322
- if (shard.status === "NOT_PICKED" && shard.messages > 0)
323
- this.notify(shard.shard);
434
+ this.#notifyObserved(shard);
324
435
  }
325
436
  failed = !this.#closing && !this.#closed;
326
437
  // spine-log-boundary: server.delivery_watch_failure
@@ -369,29 +480,40 @@ export class DeliverySupervisor {
369
480
  this.#recoveryTimer = undefined;
370
481
  this.#watchTimer = undefined;
371
482
  }
372
- #queue(key, shard) {
373
- if (this.#pending.has(key))
483
+ #queue(key, shard, observed) {
484
+ const pending = this.#pending.get(key);
485
+ if (pending !== undefined) {
486
+ if (!observed)
487
+ this.#pending.set(key, { shard, observed: false });
374
488
  return;
489
+ }
375
490
  if (this.#pending.size >= this.#pendingLimit) {
376
491
  this.#rescanRequired = true;
377
492
  return;
378
493
  }
379
- this.#pending.set(key, shard);
494
+ this.#pending.set(key, { shard, observed });
380
495
  }
496
+ /**
497
+ * Starts available pending shards after a run settles, retaining repeats for active shards.
498
+ *
499
+ * @param completed Key of the shard whose run settled.
500
+ */
381
501
  #startNext(completed) {
382
502
  if (this.#closing || this.#closed)
383
503
  return;
384
504
  const repeat = this.#pending.get(completed);
385
505
  if (repeat !== undefined) {
386
506
  this.#pending.delete(completed);
387
- this.notify(repeat);
507
+ if (!repeat.observed || !this.#failedObserved.has(completed))
508
+ this.#admit(repeat.shard, repeat.observed);
388
509
  }
389
- while (this.#active.size < this.#concurrency) {
390
- const next = this.#pending.entries().next().value;
391
- if (next === undefined)
510
+ for (const [key, request] of [...this.#pending]) {
511
+ if (this.#active.size >= this.#concurrency)
392
512
  break;
393
- this.#pending.delete(next[0]);
394
- this.notify(next[1]);
513
+ if (this.#active.has(key))
514
+ continue;
515
+ this.#pending.delete(key);
516
+ this.#admit(request.shard, request.observed);
395
517
  }
396
518
  if (this.#rescanRequired) {
397
519
  this.#rescanRequired = false;
@@ -459,6 +581,12 @@ export const deliverySupervisorAccess = Object.freeze({
459
581
  }
460
582
  deliverySupervisorAdmissions.set(supervisor, admission);
461
583
  },
584
+ installMessageSettled(supervisor, onMessageSettled) {
585
+ if (!deliverySupervisors.has(supervisor)) {
586
+ throw new TypeError("Delivery supervisor settlement requires a DeliverySupervisor instance.");
587
+ }
588
+ deliverySupervisorMessageSettlers.set(supervisor, onMessageSettled);
589
+ },
462
590
  installFinalization(supervisor, onRunSettled) {
463
591
  if (!deliverySupervisors.has(supervisor)) {
464
592
  throw new TypeError("Delivery supervisor finalization requires a DeliverySupervisor instance.");
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-supervisor.js","sourceRoot":"","sources":["../../src/delivery/delivery-supervisor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-supervisor.js","sourceRoot":"","sources":["../../src/delivery/delivery-supervisor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,9 @@ import { InboxStorage, InboxStorageClock } from "./inbox-storage.js";
23
23
  import { ShardIndex } from "./shard-index.js";
24
24
  import { ShardedWorkRegistry } from "./sharded-work-registry.js";
25
25
  import { withDeliveryCommitFence } from "../repository/commit-fence.js";
26
+ import { receptionObservation } from "./reception-observation.js";
26
27
  const deliveryFailureLimit = 100;
28
+ const controlledMessageSettlers = new WeakMap();
27
29
  /**
28
30
  * Executes direct Inbox delivery for one complete worker identity.
29
31
  */
@@ -118,19 +120,29 @@ export class Delivery {
118
120
  */
119
121
  runControlled(options) {
120
122
  const shard = options.shard;
121
- return this.drain(shard, {
123
+ const drainOptions = {
122
124
  onMessage: options.onMessage,
123
125
  ...(options.acceptMessage === undefined ? {} : { acceptMessage: options.acceptMessage }),
124
126
  operation: { signal: options.signal },
125
- }).then((run) => Object.freeze({
126
- status: run.status === "SKIPPED"
127
- ? "SKIPPED"
128
- : run.status === "FAILED"
129
- ? "FAILED"
130
- : run.status === "STOPPED"
131
- ? "STOPPED"
132
- : "COMPLETED",
133
- }));
127
+ };
128
+ if (options.onMessageSettled !== undefined)
129
+ controlledMessageSettlers.set(drainOptions, options.onMessageSettled);
130
+ return this.drain(shard, drainOptions)
131
+ .then((run) => {
132
+ options.onDrainResult?.(run);
133
+ return Object.freeze({
134
+ status: run.status === "SKIPPED"
135
+ ? "SKIPPED"
136
+ : run.status === "FAILED"
137
+ ? "FAILED"
138
+ : run.status === "STOPPED"
139
+ ? "STOPPED"
140
+ : "COMPLETED",
141
+ });
142
+ })
143
+ .finally(() => {
144
+ controlledMessageSettlers.delete(drainOptions);
145
+ });
134
146
  }
135
147
  /**
136
148
  * Delivers the selected message's shard for local handoff integration.
@@ -243,8 +255,7 @@ class DeliveryDrain {
243
255
  run = (await this.#canStart()) ? await this.#readPages() : this.#complete("STOPPED");
244
256
  }
245
257
  catch (error) {
246
- if (!(await this.#release()))
247
- return this.#complete("FAILED");
258
+ await this.#release();
248
259
  throw error;
249
260
  }
250
261
  return (await this.#release()) ? run : this.#complete("FAILED");
@@ -347,15 +358,20 @@ class DeliveryDrain {
347
358
  return false;
348
359
  if (this.#shouldSkip(message))
349
360
  return true;
350
- const target = this.#targetKey(message);
351
- if (this.#blockedTargets.has(target))
352
- return true;
353
- this.#statistics.processed += 1;
354
- if (!(await this.#mayProcess()))
355
- return false;
356
- if (page.isDuplicate(message))
357
- return this.#removeDuplicate(message, target);
358
- return this.#deliver(message, target);
361
+ try {
362
+ const target = this.#targetKey(message);
363
+ if (this.#blockedTargets.has(target))
364
+ return true;
365
+ this.#statistics.processed += 1;
366
+ if (!(await this.#mayProcess()))
367
+ return false;
368
+ if (page.isDuplicate(message))
369
+ return await this.#removeDuplicate(message, target);
370
+ return await this.#deliver(message, target);
371
+ }
372
+ finally {
373
+ controlledMessageSettlers.get(this.input.options)?.(message);
374
+ }
359
375
  }
360
376
  /**
361
377
  * Determines whether an inbox message is ineligible for endpoint delivery.
@@ -395,7 +411,7 @@ class DeliveryDrain {
395
411
  */
396
412
  async #removeDuplicate(message, target) {
397
413
  try {
398
- if (!(await this.input.inbox.removeDuplicate(message, this.#current, this.input.options.operation)))
414
+ if (!(await this.input.inbox.removeDuplicate(message, this.input.options.operation)))
399
415
  throw new Error("Inbox duplicate was not removed.");
400
416
  this.#removedInPage.add(message);
401
417
  this.input.options.onDuplicateRemoved?.(message);
@@ -414,35 +430,83 @@ class DeliveryDrain {
414
430
  * @returns Whether processing may continue.
415
431
  */
416
432
  async #deliver(message, target) {
433
+ const acknowledgement = { completed: false, exhausted: false };
434
+ await this.#processAttempt(message, target, acknowledgement);
435
+ return !this.#ownershipLost && !this.input.options.operation?.signal?.aborted;
436
+ }
437
+ /**
438
+ * Executes one dispatch attempt and the monitor-selected response to a receptor failure.
439
+ *
440
+ * @param message The persisted Inbox message.
441
+ * @param target The target key used to isolate acknowledgement failure.
442
+ * @param acknowledgement Shared status across immediate repeats.
443
+ * @returns Completion of the attempt and its selected action.
444
+ */
445
+ async #processAttempt(message, target, acknowledgement) {
446
+ const observation = receptionObservation.create();
417
447
  try {
418
448
  this.#statistics.accepted += 1;
419
- await this.#dispatch(message);
420
- if (this.input.options.operation?.signal?.aborted || !(await this.#validate()))
421
- return false;
422
- await this.#markDelivered(message);
449
+ await this.#dispatch(message, observation);
423
450
  }
424
451
  catch (error) {
425
- await this.#handleReceptionFailure(message, target, error);
426
- if (this.#ownershipLost)
427
- return false;
452
+ if (this.#ownershipLost || this.input.options.operation?.signal?.aborted) {
453
+ this.#recordFailure(message, error);
454
+ return;
455
+ }
456
+ if (!receptionObservation.isReceptorFailure(observation, error))
457
+ throw error;
458
+ this.#recordFailure(message, error);
459
+ const reception = new FailedReception(message, error, () => this.#acknowledgeOnce(message, acknowledgement), () => this.#processAttempt(message, target, acknowledgement));
460
+ const action = await this.input.monitor.onReceptionFailure(reception);
461
+ await action.execute();
428
462
  }
429
- return true;
463
+ await this.#completeAttempt(message, target, acknowledgement);
430
464
  }
431
465
  /**
432
- * Records endpoint failure and runs the configured recovery action.
466
+ * Marks completed processing once, including nested repeat recovery.
433
467
  *
434
- * @param message Supplies the failed inbox message.
435
- * @param target Identifies the message target.
436
- * @param error Supplies the endpoint or acknowledgement failure.
437
- * @returns Completion after the recovery action finishes.
438
- */
439
- async #handleReceptionFailure(message, target, error) {
440
- this.#recordFailure(message, error);
441
- const reception = new FailedReception(message, error, () => this.#acknowledge(message), () => this.#repeat(message));
442
- const action = await safelyValue(() => this.input.monitor.onReceptionFailure(reception), reception.markDelivered());
443
- if (!(await safely(() => action.execute())) &&
444
- !(await safely(() => reception.markDelivered().execute())))
468
+ * @param message The processed Inbox message.
469
+ * @param target The target key used to isolate acknowledgement failure.
470
+ * @param acknowledgement Shared status across immediate repeats.
471
+ * @returns Completion after acknowledgement or exhausted retry containment.
472
+ */
473
+ async #completeAttempt(message, target, acknowledgement) {
474
+ if (acknowledgement.completed ||
475
+ acknowledgement.exhausted ||
476
+ this.input.options.operation?.signal?.aborted)
477
+ return;
478
+ if (!(await this.#validate()))
479
+ return;
480
+ try {
481
+ await this.#acknowledgeWithRetry(message, acknowledgement);
482
+ }
483
+ catch (error) {
484
+ acknowledgement.exhausted = true;
485
+ this.#recordFailure(message, error);
445
486
  this.#blockedTargets.add(target);
487
+ }
488
+ }
489
+ /**
490
+ * Retries only durable acknowledgement after processing has completed.
491
+ *
492
+ * @param message Supplies the successfully processed message.
493
+ * @param acknowledgement Shared status across immediate repeats.
494
+ * @returns Completion after acknowledgement.
495
+ */
496
+ async #acknowledgeWithRetry(message, acknowledgement) {
497
+ let firstError;
498
+ for (let attempt = 0; attempt < 3; attempt += 1) {
499
+ try {
500
+ await this.#acknowledgeOnce(message, acknowledgement);
501
+ return;
502
+ }
503
+ catch (error) {
504
+ firstError ??= error;
505
+ if (this.#ownershipLost || this.input.options.operation?.signal?.aborted)
506
+ break;
507
+ }
508
+ }
509
+ throw firstError;
446
510
  }
447
511
  /**
448
512
  * Marks a message delivered after checking the shard session.
@@ -456,26 +520,33 @@ class DeliveryDrain {
456
520
  await this.#markDelivered(message);
457
521
  }
458
522
  /**
459
- * Dispatches the message again and acknowledges it.
523
+ * Marks a message delivered once across nested monitor-selected repeats.
460
524
  *
461
- * @param message Supplies the inbox message to repeat.
462
- * @returns Completion after dispatch and acknowledgement.
525
+ * @param message The message to mark delivered.
526
+ * @param acknowledgement Shared status across immediate repeats.
527
+ * @returns Completion after acknowledgement.
463
528
  */
464
- async #repeat(message) {
465
- await this.#dispatch(message);
529
+ async #acknowledgeOnce(message, acknowledgement) {
530
+ if (acknowledgement.completed)
531
+ return;
466
532
  await this.#acknowledge(message);
533
+ acknowledgement.completed = true;
467
534
  }
468
535
  /**
469
536
  * Dispatches a message while validating the shard session before the call.
470
537
  *
471
538
  * @param message Supplies the inbox message for the endpoint.
539
+ * @param observation Records failure origin for this attempt.
472
540
  * @returns Completion after endpoint dispatch.
473
541
  */
474
- async #dispatch(message) {
475
- await withDeliveryCommitFence(async () => {
542
+ async #dispatch(message, observation) {
543
+ await receptionObservation.run(observation, () => withDeliveryCommitFence(async () => {
476
544
  if (!(await this.#validate()))
477
545
  throw new Error("Shard ownership was lost.");
478
- }, () => Promise.resolve(this.input.options.onMessage(message)));
546
+ }, () => {
547
+ observation.entered = true;
548
+ return Promise.resolve(this.input.options.onMessage(message));
549
+ }));
479
550
  }
480
551
  /**
481
552
  * Marks a message delivered and updates local counts and callbacks.
@@ -488,7 +559,12 @@ class DeliveryDrain {
488
559
  throw new Error("Inbox message was not marked delivered.");
489
560
  this.#deduplication.recordDelivered(message);
490
561
  this.#statistics.delivered += 1;
491
- this.input.options.onDelivered?.(message);
562
+ try {
563
+ this.input.options.onDelivered?.(message);
564
+ }
565
+ catch {
566
+ // A post-ack observer cannot undo durable delivery or repeat processing.
567
+ }
492
568
  }
493
569
  /**
494
570
  * Removes expired delivered messages from one page when supported.
@@ -525,9 +601,7 @@ class DeliveryDrain {
525
601
  return false;
526
602
  if (this.input.options.operation?.signal?.aborted || !(await this.#validate()))
527
603
  return undefined;
528
- const removed = await this.input.inbox.removeDelivered(message, this.#current, this.input.options.operation);
529
- if (this.input.options.operation?.signal?.aborted || (!removed && !(await this.#validate())))
530
- return undefined;
604
+ const removed = await this.input.inbox.removeDelivered(message, this.input.options.operation);
531
605
  return removed;
532
606
  }
533
607
  /**