@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,64 +1,85 @@
1
+ import { AutoHwmProfile } from '@zlink-systems/zlink';
1
2
  import type {
2
3
  RoutingId,
3
4
  Type,
4
5
  ZLinkActor,
5
6
  ZLinkActorFactory,
7
+ ZLinkClientServerChannelClientBuilder,
8
+ ZLinkClientServerChannelRoleBuilder,
9
+ ZLinkClientServerChannelServerBuilder,
6
10
  ZLinkEntrySpot,
7
11
  ZLinkFanoutChannelBuilder,
8
12
  ZLinkFrameworkOptions,
13
+ ZLinkHandlerFilter,
14
+ ZLinkInstanceSpot,
15
+ ZLinkLocationOptionValues,
9
16
  ZLinkMeshChannelBuilder,
10
17
  ZLinkMeshChannelClientBuilder,
11
18
  ZLinkMeshChannelServerBuilder,
12
19
  ZLinkMeshNodeBuilder,
20
+ ZLinkMeshNodeSocketConfig,
13
21
  ZLinkMeshObjectClientBuilder,
14
22
  ZLinkMeshObjectRoleBuilder,
15
23
  ZLinkMeshObjectServerBuilder,
16
- ZLinkMeshNodeSocketConfig,
17
- ZLinkNetworkOptions,
18
24
  ZLinkMeshPeerConnection,
19
25
  ZLinkMeshPeerConnections,
20
- ZLinkLocationOptionValues,
21
- ZLinkSpotPublisherConfig,
22
- ZLinkHandlerFilter,
23
- ZLinkInstanceSpot,
26
+ ZLinkNetworkOptions,
27
+ ZLinkSession,
28
+ ZLinkSessionFactory,
24
29
  ZLinkSpot,
25
- ZLinkClientServerChannelClientBuilder,
26
- ZLinkClientServerChannelRoleBuilder,
27
- ZLinkClientServerChannelServerBuilder,
30
+ ZLinkSpotPublisherConfig,
28
31
  ZLinkStreamCompressionBuilder,
29
32
  ZLinkStreamCompressionCodec,
30
- ZLinkStreamSocketConfig,
31
33
  ZLinkStreamNodeBuilder,
32
- ZLinkSession,
33
- ZLinkSessionFactory
34
+ ZLinkStreamSocketConfig
34
35
  } from '../../contracts';
35
- import type {
36
- ZLinkActorFactoryBuilder,
37
- ZLinkActorRelocationAdapter,
38
- ZLinkInstanceSpotFactoryBuilder,
39
- ZLinkSpotRelocationAdapter,
40
- ZLinkUserSpotFactoryBuilder
41
- } from './ObjectRoles';
42
- import { ZLinkSpotRelocationCoordinationMode, ZLinkUserSpotExecutionMode } from './ObjectRoles';
43
- import type { ZLinkSpotNodeBuilder } from '../Spots/Builders';
44
- import { readZLinkDecoratorMetadata } from '../Handlers/Attributes';
45
36
  import type { ZLinkCodecRegistryBuilder } from '../Codecs';
46
- import type {
47
- ZLinkDispatchOptions,
48
- ZLinkDispatchOptionsBuilder,
49
- ZLinkInboundDispatchOptions,
50
- ZLinkMessageFlowLogMode
51
- } from '../Dispatch';
37
+ import { ZLINK_MAX_STABLE_TYPE_BYTES } from '../Common/CoreTypes';
52
38
  import {
39
+ type ZLinkDispatchOptions,
40
+ type ZLinkDispatchOptionsBuilder,
41
+ type ZLinkInboundDispatchOptions,
42
+ type ZLinkMessageFlowLogMode,
53
43
  ZLinkApplicationJobQueueProfile,
54
44
  ZLinkCoreHwmProfile,
55
45
  ZLinkUnhandledDispatchAction
56
46
  } from '../Dispatch';
57
- import { AutoHwmProfile } from '@zlink-systems/zlink';
58
- import { endpointConnections } from './RuntimeEndpointConnections';
59
- import type { ZLinkEndpointConnections } from './Connections';
47
+
48
+ import { readZLinkDecoratorMetadata } from '../Handlers/Attributes';
60
49
  import type { ZLinkLocationOptions, ZLinkLocationStore, ZLinkRelocationStore } from '../Locations';
50
+ import type { ZLinkSpotNodeBuilder } from '../Spots/Builders';
61
51
  import { ZLinkConfigurationException } from './ConfigurationException';
52
+ import type { ZLinkEndpointConnections } from './Connections';
53
+ import { requireMessageFlowLogMode, requireTraceSampleRate } from './DiagnosticsValidation';
54
+ import { normalizeEndpoint } from './EndpointNotation';
55
+ import { requirePublicFanoutTopic } from './FanoutTopic';
56
+ import { DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE } from './InternalDefaults';
57
+ import {
58
+ type ZLinkActorFactoryBuilder,
59
+ type ZLinkActorRelocationAdapter,
60
+ type ZLinkInstanceSpotFactoryBuilder,
61
+ type ZLinkSpotRelocationAdapter,
62
+ type ZLinkUserSpotFactoryBuilder,
63
+ ZLinkSpotRelocationCoordinationMode,
64
+ ZLinkUserSpotExecutionMode
65
+ } from './ObjectRoles';
66
+
67
+ import {
68
+ MAX_LISTENER_PORT,
69
+ ZLINK_MAX_CAPACITY,
70
+ isValidCapacity,
71
+ isValidListenerPort,
72
+ isValidPositiveCapacity,
73
+ registerActorFactory,
74
+ registerEntrySpot,
75
+ registerRelocationStore,
76
+ registerSpotFactory,
77
+ requirePublicWeight,
78
+ validateActorTransferTimeout,
79
+ validateMessageFollowDuration,
80
+ validateRoutingIdPrefix,
81
+ validateSessionReplacementCallbackTimeout
82
+ } from './RegistrationBuilderPolicy';
62
83
  import {
63
84
  RegistrationCodecRegistryBuilder,
64
85
  type MutableCodecRegistryOptions
@@ -68,14 +89,12 @@ import {
68
89
  normalizeOptionalPositiveInteger,
69
90
  typeMapToRecord
70
91
  } from './RegistrationNormalizers';
71
- import { normalizeEndpoint } from './EndpointNotation';
72
- import { DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE } from './InternalDefaults';
73
92
  import type {
74
- ZLinkChannelPublishHandlerRegistration,
75
93
  ZLinkActorFactoryConfiguration,
76
94
  ZLinkApplicationJobQueueOptions,
77
- ZLinkFrameworkRegistrationOptions,
95
+ ZLinkChannelPublishHandlerRegistration,
78
96
  ZLinkCoreHwmOptions,
97
+ ZLinkFrameworkRegistrationOptions,
79
98
  ZLinkInstanceSpotFactoryConfiguration,
80
99
  ZLinkRelocationConfiguration,
81
100
  ZLinkSpotRouterPeerConnectionOptions,
@@ -83,17 +102,7 @@ import type {
83
102
  ZLinkUserSpotFactoryConfiguration,
84
103
  ZLinkWorkerOptions
85
104
  } from './RegistrationTypes';
86
- import {
87
- validateRoutingIdPrefix,
88
- registerActorFactory,
89
- registerEntrySpot,
90
- registerSpotFactory,
91
- validateActorTransferTimeout,
92
- validateMessageFollowDuration,
93
- validateSessionReplacementCallbackTimeout
94
- } from './RegistrationBuilderPolicy';
95
- import { requireMessageFlowLogMode, requireTraceSampleRate } from './DiagnosticsValidation';
96
- import { requirePublicFanoutTopic } from './FanoutTopic';
105
+ import { endpointConnections } from './RuntimeEndpointConnections';
97
106
 
98
107
  export function createFrameworkOptions(
99
108
  configure: (options: ZLinkFrameworkOptions) => void
@@ -144,7 +153,7 @@ class ZLinkFrameworkOptionsBuilder implements ZLinkFrameworkOptions {
144
153
 
145
154
  addRelocationStore(store: ZLinkRelocationStore): this {
146
155
  this.options.locations ??= { options: {} };
147
- this.options.locations.relocationStoreInstance = store;
156
+ registerRelocationStore(this.options.locations, store);
148
157
  return this;
149
158
  }
150
159
 
@@ -617,9 +626,9 @@ class DefaultClientServerChannelServerBuilder implements ZLinkClientServerChanne
617
626
  ) {}
618
627
 
619
628
  listen(port = 0): this {
620
- if (!Number.isInteger(port) || port < 0 || port > 65_535) {
629
+ if (!isValidListenerPort(port)) {
621
630
  throw new ZLinkConfigurationException(
622
- `ClientServer channel '${this.name}' port must be between 0 and 65535.`
631
+ `ClientServer channel '${this.name}' port must be between 0 and ${MAX_LISTENER_PORT}.`
623
632
  );
624
633
  }
625
634
  this.server.port = port;
@@ -894,9 +903,9 @@ class DefaultMeshNodeBuilder implements ZLinkMeshNodeBuilder {
894
903
  this.node.router.port = undefined;
895
904
  return this;
896
905
  }
897
- if (!Number.isInteger(endpointOrPort) || endpointOrPort < 0 || endpointOrPort > 65_535) {
906
+ if (!isValidListenerPort(endpointOrPort)) {
898
907
  throw new ZLinkConfigurationException(
899
- `RouteMesh '${this.name}' port must be between 0 and 65535.`
908
+ `RouteMesh '${this.name}' port must be between 0 and ${MAX_LISTENER_PORT}.`
900
909
  );
901
910
  }
902
911
  this.node.router.port = endpointOrPort;
@@ -1431,22 +1440,28 @@ function endpointList(endpoint: string | readonly string[]): string[] {
1431
1440
 
1432
1441
  function requireStableObjectType(value: string, label: string): string {
1433
1442
  const byteLength = Buffer.byteLength(value, 'utf8');
1434
- if (byteLength < 1 || byteLength > 255 || value.includes('\0')) {
1435
- throw new ZLinkConfigurationException(`${label} must contain 1..255 UTF-8 bytes and no NUL.`);
1443
+ if (byteLength < 1 || byteLength > ZLINK_MAX_STABLE_TYPE_BYTES || value.includes('\0')) {
1444
+ throw new ZLinkConfigurationException(
1445
+ `${label} must contain 1..${ZLINK_MAX_STABLE_TYPE_BYTES} UTF-8 bytes and no NUL.`
1446
+ );
1436
1447
  }
1437
1448
  return value;
1438
1449
  }
1439
1450
 
1440
1451
  function requirePositiveCapacity(value: number, label: string): number {
1441
- if (!Number.isSafeInteger(value) || value <= 0 || value > 0x7fff_ffff) {
1442
- throw new ZLinkConfigurationException(`${label} must be an integer in 1..2147483647.`);
1452
+ if (!isValidPositiveCapacity(value)) {
1453
+ throw new ZLinkConfigurationException(
1454
+ `${label} must be an integer in 1..${ZLINK_MAX_CAPACITY}.`
1455
+ );
1443
1456
  }
1444
1457
  return value;
1445
1458
  }
1446
1459
 
1447
1460
  function requireCapacity(value: number, label: string): number {
1448
- if (!Number.isSafeInteger(value) || value < 0 || value > 0x7fff_ffff) {
1449
- throw new ZLinkConfigurationException(`${label} must be an integer in 0..2147483647.`);
1461
+ if (!isValidCapacity(value)) {
1462
+ throw new ZLinkConfigurationException(
1463
+ `${label} must be an integer in 0..${ZLINK_MAX_CAPACITY}.`
1464
+ );
1450
1465
  }
1451
1466
  return value;
1452
1467
  }
@@ -1458,13 +1473,6 @@ function requireNonNegativeSafeInteger(value: number, label: string): number {
1458
1473
  return value;
1459
1474
  }
1460
1475
 
1461
- function requirePublicWeight(value: number, label: string): number {
1462
- if (!Number.isInteger(value) || value < 0 || value > 10_000) {
1463
- throw new ZLinkConfigurationException(`${label} must be an integer in 0..10000.`);
1464
- }
1465
- return value;
1466
- }
1467
-
1468
1476
  function requireFactoryConfigure(
1469
1477
  configure: unknown
1470
1478
  ): asserts configure is (builder: unknown) => void {
@@ -1502,9 +1510,9 @@ function validateUserSpotFactoryOptions(
1502
1510
  }
1503
1511
 
1504
1512
  function validateStableTypeLimit(value: number | undefined): void {
1505
- if (value !== undefined && (!Number.isInteger(value) || value < 0 || value > 2_147_483_647)) {
1513
+ if (value !== undefined && !isValidCapacity(value)) {
1506
1514
  throw new ZLinkConfigurationException(
1507
- 'stableTypeLimit must be an integer from 0 through 2147483647.'
1515
+ `stableTypeLimit must be an integer from 0 through ${ZLINK_MAX_CAPACITY}.`
1508
1516
  );
1509
1517
  }
1510
1518
  }
@@ -1591,6 +1599,7 @@ interface MutableClientCapabilityOptions {
1591
1599
  }
1592
1600
 
1593
1601
  interface MutablePublisherCapabilityOptions {
1602
+ sendTimeoutMs?: number;
1594
1603
  bind?: string;
1595
1604
  bindHost?: string;
1596
1605
  advertiseHost?: string;
@@ -1705,8 +1714,8 @@ function requireRegistrationName(value: string, label: string): void {
1705
1714
  }
1706
1715
 
1707
1716
  function requireListenerPort(value: number, label: string): number {
1708
- if (!Number.isInteger(value) || value < 0 || value > 65_535) {
1709
- throw new ZLinkConfigurationException(`${label} must be between 0 and 65535.`);
1717
+ if (!isValidListenerPort(value)) {
1718
+ throw new ZLinkConfigurationException(`${label} must be between 0 and ${MAX_LISTENER_PORT}.`);
1710
1719
  }
1711
1720
  return value;
1712
1721
  }
@@ -198,6 +198,7 @@ export interface ZLinkClientCapabilityOptions {
198
198
  }
199
199
 
200
200
  export interface ZLinkPublisherCapabilityOptions {
201
+ readonly sendTimeoutMs?: number;
201
202
  readonly bind?: string;
202
203
  readonly bindHost?: string;
203
204
  readonly advertiseHost?: string;
@@ -1,12 +1,16 @@
1
1
  import type { Type, ZLinkSpot } from '../../contracts';
2
+ import { zlinkDefaultLocationOptions } from '../Locations';
2
3
  import { ZLinkConfigurationException } from './ConfigurationException';
4
+ import { requirePublicFanoutTopic } from './FanoutTopic';
5
+ import { RELOCATION_STATE_CHUNK_DATA_MAX_BYTES } from './InternalDefaults';
6
+ import { requirePublicWeight } from './RegistrationBuilderPolicy';
3
7
  import { requirePositiveInteger } from './RegistrationNormalizers';
4
8
  import type {
5
9
  ZLinkFrameworkRegistration,
6
10
  ZLinkFrameworkRegistrationOptions,
11
+ ZLinkMeshChannelOptions,
7
12
  ZLinkRouteChannelOptions,
8
13
  ZLinkRouteMeshChannelOptions,
9
- ZLinkMeshChannelOptions,
10
14
  ZLinkSpotNodeOptions,
11
15
  ZLinkSpotPubSubCapabilityOptions,
12
16
  ZLinkSpotRouterCapabilityOptions,
@@ -14,10 +18,9 @@ import type {
14
18
  ZLinkWorkerOptions
15
19
  } from './RegistrationTypes';
16
20
  import { isRouteClientEnabled, isRouteTransportDeclared } from './RouteChannelInternalState';
17
- import { validateTimerRegistration } from './TimerRegistrationValidator';
18
- import { zlinkDefaultLocationOptions } from '../Locations';
19
21
  import { requireValidSendTimeoutMs } from './SendTimeoutValidation';
20
- import { requirePublicFanoutTopic } from './FanoutTopic';
22
+ import { validateTimerRegistration } from './TimerRegistrationValidator';
23
+ const ROUTE_CACHE_FOLLOW_MARGIN_MS = 5000;
21
24
 
22
25
  export function validateFrameworkRegistration(
23
26
  registration: ZLinkFrameworkRegistration,
@@ -132,11 +135,12 @@ function validateLocationRegistration(registration: ZLinkFrameworkRegistration):
132
135
  }
133
136
  }
134
137
  if (
135
- options.ownerLeaseRenewIntervalMs + options.ownerLeaseRenewTimeoutMs >=
138
+ Math.max(options.ownerLeaseRenewIntervalMs, options.ownerLeaseRenewTimeoutMs) +
139
+ options.ownerLeaseRenewTimeoutMs >=
136
140
  options.ownerLeaseTtlMs - options.ownerLeaseFencingMarginMs
137
141
  ) {
138
142
  throw new ZLinkConfigurationException(
139
- 'ownerLeaseRenewIntervalMs + ownerLeaseRenewTimeoutMs must be less than ownerLeaseTtlMs - ownerLeaseFencingMarginMs.'
143
+ 'max(ownerLeaseRenewIntervalMs, ownerLeaseRenewTimeoutMs) + ownerLeaseRenewTimeoutMs must be less than ownerLeaseTtlMs - ownerLeaseFencingMarginMs.'
140
144
  );
141
145
  }
142
146
  for (const [name, value] of Object.entries({
@@ -147,9 +151,9 @@ function validateLocationRegistration(registration: ZLinkFrameworkRegistration):
147
151
  throw new ZLinkConfigurationException(`${name} must be a positive integer.`);
148
152
  }
149
153
  }
150
- if (options.relocationPayloadChunkLimitBytes > 67_108_864) {
154
+ if (options.relocationPayloadChunkLimitBytes > RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
151
155
  throw new ZLinkConfigurationException(
152
- 'relocationPayloadChunkLimitBytes must not exceed the 64 MiB wire chunk bound.'
156
+ `relocationPayloadChunkLimitBytes must not exceed the ${RELOCATION_STATE_CHUNK_DATA_MAX_BYTES / (1024 * 1024)} MiB wire chunk bound.`
153
157
  );
154
158
  }
155
159
  for (const [name, value] of Object.entries({
@@ -173,10 +177,10 @@ function validateLocationRegistration(registration: ZLinkFrameworkRegistration):
173
177
  if (
174
178
  options.routeCacheMaxAgeMs > 0 &&
175
179
  options.messageFollowDurationMs > 0 &&
176
- options.routeCacheMaxAgeMs > options.messageFollowDurationMs - 5000
180
+ options.routeCacheMaxAgeMs > options.messageFollowDurationMs - ROUTE_CACHE_FOLLOW_MARGIN_MS
177
181
  ) {
178
182
  throw new ZLinkConfigurationException(
179
- 'routeCacheMaxAgeMs must be at least 5000 ms shorter than messageFollowDurationMs.'
183
+ `routeCacheMaxAgeMs must be at least ${ROUTE_CACHE_FOLLOW_MARGIN_MS} ms shorter than messageFollowDurationMs.`
180
184
  );
181
185
  }
182
186
  }
@@ -232,6 +236,10 @@ function validateChannelCapabilities(
232
236
  requireSocketOptions(`channel '${channelName}' server`, channel.server);
233
237
  }
234
238
  if (channel.publisher !== undefined) {
239
+ requireValidSendTimeoutMs(
240
+ `channel '${channelName}' publisher sendTimeoutMs`,
241
+ channel.publisher.sendTimeoutMs
242
+ );
235
243
  requireEndpoint(`channel '${channelName}' publisher`, channel.publisher.bind);
236
244
  validateListenerNetworkIdentity(
237
245
  `channel '${channelName}' publisher`,
@@ -714,9 +722,7 @@ function requirePeerWeight(label: string, value: number | undefined): void {
714
722
  if (value === undefined) {
715
723
  return;
716
724
  }
717
- if (!Number.isInteger(value) || value < 0 || value > 10_000) {
718
- throw new ZLinkConfigurationException(`${label} must be an integer in 0..10000.`);
719
- }
725
+ requirePublicWeight(value, label);
720
726
  }
721
727
 
722
728
  function requireSocketOptions(
@@ -1,6 +1,8 @@
1
1
  import { ZLinkTimerOverrunPolicy, type ZLinkTimerOptions } from '../Timers';
2
2
  import { ZLinkConfigurationException } from './ConfigurationException';
3
3
 
4
+ const MAX_TIMER_CATCH_UP_TICKS = 2_147_483_647;
5
+
4
6
  export function validateTimerRegistration(
5
7
  name: string,
6
8
  periodMs: number,
@@ -23,10 +25,10 @@ export function validateTimerRegistration(
23
25
  (options.maxCatchUpTicks === undefined ||
24
26
  !Number.isInteger(options.maxCatchUpTicks) ||
25
27
  options.maxCatchUpTicks < 1 ||
26
- options.maxCatchUpTicks > 2_147_483_647)
28
+ options.maxCatchUpTicks > MAX_TIMER_CATCH_UP_TICKS)
27
29
  ) {
28
30
  throw new ZLinkConfigurationException(
29
- 'SPOT timer MaxCatchUpTicks must be an integer from 1 through 2,147,483,647.'
31
+ `SPOT timer MaxCatchUpTicks must be an integer from 1 through ${MAX_TIMER_CATCH_UP_TICKS.toLocaleString('en-US')}.`
30
32
  );
31
33
  }
32
34
  }
@@ -194,6 +194,7 @@ export type ZLinkDispatchErrorReason =
194
194
  | 'reply_path_missing'
195
195
  | 'unexpected_reply'
196
196
  | 'backpressure'
197
+ | 'target_closed'
197
198
  | 'stale_target'
198
199
  | 'shutdown';
199
200
 
@@ -1,3 +1,5 @@
1
+ const MAX_CONTRACT_SCHEMA_DEPTH = 64;
2
+
1
3
  /** Describes the fields accepted by the default framework-json-v1 serializer. */
2
4
  export type ZLinkJsonSchema =
3
5
  | { readonly type: 'boolean' }
@@ -75,9 +77,13 @@ function normalizeJsonSchema(
75
77
  // Keep the runtime boundary defensive for JavaScript callers even though
76
78
  // the TypeScript signature describes the accepted shape.
77
79
  const runtimeSchema: unknown = schema;
78
- if (typeof runtimeSchema !== 'object' || runtimeSchema === null || depth > 64) {
80
+ if (
81
+ typeof runtimeSchema !== 'object' ||
82
+ runtimeSchema === null ||
83
+ depth > MAX_CONTRACT_SCHEMA_DEPTH
84
+ ) {
79
85
  throw new TypeError(
80
- 'ZLink packet JSON schema must be an acyclic object with at most 64 levels.'
86
+ `ZLink packet JSON schema must be an acyclic object with at most ${MAX_CONTRACT_SCHEMA_DEPTH} levels.`
81
87
  );
82
88
  }
83
89
  const normalizedSchema = runtimeSchema as ZLinkJsonSchema;
@@ -147,7 +153,7 @@ function normalizeJsonSchema(
147
153
  for (const [name, property] of Object.entries(
148
154
  runtimeProperties as Record<string, ZLinkJsonSchema>
149
155
  )) {
150
- if (name === '__proto__' || name === 'prototype' || name === 'constructor') {
156
+ if (isPrototypeKey(name)) {
151
157
  throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
152
158
  }
153
159
  properties[name] = normalizeJsonSchema(property, nextParents, depth + 1);
@@ -156,7 +162,7 @@ function normalizeJsonSchema(
156
162
  throw new TypeError('ZLink packet JSON required properties must be unique.');
157
163
  }
158
164
  for (const name of normalizedSchema.required) {
159
- if (name === '__proto__' || name === 'prototype' || name === 'constructor') {
165
+ if (isPrototypeKey(name)) {
160
166
  throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
161
167
  }
162
168
  if (!Object.prototype.hasOwnProperty.call(properties, name)) {
@@ -204,3 +210,7 @@ function canonicalContract(value: unknown): string {
204
210
  .map(([key, item]) => `${JSON.stringify(key)}:${canonicalContract(item)}`)
205
211
  .join(',')}}`;
206
212
  }
213
+
214
+ function isPrototypeKey(name: string): boolean {
215
+ return name === '__proto__' || name === 'prototype' || name === 'constructor';
216
+ }
@@ -70,7 +70,7 @@ export type ZLinkAuthorityMutation =
70
70
  | {
71
71
  readonly kind: 'put';
72
72
  readonly payload: Uint8Array;
73
- readonly generationTransition: 'preserve';
73
+ readonly generationTransition: 'preserve' | 'reincarnate';
74
74
  }
75
75
  | {
76
76
  /** Rebinds an authority retained by the same owner after lease recovery. */
@@ -101,13 +101,17 @@ export interface ZLinkAuthorityEntry {
101
101
  readonly snapshot: ZLinkAuthoritySnapshot;
102
102
  }
103
103
 
104
+ const ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES = 4096;
105
+
104
106
  export class ZLinkAuthorityScanCursor {
105
107
  private constructor(readonly encoded: string) {}
106
108
 
107
109
  static from(encoded: string): ZLinkAuthorityScanCursor {
108
110
  const byteLength = Buffer.byteLength(encoded, 'utf8');
109
- if (byteLength < 1 || byteLength > 4096) {
110
- throw new RangeError('Authority scan cursor must contain 1..4096 UTF-8 bytes.');
111
+ if (byteLength < 1 || byteLength > ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES) {
112
+ throw new RangeError(
113
+ `Authority scan cursor must contain 1..${ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES} UTF-8 bytes.`
114
+ );
111
115
  }
112
116
  return new ZLinkAuthorityScanCursor(encoded);
113
117
  }
@@ -26,7 +26,7 @@ export const zlinkRuntimeDefaultLocationOptions: Readonly<
26
26
  ownerLeaseRenewIntervalMs: 5000,
27
27
  ownerLeaseTtlMs: 15000,
28
28
  pollingIntervalMs: 1000,
29
- listPageSize: 1000,
29
+ listPageSize: 100,
30
30
  storeFailureGraceMs: 30000,
31
31
  ownerLeaseFencingMarginMs: 5000,
32
32
  ownerLeaseRenewTimeoutMs: 3000,
@@ -1,3 +1,12 @@
1
+ export const ZLINK_PROVIDER_MAX_PAGE_SIZE = 1000;
2
+ export const ZLINK_PROVIDER_MAX_KEY_BYTES = 1024;
3
+ export const ZLINK_PROVIDER_MAX_VALUE_BYTES = 1024 * 1024;
4
+ export const ZLINK_PROVIDER_MAX_VERSION_BYTES = 4096;
5
+ export const ZLINK_PROVIDER_MAX_WRITE_KEYS = 2048;
6
+ export const ZLINK_PROVIDER_MAX_WRITE_BYTES = 4 * 1024 * 1024;
7
+ export const ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES = 4 * 1024 * 1024;
8
+ export const ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = 4096;
9
+
1
10
  declare const zlinkStoreKeyBrand: unique symbol;
2
11
  declare const zlinkStoreVersionBrand: unique symbol;
3
12
  declare const zlinkStoreScanCursorBrand: unique symbol;
@@ -34,6 +43,11 @@ export type ZLinkStoreCondition =
34
43
  readonly kind: 'version';
35
44
  readonly key: ZLinkStoreKey;
36
45
  readonly expected: ZLinkStoreVersion;
46
+ }
47
+ | {
48
+ readonly kind: 'value';
49
+ readonly key: ZLinkStoreKey;
50
+ readonly expected: Uint8Array;
37
51
  };
38
52
 
39
53
  export type ZLinkStoreMutation =
@@ -142,12 +142,22 @@ export interface ZLinkHostCapacityStatus {
142
142
 
143
143
  export interface ZLinkFrameworkRuntime {
144
144
  readonly status: ZLinkFrameworkRuntimeStatus;
145
+ getListenerStatus(kind: ZLinkListenerKind, name: string): ZLinkListenerStatus;
145
146
  observe(signal?: AbortSignal): AsyncIterable<ZLinkObservedStatus<ZLinkFrameworkRuntimeStatus>>;
146
147
  resetCapacityMetrics(): void;
147
148
  relocate(options: ZLinkFrameworkRelocationOptions): Promise<ZLinkFrameworkRelocationResult>;
148
149
  shutdown(options?: ZLinkFrameworkLifecycleOptions): Promise<ZLinkFrameworkTerminationResult>;
149
150
  }
150
151
 
152
+ export type ZLinkListenerKind = 'routeMesh' | 'clientServer' | 'fanout' | 'stream';
153
+
154
+ export interface ZLinkListenerStatus {
155
+ readonly kind: ZLinkListenerKind;
156
+ readonly name: string;
157
+ readonly endpoint: string;
158
+ readonly observedAt: Date;
159
+ }
160
+
151
161
  export type ZLinkClientServerRole = 'client' | 'server' | 'clientAndServer';
152
162
 
153
163
  export interface ZLinkClientServerTargetStatus {
@@ -32,7 +32,7 @@ export interface ZLinkWorkerCall<T> {
32
32
  export interface ZLinkSpotCommonContext<TSpot = ZLinkSpot> {
33
33
  readonly meshName: string;
34
34
  readonly spotId: SpotId;
35
- readonly objectGeneration: number;
35
+ readonly objectGeneration: bigint;
36
36
  readonly nodeRid: RoutingId;
37
37
  readonly outbound: ZLinkSpotOutbound;
38
38
  addTimer<THandler extends ZLinkSpotTimerHandler<TSpot>>(
package/src/internal.ts CHANGED
@@ -3,6 +3,7 @@ export * from './index';
3
3
  export * from './runtime/diagnostics';
4
4
  export * from './runtime/host';
5
5
  export * from './runtime/admission';
6
+ export * from './runtime/activation-admission';
6
7
  export * from './runtime/streams';
7
8
  export * from './runtime/streams/protocol';
8
9
  export * from './runtime/actors';
@@ -28,3 +29,17 @@ export * from './runtime/foundation';
28
29
  export * from './runtime/foundation/service-authority-payload-codec';
29
30
  export * from './runtime/framework-errors-internal';
30
31
  export * from './contracts/Configuration/Registration';
32
+
33
+ export * from './contracts/Locations/Stores';
34
+ export { ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES } from './contracts/Configuration/InternalDefaults';
35
+ export { ZLINK_MAX_STABLE_TYPE_BYTES } from './contracts/Common/CoreTypes';
36
+ export {
37
+ MAX_LISTENER_PORT,
38
+ ZLINK_MAX_PUBLIC_WEIGHT,
39
+ ZLINK_MAX_CAPACITY,
40
+ isValidPublicWeight,
41
+ isValidPositiveCapacity,
42
+ isValidListenerPort,
43
+ isValidCapacity,
44
+ requirePublicWeight
45
+ } from './contracts/Configuration/RegistrationBuilderPolicy';
@@ -1,14 +1,17 @@
1
1
  export {
2
2
  ZLinkConfigurationException,
3
3
  createFrameworkRegistration,
4
+ normalizeFrameworkRegistration,
4
5
  hasActorManager,
5
6
  hasSpotNode,
6
7
  hasSpotPublisherClient
7
8
  } from './contracts/Configuration/Registration';
8
9
  export type * from './contracts/Configuration/RegistrationTypes';
9
10
  export type * from './contracts';
11
+ export { ZLinkSpotActorSend, ZLinkSpotActorRequest } from './contracts/Handlers/Attributes';
10
12
  export {
11
13
  registerActorFactory,
14
+ registerRelocationStore,
12
15
  validateRoutingIdPrefix,
13
16
  registerEntrySpot,
14
17
  registerSpotFactory,
@@ -73,6 +76,10 @@ export {
73
76
  registerHandlerFilterScope as registerIntegrationHandlerFilterScope,
74
77
  type ZLinkHandlerFilterScopeRunner
75
78
  } from './runtime/channels/handler-filter-scope';
79
+ export {
80
+ disposeOwnedInstance as disposeIntegrationHandler,
81
+ disposeOwnedInstances as disposeIntegrationHandlers
82
+ } from './runtime/handlers/handler-instance-scope';
76
83
 
77
84
  export interface ZLinkNestIntegrationRuntimeHost extends Pick<
78
85
  import('./contracts').ZLinkFrameworkRuntime,
@@ -134,7 +141,13 @@ export function createIntegrationChannelClient(
134
141
  registration: ZLinkFrameworkRegistration,
135
142
  runtime: ZLinkNestIntegrationRuntimeHost
136
143
  ): ZLinkChannelClient {
137
- return new DefaultZLinkChannelClient(registration, runtimeHost(runtime).channelTransport);
144
+ const host = runtimeHost(runtime);
145
+ return new DefaultZLinkChannelClient(
146
+ registration,
147
+ host.channelTransport,
148
+ host.routeTransport,
149
+ host.spotRouterChannelIdForMesh
150
+ );
138
151
  }
139
152
 
140
153
  export function createIntegrationFanoutClient(
@@ -152,7 +165,8 @@ export function createIntegrationRouteClient(
152
165
  return new DefaultZLinkRouteClient(
153
166
  registration,
154
167
  host.routeTransport,
155
- host.spotRouterChannelIdForMesh
168
+ host.spotRouterChannelIdForMesh,
169
+ host.channelTransport
156
170
  );
157
171
  }
158
172
 
@@ -180,14 +194,17 @@ export function createIntegrationActorManager(
180
194
  ): ZLinkActorManager {
181
195
  const host = runtimeHost(runtime);
182
196
  const runtimeOptions = host.createActorManagerOptions();
183
- const manager = new DefaultZLinkActorManager({
184
- actorFactories: registration.actorFactories,
185
- ...runtimeOptions,
186
- boundSessionFactory:
187
- runtimeOptions.boundSessionFactory ??
188
- host.boundSessionFactory.create.bind(host.boundSessionFactory),
189
- providerResolver
190
- });
197
+ const manager = new DefaultZLinkActorManager(
198
+ {
199
+ actorFactories: registration.actorFactories,
200
+ ...runtimeOptions,
201
+ boundSessionFactory:
202
+ runtimeOptions.boundSessionFactory ??
203
+ host.boundSessionFactory.create.bind(host.boundSessionFactory),
204
+ providerResolver
205
+ },
206
+ host.detachedTaskRunner()
207
+ );
191
208
  host.setActorManager(manager);
192
209
  return manager;
193
210
  }
@@ -229,6 +246,7 @@ export function createIntegrationSpotManager(
229
246
  ...(spotNode.spotActorRequestHandlers ?? [])
230
247
  ]),
231
248
  ...runtimeOptions,
249
+ detachedTaskRunner: host.detachedTaskRunner(),
232
250
  spotRouteResolver: runtimeOptions.spotRouteResolver,
233
251
  routedTransport: host.routeTransport,
234
252
  providerResolver,