@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
@@ -40,7 +40,10 @@ function encodeChannelEnvelopeParts(kind, channelName, packetName, payload, time
40
40
  const encoded = encodePayload(payload, (0, channel_framework_packets_1.codecsForFrameworkPacket)(messageName, codecs), messageName, 'payload');
41
41
  const flow = createFlow ? (0, flow_context_1.currentOrCreateFlow)('Application') : undefined;
42
42
  const envelopeCorrelationId = correlationIdForOutboundKind(kind, correlationId);
43
- return [encodeChannelHeader(kind, channelName, messageName, encoded.contentType, envelopeCorrelationId, timeoutMs === undefined ? null : new Date(Date.now() + timeoutMs).toISOString(), topic ?? null, null, null, undefined, applicationMetadataRecord(metadata), flow?.flowId, flow?.flowOrigin), encoded.message];
43
+ return [
44
+ encodeChannelHeader(kind, channelName, messageName, encoded.contentType, envelopeCorrelationId, timeoutMs === undefined ? null : new Date(Date.now() + timeoutMs).toISOString(), topic ?? null, null, null, undefined, applicationMetadataRecord(metadata), flow?.flowId, flow?.flowOrigin),
45
+ encoded.message
46
+ ];
44
47
  }
45
48
  /**
46
49
  * Encodes an outbound channel envelope with a deadline that was established
@@ -56,17 +59,26 @@ function encodeChannelEnvelopePartsAtDeadline(kind, channelName, packetName, pay
56
59
  const encoded = encodePayload(payload, (0, channel_framework_packets_1.codecsForFrameworkPacket)(messageName, codecs), messageName, 'payload');
57
60
  const flow = createFlow ? (0, flow_context_1.currentOrCreateFlow)('Application') : undefined;
58
61
  const envelopeCorrelationId = correlationIdForOutboundKind(kind, correlationId);
59
- return [encodeChannelHeader(kind, channelName, messageName, encoded.contentType, envelopeCorrelationId, new Date(deadlineUnixMs).toISOString(), topic ?? null, null, null, undefined, applicationMetadataRecord(metadata), flow?.flowId, flow?.flowOrigin), encoded.message];
62
+ return [
63
+ encodeChannelHeader(kind, channelName, messageName, encoded.contentType, envelopeCorrelationId, new Date(deadlineUnixMs).toISOString(), topic ?? null, null, null, undefined, applicationMetadataRecord(metadata), flow?.flowId, flow?.flowOrigin),
64
+ encoded.message
65
+ ];
60
66
  }
61
67
  function encodeChannelPublishEnvelopeParts(channelName, topic, packetName, payload, codecs, createFlow = true, metadata = EMPTY_OUTBOUND_METADATA) {
62
68
  const messageName = (0, packet_name_1.resolveFrameworkPacketName)(payload, packetName, 'Channel');
63
69
  const encoded = encodePayload(payload, (0, channel_framework_packets_1.codecsForFrameworkPacket)(messageName, codecs), messageName, 'payload');
64
70
  const flow = createFlow ? (0, flow_context_1.currentOrCreateFlow)('Application') : undefined;
65
- return [encodeChannelHeader(4 /* ZLinkChannelMessageKind.Publish */, channelName, messageName, encoded.contentType, null, null, topic, null, null, undefined, applicationMetadataRecord(metadata), flow?.flowId, flow?.flowOrigin), encoded.message];
71
+ return [
72
+ encodeChannelHeader(4 /* ZLinkChannelMessageKind.Publish */, channelName, messageName, encoded.contentType, null, null, topic, null, null, undefined, applicationMetadataRecord(metadata), flow?.flowId, flow?.flowOrigin),
73
+ encoded.message
74
+ ];
66
75
  }
67
76
  function encodeChannelReplyParts(request, payload, codecs) {
68
77
  const encoded = encodePayload(payload ?? Buffer.alloc(0), (0, channel_framework_packets_1.codecsForFrameworkPacket)(request.messageName, codecs), request.messageName, 'reply');
69
- return [encodeChannelHeader(2 /* ZLinkChannelMessageKind.Response */, request.channelName, request.messageName, encoded.contentType, request.correlationId, null, null, undefined, undefined, undefined, EMPTY_APPLICATION_METADATA, request.flowId, request.flowOrigin), encoded.message];
78
+ return [
79
+ encodeChannelHeader(2 /* ZLinkChannelMessageKind.Response */, request.channelName, request.messageName, encoded.contentType, request.correlationId, null, null, undefined, undefined, undefined, EMPTY_APPLICATION_METADATA, request.flowId, request.flowOrigin),
80
+ encoded.message
81
+ ];
70
82
  }
71
83
  /**
72
84
  * Reply metadata marker for errors the framework generated itself (never for
@@ -101,11 +113,12 @@ function channelErrorCodeName(kind) {
101
113
  return ERROR_KIND_WIRE_NAMES[kind] ?? 'internal_failure';
102
114
  }
103
115
  function encodeChannelErrorReplyParts(request, error, metadata = {}) {
104
- const errorCode = channelErrorCodeName(error instanceof contracts_1.ZLinkFrameworkException
105
- ? error.kind
106
- : contracts_1.ZLinkFrameworkErrorKind.InternalFailure);
116
+ const errorCode = channelErrorCodeName(error instanceof contracts_1.ZLinkFrameworkException ? error.kind : contracts_1.ZLinkFrameworkErrorKind.InternalFailure);
107
117
  const errorMessage = error instanceof Error ? error.message : String(error);
108
- return [encodeChannelHeader(5 /* ZLinkChannelMessageKind.Error */, request.channelName, request.messageName, exports.JSON_CONTENT_TYPE, request.correlationId, null, null, errorCode, errorMessage, undefined, metadata, request.flowId, request.flowOrigin), encodeJsonBytes(null)];
118
+ return [
119
+ encodeChannelHeader(5 /* ZLinkChannelMessageKind.Error */, request.channelName, request.messageName, exports.JSON_CONTENT_TYPE, request.correlationId, null, null, errorCode, errorMessage, undefined, metadata, request.flowId, request.flowOrigin),
120
+ encodeJsonBytes(null)
121
+ ];
109
122
  }
110
123
  function decodeChannelReply(parts, codecs) {
111
124
  const header = decodeChannelHeader(parts);
@@ -119,9 +132,9 @@ function decodeChannelReply(parts, codecs) {
119
132
  throw unsupportedChannelContentType(header.contentType);
120
133
  }
121
134
  const serializer = codecs?.serializers.get(header.contentType);
122
- if (serializer === undefined
123
- && header.contentType !== exports.BINARY_CONTENT_TYPE
124
- && header.contentType !== exports.JSON_CONTENT_TYPE) {
135
+ if (serializer === undefined &&
136
+ header.contentType !== exports.BINARY_CONTENT_TYPE &&
137
+ header.contentType !== exports.JSON_CONTENT_TYPE) {
125
138
  throw unsupportedChannelContentType(header.contentType);
126
139
  }
127
140
  if (parts.length < 2 || parts[1].data().length === 0) {
@@ -146,8 +159,7 @@ function decodeChannelError(header) {
146
159
  // Cross-language contract: errorCode carries the snake_case wire name.
147
160
  // An unknown name degrades to InternalFailure, matching the C++
148
161
  // request_failure_mapper fallback for unrecognized codes.
149
- const publicKind = ERROR_KIND_BY_WIRE_NAME.get(code)
150
- ?? contracts_1.ZLinkFrameworkErrorKind.InternalFailure;
162
+ const publicKind = ERROR_KIND_BY_WIRE_NAME.get(code) ?? contracts_1.ZLinkFrameworkErrorKind.InternalFailure;
151
163
  failure = new contracts_1.ZLinkFrameworkException(publicKind, message);
152
164
  }
153
165
  // Cross-language contract (.NET ZLinkErrorOriginWire.RemoteReplyOrigin /
@@ -160,10 +172,10 @@ function decodeChannelError(header) {
160
172
  // reached for bytes that DID come back over the wire) are unaffected and
161
173
  // stay unclassified (`origin: undefined`, i.e. "unspecified") because
162
174
  // they never call this function at all.
163
- failure.origin = header.metadata[exports.ZLINK_FRAMEWORK_ORIGIN_METADATA_KEY]
164
- === exports.ZLINK_FRAMEWORK_ORIGIN_METADATA_VALUE
165
- ? exports.ZLINK_FRAMEWORK_ORIGIN_METADATA_VALUE
166
- : 'application';
175
+ failure.origin =
176
+ header.metadata[exports.ZLINK_FRAMEWORK_ORIGIN_METADATA_KEY] === exports.ZLINK_FRAMEWORK_ORIGIN_METADATA_VALUE
177
+ ? exports.ZLINK_FRAMEWORK_ORIGIN_METADATA_VALUE
178
+ : 'application';
167
179
  return failure;
168
180
  }
169
181
  function decodeChannelEnvelope(parts, decodedHeader, flowEnabled = true) {
@@ -226,13 +238,12 @@ function encodePayload(value, codecs, packetName, contractPart) {
226
238
  message: (0, encoded_payload_storage_1.borrowEncodedPayload)(payload) ?? payload.data()
227
239
  };
228
240
  }
229
- const declaredType = (0, ZLinkMessage_1.isZLinkMessage)(value)
230
- ? (0, ZLinkMessage_1.readZLinkMessageDeclaredType)(value)
231
- : undefined;
241
+ const declaredType = (0, ZLinkMessage_1.isZLinkMessage)(value) ? (0, ZLinkMessage_1.readZLinkMessageDeclaredType)(value) : undefined;
232
242
  if ((0, ZLinkMessage_1.isZLinkMessage)(value))
233
243
  value = value.decode();
234
244
  const selected = (0, payload_codec_1.selectSerializerWithContentType)(value, codecs, declaredType);
235
- if (selected !== undefined && !(Buffer.isBuffer(value) || value instanceof Uint8Array || isMessage(value))) {
245
+ if (selected !== undefined &&
246
+ !(Buffer.isBuffer(value) || value instanceof Uint8Array || isMessage(value))) {
236
247
  const payload = selected.serializer.serialize(value);
237
248
  return {
238
249
  contentType: selected.contentType,
@@ -256,7 +267,9 @@ function contentTypeOf(value) {
256
267
  : exports.JSON_CONTENT_TYPE;
257
268
  }
258
269
  function isMessage(value) {
259
- return typeof value === 'object' && value !== null && typeof value.data === 'function';
270
+ return (typeof value === 'object' &&
271
+ value !== null &&
272
+ typeof value.data === 'function');
260
273
  }
261
274
  function encodeJsonBytes(value, schema) {
262
275
  return Buffer.from((0, framework_json_v1_1.stringifyFrameworkJsonV1)(value, schema));
@@ -403,10 +416,14 @@ class ChannelHeaderWriter {
403
416
  }
404
417
  function encodeFlowOrigin(origin) {
405
418
  switch (origin) {
406
- case 'Inbound': return 1;
407
- case 'Timer': return 2;
408
- case 'Application': return 3;
409
- case 'Lifecycle': return 4;
419
+ case 'Inbound':
420
+ return 1;
421
+ case 'Timer':
422
+ return 2;
423
+ case 'Application':
424
+ return 3;
425
+ case 'Lifecycle':
426
+ return 4;
410
427
  }
411
428
  }
412
429
  function decodeChannelHeader(parts, flowEnabled = true) {
@@ -534,9 +551,14 @@ class CanonicalChannelHeaderReader {
534
551
  return undefined;
535
552
  }
536
553
  }
537
- else if (escaped !== 0x22 && escaped !== 0x5c && escaped !== 0x2f
538
- && escaped !== 0x62 && escaped !== 0x66 && escaped !== 0x6e
539
- && escaped !== 0x72 && escaped !== 0x74) {
554
+ else if (escaped !== 0x22 &&
555
+ escaped !== 0x5c &&
556
+ escaped !== 0x2f &&
557
+ escaped !== 0x62 &&
558
+ escaped !== 0x66 &&
559
+ escaped !== 0x6e &&
560
+ escaped !== 0x72 &&
561
+ escaped !== 0x74) {
540
562
  return undefined;
541
563
  }
542
564
  }
@@ -576,9 +598,9 @@ class CanonicalChannelHeaderReader {
576
598
  }
577
599
  }
578
600
  function isHexDigit(value) {
579
- return (value >= 0x30 && value <= 0x39)
580
- || (value >= 0x41 && value <= 0x46)
581
- || (value >= 0x61 && value <= 0x66);
601
+ return ((value >= 0x30 && value <= 0x39) ||
602
+ (value >= 0x41 && value <= 0x46) ||
603
+ (value >= 0x61 && value <= 0x66));
582
604
  }
583
605
  function schemaForInboundChannelEnvelope(header) {
584
606
  const contract = (0, Attributes_1.readZLinkPacketJsonContract)(header.messageName);
@@ -613,9 +635,14 @@ function validateChannelHeader(value, flowEnabled = true) {
613
635
  requireNullableString(header.topic, 'topic');
614
636
  // Parsing already gives this receive operation an owned object. Validate
615
637
  // and normalize it here instead of allocating a second header per record.
616
- header.errorCode = header.errorCode === undefined ? null : requireNullableString(header.errorCode, 'errorCode');
617
- header.errorMessage = header.errorMessage === undefined ? null : requireNullableString(header.errorMessage, 'errorMessage');
618
- header.source = header.source === undefined ? undefined : requireNullableString(header.source, 'source');
638
+ header.errorCode =
639
+ header.errorCode === undefined ? null : requireNullableString(header.errorCode, 'errorCode');
640
+ header.errorMessage =
641
+ header.errorMessage === undefined
642
+ ? null
643
+ : requireNullableString(header.errorMessage, 'errorMessage');
644
+ header.source =
645
+ header.source === undefined ? undefined : requireNullableString(header.source, 'source');
619
646
  header.metadata = requireApplicationMetadata(header.metadata);
620
647
  header.flowId = flowId;
621
648
  header.flowOrigin = flowOrigin;
@@ -638,9 +665,9 @@ function correlationIdForOutboundKind(kind, correlationId) {
638
665
  return selected;
639
666
  }
640
667
  function validateCorrelationForKind(kind, correlationId) {
641
- if (kind === 1 /* ZLinkChannelMessageKind.Request */
642
- || kind === 2 /* ZLinkChannelMessageKind.Response */
643
- || kind === 5 /* ZLinkChannelMessageKind.Error */) {
668
+ if (kind === 1 /* ZLinkChannelMessageKind.Request */ ||
669
+ kind === 2 /* ZLinkChannelMessageKind.Response */ ||
670
+ kind === 5 /* ZLinkChannelMessageKind.Error */) {
644
671
  if (correlationId === null) {
645
672
  throw new configuration_1.ZLinkConfigurationException(`Channel ${channelKindName(kind)} requires correlationId.`);
646
673
  }
@@ -659,11 +686,16 @@ function validateCorrelationValue(correlationId) {
659
686
  }
660
687
  function channelKindName(kind) {
661
688
  switch (kind) {
662
- case 1 /* ZLinkChannelMessageKind.Request */: return 'request';
663
- case 2 /* ZLinkChannelMessageKind.Response */: return 'response';
664
- case 3 /* ZLinkChannelMessageKind.Command */: return 'send';
665
- case 4 /* ZLinkChannelMessageKind.Publish */: return 'publish';
666
- case 5 /* ZLinkChannelMessageKind.Error */: return 'error';
689
+ case 1 /* ZLinkChannelMessageKind.Request */:
690
+ return 'request';
691
+ case 2 /* ZLinkChannelMessageKind.Response */:
692
+ return 'response';
693
+ case 3 /* ZLinkChannelMessageKind.Command */:
694
+ return 'send';
695
+ case 4 /* ZLinkChannelMessageKind.Publish */:
696
+ return 'publish';
697
+ case 5 /* ZLinkChannelMessageKind.Error */:
698
+ return 'error';
667
699
  }
668
700
  }
669
701
  const EMPTY_APPLICATION_METADATA = Object.freeze({});
@@ -712,10 +744,14 @@ function requireFlowId(value) {
712
744
  }
713
745
  function requireFlowOrigin(value) {
714
746
  switch (value) {
715
- case 1: return 'Inbound';
716
- case 2: return 'Timer';
717
- case 3: return 'Application';
718
- case 4: return 'Lifecycle';
747
+ case 1:
748
+ return 'Inbound';
749
+ case 2:
750
+ return 'Timer';
751
+ case 3:
752
+ return 'Application';
753
+ case 4:
754
+ return 'Lifecycle';
719
755
  }
720
756
  throw new configuration_1.ZLinkConfigurationException('Channel envelope flowOrigin is invalid.');
721
757
  }
@@ -76,7 +76,7 @@ class ZLinkChannelOutboundOperations {
76
76
  channelRouteKind: 'client_server',
77
77
  serverRid,
78
78
  packetName,
79
- correlationId: undefined,
79
+ correlationId: undefined
80
80
  });
81
81
  }
82
82
  request(channelName, packetName, request, timeoutMs, signal, metadata) {
@@ -287,8 +287,8 @@ class ZLinkChannelOutboundOperations {
287
287
  if (!isRemoteChannelErrorReply(error)) {
288
288
  traceTerminal(requestTerminalResult(error, signal));
289
289
  }
290
- if (this.sockets.routeMemberStatus(routerChannelId, targetNodeRid) === 'disconnected'
291
- && (isSubmitDeadline(error) || error instanceof route_disconnected_error_1.ZLinkRouteDisconnectedError)) {
290
+ if (this.sockets.routeMemberStatus(routerChannelId, targetNodeRid) === 'disconnected' &&
291
+ (isSubmitDeadline(error) || error instanceof route_disconnected_error_1.ZLinkRouteDisconnectedError)) {
292
292
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `Route channel '${routerChannelId}' member '${targetNodeRid}' is not connected.`, true, error);
293
293
  }
294
294
  throw error;
@@ -319,8 +319,8 @@ function keepChannelRequestAlive(request) {
319
319
  return request.finally(() => clearTimeout(keepalive));
320
320
  }
321
321
  function isSubmitDeadline(error) {
322
- return error instanceof contracts_1.ZLinkFrameworkException
323
- && (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded;
322
+ return (error instanceof contracts_1.ZLinkFrameworkException &&
323
+ (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded);
324
324
  }
325
325
  function publishResult(status) {
326
326
  return { status };
@@ -335,7 +335,7 @@ function requestTerminalResult(error, signal) {
335
335
  return 'failed';
336
336
  }
337
337
  function isRemoteChannelErrorReply(error) {
338
- return error instanceof contracts_1.ZLinkFrameworkException
339
- && 'origin' in error
340
- && error.origin !== undefined;
338
+ return (error instanceof contracts_1.ZLinkFrameworkException &&
339
+ 'origin' in error &&
340
+ error.origin !== undefined);
341
341
  }
@@ -22,7 +22,7 @@ class ZLinkReceiveRoundRobinCoordinator {
22
22
  return token;
23
23
  }
24
24
  setReady(token, ready) {
25
- const owner = this.owners.find(candidate => candidate.token === token);
25
+ const owner = this.owners.find((candidate) => candidate.token === token);
26
26
  if (owner !== undefined)
27
27
  owner.ready = ready;
28
28
  }
@@ -38,7 +38,7 @@ class ZLinkReceiveRoundRobinCoordinator {
38
38
  release(token) {
39
39
  if (this.active !== token)
40
40
  return;
41
- const index = this.owners.findIndex(owner => owner.token === token);
41
+ const index = this.owners.findIndex((owner) => owner.token === token);
42
42
  this.active = undefined;
43
43
  if (this.owners.length > 0)
44
44
  this.cursor = (index + 1) % this.owners.length;
@@ -47,7 +47,7 @@ class ZLinkReceiveRoundRobinCoordinator {
47
47
  return this.rawReceiveReservations.tryAcquire();
48
48
  }
49
49
  unregister(token) {
50
- const index = this.owners.findIndex(owner => owner.token === token);
50
+ const index = this.owners.findIndex((owner) => owner.token === token);
51
51
  if (index < 0)
52
52
  return;
53
53
  if (this.active === token)
@@ -152,7 +152,7 @@ class ZLinkChannelReceiveLoop {
152
152
  this.roundRobin?.setReady(this.receiveOwner, false);
153
153
  this.roundRobin?.release(this.receiveOwner);
154
154
  batch.reset();
155
- if (!await this.poller.waitForReadable(capacitySignal))
155
+ if (!(await this.poller.waitForReadable(capacitySignal)))
156
156
  break;
157
157
  continue;
158
158
  }
@@ -184,7 +184,7 @@ class ZLinkChannelReceiveLoop {
184
184
  this.roundRobin?.setReady(this.receiveOwner, false);
185
185
  this.roundRobin?.release(this.receiveOwner);
186
186
  batch.reset();
187
- if (!await this.poller.waitForReadable(capacitySignal))
187
+ if (!(await this.poller.waitForReadable(capacitySignal)))
188
188
  break;
189
189
  continue;
190
190
  }
@@ -277,8 +277,8 @@ class ZLinkChannelReceiveLoop {
277
277
  return { kind: 'consumed', closeReceived: true };
278
278
  }
279
279
  const decodedHeader = (0, channel_envelope_inspection_1.tryDecodeChannelHeader)(received.parts, this.dispatcher.flowEnabled?.() ?? true);
280
- if (decodedHeader === undefined
281
- && this.spotRouteBridge?.handleRouterReceived(this.channelName, received.routingId, 0n, received.parts) === true) {
280
+ if (decodedHeader === undefined &&
281
+ this.spotRouteBridge?.handleRouterReceived(this.channelName, received.routingId, 0n, received.parts) === true) {
282
282
  return { kind: 'consumed', closeReceived: false };
283
283
  }
284
284
  return { kind: 'application', decodedHeader };
@@ -342,7 +342,7 @@ class ZLinkSubscriberReceiveLoop {
342
342
  this.roundRobin?.setReady(this.receiveOwner, false);
343
343
  this.roundRobin?.release(this.receiveOwner);
344
344
  batch.reset();
345
- if (!await this.poller.waitForReadable(capacitySignal))
345
+ if (!(await this.poller.waitForReadable(capacitySignal)))
346
346
  break;
347
347
  continue;
348
348
  }
@@ -373,7 +373,7 @@ class ZLinkSubscriberReceiveLoop {
373
373
  this.roundRobin?.setReady(this.receiveOwner, false);
374
374
  this.roundRobin?.release(this.receiveOwner);
375
375
  batch.reset();
376
- if (!await this.poller.waitForReadable(capacitySignal))
376
+ if (!(await this.poller.waitForReadable(capacitySignal)))
377
377
  break;
378
378
  continue;
379
379
  }
@@ -454,11 +454,9 @@ class ZLinkSubscriberReceiveLoop {
454
454
  }
455
455
  classify(topicMessage) {
456
456
  const infrastructureResult = this.infrastructureHandler?.(topicMessage);
457
- const decodedHeader = typeof infrastructureResult === 'object'
458
- ? infrastructureResult.decodedHeader
459
- : undefined;
460
- if (infrastructureResult === true
461
- || (typeof infrastructureResult === 'object' && infrastructureResult.consumed)) {
457
+ const decodedHeader = typeof infrastructureResult === 'object' ? infrastructureResult.decodedHeader : undefined;
458
+ if (infrastructureResult === true ||
459
+ (typeof infrastructureResult === 'object' && infrastructureResult.consumed)) {
462
460
  return { kind: 'consumed' };
463
461
  }
464
462
  return { kind: 'application', decodedHeader };
@@ -518,7 +516,7 @@ class ZLinkRouteReceiveLoop {
518
516
  this.roundRobin?.setReady(this.receiveOwner, false);
519
517
  this.roundRobin?.release(this.receiveOwner);
520
518
  batch.reset();
521
- if (!await this.poller.waitForReadable(capacitySignal))
519
+ if (!(await this.poller.waitForReadable(capacitySignal)))
522
520
  break;
523
521
  continue;
524
522
  }
@@ -542,7 +540,7 @@ class ZLinkRouteReceiveLoop {
542
540
  this.roundRobin?.setReady(this.receiveOwner, false);
543
541
  this.roundRobin?.release(this.receiveOwner);
544
542
  batch.reset();
545
- if (!await this.poller.waitForReadable(capacitySignal))
543
+ if (!(await this.poller.waitForReadable(capacitySignal)))
546
544
  break;
547
545
  continue;
548
546
  }
@@ -566,7 +564,7 @@ class ZLinkRouteReceiveLoop {
566
564
  // Promise. Track that terminal without serializing the single route
567
565
  // receiver; the held reservation bounds pending infrastructure sends.
568
566
  this.inFlight.track(infrastructure
569
- .catch(error => {
567
+ .catch((error) => {
570
568
  received.close();
571
569
  throw error;
572
570
  })
@@ -656,12 +654,12 @@ class ZLinkReceiveBatchBudget {
656
654
  record(bytes) {
657
655
  this.messages += 1;
658
656
  this.bytes += bytes;
659
- return this.messages >= RECEIVE_BATCH_MESSAGE_LIMIT
660
- || this.bytes >= RECEIVE_BATCH_BYTE_LIMIT
661
- || performance.now() - this.startedAt >= RECEIVE_BATCH_TIME_LIMIT_MS;
657
+ return (this.messages >= RECEIVE_BATCH_MESSAGE_LIMIT ||
658
+ this.bytes >= RECEIVE_BATCH_BYTE_LIMIT ||
659
+ performance.now() - this.startedAt >= RECEIVE_BATCH_TIME_LIMIT_MS);
662
660
  }
663
661
  async yieldAndReset() {
664
- await new Promise(resolve => setImmediate(resolve));
662
+ await new Promise((resolve) => setImmediate(resolve));
665
663
  this.reset();
666
664
  }
667
665
  reset() {
@@ -671,7 +669,7 @@ class ZLinkReceiveBatchBudget {
671
669
  }
672
670
  }
673
671
  function waitReceiveLoopTurn() {
674
- return new Promise(resolve => setImmediate(resolve));
672
+ return new Promise((resolve) => setImmediate(resolve));
675
673
  }
676
674
  function messageBytes(parts) {
677
675
  return parts.reduce((sum, part) => sum + messagePartBytes(part), 0);
@@ -15,7 +15,7 @@ class ZLinkReceiveTaskTracker {
15
15
  }
16
16
  track(task, consumeError = true) {
17
17
  this.tasks.add(task);
18
- void task.then(() => this.complete(task), error => {
18
+ void task.then(() => this.complete(task), (error) => {
19
19
  this.complete(task);
20
20
  if (consumeError) {
21
21
  try {