@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
@@ -10,8 +10,7 @@ const eventLoopPollers = new WeakMap();
10
10
  function wrapSocket(nativeInstance, pollCompletion) {
11
11
  const socket = nativeInstance;
12
12
  const hasRequest = typeof nativeInstance.request === 'function';
13
- const hasRoutedPeer = hasRequest
14
- && typeof nativeInstance.reply === 'function';
13
+ const hasRoutedPeer = hasRequest && typeof nativeInstance.reply === 'function';
15
14
  const hasStream = typeof nativeInstance.recvPacket === 'function';
16
15
  const eventLoopPoller = pollCompletion === undefined
17
16
  ? undefined
@@ -40,12 +39,12 @@ function wrapSocket(nativeInstance, pollCompletion) {
40
39
  nativeInstance.disconnect(endpoint);
41
40
  },
42
41
  setChannelName(channelName) {
43
- const setChannelName = nativeInstance.setChannelName;
42
+ const setChannelName = nativeInstance
43
+ .setChannelName;
44
44
  setChannelName?.call(nativeInstance, channelName);
45
45
  },
46
46
  setReceiveFlowState(state) {
47
- nativeInstance
48
- .setReceiveFlowState(state);
47
+ nativeInstance.setReceiveFlowState(state);
49
48
  },
50
49
  setProbe(enabled) {
51
50
  requireSocketOptions(socket).probe = enabled;
@@ -119,8 +118,7 @@ function wrapSocket(nativeInstance, pollCompletion) {
119
118
  }
120
119
  if (hasRoutedPeer) {
121
120
  const [routingId, payload] = args;
122
- return (0, node_backend_adapter_support_1.submitBindingAsyncSend)(nativeInstance
123
- .send((0, node_backend_adapter_support_1.toNativeRoutingId)(routingId)), payload);
121
+ return (0, node_backend_adapter_support_1.submitBindingAsyncSend)(nativeInstance.send((0, node_backend_adapter_support_1.toNativeRoutingId)(routingId)), payload);
124
122
  }
125
123
  const [payload, flags] = args;
126
124
  if (hasRequest) {
@@ -136,14 +134,12 @@ function wrapSocket(nativeInstance, pollCompletion) {
136
134
  submit(routingId, payload, _timeoutMs) {
137
135
  if (!hasStream)
138
136
  throw new TypeError('Async stream send requires a STREAM socket.');
139
- return (0, node_backend_adapter_support_1.submitBindingAsyncSend)(nativeInstance
140
- .send((0, node_backend_adapter_support_1.toNativeRoutingId)(routingId)), payload);
137
+ return (0, node_backend_adapter_support_1.submitBindingAsyncSend)(nativeInstance.send((0, node_backend_adapter_support_1.toNativeRoutingId)(routingId)), payload);
141
138
  },
142
139
  request(...args) {
143
140
  if (hasRoutedPeer) {
144
141
  const [routingId, payload, timeoutMs] = args;
145
- return (0, node_backend_adapter_support_1.submitBindingRequest)(nativeInstance
146
- .request((0, node_backend_adapter_support_1.toNativeRoutingId)(routingId)), payload, timeoutMs);
142
+ return (0, node_backend_adapter_support_1.submitBindingRequest)(nativeInstance.request((0, node_backend_adapter_support_1.toNativeRoutingId)(routingId)), payload, timeoutMs);
147
143
  }
148
144
  if (hasRequest) {
149
145
  const [payload, timeoutMs] = args;
@@ -244,6 +240,9 @@ function requireSocketOptions(socket) {
244
240
  return socket.options;
245
241
  }
246
242
  function isEndpointCloseIgnorableError(error) {
247
- return (0, node_backend_adapter_support_1.isContextTerminatedError)(error) || (error instanceof Error && 'code' in error &&
248
- (error.code === 604 || error.code === node_backend_adapter_support_1.zlink.ConnectResult.NotFound));
243
+ return ((0, node_backend_adapter_support_1.isContextTerminatedError)(error) ||
244
+ (error instanceof Error &&
245
+ 'code' in error &&
246
+ (error.code === 604 ||
247
+ error.code === node_backend_adapter_support_1.zlink.ConnectResult.NotFound)));
249
248
  }
@@ -38,7 +38,7 @@ class ZLinkBufferMessage {
38
38
  }
39
39
  exports.ZLinkBufferMessage = ZLinkBufferMessage;
40
40
  function isMessage(value) {
41
- return typeof value === 'object'
42
- && value !== null
43
- && typeof value.data === 'function';
41
+ return (typeof value === 'object' &&
42
+ value !== null &&
43
+ typeof value.data === 'function');
44
44
  }
@@ -15,7 +15,7 @@ export declare const RequestResult: Readonly<{
15
15
  readonly NotSupported: 112;
16
16
  readonly Backpressured: 113;
17
17
  }>;
18
- export type RequestResult = typeof RequestResult[keyof typeof RequestResult];
18
+ export type RequestResult = (typeof RequestResult)[keyof typeof RequestResult];
19
19
  export declare const SubmitResult: Readonly<{
20
20
  readonly Ok: 0;
21
21
  readonly Backpressured: 1;
@@ -32,7 +32,7 @@ export declare const SubmitResult: Readonly<{
32
32
  readonly InternalError: 12;
33
33
  readonly NotAdmitted: 13;
34
34
  }>;
35
- export type SubmitResult = typeof SubmitResult[keyof typeof SubmitResult];
35
+ export type SubmitResult = (typeof SubmitResult)[keyof typeof SubmitResult];
36
36
  export type ZLinkBackendSendFlags = number;
37
37
  export type ZLinkBackendRecvFlags = number;
38
38
  export declare const ZLINK_BACKEND_SEND_NONE: ZLinkBackendSendFlags;
@@ -56,8 +56,7 @@ function isZLinkBackendResultError(error) {
56
56
  }
57
57
  function isBackendNotConnectedError(error) {
58
58
  if (isZLinkBackendResultError(error)) {
59
- return error.result === exports.SubmitResult.NotConnected
60
- || error.result === exports.RequestResult.NotConnected;
59
+ return (error.result === exports.SubmitResult.NotConnected || error.result === exports.RequestResult.NotConnected);
61
60
  }
62
61
  if (typeof error !== 'object' || error === null || !('result' in error)) {
63
62
  return false;
@@ -66,7 +65,7 @@ function isBackendNotConnectedError(error) {
66
65
  return result === exports.SubmitResult.NotConnected || result === exports.RequestResult.NotConnected;
67
66
  }
68
67
  function isBackendRequestTimeoutError(error) {
69
- return isZLinkBackendResultError(error)
70
- && error.operation === 'request'
71
- && error.result === exports.RequestResult.TimedOut;
68
+ return (isZLinkBackendResultError(error) &&
69
+ error.operation === 'request' &&
70
+ error.result === exports.RequestResult.TimedOut);
72
71
  }
@@ -23,9 +23,9 @@ class DefaultZLinkChannelClient {
23
23
  return new DefaultZLinkRequestCall(() => this.requireChannel(channelName), (packetName, timeoutMs, metadata, signal) => this.requireTransport().request(channelName, packetName, request, timeoutMs, signal, metadata), this.defaultRequestTimeout(channelName));
24
24
  }
25
25
  defaultRequestTimeout(channelName) {
26
- return this.registration.channels.get(channelName)?.requestTimeoutMs
27
- ?? this.registration.requestTimeoutMs
28
- ?? 30_000;
26
+ return (this.registration.channels.get(channelName)?.requestTimeoutMs ??
27
+ this.registration.requestTimeoutMs ??
28
+ 30_000);
29
29
  }
30
30
  requireChannel(channelName) {
31
31
  const channel = this.registration.channels.get(channelName);
@@ -37,9 +37,7 @@ class DefaultZLinkChannelClient {
37
37
  }
38
38
  }
39
39
  requireTransport() {
40
- const transport = typeof this.transport === 'function'
41
- ? this.transport()
42
- : this.transport;
40
+ const transport = typeof this.transport === 'function' ? this.transport() : this.transport;
43
41
  if (transport === undefined) {
44
42
  throw new configuration_1.ZLinkConfigurationException('Channel runtime is not started.');
45
43
  }
@@ -80,9 +78,7 @@ class DefaultZLinkFanoutClient {
80
78
  }
81
79
  }
82
80
  requireTransport() {
83
- const transport = typeof this.transport === 'function'
84
- ? this.transport()
85
- : this.transport;
81
+ const transport = typeof this.transport === 'function' ? this.transport() : this.transport;
86
82
  if (transport === undefined) {
87
83
  throw new configuration_1.ZLinkConfigurationException('Channel runtime is not started.');
88
84
  }
@@ -106,19 +102,25 @@ class DefaultZLinkRouteClient {
106
102
  return new DefaultZLinkRequestCall(() => this.requireMesh(meshName), (packetName, timeoutMs, metadata, signal) => this.requireTransport().request(meshName, targetNodeRid, packetName, request, timeoutMs, signal, metadata), this.defaultRequestTimeout(meshName));
107
103
  }
108
104
  sendToChannel(channelName, message) {
109
- return new DefaultZLinkSendCall(() => { this.resolveMeshChannel(channelName); }, async (packetName, metadata, signal) => {
105
+ return new DefaultZLinkSendCall(() => {
106
+ this.resolveMeshChannel(channelName);
107
+ }, async (packetName, metadata, signal) => {
110
108
  const meshName = this.resolveMeshChannel(channelName);
111
109
  return normalizeSubmitResult(await this.requireTransport().submitToChannel(meshName, channelName, packetName, message, signal, metadata));
112
110
  });
113
111
  }
114
112
  requestToChannel(channelName, request) {
115
- return new DefaultZLinkRequestCall(() => { this.resolveMeshChannel(channelName); }, (packetName, timeoutMs, metadata, signal) => {
113
+ return new DefaultZLinkRequestCall(() => {
114
+ this.resolveMeshChannel(channelName);
115
+ }, (packetName, timeoutMs, metadata, signal) => {
116
116
  const meshName = this.resolveMeshChannel(channelName);
117
117
  return this.requireTransport().requestToChannel(meshName, channelName, packetName, request, timeoutMs, signal, metadata);
118
118
  }, this.defaultRequestTimeoutForChannel(channelName));
119
119
  }
120
120
  sendToSpot(spot, message) {
121
- return new DefaultZLinkSendCall(() => { this.requireSpotTransport(); }, async (_packetName, metadata, signal) => {
121
+ return new DefaultZLinkSendCall(() => {
122
+ this.requireSpotTransport();
123
+ }, async (_packetName, metadata, signal) => {
122
124
  await (0, spot_outbound_1.sendToSpotHandle)(this.requireSpotTransport(), spot, message, {
123
125
  signal,
124
126
  metadata,
@@ -128,7 +130,9 @@ class DefaultZLinkRouteClient {
128
130
  });
129
131
  }
130
132
  requestToSpot(spot, request) {
131
- return new DefaultZLinkRequestCall(() => { this.requireSpotTransport(); }, (_packetName, timeoutMs, metadata, signal) => (0, spot_outbound_1.requestToSpotHandle)(this.requireSpotTransport(), spot, request, {
133
+ return new DefaultZLinkRequestCall(() => {
134
+ this.requireSpotTransport();
135
+ }, (_packetName, timeoutMs, metadata, signal) => (0, spot_outbound_1.requestToSpotHandle)(this.requireSpotTransport(), spot, request, {
132
136
  timeoutMs,
133
137
  signal,
134
138
  metadata,
@@ -136,13 +140,14 @@ class DefaultZLinkRouteClient {
136
140
  }), this.registration.requestTimeoutMs ?? 30_000);
137
141
  }
138
142
  defaultRequestTimeout(meshName) {
139
- return this.registration.spotNodes.get(meshName)?.requestTimeoutMs
140
- ?? this.registration.routeChannelOptions.get(meshName)?.requestTimeoutMs
141
- ?? this.registration.requestTimeoutMs
142
- ?? 30_000;
143
+ return (this.registration.spotNodes.get(meshName)?.requestTimeoutMs ??
144
+ this.registration.routeChannelOptions.get(meshName)?.requestTimeoutMs ??
145
+ this.registration.requestTimeoutMs ??
146
+ 30_000);
143
147
  }
144
148
  requireMesh(meshName) {
145
- if (!this.registration.spotNodes.has(meshName) && !this.registration.routeChannels.has(meshName)) {
149
+ if (!this.registration.spotNodes.has(meshName) &&
150
+ !this.registration.routeChannels.has(meshName)) {
146
151
  throw new configuration_1.ZLinkConfigurationException(`RouteMesh '${meshName}' is not registered.`);
147
152
  }
148
153
  }
@@ -159,11 +164,8 @@ class DefaultZLinkRouteClient {
159
164
  return matches[0];
160
165
  }
161
166
  defaultRequestTimeoutForChannel(channelName) {
162
- const match = [...this.registration.spotNodes.entries()]
163
- .find(([, mesh]) => Object.prototype.hasOwnProperty.call(mesh.meshChannels ?? {}, channelName));
164
- return match?.[1].requestTimeoutMs
165
- ?? this.registration.requestTimeoutMs
166
- ?? 30_000;
167
+ const match = [...this.registration.spotNodes.entries()].find(([, mesh]) => Object.prototype.hasOwnProperty.call(mesh.meshChannels ?? {}, channelName));
168
+ return match?.[1].requestTimeoutMs ?? this.registration.requestTimeoutMs ?? 30_000;
167
169
  }
168
170
  requireTransport() {
169
171
  if (this.transport === undefined) {
@@ -192,7 +194,8 @@ class DefaultZLinkSpotPublisherClient {
192
194
  }
193
195
  requireMeshChannel(meshName, channelName) {
194
196
  const mesh = this.registration.spotNodes.get(meshName);
195
- if (mesh === undefined || !Object.prototype.hasOwnProperty.call(mesh.meshChannels ?? {}, channelName)) {
197
+ if (mesh === undefined ||
198
+ !Object.prototype.hasOwnProperty.call(mesh.meshChannels ?? {}, channelName)) {
196
199
  throw new configuration_1.ZLinkConfigurationException(`Channel '${channelName}' is not registered in RouteMesh '${meshName}'.`);
197
200
  }
198
201
  }
@@ -29,7 +29,7 @@ class ZLinkChannelDispatchPipeline {
29
29
  return;
30
30
  }
31
31
  try {
32
- const flow = (0, flow_context_1.createInboundFlow)(dispatch.fields.flowId, dispatch.fields.flowOrigin, this.options.dispatchErrors.flow.flowCreationEnabled());
32
+ const flow = (0, flow_context_1.createInboundFlow)(dispatch.fields.flowId, dispatch.fields.flowOrigin, this.options.dispatchErrors.flow.flowCreationEnabled(), undefined);
33
33
  const invocation = await (0, flow_context_1.runWithFlow)(flow, () => this.invoke(dispatch.envelope, dispatch.codecs, dispatch.handler, dispatch.context, dispatch.fields, dispatch.signal));
34
34
  if (invocation.handlerInvoked) {
35
35
  this.trace(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Completed, dispatch.fields);
@@ -57,7 +57,7 @@ class ZLinkChannelDispatchPipeline {
57
57
  }
58
58
  let reply;
59
59
  try {
60
- const flow = (0, flow_context_1.createInboundFlow)(dispatch.fields.flowId, dispatch.fields.flowOrigin, this.options.dispatchErrors.flow.flowCreationEnabled());
60
+ const flow = (0, flow_context_1.createInboundFlow)(dispatch.fields.flowId, dispatch.fields.flowOrigin, this.options.dispatchErrors.flow.flowCreationEnabled(), undefined);
61
61
  const invocation = await (0, flow_context_1.runWithFlow)(flow, () => this.invoke(dispatch.envelope, dispatch.codecs, dispatch.handler, dispatch.context, dispatch.fields, dispatch.signal));
62
62
  if (!invocation.handlerInvoked) {
63
63
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestRejected, `A handler filter rejected '${this.options.channelName}:${dispatch.fields.packetName}'.`);
@@ -99,12 +99,10 @@ class ZLinkChannelDispatchPipeline {
99
99
  */
100
100
  async dispatchMalformed(input) {
101
101
  const { info } = input;
102
- const isRequest = info.kind === 1 /* ZLinkChannelMessageKind.Request */
103
- || (info.kind === undefined && input.transportRequest);
102
+ const isRequest = info.kind === 1 /* ZLinkChannelMessageKind.Request */ ||
103
+ (info.kind === undefined && input.transportRequest);
104
104
  let replied = false;
105
- if (isRequest
106
- && input.writeProtocolError !== undefined
107
- && info.correlationId !== undefined) {
105
+ if (isRequest && input.writeProtocolError !== undefined && info.correlationId !== undefined) {
108
106
  const protocolError = new contracts_1.ZLinkFrameworkException(contracts_1.ZLinkFrameworkErrorKind.ProtocolError, `Channel '${this.options.channelName}' received a malformed envelope.`);
109
107
  try {
110
108
  await input.writeProtocolError(protocolError);
@@ -150,9 +148,7 @@ class ZLinkChannelDispatchPipeline {
150
148
  createFilterContext(context, fields) {
151
149
  const dispatchKind = this.dispatchKind(context, fields);
152
150
  return {
153
- meshName: dispatchKind === contracts_1.ZLinkHandlerDispatchKind.ClassicFanout
154
- ? undefined
155
- : context.meshName,
151
+ meshName: dispatchKind === contracts_1.ZLinkHandlerDispatchKind.ClassicFanout ? undefined : context.meshName,
156
152
  channelName: context.channelName,
157
153
  packetName: context.packetName,
158
154
  contentType: context.contentType,
@@ -165,8 +161,8 @@ class ZLinkChannelDispatchPipeline {
165
161
  if (fields.messageKind === ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Publish) {
166
162
  return contracts_1.ZLinkHandlerDispatchKind.ClassicFanout;
167
163
  }
168
- const nodeDirect = this.options.surface === ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.RouteMeshChannel
169
- && context.channelName === undefined;
164
+ const nodeDirect = this.options.surface === ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.RouteMeshChannel &&
165
+ context.channelName === undefined;
170
166
  if (fields.messageKind === ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request) {
171
167
  return nodeDirect
172
168
  ? contracts_1.ZLinkHandlerDispatchKind.NodeDirectRequest
@@ -179,12 +175,8 @@ class ZLinkChannelDispatchPipeline {
179
175
  report(fields, reason, action, error) {
180
176
  const classicFanout = fields.messageKind === ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Publish;
181
177
  this.options.dispatchErrors.report({
182
- surface: classicFanout
183
- ? ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.ClassicFanout
184
- : this.options.surface,
185
- messageKind: classicFanout
186
- ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send
187
- : fields.messageKind,
178
+ surface: classicFanout ? ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.ClassicFanout : this.options.surface,
179
+ messageKind: classicFanout ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send : fields.messageKind,
188
180
  reason,
189
181
  action,
190
182
  packetName: fields.packetName,
@@ -218,8 +210,8 @@ class ZLinkChannelDispatchPipeline {
218
210
  });
219
211
  }
220
212
  failureReason(error) {
221
- return error instanceof contracts_1.ZLinkFrameworkException
222
- && (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed
213
+ return error instanceof contracts_1.ZLinkFrameworkException &&
214
+ (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed
223
215
  ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.PayloadDecodeFailed
224
216
  : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerException;
225
217
  }
@@ -41,9 +41,10 @@ class ZLinkChannelDispatchServices {
41
41
  if (this.handlerFiltersValue !== undefined) {
42
42
  return this.handlerFiltersValue;
43
43
  }
44
- this.handlerFiltersValue = this.registration.filterTypes.length === 0
45
- ? []
46
- : [{ invoke: (context, next, signal) => this.invokeHandlerFilters(context, next, signal) }];
44
+ this.handlerFiltersValue =
45
+ this.registration.filterTypes.length === 0
46
+ ? []
47
+ : [{ invoke: (context, next, signal) => this.invokeHandlerFilters(context, next, signal) }];
47
48
  return this.handlerFiltersValue;
48
49
  }
49
50
  channelRequestHandler(handlerType) {
@@ -125,7 +126,9 @@ class ZLinkChannelDispatchServices {
125
126
  return this.diagnosticsContextValue;
126
127
  }
127
128
  outboundFlow() {
128
- this.outboundFlowValue ??= new diagnostics_1.ZLinkMessageFlowTracer(this.diagnosticsContext(), { reportRuntimeTaskException() { } });
129
+ this.outboundFlowValue ??= new diagnostics_1.ZLinkMessageFlowTracer(this.diagnosticsContext(), {
130
+ reportRuntimeTaskException() { }
131
+ });
129
132
  return this.outboundFlowValue;
130
133
  }
131
134
  }
@@ -52,7 +52,7 @@ class ZLinkChannelRequestDispatcher {
52
52
  transportRequest: replyToken !== null,
53
53
  writeProtocolError: replyToken === null
54
54
  ? undefined
55
- : protocolError => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)((0, channel_envelope_inspection_1.malformedProtocolErrorRequestHeader)(this.options.channelName, info), protocolError)), signal)
55
+ : (protocolError) => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)((0, channel_envelope_inspection_1.malformedProtocolErrorRequestHeader)(this.options.channelName, info), protocolError)), signal)
56
56
  });
57
57
  return;
58
58
  }
@@ -120,8 +120,8 @@ class ZLinkChannelRequestDispatcher {
120
120
  context,
121
121
  signal,
122
122
  missingHandlerMessage: `No channel request handler is registered for '${this.options.channelName}:${packetName}'.`,
123
- writeReply: reply => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelReplyParts)(envelope.header, reply, this.options.codecs)), signal),
124
- writeError: error => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)(envelope.header, error)), signal)
123
+ writeReply: (reply) => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelReplyParts)(envelope.header, reply, this.options.codecs)), signal),
124
+ writeError: (error) => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)(envelope.header, error)), signal)
125
125
  });
126
126
  }
127
127
  async dispatchMesh(record, signal) {
@@ -345,9 +345,9 @@ class ZLinkRoutePacketDispatcher {
345
345
  }
346
346
  dispatchInfrastructure(received) {
347
347
  const channelHeader = (0, channel_envelope_inspection_1.tryDecodeChannelHeader)(received.parts, this.flowEnabled());
348
- if (this.spotRouteBridge !== undefined
349
- && channelHeader === undefined
350
- && this.spotRouteBridge.handleRouterReceived(this.routerChannelId, received.routingId, 0n, received.parts)) {
348
+ if (this.spotRouteBridge !== undefined &&
349
+ channelHeader === undefined &&
350
+ this.spotRouteBridge.handleRouterReceived(this.routerChannelId, received.routingId, 0n, received.parts)) {
351
351
  return true;
352
352
  }
353
353
  if (received.spotId !== null && received.spotId !== undefined) {
@@ -385,7 +385,7 @@ class ZLinkRoutePacketDispatcher {
385
385
  sourceRid: String(received.routingId),
386
386
  writeProtocolError: replyToken === null
387
387
  ? undefined
388
- : protocolError => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)((0, channel_envelope_inspection_1.malformedProtocolErrorRequestHeader)(this.routerChannelId, info), protocolError)))
388
+ : (protocolError) => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)((0, channel_envelope_inspection_1.malformedProtocolErrorRequestHeader)(this.routerChannelId, info), protocolError)))
389
389
  });
390
390
  return;
391
391
  }
@@ -448,8 +448,8 @@ class ZLinkRoutePacketDispatcher {
448
448
  context: this.createRouteContext(envelope, received.routingId),
449
449
  signal,
450
450
  missingHandlerMessage: `No routed request handler is registered for '${this.routerChannelId}:${packetName}'.`,
451
- writeReply: reply => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelReplyParts)(envelope.header, reply, codecs))),
452
- writeError: error => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)(envelope.header, error)))
451
+ writeReply: (reply) => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelReplyParts)(envelope.header, reply, codecs))),
452
+ writeError: (error) => this.submitReply((0, channel_multipart_1.appendParts)(router.reply(received.routingId, replyToken), (0, channel_envelope_1.encodeChannelErrorReplyParts)(envelope.header, error)))
453
453
  });
454
454
  }
455
455
  async dispatchMesh(record, signal) {
@@ -66,11 +66,11 @@ function malformedProtocolErrorRequestHeader(channelName, info) {
66
66
  }
67
67
  const CHANNEL_FLOW_ID_PATTERN = /^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/;
68
68
  function salvageChannelKind(value) {
69
- return value === 1 /* ZLinkChannelMessageKind.Request */
70
- || value === 2 /* ZLinkChannelMessageKind.Response */
71
- || value === 3 /* ZLinkChannelMessageKind.Command */
72
- || value === 4 /* ZLinkChannelMessageKind.Publish */
73
- || value === 5 /* ZLinkChannelMessageKind.Error */
69
+ return value === 1 /* ZLinkChannelMessageKind.Request */ ||
70
+ value === 2 /* ZLinkChannelMessageKind.Response */ ||
71
+ value === 3 /* ZLinkChannelMessageKind.Command */ ||
72
+ value === 4 /* ZLinkChannelMessageKind.Publish */ ||
73
+ value === 5 /* ZLinkChannelMessageKind.Error */
74
74
  ? value
75
75
  : undefined;
76
76
  }
@@ -81,16 +81,19 @@ function salvageCorrelationId(value) {
81
81
  if (typeof value !== 'string')
82
82
  return undefined;
83
83
  const byteLength = Buffer.byteLength(value, 'utf8');
84
- return byteLength >= 1 && byteLength <= 64 && /^[\x00-\x7f]*$/.test(value)
85
- ? value
86
- : undefined;
84
+ return byteLength >= 1 && byteLength <= 64 && /^[\x00-\x7f]*$/.test(value) ? value : undefined;
87
85
  }
88
86
  function salvageFlowOrigin(value) {
89
87
  switch (value) {
90
- case 1: return 'Inbound';
91
- case 2: return 'Timer';
92
- case 3: return 'Application';
93
- case 4: return 'Lifecycle';
94
- default: return undefined;
88
+ case 1:
89
+ return 'Inbound';
90
+ case 2:
91
+ return 'Timer';
92
+ case 3:
93
+ return 'Application';
94
+ case 4:
95
+ return 'Lifecycle';
96
+ default:
97
+ return undefined;
95
98
  }
96
99
  }