@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,14 +1,16 @@
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
- send(channelName: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
13
+ send(channelName: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
12
14
  request<TReply>(channelName: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
13
15
  tryPublish?(channelName: string, topic: string, packetName: string | undefined, event: unknown, metadata?: ReadonlyMap<string, string>): ZLinkSubmitResult;
14
16
  publish(channelName: string, topic: string, packetName: string | undefined, event: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): ZLinkSubmitResult | Promise<ZLinkSubmitResult>;
@@ -19,14 +21,12 @@ export interface ZLinkSpotPublisherClientTransport {
19
21
  publish(meshName: string, channelName: string, topic: string, packetName: string | undefined, event: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): ZLinkSubmitResult | Promise<ZLinkSubmitResult>;
20
22
  }
21
23
  export interface ZLinkRouteClientTransport {
22
- submit(routerChannelId: string, targetNodeRid: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
24
+ submit(routerChannelId: string, targetNodeRid: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
23
25
  request<TReply>(routerChannelId: string, targetNodeRid: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
24
- submitToChannel(meshName: string, channelName: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
26
+ submitToChannel(meshName: string, channelName: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): void | ZLinkSubmitResult | Promise<void | ZLinkSubmitResult>;
25
27
  requestToChannel<TReply>(meshName: string, channelName: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
26
28
  sendToSpot?(spotRouteTarget: ZLinkSpotRouteTarget, message: unknown, options: {
27
29
  readonly packetName?: string;
28
- readonly timeoutMs?: number;
29
- readonly signal?: AbortSignal;
30
30
  readonly metadata?: ReadonlyMap<string, string>;
31
31
  }): Promise<ZLinkSubmitResult>;
32
32
  requestToSpot?<TReply = unknown>(spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: {
@@ -37,16 +37,16 @@ export interface ZLinkRouteClientTransport {
37
37
  }): Promise<TReply>;
38
38
  }
39
39
  interface ZLinkChannelTransportRuntime {
40
- send(channelName: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
40
+ send(channelName: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
41
41
  request<TReply>(channelName: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
42
42
  tryPublish(channelName: string, topic: string, packetName: string | undefined, event: unknown, metadata?: ReadonlyMap<string, string>): ZLinkSubmitResult;
43
43
  publish(channelName: string, topic: string, packetName: string | undefined, event: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
44
44
  canRouteChannel(routerChannelId: string): boolean;
45
45
  canRoutePacketChannel(routerChannelId: string): boolean;
46
- routeSubmit(routerChannelId: string, targetNodeRid: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
46
+ routeSubmit(routerChannelId: string, targetNodeRid: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
47
47
  routeRequest<TReply>(routerChannelId: string, targetNodeRid: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
48
- routeSendToSpot(spotRouteTarget: ZLinkSpotRouteTarget, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>, timeoutMs?: number): Promise<void>;
49
- routeSendFromSpotToSpot(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>, timeoutMs?: number): Promise<void>;
48
+ routeSendToSpot(spotRouteTarget: ZLinkSpotRouteTarget, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<void>;
49
+ routeSendFromSpotToSpot(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<void>;
50
50
  routeRequestToSpot<TReply>(spotRouteTarget: ZLinkSpotRouteTarget, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
51
51
  routeRequestFromSpotToSpot<TReply>(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal): Promise<TReply>;
52
52
  routeRequestRawFromSpotToSpot(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, request: Message, timeoutMs: number | undefined, signal?: AbortSignal): Promise<readonly Message[]>;
@@ -61,41 +61,31 @@ export declare class ZLinkRuntimeRouteTransport implements ZLinkRouteClientTrans
61
61
  private readonly localNodeSubmit?;
62
62
  private readonly metrics?;
63
63
  private readonly flowCreationEnabled;
64
+ private readonly outboundFlow;
64
65
  constructor(manager: () => ZLinkChannelTransportRuntime | undefined, routeChannelPredicate?: ((routerChannelId: string) => boolean) | undefined, meshRuntime?: (() => {
65
66
  readonly meshNode: (meshName: string) => ZLinkBackendMeshNode | undefined;
66
67
  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);
68
+ } | 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
69
  canRouteChannel(routerChannelId: string): boolean;
69
70
  canRoutePacketChannel(routerChannelId: string): boolean;
70
- submit(meshName: string, targetNodeRid: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
71
- submitInfrastructure(meshName: string, targetNodeRid: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
71
+ submit(meshName: string, targetNodeRid: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
72
+ submitInfrastructure(meshName: string, targetNodeRid: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
72
73
  private submitNode;
73
74
  request<TReply>(meshName: string, targetNodeRid: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
74
75
  private requestScoped;
75
- submitToChannel(meshName: string, channelName: string, packetName: string | undefined, message: unknown, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
76
+ private traceNodeRequest;
77
+ submitToChannel(meshName: string, channelName: string, packetName: string | undefined, message: unknown, metadata?: ReadonlyMap<string, string>): Promise<ZLinkSubmitResult>;
76
78
  private submitToChannelScoped;
77
79
  requestToChannel<TReply>(meshName: string, channelName: string, packetName: string | undefined, request: unknown, timeoutMs: number | undefined, signal?: AbortSignal, metadata?: ReadonlyMap<string, string>): Promise<TReply>;
78
80
  private requestToChannelScoped;
79
81
  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>;
82
+ sendToSpot(spotRouteTarget: ZLinkSpotRouteTarget, message: unknown, options: ZLinkSpotRoutedSendOptions): Promise<ZLinkSubmitResult>;
86
83
  private sendToSpotScoped;
87
84
  sendFromSpotToSpot(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, message: unknown, options: {
88
85
  readonly packetName?: string;
89
- readonly timeoutMs?: number;
90
- readonly signal?: AbortSignal;
91
86
  readonly metadata?: ReadonlyMap<string, string>;
92
87
  }): 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>;
88
+ requestToSpot<TReply = unknown>(spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: ZLinkSpotRoutedRequestOptions): Promise<TReply>;
99
89
  private requestToSpotScoped;
100
90
  requestFromSpotToSpot<TReply = unknown>(sourceSpot: ZLinkBackendSpot, spotRouteTarget: ZLinkSpotRouteTarget, request: unknown, options: {
101
91
  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();
@@ -46,20 +52,19 @@ class ZLinkRuntimeRouteTransport {
46
52
  this.routeChannelPredicate?.(routerChannelId) ??
47
53
  false);
48
54
  }
49
- async submit(meshName, targetNodeRid, packetName, message, signal, metadata) {
55
+ async submit(meshName, targetNodeRid, packetName, message, metadata) {
50
56
  // Call-scoped flow (spec 27 §4): the envelope flow pair lives only for
51
57
  // the duration of this outbound call, never in the caller's context.
52
- return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitNode(meshName, targetNodeRid, packetName, message, signal, metadata, false));
58
+ return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitNode(meshName, targetNodeRid, packetName, message, metadata, false));
53
59
  }
54
- async submitInfrastructure(meshName, targetNodeRid, packetName, message, signal, metadata) {
55
- return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitNode(meshName, targetNodeRid, packetName, message, signal, metadata, true));
60
+ async submitInfrastructure(meshName, targetNodeRid, packetName, message, metadata) {
61
+ return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitNode(meshName, targetNodeRid, packetName, message, metadata, true));
56
62
  }
57
- async submitNode(meshName, targetNodeRid, packetName, message, signal, metadata, allowObjectClientTarget) {
63
+ async submitNode(meshName, targetNodeRid, packetName, message, metadata, allowObjectClientTarget) {
58
64
  const node = this.meshNode(meshName);
59
65
  if (node === undefined) {
60
- return this.requireManager().routeSubmit(meshName, targetNodeRid, packetName, message, signal, metadata);
66
+ return this.requireManager().routeSubmit(meshName, targetNodeRid, packetName, message, metadata);
61
67
  }
62
- (0, abort_1.throwIfAborted)(signal);
63
68
  if (!allowObjectClientTarget &&
64
69
  node.isObjectClientNodeDirectTarget?.((0, routing_id_1.toBackendRoutingId)(targetNodeRid)) === true) {
65
70
  return { status: submission_result_1.ZLinkSubmitStatus.TargetNotFound };
@@ -88,22 +93,51 @@ class ZLinkRuntimeRouteTransport {
88
93
  if (node === undefined) {
89
94
  return this.requireManager().routeRequest(meshName, targetNodeRid, packetName, request, timeoutMs, signal, metadata);
90
95
  }
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.`);
96
+ const correlationId = (0, channel_envelope_1.newChannelCorrelationId)();
97
+ try {
98
+ (0, abort_1.throwIfAborted)(signal);
99
+ if (node.isObjectClientNodeDirectTarget?.((0, routing_id_1.toBackendRoutingId)(targetNodeRid)) === true) {
100
+ throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound, `MeshNode '${meshName}' target '${targetNodeRid}' is an Object Client.`);
101
+ }
102
+ const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, packetName, request, timeoutMs ?? Registration_1.DEFAULT_REQUEST_TIMEOUT_MS, metadata, correlationId);
103
+ const completion = await this.submitRequestOperation(meshName, timeoutMs, signal, `MeshNode '${meshName}' request to node '${targetNodeRid}'`, (remainingTimeoutMs) => {
104
+ const operationId = node.requestToNode((0, routing_id_1.toBackendRoutingId)(targetNodeRid), parts, {
105
+ flags: 1,
106
+ timeoutMs: remainingTimeoutMs
107
+ });
108
+ this.traceNodeRequest(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Sent, undefined, meshName, targetNodeRid, packetName, correlationId);
109
+ return operationId;
110
+ });
111
+ const reply = this.decodeMeshReply(meshName, completion);
112
+ this.traceNodeRequest(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.ReplyReceived, 'succeeded', meshName, targetNodeRid, packetName, correlationId);
113
+ return reply;
114
+ }
115
+ catch (error) {
116
+ if (!(0, channel_outbound_operations_1.isRemoteChannelErrorReply)(error)) {
117
+ this.traceNodeRequest(ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.ReplyReceived, (0, channel_outbound_operations_1.requestTerminalResult)(error, signal), meshName, targetNodeRid, packetName, correlationId, error);
118
+ }
119
+ throw error;
94
120
  }
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);
101
- }
102
- submitToChannel(meshName, channelName, packetName, message, signal, metadata) {
103
- return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitToChannelScoped(meshName, channelName, packetName, message, signal, metadata));
104
121
  }
105
- async submitToChannelScoped(meshName, channelName, packetName, message, signal, metadata) {
106
- (0, abort_1.throwIfAborted)(signal);
122
+ traceNodeRequest(outcome, result, meshName, targetRid, packetName, correlationId, error) {
123
+ if (!this.flowCreationEnabled())
124
+ return;
125
+ (0, diagnostics_1.flowIfEnabled)(this.outboundFlow(), outcome, result)?.trace({
126
+ outcome,
127
+ result,
128
+ surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.Node,
129
+ messageKind: ZLinkDispatchOptions_1.ZLinkDispatchMessageKind.Request,
130
+ meshName,
131
+ targetRid,
132
+ packetName,
133
+ correlationId,
134
+ ...(error instanceof Error ? { errorType: error.name, errorMessage: error.message } : {})
135
+ });
136
+ }
137
+ submitToChannel(meshName, channelName, packetName, message, metadata) {
138
+ return (0, flow_context_1.runWithOutboundFlow)(this.flowCreationEnabled(), () => this.submitToChannelScoped(meshName, channelName, packetName, message, metadata));
139
+ }
140
+ async submitToChannelScoped(meshName, channelName, packetName, message, metadata) {
107
141
  const node = this.requireMeshNode(meshName);
108
142
  const parts = this.encodeMessage(3 /* ZLinkChannelMessageKind.Command */, channelName, packetName, message, undefined, metadata);
109
143
  const operation = `MeshNode '${meshName}' send to channel '${channelName}'`;
@@ -124,7 +158,7 @@ class ZLinkRuntimeRouteTransport {
124
158
  async requestToChannelScoped(meshName, channelName, packetName, request, timeoutMs, signal, metadata) {
125
159
  (0, abort_1.throwIfAborted)(signal);
126
160
  const node = this.requireMeshNode(meshName);
127
- const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, channelName, packetName, request, timeoutMs ?? 30_000, metadata);
161
+ const parts = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, channelName, packetName, request, timeoutMs ?? Registration_1.DEFAULT_REQUEST_TIMEOUT_MS, metadata);
128
162
  const metric = this.metrics?.startRequest(meshName, 'channel');
129
163
  try {
130
164
  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 +175,7 @@ class ZLinkRuntimeRouteTransport {
141
175
  }
142
176
  }
143
177
  async submitRequestOperation(meshName, timeoutMs, signal, operation, attempt) {
144
- const effectiveTimeoutMs = Math.max(1, timeoutMs ?? 30_000);
178
+ const effectiveTimeoutMs = Math.max(1, timeoutMs ?? Registration_1.DEFAULT_REQUEST_TIMEOUT_MS);
145
179
  const deadlineMs = performance.now() + effectiveTimeoutMs;
146
180
  const remainingTimeoutMs = deadlineMs - performance.now();
147
181
  if (remainingTimeoutMs <= 0) {
@@ -163,15 +197,14 @@ class ZLinkRuntimeRouteTransport {
163
197
  if (spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance) {
164
198
  throw new configuration_1.ZLinkConfigurationException('Instance Spot routes require the MeshNode command 39 transport.');
165
199
  }
166
- await this.requireManager().routeSendToSpot(spotRouteTarget, options.packetName, message, options.signal, options.metadata, options.timeoutMs);
200
+ await this.requireManager().routeSendToSpot(spotRouteTarget, options.packetName, message, options.metadata);
167
201
  return { status: submission_result_1.ZLinkSubmitStatus.Submitted };
168
202
  }
169
- (0, abort_1.throwIfAborted)(options.signal);
170
203
  const operation = `MeshNode '${spotRouteTarget.routerChannelId}' send to Spot '${spotRouteTarget.spotId}'`;
171
204
  try {
172
205
  const encoded = this.encodeMessage(3 /* ZLinkChannelMessageKind.Command */, spotRouteTarget.routerChannelId, options.packetName, message, undefined, options.metadata);
173
206
  if (spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance) {
174
- return mapMeshSubmitResult(await node.sendToInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, undefined, options.metadata));
207
+ return mapMeshSubmitResult(await node.sendToInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, undefined, options.metadata, options.instanceSpot));
175
208
  }
176
209
  return mapMeshSubmitResult(await node
177
210
  .entrySpot()
@@ -186,7 +219,7 @@ class ZLinkRuntimeRouteTransport {
186
219
  }
187
220
  }
188
221
  async sendFromSpotToSpot(sourceSpot, spotRouteTarget, message, options) {
189
- await this.requireManager().routeSendFromSpotToSpot(sourceSpot, spotRouteTarget, options.packetName, message, options.signal, options.metadata, options.timeoutMs);
222
+ await this.requireManager().routeSendFromSpotToSpot(sourceSpot, spotRouteTarget, options.packetName, message, options.metadata);
190
223
  return { status: submission_result_1.ZLinkSubmitStatus.Submitted };
191
224
  }
192
225
  requestToSpot(spotRouteTarget, request, options) {
@@ -206,7 +239,7 @@ class ZLinkRuntimeRouteTransport {
206
239
  try {
207
240
  const encoded = this.encodeMessage(1 /* ZLinkChannelMessageKind.Request */, meshName, options.packetName, request, options.timeoutMs, options.metadata);
208
241
  completionPromise = this.completionTable(meshName).submit(() => spotRouteTarget.spotKind === Spots_1.ZLinkSpotKind.Instance
209
- ? node.requestInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, options.timeoutMs, undefined, options.metadata)
242
+ ? node.requestInstanceSpot(instanceSpotRouteFence(spotRouteTarget), encoded, options.timeoutMs, undefined, options.metadata, options.instanceSpot)
210
243
  : node
211
244
  .entrySpot()
212
245
  .requestToSpot((0, routing_id_1.toBackendRoutingId)(spotRouteTarget.targetNodeRid), (0, routing_id_1.toBackendRoutingId)(spotRouteTarget.spotId), spotRouteTarget.targetSpotGeneration ?? 0n, encoded, {
@@ -311,8 +344,8 @@ class ZLinkRuntimeRouteTransport {
311
344
  }
312
345
  return table;
313
346
  }
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);
347
+ encodeMessage(kind, channelName, packetName, message, timeoutMs, metadata, correlationId) {
348
+ return (0, channel_envelope_1.encodeChannelEnvelopeParts)(kind, channelName, packetName, message, timeoutMs, undefined, this.codecs, correlationId, this.flowCreationEnabled(), metadata);
316
349
  }
317
350
  async waitForMeshReply(meshName, completionPromise) {
318
351
  const completion = await completionPromise;
@@ -344,7 +377,7 @@ function directSpotRouteFence(target) {
344
377
  target.targetOwnerId === undefined ||
345
378
  target.ownerLeaseGeneration === undefined ||
346
379
  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.`);
380
+ throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RouteNotConnected, `Spot '${String(target.spotId)}' has no complete Ready authority fence.`);
348
381
  }
349
382
  return {
350
383
  spot: {
@@ -379,21 +412,7 @@ function instanceSpotRouteFence(target) {
379
412
  };
380
413
  }
381
414
  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
- }
415
+ return (0, submission_result_1.classifySubmitResult)(result, 'Mesh submission');
397
416
  }
398
417
  function mapMeshSubmissionError(error, operation) {
399
418
  if (error instanceof contracts_1.ZLinkFrameworkException) {
@@ -408,14 +427,13 @@ function mapMeshSubmissionError(error, operation) {
408
427
  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
428
  }
410
429
  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);
430
+ const terminal = error.operation === 'request'
431
+ ? error.result
432
+ : (0, submission_result_1.submitToRequestResult)(error.result, error.phase);
433
+ if (terminal === runtime_values_1.RequestResult.NotFound) {
434
+ return (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.RequestTargetNotFound, `${operation} failed with result ${error.result}.`, false, error);
435
+ }
436
+ return new contracts_1.ZLinkFrameworkException((0, framework_errors_internal_1.requestResultToPublicErrorKind)(terminal), `${operation} failed with result ${error.result}.`, error);
419
437
  }
420
438
  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
439
  }
@@ -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