@zlink-systems/framework 0.26.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 (521) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  3. package/dist/contracts/Common/CoreTypes.js +7 -0
  4. package/dist/contracts/Common/index.d.ts +1 -1
  5. package/dist/contracts/Common/index.js +0 -1
  6. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  7. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  8. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  9. package/dist/contracts/Configuration/Registration.js +58 -36
  10. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  12. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  13. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  14. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  15. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  16. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  17. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  18. package/dist/contracts/Handlers/JsonContract.js +10 -4
  19. package/dist/contracts/Locations/Authority.d.ts +1 -1
  20. package/dist/contracts/Locations/Authority.js +3 -2
  21. package/dist/contracts/Locations/Options.js +1 -1
  22. package/dist/contracts/Locations/Stores.d.ts +12 -0
  23. package/dist/contracts/Locations/Stores.js +9 -0
  24. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  25. package/dist/internal.d.ts +4 -0
  26. package/dist/internal.js +15 -1
  27. package/dist/nest-integration.d.ts +4 -2
  28. package/dist/nest-integration.js +14 -4
  29. package/dist/runtime/abort.d.ts +1 -0
  30. package/dist/runtime/abort.js +8 -5
  31. package/dist/runtime/activation-admission.d.ts +1 -2
  32. package/dist/runtime/activation-admission.js +2 -6
  33. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  34. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  35. package/dist/runtime/actors/actor-client.d.ts +2 -2
  36. package/dist/runtime/actors/actor-client.js +42 -143
  37. package/dist/runtime/actors/actor-context.d.ts +3 -5
  38. package/dist/runtime/actors/actor-context.js +13 -11
  39. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  40. package/dist/runtime/actors/actor-handoff.js +8 -8
  41. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  42. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  43. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  44. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  45. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  46. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  47. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  48. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  49. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  50. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  51. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  52. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  53. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  54. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  55. package/dist/runtime/actors/bound-session-wire.js +2 -7
  56. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  57. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  58. package/dist/runtime/actors/index.d.ts +9 -7
  59. package/dist/runtime/actors/index.js +87 -69
  60. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  61. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  62. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  63. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  64. package/dist/runtime/admission.d.ts +2 -0
  65. package/dist/runtime/admission.js +7 -1
  66. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  67. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  68. package/dist/runtime/backend/contracts/index.d.ts +6 -23
  69. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  70. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  71. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  72. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +1 -1
  73. package/dist/runtime/backend/node/node-backend-adapter-support.js +16 -6
  74. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  75. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  76. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  77. package/dist/runtime/backend/node/node-raw-binding-port.js +40 -16
  78. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  79. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  80. package/dist/runtime/backend/node/node-socket-backend-adapter.js +3 -2
  81. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  82. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  83. package/dist/runtime/backend/runtime-values.js +2 -0
  84. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  85. package/dist/runtime/channels/channel-clients.js +68 -52
  86. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  87. package/dist/runtime/channels/channel-envelope.js +47 -29
  88. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  89. package/dist/runtime/channels/channel-outbound-operations.js +9 -10
  90. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  91. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  92. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  93. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  94. package/dist/runtime/channels/channel-runtime-manager.js +5 -2
  95. package/dist/runtime/channels/channel-socket-options.js +3 -2
  96. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  97. package/dist/runtime/channels/channel-socket-registry.js +248 -174
  98. package/dist/runtime/channels/channel-transports.d.ts +11 -17
  99. package/dist/runtime/channels/channel-transports.js +68 -47
  100. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  101. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  102. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  103. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  104. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  105. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  106. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  107. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  108. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  109. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  110. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  111. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  112. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  113. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  114. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  115. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  116. package/dist/runtime/diagnostics/flow-context.js +16 -2
  117. package/dist/runtime/diagnostics/index.d.ts +4 -2
  118. package/dist/runtime/diagnostics/index.js +14 -4
  119. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  120. package/dist/runtime/diagnostics/message-flow.js +10 -19
  121. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  122. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  123. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  124. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  125. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  126. package/dist/runtime/disposal.d.ts +5 -0
  127. package/dist/runtime/disposal.js +22 -0
  128. package/dist/runtime/execution/index.d.ts +12 -9
  129. package/dist/runtime/execution/index.js +58 -14
  130. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  131. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  132. package/dist/runtime/execution/state-lane.d.ts +8 -1
  133. package/dist/runtime/execution/state-lane.js +118 -3
  134. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  135. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  136. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  137. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  138. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  139. package/dist/runtime/foundation/operation-identity.js +9 -5
  140. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  141. package/dist/runtime/foundation/operation-registry.js +34 -44
  142. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  143. package/dist/runtime/foundation/raw-service-mesh-runtime.js +62 -83
  144. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  145. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  146. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  147. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  148. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  149. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  150. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  151. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  152. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  153. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  154. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  155. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  156. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  157. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  158. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  159. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  160. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  161. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  162. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  163. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  164. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  165. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  166. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  167. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  168. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  169. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  170. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  171. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  172. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  173. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  174. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  175. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  176. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  177. package/dist/runtime/framework-errors-internal.js +343 -122
  178. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  179. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  180. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  181. package/dist/runtime/host/actor-packet-relay.js +48 -91
  182. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  183. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  184. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  185. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  186. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  187. package/dist/runtime/host/application-job-queue.js +16 -33
  188. package/dist/runtime/host/bound-session-relay.js +1 -1
  189. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  190. package/dist/runtime/host/index.d.ts +14 -13
  191. package/dist/runtime/host/index.js +190 -157
  192. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  193. package/dist/runtime/host/instance-activation-authority.js +17 -45
  194. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  195. package/dist/runtime/host/location-runtime-owner.js +2 -2
  196. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  197. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  198. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  199. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  200. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  201. package/dist/runtime/host/remote-bound-session-relay.js +7 -20
  202. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  203. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  204. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  205. package/dist/runtime/host/runtime-shutdown.js +18 -21
  206. package/dist/runtime/host/service-relocation-control.js +6 -1
  207. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  208. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  209. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  210. package/dist/runtime/host/spot-address-transport.js +34 -136
  211. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  212. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  213. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  214. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  215. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  216. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  217. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  218. package/dist/runtime/locations/authority-key-codec.js +4 -3
  219. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  220. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  221. package/dist/runtime/locations/creation-operation-id.js +6 -4
  222. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  223. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  224. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  225. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  226. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  227. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  228. package/dist/runtime/locations/key-codec.js +3 -2
  229. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  230. package/dist/runtime/locations/lease-tracker.js +7 -11
  231. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  232. package/dist/runtime/locations/lifecycle.js +2 -31
  233. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  234. package/dist/runtime/locations/location-store-failure.js +7 -0
  235. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  236. package/dist/runtime/locations/location-store-pages.js +13 -0
  237. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  238. package/dist/runtime/locations/location-store-repository.js +303 -332
  239. package/dist/runtime/locations/relocation-blob.js +18 -5
  240. package/dist/runtime/locations/resolvers.d.ts +5 -5
  241. package/dist/runtime/locations/resolvers.js +37 -28
  242. package/dist/runtime/locations/runtime.d.ts +5 -4
  243. package/dist/runtime/locations/runtime.js +123 -92
  244. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  245. package/dist/runtime/locations/spot-location-claims.js +42 -1
  246. package/dist/runtime/messaging/payload-codec.js +26 -20
  247. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  248. package/dist/runtime/messaging/submission-result.js +48 -0
  249. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  250. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  251. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  252. package/dist/runtime/spots/index.d.ts +14 -20
  253. package/dist/runtime/spots/index.js +302 -176
  254. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  255. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  256. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  257. package/dist/runtime/spots/spot-activation-state.js +2 -2
  258. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  259. package/dist/runtime/spots/spot-activation.js +49 -32
  260. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  261. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  262. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  263. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  264. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  265. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  266. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  267. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  268. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  269. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  270. package/dist/runtime/spots/spot-context.d.ts +2 -2
  271. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  272. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  273. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  274. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  275. package/dist/runtime/spots/spot-manager-public.js +5 -4
  276. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  277. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  278. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  279. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  280. package/dist/runtime/spots/spot-outbound.js +9 -8
  281. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  282. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  283. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  284. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  285. package/dist/runtime/spots/spot-route-replies.js +3 -1
  286. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  287. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  288. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  289. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  290. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  291. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  292. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  293. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  294. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  295. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  296. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  297. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  298. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  299. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  300. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  301. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  302. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  303. package/dist/runtime/streams/bound-session-service.js +11 -1
  304. package/dist/runtime/streams/index.d.ts +14 -15
  305. package/dist/runtime/streams/index.js +20 -21
  306. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  307. package/dist/runtime/streams/managed-stream.js +17 -8
  308. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  309. package/dist/runtime/streams/protocol.d.ts +6 -33
  310. package/dist/runtime/streams/protocol.js +38 -110
  311. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  312. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  313. package/dist/runtime/streams/session-calls.d.ts +1 -1
  314. package/dist/runtime/streams/session-calls.js +5 -4
  315. package/dist/runtime/streams/session-context.d.ts +6 -6
  316. package/dist/runtime/streams/session-context.js +22 -4
  317. package/dist/runtime/streams/session-requests.js +2 -1
  318. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  319. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  320. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  321. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  322. package/dist/runtime/workers/index.d.ts +2 -2
  323. package/dist/runtime/workers/index.js +5 -4
  324. package/package.json +3 -3
  325. package/src/contracts/Common/CoreTypes.ts +7 -0
  326. package/src/contracts/Common/index.ts +1 -1
  327. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  328. package/src/contracts/Configuration/Registration.ts +92 -48
  329. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  330. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  331. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  332. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  333. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  334. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  335. package/src/contracts/Handlers/JsonContract.ts +14 -4
  336. package/src/contracts/Locations/Authority.ts +7 -3
  337. package/src/contracts/Locations/Options.ts +1 -1
  338. package/src/contracts/Locations/Stores.ts +14 -0
  339. package/src/contracts/Spots/Contracts.ts +1 -1
  340. package/src/internal.ts +14 -0
  341. package/src/nest-integration.ts +28 -10
  342. package/src/runtime/abort.ts +6 -5
  343. package/src/runtime/activation-admission.ts +2 -8
  344. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  345. package/src/runtime/actors/actor-client.ts +77 -204
  346. package/src/runtime/actors/actor-context.ts +39 -33
  347. package/src/runtime/actors/actor-handoff.ts +24 -22
  348. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  349. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  350. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  351. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  352. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  353. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  354. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  355. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  356. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  357. package/src/runtime/actors/bound-session-wire.ts +2 -8
  358. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  359. package/src/runtime/actors/index.ts +100 -79
  360. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  361. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  362. package/src/runtime/admission.ts +8 -1
  363. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  364. package/src/runtime/backend/contracts/index.ts +13 -29
  365. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  366. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  367. package/src/runtime/backend/node/node-backend-adapter-support.ts +23 -6
  368. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  369. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  370. package/src/runtime/backend/node/node-raw-binding-port.ts +41 -20
  371. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  372. package/src/runtime/backend/node/node-socket-backend-adapter.ts +3 -2
  373. package/src/runtime/backend/raw-binding-port.ts +1 -1
  374. package/src/runtime/backend/runtime-values.ts +4 -1
  375. package/src/runtime/channels/channel-clients.ts +132 -85
  376. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  377. package/src/runtime/channels/channel-envelope.ts +58 -29
  378. package/src/runtime/channels/channel-outbound-operations.ts +10 -23
  379. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  380. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  381. package/src/runtime/channels/channel-runtime-manager.ts +6 -2
  382. package/src/runtime/channels/channel-socket-options.ts +8 -2
  383. package/src/runtime/channels/channel-socket-registry.ts +301 -192
  384. package/src/runtime/channels/channel-transports.ts +161 -112
  385. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  386. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  387. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  388. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  389. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  390. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  391. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  392. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  393. package/src/runtime/diagnostics/flow-context.ts +16 -2
  394. package/src/runtime/diagnostics/index.ts +27 -17
  395. package/src/runtime/diagnostics/message-flow.ts +15 -25
  396. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  397. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  398. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  399. package/src/runtime/disposal.ts +19 -0
  400. package/src/runtime/execution/index.ts +60 -20
  401. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  402. package/src/runtime/execution/state-lane.ts +142 -4
  403. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  404. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  405. package/src/runtime/foundation/operation-identity.ts +11 -5
  406. package/src/runtime/foundation/operation-registry.ts +33 -50
  407. package/src/runtime/foundation/raw-service-mesh-runtime.ts +110 -111
  408. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  409. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  410. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  411. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  412. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  413. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  414. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  415. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  416. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  417. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  418. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  419. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  420. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  421. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  422. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  423. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  424. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  425. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  426. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  427. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  428. package/src/runtime/framework-errors-internal.ts +380 -134
  429. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  430. package/src/runtime/host/actor-packet-relay.ts +57 -147
  431. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  432. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  433. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  434. package/src/runtime/host/application-job-queue.ts +28 -34
  435. package/src/runtime/host/bound-session-relay.ts +1 -2
  436. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  437. package/src/runtime/host/index.ts +327 -296
  438. package/src/runtime/host/instance-activation-authority.ts +89 -109
  439. package/src/runtime/host/location-runtime-owner.ts +4 -2
  440. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  441. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  442. package/src/runtime/host/remote-bound-session-relay.ts +8 -41
  443. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  444. package/src/runtime/host/runtime-shutdown.ts +17 -21
  445. package/src/runtime/host/service-relocation-control.ts +14 -1
  446. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  447. package/src/runtime/host/spot-address-transport.ts +73 -195
  448. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  449. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  450. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  451. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  452. package/src/runtime/locations/authority-key-codec.ts +7 -3
  453. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  454. package/src/runtime/locations/creation-operation-id.ts +6 -3
  455. package/src/runtime/locations/domain-store-contract.ts +12 -3
  456. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  457. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  458. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  459. package/src/runtime/locations/key-codec.ts +3 -2
  460. package/src/runtime/locations/lease-tracker.ts +8 -14
  461. package/src/runtime/locations/lifecycle.ts +13 -43
  462. package/src/runtime/locations/location-store-failure.ts +4 -0
  463. package/src/runtime/locations/location-store-pages.ts +18 -0
  464. package/src/runtime/locations/location-store-repository.ts +450 -478
  465. package/src/runtime/locations/relocation-blob.ts +17 -6
  466. package/src/runtime/locations/resolvers.ts +75 -49
  467. package/src/runtime/locations/runtime.ts +220 -110
  468. package/src/runtime/locations/spot-location-claims.ts +58 -1
  469. package/src/runtime/messaging/payload-codec.ts +35 -24
  470. package/src/runtime/messaging/submission-result.ts +57 -1
  471. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  472. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  473. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  474. package/src/runtime/spots/index.ts +433 -229
  475. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  476. package/src/runtime/spots/spot-activation-state.ts +2 -2
  477. package/src/runtime/spots/spot-activation.ts +67 -37
  478. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  479. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  480. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  481. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  482. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  483. package/src/runtime/spots/spot-context.ts +3 -3
  484. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  485. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  486. package/src/runtime/spots/spot-manager-public.ts +21 -17
  487. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  488. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  489. package/src/runtime/spots/spot-outbound.ts +45 -23
  490. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  491. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  492. package/src/runtime/spots/spot-route-replies.ts +6 -4
  493. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  494. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  495. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  496. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  497. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  498. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  499. package/src/runtime/spots/spot-timer.ts +3 -2
  500. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  501. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  502. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  503. package/src/runtime/streams/bound-session-service.ts +21 -1
  504. package/src/runtime/streams/index.ts +76 -64
  505. package/src/runtime/streams/managed-stream.ts +29 -10
  506. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  507. package/src/runtime/streams/protocol.ts +34 -88
  508. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  509. package/src/runtime/streams/session-calls.ts +6 -5
  510. package/src/runtime/streams/session-context.ts +54 -10
  511. package/src/runtime/streams/session-requests.ts +2 -1
  512. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  513. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  514. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  515. package/src/runtime/workers/index.ts +13 -12
  516. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  517. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  518. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  519. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  520. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  521. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -1,11 +1,13 @@
1
- import { type ZLinkBackendMessageLike as MessageLike } from '../backend/runtime-values';
2
- import type { ZLinkBackendMeshNode, ZLinkBackendSpot } from '../backend/contracts';
3
1
  import { ZLinkFrameworkException } from '../../contracts';
4
2
  import type { Message } from '../../contracts/Common/Message';
3
+ import type { ZLinkBackendMeshNode, ZLinkBackendSpot } from '../backend/contracts';
4
+ import { type ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
5
+ import { type ZLinkBackendMessageLike as MessageLike } from '../backend/runtime-values';
6
+ import type { ZLinkRuntimeMetrics } from '../diagnostics';
7
+ import { type ZLinkMessageFlowTracer } from '../diagnostics';
5
8
  import { type ZLinkSubmitResult } from '../messaging/submission-result';
6
9
  import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
7
- import type { ZLinkRuntimeMetrics } from '../diagnostics';
8
- import { type ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
10
+ import type { ZLinkSpotRoutedSendOptions, ZLinkSpotRoutedRequestOptions } from '../spots/spot-outbound';
9
11
  import { type ZLinkChannelEnvelopeCodecRegistry } from './channel-envelope';
10
12
  export interface ZLinkChannelClientTransport {
11
13
  send(channelName: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
@@ -61,10 +63,11 @@ export declare class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTrans
61
63
  private readonly localNodeSubmit?;
62
64
  private readonly metrics?;
63
65
  private readonly flowCreationEnabled;
66
+ private readonly outboundFlow;
64
67
  constructor(manager: () => ZLinkChannelTransportRuntime | undefined, routeChannelPredicate?: ((routerChannelId: string) => boolean) | undefined, meshRuntime?: (() => {
65
68
  readonly meshNode: (meshName: string) => ZLinkBackendMeshNode | undefined;
66
69
  readonly meshCompletionTable: (meshName: string) => ZLinkMeshCompletionTable | undefined;
67
- } | undefined) | undefined, codecs?: ZLinkChannelEnvelopeCodecRegistry | undefined, manualNodeTarget?: ((meshName: string, targetNodeRid: string) => boolean | undefined) | undefined, localNodeSubmit?: ((meshName: string, sourceNodeRid: string, parts: readonly MessageLike[]) => ZLinkSubmitResult) | undefined, metrics?: ZLinkRuntimeMetrics | undefined, flowCreationEnabled?: () => boolean);
70
+ } | undefined) | undefined, codecs?: ZLinkChannelEnvelopeCodecRegistry | undefined, manualNodeTarget?: ((meshName: string, targetNodeRid: string) => boolean | undefined) | undefined, localNodeSubmit?: ((meshName: string, sourceNodeRid: string, parts: readonly MessageLike[]) => ZLinkSubmitResult) | undefined, metrics?: ZLinkRuntimeMetrics | undefined, flowCreationEnabled?: () => boolean, outboundFlow?: () => ZLinkMessageFlowTracer | undefined);
68
71
  canRouteChannel(routerChannelId: string): boolean;
69
72
  canRoutePacketChannel(routerChannelId: string): boolean;
70
73
  submit(meshName: string, targetNodeRid: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
@@ -72,17 +75,13 @@ export declare class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTrans
72
75
  private submitNode;
73
76
  request<TReply>(meshName: string, targetNodeRid: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
74
77
  private requestScoped;
78
+ private traceNodeRequest;
75
79
  submitToChannel(meshName: string, channelName: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
76
80
  private submitToChannelScoped;
77
81
  requestToChannel<TReply>(meshName: string, channelName: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
78
82
  private requestToChannelScoped;
79
83
  private submitRequestOperation;
80
- sendToSpot(spotRouteTarget: ZLinkSpotRouteTarget, message: unknown, options: {
81
- readonly packetName?: string;
82
- readonly timeoutMs?: number;
83
- readonly signal?: AbortSignal;
84
- readonly metadata?: ReadonlyMap<string, string>;
85
- }): Promise<ZLinkSubmitResult>;
84
+ sendToSpot(spotRouteTarget: ZLinkSpotRouteTarget, message: unknown, options: ZLinkSpotRoutedSendOptions): Promise<ZLinkSubmitResult>;
86
85
  private sendToSpotScoped;
87
86
  sendFromSpotToSpot(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, message: unknown, options: {
88
87
  readonly packetName?: string;
@@ -90,12 +89,7 @@ export declare class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTrans
90
89
  readonly signal?: AbortSignal;
91
90
  readonly metadata?: ReadonlyMap<string, string>;
92
91
  }): Promise<ZLinkSubmitResult>;
93
- requestToSpot<TReply = unknown>(spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: {
94
- readonly packetName?: string;
95
- readonly timeoutMs?: number;
96
- readonly signal?: AbortSignal;
97
- readonly metadata?: ReadonlyMap<string, string>;
98
- }): Promise<TReply>;
92
+ requestToSpot<TReply = unknown>(spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: ZLinkSpotRoutedRequestOptions): Promise<TReply>;
99
93
  private requestToSpotScoped;
100
94
  requestFromSpotToSpot<TReply = unknown>(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: {
101
95
  readonly packetName?: string;
@@ -2,19 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkRuntimeRouteTransport = void 0;
4
4
  exports.meshRequestFailure = meshRequestFailure;
5
- const framework_errors_internal_1 = require("../framework-errors-internal");
6
- const runtime_message_1 = require("../backend/runtime-message");
7
- const runtime_values_1 = require("../backend/runtime-values");
8
5
  const contracts_1 = require("../../contracts");
9
- const submission_result_1 = require("../messaging/submission-result");
10
- const configuration_1 = require("../configuration");
6
+ const Registration_1 = require("../../contracts/Configuration/Registration");
11
7
  const Spots_1 = require("../../contracts/Spots");
12
8
  const abort_1 = require("../abort");
13
9
  const mesh_completion_table_1 = require("../backend/mesh-completion-table");
10
+ const runtime_message_1 = require("../backend/runtime-message");
11
+ const runtime_values_1 = require("../backend/runtime-values");
12
+ const configuration_1 = require("../configuration");
13
+ const flow_context_1 = require("../diagnostics/flow-context");
14
+ const diagnostics_1 = require("../diagnostics");
15
+ const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
16
+ const channel_outbound_operations_1 = require("./channel-outbound-operations");
17
+ const service_stateful_registry_1 = require("../foundation/service-stateful-registry");
18
+ const framework_errors_internal_1 = require("../framework-errors-internal");
19
+ const submission_result_1 = require("../messaging/submission-result");
14
20
  const routing_id_1 = require("../routing-id");
15
21
  const channel_envelope_1 = require("./channel-envelope");
16
- const service_stateful_registry_1 = require("../foundation/service-stateful-registry");
17
- const flow_context_1 = require("../diagnostics/flow-context");
18
22
  class ZLinkRuntimeRouteTransport {
19
23
  manager;
20
24
  routeChannelPredicate;
@@ -24,7 +28,8 @@ class ZLinkRuntimeRouteTransport {
24
28
  localNodeSubmit;
25
29
  metrics;
26
30
  flowCreationEnabled;
27
- constructor(manager, routeChannelPredicate = undefined, meshRuntime = undefined, codecs, manualNodeTarget, localNodeSubmit, metrics, flowCreationEnabled = () => true) {
31
+ outboundFlow;
32
+ constructor(manager, routeChannelPredicate = undefined, meshRuntime = undefined, codecs, manualNodeTarget, localNodeSubmit, metrics, flowCreationEnabled = () => true, outboundFlow = () => undefined) {
28
33
  this.manager = manager;
29
34
  this.routeChannelPredicate = routeChannelPredicate;
30
35
  this.meshRuntime = meshRuntime;
@@ -33,6 +38,7 @@ class ZLinkRuntimeRouteTransport {
33
38
  this.localNodeSubmit = localNodeSubmit;
34
39
  this.metrics = metrics;
35
40
  this.flowCreationEnabled = flowCreationEnabled;
41
+ this.outboundFlow = outboundFlow;
36
42
  }
37
43
  canRouteChannel(routerChannelId) {
38
44
  const manager = this.manager();
@@ -88,16 +94,46 @@ class ZLinkRuntimeRouteTransport {
88
94
  if (node === undefined) {
89
95
  return this.requireManager().routeRequest(meshName, targetNodeRid, packetName, request, timeoutMs, signal, metadata);
90
96
  }
91
- (0, abort_1.throwIfAborted)(signal);
92
- if (node.isObjectClientNodeDirectTarget?.((0, routing_id_1.toBackendRoutingId)(targetNodeRid)) === true) {
93
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound, `MeshNode '${meshName}' target '${targetNodeRid}' is an Object Client.`);
97
+ const correlationId = (0, channel_envelope_1.newChannelCorrelationId)();
98
+ try {
99
+ (0, abort_1.throwIfAborted)(signal);
100
+ if (node.isObjectClientNodeDirectTarget?.((0, routing_id_1.toBackendRoutingId)(targetNodeRid)) === true) {
101
+ throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound, `MeshNode '${meshName}' target '${targetNodeRid}' is an Object Client.`);
102
+ }
103
+ const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, packetName, request, timeoutMs ?? Registration_1.DEFAULT_REQUEST_TIMEOUT_MS, metadata, correlationId);
104
+ const completion = await this.submitRequestOperation(meshName, timeoutMs, signal, `MeshNode '${meshName}' request to node '${targetNodeRid}'`, (remainingTimeoutMs) => {
105
+ const operationId = node.requestToNode((0, routing_id_1.toBackendRoutingId)(targetNodeRid), parts, {
106
+ flags: 1,
107
+ timeoutMs: remainingTimeoutMs
108
+ });
109
+ this.traceNodeRequest(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Sent, undefined, meshName, targetNodeRid, packetName, correlationId);
110
+ return operationId;
111
+ });
112
+ const reply = this.decodeMeshReply(meshName, completion);
113
+ this.traceNodeRequest(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.ReplyReceived, 'succeeded', meshName, targetNodeRid, packetName, correlationId);
114
+ return reply;
115
+ }
116
+ catch (error) {
117
+ if (!(0, channel_outbound_operations_1.isRemoteChannelErrorReply)(error)) {
118
+ this.traceNodeRequest(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.ReplyReceived, (0, channel_outbound_operations_1.requestTerminalResult)(error, signal), meshName, targetNodeRid, packetName, correlationId, error);
119
+ }
120
+ throw error;
94
121
  }
95
- const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, packetName, request, timeoutMs ?? 30_000, metadata);
96
- const completion = await this.submitRequestOperation(meshName, timeoutMs, signal, `MeshNode '${meshName}' request to node '${targetNodeRid}'`, (remainingTimeoutMs) => node.requestToNode((0, routing_id_1.toBackendRoutingId)(targetNodeRid), parts, {
97
- flags: 1,
98
- timeoutMs: remainingTimeoutMs
99
- }));
100
- return this.decodeMeshReply(meshName, completion);
122
+ }
123
+ traceNodeRequest(outcome, result, meshName, targetRid, packetName, correlationId, error) {
124
+ if (!this.flowCreationEnabled())
125
+ return;
126
+ (0, diagnostics_1.flowIfEnabled)(this.outboundFlow(), outcome, result)?.trace({
127
+ outcome,
128
+ result,
129
+ surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.Node,
130
+ messageKind: ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request,
131
+ meshName,
132
+ targetRid,
133
+ packetName,
134
+ correlationId,
135
+ ...(error instanceof Error ? { errorType: error.name, errorMessage: error.message } : {})
136
+ });
101
137
  }
102
138
  submitToChannel(meshName, channelName, packetName, message, signal, metadata) {
103
139
  return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitToChannelScoped(meshName, channelName, packetName, message, signal, metadata));
@@ -124,7 +160,7 @@ class ZLinkRuntimeRouteTransport {
124
160
  async requestToChannelScoped(meshName, channelName, packetName, request, timeoutMs, signal, metadata) {
125
161
  (0, abort_1.throwIfAborted)(signal);
126
162
  const node = this.requireMeshNode(meshName);
127
- const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, channelName, packetName, request, timeoutMs ?? 30_000, metadata);
163
+ const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, channelName, packetName, request, timeoutMs ?? Registration_1.DEFAULT_REQUEST_TIMEOUT_MS, metadata);
128
164
  const metric = this.metrics?.startRequest(meshName, 'channel');
129
165
  try {
130
166
  const completion = await this.submitRequestOperation(meshName, timeoutMs, signal, `MeshNode '${meshName}' request to channel '${channelName}'`, (remainingTimeoutMs) => node.requestToChannel(channelName, parts, { flags: 1, timeoutMs: remainingTimeoutMs }));
@@ -141,7 +177,7 @@ class ZLinkRuntimeRouteTransport {
141
177
  }
142
178
  }
143
179
  async submitRequestOperation(meshName, timeoutMs, signal, operation, attempt) {
144
- const effectiveTimeoutMs = Math.max(1, timeoutMs ?? 30_000);
180
+ const effectiveTimeoutMs = Math.max(1, timeoutMs ?? Registration_1.DEFAULT_REQUEST_TIMEOUT_MS);
145
181
  const deadlineMs = performance.now() + effectiveTimeoutMs;
146
182
  const remainingTimeoutMs = deadlineMs - performance.now();
147
183
  if (remainingTimeoutMs <= 0) {
@@ -171,7 +207,7 @@ class ZLinkRuntimeRouteTransport {
171
207
  try {
172
208
  const encoded = this.encodeMessage(3 /* ZLinkChannelMessageKind.Command */, spotRouteTarget.routerChannelId, options.packetName, message, undefined, options.metadata);
173
209
  if (spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance) {
174
- return mapMeshSubmitResult(await node.sendToInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, undefined, options.metadata));
210
+ return mapMeshSubmitResult(await node.sendToInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, undefined, options.metadata, options.instanceSpot));
175
211
  }
176
212
  return mapMeshSubmitResult(await node
177
213
  .entrySpot()
@@ -206,7 +242,7 @@ class ZLinkRuntimeRouteTransport {
206
242
  try {
207
243
  const encoded = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, options.packetName, request, options.timeoutMs, options.metadata);
208
244
  completionPromise = this.completionTable(meshName).submit(() => spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance
209
- ? node.requestInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, options.timeoutMs, undefined, options.metadata)
245
+ ? node.requestInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, options.timeoutMs, undefined, options.metadata, options.instanceSpot)
210
246
  : node
211
247
  .entrySpot()
212
248
  .requestToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, encoded, {
@@ -311,8 +347,8 @@ class ZLinkRuntimeRouteTransport {
311
347
  }
312
348
  return table;
313
349
  }
314
- encodeMessage(kind, channelName, packetName, message, timeoutMs, metadata) {
315
- return (0, channel_envelope_1.encodeChannelEnvelopeParts)(kind, channelName, packetName, message, timeoutMs, undefined, this.codecs, undefined, this.flowCreationEnabled(), metadata);
350
+ encodeMessage(kind, channelName, packetName, message, timeoutMs, metadata, correlationId) {
351
+ return (0, channel_envelope_1.encodeChannelEnvelopeParts)(kind, channelName, packetName, message, timeoutMs, undefined, this.codecs, correlationId, this.flowCreationEnabled(), metadata);
316
352
  }
317
353
  async waitForMeshReply(meshName, completionPromise) {
318
354
  const completion = await completionPromise;
@@ -344,7 +380,7 @@ function directSpotRouteFence(target) {
344
380
  target.targetOwnerId === undefined ||
345
381
  target.ownerLeaseGeneration === undefined ||
346
382
  target.authorityStoreVersion === undefined) {
347
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotRouteNotFound, `Spot '${String(target.spotId)}' has no complete Ready authority fence.`);
383
+ throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `Spot '${String(target.spotId)}' has no complete Ready authority fence.`);
348
384
  }
349
385
  return {
350
386
  spot: {
@@ -379,21 +415,7 @@ function instanceSpotRouteFence(target) {
379
415
  };
380
416
  }
381
417
  function mapMeshSubmitResult(result) {
382
- switch (result) {
383
- case runtime_values_1.SubmitResult.Ok:
384
- return { status: submission_result_1.ZLinkSubmitStatus.Submitted };
385
- case runtime_values_1.SubmitResult.Backpressured:
386
- case runtime_values_1.SubmitResult.NotAdmitted:
387
- return { status: submission_result_1.ZLinkSubmitStatus.Backpressured };
388
- case runtime_values_1.SubmitResult.NotFound:
389
- return { status: submission_result_1.ZLinkSubmitStatus.TargetNotFound };
390
- case runtime_values_1.SubmitResult.NotConnected:
391
- return { status: submission_result_1.ZLinkSubmitStatus.RouteNotConnected };
392
- case runtime_values_1.SubmitResult.Terminated:
393
- return { status: submission_result_1.ZLinkSubmitStatus.Shutdown };
394
- default:
395
- throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestFailed, `Mesh submission failed with result ${result}.`);
396
- }
418
+ return (0, submission_result_1.classifySubmitResult)(result, 'Mesh submission');
397
419
  }
398
420
  function mapMeshSubmissionError(error, operation) {
399
421
  if (error instanceof contracts_1.ZLinkFrameworkException) {
@@ -408,14 +430,13 @@ function mapMeshSubmissionError(error, operation) {
408
430
  return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotGenerationStale, `${operation} received a stale Spot authority fence: ${error.message}`, true, error);
409
431
  }
410
432
  if ((0, runtime_values_1.isZLinkBackendResultError)(error)) {
411
- const notFound = error.result === runtime_values_1.SubmitResult.NotFound || error.result === 102;
412
- const retriable = error.result === runtime_values_1.SubmitResult.Backpressured ||
413
- error.result === runtime_values_1.SubmitResult.NotConnected ||
414
- error.result === 109 ||
415
- error.result === 113;
416
- return (0, framework_errors_internal_1.createInternalFrameworkException)(notFound
417
- ? framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound
418
- : framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `${operation} failed with result ${error.result}.`, retriable, error);
433
+ const terminal = error.operation === 'request'
434
+ ? error.result
435
+ : (0, submission_result_1.submitToRequestResult)(error.result, error.phase);
436
+ if (terminal === runtime_values_1.RequestResult.NotFound) {
437
+ return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound, `${operation} failed with result ${error.result}.`, false, error);
438
+ }
439
+ return new contracts_1.ZLinkFrameworkException((0, framework_errors_internal_1.requestResultToPublicErrorKind)(terminal), `${operation} failed with result ${error.result}.`, error);
419
440
  }
420
441
  return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `${operation} failed before native submission completed: ${error instanceof Error ? error.message : String(error)}`, true, error);
421
442
  }
@@ -1,6 +1,6 @@
1
1
  import { type ZLinkClientServerServerDescriptor } from '../../contracts/Locations';
2
2
  import { type ZLinkLocationOptionOverrides } from '../../contracts/Locations/Options';
3
- import type { ZLinkFrameworkRegistration } from '../configuration';
3
+ import { type ZLinkFrameworkRegistration } from '../configuration';
4
4
  import type { ZLinkLocationRuntime, ZLinkLocationRuntimeStores } from '../locations';
5
5
  import { ZLinkChannelSocketRegistry } from './channel-socket-registry';
6
6
  /**
@@ -1,14 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkClientServerLocationRuntime = void 0;
4
+ const RegistrationBuilderPolicy_1 = require("../../contracts/Configuration/RegistrationBuilderPolicy");
4
5
  const Locations_1 = require("../../contracts/Locations");
5
6
  const Options_1 = require("../../contracts/Locations/Options");
6
- const configuration_1 = require("../configuration");
7
+ const Stores_1 = require("../../contracts/Locations/Stores");
7
8
  const runtime_message_1 = require("../backend/runtime-message");
8
- const client_server_service_wire_1 = require("./client-server-service-wire");
9
- const runtime_state_projections_1 = require("../foundation/runtime-state-projections");
10
- const state_lane_1 = require("../execution/state-lane");
11
9
  const runtime_values_1 = require("../backend/runtime-values");
10
+ const configuration_1 = require("../configuration");
11
+ const state_lane_1 = require("../execution/state-lane");
12
+ const runtime_state_projections_1 = require("../foundation/runtime-state-projections");
13
+ const client_server_service_wire_1 = require("./client-server-service-wire");
12
14
  /**
13
15
  * Owns the dedicated ClientServer discovery domain. It never converts these
14
16
  * descriptors into RouteMesh peer rows.
@@ -129,7 +131,7 @@ class ZLinkClientServerLocationRuntime {
129
131
  lifecycleGeneration: identity.lifecycleGeneration,
130
132
  descriptorRevision: 1n,
131
133
  endpoint: identity.endpoint,
132
- weight: channel.server.weight ?? 100,
134
+ weight: channel.server.weight ?? RegistrationBuilderPolicy_1.ZLINK_DEFAULT_PUBLIC_WEIGHT,
133
135
  state: Locations_1.ZLinkFrameworkRuntimeState.Serving,
134
136
  securityIdentity: 'default',
135
137
  ownerId: owner.ownerId,
@@ -193,7 +195,7 @@ class ZLinkClientServerLocationRuntime {
193
195
  const rows = [];
194
196
  let continuationToken;
195
197
  do {
196
- const page = await this.store.listClientServers(channelName, { pageSize: 1000, continuationToken }, signal);
198
+ const page = await this.store.listClientServers(channelName, { pageSize: Stores_1.ZLINK_PROVIDER_MAX_PAGE_SIZE, continuationToken }, signal);
197
199
  rows.push(...page.items);
198
200
  continuationToken = page.continuationToken;
199
201
  } while (continuationToken !== undefined);
@@ -405,7 +407,7 @@ function sameDescriptor(left, right) {
405
407
  left.ownerId === right.ownerId &&
406
408
  left.leaseGeneration === right.leaseGeneration);
407
409
  }
408
- function toDiscoveryDescriptor(descriptor, effectiveMaxMessageBytes = 0x7fff_ffff) {
410
+ function toDiscoveryDescriptor(descriptor, effectiveMaxMessageBytes = client_server_service_wire_1.DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT) {
409
411
  return {
410
412
  channelName: descriptor.channelName,
411
413
  serverRoutingId: String(descriptor.serverRid),
@@ -422,7 +424,7 @@ function requestAdmission(dealer, descriptor, timeoutMs) {
422
424
  const message = runtime_message_1.ZLinkBufferMessage.from((0, client_server_service_wire_1.encodeClientServerHello)({
423
425
  channelName: descriptor.channelName,
424
426
  securityIdentity: descriptor.securityIdentity,
425
- normalizedEffectiveMaxMessageBytes: normalizedMessageLimit(dealer.maxMessageSize)
427
+ normalizedEffectiveMaxMessageBytes: (0, client_server_service_wire_1.normalizeClientServerMessageLimit)(dealer.maxMessageSize)
426
428
  }));
427
429
  return dealer.request(message, timeoutMs).then((parts) => {
428
430
  try {
@@ -464,6 +466,3 @@ function closeMessages(parts) {
464
466
  for (const part of parts)
465
467
  part.close();
466
468
  }
467
- function normalizedMessageLimit(value) {
468
- return Number.isSafeInteger(value) && value > 0 ? Math.min(value, 0xffff_ffff) : 0x7fff_ffff;
469
- }
@@ -1,5 +1,10 @@
1
- import type { ZLinkClientServerServerDescriptor } from '../../contracts/Locations';
2
- import { ZLinkFrameworkRuntimeState } from '../../contracts/Locations';
1
+ import { type ZLinkClientServerServerDescriptor, ZLinkFrameworkRuntimeState } from '../../contracts/Locations';
2
+ export declare const DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT = 2147483647;
3
+ export declare function normalizeClientServerMessageLimit(value: number): number;
4
+ export declare enum ClientServerRejectReason {
5
+ ProtocolVersionUnsupported = 1,
6
+ AdmissionMismatch = 3
7
+ }
3
8
  export interface ZLinkClientServerHello {
4
9
  readonly channelName: string;
5
10
  readonly securityIdentity: string;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZLinkClientServerServiceWireError = void 0;
3
+ exports.ZLinkClientServerServiceWireError = exports.ClientServerRejectReason = exports.DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT = void 0;
4
+ exports.normalizeClientServerMessageLimit = normalizeClientServerMessageLimit;
4
5
  exports.encodeClientServerHello = encodeClientServerHello;
5
6
  exports.encodeClientServerAdmit = encodeClientServerAdmit;
6
7
  exports.encodeClientServerUpdate = encodeClientServerUpdate;
@@ -9,12 +10,29 @@ exports.encodeClientServerLivenessProbe = encodeClientServerLivenessProbe;
9
10
  exports.encodeClientServerLivenessAck = encodeClientServerLivenessAck;
10
11
  exports.isClientServerControlFrame = isClientServerControlFrame;
11
12
  exports.decodeClientServerControl = decodeClientServerControl;
13
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
14
+ const EndpointNotation_1 = require("../../contracts/Configuration/EndpointNotation");
15
+ const RegistrationBuilderPolicy_1 = require("../../contracts/Configuration/RegistrationBuilderPolicy");
12
16
  const Locations_1 = require("../../contracts/Locations");
13
17
  const service_wire_binary_primitives_1 = require("../foundation/service-wire-binary-primitives");
14
- const EndpointNotation_1 = require("../../contracts/Configuration/EndpointNotation");
15
- const MAGIC_0 = 0x5a;
16
- const MAGIC_1 = 0x4d;
17
- const WIRE_MAJOR = 1;
18
+ const service_wire_constants_generated_1 = require("../foundation/service-wire-constants.generated");
19
+ exports.DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT = 0x7fff_ffff;
20
+ function normalizeClientServerMessageLimit(value) {
21
+ return Number.isSafeInteger(value) && value > 0
22
+ ? Math.min(value, stream_wire_1.UINT32_MAX)
23
+ : exports.DEFAULT_CLIENT_SERVER_MESSAGE_LIMIT;
24
+ }
25
+ const CLIENT_SERVER_PREFIX_BYTES = 5;
26
+ const CLIENT_SERVER_ROLE_BODY_MAX_BYTES = 0xffff;
27
+ const CLIENT_SERVER_TEXT_MAX_BYTES = 4096;
28
+ var ClientServerRejectReason;
29
+ (function (ClientServerRejectReason) {
30
+ ClientServerRejectReason[ClientServerRejectReason["ProtocolVersionUnsupported"] = 1] = "ProtocolVersionUnsupported";
31
+ ClientServerRejectReason[ClientServerRejectReason["AdmissionMismatch"] = 3] = "AdmissionMismatch";
32
+ })(ClientServerRejectReason || (exports.ClientServerRejectReason = ClientServerRejectReason = {}));
33
+ const MAGIC_0 = service_wire_constants_generated_1.SERVICE_WIRE_MAGIC[0];
34
+ const MAGIC_1 = service_wire_constants_generated_1.SERVICE_WIRE_MAGIC[1];
35
+ const WIRE_MAJOR = service_wire_constants_generated_1.SERVICE_WIRE_MAJOR;
18
36
  const TOPOLOGY_CLIENT_SERVER = 2;
19
37
  const ROLE_CLIENT = 1;
20
38
  const ROLE_SERVER = 2;
@@ -26,7 +44,7 @@ const COMMAND_UPDATE = 4;
26
44
  const COMMAND_LIVENESS_PROBE = 5;
27
45
  const COMMAND_LIVENESS_ACK = 6;
28
46
  const MAX_DESCRIPTOR_BYTES = 1024 * 1024;
29
- const MAX_U32 = 0xffff_ffff;
47
+ const MAX_U32 = stream_wire_1.UINT32_MAX;
30
48
  const MAX_GENERATION = 0x7fffffffffffffffn;
31
49
  class ZLinkClientServerServiceWireError extends Error {
32
50
  constructor(message) {
@@ -58,7 +76,10 @@ function encodeClientServerLivenessAck(probeId) {
58
76
  return encodeLiveness(COMMAND_LIVENESS_ACK, probeId);
59
77
  }
60
78
  function isClientServerControlFrame(frame) {
61
- return (frame.byteLength >= 5 && frame[0] === MAGIC_0 && frame[1] === MAGIC_1 && frame[2] === WIRE_MAJOR);
79
+ return (frame.byteLength >= CLIENT_SERVER_PREFIX_BYTES &&
80
+ frame[0] === MAGIC_0 &&
81
+ frame[1] === MAGIC_1 &&
82
+ frame[2] === WIRE_MAJOR);
62
83
  }
63
84
  function decodeClientServerControl(frame) {
64
85
  if (frame.byteLength > MAX_DESCRIPTOR_BYTES)
@@ -121,7 +142,7 @@ function encodeServerAdmission(command, descriptor, normalizedEffectiveMaxMessag
121
142
  return encodeAdmission(command, ROLE_SERVER, roleBody);
122
143
  }
123
144
  function encodeAdmission(command, role, roleBody) {
124
- if (roleBody.byteLength > 0xffff)
145
+ if (roleBody.byteLength > CLIENT_SERVER_ROLE_BODY_MAX_BYTES)
125
146
  fail('ClientServer role body is oversized.');
126
147
  const admission = concat(Buffer.of(role), encodeU16(roleBody.byteLength), roleBody);
127
148
  const result = concat(prefix(command), Buffer.of(TOPOLOGY_CLIENT_SERVER), encodeU32(admission.byteLength), admission);
@@ -149,7 +170,7 @@ function decodeServerAdmission(reader) {
149
170
  const lifecycleGeneration = reader.nonZeroU64('lifecycleGeneration');
150
171
  const descriptorRevision = reader.nonZeroU64('descriptorRevision');
151
172
  const weight = reader.u32('weight');
152
- if (weight > 10_000)
173
+ if (!(0, RegistrationBuilderPolicy_1.isValidPublicWeight)(weight))
153
174
  fail('ClientServer weight is invalid.');
154
175
  return {
155
176
  channelName,
@@ -196,7 +217,7 @@ function encodeText8(value, field) {
196
217
  return concat(Buffer.of(bytes.byteLength), bytes);
197
218
  }
198
219
  function encodeText16(value, field) {
199
- const bytes = (0, service_wire_binary_primitives_1.encodeCanonicalServiceWireText)(value, field, 4096, fail);
220
+ const bytes = (0, service_wire_binary_primitives_1.encodeCanonicalServiceWireText)(value, field, CLIENT_SERVER_TEXT_MAX_BYTES, fail);
200
221
  return concat(encodeU16(bytes.byteLength), bytes);
201
222
  }
202
223
  function runtimeStateToWire(value) {
@@ -295,7 +316,7 @@ class Reader {
295
316
  }
296
317
  text16(field) {
297
318
  const length = this.u16(`${field}.length`);
298
- if (length < 1 || length > 4096)
319
+ if (length < 1 || length > CLIENT_SERVER_TEXT_MAX_BYTES)
299
320
  fail(`${field} length is invalid.`);
300
321
  return decodeText(this.bytes(length, field), field);
301
322
  }
@@ -1,6 +1,5 @@
1
1
  import { type ZLinkDispatchFailure } from '../../contracts/Dispatch/ZLinkDispatchOptions';
2
- import type { ZLinkRuntimeMetrics } from '../diagnostics';
3
- import { ZLinkMessageFlowTracer, type ZLinkDiagnosticsContext } from '../diagnostics';
2
+ import { type ZLinkRuntimeMetrics, ZLinkMessageFlowTracer, type ZLinkDiagnosticsContext } from '../diagnostics';
4
3
  import type { ZLinkDispatchErrorSink } from '../diagnostics/dispatch-error-port';
5
4
  export type { ZLinkDispatchErrorSink } from '../diagnostics/dispatch-error-port';
6
5
  type ZLinkRuntimeDispatchFailure = ZLinkDispatchFailure & {
@@ -4,6 +4,7 @@ exports.ZLinkDispatchErrorReporter = void 0;
4
4
  const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
5
5
  const diagnostics_1 = require("../diagnostics");
6
6
  const dispatch_error_details_1 = require("../diagnostics/dispatch-error-details");
7
+ const runtime_metrics_1 = require("../diagnostics/runtime-metrics");
7
8
  class ZLinkDispatchErrorReporter {
8
9
  metrics;
9
10
  reportedEvents = 0;
@@ -26,7 +27,7 @@ class ZLinkDispatchErrorReporter {
26
27
  const normalized = normalizeDispatchFailure(event);
27
28
  const dropReason = channelDropReason(normalized);
28
29
  if (dropReason !== undefined) {
29
- this.metrics?.count('zlink.mesh_node.messages.dropped', 1, {
30
+ this.metrics?.count(runtime_metrics_1.METRIC_NAMES.MeshNodeMessagesDropped, 1, {
30
31
  surface: normalized.surface,
31
32
  message_kind: normalized.messageKind,
32
33
  reason: dropReason
@@ -1,8 +1,8 @@
1
1
  import { type ZLinkFanoutPublisherDescriptor } from '../../contracts/Locations';
2
2
  import { type ZLinkLocationOptionOverrides } from '../../contracts/Locations/Options';
3
- import type { ZLinkFrameworkRegistration } from '../configuration';
4
- import type { ZLinkLocationRuntime, ZLinkLocationRuntimeStores } from '../locations';
5
3
  import type { ZLinkBackendSubscriberSocket } from '../backend/contracts';
4
+ import { type ZLinkFrameworkRegistration } from '../configuration';
5
+ import type { ZLinkLocationRuntime, ZLinkLocationRuntimeStores } from '../locations';
6
6
  import { ZLinkChannelSocketRegistry } from './channel-socket-registry';
7
7
  export declare class ZLinkFanoutLocationRuntime {
8
8
  private readonly registration;
@@ -15,7 +15,7 @@ export declare class ZLinkFanoutLocationRuntime {
15
15
  private readonly store;
16
16
  private readonly localDescriptors;
17
17
  private readonly publisherIdentities;
18
- private readonly connections;
18
+ private readonly targets;
19
19
  private controller?;
20
20
  private timer?;
21
21
  constructor(registration: ZLinkFrameworkRegistration, sockets: ZLinkChannelSocketRegistry, locationRuntime: ZLinkLocationRuntime, stores: ZLinkLocationRuntimeStores, options: ZLinkLocationOptionOverrides, onSubscriberOpened: (channelName: string, connectionId: string, subscriber: ZLinkBackendSubscriberSocket) => () => Promise<void>);
@@ -24,11 +24,24 @@ export declare class ZLinkFanoutLocationRuntime {
24
24
  private tickCore;
25
25
  stop(signal?: AbortSignal): Promise<void>;
26
26
  activeTargets(channelName: string): readonly ZLinkFanoutPublisherDescriptor[];
27
+ topologyTargets(channelName: string): {
28
+ channelName: string;
29
+ publisherRoutingId: string;
30
+ lifecycleGeneration: bigint;
31
+ descriptorRevision: bigint;
32
+ advertisedEndpoint: string;
33
+ state: "error" | "preparing" | "serving" | "retiring" | "stopped";
34
+ }[] | undefined;
35
+ private isAutomaticSubscriber;
27
36
  reclaimOwnerRows(signal?: AbortSignal): Promise<void>;
28
37
  private publishLocalPublishers;
29
38
  private reconcileSubscribers;
39
+ private reconcileConnection;
30
40
  private openConnection;
41
+ private removeTarget;
31
42
  private closeConnection;
43
+ private detachConnection;
44
+ private closeDetachedConnection;
32
45
  private replaceConnection;
33
46
  private listLivePublishers;
34
47
  private storeOwnerLease;