@zlink-systems/framework 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Actors/ZLinkActorClient.d.ts +1 -1
  3. package/dist/contracts/Channels/Calls.d.ts +1 -1
  4. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  5. package/dist/contracts/Common/CoreTypes.js +7 -0
  6. package/dist/contracts/Common/index.d.ts +1 -1
  7. package/dist/contracts/Common/index.js +0 -1
  8. package/dist/contracts/Configuration/Builders.d.ts +0 -1
  9. package/dist/contracts/Configuration/Configs.d.ts +0 -1
  10. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  11. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  12. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  13. package/dist/contracts/Configuration/Registration.js +58 -36
  14. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  15. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  16. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  17. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  18. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -5
  19. package/dist/contracts/Configuration/RegistrationValidators.js +15 -14
  20. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  21. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  22. package/dist/contracts/Handlers/JsonContract.js +10 -4
  23. package/dist/contracts/Locations/Authority.d.ts +1 -1
  24. package/dist/contracts/Locations/Authority.js +3 -2
  25. package/dist/contracts/Locations/Options.js +1 -1
  26. package/dist/contracts/Locations/Stores.d.ts +12 -0
  27. package/dist/contracts/Locations/Stores.js +9 -0
  28. package/dist/contracts/Spots/Contracts.d.ts +2 -2
  29. package/dist/contracts/Streams/BoundSessionContracts.d.ts +1 -1
  30. package/dist/contracts/Streams/IZLinkSession.d.ts +2 -3
  31. package/dist/contracts/Streams/IZLinkSessionActor.d.ts +2 -2
  32. package/dist/internal.d.ts +4 -0
  33. package/dist/internal.js +15 -1
  34. package/dist/nest-integration.d.ts +4 -2
  35. package/dist/nest-integration.js +14 -4
  36. package/dist/runtime/abort.d.ts +1 -0
  37. package/dist/runtime/abort.js +8 -5
  38. package/dist/runtime/activation-admission.d.ts +1 -2
  39. package/dist/runtime/activation-admission.js +2 -6
  40. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  41. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  42. package/dist/runtime/actors/actor-client.d.ts +2 -2
  43. package/dist/runtime/actors/actor-client.js +49 -153
  44. package/dist/runtime/actors/actor-context.d.ts +3 -5
  45. package/dist/runtime/actors/actor-context.js +13 -11
  46. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  47. package/dist/runtime/actors/actor-handoff.js +8 -8
  48. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  49. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  50. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  51. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  52. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  53. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  54. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  55. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  56. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  57. package/dist/runtime/actors/actor-request-deadline.d.ts +1 -0
  58. package/dist/runtime/actors/actor-request-deadline.js +6 -0
  59. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  60. package/dist/runtime/actors/actor-routed-join-transport.d.ts +2 -3
  61. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  62. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  63. package/dist/runtime/actors/bound-session-wire.js +2 -7
  64. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  65. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  66. package/dist/runtime/actors/index.d.ts +9 -7
  67. package/dist/runtime/actors/index.js +87 -69
  68. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  69. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  70. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  71. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  72. package/dist/runtime/admission.d.ts +2 -0
  73. package/dist/runtime/admission.js +7 -1
  74. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  75. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  76. package/dist/runtime/backend/contracts/index.d.ts +7 -27
  77. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  78. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  79. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  80. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -1
  81. package/dist/runtime/backend/node/node-backend-adapter-support.js +51 -10
  82. package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +1 -1
  83. package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +1 -2
  84. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  85. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  86. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  87. package/dist/runtime/backend/node/node-raw-binding-port.js +41 -34
  88. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  89. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  90. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  91. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  92. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  93. package/dist/runtime/backend/runtime-values.js +2 -0
  94. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  95. package/dist/runtime/channels/channel-clients.js +73 -59
  96. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  97. package/dist/runtime/channels/channel-envelope.d.ts +1 -1
  98. package/dist/runtime/channels/channel-envelope.js +51 -39
  99. package/dist/runtime/channels/channel-outbound-operations.d.ts +5 -2
  100. package/dist/runtime/channels/channel-outbound-operations.js +25 -42
  101. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  102. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  103. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  104. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  105. package/dist/runtime/channels/channel-runtime-manager.d.ts +4 -4
  106. package/dist/runtime/channels/channel-runtime-manager.js +13 -10
  107. package/dist/runtime/channels/channel-socket-options.js +3 -12
  108. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  109. package/dist/runtime/channels/channel-socket-registry.js +240 -177
  110. package/dist/runtime/channels/channel-transports.d.ts +21 -31
  111. package/dist/runtime/channels/channel-transports.js +80 -62
  112. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  113. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  114. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  115. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  116. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  117. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  118. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  119. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  120. package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
  121. package/dist/runtime/channels/local-spot-route-transport.js +1 -3
  122. package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +1 -1
  123. package/dist/runtime/channels/router-socket-spot-route-transport.js +2 -2
  124. package/dist/runtime/channels/source-spot-router.d.ts +1 -1
  125. package/dist/runtime/channels/source-spot-router.js +2 -4
  126. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  127. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  128. package/dist/runtime/channels/spot-node-route-transport.d.ts +1 -1
  129. package/dist/runtime/channels/spot-node-route-transport.js +5 -5
  130. package/dist/runtime/channels/spot-route-bridge-transport.d.ts +1 -1
  131. package/dist/runtime/channels/spot-route-bridge-transport.js +2 -2
  132. package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +2 -4
  133. package/dist/runtime/channels/spot-route-dispatch-strategy.js +11 -12
  134. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  135. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  136. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  137. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  138. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  139. package/dist/runtime/diagnostics/flow-context.js +16 -2
  140. package/dist/runtime/diagnostics/index.d.ts +4 -2
  141. package/dist/runtime/diagnostics/index.js +14 -4
  142. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  143. package/dist/runtime/diagnostics/message-flow.js +10 -19
  144. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  145. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  146. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  147. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  148. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  149. package/dist/runtime/disposal.d.ts +5 -0
  150. package/dist/runtime/disposal.js +22 -0
  151. package/dist/runtime/execution/index.d.ts +12 -9
  152. package/dist/runtime/execution/index.js +58 -14
  153. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  154. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  155. package/dist/runtime/execution/state-lane.d.ts +8 -1
  156. package/dist/runtime/execution/state-lane.js +118 -3
  157. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  158. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  159. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  160. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  161. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  162. package/dist/runtime/foundation/operation-identity.js +9 -5
  163. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  164. package/dist/runtime/foundation/operation-registry.js +34 -44
  165. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  166. package/dist/runtime/foundation/raw-service-mesh-runtime.js +79 -94
  167. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  168. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  169. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  170. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  171. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  172. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  173. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  174. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  175. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  176. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  177. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  178. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  179. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  180. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  181. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  182. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  183. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  184. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  185. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  186. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  187. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  188. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  189. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  190. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  191. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  192. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  193. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  194. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  195. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  196. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  197. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  198. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  199. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  200. package/dist/runtime/framework-errors-internal.js +343 -122
  201. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  202. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  203. package/dist/runtime/host/actor-packet-relay.d.ts +11 -8
  204. package/dist/runtime/host/actor-packet-relay.js +54 -99
  205. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  206. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  207. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  208. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  209. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  210. package/dist/runtime/host/application-job-queue.js +16 -33
  211. package/dist/runtime/host/bound-session-relay.js +1 -1
  212. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  213. package/dist/runtime/host/index.d.ts +14 -13
  214. package/dist/runtime/host/index.js +190 -171
  215. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  216. package/dist/runtime/host/instance-activation-authority.js +17 -45
  217. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  218. package/dist/runtime/host/location-runtime-owner.js +2 -2
  219. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  220. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  221. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  222. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  223. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  224. package/dist/runtime/host/remote-bound-session-relay.js +15 -28
  225. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  226. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  227. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  228. package/dist/runtime/host/runtime-shutdown.js +18 -21
  229. package/dist/runtime/host/service-relocation-control.js +6 -1
  230. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  231. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  232. package/dist/runtime/host/spot-address-transport.d.ts +3 -12
  233. package/dist/runtime/host/spot-address-transport.js +78 -220
  234. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  235. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  236. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  237. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  238. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  239. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  240. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  241. package/dist/runtime/locations/authority-key-codec.js +4 -3
  242. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  243. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  244. package/dist/runtime/locations/creation-operation-id.js +6 -4
  245. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  246. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  247. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  248. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  249. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  250. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  251. package/dist/runtime/locations/key-codec.js +3 -2
  252. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  253. package/dist/runtime/locations/lease-tracker.js +7 -11
  254. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  255. package/dist/runtime/locations/lifecycle.js +2 -31
  256. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  257. package/dist/runtime/locations/location-store-failure.js +7 -0
  258. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  259. package/dist/runtime/locations/location-store-pages.js +13 -0
  260. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  261. package/dist/runtime/locations/location-store-repository.js +309 -336
  262. package/dist/runtime/locations/relocation-blob.js +18 -5
  263. package/dist/runtime/locations/resolvers.d.ts +5 -5
  264. package/dist/runtime/locations/resolvers.js +37 -28
  265. package/dist/runtime/locations/runtime.d.ts +5 -4
  266. package/dist/runtime/locations/runtime.js +123 -92
  267. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  268. package/dist/runtime/locations/spot-location-claims.js +42 -1
  269. package/dist/runtime/messaging/payload-codec.js +26 -20
  270. package/dist/runtime/messaging/request-deadline.d.ts +3 -0
  271. package/dist/runtime/messaging/request-deadline.js +39 -0
  272. package/dist/runtime/messaging/submission-result.d.ts +4 -0
  273. package/dist/runtime/messaging/submission-result.js +56 -1
  274. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  275. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  276. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  277. package/dist/runtime/spots/index.d.ts +14 -20
  278. package/dist/runtime/spots/index.js +302 -176
  279. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  280. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  281. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  282. package/dist/runtime/spots/spot-activation-state.js +2 -2
  283. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  284. package/dist/runtime/spots/spot-activation.js +49 -32
  285. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  286. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  287. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  288. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  289. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  290. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  291. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  292. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  293. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  294. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  295. package/dist/runtime/spots/spot-context.d.ts +2 -2
  296. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  297. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  298. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  299. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  300. package/dist/runtime/spots/spot-manager-public.js +5 -4
  301. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  302. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  303. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  304. package/dist/runtime/spots/spot-outbound.d.ts +7 -8
  305. package/dist/runtime/spots/spot-outbound.js +21 -23
  306. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  307. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  308. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  309. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  310. package/dist/runtime/spots/spot-route-replies.js +3 -1
  311. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  312. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  313. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  314. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  315. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  316. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  317. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  318. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  319. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  320. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  321. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  322. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  323. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  324. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  325. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +8 -4
  326. package/dist/runtime/streams/bound-actor-relay-sender.js +65 -41
  327. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  328. package/dist/runtime/streams/bound-session-service.js +12 -2
  329. package/dist/runtime/streams/index.d.ts +16 -17
  330. package/dist/runtime/streams/index.js +22 -23
  331. package/dist/runtime/streams/managed-stream.d.ts +5 -2
  332. package/dist/runtime/streams/managed-stream.js +20 -13
  333. package/dist/runtime/streams/native-fallback-bound-session.js +14 -19
  334. package/dist/runtime/streams/protocol.d.ts +6 -33
  335. package/dist/runtime/streams/protocol.js +38 -110
  336. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  337. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  338. package/dist/runtime/streams/session-calls.d.ts +6 -8
  339. package/dist/runtime/streams/session-calls.js +6 -22
  340. package/dist/runtime/streams/session-context.d.ts +10 -10
  341. package/dist/runtime/streams/session-context.js +25 -10
  342. package/dist/runtime/streams/session-requests.js +2 -1
  343. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  344. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  345. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  346. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  347. package/dist/runtime/workers/index.d.ts +2 -2
  348. package/dist/runtime/workers/index.js +5 -4
  349. package/package.json +3 -3
  350. package/src/contracts/Actors/ZLinkActorClient.ts +1 -1
  351. package/src/contracts/Channels/Calls.ts +1 -1
  352. package/src/contracts/Common/CoreTypes.ts +7 -0
  353. package/src/contracts/Common/index.ts +1 -1
  354. package/src/contracts/Configuration/Builders.ts +0 -1
  355. package/src/contracts/Configuration/Configs.ts +0 -1
  356. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  357. package/src/contracts/Configuration/Registration.ts +92 -48
  358. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  359. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -71
  360. package/src/contracts/Configuration/RegistrationTypes.ts +1 -5
  361. package/src/contracts/Configuration/RegistrationValidators.ts +19 -17
  362. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  363. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  364. package/src/contracts/Handlers/JsonContract.ts +14 -4
  365. package/src/contracts/Locations/Authority.ts +7 -3
  366. package/src/contracts/Locations/Options.ts +1 -1
  367. package/src/contracts/Locations/Stores.ts +14 -0
  368. package/src/contracts/Spots/Contracts.ts +2 -2
  369. package/src/contracts/Streams/BoundSessionContracts.ts +1 -1
  370. package/src/contracts/Streams/IZLinkSession.ts +2 -3
  371. package/src/contracts/Streams/IZLinkSessionActor.ts +2 -6
  372. package/src/internal.ts +14 -0
  373. package/src/nest-integration.ts +28 -10
  374. package/src/runtime/abort.ts +6 -5
  375. package/src/runtime/activation-admission.ts +2 -8
  376. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  377. package/src/runtime/actors/actor-client.ts +85 -218
  378. package/src/runtime/actors/actor-context.ts +39 -33
  379. package/src/runtime/actors/actor-handoff.ts +24 -22
  380. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  381. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  382. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  383. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  384. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  385. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  386. package/src/runtime/actors/actor-request-deadline.ts +4 -0
  387. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  388. package/src/runtime/actors/actor-routed-join-transport.ts +3 -5
  389. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  390. package/src/runtime/actors/bound-session-wire.ts +2 -8
  391. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  392. package/src/runtime/actors/index.ts +100 -79
  393. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  394. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  395. package/src/runtime/admission.ts +8 -1
  396. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  397. package/src/runtime/backend/contracts/index.ts +14 -37
  398. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  399. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  400. package/src/runtime/backend/node/node-backend-adapter-support.ts +67 -10
  401. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +0 -2
  402. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  403. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  404. package/src/runtime/backend/node/node-raw-binding-port.ts +44 -49
  405. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  406. package/src/runtime/backend/node/node-socket-backend-adapter.ts +4 -3
  407. package/src/runtime/backend/raw-binding-port.ts +1 -1
  408. package/src/runtime/backend/runtime-values.ts +4 -1
  409. package/src/runtime/channels/channel-clients.ts +139 -102
  410. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  411. package/src/runtime/channels/channel-envelope.ts +74 -57
  412. package/src/runtime/channels/channel-outbound-operations.ts +40 -55
  413. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  414. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  415. package/src/runtime/channels/channel-runtime-manager.ts +12 -30
  416. package/src/runtime/channels/channel-socket-options.ts +8 -15
  417. package/src/runtime/channels/channel-socket-registry.ts +291 -196
  418. package/src/runtime/channels/channel-transports.ts +168 -145
  419. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  420. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  421. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  422. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  423. package/src/runtime/channels/local-spot-route-transport.ts +1 -5
  424. package/src/runtime/channels/router-socket-spot-route-transport.ts +2 -6
  425. package/src/runtime/channels/source-spot-router.ts +2 -9
  426. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  427. package/src/runtime/channels/spot-node-route-transport.ts +7 -9
  428. package/src/runtime/channels/spot-route-bridge-transport.ts +5 -12
  429. package/src/runtime/channels/spot-route-dispatch-strategy.ts +11 -30
  430. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  431. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  432. package/src/runtime/diagnostics/flow-context.ts +16 -2
  433. package/src/runtime/diagnostics/index.ts +27 -17
  434. package/src/runtime/diagnostics/message-flow.ts +15 -25
  435. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  436. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  437. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  438. package/src/runtime/disposal.ts +19 -0
  439. package/src/runtime/execution/index.ts +60 -20
  440. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  441. package/src/runtime/execution/state-lane.ts +142 -4
  442. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  443. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  444. package/src/runtime/foundation/operation-identity.ts +11 -5
  445. package/src/runtime/foundation/operation-registry.ts +33 -50
  446. package/src/runtime/foundation/raw-service-mesh-runtime.ts +127 -125
  447. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  448. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  449. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  450. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  451. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  452. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  453. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  454. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  455. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  456. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  457. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  458. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  459. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  460. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  461. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  462. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  463. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  464. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  465. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  466. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  467. package/src/runtime/framework-errors-internal.ts +380 -134
  468. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  469. package/src/runtime/host/actor-packet-relay.ts +63 -160
  470. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  471. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  472. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  473. package/src/runtime/host/application-job-queue.ts +28 -34
  474. package/src/runtime/host/bound-session-relay.ts +1 -2
  475. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  476. package/src/runtime/host/index.ts +327 -320
  477. package/src/runtime/host/instance-activation-authority.ts +89 -109
  478. package/src/runtime/host/location-runtime-owner.ts +4 -2
  479. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  480. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  481. package/src/runtime/host/remote-bound-session-relay.ts +16 -57
  482. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  483. package/src/runtime/host/runtime-shutdown.ts +17 -21
  484. package/src/runtime/host/service-relocation-control.ts +14 -1
  485. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  486. package/src/runtime/host/spot-address-transport.ts +175 -356
  487. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  488. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  489. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  490. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  491. package/src/runtime/locations/authority-key-codec.ts +7 -3
  492. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  493. package/src/runtime/locations/creation-operation-id.ts +6 -3
  494. package/src/runtime/locations/domain-store-contract.ts +12 -3
  495. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  496. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  497. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  498. package/src/runtime/locations/key-codec.ts +3 -2
  499. package/src/runtime/locations/lease-tracker.ts +8 -14
  500. package/src/runtime/locations/lifecycle.ts +13 -43
  501. package/src/runtime/locations/location-store-failure.ts +4 -0
  502. package/src/runtime/locations/location-store-pages.ts +18 -0
  503. package/src/runtime/locations/location-store-repository.ts +457 -482
  504. package/src/runtime/locations/relocation-blob.ts +17 -6
  505. package/src/runtime/locations/resolvers.ts +75 -49
  506. package/src/runtime/locations/runtime.ts +220 -110
  507. package/src/runtime/locations/spot-location-claims.ts +58 -1
  508. package/src/runtime/messaging/payload-codec.ts +35 -24
  509. package/src/runtime/messaging/request-deadline.ts +58 -0
  510. package/src/runtime/messaging/submission-result.ts +72 -2
  511. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  512. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  513. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  514. package/src/runtime/spots/index.ts +433 -229
  515. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  516. package/src/runtime/spots/spot-activation-state.ts +2 -2
  517. package/src/runtime/spots/spot-activation.ts +67 -37
  518. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  519. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  520. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  521. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  522. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  523. package/src/runtime/spots/spot-context.ts +3 -3
  524. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  525. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  526. package/src/runtime/spots/spot-manager-public.ts +21 -17
  527. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  528. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  529. package/src/runtime/spots/spot-outbound.ts +59 -47
  530. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  531. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  532. package/src/runtime/spots/spot-route-replies.ts +6 -4
  533. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  534. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  535. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  536. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  537. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  538. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  539. package/src/runtime/spots/spot-timer.ts +3 -2
  540. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  541. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  542. package/src/runtime/streams/bound-actor-relay-sender.ts +98 -66
  543. package/src/runtime/streams/bound-session-service.ts +22 -2
  544. package/src/runtime/streams/index.ts +78 -68
  545. package/src/runtime/streams/managed-stream.ts +32 -23
  546. package/src/runtime/streams/native-fallback-bound-session.ts +14 -28
  547. package/src/runtime/streams/protocol.ts +34 -88
  548. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  549. package/src/runtime/streams/session-calls.ts +11 -36
  550. package/src/runtime/streams/session-context.ts +60 -25
  551. package/src/runtime/streams/session-requests.ts +2 -1
  552. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  553. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  554. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  555. package/src/runtime/workers/index.ts +13 -12
  556. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  557. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  558. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  559. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  560. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  561. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -9,7 +9,6 @@ const actor_packet_relay_wire_1 = require("../actors/actor-packet-relay-wire");
9
9
  const bound_session_wire_1 = require("../actors/bound-session-wire");
10
10
  const actor_routed_json_request_1 = require("../actors/actor-routed-json-request");
11
11
  const protocol_1 = require("./protocol");
12
- const abort_1 = require("../abort");
13
12
  const packet_name_1 = require("../messaging/packet-name");
14
13
  const flow_context_1 = require("../diagnostics/flow-context");
15
14
  class ZLinkNativeFallbackBoundSession {
@@ -45,8 +44,7 @@ class ZLinkNativeFallbackBoundSession {
45
44
  return;
46
45
  }
47
46
  await this.options.routedTransport.sendToSpot(target, payload, {
48
- packetName: actors_1.ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET,
49
- signal
47
+ packetName: actors_1.ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET
50
48
  });
51
49
  return;
52
50
  }
@@ -80,29 +78,27 @@ class ZLinkNativeFallbackBoundSessionSendCall {
80
78
  this.selectedPacketName = packetName;
81
79
  return this;
82
80
  }
83
- async submit(signal) {
81
+ async submit() {
84
82
  if (this.executed) {
85
83
  (0, submission_result_1.throwAlreadySubmitted)('Bound session send call');
86
84
  }
87
85
  const packetName = (0, packet_name_1.resolveFrameworkPacketName)(this.message, this.selectedPacketName, 'Bound session');
88
86
  this.executed = true;
89
- (0, abort_1.throwIfAborted)(signal);
90
- const result = await this.execute(packetName, signal);
87
+ const result = await this.execute(packetName);
91
88
  (0, submission_result_1.requireOneWayCompletion)(result, 'Bound session send', framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound);
92
89
  }
93
- execute(packetName, signal) {
90
+ execute(packetName) {
94
91
  // Call-scoped flow (spec 27 §4): the relay JSON flow pair and any nested
95
92
  // routed-transport envelope share one ambient flow that does not outlive
96
93
  // this submit call.
97
- return (0, flow_context_1.runWithOutboundFlow)(this.options.flowCreationEnabled?.() ?? true, () => this.executeScoped(packetName, signal));
94
+ return (0, flow_context_1.runWithOutboundFlow)(this.options.flowCreationEnabled?.() ?? true, () => this.executeScoped(packetName));
98
95
  }
99
- async executeScoped(packetName, signal) {
96
+ async executeScoped(packetName) {
100
97
  const localActor = this.options.localActorProvider?.() === true;
101
98
  const remoteTarget = this.options.remoteBoundSessionTargetProvider();
102
- const sealedRemoteTarget = remoteTarget?.relocationSealId !== undefined;
103
99
  let nativeAttempted = false;
104
- if (localActor && !sealedRemoteTarget) {
105
- const result = await this.options.runtime.submitLocalBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata, signal);
100
+ if (localActor) {
101
+ const result = await this.options.runtime.submitLocalBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata);
106
102
  if (result.status !== submission_result_1.ZLinkSubmitStatus.TargetNotFound) {
107
103
  this.traceSubmitted(result, packetName);
108
104
  return result;
@@ -116,7 +112,7 @@ class ZLinkNativeFallbackBoundSessionSendCall {
116
112
  const bindingGeneration = currentBindingGeneration(actorRef);
117
113
  if (actorRef !== undefined && node !== undefined && bindingGeneration !== undefined) {
118
114
  nativeAttempted = true;
119
- const result = await this.options.runtime.sendNativeBoundSession(node, actorRef, this.message, packetName, this.selectedMetadata, signal);
115
+ const result = await this.options.runtime.sendNativeBoundSession(node, actorRef, this.message, packetName, this.selectedMetadata);
120
116
  if (result.status !== submission_result_1.ZLinkSubmitStatus.TargetNotFound) {
121
117
  this.traceSubmitted(result, packetName);
122
118
  return result;
@@ -136,7 +132,6 @@ class ZLinkNativeFallbackBoundSessionSendCall {
136
132
  actorNodeRidHex: actorRef?.nodeRid?.toHex?.(),
137
133
  actorGeneration: actorRef?.objectGeneration.toString(),
138
134
  actorOwnershipGeneration: ownershipGeneration?.toString(),
139
- relocationSealId: remoteTarget.relocationSealId,
140
135
  message: this.message,
141
136
  boundPacketName: packetName,
142
137
  metadata: this.selectedMetadata,
@@ -152,12 +147,12 @@ class ZLinkNativeFallbackBoundSessionSendCall {
152
147
  targetNodeRid: remoteTarget.targetNodeRid,
153
148
  spotId: remoteTarget.spotId,
154
149
  spotKind: contracts_1.ZLinkSpotKind.Entry
155
- }, payload, { packetName: actors_1.ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET, signal })
156
- : await submit.call(this.options.routedTransport, remoteTarget.routerChannelId, String(remoteTarget.targetNodeRid), actors_1.ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET, payload, signal);
150
+ }, payload, { packetName: actors_1.ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET })
151
+ : await submit.call(this.options.routedTransport, remoteTarget.routerChannelId, String(remoteTarget.targetNodeRid), actors_1.ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET, payload);
157
152
  this.traceSubmitted(result, packetName);
158
153
  return result;
159
154
  }
160
- const localResult = await this.options.runtime.submitLocalBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata, signal);
155
+ const localResult = await this.options.runtime.submitLocalBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata);
161
156
  if (localResult.status !== submission_result_1.ZLinkSubmitStatus.TargetNotFound) {
162
157
  this.traceSubmitted(localResult, packetName);
163
158
  return localResult;
@@ -169,14 +164,14 @@ class ZLinkNativeFallbackBoundSessionSendCall {
169
164
  actorRef !== undefined &&
170
165
  node !== undefined &&
171
166
  bindingGeneration !== undefined) {
172
- const result = await this.options.runtime.sendNativeBoundSession(node, actorRef, this.message, packetName, this.selectedMetadata, signal);
167
+ const result = await this.options.runtime.sendNativeBoundSession(node, actorRef, this.message, packetName, this.selectedMetadata);
173
168
  this.traceSubmitted(result, packetName);
174
169
  return result;
175
170
  }
176
171
  if (localActor) {
177
172
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound, `No current session binding exists for actor '${this.options.actorId}'.`, true);
178
173
  }
179
- const result = await this.options.runtime.sendBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata, signal);
174
+ const result = await this.options.runtime.sendBoundSession(this.options.actorId, this.message, packetName, this.selectedMetadata);
180
175
  this.traceSubmitted(result, packetName);
181
176
  return result;
182
177
  }
@@ -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,14 +1,14 @@
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
- sendBoundSession(actorId: string, message: unknown, packetName: string | undefined, metadata: ReadonlyMap<string, string>, signal?: AbortSignal): Promise<ZLinkSubmitResult>;
6
+ sendBoundSession(actorId: string, message: unknown, packetName: string | undefined, metadata: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
7
7
  }
8
8
  export interface ZLinkSessionCallContext {
9
9
  readonly stream: {
10
10
  writeRaw(payload: Message): boolean;
11
- submitRaw(payload: Message, signal?: AbortSignal, timeoutMs?: number): Promise<ZLinkSubmitResult>;
11
+ submitRaw(payload: Message): Promise<ZLinkSubmitResult>;
12
12
  };
13
13
  readonly dispatchHeader: ZLinkStreamFrameHeader | undefined;
14
14
  createJsonFrameMessage(kind: ZLinkStreamMessageKind, packetName: string, metadata: ReadonlyMap<string, string>, compressed: boolean, requestSeq: bigint | undefined, payload: unknown, correlationId?: string): Message;
@@ -31,7 +31,7 @@ export declare class DefaultZLinkBoundSessionSendCall implements ZLinkBoundSessi
31
31
  constructor(runtime: ZLinkBoundSessionSendRuntime, actorId: string, message: unknown);
32
32
  metadata(key: string, value: string): this;
33
33
  packetName(packetName: string): this;
34
- submit(signal?: AbortSignal): Promise<void>;
34
+ submit(): Promise<void>;
35
35
  }
36
36
  export declare class DefaultZLinkSessionSendCall implements ZLinkSessionSendCall {
37
37
  private readonly context;
@@ -39,14 +39,12 @@ export declare class DefaultZLinkSessionSendCall implements ZLinkSessionSendCall
39
39
  private selectedPacketName;
40
40
  private readonly selectedMetadata;
41
41
  private compressionEnabled;
42
- private selectedTimeoutMs;
43
42
  private executed;
44
43
  constructor(context: ZLinkSessionCallContext, message: unknown);
45
44
  metadata(key: string, value: string): this;
46
45
  packetName(packetName: string): this;
47
46
  compress(enabled?: boolean): this;
48
- timeout(timeoutMs: number): this;
49
- submit(signal?: AbortSignal): Promise<void>;
47
+ submit(): Promise<void>;
50
48
  }
51
49
  export declare class DefaultZLinkSessionReplyCall implements ZLinkSessionReplyCall {
52
50
  private readonly context;
@@ -55,5 +53,5 @@ export declare class DefaultZLinkSessionReplyCall implements ZLinkSessionReplyCa
55
53
  private executed;
56
54
  constructor(context: ZLinkSessionCallContext, message: unknown);
57
55
  compress(enabled?: boolean): this;
58
- submit(signal?: AbortSignal): Promise<void>;
56
+ submit(): Promise<void>;
59
57
  }
@@ -3,8 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkSessionReplyCall = exports.DefaultZLinkSessionSendCall = exports.DefaultZLinkBoundSessionSendCall = void 0;
4
4
  const framework_errors_internal_1 = require("../framework-errors-internal");
5
5
  const submission_result_1 = require("../messaging/submission-result");
6
- const abort_1 = require("../abort");
7
- const configuration_1 = require("../configuration");
8
6
  const protocol_1 = require("./protocol");
9
7
  class DefaultZLinkBoundSessionSendCall {
10
8
  runtime;
@@ -26,12 +24,11 @@ class DefaultZLinkBoundSessionSendCall {
26
24
  this.selectedPacketName = packetName;
27
25
  return this;
28
26
  }
29
- async submit(signal) {
27
+ async submit() {
30
28
  (0, protocol_1.ensureSingleSubmit)(this.executed);
31
29
  const packetName = (0, protocol_1.resolvePacketName)(this.message, this.selectedPacketName);
32
30
  this.executed = true;
33
- (0, abort_1.throwIfAborted)(signal);
34
- const result = await this.runtime.sendBoundSession(this.actorId, this.message, packetName, this.selectedMetadata, signal);
31
+ const result = await this.runtime.sendBoundSession(this.actorId, this.message, packetName, this.selectedMetadata);
35
32
  (0, submission_result_1.requireOneWayCompletion)(result, 'Bound session send', framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound);
36
33
  }
37
34
  }
@@ -42,7 +39,6 @@ class DefaultZLinkSessionSendCall {
42
39
  selectedPacketName;
43
40
  selectedMetadata = new Map();
44
41
  compressionEnabled = false;
45
- selectedTimeoutMs;
46
42
  executed = false;
47
43
  constructor(context, message) {
48
44
  this.context = context;
@@ -60,21 +56,13 @@ class DefaultZLinkSessionSendCall {
60
56
  this.compressionEnabled = enabled;
61
57
  return this;
62
58
  }
63
- 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.');
66
- }
67
- this.selectedTimeoutMs = timeoutMs;
68
- return this;
69
- }
70
- async submit(signal) {
59
+ async submit() {
71
60
  (0, protocol_1.ensureSingleSubmit)(this.executed);
72
61
  const packetName = (0, protocol_1.resolvePacketName)(this.message, this.selectedPacketName);
73
62
  this.executed = true;
74
- (0, abort_1.throwIfAborted)(signal);
75
63
  const message = this.context.createJsonFrameMessage(protocol_1.ZLinkStreamMessageKind.Send, packetName, this.selectedMetadata, this.compressionEnabled, undefined, this.message);
76
64
  try {
77
- const result = await this.context.stream.submitRaw(message, signal, this.selectedTimeoutMs);
65
+ const result = await this.context.stream.submitRaw(message);
78
66
  (0, submission_result_1.requireOneWayCompletion)(result, 'STREAM session send');
79
67
  this.context.traceFrameWritten?.(protocol_1.ZLinkStreamMessageKind.Send, packetName, undefined);
80
68
  }
@@ -97,7 +85,7 @@ class DefaultZLinkSessionReplyCall {
97
85
  this.compressionEnabled = enabled;
98
86
  return this;
99
87
  }
100
- async submit(signal) {
88
+ async submit() {
101
89
  (0, protocol_1.ensureSingleSubmit)(this.executed);
102
90
  this.executed = true;
103
91
  const requestHeader = this.context.dispatchHeader;
@@ -105,13 +93,9 @@ class DefaultZLinkSessionReplyCall {
105
93
  throw new Error('Reply is only available while handling a request packet.');
106
94
  }
107
95
  this.context.claimReply(requestHeader);
108
- // Reply-token validity wins over caller cancellation. Claiming before the
109
- // pre-cancel check keeps duplicate calls deterministic while still making
110
- // a pre-cancelled first call perform no transport admission.
111
- (0, abort_1.throwIfAborted)(signal);
112
96
  const message = this.context.createJsonReplyFrameMessage(requestHeader, protocol_1.ZLinkStreamMessageKind.Response, new Map(), this.compressionEnabled, this.message);
113
97
  try {
114
- const result = await this.context.stream.submitRaw(message, signal);
98
+ const result = await this.context.stream.submitRaw(message);
115
99
  (0, submission_result_1.requireOneWayCompletion)(result, 'STREAM session reply');
116
100
  this.context.traceFrameWritten?.(protocol_1.ZLinkStreamMessageKind.Response, requestHeader.name, requestHeader.correlationId);
117
101
  }
@@ -1,15 +1,15 @@
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
- submitRaw(payload: Message, signal?: AbortSignal, timeoutMs?: number): Promise<ZLinkSubmitResult>;
12
+ submitRaw(payload: Message): Promise<ZLinkSubmitResult>;
13
13
  enqueueActorBound?(actorSlot: number, actorId: string): Promise<void>;
14
14
  enqueueActorUnbound?(actorSlot: number): Promise<void>;
15
15
  }
@@ -22,7 +22,7 @@ interface ZLinkSessionContextRuntime {
22
22
  decompressPayload(payload: Message): Message;
23
23
  bind(context: DefaultZLinkSessionContext, actor: ZLinkActor | ActorRef, signal?: AbortSignal): Promise<DefaultZLinkSessionActor>;
24
24
  bindOrGet(context: DefaultZLinkSessionContext, actorRef: ActorRef, signal?: AbortSignal): Promise<DefaultZLinkSessionActor>;
25
- relay(actor: DefaultZLinkSessionActor, payload: ZLinkMessage, signal?: AbortSignal, dispatchHeader?: ZLinkStreamFrameHeader): Promise<ZLinkSubmitResult>;
25
+ relay(actor: DefaultZLinkSessionActor, payload: ZLinkMessage, dispatchHeader?: ZLinkStreamFrameHeader): Promise<ZLinkSubmitResult>;
26
26
  notifyDisconnected(actor: DefaultZLinkSessionActor, signal?: AbortSignal): Promise<void>;
27
27
  }
28
28
  export type ZLinkActorBindingReplacementHandler = (actor: ServiceActorRef, retiredSession: ServiceRetiredBoundSessionRouteFence) => void;
@@ -95,8 +95,8 @@ export declare class DefaultZLinkSessionActor implements ZLinkSessionActor {
95
95
  constructor(runtime: ZLinkSessionContextRuntime, ref: ActorRef, bindingToken: string);
96
96
  get ref(): ActorRef;
97
97
  updateRef(ref: ActorRef): void;
98
- relay(payload: ZLinkMessage, signal?: AbortSignal): Promise<void>;
99
- relay(dispatch: ZLinkSessionDispatchContext, payload: ZLinkMessage, signal?: AbortSignal): Promise<void>;
98
+ relay(payload: ZLinkMessage): Promise<void>;
99
+ relay(dispatch: ZLinkSessionDispatchContext, payload: ZLinkMessage): Promise<void>;
100
100
  notifyDisconnected(signal?: AbortSignal): Promise<void>;
101
101
  }
102
102
  export declare function createSessionDispatchContext(header: ZLinkStreamFrameHeader, actor?: DefaultZLinkSessionActor): ZLinkSessionDispatchContext;