@zlink-systems/framework 0.26.0 → 0.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (521) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  3. package/dist/contracts/Common/CoreTypes.js +7 -0
  4. package/dist/contracts/Common/index.d.ts +1 -1
  5. package/dist/contracts/Common/index.js +0 -1
  6. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  7. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  8. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  9. package/dist/contracts/Configuration/Registration.js +58 -36
  10. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  12. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  13. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  14. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  15. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  16. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  17. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  18. package/dist/contracts/Handlers/JsonContract.js +10 -4
  19. package/dist/contracts/Locations/Authority.d.ts +1 -1
  20. package/dist/contracts/Locations/Authority.js +3 -2
  21. package/dist/contracts/Locations/Options.js +1 -1
  22. package/dist/contracts/Locations/Stores.d.ts +12 -0
  23. package/dist/contracts/Locations/Stores.js +9 -0
  24. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  25. package/dist/internal.d.ts +4 -0
  26. package/dist/internal.js +15 -1
  27. package/dist/nest-integration.d.ts +4 -2
  28. package/dist/nest-integration.js +14 -4
  29. package/dist/runtime/abort.d.ts +1 -0
  30. package/dist/runtime/abort.js +8 -5
  31. package/dist/runtime/activation-admission.d.ts +1 -2
  32. package/dist/runtime/activation-admission.js +2 -6
  33. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  34. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  35. package/dist/runtime/actors/actor-client.d.ts +2 -2
  36. package/dist/runtime/actors/actor-client.js +42 -143
  37. package/dist/runtime/actors/actor-context.d.ts +3 -5
  38. package/dist/runtime/actors/actor-context.js +13 -11
  39. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  40. package/dist/runtime/actors/actor-handoff.js +8 -8
  41. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  42. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  43. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  44. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  45. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  46. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  47. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  48. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  49. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  50. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  51. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  52. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  53. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  54. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  55. package/dist/runtime/actors/bound-session-wire.js +2 -7
  56. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  57. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  58. package/dist/runtime/actors/index.d.ts +9 -7
  59. package/dist/runtime/actors/index.js +87 -69
  60. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  61. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  62. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  63. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  64. package/dist/runtime/admission.d.ts +2 -0
  65. package/dist/runtime/admission.js +7 -1
  66. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  67. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  68. package/dist/runtime/backend/contracts/index.d.ts +6 -23
  69. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  70. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  71. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  72. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +1 -1
  73. package/dist/runtime/backend/node/node-backend-adapter-support.js +16 -6
  74. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  75. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  76. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  77. package/dist/runtime/backend/node/node-raw-binding-port.js +40 -16
  78. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  79. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  80. package/dist/runtime/backend/node/node-socket-backend-adapter.js +3 -2
  81. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  82. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  83. package/dist/runtime/backend/runtime-values.js +2 -0
  84. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  85. package/dist/runtime/channels/channel-clients.js +68 -52
  86. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  87. package/dist/runtime/channels/channel-envelope.js +47 -29
  88. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  89. package/dist/runtime/channels/channel-outbound-operations.js +9 -10
  90. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  91. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  92. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  93. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  94. package/dist/runtime/channels/channel-runtime-manager.js +5 -2
  95. package/dist/runtime/channels/channel-socket-options.js +3 -2
  96. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  97. package/dist/runtime/channels/channel-socket-registry.js +248 -174
  98. package/dist/runtime/channels/channel-transports.d.ts +11 -17
  99. package/dist/runtime/channels/channel-transports.js +68 -47
  100. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  101. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  102. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  103. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  104. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  105. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  106. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  107. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  108. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  109. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  110. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  111. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  112. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  113. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  114. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  115. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  116. package/dist/runtime/diagnostics/flow-context.js +16 -2
  117. package/dist/runtime/diagnostics/index.d.ts +4 -2
  118. package/dist/runtime/diagnostics/index.js +14 -4
  119. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  120. package/dist/runtime/diagnostics/message-flow.js +10 -19
  121. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  122. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  123. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  124. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  125. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  126. package/dist/runtime/disposal.d.ts +5 -0
  127. package/dist/runtime/disposal.js +22 -0
  128. package/dist/runtime/execution/index.d.ts +12 -9
  129. package/dist/runtime/execution/index.js +58 -14
  130. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  131. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  132. package/dist/runtime/execution/state-lane.d.ts +8 -1
  133. package/dist/runtime/execution/state-lane.js +118 -3
  134. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  135. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  136. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  137. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  138. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  139. package/dist/runtime/foundation/operation-identity.js +9 -5
  140. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  141. package/dist/runtime/foundation/operation-registry.js +34 -44
  142. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  143. package/dist/runtime/foundation/raw-service-mesh-runtime.js +62 -83
  144. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  145. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  146. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  147. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  148. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  149. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  150. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  151. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  152. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  153. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  154. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  155. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  156. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  157. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  158. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  159. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  160. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  161. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  162. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  163. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  164. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  165. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  166. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  167. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  168. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  169. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  170. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  171. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  172. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  173. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  174. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  175. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  176. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  177. package/dist/runtime/framework-errors-internal.js +343 -122
  178. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  179. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  180. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  181. package/dist/runtime/host/actor-packet-relay.js +48 -91
  182. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  183. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  184. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  185. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  186. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  187. package/dist/runtime/host/application-job-queue.js +16 -33
  188. package/dist/runtime/host/bound-session-relay.js +1 -1
  189. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  190. package/dist/runtime/host/index.d.ts +14 -13
  191. package/dist/runtime/host/index.js +190 -157
  192. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  193. package/dist/runtime/host/instance-activation-authority.js +17 -45
  194. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  195. package/dist/runtime/host/location-runtime-owner.js +2 -2
  196. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  197. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  198. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  199. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  200. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  201. package/dist/runtime/host/remote-bound-session-relay.js +7 -20
  202. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  203. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  204. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  205. package/dist/runtime/host/runtime-shutdown.js +18 -21
  206. package/dist/runtime/host/service-relocation-control.js +6 -1
  207. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  208. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  209. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  210. package/dist/runtime/host/spot-address-transport.js +34 -136
  211. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  212. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  213. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  214. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  215. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  216. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  217. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  218. package/dist/runtime/locations/authority-key-codec.js +4 -3
  219. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  220. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  221. package/dist/runtime/locations/creation-operation-id.js +6 -4
  222. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  223. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  224. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  225. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  226. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  227. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  228. package/dist/runtime/locations/key-codec.js +3 -2
  229. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  230. package/dist/runtime/locations/lease-tracker.js +7 -11
  231. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  232. package/dist/runtime/locations/lifecycle.js +2 -31
  233. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  234. package/dist/runtime/locations/location-store-failure.js +7 -0
  235. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  236. package/dist/runtime/locations/location-store-pages.js +13 -0
  237. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  238. package/dist/runtime/locations/location-store-repository.js +303 -332
  239. package/dist/runtime/locations/relocation-blob.js +18 -5
  240. package/dist/runtime/locations/resolvers.d.ts +5 -5
  241. package/dist/runtime/locations/resolvers.js +37 -28
  242. package/dist/runtime/locations/runtime.d.ts +5 -4
  243. package/dist/runtime/locations/runtime.js +123 -92
  244. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  245. package/dist/runtime/locations/spot-location-claims.js +42 -1
  246. package/dist/runtime/messaging/payload-codec.js +26 -20
  247. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  248. package/dist/runtime/messaging/submission-result.js +48 -0
  249. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  250. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  251. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  252. package/dist/runtime/spots/index.d.ts +14 -20
  253. package/dist/runtime/spots/index.js +302 -176
  254. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  255. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  256. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  257. package/dist/runtime/spots/spot-activation-state.js +2 -2
  258. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  259. package/dist/runtime/spots/spot-activation.js +49 -32
  260. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  261. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  262. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  263. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  264. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  265. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  266. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  267. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  268. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  269. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  270. package/dist/runtime/spots/spot-context.d.ts +2 -2
  271. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  272. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  273. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  274. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  275. package/dist/runtime/spots/spot-manager-public.js +5 -4
  276. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  277. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  278. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  279. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  280. package/dist/runtime/spots/spot-outbound.js +9 -8
  281. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  282. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  283. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  284. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  285. package/dist/runtime/spots/spot-route-replies.js +3 -1
  286. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  287. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  288. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  289. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  290. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  291. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  292. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  293. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  294. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  295. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  296. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  297. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  298. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  299. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  300. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  301. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  302. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  303. package/dist/runtime/streams/bound-session-service.js +11 -1
  304. package/dist/runtime/streams/index.d.ts +14 -15
  305. package/dist/runtime/streams/index.js +20 -21
  306. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  307. package/dist/runtime/streams/managed-stream.js +17 -8
  308. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  309. package/dist/runtime/streams/protocol.d.ts +6 -33
  310. package/dist/runtime/streams/protocol.js +38 -110
  311. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  312. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  313. package/dist/runtime/streams/session-calls.d.ts +1 -1
  314. package/dist/runtime/streams/session-calls.js +5 -4
  315. package/dist/runtime/streams/session-context.d.ts +6 -6
  316. package/dist/runtime/streams/session-context.js +22 -4
  317. package/dist/runtime/streams/session-requests.js +2 -1
  318. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  319. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  320. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  321. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  322. package/dist/runtime/workers/index.d.ts +2 -2
  323. package/dist/runtime/workers/index.js +5 -4
  324. package/package.json +3 -3
  325. package/src/contracts/Common/CoreTypes.ts +7 -0
  326. package/src/contracts/Common/index.ts +1 -1
  327. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  328. package/src/contracts/Configuration/Registration.ts +92 -48
  329. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  330. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  331. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  332. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  333. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  334. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  335. package/src/contracts/Handlers/JsonContract.ts +14 -4
  336. package/src/contracts/Locations/Authority.ts +7 -3
  337. package/src/contracts/Locations/Options.ts +1 -1
  338. package/src/contracts/Locations/Stores.ts +14 -0
  339. package/src/contracts/Spots/Contracts.ts +1 -1
  340. package/src/internal.ts +14 -0
  341. package/src/nest-integration.ts +28 -10
  342. package/src/runtime/abort.ts +6 -5
  343. package/src/runtime/activation-admission.ts +2 -8
  344. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  345. package/src/runtime/actors/actor-client.ts +77 -204
  346. package/src/runtime/actors/actor-context.ts +39 -33
  347. package/src/runtime/actors/actor-handoff.ts +24 -22
  348. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  349. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  350. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  351. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  352. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  353. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  354. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  355. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  356. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  357. package/src/runtime/actors/bound-session-wire.ts +2 -8
  358. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  359. package/src/runtime/actors/index.ts +100 -79
  360. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  361. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  362. package/src/runtime/admission.ts +8 -1
  363. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  364. package/src/runtime/backend/contracts/index.ts +13 -29
  365. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  366. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  367. package/src/runtime/backend/node/node-backend-adapter-support.ts +23 -6
  368. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  369. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  370. package/src/runtime/backend/node/node-raw-binding-port.ts +41 -20
  371. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  372. package/src/runtime/backend/node/node-socket-backend-adapter.ts +3 -2
  373. package/src/runtime/backend/raw-binding-port.ts +1 -1
  374. package/src/runtime/backend/runtime-values.ts +4 -1
  375. package/src/runtime/channels/channel-clients.ts +132 -85
  376. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  377. package/src/runtime/channels/channel-envelope.ts +58 -29
  378. package/src/runtime/channels/channel-outbound-operations.ts +10 -23
  379. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  380. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  381. package/src/runtime/channels/channel-runtime-manager.ts +6 -2
  382. package/src/runtime/channels/channel-socket-options.ts +8 -2
  383. package/src/runtime/channels/channel-socket-registry.ts +301 -192
  384. package/src/runtime/channels/channel-transports.ts +161 -112
  385. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  386. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  387. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  388. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  389. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  390. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  391. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  392. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  393. package/src/runtime/diagnostics/flow-context.ts +16 -2
  394. package/src/runtime/diagnostics/index.ts +27 -17
  395. package/src/runtime/diagnostics/message-flow.ts +15 -25
  396. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  397. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  398. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  399. package/src/runtime/disposal.ts +19 -0
  400. package/src/runtime/execution/index.ts +60 -20
  401. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  402. package/src/runtime/execution/state-lane.ts +142 -4
  403. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  404. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  405. package/src/runtime/foundation/operation-identity.ts +11 -5
  406. package/src/runtime/foundation/operation-registry.ts +33 -50
  407. package/src/runtime/foundation/raw-service-mesh-runtime.ts +110 -111
  408. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  409. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  410. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  411. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  412. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  413. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  414. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  415. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  416. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  417. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  418. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  419. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  420. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  421. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  422. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  423. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  424. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  425. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  426. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  427. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  428. package/src/runtime/framework-errors-internal.ts +380 -134
  429. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  430. package/src/runtime/host/actor-packet-relay.ts +57 -147
  431. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  432. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  433. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  434. package/src/runtime/host/application-job-queue.ts +28 -34
  435. package/src/runtime/host/bound-session-relay.ts +1 -2
  436. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  437. package/src/runtime/host/index.ts +327 -296
  438. package/src/runtime/host/instance-activation-authority.ts +89 -109
  439. package/src/runtime/host/location-runtime-owner.ts +4 -2
  440. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  441. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  442. package/src/runtime/host/remote-bound-session-relay.ts +8 -41
  443. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  444. package/src/runtime/host/runtime-shutdown.ts +17 -21
  445. package/src/runtime/host/service-relocation-control.ts +14 -1
  446. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  447. package/src/runtime/host/spot-address-transport.ts +73 -195
  448. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  449. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  450. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  451. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  452. package/src/runtime/locations/authority-key-codec.ts +7 -3
  453. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  454. package/src/runtime/locations/creation-operation-id.ts +6 -3
  455. package/src/runtime/locations/domain-store-contract.ts +12 -3
  456. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  457. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  458. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  459. package/src/runtime/locations/key-codec.ts +3 -2
  460. package/src/runtime/locations/lease-tracker.ts +8 -14
  461. package/src/runtime/locations/lifecycle.ts +13 -43
  462. package/src/runtime/locations/location-store-failure.ts +4 -0
  463. package/src/runtime/locations/location-store-pages.ts +18 -0
  464. package/src/runtime/locations/location-store-repository.ts +450 -478
  465. package/src/runtime/locations/relocation-blob.ts +17 -6
  466. package/src/runtime/locations/resolvers.ts +75 -49
  467. package/src/runtime/locations/runtime.ts +220 -110
  468. package/src/runtime/locations/spot-location-claims.ts +58 -1
  469. package/src/runtime/messaging/payload-codec.ts +35 -24
  470. package/src/runtime/messaging/submission-result.ts +57 -1
  471. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  472. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  473. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  474. package/src/runtime/spots/index.ts +433 -229
  475. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  476. package/src/runtime/spots/spot-activation-state.ts +2 -2
  477. package/src/runtime/spots/spot-activation.ts +67 -37
  478. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  479. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  480. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  481. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  482. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  483. package/src/runtime/spots/spot-context.ts +3 -3
  484. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  485. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  486. package/src/runtime/spots/spot-manager-public.ts +21 -17
  487. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  488. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  489. package/src/runtime/spots/spot-outbound.ts +45 -23
  490. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  491. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  492. package/src/runtime/spots/spot-route-replies.ts +6 -4
  493. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  494. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  495. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  496. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  497. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  498. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  499. package/src/runtime/spots/spot-timer.ts +3 -2
  500. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  501. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  502. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  503. package/src/runtime/streams/bound-session-service.ts +21 -1
  504. package/src/runtime/streams/index.ts +76 -64
  505. package/src/runtime/streams/managed-stream.ts +29 -10
  506. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  507. package/src/runtime/streams/protocol.ts +34 -88
  508. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  509. package/src/runtime/streams/session-calls.ts +6 -5
  510. package/src/runtime/streams/session-context.ts +54 -10
  511. package/src/runtime/streams/session-requests.ts +2 -1
  512. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  513. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  514. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  515. package/src/runtime/workers/index.ts +13 -12
  516. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  517. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  518. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  519. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  520. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  521. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defineZLinkPacketJsonContract = defineZLinkPacketJsonContract;
4
4
  exports.readZLinkPacketJsonContract = readZLinkPacketJsonContract;
5
+ const MAX_CONTRACT_SCHEMA_DEPTH = 64;
5
6
  const ZLINK_PACKET_JSON_CONTRACTS = Symbol.for('@zlink-systems/framework:packet-json-contracts');
6
7
  function defineZLinkPacketJsonContract(packetName, contract) {
7
8
  if (packetName.trim().length === 0) {
@@ -35,8 +36,10 @@ function normalizeJsonSchema(schema, parents, depth) {
35
36
  // Keep the runtime boundary defensive for JavaScript callers even though
36
37
  // the TypeScript signature describes the accepted shape.
37
38
  const runtimeSchema = schema;
38
- if (typeof runtimeSchema !== 'object' || runtimeSchema === null || depth > 64) {
39
- throw new TypeError('ZLink packet JSON schema must be an acyclic object with at most 64 levels.');
39
+ if (typeof runtimeSchema !== 'object' ||
40
+ runtimeSchema === null ||
41
+ depth > MAX_CONTRACT_SCHEMA_DEPTH) {
42
+ throw new TypeError(`ZLink packet JSON schema must be an acyclic object with at most ${MAX_CONTRACT_SCHEMA_DEPTH} levels.`);
40
43
  }
41
44
  const normalizedSchema = runtimeSchema;
42
45
  if (parents.has(normalizedSchema))
@@ -95,7 +98,7 @@ function normalizeJsonSchema(schema, parents, depth) {
95
98
  }
96
99
  const properties = {};
97
100
  for (const [name, property] of Object.entries(runtimeProperties)) {
98
- if (name === '__proto__' || name === 'prototype' || name === 'constructor') {
101
+ if (isPrototypeKey(name)) {
99
102
  throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
100
103
  }
101
104
  properties[name] = normalizeJsonSchema(property, nextParents, depth + 1);
@@ -104,7 +107,7 @@ function normalizeJsonSchema(schema, parents, depth) {
104
107
  throw new TypeError('ZLink packet JSON required properties must be unique.');
105
108
  }
106
109
  for (const name of normalizedSchema.required) {
107
- if (name === '__proto__' || name === 'prototype' || name === 'constructor') {
110
+ if (isPrototypeKey(name)) {
108
111
  throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
109
112
  }
110
113
  if (!Object.prototype.hasOwnProperty.call(properties, name)) {
@@ -147,3 +150,6 @@ function canonicalContract(value) {
147
150
  .map(([key, item]) => `${JSON.stringify(key)}:${canonicalContract(item)}`)
148
151
  .join(',')}}`;
149
152
  }
153
+ function isPrototypeKey(name) {
154
+ return name === '__proto__' || name === 'prototype' || name === 'constructor';
155
+ }
@@ -60,7 +60,7 @@ export type ZLinkAuthorityReadResult = {
60
60
  export type ZLinkAuthorityMutation = {
61
61
  readonly kind: 'put';
62
62
  readonly payload: Uint8Array;
63
- readonly generationTransition: 'preserve';
63
+ readonly generationTransition: 'preserve' | 'reincarnate';
64
64
  } | {
65
65
  /** Rebinds an authority retained by the same owner after lease recovery. */
66
66
  readonly kind: 'rebindOwnerLease';
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ZLinkAuthorityScanCursor = void 0;
4
+ const ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES = 4096;
4
5
  class ZLinkAuthorityScanCursor {
5
6
  encoded;
6
7
  constructor(encoded) {
@@ -8,8 +9,8 @@ class ZLinkAuthorityScanCursor {
8
9
  }
9
10
  static from(encoded) {
10
11
  const byteLength = Buffer.byteLength(encoded, 'utf8');
11
- if (byteLength < 1 || byteLength > 4096) {
12
- throw new RangeError('Authority scan cursor must contain 1..4096 UTF-8 bytes.');
12
+ if (byteLength < 1 || byteLength > ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES) {
13
+ throw new RangeError(`Authority scan cursor must contain 1..${ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES} UTF-8 bytes.`);
13
14
  }
14
15
  return new ZLinkAuthorityScanCursor(encoded);
15
16
  }
@@ -5,7 +5,7 @@ exports.zlinkRuntimeDefaultLocationOptions = {
5
5
  ownerLeaseRenewIntervalMs: 5000,
6
6
  ownerLeaseTtlMs: 15000,
7
7
  pollingIntervalMs: 1000,
8
- listPageSize: 1000,
8
+ listPageSize: 100,
9
9
  storeFailureGraceMs: 30000,
10
10
  ownerLeaseFencingMarginMs: 5000,
11
11
  ownerLeaseRenewTimeoutMs: 3000,
@@ -1,3 +1,11 @@
1
+ export declare const ZLINK_PROVIDER_MAX_PAGE_SIZE = 1000;
2
+ export declare const ZLINK_PROVIDER_MAX_KEY_BYTES = 1024;
3
+ export declare const ZLINK_PROVIDER_MAX_VALUE_BYTES: number;
4
+ export declare const ZLINK_PROVIDER_MAX_VERSION_BYTES = 4096;
5
+ export declare const ZLINK_PROVIDER_MAX_WRITE_KEYS = 2048;
6
+ export declare const ZLINK_PROVIDER_MAX_WRITE_BYTES: number;
7
+ export declare const ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES: number;
8
+ export declare const ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = 4096;
1
9
  declare const zlinkStoreKeyBrand: unique symbol;
2
10
  declare const zlinkStoreVersionBrand: unique symbol;
3
11
  declare const zlinkStoreScanCursorBrand: unique symbol;
@@ -33,6 +41,10 @@ export type ZLinkStoreCondition = {
33
41
  readonly kind: 'version';
34
42
  readonly key: ZLinkStoreKey;
35
43
  readonly expected: ZLinkStoreVersion;
44
+ } | {
45
+ readonly kind: 'value';
46
+ readonly key: ZLinkStoreKey;
47
+ readonly expected: Uint8Array;
36
48
  };
37
49
  export type ZLinkStoreMutation = {
38
50
  readonly kind: 'put';
@@ -1,2 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = exports.ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES = exports.ZLINK_PROVIDER_MAX_WRITE_BYTES = exports.ZLINK_PROVIDER_MAX_WRITE_KEYS = exports.ZLINK_PROVIDER_MAX_VERSION_BYTES = exports.ZLINK_PROVIDER_MAX_VALUE_BYTES = exports.ZLINK_PROVIDER_MAX_KEY_BYTES = exports.ZLINK_PROVIDER_MAX_PAGE_SIZE = void 0;
4
+ exports.ZLINK_PROVIDER_MAX_PAGE_SIZE = 1000;
5
+ exports.ZLINK_PROVIDER_MAX_KEY_BYTES = 1024;
6
+ exports.ZLINK_PROVIDER_MAX_VALUE_BYTES = 1024 * 1024;
7
+ exports.ZLINK_PROVIDER_MAX_VERSION_BYTES = 4096;
8
+ exports.ZLINK_PROVIDER_MAX_WRITE_KEYS = 2048;
9
+ exports.ZLINK_PROVIDER_MAX_WRITE_BYTES = 4 * 1024 * 1024;
10
+ exports.ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES = 4 * 1024 * 1024;
11
+ exports.ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = 4096;
@@ -22,7 +22,7 @@ export interface ZLinkWorkerCall<T> {
22
22
  export interface ZLinkSpotCommonContext<TSpot = ZLinkSpot> {
23
23
  readonly meshName: string;
24
24
  readonly spotId: SpotId;
25
- readonly objectGeneration: number;
25
+ readonly objectGeneration: bigint;
26
26
  readonly nodeRid: RoutingId;
27
27
  readonly outbound: ZLinkSpotOutbound;
28
28
  addTimer<THandler extends ZLinkSpotTimerHandler<TSpot>>(name: string, periodMs: number, handlerType: Type<THandler>, options?: ZLinkTimerOptions, signal?: AbortSignal): Promise<ZLinkTimer>;
@@ -25,3 +25,7 @@ export * from './runtime/foundation';
25
25
  export * from './runtime/foundation/service-authority-payload-codec';
26
26
  export * from './runtime/framework-errors-internal';
27
27
  export * from './contracts/Configuration/Registration';
28
+ export * from './contracts/Locations/Stores';
29
+ export { ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES } from './contracts/Configuration/InternalDefaults';
30
+ export { ZLINK_MAX_STABLE_TYPE_BYTES } from './contracts/Common/CoreTypes';
31
+ export { MAX_LISTENER_PORT, ZLINK_MAX_PUBLIC_WEIGHT, ZLINK_MAX_CAPACITY, isValidPublicWeight, isValidPositiveCapacity, isValidListenerPort, isValidCapacity, requirePublicWeight } from './contracts/Configuration/RegistrationBuilderPolicy';
package/dist/internal.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.ZLinkLocationWriteStatus = exports.ZLinkLocationWriteIntent = exports.ZLinkRouteKind = exports.ZLinkLocationKind = exports.ZLinkLocationAutoConnectType = void 0;
17
+ exports.requirePublicWeight = exports.isValidCapacity = exports.isValidListenerPort = exports.isValidPositiveCapacity = exports.isValidPublicWeight = exports.ZLINK_MAX_CAPACITY = exports.ZLINK_MAX_PUBLIC_WEIGHT = exports.MAX_LISTENER_PORT = exports.ZLINK_MAX_STABLE_TYPE_BYTES = exports.ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES = exports.ZLinkLocationWriteStatus = exports.ZLinkLocationWriteIntent = exports.ZLinkRouteKind = exports.ZLinkLocationKind = exports.ZLinkLocationAutoConnectType = void 0;
18
18
  /** Test and companion-package integration surface. It is not exported by package.json. */
19
19
  __exportStar(require("./index"), exports);
20
20
  __exportStar(require("./runtime/diagnostics"), exports);
@@ -47,3 +47,17 @@ __exportStar(require("./runtime/foundation"), exports);
47
47
  __exportStar(require("./runtime/foundation/service-authority-payload-codec"), exports);
48
48
  __exportStar(require("./runtime/framework-errors-internal"), exports);
49
49
  __exportStar(require("./contracts/Configuration/Registration"), exports);
50
+ __exportStar(require("./contracts/Locations/Stores"), exports);
51
+ var InternalDefaults_1 = require("./contracts/Configuration/InternalDefaults");
52
+ Object.defineProperty(exports, "ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES", { enumerable: true, get: function () { return InternalDefaults_1.ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES; } });
53
+ var CoreTypes_1 = require("./contracts/Common/CoreTypes");
54
+ Object.defineProperty(exports, "ZLINK_MAX_STABLE_TYPE_BYTES", { enumerable: true, get: function () { return CoreTypes_1.ZLINK_MAX_STABLE_TYPE_BYTES; } });
55
+ var RegistrationBuilderPolicy_1 = require("./contracts/Configuration/RegistrationBuilderPolicy");
56
+ Object.defineProperty(exports, "MAX_LISTENER_PORT", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.MAX_LISTENER_PORT; } });
57
+ Object.defineProperty(exports, "ZLINK_MAX_PUBLIC_WEIGHT", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.ZLINK_MAX_PUBLIC_WEIGHT; } });
58
+ Object.defineProperty(exports, "ZLINK_MAX_CAPACITY", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.ZLINK_MAX_CAPACITY; } });
59
+ Object.defineProperty(exports, "isValidPublicWeight", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidPublicWeight; } });
60
+ Object.defineProperty(exports, "isValidPositiveCapacity", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidPositiveCapacity; } });
61
+ Object.defineProperty(exports, "isValidListenerPort", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidListenerPort; } });
62
+ Object.defineProperty(exports, "isValidCapacity", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidCapacity; } });
63
+ Object.defineProperty(exports, "requirePublicWeight", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.requirePublicWeight; } });
@@ -1,7 +1,8 @@
1
- export { ZLinkConfigurationException, createFrameworkRegistration, hasActorManager, hasSpotNode, hasSpotPublisherClient } from './contracts/Configuration/Registration';
1
+ export { ZLinkConfigurationException, createFrameworkRegistration, normalizeFrameworkRegistration, hasActorManager, hasSpotNode, hasSpotPublisherClient } from './contracts/Configuration/Registration';
2
2
  export type * from './contracts/Configuration/RegistrationTypes';
3
3
  export type * from './contracts';
4
- export { registerActorFactory, validateRoutingIdPrefix, registerEntrySpot, registerSpotFactory, validateActorTransferTimeout, validateMessageFollowDuration, validateSessionReplacementCallbackTimeout } from './contracts/Configuration/RegistrationBuilderPolicy';
4
+ export { ZLinkSpotActorSend, ZLinkSpotActorRequest } from './contracts/Handlers/Attributes';
5
+ export { registerActorFactory, registerRelocationStore, validateRoutingIdPrefix, registerEntrySpot, registerSpotFactory, validateActorTransferTimeout, validateMessageFollowDuration, validateSessionReplacementCallbackTimeout } from './contracts/Configuration/RegistrationBuilderPolicy';
5
6
  import type { ZLinkLocationRuntimeQuery, ZLinkActorClient, ZLinkActorManager, ZLinkChannelClient, ZLinkClientServerRuntime, ZLinkCodecRegistryBuilder, ZLinkCodecRegistrar, ZLinkDispatchOptions, ZLinkDispatchOptionsBuilder, ZLinkFanoutClient, ZLinkFanoutRuntime, ZLinkRouteClient, ZLinkRouteMeshRuntime, ZLinkRouteMeshRuntimeOptions, ZLinkSpotManager, ZLinkSpotOutbound, ZLinkSpotPublisherClient, ZLinkStreamCompressionBuilder, ZLinkStreamCompressionCodec } from './contracts';
6
7
  import type { ZLinkProviderResolver } from './contracts/Common/ZLinkProviderResolver';
7
8
  import type { ZLinkSpotHandleResolver } from './runtime/spots/spot-handle';
@@ -10,6 +11,7 @@ import type { ZLinkFrameworkRegistration } from './contracts/Configuration/Regis
10
11
  import type { ZLinkCodecSerializerRegistration, ZLinkFrameworkRegistrationOptions, ZLinkStreamCodecRegistration } from './contracts/Configuration/RegistrationTypes';
11
12
  import { captureZLinkExecutionTurn } from './runtime/execution';
12
13
  export { registerHandlerFilterScope as registerIntegrationHandlerFilterScope, type ZLinkHandlerFilterScopeRunner } from './runtime/channels/handler-filter-scope';
14
+ export { disposeOwnedInstance as disposeIntegrationHandler, disposeOwnedInstances as disposeIntegrationHandlers } from './runtime/handlers/handler-instance-scope';
13
15
  export interface ZLinkNestIntegrationRuntimeHost extends Pick<import('./contracts').ZLinkFrameworkRuntime, 'shutdown'> {
14
16
  readonly channelRuntimeOptions: unknown;
15
17
  readonly routeMeshRuntimeOptions: ZLinkRouteMeshRuntimeOptions;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerIntegrationHandlerFilterScope = exports.validateSessionReplacementCallbackTimeout = exports.validateMessageFollowDuration = exports.validateActorTransferTimeout = exports.registerSpotFactory = exports.registerEntrySpot = exports.validateRoutingIdPrefix = exports.registerActorFactory = exports.hasSpotPublisherClient = exports.hasSpotNode = exports.hasActorManager = exports.createFrameworkRegistration = exports.ZLinkConfigurationException = void 0;
3
+ exports.disposeIntegrationHandlers = exports.disposeIntegrationHandler = exports.registerIntegrationHandlerFilterScope = exports.validateSessionReplacementCallbackTimeout = exports.validateMessageFollowDuration = exports.validateActorTransferTimeout = exports.registerSpotFactory = exports.registerEntrySpot = exports.validateRoutingIdPrefix = exports.registerRelocationStore = exports.registerActorFactory = exports.ZLinkSpotActorRequest = exports.ZLinkSpotActorSend = exports.hasSpotPublisherClient = exports.hasSpotNode = exports.hasActorManager = exports.normalizeFrameworkRegistration = exports.createFrameworkRegistration = exports.ZLinkConfigurationException = void 0;
4
4
  exports.createIntegrationDispatchOptionsBuilder = createIntegrationDispatchOptionsBuilder;
5
5
  exports.createIntegrationInboundDispatchOptionsBuilder = createIntegrationInboundDispatchOptionsBuilder;
6
6
  exports.createIntegrationLocationOptionsBuilder = createIntegrationLocationOptionsBuilder;
@@ -19,11 +19,16 @@ exports.createIntegrationHttpExecutionScheduler = createIntegrationHttpExecution
19
19
  var Registration_1 = require("./contracts/Configuration/Registration");
20
20
  Object.defineProperty(exports, "ZLinkConfigurationException", { enumerable: true, get: function () { return Registration_1.ZLinkConfigurationException; } });
21
21
  Object.defineProperty(exports, "createFrameworkRegistration", { enumerable: true, get: function () { return Registration_1.createFrameworkRegistration; } });
22
+ Object.defineProperty(exports, "normalizeFrameworkRegistration", { enumerable: true, get: function () { return Registration_1.normalizeFrameworkRegistration; } });
22
23
  Object.defineProperty(exports, "hasActorManager", { enumerable: true, get: function () { return Registration_1.hasActorManager; } });
23
24
  Object.defineProperty(exports, "hasSpotNode", { enumerable: true, get: function () { return Registration_1.hasSpotNode; } });
24
25
  Object.defineProperty(exports, "hasSpotPublisherClient", { enumerable: true, get: function () { return Registration_1.hasSpotPublisherClient; } });
26
+ var Attributes_1 = require("./contracts/Handlers/Attributes");
27
+ Object.defineProperty(exports, "ZLinkSpotActorSend", { enumerable: true, get: function () { return Attributes_1.ZLinkSpotActorSend; } });
28
+ Object.defineProperty(exports, "ZLinkSpotActorRequest", { enumerable: true, get: function () { return Attributes_1.ZLinkSpotActorRequest; } });
25
29
  var RegistrationBuilderPolicy_1 = require("./contracts/Configuration/RegistrationBuilderPolicy");
26
30
  Object.defineProperty(exports, "registerActorFactory", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerActorFactory; } });
31
+ Object.defineProperty(exports, "registerRelocationStore", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerRelocationStore; } });
27
32
  Object.defineProperty(exports, "validateRoutingIdPrefix", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.validateRoutingIdPrefix; } });
28
33
  Object.defineProperty(exports, "registerEntrySpot", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerEntrySpot; } });
29
34
  Object.defineProperty(exports, "registerSpotFactory", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerSpotFactory; } });
@@ -40,6 +45,9 @@ const workers_1 = require("./runtime/workers");
40
45
  const execution_1 = require("./runtime/execution");
41
46
  var handler_filter_scope_1 = require("./runtime/channels/handler-filter-scope");
42
47
  Object.defineProperty(exports, "registerIntegrationHandlerFilterScope", { enumerable: true, get: function () { return handler_filter_scope_1.registerHandlerFilterScope; } });
48
+ var handler_instance_scope_1 = require("./runtime/handlers/handler-instance-scope");
49
+ Object.defineProperty(exports, "disposeIntegrationHandler", { enumerable: true, get: function () { return handler_instance_scope_1.disposeOwnedInstance; } });
50
+ Object.defineProperty(exports, "disposeIntegrationHandlers", { enumerable: true, get: function () { return handler_instance_scope_1.disposeOwnedInstances; } });
43
51
  function createIntegrationDispatchOptionsBuilder(dispatch) {
44
52
  return new RegistrationBuilders_1.DefaultDispatchOptionsBuilder(dispatch);
45
53
  }
@@ -59,14 +67,15 @@ function createIntegrationRuntimeHost(registration, providerResolver) {
59
67
  return new host_1.ZLinkFrameworkRuntimeHost({ registration, providerResolver });
60
68
  }
61
69
  function createIntegrationChannelClient(registration, runtime) {
62
- return new channels_1.DefaultZLinkChannelClient(registration, runtimeHost(runtime).channelTransport);
70
+ const host = runtimeHost(runtime);
71
+ return new channels_1.DefaultZLinkChannelClient(registration, host.channelTransport, host.routeTransport, host.spotRouterChannelIdForMesh);
63
72
  }
64
73
  function createIntegrationFanoutClient(registration, runtime) {
65
74
  return new channels_1.DefaultZLinkFanoutClient(registration, runtimeHost(runtime).channelTransport);
66
75
  }
67
76
  function createIntegrationRouteClient(registration, runtime) {
68
77
  const host = runtimeHost(runtime);
69
- return new channels_1.DefaultZLinkRouteClient(registration, host.routeTransport, host.spotRouterChannelIdForMesh);
78
+ return new channels_1.DefaultZLinkRouteClient(registration, host.routeTransport, host.spotRouterChannelIdForMesh, host.channelTransport);
70
79
  }
71
80
  function createIntegrationSpotPublisherClient(registration, runtime) {
72
81
  return new channels_1.DefaultZLinkSpotPublisherClient(registration, runtimeHost(runtime).spotPublisherTransport);
@@ -84,7 +93,7 @@ function createIntegrationActorManager(registration, runtime, providerResolver)
84
93
  boundSessionFactory: runtimeOptions.boundSessionFactory ??
85
94
  host.boundSessionFactory.create.bind(host.boundSessionFactory),
86
95
  providerResolver
87
- });
96
+ }, host.detachedTaskRunner());
88
97
  host.setActorManager(manager);
89
98
  return manager;
90
99
  }
@@ -117,6 +126,7 @@ function createIntegrationSpotManager(registration, runtime, providerResolver) {
117
126
  ...(spotNode.spotActorRequestHandlers ?? [])
118
127
  ]),
119
128
  ...runtimeOptions,
129
+ detachedTaskRunner: host.detachedTaskRunner(),
120
130
  spotRouteResolver: runtimeOptions.spotRouteResolver,
121
131
  routedTransport: host.routeTransport,
122
132
  providerResolver,
@@ -10,4 +10,5 @@ export declare function isAbortError(error: unknown): boolean;
10
10
  export declare function createDeadlineExceededError(message?: string): ZLinkDeadlineExceededError;
11
11
  export declare function isDeadlineExceededError(error: unknown): boolean;
12
12
  export declare function throwIfAborted(signal: AbortSignal | undefined): void;
13
+ export declare function macrotaskBoundary(): Promise<void>;
13
14
  export declare function awaitWithAbort<T>(operation: Promise<T>, signal: AbortSignal | undefined, abortOperation?: () => void): Promise<T>;
@@ -6,6 +6,7 @@ exports.isAbortError = isAbortError;
6
6
  exports.createDeadlineExceededError = createDeadlineExceededError;
7
7
  exports.isDeadlineExceededError = isDeadlineExceededError;
8
8
  exports.throwIfAborted = throwIfAborted;
9
+ exports.macrotaskBoundary = macrotaskBoundary;
9
10
  exports.awaitWithAbort = awaitWithAbort;
10
11
  /** The typed cancellation error produced by Framework admission helpers. */
11
12
  class ZLinkAbortError extends Error {
@@ -40,11 +41,10 @@ function throwIfAborted(signal) {
40
41
  throw createAbortError();
41
42
  }
42
43
  }
44
+ function macrotaskBoundary() {
45
+ return new Promise((resolve) => setImmediate(resolve));
46
+ }
43
47
  function awaitWithAbort(operation, signal, abortOperation) {
44
- if (signal?.aborted === true) {
45
- abortOperation?.();
46
- throw createAbortError();
47
- }
48
48
  if (signal === undefined) {
49
49
  return operation;
50
50
  }
@@ -63,7 +63,6 @@ function awaitWithAbort(operation, signal, abortOperation) {
63
63
  abortOperation?.();
64
64
  reject(createAbortError());
65
65
  };
66
- signal.addEventListener('abort', abort, { once: true });
67
66
  operation.then((value) => {
68
67
  if (settle())
69
68
  resolve(value);
@@ -71,5 +70,9 @@ function awaitWithAbort(operation, signal, abortOperation) {
71
70
  if (settle())
72
71
  reject(error);
73
72
  });
73
+ if (signal.aborted)
74
+ abort();
75
+ else
76
+ signal.addEventListener('abort', abort, { once: true });
74
77
  });
75
78
  }
@@ -14,9 +14,8 @@ export interface ZLinkActivationConcurrency {
14
14
  */
15
15
  export declare class ZLinkActivationAdmission {
16
16
  private readonly limitOf;
17
- private readonly changed?;
18
17
  private readonly records;
19
- constructor(limitOf: (meshName: string) => number, changed?: ((meshName: string) => void) | undefined);
18
+ constructor(limitOf: (meshName: string) => number);
20
19
  current(meshName: string): ZLinkActivationConcurrency;
21
20
  hasHeadroom(meshName: string): boolean;
22
21
  /**
@@ -13,11 +13,9 @@ const framework_errors_internal_1 = require("./framework-errors-internal");
13
13
  */
14
14
  class ZLinkActivationAdmission {
15
15
  limitOf;
16
- changed;
17
16
  records = new Map();
18
- constructor(limitOf, changed) {
17
+ constructor(limitOf) {
19
18
  this.limitOf = limitOf;
20
- this.changed = changed;
21
19
  }
22
20
  current(meshName) {
23
21
  const record = this.records.get(meshName);
@@ -39,20 +37,18 @@ class ZLinkActivationAdmission {
39
37
  throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PlacementCapacityExhausted, `MeshNode '${meshName}' has no activation admission headroom.`);
40
38
  }
41
39
  record.active += 1;
42
- this.changed?.(meshName);
43
40
  let released = false;
44
41
  return () => {
45
42
  if (released)
46
43
  return;
47
44
  released = true;
48
45
  record.active -= 1;
49
- this.changed?.(meshName);
50
46
  };
51
47
  }
52
48
  record(meshName) {
53
49
  let record = this.records.get(meshName);
54
50
  if (record === undefined) {
55
- record = { meshName, limit: this.limitOf(meshName), active: 0 };
51
+ record = { limit: this.limitOf(meshName), active: 0 };
56
52
  this.records.set(meshName, record);
57
53
  }
58
54
  return record;
@@ -1,5 +1,4 @@
1
- import type { RoutingId } from '../../contracts';
2
- import { ZLinkSpotKind } from '../../contracts';
1
+ import { type RoutingId, ZLinkSpotKind } from '../../contracts';
3
2
  export type ZLinkActorAuthorityState = 'creating' | 'ready';
4
3
  export interface ZLinkActorAuthorityPayload {
5
4
  readonly state: ZLinkActorAuthorityState;
@@ -7,22 +7,33 @@ exports.decodeActorAuthorityPayload = decodeActorAuthorityPayload;
7
7
  exports.actorRelocationAuthorityApplicationPayload = actorRelocationAuthorityApplicationPayload;
8
8
  exports.relocatingActorAuthorityApplicationPayload = relocatingActorAuthorityApplicationPayload;
9
9
  exports.replaceActorRelocationAuthorityApplicationPayload = replaceActorRelocationAuthorityApplicationPayload;
10
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
10
11
  const contracts_1 = require("../../contracts");
12
+ const CoreTypes_1 = require("../../contracts/Common/CoreTypes");
13
+ const InternalDefaults_1 = require("../../contracts/Configuration/InternalDefaults");
11
14
  const service_relocation_runtime_1 = require("../foundation/service-relocation-runtime");
15
+ const service_wire_binary_primitives_1 = require("../foundation/service-wire-binary-primitives");
12
16
  const routing_id_1 = require("../routing-id");
13
17
  const AUTHORITY_MAGIC = Buffer.from([0x5a, 0x4c, 0x41, 0x55]);
14
18
  const AUTHORITY_VERSION = 1;
15
19
  const AUTHORITY_FLAGS = 0;
16
20
  const ACTOR_RELOCATION_MAGIC = Buffer.from([0x5a, 0x4c, 0x41, 0x50]);
17
- const MAXIMUM_BYTES = 1024 * 1024;
21
+ const AUTHORITY_MINIMUM_BYTES = 15;
22
+ const ACTOR_RELOCATION_MINIMUM_BYTES = 32;
23
+ const ACTOR_RELOCATION_VERSION_WITHOUT_SESSION_FENCE = 5;
24
+ const ACTOR_RELOCATION_VERSION_WITH_SESSION_FENCE = 6;
25
+ const ACTOR_RELOCATION_FIRST_PHASE = 1;
26
+ const ACTOR_RELOCATION_STEADY_PHASE = 4;
27
+ const ENTRY_SPOT_WIRE_KIND = (0, contracts_1.zlinkSpotKindToWire)(contracts_1.ZLinkSpotKind.Entry);
28
+ const USER_SPOT_WIRE_KIND = (0, contracts_1.zlinkSpotKindToWire)(contracts_1.ZLinkSpotKind.User);
18
29
  const FATAL_UTF8 = new TextDecoder('utf-8', { fatal: true });
19
30
  /** Encodes the durable authority-payload-v1 envelope around one schema body. */
20
31
  function encodeCanonicalAuthorityPayload(value) {
21
32
  const body = Buffer.from(value.body);
22
33
  const envelope = concat(AUTHORITY_MAGIC, Buffer.of(AUTHORITY_VERSION), u16be(AUTHORITY_FLAGS), u32be(body.byteLength), body);
23
34
  const encoded = concat(envelope, u32be((0, service_relocation_runtime_1.crc32c)(envelope)));
24
- if (encoded.byteLength > MAXIMUM_BYTES) {
25
- throw new RangeError('Actor authority payload exceeds 1 MiB.');
35
+ if (encoded.byteLength > InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES) {
36
+ throw new RangeError(`Actor authority payload exceeds ${InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES / (1024 * 1024)} MiB.`);
26
37
  }
27
38
  return encoded;
28
39
  }
@@ -30,7 +41,8 @@ function encodeCanonicalAuthorityPayload(value) {
30
41
  function decodeCanonicalAuthorityPayload(payload) {
31
42
  try {
32
43
  const reader = new BigEndianReader(payload);
33
- if (reader.bytes.byteLength < 15 || reader.bytes.byteLength > MAXIMUM_BYTES) {
44
+ if (reader.bytes.byteLength < AUTHORITY_MINIMUM_BYTES ||
45
+ reader.bytes.byteLength > InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES) {
34
46
  return undefined;
35
47
  }
36
48
  reader.expect(AUTHORITY_MAGIC);
@@ -52,7 +64,7 @@ function decodeCanonicalAuthorityPayload(payload) {
52
64
  /** Byte-exact Node counterpart of .NET ZLinkActorAuthorityPayloadCodec.Encode. */
53
65
  function encodeActorAuthorityPayload(value) {
54
66
  const spotKind = (0, contracts_1.zlinkSpotKindToWire)(value.currentSpotKind);
55
- if (spotKind !== 1 && spotKind !== 2) {
67
+ if (spotKind !== ENTRY_SPOT_WIRE_KIND && spotKind !== USER_SPOT_WIRE_KIND) {
56
68
  throw new RangeError('Actor currentSpotKind must be Entry or User.');
57
69
  }
58
70
  const actor = concat(text8(value.stableType, 'stableType'), text8(value.actorId, 'actorId'), Buffer.of(value.state === 'creating' ? 0 : 1), text8(value.currentSpotId, 'currentSpotId'), nonzeroU64be(value.currentSpotGeneration, 'currentSpotGeneration'), Buffer.of(spotKind));
@@ -117,7 +129,7 @@ function actorRelocationAuthorityApplicationPayload(payload) {
117
129
  const current = decodeActorRelocationEnvelope(payload);
118
130
  return current === undefined
119
131
  ? Buffer.from(payload)
120
- : current.phase === 4
132
+ : current.phase === ACTOR_RELOCATION_STEADY_PHASE
121
133
  ? Buffer.from(current.applicationPayload)
122
134
  : undefined;
123
135
  }
@@ -132,15 +144,16 @@ function replaceActorRelocationAuthorityApplicationPayload(payload, applicationP
132
144
  return Buffer.from(applicationPayload);
133
145
  const withoutChecksum = concat(current.prefix, i32le(applicationPayload.byteLength), applicationPayload);
134
146
  const encoded = concat(withoutChecksum, u32le((0, service_relocation_runtime_1.crc32c)(withoutChecksum)));
135
- if (encoded.byteLength > MAXIMUM_BYTES) {
136
- throw new RangeError('Actor relocation authority payload exceeds 1 MiB.');
147
+ if (encoded.byteLength > InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES) {
148
+ throw new RangeError(`Actor relocation authority payload exceeds ${InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES / (1024 * 1024)} MiB.`);
137
149
  }
138
150
  return encoded;
139
151
  }
140
152
  function decodeActorRelocationEnvelope(payload) {
141
153
  try {
142
154
  const bytes = Buffer.from(payload);
143
- if (bytes.byteLength < 32 || bytes.byteLength > MAXIMUM_BYTES)
155
+ if (bytes.byteLength < ACTOR_RELOCATION_MINIMUM_BYTES ||
156
+ bytes.byteLength > InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES)
144
157
  return undefined;
145
158
  const checksumOffset = bytes.byteLength - 4;
146
159
  if (bytes.readUInt32LE(checksumOffset) !== (0, service_relocation_runtime_1.crc32c)(bytes.subarray(0, checksumOffset))) {
@@ -149,12 +162,13 @@ function decodeActorRelocationEnvelope(payload) {
149
162
  const reader = new LittleEndianReader(bytes.subarray(0, checksumOffset));
150
163
  reader.expect(ACTOR_RELOCATION_MAGIC);
151
164
  const version = reader.u16();
152
- if (version !== 5 && version !== 6)
165
+ if (version !== ACTOR_RELOCATION_VERSION_WITHOUT_SESSION_FENCE &&
166
+ version !== ACTOR_RELOCATION_VERSION_WITH_SESSION_FENCE)
153
167
  return undefined;
154
168
  if (reader.take(16).every((byte) => byte === 0))
155
169
  return undefined;
156
170
  const phase = reader.u8();
157
- if (phase < 1 || phase > 4)
171
+ if (phase < ACTOR_RELOCATION_FIRST_PHASE || phase > ACTOR_RELOCATION_STEADY_PHASE)
158
172
  return undefined;
159
173
  const isBound = reader.bool();
160
174
  if (isBound) {
@@ -169,7 +183,7 @@ function decodeActorRelocationEnvelope(payload) {
169
183
  const ownerLeaseGeneration = reader.u64();
170
184
  const sessionOwnerNodeGeneration = reader.u64();
171
185
  reader.u64();
172
- if (version === 6) {
186
+ if (version === ACTOR_RELOCATION_VERSION_WITH_SESSION_FENCE) {
173
187
  reader.text16();
174
188
  reader.u64();
175
189
  }
@@ -184,7 +198,7 @@ function decodeActorRelocationEnvelope(payload) {
184
198
  }
185
199
  const prefix = Buffer.from(reader.bytes.subarray(0, reader.offset));
186
200
  const applicationLength = reader.i32();
187
- if (applicationLength < 1 || applicationLength > MAXIMUM_BYTES)
201
+ if (applicationLength < 1 || applicationLength > InternalDefaults_1.AUTHORITY_ENVELOPE_MAX_BYTES)
188
202
  return undefined;
189
203
  const applicationPayload = Buffer.from(reader.take(applicationLength));
190
204
  if (!reader.done)
@@ -197,20 +211,22 @@ function decodeActorRelocationEnvelope(payload) {
197
211
  }
198
212
  function text8(value, name) {
199
213
  const bytes = Buffer.from(value, 'utf8');
200
- if (bytes.byteLength < 1 || bytes.byteLength > 0xff || bytes.includes(0)) {
201
- throw new RangeError(`${name} must contain 1..255 UTF-8 bytes without NUL.`);
214
+ if (bytes.byteLength < 1 ||
215
+ bytes.byteLength > service_wire_binary_primitives_1.SERVICE_WIRE_TEXT8_MAX_BYTES ||
216
+ bytes.includes(0)) {
217
+ throw new RangeError(`${name} must contain 1..${service_wire_binary_primitives_1.SERVICE_WIRE_TEXT8_MAX_BYTES} UTF-8 bytes without NUL.`);
202
218
  }
203
219
  return concat(Buffer.of(bytes.byteLength), bytes);
204
220
  }
205
221
  function rid(value, name) {
206
222
  const bytes = Buffer.from((0, routing_id_1.encodeRoutingIdStorageHex)(value), 'hex');
207
- if (bytes.byteLength < 1 || bytes.byteLength > 0xff) {
208
- throw new RangeError(`${name} must contain 1..255 bytes.`);
223
+ if (bytes.byteLength < 1 || bytes.byteLength > CoreTypes_1.ZLINK_MAX_ROUTING_ID_BYTES) {
224
+ throw new RangeError(`${name} must contain 1..${CoreTypes_1.ZLINK_MAX_ROUTING_ID_BYTES} bytes.`);
209
225
  }
210
226
  return concat(Buffer.of(bytes.byteLength), bytes);
211
227
  }
212
228
  function nonzeroU64be(value, name) {
213
- if (value === 0n || value < 0n || value > 0xffffffffffffffffn) {
229
+ if (value === 0n || value < 0n || value > stream_wire_1.UINT64_MAX) {
214
230
  throw new RangeError(`${name} must be a non-zero u64.`);
215
231
  }
216
232
  const result = Buffer.alloc(8);
@@ -1,6 +1,6 @@
1
- import type { ActorRef, ZLinkActorClient, ZLinkActorRequestCall, ZLinkActorSendCall, ZLinkMessageSerializer } from '../../contracts';
1
+ import { type ActorRef, type ZLinkActorClient, type ZLinkActorRequestCall, type ZLinkActorSendCall, type ZLinkMessageSerializer } from '../../contracts';
2
2
  import type { Message } from '../../contracts/Common/Message';
3
- import type { ZLinkBackendMeshNode, ZLinkMeshCompletionTable } from '../backend';
3
+ import { type ZLinkBackendMeshNode, type ZLinkMeshCompletionTable } from '../backend';
4
4
  import type { ZLinkStoreLocationResolvers } from '../locations';
5
5
  import type { ZLinkActorRoutedJoinTransport } from './actor-routed-join-transport';
6
6
  export interface ZLinkActorClientOptions {