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