@zlink-systems/framework 0.26.0 → 0.28.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 (561) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Actors/ZLinkActorClient.d.ts +1 -1
  3. package/dist/contracts/Channels/Calls.d.ts +1 -1
  4. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  5. package/dist/contracts/Common/CoreTypes.js +7 -0
  6. package/dist/contracts/Common/index.d.ts +1 -1
  7. package/dist/contracts/Common/index.js +0 -1
  8. package/dist/contracts/Configuration/Builders.d.ts +0 -1
  9. package/dist/contracts/Configuration/Configs.d.ts +0 -1
  10. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  11. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  12. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  13. package/dist/contracts/Configuration/Registration.js +58 -36
  14. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  15. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  16. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  17. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  18. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -5
  19. package/dist/contracts/Configuration/RegistrationValidators.js +15 -14
  20. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  21. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  22. package/dist/contracts/Handlers/JsonContract.js +10 -4
  23. package/dist/contracts/Locations/Authority.d.ts +1 -1
  24. package/dist/contracts/Locations/Authority.js +3 -2
  25. package/dist/contracts/Locations/Options.js +1 -1
  26. package/dist/contracts/Locations/Stores.d.ts +12 -0
  27. package/dist/contracts/Locations/Stores.js +9 -0
  28. package/dist/contracts/Spots/Contracts.d.ts +2 -2
  29. package/dist/contracts/Streams/BoundSessionContracts.d.ts +1 -1
  30. package/dist/contracts/Streams/IZLinkSession.d.ts +2 -3
  31. package/dist/contracts/Streams/IZLinkSessionActor.d.ts +2 -2
  32. package/dist/internal.d.ts +4 -0
  33. package/dist/internal.js +15 -1
  34. package/dist/nest-integration.d.ts +4 -2
  35. package/dist/nest-integration.js +14 -4
  36. package/dist/runtime/abort.d.ts +1 -0
  37. package/dist/runtime/abort.js +8 -5
  38. package/dist/runtime/activation-admission.d.ts +1 -2
  39. package/dist/runtime/activation-admission.js +2 -6
  40. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  41. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  42. package/dist/runtime/actors/actor-client.d.ts +2 -2
  43. package/dist/runtime/actors/actor-client.js +49 -153
  44. package/dist/runtime/actors/actor-context.d.ts +3 -5
  45. package/dist/runtime/actors/actor-context.js +13 -11
  46. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  47. package/dist/runtime/actors/actor-handoff.js +8 -8
  48. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  49. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  50. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  51. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  52. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  53. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  54. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  55. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  56. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  57. package/dist/runtime/actors/actor-request-deadline.d.ts +1 -0
  58. package/dist/runtime/actors/actor-request-deadline.js +6 -0
  59. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  60. package/dist/runtime/actors/actor-routed-join-transport.d.ts +2 -3
  61. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  62. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  63. package/dist/runtime/actors/bound-session-wire.js +2 -7
  64. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  65. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  66. package/dist/runtime/actors/index.d.ts +9 -7
  67. package/dist/runtime/actors/index.js +87 -69
  68. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  69. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  70. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  71. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  72. package/dist/runtime/admission.d.ts +2 -0
  73. package/dist/runtime/admission.js +7 -1
  74. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  75. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  76. package/dist/runtime/backend/contracts/index.d.ts +7 -27
  77. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  78. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  79. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  80. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -1
  81. package/dist/runtime/backend/node/node-backend-adapter-support.js +51 -10
  82. package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +1 -1
  83. package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +1 -2
  84. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  85. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  86. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  87. package/dist/runtime/backend/node/node-raw-binding-port.js +41 -34
  88. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  89. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  90. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  91. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  92. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  93. package/dist/runtime/backend/runtime-values.js +2 -0
  94. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  95. package/dist/runtime/channels/channel-clients.js +73 -59
  96. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  97. package/dist/runtime/channels/channel-envelope.d.ts +1 -1
  98. package/dist/runtime/channels/channel-envelope.js +51 -39
  99. package/dist/runtime/channels/channel-outbound-operations.d.ts +5 -2
  100. package/dist/runtime/channels/channel-outbound-operations.js +25 -42
  101. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  102. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  103. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  104. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  105. package/dist/runtime/channels/channel-runtime-manager.d.ts +4 -4
  106. package/dist/runtime/channels/channel-runtime-manager.js +13 -10
  107. package/dist/runtime/channels/channel-socket-options.js +3 -12
  108. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  109. package/dist/runtime/channels/channel-socket-registry.js +240 -177
  110. package/dist/runtime/channels/channel-transports.d.ts +21 -31
  111. package/dist/runtime/channels/channel-transports.js +80 -62
  112. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  113. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  114. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  115. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  116. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  117. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  118. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  119. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  120. package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
  121. package/dist/runtime/channels/local-spot-route-transport.js +1 -3
  122. package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +1 -1
  123. package/dist/runtime/channels/router-socket-spot-route-transport.js +2 -2
  124. package/dist/runtime/channels/source-spot-router.d.ts +1 -1
  125. package/dist/runtime/channels/source-spot-router.js +2 -4
  126. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  127. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  128. package/dist/runtime/channels/spot-node-route-transport.d.ts +1 -1
  129. package/dist/runtime/channels/spot-node-route-transport.js +5 -5
  130. package/dist/runtime/channels/spot-route-bridge-transport.d.ts +1 -1
  131. package/dist/runtime/channels/spot-route-bridge-transport.js +2 -2
  132. package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +2 -4
  133. package/dist/runtime/channels/spot-route-dispatch-strategy.js +11 -12
  134. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  135. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  136. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  137. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  138. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  139. package/dist/runtime/diagnostics/flow-context.js +16 -2
  140. package/dist/runtime/diagnostics/index.d.ts +4 -2
  141. package/dist/runtime/diagnostics/index.js +14 -4
  142. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  143. package/dist/runtime/diagnostics/message-flow.js +10 -19
  144. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  145. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  146. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  147. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  148. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  149. package/dist/runtime/disposal.d.ts +5 -0
  150. package/dist/runtime/disposal.js +22 -0
  151. package/dist/runtime/execution/index.d.ts +12 -9
  152. package/dist/runtime/execution/index.js +58 -14
  153. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  154. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  155. package/dist/runtime/execution/state-lane.d.ts +8 -1
  156. package/dist/runtime/execution/state-lane.js +118 -3
  157. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  158. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  159. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  160. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  161. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  162. package/dist/runtime/foundation/operation-identity.js +9 -5
  163. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  164. package/dist/runtime/foundation/operation-registry.js +34 -44
  165. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  166. package/dist/runtime/foundation/raw-service-mesh-runtime.js +79 -94
  167. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  168. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  169. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  170. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  171. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  172. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  173. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  174. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  175. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  176. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  177. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  178. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  179. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  180. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  181. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  182. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  183. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  184. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  185. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  186. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  187. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  188. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  189. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  190. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  191. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  192. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  193. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  194. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  195. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  196. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  197. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  198. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  199. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  200. package/dist/runtime/framework-errors-internal.js +343 -122
  201. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  202. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  203. package/dist/runtime/host/actor-packet-relay.d.ts +11 -8
  204. package/dist/runtime/host/actor-packet-relay.js +54 -99
  205. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  206. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  207. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  208. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  209. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  210. package/dist/runtime/host/application-job-queue.js +16 -33
  211. package/dist/runtime/host/bound-session-relay.js +1 -1
  212. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  213. package/dist/runtime/host/index.d.ts +14 -13
  214. package/dist/runtime/host/index.js +190 -171
  215. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  216. package/dist/runtime/host/instance-activation-authority.js +17 -45
  217. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  218. package/dist/runtime/host/location-runtime-owner.js +2 -2
  219. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  220. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  221. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  222. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  223. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  224. package/dist/runtime/host/remote-bound-session-relay.js +15 -28
  225. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  226. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  227. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  228. package/dist/runtime/host/runtime-shutdown.js +18 -21
  229. package/dist/runtime/host/service-relocation-control.js +6 -1
  230. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  231. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  232. package/dist/runtime/host/spot-address-transport.d.ts +3 -12
  233. package/dist/runtime/host/spot-address-transport.js +78 -220
  234. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  235. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  236. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  237. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  238. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  239. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  240. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  241. package/dist/runtime/locations/authority-key-codec.js +4 -3
  242. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  243. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  244. package/dist/runtime/locations/creation-operation-id.js +6 -4
  245. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  246. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  247. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  248. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  249. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  250. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  251. package/dist/runtime/locations/key-codec.js +3 -2
  252. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  253. package/dist/runtime/locations/lease-tracker.js +7 -11
  254. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  255. package/dist/runtime/locations/lifecycle.js +2 -31
  256. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  257. package/dist/runtime/locations/location-store-failure.js +7 -0
  258. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  259. package/dist/runtime/locations/location-store-pages.js +13 -0
  260. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  261. package/dist/runtime/locations/location-store-repository.js +309 -336
  262. package/dist/runtime/locations/relocation-blob.js +18 -5
  263. package/dist/runtime/locations/resolvers.d.ts +5 -5
  264. package/dist/runtime/locations/resolvers.js +37 -28
  265. package/dist/runtime/locations/runtime.d.ts +5 -4
  266. package/dist/runtime/locations/runtime.js +123 -92
  267. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  268. package/dist/runtime/locations/spot-location-claims.js +42 -1
  269. package/dist/runtime/messaging/payload-codec.js +26 -20
  270. package/dist/runtime/messaging/request-deadline.d.ts +3 -0
  271. package/dist/runtime/messaging/request-deadline.js +39 -0
  272. package/dist/runtime/messaging/submission-result.d.ts +4 -0
  273. package/dist/runtime/messaging/submission-result.js +56 -1
  274. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  275. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  276. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  277. package/dist/runtime/spots/index.d.ts +14 -20
  278. package/dist/runtime/spots/index.js +302 -176
  279. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  280. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  281. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  282. package/dist/runtime/spots/spot-activation-state.js +2 -2
  283. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  284. package/dist/runtime/spots/spot-activation.js +49 -32
  285. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  286. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  287. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  288. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  289. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  290. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  291. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  292. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  293. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  294. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  295. package/dist/runtime/spots/spot-context.d.ts +2 -2
  296. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  297. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  298. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  299. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  300. package/dist/runtime/spots/spot-manager-public.js +5 -4
  301. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  302. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  303. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  304. package/dist/runtime/spots/spot-outbound.d.ts +7 -8
  305. package/dist/runtime/spots/spot-outbound.js +21 -23
  306. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  307. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  308. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  309. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  310. package/dist/runtime/spots/spot-route-replies.js +3 -1
  311. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  312. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  313. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  314. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  315. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  316. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  317. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  318. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  319. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  320. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  321. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  322. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  323. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  324. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  325. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +8 -4
  326. package/dist/runtime/streams/bound-actor-relay-sender.js +65 -41
  327. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  328. package/dist/runtime/streams/bound-session-service.js +12 -2
  329. package/dist/runtime/streams/index.d.ts +16 -17
  330. package/dist/runtime/streams/index.js +22 -23
  331. package/dist/runtime/streams/managed-stream.d.ts +5 -2
  332. package/dist/runtime/streams/managed-stream.js +20 -13
  333. package/dist/runtime/streams/native-fallback-bound-session.js +14 -19
  334. package/dist/runtime/streams/protocol.d.ts +6 -33
  335. package/dist/runtime/streams/protocol.js +38 -110
  336. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  337. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  338. package/dist/runtime/streams/session-calls.d.ts +6 -8
  339. package/dist/runtime/streams/session-calls.js +6 -22
  340. package/dist/runtime/streams/session-context.d.ts +10 -10
  341. package/dist/runtime/streams/session-context.js +25 -10
  342. package/dist/runtime/streams/session-requests.js +2 -1
  343. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  344. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  345. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  346. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  347. package/dist/runtime/workers/index.d.ts +2 -2
  348. package/dist/runtime/workers/index.js +5 -4
  349. package/package.json +3 -3
  350. package/src/contracts/Actors/ZLinkActorClient.ts +1 -1
  351. package/src/contracts/Channels/Calls.ts +1 -1
  352. package/src/contracts/Common/CoreTypes.ts +7 -0
  353. package/src/contracts/Common/index.ts +1 -1
  354. package/src/contracts/Configuration/Builders.ts +0 -1
  355. package/src/contracts/Configuration/Configs.ts +0 -1
  356. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  357. package/src/contracts/Configuration/Registration.ts +92 -48
  358. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  359. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -71
  360. package/src/contracts/Configuration/RegistrationTypes.ts +1 -5
  361. package/src/contracts/Configuration/RegistrationValidators.ts +19 -17
  362. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  363. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  364. package/src/contracts/Handlers/JsonContract.ts +14 -4
  365. package/src/contracts/Locations/Authority.ts +7 -3
  366. package/src/contracts/Locations/Options.ts +1 -1
  367. package/src/contracts/Locations/Stores.ts +14 -0
  368. package/src/contracts/Spots/Contracts.ts +2 -2
  369. package/src/contracts/Streams/BoundSessionContracts.ts +1 -1
  370. package/src/contracts/Streams/IZLinkSession.ts +2 -3
  371. package/src/contracts/Streams/IZLinkSessionActor.ts +2 -6
  372. package/src/internal.ts +14 -0
  373. package/src/nest-integration.ts +28 -10
  374. package/src/runtime/abort.ts +6 -5
  375. package/src/runtime/activation-admission.ts +2 -8
  376. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  377. package/src/runtime/actors/actor-client.ts +85 -218
  378. package/src/runtime/actors/actor-context.ts +39 -33
  379. package/src/runtime/actors/actor-handoff.ts +24 -22
  380. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  381. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  382. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  383. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  384. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  385. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  386. package/src/runtime/actors/actor-request-deadline.ts +4 -0
  387. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  388. package/src/runtime/actors/actor-routed-join-transport.ts +3 -5
  389. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  390. package/src/runtime/actors/bound-session-wire.ts +2 -8
  391. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  392. package/src/runtime/actors/index.ts +100 -79
  393. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  394. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  395. package/src/runtime/admission.ts +8 -1
  396. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  397. package/src/runtime/backend/contracts/index.ts +14 -37
  398. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  399. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  400. package/src/runtime/backend/node/node-backend-adapter-support.ts +67 -10
  401. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +0 -2
  402. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  403. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  404. package/src/runtime/backend/node/node-raw-binding-port.ts +44 -49
  405. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  406. package/src/runtime/backend/node/node-socket-backend-adapter.ts +4 -3
  407. package/src/runtime/backend/raw-binding-port.ts +1 -1
  408. package/src/runtime/backend/runtime-values.ts +4 -1
  409. package/src/runtime/channels/channel-clients.ts +139 -102
  410. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  411. package/src/runtime/channels/channel-envelope.ts +74 -57
  412. package/src/runtime/channels/channel-outbound-operations.ts +40 -55
  413. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  414. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  415. package/src/runtime/channels/channel-runtime-manager.ts +12 -30
  416. package/src/runtime/channels/channel-socket-options.ts +8 -15
  417. package/src/runtime/channels/channel-socket-registry.ts +291 -196
  418. package/src/runtime/channels/channel-transports.ts +168 -145
  419. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  420. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  421. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  422. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  423. package/src/runtime/channels/local-spot-route-transport.ts +1 -5
  424. package/src/runtime/channels/router-socket-spot-route-transport.ts +2 -6
  425. package/src/runtime/channels/source-spot-router.ts +2 -9
  426. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  427. package/src/runtime/channels/spot-node-route-transport.ts +7 -9
  428. package/src/runtime/channels/spot-route-bridge-transport.ts +5 -12
  429. package/src/runtime/channels/spot-route-dispatch-strategy.ts +11 -30
  430. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  431. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  432. package/src/runtime/diagnostics/flow-context.ts +16 -2
  433. package/src/runtime/diagnostics/index.ts +27 -17
  434. package/src/runtime/diagnostics/message-flow.ts +15 -25
  435. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  436. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  437. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  438. package/src/runtime/disposal.ts +19 -0
  439. package/src/runtime/execution/index.ts +60 -20
  440. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  441. package/src/runtime/execution/state-lane.ts +142 -4
  442. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  443. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  444. package/src/runtime/foundation/operation-identity.ts +11 -5
  445. package/src/runtime/foundation/operation-registry.ts +33 -50
  446. package/src/runtime/foundation/raw-service-mesh-runtime.ts +127 -125
  447. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  448. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  449. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  450. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  451. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  452. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  453. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  454. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  455. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  456. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  457. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  458. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  459. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  460. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  461. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  462. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  463. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  464. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  465. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  466. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  467. package/src/runtime/framework-errors-internal.ts +380 -134
  468. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  469. package/src/runtime/host/actor-packet-relay.ts +63 -160
  470. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  471. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  472. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  473. package/src/runtime/host/application-job-queue.ts +28 -34
  474. package/src/runtime/host/bound-session-relay.ts +1 -2
  475. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  476. package/src/runtime/host/index.ts +327 -320
  477. package/src/runtime/host/instance-activation-authority.ts +89 -109
  478. package/src/runtime/host/location-runtime-owner.ts +4 -2
  479. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  480. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  481. package/src/runtime/host/remote-bound-session-relay.ts +16 -57
  482. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  483. package/src/runtime/host/runtime-shutdown.ts +17 -21
  484. package/src/runtime/host/service-relocation-control.ts +14 -1
  485. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  486. package/src/runtime/host/spot-address-transport.ts +175 -356
  487. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  488. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  489. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  490. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  491. package/src/runtime/locations/authority-key-codec.ts +7 -3
  492. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  493. package/src/runtime/locations/creation-operation-id.ts +6 -3
  494. package/src/runtime/locations/domain-store-contract.ts +12 -3
  495. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  496. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  497. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  498. package/src/runtime/locations/key-codec.ts +3 -2
  499. package/src/runtime/locations/lease-tracker.ts +8 -14
  500. package/src/runtime/locations/lifecycle.ts +13 -43
  501. package/src/runtime/locations/location-store-failure.ts +4 -0
  502. package/src/runtime/locations/location-store-pages.ts +18 -0
  503. package/src/runtime/locations/location-store-repository.ts +457 -482
  504. package/src/runtime/locations/relocation-blob.ts +17 -6
  505. package/src/runtime/locations/resolvers.ts +75 -49
  506. package/src/runtime/locations/runtime.ts +220 -110
  507. package/src/runtime/locations/spot-location-claims.ts +58 -1
  508. package/src/runtime/messaging/payload-codec.ts +35 -24
  509. package/src/runtime/messaging/request-deadline.ts +58 -0
  510. package/src/runtime/messaging/submission-result.ts +72 -2
  511. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  512. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  513. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  514. package/src/runtime/spots/index.ts +433 -229
  515. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  516. package/src/runtime/spots/spot-activation-state.ts +2 -2
  517. package/src/runtime/spots/spot-activation.ts +67 -37
  518. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  519. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  520. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  521. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  522. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  523. package/src/runtime/spots/spot-context.ts +3 -3
  524. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  525. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  526. package/src/runtime/spots/spot-manager-public.ts +21 -17
  527. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  528. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  529. package/src/runtime/spots/spot-outbound.ts +59 -47
  530. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  531. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  532. package/src/runtime/spots/spot-route-replies.ts +6 -4
  533. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  534. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  535. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  536. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  537. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  538. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  539. package/src/runtime/spots/spot-timer.ts +3 -2
  540. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  541. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  542. package/src/runtime/streams/bound-actor-relay-sender.ts +98 -66
  543. package/src/runtime/streams/bound-session-service.ts +22 -2
  544. package/src/runtime/streams/index.ts +78 -68
  545. package/src/runtime/streams/managed-stream.ts +32 -23
  546. package/src/runtime/streams/native-fallback-bound-session.ts +14 -28
  547. package/src/runtime/streams/protocol.ts +34 -88
  548. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  549. package/src/runtime/streams/session-calls.ts +11 -36
  550. package/src/runtime/streams/session-context.ts +60 -25
  551. package/src/runtime/streams/session-requests.ts +2 -1
  552. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  553. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  554. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  555. package/src/runtime/workers/index.ts +13 -12
  556. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  557. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  558. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  559. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  560. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  561. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -1,9 +1,30 @@
1
- import type { Message } from '../../contracts/Common/Message';
2
- import type { RequestResult, SubmitResult, ZLinkBackendMessageLike as MessageLike } from '../backend/runtime-values';
3
1
  import type { RoutingId } from '../../contracts';
2
+ import type { Message } from '../../contracts/Common/Message';
4
3
  import type { ApplicationJobPermitPort } from '../application-jobs/contracts';
4
+ import type { ZLinkBackendMessageLike as MessageLike, RequestResult, SubmitResult } from '../backend/runtime-values';
5
5
  import type { ServiceActorRef } from './service-stateful-registry';
6
6
  import type { ServiceDirectSpotRouteFence, ServiceRetiredBoundSessionRouteFence } from './service-stateful-wire-codec';
7
+ export declare enum StreamSessionRuntimeState {
8
+ Created = 1,
9
+ Started = 2,
10
+ Closed = 5
11
+ }
12
+ export declare enum MeshNodeRuntimeState {
13
+ Preparing = 1,
14
+ Serving = 2,
15
+ Retiring = 3,
16
+ Draining = 4,
17
+ Stopped = 5,
18
+ Error = 6
19
+ }
20
+ export declare enum MeshPeerRuntimeState {
21
+ Connecting = 1,
22
+ Preparing = 2,
23
+ Serving = 3,
24
+ Draining = 4,
25
+ Closed = 5,
26
+ NotRequired = 6
27
+ }
7
28
  export interface MeshOperationId {
8
29
  readonly high: bigint;
9
30
  readonly low: bigint;
@@ -142,6 +163,17 @@ export interface ActorTransferControlPayload {
142
163
  readonly resultCode: number;
143
164
  readonly failureErrno: number;
144
165
  }
166
+ /** The Session owner's registry view of one Session binding (Session–Actor binding §5-2). */
167
+ export interface ServiceStreamSessionBinding {
168
+ readonly sessionRid: RoutingId;
169
+ readonly actor: ServiceActorRef;
170
+ readonly sessionOwnerNodeRid: RoutingId;
171
+ readonly sessionOwnerNodeGeneration: bigint;
172
+ readonly sessionOwnerId: string;
173
+ readonly sessionOwnerLeaseGeneration: bigint;
174
+ readonly bindingGeneration: bigint;
175
+ readonly membershipEpoch: bigint;
176
+ }
145
177
  export interface ActorBindingControlPayload {
146
178
  readonly kind: 'actorBinding';
147
179
  readonly transition: 'active' | 'tombstone';
@@ -199,8 +231,13 @@ export interface ReceiveRecord {
199
231
  readonly isPending?: () => boolean;
200
232
  /** Absolute deadline used by the local lifecycle dispatch fence. */
201
233
  readonly deadlineUnixMs?: bigint;
234
+ readonly activationRecord?: Extract<import('./service-stateful-wire-codec').ServiceStatefulWireRecord, {
235
+ readonly kind: 'instanceSpot';
236
+ }>;
202
237
  readonly messageFollowOrigin?: ZLinkMessageFollowOrigin;
203
238
  readonly onTerminalCompletion?: () => void | Promise<void>;
239
+ /** Marks the start of the first handler turn whose terminal record a Close waits for. */
240
+ readonly onHandlerTurnStarted?: () => void;
204
241
  readonly applicationJobPermit?: ApplicationJobPermitPort;
205
242
  readonly releaseRetainedIngress?: () => void;
206
243
  reply(parts: MessageLike | readonly MessageLike[], flags?: number): SubmitResult;
@@ -279,12 +316,7 @@ export interface StreamSessionService {
279
316
  lookupActor(targetNodeRid: RoutingId, actorId: string, timeoutMs?: number): MeshOperationId;
280
317
  bindActor(sessionRid: RoutingId, actor: ServiceActorRef, timeoutMs?: number, onBindingReplaced?: (actorId: string, retiredSession: ServiceRetiredBoundSessionRouteFence, actor: ServiceActorRef) => void, actorAuthority?: StreamSessionActorAuthorityFence): MeshOperationId;
281
318
  unbindActor(sessionRid: RoutingId, actor: ServiceActorRef, expectedBindingGeneration: bigint, timeoutMs?: number): MeshOperationId;
282
- bindings(sessionRid: RoutingId): ReadonlyArray<{
283
- readonly sessionRid: RoutingId;
284
- readonly actor: ServiceActorRef;
285
- readonly bindingGeneration: bigint;
286
- readonly membershipEpoch: bigint;
287
- }>;
319
+ bindings(sessionRid: RoutingId): ReadonlyArray<ServiceStreamSessionBinding>;
288
320
  sendToActor(sessionRid: RoutingId, actor: ServiceActorRef, parts: MessageLike | readonly MessageLike[], options?: {
289
321
  flags?: number;
290
322
  }): Promise<SubmitResult>;
@@ -1,7 +1,31 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActorTransferPhase = exports.ActorTransferRole = exports.ActorLifecycleKind = exports.OperationKind = exports.ReceiveKind = exports.ReadyOwnerKind = exports.ReadyDomain = void 0;
3
+ exports.ActorTransferPhase = exports.ActorTransferRole = exports.ActorLifecycleKind = exports.OperationKind = exports.ReceiveKind = exports.ReadyOwnerKind = exports.ReadyDomain = exports.MeshPeerRuntimeState = exports.MeshNodeRuntimeState = exports.StreamSessionRuntimeState = void 0;
4
4
  exports.operationRequiresReply = operationRequiresReply;
5
+ var StreamSessionRuntimeState;
6
+ (function (StreamSessionRuntimeState) {
7
+ StreamSessionRuntimeState[StreamSessionRuntimeState["Created"] = 1] = "Created";
8
+ StreamSessionRuntimeState[StreamSessionRuntimeState["Started"] = 2] = "Started";
9
+ StreamSessionRuntimeState[StreamSessionRuntimeState["Closed"] = 5] = "Closed";
10
+ })(StreamSessionRuntimeState || (exports.StreamSessionRuntimeState = StreamSessionRuntimeState = {}));
11
+ var MeshNodeRuntimeState;
12
+ (function (MeshNodeRuntimeState) {
13
+ MeshNodeRuntimeState[MeshNodeRuntimeState["Preparing"] = 1] = "Preparing";
14
+ MeshNodeRuntimeState[MeshNodeRuntimeState["Serving"] = 2] = "Serving";
15
+ MeshNodeRuntimeState[MeshNodeRuntimeState["Retiring"] = 3] = "Retiring";
16
+ MeshNodeRuntimeState[MeshNodeRuntimeState["Draining"] = 4] = "Draining";
17
+ MeshNodeRuntimeState[MeshNodeRuntimeState["Stopped"] = 5] = "Stopped";
18
+ MeshNodeRuntimeState[MeshNodeRuntimeState["Error"] = 6] = "Error";
19
+ })(MeshNodeRuntimeState || (exports.MeshNodeRuntimeState = MeshNodeRuntimeState = {}));
20
+ var MeshPeerRuntimeState;
21
+ (function (MeshPeerRuntimeState) {
22
+ MeshPeerRuntimeState[MeshPeerRuntimeState["Connecting"] = 1] = "Connecting";
23
+ MeshPeerRuntimeState[MeshPeerRuntimeState["Preparing"] = 2] = "Preparing";
24
+ MeshPeerRuntimeState[MeshPeerRuntimeState["Serving"] = 3] = "Serving";
25
+ MeshPeerRuntimeState[MeshPeerRuntimeState["Draining"] = 4] = "Draining";
26
+ MeshPeerRuntimeState[MeshPeerRuntimeState["Closed"] = 5] = "Closed";
27
+ MeshPeerRuntimeState[MeshPeerRuntimeState["NotRequired"] = 6] = "NotRequired";
28
+ })(MeshPeerRuntimeState || (exports.MeshPeerRuntimeState = MeshPeerRuntimeState = {}));
5
29
  exports.ReadyDomain = Object.freeze({
6
30
  None: 0,
7
31
  Application: 1,
@@ -1,17 +1,5 @@
1
- export interface ServiceSessionBindingRetainedDelivery {
2
- deliver(): Promise<boolean>;
3
- fail(error: unknown): void;
4
- }
5
- export type ServiceSessionBindingAdmissionResult = 'passThrough' | 'retained' | 'rejected';
6
1
  export interface ServiceSessionBindingIngressPort {
7
2
  actorSlot(actorId: string, sessionRid: string): Promise<number | undefined>;
8
- /**
9
- * Holds a current-binding push while its relocation seal is open
10
- * (Session–Actor binding §8.1). The caller has already decided that the push
11
- * names the current binding.
12
- */
13
- retainOutbound(actorId: string, delivery: ServiceSessionBindingRetainedDelivery): Promise<ServiceSessionBindingAdmissionResult>;
14
- clearOutbound(actorId: string, error: unknown): Promise<void>;
15
3
  }
16
4
  export declare function registerServiceSessionBindingIngressPort(service: object, port: ServiceSessionBindingIngressPort): void;
17
5
  export declare function serviceSessionBindingIngressPortIfRegistered(service: object): ServiceSessionBindingIngressPort | undefined;
@@ -137,6 +137,8 @@ export declare class ServiceTerminalOperationRegistry<T> {
137
137
  fail(id: bigint, error: unknown): boolean;
138
138
  cancel(id: bigint): boolean;
139
139
  isPending(id: bigint): boolean;
140
+ get size(): number;
141
+ expire(nowMs: number, turnDeadlineMs: number): number;
140
142
  close(): void;
141
143
  }
142
144
  export {};
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ServiceTerminalOperationRegistry = exports.ServiceStatefulRegistry = exports.ServiceStaleGenerationError = void 0;
4
+ const CoreTypes_1 = require("../../contracts/Common/CoreTypes");
4
5
  const operation_registry_1 = require("./operation-registry");
5
6
  class ServiceStaleGenerationError extends Error {
6
7
  objectKind;
@@ -184,6 +185,7 @@ class ServiceStatefulRegistry {
184
185
  this.actorGenerations.set(actor.actorId, max(this.actorGenerations.get(actor.actorId) ?? 0n, actor.generation));
185
186
  this.actorTypes.set(actor.actorId, stableType);
186
187
  this.actors.set(actor.actorId, restored);
188
+ this.updateBindingMembership(restored);
187
189
  return restored;
188
190
  }
189
191
  actor(actorId) {
@@ -443,6 +445,12 @@ class ServiceTerminalOperationRegistry {
443
445
  isPending(id) {
444
446
  return this.operations.isPending(id);
445
447
  }
448
+ get size() {
449
+ return this.operations.size;
450
+ }
451
+ expire(nowMs, turnDeadlineMs) {
452
+ return this.operations.expire(nowMs, turnDeadlineMs);
453
+ }
446
454
  close() {
447
455
  this.operations.close('Stateful runtime closed.');
448
456
  }
@@ -453,8 +461,8 @@ function actorKey(actor) {
453
461
  }
454
462
  function requireText(value, name) {
455
463
  const bytes = Buffer.byteLength(value);
456
- if (bytes < 1 || bytes > 255 || value.includes('\0')) {
457
- throw new RangeError(`${name} must be 1..255 UTF-8 bytes without NUL.`);
464
+ if (bytes < 1 || bytes > CoreTypes_1.ZLINK_MAX_IDENTITY_TEXT_BYTES || value.includes('\0')) {
465
+ throw new RangeError(`${name} must be 1..${CoreTypes_1.ZLINK_MAX_IDENTITY_TEXT_BYTES} UTF-8 bytes without NUL.`);
458
466
  }
459
467
  }
460
468
  function requirePositive(value, name) {
@@ -1,13 +1,12 @@
1
+ import type { ZLinkAuthoritySnapshot } from '../locations/internal-location-contracts';
1
2
  import type { ZLinkDispatchErrorReporter } from '../channels/dispatch-error-reporter';
2
3
  import type { RawServiceMeshRuntime } from './raw-service-mesh-runtime';
3
- import { type ReceiveKindData, type StreamSessionActorAuthorityFence } from './service-runtime-contracts';
4
+ import type { ServiceInstanceActivationRecoveryEnvelope } from './service-instance-activation-recovery-codec';
4
5
  import type { ServiceMailboxRecord } from './service-mailbox';
6
+ import { type ReceiveKindData, type ServiceStreamSessionBinding, type StreamSessionActorAuthorityFence } from './service-runtime-contracts';
5
7
  import { ServiceStatefulRegistry, type ServiceActorRef, type ServiceActorState, type ServiceSessionBinding, type ServiceSpotRef, type ServiceSpotState } from './service-stateful-registry';
6
- import { type ServiceActorRouteFence, type ServiceRetiredBoundSessionRouteFence, type ServiceActorCreateRecord, type ServiceInstanceActivationTarget, type ServiceInstanceRouteFence, type ServiceDirectSpotRouteFence, type ServiceStatefulReplyTail, type ServiceUserSpotCloseRecord, type ServiceUserSpotCreateRecord } from './service-stateful-wire-codec';
8
+ import { type ServiceActorCreateRecord, type ServiceActorRouteFence, type ServiceDirectSpotRouteFence, type ServiceInstanceActivationTarget, type ServiceInstanceRouteFence, type ServiceRetiredBoundSessionRouteFence, type ServiceStatefulReplyTail, type ServiceStatefulWireRecord, type ServiceUserSpotCloseRecord, type ServiceUserSpotCreateRecord } from './service-stateful-wire-codec';
7
9
  import { type ServiceApplicationPayload } from './service-wire-m6a-codec';
8
- import type { ServiceInstanceActivationRecoveryEnvelope } from './service-instance-activation-recovery-codec';
9
- import type { ServiceSessionBindingIngressPort } from './service-session-binding-ingress-port';
10
- import { ZLinkFrameworkRuntimeState } from '../../contracts/Locations';
11
10
  export interface ServiceSpotMessageFollowSeal {
12
11
  readonly key: string;
13
12
  readonly serial: bigint;
@@ -46,7 +45,11 @@ export interface ServiceStatefulMailboxData {
46
45
  readonly isPending?: () => boolean;
47
46
  /** Carries the local operation deadline into the lifecycle dispatch lane. */
48
47
  readonly deadlineUnixMs?: bigint;
48
+ readonly activationRecord?: Extract<ServiceStatefulWireRecord, {
49
+ readonly kind: 'instanceSpot';
50
+ }>;
49
51
  readonly onTerminalCompletion?: () => void | Promise<void>;
52
+ readonly onHandlerTurnStarted?: () => void;
50
53
  /** Decoded only by the canonical command-28 generator path. */
51
54
  readonly canonicalApplicationPayload?: ServiceApplicationPayload;
52
55
  readonly reply?: (terminalResult: number, failureCode: number, payload?: ServiceApplicationPayload, tail?: ServiceStatefulReplyTail) => boolean;
@@ -66,9 +69,8 @@ export interface ServiceCanonicalActorJoinCandidate {
66
69
  }
67
70
  export interface ServiceSessionDelivery {
68
71
  readonly binding: ServiceSessionBinding;
69
- readonly bindingIngress?: ServiceSessionBindingIngressPort;
70
72
  /**
71
- * Delivers the retained M6A application frame after the binding fence has
73
+ * Delivers the M6A application frame after the binding fence has
72
74
  * been validated. The stream adapter owns multipart decoding at that point.
73
75
  */
74
76
  readonly deliver: (sessionRid: string, payloadFrame: Uint8Array) => Promise<boolean>;
@@ -87,7 +89,6 @@ export type ServiceInstanceApplicationTarget = ServiceInstanceApplicationIdentit
87
89
  export interface ServiceInstanceApplicationLifecycle {
88
90
  isMaterialized(target: ServiceInstanceApplicationIdentity): boolean;
89
91
  isMaterializing?(target: ServiceInstanceApplicationIdentity): boolean;
90
- isClosing?(target: ServiceInstanceApplicationIdentity): boolean;
91
92
  isIdleEvicting?(target: ServiceInstanceApplicationIdentity): boolean;
92
93
  beginIdleEviction?(target: ServiceInstanceApplicationIdentity): boolean;
93
94
  materialize(target: ServiceInstanceApplicationIdentity, objectGeneration: bigint): Promise<void>;
@@ -115,9 +116,11 @@ export type ServiceInstanceAuthorityRead = {
115
116
  readonly kind: 'creating';
116
117
  readonly objectGeneration: bigint;
117
118
  readonly authorityOwnerGeneration: bigint;
119
+ readonly authority?: ZLinkAuthoritySnapshot;
118
120
  } | {
119
121
  readonly kind: 'ready';
120
122
  readonly route: ServiceInstanceRouteFence;
123
+ readonly authority?: ZLinkAuthoritySnapshot;
121
124
  };
122
125
  export type ServiceInstanceAuthorityReserve = {
123
126
  readonly kind: 'reserved';
@@ -149,9 +152,9 @@ export interface ServiceInstanceActivationAuthority {
149
152
  */
150
153
  export interface ServiceAsyncInstanceActivationAuthority {
151
154
  read(target: ServiceInstanceActivationTarget): Promise<ServiceInstanceAuthorityRead>;
152
- reserve(activation: Omit<ServiceInstanceActivationRecoveryEnvelope, 'targetMeshName'>): Promise<ServiceInstanceAuthorityReserve>;
155
+ reserve(activation: Omit<ServiceInstanceActivationRecoveryEnvelope, 'targetMeshName'>, signal?: AbortSignal): Promise<ServiceInstanceAuthorityReserve>;
153
156
  resume(target: ServiceInstanceActivationTarget, pending: ServicePendingInstanceActivation): Promise<ServiceInstanceActivationReservation>;
154
- commit(target: ServiceInstanceActivationTarget, reservation: ServiceInstanceActivationReservation, spot: ServiceSpotState): Promise<{
157
+ commit(target: ServiceInstanceActivationTarget, reservation: ServiceInstanceActivationReservation, spot: ServiceSpotState, deadlineUnixMs?: bigint): Promise<{
155
158
  readonly kind: 'committed' | 'lost';
156
159
  readonly route: ServiceInstanceRouteFence;
157
160
  }>;
@@ -197,7 +200,6 @@ export declare class ServiceStatefulRuntime {
197
200
  private readonly subscriptions;
198
201
  private readonly instanceIntents;
199
202
  private readonly admittedInstanceOperations;
200
- private readonly pendingInstanceTerminals;
201
203
  private readonly pendingInstanceAuthorityTerminals;
202
204
  private readonly instanceApplicationWaiters;
203
205
  private readonly canonicalActorJoinHandoffs;
@@ -219,17 +221,11 @@ export declare class ServiceStatefulRuntime {
219
221
  private messageFollowHandler?;
220
222
  private mailboxDropHandler?;
221
223
  private dispatchErrors?;
222
- private spotAdmissionProvider?;
223
224
  private dispatchErrorMeshName?;
224
225
  private readonly admittedUserSpotOperations;
225
226
  private readonly pendingInstanceActivations;
226
227
  private closed;
227
- constructor(raw: RawServiceMeshRuntime, nodeRid: string, nodeGeneration: bigint);
228
- setSpotAdmissionProvider(provider: {
229
- readonly isClosing: (spotId: string) => boolean;
230
- readonly runtimeState: () => ZLinkFrameworkRuntimeState;
231
- readonly awaitCloseDecision?: (spotId: string) => Promise<void> | undefined;
232
- }): void;
228
+ constructor(raw: RawServiceMeshRuntime, nodeRid: string, nodeGeneration: bigint, onPendingOperationsChanged?: () => void);
233
229
  setMailboxDropHandler(handler: (record: {
234
230
  readonly kind: 'spot_multicast' | 'actor_control' | 'actor_binding';
235
231
  readonly owner: string;
@@ -265,6 +261,7 @@ export declare class ServiceStatefulRuntime {
265
261
  private finishRecoveredInstanceActivation;
266
262
  recoverPendingInstanceActivation(envelope: ServiceInstanceActivationRecoveryEnvelope, pending: ServicePendingInstanceActivation, expectedCurrentRoute?: ServiceInstanceRouteFence | null): Promise<boolean>;
267
263
  completeRecoveredInstanceActivation(target: ServiceInstanceActivationTarget, route: ServiceInstanceRouteFence, expectedCurrentRoute?: ServiceInstanceRouteFence | null): Promise<ServiceInstanceRouteFence | undefined>;
264
+ /** Resolves once every first terminal record of an activated Instance message is durable. */
268
265
  waitForInstanceApplicationQuiescence(spotId: string, signal?: AbortSignal): Promise<void>;
269
266
  rememberActorRoute(route: ServiceActorRouteFence): void;
270
267
  rememberSpotRoute(route: ServiceDirectSpotRouteFence, expectedCurrentRoute?: ServiceDirectSpotRouteFence | null): void;
@@ -289,10 +286,10 @@ export declare class ServiceStatefulRuntime {
289
286
  readonly sessionRid: string;
290
287
  readonly bindingGeneration: bigint;
291
288
  }): ServiceStatefulPendingOperation;
292
- sendToInstanceSpot(route: ServiceInstanceRouteFence, payload: ServiceApplicationPayload, sourceSpotId?: string, metadataFrame?: Uint8Array): Promise<number>;
289
+ sendToInstanceSpot(route: ServiceInstanceRouteFence, payload: ServiceApplicationPayload, sourceSpotId?: string, metadataFrame?: Uint8Array, instanceIntent?: boolean): Promise<number>;
293
290
  sendToMissingInstanceSpot(target: ServiceInstanceActivationTarget, payload: ServiceApplicationPayload, deadlineUnixMs: bigint, sourceSpotId?: string, metadataFrame?: Uint8Array): Promise<number>;
294
291
  sendToMissingInstanceSpotFrame(target: ServiceInstanceActivationTarget, payloadFrame: Buffer, deadlineUnixMs: bigint, sourceSpotId?: string, metadataFrame?: Uint8Array): Promise<number>;
295
- requestToInstanceSpot(route: ServiceInstanceRouteFence, payload: ServiceApplicationPayload, timeoutMs: number, sourceSpotId?: string, metadataFrame?: Uint8Array): ServiceStatefulPendingOperation;
292
+ requestToInstanceSpot(route: ServiceInstanceRouteFence, payload: ServiceApplicationPayload, timeoutMs: number, sourceSpotId?: string, metadataFrame?: Uint8Array, instanceIntent?: boolean): ServiceStatefulPendingOperation;
296
293
  requestToMissingInstanceSpot(target: ServiceInstanceActivationTarget, payload: ServiceApplicationPayload, timeoutMs: number, sourceSpotId?: string, metadataFrame?: Uint8Array): ServiceStatefulPendingOperation;
297
294
  requestToMissingInstanceSpotFrame(target: ServiceInstanceActivationTarget, payloadFrame: Buffer, deadlineUnixMs: bigint, sourceSpotId?: string, metadataFrame?: Uint8Array): ServiceStatefulPendingOperation;
298
295
  lookupRemoteActor(targetNodeRid: string, actorId: string, timeoutMs: number): ServiceStatefulPendingOperation;
@@ -302,12 +299,14 @@ export declare class ServiceStatefulRuntime {
302
299
  joinActorEntrySpot(actor: ServiceActorRef, targetNodeRid: string, payload: ServiceApplicationPayload | undefined, timeoutMs: number): ServiceStatefulPendingOperation;
303
300
  joinActorEntrySpotCanonical(actor: ServiceActorRef, targetNodeRid: string, request: ServiceApplicationPayload, actorFence: ServiceCanonicalActorJoinCandidate['actorFence'], local: ServiceCanonicalActorJoinCandidate['local'], timeoutMs: number): ServiceStatefulPendingOperation;
304
301
  leaveActor(actor: ServiceActorRef, expectedMembershipEpoch: bigint, timeoutMs: number): ServiceStatefulPendingOperation;
305
- bindSession(sessionRid: string, actor: ServiceActorRef, timeoutMs: number, deliver: ServiceSessionDelivery['deliver'], onBindingReplaced?: ServiceSessionDelivery['onBindingReplaced'], bindingIngress?: ServiceSessionBindingIngressPort, actorAuthority?: StreamSessionActorAuthorityFence): ServiceStatefulPendingOperation;
302
+ bindSession(sessionRid: string, actor: ServiceActorRef, timeoutMs: number, deliver: ServiceSessionDelivery['deliver'], onBindingReplaced?: ServiceSessionDelivery['onBindingReplaced'], actorAuthority?: StreamSessionActorAuthorityFence): ServiceStatefulPendingOperation;
306
303
  unbindSession(sessionRid: string, actor: ServiceActorRef, expectedBindingGeneration: bigint, timeoutMs: number): ServiceStatefulPendingOperation;
307
- sessionBindings(sessionRid: string): readonly ServiceSessionBinding[];
304
+ sessionBindings(sessionRid: string): readonly ServiceStreamSessionBinding[];
308
305
  allSessionBindings(): readonly ServiceSessionBinding[];
309
306
  sendSessionToActor(sessionRid: string, actor: ServiceActorRef, payload: ServiceApplicationPayload): Promise<number>;
310
307
  sendBoundSession(actor: ServiceActorRef, expectedBindingGeneration: bigint, payload: ServiceApplicationPayload): Promise<number>;
308
+ expireOperations(nowMs: number, turnDeadlineMs: number): number;
309
+ get pendingOperationCount(): number;
311
310
  close(): void;
312
311
  private ingress;
313
312
  private handleIngress;
@@ -316,12 +315,15 @@ export declare class ServiceStatefulRuntime {
316
315
  private enqueueActivatedInstanceSpot;
317
316
  private continueMissingInstanceActivation;
318
317
  private continueReadyInstanceMaterialization;
318
+ /**
319
+ * Spot messaging §4 step 12 with §7 step 1: a Close waits for the first terminal
320
+ * record only of a message whose handler turn started before it; a message queued
321
+ * behind that Close is not counted, so it cannot hold the Close it follows.
322
+ */
319
323
  private activationTerminalCompletion;
320
324
  private instanceApplicationTerminalCompletion;
321
325
  private instanceApplicationTarget;
322
- private beginInstanceApplicationOperation;
323
326
  private beginInstanceAuthorityOperation;
324
- private completeInstanceApplicationOperation;
325
327
  private completeInstanceAuthorityOperation;
326
328
  private completeInstanceApplicationWaitersIfQuiescent;
327
329
  private relayMissingInstanceActivation;
@@ -377,7 +379,6 @@ export declare class ServiceStatefulRuntime {
377
379
  private validateActorMessageFence;
378
380
  private validateSpotFence;
379
381
  private validateDirectSpotFence;
380
- private requireDirectSpotAdmission;
381
382
  private holdOrRelaySpotMessage;
382
383
  private restoreSpotMessageFollowRecord;
383
384
  private drainSpotMessageFollow;