@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,3 +1,6 @@
1
+ import { ZLinkRuntimeDispatchErrorReason as ZLinkDispatchErrorReason } from '../../contracts/Dispatch/ZLinkDispatchOptions';
2
+ export declare function dispatchReasonFromError(error: unknown): ZLinkDispatchErrorReason;
3
+ export declare const ERROR_MESSAGE_MAX_LENGTH = 512;
1
4
  export declare function dispatchErrorDetails(error: unknown): {
2
5
  readonly errorType?: string;
3
6
  readonly errorMessage?: string;
@@ -1,7 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ERROR_MESSAGE_MAX_LENGTH = void 0;
4
+ exports.dispatchReasonFromError = dispatchReasonFromError;
3
5
  exports.dispatchErrorDetails = dispatchErrorDetails;
4
- const ERROR_MESSAGE_MAX_LENGTH = 512;
6
+ const ZLinkFrameworkException_1 = require("../../contracts/Errors/ZLinkFrameworkException");
7
+ const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
8
+ const framework_errors_internal_1 = require("../framework-errors-internal");
9
+ function dispatchReasonFromError(error) {
10
+ if (!(error instanceof ZLinkFrameworkException_1.ZLinkFrameworkException))
11
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerException;
12
+ const origin = (0, framework_errors_internal_1.internalFrameworkErrorKind)(error);
13
+ if (origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed)
14
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.PayloadDecodeFailed;
15
+ if (origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotGenerationStale ||
16
+ origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorGenerationStale ||
17
+ origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotMoving ||
18
+ origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorMoving ||
19
+ origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorLocationStale)
20
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.StaleTarget;
21
+ switch (error.kind) {
22
+ case ZLinkFrameworkException_1.ZLinkFrameworkErrorKind.NotFound:
23
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerMissing;
24
+ case ZLinkFrameworkException_1.ZLinkFrameworkErrorKind.ProtocolError:
25
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.InvalidFrame;
26
+ case ZLinkFrameworkException_1.ZLinkFrameworkErrorKind.ShuttingDown:
27
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.Shutdown;
28
+ default:
29
+ return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerException;
30
+ }
31
+ }
32
+ exports.ERROR_MESSAGE_MAX_LENGTH = 512;
5
33
  const CREDENTIAL_PATTERNS = [
6
34
  [/Authorization\s*:\s*(?:(?:Bearer|Basic)\s+)?[^\s,;]+/gi, 'Authorization: <redacted>'],
7
35
  [/Bearer\s+[^\s,;]+/gi, 'Bearer <redacted>'],
@@ -51,5 +79,5 @@ function sanitizeErrorMessage(message) {
51
79
  pattern.lastIndex = 0;
52
80
  sanitized = sanitized.replace(pattern, replacement);
53
81
  }
54
- return sanitized.slice(0, ERROR_MESSAGE_MAX_LENGTH);
82
+ return sanitized.slice(0, exports.ERROR_MESSAGE_MAX_LENGTH);
55
83
  }
@@ -1,4 +1,10 @@
1
1
  import type { ZLinkFlowOrigin } from '../../contracts';
2
+ /**
3
+ * Spec 27 §3 defines the flow_origin value set as lowercase
4
+ * (`inbound|timer|application|lifecycle`); every language emits these exact
5
+ * strings so records remain comparable across runtimes (spec 26 §3.1).
6
+ */
7
+ export declare const FLOW_ORIGIN_VALUES: Readonly<Record<ZLinkFlowOrigin, string>>;
2
8
  export interface ZLinkFlowContextValue {
3
9
  readonly flowId: string;
4
10
  readonly flowOrigin: ZLinkFlowOrigin;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FLOW_ORIGIN_VALUES = void 0;
3
4
  exports.currentFlowContext = currentFlowContext;
4
5
  exports.currentOrCreateFlow = currentOrCreateFlow;
5
6
  exports.runWithFlow = runWithFlow;
@@ -7,6 +8,19 @@ exports.runWithOutboundFlow = runWithOutboundFlow;
7
8
  exports.createInboundFlow = createInboundFlow;
8
9
  const node_async_hooks_1 = require("node:async_hooks");
9
10
  const node_crypto_1 = require("node:crypto");
11
+ const FLOW_UUID_BYTES = 16;
12
+ const FLOW_UUID_VARIANT_BYTE = 8;
13
+ /**
14
+ * Spec 27 §3 defines the flow_origin value set as lowercase
15
+ * (`inbound|timer|application|lifecycle`); every language emits these exact
16
+ * strings so records remain comparable across runtimes (spec 26 §3.1).
17
+ */
18
+ exports.FLOW_ORIGIN_VALUES = Object.freeze({
19
+ Inbound: 'inbound',
20
+ Timer: 'timer',
21
+ Application: 'application',
22
+ Lifecycle: 'lifecycle'
23
+ });
10
24
  const flowStorage = new node_async_hooks_1.AsyncLocalStorage();
11
25
  function currentFlowContext() {
12
26
  return flowStorage.getStore();
@@ -57,12 +71,12 @@ function createInboundFlow(flowId, flowOrigin, createIfAbsent, streamSessionId)
57
71
  return { flowId: flowId ?? createFlowId(), flowOrigin: flowOrigin ?? 'Inbound', streamSessionId };
58
72
  }
59
73
  function createFlowId() {
60
- const bytes = (0, node_crypto_1.randomBytes)(16);
74
+ const bytes = (0, node_crypto_1.randomBytes)(FLOW_UUID_BYTES);
61
75
  // Date.now() is always within 48 bits, which is exactly the UUIDv7
62
76
  // timestamp field.
63
77
  bytes.writeUIntBE(Date.now(), 0, 6);
64
78
  bytes[6] = 0x70 | (bytes[6] & 0x0f);
65
- bytes[8] = 0x80 | (bytes[8] & 0x3f);
79
+ bytes[FLOW_UUID_VARIANT_BYTE] = 0x80 | (bytes[FLOW_UUID_VARIANT_BYTE] & 0x3f);
66
80
  const hex = bytes.toString('hex');
67
81
  return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
68
82
  }
@@ -1,15 +1,17 @@
1
1
  import type { ZLinkLocationRuntimeQuery } from '../../contracts';
2
- import type { ZLinkActorLocation, ZLinkPeerLocation, ZLinkRouteLocation, ZLinkSpotLocation } from '../../contracts/Locations/Rows';
3
2
  import type { ZLinkActorLocationKey, ZLinkLocationKey, ZLinkRouteLocationKey, ZLinkSpotLocationKey } from '../../contracts/Locations/Keys';
3
+ import type { ZLinkActorLocation, ZLinkPeerLocation, ZLinkRouteLocation, ZLinkSpotLocation } from '../../contracts/Locations/Rows';
4
+ import type { ZLinkBackendSocketMonitor, ZLinkBackendSocketMonitorEvent } from '../backend';
4
5
  import { type ZLinkAutoConnectDesiredSetChange, type ZLinkLocationMonitoringRegistration, type ZLinkPollingMonitoringRegistration, type ZLinkRuntimeEvent, type ZLinkRuntimeEventHandler, type ZLinkSocketMonitoringRegistration } from './internal-event-contracts';
5
6
  export { ZLinkLocationActorEventKind, ZLinkLocationPeerEventKind, ZLinkLocationRouteEventKind, ZLinkLocationSpotEventKind, ZLinkSocketNativeEventType } from './internal-event-contracts';
6
- import type { ZLinkBackendSocketMonitor, ZLinkBackendSocketMonitorEvent } from '../backend';
7
7
  export interface ZLinkActorOwnerLeaseObservation {
8
8
  readonly actorId: string;
9
9
  readonly authorityGeneration: bigint;
10
10
  readonly remainingLeaseMs: number;
11
11
  readonly decision: 'owner_unavailable';
12
12
  }
13
+ export declare function isRelocationDebugEnabled(): boolean;
14
+ export declare function relocationDebug(marker: string, detail: Record<string, unknown>): void;
13
15
  /** Emits high-cardinality resolver detail only on the existing relocation debug path. */
14
16
  export declare function emitActorOwnerLeaseObservation(observation: ZLinkActorOwnerLeaseObservation): void;
15
17
  /** Runtime composition port. It is intentionally absent from the public contract barrel. */
@@ -15,7 +15,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.ZLinkLocationMonitoringEventEmitter = exports.ZLinkLocationRuntimeMonitoringSource = exports.ZLinkSocketMonitoringSource = exports.DefaultZLinkRuntimeEventPublisher = exports.ZLinkSocketNativeEventType = exports.ZLinkLocationSpotEventKind = exports.ZLinkLocationRouteEventKind = exports.ZLinkLocationPeerEventKind = exports.ZLinkLocationActorEventKind = void 0;
18
+ exports.isRelocationDebugEnabled = isRelocationDebugEnabled;
19
+ exports.relocationDebug = relocationDebug;
18
20
  exports.emitActorOwnerLeaseObservation = emitActorOwnerLeaseObservation;
21
+ const node_async_hooks_1 = require("node:async_hooks");
22
+ const state_lane_1 = require("../execution/state-lane");
23
+ const routing_id_1 = require("../routing-id");
19
24
  const internal_event_contracts_1 = require("./internal-event-contracts");
20
25
  var internal_event_contracts_2 = require("./internal-event-contracts");
21
26
  Object.defineProperty(exports, "ZLinkLocationActorEventKind", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkLocationActorEventKind; } });
@@ -23,14 +28,19 @@ Object.defineProperty(exports, "ZLinkLocationPeerEventKind", { enumerable: true,
23
28
  Object.defineProperty(exports, "ZLinkLocationRouteEventKind", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkLocationRouteEventKind; } });
24
29
  Object.defineProperty(exports, "ZLinkLocationSpotEventKind", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkLocationSpotEventKind; } });
25
30
  Object.defineProperty(exports, "ZLinkSocketNativeEventType", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkSocketNativeEventType; } });
26
- const node_async_hooks_1 = require("node:async_hooks");
27
- const state_lane_1 = require("../execution/state-lane");
28
- const routing_id_1 = require("../routing-id");
29
31
  const ZLINK_DISCONNECT_REASON_HANDSHAKE_FAILED = 3;
30
32
  const detachedStateLaneResource = new node_async_hooks_1.AsyncResource('zlink:location-runtime-monitoring-source');
33
+ function isRelocationDebugEnabled() {
34
+ return process.env.ZLINK_DEBUG_FRAMEWORK_RELOCATION === '1';
35
+ }
36
+ function relocationDebug(marker, detail) {
37
+ if (!isRelocationDebugEnabled())
38
+ return;
39
+ console.error('[zlink.runtime.relocation]', marker, detail);
40
+ }
31
41
  /** Emits high-cardinality resolver detail only on the existing relocation debug path. */
32
42
  function emitActorOwnerLeaseObservation(observation) {
33
- if (process.env.ZLINK_DEBUG_FRAMEWORK_RELOCATION !== '1')
43
+ if (!isRelocationDebugEnabled())
34
44
  return;
35
45
  console.error('[zlink.runtime.relocation]', 'actor_route.owner_lease_observed', observation);
36
46
  }
@@ -1,5 +1,5 @@
1
1
  import { type ZLinkDiagnosticsOptions, type ZLinkMessageFlowLogMode } from '../../contracts';
2
- import { ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome, type ZLinkRuntimeMessageFlowResult, type ZLinkRuntimeMessageFlowEvent } from '../../contracts/Dispatch/ZLinkDispatchOptions';
2
+ import { ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome, type ZLinkRuntimeMessageFlowEvent, type ZLinkRuntimeMessageFlowResult } from '../../contracts/Dispatch/ZLinkDispatchOptions';
3
3
  import type { ZLinkDispatchErrorSink } from './dispatch-error-port';
4
4
  export interface ZLinkMessageFlowModeCell {
5
5
  mode: ZLinkMessageFlowLogMode;
@@ -9,7 +9,10 @@ const api_1 = require("@opentelemetry/api");
9
9
  const api_logs_1 = require("@opentelemetry/api-logs");
10
10
  const contracts_1 = require("../../contracts");
11
11
  const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
12
+ const dispatch_error_details_1 = require("./dispatch-error-details");
12
13
  const flow_context_1 = require("./flow-context");
14
+ const MESSAGE_FLOW_EVENT_ID = 'zlink.message_flow';
15
+ const DISPATCH_ERROR_EVENT_ID = 'zlink.dispatch_error';
13
16
  exports.DEFAULT_ZLINK_DIAGNOSTICS = {
14
17
  messageFlow: 'errors',
15
18
  sampleRate: 1,
@@ -17,7 +20,6 @@ exports.DEFAULT_ZLINK_DIAGNOSTICS = {
17
20
  };
18
21
  const telemetryLogger = api_logs_1.logs.getLogger('@zlink-systems/framework');
19
22
  const telemetryTracer = api_1.trace.getTracer('@zlink-systems/framework');
20
- const ERROR_MESSAGE_MAX_LENGTH = 512;
21
23
  let diagnosticsGeneration = 0n;
22
24
  function effectiveMessageFlow(ctx) {
23
25
  return ctx.liveMode.mode;
@@ -162,12 +164,12 @@ class ZLinkMessageFlowTracer {
162
164
  }
163
165
  publishToLogger(record) {
164
166
  try {
165
- const severityNumber = record.eventId === 'zlink.dispatch_error' ? api_logs_1.SeverityNumber.ERROR : api_logs_1.SeverityNumber.INFO;
167
+ const severityNumber = record.eventId === DISPATCH_ERROR_EVENT_ID ? api_logs_1.SeverityNumber.ERROR : api_logs_1.SeverityNumber.INFO;
166
168
  telemetryLogger.emit({
167
169
  eventName: record.eventId,
168
170
  timestamp: record.timestamp,
169
171
  severityNumber,
170
- severityText: record.eventId === 'zlink.dispatch_error' ? 'ERROR' : 'INFO',
172
+ severityText: record.eventId === DISPATCH_ERROR_EVENT_ID ? 'ERROR' : 'INFO',
171
173
  body: structuredLogBody(record),
172
174
  attributes: structuredLogAttributes(record)
173
175
  });
@@ -181,7 +183,7 @@ class ZLinkMessageFlowTracer {
181
183
  const span = telemetryTracer.startSpan(record.eventId, {
182
184
  attributes: traceAttributes(record)
183
185
  });
184
- if (record.eventId === 'zlink.dispatch_error') {
186
+ if (record.eventId === DISPATCH_ERROR_EVENT_ID) {
185
187
  span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: record.reason });
186
188
  }
187
189
  span.end();
@@ -201,22 +203,11 @@ class ZLinkMessageFlowTracer {
201
203
  }
202
204
  }
203
205
  exports.ZLinkMessageFlowTracer = ZLinkMessageFlowTracer;
204
- /**
205
- * Spec 27 §3 defines the flow_origin value set as lowercase
206
- * (`inbound|timer|application|lifecycle`); every language emits these exact
207
- * strings so records remain comparable across runtimes (spec 26 §3.1).
208
- */
209
- const FLOW_ORIGIN_TELEMETRY_VALUES = {
210
- Inbound: 'inbound',
211
- Timer: 'timer',
212
- Application: 'application',
213
- Lifecycle: 'lifecycle'
214
- };
215
206
  function toTelemetryRecord(flow, messageSizeBytes, durationSeconds) {
216
207
  return {
217
208
  eventId: flow.outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error
218
- ? 'zlink.dispatch_error'
219
- : 'zlink.message_flow',
209
+ ? DISPATCH_ERROR_EVENT_ID
210
+ : MESSAGE_FLOW_EVENT_ID,
220
211
  timestamp: new Date(),
221
212
  phase: messageFlowPhase(flow.outcome),
222
213
  outcome: flow.result ?? messageFlowOutcome(flow.outcome),
@@ -234,7 +225,7 @@ function toTelemetryRecord(flow, messageSizeBytes, durationSeconds) {
234
225
  targetRid: flow.targetRid,
235
226
  serverRid: flow.serverRid,
236
227
  flowId: flow.flowId,
237
- flowOrigin: flow.flowOrigin === undefined ? undefined : FLOW_ORIGIN_TELEMETRY_VALUES[flow.flowOrigin],
228
+ flowOrigin: flow.flowOrigin === undefined ? undefined : flow_context_1.FLOW_ORIGIN_VALUES[flow.flowOrigin],
238
229
  spotId: flow.spotId,
239
230
  instanceSpotType: flow.instanceSpotType,
240
231
  activationState: flow.activationState,
@@ -429,7 +420,7 @@ function hashFlowId(flowId) {
429
420
  return hash >>> 0;
430
421
  }
431
422
  function boundedText(value) {
432
- return value === undefined ? undefined : value.slice(0, ERROR_MESSAGE_MAX_LENGTH);
423
+ return value === undefined ? undefined : value.slice(0, dispatch_error_details_1.ERROR_MESSAGE_MAX_LENGTH);
433
424
  }
434
425
  function toSnakeCase(value) {
435
426
  return value.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
@@ -1,4 +1,6 @@
1
- import type { ZLinkHostCapacityStatus, ZLinkMeterProvider, ZLinkMetricAttributes } from '../../contracts';
1
+ import { type ZLinkHostCapacityStatus, type ZLinkMeterProvider, type ZLinkMetricAttributes } from '../../contracts';
2
+ export declare const MILLISECONDS_PER_SECOND = 1000;
3
+ export declare const NANOSECONDS_PER_SECOND = 1000000000;
2
4
  export interface ZLinkRuntimeMetricCapacity {
3
5
  readonly active: number;
4
6
  readonly reserved: number;
@@ -48,41 +50,102 @@ export interface ZLinkRuntimeMetricOperation {
48
50
  export interface ZLinkRelocationMetricOperation extends ZLinkRuntimeMetricOperation {
49
51
  recordBytes(bytes: number): void;
50
52
  }
53
+ export declare const METRIC_NAMES: Readonly<{
54
+ readonly StreamConnectionsOpened: "zlink.stream.connections.opened";
55
+ readonly StreamConnectionsClosed: "zlink.stream.connections.closed";
56
+ readonly MeshNodeChannelSelectionFailures: "zlink.mesh_node.channel.selection_failures";
57
+ readonly MeshNodeRequestTimeouts: "zlink.mesh_node.request.timeouts";
58
+ readonly MeshNodeMessagesDropped: "zlink.mesh_node.messages.dropped";
59
+ readonly RelocationStarted: "zlink.relocation.started";
60
+ readonly RelocationCompleted: "zlink.relocation.completed";
61
+ readonly RelocationCutoverTimeout: "zlink.relocation.cutover_timeout";
62
+ readonly InstanceSpotActivations: "zlink.instance_spot.activations";
63
+ readonly InstanceSpotClaimConflicts: "zlink.instance_spot.claim.conflicts";
64
+ readonly InstanceSpotTakeovers: "zlink.instance_spot.takeovers";
65
+ readonly LocationStoreErrors: "zlink.location.store.errors";
66
+ readonly LocationOwnerLeaseRenewFailures: "zlink.location.owner_lease.renew.failures";
67
+ readonly ObservabilityEventsOverflow: "zlink.observability.events.overflow";
68
+ readonly HostRelocationBlocked: "zlink.host.relocation.blocked";
69
+ readonly HostShutdownForced: "zlink.host.shutdown.forced";
70
+ readonly StreamConnectionsActive: "zlink.stream.connections.active";
71
+ readonly SpotCount: "zlink.spot.count";
72
+ readonly ActorCount: "zlink.actor.count";
73
+ readonly MeshNodeRequestsInflight: "zlink.mesh_node.requests.inflight";
74
+ readonly MeshNodeRequestDuration: "zlink.mesh_node.request.duration";
75
+ readonly RelocationDuration: "zlink.relocation.duration";
76
+ readonly RelocationBytes: "zlink.relocation.bytes";
77
+ readonly RelocationInterruption: "zlink.relocation.interruption";
78
+ readonly RelocationTargetResume: "zlink.relocation.target_resume";
79
+ readonly RelocationRouteConvergence: "zlink.relocation.route_convergence";
80
+ readonly InstanceSpotActivationDuration: "zlink.instance_spot.activation.duration";
81
+ readonly LocationOwnerLeaseRenewLateness: "zlink.location.owner_lease.renew.lateness";
82
+ readonly HostRelocationDuration: "zlink.host.relocation.duration";
83
+ readonly HostShutdownDuration: "zlink.host.shutdown.duration";
84
+ readonly MeshNodePeersConfigured: "zlink.mesh_node.peers.configured";
85
+ readonly MeshNodePeersConnected: "zlink.mesh_node.peers.connected";
86
+ readonly MeshNodePeersReady: "zlink.mesh_node.peers.ready";
87
+ readonly MeshNodeChannelsReadyMembers: "zlink.mesh_node.channels.ready_members";
88
+ readonly ObjectCapacityActive: "zlink.object.capacity.active";
89
+ readonly ObjectCapacityReserved: "zlink.object.capacity.reserved";
90
+ readonly ObjectCapacityLimit: "zlink.object.capacity.limit";
91
+ readonly SpotTypeCapacityActive: "zlink.spot.type.capacity.active";
92
+ readonly SpotTypeCapacityReserved: "zlink.spot.type.capacity.reserved";
93
+ readonly SpotTypeCapacityLimit: "zlink.spot.type.capacity.limit";
94
+ readonly ObjectActivationActive: "zlink.object.activation.active";
95
+ readonly ObjectActivationLimit: "zlink.object.activation.limit";
96
+ readonly InstanceSpotPendingMessages: "zlink.instance_spot.pending.messages";
97
+ readonly InstanceSpotPendingBytes: "zlink.instance_spot.pending.bytes";
98
+ readonly HostState: "zlink.host.state";
99
+ readonly HostCoreHwmEffectiveBudget: "zlink.host.core_hwm.effective_budget";
100
+ readonly HostCoreHwmApplied: "zlink.host.core_hwm.applied";
101
+ readonly HostCoreHwmAccounted: "zlink.host.core_hwm.accounted";
102
+ readonly HostCoreHwmCompletionAccounted: "zlink.host.core_hwm.completion_accounted";
103
+ readonly HostCoreHwmBlockedRatio: "zlink.host.core_hwm.blocked_ratio";
104
+ readonly HostApplicationJobQueueLimit: "zlink.host.application_job_queue.limit";
105
+ readonly HostApplicationJobQueueJobs: "zlink.host.application_job_queue.jobs";
106
+ readonly HostApplicationJobQueueCapacityWaiters: "zlink.host.application_job_queue.capacity_waiters";
107
+ readonly HostApplicationJobQueuePressureState: "zlink.host.application_job_queue.pressure_state";
108
+ readonly HostApplicationJobQueuePauseDuration: "zlink.host.application_job_queue.pause_duration";
109
+ readonly HostApplicationJobQueueCapacityWaits: "zlink.host.application_job_queue.capacity_waits";
110
+ readonly HostApplicationJobQueueCapacityWaitDuration: "zlink.host.application_job_queue.capacity_wait_duration";
111
+ readonly HostApplicationJobQueuePressureTransitions: "zlink.host.application_job_queue.pressure_transitions";
112
+ readonly HostApplicationJobQueueFlowStateConfigFailures: "zlink.host.application_job_queue.flow_state_config_failures";
113
+ }>;
51
114
  declare const COUNTERS: Readonly<{
52
- readonly 'zlink.stream.connections.opened': "{connection}";
53
- readonly 'zlink.stream.connections.closed': "{connection}";
54
- readonly 'zlink.mesh_node.channel.selection_failures': "{failure}";
55
- readonly 'zlink.mesh_node.request.timeouts': "{request}";
56
- readonly 'zlink.mesh_node.messages.dropped': "{message}";
57
- readonly 'zlink.relocation.started': "{relocation}";
58
- readonly 'zlink.relocation.completed': "{relocation}";
59
- readonly 'zlink.relocation.cutover_timeout': "{fallback}";
60
- readonly 'zlink.instance_spot.activations': "{activation}";
61
- readonly 'zlink.instance_spot.claim.conflicts': "{claim}";
62
- readonly 'zlink.instance_spot.takeovers': "{takeover}";
63
- readonly 'zlink.location.store.errors': "{error}";
64
- readonly 'zlink.location.owner_lease.renew.failures': "{failure}";
65
- readonly 'zlink.observability.events.overflow': "{event}";
66
- readonly 'zlink.host.relocation.blocked': "{operation}";
67
- readonly 'zlink.host.shutdown.forced': "{operation}";
115
+ readonly "zlink.stream.connections.opened": "{connection}";
116
+ readonly "zlink.stream.connections.closed": "{connection}";
117
+ readonly "zlink.mesh_node.channel.selection_failures": "{failure}";
118
+ readonly "zlink.mesh_node.request.timeouts": "{request}";
119
+ readonly "zlink.mesh_node.messages.dropped": "{message}";
120
+ readonly "zlink.relocation.started": "{relocation}";
121
+ readonly "zlink.relocation.completed": "{relocation}";
122
+ readonly "zlink.relocation.cutover_timeout": "{fallback}";
123
+ readonly "zlink.instance_spot.activations": "{activation}";
124
+ readonly "zlink.instance_spot.claim.conflicts": "{claim}";
125
+ readonly "zlink.instance_spot.takeovers": "{takeover}";
126
+ readonly "zlink.location.store.errors": "{error}";
127
+ readonly "zlink.location.owner_lease.renew.failures": "{failure}";
128
+ readonly "zlink.observability.events.overflow": "{event}";
129
+ readonly "zlink.host.relocation.blocked": "{operation}";
130
+ readonly "zlink.host.shutdown.forced": "{operation}";
68
131
  }>;
69
132
  declare const UP_DOWN_COUNTERS: Readonly<{
70
- readonly 'zlink.stream.connections.active': "{connection}";
71
- readonly 'zlink.spot.count': "{spot}";
72
- readonly 'zlink.actor.count': "{actor}";
73
- readonly 'zlink.mesh_node.requests.inflight': "{request}";
133
+ readonly "zlink.stream.connections.active": "{connection}";
134
+ readonly "zlink.spot.count": "{spot}";
135
+ readonly "zlink.actor.count": "{actor}";
136
+ readonly "zlink.mesh_node.requests.inflight": "{request}";
74
137
  }>;
75
138
  declare const HISTOGRAMS: Readonly<{
76
- readonly 'zlink.mesh_node.request.duration': "s";
77
- readonly 'zlink.relocation.duration': "s";
78
- readonly 'zlink.relocation.bytes': "By";
79
- readonly 'zlink.relocation.interruption': "s";
80
- readonly 'zlink.relocation.target_resume': "s";
81
- readonly 'zlink.relocation.route_convergence': "s";
82
- readonly 'zlink.instance_spot.activation.duration': "s";
83
- readonly 'zlink.location.owner_lease.renew.lateness': "s";
84
- readonly 'zlink.host.relocation.duration': "s";
85
- readonly 'zlink.host.shutdown.duration': "s";
139
+ readonly "zlink.mesh_node.request.duration": "s";
140
+ readonly "zlink.relocation.duration": "s";
141
+ readonly "zlink.relocation.bytes": "By";
142
+ readonly "zlink.relocation.interruption": "s";
143
+ readonly "zlink.relocation.target_resume": "s";
144
+ readonly "zlink.relocation.route_convergence": "s";
145
+ readonly "zlink.instance_spot.activation.duration": "s";
146
+ readonly "zlink.location.owner_lease.renew.lateness": "s";
147
+ readonly "zlink.host.relocation.duration": "s";
148
+ readonly "zlink.host.shutdown.duration": "s";
86
149
  }>;
87
150
  type CounterName = keyof typeof COUNTERS;
88
151
  type UpDownName = keyof typeof UP_DOWN_COUNTERS;