@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,99 @@
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 { clone, create, fromBinary, toBinary } from "@bufbuild/protobuf";
15
+ import { SubscriptionRecordSchema, SubscriptionIdSchema, SubscriptionSchema, SubscriptionStatus, } from "@spine-event-engine/proto/client";
16
+ const maximumBytes = 1_048_576;
17
+ /**
18
+ * Encodes and validates the approved durable subscription record.
19
+ */
20
+ export const StandSubscriptionRecords = Object.freeze({
21
+ schema: SubscriptionRecordSchema,
22
+ read(record, expectedId) {
23
+ try {
24
+ const id = record.id?.value;
25
+ const subscription = record.subscription;
26
+ if (typeof id !== "string" || id.trim() === "" || id !== subscription?.id?.value)
27
+ throw Error();
28
+ if (expectedId !== undefined && id !== expectedId)
29
+ throw Error();
30
+ if (typeof subscription.topic?.id?.value !== "string" ||
31
+ subscription.topic.id.value.trim() === "")
32
+ throw Error();
33
+ const createdAt = milliseconds(record.whenCreated);
34
+ if (record.status === SubscriptionStatus.PENDING) {
35
+ const pendingUntil = milliseconds(record.whenActivationExpires);
36
+ if (pendingUntil < createdAt)
37
+ throw Error();
38
+ return Object.freeze({
39
+ subscription: clone(SubscriptionSchema, subscription),
40
+ phase: "pending",
41
+ createdAt,
42
+ pendingUntil,
43
+ });
44
+ }
45
+ if (record.status !== SubscriptionStatus.ACTIVE || record.whenActivationExpires !== undefined)
46
+ throw Error();
47
+ return Object.freeze({
48
+ subscription: clone(SubscriptionSchema, subscription),
49
+ phase: "active",
50
+ createdAt,
51
+ });
52
+ }
53
+ catch {
54
+ throw new Error("Stand subscription record is invalid.");
55
+ }
56
+ },
57
+ write(entry) {
58
+ const id = entry.subscription.id;
59
+ if (id === undefined)
60
+ throw new TypeError("Stand subscription ID must be non-blank.");
61
+ const record = create(SubscriptionRecordSchema, {
62
+ id: clone(SubscriptionIdSchema, id),
63
+ subscription: clone(SubscriptionSchema, entry.subscription),
64
+ status: entry.phase === "pending" ? SubscriptionStatus.PENDING : SubscriptionStatus.ACTIVE,
65
+ whenCreated: timestamp(entry.createdAt),
66
+ ...(entry.phase === "pending"
67
+ ? { whenActivationExpires: timestamp(entry.pendingUntil) }
68
+ : {}),
69
+ });
70
+ this.read(record, id.value);
71
+ if (toBinary(SubscriptionRecordSchema, record).byteLength > maximumBytes)
72
+ throw new RangeError("Stand subscription record exceeds 1048576 bytes.");
73
+ return record;
74
+ },
75
+ decode(bytes, expectedId) {
76
+ if (bytes.byteLength > maximumBytes)
77
+ throw new Error("Malformed Stand subscription record.");
78
+ try {
79
+ return this.read(fromBinary(SubscriptionRecordSchema, bytes), expectedId);
80
+ }
81
+ catch {
82
+ throw new Error("Malformed Stand subscription record.");
83
+ }
84
+ },
85
+ });
86
+ function milliseconds(value) {
87
+ if (value === undefined || value.seconds < 0n || value.nanos < 0 || value.nanos >= 1_000_000_000)
88
+ throw Error();
89
+ const result = Number(value.seconds) * 1000 + Math.floor(value.nanos / 1_000_000);
90
+ if (!Number.isSafeInteger(result))
91
+ throw Error();
92
+ return result;
93
+ }
94
+ function timestamp(value) {
95
+ if (!Number.isSafeInteger(value) || value < 0)
96
+ throw new RangeError("Stand subscription time is invalid.");
97
+ return { seconds: BigInt(Math.floor(value / 1000)), nanos: (value % 1000) * 1_000_000 };
98
+ }
99
+ //# sourceMappingURL=subscription-records.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-records.js","sourceRoot":"","sources":["../../src/stand/subscription-records.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,285 @@
1
+ import { type Subscription, type SubscriptionId } from "@spine-event-engine/proto/client";
2
+ import { type StorageContext, type StorageFactory } from "@spine-event-engine/storage";
3
+ /**
4
+ * Describes one canonical durable subscription lifecycle entry.
5
+ */
6
+ interface StandSubscriptionEntryBase {
7
+ /**
8
+ * Provides the subscription definition.
9
+ */
10
+ readonly subscription: Subscription;
11
+ /**
12
+ * Records when the definition was created, in milliseconds since Unix epoch.
13
+ */
14
+ readonly createdAt: number;
15
+ }
16
+ /**
17
+ * Describes a pending subscription definition with its activation deadline.
18
+ */
19
+ export type StandPendingSubscriptionEntry = Readonly<StandSubscriptionEntryBase & {
20
+ /**
21
+ * Identifies a definition awaiting activation.
22
+ */
23
+ readonly phase: "pending";
24
+ /**
25
+ * Records the required activation deadline in milliseconds since Unix epoch.
26
+ */
27
+ readonly pendingUntil: number;
28
+ }>;
29
+ /**
30
+ * Describes an active subscription definition without an activation deadline.
31
+ */
32
+ export type StandActiveSubscriptionEntry = Readonly<StandSubscriptionEntryBase & {
33
+ /**
34
+ * Identifies a definition that is active.
35
+ */
36
+ readonly phase: "active";
37
+ /**
38
+ * Forbids an activation deadline once the definition is active.
39
+ */
40
+ readonly pendingUntil?: never;
41
+ }>;
42
+ /**
43
+ * Describes one canonical durable subscription lifecycle entry.
44
+ */
45
+ export type StandSubscriptionEntry = StandPendingSubscriptionEntry | StandActiveSubscriptionEntry;
46
+ /**
47
+ * Reports whether create stored a definition or found its identical predecessor.
48
+ */
49
+ export type StandCreateResult = Readonly<{
50
+ /**
51
+ * Identifies the creation outcome.
52
+ */
53
+ kind: "created" | "existing";
54
+ /**
55
+ * Provides the created or existing lifecycle entry.
56
+ */
57
+ entry: StandSubscriptionEntry;
58
+ }>;
59
+ /**
60
+ * Reports the result of activating a durable subscription definition.
61
+ */
62
+ export type StandActivateResult = Readonly<{
63
+ /**
64
+ * Identifies an activation or an already-active definition.
65
+ */
66
+ kind: "activated" | "active";
67
+ /**
68
+ * Provides the active lifecycle entry.
69
+ */
70
+ entry: StandSubscriptionEntry;
71
+ }> | Readonly<{
72
+ /**
73
+ * Identifies an absent or expired definition.
74
+ */
75
+ kind: "missing" | "expired";
76
+ }>;
77
+ /**
78
+ * Identifies the outcome of deleting a durable subscription definition.
79
+ */
80
+ export type StandDeleteResult = "deleted" | "missing";
81
+ /**
82
+ * Describes one finite cleanup pass.
83
+ */
84
+ export interface StandCleanupResult {
85
+ /**
86
+ * Counts examined expired pending definitions.
87
+ */
88
+ readonly scanned: number;
89
+ /**
90
+ * Counts definitions physically deleted by this pass.
91
+ */
92
+ readonly deleted: number;
93
+ /**
94
+ * Indicates that one observed expired definition remains for a later pass.
95
+ */
96
+ readonly more: boolean;
97
+ }
98
+ /**
99
+ * Reports an ID reused with distinct subscription content.
100
+ */
101
+ export declare class StandConflictError extends Error {
102
+ readonly id: string;
103
+ /**
104
+ * Creates an error for the conflicting subscription ID.
105
+ *
106
+ * @param id Identifies the conflicting subscription.
107
+ */
108
+ constructor(id: string);
109
+ }
110
+ /**
111
+ * Stores subscription definitions independently from listener delivery.
112
+ */
113
+ export interface StandSubscriptionRegistry {
114
+ /**
115
+ * Indicates whether definitions survive a process restart.
116
+ */
117
+ readonly persistent: boolean;
118
+ /**
119
+ * Creates a pending definition or returns its identical predecessor.
120
+ *
121
+ * @param subscription Provides the definition to create.
122
+ * @returns Resolves to the creation outcome.
123
+ */
124
+ create(subscription: Subscription): Promise<StandCreateResult>;
125
+ /**
126
+ * Activates the definition identified by an explicit subscription ID.
127
+ *
128
+ * @param id Identifies the definition to activate.
129
+ * @returns Resolves to the activation outcome.
130
+ */
131
+ activate(id: SubscriptionId): Promise<StandActivateResult>;
132
+ /**
133
+ * Deletes the definition identified by an explicit subscription ID.
134
+ *
135
+ * @param id Identifies the definition to delete.
136
+ * @returns Resolves to the deletion outcome.
137
+ */
138
+ delete(id: SubscriptionId): Promise<StandDeleteResult>;
139
+ /**
140
+ * Gets an isolated current definition, when it exists.
141
+ *
142
+ * @param id Identifies the definition to read.
143
+ * @returns Resolves to the definition when present.
144
+ */
145
+ get(id: SubscriptionId): Promise<StandSubscriptionEntry | undefined>;
146
+ /**
147
+ * Returns isolated definitions in identifier order.
148
+ *
149
+ * @returns Resolves to the ordered definitions.
150
+ */
151
+ snapshot(): Promise<readonly StandSubscriptionEntry[]>;
152
+ /**
153
+ * Deletes one bounded page of expired pending definitions.
154
+ *
155
+ * @returns Resolves to the cleanup result.
156
+ */
157
+ cleanup(): Promise<StandCleanupResult>;
158
+ /**
159
+ * Closes the registry and releases its resources.
160
+ *
161
+ * @returns Resolves after resources are released.
162
+ */
163
+ close(): Promise<void>;
164
+ }
165
+ /**
166
+ * Keeps subscription definitions in process memory.
167
+ */
168
+ export declare class InMemorySubscriptionRegistry implements StandSubscriptionRegistry {
169
+ #private;
170
+ /**
171
+ * Indicates that in-memory definitions do not survive restart.
172
+ */
173
+ readonly persistent = false;
174
+ /**
175
+ * Creates or finds one in-memory pending definition.
176
+ *
177
+ * @param subscription Provides the definition to create.
178
+ * @returns Resolves to the creation outcome.
179
+ */
180
+ create(subscription: Subscription): Promise<StandCreateResult>;
181
+ /**
182
+ * Activates an unexpired in-memory pending definition.
183
+ *
184
+ * @param value Identifies the definition to activate.
185
+ * @returns Resolves to the activation outcome.
186
+ */
187
+ activate(value: SubscriptionId): Promise<StandActivateResult>;
188
+ /**
189
+ * Deletes an in-memory definition, when present.
190
+ *
191
+ * @param value Identifies the definition to delete.
192
+ * @returns Resolves to the deletion outcome.
193
+ */
194
+ delete(value: SubscriptionId): Promise<StandDeleteResult>;
195
+ /**
196
+ * Gets an isolated in-memory definition, when present.
197
+ *
198
+ * @param value Identifies the definition to read.
199
+ * @returns Resolves to the definition when present.
200
+ */
201
+ get(value: SubscriptionId): Promise<StandSubscriptionEntry | undefined>;
202
+ /**
203
+ * Returns isolated in-memory definitions in identifier order.
204
+ *
205
+ * @returns Resolves to the ordered definitions.
206
+ */
207
+ snapshot(): Promise<readonly StandSubscriptionEntry[]>;
208
+ /**
209
+ * Deletes a bounded page of expired in-memory pending definitions.
210
+ *
211
+ * @returns Resolves to the cleanup result.
212
+ */
213
+ cleanup(): Promise<StandCleanupResult>;
214
+ /**
215
+ * Closes the in-memory registry and discards its definitions.
216
+ *
217
+ * @returns Resolves after definitions are discarded.
218
+ */
219
+ close(): Promise<void>;
220
+ }
221
+ /**
222
+ * Stores one approved SubscriptionRecord per explicit subscription ID.
223
+ */
224
+ export declare class StorageSubscriptionRegistry implements StandSubscriptionRegistry {
225
+ #private;
226
+ /**
227
+ * Indicates that the backing storage owns durable definitions.
228
+ */
229
+ readonly persistent = true;
230
+ /**
231
+ * Creates a registry backed by one compare-and-set-capable record handle.
232
+ *
233
+ * @param context Identifies the storage namespace.
234
+ * @param storageFactory Creates the registry record handle.
235
+ */
236
+ constructor(context: StorageContext, storageFactory: StorageFactory);
237
+ /**
238
+ * Creates a pending durable definition or finds its identical predecessor.
239
+ *
240
+ * @param subscription Provides the definition to create.
241
+ * @returns Resolves to the creation outcome.
242
+ */
243
+ create(subscription: Subscription): Promise<StandCreateResult>;
244
+ /**
245
+ * Activates an unexpired durable pending definition.
246
+ *
247
+ * @param value Identifies the definition to activate.
248
+ * @returns Resolves to the activation outcome.
249
+ */
250
+ activate(value: SubscriptionId): Promise<StandActivateResult>;
251
+ /**
252
+ * Deletes a durable definition after observing its current record.
253
+ *
254
+ * @param value Identifies the definition to delete.
255
+ * @returns Resolves to the deletion outcome.
256
+ */
257
+ delete(value: SubscriptionId): Promise<StandDeleteResult>;
258
+ /**
259
+ * Gets an isolated durable definition, when present.
260
+ *
261
+ * @param value Identifies the definition to read.
262
+ * @returns Resolves to the definition when present.
263
+ */
264
+ get(value: SubscriptionId): Promise<StandSubscriptionEntry | undefined>;
265
+ /**
266
+ * Returns isolated durable definitions in identifier order.
267
+ *
268
+ * @returns Resolves to the ordered definitions.
269
+ */
270
+ snapshot(): Promise<readonly StandSubscriptionEntry[]>;
271
+ /**
272
+ * Deletes a bounded page of expired durable pending definitions.
273
+ *
274
+ * @returns Resolves to the cleanup result.
275
+ */
276
+ cleanup(): Promise<StandCleanupResult>;
277
+ /**
278
+ * Closes the durable storage handle once.
279
+ *
280
+ * @returns Resolves after the handle closes.
281
+ */
282
+ close(): Promise<void>;
283
+ }
284
+ export {};
285
+ //# sourceMappingURL=subscription-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscription-registry.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"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"}