@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
@@ -27,8 +27,8 @@ class DefaultZLinkSpotOutbound {
27
27
  this.channelClient = options.channelClient;
28
28
  this.spotPublisherClient = options.spotPublisherClient;
29
29
  this.routedTransport = options.routedTransport;
30
- this.spotRouterChannelIdForMesh = options.spotRouterChannelIdForMesh
31
- ?? ((meshName) => meshName);
30
+ this.spotRouterChannelIdForMesh =
31
+ options.spotRouterChannelIdForMesh ?? ((meshName) => meshName);
32
32
  this.sourceSpotProvider = options.sourceSpotProvider;
33
33
  this.meshName = options.meshName;
34
34
  this.addressTransport = options.addressTransport;
@@ -194,8 +194,8 @@ function markSubmitted(options) {
194
194
  if (options.submitted) {
195
195
  (0, submission_result_1.throwAlreadySubmitted)('Spot call');
196
196
  }
197
- if (!options.instanceSpot && (options.instanceSpotType !== undefined
198
- || options.initialMeshName !== undefined)) {
197
+ if (!options.instanceSpot &&
198
+ (options.instanceSpotType !== undefined || options.initialMeshName !== undefined)) {
199
199
  throw new configuration_1.ZLinkConfigurationException('Mesh selection requires an Instance Spot intent.');
200
200
  }
201
201
  options.submitted = true;
@@ -279,17 +279,14 @@ function wrapRequestCall(serial, inner) {
279
279
  * otherwise the start is enqueued as its own serial turn.
280
280
  */
281
281
  function startRequestOnSerial(serial, begin) {
282
- return runInternalTransportStart(serial, begin)
283
- .then((startedRequest) => startedRequest.pending);
282
+ return runInternalTransportStart(serial, begin).then((startedRequest) => startedRequest.pending);
284
283
  }
285
284
  /**
286
285
  * Synthesizes only the transport start in the current turn. This is not a
287
286
  * nested public operation: public same-owner waits are rejected or use Yield.
288
287
  */
289
288
  function runInternalTransportStart(serial, begin) {
290
- return serial.isCurrentTurn
291
- ? Promise.resolve().then(begin)
292
- : serial.post(begin);
289
+ return serial.isCurrentTurn ? Promise.resolve().then(begin) : serial.post(begin);
293
290
  }
294
291
  function wrapRoutedSpotSendCall(serial, transport, spot, message, spotRouterChannelIdForMesh, sourceSpotProvider) {
295
292
  const metadata = new Map();
@@ -447,13 +444,12 @@ function spotRefToSpotRouteTarget(spot, spotRouterChannelIdForMesh = (meshName)
447
444
  };
448
445
  }
449
446
  function shouldRefreshAfterRouteDisconnect(target, error) {
450
- return target.targetNodeState === contracts_1.ZLinkFrameworkRuntimeState.Serving
451
- && error instanceof Errors_1.ZLinkFrameworkException
452
- && (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected;
447
+ return (target.targetNodeState === contracts_1.ZLinkFrameworkRuntimeState.Serving &&
448
+ error instanceof Errors_1.ZLinkFrameworkException &&
449
+ (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected);
453
450
  }
454
451
  function isShutdownTargetState(state) {
455
- return state === contracts_1.ZLinkFrameworkRuntimeState.Draining
456
- || state === contracts_1.ZLinkFrameworkRuntimeState.Stopped;
452
+ return (state === contracts_1.ZLinkFrameworkRuntimeState.Draining || state === contracts_1.ZLinkFrameworkRuntimeState.Stopped);
457
453
  }
458
454
  function normalizeSpotRefRoutingId(routingId) {
459
455
  return (0, routing_id_1.normalizeOpaqueRoutingId)(routingId);
@@ -20,13 +20,10 @@ function hasRemoteActorJoinIdentity(value) {
20
20
  typeof value.actorType === 'string');
21
21
  }
22
22
  function isRemoteActorJoinPayload(value) {
23
- return (hasRemoteActorJoinIdentity(value) &&
24
- typeof value.request === 'string');
23
+ return hasRemoteActorJoinIdentity(value) && typeof value.request === 'string';
25
24
  }
26
25
  function decodeRemoteActorJoinPayload(payload, request, received, raw, envelope) {
27
- const phase = payload.phase === 'admission' || payload.phase === 'commit'
28
- ? payload.phase
29
- : undefined;
26
+ const phase = payload.phase === 'admission' || payload.phase === 'commit' ? payload.phase : undefined;
30
27
  const transferProtocol = phase !== undefined;
31
28
  return {
32
29
  envelope,
@@ -45,20 +42,19 @@ function decodeRemoteActorJoinPayload(payload, request, received, raw, envelope)
45
42
  : undefined,
46
43
  phase,
47
44
  transferId: typeof payload.transferId === 'string' ? payload.transferId : undefined,
48
- transferAdapterKey: typeof payload.transferAdapterKey === 'string'
49
- ? payload.transferAdapterKey
50
- : undefined,
45
+ transferAdapterKey: typeof payload.transferAdapterKey === 'string' ? payload.transferAdapterKey : undefined,
51
46
  transferState: typeof payload.transferState === 'string'
52
47
  ? runtime_message_1.ZLinkBufferMessage.from(Buffer.from(payload.transferState, 'base64'))
53
48
  : undefined,
54
49
  handoffBacklog: decodeHandoffBacklog(payload.handoffBacklog),
55
- remoteBoundSessionTarget: decodeRemoteBoundSessionTarget(transferProtocol ? payload.boundSessionRouterChannelId : payload.boundSessionRouterChannelId ?? payload.routerChannelId, transferProtocol
50
+ remoteBoundSessionTarget: decodeRemoteBoundSessionTarget(transferProtocol
51
+ ? payload.boundSessionRouterChannelId
52
+ : (payload.boundSessionRouterChannelId ?? payload.routerChannelId), transferProtocol
56
53
  ? payload.boundSessionTargetNodeRid
57
- : payload.boundSessionTargetNodeRid ?? (received.routingId === null
58
- ? payload.actorNodeRid
59
- : String(received.routingId)), payload.boundSessionTargetNodeRidHex, transferProtocol
54
+ : (payload.boundSessionTargetNodeRid ??
55
+ (received.routingId === null ? payload.actorNodeRid : String(received.routingId))), payload.boundSessionTargetNodeRidHex, transferProtocol
60
56
  ? payload.boundSessionSpotId
61
- : payload.boundSessionSpotId ?? payload.sourceSpotId, payload.boundSessionNodeRid, payload.boundSessionNodeRidHex, payload.boundSessionRid, payload.boundSessionRidHex, payload.boundSessionBindingGeneration, payload.boundSessionPreviousAuthorityOwnerGeneration, payload.boundSessionPreviousOwnerLeaseGeneration, payload.boundSessionRelocationSealId, payload.boundSessionServiceWireRelocation),
57
+ : (payload.boundSessionSpotId ?? payload.sourceSpotId), payload.boundSessionNodeRid, payload.boundSessionNodeRidHex, payload.boundSessionRid, payload.boundSessionRidHex, payload.boundSessionBindingGeneration, payload.boundSessionPreviousAuthorityOwnerGeneration, payload.boundSessionPreviousOwnerLeaseGeneration, payload.boundSessionRelocationSealId, payload.boundSessionServiceWireRelocation),
62
58
  request,
63
59
  requestContentType: typeof payload.requestContentType === 'string'
64
60
  ? payload.requestContentType
@@ -69,7 +65,8 @@ function decodeHandoffBacklog(value) {
69
65
  if (!Array.isArray(value))
70
66
  return [];
71
67
  return value.map((entry, expectedIndex) => {
72
- if (typeof entry !== 'object' || entry === null ||
68
+ if (typeof entry !== 'object' ||
69
+ entry === null ||
73
70
  entry.index !== expectedIndex ||
74
71
  typeof entry.header !== 'string' ||
75
72
  typeof entry.payload !== 'string' ||
@@ -79,12 +76,15 @@ function decodeHandoffBacklog(value) {
79
76
  const packet = entry;
80
77
  const messageFollowContext = (0, actors_1.decodeActorMessageFollowContext)(packet.messageFollowContext);
81
78
  const source = packet.source;
82
- if (messageFollowContext === undefined
83
- || (packet.returnResponse && (source === undefined || source.ownerId.length === 0
84
- || BigInt(source.ownerLeaseGeneration) <= 0n || source.nodeRid.length === 0
85
- || BigInt(source.nodeGeneration) <= 0n
86
- || source.replyRouteId !== messageFollowContext.replyRouteId))
87
- || (!packet.returnResponse && source !== undefined)) {
79
+ if (messageFollowContext === undefined ||
80
+ (packet.returnResponse &&
81
+ (source === undefined ||
82
+ source.ownerId.length === 0 ||
83
+ BigInt(source.ownerLeaseGeneration) <= 0n ||
84
+ source.nodeRid.length === 0 ||
85
+ BigInt(source.nodeGeneration) <= 0n ||
86
+ source.replyRouteId !== messageFollowContext.replyRouteId)) ||
87
+ (!packet.returnResponse && source !== undefined)) {
88
88
  throw new Error('Remote actor handoff request source fence is invalid.');
89
89
  }
90
90
  return { ...packet, messageFollowContext };
@@ -114,12 +114,8 @@ function decodeRemoteBoundSessionTarget(routerChannelId, targetNodeRid, targetNo
114
114
  sessionNodeRid: typeof sessionNodeRid === 'string'
115
115
  ? (0, routing_id_1.decodeRoutingId)(sessionNodeRid, sessionNodeRidHex)
116
116
  : undefined,
117
- sessionRid: typeof sessionRid === 'string'
118
- ? (0, routing_id_1.decodeRoutingId)(sessionRid, sessionRidHex)
119
- : undefined,
120
- bindingGeneration: typeof bindingGeneration === 'string'
121
- ? BigInt(bindingGeneration)
122
- : undefined,
117
+ sessionRid: typeof sessionRid === 'string' ? (0, routing_id_1.decodeRoutingId)(sessionRid, sessionRidHex) : undefined,
118
+ bindingGeneration: typeof bindingGeneration === 'string' ? BigInt(bindingGeneration) : undefined,
123
119
  previousAuthorityOwnerGeneration: typeof previousAuthorityOwnerGeneration === 'string'
124
120
  ? BigInt(previousAuthorityOwnerGeneration)
125
121
  : undefined,
@@ -41,10 +41,10 @@ function decodeRemoteBoundSessionSend(parts, codecs, flowEnabled = true) {
41
41
  }
42
42
  }
43
43
  function decodeActorRef(payload) {
44
- if (typeof payload.actorId !== 'string'
45
- || typeof payload.actorNodeRid !== 'string'
46
- || typeof payload.actorGeneration !== 'string'
47
- || typeof payload.actorMeshName !== 'string') {
44
+ if (typeof payload.actorId !== 'string' ||
45
+ typeof payload.actorNodeRid !== 'string' ||
46
+ typeof payload.actorGeneration !== 'string' ||
47
+ typeof payload.actorMeshName !== 'string') {
48
48
  return undefined;
49
49
  }
50
50
  const actorRef = {
@@ -162,7 +162,5 @@ function decodeMultipartPayload(parts, codecs, flowEnabled = true) {
162
162
  };
163
163
  }
164
164
  function metadataOf(value) {
165
- return new Map(Object.entries(typeof value === 'object' && value !== null
166
- ? value
167
- : {}));
165
+ return new Map(Object.entries(typeof value === 'object' && value !== null ? value : {}));
168
166
  }
@@ -49,9 +49,7 @@ class ZLinkSpotRoutePacketDispatch {
49
49
  }
50
50
  const registrations = this.options.packetHandlers.get(envelope.packetName ?? '');
51
51
  const replyable = (0, spot_route_replies_1.hasReplyToken)(received.replyToken);
52
- const action = replyable
53
- ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.ReplyError
54
- : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop;
52
+ const action = replyable ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.ReplyError : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop;
55
53
  if (registrations === undefined || registrations.length === 0) {
56
54
  this.options.dispatchErrors?.report({
57
55
  surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.SpotRoute,
@@ -85,7 +83,7 @@ class ZLinkSpotRoutePacketDispatch {
85
83
  let response;
86
84
  const applicationClaim = this.options.claimApplicationWork?.();
87
85
  try {
88
- await (0, flow_context_1.runWithFlow)((0, flow_context_1.createInboundFlow)(envelope.header.flowId, envelope.header.flowOrigin, this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true), () => this.options.serial.execute(async () => {
86
+ await (0, flow_context_1.runWithFlow)((0, flow_context_1.createInboundFlow)(envelope.header.flowId, envelope.header.flowOrigin, this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true, undefined), () => this.options.serial.execute(async () => {
89
87
  const spot = this.options.getTarget();
90
88
  // Keep the wire payload raw until this Spot has acquired its
91
89
  // execution authority. A rejected or superseded work item must not
@@ -107,8 +105,8 @@ class ZLinkSpotRoutePacketDispatch {
107
105
  return true;
108
106
  }
109
107
  catch (error) {
110
- const payloadDecodeFailed = error instanceof contracts_1.ZLinkFrameworkException
111
- && (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed;
108
+ const payloadDecodeFailed = error instanceof contracts_1.ZLinkFrameworkException &&
109
+ (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed;
112
110
  this.options.dispatchErrors?.report({
113
111
  surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.SpotRoute,
114
112
  messageKind: replyable ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send,
@@ -136,7 +134,9 @@ class ZLinkSpotRoutePacketDispatch {
136
134
  }
137
135
  async dispatchSpotDirectEnvelope(received, envelope) {
138
136
  const replyable = envelope.kind === 1 /* ZLinkChannelMessageKind.Request */ && (0, spot_route_replies_1.hasReplyToken)(received.replyToken);
139
- const messageKind = replyable ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send;
137
+ const messageKind = replyable
138
+ ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request
139
+ : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send;
140
140
  const action = replyable ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.ReplyError : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop;
141
141
  const registrations = this.options.packetHandlers.get(envelope.packetName ?? '');
142
142
  if (registrations === undefined || registrations.length === 0) {
@@ -149,7 +149,8 @@ class ZLinkSpotRoutePacketDispatch {
149
149
  channelName: envelope.channelName
150
150
  });
151
151
  if (replyable) {
152
- (0, spot_route_replies_1.submitRouteReply)(received.reply()
152
+ (0, spot_route_replies_1.submitRouteReply)(received
153
+ .reply()
153
154
  .message(encodeSpotDirectReply(false, undefined, `SPOT route handler not found: ${envelope.packetName}`)));
154
155
  }
155
156
  return;
@@ -170,8 +171,7 @@ class ZLinkSpotRoutePacketDispatch {
170
171
  }
171
172
  }, (0, serial_work_size_1.zlinkSerialWorkOptions)(received.parts[0]?.size() ?? 0, (0, serial_work_size_1.zlinkMetadataByteLength)(envelope.metadata)));
172
173
  if (replyable) {
173
- (0, spot_route_replies_1.submitRouteReply)(received.reply()
174
- .message(encodeSpotDirectReply(true, response)));
174
+ (0, spot_route_replies_1.submitRouteReply)(received.reply().message(encodeSpotDirectReply(true, response)));
175
175
  }
176
176
  }
177
177
  catch (error) {
@@ -185,7 +185,8 @@ class ZLinkSpotRoutePacketDispatch {
185
185
  error
186
186
  });
187
187
  if (replyable) {
188
- (0, spot_route_replies_1.submitRouteReply)(received.reply()
188
+ (0, spot_route_replies_1.submitRouteReply)(received
189
+ .reply()
189
190
  .message(encodeSpotDirectReply(false, undefined, error instanceof Error ? error.message : String(error))));
190
191
  return;
191
192
  }
@@ -206,14 +207,15 @@ function decodeSpotDirectEnvelope(parts) {
206
207
  try {
207
208
  const decoded = JSON.parse(parts[0].data().toString());
208
209
  if (decoded.marker !== SPOT_DIRECT_ENVELOPE ||
209
- (decoded.kind !== 1 /* ZLinkChannelMessageKind.Request */ && decoded.kind !== 3 /* ZLinkChannelMessageKind.Command */) ||
210
+ (decoded.kind !== 1 /* ZLinkChannelMessageKind.Request */ &&
211
+ decoded.kind !== 3 /* ZLinkChannelMessageKind.Command */) ||
210
212
  typeof decoded.channelName !== 'string') {
211
213
  return undefined;
212
214
  }
213
215
  const metadata = decoded.metadata ?? {};
214
- if (typeof metadata !== 'object'
215
- || Array.isArray(metadata)
216
- || !Object.values(metadata).every(value => typeof value === 'string')) {
216
+ if (typeof metadata !== 'object' ||
217
+ Array.isArray(metadata) ||
218
+ !Object.values(metadata).every((value) => typeof value === 'string')) {
217
219
  return undefined;
218
220
  }
219
221
  return {
@@ -24,8 +24,7 @@ function submitRouteReply(operation) {
24
24
  }
25
25
  function submitRoutePayloadReply(received, envelope, payload) {
26
26
  if (envelope === undefined) {
27
- return submitRouteReply(received.reply()
28
- .message(Buffer.from(JSON.stringify(payload))));
27
+ return submitRouteReply(received.reply().message(Buffer.from(JSON.stringify(payload))));
29
28
  }
30
29
  return submitRouteReply(appendRouteReplyParts(received.reply(), (0, channel_envelope_1.encodeChannelReplyParts)(envelope.header, payload)));
31
30
  }
@@ -34,8 +33,7 @@ function submitSpotRouteBridgeReply(received, envelope, payload) {
34
33
  }
35
34
  function submitRoutedActorJoinReply(received, decoded, payload) {
36
35
  if (decoded.raw) {
37
- return submitRouteReply(received.reply()
38
- .message(Buffer.from(JSON.stringify(payload))));
36
+ return submitRouteReply(received.reply().message(Buffer.from(JSON.stringify(payload))));
39
37
  }
40
38
  return submitRouteReply(appendRouteReplyParts(received.reply(), (0, channel_envelope_1.encodeChannelReplyParts)(requireRoutedActorJoinEnvelope(decoded).header, payload)));
41
39
  }
@@ -70,7 +68,7 @@ function requireRoutedActorJoinEnvelope(decoded) {
70
68
  return decoded.envelope;
71
69
  }
72
70
  function isNativeBadAddress(error) {
73
- return typeof error === 'object' &&
71
+ return (typeof error === 'object' &&
74
72
  error !== null &&
75
- Number(error.nativeErrno) === 14;
73
+ Number(error.nativeErrno) === 14);
76
74
  }
@@ -45,7 +45,7 @@ class ZLinkSpotRoutedActorAdmission {
45
45
  const existing = this.pending.get(decoded.transferId);
46
46
  if (existing !== undefined) {
47
47
  this.requireMatchingTransfer(existing, decoded);
48
- const reply = existing.admissionReply ?? await existing.admissionTask;
48
+ const reply = existing.admissionReply ?? (await existing.admissionTask);
49
49
  if (reply === undefined)
50
50
  throw new Error(`Remote actor transfer '${decoded.transferId}' has no admission result.`);
51
51
  (0, spot_route_replies_1.submitRoutedActorJoinReply)(received, decoded, reply);
@@ -75,7 +75,9 @@ class ZLinkSpotRoutedActorAdmission {
75
75
  throw new Error('Remote actor transfer commit requires a transfer id.');
76
76
  }
77
77
  const pending = this.pending.get(transferId);
78
- if (pending === undefined || pending.actorId !== decoded.actorId || pending.actorType !== decoded.actorType) {
78
+ if (pending === undefined ||
79
+ pending.actorId !== decoded.actorId ||
80
+ pending.actorType !== decoded.actorType) {
79
81
  throw new Error(`Remote actor transfer '${transferId}' does not have a matching admission.`);
80
82
  }
81
83
  if (pending.phase === 'rejected') {
@@ -90,7 +92,7 @@ class ZLinkSpotRoutedActorAdmission {
90
92
  clearTimeout(pending.deadline);
91
93
  pending.commitTask = this.evaluateCommit(decoded, transferId, pending);
92
94
  }
93
- const commitReply = pending.commitReply ?? await pending.commitTask;
95
+ const commitReply = pending.commitReply ?? (await pending.commitTask);
94
96
  (0, spot_route_replies_1.submitRoutedActorJoinReply)(received, decoded, commitReply);
95
97
  }
96
98
  catch (error) {
@@ -132,11 +134,12 @@ class ZLinkSpotRoutedActorAdmission {
132
134
  }
133
135
  async evaluateCommit(decoded, transferId, pending) {
134
136
  try {
135
- if (decoded.transferState === undefined || this.options.routedActorTransferProvider === undefined) {
137
+ if (decoded.transferState === undefined ||
138
+ this.options.routedActorTransferProvider === undefined) {
136
139
  throw new Error('Remote actor transfer commit cannot materialize the target actor.');
137
140
  }
138
141
  const { actor, actorRef } = await this.options.routedActorTransferProvider(decoded.actorId, decoded.actorType, decoded.transferAdapterKey, decoded.transferState, decoded.actorEntryNodeRid, decoded.remoteBoundSessionTarget);
139
- const handoffResults = await this.options.commitTransferredActor?.(actor, decoded.handoffBacklog) ?? [];
142
+ const handoffResults = (await this.options.commitTransferredActor?.(actor, decoded.handoffBacklog)) ?? [];
140
143
  const commitReply = {
141
144
  accepted: true,
142
145
  actorNodeRid: String(actorRef.nodeRid),
@@ -195,8 +198,7 @@ class ZLinkSpotRoutedActorAdmission {
195
198
  }
196
199
  try {
197
200
  const payload = JSON.parse(parts[0].data().toString());
198
- if (payload.packetName !== spot_remote_codec_1.REMOTE_ACTOR_JOIN_PACKET ||
199
- !(0, spot_remote_codec_1.isRemoteActorJoinPayload)(payload)) {
201
+ if (payload.packetName !== spot_remote_codec_1.REMOTE_ACTOR_JOIN_PACKET || !(0, spot_remote_codec_1.isRemoteActorJoinPayload)(payload)) {
200
202
  return undefined;
201
203
  }
202
204
  return (0, spot_remote_codec_1.decodeRemoteActorJoinPayload)(payload, runtime_message_1.ZLinkBufferMessage.from(Buffer.from(payload.request, 'base64')), received, true);
@@ -12,7 +12,7 @@ class ZLinkSpotRoutedBoundSessionDispatch {
12
12
  async dispatch(received) {
13
13
  const boundSessionSend = (0, spot_remote_route_codec_1.decodeRemoteBoundSessionSend)(received.parts, this.options.channelCodecs(), this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true);
14
14
  if (boundSessionSend !== undefined) {
15
- await (0, flow_context_1.runWithFlow)((0, flow_context_1.createInboundFlow)(boundSessionSend.flowId ?? boundSessionSend.envelope?.header.flowId, boundSessionSend.flowOrigin ?? boundSessionSend.envelope?.header.flowOrigin, this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true), () => this.options.routedBoundSessionReceiver?.(boundSessionSend.actorId, boundSessionSend.message, boundSessionSend.packetName, boundSessionSend.metadata, boundSessionSend.actorRef, boundSessionSend.actorPacketTarget));
15
+ await (0, flow_context_1.runWithFlow)((0, flow_context_1.createInboundFlow)(boundSessionSend.flowId ?? boundSessionSend.envelope?.header.flowId, boundSessionSend.flowOrigin ?? boundSessionSend.envelope?.header.flowOrigin, this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true, undefined), () => this.options.routedBoundSessionReceiver?.(boundSessionSend.actorId, boundSessionSend.message, boundSessionSend.packetName, boundSessionSend.metadata, boundSessionSend.actorRef, boundSessionSend.actorPacketTarget));
16
16
  if ((0, spot_route_replies_1.hasReplyToken)(received.replyToken)) {
17
17
  (0, spot_route_replies_1.submitRoutePayloadReply)(received, boundSessionSend.envelope, { ok: true });
18
18
  }
@@ -39,8 +39,7 @@ class ZLinkSpotRoutedBoundSessionDispatch {
39
39
  if (!(0, spot_route_replies_1.hasReplyToken)(received.replyToken)) {
40
40
  return;
41
41
  }
42
- (0, spot_route_replies_1.submitRouteReply)(received.reply()
43
- .message(Buffer.from(JSON.stringify({ ok: true }))));
42
+ (0, spot_route_replies_1.submitRouteReply)(received.reply().message(Buffer.from(JSON.stringify({ ok: true }))));
44
43
  }
45
44
  }
46
45
  exports.ZLinkSpotRoutedBoundSessionDispatch = ZLinkSpotRoutedBoundSessionDispatch;
@@ -138,7 +138,8 @@ class ZLinkSpotRoutedFrameDispatch {
138
138
  return;
139
139
  }
140
140
  const actorPacketRelay = (0, spot_remote_route_codec_1.decodeRemoteActorPacketRelay)(received.parts, this.channelCodecs(), this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true);
141
- if (actorPacketRelay !== undefined && await this.actorPacketRelayDispatch.dispatch(received, actorPacketRelay)) {
141
+ if (actorPacketRelay !== undefined &&
142
+ (await this.actorPacketRelayDispatch.dispatch(received, actorPacketRelay))) {
142
143
  return;
143
144
  }
144
145
  if (await this.routePacketDispatch.dispatch(received)) {
@@ -149,14 +150,13 @@ class ZLinkSpotRoutedFrameDispatch {
149
150
  }
150
151
  exports.ZLinkSpotRoutedFrameDispatch = ZLinkSpotRoutedFrameDispatch;
151
152
  function isRouteRecvRetryable(error) {
152
- return typeof error === 'object' &&
153
+ return (typeof error === 'object' &&
153
154
  error !== null &&
154
- [201, 202, 204].includes(Number(error.result));
155
+ [201, 202, 204].includes(Number(error.result)));
155
156
  }
156
157
  function closeReceivedQuietly(received) {
157
158
  try {
158
159
  received.close();
159
160
  }
160
- catch {
161
- }
161
+ catch { }
162
162
  }
@@ -19,10 +19,10 @@ class ZLinkRoutedSpotPacketDispatch {
19
19
  await this.dispatch(spotId, packetName, decodePayload, context, false);
20
20
  }
21
21
  async request(spotId, packetName, request, context) {
22
- return await this.dispatch(spotId, packetName, () => request, context, true);
22
+ return (await this.dispatch(spotId, packetName, () => request, context, true));
23
23
  }
24
24
  async requestEncoded(spotId, packetName, decodePayload, context) {
25
- return await this.dispatch(spotId, packetName, decodePayload, context, true);
25
+ return (await this.dispatch(spotId, packetName, decodePayload, context, true));
26
26
  }
27
27
  async dispatch(spotId, packetName, decodePayload, context, returnResponse) {
28
28
  const activation = this.options.resolveActivation(spotId);
@@ -33,7 +33,9 @@ class ZLinkRoutedSpotPacketDispatch {
33
33
  }
34
34
  throw new configuration_1.ZLinkConfigurationException(`Spot '${spotId}' is not active.`);
35
35
  }
36
- const registrations = activation.handlers.snapshot().filter((registration) => registration.kind === 'packet' &&
36
+ const registrations = activation.handlers
37
+ .snapshot()
38
+ .filter((registration) => registration.kind === 'packet' &&
37
39
  (registration.packetName ?? registration.handlerType.name) === (packetName ?? ''));
38
40
  if (registrations.length === 0) {
39
41
  this.reportMissing(spotId, packetName, context, returnResponse);
@@ -120,14 +122,14 @@ class ZLinkRoutedSpotPacketDispatch {
120
122
  return returnResponse ? response : undefined;
121
123
  }
122
124
  reportFailure(spotId, packetName, context, returnResponse, error) {
123
- const frameworkErrorKind = error instanceof contracts_1.ZLinkFrameworkException
124
- ? (0, framework_errors_internal_1.internalFrameworkErrorKind)(error)
125
- : undefined;
125
+ const frameworkErrorKind = error instanceof contracts_1.ZLinkFrameworkException ? (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) : undefined;
126
126
  this.options.dispatchErrors?.report({
127
127
  surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.SpotRoute,
128
- messageKind: returnResponse ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send,
129
- reason: frameworkErrorKind === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.WorkerQueueFull
130
- || frameworkErrorKind === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded
128
+ messageKind: returnResponse
129
+ ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request
130
+ : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send,
131
+ reason: frameworkErrorKind === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.WorkerQueueFull ||
132
+ frameworkErrorKind === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded
131
133
  ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.Backpressure
132
134
  : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerException,
133
135
  action: returnResponse ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.FailCaller : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop,
@@ -140,7 +142,9 @@ class ZLinkRoutedSpotPacketDispatch {
140
142
  reportMissing(spotId, packetName, context, returnResponse) {
141
143
  this.options.dispatchErrors?.report({
142
144
  surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.SpotRoute,
143
- messageKind: returnResponse ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send,
145
+ messageKind: returnResponse
146
+ ? ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request
147
+ : ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send,
144
148
  reason: ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerMissing,
145
149
  action: returnResponse ? ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.FailCaller : ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop,
146
150
  packetName,
@@ -47,8 +47,8 @@ class ZLinkSpotSerialExecutor {
47
47
  /** @internal Restores a durable Actor FIFO prefix without starting it. */
48
48
  admitActorDurablePrefix(actorId, records) {
49
49
  const serial = this.actorSerial(actorId);
50
- return this.actorExecutor(actorId).admitDurablePrefix(records.map(record => ({
51
- operation: executeChild => record.operation(child => executeChild(() => child(serial))),
50
+ return this.actorExecutor(actorId).admitDurablePrefix(records.map((record) => ({
51
+ operation: (executeChild) => record.operation((child) => executeChild(() => child(serial))),
52
52
  preparation: record.preparation,
53
53
  workOptions: record.workOptions
54
54
  })));
@@ -73,18 +73,15 @@ class ZLinkSpotSerialExecutor {
73
73
  if (this.closePromise !== undefined)
74
74
  return this.closePromise;
75
75
  this.closing = true;
76
- const childSerials = [
77
- ...this.actorSerials.values(),
78
- ...this.timerSerials.values()
79
- ];
76
+ const childSerials = [...this.actorSerials.values(), ...this.timerSerials.values()];
80
77
  const actorExecutors = [...this.actorExecutors.values()];
81
78
  this.actorSerials.clear();
82
79
  this.timerSerials.clear();
83
80
  this.actorExecutors.clear();
84
81
  this.closePromise = Promise.all([
85
82
  this.spotSerial.close(),
86
- ...childSerials.map(serial => serial.close()),
87
- ...actorExecutors.map(executor => executor.close())
83
+ ...childSerials.map((serial) => serial.close()),
84
+ ...actorExecutors.map((executor) => executor.close())
88
85
  ]).then(() => undefined);
89
86
  return this.closePromise;
90
87
  }
@@ -41,13 +41,11 @@ class ZLinkSpotSerialTurnExecutor {
41
41
  }
42
42
  /** Distinguishes a gate-owning turn from a suspended AsyncLocalStorage tail. */
43
43
  isActiveTurn(turn, turnId) {
44
- return this.depth > 0
45
- && (this.resumedOwnerTurn === turn
46
- || (turnId === this.activeTurnId && !turn.isSuspended));
44
+ return (this.depth > 0 &&
45
+ (this.resumedOwnerTurn === turn || (turnId === this.activeTurnId && !turn.isSuspended)));
47
46
  }
48
47
  setExecutionBarrier(barrier) {
49
- if (this.executionBarrier !== undefined
50
- && this.executionBarrier !== barrier) {
48
+ if (this.executionBarrier !== undefined && this.executionBarrier !== barrier) {
51
49
  throw new Error('ZLink Spot serial executor already belongs to another execution barrier.');
52
50
  }
53
51
  if (this.turnSequence !== 0 && this.executionBarrier === undefined) {
@@ -90,7 +88,7 @@ class ZLinkSpotSerialTurnExecutor {
90
88
  const submitted = (0, application_job_queue_scope_1.hasApplicationJobPermit)()
91
89
  ? this.scheduler.submitPreAdmitted(boundOperation, options, barrierClaim)
92
90
  : this.scheduler.submit(boundOperation, options, barrierClaim);
93
- void submitted.catch(error => {
91
+ void submitted.catch((error) => {
94
92
  barrierClaim?.release();
95
93
  onError(error);
96
94
  });
@@ -24,9 +24,9 @@ class ZLinkSpotSubscriptionDispatch {
24
24
  }
25
25
  configure(registrations) {
26
26
  for (const registration of registrations) {
27
- if (registration.kind !== 'subscribe'
28
- || registration.channelName === undefined
29
- || registration.topic === undefined) {
27
+ if (registration.kind !== 'subscribe' ||
28
+ registration.channelName === undefined ||
29
+ registration.topic === undefined) {
30
30
  continue;
31
31
  }
32
32
  const key = subscriptionKey(registration.channelName, registration.topic);
@@ -131,7 +131,7 @@ class ZLinkSpotSubscriptionDispatch {
131
131
  }
132
132
  const spot = this.options.getTarget();
133
133
  const subSource = message.routingId === null ? undefined : String(message.routingId);
134
- const inboundFlow = (0, flow_context_1.createInboundFlow)(envelope.header.flowId, envelope.header.flowOrigin, this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true);
134
+ const inboundFlow = (0, flow_context_1.createInboundFlow)(envelope.header.flowId, envelope.header.flowOrigin, this.options.dispatchErrors?.flow.flowCreationEnabled() ?? true, undefined);
135
135
  try {
136
136
  await this.options.serial.execute(() => (0, flow_context_1.runWithFlow)(inboundFlow, async () => {
137
137
  // Payload deserialization belongs to the Spot serial turn. Queue
@@ -169,8 +169,8 @@ class ZLinkSpotSubscriptionDispatch {
169
169
  }), (0, serial_work_size_1.zlinkSerialWorkOptions)(envelope.payload.byteLength, (0, serial_work_size_1.zlinkMetadataByteLength)(envelope.header.metadata)));
170
170
  }
171
171
  catch (error) {
172
- if (error instanceof contracts_1.ZLinkFrameworkException
173
- && (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed) {
172
+ if (error instanceof contracts_1.ZLinkFrameworkException &&
173
+ (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed) {
174
174
  this.options.dispatchErrors?.report({
175
175
  surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.SpotSubscription,
176
176
  messageKind: ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Send,