@zlink-systems/framework 0.26.0 → 0.27.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 (521) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  3. package/dist/contracts/Common/CoreTypes.js +7 -0
  4. package/dist/contracts/Common/index.d.ts +1 -1
  5. package/dist/contracts/Common/index.js +0 -1
  6. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  7. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  8. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  9. package/dist/contracts/Configuration/Registration.js +58 -36
  10. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  12. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  13. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  14. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  15. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  16. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  17. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  18. package/dist/contracts/Handlers/JsonContract.js +10 -4
  19. package/dist/contracts/Locations/Authority.d.ts +1 -1
  20. package/dist/contracts/Locations/Authority.js +3 -2
  21. package/dist/contracts/Locations/Options.js +1 -1
  22. package/dist/contracts/Locations/Stores.d.ts +12 -0
  23. package/dist/contracts/Locations/Stores.js +9 -0
  24. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  25. package/dist/internal.d.ts +4 -0
  26. package/dist/internal.js +15 -1
  27. package/dist/nest-integration.d.ts +4 -2
  28. package/dist/nest-integration.js +14 -4
  29. package/dist/runtime/abort.d.ts +1 -0
  30. package/dist/runtime/abort.js +8 -5
  31. package/dist/runtime/activation-admission.d.ts +1 -2
  32. package/dist/runtime/activation-admission.js +2 -6
  33. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  34. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  35. package/dist/runtime/actors/actor-client.d.ts +2 -2
  36. package/dist/runtime/actors/actor-client.js +42 -143
  37. package/dist/runtime/actors/actor-context.d.ts +3 -5
  38. package/dist/runtime/actors/actor-context.js +13 -11
  39. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  40. package/dist/runtime/actors/actor-handoff.js +8 -8
  41. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  42. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  43. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  44. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  45. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  46. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  47. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  48. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  49. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  50. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  51. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  52. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  53. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  54. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  55. package/dist/runtime/actors/bound-session-wire.js +2 -7
  56. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  57. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  58. package/dist/runtime/actors/index.d.ts +9 -7
  59. package/dist/runtime/actors/index.js +87 -69
  60. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  61. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  62. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  63. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  64. package/dist/runtime/admission.d.ts +2 -0
  65. package/dist/runtime/admission.js +7 -1
  66. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  67. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  68. package/dist/runtime/backend/contracts/index.d.ts +6 -23
  69. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  70. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  71. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  72. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +1 -1
  73. package/dist/runtime/backend/node/node-backend-adapter-support.js +16 -6
  74. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  75. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  76. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  77. package/dist/runtime/backend/node/node-raw-binding-port.js +40 -16
  78. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  79. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  80. package/dist/runtime/backend/node/node-socket-backend-adapter.js +3 -2
  81. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  82. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  83. package/dist/runtime/backend/runtime-values.js +2 -0
  84. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  85. package/dist/runtime/channels/channel-clients.js +68 -52
  86. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  87. package/dist/runtime/channels/channel-envelope.js +47 -29
  88. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  89. package/dist/runtime/channels/channel-outbound-operations.js +9 -10
  90. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  91. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  92. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  93. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  94. package/dist/runtime/channels/channel-runtime-manager.js +5 -2
  95. package/dist/runtime/channels/channel-socket-options.js +3 -2
  96. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  97. package/dist/runtime/channels/channel-socket-registry.js +248 -174
  98. package/dist/runtime/channels/channel-transports.d.ts +11 -17
  99. package/dist/runtime/channels/channel-transports.js +68 -47
  100. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  101. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  102. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  103. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  104. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  105. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  106. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  107. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  108. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  109. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  110. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  111. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  112. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  113. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  114. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  115. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  116. package/dist/runtime/diagnostics/flow-context.js +16 -2
  117. package/dist/runtime/diagnostics/index.d.ts +4 -2
  118. package/dist/runtime/diagnostics/index.js +14 -4
  119. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  120. package/dist/runtime/diagnostics/message-flow.js +10 -19
  121. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  122. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  123. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  124. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  125. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  126. package/dist/runtime/disposal.d.ts +5 -0
  127. package/dist/runtime/disposal.js +22 -0
  128. package/dist/runtime/execution/index.d.ts +12 -9
  129. package/dist/runtime/execution/index.js +58 -14
  130. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  131. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  132. package/dist/runtime/execution/state-lane.d.ts +8 -1
  133. package/dist/runtime/execution/state-lane.js +118 -3
  134. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  135. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  136. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  137. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  138. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  139. package/dist/runtime/foundation/operation-identity.js +9 -5
  140. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  141. package/dist/runtime/foundation/operation-registry.js +34 -44
  142. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  143. package/dist/runtime/foundation/raw-service-mesh-runtime.js +62 -83
  144. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  145. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  146. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  147. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  148. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  149. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  150. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  151. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  152. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  153. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  154. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  155. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  156. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  157. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  158. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  159. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  160. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  161. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  162. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  163. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  164. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  165. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  166. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  167. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  168. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  169. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  170. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  171. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  172. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  173. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  174. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  175. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  176. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  177. package/dist/runtime/framework-errors-internal.js +343 -122
  178. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  179. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  180. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  181. package/dist/runtime/host/actor-packet-relay.js +48 -91
  182. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  183. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  184. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  185. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  186. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  187. package/dist/runtime/host/application-job-queue.js +16 -33
  188. package/dist/runtime/host/bound-session-relay.js +1 -1
  189. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  190. package/dist/runtime/host/index.d.ts +14 -13
  191. package/dist/runtime/host/index.js +190 -157
  192. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  193. package/dist/runtime/host/instance-activation-authority.js +17 -45
  194. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  195. package/dist/runtime/host/location-runtime-owner.js +2 -2
  196. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  197. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  198. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  199. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  200. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  201. package/dist/runtime/host/remote-bound-session-relay.js +7 -20
  202. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  203. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  204. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  205. package/dist/runtime/host/runtime-shutdown.js +18 -21
  206. package/dist/runtime/host/service-relocation-control.js +6 -1
  207. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  208. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  209. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  210. package/dist/runtime/host/spot-address-transport.js +34 -136
  211. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  212. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  213. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  214. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  215. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  216. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  217. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  218. package/dist/runtime/locations/authority-key-codec.js +4 -3
  219. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  220. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  221. package/dist/runtime/locations/creation-operation-id.js +6 -4
  222. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  223. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  224. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  225. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  226. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  227. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  228. package/dist/runtime/locations/key-codec.js +3 -2
  229. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  230. package/dist/runtime/locations/lease-tracker.js +7 -11
  231. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  232. package/dist/runtime/locations/lifecycle.js +2 -31
  233. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  234. package/dist/runtime/locations/location-store-failure.js +7 -0
  235. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  236. package/dist/runtime/locations/location-store-pages.js +13 -0
  237. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  238. package/dist/runtime/locations/location-store-repository.js +303 -332
  239. package/dist/runtime/locations/relocation-blob.js +18 -5
  240. package/dist/runtime/locations/resolvers.d.ts +5 -5
  241. package/dist/runtime/locations/resolvers.js +37 -28
  242. package/dist/runtime/locations/runtime.d.ts +5 -4
  243. package/dist/runtime/locations/runtime.js +123 -92
  244. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  245. package/dist/runtime/locations/spot-location-claims.js +42 -1
  246. package/dist/runtime/messaging/payload-codec.js +26 -20
  247. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  248. package/dist/runtime/messaging/submission-result.js +48 -0
  249. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  250. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  251. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  252. package/dist/runtime/spots/index.d.ts +14 -20
  253. package/dist/runtime/spots/index.js +302 -176
  254. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  255. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  256. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  257. package/dist/runtime/spots/spot-activation-state.js +2 -2
  258. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  259. package/dist/runtime/spots/spot-activation.js +49 -32
  260. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  261. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  262. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  263. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  264. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  265. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  266. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  267. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  268. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  269. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  270. package/dist/runtime/spots/spot-context.d.ts +2 -2
  271. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  272. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  273. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  274. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  275. package/dist/runtime/spots/spot-manager-public.js +5 -4
  276. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  277. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  278. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  279. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  280. package/dist/runtime/spots/spot-outbound.js +9 -8
  281. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  282. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  283. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  284. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  285. package/dist/runtime/spots/spot-route-replies.js +3 -1
  286. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  287. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  288. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  289. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  290. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  291. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  292. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  293. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  294. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  295. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  296. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  297. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  298. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  299. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  300. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  301. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  302. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  303. package/dist/runtime/streams/bound-session-service.js +11 -1
  304. package/dist/runtime/streams/index.d.ts +14 -15
  305. package/dist/runtime/streams/index.js +20 -21
  306. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  307. package/dist/runtime/streams/managed-stream.js +17 -8
  308. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  309. package/dist/runtime/streams/protocol.d.ts +6 -33
  310. package/dist/runtime/streams/protocol.js +38 -110
  311. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  312. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  313. package/dist/runtime/streams/session-calls.d.ts +1 -1
  314. package/dist/runtime/streams/session-calls.js +5 -4
  315. package/dist/runtime/streams/session-context.d.ts +6 -6
  316. package/dist/runtime/streams/session-context.js +22 -4
  317. package/dist/runtime/streams/session-requests.js +2 -1
  318. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  319. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  320. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  321. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  322. package/dist/runtime/workers/index.d.ts +2 -2
  323. package/dist/runtime/workers/index.js +5 -4
  324. package/package.json +3 -3
  325. package/src/contracts/Common/CoreTypes.ts +7 -0
  326. package/src/contracts/Common/index.ts +1 -1
  327. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  328. package/src/contracts/Configuration/Registration.ts +92 -48
  329. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  330. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  331. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  332. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  333. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  334. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  335. package/src/contracts/Handlers/JsonContract.ts +14 -4
  336. package/src/contracts/Locations/Authority.ts +7 -3
  337. package/src/contracts/Locations/Options.ts +1 -1
  338. package/src/contracts/Locations/Stores.ts +14 -0
  339. package/src/contracts/Spots/Contracts.ts +1 -1
  340. package/src/internal.ts +14 -0
  341. package/src/nest-integration.ts +28 -10
  342. package/src/runtime/abort.ts +6 -5
  343. package/src/runtime/activation-admission.ts +2 -8
  344. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  345. package/src/runtime/actors/actor-client.ts +77 -204
  346. package/src/runtime/actors/actor-context.ts +39 -33
  347. package/src/runtime/actors/actor-handoff.ts +24 -22
  348. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  349. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  350. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  351. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  352. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  353. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  354. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  355. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  356. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  357. package/src/runtime/actors/bound-session-wire.ts +2 -8
  358. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  359. package/src/runtime/actors/index.ts +100 -79
  360. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  361. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  362. package/src/runtime/admission.ts +8 -1
  363. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  364. package/src/runtime/backend/contracts/index.ts +13 -29
  365. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  366. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  367. package/src/runtime/backend/node/node-backend-adapter-support.ts +23 -6
  368. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  369. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  370. package/src/runtime/backend/node/node-raw-binding-port.ts +41 -20
  371. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  372. package/src/runtime/backend/node/node-socket-backend-adapter.ts +3 -2
  373. package/src/runtime/backend/raw-binding-port.ts +1 -1
  374. package/src/runtime/backend/runtime-values.ts +4 -1
  375. package/src/runtime/channels/channel-clients.ts +132 -85
  376. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  377. package/src/runtime/channels/channel-envelope.ts +58 -29
  378. package/src/runtime/channels/channel-outbound-operations.ts +10 -23
  379. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  380. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  381. package/src/runtime/channels/channel-runtime-manager.ts +6 -2
  382. package/src/runtime/channels/channel-socket-options.ts +8 -2
  383. package/src/runtime/channels/channel-socket-registry.ts +301 -192
  384. package/src/runtime/channels/channel-transports.ts +161 -112
  385. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  386. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  387. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  388. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  389. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  390. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  391. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  392. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  393. package/src/runtime/diagnostics/flow-context.ts +16 -2
  394. package/src/runtime/diagnostics/index.ts +27 -17
  395. package/src/runtime/diagnostics/message-flow.ts +15 -25
  396. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  397. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  398. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  399. package/src/runtime/disposal.ts +19 -0
  400. package/src/runtime/execution/index.ts +60 -20
  401. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  402. package/src/runtime/execution/state-lane.ts +142 -4
  403. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  404. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  405. package/src/runtime/foundation/operation-identity.ts +11 -5
  406. package/src/runtime/foundation/operation-registry.ts +33 -50
  407. package/src/runtime/foundation/raw-service-mesh-runtime.ts +110 -111
  408. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  409. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  410. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  411. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  412. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  413. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  414. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  415. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  416. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  417. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  418. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  419. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  420. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  421. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  422. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  423. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  424. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  425. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  426. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  427. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  428. package/src/runtime/framework-errors-internal.ts +380 -134
  429. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  430. package/src/runtime/host/actor-packet-relay.ts +57 -147
  431. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  432. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  433. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  434. package/src/runtime/host/application-job-queue.ts +28 -34
  435. package/src/runtime/host/bound-session-relay.ts +1 -2
  436. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  437. package/src/runtime/host/index.ts +327 -296
  438. package/src/runtime/host/instance-activation-authority.ts +89 -109
  439. package/src/runtime/host/location-runtime-owner.ts +4 -2
  440. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  441. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  442. package/src/runtime/host/remote-bound-session-relay.ts +8 -41
  443. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  444. package/src/runtime/host/runtime-shutdown.ts +17 -21
  445. package/src/runtime/host/service-relocation-control.ts +14 -1
  446. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  447. package/src/runtime/host/spot-address-transport.ts +73 -195
  448. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  449. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  450. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  451. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  452. package/src/runtime/locations/authority-key-codec.ts +7 -3
  453. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  454. package/src/runtime/locations/creation-operation-id.ts +6 -3
  455. package/src/runtime/locations/domain-store-contract.ts +12 -3
  456. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  457. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  458. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  459. package/src/runtime/locations/key-codec.ts +3 -2
  460. package/src/runtime/locations/lease-tracker.ts +8 -14
  461. package/src/runtime/locations/lifecycle.ts +13 -43
  462. package/src/runtime/locations/location-store-failure.ts +4 -0
  463. package/src/runtime/locations/location-store-pages.ts +18 -0
  464. package/src/runtime/locations/location-store-repository.ts +450 -478
  465. package/src/runtime/locations/relocation-blob.ts +17 -6
  466. package/src/runtime/locations/resolvers.ts +75 -49
  467. package/src/runtime/locations/runtime.ts +220 -110
  468. package/src/runtime/locations/spot-location-claims.ts +58 -1
  469. package/src/runtime/messaging/payload-codec.ts +35 -24
  470. package/src/runtime/messaging/submission-result.ts +57 -1
  471. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  472. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  473. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  474. package/src/runtime/spots/index.ts +433 -229
  475. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  476. package/src/runtime/spots/spot-activation-state.ts +2 -2
  477. package/src/runtime/spots/spot-activation.ts +67 -37
  478. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  479. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  480. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  481. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  482. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  483. package/src/runtime/spots/spot-context.ts +3 -3
  484. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  485. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  486. package/src/runtime/spots/spot-manager-public.ts +21 -17
  487. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  488. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  489. package/src/runtime/spots/spot-outbound.ts +45 -23
  490. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  491. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  492. package/src/runtime/spots/spot-route-replies.ts +6 -4
  493. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  494. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  495. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  496. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  497. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  498. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  499. package/src/runtime/spots/spot-timer.ts +3 -2
  500. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  501. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  502. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  503. package/src/runtime/streams/bound-session-service.ts +21 -1
  504. package/src/runtime/streams/index.ts +76 -64
  505. package/src/runtime/streams/managed-stream.ts +29 -10
  506. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  507. package/src/runtime/streams/protocol.ts +34 -88
  508. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  509. package/src/runtime/streams/session-calls.ts +6 -5
  510. package/src/runtime/streams/session-context.ts +54 -10
  511. package/src/runtime/streams/session-requests.ts +2 -1
  512. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  513. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  514. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  515. package/src/runtime/workers/index.ts +13 -12
  516. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  517. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  518. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  519. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  520. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  521. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -2,23 +2,25 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkActorClient = void 0;
4
4
  exports.forwardEncodedActorPacket = forwardEncodedActorPacket;
5
- const framework_errors_internal_1 = require("../framework-errors-internal");
6
- const runtime_message_1 = require("../backend/runtime-message");
7
- const runtime_values_1 = require("../backend/runtime-values");
5
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
8
6
  const contracts_1 = require("../../contracts");
9
- const contracts_2 = require("../../contracts");
10
- const submission_result_1 = require("../messaging/submission-result");
11
- const backend_1 = require("../backend");
7
+ const CoreTypes_1 = require("../../contracts/Common/CoreTypes");
12
8
  const abort_1 = require("../abort");
13
- const payload_codec_1 = require("../messaging/payload-codec");
9
+ const backend_1 = require("../backend");
10
+ const runtime_message_1 = require("../backend/runtime-message");
11
+ const runtime_values_1 = require("../backend/runtime-values");
12
+ const configuration_1 = require("../configuration");
13
+ const execution_1 = require("../execution");
14
+ const actor_request_deadline_1 = require("./actor-request-deadline");
15
+ const framework_errors_internal_1 = require("../framework-errors-internal");
14
16
  const packet_name_1 = require("../messaging/packet-name");
17
+ const payload_codec_1 = require("../messaging/payload-codec");
18
+ const submission_result_1 = require("../messaging/submission-result");
15
19
  const protocol_1 = require("../streams/protocol");
20
+ const actor_execution_context_1 = require("./actor-execution-context");
21
+ const actor_message_follow_context_1 = require("./actor-message-follow-context");
16
22
  const actor_packet_relay_wire_1 = require("./actor-packet-relay-wire");
17
23
  const actor_routed_json_request_1 = require("./actor-routed-json-request");
18
- const actor_message_follow_context_1 = require("./actor-message-follow-context");
19
- const execution_1 = require("../execution");
20
- const configuration_1 = require("../configuration");
21
- const actor_execution_context_1 = require("./actor-execution-context");
22
24
  class DefaultZLinkActorClient {
23
25
  options;
24
26
  constructor(options) {
@@ -53,7 +55,7 @@ class DefaultZLinkActorClient {
53
55
  submissions.push(duplicate);
54
56
  }
55
57
  await (0, abort_1.awaitWithAbort)(Promise.all(submissions), signal);
56
- return submitted();
58
+ return { status: submission_result_1.ZLinkSubmitStatus.Submitted };
57
59
  }
58
60
  const node = this.requireNode(meshName);
59
61
  if (this.options.routeTransport !== undefined &&
@@ -66,8 +68,8 @@ class DefaultZLinkActorClient {
66
68
  actorRef: actor,
67
69
  returnResponse: false,
68
70
  messageFollowContext: messageFollow
69
- }), { packetName: '__zlink.actor.packet.relay' });
70
- return submitted();
71
+ }), { packetName: actor_packet_relay_wire_1.ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET });
72
+ return { status: submission_result_1.ZLinkSubmitStatus.Submitted };
71
73
  }
72
74
  return await this.submitActorSend(meshName, toBackendActorRef(actor), parts);
73
75
  }
@@ -89,7 +91,7 @@ class DefaultZLinkActorClient {
89
91
  const effectiveTimeoutMs = timeoutMs ?? this.options.defaultRequestTimeoutMs;
90
92
  const deadlineMs = effectiveTimeoutMs === undefined ? undefined : performance.now() + effectiveTimeoutMs;
91
93
  const deadlineUnixMs = effectiveTimeoutMs === undefined ? undefined : Date.now() + effectiveTimeoutMs;
92
- const route = await this.resolveActorRoute(actorId, signal);
94
+ const route = await this.resolveActorRoute(actorId, signal, deadlineMs);
93
95
  if (waitPolicy === 'async' &&
94
96
  sourceSpotId !== undefined &&
95
97
  sameSpotRoute(sourceSpotId, route)) {
@@ -104,9 +106,12 @@ class DefaultZLinkActorClient {
104
106
  const messageFollow = createActorMessageFollowContext(route, parts, true, deadlineUnixMs, correlationId, operationId);
105
107
  const routedActor = (0, actor_message_follow_context_1.attachActorMessageFollowContext)(actor, messageFollow);
106
108
  try {
107
- const submissionCopies = (await this.options
109
+ const delivery = this.options
108
110
  .transportDeliveryGate?.()
109
- ?.waitBeforeSubmit(actorId, 'request', signal)) ?? 1;
111
+ ?.waitBeforeSubmit(actorId, 'request', signal);
112
+ const submissionCopies = delivery === undefined
113
+ ? 1
114
+ : ((await (0, actor_request_deadline_1.waitActorReply)(delivery, actorId, deadlineMs, signal)) ?? 1);
110
115
  const handoff = this.options.handoffCapture?.(meshName, actor.actorId, parts, true, routedActor, deadlineUnixMs);
111
116
  if (handoff !== undefined) {
112
117
  const submissions = [handoff];
@@ -115,10 +120,10 @@ class DefaultZLinkActorClient {
115
120
  if (duplicate !== undefined)
116
121
  submissions.push(duplicate);
117
122
  }
118
- const replies = await waitHandoffReply(Promise.all(submissions), remainingActorRequestTimeout(actorId, deadlineMs));
123
+ const replies = await (0, actor_request_deadline_1.waitActorReply)(Promise.all(submissions), actorId, deadlineMs, signal);
119
124
  return replies[0];
120
125
  }
121
- return await this.submitActorRequest(meshName, toBackendActorRef(actor), parts, remainingActorRequestTimeout(actorId, deadlineMs), signal, route, messageFollow);
126
+ return await this.submitActorRequest(meshName, toBackendActorRef(actor), parts, (0, actor_request_deadline_1.remainingActorRequestTimeout)(actorId, deadlineMs), signal, route, messageFollow);
122
127
  }
123
128
  catch (error) {
124
129
  if (isStaleActorError(error)) {
@@ -132,12 +137,12 @@ class DefaultZLinkActorClient {
132
137
  closeMessages(parts);
133
138
  }
134
139
  }
135
- async resolveActorRoute(actorId, signal) {
140
+ async resolveActorRoute(actorId, signal, deadlineMs) {
136
141
  const resolver = this.options.locationResolver();
137
142
  if (resolver === undefined) {
138
143
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.InvalidConfiguration, 'Actor direct messaging requires a Location Store.');
139
144
  }
140
- const resolution = await resolver.resolveDirectActorRoute(actorId, signal);
145
+ const resolution = await resolver.resolveDirectActorRoute(actorId, signal, deadlineMs);
141
146
  if (resolution.kind === 'missing') {
142
147
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorRouteNotFound, `Actor route '${actorId}' was not found.`);
143
148
  }
@@ -191,17 +196,15 @@ class DefaultZLinkActorClient {
191
196
  async submitActorSend(meshName, actor, parts) {
192
197
  const node = this.requireNode(meshName);
193
198
  try {
194
- return mapSubmitResult(await node.sendToActor(actor, toMessageLikeParts(parts), {
199
+ return (0, submission_result_1.classifySubmitResult)(await node.sendToActor(actor, toMessageLikeParts(parts), {
195
200
  flags: runtime_values_1.ZLINK_BACKEND_SEND_NONE
196
201
  }), 'Actor send');
197
202
  }
198
203
  catch (error) {
199
204
  if ((0, runtime_values_1.isZLinkBackendResultError)(error)) {
200
- return mapSubmitResult(error.result, 'Actor send');
205
+ return (0, submission_result_1.classifySubmitResult)(error.result, 'Actor send', error.phase);
201
206
  }
202
- throw (0, runtime_values_1.isZLinkBackendResultError)(error)
203
- ? mapRequestError(error, 'Actor send')
204
- : mapSubmitError(error, 'Actor send');
207
+ throw mapSubmitError(error, 'Actor send');
205
208
  }
206
209
  }
207
210
  async submitActorRequest(meshName, actor, parts, timeoutMs, signal, route, messageFollowContext) {
@@ -296,36 +299,10 @@ function remoteRelayErrorKind(value) {
296
299
  ? value
297
300
  : framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed;
298
301
  }
299
- function remainingActorRequestTimeout(actorId, deadlineMs) {
300
- if (deadlineMs === undefined)
301
- return undefined;
302
- const remaining = deadlineMs - performance.now();
303
- if (remaining <= 0) {
304
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.DeadlineExceeded, `Actor request '${actorId}' exceeded its deadline before submission.`);
305
- }
306
- return Math.max(1, Math.ceil(remaining));
307
- }
308
302
  function requireActorId(actorId) {
309
303
  const byteLength = Buffer.byteLength(actorId, 'utf8');
310
- if (byteLength < 1 || byteLength > 255) {
311
- throw new configuration_1.ZLinkConfigurationException('Actor ID must contain 1..255 UTF-8 bytes.');
312
- }
313
- }
314
- async function waitHandoffReply(reply, timeoutMs) {
315
- if (timeoutMs === undefined)
316
- return (await reply);
317
- let deadline;
318
- try {
319
- return await Promise.race([
320
- reply,
321
- new Promise((_resolve, reject) => {
322
- deadline = setTimeout(() => reject((0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed, 'Actor handoff request timed out.', true)), timeoutMs);
323
- })
324
- ]);
325
- }
326
- finally {
327
- if (deadline !== undefined)
328
- clearTimeout(deadline);
304
+ if (byteLength < 1 || byteLength > CoreTypes_1.ZLINK_MAX_ACTOR_ID_BYTES) {
305
+ throw new configuration_1.ZLinkConfigurationException(`Actor ID must contain 1..${CoreTypes_1.ZLINK_MAX_ACTOR_ID_BYTES} UTF-8 bytes.`);
329
306
  }
330
307
  }
331
308
  async function forwardEncodedActorPacket(node, completions, actor, header, payload, returnResponse, timeoutMs, serializers) {
@@ -493,97 +470,20 @@ function decodeActorReplyPayload(kind, payload, serializers, packetName) {
493
470
  const wireKind = error.kind;
494
471
  const publicKind = typeof wireKind === 'number' &&
495
472
  Number.isInteger(wireKind) &&
496
- wireKind >= contracts_2.ZLinkFrameworkErrorKind.NotFound &&
497
- wireKind <= contracts_2.ZLinkFrameworkErrorKind.InternalFailure
473
+ wireKind >= contracts_1.ZLinkFrameworkErrorKind.NotFound &&
474
+ wireKind <= contracts_1.ZLinkFrameworkErrorKind.InternalFailure
498
475
  ? wireKind
499
- : contracts_2.ZLinkFrameworkErrorKind.InternalFailure;
500
- throw new contracts_2.ZLinkFrameworkException(publicKind, error.message ?? 'Actor request failed.');
476
+ : contracts_1.ZLinkFrameworkErrorKind.InternalFailure;
477
+ throw new contracts_1.ZLinkFrameworkException(publicKind, error.message ?? 'Actor request failed.');
501
478
  }
502
- return (0, payload_codec_1.decodeFrameworkPayloadMessage)(payload, serializers, undefined, 'application/json', packetName, 'reply');
479
+ return (0, payload_codec_1.decodeFrameworkPayloadMessage)(payload, serializers, undefined, stream_wire_1.ZlinkStreamContentType.Json, packetName, 'reply');
503
480
  }
504
481
  function mapSubmitError(error, operationName) {
505
- if (error instanceof contracts_2.ZLinkFrameworkException) {
482
+ if (error instanceof contracts_1.ZLinkFrameworkException) {
506
483
  return error;
507
484
  }
508
- if ((0, runtime_values_1.isZLinkBackendResultError)(error)) {
509
- switch (error.result) {
510
- case runtime_values_1.SubmitResult.NotConnected:
511
- return routeNotConnected(`${operationName} failed because the target route is not connected.`, error);
512
- case runtime_values_1.SubmitResult.NotFound:
513
- return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorRouteNotFound, `${operationName} failed because the actor route was not found.`, false, error);
514
- default:
515
- return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed, `${operationName} failed with submit result ${error.result}.`, false, error);
516
- }
517
- }
518
485
  return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `${operationName} failed before a reply was received.`, true, error);
519
486
  }
520
- function mapSubmitResult(result, operationName) {
521
- switch (result) {
522
- case runtime_values_1.SubmitResult.Ok:
523
- return submitted();
524
- case runtime_values_1.SubmitResult.Backpressured:
525
- case runtime_values_1.SubmitResult.NotAdmitted:
526
- return { status: submission_result_1.ZLinkSubmitStatus.Backpressured };
527
- case runtime_values_1.SubmitResult.NotConnected:
528
- return { status: submission_result_1.ZLinkSubmitStatus.RouteNotConnected };
529
- case runtime_values_1.SubmitResult.NotFound:
530
- return { status: submission_result_1.ZLinkSubmitStatus.TargetNotFound };
531
- case runtime_values_1.SubmitResult.Terminated:
532
- return { status: submission_result_1.ZLinkSubmitStatus.Shutdown };
533
- default:
534
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed, `${operationName} failed with submit result ${result}.`);
535
- }
536
- }
537
- function submitted() {
538
- return { status: submission_result_1.ZLinkSubmitStatus.Submitted };
539
- }
540
- // Ownership-aware Actor remote-reply translator (spec 32:81-118, 99-103):
541
- // the reply comes from a remote target, so a fine framework failure code
542
- // refines the coarse terminal, and a terminal-only conflict/busy is the
543
- // target's owner/queue state (retryable stale/Unavailable), never a
544
- // source-owned queue exhaustion. Backpressure never appears on this reply
545
- // path. Internal kinds are preserved so the stale-actor re-resolve retry
546
- // (isStaleActorError) keeps working.
547
- function actorFailureCodeKind(failureErrno) {
548
- switch (failureErrno) {
549
- case 3:
550
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorAlreadyExists;
551
- case 4:
552
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorTypeMismatch;
553
- case 7:
554
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotTypeMismatch;
555
- case 8:
556
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound;
557
- case 9:
558
- case 14:
559
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound;
560
- case 12:
561
- case 16:
562
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestProtocolError;
563
- // routeNotConnected(13) and a remote worker queue full(18) are Unavailable.
564
- case 13:
565
- case 18:
566
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected;
567
- case 15:
568
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestRejected;
569
- case 19:
570
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.WorkerTimedOut;
571
- case 17:
572
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed;
573
- case 20:
574
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.WorkerFailed;
575
- case 21:
576
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorLocationStale;
577
- case 33:
578
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorGenerationStale;
579
- case 34:
580
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorMoving;
581
- case 35:
582
- return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RelocationDataLost;
583
- default:
584
- return undefined;
585
- }
586
- }
587
487
  function actorTerminalKind(result) {
588
488
  switch (result) {
589
489
  case runtime_values_1.RequestResult.TimedOut:
@@ -599,7 +499,7 @@ function actorTerminalKind(result) {
599
499
  case runtime_values_1.RequestResult.NotConnected:
600
500
  return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected;
601
501
  // A terminal-only conflict/busy on a remote actor reply is the target's
602
- // stale/owner state: retryable ActorLocationStale (-> Unavailable).
502
+ // stale/owner state: ActorLocationStale (Unavailable).
603
503
  case runtime_values_1.RequestResult.Conflict:
604
504
  case runtime_values_1.RequestResult.Busy:
605
505
  return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorLocationStale;
@@ -607,19 +507,18 @@ function actorTerminalKind(result) {
607
507
  return framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed;
608
508
  }
609
509
  }
510
+ // The shared table preserves Actor fine kinds; without a recognized fine code,
511
+ // the remote owner/queue terminal supplies the classification.
610
512
  function mapRequestResult(result, failureErrno, operationName) {
611
- const kind = actorFailureCodeKind(failureErrno) ?? actorTerminalKind(result);
513
+ const kind = (0, framework_errors_internal_1.internalFrameworkErrorKindFromWireFailureCode)(failureErrno) ?? actorTerminalKind(result);
612
514
  return (0, framework_errors_internal_1.createInternalFrameworkException)(kind, `${operationName} failed with request result ${result}` +
613
515
  (failureErrno !== 0 ? ` (failure code ${failureErrno}).` : '.'));
614
516
  }
615
- function mapRequestError(error, operationName) {
616
- return mapRequestResult(error.result, error.failureErrno ?? 0, operationName);
617
- }
618
517
  function routeNotConnected(message, cause) {
619
518
  return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, message, true, cause);
620
519
  }
621
520
  function isStaleActorError(error) {
622
- return (error instanceof contracts_2.ZLinkFrameworkException &&
521
+ return (error instanceof contracts_1.ZLinkFrameworkException &&
623
522
  (0, framework_errors_internal_1.internalFrameworkErrorKind)(error) === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorLocationStale);
624
523
  }
625
524
  function actorLocationStale(actorId, cause) {
@@ -1,9 +1,7 @@
1
- import type { RoutingId, SpotId, ZLinkActorContext, ZLinkActorJoinEntrySpotCall, ZLinkActorJoinSpotCall, ZLinkBoundSession } from '../../contracts';
2
- import { type ZLinkMessageSerializer } from '../../contracts';
3
- import { ZLinkActorRuntimeState } from './actor-runtime-state';
4
- import type { ZLinkActorBoundSessionFactory, ZLinkActorJoinCoordinator } from './actor-runtime-contracts';
5
- import type { ZLinkActorManagerOptions } from './actor-runtime-contracts';
1
+ import { type RoutingId, type SpotId, type ZLinkActorContext, type ZLinkActorJoinEntrySpotCall, type ZLinkActorJoinSpotCall, type ZLinkBoundSession, type ZLinkMessageSerializer } from '../../contracts';
6
2
  import { ZLINK_ACTOR_LIFECYCLE_SNAPSHOT, type ZLinkActorLifecycleSnapshotSource } from './actor-lifecycle-snapshot';
3
+ import type { ZLinkActorBoundSessionFactory, ZLinkActorJoinCoordinator, ZLinkActorManagerOptions } from './actor-runtime-contracts';
4
+ import { ZLinkActorRuntimeState } from './actor-runtime-state';
7
5
  export declare const ZLINK_ACTOR_JOIN_ENTRY_SPOT_RUNTIME: unique symbol;
8
6
  export declare class DefaultZLinkActorContext implements ZLinkActorContext {
9
7
  private readonly state;
@@ -1,18 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkActorContext = exports.ZLINK_ACTOR_JOIN_ENTRY_SPOT_RUNTIME = void 0;
4
- const framework_errors_internal_1 = require("../framework-errors-internal");
5
4
  const contracts_1 = require("../../contracts");
5
+ const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
6
6
  const runtime_message_1 = require("../backend/runtime-message");
7
7
  const configuration_1 = require("../configuration");
8
- const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
9
- const payload_codec_1 = require("../messaging/payload-codec");
10
- const actor_runtime_state_1 = require("./actor-runtime-state");
11
- const actor_lifecycle_snapshot_1 = require("./actor-lifecycle-snapshot");
8
+ const dispatch_error_details_1 = require("../diagnostics/dispatch-error-details");
9
+ const execution_1 = require("../execution");
12
10
  const operation_identity_1 = require("../foundation/operation-identity");
11
+ const framework_errors_internal_1 = require("../framework-errors-internal");
12
+ const payload_codec_1 = require("../messaging/payload-codec");
13
13
  const actor_join_deferred_scope_1 = require("./actor-join-deferred-scope");
14
- const execution_1 = require("../execution");
15
- const dispatch_error_details_1 = require("../diagnostics/dispatch-error-details");
14
+ const actor_lifecycle_snapshot_1 = require("./actor-lifecycle-snapshot");
15
+ const actor_runtime_state_1 = require("./actor-runtime-state");
16
+ const DEFAULT_ACTOR_JOIN_TIMEOUT_MS = 5_000;
17
+ const MAX_ACTOR_JOIN_TIMEOUT_MS = 2_147_483_647;
16
18
  exports.ZLINK_ACTOR_JOIN_ENTRY_SPOT_RUNTIME = Symbol('zlink.actor.join-entry-spot-runtime');
17
19
  class DefaultZLinkActorContext {
18
20
  state;
@@ -105,7 +107,7 @@ class DefaultZLinkActorJoinSpotCall {
105
107
  spotId;
106
108
  request;
107
109
  messageSerializers;
108
- timeoutMs = 5_000;
110
+ timeoutMs = DEFAULT_ACTOR_JOIN_TIMEOUT_MS;
109
111
  deferred = false;
110
112
  turn = (0, execution_1.captureZLinkSpotSerialTurn)();
111
113
  constructor(state, actor, coordinator, spotId, request, messageSerializers) {
@@ -231,7 +233,7 @@ class DefaultZLinkActorJoinEntrySpotCall {
231
233
  coordinator;
232
234
  request;
233
235
  messageSerializers;
234
- timeoutMs = 5_000;
236
+ timeoutMs = DEFAULT_ACTOR_JOIN_TIMEOUT_MS;
235
237
  deferred = false;
236
238
  turn = (0, execution_1.captureZLinkSpotSerialTurn)();
237
239
  constructor(state, actor, coordinator, request, messageSerializers) {
@@ -375,8 +377,8 @@ function encodeJoinRequest(request, serializers) {
375
377
  }
376
378
  function validateJoinTimeout(timeoutMs) {
377
379
  const rounded = Math.ceil(timeoutMs);
378
- if (!Number.isFinite(timeoutMs) || rounded < 1 || rounded > 2_147_483_647) {
379
- throw new configuration_1.ZLinkConfigurationException('Actor join timeout must be a finite value from 1 through 2147483647 milliseconds.');
380
+ if (!Number.isFinite(timeoutMs) || rounded < 1 || rounded > MAX_ACTOR_JOIN_TIMEOUT_MS) {
381
+ throw new configuration_1.ZLinkConfigurationException(`Actor join timeout must be a finite value from 1 through ${MAX_ACTOR_JOIN_TIMEOUT_MS} milliseconds.`);
380
382
  }
381
383
  return rounded;
382
384
  }
@@ -1,12 +1,12 @@
1
- import { ZLinkFrameworkInternalErrorKind } from '../framework-errors-internal';
2
- import type { ActorRef, RoutingId } from '../../contracts';
1
+ import { type ActorRef, type RoutingId } from '../../contracts';
3
2
  import type { Message } from '../../contracts/Common/Message';
4
3
  import type { ZLinkMessageFollowOrigin } from '../foundation/service-runtime-contracts';
4
+ import { ZLinkFrameworkInternalErrorKind } from '../framework-errors-internal';
5
5
  import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
6
+ import { type ZLinkActorMessageFollowContext, type ZLinkActorMessageFollowOwnerFence } from './actor-message-follow-context';
6
7
  import type { ZLinkActorRoutedJoinTransport } from './actor-routed-join-transport';
7
8
  import type { ZLinkRemoteBoundSessionTarget } from './actor-runtime-state';
8
- import { type ZLinkActorMessageFollowContext, type ZLinkActorMessageFollowOwnerFence } from './actor-message-follow-context';
9
- export declare const DEFAULT_MESSAGE_FOLLOW_DURATION_MS = 30000;
9
+ export declare const DEFAULT_MESSAGE_FOLLOW_DURATION_MS: number;
10
10
  export interface ZLinkActorHandoffPacket {
11
11
  readonly index: number;
12
12
  readonly header: string;
@@ -3,18 +3,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkActorHandoffCoordinator = exports.DEFAULT_MESSAGE_FOLLOW_DURATION_MS = void 0;
4
4
  exports.decodeHandoffPacket = decodeHandoffPacket;
5
5
  exports.replayActorHandoffBacklog = replayActorHandoffBacklog;
6
- const framework_errors_internal_1 = require("../framework-errors-internal");
7
- const runtime_message_1 = require("../backend/runtime-message");
8
6
  const contracts_1 = require("../../contracts");
7
+ const Options_1 = require("../../contracts/Locations/Options");
8
+ const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
9
+ const runtime_message_1 = require("../backend/runtime-message");
9
10
  const message_follow_suppression_registry_1 = require("../foundation/message-follow-suppression-registry");
11
+ const framework_errors_internal_1 = require("../framework-errors-internal");
10
12
  const routing_id_1 = require("../routing-id");
11
- const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
12
13
  const protocol_1 = require("../streams/protocol");
13
- const actor_routed_json_request_1 = require("./actor-routed-json-request");
14
- const actor_packet_relay_wire_1 = require("./actor-packet-relay-wire");
15
14
  const actor_message_follow_context_1 = require("./actor-message-follow-context");
16
- exports.DEFAULT_MESSAGE_FOLLOW_DURATION_MS = 30_000;
17
- const MAX_MESSAGE_FOLLOW_HOPS = 8;
15
+ const actor_packet_relay_wire_1 = require("./actor-packet-relay-wire");
16
+ const actor_routed_json_request_1 = require("./actor-routed-json-request");
17
+ exports.DEFAULT_MESSAGE_FOLLOW_DURATION_MS = Options_1.zlinkDefaultLocationOptions.messageFollowDurationMs;
18
18
  const RELOCATION_REPLY_RETENTION_MS = 24 * 60 * 60 * 1_000;
19
19
  function requireExactTargetOwnerFence(actorId, fence) {
20
20
  if (fence === undefined) {
@@ -940,7 +940,7 @@ class ZLinkActorHandoffCoordinator {
940
940
  return duplicate.result;
941
941
  }
942
942
  const bytes = packetBytes(packet);
943
- if (context.hopCount >= MAX_MESSAGE_FOLLOW_HOPS) {
943
+ if (context.hopCount >= actor_message_follow_context_1.ZLINK_MESSAGE_FOLLOW_MAX_HOPS) {
944
944
  this.options.onMarker?.('message_follow_rejected', actorId);
945
945
  return Promise.reject(actorLocationStale(actorId));
946
946
  }
@@ -5,6 +5,7 @@ exports.actorJoinIdentity = actorJoinIdentity;
5
5
  exports.createActorJoinRequest = createActorJoinRequest;
6
6
  exports.createActorMembership = createActorMembership;
7
7
  const configuration_1 = require("../configuration");
8
+ const diagnostic_text_1 = require("../diagnostics/diagnostic-text");
8
9
  exports.ZLINK_ACTOR_LIFECYCLE_SNAPSHOT = Symbol('zlink.actor.lifecycle-snapshot');
9
10
  /**
10
11
  * Identity an admission callback observes. Join admission decides on the Actor's
@@ -37,7 +38,7 @@ function lifecycleSource(actor) {
37
38
  : undefined;
38
39
  // A caller can hand in a value that carries no Framework context at all, so the
39
40
  // failure path reports the configuration error instead of dereferencing it.
40
- const actorId = context?.actorId ?? '<unknown>';
41
+ const actorId = (0, diagnostic_text_1.diagnosticTextOrAbsent)(context?.actorId);
41
42
  const snapshot = context?.[exports.ZLINK_ACTOR_LIFECYCLE_SNAPSHOT];
42
43
  const source = snapshot === undefined ? undefined : snapshot.call(context);
43
44
  if (source === undefined) {
@@ -1,26 +1,31 @@
1
- import type { RoutingId, ZLinkActor, ZLinkActorJoinOperationId, ZLinkMessageSerializer } from '../../contracts';
2
- import type { ZLinkActorJoinRuntimeResult } from './actor-runtime-contracts';
1
+ import { type RoutingId, type ZLinkActor, type ZLinkActorJoinOperationId, type ZLinkMessageSerializer, type ZLinkSpot, type ZLinkSpotActorJoinResult } from '../../contracts';
3
2
  import type { Message } from '../../contracts/Common/Message';
4
3
  import type { ZLinkBackendActorRef, ZLinkBackendMeshNode } from '../backend/contracts';
5
4
  import { type ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
5
+ import type { ZLinkLocationLifecycle } from '../locations';
6
6
  import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
7
+ import type { ZLinkActorJoinRelocation } from './actor-join-relocation';
8
+ import type { ZLinkActorJoinRuntimeResult } from './actor-runtime-contracts';
7
9
  import { ZLinkActorRuntimeState } from './actor-runtime-state';
8
10
  import type { ZLinkPostCommitActorBinder } from './post-commit-actor-binder';
9
- import type { ZLinkPostCommitActorLocation } from './post-commit-actor-location';
10
- import type { ZLinkActorJoinRelocation } from './actor-join-relocation';
11
11
  export interface ZLinkLocalNativeActorJoinOptions {
12
- readonly postCommitLocation?: ZLinkPostCommitActorLocation;
12
+ readonly locationLifecycle?: ZLinkLocationLifecycle;
13
+ readonly localSpotJoin?: (spotId: RoutingId, actor: ZLinkActor, request: Message, commit: (spot: ZLinkSpot) => Promise<void>, signal?: AbortSignal, leaveSource?: () => Promise<void>, contentType?: string) => Promise<ZLinkSpotActorJoinResult>;
14
+ readonly localEntryJoin?: (actor: ZLinkActor, signal?: AbortSignal) => Promise<void>;
15
+ readonly localSourceLeave?: (actor: ZLinkActor, spotId: RoutingId | undefined, signal?: AbortSignal) => Promise<void>;
16
+ readonly reportSourceLeaveError: (error: unknown) => void;
13
17
  readonly postCommitBinder?: ZLinkPostCommitActorBinder;
14
18
  readonly completionTableProvider: () => ZLinkMeshCompletionTable | undefined;
15
19
  readonly actorJoinRelocation?: ZLinkActorJoinRelocation;
16
20
  readonly messageSerializers?: ReadonlyMap<string, ZLinkMessageSerializer>;
17
21
  }
18
- /** Owns core-native actor joins and their local runtime state transition. */
22
+ /** Selects local membership commits or remote Actor relocation. */
19
23
  export declare class ZLinkLocalNativeActorJoin {
20
24
  private readonly options;
21
25
  constructor(options: ZLinkLocalNativeActorJoinOptions);
22
26
  joinSpot(node: ZLinkBackendMeshNode, actor: ZLinkActor, state: ZLinkActorRuntimeState, actorRef: ZLinkBackendActorRef, spotId: RoutingId, spotRouteTarget: ZLinkSpotRouteTarget | undefined, request: Message, timeoutMs: number | undefined, signal: AbortSignal | undefined, completionOperationId?: ZLinkActorJoinOperationId): Promise<ZLinkActorJoinRuntimeResult<Message>>;
23
27
  joinEntrySpot(node: ZLinkBackendMeshNode, actor: ZLinkActor, state: ZLinkActorRuntimeState, actorRef: ZLinkBackendActorRef, nodeRid: RoutingId, spotRouteTarget: ZLinkSpotRouteTarget | undefined, request: Message, timeoutMs: number | undefined, signal: AbortSignal | undefined, completionOperationId?: ZLinkActorJoinOperationId): Promise<ZLinkActorJoinRuntimeResult<Message>>;
28
+ private joinLocal;
24
29
  private waitForJoinCompletion;
25
30
  private relocateRemoteActorJoin;
26
31
  private requireCompletions;