@spine-event-engine/server 2.0.0-snapshot.24 → 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 (286) hide show
  1. package/README.md +38 -11
  2. package/REFERENCE.md +201 -130
  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/{bus/saved-dispatcher-binding.js → agent/agent-live-inputs.js} +2 -14
  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 +17 -4
  68. package/dist/bus/event-bus.d.ts.map +1 -1
  69. package/dist/bus/event-bus.js +42 -12
  70. package/dist/bus/event-bus.js.map +1 -1
  71. package/dist/context/bounded-context.d.ts +140 -87
  72. package/dist/context/bounded-context.d.ts.map +1 -1
  73. package/dist/context/bounded-context.js +702 -329
  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 +22 -13
  78. package/dist/context/entity-inbox.js.map +1 -1
  79. package/dist/context/local-inbox-handoff.d.ts +34 -34
  80. package/dist/context/local-inbox-handoff.d.ts.map +1 -1
  81. package/dist/context/local-inbox-handoff.js +108 -150
  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 +10 -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 +1 -1
  104. package/dist/delivery/delivery-monitor.js +1 -1
  105. package/dist/delivery/delivery-run-control.d.ts +6 -0
  106. package/dist/delivery/delivery-run-control.d.ts.map +1 -1
  107. package/dist/delivery/delivery-run-control.js +10 -0
  108. package/dist/delivery/delivery-run-control.js.map +1 -1
  109. package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
  110. package/dist/delivery/delivery-supervisor.js +28 -4
  111. package/dist/delivery/delivery-supervisor.js.map +1 -1
  112. package/dist/delivery/delivery-tenant.d.ts +17 -0
  113. package/dist/delivery/delivery-tenant.d.ts.map +1 -0
  114. package/dist/delivery/delivery-tenant.js +50 -0
  115. package/dist/delivery/delivery-tenant.js.map +1 -0
  116. package/dist/delivery/delivery.d.ts +96 -2
  117. package/dist/delivery/delivery.d.ts.map +1 -1
  118. package/dist/delivery/delivery.js +693 -53
  119. package/dist/delivery/delivery.js.map +1 -1
  120. package/dist/delivery/inbox-records.d.ts.map +1 -1
  121. package/dist/delivery/inbox-records.js +9 -16
  122. package/dist/delivery/inbox-records.js.map +1 -1
  123. package/dist/delivery/inbox-storage.d.ts +6 -0
  124. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  125. package/dist/delivery/inbox-storage.js +43 -6
  126. package/dist/delivery/inbox-storage.js.map +1 -1
  127. package/dist/delivery/inbox.d.ts.map +1 -1
  128. package/dist/delivery/inbox.js +3 -2
  129. package/dist/delivery/inbox.js.map +1 -1
  130. package/dist/delivery/reception-observation.d.ts +12 -4
  131. package/dist/delivery/reception-observation.d.ts.map +1 -1
  132. package/dist/delivery/reception-observation.js +14 -3
  133. package/dist/delivery/reception-observation.js.map +1 -1
  134. package/dist/delivery/sharded-work-registry.d.ts +6 -0
  135. package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
  136. package/dist/delivery/sharded-work-registry.js +41 -4
  137. package/dist/delivery/sharded-work-registry.js.map +1 -1
  138. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  139. package/dist/entity/entity-storage-descriptor.js +7 -4
  140. package/dist/entity/entity-storage-descriptor.js.map +1 -1
  141. package/dist/index.d.ts +4 -2
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +2 -1
  144. package/dist/index.js.map +1 -1
  145. package/dist/integration/external-messages.d.ts.map +1 -1
  146. package/dist/integration/external-messages.js +9 -15
  147. package/dist/integration/external-messages.js.map +1 -1
  148. package/dist/integration/integration-broker.d.ts.map +1 -1
  149. package/dist/integration/integration-broker.js +112 -6
  150. package/dist/integration/integration-broker.js.map +1 -1
  151. package/dist/integration/third-party-context.d.ts.map +1 -1
  152. package/dist/integration/third-party-context.js +7 -10
  153. package/dist/integration/third-party-context.js.map +1 -1
  154. package/dist/repository/primitive-id.js +26 -11
  155. package/dist/repository/primitive-id.js.map +1 -1
  156. package/dist/repository/repository.d.ts +32 -60
  157. package/dist/repository/repository.d.ts.map +1 -1
  158. package/dist/repository/repository.js +1446 -1787
  159. package/dist/repository/repository.js.map +1 -1
  160. package/dist/runtime/runtime.d.ts +13 -0
  161. package/dist/runtime/runtime.d.ts.map +1 -1
  162. package/dist/runtime/runtime.js +18 -0
  163. package/dist/runtime/runtime.js.map +1 -1
  164. package/dist/runtime/signal-metadata.d.ts.map +1 -1
  165. package/dist/runtime/signal-metadata.js +6 -6
  166. package/dist/runtime/signal-metadata.js.map +1 -1
  167. package/dist/runtime/signal-publisher.d.ts +0 -6
  168. package/dist/runtime/signal-publisher.d.ts.map +1 -1
  169. package/dist/runtime/signal-publisher.js +1 -9
  170. package/dist/runtime/signal-publisher.js.map +1 -1
  171. package/dist/runtime/standalone-handler-runtime.d.ts +0 -7
  172. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
  173. package/dist/runtime/standalone-handler-runtime.js +13 -99
  174. package/dist/runtime/standalone-handler-runtime.js.map +1 -1
  175. package/dist/server/managed-delivery-gate.d.ts +34 -0
  176. package/dist/server/managed-delivery-gate.d.ts.map +1 -0
  177. package/dist/server/managed-delivery-gate.js +70 -0
  178. package/dist/server/managed-delivery-gate.js.map +1 -0
  179. package/dist/server/managed-server-application.d.ts.map +1 -1
  180. package/dist/server/managed-server-application.js +7 -4
  181. package/dist/server/managed-server-application.js.map +1 -1
  182. package/dist/server/server-environment.d.ts +203 -25
  183. package/dist/server/server-environment.d.ts.map +1 -1
  184. package/dist/server/server-environment.js +661 -133
  185. package/dist/server/server-environment.js.map +1 -1
  186. package/dist/server/server-log.d.ts +7 -0
  187. package/dist/server/server-log.d.ts.map +1 -1
  188. package/dist/server/server-log.js +14 -1
  189. package/dist/server/server-log.js.map +1 -1
  190. package/dist/server/server.d.ts +18 -32
  191. package/dist/server/server.d.ts.map +1 -1
  192. package/dist/server/server.js +50 -204
  193. package/dist/server/server.js.map +1 -1
  194. package/dist/services/spine-services.d.ts +1 -1
  195. package/dist/services/spine-services.d.ts.map +1 -1
  196. package/dist/services/spine-services.js +236 -335
  197. package/dist/services/spine-services.js.map +1 -1
  198. package/dist/stand/event-origin-filter.js +3 -3
  199. package/dist/stand/event-origin-filter.js.map +1 -1
  200. package/dist/stand/stand.d.ts +14 -0
  201. package/dist/stand/stand.d.ts.map +1 -1
  202. package/dist/stand/stand.js +53 -9
  203. package/dist/stand/stand.js.map +1 -1
  204. package/dist/stand/subscription-observer.d.ts.map +1 -1
  205. package/dist/stand/subscription-observer.js +54 -40
  206. package/dist/stand/subscription-observer.js.map +1 -1
  207. package/dist/stand/subscription-registry.d.ts +6 -2
  208. package/dist/stand/subscription-registry.d.ts.map +1 -1
  209. package/dist/stand/subscription-registry.js +15 -11
  210. package/dist/stand/subscription-registry.js.map +1 -1
  211. package/dist/stand/subscription-runtime.d.ts +5 -3
  212. package/dist/stand/subscription-runtime.d.ts.map +1 -1
  213. package/dist/stand/subscription-runtime.js +52 -9
  214. package/dist/stand/subscription-runtime.js.map +1 -1
  215. package/dist/testing/index.d.ts.map +1 -1
  216. package/dist/testing/index.js +4 -3
  217. package/dist/testing/index.js.map +1 -1
  218. package/dist/tsconfig.tsbuildinfo +1 -1
  219. package/package.json +14 -14
  220. package/dist/agent/agent-admission.d.ts +0 -80
  221. package/dist/agent/agent-admission.d.ts.map +0 -1
  222. package/dist/agent/agent-admission.js +0 -127
  223. package/dist/agent/agent-admission.js.map +0 -1
  224. package/dist/agent/agent-ai-runtime.d.ts +0 -76
  225. package/dist/agent/agent-ai-runtime.d.ts.map +0 -1
  226. package/dist/agent/agent-ai-runtime.js +0 -1269
  227. package/dist/agent/agent-ai-runtime.js.map +0 -1
  228. package/dist/agent/agent-execution-fault.d.ts +0 -18
  229. package/dist/agent/agent-execution-fault.d.ts.map +0 -1
  230. package/dist/agent/agent-execution-fault.js.map +0 -1
  231. package/dist/agent/agent-execution-session.d.ts +0 -103
  232. package/dist/agent/agent-execution-session.d.ts.map +0 -1
  233. package/dist/agent/agent-execution-session.js +0 -238
  234. package/dist/agent/agent-execution-session.js.map +0 -1
  235. package/dist/agent/agent-interaction-audit.d.ts +0 -58
  236. package/dist/agent/agent-interaction-audit.d.ts.map +0 -1
  237. package/dist/agent/agent-interaction-audit.js +0 -114
  238. package/dist/agent/agent-interaction-audit.js.map +0 -1
  239. package/dist/agent/agent-interaction-events.d.ts +0 -40
  240. package/dist/agent/agent-interaction-events.d.ts.map +0 -1
  241. package/dist/agent/agent-interaction-events.js +0 -129
  242. package/dist/agent/agent-interaction-events.js.map +0 -1
  243. package/dist/agent/agent-mcp-budget.d.ts +0 -125
  244. package/dist/agent/agent-mcp-budget.d.ts.map +0 -1
  245. package/dist/agent/agent-mcp-budget.js +0 -566
  246. package/dist/agent/agent-mcp-budget.js.map +0 -1
  247. package/dist/agent/agent-mcp-host.d.ts +0 -125
  248. package/dist/agent/agent-mcp-host.d.ts.map +0 -1
  249. package/dist/agent/agent-mcp-host.js.map +0 -1
  250. package/dist/agent/agent-mcp-runtime.d.ts.map +0 -1
  251. package/dist/agent/agent-mcp-runtime.js.map +0 -1
  252. package/dist/agent/agent-read-runtime.d.ts +0 -70
  253. package/dist/agent/agent-read-runtime.d.ts.map +0 -1
  254. package/dist/agent/agent-read-runtime.js +0 -320
  255. package/dist/agent/agent-read-runtime.js.map +0 -1
  256. package/dist/agent/agent-revisions.d.ts +0 -35
  257. package/dist/agent/agent-revisions.d.ts.map +0 -1
  258. package/dist/agent/agent-revisions.js +0 -133
  259. package/dist/agent/agent-revisions.js.map +0 -1
  260. package/dist/agent/agent-scheduler.d.ts +0 -99
  261. package/dist/agent/agent-scheduler.d.ts.map +0 -1
  262. package/dist/agent/agent-scheduler.js +0 -398
  263. package/dist/agent/agent-scheduler.js.map +0 -1
  264. package/dist/bus/saved-dispatcher-binding.d.ts +0 -53
  265. package/dist/bus/saved-dispatcher-binding.d.ts.map +0 -1
  266. package/dist/bus/saved-dispatcher-binding.js.map +0 -1
  267. package/dist/delivery/delivery-run-coordinator.d.ts +0 -218
  268. package/dist/delivery/delivery-run-coordinator.d.ts.map +0 -1
  269. package/dist/delivery/delivery-run-coordinator.js +0 -609
  270. package/dist/delivery/delivery-run-coordinator.js.map +0 -1
  271. package/dist/delivery/parked-delivery-obligations.d.ts +0 -182
  272. package/dist/delivery/parked-delivery-obligations.d.ts.map +0 -1
  273. package/dist/delivery/parked-delivery-obligations.js +0 -390
  274. package/dist/delivery/parked-delivery-obligations.js.map +0 -1
  275. package/dist/server/environment-attachment.d.ts +0 -356
  276. package/dist/server/environment-attachment.d.ts.map +0 -1
  277. package/dist/server/environment-attachment.js +0 -2062
  278. package/dist/server/environment-attachment.js.map +0 -1
  279. package/dist/server/environment-delivery-records.d.ts +0 -77
  280. package/dist/server/environment-delivery-records.d.ts.map +0 -1
  281. package/dist/server/environment-delivery-records.js +0 -282
  282. package/dist/server/environment-delivery-records.js.map +0 -1
  283. package/dist/server/environment-delivery-worker.d.ts +0 -161
  284. package/dist/server/environment-delivery-worker.d.ts.map +0 -1
  285. package/dist/server/environment-delivery-worker.js +0 -973
  286. 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>;
@@ -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,171 +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
- /**
23
- * Callback for a newly available delivery scope.
24
- */
22
+ #shared;
23
+ #onWake;
24
+ #remoteSupervised;
25
25
  #onReady;
26
- /**
27
- * Direct drains admitted before readiness transfer.
28
- */
29
26
  #active = new Set();
27
+ #local = new Set();
28
+ #deferred = new Map();
29
+ #directReplay;
30
+ #closeAttempt;
31
+ #closed = false;
30
32
  /**
31
- * Current readiness transition phase.
32
- */
33
- #mode = "direct";
34
- /**
35
- * Scopes configured for the transfer.
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.
36
38
  */
37
- #configured = new Map();
39
+ constructor(onReady = () => undefined, shared, onWake, remoteSupervised = false) {
40
+ this.#onReady = onReady;
41
+ this.#shared = shared;
42
+ this.#onWake = onWake;
43
+ this.#remoteSupervised = remoteSupervised;
44
+ }
38
45
  /**
39
- * Notifications buffered while direct drains settle.
46
+ * Closes notifications after admitted direct work drains.
47
+ * @returns Completion after direct work and any standalone Delivery close.
40
48
  */
41
- #buffered = new Map();
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;
62
+ }
42
63
  /**
43
- * Whether a transition received an unconfigured scope.
64
+ * Stores a ready route until Agent capacity is available.
65
+ * @param ready Route whose local dispatch was deferred.
44
66
  */
45
- #invalidTransition = false;
67
+ defer(ready) {
68
+ if (!this.#closed)
69
+ this.#deferred.set(InboxHandoff.readyKey(ready), InboxHandoff.cloneReady(ready));
70
+ }
46
71
  /**
47
- * Remote ports installed after a successful transfer.
72
+ * Retries each deferred route after Agent capacity becomes available.
48
73
  */
49
- #ports;
74
+ retryDeferred() {
75
+ const ready = [...this.#deferred.values()];
76
+ this.#deferred.clear();
77
+ for (const route of ready)
78
+ this.notify(route);
79
+ }
50
80
  /**
51
- * Creates a readiness coordinator.
52
- *
53
- * @param onReady Observes routes made ready before ownership is transferred.
81
+ * Sets the complete Entity/projection replay callback before admission.
82
+ * @param onReplay Replays an admitted Inbox message.
54
83
  */
55
- constructor(onReady = () => undefined) {
56
- this.#onReady = onReady;
84
+ configureDirect(onReplay) {
85
+ this.#directReplay = onReplay;
57
86
  }
58
87
  /**
59
- * Sets the observer used before routing takes ownership.
60
- *
61
- * @param onReady Observes routes that become ready.
62
- * @returns Returns a function that removes this observer when still active.
88
+ * Notifies the retained Delivery about an existing durable route.
89
+ * @param ready Route to check after its eligibility changes.
63
90
  */
64
- onReady(onReady) {
65
- if (this.#mode === "routed") {
66
- return () => undefined;
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;
67
97
  }
68
- this.#onReady = onReady;
69
- return () => {
70
- if (this.#onReady === onReady) {
71
- this.#onReady = () => undefined;
72
- }
73
- };
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);
74
104
  }
75
105
  /**
76
- * Acquires readiness ownership for a persisted route.
77
- *
78
- * @param ready Describes the route when persistence made it ready.
79
- * @returns Returns a claim that must be completed or abandoned.
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.
80
109
  */
81
110
  claim(ready) {
82
- if (this.#mode === "direct") {
83
- const handoff = this.#directHandoff();
84
- if (ready !== undefined) {
85
- this.#notify(ready);
86
- }
87
- return handoff;
88
- }
89
- if (ready !== undefined) {
90
- if (this.#mode === "transition") {
91
- const key = InboxHandoff.readyKey(ready);
92
- if (this.#configured.has(key)) {
93
- this.#buffered.set(key, InboxHandoff.cloneReady(ready));
94
- }
95
- else {
96
- this.#invalidTransition = true;
97
- }
98
- }
99
- else if (this.#mode === "routed") {
100
- this.#notify(ready);
101
- }
111
+ if (this.#remoteSupervised && this.#shared !== undefined) {
112
+ if (ready !== undefined)
113
+ this.notify(ready);
114
+ return settledHandoff;
102
115
  }
103
- return settledHandoff;
116
+ const handoff = this.#directHandoff();
117
+ if (ready !== undefined)
118
+ this.#notifyStandalone(ready);
119
+ return handoff;
104
120
  }
105
121
  /**
106
- * Routes a context-created delivery through the attached environment ports.
107
- *
108
- * Direct local delivery remains unchanged. Once ownership is transferred,
109
- * inbox writes and workers must use the same environment-owned facility.
110
- *
111
- * @param delivery Supplies the context-created delivery configuration.
112
- * @returns The delivery selected for the current ownership mode.
113
- * @internal
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.
114
125
  */
115
126
  route(delivery) {
116
- const ports = this.#ports;
117
- if (ports === undefined)
118
- return delivery;
119
- return new Delivery({
120
- context: delivery.context,
121
- storageFactory: delivery.storageFactory,
122
- strategy: delivery.strategy,
123
- node: delivery.node,
124
- pageSize: delivery.pageSize,
125
- inbox: ports.inbox,
126
- workRegistry: ports.workRegistry,
127
- });
128
- }
129
- /**
130
- * Updates readiness ownership to use configured delivery routes.
131
- *
132
- * @param scopes Lists the routes that may receive buffered readiness.
133
- * @param onReady Observes readiness after routed ownership begins.
134
- * @param options Allows an empty configured route set when `allowEmpty` is true.
135
- * @returns A promise that resolves after the readiness transition completes.
136
- */
137
- transition(scopes, onReady, options = {}) {
138
- if (this.#mode !== "direct" && this.#mode !== "failed") {
139
- return Promise.reject(new Error("Delivery readiness ownership is already transferred."));
140
- }
141
- let configured;
142
- try {
143
- configured = InboxHandoff.configuredScopes(scopes, options.allowEmpty === true);
144
- }
145
- catch (error) {
146
- return Promise.resolve().then(() => {
147
- throw error;
148
- });
149
- }
150
- this.#configured = configured;
151
- this.#buffered.clear();
152
- this.#invalidTransition = false;
153
- this.#mode = "transition";
154
- const admitted = [...this.#active];
155
- return Promise.allSettled(admitted).then(() => {
156
- if (this.#invalidTransition) {
157
- this.#buffered.clear();
158
- this.#mode = "failed";
159
- throw new Error("Delivery readiness transition received an unconfigured scope.");
160
- }
161
- this.#onReady = onReady;
162
- this.#ports = options.ports;
163
- this.#mode = "routed";
164
- for (const ready of this.#buffered.values()) {
165
- this.#notify(ready);
166
- }
167
- this.#buffered.clear();
168
- });
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;
169
133
  }
170
134
  #directHandoff() {
171
135
  const gate = Promise.withResolvers();
172
136
  this.#active.add(gate.promise);
173
- let abandoned = false;
174
137
  let completion;
138
+ let abandoned = false;
175
139
  const finish = () => {
176
140
  gate.resolve(undefined);
177
141
  this.#active.delete(gate.promise);
178
142
  };
179
143
  return Object.freeze({
180
144
  complete: (onDrain) => {
181
- if (completion !== undefined) {
145
+ if (completion !== undefined)
182
146
  return completion;
183
- }
184
- if (abandoned) {
147
+ if (abandoned)
185
148
  return settled;
186
- }
187
149
  const shared = Promise.withResolvers();
188
150
  completion = shared.promise;
189
151
  void completion.then(finish, finish);
@@ -198,23 +160,21 @@ export class DeliveryReadiness {
198
160
  return completion;
199
161
  },
200
162
  abandon: () => {
201
- if (completion !== undefined || abandoned) {
163
+ if (completion !== undefined || abandoned)
202
164
  return;
203
- }
204
165
  abandoned = true;
205
166
  finish();
206
167
  },
207
168
  });
208
169
  }
209
- #notify(ready) {
170
+ #notifyStandalone(ready) {
210
171
  try {
211
172
  const result = Reflect.apply(this.#onReady, undefined, [ready]);
212
- if (InboxHandoff.isPromiseLike(result)) {
173
+ if (InboxHandoff.isPromiseLike(result))
213
174
  void Promise.resolve(result).catch(() => undefined);
214
- }
215
175
  }
216
176
  catch {
217
- // Readiness observation cannot alter durable receive or exact-drain outcomes.
177
+ // A standalone observer cannot reverse a durable Inbox write.
218
178
  }
219
179
  }
220
180
  }
@@ -236,16 +196,6 @@ export const InboxHandoff = Object.freeze({
236
196
  shard: new ShardIndex(endpoint.shard.index, endpoint.shard.ofTotal),
237
197
  });
238
198
  },
239
- configuredScopes(scopes, allowEmpty) {
240
- const configured = new Map();
241
- for (const scope of scopes) {
242
- configured.set(InboxHandoff.readyKey(scope), InboxHandoff.cloneReady(scope));
243
- }
244
- if (configured.size === 0 && !allowEmpty) {
245
- throw new Error("Delivery readiness transition requires configured scopes.");
246
- }
247
- return configured;
248
- },
249
199
  readyKey(ready) {
250
200
  return JSON.stringify([
251
201
  tenantKey(ready.tenantId),
@@ -295,17 +245,25 @@ export const InboxHandoff = Object.freeze({
295
245
  },
296
246
  async drainAttempt(options) {
297
247
  const direct = await options.delivery.drainMessage(options.received, InboxHandoff.drainInput(options));
298
- if (direct.acknowledged ||
299
- (await options.delivery.inbox.readMessage(options.received.id))?.status === "DELIVERED")
248
+ if (direct.outcome?.kind === "acknowledged")
249
+ return "ACKNOWLEDGED";
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")
300
260
  return "ACKNOWLEDGED";
301
- const failure = direct.run.failures.find(({ message }) => InboxHandoff.sameDelivery(message, options.received));
261
+ const failure = run.failures.find(({ message }) => InboxHandoff.sameDelivery(message, options.received));
302
262
  if (failure !== undefined)
303
263
  throw InboxHandoff.replayFailure(failure.error, options.replayFailureMessage);
304
- if (direct.run.status === "SKIPPED")
264
+ if (run.status === "SKIPPED")
305
265
  throw new Error(options.skippedMessage);
306
- return direct.run.accepted === 0 && direct.run.delivered === 0 && direct.run.failed === 0
307
- ? "IDLE"
308
- : "RETRY";
266
+ return run.accepted === 0 && run.delivered === 0 && run.failed === 0 ? "IDLE" : "RETRY";
309
267
  },
310
268
  drainInput(options) {
311
269
  return {
@@ -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;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,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;CAiIzB;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,6 +13,7 @@
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";
17
18
  import { receptionObservation } from "../delivery/reception-observation.js";
18
19
  import { ShardIndex } from "../delivery/shard-index.js";
@@ -26,7 +27,7 @@ export class LocalProjectionInbox {
26
27
  #targets = new Map();
27
28
  #endpoints = new Map();
28
29
  #readiness;
29
- #keepTenant;
30
+ #onAdmit;
30
31
  #inFlightHandoffs = new Map();
31
32
  #inFlightMessageIds = new Set();
32
33
  #acknowledgedMessageIds = new Set();
@@ -35,13 +36,13 @@ export class LocalProjectionInbox {
35
36
  * Creates a local projection inbox.
36
37
  * @param contextName Names the bounded context that owns this inbox.
37
38
  * @param readiness Coordinates delivery readiness after persistence.
38
- * @param keepTenant Records a tenant before its message is persisted.
39
+ * @param onAdmit Checks current tenant membership before persistence or replay.
39
40
  */
40
- constructor(contextName, readiness = new DeliveryReadiness(), keepTenant = () => Promise.resolve()) {
41
+ constructor(contextName, readiness = new DeliveryReadiness(), onAdmit = () => Promise.resolve()) {
41
42
  this.#contextName = contextName;
42
43
  this.#readiness =
43
44
  readiness instanceof DeliveryReadiness ? readiness : new DeliveryReadiness(readiness);
44
- this.#keepTenant = keepTenant;
45
+ this.#onAdmit = onAdmit;
45
46
  }
46
47
  /**
47
48
  * Registers a target that replays projection messages.
@@ -89,8 +90,7 @@ export class LocalProjectionInbox {
89
90
  });
90
91
  }
91
92
  async #receiveAndDrain(delivery, input, deliveryTenantId) {
92
- if (deliveryTenantId !== undefined)
93
- await this.#keepTenant(deliveryTenantId);
93
+ await this.#onAdmit(deliveryTenantId);
94
94
  const written = await this.#writeInboxRow(delivery, input);
95
95
  this.#trackMessage(written.message);
96
96
  try {
@@ -128,8 +128,9 @@ export class LocalProjectionInbox {
128
128
  received: message,
129
129
  node: this.#contextName,
130
130
  onReplay: (next) => this.#replay(next, deliveryTenantId),
131
- acceptMessage: (next) => InboxHandoff.sameMessageId(next.id, message.id) ||
132
- (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))),
133
134
  onResolved: (next) => {
134
135
  this.#recordAcknowledgement(next);
135
136
  },
@@ -161,6 +162,7 @@ export class LocalProjectionInbox {
161
162
  async #replay(message, deliveryTenantId) {
162
163
  receptionObservation.markManaged();
163
164
  _a.#assert(message);
165
+ await this.#onAdmit(deliveryTenantId);
164
166
  const target = this.#targets.get(message.inboxId.targetTypeUrl);
165
167
  if (target === undefined) {
166
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":"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"}