@zlink-systems/framework 0.21.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (516) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/ZLinkMessage.js +5 -5
  3. package/dist/contracts/Configuration/CodecContentType.js +5 -7
  4. package/dist/contracts/Configuration/DiagnosticsValidation.js +1 -6
  5. package/dist/contracts/Configuration/EndpointNotation.js +4 -8
  6. package/dist/contracts/Configuration/Registration.js +14 -11
  7. package/dist/contracts/Configuration/RegistrationBuilders.js +32 -25
  8. package/dist/contracts/Configuration/RegistrationNormalizers.js +25 -26
  9. package/dist/contracts/Configuration/RegistrationValidators.js +36 -38
  10. package/dist/contracts/Configuration/SendTimeoutValidation.js +4 -4
  11. package/dist/contracts/Configuration/TimerRegistrationValidator.js +7 -7
  12. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -0
  13. package/dist/contracts/Handlers/JsonContract.js +23 -11
  14. package/dist/contracts/Spots/SpotKind.js +16 -8
  15. package/dist/contracts/Streams/IZLinkSession.d.ts +2 -1
  16. package/dist/location-store-integration.js +16 -16
  17. package/dist/nest-integration.js +17 -11
  18. package/dist/runtime/abort.js +9 -5
  19. package/dist/runtime/actors/actor-authority-payload-codec.js +12 -16
  20. package/dist/runtime/actors/actor-authority-publication.js +18 -17
  21. package/dist/runtime/actors/actor-client.js +83 -63
  22. package/dist/runtime/actors/actor-context.js +28 -22
  23. package/dist/runtime/actors/actor-creation.js +4 -3
  24. package/dist/runtime/actors/actor-handoff.js +89 -92
  25. package/dist/runtime/actors/actor-join-deferred-scope.d.ts +0 -1
  26. package/dist/runtime/actors/actor-join-deferred-scope.js +0 -18
  27. package/dist/runtime/actors/actor-local-native-join.js +18 -19
  28. package/dist/runtime/actors/actor-mailbox.js +1 -1
  29. package/dist/runtime/actors/actor-message-follow-context.js +24 -21
  30. package/dist/runtime/actors/actor-packet-relay-wire.js +1 -3
  31. package/dist/runtime/actors/actor-remote-joiner.js +20 -17
  32. package/dist/runtime/actors/actor-remote-wire.js +6 -7
  33. package/dist/runtime/actors/actor-runtime-state.js +87 -81
  34. package/dist/runtime/actors/actor-transfer-registry.js +3 -5
  35. package/dist/runtime/actors/bound-session-wire.js +14 -9
  36. package/dist/runtime/actors/deferred-join-accepted-journal.js +160 -130
  37. package/dist/runtime/actors/index.js +2 -5
  38. package/dist/runtime/actors/post-commit-actor-binder.js +3 -6
  39. package/dist/runtime/actors/post-commit-actor-location.js +1 -1
  40. package/dist/runtime/actors/spot-actor-dispatch.js +5 -5
  41. package/dist/runtime/actors/transferred-actor-rollback.js +4 -4
  42. package/dist/runtime/admission.js +2 -6
  43. package/dist/runtime/application-jobs/application-ingress-record-owner.js +2 -6
  44. package/dist/runtime/application-jobs/receive-flow-controller.js +11 -12
  45. package/dist/runtime/backend/contracts/index.d.ts +1 -0
  46. package/dist/runtime/backend/mesh-completion-table.js +1 -3
  47. package/dist/runtime/backend/mesh-dispatch-pump.js +12 -16
  48. package/dist/runtime/backend/node/node-backend-adapter-factory.js +1 -3
  49. package/dist/runtime/backend/node/node-backend-adapter-support.js +26 -17
  50. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +4 -3
  51. package/dist/runtime/backend/node/node-raw-binding-port.js +7 -6
  52. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +3 -0
  53. package/dist/runtime/backend/node/node-raw-mesh-backend.js +134 -118
  54. package/dist/runtime/backend/node/node-socket-backend-adapter.js +12 -13
  55. package/dist/runtime/backend/runtime-message.js +3 -3
  56. package/dist/runtime/backend/runtime-values.d.ts +2 -2
  57. package/dist/runtime/backend/runtime-values.js +4 -5
  58. package/dist/runtime/channels/channel-clients.js +27 -24
  59. package/dist/runtime/channels/channel-dispatch-pipeline.js +12 -20
  60. package/dist/runtime/channels/channel-dispatch-services.js +7 -4
  61. package/dist/runtime/channels/channel-dispatchers.js +9 -9
  62. package/dist/runtime/channels/channel-envelope-inspection.js +16 -13
  63. package/dist/runtime/channels/channel-envelope.js +83 -47
  64. package/dist/runtime/channels/channel-outbound-operations.js +8 -8
  65. package/dist/runtime/channels/channel-receive-loops.js +20 -22
  66. package/dist/runtime/channels/channel-receive-task-tracker.js +1 -1
  67. package/dist/runtime/channels/channel-runtime-lifecycle.js +61 -56
  68. package/dist/runtime/channels/channel-runtime-manager.js +18 -9
  69. package/dist/runtime/channels/channel-socket-registry.js +126 -123
  70. package/dist/runtime/channels/channel-transports.js +46 -42
  71. package/dist/runtime/channels/client-server-location-runtime.js +32 -40
  72. package/dist/runtime/channels/client-server-service-wire.js +29 -22
  73. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -0
  74. package/dist/runtime/channels/dispatch-error-reporter.js +9 -39
  75. package/dist/runtime/channels/fanout-location-runtime.js +34 -47
  76. package/dist/runtime/channels/fanout-service-wire.js +3 -5
  77. package/dist/runtime/channels/local-spot-route-transport.js +7 -1
  78. package/dist/runtime/channels/route-member-snapshot.js +3 -3
  79. package/dist/runtime/channels/source-spot-router.js +6 -2
  80. package/dist/runtime/channels/spot-route-bridge-transport.js +5 -2
  81. package/dist/runtime/channels/spot-route-dispatch-strategy.js +2 -2
  82. package/dist/runtime/channels/spot-route-target-resolver.js +6 -6
  83. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +6 -0
  84. package/dist/runtime/diagnostics/dispatch-error-details.js +55 -0
  85. package/dist/runtime/diagnostics/flow-context.d.ts +2 -1
  86. package/dist/runtime/diagnostics/flow-context.js +2 -2
  87. package/dist/runtime/diagnostics/index.js +38 -10
  88. package/dist/runtime/diagnostics/message-flow.js +58 -42
  89. package/dist/runtime/diagnostics/runtime-metrics.js +18 -9
  90. package/dist/runtime/diagnostics/runtime-observation-queue.js +8 -10
  91. package/dist/runtime/diagnostics/topology-runtime-projections.js +17 -10
  92. package/dist/runtime/execution/index.js +7 -6
  93. package/dist/runtime/execution/serial-execution-queue.js +12 -18
  94. package/dist/runtime/execution/state-lane.js +2 -2
  95. package/dist/runtime/foundation/actor-join-recovery-codec.js +31 -27
  96. package/dist/runtime/foundation/event-loop-resources.js +4 -4
  97. package/dist/runtime/foundation/message-follow-suppression-registry.js +4 -4
  98. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +4 -2
  99. package/dist/runtime/foundation/raw-service-mesh-runtime.js +169 -144
  100. package/dist/runtime/foundation/route-mesh-connection-policy.js +4 -4
  101. package/dist/runtime/foundation/runtime-state-projections.js +22 -11
  102. package/dist/runtime/foundation/service-authority-payload-codec.js +13 -15
  103. package/dist/runtime/foundation/service-discovery-registry.js +35 -33
  104. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +20 -22
  105. package/dist/runtime/foundation/service-liveness-registry.js +16 -12
  106. package/dist/runtime/foundation/service-maintenance-runtime.js +2 -4
  107. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +24 -24
  108. package/dist/runtime/foundation/service-relocation-object-owner.js +6 -6
  109. package/dist/runtime/foundation/service-relocation-runtime.js +137 -94
  110. package/dist/runtime/foundation/service-runtime-contracts.js +5 -5
  111. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +1 -0
  112. package/dist/runtime/foundation/service-stateful-registry.js +24 -23
  113. package/dist/runtime/foundation/service-stateful-runtime.d.ts +4 -0
  114. package/dist/runtime/foundation/service-stateful-runtime.js +461 -439
  115. package/dist/runtime/foundation/service-stateful-wire-codec.js +95 -98
  116. package/dist/runtime/foundation/service-topology-registry.d.ts +1 -0
  117. package/dist/runtime/foundation/service-topology-registry.js +105 -96
  118. package/dist/runtime/foundation/service-weighted-selection.js +6 -11
  119. package/dist/runtime/foundation/service-wire-binary-primitives.js +5 -6
  120. package/dist/runtime/foundation/service-wire-m6a-codec.js +46 -35
  121. package/dist/runtime/framework-errors-internal.js +7 -10
  122. package/dist/runtime/handlers/handler-instance-scope.js +4 -5
  123. package/dist/runtime/handlers/index.js +3 -1
  124. package/dist/runtime/host/actor-packet-relay.js +74 -70
  125. package/dist/runtime/host/actor-placement-coordinator.js +29 -31
  126. package/dist/runtime/host/actor-runtime-options-factory.js +12 -14
  127. package/dist/runtime/host/actor-transfer-authority-runtime.js +7 -9
  128. package/dist/runtime/host/actor-transfer-runtime.js +176 -153
  129. package/dist/runtime/host/application-job-queue.js +18 -22
  130. package/dist/runtime/host/bound-session-relay.js +3 -1
  131. package/dist/runtime/host/channel-runtime-options-factory.js +31 -14
  132. package/dist/runtime/host/host-capacity-status.js +8 -4
  133. package/dist/runtime/host/index.js +245 -228
  134. package/dist/runtime/host/instance-activation-authority.js +93 -96
  135. package/dist/runtime/host/location-runtime-owner.js +16 -14
  136. package/dist/runtime/host/mesh-router-resolver.js +11 -13
  137. package/dist/runtime/host/relocation-direct-transfer.js +10 -9
  138. package/dist/runtime/host/remote-actor-join-receiver.js +20 -15
  139. package/dist/runtime/host/remote-actor-packet-target-store.js +18 -22
  140. package/dist/runtime/host/remote-bound-session-relay.js +97 -73
  141. package/dist/runtime/host/route-mesh-runtime.js +64 -69
  142. package/dist/runtime/host/runtime-shutdown.js +1 -2
  143. package/dist/runtime/host/service-relocation-host-runtime.js +586 -511
  144. package/dist/runtime/host/spot-address-transport.js +69 -71
  145. package/dist/runtime/host/spot-runtime-options-factory.js +30 -29
  146. package/dist/runtime/host/stateful-authority-route-runtime.js +65 -68
  147. package/dist/runtime/host/user-spot-creation-coordinator.js +61 -67
  148. package/dist/runtime/locations/actor-location-claims.js +26 -20
  149. package/dist/runtime/locations/aggregate-inventory-store.js +72 -75
  150. package/dist/runtime/locations/authority-key-codec.js +7 -7
  151. package/dist/runtime/locations/auto-connect-loop.js +3 -3
  152. package/dist/runtime/locations/auto-connect-planner.js +25 -19
  153. package/dist/runtime/locations/auto-connect-reconciler.js +51 -31
  154. package/dist/runtime/locations/in-memory-authority-store.js +128 -118
  155. package/dist/runtime/locations/in-memory-location-store.js +195 -168
  156. package/dist/runtime/locations/in-memory-provider-location-store.js +8 -10
  157. package/dist/runtime/locations/key-codec.js +1 -1
  158. package/dist/runtime/locations/lease-tracker.js +23 -21
  159. package/dist/runtime/locations/lifecycle.js +4 -5
  160. package/dist/runtime/locations/location-store-repository.js +368 -324
  161. package/dist/runtime/locations/opaque-record-key.js +2 -2
  162. package/dist/runtime/locations/resolvers.js +73 -82
  163. package/dist/runtime/locations/runtime.js +68 -63
  164. package/dist/runtime/locations/spot-location-claims.js +39 -35
  165. package/dist/runtime/messaging/framework-json-v1.js +7 -7
  166. package/dist/runtime/messaging/packet-name.js +7 -6
  167. package/dist/runtime/messaging/payload-codec.js +21 -18
  168. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +30 -2
  169. package/dist/runtime/protocol/service_wire_codec.generated.js +1671 -234
  170. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +20 -18
  171. package/dist/runtime/routing-id.js +3 -5
  172. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +35 -31
  173. package/dist/runtime/spots/formal-remote-actor-transfer-registry.js +1 -2
  174. package/dist/runtime/spots/index.js +209 -220
  175. package/dist/runtime/spots/spot-activation-registry.js +15 -14
  176. package/dist/runtime/spots/spot-activation-state.js +17 -15
  177. package/dist/runtime/spots/spot-activation.js +33 -16
  178. package/dist/runtime/spots/spot-actor-admission-coordinator.js +18 -15
  179. package/dist/runtime/spots/spot-actor-membership.js +1 -3
  180. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +2 -1
  181. package/dist/runtime/spots/spot-actor-packet-dispatch.js +29 -21
  182. package/dist/runtime/spots/spot-actor-packet-drain.js +14 -10
  183. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +10 -6
  184. package/dist/runtime/spots/spot-closing.js +3 -7
  185. package/dist/runtime/spots/spot-context.js +2 -2
  186. package/dist/runtime/spots/spot-entry-activation.js +13 -14
  187. package/dist/runtime/spots/spot-handle.js +6 -3
  188. package/dist/runtime/spots/spot-handler-registry.js +12 -12
  189. package/dist/runtime/spots/spot-manager-public.js +5 -6
  190. package/dist/runtime/spots/spot-native-actor-join-admission.js +4 -3
  191. package/dist/runtime/spots/spot-node-autoconnect.js +15 -18
  192. package/dist/runtime/spots/spot-node-runtime-manager.js +79 -86
  193. package/dist/runtime/spots/spot-outbound.js +10 -14
  194. package/dist/runtime/spots/spot-remote-codec.js +22 -26
  195. package/dist/runtime/spots/spot-remote-route-codec.js +5 -7
  196. package/dist/runtime/spots/spot-route-packet-dispatch.js +17 -15
  197. package/dist/runtime/spots/spot-route-replies.js +4 -6
  198. package/dist/runtime/spots/spot-routed-actor-admission.js +9 -7
  199. package/dist/runtime/spots/spot-routed-bound-session-dispatch.js +2 -3
  200. package/dist/runtime/spots/spot-routed-frame-dispatch.js +5 -5
  201. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +14 -10
  202. package/dist/runtime/spots/spot-serial-executor.js +5 -8
  203. package/dist/runtime/spots/spot-serial-turn-executor.js +4 -6
  204. package/dist/runtime/spots/spot-subscription-dispatch.js +6 -6
  205. package/dist/runtime/spots/spot-timer.js +26 -30
  206. package/dist/runtime/streams/actor-session-binding-registry.d.ts +21 -8
  207. package/dist/runtime/streams/actor-session-binding-registry.js +168 -148
  208. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -0
  209. package/dist/runtime/streams/actor-session-lifecycle-coordinator.js +3 -1
  210. package/dist/runtime/streams/bound-actor-relay-sender.js +20 -17
  211. package/dist/runtime/streams/bound-session-response-target.js +8 -1
  212. package/dist/runtime/streams/bound-session-service.d.ts +1 -0
  213. package/dist/runtime/streams/bound-session-service.js +14 -12
  214. package/dist/runtime/streams/index.js +28 -20
  215. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  216. package/dist/runtime/streams/managed-stream.js +52 -31
  217. package/dist/runtime/streams/native-fallback-bound-session.js +21 -17
  218. package/dist/runtime/streams/protocol.d.ts +5 -1
  219. package/dist/runtime/streams/protocol.js +68 -20
  220. package/dist/runtime/streams/session-actor-coordinator.js +37 -41
  221. package/dist/runtime/streams/session-context.d.ts +9 -2
  222. package/dist/runtime/streams/session-context.js +50 -32
  223. package/dist/runtime/streams/session-local-actors.d.ts +3 -1
  224. package/dist/runtime/streams/session-local-actors.js +17 -2
  225. package/dist/runtime/streams/session-provider.js +2 -2
  226. package/dist/runtime/streams/session-serial-executor.js +1 -2
  227. package/dist/runtime/streams/stream-frame-factory.d.ts +1 -1
  228. package/dist/runtime/streams/stream-frame-factory.js +14 -7
  229. package/dist/runtime/streams/stream-session-runtime.js +112 -78
  230. package/dist/runtime/workers/index.js +15 -4
  231. package/package.json +3 -3
  232. package/src/contracts/Channels/RouteCalls.ts +6 -1
  233. package/src/contracts/Common/ZLinkMessage.ts +5 -5
  234. package/src/contracts/Common/ZLinkMessageMetadata.ts +4 -3
  235. package/src/contracts/Configuration/Builders.ts +14 -14
  236. package/src/contracts/Configuration/CodecContentType.ts +8 -10
  237. package/src/contracts/Configuration/DiagnosticsValidation.ts +1 -6
  238. package/src/contracts/Configuration/EndpointNotation.ts +11 -11
  239. package/src/contracts/Configuration/ObjectRoles.ts +1 -3
  240. package/src/contracts/Configuration/Registration.ts +46 -17
  241. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +10 -8
  242. package/src/contracts/Configuration/RegistrationBuilders.ts +107 -96
  243. package/src/contracts/Configuration/RegistrationCodecRegistry.ts +9 -3
  244. package/src/contracts/Configuration/RegistrationNormalizers.ts +116 -84
  245. package/src/contracts/Configuration/RegistrationTypes.ts +21 -25
  246. package/src/contracts/Configuration/RegistrationValidators.ts +122 -73
  247. package/src/contracts/Configuration/RouteChannelInternalState.ts +1 -4
  248. package/src/contracts/Configuration/RuntimeEndpointConnections.ts +4 -1
  249. package/src/contracts/Configuration/SendTimeoutValidation.ts +6 -4
  250. package/src/contracts/Configuration/TimerRegistrationValidator.ts +8 -13
  251. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +2 -6
  252. package/src/contracts/Errors/index.ts +1 -4
  253. package/src/contracts/Handlers/Attributes.ts +15 -9
  254. package/src/contracts/Handlers/IZLinkChannelHandlers.ts +24 -4
  255. package/src/contracts/Handlers/JsonContract.ts +53 -19
  256. package/src/contracts/Locations/ActorTransfer.ts +1 -5
  257. package/src/contracts/Locations/Authority.ts +4 -11
  258. package/src/contracts/Locations/Keys.ts +6 -1
  259. package/src/contracts/Locations/Options.ts +3 -2
  260. package/src/contracts/Locations/RelocationStore.ts +1 -4
  261. package/src/contracts/Locations/Resolvers.ts +5 -5
  262. package/src/contracts/Locations/RuntimeQuery.ts +6 -2
  263. package/src/contracts/Locations/Stores.ts +1 -2
  264. package/src/contracts/Locations/index.ts +2 -8
  265. package/src/contracts/RouteMesh/Contracts.ts +1 -7
  266. package/src/contracts/RouteMesh/RuntimeTopology.ts +1 -4
  267. package/src/contracts/Spots/Contracts.ts +2 -8
  268. package/src/contracts/Spots/SpotKind.ts +16 -8
  269. package/src/contracts/Spots/ZLinkSpot.ts +8 -11
  270. package/src/contracts/Streams/IZLinkSession.ts +2 -2
  271. package/src/contracts/Streams/IZLinkSessionActor.ts +5 -1
  272. package/src/contracts/Streams/IZLinkSessionPacketHandler.ts +5 -1
  273. package/src/internal.ts +5 -4
  274. package/src/location-store-integration.ts +24 -16
  275. package/src/nest-integration.ts +40 -25
  276. package/src/runtime/abort.ts +10 -4
  277. package/src/runtime/actors/actor-authority-payload-codec.ts +20 -29
  278. package/src/runtime/actors/actor-authority-publication.ts +92 -77
  279. package/src/runtime/actors/actor-client.ts +162 -133
  280. package/src/runtime/actors/actor-context.ts +142 -134
  281. package/src/runtime/actors/actor-creation.ts +47 -44
  282. package/src/runtime/actors/actor-execution-context.ts +6 -4
  283. package/src/runtime/actors/actor-handoff.ts +269 -293
  284. package/src/runtime/actors/actor-join-deferred-scope.ts +1 -32
  285. package/src/runtime/actors/actor-lifecycle-snapshot.ts +5 -8
  286. package/src/runtime/actors/actor-local-native-join.ts +131 -159
  287. package/src/runtime/actors/actor-mailbox.ts +16 -19
  288. package/src/runtime/actors/actor-message-follow-context.ts +46 -36
  289. package/src/runtime/actors/actor-packet-relay-wire.ts +32 -21
  290. package/src/runtime/actors/actor-remote-joiner.ts +50 -54
  291. package/src/runtime/actors/actor-remote-wire.ts +9 -13
  292. package/src/runtime/actors/actor-routed-join-transport.ts +10 -2
  293. package/src/runtime/actors/actor-runtime-contracts.ts +2 -5
  294. package/src/runtime/actors/actor-runtime-state.ts +127 -124
  295. package/src/runtime/actors/actor-transfer-registry.ts +9 -14
  296. package/src/runtime/actors/actor-transport-delivery-gate.ts +4 -6
  297. package/src/runtime/actors/bound-session-wire.ts +37 -17
  298. package/src/runtime/actors/deferred-join-accepted-journal.ts +353 -326
  299. package/src/runtime/actors/index.ts +43 -86
  300. package/src/runtime/actors/post-commit-actor-binder.ts +10 -10
  301. package/src/runtime/actors/post-commit-actor-location.ts +30 -23
  302. package/src/runtime/actors/spot-actor-dispatch.ts +78 -53
  303. package/src/runtime/actors/transferred-actor-rollback.ts +18 -13
  304. package/src/runtime/admission.ts +9 -9
  305. package/src/runtime/application-jobs/application-ingress-record-owner.ts +5 -15
  306. package/src/runtime/application-jobs/application-job-queue-handler-start-gate.ts +3 -2
  307. package/src/runtime/application-jobs/receive-flow-controller.ts +17 -14
  308. package/src/runtime/backend/contracts/index.ts +77 -52
  309. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -14
  310. package/src/runtime/backend/mesh-completion-table.ts +6 -9
  311. package/src/runtime/backend/mesh-dispatch-pump.ts +38 -30
  312. package/src/runtime/backend/node/node-backend-adapter-factory.ts +23 -21
  313. package/src/runtime/backend/node/node-backend-adapter-support.ts +36 -22
  314. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +59 -58
  315. package/src/runtime/backend/node/node-event-loop-poller.ts +2 -10
  316. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +12 -5
  317. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +4 -3
  318. package/src/runtime/backend/node/node-raw-binding-port.ts +29 -29
  319. package/src/runtime/backend/node/node-raw-mesh-backend.ts +370 -390
  320. package/src/runtime/backend/node/node-socket-backend-adapter.ts +101 -54
  321. package/src/runtime/backend/runtime-message.ts +5 -3
  322. package/src/runtime/backend/runtime-values.ts +10 -7
  323. package/src/runtime/channels/channel-autoconnect.ts +1 -4
  324. package/src/runtime/channels/channel-clients.ts +93 -73
  325. package/src/runtime/channels/channel-dispatch-pipeline.ts +44 -44
  326. package/src/runtime/channels/channel-dispatch-services.ts +51 -49
  327. package/src/runtime/channels/channel-dispatchers.ts +152 -96
  328. package/src/runtime/channels/channel-envelope-inspection.ts +20 -16
  329. package/src/runtime/channels/channel-envelope.ts +256 -150
  330. package/src/runtime/channels/channel-multipart.ts +13 -5
  331. package/src/runtime/channels/channel-outbound-operations.ts +37 -41
  332. package/src/runtime/channels/channel-receive-loops.ts +102 -98
  333. package/src/runtime/channels/channel-receive-task-tracker.ts +1 -1
  334. package/src/runtime/channels/channel-runtime-lifecycle.ts +248 -190
  335. package/src/runtime/channels/channel-runtime-manager.ts +63 -37
  336. package/src/runtime/channels/channel-socket-options.ts +3 -10
  337. package/src/runtime/channels/channel-socket-registry.ts +331 -273
  338. package/src/runtime/channels/channel-transports.ts +218 -206
  339. package/src/runtime/channels/client-server-location-runtime.ts +116 -100
  340. package/src/runtime/channels/client-server-service-wire.ts +37 -36
  341. package/src/runtime/channels/dispatch-error-reporter.ts +12 -47
  342. package/src/runtime/channels/fanout-location-runtime.ts +91 -94
  343. package/src/runtime/channels/fanout-service-wire.ts +5 -12
  344. package/src/runtime/channels/handler-filter-scope.ts +1 -4
  345. package/src/runtime/channels/index.ts +1 -4
  346. package/src/runtime/channels/local-spot-route-transport.ts +20 -5
  347. package/src/runtime/channels/route-member-snapshot.ts +11 -5
  348. package/src/runtime/channels/router-socket-spot-route-transport.ts +1 -7
  349. package/src/runtime/channels/source-spot-router.ts +26 -22
  350. package/src/runtime/channels/spot-direct-envelope.ts +10 -8
  351. package/src/runtime/channels/spot-node-route-transport.ts +13 -16
  352. package/src/runtime/channels/spot-route-bridge-transport.ts +26 -9
  353. package/src/runtime/channels/spot-route-dispatch-strategy.ts +40 -13
  354. package/src/runtime/channels/spot-route-target-resolver.ts +18 -9
  355. package/src/runtime/codecs/index.ts +3 -2
  356. package/src/runtime/diagnostics/dispatch-error-details.ts +62 -0
  357. package/src/runtime/diagnostics/flow-context.ts +18 -7
  358. package/src/runtime/diagnostics/index.ts +96 -61
  359. package/src/runtime/diagnostics/internal-event-contracts.ts +87 -33
  360. package/src/runtime/diagnostics/message-flow.ts +107 -79
  361. package/src/runtime/diagnostics/runtime-metrics.ts +46 -24
  362. package/src/runtime/diagnostics/runtime-observation-queue.ts +17 -28
  363. package/src/runtime/diagnostics/topology-runtime-projections.ts +62 -43
  364. package/src/runtime/execution/index.ts +18 -26
  365. package/src/runtime/execution/serial-execution-queue.ts +31 -40
  366. package/src/runtime/execution/state-lane.ts +2 -2
  367. package/src/runtime/foundation/actor-join-recovery-codec.ts +69 -55
  368. package/src/runtime/foundation/event-loop-resources.ts +8 -4
  369. package/src/runtime/foundation/message-follow-suppression-registry.ts +7 -14
  370. package/src/runtime/foundation/operation-identity.ts +1 -2
  371. package/src/runtime/foundation/operation-registry.ts +8 -2
  372. package/src/runtime/foundation/raw-service-mesh-runtime.ts +364 -396
  373. package/src/runtime/foundation/route-mesh-connection-policy.ts +7 -8
  374. package/src/runtime/foundation/runtime-state-projections.ts +24 -23
  375. package/src/runtime/foundation/service-authority-payload-codec.ts +54 -57
  376. package/src/runtime/foundation/service-discovery-registry.ts +67 -59
  377. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +28 -29
  378. package/src/runtime/foundation/service-liveness-registry.ts +18 -13
  379. package/src/runtime/foundation/service-mailbox.ts +14 -14
  380. package/src/runtime/foundation/service-maintenance-runtime.ts +22 -21
  381. package/src/runtime/foundation/service-metadata-codec.ts +2 -9
  382. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +39 -36
  383. package/src/runtime/foundation/service-relocation-coordinator.ts +1 -4
  384. package/src/runtime/foundation/service-relocation-object-owner.ts +40 -58
  385. package/src/runtime/foundation/service-relocation-runtime.ts +292 -216
  386. package/src/runtime/foundation/service-runtime-contracts.ts +8 -8
  387. package/src/runtime/foundation/service-session-binding-ingress-port.ts +2 -4
  388. package/src/runtime/foundation/service-stateful-registry.ts +69 -59
  389. package/src/runtime/foundation/service-stateful-runtime.ts +1233 -1112
  390. package/src/runtime/foundation/service-stateful-wire-codec.ts +318 -270
  391. package/src/runtime/foundation/service-topology-registry.ts +170 -159
  392. package/src/runtime/foundation/service-weighted-selection.ts +9 -15
  393. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -12
  394. package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -47
  395. package/src/runtime/framework-errors-internal.ts +31 -30
  396. package/src/runtime/handlers/handler-instance-scope.ts +18 -29
  397. package/src/runtime/handlers/index.ts +18 -8
  398. package/src/runtime/host/actor-packet-relay.ts +290 -261
  399. package/src/runtime/host/actor-placement-coordinator.ts +165 -150
  400. package/src/runtime/host/actor-runtime-options-factory.ts +89 -87
  401. package/src/runtime/host/actor-transfer-authority-runtime.ts +46 -38
  402. package/src/runtime/host/actor-transfer-runtime.ts +391 -395
  403. package/src/runtime/host/application-job-queue.ts +32 -48
  404. package/src/runtime/host/bound-session-relay.ts +7 -9
  405. package/src/runtime/host/channel-runtime-options-factory.ts +75 -35
  406. package/src/runtime/host/host-capacity-status.ts +10 -9
  407. package/src/runtime/host/index.ts +861 -789
  408. package/src/runtime/host/instance-activation-authority.ts +125 -143
  409. package/src/runtime/host/location-runtime-owner.ts +38 -26
  410. package/src/runtime/host/mesh-router-resolver.ts +30 -23
  411. package/src/runtime/host/relocation-direct-transfer.ts +15 -15
  412. package/src/runtime/host/relocation-integrity-fault-gate.ts +3 -2
  413. package/src/runtime/host/remote-actor-join-receiver.ts +43 -34
  414. package/src/runtime/host/remote-actor-packet-target-store.ts +54 -52
  415. package/src/runtime/host/remote-bound-session-relay.ts +274 -247
  416. package/src/runtime/host/route-mesh-runtime-options.ts +1 -3
  417. package/src/runtime/host/route-mesh-runtime.ts +227 -181
  418. package/src/runtime/host/runtime-shutdown.ts +4 -3
  419. package/src/runtime/host/service-relocation-control.ts +14 -5
  420. package/src/runtime/host/service-relocation-host-runtime.ts +1388 -1165
  421. package/src/runtime/host/spot-address-transport.ts +284 -237
  422. package/src/runtime/host/spot-node-runtime-options-factory.ts +14 -8
  423. package/src/runtime/host/spot-runtime-options-factory.ts +71 -62
  424. package/src/runtime/host/stateful-authority-route-runtime.ts +117 -116
  425. package/src/runtime/host/user-spot-creation-coordinator.ts +225 -220
  426. package/src/runtime/locations/actor-location-claims.ts +61 -49
  427. package/src/runtime/locations/actor-session-route-claims.ts +1 -4
  428. package/src/runtime/locations/aggregate-inventory-store.ts +105 -134
  429. package/src/runtime/locations/authority-key-codec.ts +13 -10
  430. package/src/runtime/locations/auto-connect-loop.ts +14 -11
  431. package/src/runtime/locations/auto-connect-planner.ts +42 -31
  432. package/src/runtime/locations/auto-connect-reconciler.ts +106 -63
  433. package/src/runtime/locations/canonical-codec.ts +3 -1
  434. package/src/runtime/locations/creation-operation-id.ts +4 -3
  435. package/src/runtime/locations/domain-store-contract.ts +13 -7
  436. package/src/runtime/locations/in-memory-authority-store.ts +232 -199
  437. package/src/runtime/locations/in-memory-location-store.ts +432 -250
  438. package/src/runtime/locations/in-memory-provider-location-store.ts +16 -17
  439. package/src/runtime/locations/internal-store-contracts.ts +95 -38
  440. package/src/runtime/locations/key-codec.ts +3 -4
  441. package/src/runtime/locations/lease-tracker.ts +36 -27
  442. package/src/runtime/locations/lifecycle-runtime.ts +15 -3
  443. package/src/runtime/locations/lifecycle.ts +33 -28
  444. package/src/runtime/locations/location-store-repository.ts +1329 -1185
  445. package/src/runtime/locations/opaque-record-key.ts +4 -9
  446. package/src/runtime/locations/resolvers.ts +201 -178
  447. package/src/runtime/locations/runtime.ts +251 -159
  448. package/src/runtime/locations/spot-location-claims.ts +110 -112
  449. package/src/runtime/messaging/creation-payload-codec.ts +4 -1
  450. package/src/runtime/messaging/framework-json-v1.ts +34 -15
  451. package/src/runtime/messaging/packet-name.ts +8 -6
  452. package/src/runtime/messaging/payload-codec.ts +70 -50
  453. package/src/runtime/messaging/submission-result.ts +6 -9
  454. package/src/runtime/protocol/service_wire_codec.generated.ts +1376 -159
  455. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +19 -18
  456. package/src/runtime/routing-id.ts +10 -7
  457. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +56 -62
  458. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +23 -20
  459. package/src/runtime/spots/index.ts +595 -564
  460. package/src/runtime/spots/spot-activation-registry.ts +38 -34
  461. package/src/runtime/spots/spot-activation-state.ts +43 -51
  462. package/src/runtime/spots/spot-activation.ts +179 -116
  463. package/src/runtime/spots/spot-actor-admission-coordinator.ts +110 -78
  464. package/src/runtime/spots/spot-actor-join-dispatch.ts +57 -41
  465. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +5 -7
  466. package/src/runtime/spots/spot-actor-membership.ts +25 -27
  467. package/src/runtime/spots/spot-actor-packet-dispatch.ts +196 -148
  468. package/src/runtime/spots/spot-actor-packet-drain.ts +56 -42
  469. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +37 -39
  470. package/src/runtime/spots/spot-closing.ts +11 -12
  471. package/src/runtime/spots/spot-context.ts +46 -26
  472. package/src/runtime/spots/spot-entry-activation.ts +84 -65
  473. package/src/runtime/spots/spot-handle.ts +17 -15
  474. package/src/runtime/spots/spot-handler-registry.ts +44 -31
  475. package/src/runtime/spots/spot-location-claim.ts +5 -4
  476. package/src/runtime/spots/spot-manager-public.ts +62 -82
  477. package/src/runtime/spots/spot-native-actor-join-admission.ts +20 -16
  478. package/src/runtime/spots/spot-node-autoconnect.ts +54 -61
  479. package/src/runtime/spots/spot-node-runtime-manager.ts +235 -222
  480. package/src/runtime/spots/spot-outbound.ts +47 -59
  481. package/src/runtime/spots/spot-publisher-transport.ts +5 -4
  482. package/src/runtime/spots/spot-remote-codec.ts +66 -65
  483. package/src/runtime/spots/spot-remote-route-codec.ts +61 -41
  484. package/src/runtime/spots/spot-route-packet-dispatch.ts +129 -95
  485. package/src/runtime/spots/spot-route-replies.ts +23 -24
  486. package/src/runtime/spots/spot-route-reply-wire.ts +3 -2
  487. package/src/runtime/spots/spot-routed-actor-admission.ts +37 -27
  488. package/src/runtime/spots/spot-routed-bound-session-dispatch.ts +13 -18
  489. package/src/runtime/spots/spot-routed-frame-dispatch.ts +18 -15
  490. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +35 -26
  491. package/src/runtime/spots/spot-routing-internal.ts +1 -4
  492. package/src/runtime/spots/spot-runtime-ports.ts +5 -5
  493. package/src/runtime/spots/spot-serial-executor.ts +5 -9
  494. package/src/runtime/spots/spot-serial-turn-executor.ts +19 -26
  495. package/src/runtime/spots/spot-subscription-dispatch.ts +58 -47
  496. package/src/runtime/spots/spot-timer.ts +103 -91
  497. package/src/runtime/streams/actor-session-binding-registry.ts +421 -292
  498. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +8 -4
  499. package/src/runtime/streams/actor-session-lifecycle-coordinator.ts +3 -1
  500. package/src/runtime/streams/bound-actor-relay-sender.ts +60 -50
  501. package/src/runtime/streams/bound-session-response-target.ts +39 -9
  502. package/src/runtime/streams/bound-session-service.ts +52 -42
  503. package/src/runtime/streams/index.ts +183 -100
  504. package/src/runtime/streams/managed-stream.ts +123 -90
  505. package/src/runtime/streams/native-fallback-bound-session.ts +57 -52
  506. package/src/runtime/streams/protocol.ts +115 -46
  507. package/src/runtime/streams/session-actor-coordinator.ts +109 -93
  508. package/src/runtime/streams/session-calls.ts +2 -8
  509. package/src/runtime/streams/session-context.ts +96 -51
  510. package/src/runtime/streams/session-local-actors.ts +19 -3
  511. package/src/runtime/streams/session-provider.ts +5 -7
  512. package/src/runtime/streams/session-serial-executor.ts +7 -6
  513. package/src/runtime/streams/stream-binding-runtime-ports.ts +79 -29
  514. package/src/runtime/streams/stream-frame-factory.ts +59 -40
  515. package/src/runtime/streams/stream-session-runtime.ts +317 -214
  516. package/src/runtime/workers/index.ts +68 -29
@@ -17,6 +17,7 @@ exports.DEFAULT_ZLINK_DIAGNOSTICS = {
17
17
  };
18
18
  const telemetryLogger = api_logs_1.logs.getLogger('@zlink-systems/framework');
19
19
  const telemetryTracer = api_1.trace.getTracer('@zlink-systems/framework');
20
+ const ERROR_MESSAGE_MAX_LENGTH = 512;
20
21
  let diagnosticsGeneration = 0n;
21
22
  function effectiveMessageFlow(ctx) {
22
23
  return ctx.liveMode.mode;
@@ -34,10 +35,10 @@ function createDiagnosticsContext(dispatch, _providerResolver, liveMode) {
34
35
  function requiredMode(outcome, result) {
35
36
  // succeeded가 아닌 terminal은 Errors level에서도 보여야 한다 — 기록 범위 설정
36
37
  // 절의 level 규칙.
37
- return outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dropped
38
- || outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Backpressured
39
- || outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error
40
- || (result !== undefined && result !== 'succeeded')
38
+ return outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dropped ||
39
+ outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Backpressured ||
40
+ outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error ||
41
+ (result !== undefined && result !== 'succeeded')
41
42
  ? 'errors'
42
43
  : 'normal';
43
44
  }
@@ -46,7 +47,9 @@ function flowIfEnabled(flow, outcome, result, flowId, sourceMeshGeneration) {
46
47
  return undefined;
47
48
  return typeof flow.begin === 'function'
48
49
  ? flow.begin(outcome, result, flowId, sourceMeshGeneration)
49
- : flow.accepts(outcome) ? flow : undefined;
50
+ : flow.accepts(outcome)
51
+ ? flow
52
+ : undefined;
50
53
  }
51
54
  class ZLinkMessageFlowTracer {
52
55
  ctx;
@@ -79,17 +82,17 @@ class ZLinkMessageFlowTracer {
79
82
  }
80
83
  switch (mode) {
81
84
  case 'errors':
82
- return this.errorsTracePoint ??= {
83
- trace: flowInput => this.traceAcceptedAtMode(flowInput, 'errors')
84
- };
85
+ return (this.errorsTracePoint ??= {
86
+ trace: (flowInput) => this.traceAcceptedAtMode(flowInput, 'errors')
87
+ });
85
88
  case 'normal':
86
- return this.normalTracePoint ??= {
87
- trace: flowInput => this.traceAcceptedAtMode(flowInput, 'normal')
88
- };
89
+ return (this.normalTracePoint ??= {
90
+ trace: (flowInput) => this.traceAcceptedAtMode(flowInput, 'normal')
91
+ });
89
92
  case 'detailed':
90
- return this.detailedTracePoint ??= {
91
- trace: flowInput => this.traceAcceptedAtMode(flowInput, 'detailed')
92
- };
93
+ return (this.detailedTracePoint ??= {
94
+ trace: (flowInput) => this.traceAcceptedAtMode(flowInput, 'detailed')
95
+ });
93
96
  case 'off':
94
97
  return undefined;
95
98
  }
@@ -99,8 +102,8 @@ class ZLinkMessageFlowTracer {
99
102
  }
100
103
  trace(flowInput) {
101
104
  const effectiveMode = effectiveMessageFlow(this.ctx);
102
- if (contracts_1.MESSAGE_FLOW_MODE_RANK[effectiveMode]
103
- < contracts_1.MESSAGE_FLOW_MODE_RANK[requiredMode(flowInput.outcome, flowInput.result)])
105
+ if (contracts_1.MESSAGE_FLOW_MODE_RANK[effectiveMode] <
106
+ contracts_1.MESSAGE_FLOW_MODE_RANK[requiredMode(flowInput.outcome, flowInput.result)])
104
107
  return;
105
108
  const ambient = (0, flow_context_1.currentFlowContext)();
106
109
  const flowId = flowInput.flowId ?? ambient?.flowId;
@@ -109,12 +112,13 @@ class ZLinkMessageFlowTracer {
109
112
  this.traceAcceptedAtMode(flowInput, effectiveMode, flowId, ambient?.flowOrigin);
110
113
  }
111
114
  traceAcceptedAtMode(flowInput, effectiveMode, acceptedFlowId, acceptedFlowOrigin) {
112
- const ambient = acceptedFlowId === undefined ? (0, flow_context_1.currentFlowContext)() : undefined;
115
+ const ambient = (0, flow_context_1.currentFlowContext)();
113
116
  const flowId = flowInput.flowId ?? acceptedFlowId ?? ambient?.flowId;
114
117
  const flowOrigin = flowInput.flowOrigin ?? acceptedFlowOrigin ?? ambient?.flowOrigin;
115
118
  const flow = {
116
119
  ...flowInput,
117
120
  ...(flowId === undefined ? {} : { flowId, flowOrigin }),
121
+ streamSessionId: flowInput.streamSessionId ?? ambient?.streamSessionId,
118
122
  effectiveMode
119
123
  };
120
124
  this.tracedEvents += 1;
@@ -126,11 +130,11 @@ class ZLinkMessageFlowTracer {
126
130
  effectiveMode === 'detailed' ? flow.durationSeconds : undefined));
127
131
  }
128
132
  acceptsSample(outcome, result, flowId, sourceMeshGeneration) {
129
- return outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dropped
130
- || outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Backpressured
131
- || outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error
132
- || (result !== undefined && result !== 'succeeded')
133
- || this.sample(flowId, sourceMeshGeneration);
133
+ return (outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dropped ||
134
+ outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Backpressured ||
135
+ outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error ||
136
+ (result !== undefined && result !== 'succeeded') ||
137
+ this.sample(flowId, sourceMeshGeneration));
134
138
  }
135
139
  get tracedCount() {
136
140
  return this.tracedEvents;
@@ -144,8 +148,8 @@ class ZLinkMessageFlowTracer {
144
148
  return true;
145
149
  if (rate <= 0.0)
146
150
  return false;
147
- const samplingKey = flowId
148
- ?? `${sourceMeshGeneration ?? this.ctx.sourceMeshGeneration}:${this.nextSamplingSequence()}`;
151
+ const samplingKey = flowId ??
152
+ `${sourceMeshGeneration ?? this.ctx.sourceMeshGeneration}:${this.nextSamplingSequence()}`;
149
153
  return hashFlowId(samplingKey) / 0x1_0000_0000 < rate;
150
154
  }
151
155
  nextSamplingSequence() {
@@ -158,9 +162,7 @@ class ZLinkMessageFlowTracer {
158
162
  }
159
163
  publishToLogger(record) {
160
164
  try {
161
- const severityNumber = record.eventId === 'zlink.dispatch_error'
162
- ? api_logs_1.SeverityNumber.ERROR
163
- : api_logs_1.SeverityNumber.INFO;
165
+ const severityNumber = record.eventId === 'zlink.dispatch_error' ? api_logs_1.SeverityNumber.ERROR : api_logs_1.SeverityNumber.INFO;
164
166
  telemetryLogger.emit({
165
167
  eventName: record.eventId,
166
168
  timestamp: record.timestamp,
@@ -232,18 +234,17 @@ function toTelemetryRecord(flow, messageSizeBytes, durationSeconds) {
232
234
  targetRid: flow.targetRid,
233
235
  serverRid: flow.serverRid,
234
236
  flowId: flow.flowId,
235
- flowOrigin: flow.flowOrigin === undefined
236
- ? undefined
237
- : FLOW_ORIGIN_TELEMETRY_VALUES[flow.flowOrigin],
237
+ flowOrigin: flow.flowOrigin === undefined ? undefined : FLOW_ORIGIN_TELEMETRY_VALUES[flow.flowOrigin],
238
238
  spotId: flow.spotId,
239
239
  instanceSpotType: flow.instanceSpotType,
240
240
  activationState: flow.activationState,
241
241
  actorId: flow.actorId,
242
+ streamSessionId: flow.streamSessionId,
242
243
  commandId: flow.commandId,
243
244
  messageSizeBytes,
244
245
  durationSeconds,
245
246
  errorType: flow.errorType,
246
- errorMessage: boundedText(flow.errorMessage),
247
+ errorMessage: flow.errorMessage,
247
248
  errorCauseType: flow.errorCauseType,
248
249
  errorCauseMessage: boundedText(flow.errorCauseMessage)
249
250
  };
@@ -279,6 +280,7 @@ function structuredLogAttributes(record) {
279
280
  instance_spot_type: record.instanceSpotType,
280
281
  activation_state: record.activationState,
281
282
  actor_id: record.actorId,
283
+ stream_session_id: record.streamSessionId,
282
284
  correlation_id: record.correlationId,
283
285
  flow_id: record.flowId,
284
286
  flow_origin: record.flowOrigin,
@@ -313,11 +315,15 @@ function structuredLogBodyAttributes(record) {
313
315
  instance_type: record.instanceSpotType,
314
316
  activation_state: record.activationState,
315
317
  actor: record.actorId,
318
+ session: record.streamSessionId,
316
319
  corr: record.correlationId,
317
320
  flow: record.flowId,
318
321
  origin: record.flowOrigin,
319
322
  outcome: record.outcome,
320
323
  reason: record.reason,
324
+ action: record.action,
325
+ error_type: record.errorType,
326
+ error_message: record.errorMessage,
321
327
  size: record.messageSizeBytes
322
328
  });
323
329
  }
@@ -336,16 +342,26 @@ function compactAttributes(values) {
336
342
  }
337
343
  function messageFlowPhase(outcome) {
338
344
  switch (outcome) {
339
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Received: return 'received';
340
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Admitted: return 'admitted';
341
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dispatched: return 'dispatched';
342
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Completed: return 'completed';
343
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Replied: return 'replied';
344
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dropped: return 'dropped';
345
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Sent: return 'sent';
346
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.ReplyReceived: return 'reply_received';
347
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Backpressured: return 'backpressured';
348
- case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error: return undefined;
345
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Received:
346
+ return 'received';
347
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Admitted:
348
+ return 'admitted';
349
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dispatched:
350
+ return 'dispatched';
351
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Completed:
352
+ return 'completed';
353
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Replied:
354
+ return 'replied';
355
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dropped:
356
+ return 'dropped';
357
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Sent:
358
+ return 'sent';
359
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.ReplyReceived:
360
+ return 'reply_received';
361
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Backpressured:
362
+ return 'backpressured';
363
+ case ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error:
364
+ return undefined;
349
365
  }
350
366
  }
351
367
  function messageFlowOutcome(outcome) {
@@ -413,7 +429,7 @@ function hashFlowId(flowId) {
413
429
  return hash >>> 0;
414
430
  }
415
431
  function boundedText(value) {
416
- return value === undefined ? undefined : value.slice(0, 512);
432
+ return value === undefined ? undefined : value.slice(0, ERROR_MESSAGE_MAX_LENGTH);
417
433
  }
418
434
  function toSnakeCase(value) {
419
435
  return value.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
@@ -100,10 +100,10 @@ class MetricRegistry {
100
100
  }
101
101
  }
102
102
  observe(name, result) {
103
- if (name === 'zlink.host.application_job_queue.pressure_state'
104
- || name === 'zlink.host.application_job_queue.pressure_transitions'
105
- || name === 'zlink.host.application_job_queue.pause_duration'
106
- || name === 'zlink.host.application_job_queue.flow_state_config_failures') {
103
+ if (name === 'zlink.host.application_job_queue.pressure_state' ||
104
+ name === 'zlink.host.application_job_queue.pressure_transitions' ||
105
+ name === 'zlink.host.application_job_queue.pause_duration' ||
106
+ name === 'zlink.host.application_job_queue.flow_state_config_failures') {
107
107
  for (const provider of this.applicationJobQueuePressures) {
108
108
  try {
109
109
  this.observeApplicationJobQueuePressure(name, provider(), result);
@@ -114,8 +114,8 @@ class MetricRegistry {
114
114
  }
115
115
  return;
116
116
  }
117
- if (name.startsWith('zlink.host.core_hwm.')
118
- || name.startsWith('zlink.host.application_job_queue.')) {
117
+ if (name.startsWith('zlink.host.core_hwm.') ||
118
+ name.startsWith('zlink.host.application_job_queue.')) {
119
119
  for (const provider of this.hostCapacities) {
120
120
  try {
121
121
  this.observeHostCapacity(name, provider(), result);
@@ -215,13 +215,22 @@ class MetricRegistry {
215
215
  result.observe(nonNegative(snapshot.readyPeers), peer);
216
216
  else if (name === 'zlink.mesh_node.channels.ready_members') {
217
217
  for (const channel of snapshot.channels) {
218
- result.observe(nonNegative(channel.readyMembers), { ...mesh, channel_name: channel.channelName });
218
+ result.observe(nonNegative(channel.readyMembers), {
219
+ ...mesh,
220
+ channel_name: channel.channelName
221
+ });
219
222
  }
220
223
  }
221
224
  else if (name.startsWith('zlink.object.capacity.')) {
222
225
  const field = metricSuffix(name);
223
- result.observe(capacityValue(snapshot.actorCapacity, field), { ...mesh, capacity_scope: 'actor' });
224
- result.observe(capacityValue(snapshot.spotCapacity, field), { ...mesh, capacity_scope: 'spot' });
226
+ result.observe(capacityValue(snapshot.actorCapacity, field), {
227
+ ...mesh,
228
+ capacity_scope: 'actor'
229
+ });
230
+ result.observe(capacityValue(snapshot.spotCapacity, field), {
231
+ ...mesh,
232
+ capacity_scope: 'spot'
233
+ });
225
234
  }
226
235
  else if (name.startsWith('zlink.spot.type.capacity.')) {
227
236
  const field = metricSuffix(name);
@@ -80,7 +80,9 @@ class RuntimeEventQueue {
80
80
  this.abortCleanup = () => signal.removeEventListener('abort', onAbort);
81
81
  }
82
82
  }
83
- [Symbol.asyncIterator]() { return this; }
83
+ [Symbol.asyncIterator]() {
84
+ return this;
85
+ }
84
86
  next() {
85
87
  if (this.waitersCount === 0) {
86
88
  const retained = this.takeRetained();
@@ -97,7 +99,7 @@ class RuntimeEventQueue {
97
99
  return Promise.resolve({ done: true, value: undefined });
98
100
  }
99
101
  }
100
- return new Promise(resolve => {
102
+ return new Promise((resolve) => {
101
103
  this.waiters.push(resolve);
102
104
  this.waitersCount += 1;
103
105
  if (this.hasRetained() || this.closed || this.completeWhenDrained) {
@@ -205,9 +207,8 @@ class RuntimeEventQueue {
205
207
  takeRetained() {
206
208
  const terminal = this.peekTerminal();
207
209
  const intermediate = this.oldestIntermediate();
208
- if (terminal !== undefined
209
- && (intermediate === undefined
210
- || terminal.publishOrdinal <= intermediate.publishOrdinal)) {
210
+ if (terminal !== undefined &&
211
+ (intermediate === undefined || terminal.publishOrdinal <= intermediate.publishOrdinal)) {
211
212
  return this.takeTerminal();
212
213
  }
213
214
  if (intermediate === undefined)
@@ -216,9 +217,7 @@ class RuntimeEventQueue {
216
217
  return intermediate;
217
218
  }
218
219
  peekTerminal() {
219
- return this.terminalCount === 0
220
- ? undefined
221
- : this.terminalFifo[this.terminalHead];
220
+ return this.terminalCount === 0 ? undefined : this.terminalFifo[this.terminalHead];
222
221
  }
223
222
  oldestIntermediate() {
224
223
  let oldest;
@@ -264,8 +263,7 @@ class RuntimeEventQueue {
264
263
  this.terminalFifo.length = 0;
265
264
  this.terminalHead = 0;
266
265
  }
267
- else if (this.terminalHead >= 1024
268
- && this.terminalHead * 2 >= this.terminalFifo.length) {
266
+ else if (this.terminalHead >= 1024 && this.terminalHead * 2 >= this.terminalFifo.length) {
269
267
  this.terminalFifo.splice(0, this.terminalHead);
270
268
  this.terminalHead = 0;
271
269
  }
@@ -27,9 +27,12 @@ class ZLinkClientServerRuntimeProjection {
27
27
  const targets = topology.descriptors.map((descriptor) => ({
28
28
  nodeRid: descriptor.serverRoutingId,
29
29
  weight: descriptor.weight,
30
- state: descriptor.state === 'serving' ? contracts_1.ZLinkPeerState.Ready
31
- : descriptor.state === 'retiring' ? contracts_1.ZLinkPeerState.Draining
32
- : descriptor.state === 'preparing' ? contracts_1.ZLinkPeerState.Connecting
30
+ state: descriptor.state === 'serving'
31
+ ? contracts_1.ZLinkPeerState.Ready
32
+ : descriptor.state === 'retiring'
33
+ ? contracts_1.ZLinkPeerState.Draining
34
+ : descriptor.state === 'preparing'
35
+ ? contracts_1.ZLinkPeerState.Connecting
33
36
  : contracts_1.ZLinkPeerState.NotConnected,
34
37
  unavailableReason: descriptor.state === 'serving' && descriptor.weight > 0
35
38
  ? undefined
@@ -37,7 +40,7 @@ class ZLinkClientServerRuntimeProjection {
37
40
  ? contracts_1.ZLinkTopologyReason.Draining
38
41
  : contracts_1.ZLinkTopologyReason.NoReadyTarget
39
42
  }));
40
- const readyTargetCount = targets.filter(target => target.state === contracts_1.ZLinkPeerState.Ready && target.weight > 0).length;
43
+ const readyTargetCount = targets.filter((target) => target.state === contracts_1.ZLinkPeerState.Ready && target.weight > 0).length;
41
44
  const hostState = this.hostState();
42
45
  const isReady = (0, runtime_state_projections_1.topologyRuntimeIsReady)(hostState, readyTargetCount);
43
46
  return {
@@ -137,12 +140,16 @@ class ZLinkFanoutRuntimeProjection {
137
140
  return this.snapshotCore(channelName);
138
141
  }
139
142
  snapshotCore(channelName) {
140
- const publishers = this.requireRuntime().fanoutTopology(channelName).descriptors
141
- .map((descriptor) => ({
143
+ const publishers = this.requireRuntime()
144
+ .fanoutTopology(channelName)
145
+ .descriptors.map((descriptor) => ({
142
146
  nodeRid: descriptor.publisherRoutingId,
143
- state: descriptor.state === 'serving' ? contracts_1.ZLinkPeerState.Ready
144
- : descriptor.state === 'retiring' ? contracts_1.ZLinkPeerState.Draining
145
- : descriptor.state === 'preparing' ? contracts_1.ZLinkPeerState.Connecting
147
+ state: descriptor.state === 'serving'
148
+ ? contracts_1.ZLinkPeerState.Ready
149
+ : descriptor.state === 'retiring'
150
+ ? contracts_1.ZLinkPeerState.Draining
151
+ : descriptor.state === 'preparing'
152
+ ? contracts_1.ZLinkPeerState.Connecting
146
153
  : contracts_1.ZLinkPeerState.NotConnected,
147
154
  unavailableReason: descriptor.state === 'serving'
148
155
  ? undefined
@@ -150,7 +157,7 @@ class ZLinkFanoutRuntimeProjection {
150
157
  ? contracts_1.ZLinkTopologyReason.Draining
151
158
  : contracts_1.ZLinkTopologyReason.NoReadyTarget
152
159
  }));
153
- const readyPublisherCount = publishers.filter(publisher => publisher.state === contracts_1.ZLinkPeerState.Ready).length;
160
+ const readyPublisherCount = publishers.filter((publisher) => publisher.state === contracts_1.ZLinkPeerState.Ready).length;
154
161
  const hostState = this.hostState();
155
162
  const hostReady = (0, runtime_state_projections_1.runtimeStateIsReady)(hostState);
156
163
  return {
@@ -137,8 +137,7 @@ function captureZLinkSpotSerialTurn(executor) {
137
137
  /** Returns the physical Spot owner only while its captured turn owns the gate. */
138
138
  function currentZLinkSpotSerialSourceId() {
139
139
  const current = spotSerialTurnStorage.getStore();
140
- if (current === undefined
141
- || !current.executor.isActiveTurn(current.turn, current.turnId)) {
140
+ if (current === undefined || !current.executor.isActiveTurn(current.turn, current.turnId)) {
142
141
  return undefined;
143
142
  }
144
143
  return current.executor.sourceSpotId;
@@ -157,14 +156,16 @@ function captureZLinkExecutionTurn() {
157
156
  }
158
157
  return {
159
158
  yieldPromise: (pending) => current.turn.yieldPromise(pending),
160
- post: (callback) => { void current.executor.post(callback); }
159
+ post: (callback) => {
160
+ void current.executor.post(callback);
161
+ }
161
162
  };
162
163
  }
163
164
  function isCurrentZLinkSpotSerialTurn(executor) {
164
165
  const current = spotSerialTurnStorage.getStore();
165
- return current !== undefined
166
- && current.executor === executor
167
- && executor.isActiveTurn(current.turn, current.turnId);
166
+ return (current !== undefined &&
167
+ current.executor === executor &&
168
+ executor.isActiveTurn(current.turn, current.turnId));
168
169
  }
169
170
  /**
170
171
  * Seals application-lane admission and waits for every active Promise turn to
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSerialExecutionQueue = exports.ZLINK_DEFAULT_SERIAL_SCHEDULER_OPTIONS = void 0;
4
4
  exports.ZLINK_DEFAULT_SERIAL_SCHEDULER_OPTIONS = Object.freeze({
5
5
  ownerTimeBudget: 10,
6
- lifecycleBurstLimit: 8,
6
+ lifecycleBurstLimit: 8
7
7
  });
8
8
  /**
9
9
  * One event-loop serial execution queue per Spot, Actor mailbox, or Stream session.
@@ -80,14 +80,12 @@ class ZLinkSerialExecutionQueue {
80
80
  };
81
81
  }
82
82
  get hasPendingWork() {
83
- return this.draining
84
- || this.application.records.length > 0
85
- || this.lifecycle.records.length > 0;
83
+ return (this.draining || this.application.records.length > 0 || this.lifecycle.records.length > 0);
86
84
  }
87
85
  whenIdle() {
88
86
  if (!this.hasPendingWork)
89
87
  return Promise.resolve();
90
- return new Promise(resolve => this.idleWaiters.push(resolve));
88
+ return new Promise((resolve) => this.idleWaiters.push(resolve));
91
89
  }
92
90
  /** Stops new submissions while allowing the accepted FIFO to finish. */
93
91
  close() {
@@ -176,8 +174,8 @@ class ZLinkSerialExecutionQueue {
176
174
  const record = selection.record;
177
175
  if (selection.lane === 'lifecycle') {
178
176
  const applicationHead = this.application.records[0];
179
- if (this.application.records.length > 0
180
- && !this.cancelPreparationForRearbitration(applicationHead)) {
177
+ if (this.application.records.length > 0 &&
178
+ !this.cancelPreparationForRearbitration(applicationHead)) {
181
179
  waitingForPreparation = true;
182
180
  break;
183
181
  }
@@ -187,8 +185,7 @@ class ZLinkSerialExecutionQueue {
187
185
  waitingForPreparation = true;
188
186
  break;
189
187
  }
190
- if (record.preparationState === 'pending'
191
- || record.preparationState === 'canceling') {
188
+ if (record.preparationState === 'pending' || record.preparationState === 'canceling') {
192
189
  waitingForPreparation = true;
193
190
  break;
194
191
  }
@@ -217,8 +214,8 @@ class ZLinkSerialExecutionQueue {
217
214
  finally {
218
215
  this.draining = false;
219
216
  this.claimStartedAt = undefined;
220
- if (!waitingForPreparation
221
- && (this.application.records.length > 0 || this.lifecycle.records.length > 0)) {
217
+ if (!waitingForPreparation &&
218
+ (this.application.records.length > 0 || this.lifecycle.records.length > 0)) {
222
219
  this.scheduleDrain();
223
220
  }
224
221
  else {
@@ -245,9 +242,7 @@ class ZLinkSerialExecutionQueue {
245
242
  return { lane: 'application', record: this.application.records[0] };
246
243
  }
247
244
  takeSelected(selection) {
248
- const record = selection.lane === 'lifecycle'
249
- ? this.takeLifecycle()
250
- : this.takeApplication();
245
+ const record = selection.lane === 'lifecycle' ? this.takeLifecycle() : this.takeApplication();
251
246
  if (record !== selection.record) {
252
247
  throw new Error('The selected serial work record changed before owner claim.');
253
248
  }
@@ -255,8 +250,7 @@ class ZLinkSerialExecutionQueue {
255
250
  }
256
251
  takeLifecycle() {
257
252
  this.lifecycleStreak += 1;
258
- if (this.application.records.length > 0
259
- && this.lifecycleStreak >= this.lifecycleBurstLimit) {
253
+ if (this.application.records.length > 0 && this.lifecycleStreak >= this.lifecycleBurstLimit) {
260
254
  this.lifecycleDebt = true;
261
255
  }
262
256
  return this.lifecycle.records.shift();
@@ -286,7 +280,7 @@ class ZLinkSerialExecutionQueue {
286
280
  }
287
281
  record.preparationController = undefined;
288
282
  this.scheduleDrain();
289
- }, error => {
283
+ }, (error) => {
290
284
  if (record.preparationState === 'canceling' || controller.signal.aborted) {
291
285
  preparation.cancel();
292
286
  record.preparationState = 'idle';
@@ -343,5 +337,5 @@ function validateNonNegative(value, field) {
343
337
  }
344
338
  }
345
339
  function macrotaskBoundary() {
346
- return new Promise(resolve => setImmediate(resolve));
340
+ return new Promise((resolve) => setImmediate(resolve));
347
341
  }
@@ -58,8 +58,8 @@ class ZLinkStateLane {
58
58
  /** Fails at the recursive call site instead of waiting for this lane's current turn. */
59
59
  throwIfReentrant() {
60
60
  if (this.isOnLane) {
61
- throw new Error('This code already runs on the state lane it is trying to enter. Call the component\'s '
62
- + 'private state method directly instead of re-entering its public surface.');
61
+ throw new Error("This code already runs on the state lane it is trying to enter. Call the component's " +
62
+ 'private state method directly instead of re-entering its public surface.');
63
63
  }
64
64
  }
65
65
  /** Closes admission and waits for work already in the mailbox. */
@@ -11,7 +11,6 @@ const service_stateful_wire_codec_1 = require("./service-stateful-wire-codec");
11
11
  const RECOVERY_PACKET_NAME = '__zlink.actor.routed_join.recovery';
12
12
  const RECOVERY_CONTENT_TYPE = 'application/x-zlink-actor-routed-join-recovery-v1';
13
13
  const MAXIMUM_METADATA_BYTES = 256 * 1024;
14
- const MAXIMUM_MESSAGE_BYTES = 1024 * 1024;
15
14
  const FRAMEWORK_METADATA_UPPER_BOUND_BYTES = 64 * 1024;
16
15
  const ACCEPTED_JOURNAL_UPPER_BOUND_BYTES = 16 * 1024 * 1024;
17
16
  const SNAPSHOT_APPLICATION_STATE_RESERVATION_BYTES = 64 * 1024 * 1024;
@@ -21,17 +20,26 @@ function canonicalActorJoinHandoffId(input) {
21
20
  const actor = textBytes(input.actorId, 'actorId');
22
21
  if (actor.byteLength > 0xffff)
23
22
  throw new RangeError('Actor id exceeds u16 bytes.');
24
- const digest = (0, node_crypto_1.createHash)('sha256').update(Buffer.concat([
23
+ const digest = (0, node_crypto_1.createHash)('sha256')
24
+ .update(Buffer.concat([
25
25
  Buffer.from(input.sourceActorNodeRid),
26
26
  u16(actor.byteLength),
27
27
  actor,
28
28
  u64(input.actorGeneration),
29
29
  u64(input.sourceActorNodeGeneration),
30
30
  u64(input.correlation)
31
- ])).digest().subarray(0, 16);
31
+ ]))
32
+ .digest()
33
+ .subarray(0, 16);
32
34
  return Buffer.from([
33
- digest[3], digest[2], digest[1], digest[0],
34
- digest[5], digest[4], digest[7], digest[6],
35
+ digest[3],
36
+ digest[2],
37
+ digest[1],
38
+ digest[0],
39
+ digest[5],
40
+ digest[4],
41
+ digest[7],
42
+ digest[6],
35
43
  ...digest.subarray(8)
36
44
  ]).toString('hex');
37
45
  }
@@ -42,10 +50,9 @@ function encodeCanonicalActorJoinRecoverySavedWork(input) {
42
50
  const operationId = input.operationId;
43
51
  const reply = operationId === undefined ? Buffer.alloc(0) : Buffer.from(input.reply ?? []);
44
52
  const request = Buffer.from(input.request);
45
- if (request.byteLength > MAXIMUM_MESSAGE_BYTES || reply.byteLength > MAXIMUM_MESSAGE_BYTES) {
46
- throw new RangeError('Actor Join recovery message exceeds 1 MiB.');
47
- }
48
- const replyContentType = operationId === undefined ? null : requireText(input.replyContentType, 'Actor Join reply content type');
53
+ const replyContentType = operationId === undefined
54
+ ? null
55
+ : requireText(input.replyContentType, 'Actor Join reply content type');
49
56
  const metadata = encodeMetadataJson({
50
57
  Request: {
51
58
  ActorId: requireText(input.actorId, 'Actor id'),
@@ -132,10 +139,10 @@ function decodeCanonicalActorJoinRecoverySavedWork(encoded) {
132
139
  return undefined;
133
140
  }
134
141
  const payload = frozen.applicationPayload;
135
- if (frozen.recordKind !== 1
136
- || frozen.sourceKind !== 1
137
- || payload?.packetName !== RECOVERY_PACKET_NAME
138
- || payload.contentType !== RECOVERY_CONTENT_TYPE) {
142
+ if (frozen.recordKind !== 1 ||
143
+ frozen.sourceKind !== 1 ||
144
+ payload?.packetName !== RECOVERY_PACKET_NAME ||
145
+ payload.contentType !== RECOVERY_CONTENT_TYPE) {
139
146
  return undefined;
140
147
  }
141
148
  throw error;
@@ -147,8 +154,7 @@ function decodeCanonicalActorJoinRecoverySavedWork(encoded) {
147
154
  const relocationAggregateId = canonicalUuid(text(requestValue.RelocationAggregateId, 'Request.RelocationAggregateId'));
148
155
  const reservationToken = text(requestValue.ReservationToken, 'Request.ReservationToken');
149
156
  const reservedPayloadBytes = positiveInteger(requestValue.ReservedPayloadBytes, 'Request.ReservedPayloadBytes');
150
- if (canonicalUuid(handoffId) !== relocationAggregateId
151
- || reservationToken !== handoffId) {
157
+ if (canonicalUuid(handoffId) !== relocationAggregateId || reservationToken !== handoffId) {
152
158
  throw new TypeError('Canonical Actor Join recovery reservation identity changed.');
153
159
  }
154
160
  const request = Buffer.from(record.request);
@@ -201,9 +207,7 @@ function routingIdBytes(value) {
201
207
  }
202
208
  function encodeMetadataJson(value) {
203
209
  const marker = '__zlink_u64__:';
204
- const encoded = JSON.stringify(value, (_key, item) => typeof item === 'bigint'
205
- ? `${marker}${item.toString()}`
206
- : item);
210
+ const encoded = JSON.stringify(value, (_key, item) => typeof item === 'bigint' ? `${marker}${item.toString()}` : item);
207
211
  return Buffer.from(encoded.replace(new RegExp(`"${marker}(\\d+)"`, 'gu'), '$1'), 'utf8');
208
212
  }
209
213
  function quoteJsonIntegers(value) {
@@ -247,23 +251,23 @@ function canonicalUuid(value) {
247
251
  if (!/^[0-9a-f]{32}$/u.test(hex) || /^0+$/u.test(hex)) {
248
252
  throw new TypeError('Actor Join relocation id is invalid.');
249
253
  }
250
- return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}`
251
- + `-${hex.slice(16, 20)}-${hex.slice(20)}`;
254
+ return (`${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}` +
255
+ `-${hex.slice(16, 20)}-${hex.slice(20)}`);
252
256
  }
253
257
  function predictedRelocationPayloadBytes(requestBytes, relocationContentType) {
254
258
  if (!Number.isSafeInteger(requestBytes) || requestBytes < 0) {
255
259
  throw new RangeError('Actor Join request size is invalid.');
256
260
  }
257
- if (relocationContentType !== RECREATE_RELOCATION_CONTENT_TYPE
258
- && relocationContentType !== SNAPSHOT_RELOCATION_CONTENT_TYPE) {
261
+ if (relocationContentType !== RECREATE_RELOCATION_CONTENT_TYPE &&
262
+ relocationContentType !== SNAPSHOT_RELOCATION_CONTENT_TYPE) {
259
263
  throw new TypeError('Actor Join relocation content type is invalid.');
260
264
  }
261
- return FRAMEWORK_METADATA_UPPER_BOUND_BYTES
262
- + ACCEPTED_JOURNAL_UPPER_BOUND_BYTES
263
- + requestBytes
264
- + (relocationContentType === SNAPSHOT_RELOCATION_CONTENT_TYPE
265
+ return (FRAMEWORK_METADATA_UPPER_BOUND_BYTES +
266
+ ACCEPTED_JOURNAL_UPPER_BOUND_BYTES +
267
+ requestBytes +
268
+ (relocationContentType === SNAPSHOT_RELOCATION_CONTENT_TYPE
265
269
  ? SNAPSHOT_APPLICATION_STATE_RESERVATION_BYTES
266
- : 0);
270
+ : 0));
267
271
  }
268
272
  function textBytes(value, name) {
269
273
  const result = Buffer.from(requireText(value, name), 'utf8');
@@ -133,8 +133,8 @@ class EventLoopWorkQueues {
133
133
  this.infrastructure.length = 0;
134
134
  this.infrastructureHead = 0;
135
135
  }
136
- else if (this.infrastructureHead >= 1024
137
- && this.infrastructureHead * 2 >= this.infrastructure.length) {
136
+ else if (this.infrastructureHead >= 1024 &&
137
+ this.infrastructureHead * 2 >= this.infrastructure.length) {
138
138
  this.infrastructure.splice(0, this.infrastructureHead);
139
139
  this.infrastructureHead = 0;
140
140
  }
@@ -144,8 +144,8 @@ class EventLoopWorkQueues {
144
144
  this.application.length = 0;
145
145
  this.applicationHead = 0;
146
146
  }
147
- else if (this.applicationHead >= 1024
148
- && this.applicationHead * 2 >= this.application.length) {
147
+ else if (this.applicationHead >= 1024 &&
148
+ this.applicationHead * 2 >= this.application.length) {
149
149
  this.application.splice(0, this.applicationHead);
150
150
  this.applicationHead = 0;
151
151
  }