@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
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Result of one Agent-specific admission inside ordinary Inbox delivery.
3
+ */
4
+ export type AgentDeliveryOutcome = {
5
+ /**
6
+ * Indicates capacity deferral before receipt admission.
7
+ */
8
+ readonly kind: "deferred";
9
+ } | {
10
+ /**
11
+ * Indicates a provider error that must not acknowledge the row.
12
+ */
13
+ readonly kind: "error";
14
+ /**
15
+ * Original provider or admission error.
16
+ */
17
+ readonly error: unknown;
18
+ } | {
19
+ /**
20
+ * Indicates a previously accepted exact signal.
21
+ */
22
+ readonly kind: "duplicate";
23
+ } | {
24
+ /**
25
+ * Indicates a newly accepted exact signal.
26
+ */
27
+ readonly kind: "accepted";
28
+ /**
29
+ * Executes the admitted live turn after Inbox acknowledgement.
30
+ *
31
+ * @param signal Cancellation signal for the admitted turn.
32
+ * @param checkSession Validates the current shard session before commit.
33
+ * @returns Completion of the admitted Agent turn.
34
+ */
35
+ readonly run: (signal: AbortSignal, checkSession: () => Promise<void>) => Promise<void>;
36
+ /**
37
+ * Clears the capacity reservation when acknowledgement does not complete.
38
+ */
39
+ readonly discard: () => void;
40
+ };
41
+ interface AgentDeliveryScopeAccess {
42
+ /**
43
+ * Executes one endpoint callback inside its exact Agent outcome scope.
44
+ *
45
+ * @param onDispatch Endpoint callback to run in the scoped context.
46
+ * @param signal Cancellation signal for this delivery attempt.
47
+ * @returns Recorded Agent outcome, when the endpoint admitted one.
48
+ */
49
+ run(onDispatch: () => Promise<void>, signal: AbortSignal): Promise<AgentDeliveryOutcome | undefined>;
50
+ /**
51
+ * Returns the current delivery cancellation fence.
52
+ * @returns Cancellation signal for the current delivery attempt, if present.
53
+ */
54
+ signal(): AbortSignal | undefined;
55
+ /**
56
+ * Records the exact Agent admission outcome.
57
+ * @param outcome Exact admission outcome for the current delivery attempt.
58
+ */
59
+ record(outcome: AgentDeliveryOutcome): void;
60
+ }
61
+ /**
62
+ * Carries an internal Agent outcome through the existing void endpoint callback.
63
+ */
64
+ export declare const AgentDeliveryScope: AgentDeliveryScopeAccess;
65
+ export {};
66
+ //# sourceMappingURL=agent-delivery-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-delivery-scope.d.ts","sourceRoot":"","sources":["../../src/delivery/agent-delivery-scope.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC3B,GACD;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;CACzB,GACD;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;CAC5B,GACD;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAE1B;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAExF;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AASN,UAAU,wBAAwB;IAChC;;;;;;OAMG;IACH,GAAG,CACD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC/B,MAAM,EAAE,WAAW,GAClB,OAAO,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAE7C;;;OAGG;IACH,MAAM,IAAI,WAAW,GAAG,SAAS,CAAC;IAElC;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC7C;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,wBA6B/B,CAAC"}
@@ -0,0 +1,44 @@
1
+ /*
2
+ * Copyright 2026, CodeMatters. All rights reserved.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5
+ * in compliance with the License. You may obtain a copy of the License at
6
+ *
7
+ * https://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
10
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11
+ * or implied. See the License for the specific language governing permissions and limitations under
12
+ * the License.
13
+ */
14
+ import { AsyncLocalStorage } from "node:async_hooks";
15
+ const dispatches = new AsyncLocalStorage();
16
+ /**
17
+ * Carries an internal Agent outcome through the existing void endpoint callback.
18
+ */
19
+ export const AgentDeliveryScope = Object.freeze({
20
+ /**
21
+ * Executes one endpoint callback and returns its Agent outcome, if one was recorded.
22
+ */
23
+ async run(onDispatch, signal) {
24
+ const scoped = { signal };
25
+ await dispatches.run(scoped, onDispatch);
26
+ return scoped.value;
27
+ },
28
+ /**
29
+ * Returns the cancellation fence for the current ordinary delivery attempt.
30
+ */
31
+ signal() {
32
+ return dispatches.getStore()?.signal;
33
+ },
34
+ /**
35
+ * Records one Agent admission result for the current ordinary delivery attempt.
36
+ */
37
+ record(outcome) {
38
+ const scoped = dispatches.getStore();
39
+ if (scoped === undefined || scoped.value !== undefined)
40
+ throw new Error("Agent admission requires one current delivery attempt.");
41
+ scoped.value = outcome;
42
+ },
43
+ });
44
+ //# sourceMappingURL=agent-delivery-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-delivery-scope.js","sourceRoot":"","sources":["../../src/delivery/agent-delivery-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAuDrD,MAAM,UAAU,GAAG,IAAI,iBAAiB,EAAiB,CAAC;AA4B1D;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAA6B,MAAM,CAAC,MAAM,CAAC;IACxE;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,UAA+B,EAC/B,MAAmB;QAEnB,MAAM,MAAM,GAAkB,EAAE,MAAM,EAAE,CAAC;QACzC,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,OAAO,UAAU,CAAC,QAAQ,EAAE,EAAE,MAAM,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,OAA6B;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YACpD,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,GAAG,OAAO,CAAC;IACzB,CAAC;CACF,CAAC,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { Any } from "@bufbuild/protobuf/wkt";
2
2
  import type { StorageContext, StorageFactory } from "@spine-event-engine/storage";
3
3
  import type { WorkerId } from "@spine-event-engine/proto/delivery";
4
- import { type OnDeliveryMessage } from "./delivery.js";
4
+ import { Delivery as CoreDelivery, type OnDeliveryMessage } from "./delivery.js";
5
5
  import { DeliveryMonitor } from "./delivery-monitor.js";
6
6
  import type { DeliveryInbox, DeliveryWorkRegistry } from "./delivery-ports.js";
7
7
  import type { DeliveryControlledRun } from "./delivery-run-control.js";
@@ -17,6 +17,19 @@ export interface DeliveryControls {
17
17
  * @returns Its controlled runner, if present.
18
18
  */
19
19
  runner(delivery: Delivery): ((options: DeliveryControlledRun) => Promise<DeliveryResult>) | undefined;
20
+ /**
21
+ * Finds the active-run wake callback for a builder-created delivery.
22
+ *
23
+ * @param delivery Retained Delivery instance.
24
+ * @returns The active Delivery wake callback, if one is registered.
25
+ */
26
+ waker(delivery: Delivery): ((shard: ShardIndex) => void) | undefined;
27
+ /**
28
+ * Registers the environment's single retained core for supervised runs.
29
+ * @param core Actual retained Delivery runtime.
30
+ * @returns The controlled facade for that same runtime.
31
+ */
32
+ supervised(core: CoreDelivery): Delivery;
20
33
  }
21
34
  /**
22
35
  * Exposes package-local controls for builder-created deliveries.
@@ -64,6 +77,11 @@ export declare class UniformAcrossAllShards implements DeliveryStrategy {
64
77
  * Number of uniformly distributed shards.
65
78
  */
66
79
  readonly shardCount: number;
80
+ /**
81
+ * Creates a fixed uniform shard strategy.
82
+ *
83
+ * @param shards Positive shard count.
84
+ */
67
85
  private constructor();
68
86
  /**
69
87
  * Determines a stable shard from a target identity.
@@ -213,4 +231,10 @@ export declare class DeliveryBuilder {
213
231
  */
214
232
  build(): Delivery;
215
233
  }
234
+ /**
235
+ * Package-local validated strategy snapshot for the environment Delivery.
236
+ */
237
+ export declare const deliveryStrategyAccess: Readonly<{
238
+ snapshot(strategy: DeliveryStrategy): DeliveryStrategy;
239
+ }>;
216
240
  //# sourceMappingURL=delivery-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-builder.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-builder.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-builder.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,7 @@ const defaultContext = Object.freeze({
23
23
  });
24
24
  const defaultPageSize = 100;
25
25
  const controlledDeliveryRunners = new WeakMap();
26
+ const controlledDeliveryWakers = new WeakMap();
26
27
  /**
27
28
  * Exposes package-local controls for builder-created deliveries.
28
29
  */
@@ -34,6 +35,12 @@ export const deliveryControls = Object.freeze({
34
35
  runner(delivery) {
35
36
  return controlledDeliveryRunners.get(delivery);
36
37
  },
38
+ waker(delivery) {
39
+ return controlledDeliveryWakers.get(delivery);
40
+ },
41
+ supervised(core) {
42
+ return new BuiltDelivery(core);
43
+ },
37
44
  });
38
45
  /**
39
46
  * Places every target in one local shard.
@@ -61,6 +68,11 @@ export class UniformAcrossAllShards {
61
68
  * Number of uniformly distributed shards.
62
69
  */
63
70
  shardCount;
71
+ /**
72
+ * Creates a fixed uniform shard strategy.
73
+ *
74
+ * @param shards Positive shard count.
75
+ */
64
76
  constructor(shards) {
65
77
  if (!Number.isSafeInteger(shards) || shards <= 0) {
66
78
  throw new Error("Delivery shard count must be a positive safe integer.");
@@ -106,6 +118,8 @@ export class DeliveryBuilder {
106
118
  * @returns This builder.
107
119
  */
108
120
  withContext(context) {
121
+ if (context.multitenant)
122
+ throw new TypeError("Delivery requires a single-tenant storage context.");
109
123
  this.#context = DeliveryValues.snapshotContext(context);
110
124
  return this;
111
125
  }
@@ -240,6 +254,9 @@ export class DeliveryBuilder {
240
254
  return new BuiltDelivery(core);
241
255
  }
242
256
  }
257
+ /**
258
+ * Exposes one configured Delivery through the public facade.
259
+ */
243
260
  class BuiltDelivery {
244
261
  context;
245
262
  storageFactory;
@@ -249,6 +266,11 @@ class BuiltDelivery {
249
266
  pageSize;
250
267
  inbox;
251
268
  #core;
269
+ /**
270
+ * Captures the configured core without changing its run lifetime.
271
+ *
272
+ * @param core Complete configured Delivery core.
273
+ */
252
274
  constructor(core) {
253
275
  this.#core = core;
254
276
  this.context = core.context;
@@ -259,8 +281,17 @@ class BuiltDelivery {
259
281
  this.pageSize = core.pageSize;
260
282
  this.inbox = core.inbox;
261
283
  controlledDeliveryRunners.set(this, (options) => core.runControlled(options));
284
+ controlledDeliveryWakers.set(this, (shard) => {
285
+ core.wake(shard);
286
+ });
262
287
  Object.freeze(this);
263
288
  }
289
+ /**
290
+ * Executes one finite shard delivery through the configured core.
291
+ *
292
+ * @param options Shard and endpoint callback for this run.
293
+ * @returns Terminal finite-run result.
294
+ */
264
295
  run(options) {
265
296
  return this.#core.run(options);
266
297
  }
@@ -269,16 +300,35 @@ class BuiltDelivery {
269
300
  * Groups immutable delivery configuration operations.
270
301
  */
271
302
  const DeliveryValues = Object.freeze({
303
+ /**
304
+ * Validates the physical shard count of a configured strategy.
305
+ *
306
+ * @param strategy Strategy to validate.
307
+ * @returns The validated strategy.
308
+ */
272
309
  requireStrategy(strategy) {
273
310
  if (!Number.isSafeInteger(strategy.shardCount) || strategy.shardCount <= 0) {
274
311
  throw new Error("Delivery strategy shard count must be a positive safe integer.");
275
312
  }
276
313
  return strategy;
277
314
  },
315
+ /**
316
+ * Captures a strategy while preserving its shard decision.
317
+ *
318
+ * @param strategy Strategy to snapshot.
319
+ * @returns Detached uniform strategy snapshot.
320
+ */
278
321
  snapshotStrategy(strategy) {
279
322
  const shardCount = this.requireStrategy(strategy).shardCount;
280
323
  return Object.freeze({
281
324
  shardCount,
325
+ /**
326
+ * Maps a typed target to its configured shard.
327
+ *
328
+ * @param targetId Typed delivery target identifier.
329
+ * @param targetType Declared target type URL.
330
+ * @returns Stable shard selected by the original strategy.
331
+ */
282
332
  shardFor(targetId, targetType) {
283
333
  const shard = strategy.shardFor(InboxTargets.clone(targetId), targetType);
284
334
  if (shard.ofTotal !== shardCount) {
@@ -288,6 +338,12 @@ const DeliveryValues = Object.freeze({
288
338
  },
289
339
  });
290
340
  },
341
+ /**
342
+ * Calculates a stable unsigned hash for a target key.
343
+ *
344
+ * @param value Canonical target key.
345
+ * @returns Stable unsigned hash.
346
+ */
291
347
  hash(value) {
292
348
  let result = 0;
293
349
  for (const character of value) {
@@ -295,6 +351,14 @@ const DeliveryValues = Object.freeze({
295
351
  }
296
352
  return result;
297
353
  },
354
+ /**
355
+ * Checks one positive bounded configuration value.
356
+ *
357
+ * @param name Name reported for invalid configuration.
358
+ * @param value Supplied configuration value.
359
+ * @param max Maximum accepted value.
360
+ * @returns The validated positive value.
361
+ */
298
362
  requireBound(name, value, max) {
299
363
  if (!Number.isSafeInteger(value) || value <= 0) {
300
364
  throw new Error(`${name} must be a positive safe integer.`);
@@ -304,12 +368,24 @@ const DeliveryValues = Object.freeze({
304
368
  }
305
369
  return value;
306
370
  },
371
+ /**
372
+ * Captures a valid storage context without caller mutation.
373
+ *
374
+ * @param context Storage context to validate.
375
+ * @returns Detached storage context.
376
+ */
307
377
  snapshotContext(context) {
308
378
  if (typeof context.name !== "string" || context.name.length === 0) {
309
379
  throw new Error("Delivery storage context name must be a non-empty string.");
310
380
  }
311
381
  return Object.freeze({ ...context });
312
382
  },
383
+ /**
384
+ * Captures a worker with its required node identifier.
385
+ *
386
+ * @param worker Delivery worker to validate.
387
+ * @returns Detached worker identifier.
388
+ */
313
389
  snapshotWorker(worker) {
314
390
  const nodeId = worker.nodeId;
315
391
  if (nodeId === undefined)
@@ -320,4 +396,17 @@ const DeliveryValues = Object.freeze({
320
396
  });
321
397
  },
322
398
  });
399
+ /**
400
+ * Package-local validated strategy snapshot for the environment Delivery.
401
+ */
402
+ export const deliveryStrategyAccess = Object.freeze({
403
+ /**
404
+ * Captures one environment strategy before any context routes targets.
405
+ * @param strategy Configured strategy.
406
+ * @returns Detached target-safe strategy.
407
+ */
408
+ snapshot(strategy) {
409
+ return DeliveryValues.snapshotStrategy(strategy);
410
+ },
411
+ });
323
412
  //# sourceMappingURL=delivery-builder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-builder.js","sourceRoot":"","sources":["../../src/delivery/delivery-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-builder.js","sourceRoot":"","sources":["../../src/delivery/delivery-builder.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
1
  import type { InboxMessage } from "./inbox.js";
2
2
  import type { ShardIndex } from "./shard-index.js";
3
3
  /**
4
- * Executes a monitor-selected asynchronous reception outcome.
4
+ * Executes a monitor-selected asynchronous reception outcome. A normal return
5
+ * completes delivery and the enclosing delivery stage acknowledges the row.
5
6
  */
6
7
  export interface ReceptionAction {
7
8
  /**
8
9
  * Executes the selected reception outcome.
9
10
  *
10
- * @returns A promise that settles when the outcome has completed.
11
+ * @returns A promise that settles when the outcome has completed; rejection propagates.
11
12
  */
12
13
  execute(): Promise<void>;
13
14
  }
@@ -31,12 +32,12 @@ export declare class FailedReception {
31
32
  private readonly mark;
32
33
  private readonly repeat;
33
34
  /**
34
- * Creates facts and fallback actions for a failed reception.
35
+ * Creates facts and actions for a failed reception.
35
36
  *
36
37
  * @param message The message whose dispatch failed.
37
38
  * @param error The dispatch failure.
38
39
  * @param mark Marks the message delivered under the current shard session.
39
- * @param repeat Repeats dispatch once under the current shard session.
40
+ * @param repeat Repeats processing under the current shard session.
40
41
  */
41
42
  constructor(message: InboxMessage, error: unknown, mark: () => Promise<void>, repeat: () => Promise<void>);
42
43
  /**
@@ -46,7 +47,7 @@ export declare class FailedReception {
46
47
  */
47
48
  markDelivered(): ReceptionAction;
48
49
  /**
49
- * Returns one immediate repeat of the failed dispatch.
50
+ * Returns an immediate repeat of the failed dispatch.
50
51
  *
51
52
  * @returns The repeat-dispatch action.
52
53
  */
@@ -115,8 +116,10 @@ export interface DeliveryStatistics {
115
116
  * Controls finite delivery failure actions without scheduling retries.
116
117
  *
117
118
  * Subclasses can return direct values or promises from every hook. The default
118
- * reception policy marks the failed row delivered so independent targets keep
119
- * draining; it never persists attempts, receipts, markers, or quarantine data.
119
+ * reception policy marks a failed row delivered. A custom action that completes
120
+ * normally also completes delivery and the enclosing stage acknowledges the row.
121
+ * It never persists attempts,
122
+ * receipts, markers, or quarantine data.
120
123
  */
121
124
  export declare class DeliveryMonitor {
122
125
  /**
@@ -141,9 +144,9 @@ export declare class DeliveryMonitor {
141
144
  */
142
145
  onDeliveryCompleted(statistics: DeliveryStatistics): void | Promise<void>;
143
146
  /**
144
- * Returns an action after endpoint dispatch or acknowledgement fails.
147
+ * Returns an action after a handler or its output/transition validation fails.
145
148
  *
146
- * @param reception The failure facts and one-shot actions.
149
+ * @param reception The failure facts and actions; a failed repeat calls this hook again.
147
150
  * @returns The selected asynchronous reception action.
148
151
  */
149
152
  onReceptionFailure(reception: FailedReception): ReceptionAction | Promise<ReceptionAction>;
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-monitor.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-monitor.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;GAEG;AACH,MAAM,WAAW,eAAe;IAG9B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAG3B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAe;IAYxB,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB;;;;;;;OAOG;gBAEQ,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,OAAO,EACN,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAG9C;;;;OAIG;IACH,aAAa,IAAI,eAAe;IAIhC;;;;OAIG;IACH,iBAAiB,IAAI,eAAe;CAGrC;AAED;;GAEG;AACH,qBAAa,YAAY;IAUrB,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO;IARzB;;;;;OAKG;gBAEQ,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,OAAO;IAGzB;;;;OAIG;IACH,IAAI,IAAI,YAAY;CAGrB;AAED;;GAEG;AACH,qBAAa,eAAe;IAQd,QAAQ,CAAC,KAAK,EAAE,UAAU;IALtC;;;;OAIG;gBACkB,KAAK,EAAE,UAAU;IAEtC;;;;OAIG;IACH,IAAI,IAAI,YAAY;CAGrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAGjC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;GAMG;AACH,qBAAa,eAAe;IAG1B;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrE;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAI1F;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjF;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAGrF"}
1
+ {"version":3,"file":"delivery-monitor.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-monitor.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,eAAe;IAG9B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAG3B;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAe;IAYxB,QAAQ,CAAC,OAAO,EAAE,YAAY;IAC9B,QAAQ,CAAC,KAAK,EAAE,OAAO;IACvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAZzB;;;;;;;OAOG;gBAEQ,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,OAAO,EACN,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EACzB,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAG9C;;;;OAIG;IACH,aAAa,IAAI,eAAe;IAMhC;;;;OAIG;IACH,iBAAiB,IAAI,eAAe;CAKrC;AAED;;GAEG;AACH,qBAAa,YAAY;IAUrB,QAAQ,CAAC,KAAK,EAAE,UAAU;IAC1B,QAAQ,CAAC,KAAK,EAAE,OAAO;IARzB;;;;;OAKG;gBAEQ,KAAK,EAAE,UAAU,EACjB,KAAK,EAAE,OAAO;IAGzB;;;;OAIG;IACH,IAAI,IAAI,YAAY;CAGrB;AAED;;GAEG;AACH,qBAAa,eAAe;IAQd,QAAQ,CAAC,KAAK,EAAE,UAAU;IALtC;;;;OAIG;gBACkB,KAAK,EAAE,UAAU;IAEtC;;;;OAIG;IACH,IAAI,IAAI,YAAY;CAGrB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAGjC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,eAAe;IAG1B;;;;;OAKG;IACH,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKrE;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1D;;;;;OAKG;IACH,mBAAmB,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzE;;;;;OAKG;IACH,kBAAkB,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;IAI1F;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAIjF;;;;;OAKG;IACH,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;CAGrF"}
@@ -21,12 +21,12 @@ export class FailedReception {
21
21
  repeat;
22
22
  // prettier-ignore
23
23
  /**
24
- * Creates facts and fallback actions for a failed reception.
24
+ * Creates facts and actions for a failed reception.
25
25
  *
26
26
  * @param message The message whose dispatch failed.
27
27
  * @param error The dispatch failure.
28
28
  * @param mark Marks the message delivered under the current shard session.
29
- * @param repeat Repeats dispatch once under the current shard session.
29
+ * @param repeat Repeats processing under the current shard session.
30
30
  */
31
31
  constructor(message, error, mark, repeat) {
32
32
  this.message = message;
@@ -40,15 +40,19 @@ export class FailedReception {
40
40
  * @returns The acknowledgement action.
41
41
  */
42
42
  markDelivered() {
43
- return Object.freeze({ execute: this.mark });
43
+ return Object.freeze({
44
+ execute: () => this.mark(),
45
+ });
44
46
  }
45
47
  /**
46
- * Returns one immediate repeat of the failed dispatch.
48
+ * Returns an immediate repeat of the failed dispatch.
47
49
  *
48
50
  * @returns The repeat-dispatch action.
49
51
  */
50
52
  repeatDispatching() {
51
- return Object.freeze({ execute: this.repeat });
53
+ return Object.freeze({
54
+ execute: () => this.repeat(),
55
+ });
52
56
  }
53
57
  }
54
58
  /**
@@ -104,8 +108,10 @@ export class AlreadyPickedUp {
104
108
  * Controls finite delivery failure actions without scheduling retries.
105
109
  *
106
110
  * Subclasses can return direct values or promises from every hook. The default
107
- * reception policy marks the failed row delivered so independent targets keep
108
- * draining; it never persists attempts, receipts, markers, or quarantine data.
111
+ * reception policy marks a failed row delivered. A custom action that completes
112
+ * normally also completes delivery and the enclosing stage acknowledges the row.
113
+ * It never persists attempts,
114
+ * receipts, markers, or quarantine data.
109
115
  */
110
116
  export class DeliveryMonitor {
111
117
  // prettier-ignore
@@ -138,9 +144,9 @@ export class DeliveryMonitor {
138
144
  void statistics;
139
145
  }
140
146
  /**
141
- * Returns an action after endpoint dispatch or acknowledgement fails.
147
+ * Returns an action after a handler or its output/transition validation fails.
142
148
  *
143
- * @param reception The failure facts and one-shot actions.
149
+ * @param reception The failure facts and actions; a failed repeat calls this hook again.
144
150
  * @returns The selected asynchronous reception action.
145
151
  */
146
152
  onReceptionFailure(reception) {
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-monitor.js","sourceRoot":"","sources":["../../src/delivery/delivery-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiCH;;GAEG;AACH,MAAM,OAAO,eAAe;IAYf;IACA;IACQ;IACA;IAdnB,kBAAkB;IAElB;;;;;;;OAOG;IACH,YACW,OAAqB,EACrB,KAAc,EACN,IAAyB,EACzB,MAA2B;QAHnC,YAAO,GAAP,OAAO,CAAc;QACrB,UAAK,GAAL,KAAK,CAAS;QACN,SAAI,GAAJ,IAAI,CAAqB;QACzB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ;;;;OAIG;IACH,aAAa;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IAUZ;IACA;IAVX,kBAAkB;IAElB;;;;;OAKG;IACH,YACW,KAAiB,EACjB,KAAc;QADd,UAAK,GAAL,KAAK,CAAY;QACjB,UAAK,GAAL,KAAK,CAAS;IACtB,CAAC;IAEJ;;;;OAIG;IACH,IAAI;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAQL;IAPrB,kBAAkB;IAElB;;;;OAIG;IACH,YAAqB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAG,CAAC;IAE1C;;;;OAIG;IACH,IAAI;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AA6BD;;;;;;GAMG;AACH,MAAM,OAAO,eAAe;IAC1B,kBAAkB;IAElB;;;;;OAKG;IACH,mBAAmB,CAAC,KAAoB;QACtC,KAAK,KAAK,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,KAAiB;QACjC,KAAK,KAAK,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,UAA8B;QAChD,KAAK,UAAU,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,SAA0B;QAC3C,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,OAAqB;QACxC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,OAAwB;QAC3C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACF"}
1
+ {"version":3,"file":"delivery-monitor.js","sourceRoot":"","sources":["../../src/delivery/delivery-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAkCH;;GAEG;AACH,MAAM,OAAO,eAAe;IAYf;IACA;IACQ;IACA;IAdnB,kBAAkB;IAElB;;;;;;;OAOG;IACH,YACW,OAAqB,EACrB,KAAc,EACN,IAAyB,EACzB,MAA2B;QAHnC,YAAO,GAAP,OAAO,CAAc;QACrB,UAAK,GAAL,KAAK,CAAS;QACN,SAAI,GAAJ,IAAI,CAAqB;QACzB,WAAM,GAAN,MAAM,CAAqB;IAC3C,CAAC;IAEJ;;;;OAIG;IACH,aAAa;QACX,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE;SAC3B,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,iBAAiB;QACf,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,YAAY;IAUZ;IACA;IAVX,kBAAkB;IAElB;;;;;OAKG;IACH,YACW,KAAiB,EACjB,KAAc;QADd,UAAK,GAAL,KAAK,CAAY;QACjB,UAAK,GAAL,KAAK,CAAS;IACtB,CAAC;IAEJ;;;;OAIG;IACH,IAAI;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,eAAe;IAQL;IAPrB,kBAAkB;IAElB;;;;OAIG;IACH,YAAqB,KAAiB;QAAjB,UAAK,GAAL,KAAK,CAAY;IAAG,CAAC;IAE1C;;;;OAIG;IACH,IAAI;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AA6BD;;;;;;;;GAQG;AACH,MAAM,OAAO,eAAe;IAC1B,kBAAkB;IAElB;;;;;OAKG;IACH,mBAAmB,CAAC,KAAoB;QACtC,KAAK,KAAK,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,KAAiB;QACjC,KAAK,KAAK,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,UAA8B;QAChD,KAAK,UAAU,CAAC;IAClB,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,SAA0B;QAC3C,OAAO,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,OAAqB;QACxC,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACH,oBAAoB,CAAC,OAAwB;QAC3C,OAAO,OAAO,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;CACF"}
@@ -56,30 +56,23 @@ export interface DeliveryInbox {
56
56
  */
57
57
  markDelivered(message: InboxMessage, options?: DeliveryOperationOptions): Promise<InboxMessage | undefined>;
58
58
  /**
59
- * Removes one exact pending duplicate while the supplied shard session remains current.
59
+ * Removes one pending duplicate by storage ID after delivery selects it.
60
60
  *
61
61
  * @param message Supplies the pending duplicate snapshot.
62
- * @param session Supplies the session that currently holds the message shard.
63
62
  * @param options Propagates cancellation and a delivery deadline.
64
- * @returns Whether the adapter removed the exact pending snapshot.
63
+ * @returns Whether the adapter deleted the ID.
65
64
  */
66
- removeDuplicate(message: InboxMessage, session: DeliveryWorkSession, options?: DeliveryOperationOptions): Promise<boolean>;
65
+ removeDuplicate(message: InboxMessage, options?: DeliveryOperationOptions): Promise<boolean>;
67
66
  /**
68
- * Removes one delivered snapshot while the supplied shard
69
- * session remains current.
67
+ * Removes one eligible delivered message by storage ID.
70
68
  *
71
- * Built-in direct Inbox storage implements this through its provider-owned
72
- * ownership-and-delete operation. Custom structural ports may omit this
73
- * optional retention capability. A remote adapter may only be able to check
74
- * the snapshot and then issue a separate removal request, so this interface
75
- * does not promise atomic compare-and-delete for every implementation.
69
+ * Custom structural ports may omit this optional retention capability.
76
70
  *
77
71
  * @param message Supplies the expected delivered row snapshot.
78
- * @param session Supplies the currently owned shard session.
79
72
  * @param options Propagates cancellation and a delivery deadline.
80
73
  * @returns Whether the adapter completed its supported removal operation.
81
74
  */
82
- removeDelivered?(message: InboxMessage, session: DeliveryWorkSession, options?: DeliveryOperationOptions): Promise<boolean>;
75
+ removeDelivered?(message: InboxMessage, options?: DeliveryOperationOptions): Promise<boolean>;
83
76
  }
84
77
  /**
85
78
  * Server-owned exclusive shard-work boundary.
@@ -1 +1 @@
1
- {"version":3,"file":"delivery-ports.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-ports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delivery-ports.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-ports.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,wBAAwB;IAGvC;;OAEG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAE9B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAG5B;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAElD;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EAAE,iBAAiB,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEjG;;;;;;OAMG;IACH,IAAI,CACF,KAAK,EAAE,UAAU,EACjB,OAAO,CAAC,EAAE,gBAAgB,GAAG,wBAAwB,GACpD,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IAEpC;;;;;;OAMG;IACH,WAAW,CACT,EAAE,EAAE,cAAc,EAClB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,aAAa,CACX,OAAO,EAAE,YAAY,EACrB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAErC;;;;;;OAMG;IACH,eAAe,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE7F;;;;;;;;OAQG;IACH,eAAe,CAAC,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/F;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IAGnC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAElD;;;;;;;OAOG;IACH,MAAM,CACJ,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,QAAQ,EAChB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,KAAK,CAAC,CACJ,OAAO,EAAE,yBAAyB,EAClC,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC,CAAC;IAElD;;;;;;;;;;OAUG;IACH,iBAAiB,CACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7F;AAED;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAG3C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,yBAAyB,GAAG,4BAA4B,CAAC"}