@zlink-systems/framework 0.20.0 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (487) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/ZLinkMessage.js +5 -5
  3. package/dist/contracts/Configuration/CodecContentType.js +5 -7
  4. package/dist/contracts/Configuration/DiagnosticsValidation.js +1 -6
  5. package/dist/contracts/Configuration/EndpointNotation.js +4 -8
  6. package/dist/contracts/Configuration/Registration.js +14 -11
  7. package/dist/contracts/Configuration/RegistrationBuilders.js +32 -25
  8. package/dist/contracts/Configuration/RegistrationNormalizers.js +25 -26
  9. package/dist/contracts/Configuration/RegistrationValidators.js +36 -38
  10. package/dist/contracts/Configuration/SendTimeoutValidation.js +4 -4
  11. package/dist/contracts/Configuration/TimerRegistrationValidator.js +7 -7
  12. package/dist/contracts/Handlers/JsonContract.js +23 -11
  13. package/dist/contracts/Spots/SpotKind.js +16 -8
  14. package/dist/location-store-integration.js +16 -16
  15. package/dist/nest-integration.js +17 -11
  16. package/dist/runtime/abort.js +9 -5
  17. package/dist/runtime/actors/actor-authority-payload-codec.js +12 -16
  18. package/dist/runtime/actors/actor-authority-publication.js +18 -17
  19. package/dist/runtime/actors/actor-client.js +83 -63
  20. package/dist/runtime/actors/actor-context.js +24 -18
  21. package/dist/runtime/actors/actor-creation.js +4 -3
  22. package/dist/runtime/actors/actor-handoff.js +89 -92
  23. package/dist/runtime/actors/actor-local-native-join.js +18 -19
  24. package/dist/runtime/actors/actor-mailbox.js +1 -1
  25. package/dist/runtime/actors/actor-message-follow-context.js +24 -21
  26. package/dist/runtime/actors/actor-packet-relay-wire.js +1 -3
  27. package/dist/runtime/actors/actor-remote-joiner.js +20 -17
  28. package/dist/runtime/actors/actor-remote-wire.js +6 -7
  29. package/dist/runtime/actors/actor-runtime-state.js +87 -81
  30. package/dist/runtime/actors/actor-transfer-registry.js +3 -5
  31. package/dist/runtime/actors/bound-session-wire.js +14 -9
  32. package/dist/runtime/actors/deferred-join-accepted-journal.js +158 -124
  33. package/dist/runtime/actors/index.js +2 -5
  34. package/dist/runtime/actors/post-commit-actor-binder.js +3 -6
  35. package/dist/runtime/actors/post-commit-actor-location.js +1 -1
  36. package/dist/runtime/actors/spot-actor-dispatch.js +5 -5
  37. package/dist/runtime/actors/transferred-actor-rollback.js +4 -4
  38. package/dist/runtime/admission.js +2 -6
  39. package/dist/runtime/application-jobs/application-ingress-record-owner.js +2 -6
  40. package/dist/runtime/application-jobs/receive-flow-controller.js +11 -12
  41. package/dist/runtime/backend/mesh-completion-table.js +1 -3
  42. package/dist/runtime/backend/mesh-dispatch-pump.js +12 -16
  43. package/dist/runtime/backend/node/node-backend-adapter-factory.js +1 -3
  44. package/dist/runtime/backend/node/node-backend-adapter-support.js +26 -17
  45. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +4 -3
  46. package/dist/runtime/backend/node/node-raw-binding-port.js +7 -6
  47. package/dist/runtime/backend/node/node-raw-mesh-backend.js +116 -113
  48. package/dist/runtime/backend/node/node-socket-backend-adapter.js +12 -13
  49. package/dist/runtime/backend/runtime-message.js +3 -3
  50. package/dist/runtime/backend/runtime-values.d.ts +2 -2
  51. package/dist/runtime/backend/runtime-values.js +4 -5
  52. package/dist/runtime/channels/channel-clients.js +27 -24
  53. package/dist/runtime/channels/channel-dispatch-pipeline.js +10 -18
  54. package/dist/runtime/channels/channel-dispatch-services.js +7 -4
  55. package/dist/runtime/channels/channel-dispatchers.js +9 -9
  56. package/dist/runtime/channels/channel-envelope-inspection.js +16 -13
  57. package/dist/runtime/channels/channel-envelope.js +83 -47
  58. package/dist/runtime/channels/channel-outbound-operations.js +8 -8
  59. package/dist/runtime/channels/channel-receive-loops.js +20 -22
  60. package/dist/runtime/channels/channel-receive-task-tracker.js +1 -1
  61. package/dist/runtime/channels/channel-runtime-lifecycle.js +61 -56
  62. package/dist/runtime/channels/channel-runtime-manager.js +18 -9
  63. package/dist/runtime/channels/channel-socket-registry.js +126 -123
  64. package/dist/runtime/channels/channel-transports.js +43 -33
  65. package/dist/runtime/channels/client-server-location-runtime.js +32 -40
  66. package/dist/runtime/channels/client-server-service-wire.js +29 -22
  67. package/dist/runtime/channels/dispatch-error-reporter.js +9 -7
  68. package/dist/runtime/channels/fanout-location-runtime.js +34 -47
  69. package/dist/runtime/channels/fanout-service-wire.js +3 -5
  70. package/dist/runtime/channels/local-spot-route-transport.js +7 -1
  71. package/dist/runtime/channels/route-member-snapshot.js +3 -3
  72. package/dist/runtime/channels/source-spot-router.js +6 -2
  73. package/dist/runtime/channels/spot-route-bridge-transport.js +5 -2
  74. package/dist/runtime/channels/spot-route-dispatch-strategy.js +2 -2
  75. package/dist/runtime/channels/spot-route-target-resolver.js +6 -6
  76. package/dist/runtime/diagnostics/index.js +38 -10
  77. package/dist/runtime/diagnostics/message-flow.js +47 -39
  78. package/dist/runtime/diagnostics/runtime-metrics.js +18 -9
  79. package/dist/runtime/diagnostics/runtime-observation-queue.js +8 -10
  80. package/dist/runtime/diagnostics/topology-runtime-projections.js +17 -10
  81. package/dist/runtime/execution/index.js +7 -6
  82. package/dist/runtime/execution/serial-execution-queue.js +12 -18
  83. package/dist/runtime/execution/state-lane.js +2 -2
  84. package/dist/runtime/foundation/actor-join-recovery-codec.js +31 -23
  85. package/dist/runtime/foundation/event-loop-resources.js +4 -4
  86. package/dist/runtime/foundation/message-follow-suppression-registry.js +4 -4
  87. package/dist/runtime/foundation/raw-service-mesh-runtime.js +136 -136
  88. package/dist/runtime/foundation/route-mesh-connection-policy.js +4 -4
  89. package/dist/runtime/foundation/runtime-state-projections.js +22 -11
  90. package/dist/runtime/foundation/service-authority-payload-codec.js +13 -15
  91. package/dist/runtime/foundation/service-discovery-registry.js +35 -33
  92. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +20 -22
  93. package/dist/runtime/foundation/service-liveness-registry.js +16 -12
  94. package/dist/runtime/foundation/service-maintenance-runtime.js +2 -4
  95. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +24 -24
  96. package/dist/runtime/foundation/service-relocation-object-owner.js +6 -6
  97. package/dist/runtime/foundation/service-relocation-runtime.js +137 -94
  98. package/dist/runtime/foundation/service-runtime-contracts.js +5 -5
  99. package/dist/runtime/foundation/service-stateful-registry.js +24 -23
  100. package/dist/runtime/foundation/service-stateful-runtime.js +416 -438
  101. package/dist/runtime/foundation/service-stateful-wire-codec.js +95 -98
  102. package/dist/runtime/foundation/service-topology-registry.js +96 -95
  103. package/dist/runtime/foundation/service-weighted-selection.js +6 -11
  104. package/dist/runtime/foundation/service-wire-binary-primitives.js +5 -6
  105. package/dist/runtime/foundation/service-wire-m6a-codec.js +46 -35
  106. package/dist/runtime/framework-errors-internal.js +7 -10
  107. package/dist/runtime/handlers/handler-instance-scope.js +4 -5
  108. package/dist/runtime/handlers/index.js +3 -1
  109. package/dist/runtime/host/actor-packet-relay.js +74 -70
  110. package/dist/runtime/host/actor-placement-coordinator.js +29 -31
  111. package/dist/runtime/host/actor-runtime-options-factory.js +12 -14
  112. package/dist/runtime/host/actor-transfer-authority-runtime.js +7 -9
  113. package/dist/runtime/host/actor-transfer-runtime.js +176 -153
  114. package/dist/runtime/host/application-job-queue.js +18 -22
  115. package/dist/runtime/host/bound-session-relay.js +3 -1
  116. package/dist/runtime/host/channel-runtime-options-factory.js +31 -14
  117. package/dist/runtime/host/host-capacity-status.js +8 -4
  118. package/dist/runtime/host/index.js +244 -227
  119. package/dist/runtime/host/instance-activation-authority.js +93 -96
  120. package/dist/runtime/host/location-runtime-owner.js +16 -14
  121. package/dist/runtime/host/mesh-router-resolver.js +11 -13
  122. package/dist/runtime/host/relocation-direct-transfer.js +10 -9
  123. package/dist/runtime/host/remote-actor-join-receiver.js +20 -15
  124. package/dist/runtime/host/remote-actor-packet-target-store.js +18 -22
  125. package/dist/runtime/host/remote-bound-session-relay.js +97 -73
  126. package/dist/runtime/host/route-mesh-runtime.js +64 -69
  127. package/dist/runtime/host/runtime-shutdown.js +1 -2
  128. package/dist/runtime/host/service-relocation-host-runtime.js +586 -511
  129. package/dist/runtime/host/spot-address-transport.js +69 -71
  130. package/dist/runtime/host/spot-runtime-options-factory.js +30 -29
  131. package/dist/runtime/host/stateful-authority-route-runtime.js +65 -68
  132. package/dist/runtime/host/user-spot-creation-coordinator.js +61 -67
  133. package/dist/runtime/locations/actor-location-claims.js +26 -20
  134. package/dist/runtime/locations/aggregate-inventory-store.js +72 -75
  135. package/dist/runtime/locations/authority-key-codec.js +7 -7
  136. package/dist/runtime/locations/auto-connect-loop.js +3 -3
  137. package/dist/runtime/locations/auto-connect-planner.js +25 -19
  138. package/dist/runtime/locations/auto-connect-reconciler.js +51 -31
  139. package/dist/runtime/locations/in-memory-authority-store.js +128 -118
  140. package/dist/runtime/locations/in-memory-location-store.js +195 -168
  141. package/dist/runtime/locations/in-memory-provider-location-store.js +8 -10
  142. package/dist/runtime/locations/key-codec.js +1 -1
  143. package/dist/runtime/locations/lease-tracker.js +23 -21
  144. package/dist/runtime/locations/lifecycle.js +4 -5
  145. package/dist/runtime/locations/location-store-repository.js +368 -324
  146. package/dist/runtime/locations/opaque-record-key.js +2 -2
  147. package/dist/runtime/locations/resolvers.js +73 -82
  148. package/dist/runtime/locations/runtime.js +68 -63
  149. package/dist/runtime/locations/spot-location-claims.js +39 -35
  150. package/dist/runtime/messaging/framework-json-v1.js +7 -7
  151. package/dist/runtime/messaging/packet-name.js +7 -6
  152. package/dist/runtime/messaging/payload-codec.js +21 -18
  153. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +30 -2
  154. package/dist/runtime/protocol/service_wire_codec.generated.js +1671 -234
  155. package/dist/runtime/routing-id.js +3 -5
  156. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +35 -31
  157. package/dist/runtime/spots/formal-remote-actor-transfer-registry.js +1 -2
  158. package/dist/runtime/spots/index.js +208 -219
  159. package/dist/runtime/spots/spot-activation-registry.js +15 -14
  160. package/dist/runtime/spots/spot-activation-state.js +17 -15
  161. package/dist/runtime/spots/spot-activation.js +33 -16
  162. package/dist/runtime/spots/spot-actor-admission-coordinator.js +18 -15
  163. package/dist/runtime/spots/spot-actor-membership.js +1 -3
  164. package/dist/runtime/spots/spot-actor-packet-dispatch.js +23 -20
  165. package/dist/runtime/spots/spot-actor-packet-drain.js +12 -10
  166. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +10 -6
  167. package/dist/runtime/spots/spot-closing.js +3 -7
  168. package/dist/runtime/spots/spot-context.js +2 -2
  169. package/dist/runtime/spots/spot-entry-activation.js +13 -14
  170. package/dist/runtime/spots/spot-handle.js +6 -3
  171. package/dist/runtime/spots/spot-handler-registry.js +12 -12
  172. package/dist/runtime/spots/spot-manager-public.js +5 -6
  173. package/dist/runtime/spots/spot-native-actor-join-admission.js +4 -3
  174. package/dist/runtime/spots/spot-node-autoconnect.js +15 -18
  175. package/dist/runtime/spots/spot-node-runtime-manager.js +74 -85
  176. package/dist/runtime/spots/spot-outbound.js +10 -14
  177. package/dist/runtime/spots/spot-remote-codec.js +22 -26
  178. package/dist/runtime/spots/spot-remote-route-codec.js +5 -7
  179. package/dist/runtime/spots/spot-route-packet-dispatch.js +16 -14
  180. package/dist/runtime/spots/spot-route-replies.js +4 -6
  181. package/dist/runtime/spots/spot-routed-actor-admission.js +9 -7
  182. package/dist/runtime/spots/spot-routed-bound-session-dispatch.js +1 -2
  183. package/dist/runtime/spots/spot-routed-frame-dispatch.js +5 -5
  184. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +14 -10
  185. package/dist/runtime/spots/spot-serial-executor.js +5 -8
  186. package/dist/runtime/spots/spot-serial-turn-executor.js +4 -6
  187. package/dist/runtime/spots/spot-subscription-dispatch.js +5 -5
  188. package/dist/runtime/spots/spot-timer.js +25 -29
  189. package/dist/runtime/streams/actor-session-binding-registry.js +98 -107
  190. package/dist/runtime/streams/actor-session-lifecycle-coordinator.js +3 -1
  191. package/dist/runtime/streams/bound-actor-relay-sender.js +18 -16
  192. package/dist/runtime/streams/bound-session-service.js +8 -9
  193. package/dist/runtime/streams/index.js +20 -19
  194. package/dist/runtime/streams/managed-stream.js +32 -30
  195. package/dist/runtime/streams/native-fallback-bound-session.js +21 -17
  196. package/dist/runtime/streams/protocol.js +29 -18
  197. package/dist/runtime/streams/session-actor-coordinator.js +34 -37
  198. package/dist/runtime/streams/session-context.js +30 -28
  199. package/dist/runtime/streams/session-provider.js +2 -2
  200. package/dist/runtime/streams/session-serial-executor.js +1 -2
  201. package/dist/runtime/streams/stream-frame-factory.js +11 -5
  202. package/dist/runtime/streams/stream-session-runtime.js +70 -66
  203. package/dist/runtime/workers/index.js +15 -4
  204. package/package.json +2 -2
  205. package/src/contracts/Channels/RouteCalls.ts +6 -1
  206. package/src/contracts/Common/ZLinkMessage.ts +5 -5
  207. package/src/contracts/Common/ZLinkMessageMetadata.ts +4 -3
  208. package/src/contracts/Configuration/Builders.ts +14 -14
  209. package/src/contracts/Configuration/CodecContentType.ts +8 -10
  210. package/src/contracts/Configuration/DiagnosticsValidation.ts +1 -6
  211. package/src/contracts/Configuration/EndpointNotation.ts +11 -11
  212. package/src/contracts/Configuration/ObjectRoles.ts +1 -3
  213. package/src/contracts/Configuration/Registration.ts +46 -17
  214. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +10 -8
  215. package/src/contracts/Configuration/RegistrationBuilders.ts +107 -96
  216. package/src/contracts/Configuration/RegistrationCodecRegistry.ts +9 -3
  217. package/src/contracts/Configuration/RegistrationNormalizers.ts +116 -84
  218. package/src/contracts/Configuration/RegistrationTypes.ts +21 -25
  219. package/src/contracts/Configuration/RegistrationValidators.ts +122 -73
  220. package/src/contracts/Configuration/RouteChannelInternalState.ts +1 -4
  221. package/src/contracts/Configuration/RuntimeEndpointConnections.ts +4 -1
  222. package/src/contracts/Configuration/SendTimeoutValidation.ts +6 -4
  223. package/src/contracts/Configuration/TimerRegistrationValidator.ts +8 -13
  224. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -6
  225. package/src/contracts/Errors/index.ts +1 -4
  226. package/src/contracts/Handlers/Attributes.ts +15 -9
  227. package/src/contracts/Handlers/IZLinkChannelHandlers.ts +24 -4
  228. package/src/contracts/Handlers/JsonContract.ts +53 -19
  229. package/src/contracts/Locations/ActorTransfer.ts +1 -5
  230. package/src/contracts/Locations/Authority.ts +4 -11
  231. package/src/contracts/Locations/Keys.ts +6 -1
  232. package/src/contracts/Locations/Options.ts +3 -2
  233. package/src/contracts/Locations/RelocationStore.ts +1 -4
  234. package/src/contracts/Locations/Resolvers.ts +5 -5
  235. package/src/contracts/Locations/RuntimeQuery.ts +6 -2
  236. package/src/contracts/Locations/Stores.ts +1 -2
  237. package/src/contracts/Locations/index.ts +2 -8
  238. package/src/contracts/RouteMesh/Contracts.ts +1 -7
  239. package/src/contracts/RouteMesh/RuntimeTopology.ts +1 -4
  240. package/src/contracts/Spots/Contracts.ts +2 -8
  241. package/src/contracts/Spots/SpotKind.ts +16 -8
  242. package/src/contracts/Spots/ZLinkSpot.ts +8 -11
  243. package/src/contracts/Streams/IZLinkSession.ts +0 -1
  244. package/src/contracts/Streams/IZLinkSessionActor.ts +5 -1
  245. package/src/contracts/Streams/IZLinkSessionPacketHandler.ts +5 -1
  246. package/src/internal.ts +5 -4
  247. package/src/location-store-integration.ts +24 -16
  248. package/src/nest-integration.ts +40 -25
  249. package/src/runtime/abort.ts +10 -4
  250. package/src/runtime/actors/actor-authority-payload-codec.ts +20 -29
  251. package/src/runtime/actors/actor-authority-publication.ts +92 -77
  252. package/src/runtime/actors/actor-client.ts +162 -133
  253. package/src/runtime/actors/actor-context.ts +138 -130
  254. package/src/runtime/actors/actor-creation.ts +47 -44
  255. package/src/runtime/actors/actor-execution-context.ts +6 -4
  256. package/src/runtime/actors/actor-handoff.ts +269 -293
  257. package/src/runtime/actors/actor-join-deferred-scope.ts +5 -4
  258. package/src/runtime/actors/actor-lifecycle-snapshot.ts +5 -8
  259. package/src/runtime/actors/actor-local-native-join.ts +131 -159
  260. package/src/runtime/actors/actor-mailbox.ts +16 -19
  261. package/src/runtime/actors/actor-message-follow-context.ts +46 -36
  262. package/src/runtime/actors/actor-packet-relay-wire.ts +32 -21
  263. package/src/runtime/actors/actor-remote-joiner.ts +50 -54
  264. package/src/runtime/actors/actor-remote-wire.ts +9 -13
  265. package/src/runtime/actors/actor-routed-join-transport.ts +10 -2
  266. package/src/runtime/actors/actor-runtime-contracts.ts +2 -5
  267. package/src/runtime/actors/actor-runtime-state.ts +127 -124
  268. package/src/runtime/actors/actor-transfer-registry.ts +9 -14
  269. package/src/runtime/actors/actor-transport-delivery-gate.ts +4 -6
  270. package/src/runtime/actors/bound-session-wire.ts +37 -17
  271. package/src/runtime/actors/deferred-join-accepted-journal.ts +351 -320
  272. package/src/runtime/actors/index.ts +43 -86
  273. package/src/runtime/actors/post-commit-actor-binder.ts +10 -10
  274. package/src/runtime/actors/post-commit-actor-location.ts +30 -23
  275. package/src/runtime/actors/spot-actor-dispatch.ts +78 -53
  276. package/src/runtime/actors/transferred-actor-rollback.ts +18 -13
  277. package/src/runtime/admission.ts +9 -9
  278. package/src/runtime/application-jobs/application-ingress-record-owner.ts +5 -15
  279. package/src/runtime/application-jobs/application-job-queue-handler-start-gate.ts +3 -2
  280. package/src/runtime/application-jobs/receive-flow-controller.ts +17 -14
  281. package/src/runtime/backend/contracts/index.ts +73 -52
  282. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -14
  283. package/src/runtime/backend/mesh-completion-table.ts +6 -9
  284. package/src/runtime/backend/mesh-dispatch-pump.ts +38 -30
  285. package/src/runtime/backend/node/node-backend-adapter-factory.ts +23 -21
  286. package/src/runtime/backend/node/node-backend-adapter-support.ts +36 -22
  287. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +59 -58
  288. package/src/runtime/backend/node/node-event-loop-poller.ts +2 -10
  289. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +12 -5
  290. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +4 -3
  291. package/src/runtime/backend/node/node-raw-binding-port.ts +29 -29
  292. package/src/runtime/backend/node/node-raw-mesh-backend.ts +335 -383
  293. package/src/runtime/backend/node/node-socket-backend-adapter.ts +101 -54
  294. package/src/runtime/backend/runtime-message.ts +5 -3
  295. package/src/runtime/backend/runtime-values.ts +10 -7
  296. package/src/runtime/channels/channel-autoconnect.ts +1 -4
  297. package/src/runtime/channels/channel-clients.ts +93 -73
  298. package/src/runtime/channels/channel-dispatch-pipeline.ts +40 -42
  299. package/src/runtime/channels/channel-dispatch-services.ts +51 -49
  300. package/src/runtime/channels/channel-dispatchers.ts +152 -96
  301. package/src/runtime/channels/channel-envelope-inspection.ts +20 -16
  302. package/src/runtime/channels/channel-envelope.ts +256 -150
  303. package/src/runtime/channels/channel-multipart.ts +13 -5
  304. package/src/runtime/channels/channel-outbound-operations.ts +37 -41
  305. package/src/runtime/channels/channel-receive-loops.ts +102 -98
  306. package/src/runtime/channels/channel-receive-task-tracker.ts +1 -1
  307. package/src/runtime/channels/channel-runtime-lifecycle.ts +248 -190
  308. package/src/runtime/channels/channel-runtime-manager.ts +63 -37
  309. package/src/runtime/channels/channel-socket-options.ts +3 -10
  310. package/src/runtime/channels/channel-socket-registry.ts +331 -273
  311. package/src/runtime/channels/channel-transports.ts +215 -197
  312. package/src/runtime/channels/client-server-location-runtime.ts +116 -100
  313. package/src/runtime/channels/client-server-service-wire.ts +37 -36
  314. package/src/runtime/channels/dispatch-error-reporter.ts +11 -8
  315. package/src/runtime/channels/fanout-location-runtime.ts +91 -94
  316. package/src/runtime/channels/fanout-service-wire.ts +5 -12
  317. package/src/runtime/channels/handler-filter-scope.ts +1 -4
  318. package/src/runtime/channels/index.ts +1 -4
  319. package/src/runtime/channels/local-spot-route-transport.ts +20 -5
  320. package/src/runtime/channels/route-member-snapshot.ts +11 -5
  321. package/src/runtime/channels/router-socket-spot-route-transport.ts +1 -7
  322. package/src/runtime/channels/source-spot-router.ts +26 -22
  323. package/src/runtime/channels/spot-direct-envelope.ts +10 -8
  324. package/src/runtime/channels/spot-node-route-transport.ts +13 -16
  325. package/src/runtime/channels/spot-route-bridge-transport.ts +26 -9
  326. package/src/runtime/channels/spot-route-dispatch-strategy.ts +40 -13
  327. package/src/runtime/channels/spot-route-target-resolver.ts +18 -9
  328. package/src/runtime/codecs/index.ts +3 -2
  329. package/src/runtime/diagnostics/flow-context.ts +12 -3
  330. package/src/runtime/diagnostics/index.ts +96 -61
  331. package/src/runtime/diagnostics/internal-event-contracts.ts +87 -33
  332. package/src/runtime/diagnostics/message-flow.ts +95 -76
  333. package/src/runtime/diagnostics/runtime-metrics.ts +46 -24
  334. package/src/runtime/diagnostics/runtime-observation-queue.ts +17 -28
  335. package/src/runtime/diagnostics/topology-runtime-projections.ts +62 -43
  336. package/src/runtime/execution/index.ts +18 -26
  337. package/src/runtime/execution/serial-execution-queue.ts +31 -40
  338. package/src/runtime/execution/state-lane.ts +2 -2
  339. package/src/runtime/foundation/actor-join-recovery-codec.ts +69 -51
  340. package/src/runtime/foundation/event-loop-resources.ts +8 -4
  341. package/src/runtime/foundation/message-follow-suppression-registry.ts +7 -14
  342. package/src/runtime/foundation/operation-identity.ts +1 -2
  343. package/src/runtime/foundation/operation-registry.ts +8 -2
  344. package/src/runtime/foundation/raw-service-mesh-runtime.ts +312 -385
  345. package/src/runtime/foundation/route-mesh-connection-policy.ts +7 -8
  346. package/src/runtime/foundation/runtime-state-projections.ts +24 -23
  347. package/src/runtime/foundation/service-authority-payload-codec.ts +54 -57
  348. package/src/runtime/foundation/service-discovery-registry.ts +67 -59
  349. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +28 -29
  350. package/src/runtime/foundation/service-liveness-registry.ts +18 -13
  351. package/src/runtime/foundation/service-mailbox.ts +14 -14
  352. package/src/runtime/foundation/service-maintenance-runtime.ts +22 -21
  353. package/src/runtime/foundation/service-metadata-codec.ts +2 -9
  354. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +39 -36
  355. package/src/runtime/foundation/service-relocation-coordinator.ts +1 -4
  356. package/src/runtime/foundation/service-relocation-object-owner.ts +40 -58
  357. package/src/runtime/foundation/service-relocation-runtime.ts +292 -216
  358. package/src/runtime/foundation/service-runtime-contracts.ts +8 -8
  359. package/src/runtime/foundation/service-session-binding-ingress-port.ts +1 -4
  360. package/src/runtime/foundation/service-stateful-registry.ts +69 -59
  361. package/src/runtime/foundation/service-stateful-runtime.ts +1174 -1112
  362. package/src/runtime/foundation/service-stateful-wire-codec.ts +318 -270
  363. package/src/runtime/foundation/service-topology-registry.ts +157 -159
  364. package/src/runtime/foundation/service-weighted-selection.ts +9 -15
  365. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -12
  366. package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -47
  367. package/src/runtime/framework-errors-internal.ts +31 -30
  368. package/src/runtime/handlers/handler-instance-scope.ts +18 -29
  369. package/src/runtime/handlers/index.ts +18 -8
  370. package/src/runtime/host/actor-packet-relay.ts +290 -261
  371. package/src/runtime/host/actor-placement-coordinator.ts +165 -150
  372. package/src/runtime/host/actor-runtime-options-factory.ts +89 -87
  373. package/src/runtime/host/actor-transfer-authority-runtime.ts +46 -38
  374. package/src/runtime/host/actor-transfer-runtime.ts +391 -395
  375. package/src/runtime/host/application-job-queue.ts +32 -48
  376. package/src/runtime/host/bound-session-relay.ts +7 -9
  377. package/src/runtime/host/channel-runtime-options-factory.ts +75 -35
  378. package/src/runtime/host/host-capacity-status.ts +10 -9
  379. package/src/runtime/host/index.ts +861 -789
  380. package/src/runtime/host/instance-activation-authority.ts +125 -143
  381. package/src/runtime/host/location-runtime-owner.ts +38 -26
  382. package/src/runtime/host/mesh-router-resolver.ts +30 -23
  383. package/src/runtime/host/relocation-direct-transfer.ts +15 -15
  384. package/src/runtime/host/relocation-integrity-fault-gate.ts +3 -2
  385. package/src/runtime/host/remote-actor-join-receiver.ts +43 -34
  386. package/src/runtime/host/remote-actor-packet-target-store.ts +54 -52
  387. package/src/runtime/host/remote-bound-session-relay.ts +274 -247
  388. package/src/runtime/host/route-mesh-runtime-options.ts +1 -3
  389. package/src/runtime/host/route-mesh-runtime.ts +227 -181
  390. package/src/runtime/host/runtime-shutdown.ts +4 -3
  391. package/src/runtime/host/service-relocation-control.ts +14 -5
  392. package/src/runtime/host/service-relocation-host-runtime.ts +1388 -1165
  393. package/src/runtime/host/spot-address-transport.ts +284 -237
  394. package/src/runtime/host/spot-node-runtime-options-factory.ts +14 -8
  395. package/src/runtime/host/spot-runtime-options-factory.ts +71 -62
  396. package/src/runtime/host/stateful-authority-route-runtime.ts +117 -116
  397. package/src/runtime/host/user-spot-creation-coordinator.ts +225 -220
  398. package/src/runtime/locations/actor-location-claims.ts +61 -49
  399. package/src/runtime/locations/actor-session-route-claims.ts +1 -4
  400. package/src/runtime/locations/aggregate-inventory-store.ts +105 -134
  401. package/src/runtime/locations/authority-key-codec.ts +13 -10
  402. package/src/runtime/locations/auto-connect-loop.ts +14 -11
  403. package/src/runtime/locations/auto-connect-planner.ts +42 -31
  404. package/src/runtime/locations/auto-connect-reconciler.ts +106 -63
  405. package/src/runtime/locations/canonical-codec.ts +3 -1
  406. package/src/runtime/locations/creation-operation-id.ts +4 -3
  407. package/src/runtime/locations/domain-store-contract.ts +13 -7
  408. package/src/runtime/locations/in-memory-authority-store.ts +232 -199
  409. package/src/runtime/locations/in-memory-location-store.ts +432 -250
  410. package/src/runtime/locations/in-memory-provider-location-store.ts +16 -17
  411. package/src/runtime/locations/internal-store-contracts.ts +95 -38
  412. package/src/runtime/locations/key-codec.ts +3 -4
  413. package/src/runtime/locations/lease-tracker.ts +36 -27
  414. package/src/runtime/locations/lifecycle-runtime.ts +15 -3
  415. package/src/runtime/locations/lifecycle.ts +33 -28
  416. package/src/runtime/locations/location-store-repository.ts +1329 -1185
  417. package/src/runtime/locations/opaque-record-key.ts +4 -9
  418. package/src/runtime/locations/resolvers.ts +201 -178
  419. package/src/runtime/locations/runtime.ts +251 -159
  420. package/src/runtime/locations/spot-location-claims.ts +110 -112
  421. package/src/runtime/messaging/creation-payload-codec.ts +4 -1
  422. package/src/runtime/messaging/framework-json-v1.ts +34 -15
  423. package/src/runtime/messaging/packet-name.ts +8 -6
  424. package/src/runtime/messaging/payload-codec.ts +70 -50
  425. package/src/runtime/messaging/submission-result.ts +6 -9
  426. package/src/runtime/protocol/service_wire_codec.generated.ts +1376 -159
  427. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  428. package/src/runtime/routing-id.ts +10 -7
  429. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +56 -62
  430. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +23 -20
  431. package/src/runtime/spots/index.ts +593 -563
  432. package/src/runtime/spots/spot-activation-registry.ts +38 -34
  433. package/src/runtime/spots/spot-activation-state.ts +43 -51
  434. package/src/runtime/spots/spot-activation.ts +179 -116
  435. package/src/runtime/spots/spot-actor-admission-coordinator.ts +110 -78
  436. package/src/runtime/spots/spot-actor-join-dispatch.ts +57 -41
  437. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +5 -7
  438. package/src/runtime/spots/spot-actor-membership.ts +25 -27
  439. package/src/runtime/spots/spot-actor-packet-dispatch.ts +184 -153
  440. package/src/runtime/spots/spot-actor-packet-drain.ts +54 -42
  441. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +37 -39
  442. package/src/runtime/spots/spot-closing.ts +11 -12
  443. package/src/runtime/spots/spot-context.ts +46 -26
  444. package/src/runtime/spots/spot-entry-activation.ts +84 -65
  445. package/src/runtime/spots/spot-handle.ts +17 -15
  446. package/src/runtime/spots/spot-handler-registry.ts +44 -31
  447. package/src/runtime/spots/spot-location-claim.ts +5 -4
  448. package/src/runtime/spots/spot-manager-public.ts +62 -82
  449. package/src/runtime/spots/spot-native-actor-join-admission.ts +20 -16
  450. package/src/runtime/spots/spot-node-autoconnect.ts +54 -61
  451. package/src/runtime/spots/spot-node-runtime-manager.ts +230 -221
  452. package/src/runtime/spots/spot-outbound.ts +47 -59
  453. package/src/runtime/spots/spot-publisher-transport.ts +5 -4
  454. package/src/runtime/spots/spot-remote-codec.ts +66 -65
  455. package/src/runtime/spots/spot-remote-route-codec.ts +61 -41
  456. package/src/runtime/spots/spot-route-packet-dispatch.ts +128 -95
  457. package/src/runtime/spots/spot-route-replies.ts +23 -24
  458. package/src/runtime/spots/spot-route-reply-wire.ts +3 -2
  459. package/src/runtime/spots/spot-routed-actor-admission.ts +37 -27
  460. package/src/runtime/spots/spot-routed-bound-session-dispatch.ts +11 -17
  461. package/src/runtime/spots/spot-routed-frame-dispatch.ts +18 -15
  462. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +35 -26
  463. package/src/runtime/spots/spot-routing-internal.ts +1 -4
  464. package/src/runtime/spots/spot-runtime-ports.ts +5 -5
  465. package/src/runtime/spots/spot-serial-executor.ts +5 -9
  466. package/src/runtime/spots/spot-serial-turn-executor.ts +19 -26
  467. package/src/runtime/spots/spot-subscription-dispatch.ts +56 -46
  468. package/src/runtime/spots/spot-timer.ts +98 -91
  469. package/src/runtime/streams/actor-session-binding-registry.ts +277 -235
  470. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +7 -4
  471. package/src/runtime/streams/actor-session-lifecycle-coordinator.ts +3 -1
  472. package/src/runtime/streams/bound-actor-relay-sender.ts +53 -51
  473. package/src/runtime/streams/bound-session-response-target.ts +29 -8
  474. package/src/runtime/streams/bound-session-service.ts +39 -39
  475. package/src/runtime/streams/index.ts +176 -100
  476. package/src/runtime/streams/managed-stream.ts +98 -87
  477. package/src/runtime/streams/native-fallback-bound-session.ts +57 -52
  478. package/src/runtime/streams/protocol.ts +73 -43
  479. package/src/runtime/streams/session-actor-coordinator.ts +97 -89
  480. package/src/runtime/streams/session-calls.ts +2 -8
  481. package/src/runtime/streams/session-context.ts +66 -48
  482. package/src/runtime/streams/session-provider.ts +5 -7
  483. package/src/runtime/streams/session-serial-executor.ts +7 -6
  484. package/src/runtime/streams/stream-binding-runtime-ports.ts +79 -29
  485. package/src/runtime/streams/stream-frame-factory.ts +55 -38
  486. package/src/runtime/streams/stream-session-runtime.ts +268 -210
  487. package/src/runtime/workers/index.ts +68 -29
@@ -42,9 +42,9 @@ class ZLinkRuntimeRouteTransport {
42
42
  return this.routeChannelPredicate?.(routerChannelId) ?? false;
43
43
  }
44
44
  canRoutePacketChannel(routerChannelId) {
45
- return this.manager()?.canRoutePacketChannel(routerChannelId)
46
- ?? this.routeChannelPredicate?.(routerChannelId)
47
- ?? false;
45
+ return (this.manager()?.canRoutePacketChannel(routerChannelId) ??
46
+ this.routeChannelPredicate?.(routerChannelId) ??
47
+ false);
48
48
  }
49
49
  async submit(meshName, targetNodeRid, packetName, message, signal, metadata) {
50
50
  // Call-scoped flow (spec 27 §4): the envelope flow pair lives only for
@@ -60,8 +60,8 @@ class ZLinkRuntimeRouteTransport {
60
60
  return this.requireManager().routeSubmit(meshName, targetNodeRid, packetName, message, signal, metadata);
61
61
  }
62
62
  (0, abort_1.throwIfAborted)(signal);
63
- if (!allowObjectClientTarget
64
- && node.isObjectClientNodeDirectTarget?.((0, routing_id_1.toBackendRoutingId)(targetNodeRid)) === true) {
63
+ if (!allowObjectClientTarget &&
64
+ node.isObjectClientNodeDirectTarget?.((0, routing_id_1.toBackendRoutingId)(targetNodeRid)) === true) {
65
65
  return { status: submission_result_1.ZLinkSubmitStatus.TargetNotFound };
66
66
  }
67
67
  const parts = this.encodeMessage(3 /* ZLinkChannelMessageKind.Command */, meshName, packetName, message, undefined, metadata);
@@ -69,8 +69,8 @@ class ZLinkRuntimeRouteTransport {
69
69
  if (this.isSelfNode(node, targetNodeRid)) {
70
70
  return this.submitLocalNode(meshName, String(node.status().routingId), parts);
71
71
  }
72
- if (!this.isKnownBackendPeer(node, targetNodeRid)
73
- && this.manualNodeTarget?.(meshName, targetNodeRid) === false) {
72
+ if (!this.isKnownBackendPeer(node, targetNodeRid) &&
73
+ this.manualNodeTarget?.(meshName, targetNodeRid) === false) {
74
74
  return { status: submission_result_1.ZLinkSubmitStatus.TargetNotFound };
75
75
  }
76
76
  try {
@@ -93,7 +93,10 @@ class ZLinkRuntimeRouteTransport {
93
93
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound, `MeshNode '${meshName}' target '${targetNodeRid}' is an Object Client.`);
94
94
  }
95
95
  const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, packetName, request, timeoutMs ?? 30_000, metadata);
96
- const completion = await this.submitRequestOperation(meshName, timeoutMs, signal, `MeshNode '${meshName}' request to node '${targetNodeRid}'`, (remainingTimeoutMs) => node.requestToNode((0, routing_id_1.toBackendRoutingId)(targetNodeRid), parts, { flags: 1, timeoutMs: remainingTimeoutMs }));
96
+ const completion = await this.submitRequestOperation(meshName, timeoutMs, signal, `MeshNode '${meshName}' request to node '${targetNodeRid}'`, (remainingTimeoutMs) => node.requestToNode((0, routing_id_1.toBackendRoutingId)(targetNodeRid), parts, {
97
+ flags: 1,
98
+ timeoutMs: remainingTimeoutMs
99
+ }));
97
100
  return this.decodeMeshReply(meshName, completion);
98
101
  }
99
102
  submitToChannel(meshName, channelName, packetName, message, signal, metadata) {
@@ -170,7 +173,9 @@ class ZLinkRuntimeRouteTransport {
170
173
  if (spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance) {
171
174
  return mapMeshSubmitResult(await node.sendToInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, undefined, options.metadata));
172
175
  }
173
- return mapMeshSubmitResult(await node.entrySpot().sendToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, encoded, {
176
+ return mapMeshSubmitResult(await node
177
+ .entrySpot()
178
+ .sendToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, encoded, {
174
179
  flags: 1,
175
180
  routeFence: directSpotRouteFence(spotRouteTarget),
176
181
  entrySpot: spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Entry
@@ -202,7 +207,9 @@ class ZLinkRuntimeRouteTransport {
202
207
  const encoded = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, options.packetName, request, options.timeoutMs, options.metadata);
203
208
  completionPromise = this.completionTable(meshName).submit(() => spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance
204
209
  ? node.requestInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, options.timeoutMs, undefined, options.metadata)
205
- : node.entrySpot().requestToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, encoded, {
210
+ : node
211
+ .entrySpot()
212
+ .requestToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, encoded, {
206
213
  flags: 1,
207
214
  timeoutMs: options.timeoutMs,
208
215
  routeFence: directSpotRouteFence(spotRouteTarget),
@@ -229,13 +236,13 @@ class ZLinkRuntimeRouteTransport {
229
236
  if (node !== undefined) {
230
237
  (0, abort_1.throwIfAborted)(options.signal);
231
238
  const payload = JSON.parse(request.getString('utf8'));
232
- const packetName = typeof payload.packetName === 'string'
233
- ? payload.packetName
234
- : undefined;
239
+ const packetName = typeof payload.packetName === 'string' ? payload.packetName : undefined;
235
240
  const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, packetName, payload, options.timeoutMs);
236
241
  let completionPromise;
237
242
  try {
238
- completionPromise = this.completionTable(meshName).submit(() => node.entrySpot().requestToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, parts, {
243
+ completionPromise = this.completionTable(meshName).submit(() => node
244
+ .entrySpot()
245
+ .requestToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, parts, {
239
246
  flags: 1,
240
247
  timeoutMs: options.timeoutMs,
241
248
  routeFence: directSpotRouteFence(spotRouteTarget),
@@ -279,7 +286,10 @@ class ZLinkRuntimeRouteTransport {
279
286
  return (0, routing_id_1.routingIdsEqual)(node.status().routingId, targetNodeRid);
280
287
  }
281
288
  isKnownBackendPeer(node, targetNodeRid) {
282
- return node.peers().some((peer) => peer.routingId !== null && (0, routing_id_1.routingIdsEqual)(peer.routingId, targetNodeRid));
289
+ return node
290
+ .peers()
291
+ .some((peer) => peer.routingId !== null &&
292
+ (0, routing_id_1.routingIdsEqual)(peer.routingId, targetNodeRid));
283
293
  }
284
294
  submitLocalNode(meshName, sourceNodeRid, parts) {
285
295
  if (this.localNodeSubmit === undefined) {
@@ -328,12 +338,12 @@ function directSpotRouteFence(target) {
328
338
  if (target.spotKind === Spots_1.ZLinkSpotKind.Entry) {
329
339
  return undefined;
330
340
  }
331
- if (target.targetSpotGeneration === undefined
332
- || target.targetNodeGeneration === undefined
333
- || target.authorityOwnerGeneration === undefined
334
- || target.targetOwnerId === undefined
335
- || target.ownerLeaseGeneration === undefined
336
- || target.authorityStoreVersion === undefined) {
341
+ if (target.targetSpotGeneration === undefined ||
342
+ target.targetNodeGeneration === undefined ||
343
+ target.authorityOwnerGeneration === undefined ||
344
+ target.targetOwnerId === undefined ||
345
+ target.ownerLeaseGeneration === undefined ||
346
+ target.authorityStoreVersion === undefined) {
337
347
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotRouteNotFound, `Spot '${String(target.spotId)}' has no complete Ready authority fence.`);
338
348
  }
339
349
  return {
@@ -349,12 +359,12 @@ function directSpotRouteFence(target) {
349
359
  };
350
360
  }
351
361
  function instanceSpotRouteFence(target) {
352
- if (target.targetSpotGeneration === undefined
353
- || target.targetNodeGeneration === undefined
354
- || target.authorityOwnerGeneration === undefined
355
- || target.targetOwnerId === undefined
356
- || target.ownerLeaseGeneration === undefined
357
- || target.authorityStoreVersion === undefined) {
362
+ if (target.targetSpotGeneration === undefined ||
363
+ target.targetNodeGeneration === undefined ||
364
+ target.authorityOwnerGeneration === undefined ||
365
+ target.targetOwnerId === undefined ||
366
+ target.ownerLeaseGeneration === undefined ||
367
+ target.authorityStoreVersion === undefined) {
358
368
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotRouteNotFound, `Instance Spot '${String(target.spotId)}' has no complete Ready authority fence.`);
359
369
  }
360
370
  return {
@@ -399,10 +409,10 @@ function mapMeshSubmissionError(error, operation) {
399
409
  }
400
410
  if ((0, runtime_values_1.isZLinkBackendResultError)(error)) {
401
411
  const notFound = error.result === runtime_values_1.SubmitResult.NotFound || error.result === 102;
402
- const retriable = error.result === runtime_values_1.SubmitResult.Backpressured
403
- || error.result === runtime_values_1.SubmitResult.NotConnected
404
- || error.result === 109
405
- || error.result === 113;
412
+ const retriable = error.result === runtime_values_1.SubmitResult.Backpressured ||
413
+ error.result === runtime_values_1.SubmitResult.NotConnected ||
414
+ error.result === 109 ||
415
+ error.result === 113;
406
416
  return (0, framework_errors_internal_1.createInternalFrameworkException)(notFound
407
417
  ? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound
408
418
  : framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `${operation} failed with result ${error.result}.`, retriable, error);
@@ -432,10 +442,10 @@ function meshRequestFailure(meshName, result, nativeErrno) {
432
442
  : result === runtime_values_1.RequestResult.Terminated
433
443
  ? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RuntimeShutdown
434
444
  : result === runtime_values_1.RequestResult.Conflict || result === runtime_values_1.RequestResult.InternalError
435
- ? wireKind ?? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestProtocolError
445
+ ? (wireKind ?? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestProtocolError)
436
446
  : result === runtime_values_1.RequestResult.NotConnected || result === runtime_values_1.RequestResult.Backpressured
437
447
  ? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected
438
- : wireKind ?? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed;
448
+ : (wireKind ?? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed);
439
449
  const error = (0, framework_errors_internal_1.createInternalFrameworkException)(kind, `MeshNode '${meshName}' request failed with result ${result} and errno ${nativeErrno}.`, result === runtime_values_1.RequestResult.NotConnected || result === runtime_values_1.RequestResult.Backpressured);
440
450
  // An operation id was returned before this completion was observed. The
441
451
  // application envelope therefore crossed the native submission boundary,
@@ -73,7 +73,7 @@ class ZLinkClientServerLocationRuntime {
73
73
  }
74
74
  activeTargets(channelName) {
75
75
  return [...this.connections.values()]
76
- .filter(target => target.state === 'ready')
76
+ .filter((target) => target.state === 'ready')
77
77
  .map((target) => target.descriptor)
78
78
  .filter((descriptor) => descriptor.channelName === channelName);
79
79
  }
@@ -81,8 +81,7 @@ class ZLinkClientServerLocationRuntime {
81
81
  const owner = this.requireOwnerToken();
82
82
  const descriptors = await this.lane.run(() => [...this.localDescriptors]);
83
83
  for (const [channelName, current] of descriptors) {
84
- if (current.ownerId === owner.ownerId
85
- && current.leaseGeneration === owner.leaseGeneration) {
84
+ if (current.ownerId === owner.ownerId && current.leaseGeneration === owner.leaseGeneration) {
86
85
  continue;
87
86
  }
88
87
  const candidate = {
@@ -152,10 +151,7 @@ class ZLinkClientServerLocationRuntime {
152
151
  continue;
153
152
  }
154
153
  const rows = await this.listLiveServers(channelName, signal);
155
- const desired = new Map(rows.map((descriptor) => [
156
- clientServerConnectionId(descriptor),
157
- descriptor
158
- ]));
154
+ const desired = new Map(rows.map((descriptor) => [clientServerConnectionId(descriptor), descriptor]));
159
155
  const desiredStableKeys = new Set(rows.map(clientServerStableKey));
160
156
  for (const [connectionId, descriptor] of desired) {
161
157
  const current = await this.lane.run(() => this.connections.get(connectionId));
@@ -185,8 +181,8 @@ class ZLinkClientServerLocationRuntime {
185
181
  for (const [connectionId, current] of connections) {
186
182
  if (current.descriptor.channelName !== channelName || desired.has(connectionId))
187
183
  continue;
188
- if (desiredStableKeys.has(clientServerStableKey(current.descriptor))
189
- && current.state === 'ready') {
184
+ if (desiredStableKeys.has(clientServerStableKey(current.descriptor)) &&
185
+ current.state === 'ready') {
190
186
  continue;
191
187
  }
192
188
  await this.closeConnection(connectionId);
@@ -203,14 +199,14 @@ class ZLinkClientServerLocationRuntime {
203
199
  } while (continuationToken !== undefined);
204
200
  const live = [];
205
201
  for (const descriptor of rows) {
206
- if (descriptor.state === Locations_1.ZLinkFrameworkRuntimeState.Stopped
207
- || descriptor.state === Locations_1.ZLinkFrameworkRuntimeState.Error) {
202
+ if (descriptor.state === Locations_1.ZLinkFrameworkRuntimeState.Stopped ||
203
+ descriptor.state === Locations_1.ZLinkFrameworkRuntimeState.Error) {
208
204
  continue;
209
205
  }
210
206
  const lease = await this.stores.ownerLeaseStore.readOwnerLease(descriptor.ownerId, signal);
211
- if (lease.kind === 'found'
212
- && lease.token.leaseGeneration === descriptor.leaseGeneration
213
- && lease.leaseExpiresAt.getTime() > lease.storeNow.getTime()) {
207
+ if (lease.kind === 'found' &&
208
+ lease.token.leaseGeneration === descriptor.leaseGeneration &&
209
+ lease.leaseExpiresAt.getTime() > lease.storeNow.getTime()) {
214
210
  live.push(descriptor);
215
211
  }
216
212
  }
@@ -218,7 +214,7 @@ class ZLinkClientServerLocationRuntime {
218
214
  }
219
215
  async disconnectClients() {
220
216
  const connectionIds = await this.lane.run(() => [...this.connections.keys()]);
221
- await Promise.allSettled(connectionIds.map(connectionId => this.closeConnection(connectionId)));
217
+ await Promise.allSettled(connectionIds.map((connectionId) => this.closeConnection(connectionId)));
222
218
  }
223
219
  async openConnection(descriptor, connectionId) {
224
220
  const target = {
@@ -231,8 +227,7 @@ class ZLinkClientServerLocationRuntime {
231
227
  try {
232
228
  target.dealer = this.sockets.openClientServerConnection(descriptor.channelName, connectionId, descriptor.endpoint, {
233
229
  onTransportReady: (routingId, endpoint) => {
234
- void this.handleTransportReady(connectionId, routingId, endpoint)
235
- .catch(error => this.locationRuntime.reportDiscoveryFailure(error));
230
+ void this.handleTransportReady(connectionId, routingId, endpoint).catch((error) => this.locationRuntime.reportDiscoveryFailure(error));
236
231
  },
237
232
  onTerminated: () => {
238
233
  void this.handleConnectionTerminated(connectionId);
@@ -310,8 +305,7 @@ class ZLinkClientServerLocationRuntime {
310
305
  return retryAdmission;
311
306
  });
312
307
  if (shouldRetry) {
313
- void this.handleTransportReady(connectionId, _routingId, _endpoint)
314
- .catch(error => this.locationRuntime.reportDiscoveryFailure(error));
308
+ void this.handleTransportReady(connectionId, _routingId, _endpoint).catch((error) => this.locationRuntime.reportDiscoveryFailure(error));
315
309
  }
316
310
  }
317
311
  }
@@ -319,9 +313,9 @@ class ZLinkClientServerLocationRuntime {
319
313
  const stableKey = clientServerStableKey(admitted.descriptor);
320
314
  const connections = await this.lane.run(() => [...this.connections.values()]);
321
315
  const superseded = connections
322
- .filter(current => current.connectionId !== admitted.connectionId
323
- && clientServerStableKey(current.descriptor) === stableKey)
324
- .map(current => current.connectionId);
316
+ .filter((current) => current.connectionId !== admitted.connectionId &&
317
+ clientServerStableKey(current.descriptor) === stableKey)
318
+ .map((current) => current.connectionId);
325
319
  for (const connectionId of superseded) {
326
320
  await this.closeConnection(connectionId);
327
321
  }
@@ -403,13 +397,13 @@ function clientServerConnectionId(descriptor) {
403
397
  return `${channelName.length}:${channelName}:${serverRid.length}:${serverRid}:${descriptor.lifecycleGeneration}`;
404
398
  }
405
399
  function sameDescriptor(left, right) {
406
- return left.lifecycleGeneration === right.lifecycleGeneration
407
- && left.descriptorRevision === right.descriptorRevision
408
- && left.endpoint === right.endpoint
409
- && left.weight === right.weight
410
- && left.state === right.state
411
- && left.ownerId === right.ownerId
412
- && left.leaseGeneration === right.leaseGeneration;
400
+ return (left.lifecycleGeneration === right.lifecycleGeneration &&
401
+ left.descriptorRevision === right.descriptorRevision &&
402
+ left.endpoint === right.endpoint &&
403
+ left.weight === right.weight &&
404
+ left.state === right.state &&
405
+ left.ownerId === right.ownerId &&
406
+ left.leaseGeneration === right.leaseGeneration);
413
407
  }
414
408
  function toDiscoveryDescriptor(descriptor, effectiveMaxMessageBytes = 0x7fff_ffff) {
415
409
  return {
@@ -455,14 +449,14 @@ function requestAdmission(dealer, descriptor, timeoutMs) {
455
449
  });
456
450
  }
457
451
  function requireMatchingAdmission(expected, actual) {
458
- if (actual.channelName !== expected.channelName
459
- || actual.serverRid !== String(expected.serverRid)
460
- || actual.lifecycleGeneration !== expected.lifecycleGeneration
461
- || actual.descriptorRevision !== expected.descriptorRevision
462
- || actual.weight !== expected.weight
463
- || actual.state !== expected.state
464
- || actual.securityIdentity !== expected.securityIdentity
465
- || actual.advertisedEndpoint !== expected.endpoint) {
452
+ if (actual.channelName !== expected.channelName ||
453
+ actual.serverRid !== String(expected.serverRid) ||
454
+ actual.lifecycleGeneration !== expected.lifecycleGeneration ||
455
+ actual.descriptorRevision !== expected.descriptorRevision ||
456
+ actual.weight !== expected.weight ||
457
+ actual.state !== expected.state ||
458
+ actual.securityIdentity !== expected.securityIdentity ||
459
+ actual.advertisedEndpoint !== expected.endpoint) {
466
460
  throw new configuration_1.ZLinkConfigurationException(`ClientServer '${expected.channelName}' admission does not match its descriptor.`);
467
461
  }
468
462
  }
@@ -471,7 +465,5 @@ function closeMessages(parts) {
471
465
  part.close();
472
466
  }
473
467
  function normalizedMessageLimit(value) {
474
- return Number.isSafeInteger(value) && value > 0
475
- ? Math.min(value, 0xffff_ffff)
476
- : 0x7fff_ffff;
468
+ return Number.isSafeInteger(value) && value > 0 ? Math.min(value, 0xffff_ffff) : 0x7fff_ffff;
477
469
  }
@@ -58,18 +58,15 @@ function encodeClientServerLivenessAck(probeId) {
58
58
  return encodeLiveness(COMMAND_LIVENESS_ACK, probeId);
59
59
  }
60
60
  function isClientServerControlFrame(frame) {
61
- return frame.byteLength >= 5
62
- && frame[0] === MAGIC_0
63
- && frame[1] === MAGIC_1
64
- && frame[2] === WIRE_MAJOR;
61
+ return (frame.byteLength >= 5 && frame[0] === MAGIC_0 && frame[1] === MAGIC_1 && frame[2] === WIRE_MAJOR);
65
62
  }
66
63
  function decodeClientServerControl(frame) {
67
64
  if (frame.byteLength > MAX_DESCRIPTOR_BYTES)
68
65
  fail('ClientServer control record is oversized.');
69
66
  const reader = new Reader(frame);
70
- if (reader.u8('magic[0]') !== MAGIC_0
71
- || reader.u8('magic[1]') !== MAGIC_1
72
- || reader.u8('wireMajor') !== WIRE_MAJOR) {
67
+ if (reader.u8('magic[0]') !== MAGIC_0 ||
68
+ reader.u8('magic[1]') !== MAGIC_1 ||
69
+ reader.u8('wireMajor') !== WIRE_MAJOR) {
73
70
  fail('ClientServer control record prefix is invalid.');
74
71
  }
75
72
  const command = reader.u8('command');
@@ -113,9 +110,7 @@ function decodeClientServerControl(frame) {
113
110
  fail('ClientServer server admission role is invalid.');
114
111
  const admission = decodeServerAdmission(reader);
115
112
  reader.end();
116
- return command === COMMAND_ADMIT
117
- ? { kind: 'admit', admission }
118
- : { kind: 'update', admission };
113
+ return command === COMMAND_ADMIT ? { kind: 'admit', admission } : { kind: 'update', admission };
119
114
  }
120
115
  function encodeLiveness(command, probeId) {
121
116
  return concat(prefix(command), encodeNonZeroU64(probeId, 'probeId'));
@@ -206,24 +201,36 @@ function encodeText16(value, field) {
206
201
  }
207
202
  function runtimeStateToWire(value) {
208
203
  switch (value) {
209
- case Locations_1.ZLinkFrameworkRuntimeState.Preparing: return 0;
210
- case Locations_1.ZLinkFrameworkRuntimeState.Serving: return 1;
204
+ case Locations_1.ZLinkFrameworkRuntimeState.Preparing:
205
+ return 0;
206
+ case Locations_1.ZLinkFrameworkRuntimeState.Serving:
207
+ return 1;
211
208
  case Locations_1.ZLinkFrameworkRuntimeState.Relocating:
212
209
  case Locations_1.ZLinkFrameworkRuntimeState.Relocated:
213
- case Locations_1.ZLinkFrameworkRuntimeState.Draining: return 2;
214
- case Locations_1.ZLinkFrameworkRuntimeState.Stopped: return 3;
215
- case Locations_1.ZLinkFrameworkRuntimeState.Error: return 4;
216
- default: fail('ClientServer runtime state is invalid.');
210
+ case Locations_1.ZLinkFrameworkRuntimeState.Draining:
211
+ return 2;
212
+ case Locations_1.ZLinkFrameworkRuntimeState.Stopped:
213
+ return 3;
214
+ case Locations_1.ZLinkFrameworkRuntimeState.Error:
215
+ return 4;
216
+ default:
217
+ fail('ClientServer runtime state is invalid.');
217
218
  }
218
219
  }
219
220
  function runtimeStateFromWire(value) {
220
221
  switch (value) {
221
- case 0: return Locations_1.ZLinkFrameworkRuntimeState.Preparing;
222
- case 1: return Locations_1.ZLinkFrameworkRuntimeState.Serving;
223
- case 2: return Locations_1.ZLinkFrameworkRuntimeState.Draining;
224
- case 3: return Locations_1.ZLinkFrameworkRuntimeState.Stopped;
225
- case 4: return Locations_1.ZLinkFrameworkRuntimeState.Error;
226
- default: fail('ClientServer runtime state is invalid.');
222
+ case 0:
223
+ return Locations_1.ZLinkFrameworkRuntimeState.Preparing;
224
+ case 1:
225
+ return Locations_1.ZLinkFrameworkRuntimeState.Serving;
226
+ case 2:
227
+ return Locations_1.ZLinkFrameworkRuntimeState.Draining;
228
+ case 3:
229
+ return Locations_1.ZLinkFrameworkRuntimeState.Stopped;
230
+ case 4:
231
+ return Locations_1.ZLinkFrameworkRuntimeState.Error;
232
+ default:
233
+ fail('ClientServer runtime state is invalid.');
227
234
  }
228
235
  }
229
236
  function concat(...parts) {
@@ -83,9 +83,9 @@ function normalizeDispatchFailure(event) {
83
83
  };
84
84
  }
85
85
  function channelDropReason(event) {
86
- if (event.action !== ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop
87
- || (event.surface !== ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.Channel
88
- && event.surface !== ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.RouteMeshChannel))
86
+ if (event.action !== ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorAction.Drop ||
87
+ (event.surface !== ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.Channel &&
88
+ event.surface !== ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.RouteMeshChannel))
89
89
  return undefined;
90
90
  switch (event.reason) {
91
91
  case ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerMissing:
@@ -114,10 +114,12 @@ function dispatchErrorInfo(event) {
114
114
  return {
115
115
  errorType: event.error.name,
116
116
  errorMessage: event.error.message,
117
- ...(cause === event.error ? {} : {
118
- errorCauseType: cause instanceof Error ? cause.name : typeof cause,
119
- errorCauseMessage: cause instanceof Error ? cause.message : String(cause)
120
- })
117
+ ...(cause === event.error
118
+ ? {}
119
+ : {
120
+ errorCauseType: cause instanceof Error ? cause.name : typeof cause,
121
+ errorCauseMessage: cause instanceof Error ? cause.message : String(cause)
122
+ })
121
123
  };
122
124
  }
123
125
  return { errorType: typeof event.error, errorMessage: String(event.error) };
@@ -65,21 +65,20 @@ class ZLinkFanoutLocationRuntime {
65
65
  if (timer !== undefined)
66
66
  clearTimeout(timer);
67
67
  const connectionIds = await this.lane.run(() => [...this.connections.keys()]);
68
- await Promise.allSettled(connectionIds.map(id => this.closeConnection(id)));
68
+ await Promise.allSettled(connectionIds.map((id) => this.closeConnection(id)));
69
69
  await this.removeLocalPublishers(signal);
70
70
  }
71
71
  activeTargets(channelName) {
72
72
  return [...this.connections.values()]
73
- .filter(target => target.state === 'ready')
74
- .map(target => target.descriptor)
75
- .filter(descriptor => descriptor.channelName === channelName);
73
+ .filter((target) => target.state === 'ready')
74
+ .map((target) => target.descriptor)
75
+ .filter((descriptor) => descriptor.channelName === channelName);
76
76
  }
77
77
  async reclaimOwnerRows(signal) {
78
78
  const owner = this.requireOwnerToken();
79
79
  const descriptors = await this.lane.run(() => [...this.localDescriptors]);
80
80
  for (const [channelName, current] of descriptors) {
81
- if (current.ownerId === owner.ownerId
82
- && current.leaseGeneration === owner.leaseGeneration) {
81
+ if (current.ownerId === owner.ownerId && current.leaseGeneration === owner.leaseGeneration) {
83
82
  continue;
84
83
  }
85
84
  const candidate = {
@@ -125,11 +124,8 @@ class ZLinkFanoutLocationRuntime {
125
124
  if (currentIdentity !== undefined)
126
125
  return currentIdentity;
127
126
  const created = {
128
- publisherRid: channel.routingId
129
- ?? `${channel.routingIdPrefix ?? 'fanout'}-${(0, node_crypto_1.randomUUID)()}`,
130
- lifecycleGeneration: generatedLifecycle === 0n
131
- ? 1n
132
- : generatedLifecycle
127
+ publisherRid: channel.routingId ?? `${channel.routingIdPrefix ?? 'fanout'}-${(0, node_crypto_1.randomUUID)()}`,
128
+ lifecycleGeneration: generatedLifecycle === 0n ? 1n : generatedLifecycle
133
129
  };
134
130
  this.publisherIdentities.set(channelName, created);
135
131
  return created;
@@ -158,27 +154,22 @@ class ZLinkFanoutLocationRuntime {
158
154
  }
159
155
  async reconcileSubscribers(signal) {
160
156
  for (const [channelName, channel] of this.registration.channels) {
161
- if (channel.subscriber === undefined
162
- || (channel.subscriber.manualConnections?.length ?? 0) > 0) {
157
+ if (channel.subscriber === undefined ||
158
+ (channel.subscriber.manualConnections?.length ?? 0) > 0) {
163
159
  continue;
164
160
  }
165
161
  const rows = await this.listLivePublishers(channelName, signal);
166
- const desired = new Map(rows.map(row => [
167
- fanoutConnectionId(row),
168
- row
169
- ]));
162
+ const desired = new Map(rows.map((row) => [fanoutConnectionId(row), row]));
170
163
  for (const [connectionId, descriptor] of desired) {
171
164
  const current = await this.lane.run(() => this.connections.get(connectionId));
172
165
  if (current === undefined) {
173
166
  await this.openConnection(connectionId, descriptor);
174
167
  continue;
175
168
  }
176
- if (descriptor.descriptorRevision
177
- < current.descriptor.descriptorRevision) {
169
+ if (descriptor.descriptorRevision < current.descriptor.descriptorRevision) {
178
170
  continue;
179
171
  }
180
- if (descriptor.descriptorRevision
181
- === current.descriptor.descriptorRevision) {
172
+ if (descriptor.descriptorRevision === current.descriptor.descriptorRevision) {
182
173
  if (!sameFanoutDescriptor(descriptor, current.descriptor)) {
183
174
  await this.closeConnection(connectionId);
184
175
  }
@@ -198,8 +189,7 @@ class ZLinkFanoutLocationRuntime {
198
189
  }
199
190
  const connections = await this.lane.run(() => [...this.connections]);
200
191
  for (const [connectionId, current] of connections) {
201
- if (current.descriptor.channelName === channelName
202
- && !desired.has(connectionId)) {
192
+ if (current.descriptor.channelName === channelName && !desired.has(connectionId)) {
203
193
  await this.closeConnection(connectionId);
204
194
  }
205
195
  }
@@ -217,14 +207,11 @@ class ZLinkFanoutLocationRuntime {
217
207
  },
218
208
  onTerminated: () => {
219
209
  const current = this.connections.get(connectionId);
220
- if (target !== undefined
221
- && current === target
222
- && current.reconnectEligible) {
210
+ if (target !== undefined && current === target && current.reconnectEligible) {
223
211
  this.sockets.removeFanoutPublisher(descriptor, connectionId);
224
212
  current.state = 'connecting';
225
213
  setImmediate(() => {
226
- void this.replaceConnection(current)
227
- .catch(error => this.locationRuntime.reportDiscoveryFailure(error));
214
+ void this.replaceConnection(current).catch((error) => this.locationRuntime.reportDiscoveryFailure(error));
228
215
  });
229
216
  }
230
217
  }
@@ -258,9 +245,9 @@ class ZLinkFanoutLocationRuntime {
258
245
  async replaceConnection(expected) {
259
246
  const prepared = await this.lane.run(() => {
260
247
  const controller = this.controller;
261
- if (this.connections.get(expected.connectionId) !== expected
262
- || !expected.reconnectEligible
263
- || controller === undefined)
248
+ if (this.connections.get(expected.connectionId) !== expected ||
249
+ !expected.reconnectEligible ||
250
+ controller === undefined)
264
251
  return undefined;
265
252
  return { controller, descriptor: expected.descriptor };
266
253
  });
@@ -285,9 +272,9 @@ class ZLinkFanoutLocationRuntime {
285
272
  if (descriptor.state !== Locations_1.ZLinkFrameworkRuntimeState.Serving)
286
273
  continue;
287
274
  const lease = await this.storeOwnerLease(descriptor.ownerId, signal);
288
- if (lease.kind === 'found'
289
- && lease.token.leaseGeneration === descriptor.leaseGeneration
290
- && lease.leaseExpiresAt.getTime() > lease.storeNow.getTime()) {
275
+ if (lease.kind === 'found' &&
276
+ lease.token.leaseGeneration === descriptor.leaseGeneration &&
277
+ lease.leaseExpiresAt.getTime() > lease.storeNow.getTime()) {
291
278
  live.push(descriptor);
292
279
  }
293
280
  }
@@ -322,7 +309,7 @@ class ZLinkFanoutLocationRuntime {
322
309
  this.timer = setTimeout(() => {
323
310
  this.timer = undefined;
324
311
  void this.tickCore(this.controller?.signal)
325
- .catch(error => this.locationRuntime.reportDiscoveryFailure(error))
312
+ .catch((error) => this.locationRuntime.reportDiscoveryFailure(error))
326
313
  .finally(() => this.schedule());
327
314
  }, this.options.pollingIntervalMs);
328
315
  this.timer.unref();
@@ -337,20 +324,20 @@ function advertisedEndpoint(boundEndpoint, advertiseHost) {
337
324
  return result;
338
325
  }
339
326
  function fanoutConnectionId(descriptor) {
340
- return `${descriptor.channelName}\0${String(descriptor.publisherRid)}\0`
341
- + descriptor.lifecycleGeneration.toString();
327
+ return (`${descriptor.channelName}\0${String(descriptor.publisherRid)}\0` +
328
+ descriptor.lifecycleGeneration.toString());
342
329
  }
343
330
  function sameFanoutImmutableIdentity(left, right) {
344
- return left.channelName === right.channelName
345
- && left.publisherRid === right.publisherRid
346
- && left.lifecycleGeneration === right.lifecycleGeneration
347
- && left.endpoint === right.endpoint
348
- && left.securityIdentity === right.securityIdentity
349
- && left.ownerId === right.ownerId
350
- && left.leaseGeneration === right.leaseGeneration;
331
+ return (left.channelName === right.channelName &&
332
+ left.publisherRid === right.publisherRid &&
333
+ left.lifecycleGeneration === right.lifecycleGeneration &&
334
+ left.endpoint === right.endpoint &&
335
+ left.securityIdentity === right.securityIdentity &&
336
+ left.ownerId === right.ownerId &&
337
+ left.leaseGeneration === right.leaseGeneration);
351
338
  }
352
339
  function sameFanoutDescriptor(left, right) {
353
- return sameFanoutImmutableIdentity(left, right)
354
- && left.descriptorRevision === right.descriptorRevision
355
- && left.state === right.state;
340
+ return (sameFanoutImmutableIdentity(left, right) &&
341
+ left.descriptorRevision === right.descriptorRevision &&
342
+ left.state === right.state);
356
343
  }
@@ -10,15 +10,13 @@ exports.FANOUT_LIVENESS_PAYLOAD = Uint8Array.from([0x5a, 0x46, 0x01, 0x01]);
10
10
  function inspectFanoutInbound(topic, parts) {
11
11
  if (topic !== FanoutTopic_1.FANOUT_LIVENESS_TOPIC) {
12
12
  const header = (0, channel_envelope_inspection_1.tryDecodeChannelHeader)(parts);
13
- return header === undefined
14
- ? { kind: 'protocolError' }
15
- : { kind: 'application', header };
13
+ return header === undefined ? { kind: 'protocolError' } : { kind: 'application', header };
16
14
  }
17
15
  if (parts.length !== 1)
18
16
  return { kind: 'protocolError' };
19
17
  const payload = parts[0].data();
20
- return payload.length === exports.FANOUT_LIVENESS_PAYLOAD.length
21
- && payload.every((value, index) => value === exports.FANOUT_LIVENESS_PAYLOAD[index])
18
+ return payload.length === exports.FANOUT_LIVENESS_PAYLOAD.length &&
19
+ payload.every((value, index) => value === exports.FANOUT_LIVENESS_PAYLOAD[index])
22
20
  ? { kind: 'beacon' }
23
21
  : { kind: 'protocolError' };
24
22
  }
@@ -33,7 +33,13 @@ class ZLinkLocalSpotRouteTransport {
33
33
  return pending;
34
34
  return new Promise((resolve, reject) => {
35
35
  const timeout = setTimeout(() => reject(new configuration_1.ZLinkConfigurationException(`Route channel '${routerChannelId}' local SPOT request timed out.`)), effectiveTimeoutMs);
36
- pending.then((value) => { clearTimeout(timeout); resolve(value); }, (error) => { clearTimeout(timeout); reject(error); });
36
+ pending.then((value) => {
37
+ clearTimeout(timeout);
38
+ resolve(value);
39
+ }, (error) => {
40
+ clearTimeout(timeout);
41
+ reject(error);
42
+ });
37
43
  });
38
44
  }
39
45
  }