@spine-event-engine/server 2.0.0-snapshot.23 → 2.0.0-snapshot.25

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 (300) hide show
  1. package/README.md +38 -11
  2. package/REFERENCE.md +278 -141
  3. package/dist/agent/agent-acceptance-receipts.d.ts +69 -0
  4. package/dist/agent/agent-acceptance-receipts.d.ts.map +1 -0
  5. package/dist/agent/agent-acceptance-receipts.js +198 -0
  6. package/dist/agent/agent-acceptance-receipts.js.map +1 -0
  7. package/dist/agent/agent-execution-capacity.d.ts +37 -9
  8. package/dist/agent/agent-execution-capacity.d.ts.map +1 -1
  9. package/dist/agent/agent-execution-capacity.js +73 -15
  10. package/dist/agent/agent-execution-capacity.js.map +1 -1
  11. package/dist/agent/agent-history.d.ts +15 -10
  12. package/dist/agent/agent-history.d.ts.map +1 -1
  13. package/dist/agent/agent-history.js +26 -14
  14. package/dist/agent/agent-history.js.map +1 -1
  15. package/dist/agent/agent-live-ai-audit.d.ts +95 -0
  16. package/dist/agent/agent-live-ai-audit.d.ts.map +1 -0
  17. package/dist/agent/agent-live-ai-audit.js +290 -0
  18. package/dist/agent/agent-live-ai-audit.js.map +1 -0
  19. package/dist/agent/agent-live-ai-runtime.d.ts +300 -0
  20. package/dist/agent/agent-live-ai-runtime.d.ts.map +1 -0
  21. package/dist/agent/agent-live-ai-runtime.js +611 -0
  22. package/dist/agent/agent-live-ai-runtime.js.map +1 -0
  23. package/dist/agent/agent-live-audit.d.ts +67 -0
  24. package/dist/agent/agent-live-audit.d.ts.map +1 -0
  25. package/dist/agent/agent-live-audit.js +121 -0
  26. package/dist/agent/agent-live-audit.js.map +1 -0
  27. package/dist/agent/agent-live-budget.d.ts +84 -0
  28. package/dist/agent/agent-live-budget.d.ts.map +1 -0
  29. package/dist/agent/agent-live-budget.js +161 -0
  30. package/dist/agent/agent-live-budget.js.map +1 -0
  31. package/dist/agent/agent-live-fault.d.ts +18 -0
  32. package/dist/agent/agent-live-fault.d.ts.map +1 -0
  33. package/dist/agent/{agent-execution-fault.js → agent-live-fault.js} +7 -7
  34. package/dist/agent/agent-live-fault.js.map +1 -0
  35. package/dist/agent/agent-live-inputs.d.ts +74 -0
  36. package/dist/agent/agent-live-inputs.d.ts.map +1 -0
  37. package/dist/agent/agent-live-inputs.js +15 -0
  38. package/dist/agent/agent-live-inputs.js.map +1 -0
  39. package/dist/agent/agent-live-interaction-events.d.ts +46 -0
  40. package/dist/agent/agent-live-interaction-events.d.ts.map +1 -0
  41. package/dist/agent/agent-live-interaction-events.js +104 -0
  42. package/dist/agent/agent-live-interaction-events.js.map +1 -0
  43. package/dist/agent/agent-live-mcp-controls.d.ts +129 -0
  44. package/dist/agent/agent-live-mcp-controls.d.ts.map +1 -0
  45. package/dist/agent/agent-live-mcp-controls.js +228 -0
  46. package/dist/agent/agent-live-mcp-controls.js.map +1 -0
  47. package/dist/agent/agent-live-mcp-host.d.ts +88 -0
  48. package/dist/agent/agent-live-mcp-host.d.ts.map +1 -0
  49. package/dist/agent/{agent-mcp-host.js → agent-live-mcp-host.js} +1 -1
  50. package/dist/agent/agent-live-mcp-host.js.map +1 -0
  51. package/dist/agent/{agent-mcp-runtime.d.ts → agent-live-mcp-runtime.d.ts} +6 -6
  52. package/dist/agent/agent-live-mcp-runtime.d.ts.map +1 -0
  53. package/dist/agent/{agent-mcp-runtime.js → agent-live-mcp-runtime.js} +13 -42
  54. package/dist/agent/agent-live-mcp-runtime.js.map +1 -0
  55. package/dist/agent/agent-live-read-runtime.d.ts +61 -0
  56. package/dist/agent/agent-live-read-runtime.d.ts.map +1 -0
  57. package/dist/agent/agent-live-read-runtime.js +121 -0
  58. package/dist/agent/agent-live-read-runtime.js.map +1 -0
  59. package/dist/agent/agent-model-selection.d.ts +21 -34
  60. package/dist/agent/agent-model-selection.d.ts.map +1 -1
  61. package/dist/agent/agent-model-selection.js +61 -78
  62. package/dist/agent/agent-model-selection.js.map +1 -1
  63. package/dist/bus/command-bus.d.ts +14 -18
  64. package/dist/bus/command-bus.d.ts.map +1 -1
  65. package/dist/bus/command-bus.js +31 -48
  66. package/dist/bus/command-bus.js.map +1 -1
  67. package/dist/bus/event-bus.d.ts +82 -104
  68. package/dist/bus/event-bus.d.ts.map +1 -1
  69. package/dist/bus/event-bus.js +87 -127
  70. package/dist/bus/event-bus.js.map +1 -1
  71. package/dist/context/bounded-context.d.ts +143 -91
  72. package/dist/context/bounded-context.d.ts.map +1 -1
  73. package/dist/context/bounded-context.js +753 -359
  74. package/dist/context/bounded-context.js.map +1 -1
  75. package/dist/context/entity-inbox.d.ts +7 -2
  76. package/dist/context/entity-inbox.d.ts.map +1 -1
  77. package/dist/context/entity-inbox.js +43 -20
  78. package/dist/context/entity-inbox.js.map +1 -1
  79. package/dist/context/local-inbox-handoff.d.ts +35 -34
  80. package/dist/context/local-inbox-handoff.d.ts.map +1 -1
  81. package/dist/context/local-inbox-handoff.js +123 -135
  82. package/dist/context/local-inbox-handoff.js.map +1 -1
  83. package/dist/context/projection-handoff.d.ts +2 -2
  84. package/dist/context/projection-handoff.d.ts.map +1 -1
  85. package/dist/context/projection-handoff.js +12 -8
  86. package/dist/context/projection-handoff.js.map +1 -1
  87. package/dist/context/tenant-index.d.ts +36 -31
  88. package/dist/context/tenant-index.d.ts.map +1 -1
  89. package/dist/context/tenant-index.js +123 -125
  90. package/dist/context/tenant-index.js.map +1 -1
  91. package/dist/context/tenant-unknown-error.d.ts +33 -0
  92. package/dist/context/tenant-unknown-error.d.ts.map +1 -0
  93. package/dist/context/tenant-unknown-error.js +75 -0
  94. package/dist/context/tenant-unknown-error.js.map +1 -0
  95. package/dist/delivery/agent-delivery-scope.d.ts +66 -0
  96. package/dist/delivery/agent-delivery-scope.d.ts.map +1 -0
  97. package/dist/delivery/agent-delivery-scope.js +44 -0
  98. package/dist/delivery/agent-delivery-scope.js.map +1 -0
  99. package/dist/delivery/delivery-builder.d.ts +25 -1
  100. package/dist/delivery/delivery-builder.d.ts.map +1 -1
  101. package/dist/delivery/delivery-builder.js +89 -0
  102. package/dist/delivery/delivery-builder.js.map +1 -1
  103. package/dist/delivery/delivery-monitor.d.ts +12 -9
  104. package/dist/delivery/delivery-monitor.d.ts.map +1 -1
  105. package/dist/delivery/delivery-monitor.js +15 -9
  106. package/dist/delivery/delivery-monitor.js.map +1 -1
  107. package/dist/delivery/delivery-ports.d.ts +6 -13
  108. package/dist/delivery/delivery-ports.d.ts.map +1 -1
  109. package/dist/delivery/delivery-run-control.d.ts +21 -0
  110. package/dist/delivery/delivery-run-control.d.ts.map +1 -1
  111. package/dist/delivery/delivery-run-control.js +10 -0
  112. package/dist/delivery/delivery-run-control.js.map +1 -1
  113. package/dist/delivery/delivery-supervisor.d.ts +33 -5
  114. package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
  115. package/dist/delivery/delivery-supervisor.js +178 -26
  116. package/dist/delivery/delivery-supervisor.js.map +1 -1
  117. package/dist/delivery/delivery-tenant.d.ts +17 -0
  118. package/dist/delivery/delivery-tenant.d.ts.map +1 -0
  119. package/dist/delivery/delivery-tenant.js +50 -0
  120. package/dist/delivery/delivery-tenant.js.map +1 -0
  121. package/dist/delivery/delivery.d.ts +96 -2
  122. package/dist/delivery/delivery.d.ts.map +1 -1
  123. package/dist/delivery/delivery.js +803 -89
  124. package/dist/delivery/delivery.js.map +1 -1
  125. package/dist/delivery/inbox-records.d.ts.map +1 -1
  126. package/dist/delivery/inbox-records.js +9 -16
  127. package/dist/delivery/inbox-records.js.map +1 -1
  128. package/dist/delivery/inbox-storage.d.ts +14 -11
  129. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  130. package/dist/delivery/inbox-storage.js +72 -78
  131. package/dist/delivery/inbox-storage.js.map +1 -1
  132. package/dist/delivery/inbox.d.ts +9 -12
  133. package/dist/delivery/inbox.d.ts.map +1 -1
  134. package/dist/delivery/inbox.js +13 -15
  135. package/dist/delivery/inbox.js.map +1 -1
  136. package/dist/delivery/reception-observation.d.ts +64 -0
  137. package/dist/delivery/reception-observation.d.ts.map +1 -0
  138. package/dist/delivery/reception-observation.js +78 -0
  139. package/dist/delivery/reception-observation.js.map +1 -0
  140. package/dist/delivery/sharded-work-registry.d.ts +6 -0
  141. package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
  142. package/dist/delivery/sharded-work-registry.js +41 -4
  143. package/dist/delivery/sharded-work-registry.js.map +1 -1
  144. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  145. package/dist/entity/entity-storage-descriptor.js +7 -4
  146. package/dist/entity/entity-storage-descriptor.js.map +1 -1
  147. package/dist/index.d.ts +4 -2
  148. package/dist/index.d.ts.map +1 -1
  149. package/dist/index.js +2 -1
  150. package/dist/index.js.map +1 -1
  151. package/dist/integration/external-messages.d.ts.map +1 -1
  152. package/dist/integration/external-messages.js +9 -15
  153. package/dist/integration/external-messages.js.map +1 -1
  154. package/dist/integration/integration-broker.d.ts.map +1 -1
  155. package/dist/integration/integration-broker.js +112 -6
  156. package/dist/integration/integration-broker.js.map +1 -1
  157. package/dist/integration/third-party-context.d.ts.map +1 -1
  158. package/dist/integration/third-party-context.js +7 -10
  159. package/dist/integration/third-party-context.js.map +1 -1
  160. package/dist/repository/primitive-id.js +26 -11
  161. package/dist/repository/primitive-id.js.map +1 -1
  162. package/dist/repository/repository.d.ts +33 -62
  163. package/dist/repository/repository.d.ts.map +1 -1
  164. package/dist/repository/repository.js +1475 -1827
  165. package/dist/repository/repository.js.map +1 -1
  166. package/dist/runtime/runtime.d.ts +24 -0
  167. package/dist/runtime/runtime.d.ts.map +1 -1
  168. package/dist/runtime/runtime.js +31 -0
  169. package/dist/runtime/runtime.js.map +1 -1
  170. package/dist/runtime/signal-metadata.d.ts.map +1 -1
  171. package/dist/runtime/signal-metadata.js +8 -15
  172. package/dist/runtime/signal-metadata.js.map +1 -1
  173. package/dist/runtime/signal-publisher.d.ts +8 -36
  174. package/dist/runtime/signal-publisher.d.ts.map +1 -1
  175. package/dist/runtime/signal-publisher.js +68 -61
  176. package/dist/runtime/signal-publisher.js.map +1 -1
  177. package/dist/runtime/standalone-handler-runtime.d.ts +0 -7
  178. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
  179. package/dist/runtime/standalone-handler-runtime.js +14 -130
  180. package/dist/runtime/standalone-handler-runtime.js.map +1 -1
  181. package/dist/server/managed-delivery-gate.d.ts +34 -0
  182. package/dist/server/managed-delivery-gate.d.ts.map +1 -0
  183. package/dist/server/managed-delivery-gate.js +70 -0
  184. package/dist/server/managed-delivery-gate.js.map +1 -0
  185. package/dist/server/managed-server-application.d.ts +2 -2
  186. package/dist/server/managed-server-application.d.ts.map +1 -1
  187. package/dist/server/managed-server-application.js +471 -178
  188. package/dist/server/managed-server-application.js.map +1 -1
  189. package/dist/server/node-coordinator.d.ts +14 -0
  190. package/dist/server/node-coordinator.d.ts.map +1 -1
  191. package/dist/server/node-coordinator.js +266 -45
  192. package/dist/server/node-coordinator.js.map +1 -1
  193. package/dist/server/server-environment.d.ts +203 -25
  194. package/dist/server/server-environment.d.ts.map +1 -1
  195. package/dist/server/server-environment.js +661 -133
  196. package/dist/server/server-environment.js.map +1 -1
  197. package/dist/server/server-log.d.ts +7 -0
  198. package/dist/server/server-log.d.ts.map +1 -1
  199. package/dist/server/server-log.js +18 -1
  200. package/dist/server/server-log.js.map +1 -1
  201. package/dist/server/server.d.ts +18 -32
  202. package/dist/server/server.d.ts.map +1 -1
  203. package/dist/server/server.js +62 -203
  204. package/dist/server/server.js.map +1 -1
  205. package/dist/services/spine-services.d.ts +1 -1
  206. package/dist/services/spine-services.d.ts.map +1 -1
  207. package/dist/services/spine-services.js +399 -370
  208. package/dist/services/spine-services.js.map +1 -1
  209. package/dist/stand/event-origin-filter.d.ts +16 -0
  210. package/dist/stand/event-origin-filter.d.ts.map +1 -0
  211. package/dist/stand/event-origin-filter.js +124 -0
  212. package/dist/stand/event-origin-filter.js.map +1 -0
  213. package/dist/stand/stand.d.ts +14 -0
  214. package/dist/stand/stand.d.ts.map +1 -1
  215. package/dist/stand/stand.js +53 -9
  216. package/dist/stand/stand.js.map +1 -1
  217. package/dist/stand/subscription-observer.d.ts.map +1 -1
  218. package/dist/stand/subscription-observer.js +61 -40
  219. package/dist/stand/subscription-observer.js.map +1 -1
  220. package/dist/stand/subscription-registry.d.ts +6 -2
  221. package/dist/stand/subscription-registry.d.ts.map +1 -1
  222. package/dist/stand/subscription-registry.js +15 -11
  223. package/dist/stand/subscription-registry.js.map +1 -1
  224. package/dist/stand/subscription-runtime.d.ts +23 -4
  225. package/dist/stand/subscription-runtime.d.ts.map +1 -1
  226. package/dist/stand/subscription-runtime.js +84 -13
  227. package/dist/stand/subscription-runtime.js.map +1 -1
  228. package/dist/testing/index.d.ts.map +1 -1
  229. package/dist/testing/index.js +3 -2
  230. package/dist/testing/index.js.map +1 -1
  231. package/dist/tsconfig.tsbuildinfo +1 -1
  232. package/package.json +15 -15
  233. package/dist/agent/agent-admission.d.ts +0 -80
  234. package/dist/agent/agent-admission.d.ts.map +0 -1
  235. package/dist/agent/agent-admission.js +0 -127
  236. package/dist/agent/agent-admission.js.map +0 -1
  237. package/dist/agent/agent-ai-runtime.d.ts +0 -76
  238. package/dist/agent/agent-ai-runtime.d.ts.map +0 -1
  239. package/dist/agent/agent-ai-runtime.js +0 -1269
  240. package/dist/agent/agent-ai-runtime.js.map +0 -1
  241. package/dist/agent/agent-execution-fault.d.ts +0 -18
  242. package/dist/agent/agent-execution-fault.d.ts.map +0 -1
  243. package/dist/agent/agent-execution-fault.js.map +0 -1
  244. package/dist/agent/agent-execution-session.d.ts +0 -103
  245. package/dist/agent/agent-execution-session.d.ts.map +0 -1
  246. package/dist/agent/agent-execution-session.js +0 -238
  247. package/dist/agent/agent-execution-session.js.map +0 -1
  248. package/dist/agent/agent-interaction-audit.d.ts +0 -58
  249. package/dist/agent/agent-interaction-audit.d.ts.map +0 -1
  250. package/dist/agent/agent-interaction-audit.js +0 -114
  251. package/dist/agent/agent-interaction-audit.js.map +0 -1
  252. package/dist/agent/agent-interaction-events.d.ts +0 -40
  253. package/dist/agent/agent-interaction-events.d.ts.map +0 -1
  254. package/dist/agent/agent-interaction-events.js +0 -129
  255. package/dist/agent/agent-interaction-events.js.map +0 -1
  256. package/dist/agent/agent-mcp-budget.d.ts +0 -125
  257. package/dist/agent/agent-mcp-budget.d.ts.map +0 -1
  258. package/dist/agent/agent-mcp-budget.js +0 -566
  259. package/dist/agent/agent-mcp-budget.js.map +0 -1
  260. package/dist/agent/agent-mcp-host.d.ts +0 -125
  261. package/dist/agent/agent-mcp-host.d.ts.map +0 -1
  262. package/dist/agent/agent-mcp-host.js.map +0 -1
  263. package/dist/agent/agent-mcp-runtime.d.ts.map +0 -1
  264. package/dist/agent/agent-mcp-runtime.js.map +0 -1
  265. package/dist/agent/agent-read-runtime.d.ts +0 -70
  266. package/dist/agent/agent-read-runtime.d.ts.map +0 -1
  267. package/dist/agent/agent-read-runtime.js +0 -320
  268. package/dist/agent/agent-read-runtime.js.map +0 -1
  269. package/dist/agent/agent-revisions.d.ts +0 -35
  270. package/dist/agent/agent-revisions.d.ts.map +0 -1
  271. package/dist/agent/agent-revisions.js +0 -133
  272. package/dist/agent/agent-revisions.js.map +0 -1
  273. package/dist/agent/agent-scheduler.d.ts +0 -99
  274. package/dist/agent/agent-scheduler.d.ts.map +0 -1
  275. package/dist/agent/agent-scheduler.js +0 -398
  276. package/dist/agent/agent-scheduler.js.map +0 -1
  277. package/dist/bus/saved-dispatcher-binding.d.ts +0 -96
  278. package/dist/bus/saved-dispatcher-binding.d.ts.map +0 -1
  279. package/dist/bus/saved-dispatcher-binding.js +0 -35
  280. package/dist/bus/saved-dispatcher-binding.js.map +0 -1
  281. package/dist/delivery/delivery-run-coordinator.d.ts +0 -218
  282. package/dist/delivery/delivery-run-coordinator.d.ts.map +0 -1
  283. package/dist/delivery/delivery-run-coordinator.js +0 -609
  284. package/dist/delivery/delivery-run-coordinator.js.map +0 -1
  285. package/dist/delivery/parked-delivery-obligations.d.ts +0 -182
  286. package/dist/delivery/parked-delivery-obligations.d.ts.map +0 -1
  287. package/dist/delivery/parked-delivery-obligations.js +0 -390
  288. package/dist/delivery/parked-delivery-obligations.js.map +0 -1
  289. package/dist/server/environment-attachment.d.ts +0 -356
  290. package/dist/server/environment-attachment.d.ts.map +0 -1
  291. package/dist/server/environment-attachment.js +0 -2062
  292. package/dist/server/environment-attachment.js.map +0 -1
  293. package/dist/server/environment-delivery-records.d.ts +0 -77
  294. package/dist/server/environment-delivery-records.d.ts.map +0 -1
  295. package/dist/server/environment-delivery-records.js +0 -282
  296. package/dist/server/environment-delivery-records.js.map +0 -1
  297. package/dist/server/environment-delivery-worker.d.ts +0 -161
  298. package/dist/server/environment-delivery-worker.d.ts.map +0 -1
  299. package/dist/server/environment-delivery-worker.js +0 -673
  300. package/dist/server/environment-delivery-worker.js.map +0 -1
@@ -67,48 +67,49 @@ export interface EnvironmentDeliveryPorts {
67
67
  export declare class DeliveryReadiness {
68
68
  #private;
69
69
  /**
70
- * Creates a readiness coordinator.
71
- *
72
- * @param onReady Observes routes made ready before ownership is transferred.
70
+ * Creates a readiness coordinator for one context and its shared environment Delivery.
71
+ * @param onReady Observes standalone direct routes after persistence.
72
+ * @param shared Shared environment Delivery when this context is assembled.
73
+ * @param onWake Wakes the environment's local or supervised shard run.
74
+ * @param remoteSupervised Whether setup installed a remote source and supervisor.
73
75
  */
74
- constructor(onReady?: OnDeliveryReady);
76
+ constructor(onReady?: OnDeliveryReady, shared?: Delivery, onWake?: (shard: ShardIndex) => void, remoteSupervised?: boolean);
75
77
  /**
76
- * Sets the observer used before routing takes ownership.
77
- *
78
- * @param onReady Observes routes that become ready.
79
- * @returns Returns a function that removes this observer when still active.
78
+ * Closes notifications after admitted direct work drains.
79
+ * @returns Completion after direct work and any standalone Delivery close.
80
80
  */
81
- onReady(onReady: OnDeliveryReady): () => void;
81
+ close(): Promise<void>;
82
82
  /**
83
- * Acquires readiness ownership for a persisted route.
84
- *
85
- * @param ready Describes the route when persistence made it ready.
86
- * @returns Returns a claim that must be completed or abandoned.
83
+ * Stores a ready route until Agent capacity is available.
84
+ * @param ready Route whose local dispatch was deferred.
85
+ */
86
+ defer(ready: DeliveryReady): void;
87
+ /**
88
+ * Retries each deferred route after Agent capacity becomes available.
89
+ */
90
+ retryDeferred(): void;
91
+ /**
92
+ * Sets the complete Entity/projection replay callback before admission.
93
+ * @param onReplay Replays an admitted Inbox message.
94
+ */
95
+ configureDirect(onReplay: (message: InboxMessage, tenantId?: TenantId) => Promise<void>): void;
96
+ /**
97
+ * Notifies the retained Delivery about an existing durable route.
98
+ * @param ready Route to check after its eligibility changes.
99
+ */
100
+ notify(ready: DeliveryReady): void;
101
+ /**
102
+ * Returns local exact completion or remote supervised notification after reception.
103
+ * @param ready Route made eligible by the write, if a recipient is registered.
104
+ * @returns A completion claim for that write.
87
105
  */
88
106
  claim(ready?: DeliveryReady): DeliveryHandoff;
89
107
  /**
90
- * Routes a context-created delivery through the attached environment ports.
91
- *
92
- * Direct local delivery remains unchanged. Once ownership is transferred,
93
- * inbox writes and workers must use the same environment-owned facility.
94
- *
95
- * @param delivery Supplies the context-created delivery configuration.
96
- * @returns The delivery selected for the current ownership mode.
97
- * @internal
108
+ * Routes through the shared Delivery or the supplied standalone test Delivery.
109
+ * @param delivery Direct Delivery supplied by the Inbox.
110
+ * @returns The Delivery used for receiving the row.
98
111
  */
99
112
  route(delivery: Delivery): Delivery;
100
- /**
101
- * Updates readiness ownership to use configured delivery routes.
102
- *
103
- * @param scopes Lists the routes that may receive buffered readiness.
104
- * @param onReady Observes readiness after routed ownership begins.
105
- * @param options Allows an empty configured route set when `allowEmpty` is true.
106
- * @returns A promise that resolves after the readiness transition completes.
107
- */
108
- transition(scopes: readonly DeliveryReady[], onReady: OnDeliveryReady, options?: {
109
- readonly allowEmpty?: boolean;
110
- readonly ports?: EnvironmentDeliveryPorts;
111
- }): Promise<void>;
112
113
  }
113
114
  /**
114
115
  * Represents a post-persistence claim held while direct delivery remains active.
@@ -207,7 +208,6 @@ export interface LocalInboxKeyInput {
207
208
  */
208
209
  export declare const InboxHandoff: Readonly<{
209
210
  ready(endpoint: DeliveryEndpoint, tenantId?: TenantId): DeliveryReady;
210
- configuredScopes(scopes: readonly DeliveryReady[], allowEmpty: boolean): Map<string, DeliveryReady>;
211
211
  readyKey(ready: DeliveryReady): string;
212
212
  cloneReady(ready: DeliveryReady): DeliveryReady;
213
213
  isPromiseLike(value: unknown): value is PromiseLike<unknown>;
@@ -235,6 +235,7 @@ export declare const InboxHandoff: Readonly<{
235
235
  readonly ofTotal: number;
236
236
  };
237
237
  }): boolean;
238
+ sameDelivery(left: InboxMessage, right: InboxMessage): boolean;
238
239
  messageIdKey(message: Pick<InboxMessage, "id">): string;
239
240
  endpoint(input: {
240
241
  readonly label: SupportedDeliveryLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"local-inbox-handoff.d.ts","sourceRoot":"","sources":["../../src/context/local-inbox-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-inbox-handoff.d.ts","sourceRoot":"","sources":["../../src/context/local-inbox-handoff.ts"],"names":[],"mappings":"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"}
@@ -19,150 +19,133 @@ import { ShardIndex } from "../delivery/shard-index.js";
19
19
  * Coordinates readiness notifications while delivery ownership changes hands.
20
20
  */
21
21
  export class DeliveryReadiness {
22
+ #shared;
23
+ #onWake;
24
+ #remoteSupervised;
22
25
  #onReady;
23
26
  #active = new Set();
24
- #mode = "direct";
25
- #configured = new Map();
26
- #buffered = new Map();
27
- #invalidTransition = false;
28
- #ports;
27
+ #local = new Set();
28
+ #deferred = new Map();
29
+ #directReplay;
30
+ #closeAttempt;
31
+ #closed = false;
29
32
  /**
30
- * Creates a readiness coordinator.
31
- *
32
- * @param onReady Observes routes made ready before ownership is transferred.
33
+ * Creates a readiness coordinator for one context and its shared environment Delivery.
34
+ * @param onReady Observes standalone direct routes after persistence.
35
+ * @param shared Shared environment Delivery when this context is assembled.
36
+ * @param onWake Wakes the environment's local or supervised shard run.
37
+ * @param remoteSupervised Whether setup installed a remote source and supervisor.
33
38
  */
34
- constructor(onReady = () => undefined) {
39
+ constructor(onReady = () => undefined, shared, onWake, remoteSupervised = false) {
35
40
  this.#onReady = onReady;
41
+ this.#shared = shared;
42
+ this.#onWake = onWake;
43
+ this.#remoteSupervised = remoteSupervised;
36
44
  }
37
45
  /**
38
- * Sets the observer used before routing takes ownership.
39
- *
40
- * @param onReady Observes routes that become ready.
41
- * @returns Returns a function that removes this observer when still active.
46
+ * Closes notifications after admitted direct work drains.
47
+ * @returns Completion after direct work and any standalone Delivery close.
42
48
  */
43
- onReady(onReady) {
44
- if (this.#mode === "routed") {
45
- return () => undefined;
46
- }
47
- this.#onReady = onReady;
48
- return () => {
49
- if (this.#onReady === onReady) {
50
- this.#onReady = () => undefined;
51
- }
52
- };
49
+ close() {
50
+ if (this.#closeAttempt !== undefined)
51
+ return this.#closeAttempt;
52
+ this.#closed = true;
53
+ this.#deferred.clear();
54
+ const waiting = [...this.#active];
55
+ const closing = [...this.#local].map((delivery) => delivery.close());
56
+ this.#closeAttempt = Promise.allSettled([...waiting, ...closing]).then((results) => {
57
+ const errors = results.flatMap((result) => result.status === "rejected" ? [result.reason] : []);
58
+ if (errors.length > 0)
59
+ throw new AggregateError(errors, "Delivery readiness close failed.");
60
+ });
61
+ return this.#closeAttempt;
53
62
  }
54
63
  /**
55
- * Acquires readiness ownership for a persisted route.
56
- *
57
- * @param ready Describes the route when persistence made it ready.
58
- * @returns Returns a claim that must be completed or abandoned.
64
+ * Stores a ready route until Agent capacity is available.
65
+ * @param ready Route whose local dispatch was deferred.
59
66
  */
60
- claim(ready) {
61
- if (this.#mode === "direct") {
62
- const handoff = this.#directHandoff();
63
- if (ready !== undefined) {
64
- this.#notify(ready);
65
- }
66
- return handoff;
67
- }
68
- if (ready !== undefined) {
69
- if (this.#mode === "transition") {
70
- const key = InboxHandoff.readyKey(ready);
71
- if (this.#configured.has(key)) {
72
- this.#buffered.set(key, InboxHandoff.cloneReady(ready));
73
- }
74
- else {
75
- this.#invalidTransition = true;
76
- }
77
- }
78
- else if (this.#mode === "routed") {
79
- this.#notify(ready);
80
- }
81
- }
82
- return settledHandoff;
67
+ defer(ready) {
68
+ if (!this.#closed)
69
+ this.#deferred.set(InboxHandoff.readyKey(ready), InboxHandoff.cloneReady(ready));
83
70
  }
84
71
  /**
85
- * Routes a context-created delivery through the attached environment ports.
86
- *
87
- * Direct local delivery remains unchanged. Once ownership is transferred,
88
- * inbox writes and workers must use the same environment-owned facility.
89
- *
90
- * @param delivery Supplies the context-created delivery configuration.
91
- * @returns The delivery selected for the current ownership mode.
92
- * @internal
72
+ * Retries each deferred route after Agent capacity becomes available.
93
73
  */
94
- route(delivery) {
95
- const ports = this.#ports;
96
- if (ports === undefined)
97
- return delivery;
98
- return new Delivery({
99
- context: delivery.context,
100
- storageFactory: delivery.storageFactory,
101
- strategy: delivery.strategy,
102
- node: delivery.node,
103
- pageSize: delivery.pageSize,
104
- inbox: ports.inbox,
105
- workRegistry: ports.workRegistry,
106
- });
74
+ retryDeferred() {
75
+ const ready = [...this.#deferred.values()];
76
+ this.#deferred.clear();
77
+ for (const route of ready)
78
+ this.notify(route);
107
79
  }
108
80
  /**
109
- * Updates readiness ownership to use configured delivery routes.
110
- *
111
- * @param scopes Lists the routes that may receive buffered readiness.
112
- * @param onReady Observes readiness after routed ownership begins.
113
- * @param options Allows an empty configured route set when `allowEmpty` is true.
114
- * @returns A promise that resolves after the readiness transition completes.
81
+ * Sets the complete Entity/projection replay callback before admission.
82
+ * @param onReplay Replays an admitted Inbox message.
115
83
  */
116
- transition(scopes, onReady, options = {}) {
117
- if (this.#mode !== "direct" && this.#mode !== "failed") {
118
- return Promise.reject(new Error("Delivery readiness ownership is already transferred."));
119
- }
120
- let configured;
121
- try {
122
- configured = InboxHandoff.configuredScopes(scopes, options.allowEmpty === true);
84
+ configureDirect(onReplay) {
85
+ this.#directReplay = onReplay;
86
+ }
87
+ /**
88
+ * Notifies the retained Delivery about an existing durable route.
89
+ * @param ready Route to check after its eligibility changes.
90
+ */
91
+ notify(ready) {
92
+ if (this.#closed)
93
+ return;
94
+ if (this.#shared !== undefined) {
95
+ (this.#onWake ?? ((shard) => this.#shared?.wake(shard)))(ready.shard);
96
+ return;
123
97
  }
124
- catch (error) {
125
- return Promise.resolve().then(() => {
126
- throw error;
127
- });
98
+ const key = ready.tenantId === undefined
99
+ ? TenantBoundary.single.key
100
+ : TenantBoundary.from(ready.tenantId).key;
101
+ for (const delivery of this.#local)
102
+ if (TenantBoundary.of(delivery.context).key === key)
103
+ delivery.wake(ready.shard);
104
+ }
105
+ /**
106
+ * Returns local exact completion or remote supervised notification after reception.
107
+ * @param ready Route made eligible by the write, if a recipient is registered.
108
+ * @returns A completion claim for that write.
109
+ */
110
+ claim(ready) {
111
+ if (this.#remoteSupervised && this.#shared !== undefined) {
112
+ if (ready !== undefined)
113
+ this.notify(ready);
114
+ return settledHandoff;
128
115
  }
129
- this.#configured = configured;
130
- this.#buffered.clear();
131
- this.#invalidTransition = false;
132
- this.#mode = "transition";
133
- const admitted = [...this.#active];
134
- return Promise.allSettled(admitted).then(() => {
135
- if (this.#invalidTransition) {
136
- this.#buffered.clear();
137
- this.#mode = "failed";
138
- throw new Error("Delivery readiness transition received an unconfigured scope.");
139
- }
140
- this.#onReady = onReady;
141
- this.#ports = options.ports;
142
- this.#mode = "routed";
143
- for (const ready of this.#buffered.values()) {
144
- this.#notify(ready);
145
- }
146
- this.#buffered.clear();
147
- });
116
+ const handoff = this.#directHandoff();
117
+ if (ready !== undefined)
118
+ this.#notifyStandalone(ready);
119
+ return handoff;
120
+ }
121
+ /**
122
+ * Routes through the shared Delivery or the supplied standalone test Delivery.
123
+ * @param delivery Direct Delivery supplied by the Inbox.
124
+ * @returns The Delivery used for receiving the row.
125
+ */
126
+ route(delivery) {
127
+ if (this.#shared !== undefined)
128
+ return this.#shared;
129
+ if (!this.#local.has(delivery) && this.#directReplay !== undefined)
130
+ delivery.setReplay((message) => this.#directReplay?.(message, delivery.context.tenantId));
131
+ this.#local.add(delivery);
132
+ return delivery;
148
133
  }
149
134
  #directHandoff() {
150
135
  const gate = Promise.withResolvers();
151
136
  this.#active.add(gate.promise);
152
- let abandoned = false;
153
137
  let completion;
138
+ let abandoned = false;
154
139
  const finish = () => {
155
140
  gate.resolve(undefined);
156
141
  this.#active.delete(gate.promise);
157
142
  };
158
143
  return Object.freeze({
159
144
  complete: (onDrain) => {
160
- if (completion !== undefined) {
145
+ if (completion !== undefined)
161
146
  return completion;
162
- }
163
- if (abandoned) {
147
+ if (abandoned)
164
148
  return settled;
165
- }
166
149
  const shared = Promise.withResolvers();
167
150
  completion = shared.promise;
168
151
  void completion.then(finish, finish);
@@ -177,23 +160,21 @@ export class DeliveryReadiness {
177
160
  return completion;
178
161
  },
179
162
  abandon: () => {
180
- if (completion !== undefined || abandoned) {
163
+ if (completion !== undefined || abandoned)
181
164
  return;
182
- }
183
165
  abandoned = true;
184
166
  finish();
185
167
  },
186
168
  });
187
169
  }
188
- #notify(ready) {
170
+ #notifyStandalone(ready) {
189
171
  try {
190
172
  const result = Reflect.apply(this.#onReady, undefined, [ready]);
191
- if (InboxHandoff.isPromiseLike(result)) {
173
+ if (InboxHandoff.isPromiseLike(result))
192
174
  void Promise.resolve(result).catch(() => undefined);
193
- }
194
175
  }
195
176
  catch {
196
- // Readiness observation cannot alter durable receive or exact-drain outcomes.
177
+ // A standalone observer cannot reverse a durable Inbox write.
197
178
  }
198
179
  }
199
180
  }
@@ -215,16 +196,6 @@ export const InboxHandoff = Object.freeze({
215
196
  shard: new ShardIndex(endpoint.shard.index, endpoint.shard.ofTotal),
216
197
  });
217
198
  },
218
- configuredScopes(scopes, allowEmpty) {
219
- const configured = new Map();
220
- for (const scope of scopes) {
221
- configured.set(InboxHandoff.readyKey(scope), InboxHandoff.cloneReady(scope));
222
- }
223
- if (configured.size === 0 && !allowEmpty) {
224
- throw new Error("Delivery readiness transition requires configured scopes.");
225
- }
226
- return configured;
227
- },
228
199
  readyKey(ready) {
229
200
  return JSON.stringify([
230
201
  tenantKey(ready.tenantId),
@@ -274,17 +245,25 @@ export const InboxHandoff = Object.freeze({
274
245
  },
275
246
  async drainAttempt(options) {
276
247
  const direct = await options.delivery.drainMessage(options.received, InboxHandoff.drainInput(options));
277
- if (direct.acknowledged ||
278
- (await options.delivery.inbox.readMessage(options.received.id))?.status === "DELIVERED")
248
+ if (direct.outcome?.kind === "acknowledged")
279
249
  return "ACKNOWLEDGED";
280
- const failure = direct.run.failures.find(({ message }) => InboxHandoff.sameMessageId(message.id, options.received.id));
250
+ if (direct.outcome?.kind === "deferred")
251
+ return "RETRY";
252
+ if (direct.outcome?.kind === "failed")
253
+ throw InboxHandoff.replayFailure(direct.outcome.error, options.replayFailureMessage);
254
+ if (direct.acknowledged)
255
+ return "ACKNOWLEDGED";
256
+ const run = direct.run ?? (direct.outcome?.kind === "unresolved" ? direct.outcome.run : undefined);
257
+ if (run === undefined)
258
+ return "RETRY";
259
+ if ((await options.delivery.inbox.readMessage(options.received.id))?.status === "DELIVERED")
260
+ return "ACKNOWLEDGED";
261
+ const failure = run.failures.find(({ message }) => InboxHandoff.sameDelivery(message, options.received));
281
262
  if (failure !== undefined)
282
263
  throw InboxHandoff.replayFailure(failure.error, options.replayFailureMessage);
283
- if (direct.run.status === "SKIPPED")
264
+ if (run.status === "SKIPPED")
284
265
  throw new Error(options.skippedMessage);
285
- return direct.run.accepted === 0 && direct.run.delivered === 0 && direct.run.failed === 0
286
- ? "IDLE"
287
- : "RETRY";
266
+ return run.accepted === 0 && run.delivered === 0 && run.failed === 0 ? "IDLE" : "RETRY";
288
267
  },
289
268
  drainInput(options) {
290
269
  return {
@@ -315,6 +294,15 @@ export const InboxHandoff = Object.freeze({
315
294
  left.shard.index === right.shard.index &&
316
295
  left.shard.ofTotal === right.shard.ofTotal);
317
296
  },
297
+ sameDelivery(left, right) {
298
+ return ((InboxHandoff.sameMessageId(left.id, right.id) ||
299
+ (left.signalId === right.signalId &&
300
+ left.label === right.label &&
301
+ left.inboxId.targetTypeUrl === right.inboxId.targetTypeUrl &&
302
+ InboxTargets.equal(left.inboxId.targetId, right.inboxId.targetId))) &&
303
+ left.shard.index === right.shard.index &&
304
+ left.shard.ofTotal === right.shard.ofTotal);
305
+ },
318
306
  messageIdKey(message) {
319
307
  return JSON.stringify([message.id.value, message.id.shard.index, message.id.shard.ofTotal]);
320
308
  },
@@ -1 +1 @@
1
- {"version":3,"file":"local-inbox-handoff.js","sourceRoot":"","sources":["../../src/context/local-inbox-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-inbox-handoff.js","sourceRoot":"","sources":["../../src/context/local-inbox-handoff.ts"],"names":[],"mappings":"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"}
@@ -12,9 +12,9 @@ export declare class LocalProjectionInbox implements ProjectionInbox {
12
12
  * Creates a local projection inbox.
13
13
  * @param contextName Names the bounded context that owns this inbox.
14
14
  * @param readiness Coordinates delivery readiness after persistence.
15
- * @param keepTenant Records a tenant before its message is persisted.
15
+ * @param onAdmit Checks current tenant membership before persistence or replay.
16
16
  */
17
- constructor(contextName: string, readiness?: DeliveryReadiness | OnDeliveryReady, keepTenant?: (tenantId: TenantId) => Promise<void>);
17
+ constructor(contextName: string, readiness?: DeliveryReadiness | OnDeliveryReady, onAdmit?: (tenantId?: TenantId) => Promise<void>);
18
18
  /**
19
19
  * Registers a target that replays projection messages.
20
20
  * @param target Handles messages for one projection type.
@@ -1 +1 @@
1
- {"version":3,"file":"projection-handoff.d.ts","sourceRoot":"","sources":["../../src/context/projection-handoff.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EACL,KAAK,gBAAgB,EACrB,iBAAiB,EAGjB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAIlC;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe;;IAmB1D;;;;;OAKG;gBAED,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,iBAAiB,GAAG,eAAyC,EACxE,UAAU,GAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAA2B;IAQ7E;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAc7C;;;OAGG;IACH,SAAS,IAAI,SAAS,gBAAgB,EAAE;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;;;OAMG;IACG,OAAO,CACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,eAAe,EACtB,gBAAgB,CAAC,EAAE,QAAQ,GAC1B,OAAO,CAAC,YAAY,CAAC;CAgIzB;AAED,KAAK,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"projection-handoff.d.ts","sourceRoot":"","sources":["../../src/context/projection-handoff.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAG1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EACL,KAAK,gBAAgB,EACrB,iBAAiB,EAGjB,KAAK,eAAe,EACrB,MAAM,0BAA0B,CAAC;AAIlC;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe;;IAmB1D;;;;;OAKG;gBAED,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,iBAAiB,GAAG,eAAyC,EACxE,OAAO,GAAE,CAAC,QAAQ,CAAC,EAAE,QAAQ,KAAK,OAAO,CAAC,IAAI,CAA2B;IAQ3E;;;OAGG;IACH,QAAQ,CAAC,MAAM,EAAE,qBAAqB,GAAG,IAAI;IAc7C;;;OAGG;IACH,SAAS,IAAI,SAAS,gBAAgB,EAAE;IAIxC;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;;;OAMG;IACG,OAAO,CACX,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,eAAe,EACtB,gBAAgB,CAAC,EAAE,QAAQ,GAC1B,OAAO,CAAC,YAAY,CAAC;CAmIzB;AAED,KAAK,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC"}
@@ -13,7 +13,9 @@
13
13
  */
14
14
  var _a;
15
15
  import { Time } from "@spine-event-engine/core/time";
16
+ import { deliveryTenantKey } from "../delivery/delivery-tenant.js";
16
17
  import { Delivery } from "../delivery/delivery.js";
18
+ import { receptionObservation } from "../delivery/reception-observation.js";
17
19
  import { ShardIndex } from "../delivery/shard-index.js";
18
20
  import { DeliveryReadiness, InboxHandoff, } from "./local-inbox-handoff.js";
19
21
  const projectionLabels = ["UPDATE_SUBSCRIBER"];
@@ -25,7 +27,7 @@ export class LocalProjectionInbox {
25
27
  #targets = new Map();
26
28
  #endpoints = new Map();
27
29
  #readiness;
28
- #keepTenant;
30
+ #onAdmit;
29
31
  #inFlightHandoffs = new Map();
30
32
  #inFlightMessageIds = new Set();
31
33
  #acknowledgedMessageIds = new Set();
@@ -34,13 +36,13 @@ export class LocalProjectionInbox {
34
36
  * Creates a local projection inbox.
35
37
  * @param contextName Names the bounded context that owns this inbox.
36
38
  * @param readiness Coordinates delivery readiness after persistence.
37
- * @param keepTenant Records a tenant before its message is persisted.
39
+ * @param onAdmit Checks current tenant membership before persistence or replay.
38
40
  */
39
- constructor(contextName, readiness = new DeliveryReadiness(), keepTenant = () => Promise.resolve()) {
41
+ constructor(contextName, readiness = new DeliveryReadiness(), onAdmit = () => Promise.resolve()) {
40
42
  this.#contextName = contextName;
41
43
  this.#readiness =
42
44
  readiness instanceof DeliveryReadiness ? readiness : new DeliveryReadiness(readiness);
43
- this.#keepTenant = keepTenant;
45
+ this.#onAdmit = onAdmit;
44
46
  }
45
47
  /**
46
48
  * Registers a target that replays projection messages.
@@ -88,8 +90,7 @@ export class LocalProjectionInbox {
88
90
  });
89
91
  }
90
92
  async #receiveAndDrain(delivery, input, deliveryTenantId) {
91
- if (deliveryTenantId !== undefined)
92
- await this.#keepTenant(deliveryTenantId);
93
+ await this.#onAdmit(deliveryTenantId);
93
94
  const written = await this.#writeInboxRow(delivery, input);
94
95
  this.#trackMessage(written.message);
95
96
  try {
@@ -127,8 +128,9 @@ export class LocalProjectionInbox {
127
128
  received: message,
128
129
  node: this.#contextName,
129
130
  onReplay: (next) => this.#replay(next, deliveryTenantId),
130
- acceptMessage: (next) => InboxHandoff.sameMessageId(next.id, message.id) ||
131
- (next.label === "UPDATE_SUBSCRIBER" && this.#targets.has(next.inboxId.targetTypeUrl)),
131
+ acceptMessage: (next) => deliveryTenantKey(next) === deliveryTenantKey(message) &&
132
+ (InboxHandoff.sameMessageId(next.id, message.id) ||
133
+ (next.label === "UPDATE_SUBSCRIBER" && this.#targets.has(next.inboxId.targetTypeUrl))),
132
134
  onResolved: (next) => {
133
135
  this.#recordAcknowledgement(next);
134
136
  },
@@ -158,7 +160,9 @@ export class LocalProjectionInbox {
158
160
  return this.#nextVersion;
159
161
  }
160
162
  async #replay(message, deliveryTenantId) {
163
+ receptionObservation.markManaged();
161
164
  _a.#assert(message);
165
+ await this.#onAdmit(deliveryTenantId);
162
166
  const target = this.#targets.get(message.inboxId.targetTypeUrl);
163
167
  if (target === undefined) {
164
168
  throw new Error(`BoundedContext delivery has no projection subscriber target for "${message.inboxId.targetTypeUrl}".`);
@@ -1 +1 @@
1
- {"version":3,"file":"projection-handoff.js","sourceRoot":"","sources":["../../src/context/projection-handoff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projection-handoff.js","sourceRoot":"","sources":["../../src/context/projection-handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAE5E,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAEL,iBAAiB,EACjB,YAAY,GAGb,MAAM,0BAA0B,CAAC;AAElC,MAAM,gBAAgB,GAAG,CAAC,mBAAmB,CAAU,CAAC;AAExD;;GAEG;AACH,MAAM,OAAO,oBAAoB;IACtB,YAAY,CAAS;IAErB,QAAQ,GAAG,IAAI,GAAG,EAAiC,CAAC;IAEpD,UAAU,GAAG,IAAI,GAAG,EAAuC,CAAC;IAE5D,UAAU,CAAoB;IAE9B,QAAQ,CAAyC;IAEjD,iBAAiB,GAAG,IAAI,GAAG,EAAiC,CAAC;IAE7D,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;IAExC,uBAAuB,GAAG,IAAI,GAAG,EAAU,CAAC;IAErD,YAAY,GAAG,EAAE,CAAC;IAElB;;;;;OAKG;IACH,YACE,WAAmB,EACnB,YAAiD,IAAI,iBAAiB,EAAE,EACxE,UAAkD,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;QAEzE,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,UAAU;YACb,SAAS,YAAY,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACxF,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,MAA6B;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,MAAM,CAAC,aAAa,EACpB,MAAM,CAAC,MAAM,CAAC;YACZ,YAAY,CAAC,QAAQ,CAAC;gBACpB,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC;gBAC1B,OAAO,EAAE,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE;gBAChD,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE;aAC3B,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,SAAS;QACP,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,OAAqB,EAAE,gBAA2B;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CACX,QAAkB,EAClB,KAAsB,EACtB,gBAA2B;QAE3B,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,MAAM,YAAY,CAAC,UAAU,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAChC,GAAG,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,CAAC;YAC9C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,gBAAgB,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAkB,EAClB,KAAsB,EACtB,gBAA2B;QAE3B,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC3D,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,OAAO,CAAC;QACzB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,cAAc,CAAC,QAAkB,EAAE,KAAsB;QACvD,OAAO,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE;YAChC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;YAC5B,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/D,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC;SACzE,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAkB,EAClB,OAAqB,EACrB,gBAA2B;QAE3B,MAAM,QAAQ,GAAG,YAAY,CAAC,kBAAkB,CAC9C,OAAO,EACP,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,CACzD,CAAC;QACF,MAAM,IAAI,CAAC,UAAU;aAClB,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;aAC1F,QAAQ,CAAC,GAAG,EAAE,CACb,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;YAC3B,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE;YACnB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAChF,CAAC;IACN,CAAC;IAED,aAAa,CACX,QAAkB,EAClB,OAAqB,EACrB,gBAA2B;QAE3B,OAAO;YACL,QAAQ;YACR,QAAQ,EAAE,OAAO;YACjB,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC;YACxD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CACtB,iBAAiB,CAAC,IAAI,CAAC,KAAK,iBAAiB,CAAC,OAAO,CAAC;gBACtD,CAAC,YAAY,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,CAAC;oBAC9C,CAAC,IAAI,CAAC,KAAK,KAAK,mBAAmB,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;YAC1F,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YACD,oBAAoB,EAAE,iCAAiC;YACvD,cAAc,EAAE,4EAA4E;YAC5F,iBAAiB,EACf,yFAAyF;SAC5F,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,OAAqB;QACjC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,CAAC;IAED,eAAe,CAAC,OAAqB;QACnC,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC;IAED,sBAAsB,CAAC,OAAqB;QAC1C,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,eAAe,CAAC,OAAqB;QACnC,OAAO,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,YAAY;QACV,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAAqB,EAAE,gBAA2B;QAC9D,oBAAoB,CAAC,WAAW,EAAE,CAAC;QACnC,EAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAEtC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAEhE,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,oEAAoE,OAAO,CAAC,OAAO,CAAC,aAAa,IAAI,CACtG,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,OAAqB;QAClC,IAAI,OAAO,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,2DAA2D,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,+EAA+E,OAAO,CAAC,MAAM,IAAI,CAClG,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}