@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
@@ -2,16 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkBoundSessionFactory = exports.DefaultZLinkBoundSession = exports.DefaultZLinkSessionActor = exports.DefaultZLinkSessionContext = void 0;
4
4
  exports.createSessionDispatchContext = createSessionDispatchContext;
5
- const framework_errors_internal_1 = require("../framework-errors-internal");
6
- const submission_result_1 = require("../messaging/submission-result");
7
5
  const Attributes_1 = require("../../contracts/Handlers/Attributes");
8
6
  const abort_1 = require("../abort");
7
+ const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
9
8
  const configuration_1 = require("../configuration");
9
+ const state_lane_1 = require("../execution/state-lane");
10
+ const framework_errors_internal_1 = require("../framework-errors-internal");
11
+ const submission_result_1 = require("../messaging/submission-result");
10
12
  const protocol_1 = require("./protocol");
11
13
  const session_calls_1 = require("./session-calls");
12
- const session_requests_1 = require("./session-requests");
13
14
  const session_local_actors_1 = require("./session-local-actors");
14
- const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
15
+ const session_requests_1 = require("./session-requests");
15
16
  class DefaultZLinkSessionContext {
16
17
  runtime;
17
18
  stream;
@@ -305,21 +306,18 @@ class DefaultZLinkSessionActor {
305
306
  }
306
307
  this.currentRef = ref;
307
308
  }
308
- async relay(dispatchOrPayload, payloadOrSignal, signal) {
309
+ async relay(dispatchOrPayload, selectedPayload) {
309
310
  const dispatch = isSessionDispatchContext(dispatchOrPayload) ? dispatchOrPayload : undefined;
310
311
  let payload;
311
- let relaySignal;
312
312
  let header;
313
313
  if (dispatch === undefined) {
314
314
  payload = dispatchOrPayload;
315
- relaySignal = payloadOrSignal;
316
315
  }
317
316
  else {
318
- payload = payloadOrSignal;
319
- relaySignal = signal;
317
+ payload = selectedPayload;
320
318
  header = sessionDispatchHeader(dispatch);
321
319
  }
322
- const result = await this.runtime.relay(this, payload, relaySignal, header);
320
+ const result = await this.runtime.relay(this, payload, header);
323
321
  (0, submission_result_1.requireOneWayCompletion)(result, 'Session Actor relay', framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound);
324
322
  }
325
323
  notifyDisconnected(signal) {
@@ -393,3 +391,20 @@ function sameRetiredSession(left, right) {
393
391
  left.sessionRid === right.sessionRid &&
394
392
  left.retiredBindingGeneration === right.retiredBindingGeneration);
395
393
  }
394
+ if ((0, state_lane_1.isStructuralGuardEnabled)()) {
395
+ const controlsGetter = Object.getOwnPropertyDescriptor(DefaultZLinkSessionContext.prototype, 'actorSlotControls')?.get;
396
+ if (controlsGetter !== undefined) {
397
+ Object.defineProperty(DefaultZLinkSessionContext.prototype, 'actorSlotControls', {
398
+ configurable: true,
399
+ get() {
400
+ const controls = controlsGetter.call(this);
401
+ if (controls === undefined)
402
+ return undefined;
403
+ return {
404
+ enqueueBound: (actorSlot, actorId) => (0, state_lane_1.guardStateLaneCompletion)((0, state_lane_1.trackDiagnosticCompletion)(controls.enqueueBound(actorSlot, actorId), `binding transport bound ${actorId}`), 'binding transport completion'),
405
+ enqueueUnbound: (actorSlot) => (0, state_lane_1.guardStateLaneCompletion)((0, state_lane_1.trackDiagnosticCompletion)(controls.enqueueUnbound(actorSlot), `binding transport unbound ${actorSlot}`), 'binding transport completion')
406
+ };
407
+ }
408
+ });
409
+ }
410
+ }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkSessionRequestTracker = exports.ZLinkPendingSessionRequest = void 0;
4
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
4
5
  const stream_message_utils_1 = require("./stream-message-utils");
5
6
  class ZLinkPendingSessionRequest {
6
7
  tracker;
@@ -92,7 +93,7 @@ class ZLinkSessionRequestTracker {
92
93
  }
93
94
  next() {
94
95
  do {
95
- this.nextRequestSeq = (this.nextRequestSeq + 1n) & 0xffffffffffffffffn;
96
+ this.nextRequestSeq = (this.nextRequestSeq + 1n) & stream_wire_1.UINT64_MAX;
96
97
  } while (this.nextRequestSeq === 0n);
97
98
  return this.nextRequestSeq;
98
99
  }
@@ -3,6 +3,7 @@ import type { ZLinkBackendActorSessionNode } from '../backend';
3
3
  import type { ZLinkSubmitResult } from '../messaging/submission-result';
4
4
  import type { DefaultZLinkSessionActor } from './session-context';
5
5
  import type { ZLinkBoundSessionResponseTarget } from './bound-session-response-target';
6
+ import type { ServiceStreamSessionBinding } from '../foundation/service-runtime-contracts';
6
7
  export interface ZLinkStreamActorLookupPort {
7
8
  find(actorId: string): Promise<DefaultZLinkSessionActor | undefined>;
8
9
  authorityFence(actorId: string): Promise<{
@@ -44,8 +45,22 @@ export interface ZLinkBoundSessionResponsePort {
44
45
  sendLocalBoundSessionResponse(actorId: string, packetName: string, requestSeq: bigint, message: unknown, metadata: ReadonlyMap<string, string>, compressPayload: boolean): Promise<boolean>;
45
46
  sendLocalBoundSessionError(actorId: string, packetName: string, requestSeq: bigint, error: unknown, metadata: ReadonlyMap<string, string>): Promise<boolean>;
46
47
  }
48
+ /**
49
+ * Session–Actor binding §5: the Session owner's registry snapshot travels with
50
+ * the bind confirmation so a same-node Actor owner installs the same identity a
51
+ * remote command 38 would carry.
52
+ */
53
+ export interface ZLinkSessionBindingConfirmationOptions {
54
+ readonly waitForAcknowledgement?: boolean;
55
+ readonly binding?: ServiceStreamSessionBinding;
56
+ }
57
+ /** The exact Session binding identity a relocation validated (§8.1). */
58
+ export interface ZLinkSessionBindingIdentity {
59
+ readonly sessionRid: string;
60
+ readonly bindingGeneration: bigint;
61
+ }
47
62
  export interface ZLinkRemoteBoundSessionPort extends ZLinkStreamActorLifecyclePort {
48
- disconnectBoundSession(actorId: string, signal?: AbortSignal): Promise<void>;
63
+ closeSessionBinding(actorId: string, expected: ZLinkSessionBindingIdentity, signal?: AbortSignal): Promise<void>;
49
64
  sendLocalBoundSession(actorId: string, message: unknown, packetName: string | undefined, metadata: ReadonlyMap<string, string>): Promise<boolean>;
50
65
  sendLocalBoundSessionResponse(actorId: string, packetName: string, requestSeq: bigint, message: unknown, metadata: ReadonlyMap<string, string>, compressPayload: boolean): Promise<boolean>;
51
66
  sendLocalBoundSessionError(actorId: string, packetName: string, requestSeq: bigint, error: unknown, metadata: ReadonlyMap<string, string>): Promise<boolean>;
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.zlinkStreamLz4CompressionCodec = exports.ZLinkStreamFrameMessageFactory = void 0;
4
4
  exports.resolveStreamCompressionCodec = resolveStreamCompressionCodec;
5
5
  exports.decompressStreamPayload = decompressStreamPayload;
6
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
6
7
  const runtime_message_1 = require("../backend/runtime-message");
7
8
  const flow_context_1 = require("../diagnostics/flow-context");
8
9
  const framework_json_v1_1 = require("../messaging/framework-json-v1");
9
10
  const Attributes_1 = require("../../contracts/Handlers/Attributes");
10
11
  const protocol_1 = require("./protocol");
11
- const DEFAULT_MAX_DECOMPRESSED_STREAM_PAYLOAD_SIZE = 64 * 1024;
12
12
  class ZLinkStreamFrameMessageFactory {
13
13
  options;
14
14
  compressionCodec;
@@ -130,7 +130,7 @@ function compressStreamPayload(payload, codec) {
130
130
  throw new Error(`Compression failed: ${error instanceof Error ? error.message : String(error)}`);
131
131
  }
132
132
  }
133
- function decompressStreamPayload(payload, codec, maxDecompressedSize = DEFAULT_MAX_DECOMPRESSED_STREAM_PAYLOAD_SIZE) {
133
+ function decompressStreamPayload(payload, codec, maxDecompressedSize = stream_wire_1.defaultMaxDecompressedPayloadSize) {
134
134
  if (codec === undefined) {
135
135
  throw new Error('Compression codec is not configured.');
136
136
  }
@@ -1,18 +1,18 @@
1
1
  import type { ZLinkMessageSerializer, ZLinkSession } from '../../contracts';
2
- import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
3
2
  import type { Message } from '../../contracts/Common/Message';
4
- import { ZLinkDispatchErrorReporter } from '../channels';
5
- import type { ZLinkRuntimeMetrics } from '../diagnostics';
6
- import type { ZLinkBackendSocketMonitor, ZLinkBackendReadablePoller, ZLinkBackendStreamPacket, ZLinkBackendStreamSocket } from '../backend/contracts';
3
+ import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
4
+ import { type ZLinkApplicationWorkClaim } from '../admission';
5
+ import type { ApplicationJobPermitPort, ApplicationJobQueuePort } from '../application-jobs/contracts';
6
+ import type { ZLinkBackendReadablePoller, ZLinkBackendSocketMonitor, ZLinkBackendStreamPacket, ZLinkBackendStreamSocket } from '../backend/contracts';
7
7
  import type { ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
8
+ import { ZLinkDispatchErrorReporter } from '../channels';
9
+ import { type ZLinkRuntimeMetrics } from '../diagnostics';
8
10
  import type { StreamSessionService } from '../foundation/service-runtime-contracts';
9
- import { type ZLinkStreamFrameHeader } from './protocol';
10
- import { ZLinkManagedStream, type ZLinkNativeSessionRoute } from './managed-stream';
11
- import { DefaultZLinkSessionContext } from './session-context';
12
- import type { ZLinkApplicationWorkClaim } from '../admission';
13
11
  import type { ServiceActorRef } from '../foundation/service-stateful-registry';
14
12
  import type { ServiceRetiredBoundSessionRouteFence } from '../foundation/service-stateful-wire-codec';
15
- import type { ApplicationJobPermitPort, ApplicationJobQueuePort } from '../application-jobs/contracts';
13
+ import { ZLinkManagedStream, type ZLinkNativeSessionRoute } from './managed-stream';
14
+ import { type ZLinkStreamFrameHeader } from './protocol';
15
+ import { DefaultZLinkSessionContext } from './session-context';
16
16
  interface ZLinkStreamLivenessClock {
17
17
  now(): number;
18
18
  setTimer(callback: () => void, delayMs: number): unknown;
@@ -67,7 +67,7 @@ export declare class ZLinkStreamSessionRuntime {
67
67
  private metricsClosed;
68
68
  private readonly livenessClock;
69
69
  private lastApplicationActivityAt;
70
- private awaitingPongSince;
70
+ private lastInboundFrameAt;
71
71
  private livenessTimer;
72
72
  constructor(options: ZLinkStreamSessionRuntimeOptions & ZLinkStreamLivenessOptions, routingId: unknown, removeSession?: (sessionId: string, session: ZLinkStreamSessionRuntime) => void);
73
73
  get session(): Promise<ZLinkSession>;
@@ -125,7 +125,6 @@ export declare class ZLinkStreamSessionNodeRuntime {
125
125
  private readonly unaddressedMonitorSessions;
126
126
  private unaddressedMonitorSessionHead;
127
127
  private unaddressedMonitorSessionCount;
128
- private readonly disconnectedEndpoints;
129
128
  private pendingEndpointlessDisconnect;
130
129
  private activityVersion;
131
130
  private stopped;
@@ -1,29 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkStreamSessionNodeRuntime = exports.ZLinkStreamSessionRuntime = void 0;
4
- const framework_errors_internal_1 = require("../framework-errors-internal");
5
- const internal_event_contracts_1 = require("../diagnostics/internal-event-contracts");
4
+ const Registration_1 = require("../../contracts/Configuration/Registration");
6
5
  const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
7
6
  const abort_1 = require("../abort");
7
+ const admission_1 = require("../admission");
8
+ const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
8
9
  const channels_1 = require("../channels");
9
- const bound_session_response_target_1 = require("./bound-session-response-target");
10
10
  const diagnostics_1 = require("../diagnostics");
11
- const payload_codec_1 = require("../messaging/payload-codec");
12
- const protocol_1 = require("./protocol");
13
11
  const flow_context_1 = require("../diagnostics/flow-context");
12
+ const internal_event_contracts_1 = require("../diagnostics/internal-event-contracts");
13
+ const runtime_metrics_1 = require("../diagnostics/runtime-metrics");
14
+ const framework_errors_internal_1 = require("../framework-errors-internal");
15
+ const payload_codec_1 = require("../messaging/payload-codec");
16
+ const bound_session_response_target_1 = require("./bound-session-response-target");
14
17
  const managed_stream_1 = require("./managed-stream");
18
+ const protocol_1 = require("./protocol");
15
19
  const session_context_1 = require("./session-context");
16
20
  const session_serial_executor_1 = require("./session-serial-executor");
17
21
  const stream_message_utils_1 = require("./stream-message-utils");
18
- const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
19
- const application_job_queue_scope_2 = require("../application-jobs/application-job-queue-scope");
20
22
  const ZLINK_SEND_DONT_WAIT = 1;
21
23
  const ZLINK_RECV_DONT_WAIT = 1;
22
24
  const ZLINK_STREAM_HEARTBEAT_INTERVAL_MS = 1_000;
23
25
  const ZLINK_STREAM_HEARTBEAT_TIMEOUT_MS = 5_000;
24
26
  const ZLINK_STREAM_APPLICATION_IDLE_TIMEOUT_MS = 30_000;
25
27
  const ZLINK_STREAM_RECEIVE_FRAME_BATCH_LIMIT = 64;
26
- const ZLINK_STREAM_ACTOR_BINDING_REPLACEMENT_CALLBACK_TIMEOUT_MS = 30_000;
27
28
  const ZLINK_STREAM_ACTOR_BINDING_REPLACEMENT_CLOSE_DELAY_MS = 100;
28
29
  const ZLINK_STREAM_MONITOR_IDLE_MIN_DELAY_MS = 1;
29
30
  const ZLINK_STREAM_MONITOR_IDLE_MAX_DELAY_MS = 20;
@@ -69,7 +70,7 @@ class ZLinkStreamSessionRuntime {
69
70
  metricsClosed = false;
70
71
  livenessClock;
71
72
  lastApplicationActivityAt = 0;
72
- awaitingPongSince;
73
+ lastInboundFrameAt = 0;
73
74
  livenessTimer;
74
75
  constructor(options, routingId, removeSession = () => { }) {
75
76
  this.options = options;
@@ -114,6 +115,7 @@ class ZLinkStreamSessionRuntime {
114
115
  this.serial.executeInfrastructure(async () => this.markConnected(localAddr, remoteAddr));
115
116
  }
116
117
  enqueuePacket(payload, decodedHeader, terminalOwner, applicationJobPermit) {
118
+ this.lastInboundFrameAt = Math.max(this.lastInboundFrameAt, this.livenessClock.now());
117
119
  let terminalReleased = false;
118
120
  const releaseTerminal = () => {
119
121
  if (terminalReleased)
@@ -248,7 +250,7 @@ class ZLinkStreamSessionRuntime {
248
250
  }
249
251
  forcedClose = true;
250
252
  void this.close().catch((error) => this.options.onError?.(error));
251
- }, this.options.replacementCallbackTimeoutMs ?? ZLINK_STREAM_ACTOR_BINDING_REPLACEMENT_CALLBACK_TIMEOUT_MS);
253
+ }, this.options.replacementCallbackTimeoutMs ?? Registration_1.DEFAULT_SESSION_REPLACEMENT_CALLBACK_TIMEOUT_MS);
252
254
  const callback = session.onActorBindingReplaced;
253
255
  if (callback === undefined) {
254
256
  completeCallback();
@@ -309,10 +311,12 @@ class ZLinkStreamSessionRuntime {
309
311
  return;
310
312
  }
311
313
  this.connected = true;
312
- this.lastApplicationActivityAt = this.livenessClock.now();
314
+ const connectedAt = this.livenessClock.now();
315
+ this.lastApplicationActivityAt = connectedAt;
316
+ this.lastInboundFrameAt = Math.max(this.lastInboundFrameAt, connectedAt);
313
317
  this.scheduleLivenessCheck();
314
- this.options.metrics?.change('zlink.stream.connections.active', 1, { transport: 'tcp' });
315
- this.options.metrics?.count('zlink.stream.connections.opened', 1, { transport: 'tcp' });
318
+ this.options.metrics?.change(runtime_metrics_1.METRIC_NAMES.StreamConnectionsActive, 1, { transport: 'tcp' });
319
+ this.options.metrics?.count(runtime_metrics_1.METRIC_NAMES.StreamConnectionsOpened, 1, { transport: 'tcp' });
316
320
  const session = await this.requireSession();
317
321
  await session.onConnected?.(this.context);
318
322
  }
@@ -389,7 +393,7 @@ class ZLinkStreamSessionRuntime {
389
393
  correlationId: streamCorr,
390
394
  sourceRid: this.context.routingId === undefined ? undefined : String(this.context.routingId)
391
395
  });
392
- (0, application_job_queue_scope_2.releaseApplicationJobPermitBeforeHandler)();
396
+ (0, application_job_queue_scope_1.releaseApplicationJobPermitBeforeHandler)();
393
397
  (0, diagnostics_1.flowIfEnabled)(this.options.dispatchErrors?.flow, ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dispatched)?.trace({
394
398
  outcome: ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dispatched,
395
399
  surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.StreamSession,
@@ -450,7 +454,6 @@ class ZLinkStreamSessionRuntime {
450
454
  return;
451
455
  }
452
456
  if (header.name === protocol_1.ZLINK_STREAM_HEARTBEAT_PONG) {
453
- this.awaitingPongSince = undefined;
454
457
  return;
455
458
  }
456
459
  if (header.name === protocol_1.ZLINK_STREAM_HEARTBEAT_PING) {
@@ -477,13 +480,11 @@ class ZLinkStreamSessionRuntime {
477
480
  await this.closeForLiveness(protocol_1.ZLinkStreamCloseReasonCode.IdleTimeout, 'idle_timeout', 'Application idle timeout.');
478
481
  return;
479
482
  }
480
- if (this.awaitingPongSince !== undefined &&
481
- now - this.awaitingPongSince >= ZLINK_STREAM_HEARTBEAT_TIMEOUT_MS) {
483
+ if (now - this.lastInboundFrameAt >= ZLINK_STREAM_HEARTBEAT_TIMEOUT_MS) {
482
484
  await this.closeForLiveness(protocol_1.ZLinkStreamCloseReasonCode.HeartbeatTimeout, 'heartbeat_timeout', 'Heartbeat timeout.');
483
485
  return;
484
486
  }
485
487
  await this.stream.writeControl(protocol_1.ZLINK_STREAM_HEARTBEAT_PING);
486
- this.awaitingPongSince ??= now;
487
488
  this.scheduleLivenessCheck();
488
489
  }
489
490
  async closeForLiveness(reason, closeReason, diagnostic) {
@@ -592,8 +593,8 @@ class ZLinkStreamSessionRuntime {
592
593
  async cleanup() {
593
594
  if (this.connected && !this.metricsClosed) {
594
595
  this.metricsClosed = true;
595
- this.options.metrics?.change('zlink.stream.connections.active', -1, { transport: 'tcp' });
596
- this.options.metrics?.count('zlink.stream.connections.closed', 1, {
596
+ this.options.metrics?.change(runtime_metrics_1.METRIC_NAMES.StreamConnectionsActive, -1, { transport: 'tcp' });
597
+ this.options.metrics?.count(runtime_metrics_1.METRIC_NAMES.StreamConnectionsClosed, 1, {
597
598
  transport: 'tcp',
598
599
  close_reason: normalizeStreamCloseReason(this.closeReason)
599
600
  });
@@ -688,7 +689,6 @@ class ZLinkStreamSessionNodeRuntime {
688
689
  unaddressedMonitorSessions = [];
689
690
  unaddressedMonitorSessionHead = 0;
690
691
  unaddressedMonitorSessionCount = 0;
691
- disconnectedEndpoints = new Set();
692
692
  pendingEndpointlessDisconnect;
693
693
  activityVersion = 0;
694
694
  stopped = false;
@@ -945,18 +945,13 @@ class ZLinkStreamSessionNodeRuntime {
945
945
  }
946
946
  switch (event.nativeEvent) {
947
947
  case internal_event_contracts_1.ZLinkSocketNativeEventType.ConnectionReady:
948
+ if (!event.readyEdge)
949
+ return;
948
950
  this.activityVersion += 1;
949
- {
950
- const endpointKey = streamMonitorEndpointKey(event.localAddr, event.remoteAddr);
951
- if (this.disconnectedEndpoints.delete(endpointKey)) {
952
- return;
953
- }
954
- }
955
951
  if (event.routingId === undefined) {
956
952
  const endpointKey = streamMonitorEndpointKey(event.localAddr, event.remoteAddr);
957
953
  const unaddressed = this.firstUnaddressedSession();
958
954
  if (unaddressed !== undefined) {
959
- this.disconnectedEndpoints.delete(endpointKey);
960
955
  unaddressed.enqueueConnected(event.localAddr, event.remoteAddr);
961
956
  this.enqueueUnaddressedMonitorSession(unaddressed.stream.sessionId);
962
957
  return;
@@ -976,7 +971,6 @@ class ZLinkStreamSessionNodeRuntime {
976
971
  case internal_event_contracts_1.ZLinkSocketNativeEventType.Disconnected:
977
972
  {
978
973
  const endpointKey = streamMonitorEndpointKey(event.localAddr, event.remoteAddr);
979
- this.disconnectedEndpoints.add(endpointKey);
980
974
  this.removePendingConnectionMetadata(endpointKey);
981
975
  const session = this.resolveMonitorSession(event);
982
976
  const error = new Error(`Stream disconnected: ${event.nativeEvent}/${event.value}`);
@@ -1035,8 +1029,7 @@ class ZLinkStreamSessionNodeRuntime {
1035
1029
  this.pendingConnectionMetadata.length = 0;
1036
1030
  this.pendingConnectionMetadataHead = 0;
1037
1031
  }
1038
- else if (this.pendingConnectionMetadataHead >= 1024 &&
1039
- this.pendingConnectionMetadataHead * 2 >= this.pendingConnectionMetadata.length) {
1032
+ else if ((0, admission_1.shouldCompactBackingArray)(this.pendingConnectionMetadataHead, this.pendingConnectionMetadata.length)) {
1040
1033
  this.pendingConnectionMetadata.splice(0, this.pendingConnectionMetadataHead);
1041
1034
  this.pendingConnectionMetadataHead = 0;
1042
1035
  }
@@ -1060,8 +1053,7 @@ class ZLinkStreamSessionNodeRuntime {
1060
1053
  this.unaddressedMonitorSessions.length = 0;
1061
1054
  this.unaddressedMonitorSessionHead = 0;
1062
1055
  }
1063
- else if (this.unaddressedMonitorSessionHead >= 1024 &&
1064
- this.unaddressedMonitorSessionHead * 2 >= this.unaddressedMonitorSessions.length) {
1056
+ else if ((0, admission_1.shouldCompactBackingArray)(this.unaddressedMonitorSessionHead, this.unaddressedMonitorSessions.length)) {
1065
1057
  this.unaddressedMonitorSessions.splice(0, this.unaddressedMonitorSessionHead);
1066
1058
  this.unaddressedMonitorSessionHead = 0;
1067
1059
  }
@@ -1,5 +1,5 @@
1
- import type { ZLinkWorkerCall } from '../../contracts';
2
- import type { ZLinkWorkerOptions } from '../configuration';
1
+ import { type ZLinkWorkerCall } from '../../contracts';
2
+ import { type ZLinkWorkerOptions } from '../configuration';
3
3
  export type ZLinkCpuWorkerWork<T> = (signal: AbortSignal) => T;
4
4
  export type ZLinkIoWorkerWork<T> = (signal: AbortSignal) => Promise<T>;
5
5
  export interface ZLinkWorkerRuntimeOptions {
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DefaultZLinkWorkerCall = exports.ZLinkWorkerRuntime = void 0;
4
4
  exports.resolveWorkerRuntimeOptions = resolveWorkerRuntimeOptions;
5
5
  exports.deliverOnSerial = deliverOnSerial;
6
- const framework_errors_internal_1 = require("../framework-errors-internal");
7
6
  const node_worker_threads_1 = require("node:worker_threads");
8
- const configuration_1 = require("../configuration");
9
7
  const InternalDefaults_1 = require("../../contracts/Configuration/InternalDefaults");
10
8
  const abort_1 = require("../abort");
9
+ const admission_1 = require("../admission");
10
+ const configuration_1 = require("../configuration");
11
11
  const execution_1 = require("../execution");
12
+ const framework_errors_internal_1 = require("../framework-errors-internal");
12
13
  function resolveWorkerRuntimeOptions(options) {
13
14
  const resolved = {
14
15
  minThreads: options?.minThreads ?? InternalDefaults_1.DEFAULT_WORKER_MIN_THREADS,
@@ -264,7 +265,7 @@ class ZLinkCpuWorkerPool {
264
265
  this.queue.length = 0;
265
266
  this.queueHead = 0;
266
267
  }
267
- else if (this.queueHead >= 1024 && this.queueHead * 2 >= this.queue.length) {
268
+ else if ((0, admission_1.shouldCompactBackingArray)(this.queueHead, this.queue.length)) {
268
269
  this.queue.splice(0, this.queueHead);
269
270
  this.queueHead = 0;
270
271
  }
@@ -284,7 +285,7 @@ class ZLinkCpuWorkerPool {
284
285
  while (this.queueHead < this.queue.length && this.queue[this.queueHead] === undefined) {
285
286
  this.queueHead += 1;
286
287
  }
287
- if (this.queueHead >= 1024 && this.queueHead * 2 >= this.queue.length) {
288
+ if ((0, admission_1.shouldCompactBackingArray)(this.queueHead, this.queue.length)) {
288
289
  this.queue.splice(0, this.queueHead);
289
290
  this.queueHead = 0;
290
291
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zlink-systems/framework",
3
- "version": "0.26.0",
3
+ "version": "0.28.0",
4
4
  "license": "SEE LICENSE IN LICENSE",
5
5
  "repository": {
6
6
  "type": "git",
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "@opentelemetry/api": "^1.9.1",
21
21
  "@opentelemetry/api-logs": "^0.221.0",
22
- "@zlink-systems/stream-wire": "0.26.0",
23
- "@zlink-systems/zlink": "1.10.0"
22
+ "@zlink-systems/stream-wire": "0.28.0",
23
+ "@zlink-systems/zlink": "1.15.0"
24
24
  }
25
25
  }
@@ -7,7 +7,7 @@ export interface ZLinkActorClient {
7
7
 
8
8
  export interface ZLinkActorSendCall {
9
9
  metadata(key: string, value: string): this;
10
- submit(signal?: AbortSignal): Promise<void>;
10
+ submit(): Promise<void>;
11
11
  }
12
12
 
13
13
  export interface ZLinkActorRequestCall {
@@ -3,7 +3,7 @@ import type { ZLinkMessageMetadata } from '../Common';
3
3
  export interface ZLinkSendCall {
4
4
  metadata(key: string, value: string): this;
5
5
  metadata(metadata: ZLinkMessageMetadata): this;
6
- submit(signal?: AbortSignal): Promise<void>;
6
+ submit(): Promise<void>;
7
7
  }
8
8
 
9
9
  export interface ZLinkRequestCall {
@@ -4,3 +4,10 @@ export type RoutingId = string;
4
4
  export type ActorId = string;
5
5
  /** Global logical Spot identity. It is not a transport RoutingId. */
6
6
  export type SpotId = string;
7
+
8
+ export const ZLINK_MAX_ACTOR_ID_BYTES = 255;
9
+ export const ZLINK_MAX_SPOT_ID_BYTES = 255;
10
+ export const ZLINK_MAX_ROUTING_ID_BYTES = 255;
11
+ export const ZLINK_MAX_STABLE_TYPE_BYTES = 255;
12
+ export const ZLINK_MAX_MESH_NAME_BYTES = 255;
13
+ export const ZLINK_MAX_IDENTITY_TEXT_BYTES = 255;
@@ -1,5 +1,5 @@
1
1
  export * from './ActorRef';
2
- export * from './CoreTypes';
2
+ export type { Type, RoutingId, ActorId, SpotId } from './CoreTypes';
3
3
  export * from './ZLinkEncodedPayload';
4
4
  export * from './ZLinkMessageMetadata';
5
5
  export { ZLinkMessage, isZLinkMessage } from './ZLinkMessage';
@@ -100,7 +100,6 @@ export interface ZLinkMeshNodeSocketConfig {
100
100
  sendHighWaterMark: number;
101
101
  receiveHighWaterMark: number;
102
102
  receiveTimeoutMs?: number;
103
- sendTimeoutMs?: number;
104
103
  }
105
104
 
106
105
  export interface ZLinkStreamSocketConfig {
@@ -8,7 +8,6 @@ export interface ZLinkSocketConfig {
8
8
  sendHighWaterMark?: number;
9
9
  receiveHighWaterMark?: number;
10
10
  receiveTimeoutMs?: number;
11
- sendTimeoutMs?: number;
12
11
  }
13
12
 
14
13
  export interface ZLinkRouteConfig {
@@ -3,6 +3,12 @@ import * as os from 'node:os';
3
3
  /** Default complete header plus payload size accepted by a StreamNode. */
4
4
  export const DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE = 64 * 1024;
5
5
 
6
+ /** service-wire 스키마가 정한 relocation chunk payload의 바이트 상한입니다. */
7
+ export const RELOCATION_STATE_CHUNK_DATA_MAX_BYTES = 67_108_864;
8
+
9
+ /** Default MeshNode pending activation limit (spec 03-mesh-node §5.1). */
10
+ export const DEFAULT_ACTIVATION_CONCURRENCY_LIMIT = 128;
11
+
6
12
  /** Defaults shared by registration normalization and the runtime worker pool. */
7
13
  export const DEFAULT_WORKER_MIN_THREADS = 0;
8
14
  export const DEFAULT_WORKER_IDLE_TIMEOUT_MS = 30_000;
@@ -10,3 +16,9 @@ export const DEFAULT_WORKER_IDLE_TIMEOUT_MS = 30_000;
10
16
  export function defaultWorkerMaxThreads(): number {
11
17
  return Math.max(2, os.availableParallelism());
12
18
  }
19
+
20
+ export const ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES = 4096;
21
+
22
+ export const AUTHORITY_ENVELOPE_MAX_BYTES = 1024 * 1024;
23
+ export const CREATION_INTENT_MAX_BYTES = 1024 * 1024;
24
+ export const CREATION_TERMINAL_ENVELOPE_MAX_BYTES = 1024 * 1024;