@spine-event-engine/server 2.0.0-snapshot.11

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 (378) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +209 -0
  3. package/REFERENCE.md +760 -0
  4. package/dist/browser/browser-server.d.ts +95 -0
  5. package/dist/browser/browser-server.d.ts.map +1 -0
  6. package/dist/browser/browser-server.js +719 -0
  7. package/dist/browser/browser-server.js.map +1 -0
  8. package/dist/browser/durable-subscription-bindings.d.ts +122 -0
  9. package/dist/browser/durable-subscription-bindings.d.ts.map +1 -0
  10. package/dist/browser/durable-subscription-bindings.js +524 -0
  11. package/dist/browser/durable-subscription-bindings.js.map +1 -0
  12. package/dist/browser/index.d.ts +12 -0
  13. package/dist/browser/index.d.ts.map +1 -0
  14. package/dist/browser/index.js +24 -0
  15. package/dist/browser/index.js.map +1 -0
  16. package/dist/browser/options.d.ts +183 -0
  17. package/dist/browser/options.d.ts.map +1 -0
  18. package/dist/browser/options.js +15 -0
  19. package/dist/browser/options.js.map +1 -0
  20. package/dist/bus/command-bus.d.ts +63 -0
  21. package/dist/bus/command-bus.d.ts.map +1 -0
  22. package/dist/bus/command-bus.js +236 -0
  23. package/dist/bus/command-bus.js.map +1 -0
  24. package/dist/bus/command-dispatcher-registry.d.ts +33 -0
  25. package/dist/bus/command-dispatcher-registry.d.ts.map +1 -0
  26. package/dist/bus/command-dispatcher-registry.js +75 -0
  27. package/dist/bus/command-dispatcher-registry.js.map +1 -0
  28. package/dist/bus/command-dispatcher.d.ts +25 -0
  29. package/dist/bus/command-dispatcher.d.ts.map +1 -0
  30. package/dist/bus/command-dispatcher.js +15 -0
  31. package/dist/bus/command-dispatcher.js.map +1 -0
  32. package/dist/bus/command-errors.d.ts +23 -0
  33. package/dist/bus/command-errors.d.ts.map +1 -0
  34. package/dist/bus/command-errors.js +52 -0
  35. package/dist/bus/command-errors.js.map +1 -0
  36. package/dist/bus/event-bus.d.ts +113 -0
  37. package/dist/bus/event-bus.d.ts.map +1 -0
  38. package/dist/bus/event-bus.js +518 -0
  39. package/dist/bus/event-bus.js.map +1 -0
  40. package/dist/bus/event-dispatcher-origin-schemas.d.ts +17 -0
  41. package/dist/bus/event-dispatcher-origin-schemas.d.ts.map +1 -0
  42. package/dist/bus/event-dispatcher-origin-schemas.js +32 -0
  43. package/dist/bus/event-dispatcher-origin-schemas.js.map +1 -0
  44. package/dist/bus/event-dispatcher-registry.d.ts +48 -0
  45. package/dist/bus/event-dispatcher-registry.d.ts.map +1 -0
  46. package/dist/bus/event-dispatcher-registry.js +176 -0
  47. package/dist/bus/event-dispatcher-registry.js.map +1 -0
  48. package/dist/bus/event-dispatcher.d.ts +48 -0
  49. package/dist/bus/event-dispatcher.d.ts.map +1 -0
  50. package/dist/bus/event-dispatcher.js +15 -0
  51. package/dist/bus/event-dispatcher.js.map +1 -0
  52. package/dist/context/bounded-context.d.ts +592 -0
  53. package/dist/context/bounded-context.d.ts.map +1 -0
  54. package/dist/context/bounded-context.js +1897 -0
  55. package/dist/context/bounded-context.js.map +1 -0
  56. package/dist/context/entity-inbox.d.ts +63 -0
  57. package/dist/context/entity-inbox.d.ts.map +1 -0
  58. package/dist/context/entity-inbox.js +387 -0
  59. package/dist/context/entity-inbox.js.map +1 -0
  60. package/dist/context/local-inbox-handoff.d.ts +248 -0
  61. package/dist/context/local-inbox-handoff.d.ts.map +1 -0
  62. package/dist/context/local-inbox-handoff.js +340 -0
  63. package/dist/context/local-inbox-handoff.js.map +1 -0
  64. package/dist/context/projection-handoff.d.ts +46 -0
  65. package/dist/context/projection-handoff.d.ts.map +1 -0
  66. package/dist/context/projection-handoff.js +177 -0
  67. package/dist/context/projection-handoff.js.map +1 -0
  68. package/dist/context/tenant-index.d.ts +41 -0
  69. package/dist/context/tenant-index.d.ts.map +1 -0
  70. package/dist/context/tenant-index.js +93 -0
  71. package/dist/context/tenant-index.js.map +1 -0
  72. package/dist/delivery/conditional-pickup.d.ts +25 -0
  73. package/dist/delivery/conditional-pickup.d.ts.map +1 -0
  74. package/dist/delivery/conditional-pickup.js +26 -0
  75. package/dist/delivery/conditional-pickup.js.map +1 -0
  76. package/dist/delivery/delivery-builder.d.ts +216 -0
  77. package/dist/delivery/delivery-builder.d.ts.map +1 -0
  78. package/dist/delivery/delivery-builder.js +323 -0
  79. package/dist/delivery/delivery-builder.js.map +1 -0
  80. package/dist/delivery/delivery-lease.d.ts +15 -0
  81. package/dist/delivery/delivery-lease.d.ts.map +1 -0
  82. package/dist/delivery/delivery-lease.js +44 -0
  83. package/dist/delivery/delivery-lease.js.map +1 -0
  84. package/dist/delivery/delivery-loop.d.ts +113 -0
  85. package/dist/delivery/delivery-loop.d.ts.map +1 -0
  86. package/dist/delivery/delivery-loop.js +119 -0
  87. package/dist/delivery/delivery-loop.js.map +1 -0
  88. package/dist/delivery/delivery-monitor.d.ts +165 -0
  89. package/dist/delivery/delivery-monitor.d.ts.map +1 -0
  90. package/dist/delivery/delivery-monitor.js +168 -0
  91. package/dist/delivery/delivery-monitor.js.map +1 -0
  92. package/dist/delivery/delivery-ports.d.ts +151 -0
  93. package/dist/delivery/delivery-ports.d.ts.map +1 -0
  94. package/dist/delivery/delivery-ports.js +15 -0
  95. package/dist/delivery/delivery-ports.js.map +1 -0
  96. package/dist/delivery/delivery-run-control.d.ts +50 -0
  97. package/dist/delivery/delivery-run-control.d.ts.map +1 -0
  98. package/dist/delivery/delivery-run-control.js +66 -0
  99. package/dist/delivery/delivery-run-control.js.map +1 -0
  100. package/dist/delivery/delivery-run-coordinator.d.ts +218 -0
  101. package/dist/delivery/delivery-run-coordinator.d.ts.map +1 -0
  102. package/dist/delivery/delivery-run-coordinator.js +609 -0
  103. package/dist/delivery/delivery-run-coordinator.js.map +1 -0
  104. package/dist/delivery/delivery-storage-error.d.ts +13 -0
  105. package/dist/delivery/delivery-storage-error.d.ts.map +1 -0
  106. package/dist/delivery/delivery-storage-error.js +30 -0
  107. package/dist/delivery/delivery-storage-error.js.map +1 -0
  108. package/dist/delivery/delivery-supervisor.d.ts +175 -0
  109. package/dist/delivery/delivery-supervisor.d.ts.map +1 -0
  110. package/dist/delivery/delivery-supervisor.js +469 -0
  111. package/dist/delivery/delivery-supervisor.js.map +1 -0
  112. package/dist/delivery/delivery-worker.d.ts +180 -0
  113. package/dist/delivery/delivery-worker.d.ts.map +1 -0
  114. package/dist/delivery/delivery-worker.js +232 -0
  115. package/dist/delivery/delivery-worker.js.map +1 -0
  116. package/dist/delivery/delivery.d.ts +236 -0
  117. package/dist/delivery/delivery.d.ts.map +1 -0
  118. package/dist/delivery/delivery.js +539 -0
  119. package/dist/delivery/delivery.js.map +1 -0
  120. package/dist/delivery/inbox-records.d.ts +19 -0
  121. package/dist/delivery/inbox-records.d.ts.map +1 -0
  122. package/dist/delivery/inbox-records.js +291 -0
  123. package/dist/delivery/inbox-records.js.map +1 -0
  124. package/dist/delivery/inbox-storage.d.ts +83 -0
  125. package/dist/delivery/inbox-storage.d.ts.map +1 -0
  126. package/dist/delivery/inbox-storage.js +336 -0
  127. package/dist/delivery/inbox-storage.js.map +1 -0
  128. package/dist/delivery/inbox.d.ts +272 -0
  129. package/dist/delivery/inbox.d.ts.map +1 -0
  130. package/dist/delivery/inbox.js +183 -0
  131. package/dist/delivery/inbox.js.map +1 -0
  132. package/dist/delivery/parked-delivery-obligations.d.ts +182 -0
  133. package/dist/delivery/parked-delivery-obligations.d.ts.map +1 -0
  134. package/dist/delivery/parked-delivery-obligations.js +390 -0
  135. package/dist/delivery/parked-delivery-obligations.js.map +1 -0
  136. package/dist/delivery/shard-index.d.ts +41 -0
  137. package/dist/delivery/shard-index.d.ts.map +1 -0
  138. package/dist/delivery/shard-index.js +67 -0
  139. package/dist/delivery/shard-index.js.map +1 -0
  140. package/dist/delivery/sharded-work-registry.d.ts +114 -0
  141. package/dist/delivery/sharded-work-registry.d.ts.map +1 -0
  142. package/dist/delivery/sharded-work-registry.js +361 -0
  143. package/dist/delivery/sharded-work-registry.js.map +1 -0
  144. package/dist/entity/entity-metadata.d.ts +173 -0
  145. package/dist/entity/entity-metadata.d.ts.map +1 -0
  146. package/dist/entity/entity-metadata.js +187 -0
  147. package/dist/entity/entity-metadata.js.map +1 -0
  148. package/dist/entity/entity-storage-descriptor.d.ts +64 -0
  149. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -0
  150. package/dist/entity/entity-storage-descriptor.js +227 -0
  151. package/dist/entity/entity-storage-descriptor.js.map +1 -0
  152. package/dist/entity/entity-transaction.d.ts +372 -0
  153. package/dist/entity/entity-transaction.d.ts.map +1 -0
  154. package/dist/entity/entity-transaction.js +413 -0
  155. package/dist/entity/entity-transaction.js.map +1 -0
  156. package/dist/entity/entity-transition-validation.d.ts +47 -0
  157. package/dist/entity/entity-transition-validation.d.ts.map +1 -0
  158. package/dist/entity/entity-transition-validation.js +327 -0
  159. package/dist/entity/entity-transition-validation.js.map +1 -0
  160. package/dist/entity/entity.d.ts +605 -0
  161. package/dist/entity/entity.d.ts.map +1 -0
  162. package/dist/entity/entity.js +981 -0
  163. package/dist/entity/entity.js.map +1 -0
  164. package/dist/entity/implicit-required-id.d.ts +15 -0
  165. package/dist/entity/implicit-required-id.d.ts.map +1 -0
  166. package/dist/entity/implicit-required-id.js +123 -0
  167. package/dist/entity/implicit-required-id.js.map +1 -0
  168. package/dist/entity/spec-scanner.d.ts +14 -0
  169. package/dist/entity/spec-scanner.d.ts.map +1 -0
  170. package/dist/entity/spec-scanner.js +37 -0
  171. package/dist/entity/spec-scanner.js.map +1 -0
  172. package/dist/handler/command-registration-readiness.d.ts +99 -0
  173. package/dist/handler/command-registration-readiness.d.ts.map +1 -0
  174. package/dist/handler/command-registration-readiness.js +120 -0
  175. package/dist/handler/command-registration-readiness.js.map +1 -0
  176. package/dist/handler/declared-rejections.d.ts +11 -0
  177. package/dist/handler/declared-rejections.d.ts.map +1 -0
  178. package/dist/handler/declared-rejections.js +34 -0
  179. package/dist/handler/declared-rejections.js.map +1 -0
  180. package/dist/handler/event-handler-filter.d.ts +43 -0
  181. package/dist/handler/event-handler-filter.d.ts.map +1 -0
  182. package/dist/handler/event-handler-filter.js +128 -0
  183. package/dist/handler/event-handler-filter.js.map +1 -0
  184. package/dist/handler/event-registration-readiness.d.ts +196 -0
  185. package/dist/handler/event-registration-readiness.d.ts.map +1 -0
  186. package/dist/handler/event-registration-readiness.js +187 -0
  187. package/dist/handler/event-registration-readiness.js.map +1 -0
  188. package/dist/handler/external.d.ts +10 -0
  189. package/dist/handler/external.d.ts.map +1 -0
  190. package/dist/handler/external.js +15 -0
  191. package/dist/handler/external.js.map +1 -0
  192. package/dist/handler/generated-handler-registry.d.ts +185 -0
  193. package/dist/handler/generated-handler-registry.d.ts.map +1 -0
  194. package/dist/handler/generated-handler-registry.js +439 -0
  195. package/dist/handler/generated-handler-registry.js.map +1 -0
  196. package/dist/handler/generated-registry-discovery.d.ts +94 -0
  197. package/dist/handler/generated-registry-discovery.d.ts.map +1 -0
  198. package/dist/handler/generated-registry-discovery.js +226 -0
  199. package/dist/handler/generated-registry-discovery.js.map +1 -0
  200. package/dist/handler/handler-decorators.d.ts +151 -0
  201. package/dist/handler/handler-decorators.d.ts.map +1 -0
  202. package/dist/handler/handler-decorators.js +275 -0
  203. package/dist/handler/handler-decorators.js.map +1 -0
  204. package/dist/handler/handler-metadata.d.ts +553 -0
  205. package/dist/handler/handler-metadata.d.ts.map +1 -0
  206. package/dist/handler/handler-metadata.js +437 -0
  207. package/dist/handler/handler-metadata.js.map +1 -0
  208. package/dist/handler/registration-readiness-metadata.d.ts +68 -0
  209. package/dist/handler/registration-readiness-metadata.d.ts.map +1 -0
  210. package/dist/handler/registration-readiness-metadata.js +171 -0
  211. package/dist/handler/registration-readiness-metadata.js.map +1 -0
  212. package/dist/handler/rejection-source.d.ts +11 -0
  213. package/dist/handler/rejection-source.d.ts.map +1 -0
  214. package/dist/handler/rejection-source.js +25 -0
  215. package/dist/handler/rejection-source.js.map +1 -0
  216. package/dist/handler/standalone.d.ts +25 -0
  217. package/dist/handler/standalone.d.ts.map +1 -0
  218. package/dist/handler/standalone.js +38 -0
  219. package/dist/handler/standalone.js.map +1 -0
  220. package/dist/index.d.ts +46 -0
  221. package/dist/index.d.ts.map +1 -0
  222. package/dist/index.js +54 -0
  223. package/dist/index.js.map +1 -0
  224. package/dist/integration/external-messages.d.ts +49 -0
  225. package/dist/integration/external-messages.d.ts.map +1 -0
  226. package/dist/integration/external-messages.js +112 -0
  227. package/dist/integration/external-messages.js.map +1 -0
  228. package/dist/integration/integration-broker.d.ts +74 -0
  229. package/dist/integration/integration-broker.d.ts.map +1 -0
  230. package/dist/integration/integration-broker.js +444 -0
  231. package/dist/integration/integration-broker.js.map +1 -0
  232. package/dist/integration/third-party-context.d.ts +56 -0
  233. package/dist/integration/third-party-context.d.ts.map +1 -0
  234. package/dist/integration/third-party-context.js +130 -0
  235. package/dist/integration/third-party-context.js.map +1 -0
  236. package/dist/repository/command-errors.d.ts +25 -0
  237. package/dist/repository/command-errors.d.ts.map +1 -0
  238. package/dist/repository/command-errors.js +43 -0
  239. package/dist/repository/command-errors.js.map +1 -0
  240. package/dist/repository/command-routing.d.ts +72 -0
  241. package/dist/repository/command-routing.d.ts.map +1 -0
  242. package/dist/repository/command-routing.js +98 -0
  243. package/dist/repository/command-routing.js.map +1 -0
  244. package/dist/repository/commit-fence.d.ts +22 -0
  245. package/dist/repository/commit-fence.d.ts.map +1 -0
  246. package/dist/repository/commit-fence.js +37 -0
  247. package/dist/repository/commit-fence.js.map +1 -0
  248. package/dist/repository/event-routing.d.ts +71 -0
  249. package/dist/repository/event-routing.d.ts.map +1 -0
  250. package/dist/repository/event-routing.js +96 -0
  251. package/dist/repository/event-routing.js.map +1 -0
  252. package/dist/repository/primitive-id.d.ts +75 -0
  253. package/dist/repository/primitive-id.d.ts.map +1 -0
  254. package/dist/repository/primitive-id.js +85 -0
  255. package/dist/repository/primitive-id.js.map +1 -0
  256. package/dist/repository/repository.d.ts +667 -0
  257. package/dist/repository/repository.d.ts.map +1 -0
  258. package/dist/repository/repository.js +3510 -0
  259. package/dist/repository/repository.js.map +1 -0
  260. package/dist/repository/routing-declarations.d.ts +75 -0
  261. package/dist/repository/routing-declarations.d.ts.map +1 -0
  262. package/dist/repository/routing-declarations.js +101 -0
  263. package/dist/repository/routing-declarations.js.map +1 -0
  264. package/dist/repository/state-update-routing.d.ts +66 -0
  265. package/dist/repository/state-update-routing.d.ts.map +1 -0
  266. package/dist/repository/state-update-routing.js +91 -0
  267. package/dist/repository/state-update-routing.js.map +1 -0
  268. package/dist/runtime/runtime.d.ts +156 -0
  269. package/dist/runtime/runtime.d.ts.map +1 -0
  270. package/dist/runtime/runtime.js +215 -0
  271. package/dist/runtime/runtime.js.map +1 -0
  272. package/dist/runtime/signal-intake.d.ts +84 -0
  273. package/dist/runtime/signal-intake.d.ts.map +1 -0
  274. package/dist/runtime/signal-intake.js +94 -0
  275. package/dist/runtime/signal-intake.js.map +1 -0
  276. package/dist/runtime/signal-metadata.d.ts +217 -0
  277. package/dist/runtime/signal-metadata.d.ts.map +1 -0
  278. package/dist/runtime/signal-metadata.js +333 -0
  279. package/dist/runtime/signal-metadata.js.map +1 -0
  280. package/dist/runtime/signal-publisher.d.ts +144 -0
  281. package/dist/runtime/signal-publisher.d.ts.map +1 -0
  282. package/dist/runtime/signal-publisher.js +248 -0
  283. package/dist/runtime/signal-publisher.js.map +1 -0
  284. package/dist/runtime/standalone-handler-runtime.d.ts +114 -0
  285. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -0
  286. package/dist/runtime/standalone-handler-runtime.js +307 -0
  287. package/dist/runtime/standalone-handler-runtime.js.map +1 -0
  288. package/dist/server/environment-attachment.d.ts +356 -0
  289. package/dist/server/environment-attachment.d.ts.map +1 -0
  290. package/dist/server/environment-attachment.js +2062 -0
  291. package/dist/server/environment-attachment.js.map +1 -0
  292. package/dist/server/environment-delivery-records.d.ts +77 -0
  293. package/dist/server/environment-delivery-records.d.ts.map +1 -0
  294. package/dist/server/environment-delivery-records.js +282 -0
  295. package/dist/server/environment-delivery-records.js.map +1 -0
  296. package/dist/server/environment-delivery-worker.d.ts +161 -0
  297. package/dist/server/environment-delivery-worker.d.ts.map +1 -0
  298. package/dist/server/environment-delivery-worker.js +673 -0
  299. package/dist/server/environment-delivery-worker.js.map +1 -0
  300. package/dist/server/environment.d.ts +43 -0
  301. package/dist/server/environment.d.ts.map +1 -0
  302. package/dist/server/environment.js +90 -0
  303. package/dist/server/environment.js.map +1 -0
  304. package/dist/server/managed-child-subscription.d.ts +11 -0
  305. package/dist/server/managed-child-subscription.d.ts.map +1 -0
  306. package/dist/server/managed-child-subscription.js +44 -0
  307. package/dist/server/managed-child-subscription.js.map +1 -0
  308. package/dist/server/managed-server-application.d.ts +327 -0
  309. package/dist/server/managed-server-application.d.ts.map +1 -0
  310. package/dist/server/managed-server-application.js +937 -0
  311. package/dist/server/managed-server-application.js.map +1 -0
  312. package/dist/server/node-coordinator.d.ts +191 -0
  313. package/dist/server/node-coordinator.d.ts.map +1 -0
  314. package/dist/server/node-coordinator.js +552 -0
  315. package/dist/server/node-coordinator.js.map +1 -0
  316. package/dist/server/process-server-coordinator.d.ts +15 -0
  317. package/dist/server/process-server-coordinator.d.ts.map +1 -0
  318. package/dist/server/process-server-coordinator.js +112 -0
  319. package/dist/server/process-server-coordinator.js.map +1 -0
  320. package/dist/server/reserved-spine-rpc-paths.json +8 -0
  321. package/dist/server/retryable-close.d.ts +28 -0
  322. package/dist/server/retryable-close.d.ts.map +1 -0
  323. package/dist/server/retryable-close.js +129 -0
  324. package/dist/server/retryable-close.js.map +1 -0
  325. package/dist/server/server-environment.d.ts +180 -0
  326. package/dist/server/server-environment.d.ts.map +1 -0
  327. package/dist/server/server-environment.js +418 -0
  328. package/dist/server/server-environment.js.map +1 -0
  329. package/dist/server/server-log.d.ts +18 -0
  330. package/dist/server/server-log.d.ts.map +1 -0
  331. package/dist/server/server-log.js +100 -0
  332. package/dist/server/server-log.js.map +1 -0
  333. package/dist/server/server.d.ts +221 -0
  334. package/dist/server/server.d.ts.map +1 -0
  335. package/dist/server/server.js +704 -0
  336. package/dist/server/server.js.map +1 -0
  337. package/dist/services/query-reader.d.ts +19 -0
  338. package/dist/services/query-reader.d.ts.map +1 -0
  339. package/dist/services/query-reader.js +43 -0
  340. package/dist/services/query-reader.js.map +1 -0
  341. package/dist/services/spine-services.d.ts +88 -0
  342. package/dist/services/spine-services.d.ts.map +1 -0
  343. package/dist/services/spine-services.js +1582 -0
  344. package/dist/services/spine-services.js.map +1 -0
  345. package/dist/spi/delivery.d.ts +5 -0
  346. package/dist/spi/delivery.d.ts.map +1 -0
  347. package/dist/spi/delivery.js +18 -0
  348. package/dist/spi/delivery.js.map +1 -0
  349. package/dist/spi/handler-registry.d.ts +8 -0
  350. package/dist/spi/handler-registry.d.ts.map +1 -0
  351. package/dist/spi/handler-registry.js +15 -0
  352. package/dist/spi/handler-registry.js.map +1 -0
  353. package/dist/stand/stand.d.ts +294 -0
  354. package/dist/stand/stand.d.ts.map +1 -0
  355. package/dist/stand/stand.js +681 -0
  356. package/dist/stand/stand.js.map +1 -0
  357. package/dist/stand/subscription-observer.d.ts +53 -0
  358. package/dist/stand/subscription-observer.d.ts.map +1 -0
  359. package/dist/stand/subscription-observer.js +444 -0
  360. package/dist/stand/subscription-observer.js.map +1 -0
  361. package/dist/stand/subscription-records.d.ts +12 -0
  362. package/dist/stand/subscription-records.d.ts.map +1 -0
  363. package/dist/stand/subscription-records.js +99 -0
  364. package/dist/stand/subscription-records.js.map +1 -0
  365. package/dist/stand/subscription-registry.d.ts +285 -0
  366. package/dist/stand/subscription-registry.d.ts.map +1 -0
  367. package/dist/stand/subscription-registry.js +403 -0
  368. package/dist/stand/subscription-registry.js.map +1 -0
  369. package/dist/stand/subscription-runtime.d.ts +102 -0
  370. package/dist/stand/subscription-runtime.d.ts.map +1 -0
  371. package/dist/stand/subscription-runtime.js +380 -0
  372. package/dist/stand/subscription-runtime.js.map +1 -0
  373. package/dist/testing/index.d.ts +36 -0
  374. package/dist/testing/index.d.ts.map +1 -0
  375. package/dist/testing/index.js +54 -0
  376. package/dist/testing/index.js.map +1 -0
  377. package/dist/tsconfig.tsbuildinfo +1 -0
  378. package/package.json +76 -0
@@ -0,0 +1,609 @@
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 { deliveryWorkerAccess, } from "./delivery-worker.js";
15
+ import { ShardIndex } from "./shard-index.js";
16
+ /**
17
+ * Serializes finite worker starts for one delivery generation.
18
+ */
19
+ export class DeliveryRunCoordinator {
20
+ #worker;
21
+ #configured = new Map();
22
+ #pending = new Map();
23
+ #settled = new Map();
24
+ #active;
25
+ #accepting = true;
26
+ #stopCalled = false;
27
+ #fault;
28
+ #finalized = false;
29
+ #onReport;
30
+ #retirement;
31
+ #retirementFailure;
32
+ #onSettlement;
33
+ /**
34
+ * Creates a coordinator for configured generation scopes.
35
+ *
36
+ * @param options The scopes, worker seam, and optional settlement observer.
37
+ */
38
+ constructor(options) {
39
+ this.#worker = options.worker;
40
+ this.#onSettlement = options.onSettlement;
41
+ this.#configure(options.scopes);
42
+ if (this.#configured.size === 0) {
43
+ throw new Error("Delivery run coordinator requires at least one configured scope.");
44
+ }
45
+ }
46
+ /**
47
+ * Updates this live generation with later registered delivery scopes.
48
+ *
49
+ * @param scopes The delivery scopes to configure.
50
+ */
51
+ configure(scopes) {
52
+ if (!this.#accepting) {
53
+ throw new Error("Delivery run coordinator admission is closed.");
54
+ }
55
+ this.#configure(scopes);
56
+ }
57
+ /**
58
+ * Returns whether the coordinator has finalized safely for replacement.
59
+ *
60
+ * @returns Whether replacement is safe.
61
+ */
62
+ get replacementSafe() {
63
+ return this.#finalized;
64
+ }
65
+ /**
66
+ * Returns whether the coordinator has finalized retirement.
67
+ *
68
+ * @returns Whether retirement is complete.
69
+ */
70
+ get retired() {
71
+ return this.#finalized;
72
+ }
73
+ /**
74
+ * Returns the current generation-local delivery scope count.
75
+ *
76
+ * @returns The configured scope count.
77
+ */
78
+ get configuredScopeCount() {
79
+ return this.#configured.size;
80
+ }
81
+ /**
82
+ * Starts the configured scopes and resolves their latest settlement.
83
+ *
84
+ * @param scopes The scopes to admit.
85
+ * @returns The resulting settlement.
86
+ */
87
+ start(scopes) {
88
+ if (!this.#accepting) {
89
+ return Promise.reject(new Error("Delivery run coordinator admission is closed."));
90
+ }
91
+ if (this.#fault !== undefined) {
92
+ return Promise.reject(this.#fault);
93
+ }
94
+ try {
95
+ this.#admit(scopes);
96
+ }
97
+ catch (error) {
98
+ return Promise.reject(DeliveryRunValues.error(error));
99
+ }
100
+ const active = this.#ensureActive();
101
+ return active.then(() => this.settlement());
102
+ }
103
+ /**
104
+ * Notifies the coordinator that one configured scope is ready.
105
+ *
106
+ * @param scope The ready scope.
107
+ */
108
+ notify(scope) {
109
+ if (!this.#accepting || this.#fault !== undefined) {
110
+ return;
111
+ }
112
+ try {
113
+ this.#admit([scope]);
114
+ // spine-log-boundary: server.delivery_coordinator_notify
115
+ void this.#ensureActive().catch(() => undefined);
116
+ }
117
+ catch {
118
+ // Readiness notification cannot alter a completed durable write.
119
+ return;
120
+ }
121
+ }
122
+ /**
123
+ * Removes quiesced, permanently retired owner state without disturbing siblings.
124
+ *
125
+ * @param ownerKeys The owner keys to remove.
126
+ * @returns A promise that resolves after the selected owner state is removed.
127
+ */
128
+ async removeOwners(ownerKeys) {
129
+ const owners = new Set(ownerKeys);
130
+ this.#removePendingOwners(owners);
131
+ // spine-log-boundary: server.delivery_coordinator_remove_idle
132
+ await this.#active?.catch(() => undefined);
133
+ this.#removePendingOwners(owners);
134
+ for (const [key, scope] of this.#configured) {
135
+ if (owners.has(scope.owner.key)) {
136
+ this.#configured.delete(key);
137
+ }
138
+ }
139
+ for (const [key, settlement] of this.#settled) {
140
+ if (owners.has(settlement.scope.owner.key)) {
141
+ this.#settled.delete(key);
142
+ }
143
+ }
144
+ }
145
+ /**
146
+ * Awaits retained work that could still start selected owners without reclaiming evidence.
147
+ *
148
+ * @param ownerKeys The owner keys whose work must settle.
149
+ * @returns A promise that resolves after selected owners cannot start retained work.
150
+ */
151
+ async awaitOwnersBarrier(ownerKeys) {
152
+ if (ownerKeys.length === 0) {
153
+ return;
154
+ }
155
+ this.#requireHealthy();
156
+ const owners = new Set(ownerKeys);
157
+ this.#removePendingOwners(owners);
158
+ const active = this.#active;
159
+ await active;
160
+ this.#requireHealthy();
161
+ const successor = this.#active;
162
+ if (successor !== undefined && successor !== active) {
163
+ await successor;
164
+ this.#requireHealthy();
165
+ }
166
+ this.#removePendingOwners(owners);
167
+ }
168
+ /**
169
+ * Returns immutable evidence for configured and pending scopes.
170
+ *
171
+ * @returns The current generation settlement.
172
+ */
173
+ settlement() {
174
+ const scopes = [];
175
+ for (const key of this.#configured.keys()) {
176
+ const settled = this.#settled.get(key);
177
+ if (settled !== undefined) {
178
+ scopes.push(DeliveryRunValues.cloneSettlement(settled));
179
+ }
180
+ }
181
+ return Object.freeze({
182
+ scopes: Object.freeze(scopes),
183
+ pending: Object.freeze(Array.from(this.#pending.values(), DeliveryRunValues.cloneScope)),
184
+ });
185
+ }
186
+ /**
187
+ * Closes this coordinator after reporting its terminal settlement.
188
+ *
189
+ * @param onReport The terminal settlement reporter.
190
+ * @returns A promise that settles after retirement and terminal reporting complete.
191
+ */
192
+ retire(onReport) {
193
+ this.#onReport ??= onReport;
194
+ if (this.#retirement !== undefined) {
195
+ return this.#retirement;
196
+ }
197
+ const gate = Promise.withResolvers();
198
+ const retirement = gate.promise;
199
+ this.#retirement = retirement;
200
+ void this.#advanceRetirement().then(() => {
201
+ gate.resolve(undefined);
202
+ }, (error) => {
203
+ if (!this.#finalized) {
204
+ this.#retirement = undefined;
205
+ }
206
+ gate.reject(error);
207
+ });
208
+ return retirement;
209
+ }
210
+ /**
211
+ * Returns causes only from this coordinator's exact current retirement failure.
212
+ *
213
+ * @param reason The observed retirement reason.
214
+ * @returns The matching causes, when present.
215
+ */
216
+ takeRetirementFailureCauses(reason) {
217
+ const failure = this.#retirementFailure;
218
+ if (failure === undefined || !Object.is(failure.reason, reason)) {
219
+ return undefined;
220
+ }
221
+ this.#retirementFailure = undefined;
222
+ return failure.causes;
223
+ }
224
+ #admit(scopes) {
225
+ const admitted = scopes.map((candidate) => {
226
+ const configured = this.#configured.get(DeliveryRunValues.scopeKey(candidate));
227
+ if (configured === undefined) {
228
+ throw new Error("Delivery run scope is not configured.");
229
+ }
230
+ return configured;
231
+ });
232
+ for (const configured of admitted) {
233
+ this.#pending.set(DeliveryRunValues.scopeKey(configured), configured);
234
+ }
235
+ }
236
+ #configure(scopes) {
237
+ for (const candidate of scopes) {
238
+ const scope = DeliveryRunValues.cloneScope(candidate);
239
+ this.#configured.set(DeliveryRunValues.scopeKey(scope), scope);
240
+ }
241
+ }
242
+ #ensureActive(admissionLimit = 2) {
243
+ if (this.#active !== undefined) {
244
+ return this.#active;
245
+ }
246
+ const gate = Promise.withResolvers();
247
+ let admissions = 0;
248
+ const draining = gate.promise.catch((cause) => {
249
+ const fault = DeliveryRunValues.error(cause);
250
+ this.#fault ??= fault;
251
+ throw this.#fault;
252
+ });
253
+ const active = draining.finally(() => {
254
+ if (this.#active === active) {
255
+ this.#active = undefined;
256
+ if (this.#accepting &&
257
+ this.#fault === undefined &&
258
+ this.#pending.size > 0 &&
259
+ admissions < admissionLimit) {
260
+ return this.#ensureActive(admissionLimit - admissions);
261
+ }
262
+ }
263
+ });
264
+ this.#active = active;
265
+ void this.#drainPending(admissionLimit).then((completed) => {
266
+ admissions = completed;
267
+ gate.resolve(undefined);
268
+ }, gate.reject);
269
+ return active;
270
+ }
271
+ async #drainPending(admissionLimit) {
272
+ let completed = 0;
273
+ for (let admission = 0; admission < admissionLimit; admission += 1) {
274
+ if (!this.#accepting || this.#pending.size === 0) {
275
+ return completed;
276
+ }
277
+ const admitted = Array.from(this.#pending.values());
278
+ this.#pending.clear();
279
+ await this.#runAdmission(admitted);
280
+ completed += 1;
281
+ }
282
+ return completed;
283
+ }
284
+ async #runAdmission(scopes) {
285
+ const byOwner = new Map();
286
+ for (const scope of scopes) {
287
+ const partition = byOwner.get(scope.owner.key) ?? [];
288
+ partition.push(scope);
289
+ byOwner.set(scope.owner.key, partition);
290
+ }
291
+ for (const partition of byOwner.values()) {
292
+ await this.#runOwnerAdmission(partition);
293
+ }
294
+ }
295
+ async #runOwnerAdmission(scopes) {
296
+ const obligation = DeliveryRunValues.obligation(scopes);
297
+ const shards = DeliveryRunValues.shards(scopes);
298
+ while (shards.length > 0) {
299
+ let evidence;
300
+ const started = this.#worker.start(obligation, shards);
301
+ try {
302
+ evidence = await started;
303
+ }
304
+ catch (cause) {
305
+ this.#recordStartFailure(scopes, shards, cause);
306
+ return;
307
+ }
308
+ DeliveryRunValues.validateEvidence(obligation, shards, evidence);
309
+ const rejected = this.#recordEvidence(scopes, evidence);
310
+ this.#parkPending(rejected);
311
+ if (!this.#accepting) {
312
+ return;
313
+ }
314
+ return;
315
+ }
316
+ }
317
+ #recordStartFailure(scopes, shards, cause) {
318
+ const owner = DeliveryRunValues.requiredOwner(scopes);
319
+ const attempted = new Set(shards.map((shard) => shard.key()));
320
+ for (const scope of scopes) {
321
+ if (attempted.has(scope.ready.shard.key())) {
322
+ this.#recordSettlement(scope, DeliveryRunValues.rejectedSettlement(scope, cause));
323
+ }
324
+ }
325
+ this.#parkPending(new Set(Array.from(attempted, (key) => DeliveryRunValues.ownerShardKey(owner, key))));
326
+ }
327
+ #recordEvidence(scopes, evidence) {
328
+ const owner = DeliveryRunValues.requiredOwner(scopes);
329
+ const rejected = new Set();
330
+ for (const shardEvidence of evidence.shards) {
331
+ const shardKey = shardEvidence.shard.key();
332
+ if (shardEvidence.status === "rejected") {
333
+ rejected.add(DeliveryRunValues.ownerShardKey(owner, shardKey));
334
+ }
335
+ for (const scope of scopes) {
336
+ if (scope.ready.shard.key() === shardKey) {
337
+ this.#recordSettlement(scope, DeliveryRunValues.shardSettlement(scope, shardEvidence));
338
+ }
339
+ }
340
+ }
341
+ return rejected;
342
+ }
343
+ #parkPending(rejected) {
344
+ for (const [key, scope] of this.#pending) {
345
+ if (rejected.has(DeliveryRunValues.ownerShardKey(scope.owner, scope.ready.shard.key()))) {
346
+ this.#pending.delete(key);
347
+ }
348
+ }
349
+ }
350
+ #recordSettlement(scope, settlement) {
351
+ const key = DeliveryRunValues.scopeKey(scope);
352
+ const previous = this.#settled.get(key);
353
+ this.#settled.set(key, settlement);
354
+ if (previous !== undefined && DeliveryRunValues.sameSettlement(previous, settlement)) {
355
+ return;
356
+ }
357
+ const observed = this.#onSettlement?.(DeliveryRunValues.cloneSettlement(settlement));
358
+ if (DeliveryRunValues.isPromiseLike(observed)) {
359
+ // spine-log-boundary: server.delivery_coordinator_settlement_observer
360
+ void Promise.resolve(observed).catch(() => undefined);
361
+ throw new Error("Delivery run settlement observer must complete synchronously.");
362
+ }
363
+ }
364
+ #removePendingOwners(owners) {
365
+ for (const [key, scope] of this.#pending) {
366
+ if (owners.has(scope.owner.key)) {
367
+ this.#pending.delete(key);
368
+ }
369
+ }
370
+ }
371
+ #requireHealthy() {
372
+ if (this.#fault !== undefined) {
373
+ throw this.#fault;
374
+ }
375
+ }
376
+ async #advanceRetirement() {
377
+ if (!this.#stopCalled) {
378
+ this.#accepting = false;
379
+ try {
380
+ this.#worker.stop();
381
+ }
382
+ catch (cause) {
383
+ throw new DeliveryRunQuiescenceError(cause);
384
+ }
385
+ this.#stopCalled = true;
386
+ }
387
+ // spine-log-boundary: server.delivery_coordinator_retirement_idle
388
+ await this.#active?.catch(() => undefined);
389
+ try {
390
+ await this.#worker.awaitSettled();
391
+ }
392
+ catch (cause) {
393
+ throw new DeliveryRunQuiescenceError(cause);
394
+ }
395
+ const failures = this.#fault === undefined ? [] : [this.#fault];
396
+ try {
397
+ await this.#onReport?.(this.settlement());
398
+ }
399
+ catch (error) {
400
+ failures.push(error);
401
+ }
402
+ try {
403
+ await this.#worker.retire();
404
+ }
405
+ catch (error) {
406
+ failures.push(error);
407
+ }
408
+ this.#finalized = true;
409
+ const failure = DeliveryRunValues.retirementFailure(failures);
410
+ if (failure !== undefined) {
411
+ this.#retirementFailure = failure;
412
+ throw failure.reason;
413
+ }
414
+ }
415
+ }
416
+ /**
417
+ * Reports retirement that failed before quiescence.
418
+ */
419
+ export class DeliveryRunQuiescenceError extends Error {
420
+ // prettier-ignore
421
+ /**
422
+ * Holds the failure that prevented quiescence.
423
+ */
424
+ cause;
425
+ /**
426
+ * Creates a quiescence error.
427
+ *
428
+ * @param cause The failure that prevented quiescence.
429
+ */
430
+ constructor(cause) {
431
+ super("Delivery run coordinator could not establish quiescence.");
432
+ this.name = "DeliveryRunQuiescenceError";
433
+ this.cause = cause;
434
+ }
435
+ }
436
+ /**
437
+ * Adapts workers for package-owned delivery generations.
438
+ */
439
+ export const deliveryRunWorkers = Object.freeze({
440
+ // prettier-ignore
441
+ /**
442
+ * Adapts one worker to the generation coordinator seam.
443
+ */
444
+ worker(worker) {
445
+ return Object.freeze({
446
+ start(obligation, shards) {
447
+ return deliveryWorkerAccess.start(worker, obligation, shards);
448
+ },
449
+ stop() {
450
+ worker.stop();
451
+ },
452
+ awaitSettled() {
453
+ return deliveryWorkerAccess.awaitSettled(worker);
454
+ },
455
+ retire() {
456
+ return deliveryWorkerAccess.retire(worker);
457
+ },
458
+ });
459
+ },
460
+ });
461
+ /**
462
+ * Groups internal coordinator snapshot, settlement, and validation operations.
463
+ */
464
+ const DeliveryRunValues = Object.freeze({
465
+ obligation(scopes) {
466
+ return Object.freeze({
467
+ scopes: Object.freeze(scopes.map((scope) => DeliveryRunValues.cloneScope(scope))),
468
+ });
469
+ },
470
+ shards(scopes) {
471
+ const shards = new Map();
472
+ for (const { shard } of scopes.map(({ ready }) => ready))
473
+ shards.set(shard.key(), new ShardIndex(shard.index, shard.ofTotal));
474
+ return Object.freeze(Array.from(shards.values()));
475
+ },
476
+ validateEvidence(obligation, requested, evidence) {
477
+ if (evidence.obligation !== obligation)
478
+ throw new Error("Delivery worker evidence obligation does not match the current obligation.");
479
+ const requestedKeys = new Set(requested.map((shard) => shard.key()));
480
+ const seen = new Set();
481
+ for (const shard of evidence.shards) {
482
+ if (shard.obligation !== obligation)
483
+ throw new Error("Delivery worker shard obligation does not match the current obligation.");
484
+ const key = shard.shard.key();
485
+ if (!requestedKeys.has(key) || seen.has(key))
486
+ throw new Error("Delivery worker evidence does not match the requested shard domain.");
487
+ seen.add(key);
488
+ }
489
+ if (seen.size !== requestedKeys.size)
490
+ throw new Error("Delivery worker evidence does not match the requested shard domain.");
491
+ },
492
+ shardSettlement(scope, evidence) {
493
+ if (evidence.status === "rejected")
494
+ return this.rejectedSettlement(scope, evidence.cause, evidence.progress);
495
+ return Object.freeze({
496
+ scope,
497
+ disposition: this.disposition(evidence.run.status),
498
+ progress: this.cloneProgress(evidence.progress),
499
+ });
500
+ },
501
+ rejectedSettlement(scope, cause, progress) {
502
+ return Object.freeze({
503
+ scope,
504
+ disposition: "REJECTED",
505
+ cause,
506
+ progress: this.cloneProgress(progress ?? this.emptyProgress()),
507
+ });
508
+ },
509
+ disposition(status) {
510
+ switch (status) {
511
+ case "IDLE":
512
+ return "IDLE";
513
+ case "STOPPED":
514
+ return "STOPPED";
515
+ case "FAILED":
516
+ case "SKIPPED":
517
+ return "PARKED";
518
+ }
519
+ },
520
+ cloneSettlement(settlement) {
521
+ return Object.freeze({
522
+ scope: this.cloneScope(settlement.scope),
523
+ disposition: settlement.disposition,
524
+ ...(settlement.cause === undefined ? {} : { cause: settlement.cause }),
525
+ ...(settlement.progress === undefined
526
+ ? {}
527
+ : { progress: this.cloneProgress(settlement.progress) }),
528
+ });
529
+ },
530
+ cloneScope(scope) {
531
+ return Object.freeze({
532
+ owner: Object.freeze({ key: scope.owner.key }),
533
+ ready: Object.freeze({
534
+ ...(scope.ready.tenantId === undefined ? {} : { tenantId: scope.ready.tenantId }),
535
+ label: scope.ready.label,
536
+ targetTypeUrl: scope.ready.targetTypeUrl,
537
+ shard: new ShardIndex(scope.ready.shard.index, scope.ready.shard.ofTotal),
538
+ }),
539
+ });
540
+ },
541
+ scopeKey(scope) {
542
+ return JSON.stringify([
543
+ scope.owner.key,
544
+ scope.ready.tenantId ?? null,
545
+ scope.ready.label,
546
+ scope.ready.targetTypeUrl,
547
+ scope.ready.shard.index,
548
+ scope.ready.shard.ofTotal,
549
+ ]);
550
+ },
551
+ ownerShardKey(owner, shardKey) {
552
+ return JSON.stringify([owner.key, shardKey]);
553
+ },
554
+ requiredOwner(scopes) {
555
+ const owner = scopes[0]?.owner;
556
+ if (owner === undefined)
557
+ throw new Error("Delivery run admission requires at least one scope.");
558
+ return owner;
559
+ },
560
+ cloneProgress(progress) {
561
+ return Object.freeze({ ...progress, failures: Object.freeze([...progress.failures]) });
562
+ },
563
+ sameSettlement(previous, next) {
564
+ return (previous.disposition === next.disposition &&
565
+ Object.is(previous.cause, next.cause) &&
566
+ this.sameProgress(previous.progress, next.progress));
567
+ },
568
+ sameProgress(previous, next) {
569
+ if (previous === undefined || next === undefined)
570
+ return previous === next;
571
+ return (previous.runs === next.runs &&
572
+ previous.processed === next.processed &&
573
+ previous.accepted === next.accepted &&
574
+ previous.delivered === next.delivered &&
575
+ previous.failed === next.failed &&
576
+ previous.failures.length === next.failures.length &&
577
+ previous.failures.every((failure, index) => Object.is(failure.message, next.failures[index]?.message) &&
578
+ Object.is(failure.error, next.failures[index]?.error)));
579
+ },
580
+ emptyProgress() {
581
+ return Object.freeze({
582
+ runs: 0,
583
+ processed: 0,
584
+ accepted: 0,
585
+ delivered: 0,
586
+ failed: 0,
587
+ failures: Object.freeze([]),
588
+ });
589
+ },
590
+ retirementFailure(failures) {
591
+ if (failures.length === 0)
592
+ return undefined;
593
+ const causes = Object.freeze([...failures]);
594
+ return Object.freeze({
595
+ reason: causes.length === 1
596
+ ? causes[0]
597
+ : new AggregateError(causes, "Delivery run retirement failed."),
598
+ causes,
599
+ });
600
+ },
601
+ error(value) {
602
+ return value instanceof Error ? value : new Error(String(value));
603
+ },
604
+ isPromiseLike(value) {
605
+ return (((typeof value === "object" && value !== null) || typeof value === "function") &&
606
+ typeof value.then === "function");
607
+ },
608
+ });
609
+ //# sourceMappingURL=delivery-run-coordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-run-coordinator.js","sourceRoot":"","sources":["../../src/delivery/delivery-run-coordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Raised by public delivery APIs when durable delivery records are corrupt or invalid.
3
+ */
4
+ export declare class DeliveryStorageCorruptionError extends Error {
5
+ /**
6
+ * Creates an error describing invalid durable delivery data.
7
+ *
8
+ * @param message Describes the corrupted record or value.
9
+ * @param options Optionally preserves the originating failure.
10
+ */
11
+ constructor(message: string, options?: ErrorOptions);
12
+ }
13
+ //# sourceMappingURL=delivery-storage-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-storage-error.d.ts","sourceRoot":"","sources":["../../src/delivery/delivery-storage-error.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,qBAAa,8BAA+B,SAAQ,KAAK;IAGvD;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY;CAIpD"}