@zlink-systems/framework 0.10.0

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 (1121) hide show
  1. package/LICENSE +105 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/contracts/Actors/ZLinkActor.d.ts +7 -0
  4. package/dist/contracts/Actors/ZLinkActor.js +2 -0
  5. package/dist/contracts/Actors/ZLinkActorClient.d.ts +15 -0
  6. package/dist/contracts/Actors/ZLinkActorClient.js +2 -0
  7. package/dist/contracts/Actors/ZLinkActorContext.d.ts +14 -0
  8. package/dist/contracts/Actors/ZLinkActorContext.js +2 -0
  9. package/dist/contracts/Actors/ZLinkActorFactory.d.ts +34 -0
  10. package/dist/contracts/Actors/ZLinkActorFactory.js +2 -0
  11. package/dist/contracts/Actors/ZLinkActorManager.d.ts +34 -0
  12. package/dist/contracts/Actors/ZLinkActorManager.js +2 -0
  13. package/dist/contracts/Actors/index.d.ts +5 -0
  14. package/dist/contracts/Actors/index.js +21 -0
  15. package/dist/contracts/Channels/Calls.d.ts +28 -0
  16. package/dist/contracts/Channels/Calls.js +2 -0
  17. package/dist/contracts/Channels/IZLinkChannelClient.d.ts +5 -0
  18. package/dist/contracts/Channels/IZLinkChannelClient.js +2 -0
  19. package/dist/contracts/Channels/IZLinkFanoutClient.d.ts +11 -0
  20. package/dist/contracts/Channels/IZLinkFanoutClient.js +2 -0
  21. package/dist/contracts/Channels/RouteCalls.d.ts +11 -0
  22. package/dist/contracts/Channels/RouteCalls.js +2 -0
  23. package/dist/contracts/Channels/index.d.ts +4 -0
  24. package/dist/contracts/Channels/index.js +20 -0
  25. package/dist/contracts/Codecs/IZLinkCodecRegistryBuilder.d.ts +14 -0
  26. package/dist/contracts/Codecs/IZLinkCodecRegistryBuilder.js +2 -0
  27. package/dist/contracts/Codecs/ZLinkMessageSerializer.d.ts +5 -0
  28. package/dist/contracts/Codecs/ZLinkMessageSerializer.js +2 -0
  29. package/dist/contracts/Codecs/index.d.ts +2 -0
  30. package/dist/contracts/Codecs/index.js +18 -0
  31. package/dist/contracts/Common/ActorRef.d.ts +7 -0
  32. package/dist/contracts/Common/ActorRef.js +2 -0
  33. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  34. package/dist/contracts/Common/CoreTypes.js +2 -0
  35. package/dist/contracts/Common/Message.d.ts +9 -0
  36. package/dist/contracts/Common/Message.js +2 -0
  37. package/dist/contracts/Common/ZLinkEncodedPayload.d.ts +12 -0
  38. package/dist/contracts/Common/ZLinkEncodedPayload.js +41 -0
  39. package/dist/contracts/Common/ZLinkMessage.d.ts +25 -0
  40. package/dist/contracts/Common/ZLinkMessage.js +127 -0
  41. package/dist/contracts/Common/ZLinkMessageMetadata.d.ts +10 -0
  42. package/dist/contracts/Common/ZLinkMessageMetadata.js +49 -0
  43. package/dist/contracts/Common/ZLinkProviderResolver.d.ts +5 -0
  44. package/dist/contracts/Common/ZLinkProviderResolver.js +2 -0
  45. package/dist/contracts/Common/encoded-payload-storage.d.ts +3 -0
  46. package/dist/contracts/Common/encoded-payload-storage.js +18 -0
  47. package/dist/contracts/Common/index.d.ts +5 -0
  48. package/dist/contracts/Common/index.js +24 -0
  49. package/dist/contracts/Configuration/Builders.d.ts +153 -0
  50. package/dist/contracts/Configuration/Builders.js +2 -0
  51. package/dist/contracts/Configuration/CodecContentType.d.ts +2 -0
  52. package/dist/contracts/Configuration/CodecContentType.js +68 -0
  53. package/dist/contracts/Configuration/CodecSerializerSelection.d.ts +9 -0
  54. package/dist/contracts/Configuration/CodecSerializerSelection.js +15 -0
  55. package/dist/contracts/Configuration/Configs.d.ts +23 -0
  56. package/dist/contracts/Configuration/Configs.js +2 -0
  57. package/dist/contracts/Configuration/ConfigurationException.d.ts +3 -0
  58. package/dist/contracts/Configuration/ConfigurationException.js +10 -0
  59. package/dist/contracts/Configuration/Connections.d.ts +5 -0
  60. package/dist/contracts/Configuration/Connections.js +2 -0
  61. package/dist/contracts/Configuration/DiagnosticsValidation.d.ts +3 -0
  62. package/dist/contracts/Configuration/DiagnosticsValidation.js +23 -0
  63. package/dist/contracts/Configuration/EndpointNotation.d.ts +77 -0
  64. package/dist/contracts/Configuration/EndpointNotation.js +218 -0
  65. package/dist/contracts/Configuration/InternalDefaults.d.ts +7 -0
  66. package/dist/contracts/Configuration/InternalDefaults.js +47 -0
  67. package/dist/contracts/Configuration/ObjectRoles.d.ts +38 -0
  68. package/dist/contracts/Configuration/ObjectRoles.js +13 -0
  69. package/dist/contracts/Configuration/Registration.d.ts +11 -0
  70. package/dist/contracts/Configuration/Registration.js +162 -0
  71. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +14 -0
  72. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +61 -0
  73. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +61 -0
  74. package/dist/contracts/Configuration/RegistrationBuilders.js +1181 -0
  75. package/dist/contracts/Configuration/RegistrationCodecRegistry.d.ts +19 -0
  76. package/dist/contracts/Configuration/RegistrationCodecRegistry.js +79 -0
  77. package/dist/contracts/Configuration/RegistrationNormalizers.d.ts +23 -0
  78. package/dist/contracts/Configuration/RegistrationNormalizers.js +319 -0
  79. package/dist/contracts/Configuration/RegistrationTypes.d.ts +414 -0
  80. package/dist/contracts/Configuration/RegistrationTypes.js +2 -0
  81. package/dist/contracts/Configuration/RegistrationValidators.d.ts +2 -0
  82. package/dist/contracts/Configuration/RegistrationValidators.js +461 -0
  83. package/dist/contracts/Configuration/RouteChannelInternalState.d.ts +10 -0
  84. package/dist/contracts/Configuration/RouteChannelInternalState.js +39 -0
  85. package/dist/contracts/Configuration/RuntimeEndpointConnections.d.ts +9 -0
  86. package/dist/contracts/Configuration/RuntimeEndpointConnections.js +80 -0
  87. package/dist/contracts/Configuration/SendTimeoutValidation.d.ts +2 -0
  88. package/dist/contracts/Configuration/SendTimeoutValidation.js +16 -0
  89. package/dist/contracts/Configuration/TimerRegistrationValidator.d.ts +2 -0
  90. package/dist/contracts/Configuration/TimerRegistrationValidator.js +24 -0
  91. package/dist/contracts/Configuration/index.d.ts +5 -0
  92. package/dist/contracts/Configuration/index.js +18 -0
  93. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +181 -0
  94. package/dist/contracts/Dispatch/ZLinkDispatchOptions.js +89 -0
  95. package/dist/contracts/Dispatch/ZLinkFlowOrigin.d.ts +1 -0
  96. package/dist/contracts/Dispatch/ZLinkFlowOrigin.js +2 -0
  97. package/dist/contracts/Dispatch/index.d.ts +2 -0
  98. package/dist/contracts/Dispatch/index.js +18 -0
  99. package/dist/contracts/Errors/ZLinkFrameworkException.d.ts +20 -0
  100. package/dist/contracts/Errors/ZLinkFrameworkException.js +29 -0
  101. package/dist/contracts/Errors/index.d.ts +1 -0
  102. package/dist/contracts/Errors/index.js +6 -0
  103. package/dist/contracts/Eventing/Metrics.d.ts +29 -0
  104. package/dist/contracts/Eventing/Metrics.js +4 -0
  105. package/dist/contracts/Eventing/index.d.ts +1 -0
  106. package/dist/contracts/Eventing/index.js +17 -0
  107. package/dist/contracts/Handlers/Attributes.d.ts +24 -0
  108. package/dist/contracts/Handlers/Attributes.js +84 -0
  109. package/dist/contracts/Handlers/Contexts.d.ts +18 -0
  110. package/dist/contracts/Handlers/Contexts.js +2 -0
  111. package/dist/contracts/Handlers/IZLinkChannelHandlers.d.ts +43 -0
  112. package/dist/contracts/Handlers/IZLinkChannelHandlers.js +2 -0
  113. package/dist/contracts/Handlers/IZLinkHandlerFilter.d.ts +15 -0
  114. package/dist/contracts/Handlers/IZLinkHandlerFilter.js +11 -0
  115. package/dist/contracts/Handlers/JsonContract.d.ts +46 -0
  116. package/dist/contracts/Handlers/JsonContract.js +137 -0
  117. package/dist/contracts/Handlers/ZLinkHandlerFilterNext.d.ts +1 -0
  118. package/dist/contracts/Handlers/ZLinkHandlerFilterNext.js +2 -0
  119. package/dist/contracts/Handlers/index.d.ts +5 -0
  120. package/dist/contracts/Handlers/index.js +33 -0
  121. package/dist/contracts/Locations/ActorTransfer.d.ts +41 -0
  122. package/dist/contracts/Locations/ActorTransfer.js +2 -0
  123. package/dist/contracts/Locations/Authority.d.ts +296 -0
  124. package/dist/contracts/Locations/Authority.js +17 -0
  125. package/dist/contracts/Locations/Diagnostics.d.ts +42 -0
  126. package/dist/contracts/Locations/Diagnostics.js +12 -0
  127. package/dist/contracts/Locations/Keys.d.ts +86 -0
  128. package/dist/contracts/Locations/Keys.js +2 -0
  129. package/dist/contracts/Locations/Models.d.ts +7 -0
  130. package/dist/contracts/Locations/Models.js +23 -0
  131. package/dist/contracts/Locations/Options.d.ts +23 -0
  132. package/dist/contracts/Locations/Options.js +20 -0
  133. package/dist/contracts/Locations/Readiness.d.ts +5 -0
  134. package/dist/contracts/Locations/Readiness.js +2 -0
  135. package/dist/contracts/Locations/RelocationStore.d.ts +38 -0
  136. package/dist/contracts/Locations/RelocationStore.js +2 -0
  137. package/dist/contracts/Locations/Resolvers.d.ts +4 -0
  138. package/dist/contracts/Locations/Resolvers.js +2 -0
  139. package/dist/contracts/Locations/Rows.d.ts +152 -0
  140. package/dist/contracts/Locations/Rows.js +19 -0
  141. package/dist/contracts/Locations/RuntimeQuery.d.ts +25 -0
  142. package/dist/contracts/Locations/RuntimeQuery.js +2 -0
  143. package/dist/contracts/Locations/Stores.d.ts +88 -0
  144. package/dist/contracts/Locations/Stores.js +2 -0
  145. package/dist/contracts/Locations/Values.d.ts +27 -0
  146. package/dist/contracts/Locations/Values.js +36 -0
  147. package/dist/contracts/Locations/Watch.d.ts +14 -0
  148. package/dist/contracts/Locations/Watch.js +12 -0
  149. package/dist/contracts/Locations/Writes.d.ts +48 -0
  150. package/dist/contracts/Locations/Writes.js +15 -0
  151. package/dist/contracts/Locations/index.d.ts +12 -0
  152. package/dist/contracts/Locations/index.js +30 -0
  153. package/dist/contracts/RouteMesh/Contracts.d.ts +102 -0
  154. package/dist/contracts/RouteMesh/Contracts.js +39 -0
  155. package/dist/contracts/RouteMesh/RuntimeTopology.d.ts +165 -0
  156. package/dist/contracts/RouteMesh/RuntimeTopology.js +38 -0
  157. package/dist/contracts/RouteMesh/index.d.ts +2 -0
  158. package/dist/contracts/RouteMesh/index.js +18 -0
  159. package/dist/contracts/Spots/Builders.d.ts +10 -0
  160. package/dist/contracts/Spots/Builders.js +2 -0
  161. package/dist/contracts/Spots/Contracts.d.ts +110 -0
  162. package/dist/contracts/Spots/Contracts.js +9 -0
  163. package/dist/contracts/Spots/SpotKind.d.ts +8 -0
  164. package/dist/contracts/Spots/SpotKind.js +28 -0
  165. package/dist/contracts/Spots/ZLinkSpot.d.ts +62 -0
  166. package/dist/contracts/Spots/ZLinkSpot.js +15 -0
  167. package/dist/contracts/Spots/index.d.ts +3 -0
  168. package/dist/contracts/Spots/index.js +19 -0
  169. package/dist/contracts/Streams/BoundSessionContracts.d.ts +8 -0
  170. package/dist/contracts/Streams/BoundSessionContracts.js +2 -0
  171. package/dist/contracts/Streams/IZLinkSession.d.ts +44 -0
  172. package/dist/contracts/Streams/IZLinkSession.js +2 -0
  173. package/dist/contracts/Streams/IZLinkSessionActor.d.ts +15 -0
  174. package/dist/contracts/Streams/IZLinkSessionActor.js +2 -0
  175. package/dist/contracts/Streams/IZLinkSessionPacketHandler.d.ts +9 -0
  176. package/dist/contracts/Streams/IZLinkSessionPacketHandler.js +2 -0
  177. package/dist/contracts/Streams/IZLinkStream.d.ts +9 -0
  178. package/dist/contracts/Streams/IZLinkStream.js +2 -0
  179. package/dist/contracts/Streams/ZLinkMessageMetadata.d.ts +1 -0
  180. package/dist/contracts/Streams/ZLinkMessageMetadata.js +2 -0
  181. package/dist/contracts/Streams/ZLinkStreamCompression.d.ts +8 -0
  182. package/dist/contracts/Streams/ZLinkStreamCompression.js +2 -0
  183. package/dist/contracts/Streams/ZLinkStreamError.d.ts +8 -0
  184. package/dist/contracts/Streams/ZLinkStreamError.js +8 -0
  185. package/dist/contracts/Streams/index.d.ts +8 -0
  186. package/dist/contracts/Streams/index.js +24 -0
  187. package/dist/contracts/Timers/IZLinkTimer.d.ts +5 -0
  188. package/dist/contracts/Timers/IZLinkTimer.js +2 -0
  189. package/dist/contracts/Timers/ZLinkTimerOptions.d.ts +10 -0
  190. package/dist/contracts/Timers/ZLinkTimerOptions.js +9 -0
  191. package/dist/contracts/Timers/ZLinkTimerTick.d.ts +12 -0
  192. package/dist/contracts/Timers/ZLinkTimerTick.js +2 -0
  193. package/dist/contracts/Timers/index.d.ts +3 -0
  194. package/dist/contracts/Timers/index.js +19 -0
  195. package/dist/contracts/index.d.ts +25 -0
  196. package/dist/contracts/index.js +45 -0
  197. package/dist/index.d.ts +1 -0
  198. package/dist/index.js +17 -0
  199. package/dist/internal.d.ts +26 -0
  200. package/dist/internal.js +48 -0
  201. package/dist/location-store-integration.d.ts +5 -0
  202. package/dist/location-store-integration.js +31 -0
  203. package/dist/nest-integration.d.ts +49 -0
  204. package/dist/nest-integration.js +143 -0
  205. package/dist/runtime/abort.d.ts +13 -0
  206. package/dist/runtime/abort.js +71 -0
  207. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +33 -0
  208. package/dist/runtime/actors/actor-authority-payload-codec.js +366 -0
  209. package/dist/runtime/actors/actor-authority-publication.d.ts +28 -0
  210. package/dist/runtime/actors/actor-authority-publication.js +207 -0
  211. package/dist/runtime/actors/actor-client.d.ts +36 -0
  212. package/dist/runtime/actors/actor-client.js +612 -0
  213. package/dist/runtime/actors/actor-context.d.ts +26 -0
  214. package/dist/runtime/actors/actor-context.js +433 -0
  215. package/dist/runtime/actors/actor-creation.d.ts +19 -0
  216. package/dist/runtime/actors/actor-creation.js +158 -0
  217. package/dist/runtime/actors/actor-execution-context.d.ts +6 -0
  218. package/dist/runtime/actors/actor-execution-context.js +27 -0
  219. package/dist/runtime/actors/actor-handoff.d.ts +191 -0
  220. package/dist/runtime/actors/actor-handoff.js +1252 -0
  221. package/dist/runtime/actors/actor-join-deferred-scope.d.ts +11 -0
  222. package/dist/runtime/actors/actor-join-deferred-scope.js +144 -0
  223. package/dist/runtime/actors/actor-join-relocation.d.ts +38 -0
  224. package/dist/runtime/actors/actor-join-relocation.js +2 -0
  225. package/dist/runtime/actors/actor-lifecycle-snapshot.d.ts +21 -0
  226. package/dist/runtime/actors/actor-lifecycle-snapshot.js +58 -0
  227. package/dist/runtime/actors/actor-local-native-join.d.ts +27 -0
  228. package/dist/runtime/actors/actor-local-native-join.js +409 -0
  229. package/dist/runtime/actors/actor-mailbox.d.ts +10 -0
  230. package/dist/runtime/actors/actor-mailbox.js +53 -0
  231. package/dist/runtime/actors/actor-message-follow-context.d.ts +46 -0
  232. package/dist/runtime/actors/actor-message-follow-context.js +257 -0
  233. package/dist/runtime/actors/actor-native-lookup.d.ts +4 -0
  234. package/dist/runtime/actors/actor-native-lookup.js +30 -0
  235. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +73 -0
  236. package/dist/runtime/actors/actor-packet-relay-wire.js +144 -0
  237. package/dist/runtime/actors/actor-remote-joiner.d.ts +37 -0
  238. package/dist/runtime/actors/actor-remote-joiner.js +122 -0
  239. package/dist/runtime/actors/actor-remote-wire.d.ts +73 -0
  240. package/dist/runtime/actors/actor-remote-wire.js +84 -0
  241. package/dist/runtime/actors/actor-retry-delay.d.ts +5 -0
  242. package/dist/runtime/actors/actor-retry-delay.js +40 -0
  243. package/dist/runtime/actors/actor-routed-join-transport.d.ts +33 -0
  244. package/dist/runtime/actors/actor-routed-join-transport.js +2 -0
  245. package/dist/runtime/actors/actor-routed-json-request.d.ts +11 -0
  246. package/dist/runtime/actors/actor-routed-json-request.js +39 -0
  247. package/dist/runtime/actors/actor-runtime-contracts.d.ts +63 -0
  248. package/dist/runtime/actors/actor-runtime-contracts.js +2 -0
  249. package/dist/runtime/actors/actor-runtime-state.d.ts +152 -0
  250. package/dist/runtime/actors/actor-runtime-state.js +545 -0
  251. package/dist/runtime/actors/actor-source-transfer.d.ts +27 -0
  252. package/dist/runtime/actors/actor-source-transfer.js +2 -0
  253. package/dist/runtime/actors/actor-transfer-registry.d.ts +18 -0
  254. package/dist/runtime/actors/actor-transfer-registry.js +71 -0
  255. package/dist/runtime/actors/actor-transport-delivery-gate.d.ts +6 -0
  256. package/dist/runtime/actors/actor-transport-delivery-gate.js +4 -0
  257. package/dist/runtime/actors/bound-session-wire.d.ts +81 -0
  258. package/dist/runtime/actors/bound-session-wire.js +184 -0
  259. package/dist/runtime/actors/deferred-join-accepted-journal.d.ts +47 -0
  260. package/dist/runtime/actors/deferred-join-accepted-journal.js +962 -0
  261. package/dist/runtime/actors/index.d.ts +79 -0
  262. package/dist/runtime/actors/index.js +639 -0
  263. package/dist/runtime/actors/post-commit-actor-binder.d.ts +18 -0
  264. package/dist/runtime/actors/post-commit-actor-binder.js +68 -0
  265. package/dist/runtime/actors/post-commit-actor-location.d.ts +19 -0
  266. package/dist/runtime/actors/post-commit-actor-location.js +72 -0
  267. package/dist/runtime/actors/spot-actor-dispatch.d.ts +59 -0
  268. package/dist/runtime/actors/spot-actor-dispatch.js +179 -0
  269. package/dist/runtime/actors/transferred-actor-rollback.d.ts +16 -0
  270. package/dist/runtime/actors/transferred-actor-rollback.js +91 -0
  271. package/dist/runtime/admission.d.ts +20 -0
  272. package/dist/runtime/admission.js +166 -0
  273. package/dist/runtime/application-jobs/application-ingress-record-owner.d.ts +57 -0
  274. package/dist/runtime/application-jobs/application-ingress-record-owner.js +185 -0
  275. package/dist/runtime/application-jobs/application-job-queue-handler-start-gate.d.ts +8 -0
  276. package/dist/runtime/application-jobs/application-job-queue-handler-start-gate.js +8 -0
  277. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +17 -0
  278. package/dist/runtime/application-jobs/application-job-queue-scope.js +57 -0
  279. package/dist/runtime/application-jobs/contracts.d.ts +19 -0
  280. package/dist/runtime/application-jobs/contracts.js +2 -0
  281. package/dist/runtime/application-jobs/receive-flow-controller.d.ts +32 -0
  282. package/dist/runtime/application-jobs/receive-flow-controller.js +165 -0
  283. package/dist/runtime/backend/contracts/index.d.ts +487 -0
  284. package/dist/runtime/backend/contracts/index.js +29 -0
  285. package/dist/runtime/backend/index.d.ts +9 -0
  286. package/dist/runtime/backend/index.js +25 -0
  287. package/dist/runtime/backend/mesh-actor-session-node-adapter.d.ts +3 -0
  288. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +51 -0
  289. package/dist/runtime/backend/mesh-completion-table.d.ts +34 -0
  290. package/dist/runtime/backend/mesh-completion-table.js +124 -0
  291. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +48 -0
  292. package/dist/runtime/backend/mesh-dispatch-pump.js +322 -0
  293. package/dist/runtime/backend/mesh-record-dispatcher.d.ts +19 -0
  294. package/dist/runtime/backend/mesh-record-dispatcher.js +53 -0
  295. package/dist/runtime/backend/node/index.d.ts +4 -0
  296. package/dist/runtime/backend/node/index.js +22 -0
  297. package/dist/runtime/backend/node/node-backend-adapter-factory.d.ts +12 -0
  298. package/dist/runtime/backend/node/node-backend-adapter-factory.js +161 -0
  299. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +52 -0
  300. package/dist/runtime/backend/node/node-backend-adapter-support.js +203 -0
  301. package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +13 -0
  302. package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +52 -0
  303. package/dist/runtime/backend/node/node-mesh-backend-adapter.d.ts +11 -0
  304. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +23 -0
  305. package/dist/runtime/backend/node/node-monitor-backend-adapter.d.ts +6 -0
  306. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +38 -0
  307. package/dist/runtime/backend/node/node-raw-binding-port.d.ts +8 -0
  308. package/dist/runtime/backend/node/node-raw-binding-port.js +411 -0
  309. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +266 -0
  310. package/dist/runtime/backend/node/node-raw-mesh-backend.js +1707 -0
  311. package/dist/runtime/backend/node/node-socket-backend-adapter.d.ts +9 -0
  312. package/dist/runtime/backend/node/node-socket-backend-adapter.js +286 -0
  313. package/dist/runtime/backend/node-backend-adapter.d.ts +9 -0
  314. package/dist/runtime/backend/node-backend-adapter.js +12 -0
  315. package/dist/runtime/backend/raw-binding-port.d.ts +58 -0
  316. package/dist/runtime/backend/raw-binding-port.js +2 -0
  317. package/dist/runtime/backend/runtime-message.d.ts +14 -0
  318. package/dist/runtime/backend/runtime-message.js +44 -0
  319. package/dist/runtime/backend/runtime-values.d.ts +78 -0
  320. package/dist/runtime/backend/runtime-values.js +66 -0
  321. package/dist/runtime/channels/channel-autoconnect.d.ts +14 -0
  322. package/dist/runtime/channels/channel-autoconnect.js +23 -0
  323. package/dist/runtime/channels/channel-clients.d.ts +50 -0
  324. package/dist/runtime/channels/channel-clients.js +329 -0
  325. package/dist/runtime/channels/channel-dispatch-pipeline.d.ts +76 -0
  326. package/dist/runtime/channels/channel-dispatch-pipeline.js +237 -0
  327. package/dist/runtime/channels/channel-dispatch-services.d.ts +52 -0
  328. package/dist/runtime/channels/channel-dispatch-services.js +132 -0
  329. package/dist/runtime/channels/channel-dispatchers.d.ts +125 -0
  330. package/dist/runtime/channels/channel-dispatchers.js +575 -0
  331. package/dist/runtime/channels/channel-envelope-inspection.d.ts +25 -0
  332. package/dist/runtime/channels/channel-envelope-inspection.js +96 -0
  333. package/dist/runtime/channels/channel-envelope.d.ts +73 -0
  334. package/dist/runtime/channels/channel-envelope.js +546 -0
  335. package/dist/runtime/channels/channel-framework-packets.d.ts +2 -0
  336. package/dist/runtime/channels/channel-framework-packets.js +6 -0
  337. package/dist/runtime/channels/channel-multipart.d.ts +16 -0
  338. package/dist/runtime/channels/channel-multipart.js +31 -0
  339. package/dist/runtime/channels/channel-outbound-operations.d.ts +33 -0
  340. package/dist/runtime/channels/channel-outbound-operations.js +343 -0
  341. package/dist/runtime/channels/channel-receive-loops.d.ts +151 -0
  342. package/dist/runtime/channels/channel-receive-loops.js +728 -0
  343. package/dist/runtime/channels/channel-receive-task-tracker.d.ts +14 -0
  344. package/dist/runtime/channels/channel-receive-task-tracker.js +37 -0
  345. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +77 -0
  346. package/dist/runtime/channels/channel-runtime-lifecycle.js +630 -0
  347. package/dist/runtime/channels/channel-runtime-manager.d.ts +84 -0
  348. package/dist/runtime/channels/channel-runtime-manager.js +193 -0
  349. package/dist/runtime/channels/channel-socket-options.d.ts +18 -0
  350. package/dist/runtime/channels/channel-socket-options.js +119 -0
  351. package/dist/runtime/channels/channel-socket-registry.d.ts +157 -0
  352. package/dist/runtime/channels/channel-socket-registry.js +1428 -0
  353. package/dist/runtime/channels/channel-transports.d.ts +126 -0
  354. package/dist/runtime/channels/channel-transports.js +448 -0
  355. package/dist/runtime/channels/client-server-location-runtime.d.ts +41 -0
  356. package/dist/runtime/channels/client-server-location-runtime.js +465 -0
  357. package/dist/runtime/channels/client-server-service-wire.d.ts +48 -0
  358. package/dist/runtime/channels/client-server-service-wire.js +306 -0
  359. package/dist/runtime/channels/dispatch-error-reporter.d.ts +22 -0
  360. package/dist/runtime/channels/dispatch-error-reporter.js +133 -0
  361. package/dist/runtime/channels/fanout-location-runtime.d.ts +38 -0
  362. package/dist/runtime/channels/fanout-location-runtime.js +356 -0
  363. package/dist/runtime/channels/fanout-service-wire.d.ts +12 -0
  364. package/dist/runtime/channels/fanout-service-wire.js +29 -0
  365. package/dist/runtime/channels/handler-filter-scope.d.ts +8 -0
  366. package/dist/runtime/channels/handler-filter-scope.js +11 -0
  367. package/dist/runtime/channels/index.d.ts +9 -0
  368. package/dist/runtime/channels/index.js +30 -0
  369. package/dist/runtime/channels/local-spot-route-transport.d.ts +9 -0
  370. package/dist/runtime/channels/local-spot-route-transport.js +40 -0
  371. package/dist/runtime/channels/route-disconnected-error.d.ts +3 -0
  372. package/dist/runtime/channels/route-disconnected-error.js +10 -0
  373. package/dist/runtime/channels/route-member-snapshot.d.ts +10 -0
  374. package/dist/runtime/channels/route-member-snapshot.js +55 -0
  375. package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +12 -0
  376. package/dist/runtime/channels/router-socket-spot-route-transport.js +43 -0
  377. package/dist/runtime/channels/source-spot-router.d.ts +10 -0
  378. package/dist/runtime/channels/source-spot-router.js +46 -0
  379. package/dist/runtime/channels/spot-direct-envelope.d.ts +5 -0
  380. package/dist/runtime/channels/spot-direct-envelope.js +29 -0
  381. package/dist/runtime/channels/spot-node-route-transport.d.ts +13 -0
  382. package/dist/runtime/channels/spot-node-route-transport.js +60 -0
  383. package/dist/runtime/channels/spot-route-bridge-transport.d.ts +14 -0
  384. package/dist/runtime/channels/spot-route-bridge-transport.js +58 -0
  385. package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +50 -0
  386. package/dist/runtime/channels/spot-route-dispatch-strategy.js +128 -0
  387. package/dist/runtime/channels/spot-route-target-resolver.d.ts +16 -0
  388. package/dist/runtime/channels/spot-route-target-resolver.js +92 -0
  389. package/dist/runtime/codecs/index.d.ts +14 -0
  390. package/dist/runtime/codecs/index.js +44 -0
  391. package/dist/runtime/configuration/index.d.ts +1 -0
  392. package/dist/runtime/configuration/index.js +17 -0
  393. package/dist/runtime/diagnostics/dispatch-error-port.d.ts +8 -0
  394. package/dist/runtime/diagnostics/dispatch-error-port.js +2 -0
  395. package/dist/runtime/diagnostics/flow-context.d.ts +21 -0
  396. package/dist/runtime/diagnostics/flow-context.js +68 -0
  397. package/dist/runtime/diagnostics/index.d.ts +82 -0
  398. package/dist/runtime/diagnostics/index.js +335 -0
  399. package/dist/runtime/diagnostics/internal-event-contracts.d.ts +139 -0
  400. package/dist/runtime/diagnostics/internal-event-contracts.js +68 -0
  401. package/dist/runtime/diagnostics/message-flow.d.ts +55 -0
  402. package/dist/runtime/diagnostics/message-flow.js +420 -0
  403. package/dist/runtime/diagnostics/runtime-metrics.d.ts +123 -0
  404. package/dist/runtime/diagnostics/runtime-metrics.js +454 -0
  405. package/dist/runtime/diagnostics/runtime-observation-queue.d.ts +58 -0
  406. package/dist/runtime/diagnostics/runtime-observation-queue.js +324 -0
  407. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +33 -0
  408. package/dist/runtime/diagnostics/topology-runtime-projections.js +255 -0
  409. package/dist/runtime/execution/index.d.ts +114 -0
  410. package/dist/runtime/execution/index.js +363 -0
  411. package/dist/runtime/execution/serial-execution-queue.d.ts +94 -0
  412. package/dist/runtime/execution/serial-execution-queue.js +411 -0
  413. package/dist/runtime/execution/serial-work-size.d.ts +4 -0
  414. package/dist/runtime/execution/serial-work-size.js +28 -0
  415. package/dist/runtime/execution/state-lane.d.ts +28 -0
  416. package/dist/runtime/execution/state-lane.js +105 -0
  417. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +72 -0
  418. package/dist/runtime/foundation/actor-join-recovery-codec.js +333 -0
  419. package/dist/runtime/foundation/event-loop-resources.d.ts +37 -0
  420. package/dist/runtime/foundation/event-loop-resources.js +163 -0
  421. package/dist/runtime/foundation/index.d.ts +18 -0
  422. package/dist/runtime/foundation/index.js +34 -0
  423. package/dist/runtime/foundation/message-follow-suppression-registry.d.ts +38 -0
  424. package/dist/runtime/foundation/message-follow-suppression-registry.js +89 -0
  425. package/dist/runtime/foundation/operation-identity.d.ts +12 -0
  426. package/dist/runtime/foundation/operation-identity.js +33 -0
  427. package/dist/runtime/foundation/operation-registry.d.ts +42 -0
  428. package/dist/runtime/foundation/operation-registry.js +146 -0
  429. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +143 -0
  430. package/dist/runtime/foundation/raw-service-mesh-runtime.js +1349 -0
  431. package/dist/runtime/foundation/route-mesh-connection-policy.d.ts +3 -0
  432. package/dist/runtime/foundation/route-mesh-connection-policy.js +13 -0
  433. package/dist/runtime/foundation/runtime-state-projections.d.ts +13 -0
  434. package/dist/runtime/foundation/runtime-state-projections.js +44 -0
  435. package/dist/runtime/foundation/service-authority-payload-codec.d.ts +56 -0
  436. package/dist/runtime/foundation/service-authority-payload-codec.js +411 -0
  437. package/dist/runtime/foundation/service-discovery-registry.d.ts +42 -0
  438. package/dist/runtime/foundation/service-discovery-registry.js +175 -0
  439. package/dist/runtime/foundation/service-instance-activation-recovery-codec.d.ts +19 -0
  440. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +287 -0
  441. package/dist/runtime/foundation/service-liveness-registry.d.ts +28 -0
  442. package/dist/runtime/foundation/service-liveness-registry.js +109 -0
  443. package/dist/runtime/foundation/service-mailbox.d.ts +60 -0
  444. package/dist/runtime/foundation/service-mailbox.js +283 -0
  445. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +45 -0
  446. package/dist/runtime/foundation/service-maintenance-runtime.js +198 -0
  447. package/dist/runtime/foundation/service-metadata-codec.d.ts +2 -0
  448. package/dist/runtime/foundation/service-metadata-codec.js +69 -0
  449. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +35 -0
  450. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +139 -0
  451. package/dist/runtime/foundation/service-relocation-coordinator.d.ts +19 -0
  452. package/dist/runtime/foundation/service-relocation-coordinator.js +16 -0
  453. package/dist/runtime/foundation/service-relocation-object-owner.d.ts +71 -0
  454. package/dist/runtime/foundation/service-relocation-object-owner.js +242 -0
  455. package/dist/runtime/foundation/service-relocation-runtime.d.ts +143 -0
  456. package/dist/runtime/foundation/service-relocation-runtime.js +1080 -0
  457. package/dist/runtime/foundation/service-runtime-contracts.d.ts +332 -0
  458. package/dist/runtime/foundation/service-runtime-contracts.js +66 -0
  459. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +23 -0
  460. package/dist/runtime/foundation/service-session-binding-ingress-port.js +11 -0
  461. package/dist/runtime/foundation/service-stateful-registry.d.ts +142 -0
  462. package/dist/runtime/foundation/service-stateful-registry.js +465 -0
  463. package/dist/runtime/foundation/service-stateful-runtime.d.ts +393 -0
  464. package/dist/runtime/foundation/service-stateful-runtime.js +3898 -0
  465. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +597 -0
  466. package/dist/runtime/foundation/service-stateful-wire-codec.js +2006 -0
  467. package/dist/runtime/foundation/service-topology-registry.d.ts +68 -0
  468. package/dist/runtime/foundation/service-topology-registry.js +393 -0
  469. package/dist/runtime/foundation/service-weighted-selection.d.ts +14 -0
  470. package/dist/runtime/foundation/service-weighted-selection.js +128 -0
  471. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +10 -0
  472. package/dist/runtime/foundation/service-wire-binary-primitives.js +53 -0
  473. package/dist/runtime/foundation/service-wire-codec.d.ts +22 -0
  474. package/dist/runtime/foundation/service-wire-codec.js +67 -0
  475. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +110 -0
  476. package/dist/runtime/foundation/service-wire-constants.generated.js +132 -0
  477. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +102 -0
  478. package/dist/runtime/foundation/service-wire-m6a-codec.js +568 -0
  479. package/dist/runtime/framework-errors-internal.d.ts +95 -0
  480. package/dist/runtime/framework-errors-internal.js +301 -0
  481. package/dist/runtime/handlers/handler-instance-scope.d.ts +11 -0
  482. package/dist/runtime/handlers/handler-instance-scope.js +284 -0
  483. package/dist/runtime/handlers/index.d.ts +13 -0
  484. package/dist/runtime/handlers/index.js +57 -0
  485. package/dist/runtime/host/actor-packet-relay.d.ts +60 -0
  486. package/dist/runtime/host/actor-packet-relay.js +664 -0
  487. package/dist/runtime/host/actor-placement-coordinator.d.ts +32 -0
  488. package/dist/runtime/host/actor-placement-coordinator.js +386 -0
  489. package/dist/runtime/host/actor-runtime-options-factory.d.ts +65 -0
  490. package/dist/runtime/host/actor-runtime-options-factory.js +160 -0
  491. package/dist/runtime/host/actor-transfer-authority-runtime.d.ts +26 -0
  492. package/dist/runtime/host/actor-transfer-authority-runtime.js +138 -0
  493. package/dist/runtime/host/actor-transfer-runtime.d.ts +149 -0
  494. package/dist/runtime/host/actor-transfer-runtime.js +1245 -0
  495. package/dist/runtime/host/application-job-queue.d.ts +99 -0
  496. package/dist/runtime/host/application-job-queue.js +409 -0
  497. package/dist/runtime/host/bound-session-relay.d.ts +41 -0
  498. package/dist/runtime/host/bound-session-relay.js +52 -0
  499. package/dist/runtime/host/bounded-replay-map.d.ts +12 -0
  500. package/dist/runtime/host/bounded-replay-map.js +42 -0
  501. package/dist/runtime/host/channel-runtime-options-factory.d.ts +22 -0
  502. package/dist/runtime/host/channel-runtime-options-factory.js +76 -0
  503. package/dist/runtime/host/entry-actor-runtime.d.ts +30 -0
  504. package/dist/runtime/host/entry-actor-runtime.js +80 -0
  505. package/dist/runtime/host/host-capacity-status.d.ts +11 -0
  506. package/dist/runtime/host/host-capacity-status.js +85 -0
  507. package/dist/runtime/host/index.d.ts +188 -0
  508. package/dist/runtime/host/index.js +2552 -0
  509. package/dist/runtime/host/instance-activation-authority.d.ts +33 -0
  510. package/dist/runtime/host/instance-activation-authority.js +496 -0
  511. package/dist/runtime/host/location-runtime-owner.d.ts +48 -0
  512. package/dist/runtime/host/location-runtime-owner.js +227 -0
  513. package/dist/runtime/host/mesh-router-resolver.d.ts +16 -0
  514. package/dist/runtime/host/mesh-router-resolver.js +108 -0
  515. package/dist/runtime/host/relocation-direct-transfer.d.ts +81 -0
  516. package/dist/runtime/host/relocation-direct-transfer.js +240 -0
  517. package/dist/runtime/host/relocation-integrity-fault-gate.d.ts +6 -0
  518. package/dist/runtime/host/relocation-integrity-fault-gate.js +5 -0
  519. package/dist/runtime/host/relocation-state-adapter.d.ts +8 -0
  520. package/dist/runtime/host/relocation-state-adapter.js +13 -0
  521. package/dist/runtime/host/remote-actor-join-receiver.d.ts +47 -0
  522. package/dist/runtime/host/remote-actor-join-receiver.js +161 -0
  523. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +29 -0
  524. package/dist/runtime/host/remote-actor-packet-target-store.js +185 -0
  525. package/dist/runtime/host/remote-bound-session-relay.d.ts +58 -0
  526. package/dist/runtime/host/remote-bound-session-relay.js +540 -0
  527. package/dist/runtime/host/route-mesh-runtime-options.d.ts +9 -0
  528. package/dist/runtime/host/route-mesh-runtime-options.js +41 -0
  529. package/dist/runtime/host/route-mesh-runtime.d.ts +76 -0
  530. package/dist/runtime/host/route-mesh-runtime.js +746 -0
  531. package/dist/runtime/host/runtime-shutdown.d.ts +33 -0
  532. package/dist/runtime/host/runtime-shutdown.js +68 -0
  533. package/dist/runtime/host/service-relocation-control.d.ts +7 -0
  534. package/dist/runtime/host/service-relocation-control.js +24 -0
  535. package/dist/runtime/host/service-relocation-host-runtime.d.ts +241 -0
  536. package/dist/runtime/host/service-relocation-host-runtime.js +4113 -0
  537. package/dist/runtime/host/spot-address-transport.d.ts +47 -0
  538. package/dist/runtime/host/spot-address-transport.js +601 -0
  539. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +38 -0
  540. package/dist/runtime/host/spot-node-runtime-options-factory.js +36 -0
  541. package/dist/runtime/host/spot-runtime-options-factory.d.ts +48 -0
  542. package/dist/runtime/host/spot-runtime-options-factory.js +169 -0
  543. package/dist/runtime/host/stateful-authority-route-runtime.d.ts +34 -0
  544. package/dist/runtime/host/stateful-authority-route-runtime.js +440 -0
  545. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +69 -0
  546. package/dist/runtime/host/user-spot-creation-coordinator.js +759 -0
  547. package/dist/runtime/locations/actor-location-claims.d.ts +43 -0
  548. package/dist/runtime/locations/actor-location-claims.js +319 -0
  549. package/dist/runtime/locations/actor-session-route-claims.d.ts +10 -0
  550. package/dist/runtime/locations/actor-session-route-claims.js +51 -0
  551. package/dist/runtime/locations/aggregate-inventory-store.d.ts +18 -0
  552. package/dist/runtime/locations/aggregate-inventory-store.js +399 -0
  553. package/dist/runtime/locations/authority-key-codec.d.ts +6 -0
  554. package/dist/runtime/locations/authority-key-codec.js +78 -0
  555. package/dist/runtime/locations/auto-connect-loop.d.ts +37 -0
  556. package/dist/runtime/locations/auto-connect-loop.js +112 -0
  557. package/dist/runtime/locations/auto-connect-planner.d.ts +9 -0
  558. package/dist/runtime/locations/auto-connect-planner.js +137 -0
  559. package/dist/runtime/locations/auto-connect-reconciler.d.ts +57 -0
  560. package/dist/runtime/locations/auto-connect-reconciler.js +358 -0
  561. package/dist/runtime/locations/auto-connect-types.d.ts +42 -0
  562. package/dist/runtime/locations/auto-connect-types.js +2 -0
  563. package/dist/runtime/locations/auto-connect.d.ts +4 -0
  564. package/dist/runtime/locations/auto-connect.js +20 -0
  565. package/dist/runtime/locations/canonical-codec.d.ts +7 -0
  566. package/dist/runtime/locations/canonical-codec.js +48 -0
  567. package/dist/runtime/locations/domain-store-contract.d.ts +34 -0
  568. package/dist/runtime/locations/domain-store-contract.js +2 -0
  569. package/dist/runtime/locations/in-memory-authority-store.d.ts +51 -0
  570. package/dist/runtime/locations/in-memory-authority-store.js +895 -0
  571. package/dist/runtime/locations/in-memory-location-store.d.ts +78 -0
  572. package/dist/runtime/locations/in-memory-location-store.js +1008 -0
  573. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +19 -0
  574. package/dist/runtime/locations/in-memory-provider-location-store.js +183 -0
  575. package/dist/runtime/locations/index.d.ts +11 -0
  576. package/dist/runtime/locations/index.js +27 -0
  577. package/dist/runtime/locations/internal-location-contracts.d.ts +7 -0
  578. package/dist/runtime/locations/internal-location-contracts.js +21 -0
  579. package/dist/runtime/locations/internal-store-contracts.d.ts +35 -0
  580. package/dist/runtime/locations/internal-store-contracts.js +2 -0
  581. package/dist/runtime/locations/key-codec.d.ts +13 -0
  582. package/dist/runtime/locations/key-codec.js +41 -0
  583. package/dist/runtime/locations/lease-tracker.d.ts +36 -0
  584. package/dist/runtime/locations/lease-tracker.js +155 -0
  585. package/dist/runtime/locations/lifecycle-runtime.d.ts +19 -0
  586. package/dist/runtime/locations/lifecycle-runtime.js +2 -0
  587. package/dist/runtime/locations/lifecycle.d.ts +40 -0
  588. package/dist/runtime/locations/lifecycle.js +120 -0
  589. package/dist/runtime/locations/location-store-repository.d.ts +72 -0
  590. package/dist/runtime/locations/location-store-repository.js +3198 -0
  591. package/dist/runtime/locations/relocation-blob.d.ts +7 -0
  592. package/dist/runtime/locations/relocation-blob.js +24 -0
  593. package/dist/runtime/locations/resolvers.d.ts +145 -0
  594. package/dist/runtime/locations/resolvers.js +693 -0
  595. package/dist/runtime/locations/runtime.d.ts +144 -0
  596. package/dist/runtime/locations/runtime.js +792 -0
  597. package/dist/runtime/locations/spot-location-claims.d.ts +36 -0
  598. package/dist/runtime/locations/spot-location-claims.js +305 -0
  599. package/dist/runtime/messaging/creation-payload-codec.d.ts +4 -0
  600. package/dist/runtime/messaging/creation-payload-codec.js +40 -0
  601. package/dist/runtime/messaging/framework-json-v1.d.ts +7 -0
  602. package/dist/runtime/messaging/framework-json-v1.js +296 -0
  603. package/dist/runtime/messaging/index.d.ts +1 -0
  604. package/dist/runtime/messaging/index.js +2 -0
  605. package/dist/runtime/messaging/packet-name.d.ts +4 -0
  606. package/dist/runtime/messaging/packet-name.js +79 -0
  607. package/dist/runtime/messaging/payload-codec.d.ts +25 -0
  608. package/dist/runtime/messaging/payload-codec.js +255 -0
  609. package/dist/runtime/messaging/submission-result.d.ts +15 -0
  610. package/dist/runtime/messaging/submission-result.js +37 -0
  611. package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +395 -0
  612. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +645 -0
  613. package/dist/runtime/routing-id.d.ts +8 -0
  614. package/dist/runtime/routing-id.js +112 -0
  615. package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +124 -0
  616. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +269 -0
  617. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +33 -0
  618. package/dist/runtime/spots/formal-remote-actor-transfer-registry.js +94 -0
  619. package/dist/runtime/spots/index.d.ts +247 -0
  620. package/dist/runtime/spots/index.js +2090 -0
  621. package/dist/runtime/spots/spot-activation-registry.d.ts +47 -0
  622. package/dist/runtime/spots/spot-activation-registry.js +272 -0
  623. package/dist/runtime/spots/spot-activation-state.d.ts +104 -0
  624. package/dist/runtime/spots/spot-activation-state.js +288 -0
  625. package/dist/runtime/spots/spot-activation.d.ts +89 -0
  626. package/dist/runtime/spots/spot-activation.js +601 -0
  627. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +20 -0
  628. package/dist/runtime/spots/spot-actor-admission-coordinator.js +194 -0
  629. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +83 -0
  630. package/dist/runtime/spots/spot-actor-join-dispatch.js +185 -0
  631. package/dist/runtime/spots/spot-actor-lifecycle-drain.d.ts +22 -0
  632. package/dist/runtime/spots/spot-actor-lifecycle-drain.js +51 -0
  633. package/dist/runtime/spots/spot-actor-membership.d.ts +39 -0
  634. package/dist/runtime/spots/spot-actor-membership.js +179 -0
  635. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +91 -0
  636. package/dist/runtime/spots/spot-actor-packet-dispatch.js +315 -0
  637. package/dist/runtime/spots/spot-actor-packet-drain.d.ts +40 -0
  638. package/dist/runtime/spots/spot-actor-packet-drain.js +235 -0
  639. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +18 -0
  640. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +110 -0
  641. package/dist/runtime/spots/spot-closing.d.ts +2 -0
  642. package/dist/runtime/spots/spot-closing.js +30 -0
  643. package/dist/runtime/spots/spot-context.d.ts +46 -0
  644. package/dist/runtime/spots/spot-context.js +113 -0
  645. package/dist/runtime/spots/spot-entry-activation.d.ts +107 -0
  646. package/dist/runtime/spots/spot-entry-activation.js +342 -0
  647. package/dist/runtime/spots/spot-handle.d.ts +28 -0
  648. package/dist/runtime/spots/spot-handle.js +38 -0
  649. package/dist/runtime/spots/spot-handler-registry.d.ts +52 -0
  650. package/dist/runtime/spots/spot-handler-registry.js +155 -0
  651. package/dist/runtime/spots/spot-lifecycle-metrics.d.ts +8 -0
  652. package/dist/runtime/spots/spot-lifecycle-metrics.js +16 -0
  653. package/dist/runtime/spots/spot-location-claim.d.ts +25 -0
  654. package/dist/runtime/spots/spot-location-claim.js +55 -0
  655. package/dist/runtime/spots/spot-manager-internal-contracts.d.ts +10 -0
  656. package/dist/runtime/spots/spot-manager-internal-contracts.js +2 -0
  657. package/dist/runtime/spots/spot-manager-public.d.ts +32 -0
  658. package/dist/runtime/spots/spot-manager-public.js +219 -0
  659. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +26 -0
  660. package/dist/runtime/spots/spot-native-actor-join-admission.js +105 -0
  661. package/dist/runtime/spots/spot-native-flags.d.ts +2 -0
  662. package/dist/runtime/spots/spot-native-flags.js +5 -0
  663. package/dist/runtime/spots/spot-node-autoconnect.d.ts +23 -0
  664. package/dist/runtime/spots/spot-node-autoconnect.js +246 -0
  665. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +137 -0
  666. package/dist/runtime/spots/spot-node-runtime-manager.js +1111 -0
  667. package/dist/runtime/spots/spot-outbound.d.ts +78 -0
  668. package/dist/runtime/spots/spot-outbound.js +460 -0
  669. package/dist/runtime/spots/spot-provider.d.ts +4 -0
  670. package/dist/runtime/spots/spot-provider.js +28 -0
  671. package/dist/runtime/spots/spot-publisher-transport.d.ts +14 -0
  672. package/dist/runtime/spots/spot-publisher-transport.js +28 -0
  673. package/dist/runtime/spots/spot-remote-codec.d.ts +50 -0
  674. package/dist/runtime/spots/spot-remote-codec.js +190 -0
  675. package/dist/runtime/spots/spot-remote-route-codec.d.ts +47 -0
  676. package/dist/runtime/spots/spot-remote-route-codec.js +168 -0
  677. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +25 -0
  678. package/dist/runtime/spots/spot-route-packet-dispatch.js +238 -0
  679. package/dist/runtime/spots/spot-route-replies.d.ts +17 -0
  680. package/dist/runtime/spots/spot-route-replies.js +76 -0
  681. package/dist/runtime/spots/spot-route-reply-wire.d.ts +10 -0
  682. package/dist/runtime/spots/spot-route-reply-wire.js +6 -0
  683. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +36 -0
  684. package/dist/runtime/spots/spot-routed-actor-admission.js +240 -0
  685. package/dist/runtime/spots/spot-routed-bound-session-dispatch.d.ts +19 -0
  686. package/dist/runtime/spots/spot-routed-bound-session-dispatch.js +46 -0
  687. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +54 -0
  688. package/dist/runtime/spots/spot-routed-frame-dispatch.js +162 -0
  689. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +43 -0
  690. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +152 -0
  691. package/dist/runtime/spots/spot-routing-internal.d.ts +28 -0
  692. package/dist/runtime/spots/spot-routing-internal.js +2 -0
  693. package/dist/runtime/spots/spot-runtime-ports.d.ts +64 -0
  694. package/dist/runtime/spots/spot-runtime-ports.js +2 -0
  695. package/dist/runtime/spots/spot-serial-executor.d.ts +38 -0
  696. package/dist/runtime/spots/spot-serial-executor.js +133 -0
  697. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +54 -0
  698. package/dist/runtime/spots/spot-serial-turn-executor.js +219 -0
  699. package/dist/runtime/spots/spot-subscription-dispatch.d.ts +32 -0
  700. package/dist/runtime/spots/spot-subscription-dispatch.js +194 -0
  701. package/dist/runtime/spots/spot-timer.d.ts +110 -0
  702. package/dist/runtime/spots/spot-timer.js +419 -0
  703. package/dist/runtime/streams/actor-session-binding-registry.d.ts +193 -0
  704. package/dist/runtime/streams/actor-session-binding-registry.js +1127 -0
  705. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +20 -0
  706. package/dist/runtime/streams/actor-session-binding-runtime-owner.js +19 -0
  707. package/dist/runtime/streams/actor-session-lifecycle-coordinator.d.ts +4 -0
  708. package/dist/runtime/streams/actor-session-lifecycle-coordinator.js +24 -0
  709. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +29 -0
  710. package/dist/runtime/streams/bound-actor-relay-sender.js +181 -0
  711. package/dist/runtime/streams/bound-session-response-target.d.ts +25 -0
  712. package/dist/runtime/streams/bound-session-response-target.js +54 -0
  713. package/dist/runtime/streams/bound-session-service.d.ts +48 -0
  714. package/dist/runtime/streams/bound-session-service.js +201 -0
  715. package/dist/runtime/streams/index.d.ts +152 -0
  716. package/dist/runtime/streams/index.js +338 -0
  717. package/dist/runtime/streams/managed-stream.d.ts +53 -0
  718. package/dist/runtime/streams/managed-stream.js +329 -0
  719. package/dist/runtime/streams/native-fallback-bound-session.d.ts +24 -0
  720. package/dist/runtime/streams/native-fallback-bound-session.js +201 -0
  721. package/dist/runtime/streams/protocol.d.ts +67 -0
  722. package/dist/runtime/streams/protocol.js +244 -0
  723. package/dist/runtime/streams/session-actor-coordinator.d.ts +56 -0
  724. package/dist/runtime/streams/session-actor-coordinator.js +371 -0
  725. package/dist/runtime/streams/session-calls.d.ts +59 -0
  726. package/dist/runtime/streams/session-calls.js +123 -0
  727. package/dist/runtime/streams/session-context.d.ts +108 -0
  728. package/dist/runtime/streams/session-context.js +377 -0
  729. package/dist/runtime/streams/session-local-actors.d.ts +10 -0
  730. package/dist/runtime/streams/session-local-actors.js +26 -0
  731. package/dist/runtime/streams/session-provider.d.ts +4 -0
  732. package/dist/runtime/streams/session-provider.js +30 -0
  733. package/dist/runtime/streams/session-requests.d.ts +25 -0
  734. package/dist/runtime/streams/session-requests.js +100 -0
  735. package/dist/runtime/streams/session-serial-executor.d.ts +12 -0
  736. package/dist/runtime/streams/session-serial-executor.js +58 -0
  737. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +62 -0
  738. package/dist/runtime/streams/stream-binding-runtime-ports.js +2 -0
  739. package/dist/runtime/streams/stream-frame-factory.d.ts +44 -0
  740. package/dist/runtime/streams/stream-frame-factory.js +149 -0
  741. package/dist/runtime/streams/stream-message-utils.d.ts +5 -0
  742. package/dist/runtime/streams/stream-message-utils.js +74 -0
  743. package/dist/runtime/streams/stream-session-runtime.d.ts +166 -0
  744. package/dist/runtime/streams/stream-session-runtime.js +1144 -0
  745. package/dist/runtime/workers/index.d.ts +38 -0
  746. package/dist/runtime/workers/index.js +474 -0
  747. package/package.json +19 -0
  748. package/src/contracts/Actors/ZLinkActor.ts +8 -0
  749. package/src/contracts/Actors/ZLinkActorClient.ts +18 -0
  750. package/src/contracts/Actors/ZLinkActorContext.ts +15 -0
  751. package/src/contracts/Actors/ZLinkActorFactory.ts +41 -0
  752. package/src/contracts/Actors/ZLinkActorManager.ts +31 -0
  753. package/src/contracts/Actors/index.ts +5 -0
  754. package/src/contracts/Channels/Calls.ts +33 -0
  755. package/src/contracts/Channels/IZLinkChannelClient.ts +6 -0
  756. package/src/contracts/Channels/IZLinkFanoutClient.ts +13 -0
  757. package/src/contracts/Channels/RouteCalls.ts +13 -0
  758. package/src/contracts/Channels/index.ts +4 -0
  759. package/src/contracts/Codecs/IZLinkCodecRegistryBuilder.ts +22 -0
  760. package/src/contracts/Codecs/ZLinkMessageSerializer.ts +6 -0
  761. package/src/contracts/Codecs/index.ts +2 -0
  762. package/src/contracts/Common/ActorRef.ts +8 -0
  763. package/src/contracts/Common/CoreTypes.ts +6 -0
  764. package/src/contracts/Common/Message.ts +9 -0
  765. package/src/contracts/Common/ZLinkEncodedPayload.ts +47 -0
  766. package/src/contracts/Common/ZLinkMessage.ts +135 -0
  767. package/src/contracts/Common/ZLinkMessageMetadata.ts +77 -0
  768. package/src/contracts/Common/ZLinkProviderResolver.ts +6 -0
  769. package/src/contracts/Common/encoded-payload-storage.ts +16 -0
  770. package/src/contracts/Common/index.ts +5 -0
  771. package/src/contracts/Configuration/Builders.ts +200 -0
  772. package/src/contracts/Configuration/CodecContentType.ts +68 -0
  773. package/src/contracts/Configuration/CodecSerializerSelection.ts +28 -0
  774. package/src/contracts/Configuration/Configs.ts +27 -0
  775. package/src/contracts/Configuration/ConfigurationException.ts +6 -0
  776. package/src/contracts/Configuration/Connections.ts +5 -0
  777. package/src/contracts/Configuration/DiagnosticsValidation.ts +25 -0
  778. package/src/contracts/Configuration/EndpointNotation.ts +232 -0
  779. package/src/contracts/Configuration/InternalDefaults.ts +13 -0
  780. package/src/contracts/Configuration/ObjectRoles.ts +47 -0
  781. package/src/contracts/Configuration/Registration.ts +191 -0
  782. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +76 -0
  783. package/src/contracts/Configuration/RegistrationBuilders.ts +1705 -0
  784. package/src/contracts/Configuration/RegistrationCodecRegistry.ts +118 -0
  785. package/src/contracts/Configuration/RegistrationNormalizers.ts +404 -0
  786. package/src/contracts/Configuration/RegistrationTypes.ts +499 -0
  787. package/src/contracts/Configuration/RegistrationValidators.ts +698 -0
  788. package/src/contracts/Configuration/RouteChannelInternalState.ts +50 -0
  789. package/src/contracts/Configuration/RuntimeEndpointConnections.ts +91 -0
  790. package/src/contracts/Configuration/SendTimeoutValidation.ts +15 -0
  791. package/src/contracts/Configuration/TimerRegistrationValidator.ts +37 -0
  792. package/src/contracts/Configuration/index.ts +35 -0
  793. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +222 -0
  794. package/src/contracts/Dispatch/ZLinkFlowOrigin.ts +1 -0
  795. package/src/contracts/Dispatch/index.ts +2 -0
  796. package/src/contracts/Errors/ZLinkFrameworkException.ts +27 -0
  797. package/src/contracts/Errors/index.ts +4 -0
  798. package/src/contracts/Eventing/Metrics.ts +27 -0
  799. package/src/contracts/Eventing/index.ts +1 -0
  800. package/src/contracts/Handlers/Attributes.ts +111 -0
  801. package/src/contracts/Handlers/Contexts.ts +21 -0
  802. package/src/contracts/Handlers/IZLinkChannelHandlers.ts +69 -0
  803. package/src/contracts/Handlers/IZLinkHandlerFilter.ts +22 -0
  804. package/src/contracts/Handlers/JsonContract.ts +172 -0
  805. package/src/contracts/Handlers/ZLinkHandlerFilterNext.ts +1 -0
  806. package/src/contracts/Handlers/index.ts +17 -0
  807. package/src/contracts/Locations/ActorTransfer.ts +84 -0
  808. package/src/contracts/Locations/Authority.ts +308 -0
  809. package/src/contracts/Locations/Diagnostics.ts +48 -0
  810. package/src/contracts/Locations/Keys.ts +93 -0
  811. package/src/contracts/Locations/Models.ts +7 -0
  812. package/src/contracts/Locations/Options.ts +42 -0
  813. package/src/contracts/Locations/Readiness.ts +11 -0
  814. package/src/contracts/Locations/RelocationStore.ts +51 -0
  815. package/src/contracts/Locations/Resolvers.ts +8 -0
  816. package/src/contracts/Locations/Rows.ts +164 -0
  817. package/src/contracts/Locations/RuntimeQuery.ts +56 -0
  818. package/src/contracts/Locations/Stores.ts +92 -0
  819. package/src/contracts/Locations/Values.ts +32 -0
  820. package/src/contracts/Locations/Watch.ts +16 -0
  821. package/src/contracts/Locations/Writes.ts +56 -0
  822. package/src/contracts/Locations/index.ts +48 -0
  823. package/src/contracts/RouteMesh/Contracts.ts +145 -0
  824. package/src/contracts/RouteMesh/RuntimeTopology.ts +201 -0
  825. package/src/contracts/RouteMesh/index.ts +2 -0
  826. package/src/contracts/Spots/Builders.ts +11 -0
  827. package/src/contracts/Spots/Contracts.ts +150 -0
  828. package/src/contracts/Spots/SpotKind.ts +24 -0
  829. package/src/contracts/Spots/ZLinkSpot.ts +88 -0
  830. package/src/contracts/Spots/index.ts +3 -0
  831. package/src/contracts/Streams/BoundSessionContracts.ts +9 -0
  832. package/src/contracts/Streams/IZLinkSession.ts +52 -0
  833. package/src/contracts/Streams/IZLinkSessionActor.ts +17 -0
  834. package/src/contracts/Streams/IZLinkSessionPacketHandler.ts +11 -0
  835. package/src/contracts/Streams/IZLinkStream.ts +10 -0
  836. package/src/contracts/Streams/ZLinkMessageMetadata.ts +1 -0
  837. package/src/contracts/Streams/ZLinkStreamCompression.ts +9 -0
  838. package/src/contracts/Streams/ZLinkStreamError.ts +9 -0
  839. package/src/contracts/Streams/index.ts +8 -0
  840. package/src/contracts/Timers/IZLinkTimer.ts +5 -0
  841. package/src/contracts/Timers/ZLinkTimerOptions.ts +11 -0
  842. package/src/contracts/Timers/ZLinkTimerTick.ts +12 -0
  843. package/src/contracts/Timers/index.ts +3 -0
  844. package/src/contracts/index.ts +71 -0
  845. package/src/index.ts +1 -0
  846. package/src/internal.ts +29 -0
  847. package/src/location-store-integration.ts +51 -0
  848. package/src/nest-integration.ts +251 -0
  849. package/src/runtime/abort.ts +70 -0
  850. package/src/runtime/actors/actor-authority-payload-codec.ts +454 -0
  851. package/src/runtime/actors/actor-authority-publication.ts +277 -0
  852. package/src/runtime/actors/actor-client.ts +1018 -0
  853. package/src/runtime/actors/actor-context.ts +583 -0
  854. package/src/runtime/actors/actor-creation.ts +254 -0
  855. package/src/runtime/actors/actor-execution-context.ts +38 -0
  856. package/src/runtime/actors/actor-handoff.ts +1911 -0
  857. package/src/runtime/actors/actor-join-deferred-scope.ts +183 -0
  858. package/src/runtime/actors/actor-join-relocation.ts +39 -0
  859. package/src/runtime/actors/actor-lifecycle-snapshot.ts +90 -0
  860. package/src/runtime/actors/actor-local-native-join.ts +725 -0
  861. package/src/runtime/actors/actor-mailbox.ts +92 -0
  862. package/src/runtime/actors/actor-message-follow-context.ts +347 -0
  863. package/src/runtime/actors/actor-native-lookup.ts +38 -0
  864. package/src/runtime/actors/actor-packet-relay-wire.ts +223 -0
  865. package/src/runtime/actors/actor-remote-joiner.ts +238 -0
  866. package/src/runtime/actors/actor-remote-wire.ts +169 -0
  867. package/src/runtime/actors/actor-retry-delay.ts +37 -0
  868. package/src/runtime/actors/actor-routed-join-transport.ts +58 -0
  869. package/src/runtime/actors/actor-routed-json-request.ts +44 -0
  870. package/src/runtime/actors/actor-runtime-contracts.ts +126 -0
  871. package/src/runtime/actors/actor-runtime-state.ts +805 -0
  872. package/src/runtime/actors/actor-source-transfer.ts +62 -0
  873. package/src/runtime/actors/actor-transfer-registry.ts +112 -0
  874. package/src/runtime/actors/actor-transport-delivery-gate.ts +17 -0
  875. package/src/runtime/actors/bound-session-wire.ts +257 -0
  876. package/src/runtime/actors/deferred-join-accepted-journal.ts +1319 -0
  877. package/src/runtime/actors/index.ts +972 -0
  878. package/src/runtime/actors/post-commit-actor-binder.ts +70 -0
  879. package/src/runtime/actors/post-commit-actor-location.ts +114 -0
  880. package/src/runtime/actors/spot-actor-dispatch.ts +362 -0
  881. package/src/runtime/actors/transferred-actor-rollback.ts +123 -0
  882. package/src/runtime/admission.ts +192 -0
  883. package/src/runtime/application-jobs/application-ingress-record-owner.ts +216 -0
  884. package/src/runtime/application-jobs/application-job-queue-handler-start-gate.ts +10 -0
  885. package/src/runtime/application-jobs/application-job-queue-scope.ts +64 -0
  886. package/src/runtime/application-jobs/contracts.ts +26 -0
  887. package/src/runtime/application-jobs/receive-flow-controller.ts +188 -0
  888. package/src/runtime/backend/contracts/index.ts +765 -0
  889. package/src/runtime/backend/index.ts +9 -0
  890. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +73 -0
  891. package/src/runtime/backend/mesh-completion-table.ts +165 -0
  892. package/src/runtime/backend/mesh-dispatch-pump.ts +363 -0
  893. package/src/runtime/backend/mesh-record-dispatcher.ts +65 -0
  894. package/src/runtime/backend/node/index.ts +4 -0
  895. package/src/runtime/backend/node/node-backend-adapter-factory.ts +204 -0
  896. package/src/runtime/backend/node/node-backend-adapter-support.ts +257 -0
  897. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +133 -0
  898. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +44 -0
  899. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +39 -0
  900. package/src/runtime/backend/node/node-raw-binding-port.contract.ts +21 -0
  901. package/src/runtime/backend/node/node-raw-binding-port.ts +518 -0
  902. package/src/runtime/backend/node/node-raw-mesh-backend.ts +2669 -0
  903. package/src/runtime/backend/node/node-socket-backend-adapter.ts +372 -0
  904. package/src/runtime/backend/node-backend-adapter.ts +19 -0
  905. package/src/runtime/backend/raw-binding-port.ts +69 -0
  906. package/src/runtime/backend/runtime-message.ts +51 -0
  907. package/src/runtime/backend/runtime-values.ts +107 -0
  908. package/src/runtime/channels/channel-autoconnect.ts +46 -0
  909. package/src/runtime/channels/channel-clients.ts +527 -0
  910. package/src/runtime/channels/channel-dispatch-pipeline.ts +408 -0
  911. package/src/runtime/channels/channel-dispatch-services.ts +234 -0
  912. package/src/runtime/channels/channel-dispatchers.ts +790 -0
  913. package/src/runtime/channels/channel-envelope-inspection.ts +125 -0
  914. package/src/runtime/channels/channel-envelope.ts +743 -0
  915. package/src/runtime/channels/channel-framework-packets.ts +8 -0
  916. package/src/runtime/channels/channel-multipart.ts +61 -0
  917. package/src/runtime/channels/channel-outbound-operations.ts +584 -0
  918. package/src/runtime/channels/channel-receive-loops.ts +901 -0
  919. package/src/runtime/channels/channel-receive-task-tracker.ts +39 -0
  920. package/src/runtime/channels/channel-runtime-lifecycle.ts +969 -0
  921. package/src/runtime/channels/channel-runtime-manager.ts +444 -0
  922. package/src/runtime/channels/channel-socket-options.ts +153 -0
  923. package/src/runtime/channels/channel-socket-registry.ts +1837 -0
  924. package/src/runtime/channels/channel-transports.ts +1154 -0
  925. package/src/runtime/channels/client-server-location-runtime.ts +576 -0
  926. package/src/runtime/channels/client-server-service-wire.ts +390 -0
  927. package/src/runtime/channels/dispatch-error-reporter.ts +165 -0
  928. package/src/runtime/channels/fanout-location-runtime.ts +459 -0
  929. package/src/runtime/channels/fanout-service-wire.ts +43 -0
  930. package/src/runtime/channels/handler-filter-scope.ts +29 -0
  931. package/src/runtime/channels/index.ts +45 -0
  932. package/src/runtime/channels/local-spot-route-transport.ts +59 -0
  933. package/src/runtime/channels/route-disconnected-error.ts +6 -0
  934. package/src/runtime/channels/route-member-snapshot.ts +55 -0
  935. package/src/runtime/channels/router-socket-spot-route-transport.ts +77 -0
  936. package/src/runtime/channels/source-spot-router.ts +89 -0
  937. package/src/runtime/channels/spot-direct-envelope.ts +44 -0
  938. package/src/runtime/channels/spot-node-route-transport.ts +92 -0
  939. package/src/runtime/channels/spot-route-bridge-transport.ts +75 -0
  940. package/src/runtime/channels/spot-route-dispatch-strategy.ts +329 -0
  941. package/src/runtime/channels/spot-route-target-resolver.ts +101 -0
  942. package/src/runtime/codecs/index.ts +69 -0
  943. package/src/runtime/configuration/index.ts +1 -0
  944. package/src/runtime/diagnostics/dispatch-error-port.ts +8 -0
  945. package/src/runtime/diagnostics/flow-context.ts +84 -0
  946. package/src/runtime/diagnostics/index.ts +441 -0
  947. package/src/runtime/diagnostics/internal-event-contracts.ts +135 -0
  948. package/src/runtime/diagnostics/message-flow.ts +560 -0
  949. package/src/runtime/diagnostics/runtime-metrics.ts +601 -0
  950. package/src/runtime/diagnostics/runtime-observation-queue.ts +362 -0
  951. package/src/runtime/diagnostics/topology-runtime-projections.ts +298 -0
  952. package/src/runtime/execution/index.ts +466 -0
  953. package/src/runtime/execution/serial-execution-queue.ts +534 -0
  954. package/src/runtime/execution/serial-work-size.ts +31 -0
  955. package/src/runtime/execution/state-lane.ts +116 -0
  956. package/src/runtime/foundation/actor-join-recovery-codec.ts +465 -0
  957. package/src/runtime/foundation/event-loop-resources.ts +162 -0
  958. package/src/runtime/foundation/index.ts +18 -0
  959. package/src/runtime/foundation/message-follow-suppression-registry.ts +130 -0
  960. package/src/runtime/foundation/operation-identity.ts +49 -0
  961. package/src/runtime/foundation/operation-registry.ts +162 -0
  962. package/src/runtime/foundation/raw-service-mesh-runtime.ts +1771 -0
  963. package/src/runtime/foundation/route-mesh-connection-policy.ts +28 -0
  964. package/src/runtime/foundation/runtime-state-projections.ts +68 -0
  965. package/src/runtime/foundation/service-authority-payload-codec.ts +566 -0
  966. package/src/runtime/foundation/service-discovery-registry.ts +263 -0
  967. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +329 -0
  968. package/src/runtime/foundation/service-liveness-registry.ts +144 -0
  969. package/src/runtime/foundation/service-mailbox.ts +369 -0
  970. package/src/runtime/foundation/service-maintenance-runtime.ts +242 -0
  971. package/src/runtime/foundation/service-metadata-codec.ts +75 -0
  972. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +218 -0
  973. package/src/runtime/foundation/service-relocation-coordinator.ts +37 -0
  974. package/src/runtime/foundation/service-relocation-object-owner.ts +428 -0
  975. package/src/runtime/foundation/service-relocation-runtime.ts +1407 -0
  976. package/src/runtime/foundation/service-runtime-contracts.ts +423 -0
  977. package/src/runtime/foundation/service-session-binding-ingress-port.ts +45 -0
  978. package/src/runtime/foundation/service-stateful-registry.ts +664 -0
  979. package/src/runtime/foundation/service-stateful-runtime.ts +5753 -0
  980. package/src/runtime/foundation/service-stateful-wire-codec.ts +3008 -0
  981. package/src/runtime/foundation/service-topology-registry.ts +599 -0
  982. package/src/runtime/foundation/service-weighted-selection.ts +166 -0
  983. package/src/runtime/foundation/service-wire-binary-primitives.ts +80 -0
  984. package/src/runtime/foundation/service-wire-codec.ts +91 -0
  985. package/src/runtime/foundation/service-wire-constants.generated.ts +131 -0
  986. package/src/runtime/foundation/service-wire-m6a-codec.ts +647 -0
  987. package/src/runtime/framework-errors-internal.ts +338 -0
  988. package/src/runtime/handlers/handler-instance-scope.ts +372 -0
  989. package/src/runtime/handlers/index.ts +93 -0
  990. package/src/runtime/host/actor-packet-relay.ts +1070 -0
  991. package/src/runtime/host/actor-placement-coordinator.ts +573 -0
  992. package/src/runtime/host/actor-runtime-options-factory.ts +282 -0
  993. package/src/runtime/host/actor-transfer-authority-runtime.ts +225 -0
  994. package/src/runtime/host/actor-transfer-runtime.ts +1958 -0
  995. package/src/runtime/host/application-job-queue.ts +518 -0
  996. package/src/runtime/host/bound-session-relay.ts +94 -0
  997. package/src/runtime/host/bounded-replay-map.ts +42 -0
  998. package/src/runtime/host/channel-runtime-options-factory.ts +104 -0
  999. package/src/runtime/host/entry-actor-runtime.ts +115 -0
  1000. package/src/runtime/host/host-capacity-status.ts +103 -0
  1001. package/src/runtime/host/index.ts +3492 -0
  1002. package/src/runtime/host/instance-activation-authority.ts +658 -0
  1003. package/src/runtime/host/location-runtime-owner.ts +313 -0
  1004. package/src/runtime/host/mesh-router-resolver.ts +114 -0
  1005. package/src/runtime/host/relocation-direct-transfer.ts +273 -0
  1006. package/src/runtime/host/relocation-integrity-fault-gate.ts +8 -0
  1007. package/src/runtime/host/relocation-state-adapter.ts +24 -0
  1008. package/src/runtime/host/remote-actor-join-receiver.ts +264 -0
  1009. package/src/runtime/host/remote-actor-packet-target-store.ts +244 -0
  1010. package/src/runtime/host/remote-bound-session-relay.ts +900 -0
  1011. package/src/runtime/host/route-mesh-runtime-options.ts +46 -0
  1012. package/src/runtime/host/route-mesh-runtime.ts +891 -0
  1013. package/src/runtime/host/runtime-shutdown.ts +101 -0
  1014. package/src/runtime/host/service-relocation-control.ts +28 -0
  1015. package/src/runtime/host/service-relocation-host-runtime.ts +5817 -0
  1016. package/src/runtime/host/spot-address-transport.ts +997 -0
  1017. package/src/runtime/host/spot-node-runtime-options-factory.ts +82 -0
  1018. package/src/runtime/host/spot-runtime-options-factory.ts +286 -0
  1019. package/src/runtime/host/stateful-authority-route-runtime.ts +662 -0
  1020. package/src/runtime/host/user-spot-creation-coordinator.ts +1176 -0
  1021. package/src/runtime/locations/actor-location-claims.ts +426 -0
  1022. package/src/runtime/locations/actor-session-route-claims.ts +64 -0
  1023. package/src/runtime/locations/aggregate-inventory-store.ts +581 -0
  1024. package/src/runtime/locations/authority-key-codec.ts +80 -0
  1025. package/src/runtime/locations/auto-connect-loop.ts +131 -0
  1026. package/src/runtime/locations/auto-connect-planner.ts +178 -0
  1027. package/src/runtime/locations/auto-connect-reconciler.ts +425 -0
  1028. package/src/runtime/locations/auto-connect-types.ts +62 -0
  1029. package/src/runtime/locations/auto-connect.ts +4 -0
  1030. package/src/runtime/locations/canonical-codec.ts +54 -0
  1031. package/src/runtime/locations/domain-store-contract.ts +149 -0
  1032. package/src/runtime/locations/in-memory-authority-store.ts +1172 -0
  1033. package/src/runtime/locations/in-memory-location-store.ts +1467 -0
  1034. package/src/runtime/locations/in-memory-provider-location-store.ts +213 -0
  1035. package/src/runtime/locations/index.ts +11 -0
  1036. package/src/runtime/locations/internal-location-contracts.ts +22 -0
  1037. package/src/runtime/locations/internal-store-contracts.ts +90 -0
  1038. package/src/runtime/locations/key-codec.ts +61 -0
  1039. package/src/runtime/locations/lease-tracker.ts +221 -0
  1040. package/src/runtime/locations/lifecycle-runtime.ts +44 -0
  1041. package/src/runtime/locations/lifecycle.ts +272 -0
  1042. package/src/runtime/locations/location-store-repository.ts +4211 -0
  1043. package/src/runtime/locations/relocation-blob.ts +36 -0
  1044. package/src/runtime/locations/resolvers.ts +1054 -0
  1045. package/src/runtime/locations/runtime.ts +1126 -0
  1046. package/src/runtime/locations/spot-location-claims.ts +435 -0
  1047. package/src/runtime/messaging/creation-payload-codec.ts +59 -0
  1048. package/src/runtime/messaging/framework-json-v1.ts +307 -0
  1049. package/src/runtime/messaging/index.ts +1 -0
  1050. package/src/runtime/messaging/packet-name.ts +94 -0
  1051. package/src/runtime/messaging/payload-codec.ts +418 -0
  1052. package/src/runtime/messaging/submission-result.ts +61 -0
  1053. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +189 -0
  1054. package/src/runtime/routing-id.ts +125 -0
  1055. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +418 -0
  1056. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +147 -0
  1057. package/src/runtime/spots/index.ts +3303 -0
  1058. package/src/runtime/spots/spot-activation-registry.ts +335 -0
  1059. package/src/runtime/spots/spot-activation-state.ts +414 -0
  1060. package/src/runtime/spots/spot-activation.ts +1027 -0
  1061. package/src/runtime/spots/spot-actor-admission-coordinator.ts +354 -0
  1062. package/src/runtime/spots/spot-actor-join-dispatch.ts +303 -0
  1063. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +79 -0
  1064. package/src/runtime/spots/spot-actor-membership.ts +266 -0
  1065. package/src/runtime/spots/spot-actor-packet-dispatch.ts +593 -0
  1066. package/src/runtime/spots/spot-actor-packet-drain.ts +328 -0
  1067. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +162 -0
  1068. package/src/runtime/spots/spot-closing.ts +34 -0
  1069. package/src/runtime/spots/spot-context.ts +259 -0
  1070. package/src/runtime/spots/spot-entry-activation.ts +551 -0
  1071. package/src/runtime/spots/spot-handle.ts +101 -0
  1072. package/src/runtime/spots/spot-handler-registry.ts +273 -0
  1073. package/src/runtime/spots/spot-lifecycle-metrics.ts +15 -0
  1074. package/src/runtime/spots/spot-location-claim.ts +86 -0
  1075. package/src/runtime/spots/spot-manager-internal-contracts.ts +11 -0
  1076. package/src/runtime/spots/spot-manager-public.ts +361 -0
  1077. package/src/runtime/spots/spot-native-actor-join-admission.ts +151 -0
  1078. package/src/runtime/spots/spot-native-flags.ts +4 -0
  1079. package/src/runtime/spots/spot-node-autoconnect.ts +325 -0
  1080. package/src/runtime/spots/spot-node-runtime-manager.ts +1573 -0
  1081. package/src/runtime/spots/spot-outbound.ts +761 -0
  1082. package/src/runtime/spots/spot-provider.ts +36 -0
  1083. package/src/runtime/spots/spot-publisher-transport.ts +69 -0
  1084. package/src/runtime/spots/spot-remote-codec.ts +308 -0
  1085. package/src/runtime/spots/spot-remote-route-codec.ts +284 -0
  1086. package/src/runtime/spots/spot-route-packet-dispatch.ts +359 -0
  1087. package/src/runtime/spots/spot-route-replies.ts +126 -0
  1088. package/src/runtime/spots/spot-route-reply-wire.ts +15 -0
  1089. package/src/runtime/spots/spot-routed-actor-admission.ts +351 -0
  1090. package/src/runtime/spots/spot-routed-bound-session-dispatch.ts +132 -0
  1091. package/src/runtime/spots/spot-routed-frame-dispatch.ts +250 -0
  1092. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +254 -0
  1093. package/src/runtime/spots/spot-routing-internal.ts +33 -0
  1094. package/src/runtime/spots/spot-runtime-ports.ts +196 -0
  1095. package/src/runtime/spots/spot-serial-executor.ts +170 -0
  1096. package/src/runtime/spots/spot-serial-turn-executor.ts +319 -0
  1097. package/src/runtime/spots/spot-subscription-dispatch.ts +252 -0
  1098. package/src/runtime/spots/spot-timer.ts +609 -0
  1099. package/src/runtime/streams/actor-session-binding-registry.ts +1691 -0
  1100. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +78 -0
  1101. package/src/runtime/streams/actor-session-lifecycle-coordinator.ts +20 -0
  1102. package/src/runtime/streams/bound-actor-relay-sender.ts +275 -0
  1103. package/src/runtime/streams/bound-session-response-target.ts +91 -0
  1104. package/src/runtime/streams/bound-session-service.ts +500 -0
  1105. package/src/runtime/streams/index.ts +706 -0
  1106. package/src/runtime/streams/managed-stream.ts +509 -0
  1107. package/src/runtime/streams/native-fallback-bound-session.ts +321 -0
  1108. package/src/runtime/streams/protocol.ts +291 -0
  1109. package/src/runtime/streams/session-actor-coordinator.ts +605 -0
  1110. package/src/runtime/streams/session-calls.ts +221 -0
  1111. package/src/runtime/streams/session-context.ts +609 -0
  1112. package/src/runtime/streams/session-local-actors.ts +30 -0
  1113. package/src/runtime/streams/session-provider.ts +50 -0
  1114. package/src/runtime/streams/session-requests.ts +109 -0
  1115. package/src/runtime/streams/session-serial-executor.ts +97 -0
  1116. package/src/runtime/streams/stream-binding-runtime-ports.ts +106 -0
  1117. package/src/runtime/streams/stream-frame-factory.ts +255 -0
  1118. package/src/runtime/streams/stream-message-utils.ts +89 -0
  1119. package/src/runtime/streams/stream-session-runtime.ts +1420 -0
  1120. package/src/runtime/workers/index.ts +580 -0
  1121. package/tsconfig.json +17 -0
@@ -0,0 +1,1080 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ServiceRelocationAuthorityPayloadCodec = void 0;
4
+ exports.serviceRelocationAuthorityApplicationPayload = serviceRelocationAuthorityApplicationPayload;
5
+ exports.serviceRelocationAuthoritySlotIdentity = serviceRelocationAuthoritySlotIdentity;
6
+ exports.replaceServiceRelocationAuthorityApplicationPayload = replaceServiceRelocationAuthorityApplicationPayload;
7
+ exports.projectServiceRelocationAuthorityTargetReady = projectServiceRelocationAuthorityTargetReady;
8
+ exports.decodeCanonicalRelocationSlot = decodeCanonicalRelocationSlot;
9
+ exports.encodeCanonicalRelocationSlot = encodeCanonicalRelocationSlot;
10
+ exports.encodeServiceRelocationEnvelope = encodeServiceRelocationEnvelope;
11
+ exports.decodeServiceRelocationEnvelope = decodeServiceRelocationEnvelope;
12
+ exports.inventoryDigest = inventoryDigest;
13
+ exports.crc32c = crc32c;
14
+ const node_crypto_1 = require("node:crypto");
15
+ const authority_key_codec_1 = require("../locations/authority-key-codec");
16
+ const service_wire_pilot_codec_generated_1 = require("../protocol/service_wire_pilot_codec.generated");
17
+ /** Deterministic Location authority wrapper for one immutable relocation root. */
18
+ class ServiceRelocationAuthorityPayloadCodec {
19
+ publish(currentPayload, publication) {
20
+ if (this.read(currentPayload) !== undefined) {
21
+ throw new TypeError('Location authority already contains a relocation publication.');
22
+ }
23
+ const canonical = decodeCanonicalAuthorityLayout(currentPayload);
24
+ if (canonical !== undefined) {
25
+ return replaceCanonicalRelocationSlot(canonical, encodeCanonicalRelocationPublicationSlot(canonical, publication));
26
+ }
27
+ return encodeAuthorityEnvelope(Buffer.from(currentPayload), publication);
28
+ }
29
+ read(payload) {
30
+ return decodeCanonicalAuthorityPublication(payload)
31
+ ?? decodeAuthorityEnvelope(payload)?.publication;
32
+ }
33
+ clear(currentPayload, expectedReference) {
34
+ const canonical = decodeCanonicalAuthorityLayout(currentPayload);
35
+ const canonicalPublication = canonical === undefined
36
+ ? undefined
37
+ : decodeCanonicalRelocationSlot(canonical.slot);
38
+ if (canonical !== undefined && canonicalPublication?.reference !== undefined) {
39
+ if (canonicalPublication.reference !== requireText(expectedReference, 'relocation reference')) {
40
+ throw new TypeError('Location authority relocation reference changed.');
41
+ }
42
+ return replaceCanonicalRelocationSlot(canonical, Buffer.alloc(0));
43
+ }
44
+ const current = decodeAuthorityEnvelope(currentPayload);
45
+ if (current === undefined
46
+ || current.publication.reference !== requireText(expectedReference, 'relocation reference')) {
47
+ throw new TypeError('Location authority relocation reference changed.');
48
+ }
49
+ return Buffer.from(current.base);
50
+ }
51
+ }
52
+ exports.ServiceRelocationAuthorityPayloadCodec = ServiceRelocationAuthorityPayloadCodec;
53
+ /** Returns the application authority payload hidden by relocation metadata. */
54
+ function serviceRelocationAuthorityApplicationPayload(payload) {
55
+ const canonical = decodeCanonicalAuthorityLayout(payload);
56
+ if (canonical !== undefined && canonical.slot.byteLength !== 0) {
57
+ if (decodeCanonicalRelocationSlot(canonical.slot) === undefined) {
58
+ throw new TypeError('Canonical authority relocation slot is invalid.');
59
+ }
60
+ return replaceCanonicalRelocationSlot(canonical, Buffer.alloc(0));
61
+ }
62
+ return Buffer.from(decodeAuthorityEnvelope(payload)?.base ?? payload);
63
+ }
64
+ /** Reads the canonical relocation identity even before its root pointer exists. */
65
+ function serviceRelocationAuthoritySlotIdentity(payload) {
66
+ const layout = decodeCanonicalAuthorityLayout(payload);
67
+ const slot = layout === undefined || layout.slot.byteLength === 0
68
+ ? undefined
69
+ : decodeCanonicalRelocationSlot(layout.slot);
70
+ return slot === undefined
71
+ ? undefined
72
+ : {
73
+ aggregateId: slot.aggregateId,
74
+ aggregateGeneration: slot.aggregateGeneration,
75
+ applicationVersion: slot.applicationVersion
76
+ };
77
+ }
78
+ /** Replaces the application payload without changing relocation metadata. */
79
+ function replaceServiceRelocationAuthorityApplicationPayload(payload, applicationPayload) {
80
+ const canonical = decodeCanonicalAuthorityLayout(payload);
81
+ if (canonical !== undefined && canonical.slot.byteLength !== 0) {
82
+ const replacement = decodeCanonicalAuthorityLayout(applicationPayload);
83
+ if (replacement === undefined || replacement.slot.byteLength !== 0) {
84
+ throw new TypeError('Canonical authority application replacement is not steady ZLAU.');
85
+ }
86
+ return replaceCanonicalRelocationSlot(replacement, canonical.slot);
87
+ }
88
+ const current = decodeAuthorityEnvelope(payload);
89
+ return current === undefined
90
+ ? Buffer.from(applicationPayload)
91
+ : encodeAuthorityEnvelope(Buffer.from(applicationPayload), current.publication);
92
+ }
93
+ /** Projects an embedded canonical relocation slot to the exact target-ready fence. */
94
+ function projectServiceRelocationAuthorityTargetReady(payload, target) {
95
+ const layout = decodeCanonicalAuthorityLayout(payload);
96
+ if (layout === undefined || layout.slot.byteLength === 0) {
97
+ throw new TypeError('Canonical authority relocation slot is missing.');
98
+ }
99
+ const current = decodeCanonicalRelocationSlot(layout.slot);
100
+ if (current === undefined) {
101
+ throw new TypeError('Canonical authority relocation slot is invalid.');
102
+ }
103
+ const slot = encodeCanonicalRelocationSlot({
104
+ ...current,
105
+ targetAttemptGeneration: target.targetAttemptGeneration,
106
+ targetNodeRid: target.nodeRid,
107
+ targetNodeGeneration: target.nodeGeneration,
108
+ targetOwnerId: target.ownerId,
109
+ targetOwnerLeaseGeneration: target.ownerLeaseGeneration,
110
+ coordinatorOwnerId: target.ownerId,
111
+ coordinatorLeaseGeneration: target.ownerLeaseGeneration,
112
+ coordinatorNodeRid: target.nodeRid,
113
+ coordinatorNodeGeneration: target.nodeGeneration,
114
+ coordinatorExpectedStoreVersion: target.coordinatorExpectedStoreVersion,
115
+ phase: 5,
116
+ sourceCleanupState: 0
117
+ });
118
+ return replaceCanonicalRelocationSlot(layout, slot);
119
+ }
120
+ function decodeCanonicalAuthorityPublication(payload) {
121
+ const layout = decodeCanonicalAuthorityLayout(payload);
122
+ if (layout === undefined || layout.slot.byteLength === 0)
123
+ return undefined;
124
+ const slot = decodeCanonicalRelocationSlot(layout.slot);
125
+ if (slot === undefined)
126
+ return undefined;
127
+ return {
128
+ reference: slot.reference,
129
+ checksumCrc32c: slot.checksumCrc32c,
130
+ aggregateId: slot.aggregateId,
131
+ aggregateGeneration: slot.aggregateGeneration,
132
+ inventoryDigest: '0'.repeat(64),
133
+ targetOwnerId: slot.targetOwnerId,
134
+ targetOwnerLeaseGeneration: slot.targetOwnerLeaseGeneration,
135
+ targetAttemptGeneration: slot.targetAttemptGeneration,
136
+ sourceNodeRid: slot.sourceNodeRid,
137
+ sourceNodeGeneration: slot.sourceNodeGeneration,
138
+ sourceOwnerId: slot.sourceOwnerId,
139
+ sourceOwnerLeaseGeneration: slot.sourceOwnerLeaseGeneration,
140
+ targetNodeRid: slot.targetNodeRid,
141
+ targetNodeGeneration: slot.targetNodeGeneration,
142
+ coordinatorOwnerId: slot.coordinatorOwnerId,
143
+ coordinatorLeaseGeneration: slot.coordinatorLeaseGeneration,
144
+ coordinatorNodeRid: slot.coordinatorNodeRid,
145
+ coordinatorNodeGeneration: slot.coordinatorNodeGeneration,
146
+ coordinatorExpectedStoreVersion: slot.coordinatorExpectedStoreVersion,
147
+ canonicalPhase: slot.phase,
148
+ canonicalSourceCleanupState: slot.sourceCleanupState,
149
+ canonical: true,
150
+ applicationVersion: slot.applicationVersion
151
+ };
152
+ }
153
+ function decodeCanonicalAuthorityLayout(payload) {
154
+ try {
155
+ const bytes = Buffer.from(payload);
156
+ if (bytes.byteLength < 20 || bytes.byteLength > 1024 * 1024)
157
+ return undefined;
158
+ const reader = new CanonicalReader(bytes);
159
+ reader.expect(Buffer.from('ZLAU'));
160
+ if (reader.u8() !== 1)
161
+ return undefined;
162
+ const flags = reader.u16();
163
+ const body = reader.take(reader.u32());
164
+ const checksumOffset = reader.offset;
165
+ if (reader.u32() !== crc32c(bytes.subarray(0, checksumOffset)) || !reader.done) {
166
+ return undefined;
167
+ }
168
+ const bodyReader = new CanonicalReader(body);
169
+ bodyReader.u8();
170
+ bodyReader.u8();
171
+ bodyReader.take(bodyReader.u16());
172
+ const ownerId = bodyReader.text8(false);
173
+ const ownerLeaseGeneration = bodyReader.u64();
174
+ bodyReader.text8(false);
175
+ const nodeRid = bodyReader.text8(false);
176
+ const nodeGeneration = bodyReader.u64();
177
+ const slotStart = bodyReader.offset;
178
+ const presence = bodyReader.u8();
179
+ if (presence > 1)
180
+ return undefined;
181
+ const slot = bodyReader.take(bodyReader.u32());
182
+ const slotEnd = bodyReader.offset;
183
+ if ((presence === 0) !== (slot.byteLength === 0))
184
+ return undefined;
185
+ return {
186
+ flags,
187
+ body: Buffer.from(body),
188
+ slotStart,
189
+ slotEnd,
190
+ slot: Buffer.from(slot),
191
+ ownerId,
192
+ ownerLeaseGeneration,
193
+ nodeRid,
194
+ nodeGeneration
195
+ };
196
+ }
197
+ catch {
198
+ return undefined;
199
+ }
200
+ }
201
+ function decodeCanonicalRelocationSlot(payload, rootAggregateGeneration) {
202
+ try {
203
+ const reader = new CanonicalReader(payload);
204
+ const aggregateId = uuid(reader.u64(), reader.u64());
205
+ if (aggregateId === undefined)
206
+ return undefined;
207
+ const aggregateGeneration = reader.u64();
208
+ const targetAttemptGeneration = reader.u64();
209
+ const reference = reader.text16();
210
+ const checksumCrc32c = reader.u32();
211
+ const sourceNodeRid = reader.text8(false);
212
+ const sourceNodeGeneration = reader.u64();
213
+ const sourceOwnerId = reader.text8(false);
214
+ const sourceOwnerLeaseGeneration = reader.u64();
215
+ const targetNodeRid = reader.text8(true);
216
+ const targetNodeGeneration = reader.u64();
217
+ const targetOwnerId = reader.text8(true);
218
+ const targetOwnerLeaseGeneration = reader.u64();
219
+ const coordinatorOwnerId = reader.text8(false);
220
+ const coordinatorLeaseGeneration = reader.u64();
221
+ const coordinatorNodeRid = reader.text8(false);
222
+ const coordinatorNodeGeneration = reader.u64();
223
+ const coordinatorExpectedStoreVersion = reader.text8(true);
224
+ const phase = reader.u8();
225
+ const applicationVersion = reader.i64();
226
+ const sourceCleanupState = reader.u8();
227
+ if (!reader.done
228
+ || aggregateGeneration > 0x7ffffffffffffffen
229
+ || (aggregateGeneration === 0n && phase !== 1)
230
+ || (rootAggregateGeneration !== undefined
231
+ && aggregateGeneration !== rootAggregateGeneration)
232
+ || targetAttemptGeneration > 0x7fffffffffffffffn
233
+ || sourceNodeGeneration === 0n
234
+ || sourceNodeGeneration > 0x7fffffffffffffffn
235
+ || sourceOwnerLeaseGeneration === 0n
236
+ || sourceOwnerLeaseGeneration > 0x7fffffffffffffffn
237
+ || targetNodeGeneration > 0x7fffffffffffffffn
238
+ || targetOwnerLeaseGeneration > 0x7fffffffffffffffn
239
+ || coordinatorLeaseGeneration === 0n
240
+ || coordinatorLeaseGeneration > 0x7fffffffffffffffn
241
+ || coordinatorNodeGeneration === 0n
242
+ || coordinatorNodeGeneration > 0x7fffffffffffffffn
243
+ || phase < 1 || phase > 9
244
+ || applicationVersion < 0n
245
+ || sourceCleanupState > 2)
246
+ return undefined;
247
+ return {
248
+ aggregateId,
249
+ aggregateGeneration,
250
+ targetAttemptGeneration,
251
+ reference,
252
+ checksumCrc32c,
253
+ sourceNodeRid,
254
+ sourceNodeGeneration,
255
+ sourceOwnerId,
256
+ sourceOwnerLeaseGeneration,
257
+ targetNodeRid,
258
+ targetNodeGeneration,
259
+ applicationVersion,
260
+ targetOwnerId,
261
+ targetOwnerLeaseGeneration,
262
+ coordinatorOwnerId,
263
+ coordinatorLeaseGeneration,
264
+ coordinatorNodeRid,
265
+ coordinatorNodeGeneration,
266
+ coordinatorExpectedStoreVersion,
267
+ phase,
268
+ sourceCleanupState
269
+ };
270
+ }
271
+ catch {
272
+ return undefined;
273
+ }
274
+ }
275
+ function encodeCanonicalRelocationSlot(value) {
276
+ const id = relocationId(canonicalUuid(value.aggregateId, 'aggregate id'));
277
+ const aggregateGeneration = nonNegativeBigInt(value.aggregateGeneration, 'aggregate generation');
278
+ const targetAttemptGeneration = nonNegativeBigInt(value.targetAttemptGeneration, 'target attempt generation');
279
+ if (aggregateGeneration > 0x7ffffffffffffffen) {
280
+ throw new TypeError('Aggregate generation exceeds the issued range.');
281
+ }
282
+ if (aggregateGeneration === 0n && value.phase !== 1) {
283
+ throw new TypeError('Zero aggregate generation is only valid while preparing.');
284
+ }
285
+ if (targetAttemptGeneration > 0x7fffffffffffffffn) {
286
+ throw new TypeError('Target attempt generation exceeds the ordinal range.');
287
+ }
288
+ const sourceNodeGeneration = canonicalNonZeroOrdinal(value.sourceNodeGeneration, 'source node generation');
289
+ const sourceOwnerLeaseGeneration = canonicalNonZeroOrdinal(value.sourceOwnerLeaseGeneration, 'source owner lease generation');
290
+ const targetNodeGeneration = canonicalOrdinal(value.targetNodeGeneration, 'target node generation');
291
+ const targetOwnerLeaseGeneration = canonicalOrdinal(value.targetOwnerLeaseGeneration, 'target owner lease generation');
292
+ const coordinatorLeaseGeneration = canonicalNonZeroOrdinal(value.coordinatorLeaseGeneration, 'coordinator lease generation');
293
+ const coordinatorNodeGeneration = canonicalNonZeroOrdinal(value.coordinatorNodeGeneration, 'coordinator node generation');
294
+ if (!Number.isInteger(value.phase) || value.phase < 1 || value.phase > 9) {
295
+ throw new TypeError('Canonical relocation phase is invalid.');
296
+ }
297
+ if (!Number.isInteger(value.sourceCleanupState)
298
+ || value.sourceCleanupState < 0
299
+ || value.sourceCleanupState > 2) {
300
+ throw new TypeError('Canonical source cleanup state is invalid.');
301
+ }
302
+ return Buffer.concat([
303
+ canonicalU64(id.high), canonicalU64(id.low),
304
+ canonicalU64(aggregateGeneration), canonicalU64(targetAttemptGeneration),
305
+ canonicalText16(value.reference), canonicalU32(value.checksumCrc32c),
306
+ canonicalText8(value.sourceNodeRid), canonicalU64(sourceNodeGeneration),
307
+ canonicalText8(value.sourceOwnerId), canonicalU64(sourceOwnerLeaseGeneration),
308
+ canonicalOptionalText8(value.targetNodeRid), canonicalU64(targetNodeGeneration),
309
+ canonicalOptionalText8(value.targetOwnerId), canonicalU64(targetOwnerLeaseGeneration),
310
+ canonicalText8(value.coordinatorOwnerId), canonicalU64(coordinatorLeaseGeneration),
311
+ canonicalText8(value.coordinatorNodeRid), canonicalU64(coordinatorNodeGeneration),
312
+ canonicalOptionalText8(value.coordinatorExpectedStoreVersion),
313
+ Buffer.of(value.phase), canonicalI64(value.applicationVersion),
314
+ Buffer.of(value.sourceCleanupState)
315
+ ]);
316
+ }
317
+ function encodeCanonicalRelocationPublicationSlot(layout, publication) {
318
+ validatePublication(publication);
319
+ if (layout.slot.byteLength !== 0) {
320
+ throw new TypeError('Canonical authority relocation slot is already published.');
321
+ }
322
+ const nodeRid = requireText(layout.nodeRid, 'canonical authority node rid');
323
+ const ownerId = requireText(layout.ownerId, 'canonical authority owner id');
324
+ const applicationVersion = nonNegativeBigInt(publication.applicationVersion ?? 0n, 'application version');
325
+ return encodeCanonicalRelocationSlot({
326
+ aggregateId: publication.aggregateId,
327
+ aggregateGeneration: publication.aggregateGeneration,
328
+ targetAttemptGeneration: publication.targetAttemptGeneration ?? 0n,
329
+ reference: publication.reference,
330
+ checksumCrc32c: publication.checksumCrc32c,
331
+ sourceNodeRid: publication.sourceNodeRid ?? nodeRid,
332
+ sourceNodeGeneration: publication.sourceNodeGeneration ?? layout.nodeGeneration,
333
+ sourceOwnerId: publication.sourceOwnerId ?? ownerId,
334
+ sourceOwnerLeaseGeneration: publication.sourceOwnerLeaseGeneration ?? layout.ownerLeaseGeneration,
335
+ targetNodeRid: publication.targetNodeRid ?? nodeRid,
336
+ targetNodeGeneration: publication.targetNodeGeneration ?? layout.nodeGeneration,
337
+ targetOwnerId: publication.targetOwnerId,
338
+ targetOwnerLeaseGeneration: publication.targetOwnerLeaseGeneration,
339
+ coordinatorOwnerId: publication.coordinatorOwnerId ?? ownerId,
340
+ coordinatorLeaseGeneration: publication.coordinatorLeaseGeneration ?? layout.ownerLeaseGeneration,
341
+ coordinatorNodeRid: publication.coordinatorNodeRid ?? nodeRid,
342
+ coordinatorNodeGeneration: publication.coordinatorNodeGeneration ?? layout.nodeGeneration,
343
+ coordinatorExpectedStoreVersion: publication.coordinatorExpectedStoreVersion ?? '',
344
+ phase: publication.canonicalPhase ?? 8,
345
+ applicationVersion,
346
+ sourceCleanupState: publication.canonicalSourceCleanupState ?? 0
347
+ });
348
+ }
349
+ function replaceCanonicalRelocationSlot(layout, slot) {
350
+ const encodedSlot = Buffer.from(slot);
351
+ const body = Buffer.concat([
352
+ layout.body.subarray(0, layout.slotStart),
353
+ Buffer.of(encodedSlot.byteLength === 0 ? 0 : 1),
354
+ canonicalU32(encodedSlot.byteLength),
355
+ encodedSlot,
356
+ layout.body.subarray(layout.slotEnd)
357
+ ]);
358
+ const envelope = Buffer.concat([
359
+ Buffer.from('ZLAU'), Buffer.of(1), canonicalU16(layout.flags),
360
+ canonicalU32(body.byteLength), body
361
+ ]);
362
+ const result = Buffer.concat([envelope, canonicalU32(crc32c(envelope))]);
363
+ if (result.byteLength > 1024 * 1024) {
364
+ throw new TypeError('Canonical authority payload exceeds 1 MiB.');
365
+ }
366
+ return result;
367
+ }
368
+ function validatePublication(publication) {
369
+ requireText(publication.reference, 'relocation reference');
370
+ canonicalUuid(publication.aggregateId, 'aggregate id');
371
+ const checksum = safeInteger(publication.checksumCrc32c, 'relocation checksum');
372
+ if (checksum < 0 || checksum > 0xffff_ffff) {
373
+ throw new TypeError('Relocation checksum must be an unsigned 32-bit integer.');
374
+ }
375
+ positiveBigInt(publication.aggregateGeneration, 'aggregate generation');
376
+ requireText(publication.targetOwnerId, 'target owner id');
377
+ positiveBigInt(publication.targetOwnerLeaseGeneration, 'target owner lease generation');
378
+ }
379
+ function encodeServiceRelocationEnvelope(envelope, applicationVersion) {
380
+ const aggregate = relocationId(canonicalUuid(envelope.aggregateId, 'aggregate id'));
381
+ const encodedApplicationVersion = nonNegativeBigInt(applicationVersion, 'application version');
382
+ const participants = canonicalParticipants(envelope.participants);
383
+ const root = participants.find(value => value.rootSpotId !== undefined)
384
+ ?? participants.find(value => value.objectKind !== 'actor')
385
+ ?? participants[0];
386
+ const rootObjectKind = root.rootObjectKind ?? root.objectKind;
387
+ if (rootObjectKind === 'actor' && participants.length !== 1) {
388
+ throw new TypeError('Standalone Actor relocation requires one participant.');
389
+ }
390
+ const applicationStates = participants.map((participant, index) => {
391
+ const hasState = participant.applicationStatePresent !== false;
392
+ if (!hasState && participant.applicationState.byteLength !== 0) {
393
+ throw new TypeError('Absent relocation application state must have an empty payload.');
394
+ }
395
+ return {
396
+ participantId: BigInt(index + 1),
397
+ hasState,
398
+ payload: Buffer.from(participant.applicationState)
399
+ };
400
+ });
401
+ const saved = participants.flatMap((participant, index) => participant.queuedMessages.map(message => ({
402
+ participantId: BigInt(index + 1),
403
+ order: positiveBigInt(message.sequence, 'queue sequence'),
404
+ frozenRecord: Buffer.from(message.payload)
405
+ }))).sort(compareParticipantOrder);
406
+ if (saved.some((value, index) => index > 0
407
+ && compareParticipantOrder(saved[index - 1], value) === 0)) {
408
+ throw new TypeError('Relocation queue sequences must be unique per participant.');
409
+ }
410
+ const timers = participants.flatMap((participant, index) => participant.timers.map(timer => ({
411
+ participantId: BigInt(index + 1), timer
412
+ }))).sort((a, b) => a.participantId === b.participantId
413
+ ? Buffer.compare(Buffer.from(a.timer.timerId), Buffer.from(b.timer.timerId))
414
+ : a.participantId < b.participantId ? -1 : 1);
415
+ if (timers.some((value, index) => index > 0
416
+ && timers[index - 1].participantId === value.participantId
417
+ && timers[index - 1].timer.timerId === value.timer.timerId)) {
418
+ throw new TypeError('Relocation timer ids must be unique per participant.');
419
+ }
420
+ const nextOrder = new Map();
421
+ for (const value of saved) {
422
+ const current = nextOrder.get(value.participantId) ?? 0n;
423
+ if (value.order > current)
424
+ nextOrder.set(value.participantId, value.order);
425
+ }
426
+ const pending = timers.flatMap(({ participantId, timer }) => timer.pendingTicks.map(tick => {
427
+ const current = nextOrder.get(participantId) ?? 0n;
428
+ const order = tick.order === undefined
429
+ ? current + 1n
430
+ : positiveBigInt(tick.order, 'pending timer order');
431
+ if (order > current)
432
+ nextOrder.set(participantId, order);
433
+ return { participantId, order, timerName: timer.timerId, tick };
434
+ })).sort(compareParticipantOrder);
435
+ return Buffer.from((0, service_wire_pilot_codec_generated_1.encodeRelocationEnvelopeV1)({
436
+ relocationHigh: aggregate.high,
437
+ relocationLow: aggregate.low,
438
+ object: toGeneratedRelocationObject(root, rootObjectKind),
439
+ applicationVersion: encodedApplicationVersion,
440
+ applicationStates,
441
+ savedWork: saved,
442
+ timerRegistrations: timers.map(({ participantId, timer }) => ({
443
+ participantId,
444
+ name: timer.timerId,
445
+ handlerType: timer.handlerType,
446
+ periodMilliseconds: BigInt(positiveInteger(timer.intervalMs, 'timer interval')),
447
+ overrunPolicy: timerPolicy(timer.overrunPolicy),
448
+ maxCatchUpTicks: BigInt(positiveInteger(timer.maxCatchUpTicks, 'timer catch-up limit')),
449
+ stopOnUnhandledException: requireBoolean(timer.stopOnUnhandledException, 'timer stop-on-error flag'),
450
+ lastCompletedDeliveryIndex: nonNegativeBigInt(timer.deliveryIndex, 'timer delivery index'),
451
+ lastCompletedScheduledIndex: nonNegativeBigInt(timer.lastScheduledIndex, 'timer scheduled index'),
452
+ nextScheduledAtUnixMilliseconds: nonNegativeUnixMilliseconds(timer.dueAtUnixMs, 'timer due time')
453
+ })),
454
+ pendingTimerTicks: pending.map(value => ({
455
+ participantId: value.participantId,
456
+ order: value.order,
457
+ timerName: value.timerName,
458
+ deliveryIndex: nonNegativeBigInt(value.tick.deliveryIndex, 'pending timer delivery index'),
459
+ scheduledIndex: nonNegativeBigInt(value.tick.scheduledIndex, 'pending timer scheduled index'),
460
+ scheduledAtUnixMilliseconds: nonNegativeUnixMilliseconds(value.tick.scheduledAtUnixMs, 'pending timer scheduled time'),
461
+ skippedTicks: nonNegativeBigInt(value.tick.skippedTicks, 'pending timer skipped ticks')
462
+ }))
463
+ }));
464
+ }
465
+ function decodeServiceRelocationEnvelope(payload, aggregateGeneration) {
466
+ let generated;
467
+ try {
468
+ generated = (0, service_wire_pilot_codec_generated_1.decodeRelocationEnvelopeV1)([payload]);
469
+ }
470
+ catch (cause) {
471
+ const message = cause instanceof Error ? cause.message : '';
472
+ if (message === 'object kind') {
473
+ throw new TypeError('relocation-envelope-v1 root object kind is invalid.', { cause });
474
+ }
475
+ if (message === 'relocation envelope trailing') {
476
+ throw new TypeError('Trailing relocation envelope bytes.', { cause });
477
+ }
478
+ throw new TypeError('Invalid relocation envelope.', { cause });
479
+ }
480
+ const aggregateId = uuid(generated.relocationHigh, generated.relocationLow);
481
+ if (aggregateId === undefined)
482
+ throw new TypeError('Invalid relocation identity.');
483
+ positiveBigInt(aggregateGeneration, 'aggregate generation');
484
+ const participants = generated.applicationStates.map((state, index) => {
485
+ if (state.participantId !== BigInt(index + 1)) {
486
+ throw new TypeError('Application state participant order is invalid.');
487
+ }
488
+ return wireParticipant(state.participantId, state.hasState, Buffer.from(state.payload));
489
+ });
490
+ const byId = new Map(participants.map(value => [value.participantId, value]));
491
+ for (const work of generated.savedWork) {
492
+ byId.get(work.participantId).queuedMessages.push({
493
+ sequence: work.order,
494
+ payload: Buffer.from(work.frozenRecord)
495
+ });
496
+ }
497
+ for (const timer of generated.timerRegistrations) {
498
+ byId.get(timer.participantId).timers.push({
499
+ timerId: timer.name,
500
+ handlerType: timer.handlerType,
501
+ startedAtUnixMs: 0,
502
+ dueAtUnixMs: unixMilliseconds(timer.nextScheduledAtUnixMilliseconds),
503
+ intervalMs: unixMilliseconds(timer.periodMilliseconds),
504
+ overrunPolicy: timerPolicyName(timer.overrunPolicy),
505
+ maxCatchUpTicks: unixMilliseconds(timer.maxCatchUpTicks),
506
+ stopOnUnhandledException: timer.stopOnUnhandledException,
507
+ deliveryIndex: timer.lastCompletedDeliveryIndex,
508
+ lastScheduledIndex: timer.lastCompletedScheduledIndex,
509
+ pendingTicks: []
510
+ });
511
+ }
512
+ for (const tick of generated.pendingTimerTicks) {
513
+ const timer = byId.get(tick.participantId).timers.find(value => value.timerId === tick.timerName);
514
+ timer.pendingTicks.push({
515
+ order: tick.order,
516
+ deliveryIndex: tick.deliveryIndex,
517
+ scheduledIndex: tick.scheduledIndex,
518
+ scheduledAtUnixMs: unixMilliseconds(tick.scheduledAtUnixMilliseconds),
519
+ skippedTicks: tick.skippedTicks
520
+ });
521
+ }
522
+ const rootParticipant = participants[0];
523
+ const rootProjection = fromGeneratedRelocationObject(generated.object);
524
+ return {
525
+ aggregateId,
526
+ aggregateGeneration,
527
+ applicationVersion: generated.applicationVersion,
528
+ participants: participants.map(value => value === rootParticipant
529
+ ? { ...value, ...rootProjection }
530
+ : value),
531
+ memberships: []
532
+ };
533
+ }
534
+ function toGeneratedRelocationObject(root, objectKind) {
535
+ const objectId = root.rootSpotId ?? authorityGlobalId(root.key);
536
+ const objectGeneration = root.rootSpotGeneration ?? root.objectGeneration;
537
+ if (objectKind === 'actor') {
538
+ return {
539
+ objectKind: 'actor',
540
+ actorId: objectId,
541
+ objectGeneration,
542
+ expectedAuthorityOwnerGeneration: root.rootOwnerGeneration ?? root.authorityOwnerGeneration
543
+ };
544
+ }
545
+ if (objectKind === 'user_spot') {
546
+ return {
547
+ objectKind: 'userSpot',
548
+ spotId: objectId,
549
+ objectGeneration,
550
+ expectedAuthorityOwnerGeneration: root.rootOwnerGeneration ?? root.authorityOwnerGeneration
551
+ };
552
+ }
553
+ return {
554
+ objectKind: 'instanceSpot',
555
+ instanceType: root.rootStableType ?? root.stableType,
556
+ spotId: objectId,
557
+ objectGeneration
558
+ };
559
+ }
560
+ function fromGeneratedRelocationObject(object) {
561
+ if (object.objectKind === 'actor') {
562
+ return {
563
+ rootSpotId: object.actorId,
564
+ rootSpotGeneration: object.objectGeneration,
565
+ rootOwnerGeneration: object.expectedAuthorityOwnerGeneration,
566
+ rootObjectKind: 'actor'
567
+ };
568
+ }
569
+ if (object.objectKind === 'userSpot') {
570
+ return {
571
+ rootSpotId: object.spotId,
572
+ rootSpotGeneration: object.objectGeneration,
573
+ rootOwnerGeneration: object.expectedAuthorityOwnerGeneration,
574
+ rootObjectKind: 'user_spot'
575
+ };
576
+ }
577
+ return {
578
+ rootSpotId: object.spotId,
579
+ rootSpotGeneration: object.objectGeneration,
580
+ rootObjectKind: 'instance_spot',
581
+ rootStableType: object.instanceType
582
+ };
583
+ }
584
+ function canonicalParticipants(values) {
585
+ if (values.length === 0)
586
+ throw new TypeError('Relocation participant count is outside its bound.');
587
+ const participants = [...values].sort((a, b) => Buffer.compare(Buffer.from(a.key), Buffer.from(b.key)));
588
+ if (new Set(participants.map(value => value.key)).size !== participants.length) {
589
+ throw new TypeError('Relocation participants must have unique keys.');
590
+ }
591
+ return participants;
592
+ }
593
+ function authorityGlobalId(key) {
594
+ try {
595
+ return (0, authority_key_codec_1.decodeAuthorityKey)({ value: key }).globalId;
596
+ }
597
+ catch {
598
+ const marker = key.indexOf(':');
599
+ return marker < 0 ? requireText(key, 'participant key') : requireText(key.slice(marker + 1), 'participant key');
600
+ }
601
+ }
602
+ function relocationId(value) {
603
+ const hex = value.replaceAll('-', '');
604
+ return { high: BigInt(`0x${hex.slice(0, 16)}`), low: BigInt(`0x${hex.slice(16)}`) };
605
+ }
606
+ function uuid(high, low) {
607
+ if (high === 0n && low === 0n)
608
+ return undefined;
609
+ const hex = high.toString(16).padStart(16, '0') + low.toString(16).padStart(16, '0');
610
+ return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
611
+ }
612
+ function compareParticipantOrder(a, b) {
613
+ return a.participantId === b.participantId
614
+ ? a.order < b.order ? -1 : a.order > b.order ? 1 : 0
615
+ : a.participantId < b.participantId ? -1 : 1;
616
+ }
617
+ function timerPolicy(value) {
618
+ if (value === 'skipLateTicks')
619
+ return 1;
620
+ if (value === 'catchUpBounded')
621
+ return 2;
622
+ if (value === 'delayNextTick')
623
+ return 3;
624
+ throw new TypeError('Timer overrun policy is invalid.');
625
+ }
626
+ function timerPolicyName(value) {
627
+ if (value === 1)
628
+ return 'skipLateTicks';
629
+ if (value === 2)
630
+ return 'catchUpBounded';
631
+ if (value === 3)
632
+ return 'delayNextTick';
633
+ throw new TypeError('Timer overrun policy is invalid.');
634
+ }
635
+ function nonNegativeUnixMilliseconds(value, label) {
636
+ const parsed = safeInteger(value, label);
637
+ if (parsed < 0)
638
+ throw new TypeError(`${label} must not be negative.`);
639
+ return BigInt(parsed);
640
+ }
641
+ function unixMilliseconds(value) {
642
+ if (value > BigInt(Number.MAX_SAFE_INTEGER))
643
+ throw new TypeError('Unix milliseconds exceed Node safe integer range.');
644
+ return Number(value);
645
+ }
646
+ function wireParticipant(participantId, applicationStatePresent, applicationState) {
647
+ return {
648
+ participantId,
649
+ key: `wire:${participantId}`,
650
+ objectKind: 'actor',
651
+ stableType: 'wire',
652
+ objectGeneration: 1n,
653
+ authorityOwnerGeneration: 1n,
654
+ applicationStatePresent,
655
+ applicationState,
656
+ boundSessionState: Buffer.alloc(0),
657
+ queuedMessages: [],
658
+ timers: []
659
+ };
660
+ }
661
+ function objectKind(value) {
662
+ if (value !== 'actor' && value !== 'user_spot' && value !== 'instance_spot') {
663
+ throw new TypeError('Relocation object kind is invalid.');
664
+ }
665
+ return value;
666
+ }
667
+ function inventoryDigest(participants, memberships = []) {
668
+ const identities = participants.map(participant => ({
669
+ key: requireText(participant.key, 'participant key'),
670
+ objectKind: objectKind(participant.objectKind),
671
+ stableType: requireText(participant.stableType, 'participant stable type'),
672
+ objectGeneration: positiveBigInt(participant.objectGeneration, 'object generation').toString(),
673
+ authorityOwnerGeneration: positiveBigInt(participant.authorityOwnerGeneration, 'authority owner generation').toString()
674
+ })).sort((left, right) => left.key.localeCompare(right.key));
675
+ if (new Set(identities.map(({ key }) => key)).size !== identities.length) {
676
+ throw new TypeError('Relocation participants must have unique keys.');
677
+ }
678
+ const canonicalMemberships = encodeMemberships(memberships, participants);
679
+ return (0, node_crypto_1.createHash)('sha256').update(JSON.stringify({
680
+ participants: identities,
681
+ memberships: canonicalMemberships
682
+ }), 'utf8').digest('hex');
683
+ }
684
+ function encodeAuthorityEnvelope(base, publication) {
685
+ const checksum = safeInteger(publication.checksumCrc32c, 'relocation checksum');
686
+ if (checksum < 0 || checksum > 0xffff_ffff) {
687
+ throw new TypeError('Relocation checksum must be an unsigned 32-bit integer.');
688
+ }
689
+ if (!/^[a-f0-9]{64}$/u.test(publication.inventoryDigest)) {
690
+ throw new TypeError('Relocation inventory digest must be lowercase SHA-256.');
691
+ }
692
+ const aggregateGeneration = positiveBigInt(publication.aggregateGeneration, 'aggregate generation');
693
+ const targetOwnerLeaseGeneration = positiveBigInt(publication.targetOwnerLeaseGeneration, 'target owner lease generation');
694
+ if (aggregateGeneration > 0x7fffffffffffffffn
695
+ || targetOwnerLeaseGeneration > 0x7fffffffffffffffn) {
696
+ throw new TypeError('Relocation publication generations must fit signed 64-bit storage.');
697
+ }
698
+ const payload = Buffer.concat([
699
+ // BinaryWriter.Write(0x5a4c4152u) is little-endian in the .NET reference codec.
700
+ Buffer.from([0x52, 0x41, 0x4c, 0x5a]),
701
+ u16le(1),
702
+ text16le(requireText(publication.reference, 'relocation reference')),
703
+ u32le(checksum),
704
+ dotnetGuidBytes(canonicalUuid(publication.aggregateId, 'aggregate id')),
705
+ u64le(aggregateGeneration),
706
+ bytes32le(Buffer.from(publication.inventoryDigest, 'hex')),
707
+ text16le(requireText(publication.targetOwnerId, 'target owner id')),
708
+ i64le(targetOwnerLeaseGeneration),
709
+ bytes32le(base)
710
+ ]);
711
+ if (payload.byteLength > 1024 * 1024) {
712
+ throw new TypeError('Location authority relocation payload exceeds 1 MiB.');
713
+ }
714
+ return payload;
715
+ }
716
+ function decodeAuthorityEnvelope(payload) {
717
+ try {
718
+ const reader = new DotnetBinaryReader(payload);
719
+ reader.expect(Buffer.from([0x52, 0x41, 0x4c, 0x5a]));
720
+ if (reader.u16() !== 1)
721
+ return undefined;
722
+ const reference = requireText(reader.text16(), 'relocation reference');
723
+ const checksumCrc32c = reader.u32();
724
+ const aggregateId = canonicalUuid(canonicalUuidFromDotnetBytes(reader.take(16)), 'aggregate id');
725
+ const aggregateGeneration = reader.u64();
726
+ const inventoryDigestBytes = reader.bytes32();
727
+ const targetOwnerId = requireText(reader.text16(), 'target owner id');
728
+ const targetOwnerLeaseGeneration = reader.i64();
729
+ const base = reader.bytes32();
730
+ if (!reader.done
731
+ || aggregateGeneration === 0n
732
+ || aggregateGeneration > 0x7fffffffffffffffn
733
+ || inventoryDigestBytes.byteLength !== 32
734
+ || targetOwnerLeaseGeneration <= 0n) {
735
+ return undefined;
736
+ }
737
+ return {
738
+ base,
739
+ publication: {
740
+ reference,
741
+ checksumCrc32c,
742
+ aggregateId,
743
+ aggregateGeneration,
744
+ inventoryDigest: inventoryDigestBytes.toString('hex'),
745
+ targetOwnerId,
746
+ targetOwnerLeaseGeneration
747
+ }
748
+ };
749
+ }
750
+ catch {
751
+ return undefined;
752
+ }
753
+ }
754
+ function encodeMemberships(memberships, participants) {
755
+ validateMemberships(memberships, participants);
756
+ return memberships.map(membership => ({
757
+ actorKey: requireText(membership.actorKey, 'membership actor key'),
758
+ spotKey: requireText(membership.spotKey, 'membership spot key'),
759
+ spotObjectGeneration: positiveBigInt(membership.spotObjectGeneration, 'membership Spot generation').toString(),
760
+ membershipEpoch: positiveBigInt(membership.membershipEpoch, 'membership epoch').toString()
761
+ })).sort((left, right) => left.actorKey.localeCompare(right.actorKey));
762
+ }
763
+ function validateMemberships(memberships, participants) {
764
+ const byKey = new Map(participants.map(participant => [participant.key, participant]));
765
+ const actorKeys = new Set();
766
+ for (const membership of memberships) {
767
+ const actorKey = requireText(membership.actorKey, 'membership actor key');
768
+ if (actorKeys.has(actorKey)) {
769
+ throw new TypeError('Relocation membership Actor keys must be unique.');
770
+ }
771
+ actorKeys.add(actorKey);
772
+ const actor = byKey.get(actorKey);
773
+ if (actor?.objectKind !== 'actor') {
774
+ throw new TypeError('Relocation membership must reference an Actor participant.');
775
+ }
776
+ const spot = byKey.get(requireText(membership.spotKey, 'membership spot key'));
777
+ if (spot !== undefined
778
+ && (spot.objectKind !== 'user_spot'
779
+ || spot.objectGeneration !== positiveBigInt(membership.spotObjectGeneration, 'membership Spot generation'))) {
780
+ throw new TypeError('Relocation membership Spot fence does not match its participant.');
781
+ }
782
+ positiveBigInt(membership.membershipEpoch, 'membership epoch');
783
+ }
784
+ }
785
+ const CRC32C_TABLE = Uint32Array.from({ length: 256 }, (_, value) => {
786
+ let crc = value;
787
+ for (let bit = 0; bit < 8; bit++) {
788
+ crc = (crc >>> 1) ^ ((crc & 1) === 0 ? 0 : 0x82f6_3b78);
789
+ }
790
+ return crc >>> 0;
791
+ });
792
+ function crc32c(payload) {
793
+ let crc = 0xffff_ffff;
794
+ for (const byte of payload) {
795
+ crc = CRC32C_TABLE[(crc ^ byte) & 0xff] ^ (crc >>> 8);
796
+ }
797
+ return (crc ^ 0xffff_ffff) >>> 0;
798
+ }
799
+ function requireText(value, label) {
800
+ if (typeof value !== 'string' || value.length === 0 || value.includes('\0')) {
801
+ throw new TypeError(`${label} must be non-empty text without NUL.`);
802
+ }
803
+ return value;
804
+ }
805
+ function canonicalUuid(value, label) {
806
+ const text = requireText(value, label);
807
+ if (!/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u.test(text)
808
+ || /^0{8}-0{4}-0{4}-0{4}-0{12}$/u.test(text)) {
809
+ throw new TypeError(`${label} must be a lowercase non-zero 128-bit identity.`);
810
+ }
811
+ return text;
812
+ }
813
+ function text16le(value) {
814
+ const bytes = Buffer.from(value, 'utf8');
815
+ if (bytes.byteLength < 1 || bytes.byteLength > 0xffff) {
816
+ throw new TypeError('Relocation text must contain 1..65535 UTF-8 bytes.');
817
+ }
818
+ return Buffer.concat([u16le(bytes.byteLength), bytes]);
819
+ }
820
+ function bytes32le(value) {
821
+ const bytes = Buffer.from(value);
822
+ if (bytes.byteLength > 1024 * 1024) {
823
+ throw new TypeError('Relocation byte field exceeds 1 MiB.');
824
+ }
825
+ const length = Buffer.alloc(4);
826
+ length.writeInt32LE(bytes.byteLength);
827
+ return Buffer.concat([length, bytes]);
828
+ }
829
+ function u16le(value) {
830
+ const result = Buffer.alloc(2);
831
+ result.writeUInt16LE(value);
832
+ return result;
833
+ }
834
+ function u32le(value) {
835
+ const result = Buffer.alloc(4);
836
+ result.writeUInt32LE(value);
837
+ return result;
838
+ }
839
+ function u64le(value) {
840
+ const result = Buffer.alloc(8);
841
+ result.writeBigUInt64LE(value);
842
+ return result;
843
+ }
844
+ function i64le(value) {
845
+ const result = Buffer.alloc(8);
846
+ result.writeBigInt64LE(value);
847
+ return result;
848
+ }
849
+ function dotnetGuidBytes(value) {
850
+ const canonical = Buffer.from(value.replaceAll('-', ''), 'hex');
851
+ return Buffer.from([
852
+ canonical[3], canonical[2], canonical[1], canonical[0],
853
+ canonical[5], canonical[4],
854
+ canonical[7], canonical[6],
855
+ ...canonical.subarray(8)
856
+ ]);
857
+ }
858
+ function canonicalUuidFromDotnetBytes(value) {
859
+ const bytes = Buffer.from(value);
860
+ if (bytes.byteLength !== 16)
861
+ throw new TypeError('Relocation aggregate id is invalid.');
862
+ const canonical = Buffer.from([
863
+ bytes[3], bytes[2], bytes[1], bytes[0],
864
+ bytes[5], bytes[4],
865
+ bytes[7], bytes[6],
866
+ ...bytes.subarray(8)
867
+ ]).toString('hex');
868
+ return `${canonical.slice(0, 8)}-${canonical.slice(8, 12)}-${canonical.slice(12, 16)}`
869
+ + `-${canonical.slice(16, 20)}-${canonical.slice(20)}`;
870
+ }
871
+ class CanonicalReader {
872
+ bytes;
873
+ offset = 0;
874
+ constructor(payload) {
875
+ this.bytes = Buffer.from(payload);
876
+ }
877
+ get done() {
878
+ return this.offset === this.bytes.byteLength;
879
+ }
880
+ expect(expected) {
881
+ if (!this.take(expected.byteLength).equals(Buffer.from(expected))) {
882
+ throw new TypeError('Canonical authority magic is invalid.');
883
+ }
884
+ }
885
+ u8() {
886
+ return this.take(1)[0];
887
+ }
888
+ u16() {
889
+ return this.take(2).readUInt16BE(0);
890
+ }
891
+ u32() {
892
+ return this.take(4).readUInt32BE(0);
893
+ }
894
+ u64() {
895
+ return this.take(8).readBigUInt64BE(0);
896
+ }
897
+ i64() {
898
+ return this.take(8).readBigInt64BE(0);
899
+ }
900
+ text8(optional) {
901
+ const length = this.u8();
902
+ if (length === 0) {
903
+ if (optional)
904
+ return '';
905
+ throw new TypeError('Canonical authority text is empty.');
906
+ }
907
+ return canonicalText(this.take(length));
908
+ }
909
+ text16() {
910
+ const length = this.u16();
911
+ if (length === 0)
912
+ throw new TypeError('Canonical authority text is empty.');
913
+ return canonicalText(this.take(length));
914
+ }
915
+ take(length) {
916
+ if (length < 0 || this.offset + length > this.bytes.byteLength) {
917
+ throw new TypeError('Canonical authority payload is truncated.');
918
+ }
919
+ const result = this.bytes.subarray(this.offset, this.offset + length);
920
+ this.offset += length;
921
+ return result;
922
+ }
923
+ }
924
+ function canonicalText(value) {
925
+ const bytes = Buffer.from(value);
926
+ if (bytes.includes(0))
927
+ throw new TypeError('Canonical authority text contains NUL.');
928
+ return new TextDecoder('utf-8', { fatal: true }).decode(bytes);
929
+ }
930
+ function canonicalText8(value) {
931
+ const bytes = Buffer.from(requireText(value, 'canonical authority text'), 'utf8');
932
+ if (bytes.byteLength > 0xff)
933
+ throw new TypeError('Canonical authority text8 is too long.');
934
+ return Buffer.concat([Buffer.of(bytes.byteLength), bytes]);
935
+ }
936
+ function canonicalOptionalText8(value) {
937
+ if (value.length === 0)
938
+ return Buffer.of(0);
939
+ return canonicalText8(value);
940
+ }
941
+ function canonicalText16(value) {
942
+ const bytes = Buffer.from(requireText(value, 'canonical authority text'), 'utf8');
943
+ if (bytes.byteLength > 4096)
944
+ throw new TypeError('Canonical authority text16 is too long.');
945
+ return Buffer.concat([canonicalU16(bytes.byteLength), bytes]);
946
+ }
947
+ function canonicalU16(value) {
948
+ const result = Buffer.alloc(2);
949
+ result.writeUInt16BE(value);
950
+ return result;
951
+ }
952
+ function canonicalU32(value) {
953
+ if (!Number.isInteger(value) || value < 0 || value > 0xffff_ffff) {
954
+ throw new TypeError('Canonical authority u32 is invalid.');
955
+ }
956
+ const result = Buffer.alloc(4);
957
+ result.writeUInt32BE(value);
958
+ return result;
959
+ }
960
+ function canonicalU64(value) {
961
+ if (value < 0n || value > 0xffffffffffffffffn) {
962
+ throw new TypeError('Canonical authority u64 is invalid.');
963
+ }
964
+ const result = Buffer.alloc(8);
965
+ result.writeBigUInt64BE(value);
966
+ return result;
967
+ }
968
+ function canonicalOrdinal(value, name) {
969
+ const ordinal = nonNegativeBigInt(value, name);
970
+ if (ordinal > 0x7fffffffffffffffn) {
971
+ throw new TypeError(`${name} exceeds the ordinal range.`);
972
+ }
973
+ return ordinal;
974
+ }
975
+ function canonicalNonZeroOrdinal(value, name) {
976
+ const ordinal = canonicalOrdinal(value, name);
977
+ if (ordinal === 0n)
978
+ throw new TypeError(`${name} must be positive.`);
979
+ return ordinal;
980
+ }
981
+ function canonicalI64(value) {
982
+ if (value < 0n || value > 0x7fffffffffffffffn) {
983
+ throw new TypeError('Canonical authority i64 is invalid.');
984
+ }
985
+ const result = Buffer.alloc(8);
986
+ result.writeBigInt64BE(value);
987
+ return result;
988
+ }
989
+ class DotnetBinaryReader {
990
+ bytes;
991
+ offset = 0;
992
+ constructor(payload) {
993
+ this.bytes = Buffer.from(payload);
994
+ if (this.bytes.byteLength > 1024 * 1024) {
995
+ throw new TypeError('Location authority relocation payload exceeds 1 MiB.');
996
+ }
997
+ }
998
+ get done() {
999
+ return this.offset === this.bytes.byteLength;
1000
+ }
1001
+ expect(expected) {
1002
+ if (!this.take(expected.byteLength).equals(Buffer.from(expected))) {
1003
+ throw new TypeError('Location authority relocation magic is invalid.');
1004
+ }
1005
+ }
1006
+ u16() {
1007
+ return this.take(2).readUInt16LE(0);
1008
+ }
1009
+ u32() {
1010
+ return this.take(4).readUInt32LE(0);
1011
+ }
1012
+ u64() {
1013
+ return this.take(8).readBigUInt64LE(0);
1014
+ }
1015
+ i64() {
1016
+ return this.take(8).readBigInt64LE(0);
1017
+ }
1018
+ text16() {
1019
+ const length = this.u16();
1020
+ if (length === 0)
1021
+ throw new TypeError('Location authority relocation text is empty.');
1022
+ return this.take(length).toString('utf8');
1023
+ }
1024
+ bytes32() {
1025
+ const length = this.take(4).readInt32LE(0);
1026
+ if (length < 0 || length > 1024 * 1024) {
1027
+ throw new TypeError('Location authority relocation byte field is invalid.');
1028
+ }
1029
+ return Buffer.from(this.take(length));
1030
+ }
1031
+ take(length) {
1032
+ if (length < 0 || this.offset + length > this.bytes.byteLength) {
1033
+ throw new TypeError('Location authority relocation payload is truncated.');
1034
+ }
1035
+ const result = this.bytes.subarray(this.offset, this.offset + length);
1036
+ this.offset += length;
1037
+ return result;
1038
+ }
1039
+ }
1040
+ function positiveBigInt(value, label) {
1041
+ let parsed;
1042
+ try {
1043
+ parsed = typeof value === 'bigint' ? value : BigInt(requireText(value, label));
1044
+ }
1045
+ catch {
1046
+ throw new TypeError(`${label} must be a positive integer.`);
1047
+ }
1048
+ if (parsed <= 0n)
1049
+ throw new TypeError(`${label} must be a positive integer.`);
1050
+ return parsed;
1051
+ }
1052
+ function nonNegativeBigInt(value, label) {
1053
+ let parsed;
1054
+ try {
1055
+ parsed = typeof value === 'bigint' ? value : BigInt(requireText(value, label));
1056
+ }
1057
+ catch {
1058
+ throw new TypeError(`${label} must be a non-negative integer.`);
1059
+ }
1060
+ if (parsed < 0n)
1061
+ throw new TypeError(`${label} must be a non-negative integer.`);
1062
+ return parsed;
1063
+ }
1064
+ function safeInteger(value, label) {
1065
+ if (typeof value !== 'number' || !Number.isSafeInteger(value)) {
1066
+ throw new TypeError(`${label} must be a safe integer.`);
1067
+ }
1068
+ return value;
1069
+ }
1070
+ function positiveInteger(value, label) {
1071
+ const parsed = safeInteger(value, label);
1072
+ if (parsed <= 0)
1073
+ throw new TypeError(`${label} must be positive.`);
1074
+ return parsed;
1075
+ }
1076
+ function requireBoolean(value, label) {
1077
+ if (typeof value !== 'boolean')
1078
+ throw new TypeError(`${label} must be boolean.`);
1079
+ return value;
1080
+ }