@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,8 +1,9 @@
1
+ import { AutoHwmProfile } from '@zlink-systems/zlink';
1
2
  import type { ZLinkFrameworkOptions } from '../../contracts';
3
+ import { ZLINK_MAX_IDENTITY_TEXT_BYTES } from '../Common/CoreTypes';
2
4
  import { ZLinkApplicationJobQueueProfile } from '../Dispatch';
3
- export { ZLinkConfigurationException } from './ConfigurationException';
5
+ import { zlinkDefaultLocationOptions } from '../Locations/Options';
4
6
  import { createFrameworkOptions } from './RegistrationBuilders';
5
- export { createFrameworkOptions } from './RegistrationBuilders';
6
7
  import { createCodecRegistry } from './RegistrationCodecRegistry';
7
8
  import {
8
9
  actorFactoriesFromSpotNodes,
@@ -19,18 +20,22 @@ import {
19
20
  toSpotPublisherClientSet,
20
21
  toStreamNodeMap
21
22
  } from './RegistrationNormalizers';
23
+ import type {
24
+ ZLinkFrameworkRegistration,
25
+ ZLinkFrameworkRegistrationOptions
26
+ } from './RegistrationTypes';
27
+ import { validateFrameworkRegistration } from './RegistrationValidators';
28
+
29
+ export const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
30
+ export { ZLinkConfigurationException } from './ConfigurationException';
31
+ export { createFrameworkOptions } from './RegistrationBuilders';
22
32
  export {
23
33
  hasActorManager,
24
34
  hasSpotNode,
25
35
  hasSpotPublisherClient,
26
36
  requirePositiveInteger
27
37
  } from './RegistrationNormalizers';
28
- import type {
29
- ZLinkFrameworkRegistration,
30
- ZLinkFrameworkRegistrationOptions
31
- } from './RegistrationTypes';
32
38
  export * from './RegistrationTypes';
33
- import { validateFrameworkRegistration } from './RegistrationValidators';
34
39
  export { validateFrameworkRegistration };
35
40
  export {
36
41
  normalizeEndpoint,
@@ -38,11 +43,18 @@ export {
38
43
  parseEndpointHostPort
39
44
  } from './EndpointNotation';
40
45
 
41
- const DEFAULT_MESSAGE_FOLLOW_DURATION_MS = 30_000;
42
- const DEFAULT_SESSION_REPLACEMENT_CALLBACK_TIMEOUT_MS = 30_000;
46
+ export const DEFAULT_SESSION_REPLACEMENT_CALLBACK_TIMEOUT_MS = 30_000;
43
47
 
44
48
  export function createFrameworkRegistration(
45
49
  options: ZLinkFrameworkRegistrationOptions = {}
50
+ ): ZLinkFrameworkRegistration {
51
+ const registration = normalizeFrameworkRegistration(options);
52
+ validateFrameworkRegistration(registration, options);
53
+ return registration;
54
+ }
55
+
56
+ export function normalizeFrameworkRegistration(
57
+ options: ZLinkFrameworkRegistrationOptions
46
58
  ): ZLinkFrameworkRegistration {
47
59
  const codecRegistry = createCodecRegistry(options.codecs);
48
60
  const network = normalizeNetworkOptions(options.network);
@@ -66,7 +78,7 @@ export function createFrameworkRegistration(
66
78
  messageFollowDurationMs: normalizeNonNegativeInteger(
67
79
  options.messageFollowDurationMs,
68
80
  'messageFollowDurationMs',
69
- DEFAULT_MESSAGE_FOLLOW_DURATION_MS
81
+ zlinkDefaultLocationOptions.messageFollowDurationMs
70
82
  ),
71
83
  sessionReplacementCallbackTimeoutMs: normalizePositiveInteger(
72
84
  options.sessionReplacementCallbackTimeoutMs,
@@ -94,53 +106,75 @@ export function createFrameworkRegistration(
94
106
  applicationJobQueue: normalizeApplicationJobQueue(options.applicationJobQueue),
95
107
  locations: normalizeLocationRegistration(options.locations)
96
108
  };
97
- validateFrameworkRegistration(registration, options);
98
109
  return registration;
99
110
  }
100
111
 
101
- function normalizeApplicationJobQueue(
102
- value: ZLinkFrameworkRegistrationOptions['applicationJobQueue']
103
- ): NonNullable<ZLinkFrameworkRegistrationOptions['applicationJobQueue']> {
104
- const profile = value?.profile ?? ZLinkApplicationJobQueueProfile.Balanced;
105
- if (!Object.values(ZLinkApplicationJobQueueProfile).includes(profile)) {
106
- throw new TypeError('applicationJobQueue.profile must be a supported profile.');
107
- }
108
- const maxQueuedApplicationJobs = value?.maxQueuedApplicationJobs;
112
+ export const MAX_QUEUED_APPLICATION_JOBS = 2_147_483_647n;
113
+ export const DEFAULT_PAUSE_THRESHOLD_PERCENT = 80;
114
+ export const DEFAULT_RESUME_THRESHOLD_PERCENT = 60;
115
+ export const APPLICATION_JOB_QUEUE_PERCENT_SCALE = 100;
116
+
117
+ export function isKnownApplicationJobQueueProfile(
118
+ value: unknown
119
+ ): value is ZLinkApplicationJobQueueProfile {
120
+ return Object.values(ZLinkApplicationJobQueueProfile).includes(
121
+ value as ZLinkApplicationJobQueueProfile
122
+ );
123
+ }
124
+
125
+ export function validateApplicationJobQueueMaximum(
126
+ value: bigint | undefined,
127
+ createError: (message: string) => Error
128
+ ): void {
109
129
  if (
110
- maxQueuedApplicationJobs !== undefined &&
111
- (typeof maxQueuedApplicationJobs !== 'bigint' ||
112
- maxQueuedApplicationJobs < 1n ||
113
- maxQueuedApplicationJobs > 2_147_483_647n)
130
+ value !== undefined &&
131
+ (typeof value !== 'bigint' || value < 1n || value > MAX_QUEUED_APPLICATION_JOBS)
114
132
  ) {
115
- throw new TypeError(
116
- 'applicationJobQueue.maxQueuedApplicationJobs must be a bigint in the range 1..2147483647.'
133
+ throw createError(
134
+ `maxQueuedApplicationJobs must be a bigint in the range 1..${MAX_QUEUED_APPLICATION_JOBS}.`
117
135
  );
118
136
  }
119
- const pauseThresholdPercent = value?.pauseThresholdPercent ?? 80;
120
- const resumeThresholdPercent = value?.resumeThresholdPercent ?? 60;
121
- if (
122
- !Number.isInteger(pauseThresholdPercent) ||
123
- pauseThresholdPercent < 1 ||
124
- pauseThresholdPercent > 100
125
- ) {
126
- throw new TypeError(
127
- 'applicationJobQueue.pauseThresholdPercent must be an integer in the range 1..100.'
137
+ }
138
+
139
+ export function validateApplicationJobQueuePressureThresholds(
140
+ pause: number,
141
+ resume: number,
142
+ createError: (message: string) => Error
143
+ ): void {
144
+ if (!Number.isInteger(pause) || pause < 1 || pause > APPLICATION_JOB_QUEUE_PERCENT_SCALE) {
145
+ throw createError(
146
+ `pauseThresholdPercent must be an integer in the range 1..${APPLICATION_JOB_QUEUE_PERCENT_SCALE}.`
128
147
  );
129
148
  }
130
- if (
131
- !Number.isInteger(resumeThresholdPercent) ||
132
- resumeThresholdPercent < 0 ||
133
- resumeThresholdPercent > 99
134
- ) {
135
- throw new TypeError(
136
- 'applicationJobQueue.resumeThresholdPercent must be an integer in the range 0..99.'
149
+ if (!Number.isInteger(resume) || resume < 0 || resume >= APPLICATION_JOB_QUEUE_PERCENT_SCALE) {
150
+ throw createError(
151
+ `resumeThresholdPercent must be an integer in the range 0..${APPLICATION_JOB_QUEUE_PERCENT_SCALE - 1}.`
137
152
  );
138
153
  }
139
- if (resumeThresholdPercent >= pauseThresholdPercent) {
140
- throw new TypeError(
141
- 'applicationJobQueue.resumeThresholdPercent must be less than pauseThresholdPercent.'
142
- );
154
+ if (resume >= pause) {
155
+ throw createError('resumeThresholdPercent must be less than pauseThresholdPercent.');
143
156
  }
157
+ }
158
+
159
+ function normalizeApplicationJobQueue(
160
+ value: ZLinkFrameworkRegistrationOptions['applicationJobQueue']
161
+ ): NonNullable<ZLinkFrameworkRegistrationOptions['applicationJobQueue']> {
162
+ const profile = value?.profile ?? ZLinkApplicationJobQueueProfile.Balanced;
163
+ if (!isKnownApplicationJobQueueProfile(profile)) {
164
+ throw new TypeError('applicationJobQueue.profile must be a supported profile.');
165
+ }
166
+ const maxQueuedApplicationJobs = value?.maxQueuedApplicationJobs;
167
+ validateApplicationJobQueueMaximum(
168
+ maxQueuedApplicationJobs,
169
+ (message) => new TypeError(`applicationJobQueue.${message}`)
170
+ );
171
+ const pauseThresholdPercent = value?.pauseThresholdPercent ?? DEFAULT_PAUSE_THRESHOLD_PERCENT;
172
+ const resumeThresholdPercent = value?.resumeThresholdPercent ?? DEFAULT_RESUME_THRESHOLD_PERCENT;
173
+ validateApplicationJobQueuePressureThresholds(
174
+ pauseThresholdPercent,
175
+ resumeThresholdPercent,
176
+ (message) => new TypeError(`applicationJobQueue.${message}`)
177
+ );
144
178
  return Object.freeze({
145
179
  profile,
146
180
  maxQueuedApplicationJobs,
@@ -154,7 +188,10 @@ function normalizeCoreHwm(
154
188
  ): ZLinkFrameworkRegistrationOptions['coreHwm'] {
155
189
  if (value === undefined) return undefined;
156
190
  const { profile, memoryLimitBytes, budgetBytes } = value;
157
- if (profile !== undefined && (!Number.isInteger(profile) || profile < 0 || profile > 3)) {
191
+ if (
192
+ profile !== undefined &&
193
+ (!Number.isInteger(profile) || profile < 0 || profile > AutoHwmProfile.Throughput)
194
+ ) {
158
195
  throw new TypeError('coreHwm.profile must be a Core Auto HWM profile value.');
159
196
  }
160
197
  for (const [name, bytes] of [
@@ -183,8 +220,15 @@ function normalizeApplicationVersion(value: bigint | undefined): bigint {
183
220
  function normalizeMaintenanceWave(value: string | undefined): string | undefined {
184
221
  if (value === undefined) return undefined;
185
222
  const byteLength = typeof value === 'string' ? new TextEncoder().encode(value).byteLength : 0;
186
- if (typeof value !== 'string' || byteLength === 0 || byteLength > 255 || value.includes('\0')) {
187
- throw new TypeError('maintenanceWave must be a 1..255 byte UTF-8 string without NUL.');
223
+ if (
224
+ typeof value !== 'string' ||
225
+ byteLength === 0 ||
226
+ byteLength > ZLINK_MAX_IDENTITY_TEXT_BYTES ||
227
+ value.includes('\0')
228
+ ) {
229
+ throw new TypeError(
230
+ `maintenanceWave must be a 1..${ZLINK_MAX_IDENTITY_TEXT_BYTES} byte UTF-8 string without NUL.`
231
+ );
188
232
  }
189
233
  return value;
190
234
  }
@@ -1,5 +1,44 @@
1
- import type { Type, ZLinkEntrySpot, ZLinkSpot } from '../../contracts';
1
+ import type { Type, ZLinkEntrySpot, ZLinkSpot, ZLinkRelocationStore } from '../../contracts';
2
+ import { ZLINK_MAX_ROUTING_ID_BYTES } from '../Common/CoreTypes';
2
3
  import { ZLinkConfigurationException } from './ConfigurationException';
4
+ export const MAX_LISTENER_PORT = 65_535;
5
+
6
+ export function registerRelocationStore(
7
+ options: { relocationStoreInstance?: ZLinkRelocationStore },
8
+ store: ZLinkRelocationStore
9
+ ): void {
10
+ if (options.relocationStoreInstance !== undefined) {
11
+ throw new ZLinkConfigurationException('Relocation Store is already registered.');
12
+ }
13
+ options.relocationStoreInstance = store;
14
+ }
15
+ export function isValidListenerPort(value: number): boolean {
16
+ return Number.isInteger(value) && value >= 0 && value <= MAX_LISTENER_PORT;
17
+ }
18
+
19
+ export const ZLINK_MAX_CAPACITY = 0x7fff_ffff;
20
+ export function isValidPositiveCapacity(value: number): boolean {
21
+ return Number.isSafeInteger(value) && value > 0 && value <= ZLINK_MAX_CAPACITY;
22
+ }
23
+ export function isValidCapacity(value: number): boolean {
24
+ return Number.isSafeInteger(value) && value >= 0 && value <= ZLINK_MAX_CAPACITY;
25
+ }
26
+
27
+ export const ZLINK_DEFAULT_PUBLIC_WEIGHT = 100;
28
+ export const ZLINK_MAX_PUBLIC_WEIGHT = 10_000;
29
+
30
+ export function isValidPublicWeight(value: number): boolean {
31
+ return Number.isInteger(value) && value >= 0 && value <= ZLINK_MAX_PUBLIC_WEIGHT;
32
+ }
33
+
34
+ export function requirePublicWeight(value: number, label: string): number {
35
+ if (!isValidPublicWeight(value)) {
36
+ throw new ZLinkConfigurationException(
37
+ `${label} must be an integer in 0..${ZLINK_MAX_PUBLIC_WEIGHT}.`
38
+ );
39
+ }
40
+ return value;
41
+ }
3
42
 
4
43
  export function validateMessageFollowDuration(timeoutMs: number): number {
5
44
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 0) {
@@ -69,7 +108,10 @@ export function validateRoutingIdPrefix(prefix: string): string {
69
108
  if (prefix.trim().length === 0 || prefix !== prefix.trim()) {
70
109
  throw new ZLinkConfigurationException('Routing-id prefix must not be empty or padded.');
71
110
  }
72
- if (Buffer.byteLength(`${prefix}-00000000-0000-0000-0000-000000000000`, 'utf8') > 255) {
111
+ if (
112
+ Buffer.byteLength(`${prefix}-00000000-0000-0000-0000-000000000000`, 'utf8') >
113
+ ZLINK_MAX_ROUTING_ID_BYTES
114
+ ) {
73
115
  throw new ZLinkConfigurationException(
74
116
  'Routing-id prefix is too long for a generated routing id.'
75
117
  );
@@ -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
  }
@@ -1578,7 +1586,6 @@ interface MutableServerCapabilityOptions {
1578
1586
  weight?: number;
1579
1587
  sendHighWaterMark?: number;
1580
1588
  receiveHighWaterMark?: number;
1581
- sendTimeoutMs?: number;
1582
1589
  maxMessageSize?: number;
1583
1590
  }
1584
1591
 
@@ -1586,11 +1593,11 @@ interface MutableClientCapabilityOptions {
1586
1593
  manualConnections?: string[];
1587
1594
  sendHighWaterMark?: number;
1588
1595
  receiveHighWaterMark?: number;
1589
- sendTimeoutMs?: number;
1590
1596
  maxMessageSize?: number;
1591
1597
  }
1592
1598
 
1593
1599
  interface MutablePublisherCapabilityOptions {
1600
+ sendTimeoutMs?: number;
1594
1601
  bind?: string;
1595
1602
  bindHost?: string;
1596
1603
  advertiseHost?: string;
@@ -1681,7 +1688,6 @@ interface MutableSpotRouterCapabilityOptions {
1681
1688
  sendHighWaterMark?: number;
1682
1689
  receiveHighWaterMark?: number;
1683
1690
  receiveTimeoutMs?: number;
1684
- sendTimeoutMs?: number;
1685
1691
  }
1686
1692
 
1687
1693
  interface MutableSpotPubSubCapabilityOptions {
@@ -1705,8 +1711,8 @@ function requireRegistrationName(value: string, label: string): void {
1705
1711
  }
1706
1712
 
1707
1713
  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.`);
1714
+ if (!isValidListenerPort(value)) {
1715
+ throw new ZLinkConfigurationException(`${label} must be between 0 and ${MAX_LISTENER_PORT}.`);
1710
1716
  }
1711
1717
  return value;
1712
1718
  }
@@ -183,7 +183,6 @@ export interface ZLinkChannelOptions {
183
183
  readonly weight?: number;
184
184
  readonly sendHighWaterMark?: number;
185
185
  readonly receiveHighWaterMark?: number;
186
- readonly sendTimeoutMs?: number;
187
186
  readonly maxMessageSize?: number;
188
187
  };
189
188
  readonly subscriber?: ZLinkClientCapabilityOptions;
@@ -193,11 +192,11 @@ export interface ZLinkClientCapabilityOptions {
193
192
  readonly manualConnections?: readonly string[];
194
193
  readonly sendHighWaterMark?: number;
195
194
  readonly receiveHighWaterMark?: number;
196
- readonly sendTimeoutMs?: number;
197
195
  readonly maxMessageSize?: number;
198
196
  }
199
197
 
200
198
  export interface ZLinkPublisherCapabilityOptions {
199
+ readonly sendTimeoutMs?: number;
201
200
  readonly bind?: string;
202
201
  readonly bindHost?: string;
203
202
  readonly advertiseHost?: string;
@@ -213,7 +212,6 @@ export interface ZLinkRouteMeshChannelOptions {
213
212
  readonly weight?: number;
214
213
  readonly sendHighWaterMark?: number;
215
214
  readonly receiveHighWaterMark?: number;
216
- readonly sendTimeoutMs?: number;
217
215
  readonly sendHandlers?: readonly ZLinkRouteChannelSendHandlerRegistration[];
218
216
  readonly requestHandlers?: readonly ZLinkRouteChannelRequestHandlerRegistration[];
219
217
  readonly handlers?: readonly ZLinkRouteChannelHandlerOptions[];
@@ -229,7 +227,6 @@ export interface ZLinkRouteChannelOptions {
229
227
  readonly weight?: number;
230
228
  readonly sendHighWaterMark?: number;
231
229
  readonly receiveHighWaterMark?: number;
232
- readonly sendTimeoutMs?: number;
233
230
  readonly sendHandlers?: readonly ZLinkRouteChannelSendHandlerRegistration[];
234
231
  readonly requestHandlers?: readonly ZLinkRouteChannelRequestHandlerRegistration[];
235
232
  readonly handlers?: readonly ZLinkRouteChannelHandlerOptions[];
@@ -429,7 +426,6 @@ export interface ZLinkSpotRouterCapabilityOptions {
429
426
  readonly sendHighWaterMark?: number;
430
427
  readonly receiveHighWaterMark?: number;
431
428
  readonly receiveTimeoutMs?: number;
432
- readonly sendTimeoutMs?: number;
433
429
  }
434
430
 
435
431
  export interface ZLinkSpotRouterPeerConnectionOptions {