@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,28 +1,27 @@
1
- import type { ZLinkListenerRecords } from '../foundation/listener-records';
2
- import type { ZLinkLocationOptionOverrides } from '../../contracts/Locations/Options';
3
- import type { ActorRef, RoutingId, ZLinkActor, ZLinkChannelClient, ZLinkFanoutClient, ZLinkMessage, ZLinkMeshNodeDescriptor, ZLinkMessageSerializer, ZLinkSpotPublisherClient } from '../../contracts';
4
- import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
5
- import type { ZLinkRuntimeEventPublisher } from '../diagnostics';
6
- import { ZLinkFrameworkRuntimeState } from '../../contracts';
7
- import { type ZLinkSubmitResult } from '../messaging/submission-result';
8
- import { type ReadyRecord, type ReceiveRecord } from '../foundation/service-runtime-contracts';
1
+ import { type ActorRef, type RoutingId, type ZLinkActor, type ZLinkChannelClient, type ZLinkFanoutClient, type ZLinkMeshNodeDescriptor, type ZLinkMessage, type ZLinkMessageSerializer, type ZLinkSpotPublisherClient, ZLinkFrameworkRuntimeState } from '../../contracts';
9
2
  import type { Message } from '../../contracts/Common/Message';
10
- import type { ZLinkMessageFollowOrigin } from '../foundation/service-runtime-contracts';
11
- import { type ZLinkFrameworkRegistration } from '../configuration';
3
+ import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
4
+ import type { ZLinkLocationOptionOverrides } from '../../contracts/Locations/Options';
5
+ import type { ZLinkActivationConcurrency } from '../activation-admission';
6
+ import type { ZLinkRemoteBoundSessionTarget } from '../actors';
7
+ import type { ZLinkActorHandoffPacket } from '../actors/actor-handoff';
12
8
  import type { ZLinkBackendAdapterFactory, ZLinkBackendContext, ZLinkBackendMeshNode } from '../backend/contracts';
13
9
  import { ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
14
10
  import type { ZLinkDispatchErrorReporter } from '../channels';
11
+ import { type ZLinkFrameworkRegistration } from '../configuration';
12
+ import type { ZLinkRuntimeEventPublisher } from '../diagnostics';
13
+ import type { ZLinkListenerRecords } from '../foundation/listener-records';
14
+ import { type ZLinkMessageFollowOrigin, type ReadyRecord, type ReceiveRecord } from '../foundation/service-runtime-contracts';
15
+ import type { ServiceMessageFollowRecord } from '../foundation/service-stateful-wire-codec';
16
+ import { ApplicationJobQueue } from '../host/application-job-queue';
15
17
  import { ZLinkLocationRuntime, type ZLinkLocationEventSink, type ZLinkLocationRuntimeStores } from '../locations';
16
- import type { ZLinkRemoteBoundSessionTarget } from '../actors';
17
- import type { ZLinkActorHandoffPacket } from '../actors/actor-handoff';
18
+ import { type ZLinkSubmitResult } from '../messaging/submission-result';
18
19
  import type { ZLinkDetachedTaskRunner } from './spot-actor-join-dispatch';
19
20
  import type { ZLinkSpotRoutedTransport } from './spot-outbound';
20
21
  import type { ZLinkSpotRouteResolver } from './spot-routing-internal';
21
- import type { ZLinkEntryActorRuntime, ZLinkSpotActorTransferRuntime, ZLinkSpotActorHandoffRuntime, ZLinkSpotBoundSessionRuntime } from './spot-runtime-ports';
22
- import type { ZLinkActivationConcurrency } from '../activation-admission';
23
- import type { ServiceMessageFollowRecord } from '../foundation/service-stateful-wire-codec';
24
- import { ApplicationJobQueue } from '../host/application-job-queue';
22
+ import type { ZLinkEntryActorRuntime, ZLinkSpotActorHandoffRuntime, ZLinkSpotActorTransferRuntime, ZLinkSpotBoundSessionRuntime } from './spot-runtime-ports';
25
23
  export interface ZLinkSpotNodeRuntimeManagerOptions {
24
+ readonly errorSink: import('../diagnostics/dispatch-error-port').ZLinkDispatchErrorSink;
26
25
  readonly listenerRecords?: ZLinkListenerRecords;
27
26
  readonly registration: ZLinkFrameworkRegistration;
28
27
  readonly primaryMeshName?: string;
@@ -43,7 +42,7 @@ export interface ZLinkSpotNodeRuntimeManagerOptions {
43
42
  readonly actorTransferRuntime?: ZLinkSpotActorTransferRuntime;
44
43
  readonly boundSessionRuntime?: ZLinkSpotBoundSessionRuntime;
45
44
  readonly actorHandoffRuntime?: ZLinkSpotActorHandoffRuntime;
46
- readonly detachedTaskRunner?: ZLinkDetachedTaskRunner;
45
+ readonly detachedTaskRunner: ZLinkDetachedTaskRunner;
47
46
  readonly applicationJobQueue?: ApplicationJobQueue;
48
47
  readonly applicationJobReceiveFlowFailureSink?: (error: unknown) => void;
49
48
  readonly peerAdmissionSealed?: (meshName: string) => boolean;
@@ -60,7 +59,7 @@ export declare class ZLinkSpotNodeRuntimeManager {
60
59
  private readonly entryActivations;
61
60
  private readonly entryActivationStarts;
62
61
  private readonly publishers;
63
- private disposed;
62
+ private readonly disposal;
64
63
  private readonly autoConnectLoops;
65
64
  private readonly publishedMeshNodeDescriptors;
66
65
  private readonly descriptorRevisionByMesh;
@@ -110,6 +109,7 @@ export declare class ZLinkSpotNodeRuntimeManager {
110
109
  notifyEntrySpotActorDisconnected(meshName: string, actor: ZLinkActor, signal?: AbortSignal): Promise<void>;
111
110
  serverChannels(meshName: string): [string, import("../configuration").ZLinkMeshChannelOptions][];
112
111
  dispose(signal?: AbortSignal, deadline?: Date): Promise<void>;
112
+ private disposeCore;
113
113
  private dispatchMeshRecord;
114
114
  dispatchEntrySpotRecord(meshName: string, owner: ReadyRecord, record: ReceiveRecord): Promise<boolean>;
115
115
  private ensureEntryActivation;
@@ -117,6 +117,7 @@ export declare class ZLinkSpotNodeRuntimeManager {
117
117
  private primaryEntryActivation;
118
118
  dispatchEntryActorPacket(actorId: string, parts: readonly Message[], returnResponse?: boolean, remoteBoundSessionTarget?: ZLinkRemoteBoundSessionTarget, fallbackActorRef?: ActorRef, requestTerminal?: (response: unknown) => Promise<void> | void, messageFollowOrigin?: ZLinkMessageFollowOrigin): Promise<unknown>;
119
119
  dispatchEntryActorJoin(meshName: string, actor: ZLinkActor, handoffBacklog?: readonly ZLinkActorHandoffPacket[]): Promise<void>;
120
+ executeEntryActor<T>(meshName: string, actorId: string, operation: () => Promise<T>): Promise<T>;
120
121
  publish(meshName: string, channelName: string, topic: string, packetName: string | undefined, event: Message, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
121
122
  private executePublish;
122
123
  tryPublish(meshName: string, channelName: string, topic: string, packetName: string | undefined, event: Message, metadata?: ReadonlyMap<string, string>): ZLinkSubmitResult;
@@ -2,26 +2,31 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSpotNodeRuntimeManager = void 0;
4
4
  exports.createFrameworkEntrySpotId = createFrameworkEntrySpotId;
5
- const framework_errors_internal_1 = require("../framework-errors-internal");
5
+ const disposal_1 = require("../disposal");
6
6
  const node_crypto_1 = require("node:crypto");
7
- const Locations_1 = require("../../contracts/Locations");
8
7
  const contracts_1 = require("../../contracts");
9
- const submission_result_1 = require("../messaging/submission-result");
8
+ const InternalDefaults_1 = require("../../contracts/Configuration/InternalDefaults");
9
+ const RegistrationBuilderPolicy_1 = require("../../contracts/Configuration/RegistrationBuilderPolicy");
10
10
  const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
11
+ const Locations_1 = require("../../contracts/Locations");
12
+ const abort_1 = require("../abort");
13
+ const mesh_completion_table_1 = require("../backend/mesh-completion-table");
14
+ const mesh_dispatch_pump_1 = require("../backend/mesh-dispatch-pump");
11
15
  const runtime_values_1 = require("../backend/runtime-values");
12
- const service_runtime_contracts_1 = require("../foundation/service-runtime-contracts");
16
+ const channel_clients_1 = require("../channels/channel-clients");
17
+ const channel_envelope_1 = require("../channels/channel-envelope");
13
18
  const configuration_1 = require("../configuration");
14
- const mesh_dispatch_pump_1 = require("../backend/mesh-dispatch-pump");
15
- const execution_1 = require("../execution");
16
19
  const flow_context_1 = require("../diagnostics/flow-context");
17
- const mesh_completion_table_1 = require("../backend/mesh-completion-table");
18
- const channel_envelope_1 = require("../channels/channel-envelope");
20
+ const execution_1 = require("../execution");
21
+ const service_runtime_contracts_1 = require("../foundation/service-runtime-contracts");
22
+ const framework_errors_internal_1 = require("../framework-errors-internal");
23
+ const application_job_queue_1 = require("../host/application-job-queue");
19
24
  const locations_1 = require("../locations");
25
+ const submission_result_1 = require("../messaging/submission-result");
26
+ const routing_id_1 = require("../routing-id");
20
27
  const spot_entry_activation_1 = require("./spot-entry-activation");
21
28
  const spot_node_autoconnect_1 = require("./spot-node-autoconnect");
22
- const routing_id_1 = require("../routing-id");
23
- const abort_1 = require("../abort");
24
- const application_job_queue_1 = require("../host/application-job-queue");
29
+ const DEFAULT_SPOT_NODE_SHUTDOWN_TIMEOUT_MS = 1000;
25
30
  const ZLINK_SEND_DONT_WAIT = 1;
26
31
  // Shared default for the dominant no-metadata call; avoids a Map allocation
27
32
  // per outbound operation.
@@ -34,7 +39,7 @@ class ZLinkSpotNodeRuntimeManager {
34
39
  entryActivations = new Map();
35
40
  entryActivationStarts = new Map();
36
41
  publishers = new Map();
37
- disposed = false;
42
+ disposal = new disposal_1.RuntimeDisposal();
38
43
  autoConnectLoops = [];
39
44
  publishedMeshNodeDescriptors = new Map();
40
45
  // Keep the revision source separate from the cached Store row. A new owner
@@ -51,6 +56,9 @@ class ZLinkSpotNodeRuntimeManager {
51
56
  applicationJobQueue;
52
57
  constructor(options) {
53
58
  this.options = options;
59
+ if (options.detachedTaskRunner === undefined) {
60
+ throw new configuration_1.ZLinkConfigurationException('Spot node runtime requires a detached task runner.');
61
+ }
54
62
  this.applicationJobQueue =
55
63
  options.applicationJobQueue ??
56
64
  new application_job_queue_1.ApplicationJobQueue((0, application_job_queue_1.resolveApplicationJobQueueConfiguration)());
@@ -82,7 +90,8 @@ class ZLinkSpotNodeRuntimeManager {
82
90
  peerResolver: location.resolver,
83
91
  executor: capability.executor,
84
92
  events: location.events,
85
- options: location.options
93
+ options: location.options,
94
+ errorSink: this.options.errorSink
86
95
  });
87
96
  const loop = new locations_1.ZLinkAutoConnectLoop({
88
97
  reconciler,
@@ -185,9 +194,9 @@ class ZLinkSpotNodeRuntimeManager {
185
194
  : Object.keys(spotNode.actorFactories ?? {}).length) > 0;
186
195
  node.configureObjectPlacement({
187
196
  role: spotNode.objectRole ?? (hasLegacyObjectFactories ? 'server' : 'none'),
188
- placementWeight: spotNode.placementWeight ?? 100,
197
+ placementWeight: spotNode.placementWeight ?? RegistrationBuilderPolicy_1.ZLINK_DEFAULT_PUBLIC_WEIGHT,
189
198
  activeCapacityLimit: aggregatePlacementCapacity(spotNode.actorLimit ?? 0, spotNode.spotLimit ?? 0),
190
- pendingCapacityLimit: spotNode.activationConcurrencyLimit ?? 128,
199
+ pendingCapacityLimit: spotNode.activationConcurrencyLimit ?? InternalDefaults_1.DEFAULT_ACTIVATION_CONCURRENCY_LIMIT,
191
200
  objectCapabilities: [
192
201
  ...stableTypes.map((type) => `object-type:${type}`),
193
202
  ...instanceSpotTypes.map((type) => `instance-spot-type:${type}`)
@@ -336,13 +345,13 @@ class ZLinkSpotNodeRuntimeManager {
336
345
  },
337
346
  activationConcurrency: this.options.activationConcurrency?.(meshName) ?? {
338
347
  active: 0,
339
- limit: registration.activationConcurrencyLimit ?? 128
348
+ limit: registration.activationConcurrencyLimit ?? InternalDefaults_1.DEFAULT_ACTIVATION_CONCURRENCY_LIMIT
340
349
  },
341
350
  channelWeights: Object.fromEntries(this.serverChannels(meshName).map(([channelName, channel]) => [
342
351
  channelName,
343
352
  state === contracts_1.ZLinkFrameworkRuntimeState.Draining
344
353
  ? 0
345
- : this.effectiveChannelWeight(meshName, channelName, channel.weight ?? 100)
354
+ : this.effectiveChannelWeight(meshName, channelName, channel.weight ?? RegistrationBuilderPolicy_1.ZLINK_DEFAULT_PUBLIC_WEIGHT)
346
355
  ])),
347
356
  applicationVersion: this.options.registration.applicationVersion,
348
357
  maintenanceWave: this.options.registration.maintenanceWave,
@@ -433,7 +442,9 @@ class ZLinkSpotNodeRuntimeManager {
433
442
  if (registration === undefined) {
434
443
  throw new configuration_1.ZLinkConfigurationException(`Mesh '${meshName}' is not registered.`);
435
444
  }
436
- return this.runtimePlacementWeights.get(meshName) ?? registration.placementWeight ?? 100;
445
+ return (this.runtimePlacementWeights.get(meshName) ??
446
+ registration.placementWeight ??
447
+ RegistrationBuilderPolicy_1.ZLINK_DEFAULT_PUBLIC_WEIGHT);
437
448
  }
438
449
  channelWeight(channelName) {
439
450
  const match = this.resolveChannel(channelName);
@@ -486,17 +497,15 @@ class ZLinkSpotNodeRuntimeManager {
486
497
  return this.runtimeChannelWeights.get(meshName)?.get(channelName) ?? configuredWeight;
487
498
  }
488
499
  resolveChannel(channelName) {
489
- const matches = [...this.options.registration.spotNodes].flatMap(([meshName, registration]) => {
490
- const channel = registration.meshChannels?.[channelName];
491
- return channel === undefined ? [] : [{ meshName, configuredWeight: channel.weight ?? 100 }];
492
- });
493
- if (matches.length === 0) {
500
+ const route = (0, channel_clients_1.resolveChannelRoute)(this.options.registration, channelName);
501
+ if (route?.kind !== 'route-mesh') {
494
502
  throw new configuration_1.ZLinkConfigurationException(`RouteMesh channel '${channelName}' is not registered.`);
495
503
  }
496
- if (matches.length > 1) {
497
- throw new configuration_1.ZLinkConfigurationException(`RouteMesh channel '${channelName}' is registered in more than one Mesh.`);
498
- }
499
- return matches[0];
504
+ const match = (0, channel_clients_1.requireUniqueRouteMeshChannel)(route.matches, `RouteMesh channel '${channelName}' is registered in more than one Mesh.`);
505
+ return {
506
+ meshName: match.meshName,
507
+ configuredWeight: match.mesh.meshChannels?.[channelName]?.weight ?? RegistrationBuilderPolicy_1.ZLINK_DEFAULT_PUBLIC_WEIGHT
508
+ };
500
509
  }
501
510
  scheduleRuntimeWeightPublication(meshName, applyWeight) {
502
511
  const publish = this.runtimeWeightPublication
@@ -508,12 +517,7 @@ class ZLinkSpotNodeRuntimeManager {
508
517
  await this.publishMeshNodeState(state, undefined, meshName);
509
518
  });
510
519
  this.runtimeWeightPublication = publish;
511
- if (this.options.detachedTaskRunner !== undefined) {
512
- this.options.detachedTaskRunner.runDetached(`RouteMesh '${meshName}' runtime weight publication`, async () => await publish);
513
- }
514
- else {
515
- void publish.catch(() => undefined);
516
- }
520
+ this.options.detachedTaskRunner.runDetached(`RouteMesh '${meshName}' runtime weight publication`, async () => await publish);
517
521
  }
518
522
  get primaryMeshCompletions() {
519
523
  const meshName = this.options.primaryMeshName ?? this.meshNodes.keys().next().value;
@@ -553,18 +557,16 @@ class ZLinkSpotNodeRuntimeManager {
553
557
  serverChannels(meshName) {
554
558
  return Object.entries(this.options.registration.spotNodes.get(meshName)?.meshChannels ?? {}).filter(([, channel]) => channel.server === true);
555
559
  }
556
- async dispose(signal, deadline) {
557
- this.disposed = true;
560
+ dispose(signal, deadline) {
561
+ return this.disposal.run(() => this.disposeCore(signal, deadline));
562
+ }
563
+ async disposeCore(signal, deadline) {
558
564
  const autoConnectLoops = [...this.autoConnectLoops];
559
565
  const entryActivations = [...this.entryActivations.values()];
560
566
  const meshPumps = [...this.meshPumps.values()];
561
567
  const meshNodes = [...this.meshNodes.values()];
562
568
  const meshCompletions = [...this.meshCompletions.values()];
563
- this.entryActivations.clear();
564
- this.autoConnectLoops.length = 0;
565
- this.meshPumps.clear();
566
569
  const publishers = [...this.publishers.values()];
567
- this.publishers.clear();
568
570
  const errors = [];
569
571
  const settle = async (operations) => {
570
572
  const results = await Promise.allSettled(operations);
@@ -577,19 +579,23 @@ class ZLinkSpotNodeRuntimeManager {
577
579
  await settle(entryActivations.reverse().map((activation) => activation.dispose(deadline)));
578
580
  await settle(meshPumps.reverse().map((pump) => pump.dispose()));
579
581
  await settle(meshNodes.reverse().map(async (node) => {
580
- node.shutdown(1000);
582
+ node.shutdown(DEFAULT_SPOT_NODE_SHUTDOWN_TIMEOUT_MS);
581
583
  node.close();
582
584
  }));
583
585
  for (const completions of meshCompletions) {
584
586
  completions.dispose();
585
587
  }
586
- this.meshNodes.clear();
587
- this.meshCompletions.clear();
588
588
  await settle(autoConnectLoops.map((loop) => loop.finishTransportShutdown(signal)));
589
589
  if (errors.length === 1)
590
590
  throw errors[0];
591
591
  if (errors.length > 1)
592
592
  throw new AggregateError(errors, 'SPOT node runtime cleanup failed.');
593
+ this.entryActivations.clear();
594
+ this.autoConnectLoops.length = 0;
595
+ this.meshPumps.clear();
596
+ this.publishers.clear();
597
+ this.meshNodes.clear();
598
+ this.meshCompletions.clear();
593
599
  }
594
600
  async dispatchMeshRecord(meshName, owner, record) {
595
601
  if (record.kind === service_runtime_contracts_1.ReceiveKind.Completion) {
@@ -699,7 +705,6 @@ class ZLinkSpotNodeRuntimeManager {
699
705
  spotPublisherClient: this.options.spotPublisherClient,
700
706
  routedTransport: this.options.routedTransport,
701
707
  spotRouterChannelIdForMesh: this.options.spotRouterChannelIdForMesh,
702
- channelMeshNameForChannel: (channelName) => resolveChannelMeshName(this.options.registration, channelName),
703
708
  timerHandlers: spotNode.entrySpotTimerHandlers,
704
709
  packetHandlers: spotNode.entrySpotPacketHandlers,
705
710
  subscriptionHandlers: spotNode.entrySpotSubscriptionHandlers,
@@ -780,8 +785,15 @@ class ZLinkSpotNodeRuntimeManager {
780
785
  }
781
786
  await activation.commitServiceActorJoin(actor, handoffBacklog);
782
787
  }
788
+ executeEntryActor(meshName, actorId, operation) {
789
+ const activation = this.entryActivations.get(meshName);
790
+ if (activation === undefined) {
791
+ throw new configuration_1.ZLinkConfigurationException(`Entry Spot Actor '${actorId}' has no activation for MeshNode '${meshName}'.`);
792
+ }
793
+ return activation.executeActor(actorId, operation);
794
+ }
783
795
  publish(meshName, channelName, topic, packetName, event, signal, metadata = EMPTY_SPOT_METADATA) {
784
- if (this.disposed) {
796
+ if (this.disposal.started) {
785
797
  return Promise.reject(runtimeShutdownError());
786
798
  }
787
799
  if (signal?.aborted === true) {
@@ -803,7 +815,7 @@ class ZLinkSpotNodeRuntimeManager {
803
815
  return this.publishWithFlags(meshName, channelName, topic, packetName, event, ZLINK_SEND_DONT_WAIT, metadata);
804
816
  }
805
817
  publishWithFlags(meshName, channelName, topic, packetName, event, flags, metadata) {
806
- if (this.disposed) {
818
+ if (this.disposal.started) {
807
819
  throw runtimeShutdownError();
808
820
  }
809
821
  const publisher = this.publishers.get(meshName);
@@ -834,31 +846,14 @@ function createFrameworkEntrySpotId(prefix) {
834
846
  }
835
847
  return `${prefix}-entry-${(0, node_crypto_1.randomUUID)()}`;
836
848
  }
837
- function resolveChannelMeshName(registration, channelName) {
838
- const matches = [...registration.spotNodes.entries()]
839
- .filter(([, node]) => Object.prototype.hasOwnProperty.call(node.meshChannels ?? {}, channelName))
840
- .map(([meshName]) => meshName);
841
- return matches.length === 1 ? matches[0] : undefined;
842
- }
843
849
  function mapPublishSubmitStatus(result) {
844
- switch (result) {
845
- case runtime_values_1.SubmitResult.Ok:
846
- return submission_result_1.ZLinkSubmitStatus.Submitted;
847
- case runtime_values_1.SubmitResult.Backpressured:
848
- case runtime_values_1.SubmitResult.NotAdmitted:
849
- return submission_result_1.ZLinkSubmitStatus.Backpressured;
850
- case runtime_values_1.SubmitResult.NotFound:
851
- // A publish with no matching subscriber is a successful zero-recipient
852
- // operation, not an operation-specific not-found failure.
853
- return submission_result_1.ZLinkSubmitStatus.Submitted;
854
- case runtime_values_1.SubmitResult.NotConnected:
855
- return submission_result_1.ZLinkSubmitStatus.RouteNotConnected;
856
- case runtime_values_1.SubmitResult.Terminated:
857
- case runtime_values_1.SubmitResult.InvalidHandle:
858
- return submission_result_1.ZLinkSubmitStatus.Shutdown;
859
- default:
860
- throw new configuration_1.ZLinkConfigurationException(`Logical Multicast failed with submit result '${result}'.`);
861
- }
850
+ // Source publication preserves its local admission status before commit.
851
+ if (result === runtime_values_1.SubmitResult.NotAdmitted || result === runtime_values_1.SubmitResult.Backpressured)
852
+ return submission_result_1.ZLinkSubmitStatus.Backpressured;
853
+ // A publish with no matching subscriber succeeds with zero recipients.
854
+ if (result === runtime_values_1.SubmitResult.NotFound)
855
+ return submission_result_1.ZLinkSubmitStatus.Submitted;
856
+ return (0, submission_result_1.classifySubmitResult)(result, 'Logical Multicast').status;
862
857
  }
863
858
  function requireEntrySpotReply(result) {
864
859
  if (result !== runtime_values_1.SubmitResult.Ok) {
@@ -866,8 +861,8 @@ function requireEntrySpotReply(result) {
866
861
  }
867
862
  }
868
863
  function requirePublicRuntimeWeight(value, label) {
869
- if (!Number.isInteger(value) || value < 0 || value > 10_000) {
870
- throw new configuration_1.ZLinkConfigurationException(`${label} must be an integer in 0..10000.`);
864
+ if (!(0, RegistrationBuilderPolicy_1.isValidPublicWeight)(value)) {
865
+ throw new configuration_1.ZLinkConfigurationException(`${label} must be an integer in 0..${RegistrationBuilderPolicy_1.ZLINK_MAX_PUBLIC_WEIGHT}.`);
871
866
  }
872
867
  return value;
873
868
  }
@@ -927,7 +922,7 @@ function objectCapability(objectKind, stableType, factory) {
927
922
  };
928
923
  }
929
924
  function aggregatePlacementCapacity(actorLimit, spotLimit) {
930
- const unlimited = 0x7fff_ffff;
925
+ const unlimited = RegistrationBuilderPolicy_1.ZLINK_MAX_CAPACITY;
931
926
  const actors = actorLimit === 0 ? unlimited : actorLimit;
932
927
  const spots = spotLimit === 0 ? unlimited : spotLimit;
933
928
  return Math.min(unlimited, actors + spots);
@@ -1,9 +1,9 @@
1
- import type { RoutingId, ZLinkChannelClient, ZLinkChannelRequestCall, ZLinkPublishCall, ZLinkSendCall, ZLinkSpotOutbound, ZLinkSpotRequestCall, ZLinkSpotSendCall, ZLinkSpotPublisherClient } from '../../contracts';
2
- import { type ZLinkSubmitResult } from '../messaging/submission-result';
1
+ import { type RoutingId, type ZLinkChannelClient, type ZLinkChannelRequestCall, type ZLinkPublishCall, type ZLinkSendCall, type ZLinkSpotOutbound, type ZLinkSpotPublisherClient, type ZLinkSpotRequestCall, type ZLinkSpotSendCall } from '../../contracts';
3
2
  import type { ZLinkBackendSpot } from '../backend/contracts';
3
+ import { type ZLinkSubmitResult } from '../messaging/submission-result';
4
+ import { type SpotHandle } from './spot-handle';
4
5
  import type { ZLinkSpotRouteTarget } from './spot-routing-internal';
5
6
  import { ZLinkSpotSerialTurnExecutor } from './spot-serial-turn-executor';
6
- import { type SpotHandle } from './spot-handle';
7
7
  export interface DefaultZLinkSpotOutboundOptions {
8
8
  readonly serial: ZLinkSpotSerialTurnExecutor;
9
9
  readonly channelClient?: ZLinkChannelClient;
@@ -48,7 +48,7 @@ export interface ZLinkSpotAddressCallOptions {
48
48
  * activation. Public callers never handle an owner or generation fence.
49
49
  */
50
50
  export interface ZLinkSpotAddressTransport {
51
- sendToSpotAddress(spotId: RoutingId, message: unknown, options: ZLinkSpotAddressCallOptions): Promise<ZLinkSubmitResult>;
51
+ sendToSpotAddress(spotId: RoutingId, message: unknown, options: Omit<ZLinkSpotAddressCallOptions, 'timeoutMs' | 'signal'>): Promise<ZLinkSubmitResult>;
52
52
  requestToSpotAddress<TReply = unknown>(spotId: RoutingId, request: unknown, options: ZLinkSpotAddressCallOptions): Promise<TReply>;
53
53
  }
54
54
  export interface ZLinkSpotRoutedTransport {
@@ -58,14 +58,13 @@ export interface ZLinkSpotRoutedTransport {
58
58
  requestFromSpotToSpot?<TReply = unknown>(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: ZLinkSpotRoutedRequestOptions): Promise<TReply>;
59
59
  }
60
60
  export interface ZLinkSpotRoutedSendOptions {
61
+ readonly instanceSpot?: boolean;
61
62
  readonly packetName?: string;
62
- /** Internal end-to-end budget remaining for route admission. */
63
- readonly timeoutMs?: number;
64
- readonly signal?: AbortSignal;
65
63
  readonly metadata?: ReadonlyMap<string, string>;
66
64
  }
67
65
  export interface ZLinkSpotRoutedRequestOptions extends ZLinkSpotRoutedSendOptions {
68
66
  readonly timeoutMs?: number;
67
+ readonly signal?: AbortSignal;
69
68
  }
70
69
  export interface ZLinkSpotHandleCallOptions {
71
70
  readonly metadata?: ReadonlyMap<string, string>;
@@ -74,5 +73,5 @@ export interface ZLinkSpotHandleCallOptions {
74
73
  readonly spotRouterChannelIdForMesh?: (meshName: string) => string;
75
74
  readonly sourceSpot?: ZLinkBackendSpot;
76
75
  }
77
- export declare function sendToSpotHandle(transport: ZLinkSpotRoutedTransport, spot: SpotHandle, message: unknown, options?: ZLinkSpotHandleCallOptions): Promise<ZLinkSubmitResult>;
76
+ export declare function sendToSpotHandle(transport: ZLinkSpotRoutedTransport, spot: SpotHandle, message: unknown, options?: Omit<ZLinkSpotHandleCallOptions, 'timeoutMs' | 'signal'>): Promise<ZLinkSubmitResult>;
78
77
  export declare function requestToSpotHandle<TReply = unknown>(transport: ZLinkSpotRoutedTransport, spot: SpotHandle, request: unknown, options?: ZLinkSpotHandleCallOptions): Promise<TReply>;
@@ -3,14 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkSpotOutbound = void 0;
4
4
  exports.sendToSpotHandle = sendToSpotHandle;
5
5
  exports.requestToSpotHandle = requestToSpotHandle;
6
- const framework_errors_internal_1 = require("../framework-errors-internal");
7
6
  const contracts_1 = require("../../contracts");
8
- const submission_result_1 = require("../messaging/submission-result");
9
- const routing_id_1 = require("../routing-id");
7
+ const CoreTypes_1 = require("../../contracts/Common/CoreTypes");
10
8
  const configuration_1 = require("../configuration");
11
- const workers_1 = require("../workers");
12
9
  const execution_1 = require("../execution");
10
+ const framework_errors_internal_1 = require("../framework-errors-internal");
13
11
  const packet_name_1 = require("../messaging/packet-name");
12
+ const submission_result_1 = require("../messaging/submission-result");
13
+ const routing_id_1 = require("../routing-id");
14
+ const workers_1 = require("../workers");
14
15
  const spot_handle_1 = require("./spot-handle");
15
16
  class DefaultZLinkSpotOutbound {
16
17
  serial;
@@ -93,19 +94,19 @@ function createAddressedSpotSendCall(serial, transport, spotId, message, sourceS
93
94
  selectOnce(options, 'instanceSpot');
94
95
  options.instanceSpot = true;
95
96
  if (instanceSpotType !== undefined) {
96
- options.instanceSpotType = requireAddressValue(instanceSpotType, 'Instance Spot type', 255);
97
+ options.instanceSpotType = requireAddressValue(instanceSpotType, 'Instance Spot type', CoreTypes_1.ZLINK_MAX_STABLE_TYPE_BYTES);
97
98
  }
98
99
  return this;
99
100
  },
100
101
  inMesh(meshName) {
101
102
  selectOnce(options, 'inMesh');
102
- options.initialMeshName = requireAddressValue(meshName, 'Mesh name', 255);
103
+ options.initialMeshName = requireAddressValue(meshName, 'Mesh name', CoreTypes_1.ZLINK_MAX_MESH_NAME_BYTES);
103
104
  return this;
104
105
  },
105
- async submit(signal) {
106
+ async submit() {
106
107
  markSubmitted(options);
107
108
  const pending = startRequestOnSerial(serial, () => ({
108
- pending: transport.sendToSpotAddress(spotId, message, freezeAddressCallOptions(options, signal, sourceSpotProvider?.()))
109
+ pending: transport.sendToSpotAddress(spotId, message, freezeAddressCallOptions(options, sourceSpotProvider?.()))
109
110
  }));
110
111
  const result = await (serial.isCurrentTurn ? pending : (0, workers_1.deliverOnSerial)(serial, pending));
111
112
  (0, submission_result_1.requireOneWayCompletion)(result, 'Spot send', framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotRouteNotFound);
@@ -118,7 +119,11 @@ function createAddressedSpotRequestCall(serial, transport, spotId, request, sour
118
119
  markSubmitted(options);
119
120
  rejectSameSpotAsyncRequest(serial, spotId, waitPolicy);
120
121
  return startRequestOnSerial(serial, () => ({
121
- pending: transport.requestToSpotAddress(spotId, request, freezeAddressCallOptions(options, signal, sourceSpotProvider?.()))
122
+ pending: transport.requestToSpotAddress(spotId, request, {
123
+ ...freezeAddressCallOptions(options, sourceSpotProvider?.()),
124
+ timeoutMs: options.timeoutMs,
125
+ signal
126
+ })
122
127
  }));
123
128
  };
124
129
  return {
@@ -130,13 +135,13 @@ function createAddressedSpotRequestCall(serial, transport, spotId, request, sour
130
135
  selectOnce(options, 'instanceSpot');
131
136
  options.instanceSpot = true;
132
137
  if (instanceSpotType !== undefined) {
133
- options.instanceSpotType = requireAddressValue(instanceSpotType, 'Instance Spot type', 255);
138
+ options.instanceSpotType = requireAddressValue(instanceSpotType, 'Instance Spot type', CoreTypes_1.ZLINK_MAX_STABLE_TYPE_BYTES);
134
139
  }
135
140
  return this;
136
141
  },
137
142
  inMesh(meshName) {
138
143
  selectOnce(options, 'inMesh');
139
- options.initialMeshName = requireAddressValue(meshName, 'Mesh name', 255);
144
+ options.initialMeshName = requireAddressValue(meshName, 'Mesh name', CoreTypes_1.ZLINK_MAX_MESH_NAME_BYTES);
140
145
  return this;
141
146
  },
142
147
  timeout(timeoutMs) {
@@ -199,14 +204,12 @@ function markSubmitted(options) {
199
204
  }
200
205
  options.submitted = true;
201
206
  }
202
- function freezeAddressCallOptions(options, signal, sourceSpot) {
207
+ function freezeAddressCallOptions(options, sourceSpot) {
203
208
  return {
204
209
  ...(options.metadataPresent ? { metadata: new Map(options.metadata) } : {}),
205
210
  instanceSpot: options.instanceSpot,
206
211
  instanceSpotType: options.instanceSpotType,
207
212
  initialMeshName: options.initialMeshName,
208
- timeoutMs: options.timeoutMs,
209
- signal,
210
213
  sourceSpot
211
214
  };
212
215
  }
@@ -226,8 +229,8 @@ function wrapSendCall(serial, inner) {
226
229
  inner.metadata(key);
227
230
  return this;
228
231
  },
229
- async submit(signal) {
230
- const result = await runInternalTransportStart(serial, () => inner.submit(signal));
232
+ async submit() {
233
+ const result = await runInternalTransportStart(serial, () => inner.submit());
231
234
  return result;
232
235
  }
233
236
  };
@@ -301,11 +304,10 @@ function wrapRoutedSpotSendCall(serial, transport, spot, message, spotRouterChan
301
304
  }
302
305
  return this;
303
306
  },
304
- async submit(signal) {
307
+ async submit() {
305
308
  const pending = startRequestOnSerial(serial, () => ({
306
309
  pending: sendToSpotHandle(transport, spot, message, {
307
310
  metadata,
308
- signal,
309
311
  spotRouterChannelIdForMesh,
310
312
  sourceSpot: sourceSpotProvider?.()
311
313
  })
@@ -375,19 +377,15 @@ async function sendToSpotHandle(transport, spot, message, options = {}) {
375
377
  if (options.sourceSpot !== undefined && transport.sendFromSpotToSpot !== undefined) {
376
378
  return transport.sendFromSpotToSpot(options.sourceSpot, target, message, {
377
379
  packetName,
378
- timeoutMs: options.timeoutMs,
379
- signal: options.signal,
380
380
  metadata: options.metadata
381
381
  });
382
382
  }
383
383
  return transport.sendToSpot(target, message, {
384
384
  packetName,
385
- timeoutMs: options.timeoutMs,
386
- signal: options.signal,
387
385
  metadata: options.metadata
388
386
  });
389
387
  };
390
- return sendResolved(await requireSpotRef(spot, options.signal));
388
+ return sendResolved(await requireSpotRef(spot));
391
389
  }
392
390
  async function requestToSpotHandle(transport, spot, request, options = {}) {
393
391
  const packetName = (0, packet_name_1.resolveFrameworkPacketName)(request, undefined, 'SPOT');
@@ -7,6 +7,8 @@ exports.decodeRemoteActorJoinPayload = decodeRemoteActorJoinPayload;
7
7
  exports.decodeHandoffBacklog = decodeHandoffBacklog;
8
8
  exports.decodeRemoteActorRef = decodeRemoteActorRef;
9
9
  exports.decodeRemoteBoundSessionTarget = decodeRemoteBoundSessionTarget;
10
+ const CoreTypes_1 = require("../../contracts/Common/CoreTypes");
11
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
10
12
  const actors_1 = require("../actors");
11
13
  const runtime_message_1 = require("../backend/runtime-message");
12
14
  const routing_id_1 = require("../routing-id");
@@ -58,7 +60,7 @@ function decodeRemoteActorJoinPayload(payload, request, received, raw, envelope)
58
60
  request,
59
61
  requestContentType: typeof payload.requestContentType === 'string'
60
62
  ? payload.requestContentType
61
- : 'application/json'
63
+ : stream_wire_1.ZlinkStreamContentType.Json
62
64
  };
63
65
  }
64
66
  function decodeHandoffBacklog(value) {
@@ -179,8 +181,8 @@ function decodeBoundSessionServiceWireRelocation(value) {
179
181
  }
180
182
  function requireSpotId(value) {
181
183
  const bytes = Buffer.byteLength(value, 'utf8');
182
- if (bytes < 1 || bytes > 255) {
183
- throw new Error('Remote bound session SpotId must contain 1..255 UTF-8 bytes.');
184
+ if (bytes < 1 || bytes > CoreTypes_1.ZLINK_MAX_SPOT_ID_BYTES) {
185
+ throw new Error(`Remote bound session SpotId must contain 1..${CoreTypes_1.ZLINK_MAX_SPOT_ID_BYTES} UTF-8 bytes.`);
184
186
  }
185
187
  return value;
186
188
  }
@@ -1,10 +1,10 @@
1
- import type { ZLinkMessageSerializer, ZLinkSpot } from '../../contracts';
1
+ import { type ZLinkMessageSerializer, type ZLinkSpot } from '../../contracts';
2
2
  import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
3
+ import type { ZLinkApplicationWorkClaim } from '../admission';
3
4
  import type { ZLinkBackendReceived as BackendReceived } from '../backend/runtime-values';
4
5
  import type { ZLinkDispatchErrorReporter } from '../channels';
5
6
  import type { ZLinkSpotHandlerRegistration } from './spot-handler-registry';
6
7
  import type { ZLinkSpotSerialTurnExecutor } from './spot-serial-turn-executor';
7
- import type { ZLinkApplicationWorkClaim } from '../admission';
8
8
  interface ZLinkSpotRoutePacketDispatchOptions {
9
9
  readonly packetHandlers: ReadonlyMap<string, readonly ZLinkSpotHandlerRegistration[]>;
10
10
  readonly nativeSpotId: string;
@@ -3,17 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSpotRoutePacketDispatch = void 0;
4
4
  const contracts_1 = require("../../contracts");
5
5
  const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
6
+ const actors_1 = require("../actors");
7
+ const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
6
8
  const runtime_message_1 = require("../backend/runtime-message");
7
9
  const channel_envelope_1 = require("../channels/channel-envelope");
8
- const actors_1 = require("../actors");
9
- const handler_instance_scope_1 = require("../handlers/handler-instance-scope");
10
+ const spot_direct_envelope_1 = require("../channels/spot-direct-envelope");
11
+ const flow_context_1 = require("../diagnostics/flow-context");
10
12
  const serial_work_size_1 = require("../execution/serial-work-size");
13
+ const framework_errors_internal_1 = require("../framework-errors-internal");
14
+ const handler_instance_scope_1 = require("../handlers/handler-instance-scope");
11
15
  const spot_remote_codec_1 = require("./spot-remote-codec");
12
16
  const spot_route_replies_1 = require("./spot-route-replies");
13
- const flow_context_1 = require("../diagnostics/flow-context");
14
- const framework_errors_internal_1 = require("../framework-errors-internal");
15
- const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
16
- const SPOT_DIRECT_ENVELOPE = 'zlink.framework.spot-direct.v1';
17
17
  /** D5: reply metadata attached only to framework-self-generated errors. */
18
18
  const FRAMEWORK_ORIGIN_REPLY_METADATA = Object.freeze({
19
19
  [channel_envelope_1.ZLINK_FRAMEWORK_ORIGIN_METADATA_KEY]: channel_envelope_1.ZLINK_FRAMEWORK_ORIGIN_METADATA_VALUE
@@ -206,7 +206,7 @@ function decodeSpotDirectEnvelope(parts) {
206
206
  }
207
207
  try {
208
208
  const decoded = JSON.parse(parts[0].data().toString());
209
- if (decoded.marker !== SPOT_DIRECT_ENVELOPE ||
209
+ if (decoded.marker !== spot_direct_envelope_1.SPOT_DIRECT_ENVELOPE ||
210
210
  (decoded.kind !== 1 /* ZLinkChannelMessageKind.Request */ &&
211
211
  decoded.kind !== 3 /* ZLinkChannelMessageKind.Command */) ||
212
212
  typeof decoded.channelName !== 'string') {
@@ -232,7 +232,7 @@ function decodeSpotDirectEnvelope(parts) {
232
232
  }
233
233
  function encodeSpotDirectReply(ok, response, error) {
234
234
  return runtime_message_1.ZLinkBufferMessage.fromOwned(Buffer.from(JSON.stringify({
235
- marker: SPOT_DIRECT_ENVELOPE,
235
+ marker: spot_direct_envelope_1.SPOT_DIRECT_ENVELOPE,
236
236
  ok,
237
237
  response,
238
238
  error
@@ -1,7 +1,7 @@
1
- import type { ZLinkBackendMessageLike as MessageLike, ZLinkBackendReceived as BackendReceived } from '../backend/runtime-values';
1
+ import type { ZLinkBackendReceived as BackendReceived, ZLinkBackendMessageLike as MessageLike } from '../backend/runtime-values';
2
2
  import { decodeChannelEnvelope } from '../channels/channel-envelope';
3
- import { encodeSpotRouteBridgeReply } from './spot-route-reply-wire';
4
3
  import type { ZLinkDecodedRemoteActorJoinRequest } from './spot-remote-codec';
4
+ import { encodeSpotRouteBridgeReply } from './spot-route-reply-wire';
5
5
  export interface ZLinkRouteReplySubmitOperation {
6
6
  message(message: MessageLike): ZLinkRouteReplySubmitOperation;
7
7
  submit(): void;