@zlink-systems/framework 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (561) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Actors/ZLinkActorClient.d.ts +1 -1
  3. package/dist/contracts/Channels/Calls.d.ts +1 -1
  4. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  5. package/dist/contracts/Common/CoreTypes.js +7 -0
  6. package/dist/contracts/Common/index.d.ts +1 -1
  7. package/dist/contracts/Common/index.js +0 -1
  8. package/dist/contracts/Configuration/Builders.d.ts +0 -1
  9. package/dist/contracts/Configuration/Configs.d.ts +0 -1
  10. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  11. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  12. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  13. package/dist/contracts/Configuration/Registration.js +58 -36
  14. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  15. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  16. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  17. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  18. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -5
  19. package/dist/contracts/Configuration/RegistrationValidators.js +15 -14
  20. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  21. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  22. package/dist/contracts/Handlers/JsonContract.js +10 -4
  23. package/dist/contracts/Locations/Authority.d.ts +1 -1
  24. package/dist/contracts/Locations/Authority.js +3 -2
  25. package/dist/contracts/Locations/Options.js +1 -1
  26. package/dist/contracts/Locations/Stores.d.ts +12 -0
  27. package/dist/contracts/Locations/Stores.js +9 -0
  28. package/dist/contracts/Spots/Contracts.d.ts +2 -2
  29. package/dist/contracts/Streams/BoundSessionContracts.d.ts +1 -1
  30. package/dist/contracts/Streams/IZLinkSession.d.ts +2 -3
  31. package/dist/contracts/Streams/IZLinkSessionActor.d.ts +2 -2
  32. package/dist/internal.d.ts +4 -0
  33. package/dist/internal.js +15 -1
  34. package/dist/nest-integration.d.ts +4 -2
  35. package/dist/nest-integration.js +14 -4
  36. package/dist/runtime/abort.d.ts +1 -0
  37. package/dist/runtime/abort.js +8 -5
  38. package/dist/runtime/activation-admission.d.ts +1 -2
  39. package/dist/runtime/activation-admission.js +2 -6
  40. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  41. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  42. package/dist/runtime/actors/actor-client.d.ts +2 -2
  43. package/dist/runtime/actors/actor-client.js +49 -153
  44. package/dist/runtime/actors/actor-context.d.ts +3 -5
  45. package/dist/runtime/actors/actor-context.js +13 -11
  46. package/dist/runtime/actors/actor-handoff.d.ts +4 -4
  47. package/dist/runtime/actors/actor-handoff.js +8 -8
  48. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  49. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  50. package/dist/runtime/actors/actor-local-native-join.js +83 -105
  51. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  52. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  53. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  54. package/dist/runtime/actors/actor-remote-joiner.d.ts +1 -1
  55. package/dist/runtime/actors/actor-remote-joiner.js +5 -9
  56. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  57. package/dist/runtime/actors/actor-request-deadline.d.ts +1 -0
  58. package/dist/runtime/actors/actor-request-deadline.js +6 -0
  59. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  60. package/dist/runtime/actors/actor-routed-join-transport.d.ts +2 -3
  61. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  62. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  63. package/dist/runtime/actors/bound-session-wire.js +2 -7
  64. package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
  65. package/dist/runtime/actors/deferred-join-completion.js +1 -0
  66. package/dist/runtime/actors/index.d.ts +9 -7
  67. package/dist/runtime/actors/index.js +87 -69
  68. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  69. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  70. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  71. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  72. package/dist/runtime/admission.d.ts +2 -0
  73. package/dist/runtime/admission.js +7 -1
  74. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  75. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  76. package/dist/runtime/backend/contracts/index.d.ts +7 -27
  77. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
  78. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  79. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  80. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -1
  81. package/dist/runtime/backend/node/node-backend-adapter-support.js +51 -10
  82. package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +1 -1
  83. package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +1 -2
  84. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  85. package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
  86. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  87. package/dist/runtime/backend/node/node-raw-binding-port.js +41 -34
  88. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
  89. package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
  90. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  91. package/dist/runtime/backend/raw-binding-port.d.ts +1 -1
  92. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  93. package/dist/runtime/backend/runtime-values.js +2 -0
  94. package/dist/runtime/channels/channel-clients.d.ts +20 -8
  95. package/dist/runtime/channels/channel-clients.js +73 -59
  96. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  97. package/dist/runtime/channels/channel-envelope.d.ts +1 -1
  98. package/dist/runtime/channels/channel-envelope.js +51 -39
  99. package/dist/runtime/channels/channel-outbound-operations.d.ts +5 -2
  100. package/dist/runtime/channels/channel-outbound-operations.js +25 -42
  101. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  102. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  103. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  104. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  105. package/dist/runtime/channels/channel-runtime-manager.d.ts +4 -4
  106. package/dist/runtime/channels/channel-runtime-manager.js +13 -10
  107. package/dist/runtime/channels/channel-socket-options.js +3 -12
  108. package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
  109. package/dist/runtime/channels/channel-socket-registry.js +240 -177
  110. package/dist/runtime/channels/channel-transports.d.ts +21 -31
  111. package/dist/runtime/channels/channel-transports.js +80 -62
  112. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  113. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  114. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  115. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  116. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  117. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  118. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  119. package/dist/runtime/channels/fanout-location-runtime.js +130 -72
  120. package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
  121. package/dist/runtime/channels/local-spot-route-transport.js +1 -3
  122. package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +1 -1
  123. package/dist/runtime/channels/router-socket-spot-route-transport.js +2 -2
  124. package/dist/runtime/channels/source-spot-router.d.ts +1 -1
  125. package/dist/runtime/channels/source-spot-router.js +2 -4
  126. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  127. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  128. package/dist/runtime/channels/spot-node-route-transport.d.ts +1 -1
  129. package/dist/runtime/channels/spot-node-route-transport.js +5 -5
  130. package/dist/runtime/channels/spot-route-bridge-transport.d.ts +1 -1
  131. package/dist/runtime/channels/spot-route-bridge-transport.js +2 -2
  132. package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +2 -4
  133. package/dist/runtime/channels/spot-route-dispatch-strategy.js +11 -12
  134. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  135. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  136. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  137. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  138. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  139. package/dist/runtime/diagnostics/flow-context.js +16 -2
  140. package/dist/runtime/diagnostics/index.d.ts +4 -2
  141. package/dist/runtime/diagnostics/index.js +14 -4
  142. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  143. package/dist/runtime/diagnostics/message-flow.js +10 -19
  144. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  145. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  146. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  147. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  148. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  149. package/dist/runtime/disposal.d.ts +5 -0
  150. package/dist/runtime/disposal.js +22 -0
  151. package/dist/runtime/execution/index.d.ts +12 -9
  152. package/dist/runtime/execution/index.js +58 -14
  153. package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
  154. package/dist/runtime/execution/serial-execution-queue.js +54 -15
  155. package/dist/runtime/execution/state-lane.d.ts +8 -1
  156. package/dist/runtime/execution/state-lane.js +118 -3
  157. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  158. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  159. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  160. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  161. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  162. package/dist/runtime/foundation/operation-identity.js +9 -5
  163. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  164. package/dist/runtime/foundation/operation-registry.js +34 -44
  165. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +8 -5
  166. package/dist/runtime/foundation/raw-service-mesh-runtime.js +79 -94
  167. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  168. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  169. package/dist/runtime/foundation/service-authority-payload-codec.js +22 -12
  170. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  171. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  172. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  173. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  174. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  175. package/dist/runtime/foundation/service-maintenance-runtime.js +0 -6
  176. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  177. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  178. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  179. package/dist/runtime/foundation/service-relocation-object-owner.js +3 -2
  180. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  181. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  182. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  183. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -12
  184. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  185. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  186. package/dist/runtime/foundation/service-stateful-runtime.d.ts +26 -25
  187. package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
  188. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
  189. package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
  190. package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
  191. package/dist/runtime/foundation/service-topology-registry.js +17 -32
  192. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  193. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  194. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  195. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  196. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  197. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  198. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  199. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  200. package/dist/runtime/framework-errors-internal.js +343 -122
  201. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  202. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  203. package/dist/runtime/host/actor-packet-relay.d.ts +11 -8
  204. package/dist/runtime/host/actor-packet-relay.js +54 -99
  205. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  206. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  207. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  208. package/dist/runtime/host/actor-transfer-runtime.d.ts +16 -18
  209. package/dist/runtime/host/actor-transfer-runtime.js +143 -176
  210. package/dist/runtime/host/application-job-queue.js +16 -33
  211. package/dist/runtime/host/bound-session-relay.js +1 -1
  212. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  213. package/dist/runtime/host/index.d.ts +14 -13
  214. package/dist/runtime/host/index.js +190 -171
  215. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  216. package/dist/runtime/host/instance-activation-authority.js +17 -45
  217. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  218. package/dist/runtime/host/location-runtime-owner.js +2 -2
  219. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  220. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  221. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  222. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  223. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  224. package/dist/runtime/host/remote-bound-session-relay.js +15 -28
  225. package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
  226. package/dist/runtime/host/route-mesh-runtime.js +171 -252
  227. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  228. package/dist/runtime/host/runtime-shutdown.js +18 -21
  229. package/dist/runtime/host/service-relocation-control.js +6 -1
  230. package/dist/runtime/host/service-relocation-host-runtime.d.ts +21 -30
  231. package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
  232. package/dist/runtime/host/spot-address-transport.d.ts +3 -12
  233. package/dist/runtime/host/spot-address-transport.js +78 -220
  234. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  235. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  236. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -10
  237. package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
  238. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
  239. package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
  240. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  241. package/dist/runtime/locations/authority-key-codec.js +4 -3
  242. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  243. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  244. package/dist/runtime/locations/creation-operation-id.js +6 -4
  245. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  246. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  247. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  248. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  249. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  250. package/dist/runtime/locations/in-memory-provider-location-store.js +72 -22
  251. package/dist/runtime/locations/key-codec.js +3 -2
  252. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  253. package/dist/runtime/locations/lease-tracker.js +7 -11
  254. package/dist/runtime/locations/lifecycle.d.ts +4 -9
  255. package/dist/runtime/locations/lifecycle.js +2 -31
  256. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  257. package/dist/runtime/locations/location-store-failure.js +7 -0
  258. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  259. package/dist/runtime/locations/location-store-pages.js +13 -0
  260. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  261. package/dist/runtime/locations/location-store-repository.js +309 -336
  262. package/dist/runtime/locations/relocation-blob.js +18 -5
  263. package/dist/runtime/locations/resolvers.d.ts +5 -5
  264. package/dist/runtime/locations/resolvers.js +37 -28
  265. package/dist/runtime/locations/runtime.d.ts +5 -4
  266. package/dist/runtime/locations/runtime.js +123 -92
  267. package/dist/runtime/locations/spot-location-claims.d.ts +6 -0
  268. package/dist/runtime/locations/spot-location-claims.js +42 -1
  269. package/dist/runtime/messaging/payload-codec.js +26 -20
  270. package/dist/runtime/messaging/request-deadline.d.ts +3 -0
  271. package/dist/runtime/messaging/request-deadline.js +39 -0
  272. package/dist/runtime/messaging/submission-result.d.ts +4 -0
  273. package/dist/runtime/messaging/submission-result.js +56 -1
  274. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
  275. package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
  276. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
  277. package/dist/runtime/spots/index.d.ts +14 -20
  278. package/dist/runtime/spots/index.js +302 -176
  279. package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
  280. package/dist/runtime/spots/spot-activation-registry.js +14 -50
  281. package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
  282. package/dist/runtime/spots/spot-activation-state.js +2 -2
  283. package/dist/runtime/spots/spot-activation.d.ts +3 -4
  284. package/dist/runtime/spots/spot-activation.js +49 -32
  285. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  286. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  287. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  288. package/dist/runtime/spots/spot-actor-join-dispatch.js +4 -52
  289. package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
  290. package/dist/runtime/spots/spot-actor-membership.js +22 -45
  291. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  292. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  293. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  294. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  295. package/dist/runtime/spots/spot-context.d.ts +2 -2
  296. package/dist/runtime/spots/spot-entry-activation.d.ts +2 -2
  297. package/dist/runtime/spots/spot-entry-activation.js +9 -20
  298. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  299. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  300. package/dist/runtime/spots/spot-manager-public.js +5 -4
  301. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  302. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
  303. package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
  304. package/dist/runtime/spots/spot-outbound.d.ts +7 -8
  305. package/dist/runtime/spots/spot-outbound.js +21 -23
  306. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  307. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  308. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  309. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  310. package/dist/runtime/spots/spot-route-replies.js +3 -1
  311. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -3
  312. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
  313. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
  314. package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
  315. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  316. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  317. package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -16
  318. package/dist/runtime/spots/spot-serial-executor.js +2 -2
  319. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
  320. package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
  321. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  322. package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
  323. package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
  324. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
  325. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +8 -4
  326. package/dist/runtime/streams/bound-actor-relay-sender.js +65 -41
  327. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  328. package/dist/runtime/streams/bound-session-service.js +12 -2
  329. package/dist/runtime/streams/index.d.ts +16 -17
  330. package/dist/runtime/streams/index.js +22 -23
  331. package/dist/runtime/streams/managed-stream.d.ts +5 -2
  332. package/dist/runtime/streams/managed-stream.js +20 -13
  333. package/dist/runtime/streams/native-fallback-bound-session.js +14 -19
  334. package/dist/runtime/streams/protocol.d.ts +6 -33
  335. package/dist/runtime/streams/protocol.js +38 -110
  336. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  337. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  338. package/dist/runtime/streams/session-calls.d.ts +6 -8
  339. package/dist/runtime/streams/session-calls.js +6 -22
  340. package/dist/runtime/streams/session-context.d.ts +10 -10
  341. package/dist/runtime/streams/session-context.js +25 -10
  342. package/dist/runtime/streams/session-requests.js +2 -1
  343. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  344. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  345. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  346. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  347. package/dist/runtime/workers/index.d.ts +2 -2
  348. package/dist/runtime/workers/index.js +5 -4
  349. package/package.json +3 -3
  350. package/src/contracts/Actors/ZLinkActorClient.ts +1 -1
  351. package/src/contracts/Channels/Calls.ts +1 -1
  352. package/src/contracts/Common/CoreTypes.ts +7 -0
  353. package/src/contracts/Common/index.ts +1 -1
  354. package/src/contracts/Configuration/Builders.ts +0 -1
  355. package/src/contracts/Configuration/Configs.ts +0 -1
  356. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  357. package/src/contracts/Configuration/Registration.ts +92 -48
  358. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  359. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -71
  360. package/src/contracts/Configuration/RegistrationTypes.ts +1 -5
  361. package/src/contracts/Configuration/RegistrationValidators.ts +19 -17
  362. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  363. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  364. package/src/contracts/Handlers/JsonContract.ts +14 -4
  365. package/src/contracts/Locations/Authority.ts +7 -3
  366. package/src/contracts/Locations/Options.ts +1 -1
  367. package/src/contracts/Locations/Stores.ts +14 -0
  368. package/src/contracts/Spots/Contracts.ts +2 -2
  369. package/src/contracts/Streams/BoundSessionContracts.ts +1 -1
  370. package/src/contracts/Streams/IZLinkSession.ts +2 -3
  371. package/src/contracts/Streams/IZLinkSessionActor.ts +2 -6
  372. package/src/internal.ts +14 -0
  373. package/src/nest-integration.ts +28 -10
  374. package/src/runtime/abort.ts +6 -5
  375. package/src/runtime/activation-admission.ts +2 -8
  376. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  377. package/src/runtime/actors/actor-client.ts +85 -218
  378. package/src/runtime/actors/actor-context.ts +39 -33
  379. package/src/runtime/actors/actor-handoff.ts +24 -22
  380. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  381. package/src/runtime/actors/actor-local-native-join.ts +172 -174
  382. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  383. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  384. package/src/runtime/actors/actor-remote-joiner.ts +9 -11
  385. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  386. package/src/runtime/actors/actor-request-deadline.ts +4 -0
  387. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  388. package/src/runtime/actors/actor-routed-join-transport.ts +3 -5
  389. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  390. package/src/runtime/actors/bound-session-wire.ts +2 -8
  391. package/src/runtime/actors/deferred-join-completion.ts +10 -6
  392. package/src/runtime/actors/index.ts +100 -79
  393. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  394. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  395. package/src/runtime/admission.ts +8 -1
  396. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  397. package/src/runtime/backend/contracts/index.ts +14 -37
  398. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
  399. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  400. package/src/runtime/backend/node/node-backend-adapter-support.ts +67 -10
  401. package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +0 -2
  402. package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
  403. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  404. package/src/runtime/backend/node/node-raw-binding-port.ts +44 -49
  405. package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
  406. package/src/runtime/backend/node/node-socket-backend-adapter.ts +4 -3
  407. package/src/runtime/backend/raw-binding-port.ts +1 -1
  408. package/src/runtime/backend/runtime-values.ts +4 -1
  409. package/src/runtime/channels/channel-clients.ts +139 -102
  410. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  411. package/src/runtime/channels/channel-envelope.ts +74 -57
  412. package/src/runtime/channels/channel-outbound-operations.ts +40 -55
  413. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  414. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  415. package/src/runtime/channels/channel-runtime-manager.ts +12 -30
  416. package/src/runtime/channels/channel-socket-options.ts +8 -15
  417. package/src/runtime/channels/channel-socket-registry.ts +291 -196
  418. package/src/runtime/channels/channel-transports.ts +168 -145
  419. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  420. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  421. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  422. package/src/runtime/channels/fanout-location-runtime.ts +172 -91
  423. package/src/runtime/channels/local-spot-route-transport.ts +1 -5
  424. package/src/runtime/channels/router-socket-spot-route-transport.ts +2 -6
  425. package/src/runtime/channels/source-spot-router.ts +2 -9
  426. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  427. package/src/runtime/channels/spot-node-route-transport.ts +7 -9
  428. package/src/runtime/channels/spot-route-bridge-transport.ts +5 -12
  429. package/src/runtime/channels/spot-route-dispatch-strategy.ts +11 -30
  430. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  431. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  432. package/src/runtime/diagnostics/flow-context.ts +16 -2
  433. package/src/runtime/diagnostics/index.ts +27 -17
  434. package/src/runtime/diagnostics/message-flow.ts +15 -25
  435. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  436. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  437. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  438. package/src/runtime/disposal.ts +19 -0
  439. package/src/runtime/execution/index.ts +60 -20
  440. package/src/runtime/execution/serial-execution-queue.ts +131 -18
  441. package/src/runtime/execution/state-lane.ts +142 -4
  442. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  443. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  444. package/src/runtime/foundation/operation-identity.ts +11 -5
  445. package/src/runtime/foundation/operation-registry.ts +33 -50
  446. package/src/runtime/foundation/raw-service-mesh-runtime.ts +127 -125
  447. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  448. package/src/runtime/foundation/service-authority-payload-codec.ts +31 -13
  449. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  450. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  451. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  452. package/src/runtime/foundation/service-maintenance-runtime.ts +0 -10
  453. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  454. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  455. package/src/runtime/foundation/service-relocation-object-owner.ts +5 -2
  456. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  457. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  458. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -17
  459. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  460. package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
  461. package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
  462. package/src/runtime/foundation/service-topology-registry.ts +23 -32
  463. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  464. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  465. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  466. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  467. package/src/runtime/framework-errors-internal.ts +380 -134
  468. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  469. package/src/runtime/host/actor-packet-relay.ts +63 -160
  470. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  471. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  472. package/src/runtime/host/actor-transfer-runtime.ts +180 -260
  473. package/src/runtime/host/application-job-queue.ts +28 -34
  474. package/src/runtime/host/bound-session-relay.ts +1 -2
  475. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  476. package/src/runtime/host/index.ts +327 -320
  477. package/src/runtime/host/instance-activation-authority.ts +89 -109
  478. package/src/runtime/host/location-runtime-owner.ts +4 -2
  479. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  480. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  481. package/src/runtime/host/remote-bound-session-relay.ts +16 -57
  482. package/src/runtime/host/route-mesh-runtime.ts +228 -271
  483. package/src/runtime/host/runtime-shutdown.ts +17 -21
  484. package/src/runtime/host/service-relocation-control.ts +14 -1
  485. package/src/runtime/host/service-relocation-host-runtime.ts +699 -561
  486. package/src/runtime/host/spot-address-transport.ts +175 -356
  487. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  488. package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
  489. package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
  490. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  491. package/src/runtime/locations/authority-key-codec.ts +7 -3
  492. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  493. package/src/runtime/locations/creation-operation-id.ts +6 -3
  494. package/src/runtime/locations/domain-store-contract.ts +12 -3
  495. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  496. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  497. package/src/runtime/locations/in-memory-provider-location-store.ts +100 -25
  498. package/src/runtime/locations/key-codec.ts +3 -2
  499. package/src/runtime/locations/lease-tracker.ts +8 -14
  500. package/src/runtime/locations/lifecycle.ts +13 -43
  501. package/src/runtime/locations/location-store-failure.ts +4 -0
  502. package/src/runtime/locations/location-store-pages.ts +18 -0
  503. package/src/runtime/locations/location-store-repository.ts +457 -482
  504. package/src/runtime/locations/relocation-blob.ts +17 -6
  505. package/src/runtime/locations/resolvers.ts +75 -49
  506. package/src/runtime/locations/runtime.ts +220 -110
  507. package/src/runtime/locations/spot-location-claims.ts +58 -1
  508. package/src/runtime/messaging/payload-codec.ts +35 -24
  509. package/src/runtime/messaging/request-deadline.ts +58 -0
  510. package/src/runtime/messaging/submission-result.ts +72 -2
  511. package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
  512. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
  513. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +4 -1
  514. package/src/runtime/spots/index.ts +433 -229
  515. package/src/runtime/spots/spot-activation-registry.ts +30 -69
  516. package/src/runtime/spots/spot-activation-state.ts +2 -2
  517. package/src/runtime/spots/spot-activation.ts +67 -37
  518. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  519. package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
  520. package/src/runtime/spots/spot-actor-membership.ts +40 -72
  521. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  522. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  523. package/src/runtime/spots/spot-context.ts +3 -3
  524. package/src/runtime/spots/spot-entry-activation.ts +13 -30
  525. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  526. package/src/runtime/spots/spot-manager-public.ts +21 -17
  527. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  528. package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
  529. package/src/runtime/spots/spot-outbound.ts +59 -47
  530. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  531. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  532. package/src/runtime/spots/spot-route-replies.ts +6 -4
  533. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -26
  534. package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
  535. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  536. package/src/runtime/spots/spot-runtime-ports.ts +5 -27
  537. package/src/runtime/spots/spot-serial-executor.ts +2 -2
  538. package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
  539. package/src/runtime/spots/spot-timer.ts +3 -2
  540. package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
  541. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
  542. package/src/runtime/streams/bound-actor-relay-sender.ts +98 -66
  543. package/src/runtime/streams/bound-session-service.ts +22 -2
  544. package/src/runtime/streams/index.ts +78 -68
  545. package/src/runtime/streams/managed-stream.ts +32 -23
  546. package/src/runtime/streams/native-fallback-bound-session.ts +14 -28
  547. package/src/runtime/streams/protocol.ts +34 -88
  548. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  549. package/src/runtime/streams/session-calls.ts +11 -36
  550. package/src/runtime/streams/session-context.ts +60 -25
  551. package/src/runtime/streams/session-requests.ts +2 -1
  552. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  553. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  554. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  555. package/src/runtime/workers/index.ts +13 -12
  556. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  557. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  558. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  559. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  560. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  561. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -1,13 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateFrameworkRegistration = validateFrameworkRegistration;
4
+ const Locations_1 = require("../Locations");
4
5
  const ConfigurationException_1 = require("./ConfigurationException");
6
+ const FanoutTopic_1 = require("./FanoutTopic");
7
+ const InternalDefaults_1 = require("./InternalDefaults");
8
+ const RegistrationBuilderPolicy_1 = require("./RegistrationBuilderPolicy");
5
9
  const RegistrationNormalizers_1 = require("./RegistrationNormalizers");
6
10
  const RouteChannelInternalState_1 = require("./RouteChannelInternalState");
7
- const TimerRegistrationValidator_1 = require("./TimerRegistrationValidator");
8
- const Locations_1 = require("../Locations");
9
11
  const SendTimeoutValidation_1 = require("./SendTimeoutValidation");
10
- const FanoutTopic_1 = require("./FanoutTopic");
12
+ const TimerRegistrationValidator_1 = require("./TimerRegistrationValidator");
13
+ const ROUTE_CACHE_FOLLOW_MARGIN_MS = 5000;
11
14
  function validateFrameworkRegistration(registration, _options = {}) {
12
15
  validateListenerNetworkIdentity('process network', registration.network.bindHost, registration.network.advertiseHost);
13
16
  const actorCapableSpotNodes = [...registration.spotNodes.values()].filter((spotNode) => toActorFactoryCount(spotNode.actorFactories) > 0);
@@ -88,9 +91,10 @@ function validateLocationRegistration(registration) {
88
91
  throw new ConfigurationException_1.ZLinkConfigurationException(`${name} must be a finite positive number.`);
89
92
  }
90
93
  }
91
- if (options.ownerLeaseRenewIntervalMs + options.ownerLeaseRenewTimeoutMs >=
94
+ if (Math.max(options.ownerLeaseRenewIntervalMs, options.ownerLeaseRenewTimeoutMs) +
95
+ options.ownerLeaseRenewTimeoutMs >=
92
96
  options.ownerLeaseTtlMs - options.ownerLeaseFencingMarginMs) {
93
- throw new ConfigurationException_1.ZLinkConfigurationException('ownerLeaseRenewIntervalMs + ownerLeaseRenewTimeoutMs must be less than ownerLeaseTtlMs - ownerLeaseFencingMarginMs.');
97
+ throw new ConfigurationException_1.ZLinkConfigurationException('max(ownerLeaseRenewIntervalMs, ownerLeaseRenewTimeoutMs) + ownerLeaseRenewTimeoutMs must be less than ownerLeaseTtlMs - ownerLeaseFencingMarginMs.');
94
98
  }
95
99
  for (const [name, value] of Object.entries({
96
100
  relocationCutoverWaitTimeoutMs: options.relocationCutoverWaitTimeoutMs,
@@ -100,8 +104,8 @@ function validateLocationRegistration(registration) {
100
104
  throw new ConfigurationException_1.ZLinkConfigurationException(`${name} must be a positive integer.`);
101
105
  }
102
106
  }
103
- if (options.relocationPayloadChunkLimitBytes > 67_108_864) {
104
- throw new ConfigurationException_1.ZLinkConfigurationException('relocationPayloadChunkLimitBytes must not exceed the 64 MiB wire chunk bound.');
107
+ if (options.relocationPayloadChunkLimitBytes > InternalDefaults_1.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
108
+ throw new ConfigurationException_1.ZLinkConfigurationException(`relocationPayloadChunkLimitBytes must not exceed the ${InternalDefaults_1.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES / (1024 * 1024)} MiB wire chunk bound.`);
105
109
  }
106
110
  for (const [name, value] of Object.entries({
107
111
  relocationInFlightPayloadBudgetBytes: options.relocationInFlightPayloadBudgetBytes,
@@ -121,8 +125,8 @@ function validateLocationRegistration(registration) {
121
125
  }
122
126
  if (options.routeCacheMaxAgeMs > 0 &&
123
127
  options.messageFollowDurationMs > 0 &&
124
- options.routeCacheMaxAgeMs > options.messageFollowDurationMs - 5000) {
125
- throw new ConfigurationException_1.ZLinkConfigurationException('routeCacheMaxAgeMs must be at least 5000 ms shorter than messageFollowDurationMs.');
128
+ options.routeCacheMaxAgeMs > options.messageFollowDurationMs - ROUTE_CACHE_FOLLOW_MARGIN_MS) {
129
+ throw new ConfigurationException_1.ZLinkConfigurationException(`routeCacheMaxAgeMs must be at least ${ROUTE_CACHE_FOLLOW_MARGIN_MS} ms shorter than messageFollowDurationMs.`);
126
130
  }
127
131
  }
128
132
  function requireNonNegativeInteger(label, value) {
@@ -164,6 +168,7 @@ function validateChannelCapabilities(channels, peerLocationConfigured) {
164
168
  requireSocketOptions(`channel '${channelName}' server`, channel.server);
165
169
  }
166
170
  if (channel.publisher !== undefined) {
171
+ (0, SendTimeoutValidation_1.requireValidSendTimeoutMs)(`channel '${channelName}' publisher sendTimeoutMs`, channel.publisher.sendTimeoutMs);
167
172
  requireEndpoint(`channel '${channelName}' publisher`, channel.publisher.bind);
168
173
  validateListenerNetworkIdentity(`channel '${channelName}' publisher`, channel.publisher.bindHost, channel.publisher.advertiseHost);
169
174
  validateFanoutPublisherIdentity(channelName, channel.routingId, channel.routingIdPrefix, peerLocationConfigured);
@@ -446,18 +451,14 @@ function requirePeerWeight(label, value) {
446
451
  if (value === undefined) {
447
452
  return;
448
453
  }
449
- if (!Number.isInteger(value) || value < 0 || value > 10_000) {
450
- throw new ConfigurationException_1.ZLinkConfigurationException(`${label} must be an integer in 0..10000.`);
451
- }
454
+ (0, RegistrationBuilderPolicy_1.requirePublicWeight)(value, label);
452
455
  }
453
456
  function requireSocketOptions(label, options) {
454
457
  requireNonNegativeInteger(`${label} sendHighWaterMark`, options.sendHighWaterMark);
455
458
  requireNonNegativeInteger(`${label} receiveHighWaterMark`, options.receiveHighWaterMark);
456
459
  requireNonNegativeInteger(`${label} maxMessageSize`, options.maxMessageSize);
457
- (0, SendTimeoutValidation_1.requireValidSendTimeoutMs)(`${label} sendTimeoutMs`, options.sendTimeoutMs);
458
460
  }
459
461
  function requireRouteMeshSocketOptions(label, options) {
460
462
  requireNonNegativeInteger(`${label} sendHighWaterMark`, options.sendHighWaterMark);
461
463
  requireNonNegativeInteger(`${label} receiveHighWaterMark`, options.receiveHighWaterMark);
462
- (0, SendTimeoutValidation_1.requireValidSendTimeoutMs)(`${label} sendTimeoutMs`, options.sendTimeoutMs);
463
464
  }
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateTimerRegistration = validateTimerRegistration;
4
4
  const Timers_1 = require("../Timers");
5
5
  const ConfigurationException_1 = require("./ConfigurationException");
6
+ const MAX_TIMER_CATCH_UP_TICKS = 2_147_483_647;
6
7
  function validateTimerRegistration(name, periodMs, options) {
7
8
  if (name.trim().length === 0) {
8
9
  throw new ConfigurationException_1.ZLinkConfigurationException('SPOT timer name must not be empty.');
@@ -18,7 +19,7 @@ function validateTimerRegistration(name, periodMs, options) {
18
19
  (options.maxCatchUpTicks === undefined ||
19
20
  !Number.isInteger(options.maxCatchUpTicks) ||
20
21
  options.maxCatchUpTicks < 1 ||
21
- options.maxCatchUpTicks > 2_147_483_647)) {
22
- throw new ConfigurationException_1.ZLinkConfigurationException('SPOT timer MaxCatchUpTicks must be an integer from 1 through 2,147,483,647.');
22
+ options.maxCatchUpTicks > MAX_TIMER_CATCH_UP_TICKS)) {
23
+ throw new ConfigurationException_1.ZLinkConfigurationException(`SPOT timer MaxCatchUpTicks must be an integer from 1 through ${MAX_TIMER_CATCH_UP_TICKS.toLocaleString('en-US')}.`);
23
24
  }
24
25
  }
@@ -162,7 +162,7 @@ export declare enum ZLinkDispatchMessageKind {
162
162
  ActorRequest = "actorRequest",
163
163
  ActorSend = "actorSend"
164
164
  }
165
- export type ZLinkDispatchErrorReason = 'no_handler' | 'decode_error' | 'handler_exception' | 'invalid_frame' | 'reply_path_missing' | 'unexpected_reply' | 'backpressure' | 'stale_target' | 'shutdown';
165
+ export type ZLinkDispatchErrorReason = 'no_handler' | 'decode_error' | 'handler_exception' | 'invalid_frame' | 'reply_path_missing' | 'unexpected_reply' | 'backpressure' | 'target_closed' | 'stale_target' | 'shutdown';
166
166
  export type ZLinkDispatchErrorAction = 'reply_error' | 'fail_caller' | 'drop';
167
167
  export declare enum ZLinkRuntimeDispatchErrorReason {
168
168
  HandlerMissing = "no_handler",
@@ -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>;
@@ -68,7 +68,7 @@ export interface ZLinkSpotSendCall {
68
68
  instanceSpot(): this;
69
69
  instanceSpot(instanceSpotType: string): this;
70
70
  inMesh(meshName: string): this;
71
- submit(signal?: AbortSignal): Promise<void>;
71
+ submit(): Promise<void>;
72
72
  }
73
73
  export interface ZLinkSpotRequestCall {
74
74
  metadata(key: string, value: string): this;
@@ -4,5 +4,5 @@ export interface ZLinkBoundSession {
4
4
  }
5
5
  export interface ZLinkBoundSessionSendCall {
6
6
  metadata(key: string, value: string): this;
7
- submit(signal?: AbortSignal): Promise<void>;
7
+ submit(): Promise<void>;
8
8
  }
@@ -36,10 +36,9 @@ export interface ZLinkSessionClient {
36
36
  export interface ZLinkSessionSendCall {
37
37
  metadata(key: string, value: string): this;
38
38
  compress(enabled?: boolean): this;
39
- timeout(timeoutMs: number): this;
40
- submit(signal?: AbortSignal): Promise<void>;
39
+ submit(): Promise<void>;
41
40
  }
42
41
  export interface ZLinkSessionReplyCall {
43
42
  compress(enabled?: boolean): this;
44
- submit(signal?: AbortSignal): Promise<void>;
43
+ submit(): Promise<void>;
45
44
  }
@@ -9,7 +9,7 @@ export interface ZLinkSessionActors {
9
9
  export interface ZLinkSessionActor {
10
10
  readonly actorId: string;
11
11
  readonly ref: ActorRef;
12
- relay(payload: ZLinkMessage, signal?: AbortSignal): Promise<void>;
13
- relay(dispatch: ZLinkSessionDispatchContext, payload: ZLinkMessage, signal?: AbortSignal): Promise<void>;
12
+ relay(payload: ZLinkMessage): Promise<void>;
13
+ relay(dispatch: ZLinkSessionDispatchContext, payload: ZLinkMessage): Promise<void>;
14
14
  notifyDisconnected(signal?: AbortSignal): Promise<void>;
15
15
  }
@@ -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;