@zlink-systems/framework 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  3. package/dist/contracts/Common/CoreTypes.js +7 -0
  4. package/dist/contracts/Common/index.d.ts +1 -1
  5. package/dist/contracts/Common/index.js +0 -1
  6. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  7. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  8. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  9. package/dist/contracts/Configuration/Registration.js +58 -36
  10. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  12. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  13. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  14. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  15. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  16. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  17. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  18. package/dist/contracts/Handlers/JsonContract.js +10 -4
  19. package/dist/contracts/Locations/Authority.d.ts +1 -1
  20. package/dist/contracts/Locations/Authority.js +3 -2
  21. package/dist/contracts/Locations/Options.js +1 -1
  22. package/dist/contracts/Locations/Stores.d.ts +12 -0
  23. package/dist/contracts/Locations/Stores.js +9 -0
  24. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  25. package/dist/internal.d.ts +4 -0
  26. package/dist/internal.js +15 -1
  27. package/dist/nest-integration.d.ts +4 -2
  28. package/dist/nest-integration.js +14 -4
  29. package/dist/runtime/abort.d.ts +1 -0
  30. package/dist/runtime/abort.js +8 -5
  31. package/dist/runtime/activation-admission.d.ts +1 -2
  32. package/dist/runtime/activation-admission.js +2 -6
  33. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  34. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  35. package/dist/runtime/actors/actor-client.d.ts +2 -2
  36. package/dist/runtime/actors/actor-client.js +42 -143
  37. package/dist/runtime/actors/actor-context.d.ts +3 -5
  38. package/dist/runtime/actors/actor-context.js +13 -11
  39. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  40. package/dist/runtime/actors/actor-handoff.js +8 -8
  41. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  42. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  43. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  44. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  45. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  46. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  47. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  48. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  49. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  50. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  51. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  52. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  53. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  54. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  55. package/dist/runtime/actors/bound-session-wire.js +2 -7
  56. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  57. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  58. package/dist/runtime/actors/index.d.ts +9 -7
  59. package/dist/runtime/actors/index.js +87 -69
  60. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  61. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  62. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  63. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  64. package/dist/runtime/admission.d.ts +2 -0
  65. package/dist/runtime/admission.js +7 -1
  66. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  67. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  68. package/dist/runtime/backend/contracts/index.d.ts +6 -23
  69. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  70. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  71. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  72. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +1 -1
  73. package/dist/runtime/backend/node/node-backend-adapter-support.js +16 -6
  74. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  75. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  76. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  77. package/dist/runtime/backend/node/node-raw-binding-port.js +40 -16
  78. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  79. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  80. package/dist/runtime/backend/node/node-socket-backend-adapter.js +3 -2
  81. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  82. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  83. package/dist/runtime/backend/runtime-values.js +2 -0
  84. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  85. package/dist/runtime/channels/channel-clients.js +68 -52
  86. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  87. package/dist/runtime/channels/channel-envelope.js +47 -29
  88. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  89. package/dist/runtime/channels/channel-outbound-operations.js +9 -10
  90. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  91. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  92. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  93. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  94. package/dist/runtime/channels/channel-runtime-manager.js +5 -2
  95. package/dist/runtime/channels/channel-socket-options.js +3 -2
  96. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  97. package/dist/runtime/channels/channel-socket-registry.js +248 -174
  98. package/dist/runtime/channels/channel-transports.d.ts +11 -17
  99. package/dist/runtime/channels/channel-transports.js +68 -47
  100. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  101. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  102. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  103. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  104. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  105. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  106. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  107. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  108. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  109. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  110. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  111. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  112. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  113. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  114. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  115. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  116. package/dist/runtime/diagnostics/flow-context.js +16 -2
  117. package/dist/runtime/diagnostics/index.d.ts +4 -2
  118. package/dist/runtime/diagnostics/index.js +14 -4
  119. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  120. package/dist/runtime/diagnostics/message-flow.js +10 -19
  121. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  122. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  123. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  124. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  125. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  126. package/dist/runtime/disposal.d.ts +5 -0
  127. package/dist/runtime/disposal.js +22 -0
  128. package/dist/runtime/execution/index.d.ts +12 -9
  129. package/dist/runtime/execution/index.js +58 -14
  130. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  131. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  132. package/dist/runtime/execution/state-lane.d.ts +8 -1
  133. package/dist/runtime/execution/state-lane.js +118 -3
  134. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  135. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  136. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  137. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  138. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  139. package/dist/runtime/foundation/operation-identity.js +9 -5
  140. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  141. package/dist/runtime/foundation/operation-registry.js +34 -44
  142. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  143. package/dist/runtime/foundation/raw-service-mesh-runtime.js +62 -83
  144. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  145. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  146. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  147. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  148. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  149. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  150. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  151. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  152. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  153. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  154. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  155. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  156. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  157. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  158. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  159. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  160. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  161. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  162. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  163. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  164. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  165. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  166. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  167. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  168. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  169. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  170. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  171. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  172. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  173. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  174. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  175. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  176. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  177. package/dist/runtime/framework-errors-internal.js +343 -122
  178. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  179. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  180. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  181. package/dist/runtime/host/actor-packet-relay.js +48 -91
  182. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  183. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  184. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  185. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  186. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  187. package/dist/runtime/host/application-job-queue.js +16 -33
  188. package/dist/runtime/host/bound-session-relay.js +1 -1
  189. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  190. package/dist/runtime/host/index.d.ts +14 -13
  191. package/dist/runtime/host/index.js +190 -157
  192. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  193. package/dist/runtime/host/instance-activation-authority.js +17 -45
  194. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  195. package/dist/runtime/host/location-runtime-owner.js +2 -2
  196. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  197. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  198. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  199. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  200. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  201. package/dist/runtime/host/remote-bound-session-relay.js +7 -20
  202. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  203. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  204. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  205. package/dist/runtime/host/runtime-shutdown.js +18 -21
  206. package/dist/runtime/host/service-relocation-control.js +6 -1
  207. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  208. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  209. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  210. package/dist/runtime/host/spot-address-transport.js +34 -136
  211. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  212. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  213. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  214. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  215. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  216. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  217. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  218. package/dist/runtime/locations/authority-key-codec.js +4 -3
  219. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  220. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  221. package/dist/runtime/locations/creation-operation-id.js +6 -4
  222. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  223. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  224. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  225. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  226. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  227. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  228. package/dist/runtime/locations/key-codec.js +3 -2
  229. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  230. package/dist/runtime/locations/lease-tracker.js +7 -11
  231. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  232. package/dist/runtime/locations/lifecycle.js +2 -31
  233. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  234. package/dist/runtime/locations/location-store-failure.js +7 -0
  235. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  236. package/dist/runtime/locations/location-store-pages.js +13 -0
  237. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  238. package/dist/runtime/locations/location-store-repository.js +303 -332
  239. package/dist/runtime/locations/relocation-blob.js +18 -5
  240. package/dist/runtime/locations/resolvers.d.ts +5 -5
  241. package/dist/runtime/locations/resolvers.js +37 -28
  242. package/dist/runtime/locations/runtime.d.ts +5 -4
  243. package/dist/runtime/locations/runtime.js +123 -92
  244. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  245. package/dist/runtime/locations/spot-location-claims.js +42 -1
  246. package/dist/runtime/messaging/payload-codec.js +26 -20
  247. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  248. package/dist/runtime/messaging/submission-result.js +48 -0
  249. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  250. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  251. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  252. package/dist/runtime/spots/index.d.ts +14 -20
  253. package/dist/runtime/spots/index.js +302 -176
  254. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  255. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  256. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  257. package/dist/runtime/spots/spot-activation-state.js +2 -2
  258. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  259. package/dist/runtime/spots/spot-activation.js +49 -32
  260. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  261. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  262. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  263. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  264. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  265. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  266. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  267. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  268. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  269. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  270. package/dist/runtime/spots/spot-context.d.ts +2 -2
  271. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  272. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  273. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  274. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  275. package/dist/runtime/spots/spot-manager-public.js +5 -4
  276. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  277. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  278. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  279. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  280. package/dist/runtime/spots/spot-outbound.js +9 -8
  281. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  282. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  283. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  284. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  285. package/dist/runtime/spots/spot-route-replies.js +3 -1
  286. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  287. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  288. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  289. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  290. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  291. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  292. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  293. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  294. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  295. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  296. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  297. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  298. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  299. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  300. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  301. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  302. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  303. package/dist/runtime/streams/bound-session-service.js +11 -1
  304. package/dist/runtime/streams/index.d.ts +14 -15
  305. package/dist/runtime/streams/index.js +20 -21
  306. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  307. package/dist/runtime/streams/managed-stream.js +17 -8
  308. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  309. package/dist/runtime/streams/protocol.d.ts +6 -33
  310. package/dist/runtime/streams/protocol.js +38 -110
  311. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  312. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  313. package/dist/runtime/streams/session-calls.d.ts +1 -1
  314. package/dist/runtime/streams/session-calls.js +5 -4
  315. package/dist/runtime/streams/session-context.d.ts +6 -6
  316. package/dist/runtime/streams/session-context.js +22 -4
  317. package/dist/runtime/streams/session-requests.js +2 -1
  318. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  319. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  320. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  321. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  322. package/dist/runtime/workers/index.d.ts +2 -2
  323. package/dist/runtime/workers/index.js +5 -4
  324. package/package.json +3 -3
  325. package/src/contracts/Common/CoreTypes.ts +7 -0
  326. package/src/contracts/Common/index.ts +1 -1
  327. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  328. package/src/contracts/Configuration/Registration.ts +92 -48
  329. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  330. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  331. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  332. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  333. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  334. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  335. package/src/contracts/Handlers/JsonContract.ts +14 -4
  336. package/src/contracts/Locations/Authority.ts +7 -3
  337. package/src/contracts/Locations/Options.ts +1 -1
  338. package/src/contracts/Locations/Stores.ts +14 -0
  339. package/src/contracts/Spots/Contracts.ts +1 -1
  340. package/src/internal.ts +14 -0
  341. package/src/nest-integration.ts +28 -10
  342. package/src/runtime/abort.ts +6 -5
  343. package/src/runtime/activation-admission.ts +2 -8
  344. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  345. package/src/runtime/actors/actor-client.ts +77 -204
  346. package/src/runtime/actors/actor-context.ts +39 -33
  347. package/src/runtime/actors/actor-handoff.ts +24 -22
  348. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  349. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  350. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  351. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  352. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  353. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  354. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  355. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  356. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  357. package/src/runtime/actors/bound-session-wire.ts +2 -8
  358. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  359. package/src/runtime/actors/index.ts +100 -79
  360. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  361. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  362. package/src/runtime/admission.ts +8 -1
  363. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  364. package/src/runtime/backend/contracts/index.ts +13 -29
  365. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  366. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  367. package/src/runtime/backend/node/node-backend-adapter-support.ts +23 -6
  368. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  369. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  370. package/src/runtime/backend/node/node-raw-binding-port.ts +41 -20
  371. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  372. package/src/runtime/backend/node/node-socket-backend-adapter.ts +3 -2
  373. package/src/runtime/backend/raw-binding-port.ts +1 -1
  374. package/src/runtime/backend/runtime-values.ts +4 -1
  375. package/src/runtime/channels/channel-clients.ts +132 -85
  376. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  377. package/src/runtime/channels/channel-envelope.ts +58 -29
  378. package/src/runtime/channels/channel-outbound-operations.ts +10 -23
  379. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  380. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  381. package/src/runtime/channels/channel-runtime-manager.ts +6 -2
  382. package/src/runtime/channels/channel-socket-options.ts +8 -2
  383. package/src/runtime/channels/channel-socket-registry.ts +301 -192
  384. package/src/runtime/channels/channel-transports.ts +161 -112
  385. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  386. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  387. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  388. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  389. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  390. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  391. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  392. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  393. package/src/runtime/diagnostics/flow-context.ts +16 -2
  394. package/src/runtime/diagnostics/index.ts +27 -17
  395. package/src/runtime/diagnostics/message-flow.ts +15 -25
  396. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  397. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  398. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  399. package/src/runtime/disposal.ts +19 -0
  400. package/src/runtime/execution/index.ts +60 -20
  401. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  402. package/src/runtime/execution/state-lane.ts +142 -4
  403. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  404. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  405. package/src/runtime/foundation/operation-identity.ts +11 -5
  406. package/src/runtime/foundation/operation-registry.ts +33 -50
  407. package/src/runtime/foundation/raw-service-mesh-runtime.ts +110 -111
  408. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  409. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  410. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  411. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  412. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  413. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  414. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  415. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  416. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  417. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  418. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  419. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  420. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  421. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  422. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  423. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  424. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  425. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  426. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  427. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  428. package/src/runtime/framework-errors-internal.ts +380 -134
  429. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  430. package/src/runtime/host/actor-packet-relay.ts +57 -147
  431. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  432. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  433. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  434. package/src/runtime/host/application-job-queue.ts +28 -34
  435. package/src/runtime/host/bound-session-relay.ts +1 -2
  436. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  437. package/src/runtime/host/index.ts +327 -296
  438. package/src/runtime/host/instance-activation-authority.ts +89 -109
  439. package/src/runtime/host/location-runtime-owner.ts +4 -2
  440. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  441. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  442. package/src/runtime/host/remote-bound-session-relay.ts +8 -41
  443. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  444. package/src/runtime/host/runtime-shutdown.ts +17 -21
  445. package/src/runtime/host/service-relocation-control.ts +14 -1
  446. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  447. package/src/runtime/host/spot-address-transport.ts +73 -195
  448. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  449. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  450. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  451. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  452. package/src/runtime/locations/authority-key-codec.ts +7 -3
  453. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  454. package/src/runtime/locations/creation-operation-id.ts +6 -3
  455. package/src/runtime/locations/domain-store-contract.ts +12 -3
  456. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  457. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  458. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  459. package/src/runtime/locations/key-codec.ts +3 -2
  460. package/src/runtime/locations/lease-tracker.ts +8 -14
  461. package/src/runtime/locations/lifecycle.ts +13 -43
  462. package/src/runtime/locations/location-store-failure.ts +4 -0
  463. package/src/runtime/locations/location-store-pages.ts +18 -0
  464. package/src/runtime/locations/location-store-repository.ts +450 -478
  465. package/src/runtime/locations/relocation-blob.ts +17 -6
  466. package/src/runtime/locations/resolvers.ts +75 -49
  467. package/src/runtime/locations/runtime.ts +220 -110
  468. package/src/runtime/locations/spot-location-claims.ts +58 -1
  469. package/src/runtime/messaging/payload-codec.ts +35 -24
  470. package/src/runtime/messaging/submission-result.ts +57 -1
  471. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  472. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  473. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  474. package/src/runtime/spots/index.ts +433 -229
  475. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  476. package/src/runtime/spots/spot-activation-state.ts +2 -2
  477. package/src/runtime/spots/spot-activation.ts +67 -37
  478. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  479. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  480. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  481. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  482. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  483. package/src/runtime/spots/spot-context.ts +3 -3
  484. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  485. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  486. package/src/runtime/spots/spot-manager-public.ts +21 -17
  487. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  488. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  489. package/src/runtime/spots/spot-outbound.ts +45 -23
  490. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  491. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  492. package/src/runtime/spots/spot-route-replies.ts +6 -4
  493. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  494. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  495. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  496. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  497. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  498. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  499. package/src/runtime/spots/spot-timer.ts +3 -2
  500. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  501. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  502. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  503. package/src/runtime/streams/bound-session-service.ts +21 -1
  504. package/src/runtime/streams/index.ts +76 -64
  505. package/src/runtime/streams/managed-stream.ts +29 -10
  506. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  507. package/src/runtime/streams/protocol.ts +34 -88
  508. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  509. package/src/runtime/streams/session-calls.ts +6 -5
  510. package/src/runtime/streams/session-context.ts +54 -10
  511. package/src/runtime/streams/session-requests.ts +2 -1
  512. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  513. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  514. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  515. package/src/runtime/workers/index.ts +13 -12
  516. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  517. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  518. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  519. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  520. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  521. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -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
  }
@@ -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;