@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
@@ -33,8 +33,7 @@ class ZLinkActorPacketRelay {
33
33
  const node = options.spotNodeRuntime()?.primaryMeshNode;
34
34
  return node === undefined ? undefined : String(node.status().routingId);
35
35
  },
36
- spotRouterChannelIdForMesh: spotRouterChannelIdByMesh?.call(options.meshRouters)
37
- ?? ((meshName) => meshName)
36
+ spotRouterChannelIdForMesh: spotRouterChannelIdByMesh?.call(options.meshRouters) ?? ((meshName) => meshName)
38
37
  });
39
38
  }
40
39
  async notifyBoundActorDisconnected(actor, signal) {
@@ -43,9 +42,9 @@ class ZLinkActorPacketRelay {
43
42
  ? undefined
44
43
  : (0, actor_runtime_state_1.preferredRemoteBoundSessionTarget)(state.remoteBoundSessionTarget, state.boundSessionTransferTarget);
45
44
  const currentRemoteActorPacketTarget = state?.spotId === undefined ? undefined : state.remoteActorPacketTarget;
46
- const remoteTarget = currentRemoteBoundSessionTarget
47
- ?? currentRemoteActorPacketTarget
48
- ?? (state?.spotId === undefined ? undefined : this.targets.cachedTargetForActor(actor));
45
+ const remoteTarget = currentRemoteBoundSessionTarget ??
46
+ currentRemoteActorPacketTarget ??
47
+ (state?.spotId === undefined ? undefined : this.targets.cachedTargetForActor(actor));
49
48
  if (remoteTarget !== undefined) {
50
49
  await this.notifyRemoteActorDisconnected(actor.actorId, remoteTarget, signal, actor.ref);
51
50
  return;
@@ -76,7 +75,7 @@ class ZLinkActorPacketRelay {
76
75
  const state = this.options.actorManager()?.getState(actorId);
77
76
  const remoteTarget = state === undefined
78
77
  ? undefined
79
- : (0, actor_runtime_state_1.preferredRemoteBoundSessionTarget)(state.remoteBoundSessionTarget, state.boundSessionTransferTarget) ?? state.remoteActorPacketTarget;
78
+ : ((0, actor_runtime_state_1.preferredRemoteBoundSessionTarget)(state.remoteBoundSessionTarget, state.boundSessionTransferTarget) ?? state.remoteActorPacketTarget);
80
79
  if (remoteTarget !== undefined) {
81
80
  await this.notifyRemoteActorDisconnected(actorId, remoteTarget, signal);
82
81
  return;
@@ -119,19 +118,16 @@ class ZLinkActorPacketRelay {
119
118
  const frameHeader = (0, protocol_1.decodeStreamHeader)((0, protocol_1.messageToBytes)(header), this.options.flowCreationEnabled?.() ?? true);
120
119
  const messageFollowContext = relay.messageFollowContext;
121
120
  if (messageFollowContext !== undefined) {
122
- if (messageFollowContext.deadlineUnixMs !== undefined
123
- && Date.now() >= messageFollowContext.deadlineUnixMs) {
121
+ if (messageFollowContext.deadlineUnixMs !== undefined &&
122
+ Date.now() >= messageFollowContext.deadlineUnixMs) {
124
123
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded, `Actor request '${relay.actorId}' exceeded its Message Follow deadline.`);
125
124
  }
126
125
  (0, actor_message_follow_context_1.verifyActorMessageFollowPayload)(messageFollowContext, [header, body]);
127
126
  }
128
127
  const relayNodeRid = relay.actorNodeRid ?? relay.bindingActorNodeRid;
129
- const relayNodeRidHex = relay.actorNodeRid === undefined
130
- ? relay.bindingActorNodeRidHex
131
- : relay.actorNodeRidHex;
128
+ const relayNodeRidHex = relay.actorNodeRid === undefined ? relay.bindingActorNodeRidHex : relay.actorNodeRidHex;
132
129
  const relayGeneration = relay.actorGeneration ?? relay.bindingActorGeneration;
133
- const fallbackActorRef = relayNodeRid === undefined
134
- || relayGeneration === undefined
130
+ const fallbackActorRef = relayNodeRid === undefined || relayGeneration === undefined
135
131
  ? undefined
136
132
  : messageFollowContext === undefined
137
133
  ? {
@@ -190,7 +186,10 @@ class ZLinkActorPacketRelay {
190
186
  }
191
187
  if (frameHeader.name === actors_1.ZLINK_REMOTE_ACTOR_SESSION_DISCONNECTED_PACKET) {
192
188
  this.requireCurrentRemoteBinding(relay, _routeContext);
193
- this.options.actorManager()?.getState(relay.actorId)?.setRemoteBoundSessionTarget(undefined);
189
+ this.options
190
+ .actorManager()
191
+ ?.getState(relay.actorId)
192
+ ?.setRemoteBoundSessionTarget(undefined);
194
193
  await this.notifyLocalActorDisconnectedById(relay.actorId);
195
194
  return {
196
195
  ok: true,
@@ -219,7 +218,9 @@ class ZLinkActorPacketRelay {
219
218
  await dispatch;
220
219
  }
221
220
  catch (error) {
222
- this.options.errorSink().reportRuntimeTaskException('remote actor packet relay', error);
221
+ this.options
222
+ .errorSink()
223
+ .reportRuntimeTaskException('remote actor packet relay', error);
223
224
  }
224
225
  finally {
225
226
  header.close();
@@ -231,9 +232,9 @@ class ZLinkActorPacketRelay {
231
232
  actorPacketTarget: (0, actor_packet_relay_wire_1.encodeRemoteActorPacketTarget)(this.actorPacketTargetForState(relay.actorId, relay.routerChannelId))
232
233
  };
233
234
  }
234
- if (frameHeader.kind === protocol_1.ZLinkStreamMessageKind.Request
235
- && frameHeader.requestSeq !== undefined
236
- && relay.returnResponse !== true) {
235
+ if (frameHeader.kind === protocol_1.ZLinkStreamMessageKind.Request &&
236
+ frameHeader.requestSeq !== undefined &&
237
+ relay.returnResponse !== true) {
237
238
  const dispatch = state?.spotId === undefined
238
239
  ? this.requireSpotNodeRuntime().dispatchEntryActorPacket(relay.actorId, [header, body], false, remoteBoundSessionTarget, fallbackActorRef)
239
240
  : this.requireSpotManager().dispatchRoutedActorPacket(state.spotId, relay.actorId, [header, body], false, remoteBoundSessionTarget, fallbackActorRef);
@@ -241,7 +242,8 @@ class ZLinkActorPacketRelay {
241
242
  const deferredPacketName = frameHeader.name;
242
243
  const deferredRequestSeq = frameHeader.requestSeq;
243
244
  const deferredMetadata = frameHeader.metadata;
244
- void dispatch.catch(async (error) => {
245
+ void dispatch
246
+ .catch(async (error) => {
245
247
  // Spec 32 §5 — an accepted Request must end in exactly one
246
248
  // terminal completion. deferredResponse already told the source
247
249
  // the reply will arrive on the bound-session route, so a routed
@@ -251,18 +253,21 @@ class ZLinkActorPacketRelay {
251
253
  // past that boundary already produce their own terminal through
252
254
  // the inner actorErrorSender path — also sending here would emit
253
255
  // a duplicate terminal for the same requestSeq.
254
- if (error instanceof ConfigurationException_1.ZLinkConfigurationException
255
- && this.options.actorErrorSender !== undefined) {
256
+ if (error instanceof ConfigurationException_1.ZLinkConfigurationException &&
257
+ this.options.actorErrorSender !== undefined) {
256
258
  try {
257
259
  await this.options.actorErrorSender(relay.actorId, deferredPacketName, deferredRequestSeq, error, deferredMetadata, remoteBoundSessionTarget, fallbackActorRef);
258
260
  return;
259
261
  }
260
262
  catch (sendFailure) {
261
- this.options.errorSink().reportRuntimeTaskException('remote actor packet relay error reply', sendFailure);
263
+ this.options
264
+ .errorSink()
265
+ .reportRuntimeTaskException('remote actor packet relay error reply', sendFailure);
262
266
  }
263
267
  }
264
268
  this.options.errorSink().reportRuntimeTaskException('remote actor packet relay', error);
265
- }).finally(() => {
269
+ })
270
+ .finally(() => {
266
271
  header.close();
267
272
  body.close();
268
273
  });
@@ -314,14 +319,12 @@ class ZLinkActorPacketRelay {
314
319
  return await this.relayLocalActorPacket(actor, frameHeader, payload, signal);
315
320
  }
316
321
  catch (error) {
317
- if (!(error instanceof Error
318
- && error.message.includes('no complete Ready authority fence'))
319
- || performance.now() >= fenceRetryDeadlineMs) {
322
+ if (!(error instanceof Error && error.message.includes('no complete Ready authority fence')) ||
323
+ performance.now() >= fenceRetryDeadlineMs) {
320
324
  throw error;
321
325
  }
322
326
  this.targets.clear(actor.actorId);
323
- this.options.actorManager()?.getState(actor.actorId)
324
- ?.setRemoteActorPacketTarget(undefined);
327
+ this.options.actorManager()?.getState(actor.actorId)?.setRemoteActorPacketTarget(undefined);
325
328
  await new Promise((resolve) => setTimeout(resolve, 25));
326
329
  }
327
330
  }
@@ -351,7 +354,8 @@ class ZLinkActorPacketRelay {
351
354
  return;
352
355
  }
353
356
  const reply = await this.requestRemoteTarget(withDefaultSpotKind(target), request, `Remote actor session binding is not available for '${actor.actorId}'.`, (parts) => JSON.parse(parts[0]?.getString('utf8') ?? '{}'), signal);
354
- if (reply.ok === false || (reply.response?.acknowledged !== true && reply.acknowledged !== true)) {
357
+ if (reply.ok === false ||
358
+ (reply.response?.acknowledged !== true && reply.acknowledged !== true)) {
355
359
  // An {ok:false} (or unacknowledged) reply here is an immediate remote
356
360
  // rejection — the transport wait itself throws on timeout — so spec 32
357
361
  // reserves DeadlineExceeded for the deadline path and this reply
@@ -359,8 +363,7 @@ class ZLinkActorPacketRelay {
359
363
  // reply's errorKind when it carries a valid framework kind, else
360
364
  // RequestFailed, matching how other acknowledged relay replies map
361
365
  // {ok:false} (actorRelayError / remoteRelayErrorKind).
362
- const remoteKind = Object.values(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind)
363
- .includes(reply.errorKind)
366
+ const remoteKind = Object.values(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind).includes(reply.errorKind)
364
367
  ? reply.errorKind
365
368
  : framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed;
366
369
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(remoteKind, `Actor '${actor.actorId}' did not acknowledge its remote session binding: ${JSON.stringify(reply)}`, reply.error);
@@ -368,7 +371,9 @@ class ZLinkActorPacketRelay {
368
371
  }
369
372
  async retryRemoteSessionBindingSend(target, request, deadline, delayMs) {
370
373
  try {
371
- await this.options.routeTransport.sendToSpot(target, request, { packetName: actors_1.ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET });
374
+ await this.options.routeTransport.sendToSpot(target, request, {
375
+ packetName: actors_1.ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET
376
+ });
372
377
  }
373
378
  catch (error) {
374
379
  if (performance.now() >= deadline) {
@@ -376,7 +381,9 @@ class ZLinkActorPacketRelay {
376
381
  // exhaustion on the one-way bind send remains diagnostics-only but
377
382
  // the caller waits for its bounded submission terminal so later
378
383
  // application relay cannot overtake it.
379
- this.options.errorSink().reportRuntimeTaskException('remote session binding send', (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded, 'Remote actor session binding send retries exceeded their deadline.', error));
384
+ this.options
385
+ .errorSink()
386
+ .reportRuntimeTaskException('remote session binding send', (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded, 'Remote actor session binding send retries exceeded their deadline.', error));
380
387
  return;
381
388
  }
382
389
  await new Promise((resolve) => setTimeout(resolve, delayMs));
@@ -390,18 +397,16 @@ class ZLinkActorPacketRelay {
390
397
  const localNodeRid = localNode === undefined ? undefined : String(localNode.status().routingId);
391
398
  const storedRoute = await streamRuntime.sessionRouteFence(actor.actorId);
392
399
  const aggregateOwner = (0, actor_session_binding_runtime_owner_1.actorSessionBindingRuntimeOwnerIfRegistered)(streamRuntime);
393
- const aggregateRoute = aggregateOwner === undefined
394
- ? undefined
395
- : await aggregateOwner.committedRoute(actor.actorId);
400
+ const aggregateRoute = aggregateOwner === undefined ? undefined : await aggregateOwner.committedRoute(actor.actorId);
396
401
  const storedActorRef = aggregateRoute?.actor ?? storedRoute?.actor ?? actor.ref;
397
402
  const capturedTenureKey = this.targets.tenureKeyForActorRef(actor.actorId, storedActorRef);
398
- if (localNodeRid !== undefined
399
- && (0, routing_id_1.routingIdsEqual)(storedActorRef.nodeRid, localNodeRid)
400
- && this.options.actorManager()?.getState(actor.actorId)?.actor !== undefined) {
403
+ if (localNodeRid !== undefined &&
404
+ (0, routing_id_1.routingIdsEqual)(storedActorRef.nodeRid, localNodeRid) &&
405
+ this.options.actorManager()?.getState(actor.actorId)?.actor !== undefined) {
401
406
  return false;
402
407
  }
403
- const remoteTarget = this.options.actorManager()?.getState(actor.actorId)?.remoteActorPacketTarget
404
- ?? this.targets.cachedTargetForActor(actor);
408
+ const remoteTarget = this.options.actorManager()?.getState(actor.actorId)?.remoteActorPacketTarget ??
409
+ this.targets.cachedTargetForActor(actor);
405
410
  if (remoteTarget === undefined) {
406
411
  return false;
407
412
  }
@@ -415,8 +420,7 @@ class ZLinkActorPacketRelay {
415
420
  let request;
416
421
  try {
417
422
  const authority = aggregateRoute?.authorityFence;
418
- const messageFollowContext = authority?.ownerId === undefined
419
- || authority.ownerNodeGeneration === undefined
423
+ const messageFollowContext = authority?.ownerId === undefined || authority.ownerNodeGeneration === undefined
420
424
  ? undefined
421
425
  : (0, actor_message_follow_context_1.createInitialActorMessageFollowContext)({
422
426
  meshName: storedActorRef.meshName,
@@ -453,9 +457,9 @@ class ZLinkActorPacketRelay {
453
457
  spotId: remoteTarget.spotId,
454
458
  spotKind: remoteTarget.spotKind ?? contracts_1.ZLinkSpotKind.User
455
459
  };
456
- if ((frameHeader.kind === protocol_1.ZLinkStreamMessageKind.Send || frameHeader.requestSeq === undefined)
457
- && remoteAddress.spotKind === contracts_1.ZLinkSpotKind.Entry
458
- && this.options.routeTransport.submit !== undefined) {
460
+ if ((frameHeader.kind === protocol_1.ZLinkStreamMessageKind.Send || frameHeader.requestSeq === undefined) &&
461
+ remoteAddress.spotKind === contracts_1.ZLinkSpotKind.Entry &&
462
+ this.options.routeTransport.submit !== undefined) {
459
463
  const result = await this.options.routeTransport.submit(remoteAddress.routerChannelId, String(remoteAddress.targetNodeRid), actors_1.ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET, request, signal);
460
464
  if (result.status !== submission_result_1.ZLinkSubmitStatus.Submitted) {
461
465
  throw new Error(`Actor '${actor.actorId}' remote node relay was not admitted.`);
@@ -478,17 +482,14 @@ class ZLinkActorPacketRelay {
478
482
  }, signal);
479
483
  const actorPacketTarget = this.targets.decodeFromWire(reply.actorPacketTarget);
480
484
  const currentStoredRoute = await streamRuntime.sessionRouteFence(actor.actorId);
481
- const currentAggregateRoute = aggregateOwner === undefined
482
- ? undefined
483
- : await aggregateOwner.committedRoute(actor.actorId);
485
+ const currentAggregateRoute = aggregateOwner === undefined ? undefined : await aggregateOwner.committedRoute(actor.actorId);
484
486
  const currentActorRef = currentAggregateRoute?.actor ?? currentStoredRoute?.actor ?? actor.ref;
485
- const currentTenure = this.targets.tenureKeyForActorRef(actor.actorId, currentActorRef)
486
- === capturedTenureKey;
487
- if (currentTenure
488
- && this.targets.tenureKeyForActor(actor) === capturedTenureKey
489
- &&
490
- actorPacketTarget !== undefined &&
491
- (localNodeRid === undefined || !(0, routing_id_1.routingIdsEqual)(actorPacketTarget.targetNodeRid, localNodeRid))) {
487
+ const currentTenure = this.targets.tenureKeyForActorRef(actor.actorId, currentActorRef) === capturedTenureKey;
488
+ if (currentTenure &&
489
+ this.targets.tenureKeyForActor(actor) === capturedTenureKey &&
490
+ actorPacketTarget !== undefined &&
491
+ (localNodeRid === undefined ||
492
+ !(0, routing_id_1.routingIdsEqual)(actorPacketTarget.targetNodeRid, localNodeRid))) {
492
493
  this.targets.rememberActorTarget(actor, actorPacketTarget, capturedTenureKey);
493
494
  }
494
495
  else if (currentTenure && reply.ok !== false) {
@@ -546,12 +547,12 @@ class ZLinkActorPacketRelay {
546
547
  const current = state === undefined
547
548
  ? undefined
548
549
  : (0, actor_runtime_state_1.preferredRemoteBoundSessionTarget)(state.remoteBoundSessionTarget, state.boundSessionTransferTarget);
549
- if (current === undefined
550
- || current.sessionNodeRid === undefined
551
- || !(0, routing_id_1.routingIdsEqual)(current.sessionNodeRid, routeContext.sourceNodeRid)
552
- || current.bindingGeneration === undefined
553
- || relay.bindingGeneration === undefined
554
- || current.bindingGeneration !== BigInt(relay.bindingGeneration)) {
550
+ if (current === undefined ||
551
+ current.sessionNodeRid === undefined ||
552
+ !(0, routing_id_1.routingIdsEqual)(current.sessionNodeRid, routeContext.sourceNodeRid) ||
553
+ current.bindingGeneration === undefined ||
554
+ relay.bindingGeneration === undefined ||
555
+ current.bindingGeneration !== BigInt(relay.bindingGeneration)) {
555
556
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound, `Actor '${relay.actorId}' bound session identity is stale.`, true);
556
557
  }
557
558
  }
@@ -584,13 +585,14 @@ class ZLinkActorPacketRelay {
584
585
  !(0, routing_id_1.routingIdsEqual)(actorRef.nodeRid, localNodeRid)) {
585
586
  return false;
586
587
  }
587
- const responseTarget = await this.options.streamBindingRuntime().captureBoundSessionResponseTarget(actor);
588
+ const responseTarget = await this.options
589
+ .streamBindingRuntime()
590
+ .captureBoundSessionResponseTarget(actor);
588
591
  const encodedHeader = (0, protocol_1.encodeStreamHeader)(frameHeader);
589
592
  // encodeStreamHeader returns a fresh, unaliased array; view it without re-copying.
590
593
  const header = runtime_message_1.ZLinkBufferMessage.fromOwned(Buffer.from(encodedHeader.buffer, encodedHeader.byteOffset, encodedHeader.byteLength));
591
594
  const body = runtime_message_1.ZLinkBufferMessage.fromOwned(Buffer.from((0, protocol_1.messageToBytes)(payload)));
592
- const returnResponse = frameHeader.kind === protocol_1.ZLinkStreamMessageKind.Request
593
- && frameHeader.requestSeq !== undefined;
595
+ const returnResponse = frameHeader.kind === protocol_1.ZLinkStreamMessageKind.Request && frameHeader.requestSeq !== undefined;
594
596
  try {
595
597
  this.options.detachedTaskRunner.runDetached('local actor packet relay', async () => {
596
598
  try {
@@ -627,12 +629,16 @@ class ZLinkActorPacketRelay {
627
629
  }
628
630
  async sendCapturedOrCurrentBoundSessionResponse(target, actorId, packetName, requestSeq, response, metadata) {
629
631
  return target === undefined
630
- ? await this.options.streamBindingRuntime().sendLocalBoundSessionResponse(actorId, packetName, requestSeq, response, metadata, false)
632
+ ? await this.options
633
+ .streamBindingRuntime()
634
+ .sendLocalBoundSessionResponse(actorId, packetName, requestSeq, response, metadata, false)
631
635
  : await target.sendResponse(packetName, requestSeq, response, metadata);
632
636
  }
633
637
  async sendCapturedOrCurrentBoundSessionError(target, actorId, packetName, requestSeq, error, metadata) {
634
638
  return target === undefined
635
- ? await this.options.streamBindingRuntime().sendLocalBoundSessionError(actorId, packetName, requestSeq, error, metadata)
639
+ ? await this.options
640
+ .streamBindingRuntime()
641
+ .sendLocalBoundSessionError(actorId, packetName, requestSeq, error, metadata)
636
642
  : await target.sendError(packetName, requestSeq, error, metadata);
637
643
  }
638
644
  requireSpotNodeRuntime() {
@@ -652,9 +658,7 @@ class ZLinkActorPacketRelay {
652
658
  }
653
659
  exports.ZLinkActorPacketRelay = ZLinkActorPacketRelay;
654
660
  function isValidMessageFollowId(value) {
655
- return value !== undefined
656
- && /^[0-9a-f]{32}$/.test(value)
657
- && !/^0+$/.test(value);
661
+ return value !== undefined && /^[0-9a-f]{32}$/.test(value) && !/^0+$/.test(value);
658
662
  }
659
663
  /** Reuses the target when it already carries a spot kind instead of spreading a copy per call. */
660
664
  function withDefaultSpotKind(target) {
@@ -12,8 +12,7 @@ const user_spot_creation_coordinator_1 = require("./user-spot-creation-coordinat
12
12
  const service_wire_codec_generated_1 = require("../protocol/service_wire_codec.generated");
13
13
  const CREATION_TERMINAL_CODEC_CONTEXT = {
14
14
  effectiveCompleteMessageBytesMinusActualEnvelopeOverhead: 1024 * 1024,
15
- effectiveCompleteMessageBytes: 1024 * 1024,
16
- runtimePredicates: {}
15
+ effectiveCompleteMessageBytes: 1024 * 1024
17
16
  };
18
17
  class ZLinkActorPlacementCoordinator {
19
18
  options;
@@ -104,21 +103,20 @@ class ZLinkActorPlacementCoordinator {
104
103
  }
105
104
  if (remote === undefined)
106
105
  throw transportFailure;
107
- if (remote.terminalResult !== runtime_values_1.RequestResult.Ok
108
- || remote.failureCode !== 0) {
106
+ if (remote.terminalResult !== runtime_values_1.RequestResult.Ok || remote.failureCode !== 0) {
109
107
  // Classify the (terminal, fine failure code) pair via the shared
110
108
  // ownership-aware translator instead of collapsing every non-OK
111
109
  // remote create to InternalFailure (spec 32-framework-error-model:
112
110
  // 83-118, 99-108). Backpressured(113) still surfaces as target
113
111
  // placement capacity -> Unavailable through the shared path.
114
- throw (0, framework_errors_internal_1.wireReplyFailureException)(remote.terminalResult, remote.failureCode, `Remote Actor '${actorId}' creation failed with result ${remote.terminalResult}, `
115
- + `failure code ${remote.failureCode}, and tail ${remote.tail?.kind ?? 'none'}.`);
112
+ throw (0, framework_errors_internal_1.wireReplyFailureException)(remote.terminalResult, remote.failureCode, `Remote Actor '${actorId}' creation failed with result ${remote.terminalResult}, ` +
113
+ `failure code ${remote.failureCode}, and tail ${remote.tail?.kind ?? 'none'}.`);
116
114
  }
117
115
  if (remote.tail?.kind !== 'actorCreate') {
118
116
  // An OK terminal whose reply lacks the actorCreate tail is a
119
117
  // protocol violation, not a create failure.
120
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestProtocolError, `Remote Actor '${actorId}' create reply carried tail `
121
- + `${remote.tail?.kind ?? 'none'} on an OK terminal.`);
118
+ throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestProtocolError, `Remote Actor '${actorId}' create reply carried tail ` +
119
+ `${remote.tail?.kind ?? 'none'} on an OK terminal.`);
122
120
  }
123
121
  if (remote.tail.createResult === 'rejected') {
124
122
  return {
@@ -126,8 +124,8 @@ class ZLinkActorPlacementCoordinator {
126
124
  ...(remote.payload === undefined
127
125
  ? {}
128
126
  : {
129
- reply: this.options.decodeRemoteReply?.(remote.payload.payload)
130
- ?? Buffer.from(remote.payload.payload)
127
+ reply: this.options.decodeRemoteReply?.(remote.payload.payload) ??
128
+ Buffer.from(remote.payload.payload)
131
129
  })
132
130
  };
133
131
  }
@@ -149,8 +147,8 @@ class ZLinkActorPlacementCoordinator {
149
147
  ...(remote.payload === undefined
150
148
  ? {}
151
149
  : {
152
- reply: this.options.decodeRemoteReply?.(remote.payload.payload)
153
- ?? Buffer.from(remote.payload.payload)
150
+ reply: this.options.decodeRemoteReply?.(remote.payload.payload) ??
151
+ Buffer.from(remote.payload.payload)
154
152
  })
155
153
  };
156
154
  }
@@ -279,10 +277,10 @@ function existingActor(reserved, actorId, stableType) {
279
277
  : reserved.kind === 'conflict' && reserved.current.kind === 'snapshot'
280
278
  ? reserved.current
281
279
  : undefined;
282
- if (snapshot === undefined
283
- || snapshot.allocation.state !== 'active'
284
- || snapshot.allocation.objectKind !== 'actor'
285
- || snapshot.allocation.stableType !== stableType) {
280
+ if (snapshot === undefined ||
281
+ snapshot.allocation.state !== 'active' ||
282
+ snapshot.allocation.objectKind !== 'actor' ||
283
+ snapshot.allocation.stableType !== stableType) {
286
284
  return undefined;
287
285
  }
288
286
  const identity = (0, actor_authority_publication_1.decodeActorAuthorityIdentity)(snapshot.payload, snapshot.objectGeneration);
@@ -342,18 +340,18 @@ function reservationTarget(target) {
342
340
  }
343
341
  function requireExactReservation(current, record) {
344
342
  const pending = current.kind === 'snapshot' ? current.pendingCreation : undefined;
345
- if (current.kind !== 'snapshot'
346
- || current.allocation.objectKind !== 'actor'
347
- || current.allocation.stableType !== record.stableType
348
- || current.objectGeneration !== record.reservation.objectGeneration
349
- || current.authorityOwnerGeneration !== record.reservation.authorityOwnerGeneration
350
- || String(current.allocation.descriptor.rid) !== record.reservation.targetNodeRid
351
- || current.allocation.descriptorLifecycleGeneration !== record.reservation.targetNodeGeneration
352
- || current.ownerId !== record.reservation.targetOwnerId
353
- || current.ownerLeaseGeneration !== record.reservation.targetOwnerLeaseGeneration
354
- || (current.allocation.state === 'reserved'
355
- && (current.storeVersion.value !== record.reservation.expectedStoreVersion
356
- || pending?.reservationId !== record.reservation.reservationId))) {
343
+ if (current.kind !== 'snapshot' ||
344
+ current.allocation.objectKind !== 'actor' ||
345
+ current.allocation.stableType !== record.stableType ||
346
+ current.objectGeneration !== record.reservation.objectGeneration ||
347
+ current.authorityOwnerGeneration !== record.reservation.authorityOwnerGeneration ||
348
+ String(current.allocation.descriptor.rid) !== record.reservation.targetNodeRid ||
349
+ current.allocation.descriptorLifecycleGeneration !== record.reservation.targetNodeGeneration ||
350
+ current.ownerId !== record.reservation.targetOwnerId ||
351
+ current.ownerLeaseGeneration !== record.reservation.targetOwnerLeaseGeneration ||
352
+ (current.allocation.state === 'reserved' &&
353
+ (current.storeVersion.value !== record.reservation.expectedStoreVersion ||
354
+ pending?.reservationId !== record.reservation.reservationId))) {
357
355
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorCreateFailed, `Actor '${record.actorId}' reservation fence is stale.`, true);
358
356
  }
359
357
  }
@@ -386,9 +384,9 @@ function actorResult(createResult, actor, reply) {
386
384
  };
387
385
  }
388
386
  function isCompletedActorCreate(result) {
389
- return result.terminalResult === runtime_values_1.RequestResult.Ok
390
- && result.failureCode === 0
391
- && result.tail?.kind === 'actorCreate';
387
+ return (result.terminalResult === runtime_values_1.RequestResult.Ok &&
388
+ result.failureCode === 0 &&
389
+ result.tail?.kind === 'actorCreate');
392
390
  }
393
391
  function encodeActorTerminal(terminal) {
394
392
  if (terminal.result === 'failed') {
@@ -30,7 +30,7 @@ class ZLinkActorRuntimeOptionsFactory {
30
30
  postCommitErrorReporter: this.options.reportPostCommitError,
31
31
  sourceTransfer: this.options.actorTransferRuntime,
32
32
  actorJoinRelocation: this.options.actorJoinRelocation,
33
- entrySpotIdProvider: meshName => {
33
+ entrySpotIdProvider: (meshName) => {
34
34
  const resolvedMeshName = meshName ?? this.options.primaryMeshName();
35
35
  return resolvedMeshName === undefined
36
36
  ? undefined
@@ -55,12 +55,12 @@ class ZLinkActorRuntimeOptionsFactory {
55
55
  actorRefProvider: () => {
56
56
  const state = this.options.actorManager()?.getState(actorId);
57
57
  const actorRef = state?.nativeActorRef;
58
- const meshName = state?.meshName
59
- ?? (state?.actorType === undefined
58
+ const meshName = state?.meshName ??
59
+ (state?.actorType === undefined
60
60
  ? undefined
61
61
  : this.options.actorMeshName(state.actorType));
62
- const objectGeneration = actorRef?.generation
63
- ?? actorRef
62
+ const objectGeneration = actorRef?.generation ??
63
+ actorRef
64
64
  ?.objectGeneration;
65
65
  return actorRef === undefined || objectGeneration === undefined
66
66
  ? undefined
@@ -76,8 +76,8 @@ class ZLinkActorRuntimeOptionsFactory {
76
76
  },
77
77
  nativeActorNodeProvider: () => {
78
78
  const state = this.options.actorManager()?.getState(actorId);
79
- const meshName = state?.meshName
80
- ?? (state?.actorType === undefined
79
+ const meshName = state?.meshName ??
80
+ (state?.actorType === undefined
81
81
  ? undefined
82
82
  : this.options.actorMeshName(state.actorType));
83
83
  const node = meshName === undefined
@@ -86,9 +86,7 @@ class ZLinkActorRuntimeOptionsFactory {
86
86
  const completions = meshName === undefined
87
87
  ? this.options.primaryMeshCompletions()
88
88
  : this.options.meshCompletions(meshName);
89
- return node === undefined
90
- ? undefined
91
- : (0, backend_1.meshActorSessionNodeAdapter)(node, completions);
89
+ return node === undefined ? undefined : (0, backend_1.meshActorSessionNodeAdapter)(node, completions);
92
90
  },
93
91
  localActorProvider: () => this.options.actorManager()?.getState(actorId)?.actor !== undefined,
94
92
  remoteBoundSessionTargetProvider: () => {
@@ -135,10 +133,10 @@ class ZLinkActorRuntimeOptionsFactory {
135
133
  messageSerializers: this.options.registration.messageSerializers,
136
134
  defaultRequestTimeoutMs: this.options.registration.requestTimeoutMs,
137
135
  staleActorRefReporter: (_meshName, actorId) => this.options.actorHandoff.recordStaleFailure(actorId),
138
- staleActorRefPredicate: (meshName, actor) => this.actorBelongsToMesh(meshName, actor.actorId)
139
- && this.options.actorHandoff.isKnownStale(actor),
140
- handoffCapture: (meshName, actorId, parts, returnResponse, actor, deadlineUnixMs) => this.actorBelongsToMesh(meshName, actorId)
141
- && !this.options.actorHandoff.isProvisional(actorId)
136
+ staleActorRefPredicate: (meshName, actor) => this.actorBelongsToMesh(meshName, actor.actorId) &&
137
+ this.options.actorHandoff.isKnownStale(actor),
138
+ handoffCapture: (meshName, actorId, parts, returnResponse, actor, deadlineUnixMs) => this.actorBelongsToMesh(meshName, actorId) &&
139
+ !this.options.actorHandoff.isProvisional(actorId)
142
140
  ? this.options.actorHandoff.capture(actorId, parts, returnResponse, undefined, actor, deadlineUnixMs)
143
141
  : undefined,
144
142
  sendErrorReporter: this.options.reportPostCommitError
@@ -24,8 +24,9 @@ class ZLinkActorTransferAuthorityRuntime {
24
24
  const ownerId = this.requireOwnerId();
25
25
  const actorId = control.actor.actorId;
26
26
  const transferId = transferIdString(control.transferId.high, control.transferId.low);
27
- if (control.role === service_runtime_contracts_1.ActorTransferRole.Target
28
- && (control.phase === service_runtime_contracts_1.ActorTransferPhase.Preparing || control.phase === service_runtime_contracts_1.ActorTransferPhase.Fenced)) {
27
+ if (control.role === service_runtime_contracts_1.ActorTransferRole.Target &&
28
+ (control.phase === service_runtime_contracts_1.ActorTransferPhase.Preparing ||
29
+ control.phase === service_runtime_contracts_1.ActorTransferPhase.Fenced)) {
29
30
  await this.prepare(store, ownerId, meshName, actorId, transferId, control.actor, control.membershipEpoch, signal);
30
31
  return;
31
32
  }
@@ -56,10 +57,7 @@ class ZLinkActorTransferAuthorityRuntime {
56
57
  target,
57
58
  expectedActorGeneration: location.actorRef.objectGeneration,
58
59
  expectedMembershipEpoch: location.membershipEpoch,
59
- participants: new Set([
60
- location.actorRef.nodeRid,
61
- target.nodeRid
62
- ]),
60
+ participants: new Set([location.actorRef.nodeRid, target.nodeRid]),
63
61
  recoveryOwnerId: ownerId,
64
62
  recoveryLeaseTtlMs: this.options.recoveryLeaseTtlMs
65
63
  }, signal);
@@ -112,9 +110,9 @@ class ZLinkActorTransferAuthorityRuntime {
112
110
  }
113
111
  exports.ZLinkActorTransferAuthorityRuntime = ZLinkActorTransferAuthorityRuntime;
114
112
  function validateTarget(location, target, membershipEpoch, transferId) {
115
- if (target.actorId !== location.actorId
116
- || target.objectGeneration !== location.actorRef.objectGeneration
117
- || membershipEpoch !== location.membershipEpoch) {
113
+ if (target.actorId !== location.actorId ||
114
+ target.objectGeneration !== location.actorRef.objectGeneration ||
115
+ membershipEpoch !== location.membershipEpoch) {
118
116
  throw new Error(`Actor transfer '${transferId}' does not match the source Actor generation and membership epoch.`);
119
117
  }
120
118
  }