@spine-event-engine/server 2.0.0-snapshot.24 → 2.0.0-snapshot.26

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 (374) hide show
  1. package/README.md +86 -19
  2. package/REFERENCE.md +538 -150
  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 +33 -12
  12. package/dist/agent/agent-history.d.ts.map +1 -1
  13. package/dist/agent/agent-history.js +61 -18
  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 +72 -0
  56. package/dist/agent/agent-live-read-runtime.d.ts.map +1 -0
  57. package/dist/agent/agent-live-read-runtime.js +122 -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/browser/browser-server.d.ts +163 -0
  64. package/dist/browser/browser-server.d.ts.map +1 -1
  65. package/dist/browser/browser-server.js +579 -188
  66. package/dist/browser/browser-server.js.map +1 -1
  67. package/dist/browser/durable-subscription-bindings.d.ts +5 -0
  68. package/dist/browser/durable-subscription-bindings.d.ts.map +1 -1
  69. package/dist/browser/durable-subscription-bindings.js +226 -38
  70. package/dist/browser/durable-subscription-bindings.js.map +1 -1
  71. package/dist/browser/options.d.ts +5 -0
  72. package/dist/browser/options.d.ts.map +1 -1
  73. package/dist/bus/command-bus.d.ts +17 -18
  74. package/dist/bus/command-bus.d.ts.map +1 -1
  75. package/dist/bus/command-bus.js +97 -54
  76. package/dist/bus/command-bus.js.map +1 -1
  77. package/dist/bus/command-errors.d.ts +20 -4
  78. package/dist/bus/command-errors.d.ts.map +1 -1
  79. package/dist/bus/command-errors.js +47 -7
  80. package/dist/bus/command-errors.js.map +1 -1
  81. package/dist/bus/event-bus.d.ts +20 -4
  82. package/dist/bus/event-bus.d.ts.map +1 -1
  83. package/dist/bus/event-bus.js +166 -14
  84. package/dist/bus/event-bus.js.map +1 -1
  85. package/dist/context/bounded-context.d.ts +169 -98
  86. package/dist/context/bounded-context.d.ts.map +1 -1
  87. package/dist/context/bounded-context.js +837 -503
  88. package/dist/context/bounded-context.js.map +1 -1
  89. package/dist/context/entity-inbox.d.ts +7 -2
  90. package/dist/context/entity-inbox.d.ts.map +1 -1
  91. package/dist/context/entity-inbox.js +22 -13
  92. package/dist/context/entity-inbox.js.map +1 -1
  93. package/dist/context/local-inbox-handoff.d.ts +34 -34
  94. package/dist/context/local-inbox-handoff.d.ts.map +1 -1
  95. package/dist/context/local-inbox-handoff.js +108 -150
  96. package/dist/context/local-inbox-handoff.js.map +1 -1
  97. package/dist/context/projection-handoff.d.ts +2 -2
  98. package/dist/context/projection-handoff.d.ts.map +1 -1
  99. package/dist/context/projection-handoff.js +10 -8
  100. package/dist/context/projection-handoff.js.map +1 -1
  101. package/dist/context/tenant-index.d.ts +36 -31
  102. package/dist/context/tenant-index.d.ts.map +1 -1
  103. package/dist/context/tenant-index.js +123 -125
  104. package/dist/context/tenant-index.js.map +1 -1
  105. package/dist/context/tenant-unknown-error.d.ts +33 -0
  106. package/dist/context/tenant-unknown-error.d.ts.map +1 -0
  107. package/dist/context/tenant-unknown-error.js +75 -0
  108. package/dist/context/tenant-unknown-error.js.map +1 -0
  109. package/dist/delivery/agent-delivery-scope.d.ts +66 -0
  110. package/dist/delivery/agent-delivery-scope.d.ts.map +1 -0
  111. package/dist/delivery/agent-delivery-scope.js +44 -0
  112. package/dist/delivery/agent-delivery-scope.js.map +1 -0
  113. package/dist/delivery/delivery-builder.d.ts +25 -1
  114. package/dist/delivery/delivery-builder.d.ts.map +1 -1
  115. package/dist/delivery/delivery-builder.js +89 -0
  116. package/dist/delivery/delivery-builder.js.map +1 -1
  117. package/dist/delivery/delivery-monitor.d.ts +1 -1
  118. package/dist/delivery/delivery-monitor.js +1 -1
  119. package/dist/delivery/delivery-run-control.d.ts +6 -0
  120. package/dist/delivery/delivery-run-control.d.ts.map +1 -1
  121. package/dist/delivery/delivery-run-control.js +10 -0
  122. package/dist/delivery/delivery-run-control.js.map +1 -1
  123. package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
  124. package/dist/delivery/delivery-supervisor.js +28 -4
  125. package/dist/delivery/delivery-supervisor.js.map +1 -1
  126. package/dist/delivery/delivery-tenant.d.ts +17 -0
  127. package/dist/delivery/delivery-tenant.d.ts.map +1 -0
  128. package/dist/delivery/delivery-tenant.js +50 -0
  129. package/dist/delivery/delivery-tenant.js.map +1 -0
  130. package/dist/delivery/delivery.d.ts +96 -2
  131. package/dist/delivery/delivery.d.ts.map +1 -1
  132. package/dist/delivery/delivery.js +693 -53
  133. package/dist/delivery/delivery.js.map +1 -1
  134. package/dist/delivery/inbox-records.d.ts.map +1 -1
  135. package/dist/delivery/inbox-records.js +9 -16
  136. package/dist/delivery/inbox-records.js.map +1 -1
  137. package/dist/delivery/inbox-storage.d.ts +6 -0
  138. package/dist/delivery/inbox-storage.d.ts.map +1 -1
  139. package/dist/delivery/inbox-storage.js +43 -6
  140. package/dist/delivery/inbox-storage.js.map +1 -1
  141. package/dist/delivery/inbox.d.ts.map +1 -1
  142. package/dist/delivery/inbox.js +3 -2
  143. package/dist/delivery/inbox.js.map +1 -1
  144. package/dist/delivery/reception-observation.d.ts +12 -4
  145. package/dist/delivery/reception-observation.d.ts.map +1 -1
  146. package/dist/delivery/reception-observation.js +14 -3
  147. package/dist/delivery/reception-observation.js.map +1 -1
  148. package/dist/delivery/sharded-work-registry.d.ts +6 -0
  149. package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
  150. package/dist/delivery/sharded-work-registry.js +41 -4
  151. package/dist/delivery/sharded-work-registry.js.map +1 -1
  152. package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
  153. package/dist/entity/entity-storage-descriptor.js +7 -4
  154. package/dist/entity/entity-storage-descriptor.js.map +1 -1
  155. package/dist/entity/entity.d.ts +59 -0
  156. package/dist/entity/entity.d.ts.map +1 -1
  157. package/dist/entity/entity.js +60 -0
  158. package/dist/entity/entity.js.map +1 -1
  159. package/dist/handler/app-query-handler.d.ts +60 -0
  160. package/dist/handler/app-query-handler.d.ts.map +1 -0
  161. package/dist/{bus/saved-dispatcher-binding.js → handler/app-query-handler.js} +8 -12
  162. package/dist/handler/app-query-handler.js.map +1 -0
  163. package/dist/handler/generated-registry-discovery.d.ts +6 -0
  164. package/dist/handler/generated-registry-discovery.d.ts.map +1 -1
  165. package/dist/handler/generated-registry-discovery.js +71 -2
  166. package/dist/handler/generated-registry-discovery.js.map +1 -1
  167. package/dist/handler/handler-decorators.d.ts +8 -29
  168. package/dist/handler/handler-decorators.d.ts.map +1 -1
  169. package/dist/handler/handler-decorators.js +33 -210
  170. package/dist/handler/handler-decorators.js.map +1 -1
  171. package/dist/handler/spine-metadata-inventory.d.ts +99 -0
  172. package/dist/handler/spine-metadata-inventory.d.ts.map +1 -0
  173. package/dist/handler/spine-metadata-inventory.js +162 -0
  174. package/dist/handler/spine-metadata-inventory.js.map +1 -0
  175. package/dist/index.d.ts +9 -5
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +6 -3
  178. package/dist/index.js.map +1 -1
  179. package/dist/integration/external-messages.d.ts.map +1 -1
  180. package/dist/integration/external-messages.js +9 -15
  181. package/dist/integration/external-messages.js.map +1 -1
  182. package/dist/integration/integration-broker.d.ts.map +1 -1
  183. package/dist/integration/integration-broker.js +112 -6
  184. package/dist/integration/integration-broker.js.map +1 -1
  185. package/dist/integration/third-party-context.d.ts.map +1 -1
  186. package/dist/integration/third-party-context.js +7 -10
  187. package/dist/integration/third-party-context.js.map +1 -1
  188. package/dist/repository/primitive-id.js +26 -11
  189. package/dist/repository/primitive-id.js.map +1 -1
  190. package/dist/repository/repository.d.ts +75 -60
  191. package/dist/repository/repository.d.ts.map +1 -1
  192. package/dist/repository/repository.js +1757 -1818
  193. package/dist/repository/repository.js.map +1 -1
  194. package/dist/runtime/runtime.d.ts +13 -0
  195. package/dist/runtime/runtime.d.ts.map +1 -1
  196. package/dist/runtime/runtime.js +18 -0
  197. package/dist/runtime/runtime.js.map +1 -1
  198. package/dist/runtime/signal-metadata.d.ts.map +1 -1
  199. package/dist/runtime/signal-metadata.js +6 -6
  200. package/dist/runtime/signal-metadata.js.map +1 -1
  201. package/dist/runtime/signal-publisher.d.ts +0 -6
  202. package/dist/runtime/signal-publisher.d.ts.map +1 -1
  203. package/dist/runtime/signal-publisher.js +1 -9
  204. package/dist/runtime/signal-publisher.js.map +1 -1
  205. package/dist/runtime/standalone-handler-runtime.d.ts +0 -7
  206. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
  207. package/dist/runtime/standalone-handler-runtime.js +13 -99
  208. package/dist/runtime/standalone-handler-runtime.js.map +1 -1
  209. package/dist/server/managed-delivery-gate.d.ts +34 -0
  210. package/dist/server/managed-delivery-gate.d.ts.map +1 -0
  211. package/dist/server/managed-delivery-gate.js +70 -0
  212. package/dist/server/managed-delivery-gate.js.map +1 -0
  213. package/dist/server/managed-server-application.d.ts +12 -11
  214. package/dist/server/managed-server-application.d.ts.map +1 -1
  215. package/dist/server/managed-server-application.js +48 -29
  216. package/dist/server/managed-server-application.js.map +1 -1
  217. package/dist/server/node-coordinator.d.ts +18 -5
  218. package/dist/server/node-coordinator.d.ts.map +1 -1
  219. package/dist/server/node-coordinator.js +554 -84
  220. package/dist/server/node-coordinator.js.map +1 -1
  221. package/dist/server/reserved-spine-rpc-paths.json +1 -0
  222. package/dist/server/server-environment.d.ts +220 -25
  223. package/dist/server/server-environment.d.ts.map +1 -1
  224. package/dist/server/server-environment.js +734 -145
  225. package/dist/server/server-environment.js.map +1 -1
  226. package/dist/server/server-log.d.ts +7 -0
  227. package/dist/server/server-log.d.ts.map +1 -1
  228. package/dist/server/server-log.js +14 -1
  229. package/dist/server/server-log.js.map +1 -1
  230. package/dist/server/server.d.ts +60 -29
  231. package/dist/server/server.d.ts.map +1 -1
  232. package/dist/server/server.js +155 -201
  233. package/dist/server/server.js.map +1 -1
  234. package/dist/services/app-query-execution.d.ts +53 -0
  235. package/dist/services/app-query-execution.d.ts.map +1 -0
  236. package/dist/services/app-query-execution.js +408 -0
  237. package/dist/services/app-query-execution.js.map +1 -0
  238. package/dist/services/query-reader.d.ts +32 -7
  239. package/dist/services/query-reader.d.ts.map +1 -1
  240. package/dist/services/query-reader.js +22 -2
  241. package/dist/services/query-reader.js.map +1 -1
  242. package/dist/services/read-request-status.d.ts +65 -0
  243. package/dist/services/read-request-status.d.ts.map +1 -0
  244. package/dist/services/read-request-status.js +151 -0
  245. package/dist/services/read-request-status.js.map +1 -0
  246. package/dist/services/spine-services.d.ts +37 -8
  247. package/dist/services/spine-services.d.ts.map +1 -1
  248. package/dist/services/spine-services.js +1103 -470
  249. package/dist/services/spine-services.js.map +1 -1
  250. package/dist/services/trusted-reader-ingress.d.ts +92 -0
  251. package/dist/services/trusted-reader-ingress.d.ts.map +1 -0
  252. package/dist/services/trusted-reader-ingress.js +89 -0
  253. package/dist/services/trusted-reader-ingress.js.map +1 -0
  254. package/dist/spi/handler-registry.d.ts +2 -0
  255. package/dist/spi/handler-registry.d.ts.map +1 -1
  256. package/dist/spi/handler-registry.js +1 -1
  257. package/dist/spi/handler-registry.js.map +1 -1
  258. package/dist/stand/event-origin-filter.js +3 -3
  259. package/dist/stand/event-origin-filter.js.map +1 -1
  260. package/dist/stand/read-side-filter-engine.d.ts +46 -0
  261. package/dist/stand/read-side-filter-engine.d.ts.map +1 -0
  262. package/dist/stand/read-side-filter-engine.js +356 -0
  263. package/dist/stand/read-side-filter-engine.js.map +1 -0
  264. package/dist/stand/read-side-filter.d.ts +247 -0
  265. package/dist/stand/read-side-filter.d.ts.map +1 -0
  266. package/dist/stand/read-side-filter.js +39 -0
  267. package/dist/stand/read-side-filter.js.map +1 -0
  268. package/dist/stand/read-side-message.d.ts +66 -0
  269. package/dist/stand/read-side-message.d.ts.map +1 -0
  270. package/dist/stand/read-side-message.js +167 -0
  271. package/dist/stand/read-side-message.js.map +1 -0
  272. package/dist/stand/stand-direct-delivery.d.ts +161 -0
  273. package/dist/stand/stand-direct-delivery.d.ts.map +1 -0
  274. package/dist/stand/stand-direct-delivery.js +210 -0
  275. package/dist/stand/stand-direct-delivery.js.map +1 -0
  276. package/dist/stand/stand.d.ts +94 -42
  277. package/dist/stand/stand.d.ts.map +1 -1
  278. package/dist/stand/stand.js +460 -60
  279. package/dist/stand/stand.js.map +1 -1
  280. package/dist/stand/subscription-observer.d.ts.map +1 -1
  281. package/dist/stand/subscription-observer.js +157 -40
  282. package/dist/stand/subscription-observer.js.map +1 -1
  283. package/dist/stand/subscription-read-filters.d.ts +40 -0
  284. package/dist/stand/subscription-read-filters.d.ts.map +1 -0
  285. package/dist/stand/subscription-read-filters.js +91 -0
  286. package/dist/stand/subscription-read-filters.js.map +1 -0
  287. package/dist/stand/subscription-reader-binding.d.ts +20 -0
  288. package/dist/stand/subscription-reader-binding.d.ts.map +1 -0
  289. package/dist/stand/subscription-reader-binding.js +56 -0
  290. package/dist/stand/subscription-reader-binding.js.map +1 -0
  291. package/dist/stand/subscription-records.d.ts +30 -3
  292. package/dist/stand/subscription-records.d.ts.map +1 -1
  293. package/dist/stand/subscription-records.js +61 -16
  294. package/dist/stand/subscription-records.js.map +1 -1
  295. package/dist/stand/subscription-registry.d.ts +54 -15
  296. package/dist/stand/subscription-registry.d.ts.map +1 -1
  297. package/dist/stand/subscription-registry.js +164 -41
  298. package/dist/stand/subscription-registry.js.map +1 -1
  299. package/dist/stand/subscription-runtime.d.ts +12 -5
  300. package/dist/stand/subscription-runtime.d.ts.map +1 -1
  301. package/dist/stand/subscription-runtime.js +183 -34
  302. package/dist/stand/subscription-runtime.js.map +1 -1
  303. package/dist/testing/index.d.ts.map +1 -1
  304. package/dist/testing/index.js +4 -3
  305. package/dist/testing/index.js.map +1 -1
  306. package/dist/tsconfig.tsbuildinfo +1 -1
  307. package/package.json +14 -14
  308. package/dist/agent/agent-admission.d.ts +0 -80
  309. package/dist/agent/agent-admission.d.ts.map +0 -1
  310. package/dist/agent/agent-admission.js +0 -127
  311. package/dist/agent/agent-admission.js.map +0 -1
  312. package/dist/agent/agent-ai-runtime.d.ts +0 -76
  313. package/dist/agent/agent-ai-runtime.d.ts.map +0 -1
  314. package/dist/agent/agent-ai-runtime.js +0 -1269
  315. package/dist/agent/agent-ai-runtime.js.map +0 -1
  316. package/dist/agent/agent-execution-fault.d.ts +0 -18
  317. package/dist/agent/agent-execution-fault.d.ts.map +0 -1
  318. package/dist/agent/agent-execution-fault.js.map +0 -1
  319. package/dist/agent/agent-execution-session.d.ts +0 -103
  320. package/dist/agent/agent-execution-session.d.ts.map +0 -1
  321. package/dist/agent/agent-execution-session.js +0 -238
  322. package/dist/agent/agent-execution-session.js.map +0 -1
  323. package/dist/agent/agent-interaction-audit.d.ts +0 -58
  324. package/dist/agent/agent-interaction-audit.d.ts.map +0 -1
  325. package/dist/agent/agent-interaction-audit.js +0 -114
  326. package/dist/agent/agent-interaction-audit.js.map +0 -1
  327. package/dist/agent/agent-interaction-events.d.ts +0 -40
  328. package/dist/agent/agent-interaction-events.d.ts.map +0 -1
  329. package/dist/agent/agent-interaction-events.js +0 -129
  330. package/dist/agent/agent-interaction-events.js.map +0 -1
  331. package/dist/agent/agent-mcp-budget.d.ts +0 -125
  332. package/dist/agent/agent-mcp-budget.d.ts.map +0 -1
  333. package/dist/agent/agent-mcp-budget.js +0 -566
  334. package/dist/agent/agent-mcp-budget.js.map +0 -1
  335. package/dist/agent/agent-mcp-host.d.ts +0 -125
  336. package/dist/agent/agent-mcp-host.d.ts.map +0 -1
  337. package/dist/agent/agent-mcp-host.js.map +0 -1
  338. package/dist/agent/agent-mcp-runtime.d.ts.map +0 -1
  339. package/dist/agent/agent-mcp-runtime.js.map +0 -1
  340. package/dist/agent/agent-read-runtime.d.ts +0 -70
  341. package/dist/agent/agent-read-runtime.d.ts.map +0 -1
  342. package/dist/agent/agent-read-runtime.js +0 -320
  343. package/dist/agent/agent-read-runtime.js.map +0 -1
  344. package/dist/agent/agent-revisions.d.ts +0 -35
  345. package/dist/agent/agent-revisions.d.ts.map +0 -1
  346. package/dist/agent/agent-revisions.js +0 -133
  347. package/dist/agent/agent-revisions.js.map +0 -1
  348. package/dist/agent/agent-scheduler.d.ts +0 -99
  349. package/dist/agent/agent-scheduler.d.ts.map +0 -1
  350. package/dist/agent/agent-scheduler.js +0 -398
  351. package/dist/agent/agent-scheduler.js.map +0 -1
  352. package/dist/bus/saved-dispatcher-binding.d.ts +0 -53
  353. package/dist/bus/saved-dispatcher-binding.d.ts.map +0 -1
  354. package/dist/bus/saved-dispatcher-binding.js.map +0 -1
  355. package/dist/delivery/delivery-run-coordinator.d.ts +0 -218
  356. package/dist/delivery/delivery-run-coordinator.d.ts.map +0 -1
  357. package/dist/delivery/delivery-run-coordinator.js +0 -609
  358. package/dist/delivery/delivery-run-coordinator.js.map +0 -1
  359. package/dist/delivery/parked-delivery-obligations.d.ts +0 -182
  360. package/dist/delivery/parked-delivery-obligations.d.ts.map +0 -1
  361. package/dist/delivery/parked-delivery-obligations.js +0 -390
  362. package/dist/delivery/parked-delivery-obligations.js.map +0 -1
  363. package/dist/server/environment-attachment.d.ts +0 -356
  364. package/dist/server/environment-attachment.d.ts.map +0 -1
  365. package/dist/server/environment-attachment.js +0 -2062
  366. package/dist/server/environment-attachment.js.map +0 -1
  367. package/dist/server/environment-delivery-records.d.ts +0 -77
  368. package/dist/server/environment-delivery-records.d.ts.map +0 -1
  369. package/dist/server/environment-delivery-records.js +0 -282
  370. package/dist/server/environment-delivery-records.js.map +0 -1
  371. package/dist/server/environment-delivery-worker.d.ts +0 -161
  372. package/dist/server/environment-delivery-worker.d.ts.map +0 -1
  373. package/dist/server/environment-delivery-worker.js +0 -973
  374. package/dist/server/environment-delivery-worker.js.map +0 -1
@@ -1,5 +1,18 @@
1
- import { type Subscription, type SubscriptionId } from "@spine-event-engine/proto/client";
2
- import { type StorageContext, type StorageFactory } from "@spine-event-engine/storage";
1
+ import { type ReaderIdentity } from "@spine-event-engine/core/spi/trusted-reader";
2
+ import { type Subscription, type SubscriptionId, type SubscriptionRecord } from "@spine-event-engine/proto/client";
3
+ import { RecordSpec, StorageGroup, type StorageContext, type StorageFactory } from "@spine-event-engine/storage";
4
+ import { type StoragePreparationMode } from "@spine-event-engine/storage/provider";
5
+ /**
6
+ * Maps a logical Bounded Context name to one provider-safe durable record family.
7
+ *
8
+ * @param contextName Logical Bounded Context name.
9
+ * @returns A stable physical StorageGroup.
10
+ */
11
+ export declare const subscriptionRecordGroup: (contextName: string) => StorageGroup;
12
+ /**
13
+ * Exact durable subscription layout shared by the registry and preparation.
14
+ */
15
+ export declare const subscriptionRecordSpec: RecordSpec<SubscriptionId, SubscriptionRecord>;
3
16
  /**
4
17
  * Describes one canonical durable subscription lifecycle entry.
5
18
  */
@@ -8,6 +21,10 @@ interface StandSubscriptionEntryBase {
8
21
  * Provides the subscription definition.
9
22
  */
10
23
  readonly subscription: Subscription;
24
+ /**
25
+ * Stable verified reader binding, absent only in legacy records.
26
+ */
27
+ readonly reader?: ReaderIdentity;
11
28
  /**
12
29
  * Records when the definition was created, in milliseconds since Unix epoch.
13
30
  */
@@ -73,11 +90,16 @@ export type StandActivateResult = Readonly<{
73
90
  * Identifies an absent or expired definition.
74
91
  */
75
92
  kind: "missing" | "expired";
93
+ }> | Readonly<{
94
+ /**
95
+ * The current record is bound to a different or unverifiable reader.
96
+ */
97
+ kind: "denied";
76
98
  }>;
77
99
  /**
78
100
  * Identifies the outcome of deleting a durable subscription definition.
79
101
  */
80
- export type StandDeleteResult = "deleted" | "missing";
102
+ export type StandDeleteResult = "deleted" | "missing" | "denied";
81
103
  /**
82
104
  * Describes one finite cleanup pass.
83
105
  */
@@ -120,22 +142,25 @@ export interface StandSubscriptionRegistry {
120
142
  *
121
143
  * @param subscription Provides the definition to create.
122
144
  * @returns Resolves to the creation outcome.
145
+ * @param reader The verified reader facts for this operation.
123
146
  */
124
- create(subscription: Subscription): Promise<StandCreateResult>;
147
+ create(subscription: Subscription, reader?: ReaderIdentity): Promise<StandCreateResult>;
125
148
  /**
126
149
  * Activates the definition identified by an explicit subscription ID.
127
150
  *
128
151
  * @param id Identifies the definition to activate.
129
152
  * @returns Resolves to the activation outcome.
153
+ * @param reader The verified reader facts for this operation.
130
154
  */
131
- activate(id: SubscriptionId): Promise<StandActivateResult>;
155
+ activate(id: SubscriptionId, reader?: ReaderIdentity): Promise<StandActivateResult>;
132
156
  /**
133
157
  * Deletes the definition identified by an explicit subscription ID.
134
158
  *
135
159
  * @param id Identifies the definition to delete.
136
160
  * @returns Resolves to the deletion outcome.
161
+ * @param reader The verified reader facts for this operation.
137
162
  */
138
- delete(id: SubscriptionId): Promise<StandDeleteResult>;
163
+ delete(id: SubscriptionId, reader?: ReaderIdentity): Promise<StandDeleteResult>;
139
164
  /**
140
165
  * Gets an isolated current definition, when it exists.
141
166
  *
@@ -176,22 +201,25 @@ export declare class InMemorySubscriptionRegistry implements StandSubscriptionRe
176
201
  *
177
202
  * @param subscription Provides the definition to create.
178
203
  * @returns Resolves to the creation outcome.
204
+ * @param reader The verified reader facts for this operation.
179
205
  */
180
- create(subscription: Subscription): Promise<StandCreateResult>;
206
+ create(subscription: Subscription, reader?: ReaderIdentity): Promise<StandCreateResult>;
181
207
  /**
182
208
  * Activates an unexpired in-memory pending definition.
183
209
  *
184
210
  * @param value Identifies the definition to activate.
185
211
  * @returns Resolves to the activation outcome.
212
+ * @param reader The verified reader facts for this operation.
186
213
  */
187
- activate(value: SubscriptionId): Promise<StandActivateResult>;
214
+ activate(value: SubscriptionId, reader?: ReaderIdentity): Promise<StandActivateResult>;
188
215
  /**
189
216
  * Deletes an in-memory definition, when present.
190
217
  *
191
218
  * @param value Identifies the definition to delete.
192
219
  * @returns Resolves to the deletion outcome.
220
+ * @param reader The verified reader facts for this operation.
193
221
  */
194
- delete(value: SubscriptionId): Promise<StandDeleteResult>;
222
+ delete(value: SubscriptionId, reader?: ReaderIdentity): Promise<StandDeleteResult>;
195
223
  /**
196
224
  * Gets an isolated in-memory definition, when present.
197
225
  *
@@ -224,37 +252,48 @@ export declare class InMemorySubscriptionRegistry implements StandSubscriptionRe
224
252
  export declare class StorageSubscriptionRegistry implements StandSubscriptionRegistry {
225
253
  #private;
226
254
  /**
227
- * Indicates that the backing storage owns durable definitions.
255
+ * Indicates that the backing storage retains durable definitions.
228
256
  */
229
257
  readonly persistent = true;
230
258
  /**
231
259
  * Creates a registry backed by one compare-and-set-capable record handle.
232
260
  *
233
- * @param context Identifies the storage namespace.
261
+ * @param context Identifies the storage context.
234
262
  * @param storageFactory Creates the registry record handle.
263
+ * @param storageGroup Selects the physical subscription record family.
264
+ */
265
+ constructor(context: StorageContext, storageFactory: StorageFactory, storageGroup: StorageGroup);
266
+ /**
267
+ * Prepares this registry's captured factory, context, and physical group.
268
+ *
269
+ * @param mode Required preparation mode.
270
+ * @returns Completion of storage preparation.
235
271
  */
236
- constructor(context: StorageContext, storageFactory: StorageFactory);
272
+ prepare(mode: StoragePreparationMode): Promise<void>;
237
273
  /**
238
274
  * Creates a pending durable definition or finds its identical predecessor.
239
275
  *
240
276
  * @param subscription Provides the definition to create.
241
277
  * @returns Resolves to the creation outcome.
278
+ * @param reader The verified reader facts for this operation.
242
279
  */
243
- create(subscription: Subscription): Promise<StandCreateResult>;
280
+ create(subscription: Subscription, reader?: ReaderIdentity): Promise<StandCreateResult>;
244
281
  /**
245
282
  * Activates an unexpired durable pending definition.
246
283
  *
247
284
  * @param value Identifies the definition to activate.
248
285
  * @returns Resolves to the activation outcome.
286
+ * @param reader The verified reader facts for this operation.
249
287
  */
250
- activate(value: SubscriptionId): Promise<StandActivateResult>;
288
+ activate(value: SubscriptionId, reader?: ReaderIdentity): Promise<StandActivateResult>;
251
289
  /**
252
290
  * Deletes a durable definition after observing its current record.
253
291
  *
254
292
  * @param value Identifies the definition to delete.
255
293
  * @returns Resolves to the deletion outcome.
294
+ * @param reader The verified reader facts for this operation.
256
295
  */
257
- delete(value: SubscriptionId): Promise<StandDeleteResult>;
296
+ delete(value: SubscriptionId, reader?: ReaderIdentity): Promise<StandDeleteResult>;
258
297
  /**
259
298
  * Gets an isolated durable definition, when present.
260
299
  *
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-registry.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-registry.d.ts","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,40 @@
12
12
  * the License.
13
13
  */
14
14
  import { Time } from "@spine-event-engine/core/time";
15
+ import { createHash } from "node:crypto";
16
+ import { ReaderIdentities } from "@spine-event-engine/core/spi/trusted-reader";
15
17
  import { clone, ScalarType, toBinary } from "@bufbuild/protobuf";
16
18
  import { SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS } from "@spine-event-engine/core/spi/subscription-lifecycle";
19
+ import { TenantIdSchema } from "@spine-event-engine/proto";
17
20
  import { SubscriptionIdSchema, SubscriptionSchema, SubscriptionStatus, } from "@spine-event-engine/proto/client";
18
- import { ColumnTypes, RecordColumn, RecordSpec, } from "@spine-event-engine/storage";
21
+ import { ColumnTypes, RecordColumn, RecordSpec, StorageGroup, } from "@spine-event-engine/storage";
22
+ import { StoragePreparations, } from "@spine-event-engine/storage/provider";
19
23
  import { StandSubscriptionRecords } from "./subscription-records.js";
20
24
  const cleanupPageSize = 25;
25
+ /**
26
+ * Maps a logical Bounded Context name to one provider-safe durable record family.
27
+ *
28
+ * @param contextName Logical Bounded Context name.
29
+ * @returns A stable physical StorageGroup.
30
+ */
31
+ export const subscriptionRecordGroup = (contextName) => {
32
+ const digest = createHash("sha256").update(contextName, "utf8").digest("hex").slice(0, 40);
33
+ return new StorageGroup(`sub_${digest}`);
34
+ };
35
+ /**
36
+ * Exact durable subscription layout shared by the registry and preparation.
37
+ */
38
+ export const subscriptionRecordSpec = new RecordSpec({
39
+ recordType: StandSubscriptionRecords.schema,
40
+ idSchema: SubscriptionIdSchema,
41
+ extractId: (record) => record.id ?? fail("Stand subscription record is invalid."),
42
+ columns: [
43
+ new RecordColumn("status", ColumnTypes.fromField(StandSubscriptionRecords.schema.field.status), (record) => record.status),
44
+ new RecordColumn("when_activation_expires", ColumnTypes.scalar(ScalarType.INT64), (record) => record.whenActivationExpires === undefined
45
+ ? Number.MAX_SAFE_INTEGER
46
+ : time(record.whenActivationExpires)),
47
+ ],
48
+ });
21
49
  /**
22
50
  * Reports an ID reused with distinct subscription content.
23
51
  */
@@ -51,14 +79,16 @@ export class InMemorySubscriptionRegistry {
51
79
  *
52
80
  * @param subscription Provides the definition to create.
53
81
  * @returns Resolves to the creation outcome.
82
+ * @param reader The verified reader facts for this operation.
54
83
  */
55
- async create(subscription) {
84
+ async create(subscription, reader) {
56
85
  await Promise.resolve();
57
86
  this.#open();
58
87
  const id = subscriptionId(subscription);
59
88
  const existing = this.#entries.get(id);
60
89
  if (existing !== undefined) {
61
- if (!sameSubscription(existing.subscription, subscription))
90
+ if (!sameSubscription(existing.subscription, subscription) ||
91
+ !ReaderIdentities.same(existing.reader, reader))
62
92
  throw new StandConflictError(id);
63
93
  return Promise.resolve({ kind: "existing", entry: copy(existing) });
64
94
  }
@@ -68,6 +98,7 @@ export class InMemorySubscriptionRegistry {
68
98
  phase: "pending",
69
99
  createdAt,
70
100
  pendingUntil: createdAt + SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS,
101
+ ...(reader === undefined ? {} : { reader }),
71
102
  });
72
103
  this.#entries.set(id, entry);
73
104
  return Promise.resolve({ kind: "created", entry: copy(entry) });
@@ -77,14 +108,17 @@ export class InMemorySubscriptionRegistry {
77
108
  *
78
109
  * @param value Identifies the definition to activate.
79
110
  * @returns Resolves to the activation outcome.
111
+ * @param reader The verified reader facts for this operation.
80
112
  */
81
- async activate(value) {
113
+ async activate(value, reader) {
82
114
  await Promise.resolve();
83
115
  this.#open();
84
116
  const id = idValue(value);
85
117
  const entry = this.#entries.get(id);
86
118
  if (entry === undefined)
87
119
  return Promise.resolve({ kind: "missing" });
120
+ if (reader !== undefined && !ReaderIdentities.matches(entry.reader, reader))
121
+ return { kind: "denied" };
88
122
  if (entry.phase === "active")
89
123
  return Promise.resolve({ kind: "active", entry: copy(entry) });
90
124
  if (expiresAt(entry) <= Time.currentTimeMillis()) {
@@ -95,6 +129,7 @@ export class InMemorySubscriptionRegistry {
95
129
  subscription: entry.subscription,
96
130
  phase: "active",
97
131
  createdAt: entry.createdAt,
132
+ ...(entry.reader === undefined ? {} : { reader: entry.reader }),
98
133
  });
99
134
  this.#entries.set(id, active);
100
135
  return Promise.resolve({ kind: "activated", entry: copy(active) });
@@ -104,11 +139,19 @@ export class InMemorySubscriptionRegistry {
104
139
  *
105
140
  * @param value Identifies the definition to delete.
106
141
  * @returns Resolves to the deletion outcome.
142
+ * @param reader The verified reader facts for this operation.
107
143
  */
108
- async delete(value) {
144
+ async delete(value, reader) {
109
145
  await Promise.resolve();
110
146
  this.#open();
111
- return Promise.resolve(this.#entries.delete(idValue(value)) ? "deleted" : "missing");
147
+ const id = idValue(value);
148
+ const entry = this.#entries.get(id);
149
+ if (entry === undefined)
150
+ return "missing";
151
+ if (reader !== undefined && !ReaderIdentities.matches(entry.reader, reader))
152
+ return "denied";
153
+ this.#entries.delete(id);
154
+ return "deleted";
112
155
  }
113
156
  /**
114
157
  * Gets an isolated in-memory definition, when present.
@@ -170,7 +213,9 @@ export class InMemorySubscriptionRegistry {
170
213
  this.#entries.clear();
171
214
  return Promise.resolve();
172
215
  }
173
- #open() {
216
+ /**
217
+ * Opens the configured boundary after lifecycle preflight.
218
+ */ #open() {
174
219
  if (this.#closed)
175
220
  throw new Error("Stand subscription registry is closed.");
176
221
  }
@@ -181,41 +226,53 @@ export class InMemorySubscriptionRegistry {
181
226
  export class StorageSubscriptionRegistry {
182
227
  // prettier-ignore
183
228
  /**
184
- * Indicates that the backing storage owns durable definitions.
229
+ * Indicates that the backing storage retains durable definitions.
185
230
  */
186
231
  persistent = true;
232
+ /**
233
+ * Physical record family selected from the logical Bounded Context name.
234
+ */
235
+ #storageGroup;
236
+ #context;
237
+ #storageFactory;
187
238
  #storage;
188
239
  #closed = false;
189
240
  /**
190
241
  * Creates a registry backed by one compare-and-set-capable record handle.
191
242
  *
192
- * @param context Identifies the storage namespace.
243
+ * @param context Identifies the storage context.
193
244
  * @param storageFactory Creates the registry record handle.
245
+ * @param storageGroup Selects the physical subscription record family.
194
246
  */
195
- constructor(context, storageFactory) {
196
- this.#storage = storageFactory.createRecordStorage(context, new RecordSpec({
197
- recordType: StandSubscriptionRecords.schema,
198
- idSchema: SubscriptionIdSchema,
199
- extractId: (record) => record.id ?? fail("Stand subscription record is invalid."),
200
- columns: [
201
- new RecordColumn("status", ColumnTypes.fromField(StandSubscriptionRecords.schema.field.status), (record) => record.status),
202
- new RecordColumn("when_activation_expires", ColumnTypes.scalar(ScalarType.INT64), (record) => record.whenActivationExpires === undefined
203
- ? Number.MAX_SAFE_INTEGER
204
- : time(record.whenActivationExpires)),
205
- ],
206
- }));
247
+ constructor(context, storageFactory, storageGroup) {
248
+ this.#context = context.multitenant
249
+ ? { name: context.name, multitenant: true, tenantId: clone(TenantIdSchema, context.tenantId) }
250
+ : { name: context.name, multitenant: false };
251
+ this.#storageFactory = storageFactory;
252
+ this.#storageGroup = storageGroup;
253
+ this.#storage = storageFactory.createRecordStorage(this.#context, subscriptionRecordSpec, this.#storageGroup);
207
254
  if (!this.#storage.atomicCompareAndSet) {
208
255
  this.#storage.close();
209
256
  throw new Error("Stand subscription storage must support atomic compare-and-set.");
210
257
  }
211
258
  }
259
+ /**
260
+ * Prepares this registry's captured factory, context, and physical group.
261
+ *
262
+ * @param mode Required preparation mode.
263
+ * @returns Completion of storage preparation.
264
+ */
265
+ prepare(mode) {
266
+ return StoragePreparations.for(this.#storageFactory).prepareRecord(this.#context, subscriptionRecordSpec, this.#storageGroup, mode);
267
+ }
212
268
  /**
213
269
  * Creates a pending durable definition or finds its identical predecessor.
214
270
  *
215
271
  * @param subscription Provides the definition to create.
216
272
  * @returns Resolves to the creation outcome.
273
+ * @param reader The verified reader facts for this operation.
217
274
  */
218
- async create(subscription) {
275
+ async create(subscription, reader) {
219
276
  this.#open();
220
277
  const value = subscriptionId(subscription);
221
278
  const recordId = subscription.id;
@@ -225,7 +282,8 @@ export class StorageSubscriptionRegistry {
225
282
  const current = await this.#storage.read(recordId);
226
283
  if (current !== undefined) {
227
284
  const entry = StandSubscriptionRecords.read(current, value);
228
- if (!sameSubscription(entry.subscription, subscription))
285
+ if (!sameSubscription(entry.subscription, subscription) ||
286
+ !ReaderIdentities.same(entry.reader, reader))
229
287
  throw new StandConflictError(value);
230
288
  return { kind: "existing", entry: copy(entry) };
231
289
  }
@@ -235,6 +293,7 @@ export class StorageSubscriptionRegistry {
235
293
  phase: "pending",
236
294
  createdAt,
237
295
  pendingUntil: createdAt + SUBSCRIPTION_ACTIVATION_HANDSHAKE_MS,
296
+ ...(reader === undefined ? {} : { reader }),
238
297
  });
239
298
  const next = StandSubscriptionRecords.write(entry);
240
299
  try {
@@ -242,23 +301,38 @@ export class StorageSubscriptionRegistry {
242
301
  return { kind: "created", entry: copy(entry) };
243
302
  }
244
303
  catch (error) {
245
- const observed = await this.#storage.read(recordId);
246
- if (observed !== undefined) {
247
- const observedEntry = StandSubscriptionRecords.read(observed, value);
248
- if (sameSubscription(observedEntry.subscription, subscription))
249
- return { kind: "created", entry: copy(observedEntry) };
250
- }
251
- throw error;
304
+ return this.#recoverCreate(recordId, value, subscription, reader, error);
252
305
  }
253
306
  }
254
307
  }
308
+ /**
309
+ * Distinguishes a committed ambiguous write from a failed record write.
310
+ *
311
+ * @param recordId The durable record identifier.
312
+ * @param value Serialized record bytes returned by storage.
313
+ * @param subscription The subscription definition being processed.
314
+ * @param reader The verified reader facts for this operation.
315
+ * @param error The failure being classified or propagated.
316
+ * @returns The recovered created definition.
317
+ */
318
+ async #recoverCreate(recordId, value, subscription, reader, error) {
319
+ const observed = await this.#storage.read(recordId);
320
+ if (observed !== undefined) {
321
+ const observedEntry = StandSubscriptionRecords.read(observed, value);
322
+ if (sameSubscription(observedEntry.subscription, subscription) &&
323
+ ReaderIdentities.same(observedEntry.reader, reader))
324
+ return { kind: "created", entry: copy(observedEntry) };
325
+ }
326
+ throw error;
327
+ }
255
328
  /**
256
329
  * Activates an unexpired durable pending definition.
257
330
  *
258
331
  * @param value Identifies the definition to activate.
259
332
  * @returns Resolves to the activation outcome.
333
+ * @param reader The verified reader facts for this operation.
260
334
  */
261
- async activate(value) {
335
+ async activate(value, reader) {
262
336
  this.#open();
263
337
  const id = idValue(value);
264
338
  for (;;) {
@@ -266,6 +340,8 @@ export class StorageSubscriptionRegistry {
266
340
  if (current === undefined)
267
341
  return { kind: "missing" };
268
342
  const entry = StandSubscriptionRecords.read(current, id);
343
+ if (reader !== undefined && !ReaderIdentities.matches(entry.reader, reader))
344
+ return { kind: "denied" };
269
345
  if (entry.phase === "active")
270
346
  return { kind: "active", entry: copy(entry) };
271
347
  if (expiresAt(entry) <= Time.currentTimeMillis()) {
@@ -277,6 +353,7 @@ export class StorageSubscriptionRegistry {
277
353
  subscription: entry.subscription,
278
354
  phase: "active",
279
355
  createdAt: entry.createdAt,
356
+ ...(entry.reader === undefined ? {} : { reader: entry.reader }),
280
357
  });
281
358
  if (await this.#storage.compareAndSet(value, current, StandSubscriptionRecords.write(active)))
282
359
  return { kind: "activated", entry: copy(active) };
@@ -287,13 +364,17 @@ export class StorageSubscriptionRegistry {
287
364
  *
288
365
  * @param value Identifies the definition to delete.
289
366
  * @returns Resolves to the deletion outcome.
367
+ * @param reader The verified reader facts for this operation.
290
368
  */
291
- async delete(value) {
369
+ async delete(value, reader) {
292
370
  this.#open();
293
371
  for (;;) {
294
372
  const current = await this.#storage.read(value);
295
373
  if (current === undefined)
296
374
  return "missing";
375
+ if (reader !== undefined &&
376
+ !ReaderIdentities.matches(StandSubscriptionRecords.read(current, idValue(value)).reader, reader))
377
+ return "denied";
297
378
  if (await this.#storage.compareAndSet(value, current, undefined))
298
379
  return "deleted";
299
380
  }
@@ -362,43 +443,85 @@ export class StorageSubscriptionRegistry {
362
443
  this.#storage.close();
363
444
  }
364
445
  }
365
- #open() {
446
+ /**
447
+ * Opens the configured boundary after lifecycle preflight.
448
+ */ #open() {
366
449
  if (this.#closed)
367
450
  throw new Error("Stand subscription registry is closed.");
368
451
  }
369
452
  }
370
- function idValue(id) {
453
+ /**
454
+ * Reads a nonblank subscription ID from a Proto identifier.
455
+ *
456
+ * @param id The stable identifier for this record.
457
+ * @returns The validated subscription ID.
458
+ */ function idValue(id) {
371
459
  if (typeof id.value !== "string" || id.value.trim() === "")
372
460
  throw new TypeError("Stand subscription ID must be non-blank.");
373
461
  return id.value;
374
462
  }
375
- function subscriptionId(subscription) {
463
+ /**
464
+ * Reads the validated opaque ID from a subscription definition.
465
+ *
466
+ * @param subscription The subscription definition being processed.
467
+ * @returns The subscription ID.
468
+ */ function subscriptionId(subscription) {
376
469
  const topicId = subscription.topic?.id?.value;
377
470
  if (subscription.id === undefined || typeof topicId !== "string" || topicId.trim() === "")
378
471
  throw new TypeError("Stand subscription ID and topic ID must be non-blank.");
379
472
  return idValue(subscription.id);
380
473
  }
381
- function expiresAt(entry) {
474
+ /**
475
+ * Reads the expiry timestamp from a pending subscription record.
476
+ *
477
+ * @param entry Retained subscription entry.
478
+ * @returns The stored expiry timestamp.
479
+ */ function expiresAt(entry) {
382
480
  if (entry.phase !== "pending")
383
481
  throw new Error("Stand subscription record is invalid.");
384
482
  return entry.pendingUntil;
385
483
  }
386
- function copy(entry) {
484
+ /**
485
+ * Clones a retained subscription entry before returning it.
486
+ *
487
+ * @param entry Retained subscription entry.
488
+ * @returns The detached subscription entry.
489
+ */ function copy(entry) {
387
490
  return freeze({ ...entry, subscription: clone(SubscriptionSchema, entry.subscription) });
388
491
  }
389
- function freeze(entry) {
492
+ /**
493
+ * Prevents mutation of a returned subscription entry.
494
+ *
495
+ * @param entry Retained subscription entry.
496
+ * @returns The frozen entry.
497
+ */ function freeze(entry) {
390
498
  return Object.freeze(entry);
391
499
  }
392
- function sameSubscription(left, right) {
500
+ /**
501
+ * Compares canonical bytes of two subscription definitions.
502
+ *
503
+ * @param left First value being compared.
504
+ * @param right Second value being compared.
505
+ * @returns Whether the definitions are equal.
506
+ */ function sameSubscription(left, right) {
393
507
  const leftBytes = toBinary(SubscriptionSchema, left);
394
508
  const rightBytes = toBinary(SubscriptionSchema, right);
395
509
  return (leftBytes.length === rightBytes.length &&
396
510
  leftBytes.every((value, index) => value === rightBytes[index]));
397
511
  }
398
- function time(value) {
512
+ /**
513
+ * Converts a Proto timestamp to epoch milliseconds.
514
+ *
515
+ * @param value Stored Proto timestamp.
516
+ * @returns The timestamp in milliseconds.
517
+ */ function time(value) {
399
518
  return Number(value.seconds) * 1000 + Math.floor(value.nanos / 1_000_000);
400
519
  }
401
- function fail(message) {
520
+ /**
521
+ * Raises an invalid-record error with the supplied reason.
522
+ *
523
+ * @param message Public validation or error message.
524
+ */ function fail(message) {
402
525
  throw new Error(message);
403
526
  }
404
527
  //# sourceMappingURL=subscription-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-registry.js","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-registry.js","sourceRoot":"","sources":["../../src/stand/subscription-registry.ts"],"names":[],"mappings":"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"}