@zlink-systems/framework 0.30.3 → 0.32.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 (398) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Actors/ZLinkActor.d.ts +2 -0
  3. package/dist/contracts/Actors/ZLinkSessionBindingIdentity.d.ts +6 -0
  4. package/dist/contracts/Actors/ZLinkSessionBindingIdentity.js +2 -0
  5. package/dist/contracts/Actors/index.d.ts +1 -0
  6. package/dist/contracts/Actors/index.js +1 -0
  7. package/dist/contracts/Common/CoreTypes.d.ts +1 -0
  8. package/dist/contracts/Common/HandlerMessageType.d.ts +8 -0
  9. package/dist/contracts/Common/HandlerMessageType.js +41 -0
  10. package/dist/contracts/Common/ZLinkEncodedPayload.d.ts +1 -1
  11. package/dist/contracts/Common/ZLinkEncodedPayload.js +12 -20
  12. package/dist/contracts/Common/ZLinkMessage.js +11 -7
  13. package/dist/contracts/Common/encoded-payload-storage.d.ts +0 -2
  14. package/dist/contracts/Common/encoded-payload-storage.js +4 -16
  15. package/dist/contracts/Common/index.d.ts +1 -1
  16. package/dist/contracts/Common/payload-slab.d.ts +4 -0
  17. package/dist/contracts/Common/payload-slab.js +30 -0
  18. package/dist/contracts/Configuration/RegistrationBuilders.js +15 -9
  19. package/dist/contracts/Configuration/RegistrationTypes.d.ts +19 -0
  20. package/dist/contracts/Handlers/Contexts.d.ts +1 -0
  21. package/dist/contracts/Locations/Authority.d.ts +2 -0
  22. package/dist/internal.d.ts +9 -0
  23. package/dist/internal.js +23 -1
  24. package/dist/nest-integration.d.ts +1 -0
  25. package/dist/nest-integration.js +3 -1
  26. package/dist/runtime/actors/actor-client.d.ts +6 -2
  27. package/dist/runtime/actors/actor-client.js +120 -82
  28. package/dist/runtime/actors/actor-context.js +16 -5
  29. package/dist/runtime/actors/actor-execution-context.js +2 -2
  30. package/dist/runtime/actors/actor-handoff.d.ts +12 -1
  31. package/dist/runtime/actors/actor-handoff.js +79 -34
  32. package/dist/runtime/actors/actor-join-deferred-scope.js +6 -6
  33. package/dist/runtime/actors/actor-local-native-join.d.ts +2 -2
  34. package/dist/runtime/actors/actor-local-native-join.js +19 -17
  35. package/dist/runtime/actors/actor-mailbox.d.ts +1 -1
  36. package/dist/runtime/actors/actor-remote-joiner.d.ts +2 -2
  37. package/dist/runtime/actors/actor-remote-joiner.js +4 -4
  38. package/dist/runtime/actors/actor-routed-join-transport.d.ts +9 -3
  39. package/dist/runtime/actors/actor-routed-json-request.d.ts +3 -0
  40. package/dist/runtime/actors/actor-runtime-contracts.d.ts +2 -2
  41. package/dist/runtime/actors/actor-runtime-state.d.ts +1 -1
  42. package/dist/runtime/actors/spot-actor-dispatch.d.ts +9 -5
  43. package/dist/runtime/actors/spot-actor-dispatch.js +60 -38
  44. package/dist/runtime/admission.d.ts +6 -4
  45. package/dist/runtime/admission.js +21 -10
  46. package/dist/runtime/application-jobs/application-ingress-record-owner.d.ts +1 -0
  47. package/dist/runtime/application-jobs/application-ingress-record-owner.js +3 -0
  48. package/dist/runtime/backend/contracts/index.d.ts +26 -10
  49. package/dist/runtime/backend/mesh-completion-table.d.ts +7 -1
  50. package/dist/runtime/backend/mesh-completion-table.js +84 -20
  51. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +19 -6
  52. package/dist/runtime/backend/mesh-dispatch-pump.js +246 -147
  53. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -2
  54. package/dist/runtime/backend/node/node-backend-adapter-support.js +27 -19
  55. package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +5 -2
  56. package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +70 -13
  57. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  58. package/dist/runtime/backend/node/node-event-loop-poller.js +4 -3
  59. package/dist/runtime/backend/node/node-mesh-backend-adapter.js +5 -1
  60. package/dist/runtime/backend/node/node-raw-binding-port.d.ts +7 -2
  61. package/dist/runtime/backend/node/node-raw-binding-port.js +99 -63
  62. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +34 -16
  63. package/dist/runtime/backend/node/node-raw-mesh-backend.js +210 -106
  64. package/dist/runtime/backend/node/node-socket-backend-adapter.js +20 -6
  65. package/dist/runtime/backend/raw-binding-port.d.ts +6 -3
  66. package/dist/runtime/channels/channel-clients.js +3 -3
  67. package/dist/runtime/channels/channel-dispatch-pipeline.d.ts +11 -7
  68. package/dist/runtime/channels/channel-dispatch-pipeline.js +40 -22
  69. package/dist/runtime/channels/channel-dispatch-services.d.ts +3 -1
  70. package/dist/runtime/channels/channel-dispatch-services.js +7 -6
  71. package/dist/runtime/channels/channel-dispatchers.d.ts +13 -6
  72. package/dist/runtime/channels/channel-dispatchers.js +57 -36
  73. package/dist/runtime/channels/channel-envelope.d.ts +2 -2
  74. package/dist/runtime/channels/channel-envelope.js +609 -83
  75. package/dist/runtime/channels/channel-multipart.d.ts +1 -0
  76. package/dist/runtime/channels/channel-multipart.js +10 -6
  77. package/dist/runtime/channels/channel-outbound-operations.d.ts +6 -9
  78. package/dist/runtime/channels/channel-outbound-operations.js +107 -105
  79. package/dist/runtime/channels/channel-receive-loops.d.ts +9 -7
  80. package/dist/runtime/channels/channel-receive-loops.js +126 -90
  81. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +23 -6
  82. package/dist/runtime/channels/channel-runtime-lifecycle.js +47 -38
  83. package/dist/runtime/channels/channel-runtime-manager.d.ts +13 -6
  84. package/dist/runtime/channels/channel-runtime-manager.js +32 -14
  85. package/dist/runtime/channels/channel-socket-registry.d.ts +28 -4
  86. package/dist/runtime/channels/channel-socket-registry.js +9 -1
  87. package/dist/runtime/channels/channel-transports.d.ts +23 -16
  88. package/dist/runtime/channels/channel-transports.js +139 -119
  89. package/dist/runtime/channels/dispatch-error-reporter.d.ts +4 -4
  90. package/dist/runtime/channels/dispatch-error-reporter.js +5 -5
  91. package/dist/runtime/channels/fanout-location-runtime.d.ts +1 -1
  92. package/dist/runtime/channels/local-spot-route-transport.d.ts +5 -2
  93. package/dist/runtime/channels/local-spot-route-transport.js +15 -18
  94. package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +6 -3
  95. package/dist/runtime/channels/router-socket-spot-route-transport.js +33 -19
  96. package/dist/runtime/channels/source-spot-router.d.ts +6 -3
  97. package/dist/runtime/channels/source-spot-router.js +34 -23
  98. package/dist/runtime/channels/spot-node-route-transport.d.ts +6 -3
  99. package/dist/runtime/channels/spot-node-route-transport.js +23 -17
  100. package/dist/runtime/channels/spot-route-bridge-transport.d.ts +6 -3
  101. package/dist/runtime/channels/spot-route-bridge-transport.js +38 -24
  102. package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +8 -4
  103. package/dist/runtime/channels/spot-route-dispatch-strategy.js +36 -23
  104. package/dist/runtime/diagnostics/dispatch-error-details.js +9 -3
  105. package/dist/runtime/diagnostics/message-flow-bootstrap.d.ts +1 -0
  106. package/dist/runtime/diagnostics/message-flow-bootstrap.js +8 -0
  107. package/dist/runtime/diagnostics/message-flow-delivery.d.ts +47 -0
  108. package/dist/runtime/diagnostics/message-flow-delivery.js +149 -0
  109. package/dist/runtime/diagnostics/message-flow-record.d.ts +50 -0
  110. package/dist/runtime/diagnostics/message-flow-record.js +228 -0
  111. package/dist/runtime/diagnostics/message-flow-worker.d.ts +1 -0
  112. package/dist/runtime/diagnostics/message-flow-worker.js +118 -0
  113. package/dist/runtime/diagnostics/message-flow.d.ts +7 -19
  114. package/dist/runtime/diagnostics/message-flow.js +42 -290
  115. package/dist/runtime/diagnostics/runtime-metrics.d.ts +4 -3
  116. package/dist/runtime/diagnostics/runtime-metrics.js +8 -4
  117. package/dist/runtime/execution/index.d.ts +1 -0
  118. package/dist/runtime/execution/index.js +6 -3
  119. package/dist/runtime/execution/serial-execution-queue.d.ts +26 -13
  120. package/dist/runtime/execution/serial-execution-queue.js +75 -71
  121. package/dist/runtime/foundation/durable-service-request.d.ts +12 -3
  122. package/dist/runtime/foundation/durable-service-request.js +158 -73
  123. package/dist/runtime/foundation/operation-registry.d.ts +33 -3
  124. package/dist/runtime/foundation/operation-registry.js +272 -33
  125. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +62 -23
  126. package/dist/runtime/foundation/raw-service-mesh-runtime.js +373 -194
  127. package/dist/runtime/foundation/request-runtime.d.ts +17 -0
  128. package/dist/runtime/foundation/request-runtime.js +163 -0
  129. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  130. package/dist/runtime/foundation/service-discovery-registry.js +6 -0
  131. package/dist/runtime/foundation/service-liveness-registry.d.ts +1 -1
  132. package/dist/runtime/foundation/service-mailbox.d.ts +4 -2
  133. package/dist/runtime/foundation/service-mailbox.js +4 -1
  134. package/dist/runtime/foundation/service-relocation-object-owner.d.ts +2 -2
  135. package/dist/runtime/foundation/service-relocation-object-owner.js +12 -5
  136. package/dist/runtime/foundation/service-runtime-contracts.d.ts +7 -2
  137. package/dist/runtime/foundation/service-stateful-registry.d.ts +6 -2
  138. package/dist/runtime/foundation/service-stateful-registry.js +38 -17
  139. package/dist/runtime/foundation/service-stateful-runtime.d.ts +91 -26
  140. package/dist/runtime/foundation/service-stateful-runtime.js +245 -120
  141. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -0
  142. package/dist/runtime/foundation/service-stateful-wire-codec.js +15 -0
  143. package/dist/runtime/foundation/service-topology-registry.d.ts +2 -0
  144. package/dist/runtime/foundation/service-topology-registry.js +13 -3
  145. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  146. package/dist/runtime/foundation/service-wire-constants.generated.js +12 -0
  147. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +5 -1
  148. package/dist/runtime/foundation/service-wire-m6a-codec.js +50 -15
  149. package/dist/runtime/host/actor-packet-relay.d.ts +5 -6
  150. package/dist/runtime/host/actor-packet-relay.js +58 -57
  151. package/dist/runtime/host/actor-placement-coordinator.d.ts +1 -1
  152. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  153. package/dist/runtime/host/actor-runtime-options-factory.js +3 -2
  154. package/dist/runtime/host/actor-transfer-runtime.d.ts +3 -3
  155. package/dist/runtime/host/application-job-queue.d.ts +7 -5
  156. package/dist/runtime/host/application-job-queue.js +33 -21
  157. package/dist/runtime/host/bound-session-relay.js +0 -1
  158. package/dist/runtime/host/channel-runtime-options-factory.d.ts +2 -0
  159. package/dist/runtime/host/channel-runtime-options-factory.js +1 -0
  160. package/dist/runtime/host/entry-actor-runtime.d.ts +5 -2
  161. package/dist/runtime/host/entry-actor-runtime.js +2 -2
  162. package/dist/runtime/host/index.d.ts +106 -37
  163. package/dist/runtime/host/index.js +303 -151
  164. package/dist/runtime/host/location-runtime-owner.d.ts +2 -2
  165. package/dist/runtime/host/location-runtime-owner.js +1 -1
  166. package/dist/runtime/host/service-relocation-host-runtime.d.ts +195 -45
  167. package/dist/runtime/host/service-relocation-host-runtime.js +257 -144
  168. package/dist/runtime/host/spot-address-transport.d.ts +3 -0
  169. package/dist/runtime/host/spot-address-transport.js +73 -76
  170. package/dist/runtime/host/spot-runtime-options-factory.js +2 -0
  171. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -1
  172. package/dist/runtime/host/user-spot-creation-coordinator.js +49 -21
  173. package/dist/runtime/internal-observation.d.ts +1 -0
  174. package/dist/runtime/internal-observation.js +5 -0
  175. package/dist/runtime/locations/actor-location-claims.d.ts +1 -1
  176. package/dist/runtime/locations/actor-location-claims.js +15 -6
  177. package/dist/runtime/locations/auto-connect-loop.d.ts +0 -1
  178. package/dist/runtime/locations/auto-connect-loop.js +25 -19
  179. package/dist/runtime/locations/auto-connect-planner.js +2 -5
  180. package/dist/runtime/locations/auto-connect-reconciler.d.ts +1 -0
  181. package/dist/runtime/locations/auto-connect-reconciler.js +35 -23
  182. package/dist/runtime/locations/in-memory-authority-store.d.ts +1 -0
  183. package/dist/runtime/locations/in-memory-authority-store.js +15 -5
  184. package/dist/runtime/locations/in-memory-location-store.d.ts +0 -2
  185. package/dist/runtime/locations/in-memory-location-store.js +1 -38
  186. package/dist/runtime/locations/lifecycle.d.ts +1 -1
  187. package/dist/runtime/locations/lifecycle.js +2 -2
  188. package/dist/runtime/locations/location-store-repository.d.ts +0 -1
  189. package/dist/runtime/locations/location-store-repository.js +163 -246
  190. package/dist/runtime/locations/resolvers.d.ts +8 -1
  191. package/dist/runtime/locations/resolvers.js +16 -2
  192. package/dist/runtime/locations/runtime.d.ts +3 -3
  193. package/dist/runtime/locations/runtime.js +12 -16
  194. package/dist/runtime/messaging/creation-payload-codec.js +8 -7
  195. package/dist/runtime/messaging/framework-json-v1.d.ts +1 -1
  196. package/dist/runtime/messaging/framework-json-v1.js +6 -2
  197. package/dist/runtime/messaging/payload-codec.js +21 -35
  198. package/dist/runtime/messaging/request-deadline.d.ts +4 -2
  199. package/dist/runtime/messaging/request-deadline.js +40 -25
  200. package/dist/runtime/messaging/request-result.d.ts +14 -1
  201. package/dist/runtime/messaging/request-result.js +74 -13
  202. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +4 -0
  203. package/dist/runtime/protocol/service_wire_codec.generated.js +17 -7
  204. package/dist/runtime/spots/index.d.ts +28 -7
  205. package/dist/runtime/spots/index.js +31 -6
  206. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -2
  207. package/dist/runtime/spots/spot-activation-registry.js +13 -8
  208. package/dist/runtime/spots/spot-activation-state.d.ts +2 -0
  209. package/dist/runtime/spots/spot-activation-state.js +1 -0
  210. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +9 -4
  211. package/dist/runtime/spots/spot-actor-admission-coordinator.js +33 -12
  212. package/dist/runtime/spots/spot-actor-ingress-admission.d.ts +40 -0
  213. package/dist/runtime/spots/spot-actor-ingress-admission.js +78 -0
  214. package/dist/runtime/spots/spot-actor-membership.js +3 -3
  215. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +16 -43
  216. package/dist/runtime/spots/spot-actor-packet-dispatch.js +56 -113
  217. package/dist/runtime/spots/spot-actor-packet-drain.d.ts +1 -0
  218. package/dist/runtime/spots/spot-actor-packet-drain.js +12 -5
  219. package/dist/runtime/spots/spot-entry-activation.d.ts +4 -3
  220. package/dist/runtime/spots/spot-entry-activation.js +7 -12
  221. package/dist/runtime/spots/spot-handler-registry.d.ts +5 -1
  222. package/dist/runtime/spots/spot-handler-registry.js +31 -15
  223. package/dist/runtime/spots/spot-manager-public.js +3 -2
  224. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +11 -6
  225. package/dist/runtime/spots/spot-node-runtime-manager.js +6 -1
  226. package/dist/runtime/spots/spot-outbound.d.ts +8 -2
  227. package/dist/runtime/spots/spot-outbound.js +5 -5
  228. package/dist/runtime/spots/spot-route-packet-dispatch.js +13 -8
  229. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +3 -3
  230. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +9 -5
  231. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -2
  232. package/dist/runtime/spots/spot-serial-executor.d.ts +2 -1
  233. package/dist/runtime/spots/spot-serial-turn-executor.js +20 -26
  234. package/dist/runtime/spots/spot-subscription-dispatch.js +5 -2
  235. package/dist/runtime/spots/spot-timer.d.ts +1 -1
  236. package/dist/runtime/streams/actor-session-binding-registry.d.ts +11 -3
  237. package/dist/runtime/streams/actor-session-binding-registry.js +28 -0
  238. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +2 -2
  239. package/dist/runtime/streams/bound-actor-relay-sender.js +3 -4
  240. package/dist/runtime/streams/bound-session-service.js +6 -7
  241. package/dist/runtime/streams/index.d.ts +3 -3
  242. package/dist/runtime/streams/index.js +22 -2
  243. package/dist/runtime/streams/managed-stream.js +2 -1
  244. package/dist/runtime/streams/session-calls.d.ts +1 -1
  245. package/dist/runtime/streams/session-calls.js +3 -9
  246. package/dist/runtime/streams/session-context.d.ts +2 -2
  247. package/dist/runtime/streams/session-context.js +2 -2
  248. package/dist/runtime/streams/stream-session-runtime.d.ts +1 -0
  249. package/dist/runtime/streams/stream-session-runtime.js +64 -33
  250. package/package.json +3 -3
  251. package/src/contracts/Actors/ZLinkActor.ts +6 -0
  252. package/src/contracts/Actors/ZLinkSessionBindingIdentity.ts +7 -0
  253. package/src/contracts/Actors/index.ts +1 -0
  254. package/src/contracts/Common/CoreTypes.ts +1 -0
  255. package/src/contracts/Common/HandlerMessageType.ts +50 -0
  256. package/src/contracts/Common/ZLinkEncodedPayload.ts +13 -25
  257. package/src/contracts/Common/ZLinkMessage.ts +11 -7
  258. package/src/contracts/Common/encoded-payload-storage.ts +4 -16
  259. package/src/contracts/Common/index.ts +1 -1
  260. package/src/contracts/Common/payload-slab.ts +29 -0
  261. package/src/contracts/Configuration/RegistrationBuilders.ts +29 -15
  262. package/src/contracts/Configuration/RegistrationTypes.ts +19 -0
  263. package/src/contracts/Handlers/Contexts.ts +1 -0
  264. package/src/contracts/Locations/Authority.ts +7 -1
  265. package/src/internal.ts +17 -0
  266. package/src/nest-integration.ts +1 -0
  267. package/src/runtime/actors/actor-client.ts +257 -163
  268. package/src/runtime/actors/actor-context.ts +26 -14
  269. package/src/runtime/actors/actor-execution-context.ts +2 -2
  270. package/src/runtime/actors/actor-handoff.ts +86 -51
  271. package/src/runtime/actors/actor-join-deferred-scope.ts +6 -6
  272. package/src/runtime/actors/actor-local-native-join.ts +38 -17
  273. package/src/runtime/actors/actor-mailbox.ts +1 -1
  274. package/src/runtime/actors/actor-remote-joiner.ts +8 -4
  275. package/src/runtime/actors/actor-routed-join-transport.ts +13 -5
  276. package/src/runtime/actors/actor-routed-json-request.ts +3 -0
  277. package/src/runtime/actors/actor-runtime-contracts.ts +4 -2
  278. package/src/runtime/actors/actor-runtime-state.ts +1 -1
  279. package/src/runtime/actors/spot-actor-dispatch.ts +70 -68
  280. package/src/runtime/admission.ts +42 -15
  281. package/src/runtime/application-jobs/application-ingress-record-owner.ts +4 -0
  282. package/src/runtime/backend/contracts/index.ts +77 -10
  283. package/src/runtime/backend/mesh-completion-table.ts +106 -15
  284. package/src/runtime/backend/mesh-dispatch-pump.ts +294 -146
  285. package/src/runtime/backend/node/node-backend-adapter-support.ts +42 -32
  286. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +91 -34
  287. package/src/runtime/backend/node/node-event-loop-poller.ts +14 -5
  288. package/src/runtime/backend/node/node-mesh-backend-adapter.ts +5 -1
  289. package/src/runtime/backend/node/node-raw-binding-port.ts +180 -69
  290. package/src/runtime/backend/node/node-raw-mesh-backend.ts +386 -157
  291. package/src/runtime/backend/node/node-socket-backend-adapter.ts +56 -11
  292. package/src/runtime/backend/raw-binding-port.ts +13 -5
  293. package/src/runtime/channels/channel-clients.ts +26 -11
  294. package/src/runtime/channels/channel-dispatch-pipeline.ts +77 -65
  295. package/src/runtime/channels/channel-dispatch-services.ts +7 -12
  296. package/src/runtime/channels/channel-dispatchers.ts +93 -39
  297. package/src/runtime/channels/channel-envelope.ts +680 -144
  298. package/src/runtime/channels/channel-multipart.ts +17 -13
  299. package/src/runtime/channels/channel-outbound-operations.ts +204 -178
  300. package/src/runtime/channels/channel-receive-loops.ts +160 -107
  301. package/src/runtime/channels/channel-runtime-lifecycle.ts +64 -59
  302. package/src/runtime/channels/channel-runtime-manager.ts +74 -27
  303. package/src/runtime/channels/channel-socket-registry.ts +20 -5
  304. package/src/runtime/channels/channel-transports.ts +414 -287
  305. package/src/runtime/channels/dispatch-error-reporter.ts +4 -9
  306. package/src/runtime/channels/local-spot-route-transport.ts +27 -29
  307. package/src/runtime/channels/router-socket-spot-route-transport.ts +63 -32
  308. package/src/runtime/channels/source-spot-router.ts +75 -38
  309. package/src/runtime/channels/spot-node-route-transport.ts +67 -37
  310. package/src/runtime/channels/spot-route-bridge-transport.ts +62 -30
  311. package/src/runtime/channels/spot-route-dispatch-strategy.ts +105 -34
  312. package/src/runtime/diagnostics/dispatch-error-details.ts +10 -2
  313. package/src/runtime/diagnostics/message-flow-bootstrap.ts +6 -0
  314. package/src/runtime/diagnostics/message-flow-delivery.ts +171 -0
  315. package/src/runtime/diagnostics/message-flow-record.ts +295 -0
  316. package/src/runtime/diagnostics/message-flow-worker.ts +146 -0
  317. package/src/runtime/diagnostics/message-flow.ts +49 -362
  318. package/src/runtime/diagnostics/runtime-metrics.ts +10 -4
  319. package/src/runtime/execution/index.ts +6 -0
  320. package/src/runtime/execution/serial-execution-queue.ts +94 -96
  321. package/src/runtime/foundation/durable-service-request.ts +212 -89
  322. package/src/runtime/foundation/operation-registry.ts +287 -38
  323. package/src/runtime/foundation/raw-service-mesh-runtime.ts +617 -292
  324. package/src/runtime/foundation/request-runtime.ts +227 -0
  325. package/src/runtime/foundation/service-discovery-registry.ts +7 -0
  326. package/src/runtime/foundation/service-liveness-registry.ts +1 -1
  327. package/src/runtime/foundation/service-mailbox.ts +7 -2
  328. package/src/runtime/foundation/service-relocation-object-owner.ts +21 -6
  329. package/src/runtime/foundation/service-runtime-contracts.ts +12 -2
  330. package/src/runtime/foundation/service-stateful-registry.ts +52 -19
  331. package/src/runtime/foundation/service-stateful-runtime.ts +365 -198
  332. package/src/runtime/foundation/service-stateful-wire-codec.ts +18 -0
  333. package/src/runtime/foundation/service-topology-registry.ts +21 -3
  334. package/src/runtime/foundation/service-wire-constants.generated.ts +10 -0
  335. package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -17
  336. package/src/runtime/host/actor-packet-relay.ts +160 -156
  337. package/src/runtime/host/actor-placement-coordinator.ts +1 -1
  338. package/src/runtime/host/actor-runtime-options-factory.ts +7 -2
  339. package/src/runtime/host/actor-transfer-runtime.ts +3 -3
  340. package/src/runtime/host/application-job-queue.ts +56 -27
  341. package/src/runtime/host/bound-session-relay.ts +0 -1
  342. package/src/runtime/host/channel-runtime-options-factory.ts +3 -0
  343. package/src/runtime/host/entry-actor-runtime.ts +14 -6
  344. package/src/runtime/host/index.ts +388 -113
  345. package/src/runtime/host/location-runtime-owner.ts +3 -3
  346. package/src/runtime/host/service-relocation-host-runtime.ts +380 -252
  347. package/src/runtime/host/spot-address-transport.ts +110 -95
  348. package/src/runtime/host/spot-runtime-options-factory.ts +3 -0
  349. package/src/runtime/host/user-spot-creation-coordinator.ts +69 -22
  350. package/src/runtime/internal-observation.ts +2 -0
  351. package/src/runtime/locations/actor-location-claims.ts +42 -16
  352. package/src/runtime/locations/auto-connect-loop.ts +24 -16
  353. package/src/runtime/locations/auto-connect-planner.ts +2 -5
  354. package/src/runtime/locations/auto-connect-reconciler.ts +37 -24
  355. package/src/runtime/locations/in-memory-authority-store.ts +27 -7
  356. package/src/runtime/locations/in-memory-location-store.ts +1 -74
  357. package/src/runtime/locations/lifecycle.ts +4 -2
  358. package/src/runtime/locations/location-store-repository.ts +228 -308
  359. package/src/runtime/locations/resolvers.ts +20 -8
  360. package/src/runtime/locations/runtime.ts +16 -28
  361. package/src/runtime/messaging/creation-payload-codec.ts +12 -10
  362. package/src/runtime/messaging/framework-json-v1.ts +10 -1
  363. package/src/runtime/messaging/payload-codec.ts +50 -75
  364. package/src/runtime/messaging/request-deadline.ts +47 -39
  365. package/src/runtime/messaging/request-result.ts +88 -17
  366. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  367. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  368. package/src/runtime/spots/index.ts +57 -10
  369. package/src/runtime/spots/spot-activation-registry.ts +12 -8
  370. package/src/runtime/spots/spot-activation-state.ts +2 -0
  371. package/src/runtime/spots/spot-actor-admission-coordinator.ts +62 -37
  372. package/src/runtime/spots/spot-actor-ingress-admission.ts +157 -0
  373. package/src/runtime/spots/spot-actor-membership.ts +8 -5
  374. package/src/runtime/spots/spot-actor-packet-dispatch.ts +122 -206
  375. package/src/runtime/spots/spot-actor-packet-drain.ts +21 -6
  376. package/src/runtime/spots/spot-entry-activation.ts +25 -35
  377. package/src/runtime/spots/spot-handler-registry.ts +72 -15
  378. package/src/runtime/spots/spot-manager-public.ts +4 -2
  379. package/src/runtime/spots/spot-node-runtime-manager.ts +16 -7
  380. package/src/runtime/spots/spot-outbound.ts +26 -10
  381. package/src/runtime/spots/spot-route-packet-dispatch.ts +18 -8
  382. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +14 -8
  383. package/src/runtime/spots/spot-runtime-ports.ts +5 -2
  384. package/src/runtime/spots/spot-serial-executor.ts +1 -1
  385. package/src/runtime/spots/spot-serial-turn-executor.ts +25 -40
  386. package/src/runtime/spots/spot-subscription-dispatch.ts +9 -2
  387. package/src/runtime/spots/spot-timer.ts +1 -1
  388. package/src/runtime/streams/actor-session-binding-registry.ts +46 -3
  389. package/src/runtime/streams/bound-actor-relay-sender.ts +16 -5
  390. package/src/runtime/streams/bound-session-service.ts +10 -7
  391. package/src/runtime/streams/index.ts +30 -4
  392. package/src/runtime/streams/managed-stream.ts +2 -1
  393. package/src/runtime/streams/session-calls.ts +9 -14
  394. package/src/runtime/streams/session-context.ts +6 -11
  395. package/src/runtime/streams/stream-session-runtime.ts +79 -40
  396. package/dist/runtime/spots/spot-lifecycle-metrics.d.ts +0 -8
  397. package/dist/runtime/spots/spot-lifecycle-metrics.js +0 -17
  398. package/src/runtime/spots/spot-lifecycle-metrics.ts +0 -16
@@ -19,8 +19,8 @@ export interface ZLinkLocationRuntimeStopSnapshot {
19
19
  }
20
20
  export declare class ZLinkLocationRuntimeOwner {
21
21
  private readonly options;
22
- private stores?;
23
- private runtime?;
22
+ stores?: ZLinkLocationRuntimeStores;
23
+ runtime?: ZLinkLocationRuntime;
24
24
  private lifecycle?;
25
25
  private events?;
26
26
  private leaseTrackerState?;
@@ -26,7 +26,7 @@ class ZLinkLocationRuntimeOwner {
26
26
  return this.events;
27
27
  }
28
28
  get currentLeaseTracker() {
29
- return this.leaseTrackerState?.tracker;
29
+ return this.stores === undefined ? undefined : this.leaseTracker(this.stores);
30
30
  }
31
31
  setSpotRouteInvalidator(invalidator) {
32
32
  this.spotRouteInvalidator = invalidator;
@@ -1,25 +1,35 @@
1
- import { type RoutingId, type ZLinkMeshNodeDescriptor } from '../../contracts';
1
+ import type { RequestRuntime } from '../foundation/request-runtime';
2
+ import { inspectRuntime } from '../internal-observation';
3
+ import { type RoutingId, type Type, type ZLinkActor, type ZLinkMeshNodeDescriptor, ZLinkSpotKind } from '../../contracts';
2
4
  import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
3
5
  import type { ZLinkActivationAdmission } from '../activation-admission';
4
6
  import type { DefaultZLinkActorManager } from '../actors';
5
- import { type ZLinkActorHandoffPacket } from '../actors/actor-handoff';
7
+ import { type ZLinkActorHandoffPacket, type ZLinkActorHandoffResult } from '../actors/actor-handoff';
6
8
  import type { ZLinkActorJoinRelocation } from '../actors/actor-join-relocation';
9
+ import { type ZLinkActorRuntimeState } from '../actors/actor-runtime-state';
7
10
  import type { ZLinkBackendMeshNode, ZLinkMeshCompletionTable } from '../backend';
8
11
  import type { ZLinkFrameworkRegistration } from '../configuration';
9
- import { type ZLinkRuntimeEventPublisher, type ZLinkRuntimeMetrics } from '../diagnostics';
12
+ import { type ZLinkRuntimeEventPublisher, type ZLinkRelocationMetricOperation, type ZLinkRuntimeMetrics } from '../diagnostics';
10
13
  import { type ZLinkMessageFlowTracer } from '../diagnostics/message-flow';
11
- import { type ServiceRelocationQueuedMessage } from '../foundation/service-relocation-runtime';
14
+ import { type ServicePreparedRelocationAggregate } from '../foundation/service-relocation-aggregate-committer';
15
+ import { ServiceRelocationObjectRestoreOwner, type ServiceCapturedObjectRelocation, type ServiceObjectRelocationStaging, type ServiceRelocationHiddenObject, type ServiceRelocationTargetObjectPort } from '../foundation/service-relocation-object-owner';
16
+ import { ServiceRelocationAuthorityPayloadCodec, type ServiceRelocationEnvelope, type ServiceRelocationMembership, type ServiceRelocationParticipant, type ServiceRelocationPublication, type ServiceRelocationQueuedMessage } from '../foundation/service-relocation-runtime';
12
17
  import { type ReceiveRecord } from '../foundation/service-runtime-contracts';
13
- import { type ServiceSessionRelocationRoute, type ServiceSessionRelocationSeal, type ServiceSessionRelocationSealed } from '../foundation/service-stateful-wire-codec';
18
+ import { type ServiceMaintenanceRelocationCutover, type ServiceMaintenanceRelocationData, type ServiceMaintenanceRelocationPrepare, type ServiceMaintenanceRelocationReady, type ServiceMaintenanceReplyRelay, type ServiceSessionRelocationRoute, type ServiceSessionRelocationSeal, type ServiceSessionRelocationSealed, type ServiceWireRelocationCoordinatorFence, type ServiceWireRelocationTarget, type ServiceWireRequestSourceFence } from '../foundation/service-stateful-wire-codec';
14
19
  import type { ZLinkDomainLocationStore as ZLinkLocationStore } from '../locations/domain-store-contract';
15
- import type { ZLinkLocationOwnerToken } from '../locations/internal-location-contracts';
20
+ import type { ZLinkAuthoritySnapshot, ZLinkLocationOwnerToken } from '../locations/internal-location-contracts';
16
21
  import type { ZLinkTrackedInstanceAuthority } from '../locations/spot-location-claims';
17
22
  import type { DefaultZLinkSpotManager } from '../spots';
23
+ import type { ZLinkSpotActivation } from '../spots/spot-activation-state';
24
+ import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
18
25
  import { type ZLinkActorTransferRuntime } from './actor-transfer-runtime';
26
+ import { ZLinkRelocationPayloadAssembly } from './relocation-direct-transfer';
27
+ import { decodeServiceRelocationControlResponse, type ZLinkServiceRelocationControlRequest } from './service-relocation-control';
19
28
  export declare class ZLinkRelocationStateIncompatibleError extends Error {
20
29
  constructor(message: string);
21
30
  }
22
31
  interface ZLinkHostRelocationOptions {
32
+ readonly requests: RequestRuntime;
23
33
  readonly flowCreationEnabled?: () => boolean;
24
34
  readonly messageFlow?: () => ZLinkMessageFlowTracer | undefined;
25
35
  readonly registration: ZLinkFrameworkRegistration;
@@ -42,20 +52,107 @@ interface ZLinkHostRelocationOptions {
42
52
  clear?(): void | Promise<void>;
43
53
  };
44
54
  readonly trackInstanceSpot?: (input: ZLinkTrackedInstanceAuthority) => void;
45
- readonly invalidateActorRoute?: (actorId: string) => void;
55
+ readonly observeActorAuthorityVersion?: (actorId: string, storeVersion: string) => void;
46
56
  readonly reconcileStatefulAuthorityRoutes?: (signal?: AbortSignal) => Promise<void>;
47
57
  readonly runtimeEventPublisher?: ZLinkRuntimeEventPublisher;
48
58
  readonly metrics?: ZLinkRuntimeMetrics;
49
59
  readonly activationAdmission?: ZLinkActivationAdmission;
50
60
  }
61
+ interface LocalHidden extends ServiceRelocationHiddenObject {
62
+ readonly participant: ServiceRelocationParticipant;
63
+ readonly actor?: ZLinkActor;
64
+ readonly activation?: ZLinkSpotActivation;
65
+ initialized: boolean;
66
+ replayStart?: Promise<void>;
67
+ onReplayResult?: (packet: ZLinkActorHandoffPacket, result: ZLinkActorHandoffResult) => Promise<void>;
68
+ readonly replayPackets: ZLinkActorHandoffPacket[];
69
+ targetAuthorityOwnerGeneration?: bigint;
70
+ }
71
+ interface LocalStage {
72
+ readonly offer: TargetRelocationOffer;
73
+ readonly owner: ServiceRelocationObjectRestoreOwner<LocalHidden>;
74
+ readonly staging: ServiceObjectRelocationStaging<LocalHidden>;
75
+ phase: 'ready' | 'finalizing' | 'committed' | 'open' | 'failed';
76
+ lane: Promise<void>;
77
+ cutoverReceived: boolean;
78
+ /** Boundary relay records buffered until cutover (or fallback) applies them. */
79
+ readonly boundaryRelay: ServiceMaintenanceRelocationData[];
80
+ fallback?: ReturnType<typeof setTimeout>;
81
+ finalize?: Promise<void>;
82
+ /** The Restore's activation admission (MeshNode §5.1); held until target commit or abort. */
83
+ readonly releaseActivation: () => void;
84
+ readonly releaseJoinAdmission: () => void;
85
+ }
86
+ interface TargetPayloadAssembly {
87
+ readonly prepare: ServiceMaintenanceRelocationPrepare;
88
+ readonly fingerprint: string;
89
+ readonly authenticatedSourceNodeRid: string;
90
+ readonly assembly: ZLinkRelocationPayloadAssembly;
91
+ }
92
+ /** One authority read decides commit and the snapshots eligible for Follow. */
93
+ type SourceAuthorityCommit = {
94
+ readonly kind: 'target';
95
+ readonly followAuthorities: ReadonlyMap<string, ZLinkAuthoritySnapshot>;
96
+ };
97
+ interface SourceCutoverWindow {
98
+ readonly meshName: string;
99
+ readonly targetNodeRid: RoutingId;
100
+ /** Boundary batch frames plus the cutover frame, retained until authority settlement. */
101
+ frames?: readonly Buffer[];
102
+ /** The ready route used to submit the retained batch. */
103
+ submittedRouteGeneration?: bigint;
104
+ readonly cutoverSubmittedAtMs: number;
105
+ followTimer?: ReturnType<typeof setTimeout>;
106
+ windowClosed: boolean;
107
+ followExpired: boolean;
108
+ }
109
+ interface TargetRelocationReservation {
110
+ readonly prepared: ServicePreparedRelocationAggregate;
111
+ }
112
+ interface TargetRelocationOffer {
113
+ readonly prepare: ServiceMaintenanceRelocationPrepare;
114
+ readonly prepareFingerprint: string;
115
+ readonly authenticatedSourceNodeRid: string;
116
+ readonly envelope: ServiceRelocationEnvelope;
117
+ readonly reservation: TargetRelocationReservation;
118
+ }
119
+ interface TargetPrepareOperation {
120
+ readonly fingerprint: string;
121
+ readonly promise: Promise<ServiceMaintenanceRelocationReady>;
122
+ }
123
+ interface SourceActorSession {
124
+ readonly state: ZLinkActorRuntimeState;
125
+ readonly actor: ZLinkActor;
126
+ readonly prepared: Awaited<ReturnType<ZLinkActorTransferRuntime['prepareMaintenanceSession']>>;
127
+ }
128
+ interface PendingSessionRelocation {
129
+ readonly targetNodeRid: string;
130
+ readonly request: ServiceSessionRelocationSeal;
131
+ readonly requestFingerprint: string;
132
+ readonly promise: Promise<ServiceSessionRelocationSealed>;
133
+ readonly resolve: (response: ServiceSessionRelocationSealed) => void;
134
+ readonly reject: (error: unknown) => void;
135
+ retryTimer?: ReturnType<typeof setTimeout>;
136
+ deadlineTimer?: ReturnType<typeof setTimeout>;
137
+ }
51
138
  /** Production host bridge from Retire inventory to remote RouteMesh owners. */
52
139
  export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoinRelocation {
53
- private readonly options;
54
- private readonly targetStages;
140
+ readonly options: ZLinkHostRelocationOptions;
141
+ [inspectRuntime](): Readonly<{
142
+ targetStages: number;
143
+ targetAssemblies: number;
144
+ pendingReplyRelays: number;
145
+ sourceActorJoinProfiles: number;
146
+ sourceCutoverWindow: Readonly<{
147
+ readonly frameCount: number | undefined;
148
+ }> | undefined;
149
+ terminalTargets: number;
150
+ }>;
151
+ readonly targetStages: Map<string, LocalStage>;
55
152
  private readonly terminalTargets;
56
- private readonly targetPrepareOperations;
153
+ readonly targetPrepareOperations: Map<string, TargetPrepareOperation>;
57
154
  private readonly pendingReplyRelays;
58
- private readonly pendingSessionRelocations;
155
+ readonly pendingSessionRelocations: Map<string, PendingSessionRelocation>;
59
156
  private readonly terminalSessionRelocations;
60
157
  /**
61
158
  * A command 44 submit has no response path. Keep a bounded record of a
@@ -64,7 +161,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
64
161
  */
65
162
  private readonly failedSessionRouteSubmits;
66
163
  private readonly sourceRelocationIds;
67
- private readonly targetAssemblies;
164
+ readonly targetAssemblies: Map<string, TargetPayloadAssembly>;
68
165
  /**
69
166
  * Terminal restore failures (assembly/checksum/factory/restore error): the
70
167
  * target already sent relocationFailed (command 53) once. An exact-identity
@@ -83,7 +180,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
83
180
  private nodePayloadBudget?;
84
181
  private readonly sourceActorJoinProfiles;
85
182
  private readonly terminalActorJoinSourceLeaves;
86
- private readonly codec;
183
+ readonly codec: ServiceRelocationAuthorityPayloadCodec;
87
184
  /**
88
185
  * Set once dispose() starts tearing assemblies down. A payload() rejection
89
186
  * observed after this point is the shutdown itself, not a chunk-assembly or
@@ -109,7 +206,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
109
206
  tryHandleControl(meshName: string, record: ReceiveRecord, signal?: AbortSignal): boolean | Promise<boolean>;
110
207
  private handleControl;
111
208
  /** Sends the Ready reply once the async restore finished; failures replay on resend. */
112
- private deliverTargetReady;
209
+ deliverTargetReady(meshName: string, operationKey: string, request: ServiceMaintenanceRelocationPrepare, ingress: ReceiveRecord, operation: Promise<ServiceMaintenanceRelocationReady>): Promise<void>;
113
210
  /** Cleans up a Ready reply that never delivered within the Restore validity window. */
114
211
  private expireTargetReadyResponse;
115
212
  /**
@@ -132,16 +229,24 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
132
229
  private handleSessionRelocationRoute;
133
230
  private validateSessionOwnerFence;
134
231
  private sendSessionRelocationResponse;
135
- private relocateSpotAggregate;
232
+ relocateSpotAggregate(meshName: string, activation: ZLinkSpotActivation, kind: 'user_spot' | 'instance_spot', actorStates: readonly ZLinkActorRuntimeState[], target: ZLinkMeshNodeDescriptor | undefined, targetApplicationVersion: bigint | undefined, signal?: AbortSignal): Promise<void>;
136
233
  private relocateSpotAggregateCore;
137
- private relocateStandaloneActor;
138
- private relocatePerActorSpotShell;
234
+ relocateStandaloneActor(meshName: string, state: ZLinkActorRuntimeState, target: ZLinkMeshNodeDescriptor | undefined, targetApplicationVersion: bigint | undefined, signal?: AbortSignal, targetMembership?: ZLinkSpotRouteTarget & {
235
+ readonly spotKind: ZLinkSpotKind.Entry | ZLinkSpotKind.User;
236
+ readonly spotObjectGeneration: bigint;
237
+ }, aggregateIdOverride?: string, retainSourceForActorJoin?: boolean,
238
+ /** Target's advertised relocation state chunk cap (Actor Join only; spec 15 §4.2). */
239
+ advertisedReceiveChunkLimitBytes?: number, deadlineAtMs?: number): Promise<void>;
240
+ relocatePerActorSpotShell(meshName: string, activation: ZLinkSpotActivation, target: ZLinkMeshNodeDescriptor | undefined, targetApplicationVersion: bigint | undefined, signal?: AbortSignal): Promise<void>;
139
241
  private relocatePerActorSpotShellCore;
140
242
  private actorCaptureUnit;
141
243
  private reserveRelocationId;
142
244
  private reserveExactRelocationId;
143
- private runCoordinator;
245
+ runCoordinator(meshName: string, target: ZLinkMeshNodeDescriptor, primary: ZLinkAuthoritySnapshot, captured: ServiceCapturedObjectRelocation, _authorities: ReadonlyMap<string, ZLinkAuthoritySnapshot>, signal?: AbortSignal, sessions?: readonly SourceActorSession[],
246
+ /** Target's advertised relocation state chunk cap (Actor Join only; spec 15 §4.2). */
247
+ advertisedReceiveChunkLimitBytes?: number, controlDeadlineAtMs?: number, relocationMetric?: ZLinkRelocationMetricOperation): Promise<void>;
144
248
  private completeSourceRelocationMetric;
249
+ startSourceRelocationMetric(meshName: string, objectKind: 'actor' | 'user_spot' | 'instance_spot', policy: 'recreate' | 'snapshot', actorId?: string): ZLinkRelocationMetricOperation | undefined;
145
250
  /** Streams the payload chunks of one stage under the effective in-flight budgets. */
146
251
  private sendRelocationStateChunks;
147
252
  /**
@@ -150,7 +255,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
150
255
  */
151
256
  private acquireRelocationBudget;
152
257
  /** Pre-seal admission wait — a full budget delays the next unit before seal. */
153
- private waitForRelocationBudgetHeadroom;
258
+ waitForRelocationBudgetHeadroom(targetRid: string, signal?: AbortSignal): Promise<void>;
154
259
  private requireNodePayloadBudget;
155
260
  private requirePeerPayloadBudget;
156
261
  /**
@@ -165,9 +270,9 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
165
270
  private closeSourceCutoverWindow;
166
271
  private releaseSourceCutoverWindow;
167
272
  /** Relocation flow §4.4: replay the whole batch on a different ready route. */
168
- private resendSourceCutover;
273
+ resendSourceCutover(window: SourceCutoverWindow): Promise<void>;
169
274
  /**
170
- * The one source authority settlement after Ready (Location runtime
275
+ * The one source authority settlement after request creation (Location runtime
171
276
  * §6.1·§10, spec 28 §4.4). It reads the Store until the target commit or
172
277
  * the Restore deadline. From the Restore deadline it runs the source
173
278
  * Preserve fence: a CAS on the StoreVersion expected by target NewOwner
@@ -178,7 +283,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
178
283
  * A committed later owner has no Follow snapshot (Location runtime §10). An uncertain
179
284
  * Store or lease result keeps the work retained and repeats the same decision.
180
285
  */
181
- private settleSourceAuthority;
286
+ settleSourceAuthority(envelope: ServiceRelocationEnvelope, primary: ZLinkAuthoritySnapshot, target: ServiceWireRelocationTarget, restoreDeadlineReached: () => boolean, window: SourceCutoverWindow | undefined, relocationMetric?: ZLinkRelocationMetricOperation): Promise<SourceAuthorityCommit | 'source' | 'lost'>;
182
287
  private readSourceSettlement;
183
288
  /**
184
289
  * True when every relocation this source started reached its Message
@@ -186,9 +291,9 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
186
291
  * ended — both source-local events (spec 30 §11).
187
292
  */
188
293
  isSafeToShutdown(): boolean;
189
- private releaseParticipantAuthorities;
294
+ releaseParticipantAuthorities(envelope: ServiceRelocationEnvelope, primaryKey: string, signal?: AbortSignal): Promise<void>;
190
295
  /** Restores the hidden object and its saved-work prefix before Ready. */
191
- private handlePrepareControl;
296
+ handlePrepareControl(meshName: string, stagingId: string, request: ServiceMaintenanceRelocationPrepare, sourceNodeRid: RoutingId, signal?: AbortSignal): Promise<ServiceMaintenanceRelocationReady>;
192
297
  /**
193
298
  * The cutover wait of a Ready stage (spec 28 §4.4) is a Warning only: it
194
299
  * records `cutover_timeout` and never submits the target CAS or opens
@@ -206,34 +311,49 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
206
311
  * whole (the retransmission always resends the entire batch, so the exact
207
312
  * span is the staged suffix of `boundaryRecordCount` records).
208
313
  */
209
- private reconcileBoundaryRelay;
210
- private beginTargetFinalize;
211
- private finalizeTargetStage;
314
+ reconcileBoundaryRelay(stage: LocalStage, request: ServiceMaintenanceRelocationCutover, stagingId: string): void;
315
+ beginTargetFinalize(meshName: string, stagingId: string, stage: LocalStage, signal?: AbortSignal): Promise<void>;
316
+ finalizeTargetStage(meshName: string, stagingId: string, stage: LocalStage, signal?: AbortSignal): Promise<void>;
212
317
  private validateRelocationData;
213
318
  private applyRelocationData;
214
- private finalizeActorJoinProfiles;
215
- private submitActorJoinSourceLeave;
216
- private acceptActorJoinSourceLeave;
319
+ finalizeActorJoinProfiles(meshName: string, stage: LocalStage, signal?: AbortSignal): Promise<void>;
320
+ submitActorJoinSourceLeave(meshName: string, sourceNodeRid: RoutingId, relocationId: string, actorId: string): Promise<void>;
321
+ acceptActorJoinSourceLeave(input: {
322
+ readonly transferId: string;
323
+ readonly actorId: string;
324
+ readonly succeeded: boolean;
325
+ }): boolean;
217
326
  private sendControlOneWay;
218
- private submitControlFrame;
219
- private clearTargetRelocationPublication;
327
+ submitControlFrame(meshName: string, targetNodeRid: RoutingId, frame: Buffer, kind: string): Promise<void>;
328
+ clearTargetRelocationPublication(stage: LocalStage, primary: ZLinkAuthoritySnapshot, signal?: AbortSignal): Promise<ZLinkAuthoritySnapshot>;
220
329
  private handleReplyRelay;
221
- private sendReplyRelay;
330
+ sendReplyRelay(meshName: string, ackTargetNodeRid: RoutingId, request: ServiceMaintenanceReplyRelay, expectedRequestSource: ServiceWireRequestSourceFence, signal?: AbortSignal): Promise<RelocationTerminalDelivery>;
222
331
  private acceptReplyRelayAck;
223
332
  private requireAdmittedPeer;
224
- private targetReplyRelayCoordinator;
225
- private relayTerminalReply;
333
+ targetReplyRelayCoordinator(meshName: string, stage: LocalStage, authority: ZLinkAuthoritySnapshot): ServiceWireRelocationCoordinatorFence;
334
+ relayTerminalReply(meshName: string, stage: LocalStage, coordinator: ServiceWireRelocationCoordinatorFence, participantId: bigint, packet: ZLinkActorHandoffPacket, result: ZLinkActorHandoffResult, signal?: AbortSignal): Promise<void>;
226
335
  private exactSourceLeaseExpired;
227
- private publishSessionRoutes;
228
- private sendControl;
336
+ publishSessionRoutes(staging: ServiceObjectRelocationStaging<LocalHidden>): Promise<void>;
337
+ sendControl(meshName: string, targetNodeRid: RoutingId, request: ZLinkServiceRelocationControlRequest, signal?: AbortSignal, deadlineAtMs?: number, onSubmitted?: (signal: AbortSignal) => Promise<void>): Promise<ReturnType<typeof decodeServiceRelocationControlResponse>>;
229
338
  private selectTarget;
230
339
  private readTargetParticipantAuthorities;
231
- private reserveTargetForPrepare;
232
- private authorityPayloadForPublication;
340
+ reserveTargetForPrepare(meshName: string, prepare: ServiceMaintenanceRelocationPrepare, envelope: ServiceRelocationEnvelope, signal?: AbortSignal): Promise<TargetRelocationReservation>;
341
+ authorityPayloadForPublication(payload: Uint8Array, publication: ServiceRelocationPublication, target?: {
342
+ readonly owner: ZLinkLocationOwnerToken;
343
+ readonly meshName: string;
344
+ readonly nodeRid: string;
345
+ readonly nodeGeneration: bigint;
346
+ readonly objectGeneration: bigint;
347
+ readonly targetAttemptGeneration: bigint;
348
+ readonly coordinatorExpectedStoreVersion: string;
349
+ readonly actorSpotId?: string;
350
+ readonly actorSpotGeneration?: bigint;
351
+ readonly actorSpotKind?: ZLinkSpotKind.Entry | ZLinkSpotKind.User;
352
+ }): Uint8Array;
233
353
  private abortTargetReservation;
234
354
  private abortTargetStage;
235
355
  private discardTargetStage;
236
- private commitTargetReservation;
356
+ commitTargetReservation(stage: LocalStage, reservation: TargetRelocationReservation, signal?: AbortSignal): Promise<ZLinkAuthoritySnapshot | undefined>;
237
357
  /**
238
358
  * The one target authority settlement (Location runtime §10, spec 28
239
359
  * §4.4-§4.5). Only a verified cutover lets the target submit its NewOwner
@@ -246,27 +366,57 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
246
366
  * caller then discards the staging.
247
367
  */
248
368
  private commitTargetAggregate;
249
- private readAggregateForCommitRetry;
250
- private materializeTargetEnvelope;
369
+ readAggregateForCommitRetry(prepared: ServicePreparedRelocationAggregate, signal?: AbortSignal): Promise<{
370
+ readonly kind: 'committed';
371
+ readonly authorities: ReadonlyMap<string, ZLinkAuthoritySnapshot>;
372
+ } | {
373
+ readonly kind: 'source' | 'unknown' | 'stale';
374
+ }>;
375
+ materializeTargetEnvelope(meshName: string, envelope: ServiceRelocationEnvelope, signal?: AbortSignal): Promise<Pick<LocalStage, 'owner' | 'staging'> & {
376
+ readonly target: LocalTargetPort;
377
+ }>;
251
378
  /** Maps schema ordinals to the authoritative Location Store inventory. */
252
- private resolveTargetParticipantInventory;
379
+ resolveTargetParticipantInventory(meshName: string, request: ServiceMaintenanceRelocationPrepare, envelope: ServiceRelocationEnvelope, signal?: AbortSignal): Promise<ServiceRelocationEnvelope>;
253
380
  private spotKind;
254
381
  private spotRegistration;
255
382
  private actorRegistration;
256
- private captureApplication;
383
+ captureApplication<T>(policy: {
384
+ readonly kind: 'disabled' | 'recreate' | 'snapshot';
385
+ readonly adapterType?: Type;
386
+ }, value: T, signal?: AbortSignal): Promise<Uint8Array>;
257
387
  private createRelocationAdapter;
258
388
  private recordRelocationInterruption;
259
389
  private sealSpotMessageFollow;
260
390
  private commitSpotMessageFollow;
261
391
  private requireLocationStore;
262
392
  private requireSpotManager;
263
- private afterSpotCloseDecision;
393
+ afterSpotCloseDecision<T>(meshName: string, spotId: RoutingId, seal: () => T): T | Promise<T>;
264
394
  private requireActorManager;
265
395
  private relocationLimits;
266
396
  private requireMeshNode;
267
397
  private sendInfrastructureControl;
268
398
  private requestInfrastructureControl;
269
399
  }
400
+ declare class LocalTargetPort implements ServiceRelocationTargetObjectPort<LocalHidden> {
401
+ private readonly options;
402
+ private readonly meshName;
403
+ private readonly envelope;
404
+ constructor(options: ZLinkHostRelocationOptions, meshName: string, envelope: ServiceRelocationEnvelope);
405
+ createHidden(participant: ServiceRelocationParticipant, signal?: AbortSignal): Promise<LocalHidden>;
406
+ restoreApplicationState(hidden: LocalHidden, payload: Uint8Array, signal?: AbortSignal): Promise<void>;
407
+ restoreMemberships(hidden: ReadonlyMap<string, LocalHidden>, memberships: readonly ServiceRelocationMembership[]): Promise<void>;
408
+ publish(hidden: LocalHidden, authority: ZLinkAuthoritySnapshot): Promise<void>;
409
+ restoreBoundSession(hidden: LocalHidden, payload: Uint8Array): Promise<void>;
410
+ replayQueuedMessage(hidden: LocalHidden, message: ServiceRelocationQueuedMessage): Promise<void>;
411
+ openAdmission(hidden: LocalHidden): Promise<void>;
412
+ normalize(hidden: LocalHidden): Promise<void>;
413
+ abort(hidden: LocalHidden): Promise<void>;
414
+ private registration;
415
+ private requireLocationStore;
416
+ private requireSpotManager;
417
+ private requireActorManager;
418
+ }
419
+ type RelocationTerminalDelivery = 'terminalReceived' | 'alreadyTerminal' | 'sourceLeaseExpired';
270
420
  export declare function decodeQueuedHandoffPacket(message: ServiceRelocationQueuedMessage): ZLinkActorHandoffPacket;
271
421
  export declare function createServiceRelocationId(isInUse: (candidate: string) => boolean, entropy?: (size: number) => Uint8Array): string;
272
422
  /**