@zlink-systems/framework 0.25.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 (557) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Channels/IZLinkFanoutClient.d.ts +0 -6
  3. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  4. package/dist/contracts/Common/CoreTypes.js +7 -0
  5. package/dist/contracts/Common/index.d.ts +1 -1
  6. package/dist/contracts/Common/index.js +0 -1
  7. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  8. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  9. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  10. package/dist/contracts/Configuration/Registration.js +58 -36
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  12. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  13. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  14. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  15. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  16. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  17. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  18. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  19. package/dist/contracts/Handlers/JsonContract.js +10 -4
  20. package/dist/contracts/Locations/Authority.d.ts +1 -1
  21. package/dist/contracts/Locations/Authority.js +3 -2
  22. package/dist/contracts/Locations/Options.js +1 -1
  23. package/dist/contracts/Locations/Stores.d.ts +12 -0
  24. package/dist/contracts/Locations/Stores.js +9 -0
  25. package/dist/contracts/RouteMesh/RuntimeTopology.d.ts +8 -0
  26. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  27. package/dist/internal.d.ts +5 -0
  28. package/dist/internal.js +16 -1
  29. package/dist/nest-integration.d.ts +4 -2
  30. package/dist/nest-integration.js +14 -4
  31. package/dist/runtime/abort.d.ts +1 -0
  32. package/dist/runtime/abort.js +8 -5
  33. package/dist/runtime/activation-admission.d.ts +28 -0
  34. package/dist/runtime/activation-admission.js +57 -0
  35. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  36. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  37. package/dist/runtime/actors/actor-client.d.ts +2 -2
  38. package/dist/runtime/actors/actor-client.js +42 -143
  39. package/dist/runtime/actors/actor-context.d.ts +3 -5
  40. package/dist/runtime/actors/actor-context.js +19 -17
  41. package/dist/runtime/actors/actor-handoff.d.ts +13 -7
  42. package/dist/runtime/actors/actor-handoff.js +36 -25
  43. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  44. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  45. package/dist/runtime/actors/actor-local-native-join.js +85 -123
  46. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  47. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  48. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  49. package/dist/runtime/actors/actor-remote-joiner.d.ts +3 -3
  50. package/dist/runtime/actors/actor-remote-joiner.js +11 -17
  51. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  52. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  53. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  54. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  55. package/dist/runtime/actors/actor-runtime-contracts.d.ts +4 -2
  56. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  57. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  58. package/dist/runtime/actors/actor-source-transfer.d.ts +5 -5
  59. package/dist/runtime/actors/bound-session-wire.js +2 -7
  60. package/dist/runtime/actors/deferred-join-completion.d.ts +19 -0
  61. package/dist/runtime/actors/deferred-join-completion.js +21 -0
  62. package/dist/runtime/actors/index.d.ts +10 -8
  63. package/dist/runtime/actors/index.js +101 -73
  64. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  65. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  66. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  67. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  68. package/dist/runtime/admission.d.ts +7 -1
  69. package/dist/runtime/admission.js +11 -1
  70. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  71. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  72. package/dist/runtime/backend/contracts/index.d.ts +8 -33
  73. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +3 -26
  74. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  75. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  76. package/dist/runtime/backend/node/node-backend-adapter-factory.d.ts +1 -2
  77. package/dist/runtime/backend/node/node-backend-adapter-factory.js +4 -18
  78. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +7 -4
  79. package/dist/runtime/backend/node/node-backend-adapter-support.js +28 -34
  80. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  81. package/dist/runtime/backend/node/node-event-loop-poller.js +11 -6
  82. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  83. package/dist/runtime/backend/node/node-raw-binding-port.d.ts +1 -1
  84. package/dist/runtime/backend/node/node-raw-binding-port.js +51 -19
  85. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +21 -19
  86. package/dist/runtime/backend/node/node-raw-mesh-backend.js +171 -111
  87. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  88. package/dist/runtime/backend/raw-binding-port.d.ts +13 -1
  89. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  90. package/dist/runtime/backend/runtime-values.js +2 -0
  91. package/dist/runtime/channels/channel-clients.d.ts +20 -9
  92. package/dist/runtime/channels/channel-clients.js +68 -60
  93. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  94. package/dist/runtime/channels/channel-envelope.js +47 -29
  95. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  96. package/dist/runtime/channels/channel-outbound-operations.js +9 -18
  97. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  98. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  99. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  100. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  101. package/dist/runtime/channels/channel-runtime-manager.d.ts +2 -5
  102. package/dist/runtime/channels/channel-runtime-manager.js +4 -12
  103. package/dist/runtime/channels/channel-socket-options.js +3 -2
  104. package/dist/runtime/channels/channel-socket-registry.d.ts +30 -32
  105. package/dist/runtime/channels/channel-socket-registry.js +296 -235
  106. package/dist/runtime/channels/channel-transports.d.ts +11 -20
  107. package/dist/runtime/channels/channel-transports.js +68 -47
  108. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  109. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  110. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  111. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  112. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  113. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  114. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  115. package/dist/runtime/channels/fanout-location-runtime.js +133 -81
  116. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  117. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  118. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  119. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  120. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  121. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  122. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  123. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  124. package/dist/runtime/diagnostics/flow-context.js +16 -2
  125. package/dist/runtime/diagnostics/index.d.ts +4 -2
  126. package/dist/runtime/diagnostics/index.js +14 -4
  127. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  128. package/dist/runtime/diagnostics/message-flow.js +10 -19
  129. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  130. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  131. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  132. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  133. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  134. package/dist/runtime/disposal.d.ts +5 -0
  135. package/dist/runtime/disposal.js +22 -0
  136. package/dist/runtime/execution/index.d.ts +22 -9
  137. package/dist/runtime/execution/index.js +107 -37
  138. package/dist/runtime/execution/serial-execution-queue.d.ts +12 -7
  139. package/dist/runtime/execution/serial-execution-queue.js +99 -26
  140. package/dist/runtime/execution/state-lane.d.ts +8 -1
  141. package/dist/runtime/execution/state-lane.js +118 -3
  142. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  143. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  144. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  145. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  146. package/dist/runtime/foundation/listener-records.d.ts +11 -0
  147. package/dist/runtime/foundation/listener-records.js +20 -0
  148. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  149. package/dist/runtime/foundation/operation-identity.js +9 -5
  150. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  151. package/dist/runtime/foundation/operation-registry.js +34 -44
  152. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +18 -26
  153. package/dist/runtime/foundation/raw-service-mesh-runtime.js +122 -469
  154. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  155. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  156. package/dist/runtime/foundation/service-authority-payload-codec.d.ts +1 -0
  157. package/dist/runtime/foundation/service-authority-payload-codec.js +30 -12
  158. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  159. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  160. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  161. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  162. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  163. package/dist/runtime/foundation/service-maintenance-runtime.js +23 -8
  164. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  165. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  166. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  167. package/dist/runtime/foundation/service-relocation-coordinator.d.ts +9 -0
  168. package/dist/runtime/foundation/service-relocation-coordinator.js +14 -1
  169. package/dist/runtime/foundation/service-relocation-object-owner.d.ts +8 -0
  170. package/dist/runtime/foundation/service-relocation-object-owner.js +19 -6
  171. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  172. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  173. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  174. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -19
  175. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  176. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  177. package/dist/runtime/foundation/service-stateful-runtime.d.ts +28 -24
  178. package/dist/runtime/foundation/service-stateful-runtime.js +297 -244
  179. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +12 -7
  180. package/dist/runtime/foundation/service-stateful-wire-codec.js +240 -143
  181. package/dist/runtime/foundation/service-topology-registry.d.ts +1 -3
  182. package/dist/runtime/foundation/service-topology-registry.js +22 -61
  183. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  184. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  185. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  186. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  187. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  188. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  189. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  190. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  191. package/dist/runtime/framework-errors-internal.js +343 -122
  192. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  193. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  194. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  195. package/dist/runtime/host/actor-packet-relay.js +48 -91
  196. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  197. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  198. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  199. package/dist/runtime/host/actor-transfer-runtime.d.ts +28 -28
  200. package/dist/runtime/host/actor-transfer-runtime.js +210 -256
  201. package/dist/runtime/host/application-job-queue.js +16 -33
  202. package/dist/runtime/host/bound-session-relay.js +1 -1
  203. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  204. package/dist/runtime/host/index.d.ts +19 -14
  205. package/dist/runtime/host/index.js +234 -175
  206. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  207. package/dist/runtime/host/instance-activation-authority.js +17 -45
  208. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  209. package/dist/runtime/host/location-runtime-owner.js +2 -2
  210. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  211. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  212. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  213. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  214. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  215. package/dist/runtime/host/remote-bound-session-relay.js +11 -23
  216. package/dist/runtime/host/route-mesh-runtime.d.ts +14 -10
  217. package/dist/runtime/host/route-mesh-runtime.js +178 -257
  218. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  219. package/dist/runtime/host/runtime-shutdown.js +18 -21
  220. package/dist/runtime/host/service-relocation-control.js +6 -1
  221. package/dist/runtime/host/service-relocation-host-runtime.d.ts +71 -38
  222. package/dist/runtime/host/service-relocation-host-runtime.js +816 -651
  223. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  224. package/dist/runtime/host/spot-address-transport.js +34 -136
  225. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  226. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  227. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -7
  228. package/dist/runtime/host/spot-runtime-options-factory.js +53 -21
  229. package/dist/runtime/host/stateful-authority-route-runtime.js +6 -2
  230. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +14 -6
  231. package/dist/runtime/host/user-spot-creation-coordinator.js +96 -95
  232. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  233. package/dist/runtime/locations/authority-key-codec.js +4 -3
  234. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  235. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  236. package/dist/runtime/locations/creation-operation-id.js +6 -4
  237. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  238. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  239. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  240. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  241. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  242. package/dist/runtime/locations/in-memory-provider-location-store.js +79 -27
  243. package/dist/runtime/locations/key-codec.js +3 -2
  244. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  245. package/dist/runtime/locations/lease-tracker.js +7 -11
  246. package/dist/runtime/locations/lifecycle.d.ts +5 -10
  247. package/dist/runtime/locations/lifecycle.js +4 -33
  248. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  249. package/dist/runtime/locations/location-store-failure.js +7 -0
  250. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  251. package/dist/runtime/locations/location-store-pages.js +13 -0
  252. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  253. package/dist/runtime/locations/location-store-repository.js +303 -332
  254. package/dist/runtime/locations/relocation-blob.js +18 -5
  255. package/dist/runtime/locations/resolvers.d.ts +5 -5
  256. package/dist/runtime/locations/resolvers.js +44 -30
  257. package/dist/runtime/locations/runtime.d.ts +5 -4
  258. package/dist/runtime/locations/runtime.js +123 -92
  259. package/dist/runtime/locations/spot-location-claims.d.ts +8 -2
  260. package/dist/runtime/locations/spot-location-claims.js +40 -23
  261. package/dist/runtime/messaging/payload-codec.js +26 -20
  262. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  263. package/dist/runtime/messaging/submission-result.js +48 -0
  264. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +2 -0
  265. package/dist/runtime/protocol/service_wire_codec.generated.js +17 -8
  266. package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +1 -0
  267. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +3 -2
  268. package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +3 -3
  269. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +4 -4
  270. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +6 -3
  271. package/dist/runtime/spots/index.d.ts +29 -29
  272. package/dist/runtime/spots/index.js +441 -313
  273. package/dist/runtime/spots/spot-activation-registry.d.ts +4 -4
  274. package/dist/runtime/spots/spot-activation-registry.js +27 -60
  275. package/dist/runtime/spots/spot-activation-state.d.ts +2 -11
  276. package/dist/runtime/spots/spot-activation-state.js +4 -17
  277. package/dist/runtime/spots/spot-activation.d.ts +10 -9
  278. package/dist/runtime/spots/spot-activation.js +103 -81
  279. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  280. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  281. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  282. package/dist/runtime/spots/spot-actor-join-dispatch.js +5 -55
  283. package/dist/runtime/spots/spot-actor-lifecycle-drain.js +2 -2
  284. package/dist/runtime/spots/spot-actor-membership.d.ts +7 -5
  285. package/dist/runtime/spots/spot-actor-membership.js +44 -53
  286. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  287. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  288. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  289. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  290. package/dist/runtime/spots/spot-context.d.ts +2 -2
  291. package/dist/runtime/spots/spot-entry-activation.d.ts +3 -4
  292. package/dist/runtime/spots/spot-entry-activation.js +9 -21
  293. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  294. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  295. package/dist/runtime/spots/spot-manager-public.js +6 -5
  296. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  297. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +22 -21
  298. package/dist/runtime/spots/spot-node-runtime-manager.js +73 -82
  299. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  300. package/dist/runtime/spots/spot-outbound.js +10 -37
  301. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  302. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  303. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  304. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  305. package/dist/runtime/spots/spot-route-replies.js +3 -1
  306. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -2
  307. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -2
  308. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +2 -7
  309. package/dist/runtime/spots/spot-routed-frame-dispatch.js +1 -70
  310. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  311. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  312. package/dist/runtime/spots/spot-runtime-ports.d.ts +4 -20
  313. package/dist/runtime/spots/spot-serial-executor.d.ts +5 -0
  314. package/dist/runtime/spots/spot-serial-executor.js +9 -2
  315. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +29 -6
  316. package/dist/runtime/spots/spot-serial-turn-executor.js +89 -13
  317. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  318. package/dist/runtime/streams/actor-session-binding-registry.d.ts +17 -32
  319. package/dist/runtime/streams/actor-session-binding-registry.js +145 -367
  320. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +2 -6
  321. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  322. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  323. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  324. package/dist/runtime/streams/bound-session-service.js +12 -19
  325. package/dist/runtime/streams/index.d.ts +15 -14
  326. package/dist/runtime/streams/index.js +38 -39
  327. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  328. package/dist/runtime/streams/managed-stream.js +17 -8
  329. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  330. package/dist/runtime/streams/protocol.d.ts +6 -33
  331. package/dist/runtime/streams/protocol.js +38 -110
  332. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  333. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  334. package/dist/runtime/streams/session-calls.d.ts +1 -1
  335. package/dist/runtime/streams/session-calls.js +5 -4
  336. package/dist/runtime/streams/session-context.d.ts +6 -6
  337. package/dist/runtime/streams/session-context.js +22 -4
  338. package/dist/runtime/streams/session-requests.js +2 -1
  339. package/dist/runtime/streams/session-serial-executor.js +2 -2
  340. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  341. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  342. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  343. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  344. package/dist/runtime/workers/index.d.ts +2 -2
  345. package/dist/runtime/workers/index.js +5 -4
  346. package/package.json +3 -3
  347. package/src/contracts/Channels/IZLinkFanoutClient.ts +0 -7
  348. package/src/contracts/Common/CoreTypes.ts +7 -0
  349. package/src/contracts/Common/index.ts +1 -1
  350. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  351. package/src/contracts/Configuration/Registration.ts +92 -48
  352. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  353. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  354. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  355. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  356. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  357. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  358. package/src/contracts/Handlers/JsonContract.ts +14 -4
  359. package/src/contracts/Locations/Authority.ts +7 -3
  360. package/src/contracts/Locations/Options.ts +1 -1
  361. package/src/contracts/Locations/Stores.ts +14 -0
  362. package/src/contracts/RouteMesh/RuntimeTopology.ts +10 -0
  363. package/src/contracts/Spots/Contracts.ts +1 -1
  364. package/src/internal.ts +15 -0
  365. package/src/nest-integration.ts +28 -10
  366. package/src/runtime/abort.ts +6 -5
  367. package/src/runtime/activation-admission.ts +72 -0
  368. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  369. package/src/runtime/actors/actor-client.ts +77 -204
  370. package/src/runtime/actors/actor-context.ts +45 -39
  371. package/src/runtime/actors/actor-handoff.ts +55 -45
  372. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  373. package/src/runtime/actors/actor-local-native-join.ts +174 -215
  374. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  375. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  376. package/src/runtime/actors/actor-remote-joiner.ts +15 -36
  377. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  378. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  379. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  380. package/src/runtime/actors/actor-runtime-contracts.ts +4 -10
  381. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  382. package/src/runtime/actors/actor-source-transfer.ts +5 -18
  383. package/src/runtime/actors/bound-session-wire.ts +2 -8
  384. package/src/runtime/actors/deferred-join-completion.ts +44 -0
  385. package/src/runtime/actors/index.ts +122 -88
  386. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  387. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  388. package/src/runtime/admission.ts +13 -2
  389. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  390. package/src/runtime/backend/contracts/index.ts +15 -42
  391. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -28
  392. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  393. package/src/runtime/backend/node/node-backend-adapter-factory.ts +5 -25
  394. package/src/runtime/backend/node/node-backend-adapter-support.ts +32 -35
  395. package/src/runtime/backend/node/node-event-loop-poller.ts +16 -8
  396. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  397. package/src/runtime/backend/node/node-raw-binding-port.ts +58 -23
  398. package/src/runtime/backend/node/node-raw-mesh-backend.ts +252 -162
  399. package/src/runtime/backend/node/node-socket-backend-adapter.ts +5 -4
  400. package/src/runtime/backend/raw-binding-port.ts +14 -1
  401. package/src/runtime/backend/runtime-values.ts +4 -1
  402. package/src/runtime/channels/channel-clients.ts +132 -96
  403. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  404. package/src/runtime/channels/channel-envelope.ts +58 -29
  405. package/src/runtime/channels/channel-outbound-operations.ts +10 -31
  406. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  407. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  408. package/src/runtime/channels/channel-runtime-manager.ts +8 -15
  409. package/src/runtime/channels/channel-socket-options.ts +8 -2
  410. package/src/runtime/channels/channel-socket-registry.ts +369 -262
  411. package/src/runtime/channels/channel-transports.ts +161 -115
  412. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  413. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  414. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  415. package/src/runtime/channels/fanout-location-runtime.ts +175 -106
  416. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  417. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  418. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  419. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  420. package/src/runtime/diagnostics/flow-context.ts +16 -2
  421. package/src/runtime/diagnostics/index.ts +27 -17
  422. package/src/runtime/diagnostics/message-flow.ts +15 -25
  423. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  424. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  425. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  426. package/src/runtime/disposal.ts +19 -0
  427. package/src/runtime/execution/index.ts +116 -38
  428. package/src/runtime/execution/serial-execution-queue.ts +179 -34
  429. package/src/runtime/execution/state-lane.ts +142 -4
  430. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  431. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  432. package/src/runtime/foundation/listener-records.ts +21 -0
  433. package/src/runtime/foundation/operation-identity.ts +11 -5
  434. package/src/runtime/foundation/operation-registry.ts +33 -50
  435. package/src/runtime/foundation/raw-service-mesh-runtime.ts +170 -571
  436. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  437. package/src/runtime/foundation/service-authority-payload-codec.ts +41 -13
  438. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  439. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  440. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  441. package/src/runtime/foundation/service-maintenance-runtime.ts +30 -19
  442. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  443. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  444. package/src/runtime/foundation/service-relocation-coordinator.ts +13 -0
  445. package/src/runtime/foundation/service-relocation-object-owner.ts +23 -7
  446. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  447. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  448. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -25
  449. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  450. package/src/runtime/foundation/service-stateful-runtime.ts +435 -327
  451. package/src/runtime/foundation/service-stateful-wire-codec.ts +329 -199
  452. package/src/runtime/foundation/service-topology-registry.ts +30 -79
  453. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  454. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  455. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  456. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  457. package/src/runtime/framework-errors-internal.ts +380 -134
  458. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  459. package/src/runtime/host/actor-packet-relay.ts +57 -147
  460. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  461. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  462. package/src/runtime/host/actor-transfer-runtime.ts +266 -418
  463. package/src/runtime/host/application-job-queue.ts +28 -34
  464. package/src/runtime/host/bound-session-relay.ts +1 -2
  465. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  466. package/src/runtime/host/index.ts +408 -312
  467. package/src/runtime/host/instance-activation-authority.ts +89 -109
  468. package/src/runtime/host/location-runtime-owner.ts +4 -2
  469. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  470. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  471. package/src/runtime/host/remote-bound-session-relay.ts +12 -44
  472. package/src/runtime/host/route-mesh-runtime.ts +236 -275
  473. package/src/runtime/host/runtime-shutdown.ts +17 -21
  474. package/src/runtime/host/service-relocation-control.ts +14 -1
  475. package/src/runtime/host/service-relocation-host-runtime.ts +1161 -904
  476. package/src/runtime/host/spot-address-transport.ts +73 -195
  477. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  478. package/src/runtime/host/spot-runtime-options-factory.ts +92 -30
  479. package/src/runtime/host/stateful-authority-route-runtime.ts +8 -4
  480. package/src/runtime/host/user-spot-creation-coordinator.ts +182 -163
  481. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  482. package/src/runtime/locations/authority-key-codec.ts +7 -3
  483. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  484. package/src/runtime/locations/creation-operation-id.ts +6 -3
  485. package/src/runtime/locations/domain-store-contract.ts +12 -3
  486. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  487. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  488. package/src/runtime/locations/in-memory-provider-location-store.ts +110 -31
  489. package/src/runtime/locations/key-codec.ts +3 -2
  490. package/src/runtime/locations/lease-tracker.ts +8 -14
  491. package/src/runtime/locations/lifecycle.ts +16 -45
  492. package/src/runtime/locations/location-store-failure.ts +4 -0
  493. package/src/runtime/locations/location-store-pages.ts +18 -0
  494. package/src/runtime/locations/location-store-repository.ts +450 -478
  495. package/src/runtime/locations/relocation-blob.ts +17 -6
  496. package/src/runtime/locations/resolvers.ts +90 -58
  497. package/src/runtime/locations/runtime.ts +220 -110
  498. package/src/runtime/locations/spot-location-claims.ts +54 -26
  499. package/src/runtime/messaging/payload-codec.ts +35 -24
  500. package/src/runtime/messaging/submission-result.ts +57 -1
  501. package/src/runtime/protocol/service_wire_codec.generated.ts +27 -10
  502. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +4 -4
  503. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +6 -6
  504. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +6 -3
  505. package/src/runtime/spots/index.ts +687 -437
  506. package/src/runtime/spots/spot-activation-registry.ts +42 -71
  507. package/src/runtime/spots/spot-activation-state.ts +4 -16
  508. package/src/runtime/spots/spot-activation.ts +167 -115
  509. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  510. package/src/runtime/spots/spot-actor-join-dispatch.ts +25 -79
  511. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +20 -18
  512. package/src/runtime/spots/spot-actor-membership.ts +107 -75
  513. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  514. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  515. package/src/runtime/spots/spot-context.ts +3 -3
  516. package/src/runtime/spots/spot-entry-activation.ts +13 -33
  517. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  518. package/src/runtime/spots/spot-manager-public.ts +29 -21
  519. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  520. package/src/runtime/spots/spot-node-runtime-manager.ts +145 -140
  521. package/src/runtime/spots/spot-outbound.ts +47 -68
  522. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  523. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  524. package/src/runtime/spots/spot-route-replies.ts +6 -4
  525. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -6
  526. package/src/runtime/spots/spot-routed-frame-dispatch.ts +6 -77
  527. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  528. package/src/runtime/spots/spot-runtime-ports.ts +10 -43
  529. package/src/runtime/spots/spot-serial-executor.ts +10 -2
  530. package/src/runtime/spots/spot-serial-turn-executor.ts +120 -13
  531. package/src/runtime/spots/spot-timer.ts +3 -2
  532. package/src/runtime/streams/actor-session-binding-registry.ts +182 -560
  533. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +1 -19
  534. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  535. package/src/runtime/streams/bound-session-service.ts +23 -37
  536. package/src/runtime/streams/index.ts +102 -88
  537. package/src/runtime/streams/managed-stream.ts +29 -10
  538. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  539. package/src/runtime/streams/protocol.ts +34 -88
  540. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  541. package/src/runtime/streams/session-calls.ts +6 -5
  542. package/src/runtime/streams/session-context.ts +54 -10
  543. package/src/runtime/streams/session-requests.ts +2 -1
  544. package/src/runtime/streams/session-serial-executor.ts +2 -2
  545. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  546. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  547. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  548. package/src/runtime/workers/index.ts +13 -12
  549. package/dist/runtime/actors/deferred-join-accepted-journal.d.ts +0 -47
  550. package/dist/runtime/actors/deferred-join-accepted-journal.js +0 -992
  551. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  552. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  553. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  554. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  555. package/src/runtime/actors/deferred-join-accepted-journal.ts +0 -1346
  556. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  557. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -9,6 +9,7 @@ exports.wrapFrameworkPayloadMessage = wrapFrameworkPayloadMessage;
9
9
  exports.selectDefaultSerializer = selectDefaultSerializer;
10
10
  exports.selectSerializer = selectSerializer;
11
11
  exports.selectSerializerWithContentType = selectSerializerWithContentType;
12
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
12
13
  const framework_errors_internal_1 = require("../framework-errors-internal");
13
14
  const runtime_message_1 = require("../backend/runtime-message");
14
15
  const contracts_1 = require("../../contracts");
@@ -20,8 +21,11 @@ const Attributes_1 = require("../../contracts/Handlers/Attributes");
20
21
  const packet_name_1 = require("./packet-name");
21
22
  const CodecContentType_1 = require("../../contracts/Configuration/CodecContentType");
22
23
  const CodecSerializerSelection_1 = require("../../contracts/Configuration/CodecSerializerSelection");
24
+ const MAX_DECLARED_TYPE_SELECTIONS = 1024;
23
25
  const noSerializer = Symbol('noSerializer');
24
- const JSON_CONTENT_TYPE = 'application/json';
26
+ const JSON_CONTENT_TYPE = stream_wire_1.ZlinkStreamContentType.Json;
27
+ const frameworkJsonReceiveCodec = Symbol('frameworkJsonReceiveCodec');
28
+ const defaultReceiveCodecs = new Map([[JSON_CONTENT_TYPE, frameworkJsonReceiveCodec]]);
25
29
  // Registration maps are created during host configuration and are immutable
26
30
  // for the runtime lifetime. Compile the candidate list and reverse content
27
31
  // type lookup once per map so the message path does not allocate arrays or
@@ -36,8 +40,8 @@ function encodeFrameworkPayload(payload, registry, packetName, contractPart = 'p
36
40
  if ((0, contracts_1.isZLinkMessage)(payload)) {
37
41
  if (payload.isEncoded()) {
38
42
  return {
39
- message: rememberContentType(toRuntimeMessage(payload.toEncodedPayload()), 'application/octet-stream'),
40
- contentType: 'application/octet-stream'
43
+ message: rememberContentType(toRuntimeMessage(payload.toEncodedPayload()), stream_wire_1.ZlinkStreamContentType.Raw),
44
+ contentType: stream_wire_1.ZlinkStreamContentType.Raw
41
45
  };
42
46
  }
43
47
  declaredType = (0, ZLinkMessage_1.readZLinkMessageDeclaredType)(payload);
@@ -72,16 +76,11 @@ function decodeFrameworkTypedPayloadMessage(message, registry, type, contentType
72
76
  return decodeFrameworkPayload(message, registry, type, contentType, packetName, contractPart);
73
77
  }
74
78
  function decodeFrameworkPayload(message, registry, type, contentType, packetName, contractPart) {
75
- if (!(0, CodecContentType_1.isCanonicalCodecContentType)(contentType)) {
76
- throw unsupportedContentType(contentType);
77
- }
78
- if (contentType !== JSON_CONTENT_TYPE) {
79
- const serializer = serializerMapOf(registry)?.get(contentType);
80
- if (serializer === undefined)
81
- throw unsupportedContentType(contentType);
79
+ const codec = receiveCodecFor(contentType, registry);
80
+ if (codec !== frameworkJsonReceiveCodec) {
82
81
  if (message.isEmpty())
83
82
  return undefined;
84
- return serializer.deserialize(encodedPayloadFromOwned(message.data()), (type ?? Object));
83
+ return codec.deserialize(encodedPayloadFromOwned(message.data()), (type ?? Object));
85
84
  }
86
85
  if (message.isEmpty())
87
86
  return undefined;
@@ -96,16 +95,11 @@ function wrapFrameworkPayloadMessage(message, registry, contentType = JSON_CONTE
96
95
  return (0, ZLinkMessage_1.createZLinkMessageFromEncoded)(payload, (type) => decodeFrameworkEncodedPayload(payload, registry, type, contentType, packetName, contractPart));
97
96
  }
98
97
  function decodeFrameworkEncodedPayload(payload, registry, type, contentType, packetName, contractPart) {
99
- if (!(0, CodecContentType_1.isCanonicalCodecContentType)(contentType)) {
100
- throw unsupportedContentType(contentType);
101
- }
102
- if (contentType !== JSON_CONTENT_TYPE) {
103
- const serializer = serializerMapOf(registry)?.get(contentType);
104
- if (serializer === undefined)
105
- throw unsupportedContentType(contentType);
98
+ const codec = receiveCodecFor(contentType, registry);
99
+ if (codec !== frameworkJsonReceiveCodec) {
106
100
  if (payload.isEmpty())
107
101
  return undefined;
108
- return serializer.deserialize(payload, (type ?? Object));
102
+ return codec.deserialize(payload, (type ?? Object));
109
103
  }
110
104
  if (payload.isEmpty())
111
105
  return undefined;
@@ -117,6 +111,18 @@ function decodeFrameworkEncodedPayload(payload, registry, type, contentType, pac
117
111
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed, 'PayloadDecodeFailed: framework payload is not valid JSON.', false, error);
118
112
  }
119
113
  }
114
+ function receiveCodecFor(contentType, registry) {
115
+ if (!(0, CodecContentType_1.isCanonicalCodecContentType)(contentType)) {
116
+ throw unsupportedContentType(contentType);
117
+ }
118
+ const registeredCodec = serializerMapOf(registry)?.get(contentType);
119
+ if (registeredCodec !== undefined)
120
+ return registeredCodec;
121
+ const defaultCodec = defaultReceiveCodecs.get(contentType);
122
+ if (defaultCodec !== undefined)
123
+ return defaultCodec;
124
+ throw unsupportedContentType(contentType);
125
+ }
120
126
  function schemaForDecode(type, packetName, contractPart) {
121
127
  const contract = type === undefined ? undefined : (0, packet_name_1.readFrameworkPacketJsonContract)(type, packetName);
122
128
  return (contract ??
@@ -167,7 +173,7 @@ function serializerSelectionPlanOf(registry) {
167
173
  return cached === noSerializer ? undefined : cached;
168
174
  }
169
175
  const selected = selectSerializerFromEntries(frozenEntries, declaredType);
170
- if (cachedBusinessTypeCount < 1024) {
176
+ if (cachedBusinessTypeCount < MAX_DECLARED_TYPE_SELECTIONS) {
171
177
  outboundByBusinessType.set(declaredType, selected ?? noSerializer);
172
178
  cachedBusinessTypeCount += 1;
173
179
  }
@@ -10,6 +10,9 @@ export declare enum ZLinkSubmitStatus {
10
10
  export interface ZLinkSubmitResult {
11
11
  readonly status: ZLinkSubmitStatus;
12
12
  }
13
+ /** Projects the Core submit result once; phase only determines capacity refusal meaning. */
14
+ export declare function submitToRequestResult(result: number, phase: 'submit' | 'completion'): number;
15
+ export declare function classifySubmitResult(result: number, operation: string, phase?: 'submit' | 'completion'): ZLinkSubmitResult;
13
16
  export declare function requireOneWayCompletion(result: ZLinkSubmitResult, operation: string, notFoundKind?: ZLinkFrameworkInternalErrorKind): void;
14
17
  export declare function requirePublishCompletion(result: ZLinkSubmitResult, operation: string): void;
15
18
  export declare function throwAlreadySubmitted(operation: string): never;
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSubmitStatus = void 0;
4
+ exports.submitToRequestResult = submitToRequestResult;
5
+ exports.classifySubmitResult = classifySubmitResult;
4
6
  exports.requireOneWayCompletion = requireOneWayCompletion;
5
7
  exports.requirePublishCompletion = requirePublishCompletion;
6
8
  exports.throwAlreadySubmitted = throwAlreadySubmitted;
7
9
  const framework_errors_internal_1 = require("../framework-errors-internal");
10
+ const contracts_1 = require("../../contracts");
11
+ const runtime_values_1 = require("../backend/runtime-values");
8
12
  var ZLinkSubmitStatus;
9
13
  (function (ZLinkSubmitStatus) {
10
14
  ZLinkSubmitStatus["Submitted"] = "submitted";
@@ -14,6 +18,50 @@ var ZLinkSubmitStatus;
14
18
  ZLinkSubmitStatus["RouteNotConnected"] = "routeNotConnected";
15
19
  ZLinkSubmitStatus["Shutdown"] = "shutdown";
16
20
  })(ZLinkSubmitStatus || (exports.ZLinkSubmitStatus = ZLinkSubmitStatus = {}));
21
+ /** Projects the Core submit result once; phase only determines capacity refusal meaning. */
22
+ function submitToRequestResult(result, phase) {
23
+ switch (result) {
24
+ case runtime_values_1.SubmitResult.Ok:
25
+ return runtime_values_1.RequestResult.Ok;
26
+ case runtime_values_1.SubmitResult.Backpressured:
27
+ return phase === 'submit' ? runtime_values_1.RequestResult.NotConnected : runtime_values_1.RequestResult.TimedOut;
28
+ case runtime_values_1.SubmitResult.NotConnected:
29
+ return runtime_values_1.RequestResult.NotConnected;
30
+ case runtime_values_1.SubmitResult.NotFound:
31
+ return runtime_values_1.RequestResult.NotFound;
32
+ case runtime_values_1.SubmitResult.NotAdmitted:
33
+ return runtime_values_1.RequestResult.Rejected;
34
+ case runtime_values_1.SubmitResult.InvalidHandle:
35
+ case runtime_values_1.SubmitResult.InvalidArgument:
36
+ case runtime_values_1.SubmitResult.ThreadViolation:
37
+ return runtime_values_1.RequestResult.InvalidArgument;
38
+ case runtime_values_1.SubmitResult.InvalidState:
39
+ return runtime_values_1.RequestResult.InvalidState;
40
+ case runtime_values_1.SubmitResult.NotSupported:
41
+ return runtime_values_1.RequestResult.NotSupported;
42
+ case runtime_values_1.SubmitResult.Terminated:
43
+ return runtime_values_1.RequestResult.Terminated;
44
+ default:
45
+ return runtime_values_1.RequestResult.InternalError;
46
+ }
47
+ }
48
+ function classifySubmitResult(result, operation, phase = 'completion') {
49
+ const terminal = submitToRequestResult(result, phase);
50
+ switch (terminal) {
51
+ case runtime_values_1.RequestResult.Ok:
52
+ return { status: ZLinkSubmitStatus.Submitted };
53
+ case runtime_values_1.RequestResult.TimedOut:
54
+ return { status: ZLinkSubmitStatus.TimedOut };
55
+ case runtime_values_1.RequestResult.NotFound:
56
+ return { status: ZLinkSubmitStatus.TargetNotFound };
57
+ case runtime_values_1.RequestResult.NotConnected:
58
+ return { status: ZLinkSubmitStatus.RouteNotConnected };
59
+ case runtime_values_1.RequestResult.Terminated:
60
+ return { status: ZLinkSubmitStatus.Shutdown };
61
+ default:
62
+ throw new contracts_1.ZLinkFrameworkException((0, framework_errors_internal_1.requestResultToPublicErrorKind)(terminal), `${operation} failed with submit result ${result}.`);
63
+ }
64
+ }
17
65
  function requireOneWayCompletion(result, operation, notFoundKind = framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound) {
18
66
  switch (result.status) {
19
67
  case ZLinkSubmitStatus.Submitted:
@@ -343,6 +343,7 @@ export type SessionRelocationRouteUpdate = {
343
343
  readonly targetAuthorityOwnerGeneration: NonzeroU64;
344
344
  readonly targetNodeRid: Rid;
345
345
  readonly targetNodeGeneration: NonzeroU64;
346
+ readonly targetOwnerLeaseGeneration: NonzeroU64;
346
347
  } | {
347
348
  readonly action: "abort";
348
349
  readonly currentAuthorityOwnerGeneration: NonzeroU64;
@@ -1003,6 +1004,7 @@ export type InstanceRouteV1 = {
1003
1004
  readonly targetNodeGeneration: NonzeroU64;
1004
1005
  readonly targetSpotId: Text8;
1005
1006
  readonly authority: AuthorityGenerationFence;
1007
+ readonly instanceIntent: Bool8;
1006
1008
  } | {
1007
1009
  readonly routeKind: "coldActivation";
1008
1010
  readonly targetNodeRid: Rid;
@@ -3701,6 +3701,7 @@ function readSessionRelocationRouteUpdate(reader, context, enclosing, flags) {
3701
3701
  value["targetAuthorityOwnerGeneration"] = readNonzeroU64(body, context, value, flags);
3702
3702
  value["targetNodeRid"] = readRid(body, context, value, flags);
3703
3703
  value["targetNodeGeneration"] = readNonzeroU64(body, context, value, flags);
3704
+ value["targetOwnerLeaseGeneration"] = readNonzeroU64(body, context, value, flags);
3704
3705
  }
3705
3706
  else if (same(value["action"], "abort")) {
3706
3707
  value["currentAuthorityOwnerGeneration"] = readNonzeroU64(body, context, value, flags);
@@ -3732,9 +3733,12 @@ function writeSessionRelocationRouteUpdate(input, writer, context, enclosing, fl
3732
3733
  if (value["targetNodeGeneration"] === undefined)
3733
3734
  fail("targetNodeGeneration required");
3734
3735
  writeNonzeroU64(numeric(value["targetNodeGeneration"]), body, context, value, flags);
3736
+ if (value["targetOwnerLeaseGeneration"] === undefined)
3737
+ fail("targetOwnerLeaseGeneration required");
3738
+ writeNonzeroU64(numeric(value["targetOwnerLeaseGeneration"]), body, context, value, flags);
3735
3739
  }
3736
3740
  else if (same(value["action"], "abort")) {
3737
- if (value["previousAuthorityOwnerGeneration"] !== undefined || value["targetAuthorityOwnerGeneration"] !== undefined || value["targetNodeRid"] !== undefined || value["targetNodeGeneration"] !== undefined)
3741
+ if (value["previousAuthorityOwnerGeneration"] !== undefined || value["targetAuthorityOwnerGeneration"] !== undefined || value["targetNodeRid"] !== undefined || value["targetNodeGeneration"] !== undefined || value["targetOwnerLeaseGeneration"] !== undefined)
3738
3742
  fail("session-relocation-route-update discriminator agreement");
3739
3743
  if (value["currentAuthorityOwnerGeneration"] === undefined)
3740
3744
  fail("currentAuthorityOwnerGeneration required");
@@ -5397,7 +5401,7 @@ function readChannelEntry(reader, context, enclosing, flags) {
5397
5401
  const value = {};
5398
5402
  value["channelName"] = readText8(reader, context, value, flags);
5399
5403
  value["weight"] = readU32(reader, context, value, flags);
5400
- if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 100n)
5404
+ if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 10000n)
5401
5405
  fail("weight constraint");
5402
5406
  return value;
5403
5407
  }
@@ -5411,7 +5415,7 @@ function writeChannelEntry(input, writer, context, enclosing, flags) {
5411
5415
  writeText8(value["channelName"], writer, context, value, flags);
5412
5416
  if (value["weight"] === undefined)
5413
5417
  fail("weight required");
5414
- if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 100n)
5418
+ if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 10000n)
5415
5419
  fail("weight constraint");
5416
5420
  writeU32(value["weight"], writer, context, value, flags);
5417
5421
  }
@@ -5665,7 +5669,7 @@ function readDescriptorExtension(reader, context, enclosing, flags) {
5665
5669
  if (value["placementWeight"] !== undefined)
5666
5670
  fail("descriptor-extension duplicate");
5667
5671
  value["placementWeight"] = readU32(item, context, value, flags);
5668
- if (numeric(value["placementWeight"]) < 0n || numeric(value["placementWeight"]) > 100n)
5672
+ if (numeric(value["placementWeight"]) < 0n || numeric(value["placementWeight"]) > 10000n)
5669
5673
  fail("placementWeight constraint");
5670
5674
  item.done("placementWeight");
5671
5675
  break;
@@ -5774,7 +5778,7 @@ function writeDescriptorExtension(input, writer, context, enclosing, flags) {
5774
5778
  body.put(itemBytes);
5775
5779
  }
5776
5780
  if (value["placementWeight"] !== undefined) {
5777
- if (numeric(value["placementWeight"]) < 0n || numeric(value["placementWeight"]) > 100n)
5781
+ if (numeric(value["placementWeight"]) < 0n || numeric(value["placementWeight"]) > 10000n)
5778
5782
  fail("placementWeight constraint");
5779
5783
  const item = new Writer();
5780
5784
  writeU32(value["placementWeight"], item, context, value, flags);
@@ -5890,7 +5894,7 @@ function readClientServerAdmission(reader, context, enclosing, flags) {
5890
5894
  value["lifecycleGeneration"] = readNonzeroU64(body, context, value, flags);
5891
5895
  value["descriptorRevision"] = readNonzeroU64(body, context, value, flags);
5892
5896
  value["weight"] = readU32(body, context, value, flags);
5893
- if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 100n)
5897
+ if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 10000n)
5894
5898
  fail("weight constraint");
5895
5899
  value["runtimeState"] = readRuntimeState(body, context, value, flags);
5896
5900
  value["securityIdentity"] = readText8(body, context, value, flags);
@@ -5947,7 +5951,7 @@ function writeClientServerAdmission(input, writer, context, enclosing, flags) {
5947
5951
  writeNonzeroU64(numeric(value["descriptorRevision"]), body, context, value, flags);
5948
5952
  if (value["weight"] === undefined)
5949
5953
  fail("weight required");
5950
- if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 100n)
5954
+ if (numeric(value["weight"]) < 0n || numeric(value["weight"]) > 10000n)
5951
5955
  fail("weight constraint");
5952
5956
  writeU32(value["weight"], body, context, value, flags);
5953
5957
  if (value["runtimeState"] === undefined)
@@ -7305,6 +7309,7 @@ function readInstanceRouteV1(reader, context, enclosing, flags) {
7305
7309
  value["targetNodeGeneration"] = readNonzeroU64(body, context, value, flags);
7306
7310
  value["targetSpotId"] = readText8(body, context, value, flags);
7307
7311
  value["authority"] = readAuthorityGenerationFence(body, context, value, flags);
7312
+ value["instanceIntent"] = readBool8(body, context, value, flags);
7308
7313
  }
7309
7314
  else if (same(value["routeKind"], "coldActivation")) {
7310
7315
  value["targetNodeRid"] = readRid(body, context, value, flags);
@@ -7332,6 +7337,7 @@ function* readIncrementalInstanceRouteV1(reader, context, enclosing, flags) {
7332
7337
  value["targetNodeGeneration"] = yield* readIncrementalNonzeroU64(body, context, value, flags);
7333
7338
  value["targetSpotId"] = yield* readIncrementalText8(body, context, value, flags);
7334
7339
  value["authority"] = yield* readIncrementalAuthorityGenerationFence(body, context, value, flags);
7340
+ value["instanceIntent"] = yield* readIncrementalBool8(body, context, value, flags);
7335
7341
  }
7336
7342
  else if (same(value["routeKind"], "coldActivation")) {
7337
7343
  value["targetNodeRid"] = yield* readIncrementalRid(body, context, value, flags);
@@ -7369,9 +7375,12 @@ function writeInstanceRouteV1(input, writer, context, enclosing, flags) {
7369
7375
  if (value["authority"] === undefined)
7370
7376
  fail("authority required");
7371
7377
  writeAuthorityGenerationFence(value["authority"], body, context, value, flags);
7378
+ if (value["instanceIntent"] === undefined)
7379
+ fail("instanceIntent required");
7380
+ writeBool8(value["instanceIntent"], body, context, value, flags);
7372
7381
  }
7373
7382
  else if (same(value["routeKind"], "coldActivation")) {
7374
- if (value["authority"] !== undefined)
7383
+ if (value["authority"] !== undefined || value["instanceIntent"] !== undefined)
7375
7384
  fail("instance-route-v1 discriminator agreement");
7376
7385
  if (value["targetNodeRid"] === undefined)
7377
7386
  fail("targetNodeRid required");
@@ -200,6 +200,7 @@ export type ServiceWireSessionRouteUpdate = {
200
200
  readonly targetAuthorityOwnerGeneration: bigint;
201
201
  readonly targetNodeRid: Uint8Array;
202
202
  readonly targetNodeGeneration: bigint;
203
+ readonly targetOwnerLeaseGeneration: bigint;
203
204
  } | {
204
205
  readonly action: "abort";
205
206
  readonly currentAuthorityOwnerGeneration: bigint;
@@ -522,12 +522,13 @@ function b3ValidTerminal(result, failure, payload) { const boundary = [101, 103,
522
522
  } if (b3FailureResults.get(failure) !== result)
523
523
  throw new RangeError("typed failure"); }
524
524
  function b3WriteRoute(out, v) { out.push(v.action === "commit" ? 1 : 2); body16(out, b => { if (v.action === "commit") {
525
- if (v.previousAuthorityOwnerGeneration === 0n || v.targetAuthorityOwnerGeneration === 0n || v.targetNodeGeneration === 0n)
525
+ if (v.previousAuthorityOwnerGeneration === 0n || v.targetAuthorityOwnerGeneration === 0n || v.targetNodeGeneration === 0n || v.targetOwnerLeaseGeneration === 0n)
526
526
  throw new RangeError("route commit");
527
527
  u64(b, v.previousAuthorityOwnerGeneration);
528
528
  u64(b, v.targetAuthorityOwnerGeneration);
529
529
  rid(b, v.targetNodeRid);
530
530
  u64(b, v.targetNodeGeneration);
531
+ u64(b, v.targetOwnerLeaseGeneration);
531
532
  }
532
533
  else {
533
534
  if (v.currentAuthorityOwnerGeneration === 0n)
@@ -535,7 +536,7 @@ else {
535
536
  u64(b, v.currentAuthorityOwnerGeneration);
536
537
  } }); }
537
538
  function b3ReadRoute(bytes, at) { const action = read8(bytes, at), end = boundedEnd(bytes, at, read16(bytes, at), "session route"); let value; if (action === 1)
538
- value = { action: "commit", previousAuthorityOwnerGeneration: nonzero64(bytes, at, "previous authority"), targetAuthorityOwnerGeneration: nonzero64(bytes, at, "target authority"), targetNodeRid: readRid(bytes, at), targetNodeGeneration: nonzero64(bytes, at, "target node") };
539
+ value = { action: "commit", previousAuthorityOwnerGeneration: nonzero64(bytes, at, "previous authority"), targetAuthorityOwnerGeneration: nonzero64(bytes, at, "target authority"), targetNodeRid: readRid(bytes, at), targetNodeGeneration: nonzero64(bytes, at, "target node"), targetOwnerLeaseGeneration: nonzero64(bytes, at, "target lease") };
539
540
  else if (action === 2)
540
541
  value = { action: "abort", currentAuthorityOwnerGeneration: nonzero64(bytes, at, "current authority") };
541
542
  else
@@ -1,6 +1,6 @@
1
1
  import type { ActorRef, RoutingId, ZLinkActor, ZLinkActorJoinOperationId } from '../../contracts';
2
2
  import type { ZLinkRemoteBoundSessionTarget } from '../actors/actor-runtime-state';
3
- import type { ZLinkDeferredJoinAcceptedRoot } from '../actors/deferred-join-accepted-journal';
3
+ import type { ZLinkDeferredJoinCompletion } from '../actors/deferred-join-completion';
4
4
  import type { ZLinkActorRequestTerminal } from './spot-actor-packet-dispatch';
5
5
  /**
6
6
  * One production-ingress arrival parked at the target between admission
@@ -40,7 +40,7 @@ export interface ZLinkFormalRemoteActorAdmissionOutcome {
40
40
  readonly actorRef: ActorRef;
41
41
  readonly reply?: Buffer;
42
42
  readonly replyContentType?: string;
43
- readonly deferredJoinRoot?: ZLinkDeferredJoinAcceptedRoot;
43
+ readonly deferredJoinCompletion?: ZLinkDeferredJoinCompletion;
44
44
  }
45
45
  export interface ZLinkFormalRemoteActorAdmissionFailure {
46
46
  readonly error: unknown;
@@ -111,7 +111,7 @@ export declare class ZLinkFormalRemoteActorAdmissionRegistry {
111
111
  complete(transferId: string, outcome: ZLinkFormalRemoteActorAdmissionOutcome): void;
112
112
  fail(transferId: string, error: unknown): void;
113
113
  markCommitted(transferId: string, actor: ZLinkActor): void;
114
- attachDeferredJoinRoot(transferId: string, root: ZLinkDeferredJoinAcceptedRoot): void;
114
+ attachDeferredJoinCompletion(transferId: string, root: ZLinkDeferredJoinCompletion): void;
115
115
  abort(transferId: string): void;
116
116
  /**
117
117
  * Releases the admission for {@code transferId} — normal retention
@@ -161,9 +161,9 @@ class ZLinkFormalRemoteActorAdmissionRegistry {
161
161
  ...(outcome.replyContentType === undefined
162
162
  ? {}
163
163
  : { replyContentType: outcome.replyContentType }),
164
- ...(outcome.deferredJoinRoot === undefined
164
+ ...(outcome.deferredJoinCompletion === undefined
165
165
  ? {}
166
- : { deferredJoinRoot: outcome.deferredJoinRoot })
166
+ : { deferredJoinCompletion: outcome.deferredJoinCompletion })
167
167
  };
168
168
  entry.resolveResult(entry.result);
169
169
  if (!outcome.accepted) {
@@ -192,7 +192,7 @@ class ZLinkFormalRemoteActorAdmissionRegistry {
192
192
  entry.state = 'committed';
193
193
  entry.actor = actor;
194
194
  }
195
- attachDeferredJoinRoot(transferId, root) {
195
+ attachDeferredJoinCompletion(transferId, root) {
196
196
  const entry = this.admissions.get(transferId);
197
197
  if (entry === undefined ||
198
198
  entry.state !== 'admitted' ||
@@ -201,7 +201,7 @@ class ZLinkFormalRemoteActorAdmissionRegistry {
201
201
  !entry.result.accepted) {
202
202
  throw new Error(`Remote actor admission '${transferId}' cannot attach deferred recovery.`);
203
203
  }
204
- entry.result = { ...entry.result, deferredJoinRoot: root };
204
+ entry.result = { ...entry.result, deferredJoinCompletion: root };
205
205
  }
206
206
  abort(transferId) {
207
207
  const entry = this.admissions.get(transferId);
@@ -1,12 +1,14 @@
1
1
  import type { RoutingId, ZLinkActor } from '../../contracts';
2
- import type { ZLinkDeferredJoinAcceptedRoot } from '../actors';
2
+ import type { ZLinkDeferredJoinCompletion, ZLinkRemoteBoundSessionTarget } from '../actors';
3
3
  import type { ZLinkActorHandoffPacket } from '../actors/actor-handoff';
4
4
  export interface ZLinkFormalRemoteActorTransfer {
5
5
  readonly actor: ZLinkActor;
6
6
  readonly spotId: RoutingId;
7
7
  readonly transferId: string;
8
8
  readonly handoffBacklog: readonly ZLinkActorHandoffPacket[];
9
- readonly deferredJoinRoot?: ZLinkDeferredJoinAcceptedRoot;
9
+ readonly deferredJoinCompletion?: ZLinkDeferredJoinCompletion;
10
+ /** The Session seal this relocation carries until it publishes command 44. */
11
+ readonly sealedSession?: ZLinkRemoteBoundSessionTarget;
10
12
  readonly targetLifecycleCompleted: Promise<void>;
11
13
  readonly sourceLeaveSubmitted: Promise<boolean>;
12
14
  }
@@ -23,7 +25,8 @@ export declare class ZLinkFormalRemoteActorTransferRegistry {
23
25
  readonly spotId: RoutingId;
24
26
  readonly transferId: string;
25
27
  readonly handoffBacklog: readonly ZLinkActorHandoffPacket[];
26
- readonly deferredJoinRoot?: ZLinkDeferredJoinAcceptedRoot;
28
+ readonly deferredJoinCompletion?: ZLinkDeferredJoinCompletion;
29
+ readonly sealedSession?: ZLinkRemoteBoundSessionTarget;
27
30
  }): ZLinkFormalRemoteActorTransfer;
28
31
  delete(actorId: string): void;
29
32
  completeTargetLifecycle(actorId: string, transferId: string): boolean;
@@ -8,13 +8,13 @@ export { ZLinkSpotActorAdmissionCoordinator } from './spot-actor-admission-coord
8
8
  import type { ZLinkSpotRouteResolver, ZLinkSpotRouteTarget } from './spot-routing-internal';
9
9
  import type { Message } from '../../contracts/Common/Message';
10
10
  import type { ZLinkMessageFollowOrigin } from '../foundation/service-runtime-contracts';
11
- import { ZLinkMessage } from '../../contracts';
11
+ import { ZLinkMessage, ZLinkFrameworkRuntimeState } from '../../contracts';
12
12
  import { type ZLinkRuntimeEventPublisher } from '../diagnostics';
13
13
  import { type ReadyRecord, type ReceiveRecord } from '../foundation/service-runtime-contracts';
14
14
  import type { ZLinkBackendSpot, ZLinkBackendSpotNode } from '../backend/contracts';
15
15
  import { ZLinkDispatchErrorReporter } from '../channels';
16
16
  import { ZLinkWorkerRuntime } from '../workers';
17
- import { type ZLinkDeferredJoinAcceptedRoot, type ZLinkRemoteBoundSessionTarget } from '../actors';
17
+ import { type ZLinkRemoteBoundSessionTarget } from '../actors';
18
18
  import type { ZLinkLocationLifecycle } from '../locations';
19
19
  import { type ZLinkActorHandoffPacket } from '../actors/actor-handoff';
20
20
  import type { CanonicalActorJoinRecovery } from '../foundation/actor-join-recovery-codec';
@@ -25,11 +25,11 @@ export { DefaultZLinkSpotOutbound, type ZLinkSpotAddressCallOptions, type ZLinkS
25
25
  import { type ZLinkSpotRoutedTransport } from './spot-outbound';
26
26
  export { DefaultZLinkSpotHandlerRegistry, type ZLinkSpotHandlerRegistration } from './spot-handler-registry';
27
27
  export { ZLinkRuntimeSpotPublisherTransport } from './spot-publisher-transport';
28
- import { type ZLinkSpotActivation } from './spot-activation-state';
28
+ import type { ZLinkSpotActivation } from './spot-activation-state';
29
29
  import { type ZLinkNativeSpotAuthority } from './spot-activation';
30
- import { type ZLinkActorJoinRollback } from './spot-actor-membership';
31
30
  import type { ZLinkSpotActorHandoffRuntime, ZLinkSpotActorTransferRuntime, ZLinkSpotBoundSessionRuntime } from './spot-runtime-ports';
32
31
  import type { ZLinkRuntimeAdmissionGate } from '../admission';
32
+ import type { ZLinkActivationAdmission } from '../activation-admission';
33
33
  import type { ZLinkDetachedTaskRunner } from './spot-actor-join-dispatch';
34
34
  import type { ZLinkLocalSpotCreateResult } from './spot-manager-internal-contracts';
35
35
  export type { ZLinkLocalSpotCreateResult } from './spot-manager-internal-contracts';
@@ -61,6 +61,7 @@ export interface ZLinkSpotManagerOptions {
61
61
  * stateful reply has committed Core membership.
62
62
  */
63
63
  readonly dispatchEntryActorJoin?: (meshName: string, actor: ZLinkActor, handoffBacklog?: readonly ZLinkActorHandoffPacket[]) => Promise<void>;
64
+ readonly executeEntryActor?: <T>(meshName: string, actorId: string, operation: () => Promise<T>) => Promise<T>;
64
65
  readonly actorCountProvider?: (spotId: RoutingId) => number;
65
66
  readonly userSpotExecutionMode?: (meshName: string, spotType: Type<ZLinkSpot>) => import('../../contracts').ZLinkUserSpotExecutionMode;
66
67
  readonly userSpotRelocationCoordinationMode?: (meshName: string, spotType: Type<ZLinkSpot>) => import('../../contracts').ZLinkSpotRelocationCoordinationMode;
@@ -68,7 +69,6 @@ export interface ZLinkSpotManagerOptions {
68
69
  readonly actorRef?: ActorRef;
69
70
  readonly spotId?: RoutingId;
70
71
  };
71
- readonly actorBindingGenerationObserver?: (actorId: string, generation: bigint) => void;
72
72
  readonly channelClient?: ZLinkChannelClient;
73
73
  readonly fanoutClient?: ZLinkFanoutClient;
74
74
  readonly spotPublisherClient?: ZLinkSpotPublisherClient;
@@ -76,27 +76,24 @@ export interface ZLinkSpotManagerOptions {
76
76
  readonly routedTransport?: ZLinkSpotRoutedTransport;
77
77
  readonly addressTransport?: import('./spot-outbound').ZLinkSpotAddressTransport;
78
78
  readonly spotRouterChannelIdForMesh?: (meshName: string) => string;
79
- readonly channelMeshNameForChannel?: (channelName: string) => string | undefined;
80
79
  readonly providerResolver?: ZLinkProviderResolver;
81
80
  readonly dispatchErrors?: ZLinkDispatchErrorReporter;
81
+ readonly closeErrorSink?: import('../diagnostics/dispatch-error-port').ZLinkDispatchErrorSink;
82
82
  readonly runtimeEventPublisher?: ZLinkRuntimeEventPublisher;
83
83
  readonly workerRuntime?: ZLinkWorkerRuntime;
84
84
  readonly messageSerializers?: ReadonlyMap<string, ZLinkMessageSerializer>;
85
85
  readonly locationLifecycle?: ZLinkLocationLifecycle;
86
86
  readonly releaseInstanceAuthority?: (meshName: string, spotId: RoutingId, objectGeneration: bigint) => Promise<void>;
87
- readonly beginInstanceIdleClosingAuthority?: (meshName: string, spotId: RoutingId) => Promise<{
88
- restoreReady(): Promise<void>;
89
- } | undefined>;
90
- readonly beginInstanceClosingAuthority?: (meshName: string, spotId: RoutingId) => Promise<{
91
- restoreReady(): Promise<void>;
92
- } | undefined>;
87
+ readonly beginInstanceIdleClosingAuthority?: (meshName: string, spotId: RoutingId, onCommitted: () => void) => Promise<import('../locations/spot-location-claims').ZLinkInstanceClosingAuthority | undefined>;
88
+ readonly beginInstanceClosingAuthority?: (meshName: string, spotId: RoutingId, onCommitted: () => void, objectGeneration: bigint) => Promise<import('../locations/spot-location-claims').ZLinkInstanceClosingAuthority | undefined>;
89
+ /** Moves a local User Spot incarnation's authority to Closing for a context Close. */
90
+ readonly beginUserClosingAuthority?: (meshName: string, spotId: RoutingId, objectGeneration: bigint, onCommitted: () => void) => Promise<import('../locations/spot-location-claims').ZLinkInstanceClosingAuthority | undefined>;
93
91
  readonly instanceSpotApplicationTargetProvider?: (meshName: string, spotId: RoutingId) => {
94
92
  readonly stableType: string;
95
93
  readonly objectGeneration: bigint;
96
94
  } | undefined;
97
95
  readonly instanceSpotApplicationQuiescenceProvider?: (meshName: string, spotId: RoutingId, signal?: AbortSignal) => Promise<void>;
98
96
  readonly createNativeSpot?: (meshName: string, spotId: RoutingId, authority?: ZLinkNativeSpotAuthority) => ZLinkBackendSpot | undefined;
99
- readonly createReceived?: () => import('../backend').ZLinkBackendReceived;
100
97
  readonly createTopicMessage?: () => import('../backend').ZLinkBackendTopicMessage;
101
98
  readonly nativeSpotNodeProvider?: (meshName: string) => ZLinkBackendSpotNode | undefined;
102
99
  readonly actorResolver?: (actorId: string) => ZLinkActor | undefined;
@@ -111,15 +108,17 @@ export interface ZLinkSpotManagerOptions {
111
108
  readonly actorType: string;
112
109
  }>;
113
110
  readonly actorLifecycleResolver?: (actorId: string) => ZLinkActor | undefined;
114
- readonly detachedTaskRunner?: ZLinkDetachedTaskRunner;
111
+ readonly detachedTaskRunner: ZLinkDetachedTaskRunner;
115
112
  readonly actorTransferRuntime?: ZLinkSpotActorTransferRuntime;
116
113
  readonly boundSessionRuntime?: ZLinkSpotBoundSessionRuntime;
117
114
  readonly actorHandoffRuntime?: ZLinkSpotActorHandoffRuntime;
118
115
  readonly metrics?: import('../diagnostics').ZLinkRuntimeMetrics;
119
116
  readonly admission?: ZLinkRuntimeAdmissionGate;
120
- readonly statefulExecutionAllowed?: () => boolean;
121
- readonly activationConcurrencyLimitProvider?: (meshName: string) => number;
122
- readonly onInstanceActivationConcurrencyChanged?: (meshName: string) => void;
117
+ readonly statefulExecution?: {
118
+ readonly admissionOpen: () => boolean;
119
+ readonly hostState: () => ZLinkFrameworkRuntimeState;
120
+ };
121
+ readonly activationAdmission?: ZLinkActivationAdmission;
123
122
  }
124
123
  export declare class DefaultZLinkSpotManager {
125
124
  private readonly options;
@@ -134,8 +133,7 @@ export declare class DefaultZLinkSpotManager {
134
133
  private readonly formalRemoteActorAdmissions;
135
134
  private readonly pendingInstanceMaterializations;
136
135
  private readonly pendingInstanceMaterializationsByPrefix;
137
- private readonly instanceActivationGates;
138
- private readonly pendingInstanceCloses;
136
+ private readonly closeOperations;
139
137
  private readonly pendingInstanceTerminals;
140
138
  private readonly pendingInstanceTerminalGenerations;
141
139
  private readonly deferredInstanceAuthorityReleases;
@@ -145,10 +143,6 @@ export declare class DefaultZLinkSpotManager {
145
143
  entrySpotIdForMesh(meshName: string): string | undefined;
146
144
  relocationActivations(meshName: string): readonly ZLinkSpotActivation[];
147
145
  activeSpotCount(meshName: string): number;
148
- instanceActivationConcurrency(meshName: string): {
149
- readonly active: number;
150
- readonly limit: number;
151
- };
152
146
  resolveRelocationActivation(meshName: string, spotId: RoutingId): ZLinkSpotActivation | undefined;
153
147
  prepareRelocationSpot(meshName: string, objectKind: 'user_spot' | 'instance_spot', stableType: string, implementation: Type<ZLinkSpot | ZLinkInstanceSpot>, spotId: RoutingId, objectGeneration: bigint, authorityOwnerGeneration: bigint, signal?: AbortSignal): Promise<ZLinkSpotActivation>;
154
148
  publishRelocationSpot(activation: ZLinkSpotActivation, beforeAdmission?: () => Promise<void>): Promise<void>;
@@ -156,11 +150,11 @@ export declare class DefaultZLinkSpotManager {
156
150
  completeRelocationSource(activation: ZLinkSpotActivation): Promise<void>;
157
151
  materializeInstance(meshName: string, instanceType: string, spotId: RoutingId, objectGeneration: bigint, signal?: AbortSignal): Promise<void>;
158
152
  private materializeInstanceCore;
159
- private acquireInstanceActivation;
160
- private releaseInstanceActivation;
161
153
  isInstanceMaterialized(meshName: string, instanceType: string, spotId: RoutingId): boolean;
154
+ private resolveApplicationActivation;
162
155
  isInstanceMaterializing(meshName: string, spotId: RoutingId): boolean;
163
- isInstanceClosing(meshName: string, spotId: RoutingId): boolean;
156
+ isSpotClosing(meshName: string, spotId: RoutingId): boolean;
157
+ pendingSpotCloseDecision(meshName: string, spotId: RoutingId): Promise<void> | undefined;
164
158
  discardInstance(meshName: string, spotId: RoutingId): Promise<void>;
165
159
  isInstanceSpotIdleEvicting(meshName: string, spotId: RoutingId): boolean;
166
160
  beginInstanceSpotIdleEviction(meshName: string, spotId: RoutingId): boolean;
@@ -185,15 +179,18 @@ export declare class DefaultZLinkSpotManager {
185
179
  list(meshName: string): Promise<readonly ZLinkSpotInfo[]>;
186
180
  drainForShutdown(meshName: string, signal?: AbortSignal, deadline?: Date): Promise<void>;
187
181
  close(meshName: string, spotId: RoutingId, signal?: AbortSignal): Promise<boolean>;
182
+ closeUserWithAuthority(meshName: string, spotId: RoutingId, beginAuthority: (onCommitted: () => void) => Promise<import('../locations/spot-location-claims').ZLinkInstanceClosingAuthority>, signal?: AbortSignal): Promise<boolean>;
183
+ private closeFromContext;
188
184
  private closeWithReason;
185
+ private runCloseOperation;
186
+ private beginCloseAuthority;
189
187
  executeOnSpot<TSpot extends ZLinkSpot, TResult>(spotType: Type<TSpot>, spotId: RoutingId, operation: (spot: TSpot) => Promise<TResult> | TResult, signal?: AbortSignal): Promise<TResult>;
190
188
  hasActiveSpot(spotId: RoutingId): boolean;
191
- canCloseUserSpot(meshName: string, spotId: RoutingId): boolean;
192
189
  beginUserSpotPublication(meshName: string, spotId: RoutingId): void;
193
190
  publishUserSpot(meshName: string, spotId: RoutingId): void;
194
191
  abortUserSpotPublication(meshName: string, spotId: RoutingId): void;
195
192
  resolveLocalSpotRoute(spotId: RoutingId): ZLinkSpotRouteTarget | undefined;
196
- admitActorJoin(spotId: RoutingId, actor: ZLinkActor, request: Message, commit: (spot: ZLinkSpot) => Promise<ZLinkActorJoinRollback | void> | ZLinkActorJoinRollback | void, signal?: AbortSignal, leaveSource?: () => Promise<void>, contentType?: string): Promise<ZLinkSpotActorJoinResult>;
193
+ admitActorJoin(spotId: RoutingId, actor: ZLinkActor, request: Message, commit: (spot: ZLinkSpot) => Promise<void> | void, signal?: AbortSignal, leaveSource?: () => Promise<void>, contentType?: string): Promise<ZLinkSpotActorJoinResult>;
197
194
  leaveActor(spotId: RoutingId, actor: ZLinkActor, signal?: AbortSignal): Promise<void>;
198
195
  leaveActorInMesh(meshName: string, spotId: RoutingId, actor: ZLinkActor, signal?: AbortSignal): Promise<void>;
199
196
  notifyActorLeftAfterTransfer(spotId: RoutingId, actor: ZLinkActor, signal?: AbortSignal): Promise<void>;
@@ -221,13 +218,16 @@ export declare class DefaultZLinkSpotManager {
221
218
  dispatchMeshSpot(meshName: string, owner: ReadyRecord, record: ReceiveRecord): Promise<void>;
222
219
  private ensureInstanceApplicationActivation;
223
220
  dispatchMeshInstance(meshName: string, owner: ReadyRecord, record: ReceiveRecord): Promise<void>;
221
+ private reportInstanceDispatchFailure;
224
222
  private traceInstanceMessage;
225
223
  dispatchMeshActor(meshName: string, owner: ReadyRecord, record: ReceiveRecord): Promise<void>;
226
224
  dispatchMeshActorJoin(meshName: string, owner: ReadyRecord, record: ReceiveRecord): Promise<void>;
225
+ private dispatchMeshActorJoinCore;
227
226
  dispatchMeshSpotControl(meshName: string, owner: ReadyRecord, record: ReceiveRecord): Promise<void>;
227
+ private dispatchMeshSpotControlCore;
228
228
  completeFormalSourceLeaveTerminal(actorId: string, transferId: string, succeeded: boolean): Promise<boolean>;
229
229
  finalizeActorJoinRelocation(meshName: string, relocationId: string, actor: ZLinkActor, actorRef: ActorRef, submitSourceLeave: (sourceNodeRid: RoutingId) => Promise<void>, signal?: AbortSignal): Promise<boolean>;
230
- restoreCanonicalActorJoinRecovery(recovery: CanonicalActorJoinRecovery, signal?: AbortSignal, canonicalInventoryDigest?: string): Promise<ZLinkDeferredJoinAcceptedRoot | undefined>;
230
+ restoreCanonicalActorJoinRecovery(recovery: CanonicalActorJoinRecovery, signal?: AbortSignal): Promise<void>;
231
231
  private encodeMeshActorReply;
232
232
  private createActivation;
233
233
  private requireRegisteredFactory;