@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
@@ -99,9 +99,8 @@ class ZLinkNativeFallbackBoundSessionSendCall {
99
99
  async executeScoped(packetName, signal) {
100
100
  const localActor = this.options.localActorProvider?.() === true;
101
101
  const remoteTarget = this.options.remoteBoundSessionTargetProvider();
102
- const sealedRemoteTarget = remoteTarget?.relocationSealId !== undefined;
103
102
  let nativeAttempted = false;
104
- if (localActor && !sealedRemoteTarget) {
103
+ if (localActor) {
105
104
  const result = await this.options.runtime.submitLocalBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata, signal);
106
105
  if (result.status !== submission_result_1.ZLinkSubmitStatus.TargetNotFound) {
107
106
  this.traceSubmitted(result, packetName);
@@ -136,7 +135,6 @@ class ZLinkNativeFallbackBoundSessionSendCall {
136
135
  actorNodeRidHex: actorRef?.nodeRid?.toHex?.(),
137
136
  actorGeneration: actorRef?.objectGeneration.toString(),
138
137
  actorOwnershipGeneration: ownershipGeneration?.toString(),
139
- relocationSealId: remoteTarget.relocationSealId,
140
138
  message: this.message,
141
139
  boundPacketName: packetName,
142
140
  metadata: this.selectedMetadata,
@@ -1,40 +1,13 @@
1
- import type { Message } from '../../contracts/Common/Message';
1
+ import { ZlinkStreamCloseReasonCode as ZLinkStreamCloseReasonCode, ZlinkStreamCodec as ZLinkStreamCodec, ZlinkStreamHeaderFlags as ZLinkStreamHeaderFlags, ZlinkStreamMessageKind as ZLinkStreamMessageKind } from '@zlink-systems/stream-wire';
2
2
  import type { ZLinkFlowOrigin } from '../../contracts';
3
+ import type { Message } from '../../contracts/Common/Message';
4
+ export { ZlinkStreamMessageKind as ZLinkStreamMessageKind, ZlinkStreamHeaderFlags as ZLinkStreamHeaderFlags, ZlinkStreamCloseReasonCode as ZLinkStreamCloseReasonCode } from '@zlink-systems/stream-wire';
3
5
  export { utf8Decode, utf8Encode } from '@zlink-systems/stream-wire';
4
- export declare enum ZLinkStreamCodec {
5
- Raw = 0,
6
- Json = 1,
7
- MessagePack = 2,
8
- Protobuf = 3
9
- }
6
+ export { ZlinkStreamCodec as ZLinkStreamCodec } from '@zlink-systems/stream-wire';
10
7
  export declare function streamCodecContentType(codec: ZLinkStreamCodec): string;
11
8
  export declare function streamCodecForContentType(contentType: string): ZLinkStreamCodec;
12
- export declare enum ZLinkStreamMessageKind {
13
- Send = 1,
14
- Request = 2,
15
- Response = 3,
16
- Error = 4,
17
- Control = 5
18
- }
19
- export declare enum ZLinkStreamHeaderFlags {
20
- None = 0,
21
- HasRequestSeq = 1,
22
- HasMetadata = 2,
23
- PayloadCompressed = 4,
24
- HasCorrelationId = 8,
25
- HasFlowId = 16,
26
- HasActorSlot = 32
27
- }
28
- export declare enum ZLinkStreamCloseReasonCode {
29
- ClientClose = 1,
30
- IdleTimeout = 2,
31
- HeartbeatTimeout = 3,
32
- ServerDrain = 4,
33
- ProtocolError = 5,
34
- TransportError = 6
35
- }
36
- export declare const ZLINK_STREAM_HEARTBEAT_PING = "$zlink.heartbeat.ping";
37
- export declare const ZLINK_STREAM_HEARTBEAT_PONG = "$zlink.heartbeat.pong";
9
+ export declare const ZLINK_STREAM_HEARTBEAT_PING: "$zlink.heartbeat.ping";
10
+ export declare const ZLINK_STREAM_HEARTBEAT_PONG: "$zlink.heartbeat.pong";
38
11
  export interface ZLinkStreamFrameHeader {
39
12
  readonly kind: ZLinkStreamMessageKind;
40
13
  readonly codec: ZLinkStreamCodec;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZLINK_STREAM_HEARTBEAT_PONG = exports.ZLINK_STREAM_HEARTBEAT_PING = exports.ZLinkStreamCloseReasonCode = exports.ZLinkStreamHeaderFlags = exports.ZLinkStreamMessageKind = exports.ZLinkStreamCodec = exports.utf8Encode = exports.utf8Decode = void 0;
3
+ exports.ZLINK_STREAM_HEARTBEAT_PONG = exports.ZLINK_STREAM_HEARTBEAT_PING = exports.ZLinkStreamCodec = exports.utf8Encode = exports.utf8Decode = exports.ZLinkStreamCloseReasonCode = exports.ZLinkStreamHeaderFlags = exports.ZLinkStreamMessageKind = void 0;
4
4
  exports.streamCodecContentType = streamCodecContentType;
5
5
  exports.streamCodecForContentType = streamCodecForContentType;
6
6
  exports.resolvePacketName = resolvePacketName;
@@ -20,79 +20,30 @@ exports.createStreamReplyHeader = createStreamReplyHeader;
20
20
  exports.messageToBytes = messageToBytes;
21
21
  exports.lz4Pickle = lz4Pickle;
22
22
  exports.lz4Unpickle = lz4Unpickle;
23
- const packet_name_1 = require("../messaging/packet-name");
24
23
  const stream_wire_1 = require("@zlink-systems/stream-wire");
24
+ const packet_name_1 = require("../messaging/packet-name");
25
25
  const submission_result_1 = require("../messaging/submission-result");
26
26
  var stream_wire_2 = require("@zlink-systems/stream-wire");
27
- Object.defineProperty(exports, "utf8Decode", { enumerable: true, get: function () { return stream_wire_2.utf8Decode; } });
28
- Object.defineProperty(exports, "utf8Encode", { enumerable: true, get: function () { return stream_wire_2.utf8Encode; } });
29
- const defaultMaxDecompressedPayloadSize = 64 * 1024;
27
+ Object.defineProperty(exports, "ZLinkStreamMessageKind", { enumerable: true, get: function () { return stream_wire_2.ZlinkStreamMessageKind; } });
28
+ Object.defineProperty(exports, "ZLinkStreamHeaderFlags", { enumerable: true, get: function () { return stream_wire_2.ZlinkStreamHeaderFlags; } });
29
+ Object.defineProperty(exports, "ZLinkStreamCloseReasonCode", { enumerable: true, get: function () { return stream_wire_2.ZlinkStreamCloseReasonCode; } });
30
+ var stream_wire_3 = require("@zlink-systems/stream-wire");
31
+ Object.defineProperty(exports, "utf8Decode", { enumerable: true, get: function () { return stream_wire_3.utf8Decode; } });
32
+ Object.defineProperty(exports, "utf8Encode", { enumerable: true, get: function () { return stream_wire_3.utf8Encode; } });
30
33
  const actorRequestDeadlineMetadataKey = '$zlink.actor-request-deadline-unix-ms';
31
34
  // Shared empty metadata for the dominant no-metadata frame; ReadonlyMap
32
35
  // keeps every consumer from mutating it.
33
36
  const EMPTY_STREAM_METADATA = new Map();
34
- var ZLinkStreamCodec;
35
- (function (ZLinkStreamCodec) {
36
- ZLinkStreamCodec[ZLinkStreamCodec["Raw"] = 0] = "Raw";
37
- ZLinkStreamCodec[ZLinkStreamCodec["Json"] = 1] = "Json";
38
- ZLinkStreamCodec[ZLinkStreamCodec["MessagePack"] = 2] = "MessagePack";
39
- ZLinkStreamCodec[ZLinkStreamCodec["Protobuf"] = 3] = "Protobuf";
40
- })(ZLinkStreamCodec || (exports.ZLinkStreamCodec = ZLinkStreamCodec = {}));
37
+ var stream_wire_4 = require("@zlink-systems/stream-wire");
38
+ Object.defineProperty(exports, "ZLinkStreamCodec", { enumerable: true, get: function () { return stream_wire_4.ZlinkStreamCodec; } });
41
39
  function streamCodecContentType(codec) {
42
- switch (codec) {
43
- case ZLinkStreamCodec.Json:
44
- return 'application/json';
45
- case ZLinkStreamCodec.MessagePack:
46
- return 'application/x-msgpack';
47
- case ZLinkStreamCodec.Protobuf:
48
- return 'application/x-protobuf';
49
- case ZLinkStreamCodec.Raw:
50
- return 'application/octet-stream';
51
- }
52
- throw new TypeError(`Unsupported STREAM codec '${codec}'.`);
40
+ return (0, stream_wire_1.streamCodecContentType)(codec);
53
41
  }
54
42
  function streamCodecForContentType(contentType) {
55
- switch (contentType) {
56
- case 'application/json':
57
- return ZLinkStreamCodec.Json;
58
- case 'application/x-msgpack':
59
- return ZLinkStreamCodec.MessagePack;
60
- case 'application/x-protobuf':
61
- return ZLinkStreamCodec.Protobuf;
62
- case 'application/octet-stream':
63
- return ZLinkStreamCodec.Raw;
64
- }
65
- throw new TypeError(`Unsupported STREAM content type '${contentType}'.`);
43
+ return (0, stream_wire_1.streamCodecForContentType)(contentType);
66
44
  }
67
- var ZLinkStreamMessageKind;
68
- (function (ZLinkStreamMessageKind) {
69
- ZLinkStreamMessageKind[ZLinkStreamMessageKind["Send"] = 1] = "Send";
70
- ZLinkStreamMessageKind[ZLinkStreamMessageKind["Request"] = 2] = "Request";
71
- ZLinkStreamMessageKind[ZLinkStreamMessageKind["Response"] = 3] = "Response";
72
- ZLinkStreamMessageKind[ZLinkStreamMessageKind["Error"] = 4] = "Error";
73
- ZLinkStreamMessageKind[ZLinkStreamMessageKind["Control"] = 5] = "Control";
74
- })(ZLinkStreamMessageKind || (exports.ZLinkStreamMessageKind = ZLinkStreamMessageKind = {}));
75
- var ZLinkStreamHeaderFlags;
76
- (function (ZLinkStreamHeaderFlags) {
77
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["None"] = 0] = "None";
78
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["HasRequestSeq"] = 1] = "HasRequestSeq";
79
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["HasMetadata"] = 2] = "HasMetadata";
80
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["PayloadCompressed"] = 4] = "PayloadCompressed";
81
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["HasCorrelationId"] = 8] = "HasCorrelationId";
82
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["HasFlowId"] = 16] = "HasFlowId";
83
- ZLinkStreamHeaderFlags[ZLinkStreamHeaderFlags["HasActorSlot"] = 32] = "HasActorSlot";
84
- })(ZLinkStreamHeaderFlags || (exports.ZLinkStreamHeaderFlags = ZLinkStreamHeaderFlags = {}));
85
- var ZLinkStreamCloseReasonCode;
86
- (function (ZLinkStreamCloseReasonCode) {
87
- ZLinkStreamCloseReasonCode[ZLinkStreamCloseReasonCode["ClientClose"] = 1] = "ClientClose";
88
- ZLinkStreamCloseReasonCode[ZLinkStreamCloseReasonCode["IdleTimeout"] = 2] = "IdleTimeout";
89
- ZLinkStreamCloseReasonCode[ZLinkStreamCloseReasonCode["HeartbeatTimeout"] = 3] = "HeartbeatTimeout";
90
- ZLinkStreamCloseReasonCode[ZLinkStreamCloseReasonCode["ServerDrain"] = 4] = "ServerDrain";
91
- ZLinkStreamCloseReasonCode[ZLinkStreamCloseReasonCode["ProtocolError"] = 5] = "ProtocolError";
92
- ZLinkStreamCloseReasonCode[ZLinkStreamCloseReasonCode["TransportError"] = 6] = "TransportError";
93
- })(ZLinkStreamCloseReasonCode || (exports.ZLinkStreamCloseReasonCode = ZLinkStreamCloseReasonCode = {}));
94
- exports.ZLINK_STREAM_HEARTBEAT_PING = '$zlink.heartbeat.ping';
95
- exports.ZLINK_STREAM_HEARTBEAT_PONG = '$zlink.heartbeat.pong';
45
+ exports.ZLINK_STREAM_HEARTBEAT_PING = stream_wire_1.ZlinkStreamControlPacket.HeartbeatPing;
46
+ exports.ZLINK_STREAM_HEARTBEAT_PONG = stream_wire_1.ZlinkStreamControlPacket.HeartbeatPong;
96
47
  function resolvePacketName(message, explicitPacketName) {
97
48
  const packetName = (0, packet_name_1.resolveFrameworkPacketName)(message, explicitPacketName, 'Stream');
98
49
  if (packetName.trim().length === 0) {
@@ -110,50 +61,27 @@ function encodeStreamFrame(header, payload) {
110
61
  }
111
62
  function encodeStreamControlFrame(name) {
112
63
  return encodeStreamFrame({
113
- kind: ZLinkStreamMessageKind.Control,
114
- codec: ZLinkStreamCodec.Raw,
115
- flags: ZLinkStreamHeaderFlags.None,
64
+ kind: stream_wire_1.ZlinkStreamMessageKind.Control,
65
+ codec: stream_wire_1.ZlinkStreamCodec.Raw,
66
+ flags: stream_wire_1.ZlinkStreamHeaderFlags.None,
116
67
  name,
117
68
  metadata: EMPTY_STREAM_METADATA
118
69
  }, new Uint8Array());
119
70
  }
120
71
  function encodeActorBoundFrame(actorSlot, actorId) {
121
- const actorIdBytes = (0, stream_wire_1.utf8Encode)(actorId);
122
- if (actorIdBytes.length < 1 || actorIdBytes.length > 0xff) {
123
- throw new Error('Actor id length is invalid for a STREAM binding control packet.');
124
- }
125
- const payload = new Uint8Array(4 + actorIdBytes.length);
126
- payload[0] = 1;
127
- payload[1] = actorSlot >>> 8;
128
- payload[2] = actorSlot & 0xff;
129
- payload[3] = actorIdBytes.length;
130
- payload.set(actorIdBytes, 4);
131
- return encodeStreamFrame(controlHeader('$zlink.actor.bound'), payload);
72
+ return encodeStreamFrame(controlHeader(stream_wire_1.ZlinkStreamControlPacket.ActorBound), (0, stream_wire_1.encodeStreamWireActorBoundPayload)(actorSlot, actorId));
132
73
  }
133
74
  function encodeActorUnboundFrame(actorSlot) {
134
- const payload = new Uint8Array(3);
135
- payload[0] = 1;
136
- payload[1] = actorSlot >>> 8;
137
- payload[2] = actorSlot & 0xff;
138
- return encodeStreamFrame(controlHeader('$zlink.actor.unbound'), payload);
75
+ return encodeStreamFrame(controlHeader(stream_wire_1.ZlinkStreamControlPacket.ActorUnbound), (0, stream_wire_1.encodeStreamWireActorUnboundPayload)(actorSlot));
139
76
  }
140
- function encodeSessionClosingFrame(diagnostic = '', reason = ZLinkStreamCloseReasonCode.ServerDrain) {
141
- const diagnosticBytes = (0, stream_wire_1.utf8Encode)(diagnostic);
142
- if (diagnosticBytes.length > 512)
143
- throw new Error('Session-closing diagnostic is too large.');
144
- const payload = new Uint8Array(4 + diagnosticBytes.length);
145
- payload[0] = 1;
146
- payload[1] = reason;
147
- payload[2] = diagnosticBytes.length >>> 8;
148
- payload[3] = diagnosticBytes.length & 0xff;
149
- payload.set(diagnosticBytes, 4);
77
+ function encodeSessionClosingFrame(diagnostic = '', reason = stream_wire_1.ZlinkStreamCloseReasonCode.ServerDrain) {
150
78
  return encodeStreamFrame({
151
- kind: ZLinkStreamMessageKind.Control,
152
- codec: ZLinkStreamCodec.Raw,
153
- flags: ZLinkStreamHeaderFlags.None,
154
- name: 'session-closing',
79
+ kind: stream_wire_1.ZlinkStreamMessageKind.Control,
80
+ codec: stream_wire_1.ZlinkStreamCodec.Raw,
81
+ flags: stream_wire_1.ZlinkStreamHeaderFlags.None,
82
+ name: stream_wire_1.ZlinkStreamControlPacket.SessionClosing,
155
83
  metadata: new Map()
156
- }, payload);
84
+ }, (0, stream_wire_1.encodeStreamWireSessionClosingPayload)(reason, diagnostic));
157
85
  }
158
86
  function decodeStreamFrame(frame) {
159
87
  return (0, stream_wire_1.decodeStreamWireFrame)(frame);
@@ -167,7 +95,7 @@ function encodeStreamHeader(header) {
167
95
  const hasCorrelation = header.correlationId !== undefined && header.correlationId.length > 0;
168
96
  const hasFlow = header.flowId !== undefined || header.flowOrigin !== undefined;
169
97
  const hasActorSlot = header.actorSlot !== undefined;
170
- if (header.kind === ZLinkStreamMessageKind.Control &&
98
+ if (header.kind === stream_wire_1.ZlinkStreamMessageKind.Control &&
171
99
  (hasCorrelation || hasRequestSeq || hasMetadata || hasFlow || hasActorSlot)) {
172
100
  throw new Error('Control packet must not contain a request sequence, metadata, correlation id, or flow id.');
173
101
  }
@@ -190,12 +118,12 @@ function decodeStreamHeader(header, flowEnabled = true) {
190
118
  const decoded = (0, stream_wire_1.decodeStreamWireHeader)(header, undefined, flowEnabled);
191
119
  const kind = decoded.kind;
192
120
  const flags = decoded.flags;
193
- const hasRequestSeq = (flags & ZLinkStreamHeaderFlags.HasRequestSeq) !== 0;
194
- const hasMetadata = (flags & ZLinkStreamHeaderFlags.HasMetadata) !== 0;
195
- const hasCorrelation = (flags & ZLinkStreamHeaderFlags.HasCorrelationId) !== 0;
196
- const hasFlow = (flags & ZLinkStreamHeaderFlags.HasFlowId) !== 0;
197
- const hasActorSlot = (flags & ZLinkStreamHeaderFlags.HasActorSlot) !== 0;
198
- if (kind === ZLinkStreamMessageKind.Control &&
121
+ const hasRequestSeq = (flags & stream_wire_1.ZlinkStreamHeaderFlags.HasRequestSeq) !== 0;
122
+ const hasMetadata = (flags & stream_wire_1.ZlinkStreamHeaderFlags.HasMetadata) !== 0;
123
+ const hasCorrelation = (flags & stream_wire_1.ZlinkStreamHeaderFlags.HasCorrelationId) !== 0;
124
+ const hasFlow = (flags & stream_wire_1.ZlinkStreamHeaderFlags.HasFlowId) !== 0;
125
+ const hasActorSlot = (flags & stream_wire_1.ZlinkStreamHeaderFlags.HasActorSlot) !== 0;
126
+ if (kind === stream_wire_1.ZlinkStreamMessageKind.Control &&
199
127
  (hasCorrelation || hasRequestSeq || hasMetadata || hasFlow || hasActorSlot)) {
200
128
  throw new Error('Control packet must not contain a request sequence, metadata, correlation id, or flow id.');
201
129
  }
@@ -203,8 +131,8 @@ function decodeStreamHeader(header, flowEnabled = true) {
203
131
  return {
204
132
  kind,
205
133
  codec: decoded.codec,
206
- flags: (metadata.size === 0 ? flags & ~ZLinkStreamHeaderFlags.HasMetadata : flags) &
207
- (flowEnabled ? ~0 : ~ZLinkStreamHeaderFlags.HasFlowId),
134
+ flags: (metadata.size === 0 ? flags & ~stream_wire_1.ZlinkStreamHeaderFlags.HasMetadata : flags) &
135
+ (flowEnabled ? ~0 : ~stream_wire_1.ZlinkStreamHeaderFlags.HasFlowId),
208
136
  requestSeq: decoded.requestSeq,
209
137
  name: decoded.name,
210
138
  metadata,
@@ -254,9 +182,9 @@ function createStreamReplyHeader(requestHeader, kind, codec, flags, metadata, in
254
182
  }
255
183
  function controlHeader(name) {
256
184
  return {
257
- kind: ZLinkStreamMessageKind.Control,
258
- codec: ZLinkStreamCodec.Raw,
259
- flags: ZLinkStreamHeaderFlags.None,
185
+ kind: stream_wire_1.ZlinkStreamMessageKind.Control,
186
+ codec: stream_wire_1.ZlinkStreamCodec.Raw,
187
+ flags: stream_wire_1.ZlinkStreamHeaderFlags.None,
260
188
  name,
261
189
  metadata: EMPTY_STREAM_METADATA
262
190
  };
@@ -287,6 +215,6 @@ function messageToBytes(message) {
287
215
  function lz4Pickle(payload) {
288
216
  return (0, stream_wire_1.lz4PickleUncompressed)(payload);
289
217
  }
290
- function lz4Unpickle(payload, maxDecompressedSize = defaultMaxDecompressedPayloadSize) {
218
+ function lz4Unpickle(payload, maxDecompressedSize = stream_wire_1.defaultMaxDecompressedPayloadSize) {
291
219
  return (0, stream_wire_1.lz4UnpicklePayload)(payload, maxDecompressedSize);
292
220
  }
@@ -3,6 +3,7 @@ import type { ZLinkRuntimeMetrics } from '../diagnostics';
3
3
  import { ZLinkActorSessionBindingRegistry, type ZLinkActorSessionAuthorityFence } from './actor-session-binding-registry';
4
4
  import { ZLinkActorSessionLifecycleCoordinator } from './actor-session-lifecycle-coordinator';
5
5
  import { DefaultZLinkSessionActor, DefaultZLinkSessionContext } from './session-context';
6
+ import type { ZLinkSessionBindingConfirmationOptions } from './stream-binding-runtime-ports';
6
7
  export interface ZLinkSessionActorCoordinatorOptions {
7
8
  readonly actorBindTimeoutMs?: number;
8
9
  readonly actorRefResolver?: (actor: ZLinkActor) => ActorRef;
@@ -13,9 +14,7 @@ export interface ZLinkSessionActorCoordinatorOptions {
13
14
  };
14
15
  } | undefined;
15
16
  readonly nativeActorMeshNameProvider?: () => string | undefined;
16
- readonly confirmRemoteActorSessionBinding?: (actor: ActorRef, sessionRid: ActorRef['nodeRid'], signal?: AbortSignal, options?: {
17
- readonly waitForAcknowledgement?: boolean;
18
- }) => Promise<void>;
17
+ readonly confirmRemoteActorSessionBinding?: (actor: ActorRef, sessionRid: ActorRef['nodeRid'], signal?: AbortSignal, options?: ZLinkSessionBindingConfirmationOptions) => Promise<void>;
19
18
  readonly errorSink?: () => {
20
19
  reportRuntimeTaskException(taskName: string, error: unknown): void;
21
20
  } | undefined;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSessionActorCoordinator = void 0;
4
+ const bound_actor_relay_sender_1 = require("./bound-actor-relay-sender");
4
5
  const framework_errors_internal_1 = require("../framework-errors-internal");
5
6
  const contracts_1 = require("../../contracts");
6
7
  const abort_1 = require("../abort");
@@ -75,7 +76,12 @@ class ZLinkSessionActorCoordinator {
75
76
  if (confirmRemoteSessionBinding !== false &&
76
77
  this.options.confirmRemoteActorSessionBinding !== undefined) {
77
78
  const waitForAcknowledgement = previous === undefined && confirmRemoteSessionBinding !== 'send';
78
- const confirmation = this.options.confirmRemoteActorSessionBinding(boundActorRef, this.actorBindingRoutingId(context), undefined, { waitForAcknowledgement });
79
+ const confirmation = this.options.confirmRemoteActorSessionBinding(boundActorRef, this.actorBindingRoutingId(context), undefined, {
80
+ waitForAcknowledgement,
81
+ binding: context.stream instanceof managed_stream_1.ZLinkManagedStream
82
+ ? context.stream.actorBinding(actorRef.actorId)
83
+ : undefined
84
+ });
79
85
  const reportFailure = (error) => {
80
86
  // A fire-and-forget route update retains the already-current binding;
81
87
  // its failure is bounded diagnostics rather than a rollback. The
@@ -96,7 +102,7 @@ class ZLinkSessionActorCoordinator {
96
102
  // the relay's typed failure for the caller.
97
103
  try {
98
104
  if (context.stream instanceof managed_stream_1.ZLinkManagedStream) {
99
- await context.stream.unbindActor(actorRef.actorId, this.options.actorBindTimeoutMs ?? 2000);
105
+ await context.stream.unbindActor(actorRef.actorId, this.options.actorBindTimeoutMs ?? bound_actor_relay_sender_1.DEFAULT_RELAY_ACTOR_BIND_TIMEOUT_MS);
100
106
  }
101
107
  }
102
108
  catch (cleanupError) {
@@ -204,7 +210,9 @@ class ZLinkSessionActorCoordinator {
204
210
  !(await this.routes.validateSeal(normalizedActorRef.actorId, options.releaseSeal.sealId))) {
205
211
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorLocationStale, `Actor '${normalizedActorRef.actorId}' route switch did not match its relocation seal.`, true);
206
212
  }
207
- route.actor.updateRef(normalizedActorRef);
213
+ // A location refresh never changes the route's Session binding
214
+ // generation; the native bind owns it.
215
+ route.actor.updateRef(withBindingGeneration(normalizedActorRef, bindingGenerationOf(route.actor.ref), undefined));
208
216
  if (authorityFence !== undefined) {
209
217
  await this.routes.updateAuthorityFence(normalizedActorRef.actorId, authorityFence);
210
218
  }
@@ -265,7 +273,7 @@ class ZLinkSessionActorCoordinator {
265
273
  return;
266
274
  }
267
275
  try {
268
- await context.stream.bindActor(actorRef, this.options.actorBindTimeoutMs ?? 2000, signal, context.actorBindingReplacedHandler, authorityFence);
276
+ await context.stream.bindActor(actorRef, this.options.actorBindTimeoutMs ?? bound_actor_relay_sender_1.DEFAULT_RELAY_ACTOR_BIND_TIMEOUT_MS, signal, context.actorBindingReplacedHandler, authorityFence);
269
277
  }
270
278
  catch (error) {
271
279
  if (error instanceof contracts_1.ZLinkFrameworkException) {
@@ -1,6 +1,6 @@
1
1
  import type { ZLinkBoundSessionSendCall, ZLinkSessionReplyCall, ZLinkSessionSendCall } from '../../contracts';
2
- import type { ZLinkSubmitResult } from '../messaging/submission-result';
3
2
  import type { Message } from '../../contracts/Common/Message';
3
+ import { type ZLinkSubmitResult } from '../messaging/submission-result';
4
4
  import { type ZLinkStreamFrameHeader, ZLinkStreamMessageKind, type ZLinkStreamReplyMessageKind } from './protocol';
5
5
  export interface ZLinkBoundSessionSendRuntime {
6
6
  sendBoundSession(actorId: string, message: unknown, packetName: string | undefined, metadata: ReadonlyMap<string, string>, signal?: AbortSignal): Promise<ZLinkSubmitResult>;
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkSessionReplyCall = exports.DefaultZLinkSessionSendCall = exports.DefaultZLinkBoundSessionSendCall = void 0;
4
- const framework_errors_internal_1 = require("../framework-errors-internal");
5
- const submission_result_1 = require("../messaging/submission-result");
4
+ const SendTimeoutValidation_1 = require("../../contracts/Configuration/SendTimeoutValidation");
6
5
  const abort_1 = require("../abort");
7
6
  const configuration_1 = require("../configuration");
7
+ const framework_errors_internal_1 = require("../framework-errors-internal");
8
+ const submission_result_1 = require("../messaging/submission-result");
8
9
  const protocol_1 = require("./protocol");
9
10
  class DefaultZLinkBoundSessionSendCall {
10
11
  runtime;
@@ -61,8 +62,8 @@ class DefaultZLinkSessionSendCall {
61
62
  return this;
62
63
  }
63
64
  timeout(timeoutMs) {
64
- if (!Number.isInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2_147_483_647) {
65
- throw new configuration_1.ZLinkConfigurationException('STREAM session send timeout must be an integer from 1 through 2147483647 milliseconds.');
65
+ if (!Number.isInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > SendTimeoutValidation_1.ZLINK_MAX_SEND_TIMEOUT_MS) {
66
+ throw new configuration_1.ZLinkConfigurationException(`STREAM session send timeout must be an integer from 1 through ${SendTimeoutValidation_1.ZLINK_MAX_SEND_TIMEOUT_MS} milliseconds.`);
66
67
  }
67
68
  this.selectedTimeoutMs = timeoutMs;
68
69
  return this;
@@ -1,12 +1,12 @@
1
- import type { ActorRef, RoutingId, ZLinkMessage, ZLinkActor, ZLinkBoundSession, ZLinkSessionActor, ZLinkSessionActors, ZLinkSessionClient, ZLinkSessionContext, ZLinkSessionDispatchContext, ZLinkSessionHandlerRegistry, ZLinkStream } from '../../contracts';
2
- import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
3
- import type { ZLinkSubmitResult } from '../messaging/submission-result';
1
+ import type { ActorRef, RoutingId, ZLinkActor, ZLinkBoundSession, ZLinkMessage, ZLinkSessionActor, ZLinkSessionActors, ZLinkSessionClient, ZLinkSessionContext, ZLinkSessionDispatchContext, ZLinkSessionHandlerRegistry, ZLinkStream } from '../../contracts';
4
2
  import type { Message } from '../../contracts/Common/Message';
5
- import { type ZLinkStreamFrameHeader, ZLinkStreamMessageKind, type ZLinkStreamReplyMessageKind } from './protocol';
6
- import { DefaultZLinkBoundSessionSendCall } from './session-calls';
7
- import { type ZLinkPendingSessionRequest } from './session-requests';
3
+ import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
8
4
  import type { ServiceActorRef } from '../foundation/service-stateful-registry';
9
5
  import type { ServiceRetiredBoundSessionRouteFence } from '../foundation/service-stateful-wire-codec';
6
+ import { type ZLinkSubmitResult } from '../messaging/submission-result';
7
+ import { ZLinkStreamMessageKind, type ZLinkStreamFrameHeader, type ZLinkStreamReplyMessageKind } from './protocol';
8
+ import { DefaultZLinkBoundSessionSendCall } from './session-calls';
9
+ import { type ZLinkPendingSessionRequest } from './session-requests';
10
10
  export interface ZLinkSessionContextStream extends ZLinkStream {
11
11
  writeRaw(payload: Message, flags?: number): boolean;
12
12
  submitRaw(payload: Message, signal?: AbortSignal, timeoutMs?: number): Promise<ZLinkSubmitResult>;
@@ -2,16 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkBoundSessionFactory = exports.DefaultZLinkBoundSession = exports.DefaultZLinkSessionActor = exports.DefaultZLinkSessionContext = void 0;
4
4
  exports.createSessionDispatchContext = createSessionDispatchContext;
5
- const framework_errors_internal_1 = require("../framework-errors-internal");
6
- const submission_result_1 = require("../messaging/submission-result");
7
5
  const Attributes_1 = require("../../contracts/Handlers/Attributes");
8
6
  const abort_1 = require("../abort");
7
+ const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
9
8
  const configuration_1 = require("../configuration");
9
+ const state_lane_1 = require("../execution/state-lane");
10
+ const framework_errors_internal_1 = require("../framework-errors-internal");
11
+ const submission_result_1 = require("../messaging/submission-result");
10
12
  const protocol_1 = require("./protocol");
11
13
  const session_calls_1 = require("./session-calls");
12
- const session_requests_1 = require("./session-requests");
13
14
  const session_local_actors_1 = require("./session-local-actors");
14
- const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
15
+ const session_requests_1 = require("./session-requests");
15
16
  class DefaultZLinkSessionContext {
16
17
  runtime;
17
18
  stream;
@@ -393,3 +394,20 @@ function sameRetiredSession(left, right) {
393
394
  left.sessionRid === right.sessionRid &&
394
395
  left.retiredBindingGeneration === right.retiredBindingGeneration);
395
396
  }
397
+ if ((0, state_lane_1.isStructuralGuardEnabled)()) {
398
+ const controlsGetter = Object.getOwnPropertyDescriptor(DefaultZLinkSessionContext.prototype, 'actorSlotControls')?.get;
399
+ if (controlsGetter !== undefined) {
400
+ Object.defineProperty(DefaultZLinkSessionContext.prototype, 'actorSlotControls', {
401
+ configurable: true,
402
+ get() {
403
+ const controls = controlsGetter.call(this);
404
+ if (controls === undefined)
405
+ return undefined;
406
+ return {
407
+ enqueueBound: (actorSlot, actorId) => (0, state_lane_1.guardStateLaneCompletion)((0, state_lane_1.trackDiagnosticCompletion)(controls.enqueueBound(actorSlot, actorId), `binding transport bound ${actorId}`), 'binding transport completion'),
408
+ enqueueUnbound: (actorSlot) => (0, state_lane_1.guardStateLaneCompletion)((0, state_lane_1.trackDiagnosticCompletion)(controls.enqueueUnbound(actorSlot), `binding transport unbound ${actorSlot}`), 'binding transport completion')
409
+ };
410
+ }
411
+ });
412
+ }
413
+ }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSessionRequestTracker = exports.ZLinkPendingSessionRequest = void 0;
4
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
4
5
  const stream_message_utils_1 = require("./stream-message-utils");
5
6
  class ZLinkPendingSessionRequest {
6
7
  tracker;
@@ -92,7 +93,7 @@ class ZLinkSessionRequestTracker {
92
93
  }
93
94
  next() {
94
95
  do {
95
- this.nextRequestSeq = (this.nextRequestSeq + 1n) & 0xffffffffffffffffn;
96
+ this.nextRequestSeq = (this.nextRequestSeq + 1n) & stream_wire_1.UINT64_MAX;
96
97
  } while (this.nextRequestSeq === 0n);
97
98
  return this.nextRequestSeq;
98
99
  }
@@ -22,8 +22,8 @@ class ZLinkSessionSerialExecutor {
22
22
  }
23
23
  const boundWork = (0, application_job_queue_scope_1.bindApplicationJobPermit)(work);
24
24
  return (0, application_job_queue_scope_1.hasApplicationJobPermit)()
25
- ? this.scheduler.submitPreAdmitted(boundWork, { lane: 'lifecycle' })
26
- : this.scheduler.submit(boundWork, { lane: 'lifecycle' });
25
+ ? this.scheduler.submitPreAdmitted(boundWork, { lane: 'application' })
26
+ : this.scheduler.submit(boundWork, { lane: 'application' });
27
27
  }
28
28
  submit(work, lane, options = {}, onRejected) {
29
29
  if (this.closed)
@@ -3,6 +3,7 @@ import type { ZLinkBackendActorSessionNode } from '../backend';
3
3
  import type { ZLinkSubmitResult } from '../messaging/submission-result';
4
4
  import type { DefaultZLinkSessionActor } from './session-context';
5
5
  import type { ZLinkBoundSessionResponseTarget } from './bound-session-response-target';
6
+ import type { ServiceStreamSessionBinding } from '../foundation/service-runtime-contracts';
6
7
  export interface ZLinkStreamActorLookupPort {
7
8
  find(actorId: string): Promise<DefaultZLinkSessionActor | undefined>;
8
9
  authorityFence(actorId: string): Promise<{
@@ -44,8 +45,22 @@ export interface ZLinkBoundSessionResponsePort {
44
45
  sendLocalBoundSessionResponse(actorId: string, packetName: string, requestSeq: bigint, message: unknown, metadata: ReadonlyMap<string, string>, compressPayload: boolean): Promise<boolean>;
45
46
  sendLocalBoundSessionError(actorId: string, packetName: string, requestSeq: bigint, error: unknown, metadata: ReadonlyMap<string, string>): Promise<boolean>;
46
47
  }
48
+ /**
49
+ * Session–Actor binding §5: the Session owner's registry snapshot travels with
50
+ * the bind confirmation so a same-node Actor owner installs the same identity a
51
+ * remote command 38 would carry.
52
+ */
53
+ export interface ZLinkSessionBindingConfirmationOptions {
54
+ readonly waitForAcknowledgement?: boolean;
55
+ readonly binding?: ServiceStreamSessionBinding;
56
+ }
57
+ /** The exact Session binding identity a relocation validated (§8.1). */
58
+ export interface ZLinkSessionBindingIdentity {
59
+ readonly sessionRid: string;
60
+ readonly bindingGeneration: bigint;
61
+ }
47
62
  export interface ZLinkRemoteBoundSessionPort extends ZLinkStreamActorLifecyclePort {
48
- disconnectBoundSession(actorId: string, signal?: AbortSignal): Promise<void>;
63
+ closeSessionBinding(actorId: string, expected: ZLinkSessionBindingIdentity, signal?: AbortSignal): Promise<void>;
49
64
  sendLocalBoundSession(actorId: string, message: unknown, packetName: string | undefined, metadata: ReadonlyMap<string, string>): Promise<boolean>;
50
65
  sendLocalBoundSessionResponse(actorId: string, packetName: string, requestSeq: bigint, message: unknown, metadata: ReadonlyMap<string, string>, compressPayload: boolean): Promise<boolean>;
51
66
  sendLocalBoundSessionError(actorId: string, packetName: string, requestSeq: bigint, error: unknown, metadata: ReadonlyMap<string, string>): Promise<boolean>;
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zlinkStreamLz4CompressionCodec = exports.ZLinkStreamFrameMessageFactory = void 0;
4
4
  exports.resolveStreamCompressionCodec = resolveStreamCompressionCodec;
5
5
  exports.decompressStreamPayload = decompressStreamPayload;
6
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
6
7
  const runtime_message_1 = require("../backend/runtime-message");
7
8
  const flow_context_1 = require("../diagnostics/flow-context");
8
9
  const framework_json_v1_1 = require("../messaging/framework-json-v1");
9
10
  const Attributes_1 = require("../../contracts/Handlers/Attributes");
10
11
  const protocol_1 = require("./protocol");
11
- const DEFAULT_MAX_DECOMPRESSED_STREAM_PAYLOAD_SIZE = 64 * 1024;
12
12
  class ZLinkStreamFrameMessageFactory {
13
13
  options;
14
14
  compressionCodec;
@@ -130,7 +130,7 @@ function compressStreamPayload(payload, codec) {
130
130
  throw new Error(`Compression failed: ${error instanceof Error ? error.message : String(error)}`);
131
131
  }
132
132
  }
133
- function decompressStreamPayload(payload, codec, maxDecompressedSize = DEFAULT_MAX_DECOMPRESSED_STREAM_PAYLOAD_SIZE) {
133
+ function decompressStreamPayload(payload, codec, maxDecompressedSize = stream_wire_1.defaultMaxDecompressedPayloadSize) {
134
134
  if (codec === undefined) {
135
135
  throw new Error('Compression codec is not configured.');
136
136
  }
@@ -1,18 +1,18 @@
1
1
  import type { ZLinkMessageSerializer, ZLinkSession } from '../../contracts';
2
- import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
3
2
  import type { Message } from '../../contracts/Common/Message';
4
- import { ZLinkDispatchErrorReporter } from '../channels';
5
- import type { ZLinkRuntimeMetrics } from '../diagnostics';
6
- import type { ZLinkBackendSocketMonitor, ZLinkBackendReadablePoller, ZLinkBackendStreamPacket, ZLinkBackendStreamSocket } from '../backend/contracts';
3
+ import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
4
+ import { type ZLinkApplicationWorkClaim } from '../admission';
5
+ import type { ApplicationJobPermitPort, ApplicationJobQueuePort } from '../application-jobs/contracts';
6
+ import type { ZLinkBackendReadablePoller, ZLinkBackendSocketMonitor, ZLinkBackendStreamPacket, ZLinkBackendStreamSocket } from '../backend/contracts';
7
7
  import type { ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
8
+ import { ZLinkDispatchErrorReporter } from '../channels';
9
+ import { type ZLinkRuntimeMetrics } from '../diagnostics';
8
10
  import type { StreamSessionService } from '../foundation/service-runtime-contracts';
9
- import { type ZLinkStreamFrameHeader } from './protocol';
10
- import { ZLinkManagedStream, type ZLinkNativeSessionRoute } from './managed-stream';
11
- import { DefaultZLinkSessionContext } from './session-context';
12
- import type { ZLinkApplicationWorkClaim } from '../admission';
13
11
  import type { ServiceActorRef } from '../foundation/service-stateful-registry';
14
12
  import type { ServiceRetiredBoundSessionRouteFence } from '../foundation/service-stateful-wire-codec';
15
- import type { ApplicationJobPermitPort, ApplicationJobQueuePort } from '../application-jobs/contracts';
13
+ import { ZLinkManagedStream, type ZLinkNativeSessionRoute } from './managed-stream';
14
+ import { type ZLinkStreamFrameHeader } from './protocol';
15
+ import { DefaultZLinkSessionContext } from './session-context';
16
16
  interface ZLinkStreamLivenessClock {
17
17
  now(): number;
18
18
  setTimer(callback: () => void, delayMs: number): unknown;
@@ -67,7 +67,7 @@ export declare class ZLinkStreamSessionRuntime {
67
67
  private metricsClosed;
68
68
  private readonly livenessClock;
69
69
  private lastApplicationActivityAt;
70
- private awaitingPongSince;
70
+ private lastInboundFrameAt;
71
71
  private livenessTimer;
72
72
  constructor(options: ZLinkStreamSessionRuntimeOptions & ZLinkStreamLivenessOptions, routingId: unknown, removeSession?: (sessionId: string, session: ZLinkStreamSessionRuntime) => void);
73
73
  get session(): Promise<ZLinkSession>;
@@ -125,7 +125,6 @@ export declare class ZLinkStreamSessionNodeRuntime {
125
125
  private readonly unaddressedMonitorSessions;
126
126
  private unaddressedMonitorSessionHead;
127
127
  private unaddressedMonitorSessionCount;
128
- private readonly disconnectedEndpoints;
129
128
  private pendingEndpointlessDisconnect;
130
129
  private activityVersion;
131
130
  private stopped;