@zlink-systems/framework 0.25.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Channels/IZLinkFanoutClient.d.ts +0 -6
  3. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  4. package/dist/contracts/Common/CoreTypes.js +7 -0
  5. package/dist/contracts/Common/index.d.ts +1 -1
  6. package/dist/contracts/Common/index.js +0 -1
  7. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  8. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  9. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  10. package/dist/contracts/Configuration/Registration.js +58 -36
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  12. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  13. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  14. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  15. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  16. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  17. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  18. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  19. package/dist/contracts/Handlers/JsonContract.js +10 -4
  20. package/dist/contracts/Locations/Authority.d.ts +1 -1
  21. package/dist/contracts/Locations/Authority.js +3 -2
  22. package/dist/contracts/Locations/Options.js +1 -1
  23. package/dist/contracts/Locations/Stores.d.ts +12 -0
  24. package/dist/contracts/Locations/Stores.js +9 -0
  25. package/dist/contracts/RouteMesh/RuntimeTopology.d.ts +8 -0
  26. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  27. package/dist/internal.d.ts +5 -0
  28. package/dist/internal.js +16 -1
  29. package/dist/nest-integration.d.ts +4 -2
  30. package/dist/nest-integration.js +14 -4
  31. package/dist/runtime/abort.d.ts +1 -0
  32. package/dist/runtime/abort.js +8 -5
  33. package/dist/runtime/activation-admission.d.ts +28 -0
  34. package/dist/runtime/activation-admission.js +57 -0
  35. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  36. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  37. package/dist/runtime/actors/actor-client.d.ts +2 -2
  38. package/dist/runtime/actors/actor-client.js +42 -143
  39. package/dist/runtime/actors/actor-context.d.ts +3 -5
  40. package/dist/runtime/actors/actor-context.js +19 -17
  41. package/dist/runtime/actors/actor-handoff.d.ts +13 -7
  42. package/dist/runtime/actors/actor-handoff.js +36 -25
  43. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  44. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  45. package/dist/runtime/actors/actor-local-native-join.js +85 -123
  46. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  47. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  48. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  49. package/dist/runtime/actors/actor-remote-joiner.d.ts +3 -3
  50. package/dist/runtime/actors/actor-remote-joiner.js +11 -17
  51. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  52. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  53. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  54. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  55. package/dist/runtime/actors/actor-runtime-contracts.d.ts +4 -2
  56. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  57. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  58. package/dist/runtime/actors/actor-source-transfer.d.ts +5 -5
  59. package/dist/runtime/actors/bound-session-wire.js +2 -7
  60. package/dist/runtime/actors/deferred-join-completion.d.ts +19 -0
  61. package/dist/runtime/actors/deferred-join-completion.js +21 -0
  62. package/dist/runtime/actors/index.d.ts +10 -8
  63. package/dist/runtime/actors/index.js +101 -73
  64. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  65. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  66. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  67. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  68. package/dist/runtime/admission.d.ts +7 -1
  69. package/dist/runtime/admission.js +11 -1
  70. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  71. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  72. package/dist/runtime/backend/contracts/index.d.ts +8 -33
  73. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +3 -26
  74. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  75. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  76. package/dist/runtime/backend/node/node-backend-adapter-factory.d.ts +1 -2
  77. package/dist/runtime/backend/node/node-backend-adapter-factory.js +4 -18
  78. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +7 -4
  79. package/dist/runtime/backend/node/node-backend-adapter-support.js +28 -34
  80. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  81. package/dist/runtime/backend/node/node-event-loop-poller.js +11 -6
  82. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  83. package/dist/runtime/backend/node/node-raw-binding-port.d.ts +1 -1
  84. package/dist/runtime/backend/node/node-raw-binding-port.js +51 -19
  85. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +21 -19
  86. package/dist/runtime/backend/node/node-raw-mesh-backend.js +171 -111
  87. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  88. package/dist/runtime/backend/raw-binding-port.d.ts +13 -1
  89. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  90. package/dist/runtime/backend/runtime-values.js +2 -0
  91. package/dist/runtime/channels/channel-clients.d.ts +20 -9
  92. package/dist/runtime/channels/channel-clients.js +68 -60
  93. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  94. package/dist/runtime/channels/channel-envelope.js +47 -29
  95. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  96. package/dist/runtime/channels/channel-outbound-operations.js +9 -18
  97. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  98. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  99. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  100. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  101. package/dist/runtime/channels/channel-runtime-manager.d.ts +2 -5
  102. package/dist/runtime/channels/channel-runtime-manager.js +4 -12
  103. package/dist/runtime/channels/channel-socket-options.js +3 -2
  104. package/dist/runtime/channels/channel-socket-registry.d.ts +30 -32
  105. package/dist/runtime/channels/channel-socket-registry.js +296 -235
  106. package/dist/runtime/channels/channel-transports.d.ts +11 -20
  107. package/dist/runtime/channels/channel-transports.js +68 -47
  108. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  109. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  110. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  111. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  112. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  113. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  114. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  115. package/dist/runtime/channels/fanout-location-runtime.js +133 -81
  116. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  117. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  118. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  119. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  120. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  121. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  122. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  123. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  124. package/dist/runtime/diagnostics/flow-context.js +16 -2
  125. package/dist/runtime/diagnostics/index.d.ts +4 -2
  126. package/dist/runtime/diagnostics/index.js +14 -4
  127. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  128. package/dist/runtime/diagnostics/message-flow.js +10 -19
  129. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  130. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  131. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  132. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  133. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  134. package/dist/runtime/disposal.d.ts +5 -0
  135. package/dist/runtime/disposal.js +22 -0
  136. package/dist/runtime/execution/index.d.ts +22 -9
  137. package/dist/runtime/execution/index.js +107 -37
  138. package/dist/runtime/execution/serial-execution-queue.d.ts +12 -7
  139. package/dist/runtime/execution/serial-execution-queue.js +99 -26
  140. package/dist/runtime/execution/state-lane.d.ts +8 -1
  141. package/dist/runtime/execution/state-lane.js +118 -3
  142. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  143. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  144. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  145. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  146. package/dist/runtime/foundation/listener-records.d.ts +11 -0
  147. package/dist/runtime/foundation/listener-records.js +20 -0
  148. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  149. package/dist/runtime/foundation/operation-identity.js +9 -5
  150. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  151. package/dist/runtime/foundation/operation-registry.js +34 -44
  152. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +18 -26
  153. package/dist/runtime/foundation/raw-service-mesh-runtime.js +122 -469
  154. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  155. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  156. package/dist/runtime/foundation/service-authority-payload-codec.d.ts +1 -0
  157. package/dist/runtime/foundation/service-authority-payload-codec.js +30 -12
  158. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  159. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  160. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  161. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  162. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  163. package/dist/runtime/foundation/service-maintenance-runtime.js +23 -8
  164. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  165. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  166. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  167. package/dist/runtime/foundation/service-relocation-coordinator.d.ts +9 -0
  168. package/dist/runtime/foundation/service-relocation-coordinator.js +14 -1
  169. package/dist/runtime/foundation/service-relocation-object-owner.d.ts +8 -0
  170. package/dist/runtime/foundation/service-relocation-object-owner.js +19 -6
  171. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  172. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  173. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  174. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -19
  175. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  176. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  177. package/dist/runtime/foundation/service-stateful-runtime.d.ts +28 -24
  178. package/dist/runtime/foundation/service-stateful-runtime.js +297 -244
  179. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +12 -7
  180. package/dist/runtime/foundation/service-stateful-wire-codec.js +240 -143
  181. package/dist/runtime/foundation/service-topology-registry.d.ts +1 -3
  182. package/dist/runtime/foundation/service-topology-registry.js +22 -61
  183. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  184. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  185. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  186. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  187. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  188. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  189. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  190. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  191. package/dist/runtime/framework-errors-internal.js +343 -122
  192. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  193. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  194. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  195. package/dist/runtime/host/actor-packet-relay.js +48 -91
  196. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  197. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  198. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  199. package/dist/runtime/host/actor-transfer-runtime.d.ts +28 -28
  200. package/dist/runtime/host/actor-transfer-runtime.js +210 -256
  201. package/dist/runtime/host/application-job-queue.js +16 -33
  202. package/dist/runtime/host/bound-session-relay.js +1 -1
  203. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  204. package/dist/runtime/host/index.d.ts +19 -14
  205. package/dist/runtime/host/index.js +234 -175
  206. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  207. package/dist/runtime/host/instance-activation-authority.js +17 -45
  208. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  209. package/dist/runtime/host/location-runtime-owner.js +2 -2
  210. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  211. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  212. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  213. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  214. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  215. package/dist/runtime/host/remote-bound-session-relay.js +11 -23
  216. package/dist/runtime/host/route-mesh-runtime.d.ts +14 -10
  217. package/dist/runtime/host/route-mesh-runtime.js +178 -257
  218. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  219. package/dist/runtime/host/runtime-shutdown.js +18 -21
  220. package/dist/runtime/host/service-relocation-control.js +6 -1
  221. package/dist/runtime/host/service-relocation-host-runtime.d.ts +71 -38
  222. package/dist/runtime/host/service-relocation-host-runtime.js +816 -651
  223. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  224. package/dist/runtime/host/spot-address-transport.js +34 -136
  225. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  226. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  227. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -7
  228. package/dist/runtime/host/spot-runtime-options-factory.js +53 -21
  229. package/dist/runtime/host/stateful-authority-route-runtime.js +6 -2
  230. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +14 -6
  231. package/dist/runtime/host/user-spot-creation-coordinator.js +96 -95
  232. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  233. package/dist/runtime/locations/authority-key-codec.js +4 -3
  234. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  235. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  236. package/dist/runtime/locations/creation-operation-id.js +6 -4
  237. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  238. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  239. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  240. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  241. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  242. package/dist/runtime/locations/in-memory-provider-location-store.js +79 -27
  243. package/dist/runtime/locations/key-codec.js +3 -2
  244. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  245. package/dist/runtime/locations/lease-tracker.js +7 -11
  246. package/dist/runtime/locations/lifecycle.d.ts +5 -10
  247. package/dist/runtime/locations/lifecycle.js +4 -33
  248. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  249. package/dist/runtime/locations/location-store-failure.js +7 -0
  250. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  251. package/dist/runtime/locations/location-store-pages.js +13 -0
  252. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  253. package/dist/runtime/locations/location-store-repository.js +303 -332
  254. package/dist/runtime/locations/relocation-blob.js +18 -5
  255. package/dist/runtime/locations/resolvers.d.ts +5 -5
  256. package/dist/runtime/locations/resolvers.js +44 -30
  257. package/dist/runtime/locations/runtime.d.ts +5 -4
  258. package/dist/runtime/locations/runtime.js +123 -92
  259. package/dist/runtime/locations/spot-location-claims.d.ts +8 -2
  260. package/dist/runtime/locations/spot-location-claims.js +40 -23
  261. package/dist/runtime/messaging/payload-codec.js +26 -20
  262. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  263. package/dist/runtime/messaging/submission-result.js +48 -0
  264. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +2 -0
  265. package/dist/runtime/protocol/service_wire_codec.generated.js +17 -8
  266. package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +1 -0
  267. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +3 -2
  268. package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +3 -3
  269. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +4 -4
  270. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +6 -3
  271. package/dist/runtime/spots/index.d.ts +29 -29
  272. package/dist/runtime/spots/index.js +441 -313
  273. package/dist/runtime/spots/spot-activation-registry.d.ts +4 -4
  274. package/dist/runtime/spots/spot-activation-registry.js +27 -60
  275. package/dist/runtime/spots/spot-activation-state.d.ts +2 -11
  276. package/dist/runtime/spots/spot-activation-state.js +4 -17
  277. package/dist/runtime/spots/spot-activation.d.ts +10 -9
  278. package/dist/runtime/spots/spot-activation.js +103 -81
  279. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  280. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  281. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  282. package/dist/runtime/spots/spot-actor-join-dispatch.js +5 -55
  283. package/dist/runtime/spots/spot-actor-lifecycle-drain.js +2 -2
  284. package/dist/runtime/spots/spot-actor-membership.d.ts +7 -5
  285. package/dist/runtime/spots/spot-actor-membership.js +44 -53
  286. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  287. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  288. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  289. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  290. package/dist/runtime/spots/spot-context.d.ts +2 -2
  291. package/dist/runtime/spots/spot-entry-activation.d.ts +3 -4
  292. package/dist/runtime/spots/spot-entry-activation.js +9 -21
  293. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  294. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  295. package/dist/runtime/spots/spot-manager-public.js +6 -5
  296. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  297. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +22 -21
  298. package/dist/runtime/spots/spot-node-runtime-manager.js +73 -82
  299. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  300. package/dist/runtime/spots/spot-outbound.js +10 -37
  301. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  302. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  303. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  304. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  305. package/dist/runtime/spots/spot-route-replies.js +3 -1
  306. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -2
  307. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -2
  308. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +2 -7
  309. package/dist/runtime/spots/spot-routed-frame-dispatch.js +1 -70
  310. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  311. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  312. package/dist/runtime/spots/spot-runtime-ports.d.ts +4 -20
  313. package/dist/runtime/spots/spot-serial-executor.d.ts +5 -0
  314. package/dist/runtime/spots/spot-serial-executor.js +9 -2
  315. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +29 -6
  316. package/dist/runtime/spots/spot-serial-turn-executor.js +89 -13
  317. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  318. package/dist/runtime/streams/actor-session-binding-registry.d.ts +17 -32
  319. package/dist/runtime/streams/actor-session-binding-registry.js +145 -367
  320. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +2 -6
  321. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  322. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  323. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  324. package/dist/runtime/streams/bound-session-service.js +12 -19
  325. package/dist/runtime/streams/index.d.ts +15 -14
  326. package/dist/runtime/streams/index.js +38 -39
  327. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  328. package/dist/runtime/streams/managed-stream.js +17 -8
  329. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  330. package/dist/runtime/streams/protocol.d.ts +6 -33
  331. package/dist/runtime/streams/protocol.js +38 -110
  332. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  333. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  334. package/dist/runtime/streams/session-calls.d.ts +1 -1
  335. package/dist/runtime/streams/session-calls.js +5 -4
  336. package/dist/runtime/streams/session-context.d.ts +6 -6
  337. package/dist/runtime/streams/session-context.js +22 -4
  338. package/dist/runtime/streams/session-requests.js +2 -1
  339. package/dist/runtime/streams/session-serial-executor.js +2 -2
  340. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  341. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  342. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  343. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  344. package/dist/runtime/workers/index.d.ts +2 -2
  345. package/dist/runtime/workers/index.js +5 -4
  346. package/package.json +3 -3
  347. package/src/contracts/Channels/IZLinkFanoutClient.ts +0 -7
  348. package/src/contracts/Common/CoreTypes.ts +7 -0
  349. package/src/contracts/Common/index.ts +1 -1
  350. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  351. package/src/contracts/Configuration/Registration.ts +92 -48
  352. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  353. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  354. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  355. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  356. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  357. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  358. package/src/contracts/Handlers/JsonContract.ts +14 -4
  359. package/src/contracts/Locations/Authority.ts +7 -3
  360. package/src/contracts/Locations/Options.ts +1 -1
  361. package/src/contracts/Locations/Stores.ts +14 -0
  362. package/src/contracts/RouteMesh/RuntimeTopology.ts +10 -0
  363. package/src/contracts/Spots/Contracts.ts +1 -1
  364. package/src/internal.ts +15 -0
  365. package/src/nest-integration.ts +28 -10
  366. package/src/runtime/abort.ts +6 -5
  367. package/src/runtime/activation-admission.ts +72 -0
  368. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  369. package/src/runtime/actors/actor-client.ts +77 -204
  370. package/src/runtime/actors/actor-context.ts +45 -39
  371. package/src/runtime/actors/actor-handoff.ts +55 -45
  372. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  373. package/src/runtime/actors/actor-local-native-join.ts +174 -215
  374. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  375. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  376. package/src/runtime/actors/actor-remote-joiner.ts +15 -36
  377. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  378. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  379. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  380. package/src/runtime/actors/actor-runtime-contracts.ts +4 -10
  381. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  382. package/src/runtime/actors/actor-source-transfer.ts +5 -18
  383. package/src/runtime/actors/bound-session-wire.ts +2 -8
  384. package/src/runtime/actors/deferred-join-completion.ts +44 -0
  385. package/src/runtime/actors/index.ts +122 -88
  386. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  387. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  388. package/src/runtime/admission.ts +13 -2
  389. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  390. package/src/runtime/backend/contracts/index.ts +15 -42
  391. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -28
  392. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  393. package/src/runtime/backend/node/node-backend-adapter-factory.ts +5 -25
  394. package/src/runtime/backend/node/node-backend-adapter-support.ts +32 -35
  395. package/src/runtime/backend/node/node-event-loop-poller.ts +16 -8
  396. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  397. package/src/runtime/backend/node/node-raw-binding-port.ts +58 -23
  398. package/src/runtime/backend/node/node-raw-mesh-backend.ts +252 -162
  399. package/src/runtime/backend/node/node-socket-backend-adapter.ts +5 -4
  400. package/src/runtime/backend/raw-binding-port.ts +14 -1
  401. package/src/runtime/backend/runtime-values.ts +4 -1
  402. package/src/runtime/channels/channel-clients.ts +132 -96
  403. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  404. package/src/runtime/channels/channel-envelope.ts +58 -29
  405. package/src/runtime/channels/channel-outbound-operations.ts +10 -31
  406. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  407. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  408. package/src/runtime/channels/channel-runtime-manager.ts +8 -15
  409. package/src/runtime/channels/channel-socket-options.ts +8 -2
  410. package/src/runtime/channels/channel-socket-registry.ts +369 -262
  411. package/src/runtime/channels/channel-transports.ts +161 -115
  412. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  413. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  414. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  415. package/src/runtime/channels/fanout-location-runtime.ts +175 -106
  416. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  417. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  418. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  419. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  420. package/src/runtime/diagnostics/flow-context.ts +16 -2
  421. package/src/runtime/diagnostics/index.ts +27 -17
  422. package/src/runtime/diagnostics/message-flow.ts +15 -25
  423. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  424. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  425. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  426. package/src/runtime/disposal.ts +19 -0
  427. package/src/runtime/execution/index.ts +116 -38
  428. package/src/runtime/execution/serial-execution-queue.ts +179 -34
  429. package/src/runtime/execution/state-lane.ts +142 -4
  430. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  431. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  432. package/src/runtime/foundation/listener-records.ts +21 -0
  433. package/src/runtime/foundation/operation-identity.ts +11 -5
  434. package/src/runtime/foundation/operation-registry.ts +33 -50
  435. package/src/runtime/foundation/raw-service-mesh-runtime.ts +170 -571
  436. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  437. package/src/runtime/foundation/service-authority-payload-codec.ts +41 -13
  438. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  439. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  440. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  441. package/src/runtime/foundation/service-maintenance-runtime.ts +30 -19
  442. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  443. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  444. package/src/runtime/foundation/service-relocation-coordinator.ts +13 -0
  445. package/src/runtime/foundation/service-relocation-object-owner.ts +23 -7
  446. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  447. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  448. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -25
  449. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  450. package/src/runtime/foundation/service-stateful-runtime.ts +435 -327
  451. package/src/runtime/foundation/service-stateful-wire-codec.ts +329 -199
  452. package/src/runtime/foundation/service-topology-registry.ts +30 -79
  453. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  454. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  455. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  456. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  457. package/src/runtime/framework-errors-internal.ts +380 -134
  458. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  459. package/src/runtime/host/actor-packet-relay.ts +57 -147
  460. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  461. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  462. package/src/runtime/host/actor-transfer-runtime.ts +266 -418
  463. package/src/runtime/host/application-job-queue.ts +28 -34
  464. package/src/runtime/host/bound-session-relay.ts +1 -2
  465. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  466. package/src/runtime/host/index.ts +408 -312
  467. package/src/runtime/host/instance-activation-authority.ts +89 -109
  468. package/src/runtime/host/location-runtime-owner.ts +4 -2
  469. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  470. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  471. package/src/runtime/host/remote-bound-session-relay.ts +12 -44
  472. package/src/runtime/host/route-mesh-runtime.ts +236 -275
  473. package/src/runtime/host/runtime-shutdown.ts +17 -21
  474. package/src/runtime/host/service-relocation-control.ts +14 -1
  475. package/src/runtime/host/service-relocation-host-runtime.ts +1161 -904
  476. package/src/runtime/host/spot-address-transport.ts +73 -195
  477. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  478. package/src/runtime/host/spot-runtime-options-factory.ts +92 -30
  479. package/src/runtime/host/stateful-authority-route-runtime.ts +8 -4
  480. package/src/runtime/host/user-spot-creation-coordinator.ts +182 -163
  481. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  482. package/src/runtime/locations/authority-key-codec.ts +7 -3
  483. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  484. package/src/runtime/locations/creation-operation-id.ts +6 -3
  485. package/src/runtime/locations/domain-store-contract.ts +12 -3
  486. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  487. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  488. package/src/runtime/locations/in-memory-provider-location-store.ts +110 -31
  489. package/src/runtime/locations/key-codec.ts +3 -2
  490. package/src/runtime/locations/lease-tracker.ts +8 -14
  491. package/src/runtime/locations/lifecycle.ts +16 -45
  492. package/src/runtime/locations/location-store-failure.ts +4 -0
  493. package/src/runtime/locations/location-store-pages.ts +18 -0
  494. package/src/runtime/locations/location-store-repository.ts +450 -478
  495. package/src/runtime/locations/relocation-blob.ts +17 -6
  496. package/src/runtime/locations/resolvers.ts +90 -58
  497. package/src/runtime/locations/runtime.ts +220 -110
  498. package/src/runtime/locations/spot-location-claims.ts +54 -26
  499. package/src/runtime/messaging/payload-codec.ts +35 -24
  500. package/src/runtime/messaging/submission-result.ts +57 -1
  501. package/src/runtime/protocol/service_wire_codec.generated.ts +27 -10
  502. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +4 -4
  503. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +6 -6
  504. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +6 -3
  505. package/src/runtime/spots/index.ts +687 -437
  506. package/src/runtime/spots/spot-activation-registry.ts +42 -71
  507. package/src/runtime/spots/spot-activation-state.ts +4 -16
  508. package/src/runtime/spots/spot-activation.ts +167 -115
  509. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  510. package/src/runtime/spots/spot-actor-join-dispatch.ts +25 -79
  511. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +20 -18
  512. package/src/runtime/spots/spot-actor-membership.ts +107 -75
  513. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  514. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  515. package/src/runtime/spots/spot-context.ts +3 -3
  516. package/src/runtime/spots/spot-entry-activation.ts +13 -33
  517. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  518. package/src/runtime/spots/spot-manager-public.ts +29 -21
  519. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  520. package/src/runtime/spots/spot-node-runtime-manager.ts +145 -140
  521. package/src/runtime/spots/spot-outbound.ts +47 -68
  522. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  523. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  524. package/src/runtime/spots/spot-route-replies.ts +6 -4
  525. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -6
  526. package/src/runtime/spots/spot-routed-frame-dispatch.ts +6 -77
  527. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  528. package/src/runtime/spots/spot-runtime-ports.ts +10 -43
  529. package/src/runtime/spots/spot-serial-executor.ts +10 -2
  530. package/src/runtime/spots/spot-serial-turn-executor.ts +120 -13
  531. package/src/runtime/spots/spot-timer.ts +3 -2
  532. package/src/runtime/streams/actor-session-binding-registry.ts +182 -560
  533. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +1 -19
  534. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  535. package/src/runtime/streams/bound-session-service.ts +23 -37
  536. package/src/runtime/streams/index.ts +102 -88
  537. package/src/runtime/streams/managed-stream.ts +29 -10
  538. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  539. package/src/runtime/streams/protocol.ts +34 -88
  540. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  541. package/src/runtime/streams/session-calls.ts +6 -5
  542. package/src/runtime/streams/session-context.ts +54 -10
  543. package/src/runtime/streams/session-requests.ts +2 -1
  544. package/src/runtime/streams/session-serial-executor.ts +2 -2
  545. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  546. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  547. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  548. package/src/runtime/workers/index.ts +13 -12
  549. package/dist/runtime/actors/deferred-join-accepted-journal.d.ts +0 -47
  550. package/dist/runtime/actors/deferred-join-accepted-journal.js +0 -992
  551. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  552. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  553. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  554. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  555. package/src/runtime/actors/deferred-join-accepted-journal.ts +0 -1346
  556. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  557. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -1,41 +1,57 @@
1
+ import { ZlinkStreamContentType } from '@zlink-systems/stream-wire';
1
2
  import {
2
- ZLinkFrameworkInternalErrorKind,
3
- createInternalFrameworkException,
4
- internalFrameworkErrorKind
5
- } from '../framework-errors-internal';
3
+ type ActorRef,
4
+ type RoutingId,
5
+ type ZLinkActorClient,
6
+ type ZLinkActorRequestCall,
7
+ type ZLinkActorSendCall,
8
+ type ZLinkMessageSerializer,
9
+ ZLinkFrameworkErrorKind,
10
+ ZLinkFrameworkException,
11
+ ZLinkSpotKind
12
+ } from '../../contracts';
13
+
14
+ import { ZLINK_MAX_ACTOR_ID_BYTES } from '../../contracts/Common/CoreTypes';
15
+ import type { Message } from '../../contracts/Common/Message';
16
+ import { awaitWithAbort, throwIfAborted } from '../abort';
17
+ import {
18
+ type ZLinkBackendActorRef,
19
+ type ZLinkBackendMeshNode,
20
+ type ZLinkMeshCompletionTable,
21
+ closeMeshCompletion
22
+ } from '../backend';
23
+
6
24
  import { ZLinkBufferMessage as RuntimeMessage } from '../backend/runtime-message';
7
25
  import {
26
+ isZLinkBackendResultError,
8
27
  RequestResult,
9
28
  SubmitResult,
10
- isZLinkBackendResultError,
11
29
  ZLINK_BACKEND_SEND_NONE
12
30
  } from '../backend/runtime-values';
13
- import type {
14
- ActorRef,
15
- RoutingId,
16
- ZLinkActorClient,
17
- ZLinkActorRequestCall,
18
- ZLinkActorSendCall,
19
- ZLinkMessageSerializer
20
- } from '../../contracts';
21
- import { ZLinkSpotKind } from '../../contracts';
22
- import { ZLinkFrameworkException, ZLinkFrameworkErrorKind } from '../../contracts';
31
+ import { ZLinkConfigurationException } from '../configuration';
32
+ import {
33
+ captureZLinkSpotSerialTurn,
34
+ currentZLinkSpotSerialSourceId,
35
+ requireZLinkYieldTurn,
36
+ type ZLinkSpotSerialTurn
37
+ } from '../execution';
38
+ import { remainingActorRequestTimeout, waitActorReply } from './actor-request-deadline';
23
39
  import {
40
+ createInternalFrameworkException,
41
+ internalFrameworkErrorKind,
42
+ internalFrameworkErrorKindFromWireFailureCode,
43
+ ZLinkFrameworkInternalErrorKind
44
+ } from '../framework-errors-internal';
45
+ import type { ZLinkResolvedActorRoute, ZLinkStoreLocationResolvers } from '../locations';
46
+ import { resolveFrameworkPacketName } from '../messaging/packet-name';
47
+ import { decodeFrameworkPayloadMessage, encodeFrameworkPayload } from '../messaging/payload-codec';
48
+ import {
49
+ classifySubmitResult,
24
50
  requireOneWayCompletion,
25
51
  throwAlreadySubmitted,
26
52
  ZLinkSubmitStatus,
27
53
  type ZLinkSubmitResult
28
54
  } from '../messaging/submission-result';
29
- import type { Message } from '../../contracts/Common/Message';
30
- import type {
31
- ZLinkBackendActorRef,
32
- ZLinkBackendMeshNode,
33
- ZLinkMeshCompletionTable
34
- } from '../backend';
35
- import { closeMeshCompletion } from '../backend';
36
- import { awaitWithAbort, throwIfAborted } from '../abort';
37
- import { encodeFrameworkPayload, decodeFrameworkPayloadMessage } from '../messaging/payload-codec';
38
- import { resolveFrameworkPacketName } from '../messaging/packet-name';
39
55
  import {
40
56
  actorRequestDeadlineMetadata,
41
57
  decodeStreamHeader,
@@ -45,11 +61,7 @@ import {
45
61
  ZLinkStreamHeaderFlags,
46
62
  ZLinkStreamMessageKind
47
63
  } from '../streams/protocol';
48
- import type { ZLinkStoreLocationResolvers } from '../locations';
49
- import type { ZLinkResolvedActorRoute } from '../locations';
50
- import type { ZLinkActorRoutedJoinTransport } from './actor-routed-join-transport';
51
- import { encodeRemoteActorPacketRelayPayload } from './actor-packet-relay-wire';
52
- import { requestRoutedJsonReply } from './actor-routed-json-request';
64
+ import { currentZLinkActorExecution } from './actor-execution-context';
53
65
  import {
54
66
  attachActorMessageFollowContext,
55
67
  createInitialActorMessageFollowContext,
@@ -57,13 +69,11 @@ import {
57
69
  type ZLinkActorMessageFollowContext
58
70
  } from './actor-message-follow-context';
59
71
  import {
60
- captureZLinkSpotSerialTurn,
61
- currentZLinkSpotSerialSourceId,
62
- requireZLinkYieldTurn,
63
- type ZLinkSpotSerialTurn
64
- } from '../execution';
65
- import { ZLinkConfigurationException } from '../configuration';
66
- import { currentZLinkActorExecution } from './actor-execution-context';
72
+ encodeRemoteActorPacketRelayPayload,
73
+ ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET
74
+ } from './actor-packet-relay-wire';
75
+ import type { ZLinkActorRoutedJoinTransport } from './actor-routed-join-transport';
76
+ import { requestRoutedJsonReply } from './actor-routed-json-request';
67
77
 
68
78
  export interface ZLinkActorClientOptions {
69
79
  readonly nodeProvider: (meshName: string) => ZLinkBackendMeshNode | undefined;
@@ -163,7 +173,7 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
163
173
  if (duplicate !== undefined) submissions.push(duplicate);
164
174
  }
165
175
  await awaitWithAbort(Promise.all(submissions), signal);
166
- return submitted();
176
+ return { status: ZLinkSubmitStatus.Submitted };
167
177
  }
168
178
  const node = this.requireNode(meshName);
169
179
  if (
@@ -181,9 +191,9 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
181
191
  returnResponse: false,
182
192
  messageFollowContext: messageFollow
183
193
  }),
184
- { packetName: '__zlink.actor.packet.relay' }
194
+ { packetName: ZLINK_REMOTE_ACTOR_PACKET_RELAY_PACKET }
185
195
  );
186
- return submitted();
196
+ return { status: ZLinkSubmitStatus.Submitted };
187
197
  }
188
198
  return await this.submitActorSend(meshName, toBackendActorRef(actor), parts);
189
199
  } catch (error) {
@@ -214,7 +224,7 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
214
224
  effectiveTimeoutMs === undefined ? undefined : performance.now() + effectiveTimeoutMs;
215
225
  const deadlineUnixMs =
216
226
  effectiveTimeoutMs === undefined ? undefined : Date.now() + effectiveTimeoutMs;
217
- const route = await this.resolveActorRoute(actorId, signal);
227
+ const route = await this.resolveActorRoute(actorId, signal, deadlineMs);
218
228
  if (
219
229
  waitPolicy === 'async' &&
220
230
  sourceSpotId !== undefined &&
@@ -248,10 +258,13 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
248
258
  );
249
259
  const routedActor = attachActorMessageFollowContext(actor, messageFollow);
250
260
  try {
261
+ const delivery = this.options
262
+ .transportDeliveryGate?.()
263
+ ?.waitBeforeSubmit(actorId, 'request', signal);
251
264
  const submissionCopies =
252
- (await this.options
253
- .transportDeliveryGate?.()
254
- ?.waitBeforeSubmit(actorId, 'request', signal)) ?? 1;
265
+ delivery === undefined
266
+ ? 1
267
+ : ((await waitActorReply(delivery, actorId, deadlineMs, signal)) ?? 1);
255
268
  const handoff = this.options.handoffCapture?.(
256
269
  meshName,
257
270
  actor.actorId,
@@ -273,9 +286,11 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
273
286
  );
274
287
  if (duplicate !== undefined) submissions.push(duplicate);
275
288
  }
276
- const replies = await waitHandoffReply<unknown[]>(
289
+ const replies = await waitActorReply<unknown[]>(
277
290
  Promise.all(submissions),
278
- remainingActorRequestTimeout(actorId, deadlineMs)
291
+ actorId,
292
+ deadlineMs,
293
+ signal
279
294
  );
280
295
  return replies[0] as TReply;
281
296
  }
@@ -302,7 +317,8 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
302
317
 
303
318
  private async resolveActorRoute(
304
319
  actorId: string,
305
- signal?: AbortSignal
320
+ signal?: AbortSignal,
321
+ deadlineMs?: number
306
322
  ): Promise<ZLinkResolvedActorRoute> {
307
323
  const resolver = this.options.locationResolver();
308
324
  if (resolver === undefined) {
@@ -311,7 +327,7 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
311
327
  'Actor direct messaging requires a Location Store.'
312
328
  );
313
329
  }
314
- const resolution = await resolver.resolveDirectActorRoute(actorId, signal);
330
+ const resolution = await resolver.resolveDirectActorRoute(actorId, signal, deadlineMs);
315
331
  if (resolution.kind === 'missing') {
316
332
  throw createInternalFrameworkException(
317
333
  ZLinkFrameworkInternalErrorKind.ActorRouteNotFound,
@@ -390,7 +406,7 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
390
406
  ): Promise<ZLinkSubmitResult> {
391
407
  const node = this.requireNode(meshName);
392
408
  try {
393
- return mapSubmitResult(
409
+ return classifySubmitResult(
394
410
  await node.sendToActor(actor, toMessageLikeParts(parts), {
395
411
  flags: ZLINK_BACKEND_SEND_NONE
396
412
  }),
@@ -398,11 +414,9 @@ export class DefaultZLinkActorClient implements ZLinkActorClient {
398
414
  );
399
415
  } catch (error) {
400
416
  if (isZLinkBackendResultError(error)) {
401
- return mapSubmitResult(error.result, 'Actor send');
417
+ return classifySubmitResult(error.result, 'Actor send', error.phase);
402
418
  }
403
- throw isZLinkBackendResultError(error)
404
- ? mapRequestError(error, 'Actor send')
405
- : mapSubmitError(error, 'Actor send');
419
+ throw mapSubmitError(error, 'Actor send');
406
420
  }
407
421
  }
408
422
 
@@ -560,53 +574,12 @@ function remoteRelayErrorKind(value: unknown): ZLinkFrameworkInternalErrorKind {
560
574
  : ZLinkFrameworkInternalErrorKind.RequestFailed;
561
575
  }
562
576
 
563
- function remainingActorRequestTimeout(
564
- actorId: string,
565
- deadlineMs: number | undefined
566
- ): number | undefined {
567
- if (deadlineMs === undefined) return undefined;
568
- const remaining = deadlineMs - performance.now();
569
- if (remaining <= 0) {
570
- throw createInternalFrameworkException(
571
- ZLinkFrameworkInternalErrorKind.DeadlineExceeded,
572
- `Actor request '${actorId}' exceeded its deadline before submission.`
573
- );
574
- }
575
- return Math.max(1, Math.ceil(remaining));
576
- }
577
-
578
577
  function requireActorId(actorId: string): void {
579
578
  const byteLength = Buffer.byteLength(actorId, 'utf8');
580
- if (byteLength < 1 || byteLength > 255) {
581
- throw new ZLinkConfigurationException('Actor ID must contain 1..255 UTF-8 bytes.');
582
- }
583
- }
584
-
585
- async function waitHandoffReply<TReply>(
586
- reply: Promise<unknown>,
587
- timeoutMs: number | undefined
588
- ): Promise<TReply> {
589
- if (timeoutMs === undefined) return (await reply) as TReply;
590
- let deadline: ReturnType<typeof setTimeout> | undefined;
591
- try {
592
- return await Promise.race([
593
- reply as Promise<TReply>,
594
- new Promise<TReply>((_resolve, reject) => {
595
- deadline = setTimeout(
596
- () =>
597
- reject(
598
- createInternalFrameworkException(
599
- ZLinkFrameworkInternalErrorKind.RequestFailed,
600
- 'Actor handoff request timed out.',
601
- true
602
- )
603
- ),
604
- timeoutMs
605
- );
606
- })
607
- ]);
608
- } finally {
609
- if (deadline !== undefined) clearTimeout(deadline);
579
+ if (byteLength < 1 || byteLength > ZLINK_MAX_ACTOR_ID_BYTES) {
580
+ throw new ZLinkConfigurationException(
581
+ `Actor ID must contain 1..${ZLINK_MAX_ACTOR_ID_BYTES} UTF-8 bytes.`
582
+ );
610
583
  }
611
584
  }
612
585
 
@@ -861,7 +834,7 @@ function decodeActorReplyPayload<TReply>(
861
834
  payload,
862
835
  serializers,
863
836
  undefined,
864
- 'application/json',
837
+ ZlinkStreamContentType.Json,
865
838
  packetName,
866
839
  'reply'
867
840
  );
@@ -871,29 +844,6 @@ function mapSubmitError(error: unknown, operationName: string): Error {
871
844
  if (error instanceof ZLinkFrameworkException) {
872
845
  return error;
873
846
  }
874
- if (isZLinkBackendResultError(error)) {
875
- switch (error.result) {
876
- case SubmitResult.NotConnected:
877
- return routeNotConnected(
878
- `${operationName} failed because the target route is not connected.`,
879
- error
880
- );
881
- case SubmitResult.NotFound:
882
- return createInternalFrameworkException(
883
- ZLinkFrameworkInternalErrorKind.ActorRouteNotFound,
884
- `${operationName} failed because the actor route was not found.`,
885
- false,
886
- error
887
- );
888
- default:
889
- return createInternalFrameworkException(
890
- ZLinkFrameworkInternalErrorKind.RequestFailed,
891
- `${operationName} failed with submit result ${error.result}.`,
892
- false,
893
- error
894
- );
895
- }
896
- }
897
847
  return createInternalFrameworkException(
898
848
  ZLinkFrameworkInternalErrorKind.RouteNotConnected,
899
849
  `${operationName} failed before a reply was received.`,
@@ -902,79 +852,6 @@ function mapSubmitError(error: unknown, operationName: string): Error {
902
852
  );
903
853
  }
904
854
 
905
- function mapSubmitResult(result: number, operationName: string): ZLinkSubmitResult {
906
- switch (result) {
907
- case SubmitResult.Ok:
908
- return submitted();
909
- case SubmitResult.Backpressured:
910
- case SubmitResult.NotAdmitted:
911
- return { status: ZLinkSubmitStatus.Backpressured };
912
- case SubmitResult.NotConnected:
913
- return { status: ZLinkSubmitStatus.RouteNotConnected };
914
- case SubmitResult.NotFound:
915
- return { status: ZLinkSubmitStatus.TargetNotFound };
916
- case SubmitResult.Terminated:
917
- return { status: ZLinkSubmitStatus.Shutdown };
918
- default:
919
- throw createInternalFrameworkException(
920
- ZLinkFrameworkInternalErrorKind.RequestFailed,
921
- `${operationName} failed with submit result ${result}.`
922
- );
923
- }
924
- }
925
-
926
- function submitted(): ZLinkSubmitResult {
927
- return { status: ZLinkSubmitStatus.Submitted };
928
- }
929
-
930
- // Ownership-aware Actor remote-reply translator (spec 32:81-118, 99-103):
931
- // the reply comes from a remote target, so a fine framework failure code
932
- // refines the coarse terminal, and a terminal-only conflict/busy is the
933
- // target's owner/queue state (retryable stale/Unavailable), never a
934
- // source-owned queue exhaustion. Backpressure never appears on this reply
935
- // path. Internal kinds are preserved so the stale-actor re-resolve retry
936
- // (isStaleActorError) keeps working.
937
- function actorFailureCodeKind(failureErrno: number): ZLinkFrameworkInternalErrorKind | undefined {
938
- switch (failureErrno) {
939
- case 3:
940
- return ZLinkFrameworkInternalErrorKind.ActorAlreadyExists;
941
- case 4:
942
- return ZLinkFrameworkInternalErrorKind.ActorTypeMismatch;
943
- case 7:
944
- return ZLinkFrameworkInternalErrorKind.SpotTypeMismatch;
945
- case 8:
946
- return ZLinkFrameworkInternalErrorKind.ActorSessionNotBound;
947
- case 9:
948
- case 14:
949
- return ZLinkFrameworkInternalErrorKind.RequestTargetNotFound;
950
- case 12:
951
- case 16:
952
- return ZLinkFrameworkInternalErrorKind.RequestProtocolError;
953
- // routeNotConnected(13) and a remote worker queue full(18) are Unavailable.
954
- case 13:
955
- case 18:
956
- return ZLinkFrameworkInternalErrorKind.RouteNotConnected;
957
- case 15:
958
- return ZLinkFrameworkInternalErrorKind.RequestRejected;
959
- case 19:
960
- return ZLinkFrameworkInternalErrorKind.WorkerTimedOut;
961
- case 17:
962
- return ZLinkFrameworkInternalErrorKind.RequestFailed;
963
- case 20:
964
- return ZLinkFrameworkInternalErrorKind.WorkerFailed;
965
- case 21:
966
- return ZLinkFrameworkInternalErrorKind.ActorLocationStale;
967
- case 33:
968
- return ZLinkFrameworkInternalErrorKind.ActorGenerationStale;
969
- case 34:
970
- return ZLinkFrameworkInternalErrorKind.ActorMoving;
971
- case 35:
972
- return ZLinkFrameworkInternalErrorKind.RelocationDataLost;
973
- default:
974
- return undefined;
975
- }
976
- }
977
-
978
855
  function actorTerminalKind(result: number): ZLinkFrameworkInternalErrorKind {
979
856
  switch (result) {
980
857
  case RequestResult.TimedOut:
@@ -990,7 +867,7 @@ function actorTerminalKind(result: number): ZLinkFrameworkInternalErrorKind {
990
867
  case RequestResult.NotConnected:
991
868
  return ZLinkFrameworkInternalErrorKind.RouteNotConnected;
992
869
  // A terminal-only conflict/busy on a remote actor reply is the target's
993
- // stale/owner state: retryable ActorLocationStale (-> Unavailable).
870
+ // stale/owner state: ActorLocationStale (Unavailable).
994
871
  case RequestResult.Conflict:
995
872
  case RequestResult.Busy:
996
873
  return ZLinkFrameworkInternalErrorKind.ActorLocationStale;
@@ -999,8 +876,11 @@ function actorTerminalKind(result: number): ZLinkFrameworkInternalErrorKind {
999
876
  }
1000
877
  }
1001
878
 
879
+ // The shared table preserves Actor fine kinds; without a recognized fine code,
880
+ // the remote owner/queue terminal supplies the classification.
1002
881
  function mapRequestResult(result: number, failureErrno: number, operationName: string): Error {
1003
- const kind = actorFailureCodeKind(failureErrno) ?? actorTerminalKind(result);
882
+ const kind =
883
+ internalFrameworkErrorKindFromWireFailureCode(failureErrno) ?? actorTerminalKind(result);
1004
884
  return createInternalFrameworkException(
1005
885
  kind,
1006
886
  `${operationName} failed with request result ${result}` +
@@ -1008,13 +888,6 @@ function mapRequestResult(result: number, failureErrno: number, operationName: s
1008
888
  );
1009
889
  }
1010
890
 
1011
- function mapRequestError(
1012
- error: { readonly result: number; readonly failureErrno?: number },
1013
- operationName: string
1014
- ): Error {
1015
- return mapRequestResult(error.result, error.failureErrno ?? 0, operationName);
1016
- }
1017
-
1018
891
  function routeNotConnected(message: string, cause?: unknown): ZLinkFrameworkException {
1019
892
  return createInternalFrameworkException(
1020
893
  ZLinkFrameworkInternalErrorKind.RouteNotConnected,
@@ -1,45 +1,51 @@
1
1
  import {
2
- ZLinkFrameworkInternalErrorKind,
3
- createInternalFrameworkException
4
- } from '../framework-errors-internal';
5
- import type {
6
- RoutingId,
7
- SpotId,
8
- ZLinkActor,
9
- ZLinkActorContext,
10
- ZLinkActorJoinCompletion,
11
- ZLinkActorJoinEntrySpotCall,
12
- ZLinkActorJoinSpotCall,
13
- ZLinkBoundSession,
14
- ZLinkBoundSessionSendCall
2
+ type RoutingId,
3
+ type SpotId,
4
+ type ZLinkActor,
5
+ type ZLinkActorContext,
6
+ type ZLinkActorJoinCompletion,
7
+ type ZLinkActorJoinEntrySpotCall,
8
+ type ZLinkActorJoinSpotCall,
9
+ type ZLinkBoundSession,
10
+ type ZLinkBoundSessionSendCall,
11
+ ZLinkEncodedPayload,
12
+ ZLinkFrameworkException,
13
+ ZLinkMessage,
14
+ type ZLinkMessageSerializer
15
15
  } from '../../contracts';
16
- import { ZLinkEncodedPayload, ZLinkFrameworkException, ZLinkMessage } from '../../contracts';
16
+
17
17
  import type { Message } from '../../contracts/Common/Message';
18
- import { ZLinkBufferMessage as RuntimeMessage } from '../backend/runtime-message';
19
- import { type ZLinkMessageSerializer } from '../../contracts';
20
- import { ZLinkConfigurationException } from '../configuration';
21
18
  import {
22
- ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome,
23
19
  ZLinkRuntimeDispatchErrorAction as ZLinkDispatchErrorAction,
24
20
  ZLinkRuntimeDispatchErrorReason as ZLinkDispatchErrorReason,
25
21
  ZLinkDispatchErrorSurface,
26
- ZLinkDispatchMessageKind
22
+ ZLinkDispatchMessageKind,
23
+ ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome
27
24
  } from '../../contracts/Dispatch/ZLinkDispatchOptions';
25
+ import { ZLinkBufferMessage as RuntimeMessage } from '../backend/runtime-message';
26
+ import { ZLinkConfigurationException } from '../configuration';
27
+ import { dispatchErrorDetails } from '../diagnostics/dispatch-error-details';
28
+ import { captureZLinkSpotSerialTurn } from '../execution';
29
+ import { createRandomOperationIdentity } from '../foundation/operation-identity';
30
+ import {
31
+ ZLinkFrameworkInternalErrorKind,
32
+ createInternalFrameworkException
33
+ } from '../framework-errors-internal';
28
34
  import { encodeFrameworkPayloadMessage } from '../messaging/payload-codec';
29
- import { ZLinkActorRuntimeState, toFrameworkActorRef } from './actor-runtime-state';
30
- import type {
31
- ZLinkActorBoundSessionFactory,
32
- ZLinkActorJoinCoordinator
33
- } from './actor-runtime-contracts';
34
- import type { ZLinkActorManagerOptions } from './actor-runtime-contracts';
35
+ import { deferActorJoin } from './actor-join-deferred-scope';
35
36
  import {
36
37
  ZLINK_ACTOR_LIFECYCLE_SNAPSHOT,
37
38
  type ZLinkActorLifecycleSnapshotSource
38
39
  } from './actor-lifecycle-snapshot';
39
- import { createRandomOperationIdentity } from '../foundation/operation-identity';
40
- import { deferActorJoin } from './actor-join-deferred-scope';
41
- import { captureZLinkSpotSerialTurn } from '../execution';
42
- import { dispatchErrorDetails } from '../diagnostics/dispatch-error-details';
40
+ import type {
41
+ ZLinkActorBoundSessionFactory,
42
+ ZLinkActorJoinCoordinator,
43
+ ZLinkActorManagerOptions
44
+ } from './actor-runtime-contracts';
45
+ import { ZLinkActorRuntimeState, toFrameworkActorRef } from './actor-runtime-state';
46
+ const DEFAULT_ACTOR_JOIN_TIMEOUT_MS = 5_000;
47
+
48
+ const MAX_ACTOR_JOIN_TIMEOUT_MS = 2_147_483_647;
43
49
 
44
50
  export const ZLINK_ACTOR_JOIN_ENTRY_SPOT_RUNTIME = Symbol('zlink.actor.join-entry-spot-runtime');
45
51
 
@@ -166,7 +172,7 @@ export class DefaultZLinkActorContext implements ZLinkActorContext {
166
172
  }
167
173
 
168
174
  class DefaultZLinkActorJoinSpotCall implements ZLinkActorJoinSpotCall {
169
- private timeoutMs = 5_000;
175
+ private timeoutMs: number = DEFAULT_ACTOR_JOIN_TIMEOUT_MS;
170
176
  private deferred = false;
171
177
  private readonly turn = captureZLinkSpotSerialTurn();
172
178
 
@@ -212,7 +218,7 @@ class DefaultZLinkActorJoinSpotCall implements ZLinkActorJoinSpotCall {
212
218
  discarded = true;
213
219
  this.state.endDeferredJoin();
214
220
  try {
215
- await this.coordinator.abortDeferredJoin?.(this.actor, this.state, operationId);
221
+ await this.coordinator.abortDeferredJoin?.(this.actor, this.state);
216
222
  } finally {
217
223
  deadline.close();
218
224
  requestMessage.close();
@@ -228,7 +234,7 @@ class DefaultZLinkActorJoinSpotCall implements ZLinkActorJoinSpotCall {
228
234
  // The provisional ingress fence is installed only after the
229
235
  // handler terminal. Target admission starts before reply encoding,
230
236
  // while completion and finalization remain in execute().
231
- this.coordinator.beginDeferredJoin?.(this.actor, this.state, operationId);
237
+ this.coordinator.beginDeferredJoin?.(this.actor, this.state);
232
238
  pendingJoin = this.coordinator.joinSpot(
233
239
  this.actor,
234
240
  this.state,
@@ -268,7 +274,7 @@ class DefaultZLinkActorJoinSpotCall implements ZLinkActorJoinSpotCall {
268
274
  } catch (error) {
269
275
  this.state.endDeferredJoin();
270
276
  await this.coordinator
271
- .abortDeferredJoin?.(this.actor, this.state, operationId)
277
+ .abortDeferredJoin?.(this.actor, this.state)
272
278
  .catch(() => undefined);
273
279
  await notifyJoinFailure(this.actor, operationId, error, this.coordinator);
274
280
  return;
@@ -305,7 +311,7 @@ class DefaultZLinkActorJoinSpotCall implements ZLinkActorJoinSpotCall {
305
311
  }
306
312
 
307
313
  class DefaultZLinkActorJoinEntrySpotCall implements ZLinkActorJoinEntrySpotCall {
308
- private timeoutMs = 5_000;
314
+ private timeoutMs: number = DEFAULT_ACTOR_JOIN_TIMEOUT_MS;
309
315
  private deferred = false;
310
316
  private readonly turn = captureZLinkSpotSerialTurn();
311
317
 
@@ -350,7 +356,7 @@ class DefaultZLinkActorJoinEntrySpotCall implements ZLinkActorJoinEntrySpotCall
350
356
  discarded = true;
351
357
  this.state.endDeferredJoin();
352
358
  try {
353
- await this.coordinator.abortDeferredJoin?.(this.actor, this.state, operationId);
359
+ await this.coordinator.abortDeferredJoin?.(this.actor, this.state);
354
360
  } finally {
355
361
  deadline.close();
356
362
  requestMessage.close();
@@ -363,7 +369,7 @@ class DefaultZLinkActorJoinEntrySpotCall implements ZLinkActorJoinEntrySpotCall
363
369
  prepared = true;
364
370
  this.state.endDeferredJoin();
365
371
  try {
366
- this.coordinator.beginDeferredJoin?.(this.actor, this.state, operationId);
372
+ this.coordinator.beginDeferredJoin?.(this.actor, this.state);
367
373
  pendingJoin = this.coordinator.joinEntrySpot(
368
374
  this.actor,
369
375
  this.state,
@@ -403,7 +409,7 @@ class DefaultZLinkActorJoinEntrySpotCall implements ZLinkActorJoinEntrySpotCall
403
409
  } catch (error) {
404
410
  this.state.endDeferredJoin();
405
411
  await this.coordinator
406
- .abortDeferredJoin?.(this.actor, this.state, operationId)
412
+ .abortDeferredJoin?.(this.actor, this.state)
407
413
  .catch(() => undefined);
408
414
  await notifyJoinFailure(this.actor, operationId, error, this.coordinator);
409
415
  return;
@@ -480,9 +486,9 @@ function encodeJoinRequest(
480
486
 
481
487
  function validateJoinTimeout(timeoutMs: number): number {
482
488
  const rounded = Math.ceil(timeoutMs);
483
- if (!Number.isFinite(timeoutMs) || rounded < 1 || rounded > 2_147_483_647) {
489
+ if (!Number.isFinite(timeoutMs) || rounded < 1 || rounded > MAX_ACTOR_JOIN_TIMEOUT_MS) {
484
490
  throw new ZLinkConfigurationException(
485
- 'Actor join timeout must be a finite value from 1 through 2147483647 milliseconds.'
491
+ `Actor join timeout must be a finite value from 1 through ${MAX_ACTOR_JOIN_TIMEOUT_MS} milliseconds.`
486
492
  );
487
493
  }
488
494
  return rounded;