@zlink-systems/framework 0.21.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/ZLinkMessage.js +5 -5
  3. package/dist/contracts/Configuration/CodecContentType.js +5 -7
  4. package/dist/contracts/Configuration/DiagnosticsValidation.js +1 -6
  5. package/dist/contracts/Configuration/EndpointNotation.js +4 -8
  6. package/dist/contracts/Configuration/Registration.js +14 -11
  7. package/dist/contracts/Configuration/RegistrationBuilders.js +32 -25
  8. package/dist/contracts/Configuration/RegistrationNormalizers.js +25 -26
  9. package/dist/contracts/Configuration/RegistrationValidators.js +36 -38
  10. package/dist/contracts/Configuration/SendTimeoutValidation.js +4 -4
  11. package/dist/contracts/Configuration/TimerRegistrationValidator.js +7 -7
  12. package/dist/contracts/Handlers/JsonContract.js +23 -11
  13. package/dist/contracts/Spots/SpotKind.js +16 -8
  14. package/dist/location-store-integration.js +16 -16
  15. package/dist/nest-integration.js +17 -11
  16. package/dist/runtime/abort.js +9 -5
  17. package/dist/runtime/actors/actor-authority-payload-codec.js +12 -16
  18. package/dist/runtime/actors/actor-authority-publication.js +18 -17
  19. package/dist/runtime/actors/actor-client.js +83 -63
  20. package/dist/runtime/actors/actor-context.js +24 -18
  21. package/dist/runtime/actors/actor-creation.js +4 -3
  22. package/dist/runtime/actors/actor-handoff.js +89 -92
  23. package/dist/runtime/actors/actor-local-native-join.js +18 -19
  24. package/dist/runtime/actors/actor-mailbox.js +1 -1
  25. package/dist/runtime/actors/actor-message-follow-context.js +24 -21
  26. package/dist/runtime/actors/actor-packet-relay-wire.js +1 -3
  27. package/dist/runtime/actors/actor-remote-joiner.js +20 -17
  28. package/dist/runtime/actors/actor-remote-wire.js +6 -7
  29. package/dist/runtime/actors/actor-runtime-state.js +87 -81
  30. package/dist/runtime/actors/actor-transfer-registry.js +3 -5
  31. package/dist/runtime/actors/bound-session-wire.js +14 -9
  32. package/dist/runtime/actors/deferred-join-accepted-journal.js +158 -124
  33. package/dist/runtime/actors/index.js +2 -5
  34. package/dist/runtime/actors/post-commit-actor-binder.js +3 -6
  35. package/dist/runtime/actors/post-commit-actor-location.js +1 -1
  36. package/dist/runtime/actors/spot-actor-dispatch.js +5 -5
  37. package/dist/runtime/actors/transferred-actor-rollback.js +4 -4
  38. package/dist/runtime/admission.js +2 -6
  39. package/dist/runtime/application-jobs/application-ingress-record-owner.js +2 -6
  40. package/dist/runtime/application-jobs/receive-flow-controller.js +11 -12
  41. package/dist/runtime/backend/mesh-completion-table.js +1 -3
  42. package/dist/runtime/backend/mesh-dispatch-pump.js +12 -16
  43. package/dist/runtime/backend/node/node-backend-adapter-factory.js +1 -3
  44. package/dist/runtime/backend/node/node-backend-adapter-support.js +26 -17
  45. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +4 -3
  46. package/dist/runtime/backend/node/node-raw-binding-port.js +7 -6
  47. package/dist/runtime/backend/node/node-raw-mesh-backend.js +116 -113
  48. package/dist/runtime/backend/node/node-socket-backend-adapter.js +12 -13
  49. package/dist/runtime/backend/runtime-message.js +3 -3
  50. package/dist/runtime/backend/runtime-values.d.ts +2 -2
  51. package/dist/runtime/backend/runtime-values.js +4 -5
  52. package/dist/runtime/channels/channel-clients.js +27 -24
  53. package/dist/runtime/channels/channel-dispatch-pipeline.js +10 -18
  54. package/dist/runtime/channels/channel-dispatch-services.js +7 -4
  55. package/dist/runtime/channels/channel-dispatchers.js +9 -9
  56. package/dist/runtime/channels/channel-envelope-inspection.js +16 -13
  57. package/dist/runtime/channels/channel-envelope.js +83 -47
  58. package/dist/runtime/channels/channel-outbound-operations.js +8 -8
  59. package/dist/runtime/channels/channel-receive-loops.js +20 -22
  60. package/dist/runtime/channels/channel-receive-task-tracker.js +1 -1
  61. package/dist/runtime/channels/channel-runtime-lifecycle.js +61 -56
  62. package/dist/runtime/channels/channel-runtime-manager.js +18 -9
  63. package/dist/runtime/channels/channel-socket-registry.js +126 -123
  64. package/dist/runtime/channels/channel-transports.js +43 -33
  65. package/dist/runtime/channels/client-server-location-runtime.js +32 -40
  66. package/dist/runtime/channels/client-server-service-wire.js +29 -22
  67. package/dist/runtime/channels/dispatch-error-reporter.js +9 -7
  68. package/dist/runtime/channels/fanout-location-runtime.js +34 -47
  69. package/dist/runtime/channels/fanout-service-wire.js +3 -5
  70. package/dist/runtime/channels/local-spot-route-transport.js +7 -1
  71. package/dist/runtime/channels/route-member-snapshot.js +3 -3
  72. package/dist/runtime/channels/source-spot-router.js +6 -2
  73. package/dist/runtime/channels/spot-route-bridge-transport.js +5 -2
  74. package/dist/runtime/channels/spot-route-dispatch-strategy.js +2 -2
  75. package/dist/runtime/channels/spot-route-target-resolver.js +6 -6
  76. package/dist/runtime/diagnostics/index.js +38 -10
  77. package/dist/runtime/diagnostics/message-flow.js +47 -39
  78. package/dist/runtime/diagnostics/runtime-metrics.js +18 -9
  79. package/dist/runtime/diagnostics/runtime-observation-queue.js +8 -10
  80. package/dist/runtime/diagnostics/topology-runtime-projections.js +17 -10
  81. package/dist/runtime/execution/index.js +7 -6
  82. package/dist/runtime/execution/serial-execution-queue.js +12 -18
  83. package/dist/runtime/execution/state-lane.js +2 -2
  84. package/dist/runtime/foundation/actor-join-recovery-codec.js +31 -23
  85. package/dist/runtime/foundation/event-loop-resources.js +4 -4
  86. package/dist/runtime/foundation/message-follow-suppression-registry.js +4 -4
  87. package/dist/runtime/foundation/raw-service-mesh-runtime.js +136 -136
  88. package/dist/runtime/foundation/route-mesh-connection-policy.js +4 -4
  89. package/dist/runtime/foundation/runtime-state-projections.js +22 -11
  90. package/dist/runtime/foundation/service-authority-payload-codec.js +13 -15
  91. package/dist/runtime/foundation/service-discovery-registry.js +35 -33
  92. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +20 -22
  93. package/dist/runtime/foundation/service-liveness-registry.js +16 -12
  94. package/dist/runtime/foundation/service-maintenance-runtime.js +2 -4
  95. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +24 -24
  96. package/dist/runtime/foundation/service-relocation-object-owner.js +6 -6
  97. package/dist/runtime/foundation/service-relocation-runtime.js +137 -94
  98. package/dist/runtime/foundation/service-runtime-contracts.js +5 -5
  99. package/dist/runtime/foundation/service-stateful-registry.js +24 -23
  100. package/dist/runtime/foundation/service-stateful-runtime.js +416 -438
  101. package/dist/runtime/foundation/service-stateful-wire-codec.js +95 -98
  102. package/dist/runtime/foundation/service-topology-registry.js +96 -95
  103. package/dist/runtime/foundation/service-weighted-selection.js +6 -11
  104. package/dist/runtime/foundation/service-wire-binary-primitives.js +5 -6
  105. package/dist/runtime/foundation/service-wire-m6a-codec.js +46 -35
  106. package/dist/runtime/framework-errors-internal.js +7 -10
  107. package/dist/runtime/handlers/handler-instance-scope.js +4 -5
  108. package/dist/runtime/handlers/index.js +3 -1
  109. package/dist/runtime/host/actor-packet-relay.js +74 -70
  110. package/dist/runtime/host/actor-placement-coordinator.js +29 -31
  111. package/dist/runtime/host/actor-runtime-options-factory.js +12 -14
  112. package/dist/runtime/host/actor-transfer-authority-runtime.js +7 -9
  113. package/dist/runtime/host/actor-transfer-runtime.js +176 -153
  114. package/dist/runtime/host/application-job-queue.js +18 -22
  115. package/dist/runtime/host/bound-session-relay.js +3 -1
  116. package/dist/runtime/host/channel-runtime-options-factory.js +31 -14
  117. package/dist/runtime/host/host-capacity-status.js +8 -4
  118. package/dist/runtime/host/index.js +244 -227
  119. package/dist/runtime/host/instance-activation-authority.js +93 -96
  120. package/dist/runtime/host/location-runtime-owner.js +16 -14
  121. package/dist/runtime/host/mesh-router-resolver.js +11 -13
  122. package/dist/runtime/host/relocation-direct-transfer.js +10 -9
  123. package/dist/runtime/host/remote-actor-join-receiver.js +20 -15
  124. package/dist/runtime/host/remote-actor-packet-target-store.js +18 -22
  125. package/dist/runtime/host/remote-bound-session-relay.js +97 -73
  126. package/dist/runtime/host/route-mesh-runtime.js +64 -69
  127. package/dist/runtime/host/runtime-shutdown.js +1 -2
  128. package/dist/runtime/host/service-relocation-host-runtime.js +586 -511
  129. package/dist/runtime/host/spot-address-transport.js +69 -71
  130. package/dist/runtime/host/spot-runtime-options-factory.js +30 -29
  131. package/dist/runtime/host/stateful-authority-route-runtime.js +65 -68
  132. package/dist/runtime/host/user-spot-creation-coordinator.js +61 -67
  133. package/dist/runtime/locations/actor-location-claims.js +26 -20
  134. package/dist/runtime/locations/aggregate-inventory-store.js +72 -75
  135. package/dist/runtime/locations/authority-key-codec.js +7 -7
  136. package/dist/runtime/locations/auto-connect-loop.js +3 -3
  137. package/dist/runtime/locations/auto-connect-planner.js +25 -19
  138. package/dist/runtime/locations/auto-connect-reconciler.js +51 -31
  139. package/dist/runtime/locations/in-memory-authority-store.js +128 -118
  140. package/dist/runtime/locations/in-memory-location-store.js +195 -168
  141. package/dist/runtime/locations/in-memory-provider-location-store.js +8 -10
  142. package/dist/runtime/locations/key-codec.js +1 -1
  143. package/dist/runtime/locations/lease-tracker.js +23 -21
  144. package/dist/runtime/locations/lifecycle.js +4 -5
  145. package/dist/runtime/locations/location-store-repository.js +368 -324
  146. package/dist/runtime/locations/opaque-record-key.js +2 -2
  147. package/dist/runtime/locations/resolvers.js +73 -82
  148. package/dist/runtime/locations/runtime.js +68 -63
  149. package/dist/runtime/locations/spot-location-claims.js +39 -35
  150. package/dist/runtime/messaging/framework-json-v1.js +7 -7
  151. package/dist/runtime/messaging/packet-name.js +7 -6
  152. package/dist/runtime/messaging/payload-codec.js +21 -18
  153. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +30 -2
  154. package/dist/runtime/protocol/service_wire_codec.generated.js +1671 -234
  155. package/dist/runtime/routing-id.js +3 -5
  156. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +35 -31
  157. package/dist/runtime/spots/formal-remote-actor-transfer-registry.js +1 -2
  158. package/dist/runtime/spots/index.js +208 -219
  159. package/dist/runtime/spots/spot-activation-registry.js +15 -14
  160. package/dist/runtime/spots/spot-activation-state.js +17 -15
  161. package/dist/runtime/spots/spot-activation.js +33 -16
  162. package/dist/runtime/spots/spot-actor-admission-coordinator.js +18 -15
  163. package/dist/runtime/spots/spot-actor-membership.js +1 -3
  164. package/dist/runtime/spots/spot-actor-packet-dispatch.js +23 -20
  165. package/dist/runtime/spots/spot-actor-packet-drain.js +12 -10
  166. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +10 -6
  167. package/dist/runtime/spots/spot-closing.js +3 -7
  168. package/dist/runtime/spots/spot-context.js +2 -2
  169. package/dist/runtime/spots/spot-entry-activation.js +13 -14
  170. package/dist/runtime/spots/spot-handle.js +6 -3
  171. package/dist/runtime/spots/spot-handler-registry.js +12 -12
  172. package/dist/runtime/spots/spot-manager-public.js +5 -6
  173. package/dist/runtime/spots/spot-native-actor-join-admission.js +4 -3
  174. package/dist/runtime/spots/spot-node-autoconnect.js +15 -18
  175. package/dist/runtime/spots/spot-node-runtime-manager.js +74 -85
  176. package/dist/runtime/spots/spot-outbound.js +10 -14
  177. package/dist/runtime/spots/spot-remote-codec.js +22 -26
  178. package/dist/runtime/spots/spot-remote-route-codec.js +5 -7
  179. package/dist/runtime/spots/spot-route-packet-dispatch.js +16 -14
  180. package/dist/runtime/spots/spot-route-replies.js +4 -6
  181. package/dist/runtime/spots/spot-routed-actor-admission.js +9 -7
  182. package/dist/runtime/spots/spot-routed-bound-session-dispatch.js +1 -2
  183. package/dist/runtime/spots/spot-routed-frame-dispatch.js +5 -5
  184. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +14 -10
  185. package/dist/runtime/spots/spot-serial-executor.js +5 -8
  186. package/dist/runtime/spots/spot-serial-turn-executor.js +4 -6
  187. package/dist/runtime/spots/spot-subscription-dispatch.js +5 -5
  188. package/dist/runtime/spots/spot-timer.js +25 -29
  189. package/dist/runtime/streams/actor-session-binding-registry.js +98 -107
  190. package/dist/runtime/streams/actor-session-lifecycle-coordinator.js +3 -1
  191. package/dist/runtime/streams/bound-actor-relay-sender.js +18 -16
  192. package/dist/runtime/streams/bound-session-service.js +8 -9
  193. package/dist/runtime/streams/index.js +20 -19
  194. package/dist/runtime/streams/managed-stream.js +32 -30
  195. package/dist/runtime/streams/native-fallback-bound-session.js +21 -17
  196. package/dist/runtime/streams/protocol.js +29 -18
  197. package/dist/runtime/streams/session-actor-coordinator.js +34 -37
  198. package/dist/runtime/streams/session-context.js +30 -28
  199. package/dist/runtime/streams/session-provider.js +2 -2
  200. package/dist/runtime/streams/session-serial-executor.js +1 -2
  201. package/dist/runtime/streams/stream-frame-factory.js +11 -5
  202. package/dist/runtime/streams/stream-session-runtime.js +70 -66
  203. package/dist/runtime/workers/index.js +15 -4
  204. package/package.json +2 -2
  205. package/src/contracts/Channels/RouteCalls.ts +6 -1
  206. package/src/contracts/Common/ZLinkMessage.ts +5 -5
  207. package/src/contracts/Common/ZLinkMessageMetadata.ts +4 -3
  208. package/src/contracts/Configuration/Builders.ts +14 -14
  209. package/src/contracts/Configuration/CodecContentType.ts +8 -10
  210. package/src/contracts/Configuration/DiagnosticsValidation.ts +1 -6
  211. package/src/contracts/Configuration/EndpointNotation.ts +11 -11
  212. package/src/contracts/Configuration/ObjectRoles.ts +1 -3
  213. package/src/contracts/Configuration/Registration.ts +46 -17
  214. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +10 -8
  215. package/src/contracts/Configuration/RegistrationBuilders.ts +107 -96
  216. package/src/contracts/Configuration/RegistrationCodecRegistry.ts +9 -3
  217. package/src/contracts/Configuration/RegistrationNormalizers.ts +116 -84
  218. package/src/contracts/Configuration/RegistrationTypes.ts +21 -25
  219. package/src/contracts/Configuration/RegistrationValidators.ts +122 -73
  220. package/src/contracts/Configuration/RouteChannelInternalState.ts +1 -4
  221. package/src/contracts/Configuration/RuntimeEndpointConnections.ts +4 -1
  222. package/src/contracts/Configuration/SendTimeoutValidation.ts +6 -4
  223. package/src/contracts/Configuration/TimerRegistrationValidator.ts +8 -13
  224. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -6
  225. package/src/contracts/Errors/index.ts +1 -4
  226. package/src/contracts/Handlers/Attributes.ts +15 -9
  227. package/src/contracts/Handlers/IZLinkChannelHandlers.ts +24 -4
  228. package/src/contracts/Handlers/JsonContract.ts +53 -19
  229. package/src/contracts/Locations/ActorTransfer.ts +1 -5
  230. package/src/contracts/Locations/Authority.ts +4 -11
  231. package/src/contracts/Locations/Keys.ts +6 -1
  232. package/src/contracts/Locations/Options.ts +3 -2
  233. package/src/contracts/Locations/RelocationStore.ts +1 -4
  234. package/src/contracts/Locations/Resolvers.ts +5 -5
  235. package/src/contracts/Locations/RuntimeQuery.ts +6 -2
  236. package/src/contracts/Locations/Stores.ts +1 -2
  237. package/src/contracts/Locations/index.ts +2 -8
  238. package/src/contracts/RouteMesh/Contracts.ts +1 -7
  239. package/src/contracts/RouteMesh/RuntimeTopology.ts +1 -4
  240. package/src/contracts/Spots/Contracts.ts +2 -8
  241. package/src/contracts/Spots/SpotKind.ts +16 -8
  242. package/src/contracts/Spots/ZLinkSpot.ts +8 -11
  243. package/src/contracts/Streams/IZLinkSession.ts +0 -1
  244. package/src/contracts/Streams/IZLinkSessionActor.ts +5 -1
  245. package/src/contracts/Streams/IZLinkSessionPacketHandler.ts +5 -1
  246. package/src/internal.ts +5 -4
  247. package/src/location-store-integration.ts +24 -16
  248. package/src/nest-integration.ts +40 -25
  249. package/src/runtime/abort.ts +10 -4
  250. package/src/runtime/actors/actor-authority-payload-codec.ts +20 -29
  251. package/src/runtime/actors/actor-authority-publication.ts +92 -77
  252. package/src/runtime/actors/actor-client.ts +162 -133
  253. package/src/runtime/actors/actor-context.ts +138 -130
  254. package/src/runtime/actors/actor-creation.ts +47 -44
  255. package/src/runtime/actors/actor-execution-context.ts +6 -4
  256. package/src/runtime/actors/actor-handoff.ts +269 -293
  257. package/src/runtime/actors/actor-join-deferred-scope.ts +5 -4
  258. package/src/runtime/actors/actor-lifecycle-snapshot.ts +5 -8
  259. package/src/runtime/actors/actor-local-native-join.ts +131 -159
  260. package/src/runtime/actors/actor-mailbox.ts +16 -19
  261. package/src/runtime/actors/actor-message-follow-context.ts +46 -36
  262. package/src/runtime/actors/actor-packet-relay-wire.ts +32 -21
  263. package/src/runtime/actors/actor-remote-joiner.ts +50 -54
  264. package/src/runtime/actors/actor-remote-wire.ts +9 -13
  265. package/src/runtime/actors/actor-routed-join-transport.ts +10 -2
  266. package/src/runtime/actors/actor-runtime-contracts.ts +2 -5
  267. package/src/runtime/actors/actor-runtime-state.ts +127 -124
  268. package/src/runtime/actors/actor-transfer-registry.ts +9 -14
  269. package/src/runtime/actors/actor-transport-delivery-gate.ts +4 -6
  270. package/src/runtime/actors/bound-session-wire.ts +37 -17
  271. package/src/runtime/actors/deferred-join-accepted-journal.ts +351 -320
  272. package/src/runtime/actors/index.ts +43 -86
  273. package/src/runtime/actors/post-commit-actor-binder.ts +10 -10
  274. package/src/runtime/actors/post-commit-actor-location.ts +30 -23
  275. package/src/runtime/actors/spot-actor-dispatch.ts +78 -53
  276. package/src/runtime/actors/transferred-actor-rollback.ts +18 -13
  277. package/src/runtime/admission.ts +9 -9
  278. package/src/runtime/application-jobs/application-ingress-record-owner.ts +5 -15
  279. package/src/runtime/application-jobs/application-job-queue-handler-start-gate.ts +3 -2
  280. package/src/runtime/application-jobs/receive-flow-controller.ts +17 -14
  281. package/src/runtime/backend/contracts/index.ts +73 -52
  282. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -14
  283. package/src/runtime/backend/mesh-completion-table.ts +6 -9
  284. package/src/runtime/backend/mesh-dispatch-pump.ts +38 -30
  285. package/src/runtime/backend/node/node-backend-adapter-factory.ts +23 -21
  286. package/src/runtime/backend/node/node-backend-adapter-support.ts +36 -22
  287. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +59 -58
  288. package/src/runtime/backend/node/node-event-loop-poller.ts +2 -10
  289. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +12 -5
  290. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +4 -3
  291. package/src/runtime/backend/node/node-raw-binding-port.ts +29 -29
  292. package/src/runtime/backend/node/node-raw-mesh-backend.ts +335 -383
  293. package/src/runtime/backend/node/node-socket-backend-adapter.ts +101 -54
  294. package/src/runtime/backend/runtime-message.ts +5 -3
  295. package/src/runtime/backend/runtime-values.ts +10 -7
  296. package/src/runtime/channels/channel-autoconnect.ts +1 -4
  297. package/src/runtime/channels/channel-clients.ts +93 -73
  298. package/src/runtime/channels/channel-dispatch-pipeline.ts +40 -42
  299. package/src/runtime/channels/channel-dispatch-services.ts +51 -49
  300. package/src/runtime/channels/channel-dispatchers.ts +152 -96
  301. package/src/runtime/channels/channel-envelope-inspection.ts +20 -16
  302. package/src/runtime/channels/channel-envelope.ts +256 -150
  303. package/src/runtime/channels/channel-multipart.ts +13 -5
  304. package/src/runtime/channels/channel-outbound-operations.ts +37 -41
  305. package/src/runtime/channels/channel-receive-loops.ts +102 -98
  306. package/src/runtime/channels/channel-receive-task-tracker.ts +1 -1
  307. package/src/runtime/channels/channel-runtime-lifecycle.ts +248 -190
  308. package/src/runtime/channels/channel-runtime-manager.ts +63 -37
  309. package/src/runtime/channels/channel-socket-options.ts +3 -10
  310. package/src/runtime/channels/channel-socket-registry.ts +331 -273
  311. package/src/runtime/channels/channel-transports.ts +215 -197
  312. package/src/runtime/channels/client-server-location-runtime.ts +116 -100
  313. package/src/runtime/channels/client-server-service-wire.ts +37 -36
  314. package/src/runtime/channels/dispatch-error-reporter.ts +11 -8
  315. package/src/runtime/channels/fanout-location-runtime.ts +91 -94
  316. package/src/runtime/channels/fanout-service-wire.ts +5 -12
  317. package/src/runtime/channels/handler-filter-scope.ts +1 -4
  318. package/src/runtime/channels/index.ts +1 -4
  319. package/src/runtime/channels/local-spot-route-transport.ts +20 -5
  320. package/src/runtime/channels/route-member-snapshot.ts +11 -5
  321. package/src/runtime/channels/router-socket-spot-route-transport.ts +1 -7
  322. package/src/runtime/channels/source-spot-router.ts +26 -22
  323. package/src/runtime/channels/spot-direct-envelope.ts +10 -8
  324. package/src/runtime/channels/spot-node-route-transport.ts +13 -16
  325. package/src/runtime/channels/spot-route-bridge-transport.ts +26 -9
  326. package/src/runtime/channels/spot-route-dispatch-strategy.ts +40 -13
  327. package/src/runtime/channels/spot-route-target-resolver.ts +18 -9
  328. package/src/runtime/codecs/index.ts +3 -2
  329. package/src/runtime/diagnostics/flow-context.ts +12 -3
  330. package/src/runtime/diagnostics/index.ts +96 -61
  331. package/src/runtime/diagnostics/internal-event-contracts.ts +87 -33
  332. package/src/runtime/diagnostics/message-flow.ts +95 -76
  333. package/src/runtime/diagnostics/runtime-metrics.ts +46 -24
  334. package/src/runtime/diagnostics/runtime-observation-queue.ts +17 -28
  335. package/src/runtime/diagnostics/topology-runtime-projections.ts +62 -43
  336. package/src/runtime/execution/index.ts +18 -26
  337. package/src/runtime/execution/serial-execution-queue.ts +31 -40
  338. package/src/runtime/execution/state-lane.ts +2 -2
  339. package/src/runtime/foundation/actor-join-recovery-codec.ts +69 -51
  340. package/src/runtime/foundation/event-loop-resources.ts +8 -4
  341. package/src/runtime/foundation/message-follow-suppression-registry.ts +7 -14
  342. package/src/runtime/foundation/operation-identity.ts +1 -2
  343. package/src/runtime/foundation/operation-registry.ts +8 -2
  344. package/src/runtime/foundation/raw-service-mesh-runtime.ts +312 -385
  345. package/src/runtime/foundation/route-mesh-connection-policy.ts +7 -8
  346. package/src/runtime/foundation/runtime-state-projections.ts +24 -23
  347. package/src/runtime/foundation/service-authority-payload-codec.ts +54 -57
  348. package/src/runtime/foundation/service-discovery-registry.ts +67 -59
  349. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +28 -29
  350. package/src/runtime/foundation/service-liveness-registry.ts +18 -13
  351. package/src/runtime/foundation/service-mailbox.ts +14 -14
  352. package/src/runtime/foundation/service-maintenance-runtime.ts +22 -21
  353. package/src/runtime/foundation/service-metadata-codec.ts +2 -9
  354. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +39 -36
  355. package/src/runtime/foundation/service-relocation-coordinator.ts +1 -4
  356. package/src/runtime/foundation/service-relocation-object-owner.ts +40 -58
  357. package/src/runtime/foundation/service-relocation-runtime.ts +292 -216
  358. package/src/runtime/foundation/service-runtime-contracts.ts +8 -8
  359. package/src/runtime/foundation/service-session-binding-ingress-port.ts +1 -4
  360. package/src/runtime/foundation/service-stateful-registry.ts +69 -59
  361. package/src/runtime/foundation/service-stateful-runtime.ts +1174 -1112
  362. package/src/runtime/foundation/service-stateful-wire-codec.ts +318 -270
  363. package/src/runtime/foundation/service-topology-registry.ts +157 -159
  364. package/src/runtime/foundation/service-weighted-selection.ts +9 -15
  365. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -12
  366. package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -47
  367. package/src/runtime/framework-errors-internal.ts +31 -30
  368. package/src/runtime/handlers/handler-instance-scope.ts +18 -29
  369. package/src/runtime/handlers/index.ts +18 -8
  370. package/src/runtime/host/actor-packet-relay.ts +290 -261
  371. package/src/runtime/host/actor-placement-coordinator.ts +165 -150
  372. package/src/runtime/host/actor-runtime-options-factory.ts +89 -87
  373. package/src/runtime/host/actor-transfer-authority-runtime.ts +46 -38
  374. package/src/runtime/host/actor-transfer-runtime.ts +391 -395
  375. package/src/runtime/host/application-job-queue.ts +32 -48
  376. package/src/runtime/host/bound-session-relay.ts +7 -9
  377. package/src/runtime/host/channel-runtime-options-factory.ts +75 -35
  378. package/src/runtime/host/host-capacity-status.ts +10 -9
  379. package/src/runtime/host/index.ts +861 -789
  380. package/src/runtime/host/instance-activation-authority.ts +125 -143
  381. package/src/runtime/host/location-runtime-owner.ts +38 -26
  382. package/src/runtime/host/mesh-router-resolver.ts +30 -23
  383. package/src/runtime/host/relocation-direct-transfer.ts +15 -15
  384. package/src/runtime/host/relocation-integrity-fault-gate.ts +3 -2
  385. package/src/runtime/host/remote-actor-join-receiver.ts +43 -34
  386. package/src/runtime/host/remote-actor-packet-target-store.ts +54 -52
  387. package/src/runtime/host/remote-bound-session-relay.ts +274 -247
  388. package/src/runtime/host/route-mesh-runtime-options.ts +1 -3
  389. package/src/runtime/host/route-mesh-runtime.ts +227 -181
  390. package/src/runtime/host/runtime-shutdown.ts +4 -3
  391. package/src/runtime/host/service-relocation-control.ts +14 -5
  392. package/src/runtime/host/service-relocation-host-runtime.ts +1388 -1165
  393. package/src/runtime/host/spot-address-transport.ts +284 -237
  394. package/src/runtime/host/spot-node-runtime-options-factory.ts +14 -8
  395. package/src/runtime/host/spot-runtime-options-factory.ts +71 -62
  396. package/src/runtime/host/stateful-authority-route-runtime.ts +117 -116
  397. package/src/runtime/host/user-spot-creation-coordinator.ts +225 -220
  398. package/src/runtime/locations/actor-location-claims.ts +61 -49
  399. package/src/runtime/locations/actor-session-route-claims.ts +1 -4
  400. package/src/runtime/locations/aggregate-inventory-store.ts +105 -134
  401. package/src/runtime/locations/authority-key-codec.ts +13 -10
  402. package/src/runtime/locations/auto-connect-loop.ts +14 -11
  403. package/src/runtime/locations/auto-connect-planner.ts +42 -31
  404. package/src/runtime/locations/auto-connect-reconciler.ts +106 -63
  405. package/src/runtime/locations/canonical-codec.ts +3 -1
  406. package/src/runtime/locations/creation-operation-id.ts +4 -3
  407. package/src/runtime/locations/domain-store-contract.ts +13 -7
  408. package/src/runtime/locations/in-memory-authority-store.ts +232 -199
  409. package/src/runtime/locations/in-memory-location-store.ts +432 -250
  410. package/src/runtime/locations/in-memory-provider-location-store.ts +16 -17
  411. package/src/runtime/locations/internal-store-contracts.ts +95 -38
  412. package/src/runtime/locations/key-codec.ts +3 -4
  413. package/src/runtime/locations/lease-tracker.ts +36 -27
  414. package/src/runtime/locations/lifecycle-runtime.ts +15 -3
  415. package/src/runtime/locations/lifecycle.ts +33 -28
  416. package/src/runtime/locations/location-store-repository.ts +1329 -1185
  417. package/src/runtime/locations/opaque-record-key.ts +4 -9
  418. package/src/runtime/locations/resolvers.ts +201 -178
  419. package/src/runtime/locations/runtime.ts +251 -159
  420. package/src/runtime/locations/spot-location-claims.ts +110 -112
  421. package/src/runtime/messaging/creation-payload-codec.ts +4 -1
  422. package/src/runtime/messaging/framework-json-v1.ts +34 -15
  423. package/src/runtime/messaging/packet-name.ts +8 -6
  424. package/src/runtime/messaging/payload-codec.ts +70 -50
  425. package/src/runtime/messaging/submission-result.ts +6 -9
  426. package/src/runtime/protocol/service_wire_codec.generated.ts +1376 -159
  427. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  428. package/src/runtime/routing-id.ts +10 -7
  429. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +56 -62
  430. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +23 -20
  431. package/src/runtime/spots/index.ts +593 -563
  432. package/src/runtime/spots/spot-activation-registry.ts +38 -34
  433. package/src/runtime/spots/spot-activation-state.ts +43 -51
  434. package/src/runtime/spots/spot-activation.ts +179 -116
  435. package/src/runtime/spots/spot-actor-admission-coordinator.ts +110 -78
  436. package/src/runtime/spots/spot-actor-join-dispatch.ts +57 -41
  437. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +5 -7
  438. package/src/runtime/spots/spot-actor-membership.ts +25 -27
  439. package/src/runtime/spots/spot-actor-packet-dispatch.ts +184 -153
  440. package/src/runtime/spots/spot-actor-packet-drain.ts +54 -42
  441. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +37 -39
  442. package/src/runtime/spots/spot-closing.ts +11 -12
  443. package/src/runtime/spots/spot-context.ts +46 -26
  444. package/src/runtime/spots/spot-entry-activation.ts +84 -65
  445. package/src/runtime/spots/spot-handle.ts +17 -15
  446. package/src/runtime/spots/spot-handler-registry.ts +44 -31
  447. package/src/runtime/spots/spot-location-claim.ts +5 -4
  448. package/src/runtime/spots/spot-manager-public.ts +62 -82
  449. package/src/runtime/spots/spot-native-actor-join-admission.ts +20 -16
  450. package/src/runtime/spots/spot-node-autoconnect.ts +54 -61
  451. package/src/runtime/spots/spot-node-runtime-manager.ts +230 -221
  452. package/src/runtime/spots/spot-outbound.ts +47 -59
  453. package/src/runtime/spots/spot-publisher-transport.ts +5 -4
  454. package/src/runtime/spots/spot-remote-codec.ts +66 -65
  455. package/src/runtime/spots/spot-remote-route-codec.ts +61 -41
  456. package/src/runtime/spots/spot-route-packet-dispatch.ts +128 -95
  457. package/src/runtime/spots/spot-route-replies.ts +23 -24
  458. package/src/runtime/spots/spot-route-reply-wire.ts +3 -2
  459. package/src/runtime/spots/spot-routed-actor-admission.ts +37 -27
  460. package/src/runtime/spots/spot-routed-bound-session-dispatch.ts +11 -17
  461. package/src/runtime/spots/spot-routed-frame-dispatch.ts +18 -15
  462. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +35 -26
  463. package/src/runtime/spots/spot-routing-internal.ts +1 -4
  464. package/src/runtime/spots/spot-runtime-ports.ts +5 -5
  465. package/src/runtime/spots/spot-serial-executor.ts +5 -9
  466. package/src/runtime/spots/spot-serial-turn-executor.ts +19 -26
  467. package/src/runtime/spots/spot-subscription-dispatch.ts +56 -46
  468. package/src/runtime/spots/spot-timer.ts +98 -91
  469. package/src/runtime/streams/actor-session-binding-registry.ts +277 -235
  470. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +7 -4
  471. package/src/runtime/streams/actor-session-lifecycle-coordinator.ts +3 -1
  472. package/src/runtime/streams/bound-actor-relay-sender.ts +53 -51
  473. package/src/runtime/streams/bound-session-response-target.ts +29 -8
  474. package/src/runtime/streams/bound-session-service.ts +39 -39
  475. package/src/runtime/streams/index.ts +176 -100
  476. package/src/runtime/streams/managed-stream.ts +98 -87
  477. package/src/runtime/streams/native-fallback-bound-session.ts +57 -52
  478. package/src/runtime/streams/protocol.ts +73 -43
  479. package/src/runtime/streams/session-actor-coordinator.ts +97 -89
  480. package/src/runtime/streams/session-calls.ts +2 -8
  481. package/src/runtime/streams/session-context.ts +66 -48
  482. package/src/runtime/streams/session-provider.ts +5 -7
  483. package/src/runtime/streams/session-serial-executor.ts +7 -6
  484. package/src/runtime/streams/stream-binding-runtime-ports.ts +79 -29
  485. package/src/runtime/streams/stream-frame-factory.ts +55 -38
  486. package/src/runtime/streams/stream-session-runtime.ts +268 -210
  487. package/src/runtime/workers/index.ts +68 -29
@@ -47,7 +47,9 @@ class ZLinkActorNativeJoinCoordinator {
47
47
  async joinSpot(actor, state, spotId, request, timeoutMs, signal, completionOperationId) {
48
48
  (0, abort_1.throwIfAborted)(signal);
49
49
  const node = this.node();
50
- const actorRef = state.nativeActorRef ?? (0, actor_native_lookup_1.lookupNativeActorRef)(node, actor.context.actorId) ?? node.createActor(actor.context.actorId);
50
+ const actorRef = state.nativeActorRef ??
51
+ (0, actor_native_lookup_1.lookupNativeActorRef)(node, actor.context.actorId) ??
52
+ node.createActor(actor.context.actorId);
51
53
  state.setNativeActorRef(actorRef);
52
54
  let target;
53
55
  target = await this.options.spotRouteResolver?.resolve(spotId, signal);
@@ -58,21 +60,24 @@ class ZLinkActorNativeJoinCoordinator {
58
60
  async joinEntrySpot(actor, state, nodeRid, request, timeoutMs, signal, completionOperationId) {
59
61
  (0, abort_1.throwIfAborted)(signal);
60
62
  const node = this.node();
61
- const actorRef = state.nativeActorRef ?? (0, actor_native_lookup_1.lookupNativeActorRef)(node, actor.context.actorId) ?? node.createActor(actor.context.actorId);
63
+ const actorRef = state.nativeActorRef ??
64
+ (0, actor_native_lookup_1.lookupNativeActorRef)(node, actor.context.actorId) ??
65
+ node.createActor(actor.context.actorId);
62
66
  state.setNativeActorRef(actorRef);
63
67
  const meshName = state.meshName ?? actor.context.meshName;
64
68
  const entrySpotId = this.options.entrySpotIdProvider?.(meshName);
65
69
  let resolvedTarget;
66
- resolvedTarget = entrySpotId === undefined
67
- ? undefined
68
- : await this.options.spotRouteResolver?.resolve(entrySpotId, signal);
70
+ resolvedTarget =
71
+ entrySpotId === undefined
72
+ ? undefined
73
+ : await this.options.spotRouteResolver?.resolve(entrySpotId, signal);
69
74
  // The caller may carry the Entry node from the previous membership.
70
75
  // Entry placement can change while the Actor is in a User Spot, so the
71
76
  // current authority route is the source of truth whenever it is available.
72
- const selectedNodeRid = resolvedTarget?.targetNodeRid
73
- ?? nodeRid
74
- ?? state.entryNodeRid
75
- ?? (0, actor_runtime_state_1.toFrameworkRoutingId)(node.status().routingId);
77
+ const selectedNodeRid = resolvedTarget?.targetNodeRid ??
78
+ nodeRid ??
79
+ state.entryNodeRid ??
80
+ (0, actor_runtime_state_1.toFrameworkRoutingId)(node.status().routingId);
76
81
  const target = resolvedTarget;
77
82
  const result = await this.localJoin.joinEntrySpot(node, actor, state, actorRef, selectedNodeRid, target, request, timeoutMs ?? this.options.actorTransferTimeoutMs, signal, completionOperationId);
78
83
  return this.withDeferredJoinFinalizer(actor, state, target, result, completionOperationId);
@@ -94,18 +99,16 @@ class ZLinkActorNativeJoinCoordinator {
94
99
  };
95
100
  }
96
101
  node() {
97
- return typeof this.options.node === 'function'
98
- ? this.options.node()
99
- : this.options.node;
102
+ return typeof this.options.node === 'function' ? this.options.node() : this.options.node;
100
103
  }
101
104
  }
102
105
  exports.ZLinkActorNativeJoinCoordinator = ZLinkActorNativeJoinCoordinator;
103
106
  function installResolvedSpotRoute(node, target) {
104
- if (target?.targetSpotGeneration === undefined
105
- || target.targetNodeGeneration === undefined
106
- || target.authorityOwnerGeneration === undefined
107
- || target.ownerLeaseGeneration === undefined
108
- || target.authorityStoreVersion === undefined) {
107
+ if (target?.targetSpotGeneration === undefined ||
108
+ target.targetNodeGeneration === undefined ||
109
+ target.authorityOwnerGeneration === undefined ||
110
+ target.ownerLeaseGeneration === undefined ||
111
+ target.authorityStoreVersion === undefined) {
109
112
  return;
110
113
  }
111
114
  node.rememberSpotRoute?.({
@@ -19,13 +19,12 @@ function decodeRemoteActorSourceLeaveTerminal(payload) {
19
19
  catch {
20
20
  return undefined;
21
21
  }
22
- if (typeof decoded !== 'object'
23
- || decoded === null
24
- || decoded.packetName
25
- !== exports.ZLINK_REMOTE_ACTOR_SOURCE_LEAVE_TERMINAL
26
- || typeof decoded.transferId !== 'string'
27
- || typeof decoded.actorId !== 'string'
28
- || typeof decoded.succeeded !== 'boolean') {
22
+ if (typeof decoded !== 'object' ||
23
+ decoded === null ||
24
+ decoded.packetName !== exports.ZLINK_REMOTE_ACTOR_SOURCE_LEAVE_TERMINAL ||
25
+ typeof decoded.transferId !== 'string' ||
26
+ typeof decoded.actorId !== 'string' ||
27
+ typeof decoded.succeeded !== 'boolean') {
29
28
  return undefined;
30
29
  }
31
30
  return decoded;
@@ -15,12 +15,12 @@ const actor_native_lookup_1 = require("./actor-native-lookup");
15
15
  * service-wire relocation identity until command 44 releases the owner seal.
16
16
  */
17
17
  function mergeRemoteBoundSessionTarget(target, fallback) {
18
- if (fallback === undefined
19
- || fallback.routerChannelId !== target.routerChannelId
20
- || !(0, routing_id_1.routingIdsEqual)(fallback.targetNodeRid, target.targetNodeRid)
21
- || (!(0, routing_id_1.routingIdsEqual)(fallback.spotId, target.spotId)
22
- && !samePhysicalRemoteSession(fallback, target))
23
- || isSuccessorSessionBinding(fallback, target)) {
18
+ if (fallback === undefined ||
19
+ fallback.routerChannelId !== target.routerChannelId ||
20
+ !(0, routing_id_1.routingIdsEqual)(fallback.targetNodeRid, target.targetNodeRid) ||
21
+ (!(0, routing_id_1.routingIdsEqual)(fallback.spotId, target.spotId) &&
22
+ !samePhysicalRemoteSession(fallback, target)) ||
23
+ isSuccessorSessionBinding(fallback, target)) {
24
24
  return target;
25
25
  }
26
26
  const merged = {
@@ -58,51 +58,55 @@ function mergeRemoteBoundSessionTarget(target, fallback) {
58
58
  * session report for the STOP writeup.
59
59
  */
60
60
  function isSuccessorSessionBinding(fallback, target) {
61
- return (fallback.sessionNodeRid !== undefined
62
- && target.sessionNodeRid !== undefined
63
- && !(0, routing_id_1.routingIdsEqual)(fallback.sessionNodeRid, target.sessionNodeRid)) || (fallback.sessionRid !== undefined
64
- && target.sessionRid !== undefined
65
- && !(0, routing_id_1.routingIdsEqual)(fallback.sessionRid, target.sessionRid)) || (fallback.sessionOwnerNodeGeneration !== undefined
66
- && target.sessionOwnerNodeGeneration !== undefined
67
- && fallback.sessionOwnerNodeGeneration !== target.sessionOwnerNodeGeneration) || (fallback.sessionOwnerId !== undefined
68
- && target.sessionOwnerId !== undefined
69
- && fallback.sessionOwnerId !== target.sessionOwnerId) || (fallback.sessionOwnerLeaseGeneration !== undefined
70
- && target.sessionOwnerLeaseGeneration !== undefined
71
- && fallback.sessionOwnerLeaseGeneration !== target.sessionOwnerLeaseGeneration);
61
+ return ((fallback.sessionNodeRid !== undefined &&
62
+ target.sessionNodeRid !== undefined &&
63
+ !(0, routing_id_1.routingIdsEqual)(fallback.sessionNodeRid, target.sessionNodeRid)) ||
64
+ (fallback.sessionRid !== undefined &&
65
+ target.sessionRid !== undefined &&
66
+ !(0, routing_id_1.routingIdsEqual)(fallback.sessionRid, target.sessionRid)) ||
67
+ (fallback.sessionOwnerNodeGeneration !== undefined &&
68
+ target.sessionOwnerNodeGeneration !== undefined &&
69
+ fallback.sessionOwnerNodeGeneration !== target.sessionOwnerNodeGeneration) ||
70
+ (fallback.sessionOwnerId !== undefined &&
71
+ target.sessionOwnerId !== undefined &&
72
+ fallback.sessionOwnerId !== target.sessionOwnerId) ||
73
+ (fallback.sessionOwnerLeaseGeneration !== undefined &&
74
+ target.sessionOwnerLeaseGeneration !== undefined &&
75
+ fallback.sessionOwnerLeaseGeneration !== target.sessionOwnerLeaseGeneration));
72
76
  }
73
77
  function samePhysicalRemoteSession(left, right) {
74
- return left.sessionNodeRid !== undefined
75
- && right.sessionNodeRid !== undefined
76
- && left.sessionRid !== undefined
77
- && right.sessionRid !== undefined
78
- && (0, routing_id_1.routingIdsEqual)(left.sessionNodeRid, right.sessionNodeRid)
79
- && (0, routing_id_1.routingIdsEqual)(left.sessionRid, right.sessionRid);
78
+ return (left.sessionNodeRid !== undefined &&
79
+ right.sessionNodeRid !== undefined &&
80
+ left.sessionRid !== undefined &&
81
+ right.sessionRid !== undefined &&
82
+ (0, routing_id_1.routingIdsEqual)(left.sessionNodeRid, right.sessionNodeRid) &&
83
+ (0, routing_id_1.routingIdsEqual)(left.sessionRid, right.sessionRid));
80
84
  }
81
85
  function sameRemoteSessionOwnerLifecycle(left, right) {
82
- return left.sessionNodeRid !== undefined
83
- && right.sessionNodeRid !== undefined
84
- && left.sessionOwnerNodeGeneration !== undefined
85
- && right.sessionOwnerNodeGeneration !== undefined
86
- && left.sessionOwnerId !== undefined
87
- && right.sessionOwnerId !== undefined
88
- && left.sessionOwnerLeaseGeneration !== undefined
89
- && right.sessionOwnerLeaseGeneration !== undefined
90
- && (0, routing_id_1.routingIdsEqual)(left.sessionNodeRid, right.sessionNodeRid)
91
- && left.sessionOwnerNodeGeneration === right.sessionOwnerNodeGeneration
92
- && left.sessionOwnerId === right.sessionOwnerId
93
- && left.sessionOwnerLeaseGeneration === right.sessionOwnerLeaseGeneration;
86
+ return (left.sessionNodeRid !== undefined &&
87
+ right.sessionNodeRid !== undefined &&
88
+ left.sessionOwnerNodeGeneration !== undefined &&
89
+ right.sessionOwnerNodeGeneration !== undefined &&
90
+ left.sessionOwnerId !== undefined &&
91
+ right.sessionOwnerId !== undefined &&
92
+ left.sessionOwnerLeaseGeneration !== undefined &&
93
+ right.sessionOwnerLeaseGeneration !== undefined &&
94
+ (0, routing_id_1.routingIdsEqual)(left.sessionNodeRid, right.sessionNodeRid) &&
95
+ left.sessionOwnerNodeGeneration === right.sessionOwnerNodeGeneration &&
96
+ left.sessionOwnerId === right.sessionOwnerId &&
97
+ left.sessionOwnerLeaseGeneration === right.sessionOwnerLeaseGeneration);
94
98
  }
95
99
  function sameRemoteSessionOwner(left, right) {
96
- return left.sessionRid !== undefined
97
- && right.sessionRid !== undefined
98
- && (0, routing_id_1.routingIdsEqual)(left.sessionRid, right.sessionRid)
99
- && sameRemoteSessionOwnerLifecycle(left, right);
100
+ return (left.sessionRid !== undefined &&
101
+ right.sessionRid !== undefined &&
102
+ (0, routing_id_1.routingIdsEqual)(left.sessionRid, right.sessionRid) &&
103
+ sameRemoteSessionOwnerLifecycle(left, right));
100
104
  }
101
105
  function sameRemoteSessionBinding(left, right) {
102
- return sameRemoteSessionOwner(left, right)
103
- && left.bindingGeneration !== undefined
104
- && right.bindingGeneration !== undefined
105
- && left.bindingGeneration === right.bindingGeneration;
106
+ return (sameRemoteSessionOwner(left, right) &&
107
+ left.bindingGeneration !== undefined &&
108
+ right.bindingGeneration !== undefined &&
109
+ left.bindingGeneration === right.bindingGeneration);
106
110
  }
107
111
  /**
108
112
  * Selects the route that still carries the relocation fence when a Core
@@ -116,8 +120,7 @@ function preferredRemoteBoundSessionTarget(remote, transfer) {
116
120
  return transfer;
117
121
  }
118
122
  function hasRelocationFence(target) {
119
- return target.relocationSealId !== undefined
120
- || target.serviceWireRelocation !== undefined;
123
+ return target.relocationSealId !== undefined || target.serviceWireRelocation !== undefined;
121
124
  }
122
125
  class ZLinkActorRuntimeState {
123
126
  actorId;
@@ -251,7 +254,8 @@ class ZLinkActorRuntimeState {
251
254
  return this.destroyTask;
252
255
  }
253
256
  const actorRef = this.nativeActorRefValue;
254
- if (actorRef !== undefined && !(0, routing_id_1.routingIdsEqual)(toFrameworkRoutingId(actorRef.nodeRid), entryNodeRid)) {
257
+ if (actorRef !== undefined &&
258
+ !(0, routing_id_1.routingIdsEqual)(toFrameworkRoutingId(actorRef.nodeRid), entryNodeRid)) {
255
259
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorRouteNotFound, `Actor '${this.actorId}' is not owned by this Entry Spot.`);
256
260
  }
257
261
  const task = Promise.resolve().then(() => destroy(actorRef));
@@ -325,7 +329,8 @@ class ZLinkActorRuntimeState {
325
329
  ensureNativeActorRef(node, request) {
326
330
  if (this.nativeActorRefValue === undefined) {
327
331
  const existing = (0, actor_native_lookup_1.lookupNativeActorRef)(node, this.actorId);
328
- const native = existing ?? node.createActor(this.actorId, request === undefined ? undefined : Buffer.from(request.data()));
332
+ const native = existing ??
333
+ node.createActor(this.actorId, request === undefined ? undefined : Buffer.from(request.data()));
329
334
  this.nativeActorRefValue = {
330
335
  nodeRid: native.nodeRid,
331
336
  actorId: native.actorId,
@@ -358,12 +363,12 @@ class ZLinkActorRuntimeState {
358
363
  }
359
364
  /** @internal Installs one authority-confirmed binding inside its Actor owner turn. */
360
365
  installBoundSessionBinding(target) {
361
- if (target.sessionNodeRid === undefined
362
- || target.sessionRid === undefined
363
- || target.sessionOwnerNodeGeneration === undefined
364
- || target.sessionOwnerId === undefined
365
- || target.sessionOwnerLeaseGeneration === undefined
366
- || target.bindingGeneration === undefined) {
366
+ if (target.sessionNodeRid === undefined ||
367
+ target.sessionRid === undefined ||
368
+ target.sessionOwnerNodeGeneration === undefined ||
369
+ target.sessionOwnerId === undefined ||
370
+ target.sessionOwnerLeaseGeneration === undefined ||
371
+ target.bindingGeneration === undefined) {
367
372
  throw new TypeError('An installed bound Session target requires its complete binding identity.');
368
373
  }
369
374
  const current = preferredRemoteBoundSessionTarget(this.remoteBoundSessionTargetValue, this.boundSessionTransferTargetValue);
@@ -373,8 +378,8 @@ class ZLinkActorRuntimeState {
373
378
  // lifecycle's generation; a late equal/lower generation is stale.
374
379
  if (sameRemoteSessionOwner(current, target))
375
380
  return true;
376
- if (current.bindingGeneration !== undefined
377
- && current.bindingGeneration >= target.bindingGeneration)
381
+ if (current.bindingGeneration !== undefined &&
382
+ current.bindingGeneration >= target.bindingGeneration)
378
383
  return false;
379
384
  }
380
385
  const installed = mergeRemoteBoundSessionTarget(target, current);
@@ -390,27 +395,28 @@ class ZLinkActorRuntimeState {
390
395
  }
391
396
  /** @internal Removes only the exact authority-confirmed Session incarnation. */
392
397
  retireBoundSessionBinding(target) {
393
- if (target.sessionNodeRid === undefined
394
- || target.sessionRid === undefined
395
- || target.sessionOwnerNodeGeneration === undefined
396
- || target.sessionOwnerId === undefined
397
- || target.sessionOwnerLeaseGeneration === undefined
398
- || target.bindingGeneration === undefined) {
398
+ if (target.sessionNodeRid === undefined ||
399
+ target.sessionRid === undefined ||
400
+ target.sessionOwnerNodeGeneration === undefined ||
401
+ target.sessionOwnerId === undefined ||
402
+ target.sessionOwnerLeaseGeneration === undefined ||
403
+ target.bindingGeneration === undefined) {
399
404
  throw new TypeError('A retired bound Session target requires its complete binding identity.');
400
405
  }
401
406
  let retired = false;
402
- if (this.remoteBoundSessionTargetValue !== undefined
403
- && sameRemoteSessionBinding(this.remoteBoundSessionTargetValue, target)) {
407
+ if (this.remoteBoundSessionTargetValue !== undefined &&
408
+ sameRemoteSessionBinding(this.remoteBoundSessionTargetValue, target)) {
404
409
  this.remoteBoundSessionTargetValue = undefined;
405
410
  retired = true;
406
411
  }
407
- if (this.boundSessionTransferTargetValue !== undefined
408
- && sameRemoteSessionBinding(this.boundSessionTransferTargetValue, target)) {
412
+ if (this.boundSessionTransferTargetValue !== undefined &&
413
+ sameRemoteSessionBinding(this.boundSessionTransferTargetValue, target)) {
409
414
  this.boundSessionTransferTargetValue = undefined;
410
415
  retired = true;
411
416
  }
412
417
  if (retired) {
413
- this.boundSessionBindingGenerationValue = preferredRemoteBoundSessionTarget(this.remoteBoundSessionTargetValue, this.boundSessionTransferTargetValue)?.bindingGeneration ?? 0n;
418
+ this.boundSessionBindingGenerationValue =
419
+ preferredRemoteBoundSessionTarget(this.remoteBoundSessionTargetValue, this.boundSessionTransferTargetValue)?.bindingGeneration ?? 0n;
414
420
  }
415
421
  return retired;
416
422
  }
@@ -419,26 +425,26 @@ class ZLinkActorRuntimeState {
419
425
  }
420
426
  setRemoteBoundSessionTarget(target) {
421
427
  const current = preferredRemoteBoundSessionTarget(this.remoteBoundSessionTargetValue, this.boundSessionTransferTargetValue);
422
- const merged = target === undefined
423
- ? undefined
424
- : mergeRemoteBoundSessionTarget(target, current);
428
+ const merged = target === undefined ? undefined : mergeRemoteBoundSessionTarget(target, current);
425
429
  const bindingGeneration = maxBindingGeneration(merged?.bindingGeneration, this.remoteBoundSessionTargetValue?.bindingGeneration, this.boundSessionBindingGenerationValue);
426
- this.remoteBoundSessionTargetValue = merged === undefined
427
- ? undefined
428
- : bindingGeneration === undefined
429
- ? merged
430
- : { ...merged, bindingGeneration };
430
+ this.remoteBoundSessionTargetValue =
431
+ merged === undefined
432
+ ? undefined
433
+ : bindingGeneration === undefined
434
+ ? merged
435
+ : { ...merged, bindingGeneration };
431
436
  }
432
437
  setBoundSessionTransferTarget(target) {
433
438
  const merged = target === undefined
434
439
  ? undefined
435
440
  : mergeRemoteBoundSessionTarget(target, this.boundSessionTransferTargetValue);
436
441
  const bindingGeneration = maxBindingGeneration(merged?.bindingGeneration, this.boundSessionTransferTargetValue?.bindingGeneration, this.boundSessionBindingGenerationValue);
437
- this.boundSessionTransferTargetValue = merged === undefined
438
- ? undefined
439
- : bindingGeneration === undefined
440
- ? merged
441
- : { ...merged, bindingGeneration };
442
+ this.boundSessionTransferTargetValue =
443
+ merged === undefined
444
+ ? undefined
445
+ : bindingGeneration === undefined
446
+ ? merged
447
+ : { ...merged, bindingGeneration };
442
448
  }
443
449
  setRemoteActorPacketTarget(target) {
444
450
  this.remoteActorPacketTargetValue = target;
@@ -487,8 +493,8 @@ class ZLinkActorRuntimeState {
487
493
  prepareForRemoteReentry() {
488
494
  if (this.remoteActorPacketTargetValue === undefined)
489
495
  return;
490
- const relocationTransferTarget = this.boundSessionTransferTargetValue !== undefined
491
- && hasRelocationFence(this.boundSessionTransferTargetValue)
496
+ const relocationTransferTarget = this.boundSessionTransferTargetValue !== undefined &&
497
+ hasRelocationFence(this.boundSessionTransferTargetValue)
492
498
  ? this.boundSessionTransferTargetValue
493
499
  : undefined;
494
500
  this.creationTask = undefined;
@@ -25,13 +25,11 @@ class ZLinkActorTransferRegistry {
25
25
  }
26
26
  async transferOut(actor, actorType, signal) {
27
27
  (0, abort_1.throwIfAborted)(signal);
28
- const adapterType = actorType === undefined
29
- ? undefined
30
- : this.byKey.get(actorType);
28
+ const adapterType = actorType === undefined ? undefined : this.byKey.get(actorType);
31
29
  if (adapterType === undefined) {
32
30
  return { state: emptyTransferState(this.messageSerializers) };
33
31
  }
34
- const adapter = await this.createAdapter(adapterType);
32
+ const adapter = (await this.createAdapter(adapterType));
35
33
  const state = await adapter.capture(actor, signal ?? new AbortController().signal);
36
34
  if (!(state instanceof Uint8Array)) {
37
35
  throw new Error(`Actor relocation adapter '${adapterType.name}' returned invalid state bytes.`);
@@ -50,7 +48,7 @@ class ZLinkActorTransferRegistry {
50
48
  if (adapterType === undefined) {
51
49
  throw new Error(`Actor relocation adapter for stable type '${adapterKey}' is not registered on the target node.`);
52
50
  }
53
- const adapter = await this.createAdapter(adapterType);
51
+ const adapter = (await this.createAdapter(adapterType));
54
52
  await adapter.restore(actor, state.toEncodedPayload().toBytes(), signal ?? new AbortController().signal);
55
53
  }
56
54
  async createAdapter(adapterType) {
@@ -32,10 +32,10 @@ function isRemoteBoundSessionFenceError(error) {
32
32
  if (error.code === exports.ZLINK_REMOTE_BOUND_SESSION_FENCE_NACK_CODE)
33
33
  return true;
34
34
  // Fallback for transports that only surface the session owner's message.
35
- return error.message.includes('did not match its command 42 Session seal')
36
- || error.message.includes('released Session seal cannot publish a different route')
37
- || error.message.includes('was fenced by its binding identity')
38
- || error.message.includes('session route seal abort was fenced');
35
+ return (error.message.includes('did not match its command 42 Session seal') ||
36
+ error.message.includes('released Session seal cannot publish a different route') ||
37
+ error.message.includes('was fenced by its binding identity') ||
38
+ error.message.includes('session route seal abort was fenced'));
39
39
  }
40
40
  /** Encodes a request/reply nack for the command 42/44/45 packet family. */
41
41
  function encodeRemoteBoundSessionNack(error) {
@@ -117,11 +117,16 @@ function optionalFlowOrigin(payload) {
117
117
  // internal wire deployed atomically with this repository, so the decoder
118
118
  // accepts only the spec spelling.
119
119
  switch (payload.flowOrigin) {
120
- case 'inbound': return 'Inbound';
121
- case 'timer': return 'Timer';
122
- case 'application': return 'Application';
123
- case 'lifecycle': return 'Lifecycle';
124
- default: return undefined;
120
+ case 'inbound':
121
+ return 'Inbound';
122
+ case 'timer':
123
+ return 'Timer';
124
+ case 'application':
125
+ return 'Application';
126
+ case 'lifecycle':
127
+ return 'Lifecycle';
128
+ default:
129
+ return undefined;
125
130
  }
126
131
  }
127
132
  function decodeRemoteBoundSessionResponsePayload(payload) {