@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
@@ -10,7 +10,11 @@ import type {
10
10
  ZLinkMessageSerializer,
11
11
  ZLinkStream
12
12
  } from '../../contracts';
13
- import { ZLinkSubmitStatus, type ZLinkSubmitResult } from '../messaging/submission-result';
13
+ import {
14
+ ZLinkSubmitStatus,
15
+ classifySubmitResult,
16
+ type ZLinkSubmitResult
17
+ } from '../messaging/submission-result';
14
18
  import type { Message } from '../../contracts/Common/Message';
15
19
  import { throwIfAborted } from '../abort';
16
20
  import { encodeFrameworkPayloadMessage } from '../messaging/payload-codec';
@@ -19,14 +23,16 @@ import type {
19
23
  ZLinkBackendSendFlags,
20
24
  ZLinkBackendStreamSocket
21
25
  } from '../backend/contracts';
22
- import { RequestResult, isBackendNotConnectedError } from '../backend/runtime-values';
26
+ import { RequestResult, isZLinkBackendResultError } from '../backend/runtime-values';
23
27
  import { ZLinkBufferMessage as NativeMessage } from '../backend/runtime-message';
28
+ import { diagnosticTextOrAbsent } from '../diagnostics/diagnostic-text';
24
29
  import type {
25
30
  StreamSessionActorAuthorityFence,
26
31
  StreamSessionService
27
32
  } from '../foundation/service-runtime-contracts';
28
33
  import type { ServiceRetiredBoundSessionRouteFence } from '../foundation/service-stateful-wire-codec';
29
34
  import type { ServiceActorRef } from '../foundation/service-stateful-registry';
35
+ import type { ServiceStreamSessionBinding } from '../foundation/service-runtime-contracts';
30
36
  import {
31
37
  closeMeshCompletion,
32
38
  type ZLinkMeshCompletion,
@@ -55,7 +61,8 @@ export interface ZLinkNativeSessionRoute {
55
61
 
56
62
  interface ZLinkManagedActorBinding {
57
63
  readonly actor: ZLinkBackendActorRef;
58
- readonly bindingGeneration?: bigint;
64
+ /** The Session owner's registry snapshot of this binding (Session–Actor binding §5-2). */
65
+ readonly binding?: ServiceStreamSessionBinding;
59
66
  readonly route?: ZLinkNativeSessionRoute;
60
67
  }
61
68
 
@@ -90,7 +97,12 @@ export class ZLinkManagedStream implements ZLinkStream {
90
97
  }
91
98
 
92
99
  actorBindingGeneration(actorId: string): bigint | undefined {
93
- return this.nativeActorBindings.get(actorId)?.bindingGeneration;
100
+ return this.nativeActorBindings.get(actorId)?.binding?.bindingGeneration;
101
+ }
102
+
103
+ /** The Session owner's registry snapshot of the Actor's current native binding. */
104
+ actorBinding(actorId: string): ServiceStreamSessionBinding | undefined {
105
+ return this.nativeActorBindings.get(actorId)?.binding;
94
106
  }
95
107
 
96
108
  private isTransportClosed(): boolean {
@@ -118,27 +130,19 @@ export class ZLinkManagedStream implements ZLinkStream {
118
130
  return this.socket.send(this.backendRoutingId(), payload, flags ?? 0);
119
131
  }
120
132
 
121
- async submitRaw(
122
- payload: Message,
123
- signal?: AbortSignal,
124
- timeoutMs?: number
125
- ): Promise<ZLinkSubmitResult> {
133
+ async submitRaw(payload: Message): Promise<ZLinkSubmitResult> {
126
134
  try {
127
- throwIfAborted(signal);
128
- await this.socket.submit(this.backendRoutingId(), payload, timeoutMs);
135
+ await this.socket.submit(this.backendRoutingId(), payload);
129
136
  return { status: ZLinkSubmitStatus.Submitted };
130
137
  } catch (error) {
131
- if (isBackendNotConnectedError(error)) return { status: ZLinkSubmitStatus.Backpressured };
138
+ if (isZLinkBackendResultError(error) && error.operation === 'submit') {
139
+ return classifySubmitResult(error.result, 'STREAM submit', error.phase);
140
+ }
132
141
  throw error;
133
142
  }
134
143
  }
135
144
 
136
- async submitBoundActor(
137
- actorId: string,
138
- parts: readonly Message[],
139
- signal?: AbortSignal
140
- ): Promise<ZLinkSubmitResult> {
141
- throwIfAborted(signal);
145
+ async submitBoundActor(actorId: string, parts: readonly Message[]): Promise<ZLinkSubmitResult> {
142
146
  return (await this.sendBoundActor(actorId, parts, ZLINK_SEND_DONT_WAIT))
143
147
  ? { status: ZLinkSubmitStatus.Submitted }
144
148
  : { status: ZLinkSubmitStatus.Backpressured };
@@ -268,7 +272,7 @@ export class ZLinkManagedStream implements ZLinkStream {
268
272
  }
269
273
  this.nativeActorBindings.set(actor.actorId, {
270
274
  actor: nativeActor,
271
- bindingGeneration: binding.bindingGeneration,
275
+ binding,
272
276
  route
273
277
  });
274
278
  return;
@@ -309,7 +313,11 @@ export class ZLinkManagedStream implements ZLinkStream {
309
313
  ZLinkFrameworkInternalErrorKind.ActorRouteNotFound,
310
314
  `Actor '${actor.actorId}' native route fence does not match its ActorRef ` +
311
315
  `(expected ${String(actor.nodeRid)}/${actor.objectGeneration}, ` +
312
- `resolved ${resolved === undefined ? 'none' : `${String(resolved.nodeRid)}/${resolved.generation}`}, ` +
316
+ `resolved ${diagnosticTextOrAbsent(
317
+ resolved === undefined
318
+ ? undefined
319
+ : `${String(resolved.nodeRid)}/${resolved.generation}`
320
+ )}, ` +
313
321
  `terminal=${completion.terminalResult}, failure=${completion.failureErrno}).`
314
322
  );
315
323
  }
@@ -329,7 +337,8 @@ export class ZLinkManagedStream implements ZLinkStream {
329
337
  const binding = this.nativeActorBindings.get(actorId);
330
338
  if (binding?.route !== undefined) {
331
339
  const route = binding.route;
332
- if (!this.hasNativeBinding(route, actorId, binding.bindingGeneration!)) {
340
+ const bindingGeneration = binding.binding!.bindingGeneration;
341
+ if (!this.hasNativeBinding(route, actorId, bindingGeneration)) {
333
342
  this.nativeActorBindings.delete(actorId);
334
343
  return;
335
344
  }
@@ -340,7 +349,7 @@ export class ZLinkManagedStream implements ZLinkStream {
340
349
  route.service.unbindActor(
341
350
  this.backendRoutingId(),
342
351
  binding.actor as never,
343
- binding.bindingGeneration!,
352
+ bindingGeneration,
344
353
  timeoutMs
345
354
  ),
346
355
  signal
@@ -356,7 +365,7 @@ export class ZLinkManagedStream implements ZLinkStream {
356
365
  // tombstone. A transport teardown can therefore report an internal
357
366
  // completion after the exact binding is already gone. Treat only that
358
367
  // exact missing binding as stale cleanup; preserve other failures.
359
- if (this.hasNativeBinding(route, actorId, binding.bindingGeneration!)) {
368
+ if (this.hasNativeBinding(route, actorId, bindingGeneration)) {
360
369
  throw error;
361
370
  }
362
371
  }
@@ -32,7 +32,6 @@ import {
32
32
  type ZLinkStreamFrameHeader
33
33
  } from './protocol';
34
34
  import type { ZLinkNativeFallbackBoundSessionPort } from './stream-binding-runtime-ports';
35
- import { throwIfAborted } from '../abort';
36
35
  import type { ZLinkBackendActorSessionNode } from '../backend';
37
36
  import { resolveFrameworkPacketName } from '../messaging/packet-name';
38
37
  import { currentOrCreateFlow, runWithOutboundFlow } from '../diagnostics/flow-context';
@@ -87,8 +86,7 @@ export class ZLinkNativeFallbackBoundSession implements ZLinkBoundSession {
87
86
  return;
88
87
  }
89
88
  await this.options.routedTransport.sendToSpot(target, payload, {
90
- packetName: ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET,
91
- signal
89
+ packetName: ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET
92
90
  });
93
91
  return;
94
92
  }
@@ -126,7 +124,7 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
126
124
  return this;
127
125
  }
128
126
 
129
- async submit(signal?: AbortSignal): Promise<void> {
127
+ async submit(): Promise<void> {
130
128
  if (this.executed) {
131
129
  throwAlreadySubmitted('Bound session send call');
132
130
  }
@@ -136,8 +134,7 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
136
134
  'Bound session'
137
135
  );
138
136
  this.executed = true;
139
- throwIfAborted(signal);
140
- const result = await this.execute(packetName, signal);
137
+ const result = await this.execute(packetName);
141
138
  requireOneWayCompletion(
142
139
  result,
143
140
  'Bound session send',
@@ -145,30 +142,25 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
145
142
  );
146
143
  }
147
144
 
148
- private execute(packetName: string, signal?: AbortSignal): Promise<ZLinkSubmitResult> {
145
+ private execute(packetName: string): Promise<ZLinkSubmitResult> {
149
146
  // Call-scoped flow (spec 27 §4): the relay JSON flow pair and any nested
150
147
  // routed-transport envelope share one ambient flow that does not outlive
151
148
  // this submit call.
152
149
  return runWithOutboundFlow(this.options.flowCreationEnabled?.() ?? true, () =>
153
- this.executeScoped(packetName, signal)
150
+ this.executeScoped(packetName)
154
151
  );
155
152
  }
156
153
 
157
- private async executeScoped(
158
- packetName: string,
159
- signal?: AbortSignal
160
- ): Promise<ZLinkSubmitResult> {
154
+ private async executeScoped(packetName: string): Promise<ZLinkSubmitResult> {
161
155
  const localActor = this.options.localActorProvider?.() === true;
162
156
  const remoteTarget = this.options.remoteBoundSessionTargetProvider();
163
- const sealedRemoteTarget = remoteTarget?.relocationSealId !== undefined;
164
157
  let nativeAttempted = false;
165
- if (localActor && !sealedRemoteTarget) {
158
+ if (localActor) {
166
159
  const result = await this.options.runtime.submitLocalBoundSession(
167
160
  this.options.actorId,
168
161
  this.message,
169
162
  packetName,
170
- this.selectedMetadata,
171
- signal
163
+ this.selectedMetadata
172
164
  );
173
165
  if (result.status !== ZLinkSubmitStatus.TargetNotFound) {
174
166
  this.traceSubmitted(result, packetName);
@@ -189,8 +181,7 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
189
181
  actorRef,
190
182
  this.message,
191
183
  packetName,
192
- this.selectedMetadata,
193
- signal
184
+ this.selectedMetadata
194
185
  );
195
186
  if (result.status !== ZLinkSubmitStatus.TargetNotFound) {
196
187
  this.traceSubmitted(result, packetName);
@@ -213,7 +204,6 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
213
204
  actorNodeRidHex: (actorRef?.nodeRid as { toHex?: () => string } | undefined)?.toHex?.(),
214
205
  actorGeneration: actorRef?.objectGeneration.toString(),
215
206
  actorOwnershipGeneration: ownershipGeneration?.toString(),
216
- relocationSealId: remoteTarget.relocationSealId,
217
207
  message: this.message,
218
208
  boundPacketName: packetName,
219
209
  metadata: this.selectedMetadata,
@@ -236,15 +226,14 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
236
226
  spotKind: ZLinkSpotKind.Entry
237
227
  },
238
228
  payload,
239
- { packetName: ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET, signal }
229
+ { packetName: ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET }
240
230
  )
241
231
  : await submit.call(
242
232
  this.options.routedTransport,
243
233
  remoteTarget.routerChannelId,
244
234
  String(remoteTarget.targetNodeRid),
245
235
  ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET,
246
- payload,
247
- signal
236
+ payload
248
237
  );
249
238
  this.traceSubmitted(result, packetName);
250
239
  return result;
@@ -253,8 +242,7 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
253
242
  this.options.actorId,
254
243
  this.message,
255
244
  packetName,
256
- this.selectedMetadata,
257
- signal
245
+ this.selectedMetadata
258
246
  );
259
247
  if (localResult.status !== ZLinkSubmitStatus.TargetNotFound) {
260
248
  this.traceSubmitted(localResult, packetName);
@@ -274,8 +262,7 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
274
262
  actorRef,
275
263
  this.message,
276
264
  packetName,
277
- this.selectedMetadata,
278
- signal
265
+ this.selectedMetadata
279
266
  );
280
267
  this.traceSubmitted(result, packetName);
281
268
  return result;
@@ -291,8 +278,7 @@ class ZLinkNativeFallbackBoundSessionSendCall implements ZLinkBoundSessionSendCa
291
278
  this.options.actorId,
292
279
  this.message,
293
280
  packetName,
294
- this.selectedMetadata,
295
- signal
281
+ this.selectedMetadata
296
282
  );
297
283
  this.traceSubmitted(result, packetName);
298
284
  return result;
@@ -1,90 +1,52 @@
1
- import type { Message } from '../../contracts/Common/Message';
2
- import type { ZLinkFlowOrigin } from '../../contracts';
3
- import { resolveFrameworkPacketName } from '../messaging/packet-name';
4
1
  import {
2
+ ZlinkStreamCloseReasonCode as ZLinkStreamCloseReasonCode,
3
+ ZlinkStreamCodec as ZLinkStreamCodec,
4
+ ZlinkStreamHeaderFlags as ZLinkStreamHeaderFlags,
5
+ ZlinkStreamMessageKind as ZLinkStreamMessageKind,
6
+ ZlinkStreamControlPacket,
5
7
  decodeStreamWireFrame,
6
8
  decodeStreamWireHeader,
9
+ defaultMaxDecompressedPayloadSize,
10
+ encodeStreamWireActorBoundPayload,
11
+ encodeStreamWireActorUnboundPayload,
7
12
  encodeStreamWireFrame,
8
13
  encodeStreamWireHeader,
14
+ encodeStreamWireSessionClosingPayload,
9
15
  lz4PickleUncompressed,
10
16
  lz4UnpicklePayload,
11
17
  tryDecodeStreamWireFrame,
12
- utf8Encode
18
+ streamCodecContentType as wireCodecContentType,
19
+ streamCodecForContentType as wireCodecForContentType
13
20
  } from '@zlink-systems/stream-wire';
21
+ import type { ZLinkFlowOrigin } from '../../contracts';
22
+ import type { Message } from '../../contracts/Common/Message';
23
+ import { resolveFrameworkPacketName } from '../messaging/packet-name';
14
24
  import { throwAlreadySubmitted } from '../messaging/submission-result';
25
+ export {
26
+ ZlinkStreamMessageKind as ZLinkStreamMessageKind,
27
+ ZlinkStreamHeaderFlags as ZLinkStreamHeaderFlags,
28
+ ZlinkStreamCloseReasonCode as ZLinkStreamCloseReasonCode
29
+ } from '@zlink-systems/stream-wire';
15
30
 
16
31
  export { utf8Decode, utf8Encode } from '@zlink-systems/stream-wire';
17
32
 
18
- const defaultMaxDecompressedPayloadSize = 64 * 1024;
19
33
  const actorRequestDeadlineMetadataKey = '$zlink.actor-request-deadline-unix-ms';
20
34
  // Shared empty metadata for the dominant no-metadata frame; ReadonlyMap
21
35
  // keeps every consumer from mutating it.
22
36
  const EMPTY_STREAM_METADATA: ReadonlyMap<string, string> = new Map();
23
37
 
24
- export enum ZLinkStreamCodec {
25
- Raw = 0,
26
- Json = 1,
27
- MessagePack = 2,
28
- Protobuf = 3
29
- }
38
+ export { ZlinkStreamCodec as ZLinkStreamCodec } from '@zlink-systems/stream-wire';
30
39
 
31
40
  export function streamCodecContentType(codec: ZLinkStreamCodec): string {
32
- switch (codec) {
33
- case ZLinkStreamCodec.Json:
34
- return 'application/json';
35
- case ZLinkStreamCodec.MessagePack:
36
- return 'application/x-msgpack';
37
- case ZLinkStreamCodec.Protobuf:
38
- return 'application/x-protobuf';
39
- case ZLinkStreamCodec.Raw:
40
- return 'application/octet-stream';
41
- }
42
- throw new TypeError(`Unsupported STREAM codec '${codec}'.`);
41
+ return wireCodecContentType(codec);
43
42
  }
44
43
 
45
44
  export function streamCodecForContentType(contentType: string): ZLinkStreamCodec {
46
- switch (contentType) {
47
- case 'application/json':
48
- return ZLinkStreamCodec.Json;
49
- case 'application/x-msgpack':
50
- return ZLinkStreamCodec.MessagePack;
51
- case 'application/x-protobuf':
52
- return ZLinkStreamCodec.Protobuf;
53
- case 'application/octet-stream':
54
- return ZLinkStreamCodec.Raw;
55
- }
56
- throw new TypeError(`Unsupported STREAM content type '${contentType}'.`);
45
+ return wireCodecForContentType(contentType);
57
46
  }
58
47
 
59
- export enum ZLinkStreamMessageKind {
60
- Send = 1,
61
- Request = 2,
62
- Response = 3,
63
- Error = 4,
64
- Control = 5
65
- }
66
-
67
- export enum ZLinkStreamHeaderFlags {
68
- None = 0,
69
- HasRequestSeq = 0x01,
70
- HasMetadata = 0x02,
71
- PayloadCompressed = 0x04,
72
- HasCorrelationId = 0x08,
73
- HasFlowId = 0x10,
74
- HasActorSlot = 0x20
75
- }
76
-
77
- export enum ZLinkStreamCloseReasonCode {
78
- ClientClose = 1,
79
- IdleTimeout = 2,
80
- HeartbeatTimeout = 3,
81
- ServerDrain = 4,
82
- ProtocolError = 5,
83
- TransportError = 6
84
- }
85
-
86
- export const ZLINK_STREAM_HEARTBEAT_PING = '$zlink.heartbeat.ping';
87
- export const ZLINK_STREAM_HEARTBEAT_PONG = '$zlink.heartbeat.pong';
48
+ export const ZLINK_STREAM_HEARTBEAT_PING = ZlinkStreamControlPacket.HeartbeatPing;
49
+ export const ZLINK_STREAM_HEARTBEAT_PONG = ZlinkStreamControlPacket.HeartbeatPong;
88
50
 
89
51
  export interface ZLinkStreamFrameHeader {
90
52
  readonly kind: ZLinkStreamMessageKind;
@@ -142,48 +104,32 @@ export function encodeStreamControlFrame(name: string): Uint8Array {
142
104
  }
143
105
 
144
106
  export function encodeActorBoundFrame(actorSlot: number, actorId: string): Uint8Array {
145
- const actorIdBytes = utf8Encode(actorId);
146
- if (actorIdBytes.length < 1 || actorIdBytes.length > 0xff) {
147
- throw new Error('Actor id length is invalid for a STREAM binding control packet.');
148
- }
149
- const payload = new Uint8Array(4 + actorIdBytes.length);
150
- payload[0] = 1;
151
- payload[1] = actorSlot >>> 8;
152
- payload[2] = actorSlot & 0xff;
153
- payload[3] = actorIdBytes.length;
154
- payload.set(actorIdBytes, 4);
155
- return encodeStreamFrame(controlHeader('$zlink.actor.bound'), payload);
107
+ return encodeStreamFrame(
108
+ controlHeader(ZlinkStreamControlPacket.ActorBound),
109
+ encodeStreamWireActorBoundPayload(actorSlot, actorId)
110
+ );
156
111
  }
157
112
 
158
113
  export function encodeActorUnboundFrame(actorSlot: number): Uint8Array {
159
- const payload = new Uint8Array(3);
160
- payload[0] = 1;
161
- payload[1] = actorSlot >>> 8;
162
- payload[2] = actorSlot & 0xff;
163
- return encodeStreamFrame(controlHeader('$zlink.actor.unbound'), payload);
114
+ return encodeStreamFrame(
115
+ controlHeader(ZlinkStreamControlPacket.ActorUnbound),
116
+ encodeStreamWireActorUnboundPayload(actorSlot)
117
+ );
164
118
  }
165
119
 
166
120
  export function encodeSessionClosingFrame(
167
121
  diagnostic = '',
168
122
  reason = ZLinkStreamCloseReasonCode.ServerDrain
169
123
  ): Uint8Array {
170
- const diagnosticBytes = utf8Encode(diagnostic);
171
- if (diagnosticBytes.length > 512) throw new Error('Session-closing diagnostic is too large.');
172
- const payload = new Uint8Array(4 + diagnosticBytes.length);
173
- payload[0] = 1;
174
- payload[1] = reason;
175
- payload[2] = diagnosticBytes.length >>> 8;
176
- payload[3] = diagnosticBytes.length & 0xff;
177
- payload.set(diagnosticBytes, 4);
178
124
  return encodeStreamFrame(
179
125
  {
180
126
  kind: ZLinkStreamMessageKind.Control,
181
127
  codec: ZLinkStreamCodec.Raw,
182
128
  flags: ZLinkStreamHeaderFlags.None,
183
- name: 'session-closing',
129
+ name: ZlinkStreamControlPacket.SessionClosing,
184
130
  metadata: new Map()
185
131
  },
186
- payload
132
+ encodeStreamWireSessionClosingPayload(reason, diagnostic)
187
133
  );
188
134
  }
189
135
 
@@ -1,3 +1,4 @@
1
+ import { DEFAULT_RELAY_ACTOR_BIND_TIMEOUT_MS } from './bound-actor-relay-sender';
1
2
  import {
2
3
  ZLinkFrameworkInternalErrorKind,
3
4
  createInternalFrameworkException
@@ -13,6 +14,7 @@ import {
13
14
  import { ZLinkActorSessionLifecycleCoordinator } from './actor-session-lifecycle-coordinator';
14
15
  import { ZLinkManagedStream } from './managed-stream';
15
16
  import { DefaultZLinkSessionActor, DefaultZLinkSessionContext } from './session-context';
17
+ import type { ZLinkSessionBindingConfirmationOptions } from './stream-binding-runtime-ports';
16
18
 
17
19
  export interface ZLinkSessionActorCoordinatorOptions {
18
20
  readonly actorBindTimeoutMs?: number;
@@ -31,7 +33,7 @@ export interface ZLinkSessionActorCoordinatorOptions {
31
33
  actor: ActorRef,
32
34
  sessionRid: ActorRef['nodeRid'],
33
35
  signal?: AbortSignal,
34
- options?: { readonly waitForAcknowledgement?: boolean }
36
+ options?: ZLinkSessionBindingConfirmationOptions
35
37
  ) => Promise<void>;
36
38
  readonly errorSink?: () =>
37
39
  | {
@@ -181,7 +183,13 @@ export class ZLinkSessionActorCoordinator {
181
183
  boundActorRef,
182
184
  this.actorBindingRoutingId(context),
183
185
  undefined,
184
- { waitForAcknowledgement }
186
+ {
187
+ waitForAcknowledgement,
188
+ binding:
189
+ context.stream instanceof ZLinkManagedStream
190
+ ? context.stream.actorBinding(actorRef.actorId)
191
+ : undefined
192
+ }
185
193
  );
186
194
  const reportFailure = (error: unknown) => {
187
195
  // A fire-and-forget route update retains the already-current binding;
@@ -204,7 +212,7 @@ export class ZLinkSessionActorCoordinator {
204
212
  if (context.stream instanceof ZLinkManagedStream) {
205
213
  await context.stream.unbindActor(
206
214
  actorRef.actorId,
207
- this.options.actorBindTimeoutMs ?? 2000
215
+ this.options.actorBindTimeoutMs ?? DEFAULT_RELAY_ACTOR_BIND_TIMEOUT_MS
208
216
  );
209
217
  }
210
218
  } catch (cleanupError) {
@@ -354,7 +362,11 @@ export class ZLinkSessionActorCoordinator {
354
362
  true
355
363
  );
356
364
  }
357
- route.actor.updateRef(normalizedActorRef);
365
+ // A location refresh never changes the route's Session binding
366
+ // generation; the native bind owns it.
367
+ route.actor.updateRef(
368
+ withBindingGeneration(normalizedActorRef, bindingGenerationOf(route.actor.ref), undefined)
369
+ );
358
370
  if (authorityFence !== undefined) {
359
371
  await this.routes.updateAuthorityFence(normalizedActorRef.actorId, authorityFence);
360
372
  }
@@ -463,7 +475,7 @@ export class ZLinkSessionActorCoordinator {
463
475
  try {
464
476
  await context.stream.bindActor(
465
477
  actorRef,
466
- this.options.actorBindTimeoutMs ?? 2000,
478
+ this.options.actorBindTimeoutMs ?? DEFAULT_RELAY_ACTOR_BIND_TIMEOUT_MS,
467
479
  signal,
468
480
  context.actorBindingReplacedHandler,
469
481
  authorityFence
@@ -1,14 +1,12 @@
1
- import { ZLinkFrameworkInternalErrorKind } from '../framework-errors-internal';
2
1
  import type {
3
2
  ZLinkBoundSessionSendCall,
4
3
  ZLinkSessionReplyCall,
5
4
  ZLinkSessionSendCall
6
5
  } from '../../contracts';
7
- import type { ZLinkSubmitResult } from '../messaging/submission-result';
8
- import { requireOneWayCompletion } from '../messaging/submission-result';
9
6
  import type { Message } from '../../contracts/Common/Message';
10
- import { throwIfAborted } from '../abort';
11
- import { ZLinkConfigurationException } from '../configuration';
7
+ import { ZLinkFrameworkInternalErrorKind } from '../framework-errors-internal';
8
+ import { type ZLinkSubmitResult, requireOneWayCompletion } from '../messaging/submission-result';
9
+
12
10
  import {
13
11
  ensureSingleSubmit,
14
12
  resolvePacketName,
@@ -22,19 +20,14 @@ export interface ZLinkBoundSessionSendRuntime {
22
20
  actorId: string,
23
21
  message: unknown,
24
22
  packetName: string | undefined,
25
- metadata: ReadonlyMap<string, string>,
26
- signal?: AbortSignal
23
+ metadata: ReadonlyMap<string, string>
27
24
  ): Promise<ZLinkSubmitResult>;
28
25
  }
29
26
 
30
27
  export interface ZLinkSessionCallContext {
31
28
  readonly stream: {
32
29
  writeRaw(payload: Message): boolean;
33
- submitRaw(
34
- payload: Message,
35
- signal?: AbortSignal,
36
- timeoutMs?: number
37
- ): Promise<ZLinkSubmitResult>;
30
+ submitRaw(payload: Message): Promise<ZLinkSubmitResult>;
38
31
  };
39
32
  readonly dispatchHeader: ZLinkStreamFrameHeader | undefined;
40
33
  createJsonFrameMessage(
@@ -87,17 +80,15 @@ export class DefaultZLinkBoundSessionSendCall implements ZLinkBoundSessionSendCa
87
80
  return this;
88
81
  }
89
82
 
90
- async submit(signal?: AbortSignal): Promise<void> {
83
+ async submit(): Promise<void> {
91
84
  ensureSingleSubmit(this.executed);
92
85
  const packetName = resolvePacketName(this.message, this.selectedPacketName);
93
86
  this.executed = true;
94
- throwIfAborted(signal);
95
87
  const result = await this.runtime.sendBoundSession(
96
88
  this.actorId,
97
89
  this.message,
98
90
  packetName,
99
- this.selectedMetadata,
100
- signal
91
+ this.selectedMetadata
101
92
  );
102
93
  requireOneWayCompletion(
103
94
  result,
@@ -111,7 +102,6 @@ export class DefaultZLinkSessionSendCall implements ZLinkSessionSendCall {
111
102
  private selectedPacketName: string | undefined;
112
103
  private readonly selectedMetadata = new Map<string, string>();
113
104
  private compressionEnabled = false;
114
- private selectedTimeoutMs: number | undefined;
115
105
  private executed = false;
116
106
 
117
107
  constructor(
@@ -134,21 +124,10 @@ export class DefaultZLinkSessionSendCall implements ZLinkSessionSendCall {
134
124
  return this;
135
125
  }
136
126
 
137
- timeout(timeoutMs: number): this {
138
- if (!Number.isInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > 2_147_483_647) {
139
- throw new ZLinkConfigurationException(
140
- 'STREAM session send timeout must be an integer from 1 through 2147483647 milliseconds.'
141
- );
142
- }
143
- this.selectedTimeoutMs = timeoutMs;
144
- return this;
145
- }
146
-
147
- async submit(signal?: AbortSignal): Promise<void> {
127
+ async submit(): Promise<void> {
148
128
  ensureSingleSubmit(this.executed);
149
129
  const packetName = resolvePacketName(this.message, this.selectedPacketName);
150
130
  this.executed = true;
151
- throwIfAborted(signal);
152
131
  const message = this.context.createJsonFrameMessage(
153
132
  ZLinkStreamMessageKind.Send,
154
133
  packetName,
@@ -158,7 +137,7 @@ export class DefaultZLinkSessionSendCall implements ZLinkSessionSendCall {
158
137
  this.message
159
138
  );
160
139
  try {
161
- const result = await this.context.stream.submitRaw(message, signal, this.selectedTimeoutMs);
140
+ const result = await this.context.stream.submitRaw(message);
162
141
  requireOneWayCompletion(result, 'STREAM session send');
163
142
  this.context.traceFrameWritten?.(ZLinkStreamMessageKind.Send, packetName, undefined);
164
143
  } finally {
@@ -181,7 +160,7 @@ export class DefaultZLinkSessionReplyCall implements ZLinkSessionReplyCall {
181
160
  return this;
182
161
  }
183
162
 
184
- async submit(signal?: AbortSignal): Promise<void> {
163
+ async submit(): Promise<void> {
185
164
  ensureSingleSubmit(this.executed);
186
165
  this.executed = true;
187
166
  const requestHeader = this.context.dispatchHeader;
@@ -189,10 +168,6 @@ export class DefaultZLinkSessionReplyCall implements ZLinkSessionReplyCall {
189
168
  throw new Error('Reply is only available while handling a request packet.');
190
169
  }
191
170
  this.context.claimReply(requestHeader);
192
- // Reply-token validity wins over caller cancellation. Claiming before the
193
- // pre-cancel check keeps duplicate calls deterministic while still making
194
- // a pre-cancelled first call perform no transport admission.
195
- throwIfAborted(signal);
196
171
  const message = this.context.createJsonReplyFrameMessage(
197
172
  requestHeader,
198
173
  ZLinkStreamMessageKind.Response,
@@ -201,7 +176,7 @@ export class DefaultZLinkSessionReplyCall implements ZLinkSessionReplyCall {
201
176
  this.message
202
177
  );
203
178
  try {
204
- const result = await this.context.stream.submitRaw(message, signal);
179
+ const result = await this.context.stream.submitRaw(message);
205
180
  requireOneWayCompletion(result, 'STREAM session reply');
206
181
  this.context.traceFrameWritten?.(
207
182
  ZLinkStreamMessageKind.Response,