@zlink-systems/framework 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/ZLinkMessage.js +5 -5
  3. package/dist/contracts/Configuration/CodecContentType.js +5 -7
  4. package/dist/contracts/Configuration/DiagnosticsValidation.js +1 -6
  5. package/dist/contracts/Configuration/EndpointNotation.js +4 -8
  6. package/dist/contracts/Configuration/Registration.js +14 -11
  7. package/dist/contracts/Configuration/RegistrationBuilders.js +32 -25
  8. package/dist/contracts/Configuration/RegistrationNormalizers.js +25 -26
  9. package/dist/contracts/Configuration/RegistrationValidators.js +36 -38
  10. package/dist/contracts/Configuration/SendTimeoutValidation.js +4 -4
  11. package/dist/contracts/Configuration/TimerRegistrationValidator.js +7 -7
  12. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -0
  13. package/dist/contracts/Handlers/JsonContract.js +23 -11
  14. package/dist/contracts/Spots/SpotKind.js +16 -8
  15. package/dist/contracts/Streams/IZLinkSession.d.ts +2 -1
  16. package/dist/location-store-integration.js +16 -16
  17. package/dist/nest-integration.js +17 -11
  18. package/dist/runtime/abort.js +9 -5
  19. package/dist/runtime/actors/actor-authority-payload-codec.js +12 -16
  20. package/dist/runtime/actors/actor-authority-publication.js +18 -17
  21. package/dist/runtime/actors/actor-client.js +83 -63
  22. package/dist/runtime/actors/actor-context.js +28 -22
  23. package/dist/runtime/actors/actor-creation.js +4 -3
  24. package/dist/runtime/actors/actor-handoff.js +89 -92
  25. package/dist/runtime/actors/actor-join-deferred-scope.d.ts +0 -1
  26. package/dist/runtime/actors/actor-join-deferred-scope.js +0 -18
  27. package/dist/runtime/actors/actor-local-native-join.js +18 -19
  28. package/dist/runtime/actors/actor-mailbox.js +1 -1
  29. package/dist/runtime/actors/actor-message-follow-context.js +24 -21
  30. package/dist/runtime/actors/actor-packet-relay-wire.js +1 -3
  31. package/dist/runtime/actors/actor-remote-joiner.js +20 -17
  32. package/dist/runtime/actors/actor-remote-wire.js +6 -7
  33. package/dist/runtime/actors/actor-runtime-state.js +87 -81
  34. package/dist/runtime/actors/actor-transfer-registry.js +3 -5
  35. package/dist/runtime/actors/bound-session-wire.js +14 -9
  36. package/dist/runtime/actors/deferred-join-accepted-journal.js +160 -130
  37. package/dist/runtime/actors/index.js +2 -5
  38. package/dist/runtime/actors/post-commit-actor-binder.js +3 -6
  39. package/dist/runtime/actors/post-commit-actor-location.js +1 -1
  40. package/dist/runtime/actors/spot-actor-dispatch.js +5 -5
  41. package/dist/runtime/actors/transferred-actor-rollback.js +4 -4
  42. package/dist/runtime/admission.js +2 -6
  43. package/dist/runtime/application-jobs/application-ingress-record-owner.js +2 -6
  44. package/dist/runtime/application-jobs/receive-flow-controller.js +11 -12
  45. package/dist/runtime/backend/contracts/index.d.ts +1 -0
  46. package/dist/runtime/backend/mesh-completion-table.js +1 -3
  47. package/dist/runtime/backend/mesh-dispatch-pump.js +12 -16
  48. package/dist/runtime/backend/node/node-backend-adapter-factory.js +1 -3
  49. package/dist/runtime/backend/node/node-backend-adapter-support.js +26 -17
  50. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +4 -3
  51. package/dist/runtime/backend/node/node-raw-binding-port.js +7 -6
  52. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +3 -0
  53. package/dist/runtime/backend/node/node-raw-mesh-backend.js +134 -118
  54. package/dist/runtime/backend/node/node-socket-backend-adapter.js +12 -13
  55. package/dist/runtime/backend/runtime-message.js +3 -3
  56. package/dist/runtime/backend/runtime-values.d.ts +2 -2
  57. package/dist/runtime/backend/runtime-values.js +4 -5
  58. package/dist/runtime/channels/channel-clients.js +27 -24
  59. package/dist/runtime/channels/channel-dispatch-pipeline.js +12 -20
  60. package/dist/runtime/channels/channel-dispatch-services.js +7 -4
  61. package/dist/runtime/channels/channel-dispatchers.js +9 -9
  62. package/dist/runtime/channels/channel-envelope-inspection.js +16 -13
  63. package/dist/runtime/channels/channel-envelope.js +83 -47
  64. package/dist/runtime/channels/channel-outbound-operations.js +8 -8
  65. package/dist/runtime/channels/channel-receive-loops.js +20 -22
  66. package/dist/runtime/channels/channel-receive-task-tracker.js +1 -1
  67. package/dist/runtime/channels/channel-runtime-lifecycle.js +61 -56
  68. package/dist/runtime/channels/channel-runtime-manager.js +18 -9
  69. package/dist/runtime/channels/channel-socket-registry.js +126 -123
  70. package/dist/runtime/channels/channel-transports.js +46 -42
  71. package/dist/runtime/channels/client-server-location-runtime.js +32 -40
  72. package/dist/runtime/channels/client-server-service-wire.js +29 -22
  73. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -0
  74. package/dist/runtime/channels/dispatch-error-reporter.js +9 -39
  75. package/dist/runtime/channels/fanout-location-runtime.js +34 -47
  76. package/dist/runtime/channels/fanout-service-wire.js +3 -5
  77. package/dist/runtime/channels/local-spot-route-transport.js +7 -1
  78. package/dist/runtime/channels/route-member-snapshot.js +3 -3
  79. package/dist/runtime/channels/source-spot-router.js +6 -2
  80. package/dist/runtime/channels/spot-route-bridge-transport.js +5 -2
  81. package/dist/runtime/channels/spot-route-dispatch-strategy.js +2 -2
  82. package/dist/runtime/channels/spot-route-target-resolver.js +6 -6
  83. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +6 -0
  84. package/dist/runtime/diagnostics/dispatch-error-details.js +55 -0
  85. package/dist/runtime/diagnostics/flow-context.d.ts +2 -1
  86. package/dist/runtime/diagnostics/flow-context.js +2 -2
  87. package/dist/runtime/diagnostics/index.js +38 -10
  88. package/dist/runtime/diagnostics/message-flow.js +58 -42
  89. package/dist/runtime/diagnostics/runtime-metrics.js +18 -9
  90. package/dist/runtime/diagnostics/runtime-observation-queue.js +8 -10
  91. package/dist/runtime/diagnostics/topology-runtime-projections.js +17 -10
  92. package/dist/runtime/execution/index.js +7 -6
  93. package/dist/runtime/execution/serial-execution-queue.js +12 -18
  94. package/dist/runtime/execution/state-lane.js +2 -2
  95. package/dist/runtime/foundation/actor-join-recovery-codec.js +31 -27
  96. package/dist/runtime/foundation/event-loop-resources.js +4 -4
  97. package/dist/runtime/foundation/message-follow-suppression-registry.js +4 -4
  98. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +4 -2
  99. package/dist/runtime/foundation/raw-service-mesh-runtime.js +169 -144
  100. package/dist/runtime/foundation/route-mesh-connection-policy.js +4 -4
  101. package/dist/runtime/foundation/runtime-state-projections.js +22 -11
  102. package/dist/runtime/foundation/service-authority-payload-codec.js +13 -15
  103. package/dist/runtime/foundation/service-discovery-registry.js +35 -33
  104. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +20 -22
  105. package/dist/runtime/foundation/service-liveness-registry.js +16 -12
  106. package/dist/runtime/foundation/service-maintenance-runtime.js +2 -4
  107. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +24 -24
  108. package/dist/runtime/foundation/service-relocation-object-owner.js +6 -6
  109. package/dist/runtime/foundation/service-relocation-runtime.js +137 -94
  110. package/dist/runtime/foundation/service-runtime-contracts.js +5 -5
  111. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +1 -0
  112. package/dist/runtime/foundation/service-stateful-registry.js +24 -23
  113. package/dist/runtime/foundation/service-stateful-runtime.d.ts +4 -0
  114. package/dist/runtime/foundation/service-stateful-runtime.js +461 -439
  115. package/dist/runtime/foundation/service-stateful-wire-codec.js +95 -98
  116. package/dist/runtime/foundation/service-topology-registry.d.ts +1 -0
  117. package/dist/runtime/foundation/service-topology-registry.js +105 -96
  118. package/dist/runtime/foundation/service-weighted-selection.js +6 -11
  119. package/dist/runtime/foundation/service-wire-binary-primitives.js +5 -6
  120. package/dist/runtime/foundation/service-wire-m6a-codec.js +46 -35
  121. package/dist/runtime/framework-errors-internal.js +7 -10
  122. package/dist/runtime/handlers/handler-instance-scope.js +4 -5
  123. package/dist/runtime/handlers/index.js +3 -1
  124. package/dist/runtime/host/actor-packet-relay.js +74 -70
  125. package/dist/runtime/host/actor-placement-coordinator.js +29 -31
  126. package/dist/runtime/host/actor-runtime-options-factory.js +12 -14
  127. package/dist/runtime/host/actor-transfer-authority-runtime.js +7 -9
  128. package/dist/runtime/host/actor-transfer-runtime.js +176 -153
  129. package/dist/runtime/host/application-job-queue.js +18 -22
  130. package/dist/runtime/host/bound-session-relay.js +3 -1
  131. package/dist/runtime/host/channel-runtime-options-factory.js +31 -14
  132. package/dist/runtime/host/host-capacity-status.js +8 -4
  133. package/dist/runtime/host/index.js +245 -228
  134. package/dist/runtime/host/instance-activation-authority.js +93 -96
  135. package/dist/runtime/host/location-runtime-owner.js +16 -14
  136. package/dist/runtime/host/mesh-router-resolver.js +11 -13
  137. package/dist/runtime/host/relocation-direct-transfer.js +10 -9
  138. package/dist/runtime/host/remote-actor-join-receiver.js +20 -15
  139. package/dist/runtime/host/remote-actor-packet-target-store.js +18 -22
  140. package/dist/runtime/host/remote-bound-session-relay.js +97 -73
  141. package/dist/runtime/host/route-mesh-runtime.js +64 -69
  142. package/dist/runtime/host/runtime-shutdown.js +1 -2
  143. package/dist/runtime/host/service-relocation-host-runtime.js +586 -511
  144. package/dist/runtime/host/spot-address-transport.js +69 -71
  145. package/dist/runtime/host/spot-runtime-options-factory.js +30 -29
  146. package/dist/runtime/host/stateful-authority-route-runtime.js +65 -68
  147. package/dist/runtime/host/user-spot-creation-coordinator.js +61 -67
  148. package/dist/runtime/locations/actor-location-claims.js +26 -20
  149. package/dist/runtime/locations/aggregate-inventory-store.js +72 -75
  150. package/dist/runtime/locations/authority-key-codec.js +7 -7
  151. package/dist/runtime/locations/auto-connect-loop.js +3 -3
  152. package/dist/runtime/locations/auto-connect-planner.js +25 -19
  153. package/dist/runtime/locations/auto-connect-reconciler.js +51 -31
  154. package/dist/runtime/locations/in-memory-authority-store.js +128 -118
  155. package/dist/runtime/locations/in-memory-location-store.js +195 -168
  156. package/dist/runtime/locations/in-memory-provider-location-store.js +8 -10
  157. package/dist/runtime/locations/key-codec.js +1 -1
  158. package/dist/runtime/locations/lease-tracker.js +23 -21
  159. package/dist/runtime/locations/lifecycle.js +4 -5
  160. package/dist/runtime/locations/location-store-repository.js +368 -324
  161. package/dist/runtime/locations/opaque-record-key.js +2 -2
  162. package/dist/runtime/locations/resolvers.js +73 -82
  163. package/dist/runtime/locations/runtime.js +68 -63
  164. package/dist/runtime/locations/spot-location-claims.js +39 -35
  165. package/dist/runtime/messaging/framework-json-v1.js +7 -7
  166. package/dist/runtime/messaging/packet-name.js +7 -6
  167. package/dist/runtime/messaging/payload-codec.js +21 -18
  168. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +30 -2
  169. package/dist/runtime/protocol/service_wire_codec.generated.js +1671 -234
  170. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +20 -18
  171. package/dist/runtime/routing-id.js +3 -5
  172. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +35 -31
  173. package/dist/runtime/spots/formal-remote-actor-transfer-registry.js +1 -2
  174. package/dist/runtime/spots/index.js +209 -220
  175. package/dist/runtime/spots/spot-activation-registry.js +15 -14
  176. package/dist/runtime/spots/spot-activation-state.js +17 -15
  177. package/dist/runtime/spots/spot-activation.js +33 -16
  178. package/dist/runtime/spots/spot-actor-admission-coordinator.js +18 -15
  179. package/dist/runtime/spots/spot-actor-membership.js +1 -3
  180. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +2 -1
  181. package/dist/runtime/spots/spot-actor-packet-dispatch.js +29 -21
  182. package/dist/runtime/spots/spot-actor-packet-drain.js +14 -10
  183. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +10 -6
  184. package/dist/runtime/spots/spot-closing.js +3 -7
  185. package/dist/runtime/spots/spot-context.js +2 -2
  186. package/dist/runtime/spots/spot-entry-activation.js +13 -14
  187. package/dist/runtime/spots/spot-handle.js +6 -3
  188. package/dist/runtime/spots/spot-handler-registry.js +12 -12
  189. package/dist/runtime/spots/spot-manager-public.js +5 -6
  190. package/dist/runtime/spots/spot-native-actor-join-admission.js +4 -3
  191. package/dist/runtime/spots/spot-node-autoconnect.js +15 -18
  192. package/dist/runtime/spots/spot-node-runtime-manager.js +79 -86
  193. package/dist/runtime/spots/spot-outbound.js +10 -14
  194. package/dist/runtime/spots/spot-remote-codec.js +22 -26
  195. package/dist/runtime/spots/spot-remote-route-codec.js +5 -7
  196. package/dist/runtime/spots/spot-route-packet-dispatch.js +17 -15
  197. package/dist/runtime/spots/spot-route-replies.js +4 -6
  198. package/dist/runtime/spots/spot-routed-actor-admission.js +9 -7
  199. package/dist/runtime/spots/spot-routed-bound-session-dispatch.js +2 -3
  200. package/dist/runtime/spots/spot-routed-frame-dispatch.js +5 -5
  201. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +14 -10
  202. package/dist/runtime/spots/spot-serial-executor.js +5 -8
  203. package/dist/runtime/spots/spot-serial-turn-executor.js +4 -6
  204. package/dist/runtime/spots/spot-subscription-dispatch.js +6 -6
  205. package/dist/runtime/spots/spot-timer.js +26 -30
  206. package/dist/runtime/streams/actor-session-binding-registry.d.ts +21 -8
  207. package/dist/runtime/streams/actor-session-binding-registry.js +168 -148
  208. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -0
  209. package/dist/runtime/streams/actor-session-lifecycle-coordinator.js +3 -1
  210. package/dist/runtime/streams/bound-actor-relay-sender.js +20 -17
  211. package/dist/runtime/streams/bound-session-response-target.js +8 -1
  212. package/dist/runtime/streams/bound-session-service.d.ts +1 -0
  213. package/dist/runtime/streams/bound-session-service.js +14 -12
  214. package/dist/runtime/streams/index.js +28 -20
  215. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  216. package/dist/runtime/streams/managed-stream.js +52 -31
  217. package/dist/runtime/streams/native-fallback-bound-session.js +21 -17
  218. package/dist/runtime/streams/protocol.d.ts +5 -1
  219. package/dist/runtime/streams/protocol.js +68 -20
  220. package/dist/runtime/streams/session-actor-coordinator.js +37 -41
  221. package/dist/runtime/streams/session-context.d.ts +9 -2
  222. package/dist/runtime/streams/session-context.js +50 -32
  223. package/dist/runtime/streams/session-local-actors.d.ts +3 -1
  224. package/dist/runtime/streams/session-local-actors.js +17 -2
  225. package/dist/runtime/streams/session-provider.js +2 -2
  226. package/dist/runtime/streams/session-serial-executor.js +1 -2
  227. package/dist/runtime/streams/stream-frame-factory.d.ts +1 -1
  228. package/dist/runtime/streams/stream-frame-factory.js +14 -7
  229. package/dist/runtime/streams/stream-session-runtime.js +112 -78
  230. package/dist/runtime/workers/index.js +15 -4
  231. package/package.json +3 -3
  232. package/src/contracts/Channels/RouteCalls.ts +6 -1
  233. package/src/contracts/Common/ZLinkMessage.ts +5 -5
  234. package/src/contracts/Common/ZLinkMessageMetadata.ts +4 -3
  235. package/src/contracts/Configuration/Builders.ts +14 -14
  236. package/src/contracts/Configuration/CodecContentType.ts +8 -10
  237. package/src/contracts/Configuration/DiagnosticsValidation.ts +1 -6
  238. package/src/contracts/Configuration/EndpointNotation.ts +11 -11
  239. package/src/contracts/Configuration/ObjectRoles.ts +1 -3
  240. package/src/contracts/Configuration/Registration.ts +46 -17
  241. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +10 -8
  242. package/src/contracts/Configuration/RegistrationBuilders.ts +107 -96
  243. package/src/contracts/Configuration/RegistrationCodecRegistry.ts +9 -3
  244. package/src/contracts/Configuration/RegistrationNormalizers.ts +116 -84
  245. package/src/contracts/Configuration/RegistrationTypes.ts +21 -25
  246. package/src/contracts/Configuration/RegistrationValidators.ts +122 -73
  247. package/src/contracts/Configuration/RouteChannelInternalState.ts +1 -4
  248. package/src/contracts/Configuration/RuntimeEndpointConnections.ts +4 -1
  249. package/src/contracts/Configuration/SendTimeoutValidation.ts +6 -4
  250. package/src/contracts/Configuration/TimerRegistrationValidator.ts +8 -13
  251. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +2 -6
  252. package/src/contracts/Errors/index.ts +1 -4
  253. package/src/contracts/Handlers/Attributes.ts +15 -9
  254. package/src/contracts/Handlers/IZLinkChannelHandlers.ts +24 -4
  255. package/src/contracts/Handlers/JsonContract.ts +53 -19
  256. package/src/contracts/Locations/ActorTransfer.ts +1 -5
  257. package/src/contracts/Locations/Authority.ts +4 -11
  258. package/src/contracts/Locations/Keys.ts +6 -1
  259. package/src/contracts/Locations/Options.ts +3 -2
  260. package/src/contracts/Locations/RelocationStore.ts +1 -4
  261. package/src/contracts/Locations/Resolvers.ts +5 -5
  262. package/src/contracts/Locations/RuntimeQuery.ts +6 -2
  263. package/src/contracts/Locations/Stores.ts +1 -2
  264. package/src/contracts/Locations/index.ts +2 -8
  265. package/src/contracts/RouteMesh/Contracts.ts +1 -7
  266. package/src/contracts/RouteMesh/RuntimeTopology.ts +1 -4
  267. package/src/contracts/Spots/Contracts.ts +2 -8
  268. package/src/contracts/Spots/SpotKind.ts +16 -8
  269. package/src/contracts/Spots/ZLinkSpot.ts +8 -11
  270. package/src/contracts/Streams/IZLinkSession.ts +2 -2
  271. package/src/contracts/Streams/IZLinkSessionActor.ts +5 -1
  272. package/src/contracts/Streams/IZLinkSessionPacketHandler.ts +5 -1
  273. package/src/internal.ts +5 -4
  274. package/src/location-store-integration.ts +24 -16
  275. package/src/nest-integration.ts +40 -25
  276. package/src/runtime/abort.ts +10 -4
  277. package/src/runtime/actors/actor-authority-payload-codec.ts +20 -29
  278. package/src/runtime/actors/actor-authority-publication.ts +92 -77
  279. package/src/runtime/actors/actor-client.ts +162 -133
  280. package/src/runtime/actors/actor-context.ts +142 -134
  281. package/src/runtime/actors/actor-creation.ts +47 -44
  282. package/src/runtime/actors/actor-execution-context.ts +6 -4
  283. package/src/runtime/actors/actor-handoff.ts +269 -293
  284. package/src/runtime/actors/actor-join-deferred-scope.ts +1 -32
  285. package/src/runtime/actors/actor-lifecycle-snapshot.ts +5 -8
  286. package/src/runtime/actors/actor-local-native-join.ts +131 -159
  287. package/src/runtime/actors/actor-mailbox.ts +16 -19
  288. package/src/runtime/actors/actor-message-follow-context.ts +46 -36
  289. package/src/runtime/actors/actor-packet-relay-wire.ts +32 -21
  290. package/src/runtime/actors/actor-remote-joiner.ts +50 -54
  291. package/src/runtime/actors/actor-remote-wire.ts +9 -13
  292. package/src/runtime/actors/actor-routed-join-transport.ts +10 -2
  293. package/src/runtime/actors/actor-runtime-contracts.ts +2 -5
  294. package/src/runtime/actors/actor-runtime-state.ts +127 -124
  295. package/src/runtime/actors/actor-transfer-registry.ts +9 -14
  296. package/src/runtime/actors/actor-transport-delivery-gate.ts +4 -6
  297. package/src/runtime/actors/bound-session-wire.ts +37 -17
  298. package/src/runtime/actors/deferred-join-accepted-journal.ts +353 -326
  299. package/src/runtime/actors/index.ts +43 -86
  300. package/src/runtime/actors/post-commit-actor-binder.ts +10 -10
  301. package/src/runtime/actors/post-commit-actor-location.ts +30 -23
  302. package/src/runtime/actors/spot-actor-dispatch.ts +78 -53
  303. package/src/runtime/actors/transferred-actor-rollback.ts +18 -13
  304. package/src/runtime/admission.ts +9 -9
  305. package/src/runtime/application-jobs/application-ingress-record-owner.ts +5 -15
  306. package/src/runtime/application-jobs/application-job-queue-handler-start-gate.ts +3 -2
  307. package/src/runtime/application-jobs/receive-flow-controller.ts +17 -14
  308. package/src/runtime/backend/contracts/index.ts +77 -52
  309. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -14
  310. package/src/runtime/backend/mesh-completion-table.ts +6 -9
  311. package/src/runtime/backend/mesh-dispatch-pump.ts +38 -30
  312. package/src/runtime/backend/node/node-backend-adapter-factory.ts +23 -21
  313. package/src/runtime/backend/node/node-backend-adapter-support.ts +36 -22
  314. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +59 -58
  315. package/src/runtime/backend/node/node-event-loop-poller.ts +2 -10
  316. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +12 -5
  317. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +4 -3
  318. package/src/runtime/backend/node/node-raw-binding-port.ts +29 -29
  319. package/src/runtime/backend/node/node-raw-mesh-backend.ts +370 -390
  320. package/src/runtime/backend/node/node-socket-backend-adapter.ts +101 -54
  321. package/src/runtime/backend/runtime-message.ts +5 -3
  322. package/src/runtime/backend/runtime-values.ts +10 -7
  323. package/src/runtime/channels/channel-autoconnect.ts +1 -4
  324. package/src/runtime/channels/channel-clients.ts +93 -73
  325. package/src/runtime/channels/channel-dispatch-pipeline.ts +44 -44
  326. package/src/runtime/channels/channel-dispatch-services.ts +51 -49
  327. package/src/runtime/channels/channel-dispatchers.ts +152 -96
  328. package/src/runtime/channels/channel-envelope-inspection.ts +20 -16
  329. package/src/runtime/channels/channel-envelope.ts +256 -150
  330. package/src/runtime/channels/channel-multipart.ts +13 -5
  331. package/src/runtime/channels/channel-outbound-operations.ts +37 -41
  332. package/src/runtime/channels/channel-receive-loops.ts +102 -98
  333. package/src/runtime/channels/channel-receive-task-tracker.ts +1 -1
  334. package/src/runtime/channels/channel-runtime-lifecycle.ts +248 -190
  335. package/src/runtime/channels/channel-runtime-manager.ts +63 -37
  336. package/src/runtime/channels/channel-socket-options.ts +3 -10
  337. package/src/runtime/channels/channel-socket-registry.ts +331 -273
  338. package/src/runtime/channels/channel-transports.ts +218 -206
  339. package/src/runtime/channels/client-server-location-runtime.ts +116 -100
  340. package/src/runtime/channels/client-server-service-wire.ts +37 -36
  341. package/src/runtime/channels/dispatch-error-reporter.ts +12 -47
  342. package/src/runtime/channels/fanout-location-runtime.ts +91 -94
  343. package/src/runtime/channels/fanout-service-wire.ts +5 -12
  344. package/src/runtime/channels/handler-filter-scope.ts +1 -4
  345. package/src/runtime/channels/index.ts +1 -4
  346. package/src/runtime/channels/local-spot-route-transport.ts +20 -5
  347. package/src/runtime/channels/route-member-snapshot.ts +11 -5
  348. package/src/runtime/channels/router-socket-spot-route-transport.ts +1 -7
  349. package/src/runtime/channels/source-spot-router.ts +26 -22
  350. package/src/runtime/channels/spot-direct-envelope.ts +10 -8
  351. package/src/runtime/channels/spot-node-route-transport.ts +13 -16
  352. package/src/runtime/channels/spot-route-bridge-transport.ts +26 -9
  353. package/src/runtime/channels/spot-route-dispatch-strategy.ts +40 -13
  354. package/src/runtime/channels/spot-route-target-resolver.ts +18 -9
  355. package/src/runtime/codecs/index.ts +3 -2
  356. package/src/runtime/diagnostics/dispatch-error-details.ts +62 -0
  357. package/src/runtime/diagnostics/flow-context.ts +18 -7
  358. package/src/runtime/diagnostics/index.ts +96 -61
  359. package/src/runtime/diagnostics/internal-event-contracts.ts +87 -33
  360. package/src/runtime/diagnostics/message-flow.ts +107 -79
  361. package/src/runtime/diagnostics/runtime-metrics.ts +46 -24
  362. package/src/runtime/diagnostics/runtime-observation-queue.ts +17 -28
  363. package/src/runtime/diagnostics/topology-runtime-projections.ts +62 -43
  364. package/src/runtime/execution/index.ts +18 -26
  365. package/src/runtime/execution/serial-execution-queue.ts +31 -40
  366. package/src/runtime/execution/state-lane.ts +2 -2
  367. package/src/runtime/foundation/actor-join-recovery-codec.ts +69 -55
  368. package/src/runtime/foundation/event-loop-resources.ts +8 -4
  369. package/src/runtime/foundation/message-follow-suppression-registry.ts +7 -14
  370. package/src/runtime/foundation/operation-identity.ts +1 -2
  371. package/src/runtime/foundation/operation-registry.ts +8 -2
  372. package/src/runtime/foundation/raw-service-mesh-runtime.ts +364 -396
  373. package/src/runtime/foundation/route-mesh-connection-policy.ts +7 -8
  374. package/src/runtime/foundation/runtime-state-projections.ts +24 -23
  375. package/src/runtime/foundation/service-authority-payload-codec.ts +54 -57
  376. package/src/runtime/foundation/service-discovery-registry.ts +67 -59
  377. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +28 -29
  378. package/src/runtime/foundation/service-liveness-registry.ts +18 -13
  379. package/src/runtime/foundation/service-mailbox.ts +14 -14
  380. package/src/runtime/foundation/service-maintenance-runtime.ts +22 -21
  381. package/src/runtime/foundation/service-metadata-codec.ts +2 -9
  382. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +39 -36
  383. package/src/runtime/foundation/service-relocation-coordinator.ts +1 -4
  384. package/src/runtime/foundation/service-relocation-object-owner.ts +40 -58
  385. package/src/runtime/foundation/service-relocation-runtime.ts +292 -216
  386. package/src/runtime/foundation/service-runtime-contracts.ts +8 -8
  387. package/src/runtime/foundation/service-session-binding-ingress-port.ts +2 -4
  388. package/src/runtime/foundation/service-stateful-registry.ts +69 -59
  389. package/src/runtime/foundation/service-stateful-runtime.ts +1233 -1112
  390. package/src/runtime/foundation/service-stateful-wire-codec.ts +318 -270
  391. package/src/runtime/foundation/service-topology-registry.ts +170 -159
  392. package/src/runtime/foundation/service-weighted-selection.ts +9 -15
  393. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -12
  394. package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -47
  395. package/src/runtime/framework-errors-internal.ts +31 -30
  396. package/src/runtime/handlers/handler-instance-scope.ts +18 -29
  397. package/src/runtime/handlers/index.ts +18 -8
  398. package/src/runtime/host/actor-packet-relay.ts +290 -261
  399. package/src/runtime/host/actor-placement-coordinator.ts +165 -150
  400. package/src/runtime/host/actor-runtime-options-factory.ts +89 -87
  401. package/src/runtime/host/actor-transfer-authority-runtime.ts +46 -38
  402. package/src/runtime/host/actor-transfer-runtime.ts +391 -395
  403. package/src/runtime/host/application-job-queue.ts +32 -48
  404. package/src/runtime/host/bound-session-relay.ts +7 -9
  405. package/src/runtime/host/channel-runtime-options-factory.ts +75 -35
  406. package/src/runtime/host/host-capacity-status.ts +10 -9
  407. package/src/runtime/host/index.ts +861 -789
  408. package/src/runtime/host/instance-activation-authority.ts +125 -143
  409. package/src/runtime/host/location-runtime-owner.ts +38 -26
  410. package/src/runtime/host/mesh-router-resolver.ts +30 -23
  411. package/src/runtime/host/relocation-direct-transfer.ts +15 -15
  412. package/src/runtime/host/relocation-integrity-fault-gate.ts +3 -2
  413. package/src/runtime/host/remote-actor-join-receiver.ts +43 -34
  414. package/src/runtime/host/remote-actor-packet-target-store.ts +54 -52
  415. package/src/runtime/host/remote-bound-session-relay.ts +274 -247
  416. package/src/runtime/host/route-mesh-runtime-options.ts +1 -3
  417. package/src/runtime/host/route-mesh-runtime.ts +227 -181
  418. package/src/runtime/host/runtime-shutdown.ts +4 -3
  419. package/src/runtime/host/service-relocation-control.ts +14 -5
  420. package/src/runtime/host/service-relocation-host-runtime.ts +1388 -1165
  421. package/src/runtime/host/spot-address-transport.ts +284 -237
  422. package/src/runtime/host/spot-node-runtime-options-factory.ts +14 -8
  423. package/src/runtime/host/spot-runtime-options-factory.ts +71 -62
  424. package/src/runtime/host/stateful-authority-route-runtime.ts +117 -116
  425. package/src/runtime/host/user-spot-creation-coordinator.ts +225 -220
  426. package/src/runtime/locations/actor-location-claims.ts +61 -49
  427. package/src/runtime/locations/actor-session-route-claims.ts +1 -4
  428. package/src/runtime/locations/aggregate-inventory-store.ts +105 -134
  429. package/src/runtime/locations/authority-key-codec.ts +13 -10
  430. package/src/runtime/locations/auto-connect-loop.ts +14 -11
  431. package/src/runtime/locations/auto-connect-planner.ts +42 -31
  432. package/src/runtime/locations/auto-connect-reconciler.ts +106 -63
  433. package/src/runtime/locations/canonical-codec.ts +3 -1
  434. package/src/runtime/locations/creation-operation-id.ts +4 -3
  435. package/src/runtime/locations/domain-store-contract.ts +13 -7
  436. package/src/runtime/locations/in-memory-authority-store.ts +232 -199
  437. package/src/runtime/locations/in-memory-location-store.ts +432 -250
  438. package/src/runtime/locations/in-memory-provider-location-store.ts +16 -17
  439. package/src/runtime/locations/internal-store-contracts.ts +95 -38
  440. package/src/runtime/locations/key-codec.ts +3 -4
  441. package/src/runtime/locations/lease-tracker.ts +36 -27
  442. package/src/runtime/locations/lifecycle-runtime.ts +15 -3
  443. package/src/runtime/locations/lifecycle.ts +33 -28
  444. package/src/runtime/locations/location-store-repository.ts +1329 -1185
  445. package/src/runtime/locations/opaque-record-key.ts +4 -9
  446. package/src/runtime/locations/resolvers.ts +201 -178
  447. package/src/runtime/locations/runtime.ts +251 -159
  448. package/src/runtime/locations/spot-location-claims.ts +110 -112
  449. package/src/runtime/messaging/creation-payload-codec.ts +4 -1
  450. package/src/runtime/messaging/framework-json-v1.ts +34 -15
  451. package/src/runtime/messaging/packet-name.ts +8 -6
  452. package/src/runtime/messaging/payload-codec.ts +70 -50
  453. package/src/runtime/messaging/submission-result.ts +6 -9
  454. package/src/runtime/protocol/service_wire_codec.generated.ts +1376 -159
  455. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +19 -18
  456. package/src/runtime/routing-id.ts +10 -7
  457. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +56 -62
  458. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +23 -20
  459. package/src/runtime/spots/index.ts +595 -564
  460. package/src/runtime/spots/spot-activation-registry.ts +38 -34
  461. package/src/runtime/spots/spot-activation-state.ts +43 -51
  462. package/src/runtime/spots/spot-activation.ts +179 -116
  463. package/src/runtime/spots/spot-actor-admission-coordinator.ts +110 -78
  464. package/src/runtime/spots/spot-actor-join-dispatch.ts +57 -41
  465. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +5 -7
  466. package/src/runtime/spots/spot-actor-membership.ts +25 -27
  467. package/src/runtime/spots/spot-actor-packet-dispatch.ts +196 -148
  468. package/src/runtime/spots/spot-actor-packet-drain.ts +56 -42
  469. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +37 -39
  470. package/src/runtime/spots/spot-closing.ts +11 -12
  471. package/src/runtime/spots/spot-context.ts +46 -26
  472. package/src/runtime/spots/spot-entry-activation.ts +84 -65
  473. package/src/runtime/spots/spot-handle.ts +17 -15
  474. package/src/runtime/spots/spot-handler-registry.ts +44 -31
  475. package/src/runtime/spots/spot-location-claim.ts +5 -4
  476. package/src/runtime/spots/spot-manager-public.ts +62 -82
  477. package/src/runtime/spots/spot-native-actor-join-admission.ts +20 -16
  478. package/src/runtime/spots/spot-node-autoconnect.ts +54 -61
  479. package/src/runtime/spots/spot-node-runtime-manager.ts +235 -222
  480. package/src/runtime/spots/spot-outbound.ts +47 -59
  481. package/src/runtime/spots/spot-publisher-transport.ts +5 -4
  482. package/src/runtime/spots/spot-remote-codec.ts +66 -65
  483. package/src/runtime/spots/spot-remote-route-codec.ts +61 -41
  484. package/src/runtime/spots/spot-route-packet-dispatch.ts +129 -95
  485. package/src/runtime/spots/spot-route-replies.ts +23 -24
  486. package/src/runtime/spots/spot-route-reply-wire.ts +3 -2
  487. package/src/runtime/spots/spot-routed-actor-admission.ts +37 -27
  488. package/src/runtime/spots/spot-routed-bound-session-dispatch.ts +13 -18
  489. package/src/runtime/spots/spot-routed-frame-dispatch.ts +18 -15
  490. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +35 -26
  491. package/src/runtime/spots/spot-routing-internal.ts +1 -4
  492. package/src/runtime/spots/spot-runtime-ports.ts +5 -5
  493. package/src/runtime/spots/spot-serial-executor.ts +5 -9
  494. package/src/runtime/spots/spot-serial-turn-executor.ts +19 -26
  495. package/src/runtime/spots/spot-subscription-dispatch.ts +58 -47
  496. package/src/runtime/spots/spot-timer.ts +103 -91
  497. package/src/runtime/streams/actor-session-binding-registry.ts +421 -292
  498. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +8 -4
  499. package/src/runtime/streams/actor-session-lifecycle-coordinator.ts +3 -1
  500. package/src/runtime/streams/bound-actor-relay-sender.ts +60 -50
  501. package/src/runtime/streams/bound-session-response-target.ts +39 -9
  502. package/src/runtime/streams/bound-session-service.ts +52 -42
  503. package/src/runtime/streams/index.ts +183 -100
  504. package/src/runtime/streams/managed-stream.ts +123 -90
  505. package/src/runtime/streams/native-fallback-bound-session.ts +57 -52
  506. package/src/runtime/streams/protocol.ts +115 -46
  507. package/src/runtime/streams/session-actor-coordinator.ts +109 -93
  508. package/src/runtime/streams/session-calls.ts +2 -8
  509. package/src/runtime/streams/session-context.ts +96 -51
  510. package/src/runtime/streams/session-local-actors.ts +19 -3
  511. package/src/runtime/streams/session-provider.ts +5 -7
  512. package/src/runtime/streams/session-serial-executor.ts +7 -6
  513. package/src/runtime/streams/stream-binding-runtime-ports.ts +79 -29
  514. package/src/runtime/streams/stream-frame-factory.ts +59 -40
  515. package/src/runtime/streams/stream-session-runtime.ts +317 -214
  516. package/src/runtime/workers/index.ts +68 -29
@@ -9,11 +9,7 @@ import {
9
9
  type ApplicationJobReceiveFlowTarget
10
10
  } from '../application-jobs/receive-flow-controller';
11
11
 
12
- export type ApplicationJobQueueProfileValue =
13
- | 'compact'
14
- | 'low_latency'
15
- | 'balanced'
16
- | 'throughput';
12
+ export type ApplicationJobQueueProfileValue = 'compact' | 'low_latency' | 'balanced' | 'throughput';
17
13
 
18
14
  export interface ApplicationJobQueueOptions {
19
15
  readonly profile?: ApplicationJobQueueProfileValue;
@@ -79,35 +75,29 @@ export function resolveApplicationJobQueueConfiguration(
79
75
  }
80
76
 
81
77
  const configuredManualMax = options.maxQueuedApplicationJobs;
82
- if (configuredManualMax !== undefined
83
- && (typeof configuredManualMax !== 'bigint'
84
- || configuredManualMax < 1n
85
- || configuredManualMax > MAX_QUEUED_APPLICATION_JOBS)) {
86
- throw new RangeError(
87
- 'maxQueuedApplicationJobs must be a bigint in the range 1..2147483647.'
88
- );
78
+ if (
79
+ configuredManualMax !== undefined &&
80
+ (typeof configuredManualMax !== 'bigint' ||
81
+ configuredManualMax < 1n ||
82
+ configuredManualMax > MAX_QUEUED_APPLICATION_JOBS)
83
+ ) {
84
+ throw new RangeError('maxQueuedApplicationJobs must be a bigint in the range 1..2147483647.');
89
85
  }
90
86
 
91
87
  const processors = effectiveProcessorCount();
92
88
  if (typeof processors !== 'bigint' || processors < 1n) {
93
89
  throw new RangeError('effectiveProcessorCount must be a positive bigint.');
94
90
  }
95
- const effectiveMax = configuredManualMax
96
- ?? JOBS_PER_PROCESSOR[configuredProfile] * processors;
91
+ const effectiveMax = configuredManualMax ?? JOBS_PER_PROCESSOR[configuredProfile] * processors;
97
92
  if (effectiveMax < 1n || effectiveMax > MAX_QUEUED_APPLICATION_JOBS) {
98
- throw new RangeError(
99
- 'Application job queue profile calculation exceeds the supported range.'
100
- );
93
+ throw new RangeError('Application job queue profile calculation exceeds the supported range.');
101
94
  }
102
95
 
103
- const configuredPauseThresholdPercent = options.pauseThresholdPercent
104
- ?? DEFAULT_PAUSE_THRESHOLD_PERCENT;
105
- const configuredResumeThresholdPercent = options.resumeThresholdPercent
106
- ?? DEFAULT_RESUME_THRESHOLD_PERCENT;
107
- validatePressureThresholds(
108
- configuredPauseThresholdPercent,
109
- configuredResumeThresholdPercent
110
- );
96
+ const configuredPauseThresholdPercent =
97
+ options.pauseThresholdPercent ?? DEFAULT_PAUSE_THRESHOLD_PERCENT;
98
+ const configuredResumeThresholdPercent =
99
+ options.resumeThresholdPercent ?? DEFAULT_RESUME_THRESHOLD_PERCENT;
100
+ validatePressureThresholds(configuredPauseThresholdPercent, configuredResumeThresholdPercent);
111
101
  const pauseNumerator = effectiveMax * BigInt(configuredPauseThresholdPercent);
112
102
  const resumeNumerator = effectiveMax * BigInt(configuredResumeThresholdPercent);
113
103
 
@@ -182,28 +172,22 @@ export class ApplicationJobQueue implements ApplicationJobQueuePort {
182
172
  private pausedTransitionCount = 0n;
183
173
  private cumulativePauseDurationSeconds = 0;
184
174
  private flowStateConfigFailureCount = 0n;
185
- private readonly pressureListeners = new Set<(
186
- state: ApplicationJobQueuePressureState,
187
- sequence: bigint
188
- ) => void>();
175
+ private readonly pressureListeners = new Set<
176
+ (state: ApplicationJobQueuePressureState, sequence: bigint) => void
177
+ >();
189
178
  private readonly waiters: CapacityWaiter[] = [];
190
179
  private readonly receiveFlowTargets = new Map<
191
180
  object,
192
181
  ApplicationJobReceiveFlowTarget<ApplicationJobQueuePressureState>
193
182
  >();
194
- private readonly receiveFlowController: ApplicationJobReceiveFlowController<
195
- ApplicationJobQueuePressureState
196
- >;
183
+ private readonly receiveFlowController: ApplicationJobReceiveFlowController<ApplicationJobQueuePressureState>;
197
184
 
198
185
  constructor(
199
186
  private readonly configuration: ApplicationJobQueueConfiguration,
200
187
  private readonly nowMs: () => number = () => performance.now(),
201
188
  private readonly handlerStartGate?: () => boolean
202
189
  ) {
203
- this.receiveFlowController = new ApplicationJobReceiveFlowController(
204
- this,
205
- state => state
206
- );
190
+ this.receiveFlowController = new ApplicationJobReceiveFlowController(this, (state) => state);
207
191
  }
208
192
 
209
193
  shouldHoldPermitBeforeHandler(): boolean {
@@ -307,9 +291,8 @@ export class ApplicationJobQueue implements ApplicationJobQueuePort {
307
291
  this.runningTransitionCount = 0n;
308
292
  this.pausedTransitionCount = 0n;
309
293
  this.cumulativePauseDurationSeconds = 0;
310
- this.cumulativePauseStartedAtMs = this.pressureStateValue === 'paused'
311
- ? this.nowMs()
312
- : undefined;
294
+ this.cumulativePauseStartedAtMs =
295
+ this.pressureStateValue === 'paused' ? this.nowMs() : undefined;
313
296
  this.flowStateConfigFailureCount = 0n;
314
297
  }
315
298
 
@@ -405,9 +388,14 @@ export class ApplicationJobQueue implements ApplicationJobQueuePort {
405
388
 
406
389
  private evaluatePressure(): void {
407
390
  const permitsInUse = this.permitsInUse();
408
- const next = this.pressureStateValue === 'running'
409
- ? permitsInUse >= this.configuration.pausePermitCount ? 'paused' : 'running'
410
- : permitsInUse <= this.configuration.resumePermitCount ? 'running' : 'paused';
391
+ const next =
392
+ this.pressureStateValue === 'running'
393
+ ? permitsInUse >= this.configuration.pausePermitCount
394
+ ? 'paused'
395
+ : 'running'
396
+ : permitsInUse <= this.configuration.resumePermitCount
397
+ ? 'running'
398
+ : 'paused';
411
399
  if (next === this.pressureStateValue) return;
412
400
 
413
401
  const now = this.nowMs();
@@ -485,18 +473,14 @@ function quotaProcessorCount(quotaText: string, periodText: string): number | un
485
473
  if (quota <= 0n || period <= 0n) return undefined;
486
474
  const floored = quota / period;
487
475
  const count = floored < 1n ? 1n : floored;
488
- return count > BigInt(Number.MAX_SAFE_INTEGER)
489
- ? Number.MAX_SAFE_INTEGER
490
- : Number(count);
476
+ return count > BigInt(Number.MAX_SAFE_INTEGER) ? Number.MAX_SAFE_INTEGER : Number(count);
491
477
  } catch {
492
478
  return undefined;
493
479
  }
494
480
  }
495
481
 
496
482
  function positiveSafeInteger(value: number | undefined): number | undefined {
497
- return value !== undefined && Number.isSafeInteger(value) && value > 0
498
- ? value
499
- : undefined;
483
+ return value !== undefined && Number.isSafeInteger(value) && value > 0 ? value : undefined;
500
484
  }
501
485
 
502
486
  function readSystemFile(path: string): string | undefined {
@@ -1,8 +1,6 @@
1
1
  import type { ActorRef } from '../../contracts';
2
2
  import type { ZLinkBackendActorSessionNode } from '../backend';
3
- import {
4
- type ZLinkActorRoutedJoinTransport
5
- } from '../actors';
3
+ import { type ZLinkActorRoutedJoinTransport } from '../actors';
6
4
  import type { DefaultZLinkActorManager } from '../actors';
7
5
  import type { DefaultZLinkSpotManager, ZLinkSpotNodeRuntimeManager } from '../spots';
8
6
  import type { ZLinkDetachedTaskRunner } from '../spots/spot-actor-join-dispatch';
@@ -23,8 +21,9 @@ export interface ZLinkBoundSessionRelayOptions {
23
21
  readonly requestTimeoutMs?: number;
24
22
  readonly sessionRelocationSealTimeoutMs: number;
25
23
  readonly routeTransport: ZLinkActorRoutedJoinTransport;
26
- readonly streamBindingRuntime: () =>
27
- ZLinkBoundSessionResponsePort & ZLinkRemoteBoundSessionPort & ZLinkStreamActorLookupPort;
24
+ readonly streamBindingRuntime: () => ZLinkBoundSessionResponsePort &
25
+ ZLinkRemoteBoundSessionPort &
26
+ ZLinkStreamActorLookupPort;
28
27
  readonly meshRouters: MeshRouterResolver;
29
28
  readonly actorManager: () => DefaultZLinkActorManager | undefined;
30
29
  readonly spotManager: () => DefaultZLinkSpotManager | undefined;
@@ -76,10 +75,9 @@ export class ZLinkBoundSessionRelay {
76
75
  actorPacketTargetForState: (actorId, routerChannelIdHint) =>
77
76
  this.actorPackets.actorPacketTargetForState(actorId, routerChannelIdHint),
78
77
  reportOwnershipRefreshError: (actorId, error) =>
79
- options.errorSink().reportRuntimeTaskException(
80
- `bound session ownership refresh for '${actorId}'`,
81
- error
82
- )
78
+ options
79
+ .errorSink()
80
+ .reportRuntimeTaskException(`bound session ownership refresh for '${actorId}'`, error)
83
81
  });
84
82
  this.actorJoins = new ZLinkRemoteActorJoinReceiver({
85
83
  actorManager: options.actorManager,
@@ -38,59 +38,99 @@ export class ZLinkChannelRuntimeOptionsFactory {
38
38
  internalRouteRequestHandlers: this.internalRouteRequestHandlers(),
39
39
  localSpotRouteDispatcher: {
40
40
  send: async (spotId, packetName, message, routeContext) => {
41
- await this.requireSpotManager().dispatchRoutedSpotSend(spotId, packetName, message, routeContext);
41
+ await this.requireSpotManager().dispatchRoutedSpotSend(
42
+ spotId,
43
+ packetName,
44
+ message,
45
+ routeContext
46
+ );
42
47
  },
43
48
  request: async (spotId, packetName, request, routeContext) =>
44
- await this.requireSpotManager().dispatchRoutedSpotRequest(spotId, packetName, request, routeContext)
49
+ await this.requireSpotManager().dispatchRoutedSpotRequest(
50
+ spotId,
51
+ packetName,
52
+ request,
53
+ routeContext
54
+ )
45
55
  }
46
56
  };
47
57
  }
48
58
 
49
59
  private internalRouteSendHandlers(): ZLinkChannelRuntimeManagerOptions['internalRouteSendHandlers'] {
50
60
  return new Map([
51
- [ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET, {
52
- handle: async (payload) => {
53
- const { ok } = await this.options.boundSessionRelay.boundSessions
54
- .receiveRemoteBoundSessionSend(payload);
55
- if (!ok) {
56
- // A rejected relocation-fenced outbound must not read as a
57
- // completed flow: surface it so the dispatch pipeline records
58
- // an error terminal instead of silently dropping the notify.
59
- throw createInternalFrameworkException(
60
- ZLinkFrameworkInternalErrorKind.RelocationFailed,
61
- `Bound-session send for '${ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET}' was rejected by the Session binding registry.`
62
- );
61
+ [
62
+ ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET,
63
+ {
64
+ handle: async (payload) => {
65
+ const { ok } =
66
+ await this.options.boundSessionRelay.boundSessions.receiveRemoteBoundSessionSend(
67
+ payload
68
+ );
69
+ if (!ok) {
70
+ // A rejected relocation-fenced outbound must not read as a
71
+ // completed flow: surface it so the dispatch pipeline records
72
+ // an error terminal instead of silently dropping the notify.
73
+ throw createInternalFrameworkException(
74
+ ZLinkFrameworkInternalErrorKind.RelocationFailed,
75
+ `Bound-session send for '${ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET}' was rejected by the Session binding registry.`
76
+ );
77
+ }
63
78
  }
64
79
  }
65
- }],
66
- [ZLINK_REMOTE_BOUND_SESSION_RESPONSE_PACKET, {
67
- handle: async (payload) => {
68
- await this.options.boundSessionRelay.boundSessions.receiveRemoteBoundSessionResponse(payload);
80
+ ],
81
+ [
82
+ ZLINK_REMOTE_BOUND_SESSION_RESPONSE_PACKET,
83
+ {
84
+ handle: async (payload) => {
85
+ await this.options.boundSessionRelay.boundSessions.receiveRemoteBoundSessionResponse(
86
+ payload
87
+ );
88
+ }
69
89
  }
70
- }],
71
- [ZLINK_REMOTE_BOUND_SESSION_ERROR_PACKET, {
72
- handle: async (payload) => {
73
- await this.options.boundSessionRelay.boundSessions.receiveRemoteBoundSessionError(payload);
90
+ ],
91
+ [
92
+ ZLINK_REMOTE_BOUND_SESSION_ERROR_PACKET,
93
+ {
94
+ handle: async (payload) => {
95
+ await this.options.boundSessionRelay.boundSessions.receiveRemoteBoundSessionError(
96
+ payload
97
+ );
98
+ }
74
99
  }
75
- }],
76
- [ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET, {
77
- handle: async (payload, routeContext) => {
78
- await this.options.boundSessionRelay.actorPackets.receiveRemoteActorPacketRelay(payload, routeContext);
100
+ ],
101
+ [
102
+ ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET,
103
+ {
104
+ handle: async (payload, routeContext) => {
105
+ await this.options.boundSessionRelay.actorPackets.receiveRemoteActorPacketRelay(
106
+ payload,
107
+ routeContext
108
+ );
109
+ }
79
110
  }
80
- }]
111
+ ]
81
112
  ]);
82
113
  }
83
114
 
84
115
  private internalRouteRequestHandlers(): ZLinkChannelRuntimeManagerOptions['internalRouteRequestHandlers'] {
85
116
  return new Map([
86
- [ZLINK_REMOTE_ACTOR_JOIN_PACKET, {
87
- handle: (payload, routeContext) =>
88
- this.options.boundSessionRelay.actorJoins.receive(payload, routeContext)
89
- }],
90
- [ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET, {
91
- handle: (payload, routeContext) =>
92
- this.options.boundSessionRelay.actorPackets.receiveRemoteActorPacketRelay(payload, routeContext)
93
- }]
117
+ [
118
+ ZLINK_REMOTE_ACTOR_JOIN_PACKET,
119
+ {
120
+ handle: (payload, routeContext) =>
121
+ this.options.boundSessionRelay.actorJoins.receive(payload, routeContext)
122
+ }
123
+ ],
124
+ [
125
+ ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET,
126
+ {
127
+ handle: (payload, routeContext) =>
128
+ this.options.boundSessionRelay.actorPackets.receiveRemoteActorPacketRelay(
129
+ payload,
130
+ routeContext
131
+ )
132
+ }
133
+ ]
94
134
  ]);
95
135
  }
96
136
 
@@ -33,9 +33,7 @@ export class HostCapacityStatusProjection {
33
33
  }
34
34
  }
35
35
 
36
- function projectApplicationJobQueue(
37
- queue: ApplicationJobQueue
38
- ): ZLinkApplicationJobQueueStatus {
36
+ function projectApplicationJobQueue(queue: ApplicationJobQueue): ZLinkApplicationJobQueueStatus {
39
37
  const snapshot = queue.snapshot();
40
38
  return Object.freeze({
41
39
  configuredProfile: snapshot.configuredProfile as ZLinkApplicationJobQueueProfile,
@@ -83,8 +81,7 @@ function projectCoreHwm(
83
81
  totalInstanceAccountedBytes: snapshot?.totalInstanceAccountedBytes ?? 0n,
84
82
  blockedRatioPpm: BigInt(Math.trunc(snapshot?.blockedRatioPpm ?? 0)),
85
83
  activeDirectionalQueueCount: snapshot?.activeDirectionalQueueCount ?? 0n,
86
- activeCompletionDirectionalQueueCount:
87
- snapshot?.activeCompletionDirectionalQueueCount ?? 0n,
84
+ activeCompletionDirectionalQueueCount: snapshot?.activeCompletionDirectionalQueueCount ?? 0n,
88
85
  activeSendQueueCount: snapshot?.activeSendQueueCount ?? 0n,
89
86
  activeReceiveQueueCount: snapshot?.activeReceiveQueueCount ?? 0n,
90
87
  outstandingApplicationLeaseCount: snapshot?.outstandingApplicationLeaseCount ?? 0n,
@@ -95,9 +92,13 @@ function projectCoreHwm(
95
92
 
96
93
  function projectCoreProfile(value: AutoHwmProfileValue | undefined): ZLinkCoreHwmProfile {
97
94
  switch (value ?? AutoHwmProfile.Balanced) {
98
- case AutoHwmProfile.Compact: return ZLinkCoreHwmProfile.Compact;
99
- case AutoHwmProfile.LowLatency: return ZLinkCoreHwmProfile.LowLatency;
100
- case AutoHwmProfile.Throughput: return ZLinkCoreHwmProfile.Throughput;
101
- default: return ZLinkCoreHwmProfile.Balanced;
95
+ case AutoHwmProfile.Compact:
96
+ return ZLinkCoreHwmProfile.Compact;
97
+ case AutoHwmProfile.LowLatency:
98
+ return ZLinkCoreHwmProfile.LowLatency;
99
+ case AutoHwmProfile.Throughput:
100
+ return ZLinkCoreHwmProfile.Throughput;
101
+ default:
102
+ return ZLinkCoreHwmProfile.Balanced;
102
103
  }
103
104
  }