@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
@@ -46,10 +46,13 @@ export interface ZLinkActorSessionBindingRuntimeOwner {
46
46
  applyFingerprint: string
47
47
  ): Promise<void>;
48
48
  clearRelocation(actorId: string, error: unknown): Promise<void>;
49
- committedRoute(actorId: string): Promise<{
50
- readonly actor: ActorRef;
51
- readonly authorityFence?: ZLinkActorSessionAuthorityFence;
52
- } | undefined>;
49
+ committedRoute(actorId: string): Promise<
50
+ | {
51
+ readonly actor: ActorRef;
52
+ readonly authorityFence?: ZLinkActorSessionAuthorityFence;
53
+ }
54
+ | undefined
55
+ >;
53
56
  }
54
57
 
55
58
  const owners = new WeakMap<object, ZLinkActorSessionBindingRuntimeOwner>();
@@ -4,7 +4,9 @@ export class ZLinkActorSessionLifecycleCoordinator {
4
4
  async run<T>(actorId: string, operation: () => Promise<T>): Promise<T> {
5
5
  const previous = this.tails.get(actorId) ?? Promise.resolve();
6
6
  let release!: () => void;
7
- const current = new Promise<void>((resolve) => { release = resolve; });
7
+ const current = new Promise<void>((resolve) => {
8
+ release = resolve;
9
+ });
8
10
  const tail = previous.catch(() => undefined).then(() => current);
9
11
  this.tails.set(actorId, tail);
10
12
  await previous.catch(() => undefined);
@@ -1,12 +1,5 @@
1
- import type {
2
- ZLinkMessage,
3
- ZLinkMessageSerializer,
4
- ZLinkSessionActor
5
- } from '../../contracts';
6
- import {
7
- ZLinkSubmitStatus,
8
- type ZLinkSubmitResult
9
- } from '../messaging/submission-result';
1
+ import type { ZLinkMessage, ZLinkMessageSerializer, ZLinkSessionActor } from '../../contracts';
2
+ import { ZLinkSubmitStatus, type ZLinkSubmitResult } from '../messaging/submission-result';
10
3
  import type { Message } from '../../contracts/Common/Message';
11
4
  import { encodeFrameworkPayloadMessage } from '../messaging/payload-codec';
12
5
  import {
@@ -17,29 +10,30 @@ import {
17
10
  } from './protocol';
18
11
  import { throwIfAborted } from '../abort';
19
12
  import { captureZLinkExecutionTurn } from '../execution';
20
- import {
21
- ZLinkActorSessionBindingRegistry
22
- } from './actor-session-binding-registry';
13
+ import { ZLinkActorSessionBindingRegistry } from './actor-session-binding-registry';
23
14
  import { ZLinkActorSessionLifecycleCoordinator } from './actor-session-lifecycle-coordinator';
24
15
  import { ZLinkManagedStream } from './managed-stream';
25
- import {
26
- DefaultZLinkSessionActor,
27
- DefaultZLinkSessionContext
28
- } from './session-context';
29
- import {
30
- ZLinkStreamFrameMessageFactory
31
- } from './stream-frame-factory';
16
+ import { DefaultZLinkSessionActor, DefaultZLinkSessionContext } from './session-context';
17
+ import { ZLinkStreamFrameMessageFactory } from './stream-frame-factory';
32
18
 
33
19
  export interface ZLinkBoundActorRelaySenderOptions {
34
20
  readonly actorBindTimeoutMs?: number;
35
21
  readonly messageSerializers?: ReadonlyMap<string, ZLinkMessageSerializer>;
36
- readonly relay?: (actor: ZLinkSessionActor, header: ZLinkStreamFrameHeader, payload: Message, signal?: AbortSignal) => Promise<boolean>;
22
+ readonly relay?: (
23
+ actor: ZLinkSessionActor,
24
+ header: ZLinkStreamFrameHeader,
25
+ payload: Message,
26
+ signal?: AbortSignal
27
+ ) => Promise<boolean>;
37
28
  readonly notifyDisconnected?: (actor: ZLinkSessionActor, signal?: AbortSignal) => Promise<void>;
38
29
  }
39
30
 
40
31
  export class ZLinkBoundActorRelaySender {
41
32
  constructor(
42
- private readonly routes: ZLinkActorSessionBindingRegistry<DefaultZLinkSessionContext, DefaultZLinkSessionActor>,
33
+ private readonly routes: ZLinkActorSessionBindingRegistry<
34
+ DefaultZLinkSessionContext,
35
+ DefaultZLinkSessionActor
36
+ >,
43
37
  private readonly frameMessages: ZLinkStreamFrameMessageFactory,
44
38
  private readonly options: ZLinkBoundActorRelaySenderOptions = {},
45
39
  private readonly lifecycle = new ZLinkActorSessionLifecycleCoordinator()
@@ -51,13 +45,11 @@ export class ZLinkBoundActorRelaySender {
51
45
  signal?: AbortSignal,
52
46
  dispatchHeader?: ZLinkStreamFrameHeader
53
47
  ): Promise<ZLinkSubmitResult> {
54
- const header = dispatchHeader === undefined
55
- ? await this.currentHeader(actor)
56
- : await this.requireDispatchHeader(actor, dispatchHeader);
57
- if (
58
- header.kind === ZLinkStreamMessageKind.Request
59
- && header.requestSeq !== undefined
60
- ) {
48
+ const header =
49
+ dispatchHeader === undefined
50
+ ? await this.currentHeader(actor)
51
+ : await this.requireDispatchHeader(actor, dispatchHeader);
52
+ if (header.kind === ZLinkStreamMessageKind.Request && header.requestSeq !== undefined) {
61
53
  const operation = async (): Promise<ZLinkSubmitResult> => {
62
54
  const admission = await this.routes.beginAcceptedRequestFrameWhenReady(
63
55
  actor.actorId,
@@ -70,13 +62,16 @@ export class ZLinkBoundActorRelaySender {
70
62
  await admission.complete();
71
63
  }
72
64
  };
73
- if (await this.routes.isSealed(actor.actorId) && captureZLinkExecutionTurn() !== undefined) {
65
+ if (
66
+ (await this.routes.isSealed(actor.actorId)) &&
67
+ captureZLinkExecutionTurn() !== undefined
68
+ ) {
74
69
  void operation().catch(() => undefined);
75
70
  return { status: ZLinkSubmitStatus.Submitted };
76
71
  }
77
72
  return await operation();
78
73
  }
79
- if (await this.routes.isSealed(actor.actorId) && captureZLinkExecutionTurn() !== undefined) {
74
+ if ((await this.routes.isSealed(actor.actorId)) && captureZLinkExecutionTurn() !== undefined) {
80
75
  // Spec 32:62 — a Send completes once the source outbound queue
81
76
  // accepts it; spec 05 — infrastructure send progress must not depend
82
77
  // on the application turn. When the CALLER IS an application turn
@@ -89,12 +84,14 @@ export class ZLinkBoundActorRelaySender {
89
84
  // Non-turn callers (stream ingress relays) keep the waiting
90
85
  // semantics so a held frame across a failed rebind still
91
86
  // terminalizes to the caller.
92
- void this.routes.runAcceptedFrameWhenReady(
93
- actor.actorId,
94
- actor.bindingToken,
95
- () => this.relayAcceptedFrame(actor, payload, signal),
96
- signal
97
- ).catch(() => undefined);
87
+ void this.routes
88
+ .runAcceptedFrameWhenReady(
89
+ actor.actorId,
90
+ actor.bindingToken,
91
+ () => this.relayAcceptedFrame(actor, payload, signal),
92
+ signal
93
+ )
94
+ .catch(() => undefined);
98
95
  return { status: ZLinkSubmitStatus.Submitted };
99
96
  }
100
97
  return this.routes.runAcceptedFrameWhenReady(
@@ -112,7 +109,7 @@ export class ZLinkBoundActorRelaySender {
112
109
  header?: ZLinkStreamFrameHeader,
113
110
  requestAdmission?: { beginSubmission(signal?: AbortSignal): Promise<void> | undefined }
114
111
  ): Promise<ZLinkSubmitResult> {
115
- const activeHeader = header ?? await this.currentHeader(actor);
112
+ const activeHeader = header ?? (await this.currentHeader(actor));
116
113
  const started = await this.lifecycle.run(actor.actorId, async () => {
117
114
  const completion = this.relayInsideLifecycle(
118
115
  actor,
@@ -122,8 +119,8 @@ export class ZLinkBoundActorRelaySender {
122
119
  requestAdmission
123
120
  );
124
121
  if (
125
- activeHeader.kind === ZLinkStreamMessageKind.Request
126
- && activeHeader.requestSeq !== undefined
122
+ activeHeader.kind === ZLinkStreamMessageKind.Request &&
123
+ activeHeader.requestSeq !== undefined
127
124
  ) {
128
125
  // A routed REQUEST only needs this lane while its ordered submission
129
126
  // is started. Its admission acknowledgement can depend on relocation
@@ -167,7 +164,7 @@ export class ZLinkBoundActorRelaySender {
167
164
  currentHeader?: ZLinkStreamFrameHeader,
168
165
  requestAdmission?: { beginSubmission(signal?: AbortSignal): Promise<void> | undefined }
169
166
  ): Promise<ZLinkSubmitResult> {
170
- const header = currentHeader ?? await this.currentHeader(actor);
167
+ const header = currentHeader ?? (await this.currentHeader(actor));
171
168
  const held = requestAdmission?.beginSubmission(signal);
172
169
  if (held !== undefined) await held;
173
170
  throwIfAborted(signal);
@@ -184,7 +181,9 @@ export class ZLinkBoundActorRelaySender {
184
181
  return { status: ZLinkSubmitStatus.TargetNotFound };
185
182
  }
186
183
  const headerMessage = this.frameMessages.createBinaryMessage(encodeStreamHeader(header));
187
- const framePayloadMessage = this.frameMessages.createBinaryMessage(messageToBytes(payloadMessage));
184
+ const framePayloadMessage = this.frameMessages.createBinaryMessage(
185
+ messageToBytes(payloadMessage)
186
+ );
188
187
  try {
189
188
  return await route.context.stream.submitBoundActor(
190
189
  actor.actorId,
@@ -216,9 +215,9 @@ export class ZLinkBoundActorRelaySender {
216
215
  return route;
217
216
  });
218
217
  if (
219
- unbindNative
220
- && detached.bindingToken === actor.bindingToken
221
- && detached.context.stream instanceof ZLinkManagedStream
218
+ unbindNative &&
219
+ detached.bindingToken === actor.bindingToken &&
220
+ detached.context.stream instanceof ZLinkManagedStream
222
221
  ) {
223
222
  await detached.context.stream.unbindActor(
224
223
  actor.actorId,
@@ -237,10 +236,10 @@ export class ZLinkBoundActorRelaySender {
237
236
  const detached = await this.lifecycle.run(actor.actorId, async () => {
238
237
  const route = await this.routes.route(actor.actorId);
239
238
  if (
240
- route === undefined
241
- || route.context !== context
242
- || route.actor !== actor
243
- || route.bindingToken !== actor.bindingToken
239
+ route === undefined ||
240
+ route.context !== context ||
241
+ route.actor !== actor ||
242
+ route.bindingToken !== actor.bindingToken
244
243
  ) {
245
244
  return false;
246
245
  }
@@ -259,9 +258,12 @@ export class ZLinkBoundActorRelaySender {
259
258
  new Promise<never>((_, reject) => {
260
259
  controller.signal.addEventListener(
261
260
  'abort',
262
- () => reject(new Error(
263
- `Actor '${actor.actorId}' disconnect notification exceeded ${timeoutMs} ms.`
264
- )),
261
+ () =>
262
+ reject(
263
+ new Error(
264
+ `Actor '${actor.actorId}' disconnect notification exceeded ${timeoutMs} ms.`
265
+ )
266
+ ),
265
267
  { once: true }
266
268
  );
267
269
  })
@@ -1,8 +1,5 @@
1
1
  import type { Message } from '../../contracts/Common/Message';
2
- import {
3
- ZLinkSubmitStatus,
4
- type ZLinkSubmitResult
5
- } from '../messaging/submission-result';
2
+ import { ZLinkSubmitStatus, type ZLinkSubmitResult } from '../messaging/submission-result';
6
3
  import { ZLinkStreamMessageKind } from './protocol';
7
4
  import type { ZLinkStreamFrameMessageFactory } from './stream-frame-factory';
8
5
 
@@ -40,7 +37,14 @@ export class DefaultZLinkBoundSessionResponseTarget implements ZLinkBoundSession
40
37
  message: unknown,
41
38
  metadata: ReadonlyMap<string, string>
42
39
  ): Promise<boolean> {
43
- return this.send(ZLinkStreamMessageKind.Response, packetName, requestSeq, message, metadata, 'response');
40
+ return this.send(
41
+ ZLinkStreamMessageKind.Response,
42
+ packetName,
43
+ requestSeq,
44
+ message,
45
+ metadata,
46
+ 'response'
47
+ );
44
48
  }
45
49
 
46
50
  sendError(
@@ -49,7 +53,14 @@ export class DefaultZLinkBoundSessionResponseTarget implements ZLinkBoundSession
49
53
  error: unknown,
50
54
  metadata: ReadonlyMap<string, string>
51
55
  ): Promise<boolean> {
52
- return this.send(ZLinkStreamMessageKind.Error, packetName, requestSeq, boundSessionErrorPayload(error), metadata, 'error response');
56
+ return this.send(
57
+ ZLinkStreamMessageKind.Error,
58
+ packetName,
59
+ requestSeq,
60
+ boundSessionErrorPayload(error),
61
+ metadata,
62
+ 'error response'
63
+ );
53
64
  }
54
65
 
55
66
  private async send(
@@ -60,7 +71,14 @@ export class DefaultZLinkBoundSessionResponseTarget implements ZLinkBoundSession
60
71
  metadata: ReadonlyMap<string, string>,
61
72
  operationName: string
62
73
  ): Promise<boolean> {
63
- const frame = this.frameMessages.createJsonFrameMessage(kind, packetName, metadata, false, requestSeq, payload);
74
+ const frame = this.frameMessages.createJsonFrameMessage(
75
+ kind,
76
+ packetName,
77
+ metadata,
78
+ false,
79
+ requestSeq,
80
+ payload
81
+ );
64
82
  try {
65
83
  const result = await this.context.stream.submitRaw(frame);
66
84
  if (result.status !== ZLinkSubmitStatus.Submitted) {
@@ -73,7 +91,10 @@ export class DefaultZLinkBoundSessionResponseTarget implements ZLinkBoundSession
73
91
  }
74
92
  }
75
93
 
76
- export function boundSessionErrorPayload(error: unknown): { readonly code: string; readonly message: string } {
94
+ export function boundSessionErrorPayload(error: unknown): {
95
+ readonly code: string;
96
+ readonly message: string;
97
+ } {
77
98
  return {
78
99
  code: error instanceof Error ? error.constructor.name : 'RemoteError',
79
100
  message: errorMessage(error)
@@ -1,10 +1,10 @@
1
- import { ZLinkFrameworkInternalErrorKind, createInternalFrameworkException } from '../framework-errors-internal';
1
+ import {
2
+ ZLinkFrameworkInternalErrorKind,
3
+ createInternalFrameworkException
4
+ } from '../framework-errors-internal';
2
5
  import { ZLinkBufferMessage as ZLinkBindingMessage } from '../backend/runtime-message';
3
6
  import type { ActorRef } from '../../contracts';
4
- import {
5
- ZLinkSubmitStatus,
6
- type ZLinkSubmitResult
7
- } from '../messaging/submission-result';
7
+ import { ZLinkSubmitStatus, type ZLinkSubmitResult } from '../messaging/submission-result';
8
8
  import type { Message } from '../../contracts/Common/Message';
9
9
  import { throwIfAborted } from '../abort';
10
10
  import type {
@@ -23,26 +23,24 @@ import {
23
23
  ZLinkActorSessionBindingRegistry,
24
24
  type ZLinkActorSessionRoute
25
25
  } from './actor-session-binding-registry';
26
- import type {
27
- DefaultZLinkSessionActor,
28
- DefaultZLinkSessionContext
29
- } from './session-context';
30
- import {
31
- boundSessionErrorPayload
32
- } from './bound-session-response-target';
33
- import {
34
- ZLinkStreamFrameMessageFactory
35
- } from './stream-frame-factory';
36
- import {
37
- ZLinkManagedStream
38
- } from './managed-stream';
26
+ import type { DefaultZLinkSessionActor, DefaultZLinkSessionContext } from './session-context';
27
+ import { boundSessionErrorPayload } from './bound-session-response-target';
28
+ import { ZLinkStreamFrameMessageFactory } from './stream-frame-factory';
29
+ import { ZLinkManagedStream } from './managed-stream';
39
30
 
40
31
  const ZLINK_SEND_DONT_WAIT = 1;
41
32
 
42
- type ZLinkStreamActorSessionRoute = ZLinkActorSessionRoute<DefaultZLinkSessionContext, DefaultZLinkSessionActor>;
33
+ type ZLinkStreamActorSessionRoute = ZLinkActorSessionRoute<
34
+ DefaultZLinkSessionContext,
35
+ DefaultZLinkSessionActor
36
+ >;
43
37
 
44
38
  export interface ZLinkBoundSessionTransport {
45
- send(actorId: string, message: unknown, options: ZLinkBoundSessionSendOptions): Promise<ZLinkSubmitResult>;
39
+ send(
40
+ actorId: string,
41
+ message: unknown,
42
+ options: ZLinkBoundSessionSendOptions
43
+ ): Promise<ZLinkSubmitResult>;
46
44
  disconnect(actorId: string, options: ZLinkBoundSessionDisconnectOptions): Promise<void>;
47
45
  }
48
46
 
@@ -66,7 +64,10 @@ export interface ZLinkBoundSessionServiceOptions {
66
64
 
67
65
  export class ZLinkBoundSessionService {
68
66
  constructor(
69
- private readonly routes: ZLinkActorSessionBindingRegistry<DefaultZLinkSessionContext, DefaultZLinkSessionActor>,
67
+ private readonly routes: ZLinkActorSessionBindingRegistry<
68
+ DefaultZLinkSessionContext,
69
+ DefaultZLinkSessionActor
70
+ >,
70
71
  private readonly frameMessages: ZLinkStreamFrameMessageFactory,
71
72
  private readonly options: ZLinkBoundSessionServiceOptions
72
73
  ) {}
@@ -300,10 +301,7 @@ export class ZLinkBoundSessionService {
300
301
  }
301
302
  }
302
303
 
303
- async relayRemoteBoundSessionBind(
304
- stream: ZLinkManagedStream,
305
- actorRef: ActorRef
306
- ): Promise<void> {
304
+ async relayRemoteBoundSessionBind(stream: ZLinkManagedStream, actorRef: ActorRef): Promise<void> {
307
305
  const encodedBindHeader = encodeStreamHeader({
308
306
  kind: ZLinkStreamMessageKind.Send,
309
307
  codec: ZLinkStreamCodec.Raw,
@@ -312,14 +310,16 @@ export class ZLinkBoundSessionService {
312
310
  metadata: new Map()
313
311
  });
314
312
  // encodeStreamHeader returns a fresh, unaliased array; view it without re-copying.
315
- const header = ZLinkBindingMessage.fromOwned(Buffer.from(
316
- encodedBindHeader.buffer,
317
- encodedBindHeader.byteOffset,
318
- encodedBindHeader.byteLength
319
- ));
313
+ const header = ZLinkBindingMessage.fromOwned(
314
+ Buffer.from(
315
+ encodedBindHeader.buffer,
316
+ encodedBindHeader.byteOffset,
317
+ encodedBindHeader.byteLength
318
+ )
319
+ );
320
320
  const body = ZLinkBindingMessage.fromOwned(Buffer.alloc(0));
321
321
  try {
322
- if (!await stream.sendBoundActor(actorRef.actorId, [header, body], 0)) {
322
+ if (!(await stream.sendBoundActor(actorRef.actorId, [header, body], 0))) {
323
323
  throw createInternalFrameworkException(
324
324
  ZLinkFrameworkInternalErrorKind.ActorRouteNotFound,
325
325
  `Actor '${actorRef.actorId}' remote bound session bind relay failed.`
@@ -480,15 +480,15 @@ function boundSessionSendFence(
480
480
  readonly ownerLeaseGeneration?: bigint;
481
481
  readonly ownerNodeGeneration?: bigint;
482
482
  };
483
- const ownerNodeGeneration = internal.ownerNodeGeneration
484
- ?? node.actorNodeGeneration?.(backendActor);
483
+ const ownerNodeGeneration =
484
+ internal.ownerNodeGeneration ?? node.actorNodeGeneration?.(backendActor);
485
485
  if (
486
- internal.ownershipGeneration === undefined
487
- || internal.ownershipGeneration <= 0n
488
- || internal.ownerLeaseGeneration === undefined
489
- || internal.ownerLeaseGeneration <= 0n
490
- || ownerNodeGeneration === undefined
491
- || ownerNodeGeneration <= 0n
486
+ internal.ownershipGeneration === undefined ||
487
+ internal.ownershipGeneration <= 0n ||
488
+ internal.ownerLeaseGeneration === undefined ||
489
+ internal.ownerLeaseGeneration <= 0n ||
490
+ ownerNodeGeneration === undefined ||
491
+ ownerNodeGeneration <= 0n
492
492
  ) {
493
493
  return undefined;
494
494
  }