@zlink-systems/framework 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Actors/ZLinkActorClient.d.ts +1 -1
  3. package/dist/contracts/Channels/Calls.d.ts +1 -1
  4. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  5. package/dist/contracts/Common/CoreTypes.js +7 -0
  6. package/dist/contracts/Common/index.d.ts +1 -1
  7. package/dist/contracts/Common/index.js +0 -1
  8. package/dist/contracts/Configuration/Builders.d.ts +0 -1
  9. package/dist/contracts/Configuration/Configs.d.ts +0 -1
  10. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  11. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  12. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  13. package/dist/contracts/Configuration/Registration.js +58 -36
  14. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  15. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  16. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  17. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  18. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -5
  19. package/dist/contracts/Configuration/RegistrationValidators.js +15 -14
  20. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  21. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  22. package/dist/contracts/Handlers/JsonContract.js +10 -4
  23. package/dist/contracts/Locations/Authority.d.ts +1 -1
  24. package/dist/contracts/Locations/Authority.js +3 -2
  25. package/dist/contracts/Locations/Options.js +1 -1
  26. package/dist/contracts/Locations/Stores.d.ts +12 -0
  27. package/dist/contracts/Locations/Stores.js +9 -0
  28. package/dist/contracts/Spots/Contracts.d.ts +2 -2
  29. package/dist/contracts/Streams/BoundSessionContracts.d.ts +1 -1
  30. package/dist/contracts/Streams/IZLinkSession.d.ts +2 -3
  31. package/dist/contracts/Streams/IZLinkSessionActor.d.ts +2 -2
  32. package/dist/internal.d.ts +4 -0
  33. package/dist/internal.js +15 -1
  34. package/dist/nest-integration.d.ts +4 -2
  35. package/dist/nest-integration.js +14 -4
  36. package/dist/runtime/abort.d.ts +1 -0
  37. package/dist/runtime/abort.js +8 -5
  38. package/dist/runtime/activation-admission.d.ts +1 -2
  39. package/dist/runtime/activation-admission.js +2 -6
  40. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  41. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  42. package/dist/runtime/actors/actor-client.d.ts +2 -2
  43. package/dist/runtime/actors/actor-client.js +49 -153
  44. package/dist/runtime/actors/actor-context.d.ts +3 -5
  45. package/dist/runtime/actors/actor-context.js +13 -11
  46. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  47. package/dist/runtime/actors/actor-handoff.js +8 -8
  48. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  49. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  50. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  51. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  52. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  53. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  54. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  55. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  56. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  57. package/dist/runtime/actors/actor-request-deadline.d.ts +1 -0
  58. package/dist/runtime/actors/actor-request-deadline.js +6 -0
  59. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  60. package/dist/runtime/actors/actor-routed-join-transport.d.ts +2 -3
  61. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  62. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  63. package/dist/runtime/actors/bound-session-wire.js +2 -7
  64. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  65. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  66. package/dist/runtime/actors/index.d.ts +9 -7
  67. package/dist/runtime/actors/index.js +87 -69
  68. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  69. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  70. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  71. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  72. package/dist/runtime/admission.d.ts +2 -0
  73. package/dist/runtime/admission.js +7 -1
  74. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  75. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  76. package/dist/runtime/backend/contracts/index.d.ts +7 -27
  77. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  78. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  79. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  80. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -1
  81. package/dist/runtime/backend/node/node-backend-adapter-support.js +51 -10
  82. package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +1 -1
  83. package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +1 -2
  84. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  85. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  86. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  87. package/dist/runtime/backend/node/node-raw-binding-port.js +41 -34
  88. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  89. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  90. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  91. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  92. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  93. package/dist/runtime/backend/runtime-values.js +2 -0
  94. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  95. package/dist/runtime/channels/channel-clients.js +73 -59
  96. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  97. package/dist/runtime/channels/channel-envelope.d.ts +1 -1
  98. package/dist/runtime/channels/channel-envelope.js +51 -39
  99. package/dist/runtime/channels/channel-outbound-operations.d.ts +5 -2
  100. package/dist/runtime/channels/channel-outbound-operations.js +25 -42
  101. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  102. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  103. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  104. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  105. package/dist/runtime/channels/channel-runtime-manager.d.ts +4 -4
  106. package/dist/runtime/channels/channel-runtime-manager.js +13 -10
  107. package/dist/runtime/channels/channel-socket-options.js +3 -12
  108. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  109. package/dist/runtime/channels/channel-socket-registry.js +240 -177
  110. package/dist/runtime/channels/channel-transports.d.ts +21 -31
  111. package/dist/runtime/channels/channel-transports.js +80 -62
  112. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  113. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  114. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  115. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  116. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  117. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  118. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  119. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  120. package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
  121. package/dist/runtime/channels/local-spot-route-transport.js +1 -3
  122. package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +1 -1
  123. package/dist/runtime/channels/router-socket-spot-route-transport.js +2 -2
  124. package/dist/runtime/channels/source-spot-router.d.ts +1 -1
  125. package/dist/runtime/channels/source-spot-router.js +2 -4
  126. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  127. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  128. package/dist/runtime/channels/spot-node-route-transport.d.ts +1 -1
  129. package/dist/runtime/channels/spot-node-route-transport.js +5 -5
  130. package/dist/runtime/channels/spot-route-bridge-transport.d.ts +1 -1
  131. package/dist/runtime/channels/spot-route-bridge-transport.js +2 -2
  132. package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +2 -4
  133. package/dist/runtime/channels/spot-route-dispatch-strategy.js +11 -12
  134. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  135. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  136. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  137. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  138. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  139. package/dist/runtime/diagnostics/flow-context.js +16 -2
  140. package/dist/runtime/diagnostics/index.d.ts +4 -2
  141. package/dist/runtime/diagnostics/index.js +14 -4
  142. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  143. package/dist/runtime/diagnostics/message-flow.js +10 -19
  144. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  145. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  146. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  147. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  148. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  149. package/dist/runtime/disposal.d.ts +5 -0
  150. package/dist/runtime/disposal.js +22 -0
  151. package/dist/runtime/execution/index.d.ts +12 -9
  152. package/dist/runtime/execution/index.js +58 -14
  153. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  154. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  155. package/dist/runtime/execution/state-lane.d.ts +8 -1
  156. package/dist/runtime/execution/state-lane.js +118 -3
  157. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  158. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  159. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  160. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  161. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  162. package/dist/runtime/foundation/operation-identity.js +9 -5
  163. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  164. package/dist/runtime/foundation/operation-registry.js +34 -44
  165. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  166. package/dist/runtime/foundation/raw-service-mesh-runtime.js +79 -94
  167. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  168. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  169. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  170. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  171. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  172. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  173. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  174. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  175. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  176. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  177. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  178. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  179. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  180. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  181. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  182. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  183. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  184. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  185. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  186. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  187. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  188. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  189. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  190. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  191. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  192. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  193. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  194. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  195. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  196. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  197. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  198. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  199. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  200. package/dist/runtime/framework-errors-internal.js +343 -122
  201. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  202. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  203. package/dist/runtime/host/actor-packet-relay.d.ts +11 -8
  204. package/dist/runtime/host/actor-packet-relay.js +54 -99
  205. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  206. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  207. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  208. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  209. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  210. package/dist/runtime/host/application-job-queue.js +16 -33
  211. package/dist/runtime/host/bound-session-relay.js +1 -1
  212. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  213. package/dist/runtime/host/index.d.ts +14 -13
  214. package/dist/runtime/host/index.js +190 -171
  215. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  216. package/dist/runtime/host/instance-activation-authority.js +17 -45
  217. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  218. package/dist/runtime/host/location-runtime-owner.js +2 -2
  219. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  220. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  221. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  222. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  223. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  224. package/dist/runtime/host/remote-bound-session-relay.js +15 -28
  225. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  226. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  227. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  228. package/dist/runtime/host/runtime-shutdown.js +18 -21
  229. package/dist/runtime/host/service-relocation-control.js +6 -1
  230. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  231. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  232. package/dist/runtime/host/spot-address-transport.d.ts +3 -12
  233. package/dist/runtime/host/spot-address-transport.js +78 -220
  234. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  235. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  236. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  237. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  238. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  239. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  240. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  241. package/dist/runtime/locations/authority-key-codec.js +4 -3
  242. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  243. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  244. package/dist/runtime/locations/creation-operation-id.js +6 -4
  245. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  246. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  247. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  248. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  249. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  250. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  251. package/dist/runtime/locations/key-codec.js +3 -2
  252. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  253. package/dist/runtime/locations/lease-tracker.js +7 -11
  254. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  255. package/dist/runtime/locations/lifecycle.js +2 -31
  256. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  257. package/dist/runtime/locations/location-store-failure.js +7 -0
  258. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  259. package/dist/runtime/locations/location-store-pages.js +13 -0
  260. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  261. package/dist/runtime/locations/location-store-repository.js +309 -336
  262. package/dist/runtime/locations/relocation-blob.js +18 -5
  263. package/dist/runtime/locations/resolvers.d.ts +5 -5
  264. package/dist/runtime/locations/resolvers.js +37 -28
  265. package/dist/runtime/locations/runtime.d.ts +5 -4
  266. package/dist/runtime/locations/runtime.js +123 -92
  267. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  268. package/dist/runtime/locations/spot-location-claims.js +42 -1
  269. package/dist/runtime/messaging/payload-codec.js +26 -20
  270. package/dist/runtime/messaging/request-deadline.d.ts +3 -0
  271. package/dist/runtime/messaging/request-deadline.js +39 -0
  272. package/dist/runtime/messaging/submission-result.d.ts +4 -0
  273. package/dist/runtime/messaging/submission-result.js +56 -1
  274. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  275. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  276. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  277. package/dist/runtime/spots/index.d.ts +14 -20
  278. package/dist/runtime/spots/index.js +302 -176
  279. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  280. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  281. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  282. package/dist/runtime/spots/spot-activation-state.js +2 -2
  283. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  284. package/dist/runtime/spots/spot-activation.js +49 -32
  285. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  286. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  287. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  288. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  289. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  290. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  291. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  292. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  293. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  294. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  295. package/dist/runtime/spots/spot-context.d.ts +2 -2
  296. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  297. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  298. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  299. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  300. package/dist/runtime/spots/spot-manager-public.js +5 -4
  301. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  302. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  303. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  304. package/dist/runtime/spots/spot-outbound.d.ts +7 -8
  305. package/dist/runtime/spots/spot-outbound.js +21 -23
  306. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  307. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  308. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  309. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  310. package/dist/runtime/spots/spot-route-replies.js +3 -1
  311. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  312. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  313. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  314. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  315. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  316. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  317. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  318. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  319. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  320. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  321. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  322. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  323. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  324. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  325. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +8 -4
  326. package/dist/runtime/streams/bound-actor-relay-sender.js +65 -41
  327. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  328. package/dist/runtime/streams/bound-session-service.js +12 -2
  329. package/dist/runtime/streams/index.d.ts +16 -17
  330. package/dist/runtime/streams/index.js +22 -23
  331. package/dist/runtime/streams/managed-stream.d.ts +5 -2
  332. package/dist/runtime/streams/managed-stream.js +20 -13
  333. package/dist/runtime/streams/native-fallback-bound-session.js +14 -19
  334. package/dist/runtime/streams/protocol.d.ts +6 -33
  335. package/dist/runtime/streams/protocol.js +38 -110
  336. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  337. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  338. package/dist/runtime/streams/session-calls.d.ts +6 -8
  339. package/dist/runtime/streams/session-calls.js +6 -22
  340. package/dist/runtime/streams/session-context.d.ts +10 -10
  341. package/dist/runtime/streams/session-context.js +25 -10
  342. package/dist/runtime/streams/session-requests.js +2 -1
  343. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  344. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  345. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  346. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  347. package/dist/runtime/workers/index.d.ts +2 -2
  348. package/dist/runtime/workers/index.js +5 -4
  349. package/package.json +3 -3
  350. package/src/contracts/Actors/ZLinkActorClient.ts +1 -1
  351. package/src/contracts/Channels/Calls.ts +1 -1
  352. package/src/contracts/Common/CoreTypes.ts +7 -0
  353. package/src/contracts/Common/index.ts +1 -1
  354. package/src/contracts/Configuration/Builders.ts +0 -1
  355. package/src/contracts/Configuration/Configs.ts +0 -1
  356. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  357. package/src/contracts/Configuration/Registration.ts +92 -48
  358. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  359. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -71
  360. package/src/contracts/Configuration/RegistrationTypes.ts +1 -5
  361. package/src/contracts/Configuration/RegistrationValidators.ts +19 -17
  362. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  363. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  364. package/src/contracts/Handlers/JsonContract.ts +14 -4
  365. package/src/contracts/Locations/Authority.ts +7 -3
  366. package/src/contracts/Locations/Options.ts +1 -1
  367. package/src/contracts/Locations/Stores.ts +14 -0
  368. package/src/contracts/Spots/Contracts.ts +2 -2
  369. package/src/contracts/Streams/BoundSessionContracts.ts +1 -1
  370. package/src/contracts/Streams/IZLinkSession.ts +2 -3
  371. package/src/contracts/Streams/IZLinkSessionActor.ts +2 -6
  372. package/src/internal.ts +14 -0
  373. package/src/nest-integration.ts +28 -10
  374. package/src/runtime/abort.ts +6 -5
  375. package/src/runtime/activation-admission.ts +2 -8
  376. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  377. package/src/runtime/actors/actor-client.ts +85 -218
  378. package/src/runtime/actors/actor-context.ts +39 -33
  379. package/src/runtime/actors/actor-handoff.ts +24 -22
  380. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  381. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  382. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  383. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  384. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  385. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  386. package/src/runtime/actors/actor-request-deadline.ts +4 -0
  387. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  388. package/src/runtime/actors/actor-routed-join-transport.ts +3 -5
  389. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  390. package/src/runtime/actors/bound-session-wire.ts +2 -8
  391. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  392. package/src/runtime/actors/index.ts +100 -79
  393. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  394. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  395. package/src/runtime/admission.ts +8 -1
  396. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  397. package/src/runtime/backend/contracts/index.ts +14 -37
  398. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  399. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  400. package/src/runtime/backend/node/node-backend-adapter-support.ts +67 -10
  401. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +0 -2
  402. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  403. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  404. package/src/runtime/backend/node/node-raw-binding-port.ts +44 -49
  405. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  406. package/src/runtime/backend/node/node-socket-backend-adapter.ts +4 -3
  407. package/src/runtime/backend/raw-binding-port.ts +1 -1
  408. package/src/runtime/backend/runtime-values.ts +4 -1
  409. package/src/runtime/channels/channel-clients.ts +139 -102
  410. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  411. package/src/runtime/channels/channel-envelope.ts +74 -57
  412. package/src/runtime/channels/channel-outbound-operations.ts +40 -55
  413. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  414. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  415. package/src/runtime/channels/channel-runtime-manager.ts +12 -30
  416. package/src/runtime/channels/channel-socket-options.ts +8 -15
  417. package/src/runtime/channels/channel-socket-registry.ts +291 -196
  418. package/src/runtime/channels/channel-transports.ts +168 -145
  419. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  420. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  421. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  422. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  423. package/src/runtime/channels/local-spot-route-transport.ts +1 -5
  424. package/src/runtime/channels/router-socket-spot-route-transport.ts +2 -6
  425. package/src/runtime/channels/source-spot-router.ts +2 -9
  426. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  427. package/src/runtime/channels/spot-node-route-transport.ts +7 -9
  428. package/src/runtime/channels/spot-route-bridge-transport.ts +5 -12
  429. package/src/runtime/channels/spot-route-dispatch-strategy.ts +11 -30
  430. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  431. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  432. package/src/runtime/diagnostics/flow-context.ts +16 -2
  433. package/src/runtime/diagnostics/index.ts +27 -17
  434. package/src/runtime/diagnostics/message-flow.ts +15 -25
  435. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  436. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  437. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  438. package/src/runtime/disposal.ts +19 -0
  439. package/src/runtime/execution/index.ts +60 -20
  440. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  441. package/src/runtime/execution/state-lane.ts +142 -4
  442. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  443. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  444. package/src/runtime/foundation/operation-identity.ts +11 -5
  445. package/src/runtime/foundation/operation-registry.ts +33 -50
  446. package/src/runtime/foundation/raw-service-mesh-runtime.ts +127 -125
  447. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  448. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  449. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  450. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  451. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  452. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  453. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  454. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  455. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  456. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  457. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  458. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  459. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  460. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  461. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  462. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  463. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  464. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  465. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  466. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  467. package/src/runtime/framework-errors-internal.ts +380 -134
  468. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  469. package/src/runtime/host/actor-packet-relay.ts +63 -160
  470. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  471. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  472. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  473. package/src/runtime/host/application-job-queue.ts +28 -34
  474. package/src/runtime/host/bound-session-relay.ts +1 -2
  475. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  476. package/src/runtime/host/index.ts +327 -320
  477. package/src/runtime/host/instance-activation-authority.ts +89 -109
  478. package/src/runtime/host/location-runtime-owner.ts +4 -2
  479. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  480. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  481. package/src/runtime/host/remote-bound-session-relay.ts +16 -57
  482. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  483. package/src/runtime/host/runtime-shutdown.ts +17 -21
  484. package/src/runtime/host/service-relocation-control.ts +14 -1
  485. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  486. package/src/runtime/host/spot-address-transport.ts +175 -356
  487. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  488. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  489. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  490. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  491. package/src/runtime/locations/authority-key-codec.ts +7 -3
  492. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  493. package/src/runtime/locations/creation-operation-id.ts +6 -3
  494. package/src/runtime/locations/domain-store-contract.ts +12 -3
  495. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  496. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  497. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  498. package/src/runtime/locations/key-codec.ts +3 -2
  499. package/src/runtime/locations/lease-tracker.ts +8 -14
  500. package/src/runtime/locations/lifecycle.ts +13 -43
  501. package/src/runtime/locations/location-store-failure.ts +4 -0
  502. package/src/runtime/locations/location-store-pages.ts +18 -0
  503. package/src/runtime/locations/location-store-repository.ts +457 -482
  504. package/src/runtime/locations/relocation-blob.ts +17 -6
  505. package/src/runtime/locations/resolvers.ts +75 -49
  506. package/src/runtime/locations/runtime.ts +220 -110
  507. package/src/runtime/locations/spot-location-claims.ts +58 -1
  508. package/src/runtime/messaging/payload-codec.ts +35 -24
  509. package/src/runtime/messaging/request-deadline.ts +58 -0
  510. package/src/runtime/messaging/submission-result.ts +72 -2
  511. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  512. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  513. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  514. package/src/runtime/spots/index.ts +433 -229
  515. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  516. package/src/runtime/spots/spot-activation-state.ts +2 -2
  517. package/src/runtime/spots/spot-activation.ts +67 -37
  518. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  519. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  520. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  521. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  522. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  523. package/src/runtime/spots/spot-context.ts +3 -3
  524. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  525. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  526. package/src/runtime/spots/spot-manager-public.ts +21 -17
  527. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  528. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  529. package/src/runtime/spots/spot-outbound.ts +59 -47
  530. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  531. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  532. package/src/runtime/spots/spot-route-replies.ts +6 -4
  533. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  534. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  535. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  536. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  537. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  538. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  539. package/src/runtime/spots/spot-timer.ts +3 -2
  540. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  541. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  542. package/src/runtime/streams/bound-actor-relay-sender.ts +98 -66
  543. package/src/runtime/streams/bound-session-service.ts +22 -2
  544. package/src/runtime/streams/index.ts +78 -68
  545. package/src/runtime/streams/managed-stream.ts +32 -23
  546. package/src/runtime/streams/native-fallback-bound-session.ts +14 -28
  547. package/src/runtime/streams/protocol.ts +34 -88
  548. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  549. package/src/runtime/streams/session-calls.ts +11 -36
  550. package/src/runtime/streams/session-context.ts +60 -25
  551. package/src/runtime/streams/session-requests.ts +2 -1
  552. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  553. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  554. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  555. package/src/runtime/workers/index.ts +13 -12
  556. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  557. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  558. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  559. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  560. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  561. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -1,35 +1,40 @@
1
+ import {
2
+ type RoutingId,
3
+ type ZLinkChannelClient,
4
+ type ZLinkChannelRequestCall,
5
+ type ZLinkMessageMetadata,
6
+ type ZLinkPublishCall,
7
+ type ZLinkRequestCall,
8
+ type ZLinkSendCall,
9
+ type ZLinkSpotOutbound,
10
+ type ZLinkSpotPublisherClient,
11
+ type ZLinkSpotRequestCall,
12
+ type ZLinkSpotSendCall,
13
+ ZLinkSpotKind
14
+ } from '../../contracts';
15
+
16
+ import {
17
+ ZLINK_MAX_MESH_NAME_BYTES,
18
+ ZLINK_MAX_STABLE_TYPE_BYTES
19
+ } from '../../contracts/Common/CoreTypes';
20
+ import type { ZLinkBackendSpot } from '../backend/contracts';
21
+ import { ZLinkConfigurationException } from '../configuration';
22
+ import { requireZLinkYieldTurn } from '../execution';
1
23
  import {
2
24
  ZLinkFrameworkInternalErrorKind,
3
25
  createInternalFrameworkException
4
26
  } from '../framework-errors-internal';
5
- import { ZLinkSpotKind } from '../../contracts';
6
- import type {
7
- RoutingId,
8
- ZLinkChannelClient,
9
- ZLinkChannelRequestCall,
10
- ZLinkPublishCall,
11
- ZLinkRequestCall,
12
- ZLinkSendCall,
13
- ZLinkMessageMetadata,
14
- ZLinkSpotOutbound,
15
- ZLinkSpotRequestCall,
16
- ZLinkSpotSendCall,
17
- ZLinkSpotPublisherClient
18
- } from '../../contracts';
27
+ import { resolveFrameworkPacketName } from '../messaging/packet-name';
19
28
  import {
20
29
  requireOneWayCompletion,
21
30
  throwAlreadySubmitted,
22
31
  type ZLinkSubmitResult
23
32
  } from '../messaging/submission-result';
24
33
  import { normalizeOpaqueRoutingId } from '../routing-id';
25
- import { ZLinkConfigurationException } from '../configuration';
26
- import type { ZLinkBackendSpot } from '../backend/contracts';
27
34
  import { deliverOnSerial } from '../workers';
28
- import { requireZLinkYieldTurn } from '../execution';
29
- import { resolveFrameworkPacketName } from '../messaging/packet-name';
35
+ import { resolveSpotHandle, type ResolvedSpotHandle, type SpotHandle } from './spot-handle';
30
36
  import type { ZLinkSpotRouteTarget } from './spot-routing-internal';
31
37
  import { ZLinkSpotSerialTurnExecutor } from './spot-serial-turn-executor';
32
- import { resolveSpotHandle, type SpotHandle, type ResolvedSpotHandle } from './spot-handle';
33
38
 
34
39
  export interface DefaultZLinkSpotOutboundOptions {
35
40
  readonly serial: ZLinkSpotSerialTurnExecutor;
@@ -186,7 +191,7 @@ export interface ZLinkSpotAddressTransport {
186
191
  sendToSpotAddress(
187
192
  spotId: RoutingId,
188
193
  message: unknown,
189
- options: ZLinkSpotAddressCallOptions
194
+ options: Omit<ZLinkSpotAddressCallOptions, 'timeoutMs' | 'signal'>
190
195
  ): Promise<ZLinkSubmitResult>;
191
196
  requestToSpotAddress<TReply = unknown>(
192
197
  spotId: RoutingId,
@@ -221,15 +226,14 @@ export interface ZLinkSpotRoutedTransport {
221
226
  }
222
227
 
223
228
  export interface ZLinkSpotRoutedSendOptions {
229
+ readonly instanceSpot?: boolean;
224
230
  readonly packetName?: string;
225
- /** Internal end-to-end budget remaining for route admission. */
226
- readonly timeoutMs?: number;
227
- readonly signal?: AbortSignal;
228
231
  readonly metadata?: ReadonlyMap<string, string>;
229
232
  }
230
233
 
231
234
  export interface ZLinkSpotRoutedRequestOptions extends ZLinkSpotRoutedSendOptions {
232
235
  readonly timeoutMs?: number;
236
+ readonly signal?: AbortSignal;
233
237
  }
234
238
 
235
239
  interface MutableAddressCallOptions {
@@ -260,22 +264,30 @@ function createAddressedSpotSendCall(
260
264
  selectOnce(options, 'instanceSpot');
261
265
  options.instanceSpot = true;
262
266
  if (instanceSpotType !== undefined) {
263
- options.instanceSpotType = requireAddressValue(instanceSpotType, 'Instance Spot type', 255);
267
+ options.instanceSpotType = requireAddressValue(
268
+ instanceSpotType,
269
+ 'Instance Spot type',
270
+ ZLINK_MAX_STABLE_TYPE_BYTES
271
+ );
264
272
  }
265
273
  return this;
266
274
  },
267
275
  inMesh(meshName: string) {
268
276
  selectOnce(options, 'inMesh');
269
- options.initialMeshName = requireAddressValue(meshName, 'Mesh name', 255);
277
+ options.initialMeshName = requireAddressValue(
278
+ meshName,
279
+ 'Mesh name',
280
+ ZLINK_MAX_MESH_NAME_BYTES
281
+ );
270
282
  return this;
271
283
  },
272
- async submit(signal?: AbortSignal): Promise<void> {
284
+ async submit(): Promise<void> {
273
285
  markSubmitted(options);
274
286
  const pending = startRequestOnSerial(serial, () => ({
275
287
  pending: transport.sendToSpotAddress(
276
288
  spotId,
277
289
  message,
278
- freezeAddressCallOptions(options, signal, sourceSpotProvider?.())
290
+ freezeAddressCallOptions(options, sourceSpotProvider?.())
279
291
  )
280
292
  }));
281
293
  const result = await (serial.isCurrentTurn ? pending : deliverOnSerial(serial, pending));
@@ -300,11 +312,11 @@ function createAddressedSpotRequestCall(
300
312
  markSubmitted(options);
301
313
  rejectSameSpotAsyncRequest(serial, spotId, waitPolicy);
302
314
  return startRequestOnSerial<TReply>(serial, () => ({
303
- pending: transport.requestToSpotAddress<TReply>(
304
- spotId,
305
- request,
306
- freezeAddressCallOptions(options, signal, sourceSpotProvider?.())
307
- )
315
+ pending: transport.requestToSpotAddress<TReply>(spotId, request, {
316
+ ...freezeAddressCallOptions(options, sourceSpotProvider?.()),
317
+ timeoutMs: options.timeoutMs,
318
+ signal
319
+ })
308
320
  }));
309
321
  };
310
322
  return {
@@ -316,13 +328,21 @@ function createAddressedSpotRequestCall(
316
328
  selectOnce(options, 'instanceSpot');
317
329
  options.instanceSpot = true;
318
330
  if (instanceSpotType !== undefined) {
319
- options.instanceSpotType = requireAddressValue(instanceSpotType, 'Instance Spot type', 255);
331
+ options.instanceSpotType = requireAddressValue(
332
+ instanceSpotType,
333
+ 'Instance Spot type',
334
+ ZLINK_MAX_STABLE_TYPE_BYTES
335
+ );
320
336
  }
321
337
  return this;
322
338
  },
323
339
  inMesh(meshName: string) {
324
340
  selectOnce(options, 'inMesh');
325
- options.initialMeshName = requireAddressValue(meshName, 'Mesh name', 255);
341
+ options.initialMeshName = requireAddressValue(
342
+ meshName,
343
+ 'Mesh name',
344
+ ZLINK_MAX_MESH_NAME_BYTES
345
+ );
326
346
  return this;
327
347
  },
328
348
  timeout(timeoutMs: number) {
@@ -400,7 +420,6 @@ function markSubmitted(options: MutableAddressCallOptions): void {
400
420
 
401
421
  function freezeAddressCallOptions(
402
422
  options: MutableAddressCallOptions,
403
- signal: AbortSignal | undefined,
404
423
  sourceSpot: ZLinkBackendSpot | undefined
405
424
  ): ZLinkSpotAddressCallOptions {
406
425
  return {
@@ -408,8 +427,6 @@ function freezeAddressCallOptions(
408
427
  instanceSpot: options.instanceSpot,
409
428
  instanceSpotType: options.instanceSpotType,
410
429
  initialMeshName: options.initialMeshName,
411
- timeoutMs: options.timeoutMs,
412
- signal,
413
430
  sourceSpot
414
431
  };
415
432
  }
@@ -431,8 +448,8 @@ function wrapSendCall(serial: ZLinkSpotSerialTurnExecutor, inner: ZLinkSendCall)
431
448
  else inner.metadata(key);
432
449
  return this;
433
450
  },
434
- async submit(signal?: AbortSignal) {
435
- const result = await runInternalTransportStart(serial, () => inner.submit(signal));
451
+ async submit() {
452
+ const result = await runInternalTransportStart(serial, () => inner.submit());
436
453
  return result;
437
454
  }
438
455
  };
@@ -526,11 +543,10 @@ function wrapRoutedSpotSendCall(
526
543
  }
527
544
  return this;
528
545
  },
529
- async submit(signal?: AbortSignal): Promise<void> {
546
+ async submit(): Promise<void> {
530
547
  const pending = startRequestOnSerial(serial, () => ({
531
548
  pending: sendToSpotHandle(transport, spot, message, {
532
549
  metadata,
533
- signal,
534
550
  spotRouterChannelIdForMesh,
535
551
  sourceSpot: sourceSpotProvider?.()
536
552
  })
@@ -623,7 +639,7 @@ export async function sendToSpotHandle(
623
639
  transport: ZLinkSpotRoutedTransport,
624
640
  spot: SpotHandle,
625
641
  message: unknown,
626
- options: ZLinkSpotHandleCallOptions = {}
642
+ options: Omit<ZLinkSpotHandleCallOptions, 'timeoutMs' | 'signal'> = {}
627
643
  ): Promise<ZLinkSubmitResult> {
628
644
  const packetName = resolveFrameworkPacketName(message, undefined, 'SPOT');
629
645
  const sendResolved = async (resolved: ResolvedSpotHandle): Promise<ZLinkSubmitResult> => {
@@ -631,20 +647,16 @@ export async function sendToSpotHandle(
631
647
  if (options.sourceSpot !== undefined && transport.sendFromSpotToSpot !== undefined) {
632
648
  return transport.sendFromSpotToSpot(options.sourceSpot, target, message, {
633
649
  packetName,
634
- timeoutMs: options.timeoutMs,
635
- signal: options.signal,
636
650
  metadata: options.metadata
637
651
  });
638
652
  }
639
653
  return transport.sendToSpot(target, message, {
640
654
  packetName,
641
- timeoutMs: options.timeoutMs,
642
- signal: options.signal,
643
655
  metadata: options.metadata
644
656
  });
645
657
  };
646
658
 
647
- return sendResolved(await requireSpotRef(spot, options.signal));
659
+ return sendResolved(await requireSpotRef(spot));
648
660
  }
649
661
 
650
662
  export async function requestToSpotHandle<TReply = unknown>(
@@ -1,3 +1,5 @@
1
+ import { ZLINK_MAX_SPOT_ID_BYTES } from '../../contracts/Common/CoreTypes';
2
+ import { ZlinkStreamContentType } from '@zlink-systems/stream-wire';
1
3
  import type { ZLinkBackendActorRef } from '../backend/contracts';
2
4
  import { decodeActorMessageFollowContext, type ZLinkRemoteBoundSessionTarget } from '../actors';
3
5
  import type { RoutingId, ZLinkActor } from '../../contracts';
@@ -146,7 +148,7 @@ export function decodeRemoteActorJoinPayload(
146
148
  requestContentType:
147
149
  typeof payload.requestContentType === 'string'
148
150
  ? payload.requestContentType
149
- : 'application/json'
151
+ : ZlinkStreamContentType.Json
150
152
  };
151
153
  }
152
154
 
@@ -302,8 +304,10 @@ function decodeBoundSessionServiceWireRelocation(
302
304
 
303
305
  function requireSpotId(value: string): string {
304
306
  const bytes = Buffer.byteLength(value, 'utf8');
305
- if (bytes < 1 || bytes > 255) {
306
- throw new Error('Remote bound session SpotId must contain 1..255 UTF-8 bytes.');
307
+ if (bytes < 1 || bytes > ZLINK_MAX_SPOT_ID_BYTES) {
308
+ throw new Error(
309
+ `Remote bound session SpotId must contain 1..${ZLINK_MAX_SPOT_ID_BYTES} UTF-8 bytes.`
310
+ );
307
311
  }
308
312
  return value;
309
313
  }
@@ -1,21 +1,31 @@
1
- import type {
2
- Type,
3
- ZLinkMessageSerializer,
4
- ZLinkSpot,
5
- ZLinkSpotPacketHandler,
6
- ZLinkSpotRequestHandler
1
+ import {
2
+ type Type,
3
+ type ZLinkMessageSerializer,
4
+ type ZLinkSpot,
5
+ type ZLinkSpotPacketHandler,
6
+ type ZLinkSpotRequestHandler,
7
+ ZLinkFrameworkException,
8
+ zlinkMessageMetadata
7
9
  } from '../../contracts';
10
+
11
+ import type { Message } from '../../contracts/Common/Message';
8
12
  import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
9
- import { ZLinkFrameworkException, zlinkMessageMetadata } from '../../contracts';
10
13
  import {
11
14
  ZLinkRuntimeDispatchErrorAction as ZLinkDispatchErrorAction,
12
15
  ZLinkRuntimeDispatchErrorReason as ZLinkDispatchErrorReason,
13
16
  ZLinkDispatchErrorSurface,
14
17
  ZLinkDispatchMessageKind
15
18
  } from '../../contracts/Dispatch/ZLinkDispatchOptions';
19
+ import {
20
+ ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET,
21
+ ZLINK_REMOTE_BOUND_SESSION_ERROR_PACKET,
22
+ ZLINK_REMOTE_BOUND_SESSION_RESPONSE_PACKET,
23
+ ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET
24
+ } from '../actors';
25
+ import type { ZLinkApplicationWorkClaim } from '../admission';
26
+ import { releaseApplicationJobPermitBeforeHandler } from '../application-jobs/application-job-queue-scope';
16
27
  import { ZLinkBufferMessage as RuntimeMessage } from '../backend/runtime-message';
17
28
  import type { ZLinkBackendReceived as BackendReceived } from '../backend/runtime-values';
18
- import type { Message } from '../../contracts/Common/Message';
19
29
  import type { ZLinkDispatchErrorReporter } from '../channels';
20
30
  import {
21
31
  decodeChannelEnvelope,
@@ -27,25 +37,18 @@ import {
27
37
  ZLinkChannelMessageKind,
28
38
  type ZLinkChannelEnvelopeCodecRegistry
29
39
  } from '../channels/channel-envelope';
40
+ import { SPOT_DIRECT_ENVELOPE } from '../channels/spot-direct-envelope';
41
+ import { createInboundFlow, runWithFlow } from '../diagnostics/flow-context';
42
+ import { zlinkMetadataByteLength, zlinkSerialWorkOptions } from '../execution/serial-work-size';
30
43
  import {
31
- ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET,
32
- ZLINK_REMOTE_BOUND_SESSION_ERROR_PACKET,
33
- ZLINK_REMOTE_BOUND_SESSION_RESPONSE_PACKET,
34
- ZLINK_REMOTE_BOUND_SESSION_SEND_PACKET
35
- } from '../actors';
44
+ internalFrameworkErrorKind,
45
+ ZLinkFrameworkInternalErrorKind
46
+ } from '../framework-errors-internal';
36
47
  import { resolveLifecycleHandler } from '../handlers/handler-instance-scope';
37
48
  import type { ZLinkSpotHandlerRegistration } from './spot-handler-registry';
38
- import type { ZLinkSpotSerialTurnExecutor } from './spot-serial-turn-executor';
39
- import type { ZLinkApplicationWorkClaim } from '../admission';
40
- import { zlinkMetadataByteLength, zlinkSerialWorkOptions } from '../execution/serial-work-size';
41
49
  import { REMOTE_ACTOR_JOIN_PACKET } from './spot-remote-codec';
42
50
  import { appendRouteReplyParts, hasReplyToken, submitRouteReply } from './spot-route-replies';
43
- import { createInboundFlow, runWithFlow } from '../diagnostics/flow-context';
44
- import {
45
- ZLinkFrameworkInternalErrorKind,
46
- internalFrameworkErrorKind
47
- } from '../framework-errors-internal';
48
- import { releaseApplicationJobPermitBeforeHandler } from '../application-jobs/application-job-queue-scope';
51
+ import type { ZLinkSpotSerialTurnExecutor } from './spot-serial-turn-executor';
49
52
 
50
53
  interface ZLinkSpotRoutePacketDispatchOptions {
51
54
  readonly packetHandlers: ReadonlyMap<string, readonly ZLinkSpotHandlerRegistration[]>;
@@ -58,8 +61,6 @@ interface ZLinkSpotRoutePacketDispatchOptions {
58
61
  readonly claimApplicationWork?: () => ZLinkApplicationWorkClaim;
59
62
  }
60
63
 
61
- const SPOT_DIRECT_ENVELOPE = 'zlink.framework.spot-direct.v1';
62
-
63
64
  /** D5: reply metadata attached only to framework-self-generated errors. */
64
65
  const FRAMEWORK_ORIGIN_REPLY_METADATA: Readonly<Record<string, string>> = Object.freeze({
65
66
  [ZLINK_FRAMEWORK_ORIGIN_METADATA_KEY]: ZLINK_FRAMEWORK_ORIGIN_METADATA_VALUE
@@ -1,6 +1,7 @@
1
+ import { constants as osConstants } from 'node:os';
1
2
  import type {
2
- ZLinkBackendMessageLike as MessageLike,
3
- ZLinkBackendReceived as BackendReceived
3
+ ZLinkBackendReceived as BackendReceived,
4
+ ZLinkBackendMessageLike as MessageLike
4
5
  } from '../backend/runtime-values';
5
6
  import {
6
7
  decodeChannelEnvelope,
@@ -8,8 +9,9 @@ import {
8
9
  encodeChannelReplyParts
9
10
  } from '../channels/channel-envelope';
10
11
  import { ZLinkConfigurationException } from '../configuration';
11
- import { encodeSpotRouteBridgeReply } from './spot-route-reply-wire';
12
12
  import type { ZLinkDecodedRemoteActorJoinRequest } from './spot-remote-codec';
13
+ import { encodeSpotRouteBridgeReply } from './spot-route-reply-wire';
14
+ const nativeErrnoValues = osConstants.errno;
13
15
 
14
16
  export interface ZLinkRouteReplySubmitOperation {
15
17
  message(message: MessageLike): ZLinkRouteReplySubmitOperation;
@@ -120,6 +122,6 @@ function isNativeBadAddress(error: unknown): boolean {
120
122
  return (
121
123
  typeof error === 'object' &&
122
124
  error !== null &&
123
- Number((error as { nativeErrno?: unknown }).nativeErrno) === 14
125
+ Number((error as { nativeErrno?: unknown }).nativeErrno) === nativeErrnoValues.EFAULT
124
126
  );
125
127
  }
@@ -5,6 +5,8 @@ import type {
5
5
  ZLinkSpotActorJoinResult
6
6
  } from '../../contracts';
7
7
  import type { Message } from '../../contracts/Common/Message';
8
+ import type { ZLinkActorHandoffPacket, ZLinkActorHandoffResult } from '../actors/actor-handoff';
9
+ import type { ZLinkRemoteBoundSessionTarget } from '../actors/actor-runtime-state';
8
10
  import { ZLinkBufferMessage as RuntimeMessage } from '../backend/runtime-message';
9
11
  import type { ZLinkBackendReceived as BackendReceived } from '../backend/runtime-values';
10
12
  import {
@@ -23,16 +25,12 @@ import {
23
25
  hasRemoteActorJoinIdentity,
24
26
  isRemoteActorJoinPayload,
25
27
  type ZLinkDecodedRemoteActorJoinRequest,
26
- type ZLinkRoutedActorTransferProvider,
27
- type ZLinkRemoteActorJoinWirePayload
28
+ type ZLinkRemoteActorJoinWirePayload,
29
+ type ZLinkRoutedActorTransferProvider
28
30
  } from './spot-remote-codec';
29
31
  import { submitRoutedActorJoinError, submitRoutedActorJoinReply } from './spot-route-replies';
30
32
  import type { ZLinkSpotSerialTurnExecutor } from './spot-serial-turn-executor';
31
- import type { ZLinkActorHandoffPacket, ZLinkActorHandoffResult } from '../actors/actor-handoff';
32
- import {
33
- ZLinkFrameworkInternalErrorKind,
34
- createInternalFrameworkException
35
- } from '../framework-errors-internal';
33
+ const DEFAULT_PENDING_ADMISSION_TIMEOUT_MS = 30_000;
36
34
 
37
35
  interface ZLinkRoutedActorAdmissionTarget {
38
36
  onActorJoin?(actorId: string, request: ZLinkMessage): Promise<ZLinkSpotActorJoinResult>;
@@ -40,13 +38,13 @@ interface ZLinkRoutedActorAdmissionTarget {
40
38
 
41
39
  interface ZLinkSpotRoutedActorAdmissionOptions {
42
40
  readonly serial: ZLinkSpotSerialTurnExecutor;
43
- readonly isSpotClosing?: () => boolean;
44
41
  readonly getTarget: () => ZLinkRoutedActorAdmissionTarget;
45
42
  readonly defaultAccept: boolean;
46
43
  readonly routedActorTransferProvider?: ZLinkRoutedActorTransferProvider;
47
44
  readonly commitTransferredActor?: (
48
45
  actor: ZLinkActor,
49
- backlog: readonly ZLinkActorHandoffPacket[]
46
+ backlog: readonly ZLinkActorHandoffPacket[],
47
+ sealedSession: ZLinkRemoteBoundSessionTarget | undefined
50
48
  ) => Promise<readonly ZLinkActorHandoffResult[]>;
51
49
  readonly messageSerializers?: ReadonlyMap<string, ZLinkMessageSerializer>;
52
50
  readonly pendingAdmissionTimeoutMs?: number;
@@ -78,21 +76,6 @@ export class ZLinkSpotRoutedActorAdmission {
78
76
  if (decoded === undefined) {
79
77
  return false;
80
78
  }
81
- if (this.options.isSpotClosing?.() === true) {
82
- try {
83
- submitRoutedActorJoinError(
84
- received,
85
- decoded,
86
- createInternalFrameworkException(
87
- ZLinkFrameworkInternalErrorKind.RequestRejected,
88
- `Actor '${decoded.actorId}' target Spot is closing.`
89
- )
90
- );
91
- } finally {
92
- this.closeDecoded(decoded);
93
- }
94
- return true;
95
- }
96
79
  if (decoded.phase === 'admission') {
97
80
  await this.admitTransfer(decoded, received);
98
81
  return true;
@@ -240,7 +223,11 @@ export class ZLinkSpotRoutedActorAdmission {
240
223
  decoded.remoteBoundSessionTarget
241
224
  );
242
225
  const handoffResults =
243
- (await this.options.commitTransferredActor?.(actor, decoded.handoffBacklog)) ?? [];
226
+ (await this.options.commitTransferredActor?.(
227
+ actor,
228
+ decoded.handoffBacklog,
229
+ decoded.remoteBoundSessionTarget
230
+ )) ?? [];
244
231
  const commitReply = {
245
232
  accepted: true,
246
233
  actorNodeRid: String(actorRef.nodeRid),
@@ -298,7 +285,7 @@ export class ZLinkSpotRoutedActorAdmission {
298
285
  if (pending.deadline !== undefined) clearTimeout(pending.deadline);
299
286
  pending.deadline = setTimeout(() => {
300
287
  if (this.pending.get(transferId) === pending) this.pending.delete(transferId);
301
- }, this.options.pendingAdmissionTimeoutMs ?? 30_000);
288
+ }, this.options.pendingAdmissionTimeoutMs ?? DEFAULT_PENDING_ADMISSION_TIMEOUT_MS);
302
289
  pending.deadline.unref();
303
290
  }
304
291
 
@@ -34,14 +34,14 @@ interface ZLinkRoutedFrameAdmissionTarget {
34
34
  interface ZLinkSpotRoutedFrameDispatchOptions {
35
35
  readonly nativeSpotId: string;
36
36
  readonly serial: ZLinkSpotSerialTurnExecutor;
37
- readonly isSpotClosing?: () => boolean;
38
37
  readonly resolveActor: (actorId: string) => ZLinkActor | undefined;
39
38
  readonly getTarget: () => ZLinkRoutedFrameAdmissionTarget & ZLinkSpot;
40
39
  readonly defaultAccept: boolean;
41
40
  readonly routedActorTransferProvider?: ZLinkRoutedActorTransferProvider;
42
41
  readonly commitTransferredActor?: (
43
42
  actor: ZLinkActor,
44
- backlog: readonly ZLinkActorHandoffPacket[]
43
+ backlog: readonly ZLinkActorHandoffPacket[],
44
+ sealedSession: ZLinkRemoteBoundSessionTarget | undefined
45
45
  ) => Promise<readonly ZLinkActorHandoffResult[]>;
46
46
  readonly actorPacketHandler?: (delivery: ZLinkActorPacketDelivery) => Promise<unknown>;
47
47
  readonly routedBoundSessionReceiver?: (
@@ -119,7 +119,6 @@ export class ZLinkSpotRoutedFrameDispatch {
119
119
  });
120
120
  this.routedActorAdmission = new ZLinkSpotRoutedActorAdmission({
121
121
  serial: options.serial,
122
- isSpotClosing: options.isSpotClosing,
123
122
  getTarget: options.getTarget,
124
123
  defaultAccept: options.defaultAccept,
125
124
  routedActorTransferProvider: options.routedActorTransferProvider,