@zlink-systems/framework 0.21.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
@@ -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,
@@ -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);
@@ -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);
@@ -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,
@@ -17,7 +17,7 @@ const systemTimerClock = {
17
17
  now: () => performance.now(),
18
18
  utcNow: () => Date.now(),
19
19
  setTimeout: (callback, delayMs) => setTimeout(callback, delayMs),
20
- clearTimeout: handle => clearTimeout(handle)
20
+ clearTimeout: (handle) => clearTimeout(handle)
21
21
  };
22
22
  class ZLinkSpotTimerRegistry {
23
23
  flowCreationEnabled;
@@ -55,7 +55,7 @@ class ZLinkSpotTimerRegistry {
55
55
  if (prepared.previous !== undefined)
56
56
  await prepared.previous.timer.cancel(signal);
57
57
  const executionSerial = this.executeTimer === undefined
58
- ? this.executionSerialForTimer?.(name, serial) ?? serial
58
+ ? (this.executionSerialForTimer?.(name, serial) ?? serial)
59
59
  : undefined;
60
60
  if (this.executionBarrier !== undefined)
61
61
  executionSerial?.setExecutionBarrier(this.executionBarrier);
@@ -65,7 +65,9 @@ class ZLinkSpotTimerRegistry {
65
65
  const timerFlow = (0, flow_context_1.createInboundFlow)(undefined, 'Timer', this.flowCreationEnabled());
66
66
  const operation = () => {
67
67
  const current = this.timers.get(name);
68
- if (current === undefined || current.generation !== prepared.generation || current.timer !== timer) {
68
+ if (current === undefined ||
69
+ current.generation !== prepared.generation ||
70
+ current.timer !== timer) {
69
71
  return undefined;
70
72
  }
71
73
  if (!this.executionAllowed())
@@ -90,9 +92,7 @@ class ZLinkSpotTimerRegistry {
90
92
  const active = [...this.timers.entries()].map(([name, entry]) => ({
91
93
  name,
92
94
  timer: entry.timer,
93
- wait: this.executeTimer === undefined
94
- ? true
95
- : this.isTimerExecuting?.(name) !== true
95
+ wait: this.executeTimer === undefined ? true : this.isTimerExecuting?.(name) !== true
96
96
  }));
97
97
  this.timers.clear();
98
98
  return active;
@@ -112,7 +112,7 @@ class ZLinkSpotTimerRegistry {
112
112
  return states;
113
113
  }
114
114
  restoreRelocation(states) {
115
- const byName = new Map(states.map(state => [state.name, state]));
115
+ const byName = new Map(states.map((state) => [state.name, state]));
116
116
  if (byName.size !== states.length || byName.size !== this.timers.size) {
117
117
  throw new Error('Timer relocation inventory does not match registered handlers.');
118
118
  }
@@ -234,7 +234,7 @@ class ZLinkManagedTimer {
234
234
  this.finalization = finalization;
235
235
  try {
236
236
  const preparation = this.lane.run(() => this.cancelCore());
237
- void preparation.then(start => {
237
+ void preparation.then((start) => {
238
238
  void this.completeFinalization(start, finalization).then(undefined, reject);
239
239
  }, reject);
240
240
  }
@@ -266,19 +266,19 @@ class ZLinkManagedTimer {
266
266
  restoreRelocation(state, handlerType = '') {
267
267
  if (this.disposed)
268
268
  throw new Error(`Timer '${this.name}' is disposed.`);
269
- if (state.name !== this.name
270
- || state.handlerType !== handlerType
271
- || state.periodMs !== this.periodMs
272
- || state.overrunPolicy !== this.options.overrunPolicy
273
- || state.maxCatchUpTicks !== this.options.maxCatchUpTicks
274
- || state.stopOnUnhandledException !== this.options.stopOnUnhandledException
275
- || !Number.isSafeInteger(state.startedAtUnixMs)
276
- || state.deliveryIndex < 0n
277
- || state.lastScheduledIndex < 0n
278
- || !Number.isSafeInteger(state.nextDueAtUnixMs)
279
- || state.nextDueAtUnixMs !== state.startedAtUnixMs
280
- + Number(state.lastScheduledIndex + 1n) * state.periodMs
281
- || state.pendingTicks.length !== 0) {
269
+ if (state.name !== this.name ||
270
+ state.handlerType !== handlerType ||
271
+ state.periodMs !== this.periodMs ||
272
+ state.overrunPolicy !== this.options.overrunPolicy ||
273
+ state.maxCatchUpTicks !== this.options.maxCatchUpTicks ||
274
+ state.stopOnUnhandledException !== this.options.stopOnUnhandledException ||
275
+ !Number.isSafeInteger(state.startedAtUnixMs) ||
276
+ state.deliveryIndex < 0n ||
277
+ state.lastScheduledIndex < 0n ||
278
+ !Number.isSafeInteger(state.nextDueAtUnixMs) ||
279
+ state.nextDueAtUnixMs !==
280
+ state.startedAtUnixMs + Number(state.lastScheduledIndex + 1n) * state.periodMs ||
281
+ state.pendingTicks.length !== 0) {
282
282
  throw new Error(`Timer '${this.name}' relocation contract does not match its registration.`);
283
283
  }
284
284
  if (this.timeout !== undefined)
@@ -301,7 +301,7 @@ class ZLinkManagedTimer {
301
301
  this.timeout = this.clock.setTimeout(() => {
302
302
  this.timeout = undefined;
303
303
  const execution = startOutsideStateLane(() => this.fire());
304
- this.running = execution.then(() => undefined, cause => this.lane.run(() => {
304
+ this.running = execution.then(() => undefined, (cause) => this.lane.run(() => {
305
305
  this.dispatchFailure ??= { cause };
306
306
  }));
307
307
  }, delayMs);
@@ -328,9 +328,7 @@ class ZLinkManagedTimer {
328
328
  this.timeout = undefined;
329
329
  return {
330
330
  timeout,
331
- running: this.shouldWaitForRunningOnCancel()
332
- ? this.running
333
- : Promise.resolve()
331
+ running: this.shouldWaitForRunningOnCancel() ? this.running : Promise.resolve()
334
332
  };
335
333
  }
336
334
  async completeFinalization(start, finalization) {
@@ -454,8 +452,7 @@ function createTimerDiagnostics(sourceName, spotId, isEntrySpot, timerName, hand
454
452
  }
455
453
  });
456
454
  }
457
- catch {
458
- }
455
+ catch { }
459
456
  };
460
457
  }
461
458
  async function addEntrySpotTimerRegistrations(timers, entrySpotType, entrySpot, serial, registrations, options) {
@@ -467,8 +464,7 @@ async function addEntrySpotTimerRegistrations(timers, entrySpotType, entrySpot,
467
464
  }
468
465
  async function addSpotTimerRegistrations(timers, spotType, spotId, spot, serial, registrations, options) {
469
466
  for (const handler of registrations.timerHandlers ?? []) {
470
- if (handler.spotType === spotType
471
- || spotType.prototype instanceof handler.spotType) {
467
+ if (handler.spotType === spotType || spotType.prototype instanceof handler.spotType) {
472
468
  await timers.add(handler.name, handler.periodMs, handler.options, handler.handlerType, serial, spot, options.providerResolver, options.signal, createTimerDiagnostics(String(spotId), spotId, false, handler.name, handler.handlerType, options.runtimeEventPublisher));
473
469
  }
474
470
  }