@zlink-systems/framework 0.21.0 → 0.22.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 (487) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/ZLinkMessage.js +5 -5
  3. package/dist/contracts/Configuration/CodecContentType.js +5 -7
  4. package/dist/contracts/Configuration/DiagnosticsValidation.js +1 -6
  5. package/dist/contracts/Configuration/EndpointNotation.js +4 -8
  6. package/dist/contracts/Configuration/Registration.js +14 -11
  7. package/dist/contracts/Configuration/RegistrationBuilders.js +32 -25
  8. package/dist/contracts/Configuration/RegistrationNormalizers.js +25 -26
  9. package/dist/contracts/Configuration/RegistrationValidators.js +36 -38
  10. package/dist/contracts/Configuration/SendTimeoutValidation.js +4 -4
  11. package/dist/contracts/Configuration/TimerRegistrationValidator.js +7 -7
  12. package/dist/contracts/Handlers/JsonContract.js +23 -11
  13. package/dist/contracts/Spots/SpotKind.js +16 -8
  14. package/dist/location-store-integration.js +16 -16
  15. package/dist/nest-integration.js +17 -11
  16. package/dist/runtime/abort.js +9 -5
  17. package/dist/runtime/actors/actor-authority-payload-codec.js +12 -16
  18. package/dist/runtime/actors/actor-authority-publication.js +18 -17
  19. package/dist/runtime/actors/actor-client.js +83 -63
  20. package/dist/runtime/actors/actor-context.js +24 -18
  21. package/dist/runtime/actors/actor-creation.js +4 -3
  22. package/dist/runtime/actors/actor-handoff.js +89 -92
  23. package/dist/runtime/actors/actor-local-native-join.js +18 -19
  24. package/dist/runtime/actors/actor-mailbox.js +1 -1
  25. package/dist/runtime/actors/actor-message-follow-context.js +24 -21
  26. package/dist/runtime/actors/actor-packet-relay-wire.js +1 -3
  27. package/dist/runtime/actors/actor-remote-joiner.js +20 -17
  28. package/dist/runtime/actors/actor-remote-wire.js +6 -7
  29. package/dist/runtime/actors/actor-runtime-state.js +87 -81
  30. package/dist/runtime/actors/actor-transfer-registry.js +3 -5
  31. package/dist/runtime/actors/bound-session-wire.js +14 -9
  32. package/dist/runtime/actors/deferred-join-accepted-journal.js +158 -124
  33. package/dist/runtime/actors/index.js +2 -5
  34. package/dist/runtime/actors/post-commit-actor-binder.js +3 -6
  35. package/dist/runtime/actors/post-commit-actor-location.js +1 -1
  36. package/dist/runtime/actors/spot-actor-dispatch.js +5 -5
  37. package/dist/runtime/actors/transferred-actor-rollback.js +4 -4
  38. package/dist/runtime/admission.js +2 -6
  39. package/dist/runtime/application-jobs/application-ingress-record-owner.js +2 -6
  40. package/dist/runtime/application-jobs/receive-flow-controller.js +11 -12
  41. package/dist/runtime/backend/mesh-completion-table.js +1 -3
  42. package/dist/runtime/backend/mesh-dispatch-pump.js +12 -16
  43. package/dist/runtime/backend/node/node-backend-adapter-factory.js +1 -3
  44. package/dist/runtime/backend/node/node-backend-adapter-support.js +26 -17
  45. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +4 -3
  46. package/dist/runtime/backend/node/node-raw-binding-port.js +7 -6
  47. package/dist/runtime/backend/node/node-raw-mesh-backend.js +116 -113
  48. package/dist/runtime/backend/node/node-socket-backend-adapter.js +12 -13
  49. package/dist/runtime/backend/runtime-message.js +3 -3
  50. package/dist/runtime/backend/runtime-values.d.ts +2 -2
  51. package/dist/runtime/backend/runtime-values.js +4 -5
  52. package/dist/runtime/channels/channel-clients.js +27 -24
  53. package/dist/runtime/channels/channel-dispatch-pipeline.js +10 -18
  54. package/dist/runtime/channels/channel-dispatch-services.js +7 -4
  55. package/dist/runtime/channels/channel-dispatchers.js +9 -9
  56. package/dist/runtime/channels/channel-envelope-inspection.js +16 -13
  57. package/dist/runtime/channels/channel-envelope.js +83 -47
  58. package/dist/runtime/channels/channel-outbound-operations.js +8 -8
  59. package/dist/runtime/channels/channel-receive-loops.js +20 -22
  60. package/dist/runtime/channels/channel-receive-task-tracker.js +1 -1
  61. package/dist/runtime/channels/channel-runtime-lifecycle.js +61 -56
  62. package/dist/runtime/channels/channel-runtime-manager.js +18 -9
  63. package/dist/runtime/channels/channel-socket-registry.js +126 -123
  64. package/dist/runtime/channels/channel-transports.js +43 -33
  65. package/dist/runtime/channels/client-server-location-runtime.js +32 -40
  66. package/dist/runtime/channels/client-server-service-wire.js +29 -22
  67. package/dist/runtime/channels/dispatch-error-reporter.js +9 -7
  68. package/dist/runtime/channels/fanout-location-runtime.js +34 -47
  69. package/dist/runtime/channels/fanout-service-wire.js +3 -5
  70. package/dist/runtime/channels/local-spot-route-transport.js +7 -1
  71. package/dist/runtime/channels/route-member-snapshot.js +3 -3
  72. package/dist/runtime/channels/source-spot-router.js +6 -2
  73. package/dist/runtime/channels/spot-route-bridge-transport.js +5 -2
  74. package/dist/runtime/channels/spot-route-dispatch-strategy.js +2 -2
  75. package/dist/runtime/channels/spot-route-target-resolver.js +6 -6
  76. package/dist/runtime/diagnostics/index.js +38 -10
  77. package/dist/runtime/diagnostics/message-flow.js +47 -39
  78. package/dist/runtime/diagnostics/runtime-metrics.js +18 -9
  79. package/dist/runtime/diagnostics/runtime-observation-queue.js +8 -10
  80. package/dist/runtime/diagnostics/topology-runtime-projections.js +17 -10
  81. package/dist/runtime/execution/index.js +7 -6
  82. package/dist/runtime/execution/serial-execution-queue.js +12 -18
  83. package/dist/runtime/execution/state-lane.js +2 -2
  84. package/dist/runtime/foundation/actor-join-recovery-codec.js +31 -23
  85. package/dist/runtime/foundation/event-loop-resources.js +4 -4
  86. package/dist/runtime/foundation/message-follow-suppression-registry.js +4 -4
  87. package/dist/runtime/foundation/raw-service-mesh-runtime.js +136 -136
  88. package/dist/runtime/foundation/route-mesh-connection-policy.js +4 -4
  89. package/dist/runtime/foundation/runtime-state-projections.js +22 -11
  90. package/dist/runtime/foundation/service-authority-payload-codec.js +13 -15
  91. package/dist/runtime/foundation/service-discovery-registry.js +35 -33
  92. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +20 -22
  93. package/dist/runtime/foundation/service-liveness-registry.js +16 -12
  94. package/dist/runtime/foundation/service-maintenance-runtime.js +2 -4
  95. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +24 -24
  96. package/dist/runtime/foundation/service-relocation-object-owner.js +6 -6
  97. package/dist/runtime/foundation/service-relocation-runtime.js +137 -94
  98. package/dist/runtime/foundation/service-runtime-contracts.js +5 -5
  99. package/dist/runtime/foundation/service-stateful-registry.js +24 -23
  100. package/dist/runtime/foundation/service-stateful-runtime.js +416 -438
  101. package/dist/runtime/foundation/service-stateful-wire-codec.js +95 -98
  102. package/dist/runtime/foundation/service-topology-registry.js +96 -95
  103. package/dist/runtime/foundation/service-weighted-selection.js +6 -11
  104. package/dist/runtime/foundation/service-wire-binary-primitives.js +5 -6
  105. package/dist/runtime/foundation/service-wire-m6a-codec.js +46 -35
  106. package/dist/runtime/framework-errors-internal.js +7 -10
  107. package/dist/runtime/handlers/handler-instance-scope.js +4 -5
  108. package/dist/runtime/handlers/index.js +3 -1
  109. package/dist/runtime/host/actor-packet-relay.js +74 -70
  110. package/dist/runtime/host/actor-placement-coordinator.js +29 -31
  111. package/dist/runtime/host/actor-runtime-options-factory.js +12 -14
  112. package/dist/runtime/host/actor-transfer-authority-runtime.js +7 -9
  113. package/dist/runtime/host/actor-transfer-runtime.js +176 -153
  114. package/dist/runtime/host/application-job-queue.js +18 -22
  115. package/dist/runtime/host/bound-session-relay.js +3 -1
  116. package/dist/runtime/host/channel-runtime-options-factory.js +31 -14
  117. package/dist/runtime/host/host-capacity-status.js +8 -4
  118. package/dist/runtime/host/index.js +244 -227
  119. package/dist/runtime/host/instance-activation-authority.js +93 -96
  120. package/dist/runtime/host/location-runtime-owner.js +16 -14
  121. package/dist/runtime/host/mesh-router-resolver.js +11 -13
  122. package/dist/runtime/host/relocation-direct-transfer.js +10 -9
  123. package/dist/runtime/host/remote-actor-join-receiver.js +20 -15
  124. package/dist/runtime/host/remote-actor-packet-target-store.js +18 -22
  125. package/dist/runtime/host/remote-bound-session-relay.js +97 -73
  126. package/dist/runtime/host/route-mesh-runtime.js +64 -69
  127. package/dist/runtime/host/runtime-shutdown.js +1 -2
  128. package/dist/runtime/host/service-relocation-host-runtime.js +586 -511
  129. package/dist/runtime/host/spot-address-transport.js +69 -71
  130. package/dist/runtime/host/spot-runtime-options-factory.js +30 -29
  131. package/dist/runtime/host/stateful-authority-route-runtime.js +65 -68
  132. package/dist/runtime/host/user-spot-creation-coordinator.js +61 -67
  133. package/dist/runtime/locations/actor-location-claims.js +26 -20
  134. package/dist/runtime/locations/aggregate-inventory-store.js +72 -75
  135. package/dist/runtime/locations/authority-key-codec.js +7 -7
  136. package/dist/runtime/locations/auto-connect-loop.js +3 -3
  137. package/dist/runtime/locations/auto-connect-planner.js +25 -19
  138. package/dist/runtime/locations/auto-connect-reconciler.js +51 -31
  139. package/dist/runtime/locations/in-memory-authority-store.js +128 -118
  140. package/dist/runtime/locations/in-memory-location-store.js +195 -168
  141. package/dist/runtime/locations/in-memory-provider-location-store.js +8 -10
  142. package/dist/runtime/locations/key-codec.js +1 -1
  143. package/dist/runtime/locations/lease-tracker.js +23 -21
  144. package/dist/runtime/locations/lifecycle.js +4 -5
  145. package/dist/runtime/locations/location-store-repository.js +368 -324
  146. package/dist/runtime/locations/opaque-record-key.js +2 -2
  147. package/dist/runtime/locations/resolvers.js +73 -82
  148. package/dist/runtime/locations/runtime.js +68 -63
  149. package/dist/runtime/locations/spot-location-claims.js +39 -35
  150. package/dist/runtime/messaging/framework-json-v1.js +7 -7
  151. package/dist/runtime/messaging/packet-name.js +7 -6
  152. package/dist/runtime/messaging/payload-codec.js +21 -18
  153. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +30 -2
  154. package/dist/runtime/protocol/service_wire_codec.generated.js +1671 -234
  155. package/dist/runtime/routing-id.js +3 -5
  156. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +35 -31
  157. package/dist/runtime/spots/formal-remote-actor-transfer-registry.js +1 -2
  158. package/dist/runtime/spots/index.js +208 -219
  159. package/dist/runtime/spots/spot-activation-registry.js +15 -14
  160. package/dist/runtime/spots/spot-activation-state.js +17 -15
  161. package/dist/runtime/spots/spot-activation.js +33 -16
  162. package/dist/runtime/spots/spot-actor-admission-coordinator.js +18 -15
  163. package/dist/runtime/spots/spot-actor-membership.js +1 -3
  164. package/dist/runtime/spots/spot-actor-packet-dispatch.js +23 -20
  165. package/dist/runtime/spots/spot-actor-packet-drain.js +12 -10
  166. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +10 -6
  167. package/dist/runtime/spots/spot-closing.js +3 -7
  168. package/dist/runtime/spots/spot-context.js +2 -2
  169. package/dist/runtime/spots/spot-entry-activation.js +13 -14
  170. package/dist/runtime/spots/spot-handle.js +6 -3
  171. package/dist/runtime/spots/spot-handler-registry.js +12 -12
  172. package/dist/runtime/spots/spot-manager-public.js +5 -6
  173. package/dist/runtime/spots/spot-native-actor-join-admission.js +4 -3
  174. package/dist/runtime/spots/spot-node-autoconnect.js +15 -18
  175. package/dist/runtime/spots/spot-node-runtime-manager.js +74 -85
  176. package/dist/runtime/spots/spot-outbound.js +10 -14
  177. package/dist/runtime/spots/spot-remote-codec.js +22 -26
  178. package/dist/runtime/spots/spot-remote-route-codec.js +5 -7
  179. package/dist/runtime/spots/spot-route-packet-dispatch.js +16 -14
  180. package/dist/runtime/spots/spot-route-replies.js +4 -6
  181. package/dist/runtime/spots/spot-routed-actor-admission.js +9 -7
  182. package/dist/runtime/spots/spot-routed-bound-session-dispatch.js +1 -2
  183. package/dist/runtime/spots/spot-routed-frame-dispatch.js +5 -5
  184. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +14 -10
  185. package/dist/runtime/spots/spot-serial-executor.js +5 -8
  186. package/dist/runtime/spots/spot-serial-turn-executor.js +4 -6
  187. package/dist/runtime/spots/spot-subscription-dispatch.js +5 -5
  188. package/dist/runtime/spots/spot-timer.js +25 -29
  189. package/dist/runtime/streams/actor-session-binding-registry.js +98 -107
  190. package/dist/runtime/streams/actor-session-lifecycle-coordinator.js +3 -1
  191. package/dist/runtime/streams/bound-actor-relay-sender.js +18 -16
  192. package/dist/runtime/streams/bound-session-service.js +8 -9
  193. package/dist/runtime/streams/index.js +20 -19
  194. package/dist/runtime/streams/managed-stream.js +32 -30
  195. package/dist/runtime/streams/native-fallback-bound-session.js +21 -17
  196. package/dist/runtime/streams/protocol.js +29 -18
  197. package/dist/runtime/streams/session-actor-coordinator.js +34 -37
  198. package/dist/runtime/streams/session-context.js +30 -28
  199. package/dist/runtime/streams/session-provider.js +2 -2
  200. package/dist/runtime/streams/session-serial-executor.js +1 -2
  201. package/dist/runtime/streams/stream-frame-factory.js +11 -5
  202. package/dist/runtime/streams/stream-session-runtime.js +70 -66
  203. package/dist/runtime/workers/index.js +15 -4
  204. package/package.json +2 -2
  205. package/src/contracts/Channels/RouteCalls.ts +6 -1
  206. package/src/contracts/Common/ZLinkMessage.ts +5 -5
  207. package/src/contracts/Common/ZLinkMessageMetadata.ts +4 -3
  208. package/src/contracts/Configuration/Builders.ts +14 -14
  209. package/src/contracts/Configuration/CodecContentType.ts +8 -10
  210. package/src/contracts/Configuration/DiagnosticsValidation.ts +1 -6
  211. package/src/contracts/Configuration/EndpointNotation.ts +11 -11
  212. package/src/contracts/Configuration/ObjectRoles.ts +1 -3
  213. package/src/contracts/Configuration/Registration.ts +46 -17
  214. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +10 -8
  215. package/src/contracts/Configuration/RegistrationBuilders.ts +107 -96
  216. package/src/contracts/Configuration/RegistrationCodecRegistry.ts +9 -3
  217. package/src/contracts/Configuration/RegistrationNormalizers.ts +116 -84
  218. package/src/contracts/Configuration/RegistrationTypes.ts +21 -25
  219. package/src/contracts/Configuration/RegistrationValidators.ts +122 -73
  220. package/src/contracts/Configuration/RouteChannelInternalState.ts +1 -4
  221. package/src/contracts/Configuration/RuntimeEndpointConnections.ts +4 -1
  222. package/src/contracts/Configuration/SendTimeoutValidation.ts +6 -4
  223. package/src/contracts/Configuration/TimerRegistrationValidator.ts +8 -13
  224. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -6
  225. package/src/contracts/Errors/index.ts +1 -4
  226. package/src/contracts/Handlers/Attributes.ts +15 -9
  227. package/src/contracts/Handlers/IZLinkChannelHandlers.ts +24 -4
  228. package/src/contracts/Handlers/JsonContract.ts +53 -19
  229. package/src/contracts/Locations/ActorTransfer.ts +1 -5
  230. package/src/contracts/Locations/Authority.ts +4 -11
  231. package/src/contracts/Locations/Keys.ts +6 -1
  232. package/src/contracts/Locations/Options.ts +3 -2
  233. package/src/contracts/Locations/RelocationStore.ts +1 -4
  234. package/src/contracts/Locations/Resolvers.ts +5 -5
  235. package/src/contracts/Locations/RuntimeQuery.ts +6 -2
  236. package/src/contracts/Locations/Stores.ts +1 -2
  237. package/src/contracts/Locations/index.ts +2 -8
  238. package/src/contracts/RouteMesh/Contracts.ts +1 -7
  239. package/src/contracts/RouteMesh/RuntimeTopology.ts +1 -4
  240. package/src/contracts/Spots/Contracts.ts +2 -8
  241. package/src/contracts/Spots/SpotKind.ts +16 -8
  242. package/src/contracts/Spots/ZLinkSpot.ts +8 -11
  243. package/src/contracts/Streams/IZLinkSession.ts +0 -1
  244. package/src/contracts/Streams/IZLinkSessionActor.ts +5 -1
  245. package/src/contracts/Streams/IZLinkSessionPacketHandler.ts +5 -1
  246. package/src/internal.ts +5 -4
  247. package/src/location-store-integration.ts +24 -16
  248. package/src/nest-integration.ts +40 -25
  249. package/src/runtime/abort.ts +10 -4
  250. package/src/runtime/actors/actor-authority-payload-codec.ts +20 -29
  251. package/src/runtime/actors/actor-authority-publication.ts +92 -77
  252. package/src/runtime/actors/actor-client.ts +162 -133
  253. package/src/runtime/actors/actor-context.ts +138 -130
  254. package/src/runtime/actors/actor-creation.ts +47 -44
  255. package/src/runtime/actors/actor-execution-context.ts +6 -4
  256. package/src/runtime/actors/actor-handoff.ts +269 -293
  257. package/src/runtime/actors/actor-join-deferred-scope.ts +5 -4
  258. package/src/runtime/actors/actor-lifecycle-snapshot.ts +5 -8
  259. package/src/runtime/actors/actor-local-native-join.ts +131 -159
  260. package/src/runtime/actors/actor-mailbox.ts +16 -19
  261. package/src/runtime/actors/actor-message-follow-context.ts +46 -36
  262. package/src/runtime/actors/actor-packet-relay-wire.ts +32 -21
  263. package/src/runtime/actors/actor-remote-joiner.ts +50 -54
  264. package/src/runtime/actors/actor-remote-wire.ts +9 -13
  265. package/src/runtime/actors/actor-routed-join-transport.ts +10 -2
  266. package/src/runtime/actors/actor-runtime-contracts.ts +2 -5
  267. package/src/runtime/actors/actor-runtime-state.ts +127 -124
  268. package/src/runtime/actors/actor-transfer-registry.ts +9 -14
  269. package/src/runtime/actors/actor-transport-delivery-gate.ts +4 -6
  270. package/src/runtime/actors/bound-session-wire.ts +37 -17
  271. package/src/runtime/actors/deferred-join-accepted-journal.ts +351 -320
  272. package/src/runtime/actors/index.ts +43 -86
  273. package/src/runtime/actors/post-commit-actor-binder.ts +10 -10
  274. package/src/runtime/actors/post-commit-actor-location.ts +30 -23
  275. package/src/runtime/actors/spot-actor-dispatch.ts +78 -53
  276. package/src/runtime/actors/transferred-actor-rollback.ts +18 -13
  277. package/src/runtime/admission.ts +9 -9
  278. package/src/runtime/application-jobs/application-ingress-record-owner.ts +5 -15
  279. package/src/runtime/application-jobs/application-job-queue-handler-start-gate.ts +3 -2
  280. package/src/runtime/application-jobs/receive-flow-controller.ts +17 -14
  281. package/src/runtime/backend/contracts/index.ts +73 -52
  282. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -14
  283. package/src/runtime/backend/mesh-completion-table.ts +6 -9
  284. package/src/runtime/backend/mesh-dispatch-pump.ts +38 -30
  285. package/src/runtime/backend/node/node-backend-adapter-factory.ts +23 -21
  286. package/src/runtime/backend/node/node-backend-adapter-support.ts +36 -22
  287. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +59 -58
  288. package/src/runtime/backend/node/node-event-loop-poller.ts +2 -10
  289. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +12 -5
  290. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +4 -3
  291. package/src/runtime/backend/node/node-raw-binding-port.ts +29 -29
  292. package/src/runtime/backend/node/node-raw-mesh-backend.ts +335 -383
  293. package/src/runtime/backend/node/node-socket-backend-adapter.ts +101 -54
  294. package/src/runtime/backend/runtime-message.ts +5 -3
  295. package/src/runtime/backend/runtime-values.ts +10 -7
  296. package/src/runtime/channels/channel-autoconnect.ts +1 -4
  297. package/src/runtime/channels/channel-clients.ts +93 -73
  298. package/src/runtime/channels/channel-dispatch-pipeline.ts +40 -42
  299. package/src/runtime/channels/channel-dispatch-services.ts +51 -49
  300. package/src/runtime/channels/channel-dispatchers.ts +152 -96
  301. package/src/runtime/channels/channel-envelope-inspection.ts +20 -16
  302. package/src/runtime/channels/channel-envelope.ts +256 -150
  303. package/src/runtime/channels/channel-multipart.ts +13 -5
  304. package/src/runtime/channels/channel-outbound-operations.ts +37 -41
  305. package/src/runtime/channels/channel-receive-loops.ts +102 -98
  306. package/src/runtime/channels/channel-receive-task-tracker.ts +1 -1
  307. package/src/runtime/channels/channel-runtime-lifecycle.ts +248 -190
  308. package/src/runtime/channels/channel-runtime-manager.ts +63 -37
  309. package/src/runtime/channels/channel-socket-options.ts +3 -10
  310. package/src/runtime/channels/channel-socket-registry.ts +331 -273
  311. package/src/runtime/channels/channel-transports.ts +215 -197
  312. package/src/runtime/channels/client-server-location-runtime.ts +116 -100
  313. package/src/runtime/channels/client-server-service-wire.ts +37 -36
  314. package/src/runtime/channels/dispatch-error-reporter.ts +11 -8
  315. package/src/runtime/channels/fanout-location-runtime.ts +91 -94
  316. package/src/runtime/channels/fanout-service-wire.ts +5 -12
  317. package/src/runtime/channels/handler-filter-scope.ts +1 -4
  318. package/src/runtime/channels/index.ts +1 -4
  319. package/src/runtime/channels/local-spot-route-transport.ts +20 -5
  320. package/src/runtime/channels/route-member-snapshot.ts +11 -5
  321. package/src/runtime/channels/router-socket-spot-route-transport.ts +1 -7
  322. package/src/runtime/channels/source-spot-router.ts +26 -22
  323. package/src/runtime/channels/spot-direct-envelope.ts +10 -8
  324. package/src/runtime/channels/spot-node-route-transport.ts +13 -16
  325. package/src/runtime/channels/spot-route-bridge-transport.ts +26 -9
  326. package/src/runtime/channels/spot-route-dispatch-strategy.ts +40 -13
  327. package/src/runtime/channels/spot-route-target-resolver.ts +18 -9
  328. package/src/runtime/codecs/index.ts +3 -2
  329. package/src/runtime/diagnostics/flow-context.ts +12 -3
  330. package/src/runtime/diagnostics/index.ts +96 -61
  331. package/src/runtime/diagnostics/internal-event-contracts.ts +87 -33
  332. package/src/runtime/diagnostics/message-flow.ts +95 -76
  333. package/src/runtime/diagnostics/runtime-metrics.ts +46 -24
  334. package/src/runtime/diagnostics/runtime-observation-queue.ts +17 -28
  335. package/src/runtime/diagnostics/topology-runtime-projections.ts +62 -43
  336. package/src/runtime/execution/index.ts +18 -26
  337. package/src/runtime/execution/serial-execution-queue.ts +31 -40
  338. package/src/runtime/execution/state-lane.ts +2 -2
  339. package/src/runtime/foundation/actor-join-recovery-codec.ts +69 -51
  340. package/src/runtime/foundation/event-loop-resources.ts +8 -4
  341. package/src/runtime/foundation/message-follow-suppression-registry.ts +7 -14
  342. package/src/runtime/foundation/operation-identity.ts +1 -2
  343. package/src/runtime/foundation/operation-registry.ts +8 -2
  344. package/src/runtime/foundation/raw-service-mesh-runtime.ts +312 -385
  345. package/src/runtime/foundation/route-mesh-connection-policy.ts +7 -8
  346. package/src/runtime/foundation/runtime-state-projections.ts +24 -23
  347. package/src/runtime/foundation/service-authority-payload-codec.ts +54 -57
  348. package/src/runtime/foundation/service-discovery-registry.ts +67 -59
  349. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +28 -29
  350. package/src/runtime/foundation/service-liveness-registry.ts +18 -13
  351. package/src/runtime/foundation/service-mailbox.ts +14 -14
  352. package/src/runtime/foundation/service-maintenance-runtime.ts +22 -21
  353. package/src/runtime/foundation/service-metadata-codec.ts +2 -9
  354. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +39 -36
  355. package/src/runtime/foundation/service-relocation-coordinator.ts +1 -4
  356. package/src/runtime/foundation/service-relocation-object-owner.ts +40 -58
  357. package/src/runtime/foundation/service-relocation-runtime.ts +292 -216
  358. package/src/runtime/foundation/service-runtime-contracts.ts +8 -8
  359. package/src/runtime/foundation/service-session-binding-ingress-port.ts +1 -4
  360. package/src/runtime/foundation/service-stateful-registry.ts +69 -59
  361. package/src/runtime/foundation/service-stateful-runtime.ts +1174 -1112
  362. package/src/runtime/foundation/service-stateful-wire-codec.ts +318 -270
  363. package/src/runtime/foundation/service-topology-registry.ts +157 -159
  364. package/src/runtime/foundation/service-weighted-selection.ts +9 -15
  365. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -12
  366. package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -47
  367. package/src/runtime/framework-errors-internal.ts +31 -30
  368. package/src/runtime/handlers/handler-instance-scope.ts +18 -29
  369. package/src/runtime/handlers/index.ts +18 -8
  370. package/src/runtime/host/actor-packet-relay.ts +290 -261
  371. package/src/runtime/host/actor-placement-coordinator.ts +165 -150
  372. package/src/runtime/host/actor-runtime-options-factory.ts +89 -87
  373. package/src/runtime/host/actor-transfer-authority-runtime.ts +46 -38
  374. package/src/runtime/host/actor-transfer-runtime.ts +391 -395
  375. package/src/runtime/host/application-job-queue.ts +32 -48
  376. package/src/runtime/host/bound-session-relay.ts +7 -9
  377. package/src/runtime/host/channel-runtime-options-factory.ts +75 -35
  378. package/src/runtime/host/host-capacity-status.ts +10 -9
  379. package/src/runtime/host/index.ts +861 -789
  380. package/src/runtime/host/instance-activation-authority.ts +125 -143
  381. package/src/runtime/host/location-runtime-owner.ts +38 -26
  382. package/src/runtime/host/mesh-router-resolver.ts +30 -23
  383. package/src/runtime/host/relocation-direct-transfer.ts +15 -15
  384. package/src/runtime/host/relocation-integrity-fault-gate.ts +3 -2
  385. package/src/runtime/host/remote-actor-join-receiver.ts +43 -34
  386. package/src/runtime/host/remote-actor-packet-target-store.ts +54 -52
  387. package/src/runtime/host/remote-bound-session-relay.ts +274 -247
  388. package/src/runtime/host/route-mesh-runtime-options.ts +1 -3
  389. package/src/runtime/host/route-mesh-runtime.ts +227 -181
  390. package/src/runtime/host/runtime-shutdown.ts +4 -3
  391. package/src/runtime/host/service-relocation-control.ts +14 -5
  392. package/src/runtime/host/service-relocation-host-runtime.ts +1388 -1165
  393. package/src/runtime/host/spot-address-transport.ts +284 -237
  394. package/src/runtime/host/spot-node-runtime-options-factory.ts +14 -8
  395. package/src/runtime/host/spot-runtime-options-factory.ts +71 -62
  396. package/src/runtime/host/stateful-authority-route-runtime.ts +117 -116
  397. package/src/runtime/host/user-spot-creation-coordinator.ts +225 -220
  398. package/src/runtime/locations/actor-location-claims.ts +61 -49
  399. package/src/runtime/locations/actor-session-route-claims.ts +1 -4
  400. package/src/runtime/locations/aggregate-inventory-store.ts +105 -134
  401. package/src/runtime/locations/authority-key-codec.ts +13 -10
  402. package/src/runtime/locations/auto-connect-loop.ts +14 -11
  403. package/src/runtime/locations/auto-connect-planner.ts +42 -31
  404. package/src/runtime/locations/auto-connect-reconciler.ts +106 -63
  405. package/src/runtime/locations/canonical-codec.ts +3 -1
  406. package/src/runtime/locations/creation-operation-id.ts +4 -3
  407. package/src/runtime/locations/domain-store-contract.ts +13 -7
  408. package/src/runtime/locations/in-memory-authority-store.ts +232 -199
  409. package/src/runtime/locations/in-memory-location-store.ts +432 -250
  410. package/src/runtime/locations/in-memory-provider-location-store.ts +16 -17
  411. package/src/runtime/locations/internal-store-contracts.ts +95 -38
  412. package/src/runtime/locations/key-codec.ts +3 -4
  413. package/src/runtime/locations/lease-tracker.ts +36 -27
  414. package/src/runtime/locations/lifecycle-runtime.ts +15 -3
  415. package/src/runtime/locations/lifecycle.ts +33 -28
  416. package/src/runtime/locations/location-store-repository.ts +1329 -1185
  417. package/src/runtime/locations/opaque-record-key.ts +4 -9
  418. package/src/runtime/locations/resolvers.ts +201 -178
  419. package/src/runtime/locations/runtime.ts +251 -159
  420. package/src/runtime/locations/spot-location-claims.ts +110 -112
  421. package/src/runtime/messaging/creation-payload-codec.ts +4 -1
  422. package/src/runtime/messaging/framework-json-v1.ts +34 -15
  423. package/src/runtime/messaging/packet-name.ts +8 -6
  424. package/src/runtime/messaging/payload-codec.ts +70 -50
  425. package/src/runtime/messaging/submission-result.ts +6 -9
  426. package/src/runtime/protocol/service_wire_codec.generated.ts +1376 -159
  427. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  428. package/src/runtime/routing-id.ts +10 -7
  429. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +56 -62
  430. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +23 -20
  431. package/src/runtime/spots/index.ts +593 -563
  432. package/src/runtime/spots/spot-activation-registry.ts +38 -34
  433. package/src/runtime/spots/spot-activation-state.ts +43 -51
  434. package/src/runtime/spots/spot-activation.ts +179 -116
  435. package/src/runtime/spots/spot-actor-admission-coordinator.ts +110 -78
  436. package/src/runtime/spots/spot-actor-join-dispatch.ts +57 -41
  437. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +5 -7
  438. package/src/runtime/spots/spot-actor-membership.ts +25 -27
  439. package/src/runtime/spots/spot-actor-packet-dispatch.ts +184 -153
  440. package/src/runtime/spots/spot-actor-packet-drain.ts +54 -42
  441. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +37 -39
  442. package/src/runtime/spots/spot-closing.ts +11 -12
  443. package/src/runtime/spots/spot-context.ts +46 -26
  444. package/src/runtime/spots/spot-entry-activation.ts +84 -65
  445. package/src/runtime/spots/spot-handle.ts +17 -15
  446. package/src/runtime/spots/spot-handler-registry.ts +44 -31
  447. package/src/runtime/spots/spot-location-claim.ts +5 -4
  448. package/src/runtime/spots/spot-manager-public.ts +62 -82
  449. package/src/runtime/spots/spot-native-actor-join-admission.ts +20 -16
  450. package/src/runtime/spots/spot-node-autoconnect.ts +54 -61
  451. package/src/runtime/spots/spot-node-runtime-manager.ts +230 -221
  452. package/src/runtime/spots/spot-outbound.ts +47 -59
  453. package/src/runtime/spots/spot-publisher-transport.ts +5 -4
  454. package/src/runtime/spots/spot-remote-codec.ts +66 -65
  455. package/src/runtime/spots/spot-remote-route-codec.ts +61 -41
  456. package/src/runtime/spots/spot-route-packet-dispatch.ts +128 -95
  457. package/src/runtime/spots/spot-route-replies.ts +23 -24
  458. package/src/runtime/spots/spot-route-reply-wire.ts +3 -2
  459. package/src/runtime/spots/spot-routed-actor-admission.ts +37 -27
  460. package/src/runtime/spots/spot-routed-bound-session-dispatch.ts +11 -17
  461. package/src/runtime/spots/spot-routed-frame-dispatch.ts +18 -15
  462. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +35 -26
  463. package/src/runtime/spots/spot-routing-internal.ts +1 -4
  464. package/src/runtime/spots/spot-runtime-ports.ts +5 -5
  465. package/src/runtime/spots/spot-serial-executor.ts +5 -9
  466. package/src/runtime/spots/spot-serial-turn-executor.ts +19 -26
  467. package/src/runtime/spots/spot-subscription-dispatch.ts +56 -46
  468. package/src/runtime/spots/spot-timer.ts +98 -91
  469. package/src/runtime/streams/actor-session-binding-registry.ts +277 -235
  470. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +7 -4
  471. package/src/runtime/streams/actor-session-lifecycle-coordinator.ts +3 -1
  472. package/src/runtime/streams/bound-actor-relay-sender.ts +53 -51
  473. package/src/runtime/streams/bound-session-response-target.ts +29 -8
  474. package/src/runtime/streams/bound-session-service.ts +39 -39
  475. package/src/runtime/streams/index.ts +176 -100
  476. package/src/runtime/streams/managed-stream.ts +98 -87
  477. package/src/runtime/streams/native-fallback-bound-session.ts +57 -52
  478. package/src/runtime/streams/protocol.ts +73 -43
  479. package/src/runtime/streams/session-actor-coordinator.ts +97 -89
  480. package/src/runtime/streams/session-calls.ts +2 -8
  481. package/src/runtime/streams/session-context.ts +66 -48
  482. package/src/runtime/streams/session-provider.ts +5 -7
  483. package/src/runtime/streams/session-serial-executor.ts +7 -6
  484. package/src/runtime/streams/stream-binding-runtime-ports.ts +79 -29
  485. package/src/runtime/streams/stream-frame-factory.ts +55 -38
  486. package/src/runtime/streams/stream-session-runtime.ts +268 -210
  487. package/src/runtime/workers/index.ts +68 -29
@@ -28,22 +28,22 @@ async function isDeferredJoinAcceptedRootPublication(relocation, reference, chec
28
28
  if (hasJournalRootMagic(read.bytes)) {
29
29
  try {
30
30
  const root = decodeRoot(read.bytes);
31
- return expected.aggregateId === operationAggregateId(root.operationId)
32
- && expected.aggregateGeneration === root.actor.objectGeneration
33
- && expected.authorityKey === (0, authority_key_codec_1.encodeAuthorityKey)('actor', root.actor.actorId).value
34
- && expected.objectGeneration === root.actor.objectGeneration;
31
+ return (expected.aggregateId === operationAggregateId(root.operationId) &&
32
+ expected.aggregateGeneration === root.actor.objectGeneration &&
33
+ expected.authorityKey === (0, authority_key_codec_1.encodeAuthorityKey)('actor', root.actor.actorId).value &&
34
+ expected.objectGeneration === root.actor.objectGeneration);
35
35
  }
36
36
  catch {
37
37
  return false;
38
38
  }
39
39
  }
40
40
  const root = await readCanonicalDeferredJoinRoot(relocation, read.bytes, signal);
41
- return root !== undefined
42
- && root.identity.aggregateId === expected.aggregateId
43
- && root.identity.aggregateGeneration === expected.aggregateGeneration
44
- && root.identity.authorityKey === expected.authorityKey
45
- && root.identity.objectKind === expected.objectKind
46
- && root.identity.objectGeneration === expected.objectGeneration;
41
+ return (root !== undefined &&
42
+ root.identity.aggregateId === expected.aggregateId &&
43
+ root.identity.aggregateGeneration === expected.aggregateGeneration &&
44
+ root.identity.authorityKey === expected.authorityKey &&
45
+ root.identity.objectKind === expected.objectKind &&
46
+ root.identity.objectGeneration === expected.objectGeneration);
47
47
  }
48
48
  /**
49
49
  * Keeps a cross-node Accepted Join completion under the Actor authority.
@@ -90,12 +90,10 @@ class ZLinkDeferredJoinAcceptedJournal {
90
90
  };
91
91
  const initialPublication = decodeAuthorityPublication(read.payload);
92
92
  const initialCanonicalIdentity = (0, service_relocation_runtime_1.serviceRelocationAuthoritySlotIdentity)(read.payload);
93
- const canonicalPublication = initialPublication?.canonical === true
94
- ? initialPublication
95
- : undefined;
96
- const root = canonicalPublication !== undefined
97
- && (canonicalInventoryDigest !== undefined
98
- || !canonicalPublication.reference.value.startsWith('zlink-direct:'))
93
+ const canonicalPublication = initialPublication?.canonical === true ? initialPublication : undefined;
94
+ const root = canonicalPublication !== undefined &&
95
+ (canonicalInventoryDigest !== undefined ||
96
+ !canonicalPublication.reference.value.startsWith('zlink-direct:'))
99
97
  ? await this.storeCanonicalRoot(rootValue, read, canonicalPublication, signal, canonicalInventoryDigest)
100
98
  : await this.storeRoot(rootValue, signal);
101
99
  if (initialCanonicalIdentity !== undefined && canonicalInventoryDigest !== undefined) {
@@ -109,8 +107,8 @@ class ZLinkDeferredJoinAcceptedJournal {
109
107
  const currentPublication = decodeAuthorityPublication(expected.payload);
110
108
  const canonicalIdentity = (0, service_relocation_runtime_1.serviceRelocationAuthoritySlotIdentity)(expected.payload);
111
109
  const publication = {
112
- applicationPayload: Buffer.from(currentPublication?.applicationPayload
113
- ?? (0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(expected.payload)),
110
+ applicationPayload: Buffer.from(currentPublication?.applicationPayload ??
111
+ (0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(expected.payload)),
114
112
  reference: root.reference,
115
113
  checksumCrc32c: root.checksumCrc32c,
116
114
  aggregateId: canonicalIdentity !== undefined
@@ -157,9 +155,7 @@ class ZLinkDeferredJoinAcceptedJournal {
157
155
  }
158
156
  async recover(actorId, signal) {
159
157
  const read = await this.authority.readAuthority((0, authority_key_codec_1.encodeAuthorityKey)('actor', actorId), signal);
160
- return read.kind === 'snapshot'
161
- ? await this.readPublished(read, signal)
162
- : undefined;
158
+ return read.kind === 'snapshot' ? await this.readPublished(read, signal) : undefined;
163
159
  }
164
160
  markCommitted(root, actor, signal) {
165
161
  if (actor !== undefined)
@@ -279,12 +275,13 @@ class ZLinkDeferredJoinAcceptedJournal {
279
275
  let current = await this.readPublished(read, signal);
280
276
  if (current === undefined) {
281
277
  const retainedRoot = await this.relocation.read(root.reference, signal);
282
- if (retainedRoot.kind === 'found'
283
- && (0, service_relocation_runtime_1.crc32c)(retainedRoot.bytes) === root.checksumCrc32c) {
278
+ if (retainedRoot.kind === 'found' && (0, service_relocation_runtime_1.crc32c)(retainedRoot.bytes) === root.checksumCrc32c) {
284
279
  const retained = hasJournalRootMagic(retainedRoot.bytes)
285
280
  ? decodeRoot(retainedRoot.bytes)
286
- : (await readCanonicalDeferredJoinRoot(this.relocation, retainedRoot.bytes, signal))?.completion;
287
- if (retained?.cursor === 'delivered' && isSameOperation({ ...root, ...retained }, root.operationId, root.actor)) {
281
+ : (await readCanonicalDeferredJoinRoot(this.relocation, retainedRoot.bytes, signal))
282
+ ?.completion;
283
+ if (retained?.cursor === 'delivered' &&
284
+ isSameOperation({ ...root, ...retained }, root.operationId, root.actor)) {
288
285
  current = {
289
286
  authority: read,
290
287
  reference: root.reference,
@@ -294,11 +291,11 @@ class ZLinkDeferredJoinAcceptedJournal {
294
291
  }
295
292
  }
296
293
  if (current === undefined &&
297
- next === 'committed'
298
- && actor !== undefined
299
- && authorityMatchesActor(read.payload, actor)) {
300
- throw new contracts_1.ZLinkFrameworkException(contracts_1.ZLinkFrameworkErrorKind.Unavailable, `Actor '${root.actor.actorId}' Join completion delivery is indeterminate: `
301
- + 'the authority no longer references the operation and no matching retained root exists.');
294
+ next === 'committed' &&
295
+ actor !== undefined &&
296
+ authorityMatchesActor(read.payload, actor)) {
297
+ throw new contracts_1.ZLinkFrameworkException(contracts_1.ZLinkFrameworkErrorKind.Unavailable, `Actor '${root.actor.actorId}' Join completion delivery is indeterminate: ` +
298
+ 'the authority no longer references the operation and no matching retained root exists.');
302
299
  }
303
300
  if (current === undefined) {
304
301
  throw new Error(`Actor '${root.actor.actorId}' no longer references its Join completion root.`);
@@ -364,12 +361,12 @@ class ZLinkDeferredJoinAcceptedJournal {
364
361
  if (canonicalPhase === 1 || canonicalPhase === 2)
365
362
  return undefined;
366
363
  const read = await this.relocation.read(publication.reference, signal);
367
- if (read.kind !== 'found' && publication.canonical === true
368
- && publication.reference.value.startsWith('zlink-direct:')) {
364
+ if (read.kind !== 'found' &&
365
+ publication.canonical === true &&
366
+ publication.reference.value.startsWith('zlink-direct:')) {
369
367
  return undefined;
370
368
  }
371
- if (read.kind !== 'found'
372
- || (0, service_relocation_runtime_1.crc32c)(read.bytes) !== publication.checksumCrc32c) {
369
+ if (read.kind !== 'found' || (0, service_relocation_runtime_1.crc32c)(read.bytes) !== publication.checksumCrc32c) {
373
370
  throw new Error('Published deferred Join completion root is missing or corrupt.');
374
371
  }
375
372
  if (publication.canonical === true && !hasJournalRootMagic(read.bytes)) {
@@ -379,9 +376,9 @@ class ZLinkDeferredJoinAcceptedJournal {
379
376
  // the embedded slot. A root without a completion remains Host-owned.
380
377
  return undefined;
381
378
  }
382
- if (root.identity.aggregateId !== publication.aggregateId
383
- || root.identity.aggregateGeneration !== publication.aggregateGeneration
384
- || root.identity.objectGeneration !== authority.objectGeneration) {
379
+ if (root.identity.aggregateId !== publication.aggregateId ||
380
+ root.identity.aggregateGeneration !== publication.aggregateGeneration ||
381
+ root.identity.objectGeneration !== authority.objectGeneration) {
385
382
  throw new Error('Published deferred Join completion root identity does not match its authority slot.');
386
383
  }
387
384
  return {
@@ -407,8 +404,7 @@ class ZLinkDeferredJoinAcceptedJournal {
407
404
  throw new Error('Relocation Store returned an invalid deferred Join root receipt.');
408
405
  }
409
406
  const read = await this.relocation.read(stored.reference, signal);
410
- if (read.kind !== 'found'
411
- || !Buffer.from(read.bytes).equals(payload)) {
407
+ if (read.kind !== 'found' || !Buffer.from(read.bytes).equals(payload)) {
412
408
  await this.deleteBestEffort(stored.reference);
413
409
  throw new Error('Relocation Store failed deferred Join root verification.');
414
410
  }
@@ -429,8 +425,7 @@ class ZLinkDeferredJoinAcceptedJournal {
429
425
  }
430
426
  else {
431
427
  const current = await this.relocation.read(publication.reference, signal);
432
- if (current.kind !== 'found'
433
- || (0, service_relocation_runtime_1.crc32c)(current.bytes) !== publication.checksumCrc32c) {
428
+ if (current.kind !== 'found' || (0, service_relocation_runtime_1.crc32c)(current.bytes) !== publication.checksumCrc32c) {
434
429
  throw new Error('Canonical relocation manifest is missing or corrupt.');
435
430
  }
436
431
  inventory = decodeCanonicalTreeManifest(current.bytes).inventoryDigest;
@@ -463,21 +458,20 @@ function authorityMatchesActor(payload, actor) {
463
458
  const publication = decodeAuthorityPublication(payload);
464
459
  const applications = publication === undefined
465
460
  ? [(0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(payload)]
466
- : [
467
- publication.applicationPayload,
468
- (0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(payload)
469
- ];
470
- return applications.some(application => {
461
+ : [publication.applicationPayload, (0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(payload)];
462
+ return applications.some((application) => {
471
463
  const identity = (0, actor_authority_publication_1.decodeRelocatingActorAuthorityIdentity)(application, actor.objectGeneration);
472
- return identity !== undefined
473
- && identity.actor.actorId === actor.actorId
474
- && identity.actor.objectGeneration === actor.objectGeneration
475
- && (0, routing_id_1.routingIdWireHex)(identity.actor.nodeRid) === (0, routing_id_1.routingIdWireHex)(actor.nodeRid);
464
+ return (identity !== undefined &&
465
+ identity.actor.actorId === actor.actorId &&
466
+ identity.actor.objectGeneration === actor.objectGeneration &&
467
+ (0, routing_id_1.routingIdWireHex)(identity.actor.nodeRid) === (0, routing_id_1.routingIdWireHex)(actor.nodeRid));
476
468
  });
477
469
  }
478
470
  function encodeRoot(value) {
479
471
  const nodeRidHex = (0, routing_id_1.routingIdWireHex)(value.actor.nodeRid);
480
- const encoded = Buffer.concat([ROOT_MAGIC, Buffer.from(JSON.stringify({
472
+ const encoded = Buffer.concat([
473
+ ROOT_MAGIC,
474
+ Buffer.from(JSON.stringify({
481
475
  version: ROOT_VERSION,
482
476
  operationHigh: value.operationId.high.toString(),
483
477
  operationLow: value.operationId.low.toString(),
@@ -491,7 +485,8 @@ function encodeRoot(value) {
491
485
  ? {}
492
486
  : { replyContentType: value.replyContentType }),
493
487
  cursor: value.cursor
494
- }), 'utf8')]);
488
+ }), 'utf8')
489
+ ]);
495
490
  if (encoded.byteLength > MAX_ROOT_BYTES) {
496
491
  throw new Error('Deferred Join completion root exceeds 1 MiB.');
497
492
  }
@@ -502,21 +497,19 @@ function decodeRoot(payload) {
502
497
  throw new Error('Deferred Join completion root size is invalid.');
503
498
  }
504
499
  const bytes = Buffer.from(payload);
505
- const encoded = hasJournalRootMagic(bytes)
506
- ? bytes.subarray(ROOT_MAGIC.byteLength)
507
- : bytes;
500
+ const encoded = hasJournalRootMagic(bytes) ? bytes.subarray(ROOT_MAGIC.byteLength) : bytes;
508
501
  const value = JSON.parse(encoded.toString('utf8'));
509
- if (value.version !== ROOT_VERSION
510
- || typeof value.operationHigh !== 'string'
511
- || typeof value.operationLow !== 'string'
512
- || typeof value.actorId !== 'string'
513
- || typeof value.actorGeneration !== 'string'
514
- || typeof value.actorMeshName !== 'string'
515
- || typeof value.actorNodeRid !== 'string'
516
- || typeof value.rawReply !== 'string'
517
- || (value.replyContentType !== undefined
518
- && (typeof value.replyContentType !== 'string' || value.replyContentType.length === 0))
519
- || !isCursor(value.cursor)) {
502
+ if (value.version !== ROOT_VERSION ||
503
+ typeof value.operationHigh !== 'string' ||
504
+ typeof value.operationLow !== 'string' ||
505
+ typeof value.actorId !== 'string' ||
506
+ typeof value.actorGeneration !== 'string' ||
507
+ typeof value.actorMeshName !== 'string' ||
508
+ typeof value.actorNodeRid !== 'string' ||
509
+ typeof value.rawReply !== 'string' ||
510
+ (value.replyContentType !== undefined &&
511
+ (typeof value.replyContentType !== 'string' || value.replyContentType.length === 0)) ||
512
+ !isCursor(value.cursor)) {
520
513
  throw new Error('Deferred Join completion root is invalid.');
521
514
  }
522
515
  const rawReply = Buffer.from(value.rawReply, 'base64');
@@ -576,16 +569,15 @@ function replaceDeferredJoinAuthorityPublication(payload, replacement) {
576
569
  const codec = new service_relocation_runtime_1.ServiceRelocationAuthorityPayloadCodec();
577
570
  const currentPublication = codec.read(payload);
578
571
  const replacementPublication = codec.read(replacement);
579
- if (currentPublication?.canonical === true
580
- || replacementPublication?.canonical === true) {
572
+ if (currentPublication?.canonical === true || replacementPublication?.canonical === true) {
581
573
  // Canonical authority has exactly one embedded relocation slot. A journal
582
574
  // cursor replaces that slot atomically; it must never be wrapped or nested
583
575
  // under an older ZLAR/application layer.
584
576
  return Buffer.from(replacement);
585
577
  }
586
578
  const outerApplication = (0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(payload);
587
- if (!Buffer.from(outerApplication).equals(Buffer.from(payload))
588
- && decodeDirectAuthorityPublication(outerApplication) !== undefined) {
579
+ if (!Buffer.from(outerApplication).equals(Buffer.from(payload)) &&
580
+ decodeDirectAuthorityPublication(outerApplication) !== undefined) {
589
581
  return (0, service_relocation_runtime_1.replaceServiceRelocationAuthorityApplicationPayload)(payload, replacement);
590
582
  }
591
583
  return decodeDirectAuthorityPublication(payload) === undefined
@@ -597,8 +589,8 @@ function decodeDirectAuthorityPublication(payload) {
597
589
  if (publication === undefined)
598
590
  return undefined;
599
591
  const applicationPayload = (0, service_relocation_runtime_1.serviceRelocationAuthorityApplicationPayload)(payload);
600
- return publication.canonical === true
601
- || publication.inventoryDigest === journalInventoryDigest(applicationPayload)
592
+ return publication.canonical === true ||
593
+ publication.inventoryDigest === journalInventoryDigest(applicationPayload)
602
594
  ? deferredJoinPublication(applicationPayload, publication)
603
595
  : undefined;
604
596
  }
@@ -617,8 +609,8 @@ function deferredJoinPublication(applicationPayload, publication) {
617
609
  }
618
610
  function hasJournalRootMagic(payload) {
619
611
  const bytes = Buffer.from(payload);
620
- return bytes.byteLength >= ROOT_MAGIC.byteLength
621
- && bytes.subarray(0, ROOT_MAGIC.byteLength).equals(ROOT_MAGIC);
612
+ return (bytes.byteLength >= ROOT_MAGIC.byteLength &&
613
+ bytes.subarray(0, ROOT_MAGIC.byteLength).equals(ROOT_MAGIC));
622
614
  }
623
615
  function journalInventoryDigest(applicationPayload) {
624
616
  return (0, node_crypto_1.createHash)('sha256')
@@ -628,10 +620,10 @@ function journalInventoryDigest(applicationPayload) {
628
620
  }
629
621
  function operationAggregateId(operationId) {
630
622
  const encoded = [operationId.high, operationId.low]
631
- .map(value => BigInt.asUintN(64, value).toString(16).padStart(16, '0'))
623
+ .map((value) => BigInt.asUintN(64, value).toString(16).padStart(16, '0'))
632
624
  .join('');
633
- return `${encoded.slice(0, 8)}-${encoded.slice(8, 12)}-${encoded.slice(12, 16)}`
634
- + `-${encoded.slice(16, 20)}-${encoded.slice(20)}`;
625
+ return (`${encoded.slice(0, 8)}-${encoded.slice(8, 12)}-${encoded.slice(12, 16)}` +
626
+ `-${encoded.slice(16, 20)}-${encoded.slice(20)}`);
635
627
  }
636
628
  function requireCanonicalAggregateGeneration(value) {
637
629
  if (value === 0n) {
@@ -655,8 +647,7 @@ function decodeCanonicalTreeManifest(payload) {
655
647
  if (chunks.length === 0) {
656
648
  throw new Error('Canonical relocation chunk count is invalid.');
657
649
  }
658
- if (chunks.reduce((total, value) => total + value.length, 0n)
659
- !== generated.totalLength) {
650
+ if (chunks.reduce((total, value) => total + value.length, 0n) !== generated.totalLength) {
660
651
  throw new Error('Canonical relocation manifest length is invalid.');
661
652
  }
662
653
  return {
@@ -679,12 +670,14 @@ async function storeCanonicalTree(store, logicalRoot, inventoryDigest, signal) {
679
670
  totalLength: BigInt(logical.byteLength),
680
671
  totalChecksumCrc32c: logicalChecksumCrc32c,
681
672
  inventoryDigestSha256: Buffer.from(inventoryDigest),
682
- chunks: [{
673
+ chunks: [
674
+ {
683
675
  order: 0,
684
676
  reference: storedChunk.reference.value,
685
677
  length: BigInt(logical.byteLength),
686
678
  checksumCrc32c: logicalChecksumCrc32c
687
- }]
679
+ }
680
+ ]
688
681
  }));
689
682
  const storedManifest = await putAndVerifyCanonicalBlob(store, manifest, signal);
690
683
  return {
@@ -715,8 +708,7 @@ async function readCanonicalDeferredJoinRoot(store, manifestPayload, signal) {
715
708
  if (read.kind !== 'found')
716
709
  throw new Error('Canonical relocation chunk is missing.');
717
710
  const chunk = (0, service_wire_pilot_codec_generated_1.decodeRelocationDataChunkV1)(read.bytes);
718
- if (chunk.order !== expected.order
719
- || BigInt(chunk.data.byteLength) !== expected.length) {
711
+ if (chunk.order !== expected.order || BigInt(chunk.data.byteLength) !== expected.length) {
720
712
  throw new Error('Canonical relocation chunk identity is invalid.');
721
713
  }
722
714
  const data = Buffer.from(chunk.data);
@@ -726,8 +718,8 @@ async function readCanonicalDeferredJoinRoot(store, manifestPayload, signal) {
726
718
  parts.push(data);
727
719
  }
728
720
  const logical = Buffer.concat(parts);
729
- if (BigInt(logical.byteLength) !== manifest.logicalLength
730
- || (0, service_relocation_runtime_1.crc32c)(logical) !== manifest.logicalChecksumCrc32c) {
721
+ if (BigInt(logical.byteLength) !== manifest.logicalLength ||
722
+ (0, service_relocation_runtime_1.crc32c)(logical) !== manifest.logicalChecksumCrc32c) {
731
723
  throw new Error('Canonical relocation logical root checksum is invalid.');
732
724
  }
733
725
  return decodeCanonicalDeferredJoinRoot(logical);
@@ -736,11 +728,21 @@ function encodeCanonicalDeferredJoinRoot(value, authority, publication, inventor
736
728
  const key = (0, authority_key_codec_1.encodeAuthorityKey)('actor', value.actor.actorId).value;
737
729
  const completion = encodeDotNetDeferredJoinCompletion(value);
738
730
  return Buffer.concat([
739
- u32le(0x5a4c5231), u16le(2), dotNetGuidBytes(publication.aggregateId),
740
- u64le(publication.aggregateGeneration), bytes32le(inventoryDigest), u32le(1),
741
- text16le(key), Buffer.of(1), u64le(authority.objectGeneration),
742
- u64le(authority.authorityOwnerGeneration), bytes32le(Buffer.alloc(0)),
743
- u32le(0), u32le(0), bytes32le(Buffer.alloc(0)), bytes32le(completion)
731
+ u32le(0x5a4c5231),
732
+ u16le(2),
733
+ dotNetGuidBytes(publication.aggregateId),
734
+ u64le(publication.aggregateGeneration),
735
+ bytes32le(inventoryDigest),
736
+ u32le(1),
737
+ text16le(key),
738
+ Buffer.of(1),
739
+ u64le(authority.objectGeneration),
740
+ u64le(authority.authorityOwnerGeneration),
741
+ bytes32le(Buffer.alloc(0)),
742
+ u32le(0),
743
+ u32le(0),
744
+ bytes32le(Buffer.alloc(0)),
745
+ bytes32le(completion)
744
746
  ]);
745
747
  }
746
748
  function decodeCanonicalDeferredJoinRoot(payload) {
@@ -790,9 +792,8 @@ function decodeCanonicalDeferredJoinRoot(payload) {
790
792
  throw new Error('Canonical relocation root has trailing bytes.');
791
793
  if (completion === undefined || completionIdentity === undefined)
792
794
  return undefined;
793
- if (completion.actor.objectGeneration !== completionIdentity.objectGeneration
794
- || (0, authority_key_codec_1.encodeAuthorityKey)('actor', completion.actor.actorId).value
795
- !== completionIdentity.authorityKey) {
795
+ if (completion.actor.objectGeneration !== completionIdentity.objectGeneration ||
796
+ (0, authority_key_codec_1.encodeAuthorityKey)('actor', completion.actor.actorId).value !== completionIdentity.authorityKey) {
796
797
  return undefined;
797
798
  }
798
799
  return {
@@ -807,9 +808,15 @@ function decodeCanonicalDeferredJoinRoot(payload) {
807
808
  function encodeDotNetDeferredJoinCompletion(value) {
808
809
  const routingId = Buffer.from((0, routing_id_1.encodeRoutingIdStorageHex)(value.actor.nodeRid), 'hex');
809
810
  return Buffer.concat([
810
- u32le(0x5a4c4a43), Buffer.of(2), text16le(value.actor.actorId),
811
- u64le(value.actor.objectGeneration), u64le(value.operationId.high), u64le(value.operationId.low),
812
- text16le(value.actor.meshName), Buffer.of(routingId.byteLength), routingId,
811
+ u32le(0x5a4c4a43),
812
+ Buffer.of(2),
813
+ text16le(value.actor.actorId),
814
+ u64le(value.actor.objectGeneration),
815
+ u64le(value.operationId.high),
816
+ u64le(value.operationId.low),
817
+ text16le(value.actor.meshName),
818
+ Buffer.of(routingId.byteLength),
819
+ routingId,
813
820
  u64le(value.actor.objectGeneration),
814
821
  Buffer.of(value.replyContentType === undefined ? 0 : 1),
815
822
  ...(value.replyContentType === undefined ? [] : [text16le(value.replyContentType)]),
@@ -856,8 +863,12 @@ function decodeDotNetDeferredJoinCompletion(payload) {
856
863
  class LittleEndianReader {
857
864
  offset = 0;
858
865
  bytes;
859
- constructor(payload) { this.bytes = Buffer.from(payload); }
860
- get done() { return this.offset === this.bytes.byteLength; }
866
+ constructor(payload) {
867
+ this.bytes = Buffer.from(payload);
868
+ }
869
+ get done() {
870
+ return this.offset === this.bytes.byteLength;
871
+ }
861
872
  take(length) {
862
873
  if (length < 0 || this.offset + length > this.bytes.byteLength) {
863
874
  throw new Error('Canonical relocation root is truncated.');
@@ -866,22 +877,40 @@ class LittleEndianReader {
866
877
  this.offset += length;
867
878
  return result;
868
879
  }
869
- u8() { return this.take(1)[0]; }
870
- u16() { return this.take(2).readUInt16LE(); }
871
- u32() { return this.take(4).readUInt32LE(); }
872
- u64() { return this.take(8).readBigUInt64LE(); }
873
- i64() { return this.take(8).readBigInt64LE(); }
880
+ u8() {
881
+ return this.take(1)[0];
882
+ }
883
+ u16() {
884
+ return this.take(2).readUInt16LE();
885
+ }
886
+ u32() {
887
+ return this.take(4).readUInt32LE();
888
+ }
889
+ u64() {
890
+ return this.take(8).readBigUInt64LE();
891
+ }
892
+ i64() {
893
+ return this.take(8).readBigInt64LE();
894
+ }
874
895
  text16() {
875
896
  const bytes = this.take(this.u16());
876
897
  return new TextDecoder('utf-8', { fatal: true }).decode(bytes);
877
898
  }
878
- bytes32() { return this.take(this.u32()); }
899
+ bytes32() {
900
+ return this.take(this.u32());
901
+ }
879
902
  }
880
903
  function dotNetGuidBytes(value) {
881
904
  const bytes = Buffer.from(value.replaceAll('-', ''), 'hex');
882
905
  return Buffer.from([
883
- bytes[3], bytes[2], bytes[1], bytes[0],
884
- bytes[5], bytes[4], bytes[7], bytes[6],
906
+ bytes[3],
907
+ bytes[2],
908
+ bytes[1],
909
+ bytes[0],
910
+ bytes[5],
911
+ bytes[4],
912
+ bytes[7],
913
+ bytes[6],
885
914
  ...bytes.subarray(8)
886
915
  ]);
887
916
  }
@@ -891,13 +920,18 @@ function canonicalUuidFromDotNetBytes(value) {
891
920
  throw new TypeError('Canonical relocation aggregate id is invalid.');
892
921
  }
893
922
  const canonical = Buffer.from([
894
- bytes[3], bytes[2], bytes[1], bytes[0],
895
- bytes[5], bytes[4],
896
- bytes[7], bytes[6],
923
+ bytes[3],
924
+ bytes[2],
925
+ bytes[1],
926
+ bytes[0],
927
+ bytes[5],
928
+ bytes[4],
929
+ bytes[7],
930
+ bytes[6],
897
931
  ...bytes.subarray(8)
898
932
  ]).toString('hex');
899
- return `${canonical.slice(0, 8)}-${canonical.slice(8, 12)}-${canonical.slice(12, 16)}`
900
- + `-${canonical.slice(16, 20)}-${canonical.slice(20)}`;
933
+ return (`${canonical.slice(0, 8)}-${canonical.slice(8, 12)}-${canonical.slice(12, 16)}` +
934
+ `-${canonical.slice(16, 20)}-${canonical.slice(20)}`);
901
935
  }
902
936
  function text16le(value) {
903
937
  const bytes = Buffer.from(value, 'utf8');
@@ -924,10 +958,10 @@ function u64le(value) {
924
958
  return result;
925
959
  }
926
960
  function validateIdentity(actorId, operationId, actor) {
927
- if (actorId.length === 0
928
- || actor.actorId !== actorId
929
- || actor.objectGeneration <= 0n
930
- || operationId.high === 0n && operationId.low === 0n) {
961
+ if (actorId.length === 0 ||
962
+ actor.actorId !== actorId ||
963
+ actor.objectGeneration <= 0n ||
964
+ (operationId.high === 0n && operationId.low === 0n)) {
931
965
  throw new Error('Deferred Join completion identity is invalid.');
932
966
  }
933
967
  }
@@ -937,17 +971,17 @@ function requireSameOperation(root, operationId, actor) {
937
971
  }
938
972
  }
939
973
  function isSameOperation(root, operationId, actor) {
940
- return root.operationId.high === operationId.high
941
- && root.operationId.low === operationId.low
942
- && root.actor.actorId === actor.actorId
943
- && root.actor.objectGeneration === actor.objectGeneration;
974
+ return (root.operationId.high === operationId.high &&
975
+ root.operationId.low === operationId.low &&
976
+ root.actor.actorId === actor.actorId &&
977
+ root.actor.objectGeneration === actor.objectGeneration);
944
978
  }
945
979
  function requireSameActor(root, actor) {
946
- if (root.actor.actorId !== actor.actorId
947
- || root.actor.objectGeneration !== actor.objectGeneration) {
948
- throw new Error('Deferred Join completion generation fence is stale '
949
- + `(root ${root.actor.actorId}/${root.actor.objectGeneration}, `
950
- + `actor ${actor.actorId}/${actor.objectGeneration}).`);
980
+ if (root.actor.actorId !== actor.actorId ||
981
+ root.actor.objectGeneration !== actor.objectGeneration) {
982
+ throw new Error('Deferred Join completion generation fence is stale ' +
983
+ `(root ${root.actor.actorId}/${root.actor.objectGeneration}, ` +
984
+ `actor ${actor.actorId}/${actor.objectGeneration}).`);
951
985
  }
952
986
  }
953
987
  function cursorIndex(cursor) {
@@ -406,9 +406,7 @@ class DefaultZLinkActorManager {
406
406
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorRouteNotFound, `Actor '${actor.context.actorId}' must leave its current SPOT before destroy.`);
407
407
  }
408
408
  const destroyTask = state.getOrStartDestroy(entryNodeRid, async (actorRef) => {
409
- const destroyedActorRef = actorRef === undefined
410
- ? undefined
411
- : (0, actor_runtime_state_2.toFrameworkActorRef)(actorRef, state.meshName ?? '');
409
+ const destroyedActorRef = actorRef === undefined ? undefined : (0, actor_runtime_state_2.toFrameworkActorRef)(actorRef, state.meshName ?? '');
412
410
  if (actorRef !== undefined) {
413
411
  await node.destroyActor(actorRef, 0, destroySignal);
414
412
  state.markNativeActorDestroyed(actorRef);
@@ -541,8 +539,7 @@ class DefaultZLinkActorManager {
541
539
  actorId: state.actorId,
542
540
  objectGeneration: 1n,
543
541
  meshName: state.meshName ?? '',
544
- nodeRid: this.options.actorCreatedNodeRidProvider?.()
545
- ?? 'local'
542
+ nodeRid: this.options.actorCreatedNodeRidProvider?.() ?? 'local'
546
543
  };
547
544
  }
548
545
  }
@@ -20,8 +20,7 @@ class ZLinkPostCommitActorBinder {
20
20
  if (existing !== undefined)
21
21
  return existing;
22
22
  let task;
23
- task = this.run(actorRef.actorId)
24
- .finally(async () => await this.lane.run(() => {
23
+ task = this.run(actorRef.actorId).finally(async () => await this.lane.run(() => {
25
24
  if (this.tasks.get(actorRef.actorId) === task) {
26
25
  this.tasks.delete(actorRef.actorId);
27
26
  }
@@ -48,15 +47,13 @@ class ZLinkPostCommitActorBinder {
48
47
  }
49
48
  catch (error) {
50
49
  this.options.reportError?.(error);
51
- if (!await retryDelay.wait(signal))
50
+ if (!(await retryDelay.wait(signal)))
52
51
  return;
53
52
  }
54
53
  }
55
54
  }
56
55
  signal() {
57
- return typeof this.options.signal === 'function'
58
- ? this.options.signal()
59
- : this.options.signal;
56
+ return typeof this.options.signal === 'function' ? this.options.signal() : this.options.signal;
60
57
  }
61
58
  completeBindCore(actorId, actorRef) {
62
59
  if (this.desiredRefs.get(actorId) !== actorRef)
@@ -49,7 +49,7 @@ class ZLinkPostCommitActorLocation {
49
49
  }
50
50
  catch (error) {
51
51
  this.options.reportError?.(error);
52
- if (!await retryDelay.wait(this.options.signal)) {
52
+ if (!(await retryDelay.wait(this.options.signal))) {
53
53
  return;
54
54
  }
55
55
  }
@@ -50,9 +50,9 @@ class ZLinkSpotActorHandlerRegistryRuntime {
50
50
  return wildcard;
51
51
  }
52
52
  for (const descriptor of this.packets.values()) {
53
- if (descriptor.kind === kind
54
- && descriptor.packetName === packetName
55
- && actor instanceof descriptor.actorType) {
53
+ if (descriptor.kind === kind &&
54
+ descriptor.packetName === packetName &&
55
+ actor instanceof descriptor.actorType) {
56
56
  return descriptor;
57
57
  }
58
58
  }
@@ -154,8 +154,8 @@ class ZLinkSpotActorDispatcher {
154
154
  return await (0, handler_instance_scope_1.runWithLifecycleHandler)(actor, descriptor.handlerType, this.options.providerResolver, (resolved) => callback(resolved));
155
155
  }
156
156
  execute(operation) {
157
- const pending = this.options.serial?.execute(operation, this.options.serialWorkOptions)
158
- ?? Promise.resolve().then(operation);
157
+ const pending = this.options.serial?.execute(operation, this.options.serialWorkOptions) ??
158
+ Promise.resolve().then(operation);
159
159
  this.options.onAdmitted?.();
160
160
  return pending;
161
161
  }
@@ -38,14 +38,14 @@ class ZLinkTransferredActorRollbackCoordinator {
38
38
  if (this.tasks.has(actor.context.actorId)) {
39
39
  return;
40
40
  }
41
- const task = this.retry(actor, state, node, actorRef)
42
- .finally(() => this.tasks.delete(actor.context.actorId));
41
+ const task = this.retry(actor, state, node, actorRef).finally(() => this.tasks.delete(actor.context.actorId));
43
42
  this.tasks.set(actor.context.actorId, task);
44
43
  }
45
44
  async retry(actor, state, node, actorRef) {
46
45
  const retryDelay = new actor_retry_delay_1.ZLinkActorRetryDelay();
47
- while (this.states.get(actor.context.actorId) === state && this.options.shutdownSignal?.aborted !== true) {
48
- if (!await retryDelay.wait(this.options.shutdownSignal))
46
+ while (this.states.get(actor.context.actorId) === state &&
47
+ this.options.shutdownSignal?.aborted !== true) {
48
+ if (!(await retryDelay.wait(this.options.shutdownSignal)))
49
49
  return;
50
50
  try {
51
51
  if (node !== undefined && actorRef !== undefined) {
@@ -110,9 +110,7 @@ class ZLinkRuntimeAdmissionGate {
110
110
  else if (this.accepts(meshName)) {
111
111
  return;
112
112
  }
113
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(meshName === undefined
114
- ? this.firstSealedReason()
115
- : this.requireState(meshName).sealedReason, `${operation} was rejected because framework admission is closed.`);
113
+ throw (0, framework_errors_internal_1.createInternalFrameworkException)(meshName === undefined ? this.firstSealedReason() : this.requireState(meshName).sealedReason, `${operation} was rejected because framework admission is closed.`);
116
114
  }
117
115
  requireActorCreate(actorId, meshName) {
118
116
  if (meshName === undefined) {
@@ -122,9 +120,7 @@ class ZLinkRuntimeAdmissionGate {
122
120
  else if (this.accepts(meshName)) {
123
121
  return;
124
122
  }
125
- const reason = meshName === undefined
126
- ? this.firstSealedReason()
127
- : this.requireState(meshName).sealedReason;
123
+ const reason = meshName === undefined ? this.firstSealedReason() : this.requireState(meshName).sealedReason;
128
124
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(reason === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RuntimeShutdown
129
125
  ? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RuntimeShutdown
130
126
  : framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorCreateRejected, `Actor '${actorId}' create request was rejected because framework admission is closed.`);