@zlink-systems/framework 0.25.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 (557) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/Channels/IZLinkFanoutClient.d.ts +0 -6
  3. package/dist/contracts/Common/CoreTypes.d.ts +6 -0
  4. package/dist/contracts/Common/CoreTypes.js +7 -0
  5. package/dist/contracts/Common/index.d.ts +1 -1
  6. package/dist/contracts/Common/index.js +0 -1
  7. package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
  8. package/dist/contracts/Configuration/InternalDefaults.js +9 -1
  9. package/dist/contracts/Configuration/Registration.d.ts +13 -2
  10. package/dist/contracts/Configuration/Registration.js +58 -36
  11. package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
  12. package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
  13. package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
  14. package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
  15. package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
  16. package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
  17. package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
  18. package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
  19. package/dist/contracts/Handlers/JsonContract.js +10 -4
  20. package/dist/contracts/Locations/Authority.d.ts +1 -1
  21. package/dist/contracts/Locations/Authority.js +3 -2
  22. package/dist/contracts/Locations/Options.js +1 -1
  23. package/dist/contracts/Locations/Stores.d.ts +12 -0
  24. package/dist/contracts/Locations/Stores.js +9 -0
  25. package/dist/contracts/RouteMesh/RuntimeTopology.d.ts +8 -0
  26. package/dist/contracts/Spots/Contracts.d.ts +1 -1
  27. package/dist/internal.d.ts +5 -0
  28. package/dist/internal.js +16 -1
  29. package/dist/nest-integration.d.ts +4 -2
  30. package/dist/nest-integration.js +14 -4
  31. package/dist/runtime/abort.d.ts +1 -0
  32. package/dist/runtime/abort.js +8 -5
  33. package/dist/runtime/activation-admission.d.ts +28 -0
  34. package/dist/runtime/activation-admission.js +57 -0
  35. package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
  36. package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
  37. package/dist/runtime/actors/actor-client.d.ts +2 -2
  38. package/dist/runtime/actors/actor-client.js +42 -143
  39. package/dist/runtime/actors/actor-context.d.ts +3 -5
  40. package/dist/runtime/actors/actor-context.js +19 -17
  41. package/dist/runtime/actors/actor-handoff.d.ts +13 -7
  42. package/dist/runtime/actors/actor-handoff.js +36 -25
  43. package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
  44. package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
  45. package/dist/runtime/actors/actor-local-native-join.js +85 -123
  46. package/dist/runtime/actors/actor-native-lookup.js +2 -8
  47. package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
  48. package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
  49. package/dist/runtime/actors/actor-remote-joiner.d.ts +3 -3
  50. package/dist/runtime/actors/actor-remote-joiner.js +11 -17
  51. package/dist/runtime/actors/actor-remote-wire.js +5 -3
  52. package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
  53. package/dist/runtime/actors/actor-request-deadline.js +31 -0
  54. package/dist/runtime/actors/actor-retry-delay.js +2 -1
  55. package/dist/runtime/actors/actor-runtime-contracts.d.ts +4 -2
  56. package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
  57. package/dist/runtime/actors/actor-runtime-state.js +70 -187
  58. package/dist/runtime/actors/actor-source-transfer.d.ts +5 -5
  59. package/dist/runtime/actors/bound-session-wire.js +2 -7
  60. package/dist/runtime/actors/deferred-join-completion.d.ts +19 -0
  61. package/dist/runtime/actors/deferred-join-completion.js +21 -0
  62. package/dist/runtime/actors/index.d.ts +10 -8
  63. package/dist/runtime/actors/index.js +101 -73
  64. package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
  65. package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
  66. package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
  67. package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
  68. package/dist/runtime/admission.d.ts +7 -1
  69. package/dist/runtime/admission.js +11 -1
  70. package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
  71. package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
  72. package/dist/runtime/backend/contracts/index.d.ts +8 -33
  73. package/dist/runtime/backend/mesh-actor-session-node-adapter.js +3 -26
  74. package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
  75. package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
  76. package/dist/runtime/backend/node/node-backend-adapter-factory.d.ts +1 -2
  77. package/dist/runtime/backend/node/node-backend-adapter-factory.js +4 -18
  78. package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +7 -4
  79. package/dist/runtime/backend/node/node-backend-adapter-support.js +28 -34
  80. package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
  81. package/dist/runtime/backend/node/node-event-loop-poller.js +11 -6
  82. package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
  83. package/dist/runtime/backend/node/node-raw-binding-port.d.ts +1 -1
  84. package/dist/runtime/backend/node/node-raw-binding-port.js +51 -19
  85. package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +21 -19
  86. package/dist/runtime/backend/node/node-raw-mesh-backend.js +171 -111
  87. package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
  88. package/dist/runtime/backend/raw-binding-port.d.ts +13 -1
  89. package/dist/runtime/backend/runtime-values.d.ts +4 -1
  90. package/dist/runtime/backend/runtime-values.js +2 -0
  91. package/dist/runtime/channels/channel-clients.d.ts +20 -9
  92. package/dist/runtime/channels/channel-clients.js +68 -60
  93. package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
  94. package/dist/runtime/channels/channel-envelope.js +47 -29
  95. package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
  96. package/dist/runtime/channels/channel-outbound-operations.js +9 -18
  97. package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
  98. package/dist/runtime/channels/channel-receive-loops.js +27 -6
  99. package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
  100. package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
  101. package/dist/runtime/channels/channel-runtime-manager.d.ts +2 -5
  102. package/dist/runtime/channels/channel-runtime-manager.js +4 -12
  103. package/dist/runtime/channels/channel-socket-options.js +3 -2
  104. package/dist/runtime/channels/channel-socket-registry.d.ts +30 -32
  105. package/dist/runtime/channels/channel-socket-registry.js +296 -235
  106. package/dist/runtime/channels/channel-transports.d.ts +11 -20
  107. package/dist/runtime/channels/channel-transports.js +68 -47
  108. package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
  109. package/dist/runtime/channels/client-server-location-runtime.js +10 -11
  110. package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
  111. package/dist/runtime/channels/client-server-service-wire.js +32 -11
  112. package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
  113. package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
  114. package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
  115. package/dist/runtime/channels/fanout-location-runtime.js +133 -81
  116. package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
  117. package/dist/runtime/channels/spot-direct-envelope.js +4 -3
  118. package/dist/runtime/channels/spot-node-route-transport.js +3 -2
  119. package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
  120. package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
  121. package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
  122. package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
  123. package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
  124. package/dist/runtime/diagnostics/flow-context.js +16 -2
  125. package/dist/runtime/diagnostics/index.d.ts +4 -2
  126. package/dist/runtime/diagnostics/index.js +14 -4
  127. package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
  128. package/dist/runtime/diagnostics/message-flow.js +10 -19
  129. package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
  130. package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
  131. package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
  132. package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
  133. package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
  134. package/dist/runtime/disposal.d.ts +5 -0
  135. package/dist/runtime/disposal.js +22 -0
  136. package/dist/runtime/execution/index.d.ts +22 -9
  137. package/dist/runtime/execution/index.js +107 -37
  138. package/dist/runtime/execution/serial-execution-queue.d.ts +12 -7
  139. package/dist/runtime/execution/serial-execution-queue.js +99 -26
  140. package/dist/runtime/execution/state-lane.d.ts +8 -1
  141. package/dist/runtime/execution/state-lane.js +118 -3
  142. package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
  143. package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
  144. package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
  145. package/dist/runtime/foundation/event-loop-resources.js +6 -119
  146. package/dist/runtime/foundation/listener-records.d.ts +11 -0
  147. package/dist/runtime/foundation/listener-records.js +20 -0
  148. package/dist/runtime/foundation/operation-identity.d.ts +2 -0
  149. package/dist/runtime/foundation/operation-identity.js +9 -5
  150. package/dist/runtime/foundation/operation-registry.d.ts +5 -7
  151. package/dist/runtime/foundation/operation-registry.js +34 -44
  152. package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +18 -26
  153. package/dist/runtime/foundation/raw-service-mesh-runtime.js +122 -469
  154. package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
  155. package/dist/runtime/foundation/runtime-state-projections.js +8 -0
  156. package/dist/runtime/foundation/service-authority-payload-codec.d.ts +1 -0
  157. package/dist/runtime/foundation/service-authority-payload-codec.js +30 -12
  158. package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
  159. package/dist/runtime/foundation/service-discovery-registry.js +22 -3
  160. package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
  161. package/dist/runtime/foundation/service-liveness-registry.js +2 -1
  162. package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
  163. package/dist/runtime/foundation/service-maintenance-runtime.js +23 -8
  164. package/dist/runtime/foundation/service-metadata-codec.js +3 -3
  165. package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
  166. package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
  167. package/dist/runtime/foundation/service-relocation-coordinator.d.ts +9 -0
  168. package/dist/runtime/foundation/service-relocation-coordinator.js +14 -1
  169. package/dist/runtime/foundation/service-relocation-object-owner.d.ts +8 -0
  170. package/dist/runtime/foundation/service-relocation-object-owner.js +19 -6
  171. package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
  172. package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
  173. package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
  174. package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -19
  175. package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
  176. package/dist/runtime/foundation/service-stateful-registry.js +10 -2
  177. package/dist/runtime/foundation/service-stateful-runtime.d.ts +28 -24
  178. package/dist/runtime/foundation/service-stateful-runtime.js +297 -244
  179. package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +12 -7
  180. package/dist/runtime/foundation/service-stateful-wire-codec.js +240 -143
  181. package/dist/runtime/foundation/service-topology-registry.d.ts +1 -3
  182. package/dist/runtime/foundation/service-topology-registry.js +22 -61
  183. package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
  184. package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
  185. package/dist/runtime/foundation/service-wire-codec.js +10 -8
  186. package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
  187. package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
  188. package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
  189. package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
  190. package/dist/runtime/framework-errors-internal.d.ts +2 -1
  191. package/dist/runtime/framework-errors-internal.js +343 -122
  192. package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
  193. package/dist/runtime/handlers/handler-instance-scope.js +61 -74
  194. package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
  195. package/dist/runtime/host/actor-packet-relay.js +48 -91
  196. package/dist/runtime/host/actor-placement-coordinator.js +7 -5
  197. package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
  198. package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
  199. package/dist/runtime/host/actor-transfer-runtime.d.ts +28 -28
  200. package/dist/runtime/host/actor-transfer-runtime.js +210 -256
  201. package/dist/runtime/host/application-job-queue.js +16 -33
  202. package/dist/runtime/host/bound-session-relay.js +1 -1
  203. package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
  204. package/dist/runtime/host/index.d.ts +19 -14
  205. package/dist/runtime/host/index.js +234 -175
  206. package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
  207. package/dist/runtime/host/instance-activation-authority.js +17 -45
  208. package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
  209. package/dist/runtime/host/location-runtime-owner.js +2 -2
  210. package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
  211. package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
  212. package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
  213. package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
  214. package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
  215. package/dist/runtime/host/remote-bound-session-relay.js +11 -23
  216. package/dist/runtime/host/route-mesh-runtime.d.ts +14 -10
  217. package/dist/runtime/host/route-mesh-runtime.js +178 -257
  218. package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
  219. package/dist/runtime/host/runtime-shutdown.js +18 -21
  220. package/dist/runtime/host/service-relocation-control.js +6 -1
  221. package/dist/runtime/host/service-relocation-host-runtime.d.ts +71 -38
  222. package/dist/runtime/host/service-relocation-host-runtime.js +816 -651
  223. package/dist/runtime/host/spot-address-transport.d.ts +2 -3
  224. package/dist/runtime/host/spot-address-transport.js +34 -136
  225. package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
  226. package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
  227. package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -7
  228. package/dist/runtime/host/spot-runtime-options-factory.js +53 -21
  229. package/dist/runtime/host/stateful-authority-route-runtime.js +6 -2
  230. package/dist/runtime/host/user-spot-creation-coordinator.d.ts +14 -6
  231. package/dist/runtime/host/user-spot-creation-coordinator.js +96 -95
  232. package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
  233. package/dist/runtime/locations/authority-key-codec.js +4 -3
  234. package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
  235. package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
  236. package/dist/runtime/locations/creation-operation-id.js +6 -4
  237. package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
  238. package/dist/runtime/locations/in-memory-authority-store.js +31 -15
  239. package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
  240. package/dist/runtime/locations/in-memory-location-store.js +17 -14
  241. package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
  242. package/dist/runtime/locations/in-memory-provider-location-store.js +79 -27
  243. package/dist/runtime/locations/key-codec.js +3 -2
  244. package/dist/runtime/locations/lease-tracker.d.ts +3 -5
  245. package/dist/runtime/locations/lease-tracker.js +7 -11
  246. package/dist/runtime/locations/lifecycle.d.ts +5 -10
  247. package/dist/runtime/locations/lifecycle.js +4 -33
  248. package/dist/runtime/locations/location-store-failure.d.ts +2 -0
  249. package/dist/runtime/locations/location-store-failure.js +7 -0
  250. package/dist/runtime/locations/location-store-pages.d.ts +3 -0
  251. package/dist/runtime/locations/location-store-pages.js +13 -0
  252. package/dist/runtime/locations/location-store-repository.d.ts +5 -7
  253. package/dist/runtime/locations/location-store-repository.js +303 -332
  254. package/dist/runtime/locations/relocation-blob.js +18 -5
  255. package/dist/runtime/locations/resolvers.d.ts +5 -5
  256. package/dist/runtime/locations/resolvers.js +44 -30
  257. package/dist/runtime/locations/runtime.d.ts +5 -4
  258. package/dist/runtime/locations/runtime.js +123 -92
  259. package/dist/runtime/locations/spot-location-claims.d.ts +8 -2
  260. package/dist/runtime/locations/spot-location-claims.js +40 -23
  261. package/dist/runtime/messaging/payload-codec.js +26 -20
  262. package/dist/runtime/messaging/submission-result.d.ts +3 -0
  263. package/dist/runtime/messaging/submission-result.js +48 -0
  264. package/dist/runtime/protocol/service_wire_codec.generated.d.ts +2 -0
  265. package/dist/runtime/protocol/service_wire_codec.generated.js +17 -8
  266. package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +1 -0
  267. package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +3 -2
  268. package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +3 -3
  269. package/dist/runtime/spots/formal-remote-actor-admission-registry.js +4 -4
  270. package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +6 -3
  271. package/dist/runtime/spots/index.d.ts +29 -29
  272. package/dist/runtime/spots/index.js +441 -313
  273. package/dist/runtime/spots/spot-activation-registry.d.ts +4 -4
  274. package/dist/runtime/spots/spot-activation-registry.js +27 -60
  275. package/dist/runtime/spots/spot-activation-state.d.ts +2 -11
  276. package/dist/runtime/spots/spot-activation-state.js +4 -17
  277. package/dist/runtime/spots/spot-activation.d.ts +10 -9
  278. package/dist/runtime/spots/spot-activation.js +103 -81
  279. package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
  280. package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
  281. package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
  282. package/dist/runtime/spots/spot-actor-join-dispatch.js +5 -55
  283. package/dist/runtime/spots/spot-actor-lifecycle-drain.js +2 -2
  284. package/dist/runtime/spots/spot-actor-membership.d.ts +7 -5
  285. package/dist/runtime/spots/spot-actor-membership.js +44 -53
  286. package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
  287. package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
  288. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
  289. package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
  290. package/dist/runtime/spots/spot-context.d.ts +2 -2
  291. package/dist/runtime/spots/spot-entry-activation.d.ts +3 -4
  292. package/dist/runtime/spots/spot-entry-activation.js +9 -21
  293. package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
  294. package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
  295. package/dist/runtime/spots/spot-manager-public.js +6 -5
  296. package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
  297. package/dist/runtime/spots/spot-node-runtime-manager.d.ts +22 -21
  298. package/dist/runtime/spots/spot-node-runtime-manager.js +73 -82
  299. package/dist/runtime/spots/spot-outbound.d.ts +4 -3
  300. package/dist/runtime/spots/spot-outbound.js +10 -37
  301. package/dist/runtime/spots/spot-remote-codec.js +5 -3
  302. package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
  303. package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
  304. package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
  305. package/dist/runtime/spots/spot-route-replies.js +3 -1
  306. package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -2
  307. package/dist/runtime/spots/spot-routed-actor-admission.js +3 -2
  308. package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +2 -7
  309. package/dist/runtime/spots/spot-routed-frame-dispatch.js +1 -70
  310. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
  311. package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
  312. package/dist/runtime/spots/spot-runtime-ports.d.ts +4 -20
  313. package/dist/runtime/spots/spot-serial-executor.d.ts +5 -0
  314. package/dist/runtime/spots/spot-serial-executor.js +9 -2
  315. package/dist/runtime/spots/spot-serial-turn-executor.d.ts +29 -6
  316. package/dist/runtime/spots/spot-serial-turn-executor.js +89 -13
  317. package/dist/runtime/spots/spot-timer.d.ts +3 -2
  318. package/dist/runtime/streams/actor-session-binding-registry.d.ts +17 -32
  319. package/dist/runtime/streams/actor-session-binding-registry.js +145 -367
  320. package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +2 -6
  321. package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
  322. package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
  323. package/dist/runtime/streams/bound-session-service.d.ts +7 -0
  324. package/dist/runtime/streams/bound-session-service.js +12 -19
  325. package/dist/runtime/streams/index.d.ts +15 -14
  326. package/dist/runtime/streams/index.js +38 -39
  327. package/dist/runtime/streams/managed-stream.d.ts +3 -0
  328. package/dist/runtime/streams/managed-stream.js +17 -8
  329. package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
  330. package/dist/runtime/streams/protocol.d.ts +6 -33
  331. package/dist/runtime/streams/protocol.js +38 -110
  332. package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
  333. package/dist/runtime/streams/session-actor-coordinator.js +12 -4
  334. package/dist/runtime/streams/session-calls.d.ts +1 -1
  335. package/dist/runtime/streams/session-calls.js +5 -4
  336. package/dist/runtime/streams/session-context.d.ts +6 -6
  337. package/dist/runtime/streams/session-context.js +22 -4
  338. package/dist/runtime/streams/session-requests.js +2 -1
  339. package/dist/runtime/streams/session-serial-executor.js +2 -2
  340. package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
  341. package/dist/runtime/streams/stream-frame-factory.js +2 -2
  342. package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
  343. package/dist/runtime/streams/stream-session-runtime.js +25 -33
  344. package/dist/runtime/workers/index.d.ts +2 -2
  345. package/dist/runtime/workers/index.js +5 -4
  346. package/package.json +3 -3
  347. package/src/contracts/Channels/IZLinkFanoutClient.ts +0 -7
  348. package/src/contracts/Common/CoreTypes.ts +7 -0
  349. package/src/contracts/Common/index.ts +1 -1
  350. package/src/contracts/Configuration/InternalDefaults.ts +12 -0
  351. package/src/contracts/Configuration/Registration.ts +92 -48
  352. package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
  353. package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
  354. package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
  355. package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
  356. package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
  357. package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
  358. package/src/contracts/Handlers/JsonContract.ts +14 -4
  359. package/src/contracts/Locations/Authority.ts +7 -3
  360. package/src/contracts/Locations/Options.ts +1 -1
  361. package/src/contracts/Locations/Stores.ts +14 -0
  362. package/src/contracts/RouteMesh/RuntimeTopology.ts +10 -0
  363. package/src/contracts/Spots/Contracts.ts +1 -1
  364. package/src/internal.ts +15 -0
  365. package/src/nest-integration.ts +28 -10
  366. package/src/runtime/abort.ts +6 -5
  367. package/src/runtime/activation-admission.ts +72 -0
  368. package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
  369. package/src/runtime/actors/actor-client.ts +77 -204
  370. package/src/runtime/actors/actor-context.ts +45 -39
  371. package/src/runtime/actors/actor-handoff.ts +55 -45
  372. package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
  373. package/src/runtime/actors/actor-local-native-join.ts +174 -215
  374. package/src/runtime/actors/actor-native-lookup.ts +2 -9
  375. package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
  376. package/src/runtime/actors/actor-remote-joiner.ts +15 -36
  377. package/src/runtime/actors/actor-remote-wire.ts +5 -3
  378. package/src/runtime/actors/actor-request-deadline.ts +49 -0
  379. package/src/runtime/actors/actor-retry-delay.ts +2 -1
  380. package/src/runtime/actors/actor-runtime-contracts.ts +4 -10
  381. package/src/runtime/actors/actor-runtime-state.ts +85 -247
  382. package/src/runtime/actors/actor-source-transfer.ts +5 -18
  383. package/src/runtime/actors/bound-session-wire.ts +2 -8
  384. package/src/runtime/actors/deferred-join-completion.ts +44 -0
  385. package/src/runtime/actors/index.ts +122 -88
  386. package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
  387. package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
  388. package/src/runtime/admission.ts +13 -2
  389. package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
  390. package/src/runtime/backend/contracts/index.ts +15 -42
  391. package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -28
  392. package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
  393. package/src/runtime/backend/node/node-backend-adapter-factory.ts +5 -25
  394. package/src/runtime/backend/node/node-backend-adapter-support.ts +32 -35
  395. package/src/runtime/backend/node/node-event-loop-poller.ts +16 -8
  396. package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
  397. package/src/runtime/backend/node/node-raw-binding-port.ts +58 -23
  398. package/src/runtime/backend/node/node-raw-mesh-backend.ts +252 -162
  399. package/src/runtime/backend/node/node-socket-backend-adapter.ts +5 -4
  400. package/src/runtime/backend/raw-binding-port.ts +14 -1
  401. package/src/runtime/backend/runtime-values.ts +4 -1
  402. package/src/runtime/channels/channel-clients.ts +132 -96
  403. package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
  404. package/src/runtime/channels/channel-envelope.ts +58 -29
  405. package/src/runtime/channels/channel-outbound-operations.ts +10 -31
  406. package/src/runtime/channels/channel-receive-loops.ts +39 -7
  407. package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
  408. package/src/runtime/channels/channel-runtime-manager.ts +8 -15
  409. package/src/runtime/channels/channel-socket-options.ts +8 -2
  410. package/src/runtime/channels/channel-socket-registry.ts +369 -262
  411. package/src/runtime/channels/channel-transports.ts +161 -115
  412. package/src/runtime/channels/client-server-location-runtime.ts +17 -17
  413. package/src/runtime/channels/client-server-service-wire.ts +40 -12
  414. package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
  415. package/src/runtime/channels/fanout-location-runtime.ts +175 -106
  416. package/src/runtime/channels/spot-direct-envelope.ts +1 -1
  417. package/src/runtime/channels/spot-node-route-transport.ts +5 -2
  418. package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
  419. package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
  420. package/src/runtime/diagnostics/flow-context.ts +16 -2
  421. package/src/runtime/diagnostics/index.ts +27 -17
  422. package/src/runtime/diagnostics/message-flow.ts +15 -25
  423. package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
  424. package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
  425. package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
  426. package/src/runtime/disposal.ts +19 -0
  427. package/src/runtime/execution/index.ts +116 -38
  428. package/src/runtime/execution/serial-execution-queue.ts +179 -34
  429. package/src/runtime/execution/state-lane.ts +142 -4
  430. package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
  431. package/src/runtime/foundation/event-loop-resources.ts +5 -122
  432. package/src/runtime/foundation/listener-records.ts +21 -0
  433. package/src/runtime/foundation/operation-identity.ts +11 -5
  434. package/src/runtime/foundation/operation-registry.ts +33 -50
  435. package/src/runtime/foundation/raw-service-mesh-runtime.ts +170 -571
  436. package/src/runtime/foundation/runtime-state-projections.ts +9 -1
  437. package/src/runtime/foundation/service-authority-payload-codec.ts +41 -13
  438. package/src/runtime/foundation/service-discovery-registry.ts +32 -3
  439. package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
  440. package/src/runtime/foundation/service-liveness-registry.ts +2 -1
  441. package/src/runtime/foundation/service-maintenance-runtime.ts +30 -19
  442. package/src/runtime/foundation/service-metadata-codec.ts +2 -2
  443. package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
  444. package/src/runtime/foundation/service-relocation-coordinator.ts +13 -0
  445. package/src/runtime/foundation/service-relocation-object-owner.ts +23 -7
  446. package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
  447. package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
  448. package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -25
  449. package/src/runtime/foundation/service-stateful-registry.ts +14 -2
  450. package/src/runtime/foundation/service-stateful-runtime.ts +435 -327
  451. package/src/runtime/foundation/service-stateful-wire-codec.ts +329 -199
  452. package/src/runtime/foundation/service-topology-registry.ts +30 -79
  453. package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
  454. package/src/runtime/foundation/service-wire-codec.ts +15 -8
  455. package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
  456. package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
  457. package/src/runtime/framework-errors-internal.ts +380 -134
  458. package/src/runtime/handlers/handler-instance-scope.ts +68 -95
  459. package/src/runtime/host/actor-packet-relay.ts +57 -147
  460. package/src/runtime/host/actor-placement-coordinator.ts +8 -5
  461. package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
  462. package/src/runtime/host/actor-transfer-runtime.ts +266 -418
  463. package/src/runtime/host/application-job-queue.ts +28 -34
  464. package/src/runtime/host/bound-session-relay.ts +1 -2
  465. package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
  466. package/src/runtime/host/index.ts +408 -312
  467. package/src/runtime/host/instance-activation-authority.ts +89 -109
  468. package/src/runtime/host/location-runtime-owner.ts +4 -2
  469. package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
  470. package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
  471. package/src/runtime/host/remote-bound-session-relay.ts +12 -44
  472. package/src/runtime/host/route-mesh-runtime.ts +236 -275
  473. package/src/runtime/host/runtime-shutdown.ts +17 -21
  474. package/src/runtime/host/service-relocation-control.ts +14 -1
  475. package/src/runtime/host/service-relocation-host-runtime.ts +1161 -904
  476. package/src/runtime/host/spot-address-transport.ts +73 -195
  477. package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
  478. package/src/runtime/host/spot-runtime-options-factory.ts +92 -30
  479. package/src/runtime/host/stateful-authority-route-runtime.ts +8 -4
  480. package/src/runtime/host/user-spot-creation-coordinator.ts +182 -163
  481. package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
  482. package/src/runtime/locations/authority-key-codec.ts +7 -3
  483. package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
  484. package/src/runtime/locations/creation-operation-id.ts +6 -3
  485. package/src/runtime/locations/domain-store-contract.ts +12 -3
  486. package/src/runtime/locations/in-memory-authority-store.ts +44 -15
  487. package/src/runtime/locations/in-memory-location-store.ts +50 -39
  488. package/src/runtime/locations/in-memory-provider-location-store.ts +110 -31
  489. package/src/runtime/locations/key-codec.ts +3 -2
  490. package/src/runtime/locations/lease-tracker.ts +8 -14
  491. package/src/runtime/locations/lifecycle.ts +16 -45
  492. package/src/runtime/locations/location-store-failure.ts +4 -0
  493. package/src/runtime/locations/location-store-pages.ts +18 -0
  494. package/src/runtime/locations/location-store-repository.ts +450 -478
  495. package/src/runtime/locations/relocation-blob.ts +17 -6
  496. package/src/runtime/locations/resolvers.ts +90 -58
  497. package/src/runtime/locations/runtime.ts +220 -110
  498. package/src/runtime/locations/spot-location-claims.ts +54 -26
  499. package/src/runtime/messaging/payload-codec.ts +35 -24
  500. package/src/runtime/messaging/submission-result.ts +57 -1
  501. package/src/runtime/protocol/service_wire_codec.generated.ts +27 -10
  502. package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +4 -4
  503. package/src/runtime/spots/formal-remote-actor-admission-registry.ts +6 -6
  504. package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +6 -3
  505. package/src/runtime/spots/index.ts +687 -437
  506. package/src/runtime/spots/spot-activation-registry.ts +42 -71
  507. package/src/runtime/spots/spot-activation-state.ts +4 -16
  508. package/src/runtime/spots/spot-activation.ts +167 -115
  509. package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
  510. package/src/runtime/spots/spot-actor-join-dispatch.ts +25 -79
  511. package/src/runtime/spots/spot-actor-lifecycle-drain.ts +20 -18
  512. package/src/runtime/spots/spot-actor-membership.ts +107 -75
  513. package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
  514. package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
  515. package/src/runtime/spots/spot-context.ts +3 -3
  516. package/src/runtime/spots/spot-entry-activation.ts +13 -33
  517. package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
  518. package/src/runtime/spots/spot-manager-public.ts +29 -21
  519. package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
  520. package/src/runtime/spots/spot-node-runtime-manager.ts +145 -140
  521. package/src/runtime/spots/spot-outbound.ts +47 -68
  522. package/src/runtime/spots/spot-remote-codec.ts +7 -3
  523. package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
  524. package/src/runtime/spots/spot-route-replies.ts +6 -4
  525. package/src/runtime/spots/spot-routed-actor-admission.ts +13 -6
  526. package/src/runtime/spots/spot-routed-frame-dispatch.ts +6 -77
  527. package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
  528. package/src/runtime/spots/spot-runtime-ports.ts +10 -43
  529. package/src/runtime/spots/spot-serial-executor.ts +10 -2
  530. package/src/runtime/spots/spot-serial-turn-executor.ts +120 -13
  531. package/src/runtime/spots/spot-timer.ts +3 -2
  532. package/src/runtime/streams/actor-session-binding-registry.ts +182 -560
  533. package/src/runtime/streams/actor-session-binding-runtime-owner.ts +1 -19
  534. package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
  535. package/src/runtime/streams/bound-session-service.ts +23 -37
  536. package/src/runtime/streams/index.ts +102 -88
  537. package/src/runtime/streams/managed-stream.ts +29 -10
  538. package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
  539. package/src/runtime/streams/protocol.ts +34 -88
  540. package/src/runtime/streams/session-actor-coordinator.ts +17 -5
  541. package/src/runtime/streams/session-calls.ts +6 -5
  542. package/src/runtime/streams/session-context.ts +54 -10
  543. package/src/runtime/streams/session-requests.ts +2 -1
  544. package/src/runtime/streams/session-serial-executor.ts +2 -2
  545. package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
  546. package/src/runtime/streams/stream-frame-factory.ts +2 -3
  547. package/src/runtime/streams/stream-session-runtime.ts +57 -59
  548. package/src/runtime/workers/index.ts +13 -12
  549. package/dist/runtime/actors/deferred-join-accepted-journal.d.ts +0 -47
  550. package/dist/runtime/actors/deferred-join-accepted-journal.js +0 -992
  551. package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
  552. package/dist/runtime/actors/post-commit-actor-location.js +0 -72
  553. package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
  554. package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
  555. package/src/runtime/actors/deferred-join-accepted-journal.ts +0 -1346
  556. package/src/runtime/actors/post-commit-actor-location.ts +0 -121
  557. package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
@@ -36,14 +36,21 @@ exports.decodeServiceWireFrozenRecord = decodeServiceWireFrozenRecord;
36
36
  exports.decodeServiceWireFrozenRecordPrefix = decodeServiceWireFrozenRecordPrefix;
37
37
  exports.encodeServiceWireFrozenRecord = encodeServiceWireFrozenRecord;
38
38
  exports.encodeServiceWireFrozenActorApplicationRecord = encodeServiceWireFrozenActorApplicationRecord;
39
- const service_runtime_contracts_1 = require("./service-runtime-contracts");
40
- const service_wire_m6a_codec_1 = require("./service-wire-m6a-codec");
39
+ const stream_wire_1 = require("@zlink-systems/stream-wire");
40
+ const InternalDefaults_1 = require("../../contracts/Configuration/InternalDefaults");
41
41
  const framework_errors_internal_1 = require("../framework-errors-internal");
42
+ const service_wire_codec_generated_1 = require("../protocol/service_wire_codec.generated");
43
+ const service_wire_pilot_codec_generated_1 = require("../protocol/service_wire_pilot_codec.generated");
42
44
  const routing_id_1 = require("../routing-id");
43
- const service_wire_constants_generated_1 = require("./service-wire-constants.generated");
45
+ const service_runtime_contracts_1 = require("./service-runtime-contracts");
44
46
  const service_wire_binary_primitives_1 = require("./service-wire-binary-primitives");
45
- const service_wire_pilot_codec_generated_1 = require("../protocol/service_wire_pilot_codec.generated");
46
- const PREFIX_SIZE = 5;
47
+ const service_wire_constants_generated_1 = require("./service-wire-constants.generated");
48
+ const service_wire_m6a_codec_1 = require("./service-wire-m6a-codec");
49
+ const MESSAGE_FOLLOW_MAX_BODY_BYTES = 16 * 1024 * 1024;
50
+ const MESSAGE_FOLLOW_VERSION = 1;
51
+ const INSTANCE_ROUTE_VERSION = 1;
52
+ const INSTANCE_ACTIVATION_VERSION = 2;
53
+ const PREFIX_SIZE = service_wire_binary_primitives_1.SERVICE_WIRE_PREFIX_SIZE;
47
54
  const MAGIC_0 = service_wire_constants_generated_1.SERVICE_WIRE_MAGIC[0];
48
55
  const MAGIC_1 = service_wire_constants_generated_1.SERVICE_WIRE_MAGIC[1];
49
56
  const MAJOR = service_wire_constants_generated_1.SERVICE_WIRE_MAJOR;
@@ -51,7 +58,8 @@ exports.M6bServiceWireCommand = service_wire_constants_generated_1.ServiceWireCo
51
58
  /** Shared CRC-32C wire bounds for the direct relocation payload transfer. */
52
59
  exports.RELOCATION_PAYLOAD_TOTAL_LENGTH_MAX = 274877906944n;
53
60
  exports.RELOCATION_PAYLOAD_CHUNK_COUNT_MAX = 4096;
54
- exports.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES = 67_108_864;
61
+ var InternalDefaults_2 = require("../../contracts/Configuration/InternalDefaults");
62
+ Object.defineProperty(exports, "RELOCATION_STATE_CHUNK_DATA_MAX_BYTES", { enumerable: true, get: function () { return InternalDefaults_2.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES; } });
55
63
  exports.M6bServiceWireFlag = service_wire_constants_generated_1.ServiceWireFlag;
56
64
  function serviceSessionRelocationIdentityKey(value) {
57
65
  const actor = 'targetNodeGeneration' in value.actor ? value.actor.actor : value.actor;
@@ -491,20 +499,85 @@ function fromGeneratedReplyRelay(value) {
491
499
  })
492
500
  };
493
501
  }
494
- function encodeSpotHeader(kind, sourceSpotId, target, correlation) {
495
- return concat(prefix(kind === 'spotSend' ? exports.M6bServiceWireCommand.spotSend : exports.M6bServiceWireCommand.spotRequest), ...(kind === 'spotRequest' ? [u64(requirePositive(correlation, 'correlation'))] : []), rid(sourceSpotId, 'sourceSpotId'), directSpotFence(target));
502
+ const STATEFUL_MESSAGE_CONTEXT = {
503
+ effectiveCompleteMessageBytesMinusActualEnvelopeOverhead: 0xffff_fdf6,
504
+ effectiveCompleteMessageBytes: 0xffff_ffff
505
+ };
506
+ const STATEFUL_HEADER_PAYLOAD = {
507
+ packetName: 'wire',
508
+ contentType: stream_wire_1.ZlinkStreamContentType.Json,
509
+ payload: Buffer.from('{}')
510
+ };
511
+ function generatedSpotFence(target) {
512
+ return {
513
+ spot: { spotId: target.spot.spotId, objectGeneration: target.spot.generation },
514
+ targetNodeRid: toGeneratedRoutingId(target.targetNodeRid, 'targetNodeRid'),
515
+ targetNodeGeneration: target.targetNodeGeneration,
516
+ expectedAuthorityOwnerGeneration: target.authorityOwnerGeneration,
517
+ expectedOwnerLeaseGeneration: target.ownerLeaseGeneration
518
+ };
519
+ }
520
+ function generatedActorFence(target) {
521
+ return {
522
+ actor: { actorId: target.actor.actorId, objectGeneration: target.actor.generation },
523
+ targetNodeRid: toGeneratedRoutingId(target.actor.nodeRid, 'targetNodeRid'),
524
+ targetNodeGeneration: target.targetNodeGeneration,
525
+ expectedAuthorityOwnerGeneration: target.authorityOwnerGeneration,
526
+ expectedOwnerLeaseGeneration: target.ownerLeaseGeneration
527
+ };
496
528
  }
497
- function encodeActorHeader(kind, target, correlation, sourceActor, boundSession) {
529
+ function encodeSpotHeader(kind, sourceSpotId, target, correlation, operation = { high: 0n, low: 1n }, messageFollowHopCount = 0, metadataFrame) {
530
+ const common = {
531
+ flags: metadataFrame === undefined ? 0 : exports.M6bServiceWireFlag.metadata,
532
+ operation,
533
+ messageFollowHopCount,
534
+ sourceSpotId,
535
+ targetSpot: generatedSpotFence(target),
536
+ payload: STATEFUL_HEADER_PAYLOAD,
537
+ ...(metadataFrame === undefined
538
+ ? {}
539
+ : { metadata: (0, service_wire_codec_generated_1.decodeMetadataFrame)(metadataFrame, STATEFUL_MESSAGE_CONTEXT) })
540
+ };
541
+ const frames = kind === 'spotSend'
542
+ ? (0, service_wire_codec_generated_1.encodeSpotSendCommand)({ command: kind, ...common }, STATEFUL_MESSAGE_CONTEXT)
543
+ : (0, service_wire_codec_generated_1.encodeSpotRequestCommand)({
544
+ command: kind,
545
+ ...common,
546
+ correlation: requirePositive(correlation, 'correlation')
547
+ }, STATEFUL_MESSAGE_CONTEXT);
548
+ return Buffer.from(frames[0]);
549
+ }
550
+ function encodeActorHeader(kind, target, correlation, sourceActor, boundSession, operation = { high: 0n, low: 1n }, messageFollowHopCount = 0) {
498
551
  const flags = boundSession === undefined
499
552
  ? 0
500
553
  : exports.M6bServiceWireFlag.boundSession | exports.M6bServiceWireFlag.sourceSpotId;
501
- return concat(prefix(kind === 'actorSend' ? exports.M6bServiceWireCommand.actorSend : exports.M6bServiceWireCommand.actorRequest, flags), ...(kind === 'actorRequest' ? [u64(requirePositive(correlation, 'correlation'))] : []), optionalActor(sourceActor), actorFence(target), ...(boundSession === undefined
502
- ? []
503
- : [
504
- rid(boundSession.sessionRid, 'sourceSessionRid'),
505
- u64(boundSession.bindingGeneration),
506
- u64(boundSession.sequence)
507
- ]));
554
+ const common = {
555
+ flags,
556
+ operation,
557
+ messageFollowHopCount,
558
+ sourceActor: sourceActor === undefined
559
+ ? { actorId: null }
560
+ : { actorId: sourceActor.actorId, generation: sourceActor.generation },
561
+ targetActor: generatedActorFence(target),
562
+ ...(boundSession === undefined
563
+ ? {}
564
+ : {
565
+ boundSessionTail: {
566
+ sourceSessionRid: toGeneratedRoutingId(boundSession.sessionRid, 'sourceSessionRid'),
567
+ sourceBindingGeneration: boundSession.bindingGeneration,
568
+ sourceSessionSequence: boundSession.sequence
569
+ }
570
+ }),
571
+ payload: STATEFUL_HEADER_PAYLOAD
572
+ };
573
+ const frames = kind === 'actorSend'
574
+ ? (0, service_wire_codec_generated_1.encodeActorSendCommand)({ command: kind, ...common }, STATEFUL_MESSAGE_CONTEXT)
575
+ : (0, service_wire_codec_generated_1.encodeActorRequestCommand)({
576
+ command: kind,
577
+ ...common,
578
+ correlation: requirePositive(correlation, 'correlation')
579
+ }, STATEFUL_MESSAGE_CONTEXT);
580
+ return Buffer.from(frames[0]);
508
581
  }
509
582
  function encodeLogicalMulticastHeader(channelName, topic, sourceSpotId) {
510
583
  return concat(prefix(exports.M6bServiceWireCommand.logicalMulticast), text8(channelName, 'channelName'), text8(topic, 'topic'), rid(sourceSpotId, 'sourceSpotId'));
@@ -549,8 +622,21 @@ function encodeSessionRelocationRoute(value) {
549
622
  function decodeSessionRelocationRoute(frame) {
550
623
  return fromGeneratedSessionRelocationRoute((0, service_wire_pilot_codec_generated_1.decodeSessionRelocationRoute44)(frame));
551
624
  }
552
- function encodeInstanceSpotHeader(route, sourceNodeGeneration, sourceNodeRid, sourceSpotId, operationKind, operation, replyRouteId, hasMetadata = false) {
553
- const routeBody = concat(rid(route.targetNodeRid, 'targetNodeRid'), u64(route.targetNodeGeneration), rid(route.targetSpotId, 'targetSpotId'), u64(route.objectGeneration), text8(route.ownerId, 'ownerId'), u64(route.authorityOwnerGeneration), u64(route.leaseGeneration), text16(route.storeVersion, 'storeVersion'));
625
+ function encodeInstanceSpotHeader(route, sourceNodeGeneration, sourceNodeRid, sourceSpotId, operationKind, operation, replyRouteId, hasMetadata = false, instanceIntent = false) {
626
+ const encodedRoute = (0, service_wire_codec_generated_1.encodeInstanceRouteV1)({
627
+ routeKind: 'ready',
628
+ targetNodeRid: toGeneratedRoutingId(route.targetNodeRid, 'targetNodeRid'),
629
+ targetNodeGeneration: route.targetNodeGeneration,
630
+ targetSpotId: route.targetSpotId,
631
+ authority: {
632
+ objectGeneration: route.objectGeneration,
633
+ ownerId: route.ownerId,
634
+ authorityOwnerGeneration: route.authorityOwnerGeneration,
635
+ leaseGeneration: route.leaseGeneration,
636
+ storeVersion: route.storeVersion
637
+ },
638
+ instanceIntent: instanceIntent ? 'true' : 'false'
639
+ }, STATEFUL_MESSAGE_CONTEXT);
554
640
  if (operationKind === 'send' &&
555
641
  (operation.high !== 0n || operation.low !== 0n || replyRouteId !== undefined)) {
556
642
  throw new RangeError('Instance Spot send must not carry an operation or reply route.');
@@ -558,7 +644,7 @@ function encodeInstanceSpotHeader(route, sourceNodeGeneration, sourceNodeRid, so
558
644
  if (operationKind === 'request' && operation.high === 0n && operation.low === 0n) {
559
645
  throw new RangeError('Instance Spot request requires a non-zero operation.');
560
646
  }
561
- return concat(prefix(exports.M6bServiceWireCommand.instanceSpot, hasMetadata ? exports.M6bServiceWireFlag.metadata : 0), Buffer.of(1), u16(routeBody.byteLength), routeBody, u64Any(sourceNodeGeneration), rid(sourceNodeRid, 'sourceNodeRid'), optionalRid(sourceSpotId), Buffer.of(operationKind === 'send' ? 1 : 2), u64Any(operation.high), u64Any(operation.low), ...(operationKind === 'request' ? [u64(requirePositive(replyRouteId, 'replyRouteId'))] : []));
647
+ return concat(prefix(exports.M6bServiceWireCommand.instanceSpot, hasMetadata ? exports.M6bServiceWireFlag.metadata : 0), encodedRoute, u64Any(sourceNodeGeneration), rid(sourceNodeRid, 'sourceNodeRid'), optionalRid(sourceSpotId), Buffer.of(operationKind === 'send' ? 1 : 2), u64Any(operation.high), u64Any(operation.low), ...(operationKind === 'request' ? [u64(requirePositive(replyRouteId, 'replyRouteId'))] : []));
562
648
  }
563
649
  function encodeInstanceSpotActivationHeader(target, sourceNodeGeneration, sourceNodeRid, sourceSpotId, operationKind, operation, deadlineUnixMs, replyRouteId, hasMetadata = false) {
564
650
  if (operation.high === 0n && operation.low === 0n) {
@@ -571,7 +657,7 @@ function encodeInstanceSpotActivationHeader(target, sourceNodeGeneration, source
571
657
  throw new RangeError('Instance Spot send must not carry a reply route.');
572
658
  }
573
659
  const targetBody = concat(rid(target.targetNodeRid, 'targetNodeRid'), u64(target.targetNodeGeneration), rid(target.targetSpotId, 'targetSpotId'), text16(target.stableType, 'stableType'), text16(target.descriptorVersion, 'descriptorVersion'));
574
- return concat(prefix(exports.M6bServiceWireCommand.instanceSpot, hasMetadata ? exports.M6bServiceWireFlag.metadata : 0), Buffer.of(2), u16(targetBody.byteLength), targetBody, u64Any(sourceNodeGeneration), rid(sourceNodeRid, 'sourceNodeRid'), optionalRid(sourceSpotId), Buffer.of(operationKind === 'send' ? 1 : 2), u64Any(operation.high), u64Any(operation.low), u64(deadlineUnixMs), ...(operationKind === 'request' ? [u64(requirePositive(replyRouteId, 'replyRouteId'))] : []));
660
+ return concat(prefix(exports.M6bServiceWireCommand.instanceSpot, hasMetadata ? exports.M6bServiceWireFlag.metadata : 0), Buffer.of(INSTANCE_ACTIVATION_VERSION), u16(targetBody.byteLength), targetBody, u64Any(sourceNodeGeneration), rid(sourceNodeRid, 'sourceNodeRid'), optionalRid(sourceSpotId), Buffer.of(operationKind === 'send' ? 1 : 2), u64Any(operation.high), u64Any(operation.low), u64(deadlineUnixMs), ...(operationKind === 'request' ? [u64(requirePositive(replyRouteId, 'replyRouteId'))] : []));
575
661
  }
576
662
  function encodeUserSpotCreateHeader(record) {
577
663
  return Buffer.from((0, service_wire_pilot_codec_generated_1.encodeUserSpotCreate47)(toGeneratedUserSpotCreate(record)));
@@ -585,12 +671,12 @@ function encodeUserSpotCloseHeader(record) {
585
671
  function encodeMessageFollowHeader(record) {
586
672
  validateMessageFollowRecord(record);
587
673
  const body = concat(messageFollowRoute(record.source), messageFollowRoute(record.target), Buffer.of(record.hopCount), u32(record.queuedMessages, 'queuedMessages'), u32(record.queuedBytes, 'queuedBytes'), u64Any(record.originalOperation.high), u64Any(record.originalOperation.low), u64Any(record.originalReplyRouteId));
588
- if (body.byteLength > 16 * 1024 * 1024) {
589
- throw new RangeError('Message Follow body exceeds 16 MiB.');
674
+ if (body.byteLength > MESSAGE_FOLLOW_MAX_BODY_BYTES) {
675
+ throw new RangeError(`Message Follow body exceeds ${MESSAGE_FOLLOW_MAX_BODY_BYTES / (1024 * 1024)} MiB.`);
590
676
  }
591
- return concat(prefix(exports.M6bServiceWireCommand.messageFollow), Buffer.of(1), u32(body.byteLength, 'messageFollow.length'), body);
677
+ return concat(prefix(exports.M6bServiceWireCommand.messageFollow), Buffer.of(MESSAGE_FOLLOW_VERSION), u32(body.byteLength, 'messageFollow.length'), body);
592
678
  }
593
- function decodeStatefulHeader(frame) {
679
+ function decodeStatefulHeader(frame, payloadFrame, metadataFrame) {
594
680
  switch (frame[3]) {
595
681
  case exports.M6bServiceWireCommand.userSpotCreate:
596
682
  return fromGeneratedUserSpotCreate((0, service_wire_pilot_codec_generated_1.decodeUserSpotCreate47)(frame));
@@ -598,49 +684,87 @@ function decodeStatefulHeader(frame) {
598
684
  return fromGeneratedUserSpotClose((0, service_wire_pilot_codec_generated_1.decodeUserSpotClose48)(frame));
599
685
  case exports.M6bServiceWireCommand.actorCreate:
600
686
  return fromGeneratedActorCreate((0, service_wire_pilot_codec_generated_1.decodeActorCreate49)(frame));
601
- }
602
- const reader = new Reader(frame);
603
- const command = reader.prefix();
604
- switch (command.command) {
605
687
  case exports.M6bServiceWireCommand.spotSend:
606
- case exports.M6bServiceWireCommand.spotRequest: {
607
- requireFlags(command.flags, 0);
608
- const request = command.command === exports.M6bServiceWireCommand.spotRequest;
609
- const correlation = request ? reader.nonZeroU64('correlation') : undefined;
610
- const sourceSpotId = reader.rid('sourceSpotId');
611
- const target = reader.directSpotFence();
612
- reader.end();
613
- return {
614
- kind: request ? 'spotRequest' : 'spotSend',
615
- ...(correlation === undefined ? {} : { correlation }),
616
- sourceSpotId,
617
- target
618
- };
619
- }
688
+ case exports.M6bServiceWireCommand.spotRequest:
620
689
  case exports.M6bServiceWireCommand.actorSend:
621
690
  case exports.M6bServiceWireCommand.actorRequest: {
622
- const request = command.command === exports.M6bServiceWireCommand.actorRequest;
623
- const hasBinding = command.flags !== 0;
624
- requireFlags(command.flags, hasBinding ? exports.M6bServiceWireFlag.boundSession | exports.M6bServiceWireFlag.sourceSpotId : 0);
625
- const correlation = request ? reader.nonZeroU64('correlation') : undefined;
626
- const sourceActor = reader.optionalActor();
627
- const target = reader.actorFence();
628
- const boundSession = hasBinding
629
- ? {
630
- sessionRid: reader.rid('sourceSessionRid'),
631
- bindingGeneration: reader.nonZeroU64('sourceBindingGeneration'),
632
- sequence: reader.nonZeroU64('sourceSessionSequence')
691
+ const frames = [
692
+ frame,
693
+ ...(metadataFrame === undefined ? [] : [metadataFrame]),
694
+ payloadFrame ??
695
+ (0, service_wire_codec_generated_1.encodeApplicationPayloadEnvelopeV1)(STATEFUL_HEADER_PAYLOAD, STATEFUL_MESSAGE_CONTEXT)
696
+ ];
697
+ try {
698
+ if (frame[3] === exports.M6bServiceWireCommand.spotSend ||
699
+ frame[3] === exports.M6bServiceWireCommand.spotRequest) {
700
+ const decoded = frame[3] === exports.M6bServiceWireCommand.spotSend
701
+ ? (0, service_wire_codec_generated_1.decodeSpotSendCommand)(frames, STATEFUL_MESSAGE_CONTEXT)
702
+ : (0, service_wire_codec_generated_1.decodeSpotRequestCommand)(frames, STATEFUL_MESSAGE_CONTEXT);
703
+ return {
704
+ kind: decoded.command,
705
+ ...(decoded.command === 'spotRequest' ? { correlation: decoded.correlation } : {}),
706
+ operation: decoded.operation,
707
+ messageFollowHopCount: decoded.messageFollowHopCount,
708
+ sourceSpotId: decoded.sourceSpotId,
709
+ target: {
710
+ spot: {
711
+ spotId: decoded.targetSpot.spot.spotId,
712
+ generation: decoded.targetSpot.spot.objectGeneration
713
+ },
714
+ targetNodeRid: fromGeneratedRoutingId(decoded.targetSpot.targetNodeRid, 'targetNodeRid'),
715
+ targetNodeGeneration: decoded.targetSpot.targetNodeGeneration,
716
+ authorityOwnerGeneration: decoded.targetSpot.expectedAuthorityOwnerGeneration,
717
+ ownerLeaseGeneration: decoded.targetSpot.expectedOwnerLeaseGeneration
718
+ }
719
+ };
633
720
  }
634
- : undefined;
635
- reader.end();
636
- return {
637
- kind: request ? 'actorRequest' : 'actorSend',
638
- ...(correlation === undefined ? {} : { correlation }),
639
- ...(sourceActor === undefined ? {} : { sourceActor }),
640
- target,
641
- ...(boundSession === undefined ? {} : { boundSession })
642
- };
721
+ const decoded = frame[3] === exports.M6bServiceWireCommand.actorSend
722
+ ? (0, service_wire_codec_generated_1.decodeActorSendCommand)(frames, STATEFUL_MESSAGE_CONTEXT)
723
+ : (0, service_wire_codec_generated_1.decodeActorRequestCommand)(frames, STATEFUL_MESSAGE_CONTEXT);
724
+ const source = decoded.sourceActor;
725
+ return {
726
+ kind: decoded.command,
727
+ ...(decoded.command === 'actorRequest' ? { correlation: decoded.correlation } : {}),
728
+ operation: decoded.operation,
729
+ messageFollowHopCount: decoded.messageFollowHopCount,
730
+ ...(source.actorId === null
731
+ ? {}
732
+ : {
733
+ sourceActor: {
734
+ nodeRid: '',
735
+ actorId: source.actorId,
736
+ generation: source.generation
737
+ }
738
+ }),
739
+ target: {
740
+ actor: {
741
+ nodeRid: fromGeneratedRoutingId(decoded.targetActor.targetNodeRid, 'targetNodeRid'),
742
+ actorId: decoded.targetActor.actor.actorId,
743
+ generation: decoded.targetActor.actor.objectGeneration
744
+ },
745
+ targetNodeGeneration: decoded.targetActor.targetNodeGeneration,
746
+ authorityOwnerGeneration: decoded.targetActor.expectedAuthorityOwnerGeneration,
747
+ ownerLeaseGeneration: decoded.targetActor.expectedOwnerLeaseGeneration
748
+ },
749
+ ...(decoded.boundSessionTail === undefined
750
+ ? {}
751
+ : {
752
+ boundSession: {
753
+ sessionRid: fromGeneratedRoutingId(decoded.boundSessionTail.sourceSessionRid, 'sourceSessionRid'),
754
+ bindingGeneration: decoded.boundSessionTail.sourceBindingGeneration,
755
+ sequence: decoded.boundSessionTail.sourceSessionSequence
756
+ }
757
+ })
758
+ };
759
+ }
760
+ catch (error) {
761
+ throw new service_wire_m6a_codec_1.ServiceWireProtocolError(error instanceof Error ? error.message : 'Invalid stateful message.');
762
+ }
643
763
  }
764
+ }
765
+ const reader = new Reader(frame);
766
+ const command = reader.prefix();
767
+ switch (command.command) {
644
768
  case exports.M6bServiceWireCommand.logicalMulticast: {
645
769
  requireFlags(command.flags, 0);
646
770
  const result = {
@@ -756,33 +880,44 @@ function decodeStatefulHeader(frame) {
756
880
  if ((command.flags & ~exports.M6bServiceWireFlag.metadata) !== 0) {
757
881
  fail(`Invalid command flags '${command.flags}'.`);
758
882
  }
883
+ const routeStart = reader.offset;
759
884
  const version = reader.u8('instanceRoute.version');
760
- if (version !== 1 && version !== 2)
885
+ if (version !== INSTANCE_ROUTE_VERSION && version !== INSTANCE_ACTIVATION_VERSION)
761
886
  fail('Unsupported Instance route version.');
762
887
  const routeLength = reader.u16('instanceRoute.length');
763
888
  const routeEnd = reader.offset + routeLength;
764
- const commonTarget = {
765
- targetNodeRid: reader.rid('targetNodeRid'),
766
- targetNodeGeneration: reader.nonZeroU64('targetNodeGeneration'),
767
- targetSpotId: reader.rid('targetSpotId')
768
- };
769
- const route = version === 1
889
+ const generatedReadyRoute = version === INSTANCE_ROUTE_VERSION
890
+ ? (0, service_wire_codec_generated_1.decodeInstanceRouteV1)(reader.bytes.subarray(routeStart, routeEnd), STATEFUL_MESSAGE_CONTEXT)
891
+ : undefined;
892
+ if (generatedReadyRoute !== undefined && generatedReadyRoute.routeKind !== 'ready') {
893
+ fail('Invalid Ready Instance route kind.');
894
+ }
895
+ const commonTarget = generatedReadyRoute?.routeKind === 'ready'
896
+ ? {
897
+ targetNodeRid: fromGeneratedRoutingId(generatedReadyRoute.targetNodeRid, 'targetNodeRid'),
898
+ targetNodeGeneration: generatedReadyRoute.targetNodeGeneration,
899
+ targetSpotId: generatedReadyRoute.targetSpotId
900
+ }
901
+ : {
902
+ targetNodeRid: reader.rid('targetNodeRid'),
903
+ targetNodeGeneration: reader.nonZeroU64('targetNodeGeneration'),
904
+ targetSpotId: reader.rid('targetSpotId')
905
+ };
906
+ const route = generatedReadyRoute?.routeKind === 'ready'
770
907
  ? {
771
908
  ...commonTarget,
772
- objectGeneration: reader.nonZeroU64('objectGeneration'),
773
- ownerId: reader.text8('ownerId'),
774
- authorityOwnerGeneration: reader.nonZeroU64('authorityOwnerGeneration'),
775
- leaseGeneration: reader.nonZeroU64('leaseGeneration'),
776
- storeVersion: reader.text16('storeVersion')
909
+ ...generatedReadyRoute.authority
777
910
  }
778
911
  : undefined;
779
- const target = version === 2
912
+ const target = version === INSTANCE_ACTIVATION_VERSION
780
913
  ? {
781
914
  ...commonTarget,
782
915
  stableType: reader.text16('stableType'),
783
916
  descriptorVersion: reader.text16('descriptorVersion')
784
917
  }
785
918
  : undefined;
919
+ if (generatedReadyRoute !== undefined)
920
+ reader.offset = routeEnd;
786
921
  if (reader.offset !== routeEnd)
787
922
  fail('Invalid Instance route body length.');
788
923
  const sourceNodeGeneration = reader.nonZeroU64('sourceNodeGeneration');
@@ -796,15 +931,17 @@ function decodeStatefulHeader(frame) {
796
931
  low: reader.u64('operation.low')
797
932
  };
798
933
  const operationKind = operationValue === 1 ? 'send' : 'request';
799
- if (version === 1 &&
934
+ if (version === INSTANCE_ROUTE_VERSION &&
800
935
  ((operationKind === 'send' && (operation.high !== 0n || operation.low !== 0n)) ||
801
936
  (operationKind === 'request' && operation.high === 0n && operation.low === 0n))) {
802
937
  fail('Invalid Instance operation identity.');
803
938
  }
804
- if (version === 2 && operation.high === 0n && operation.low === 0n) {
939
+ if (version === INSTANCE_ACTIVATION_VERSION &&
940
+ operation.high === 0n &&
941
+ operation.low === 0n) {
805
942
  fail('Instance activation requires a non-zero operation identity.');
806
943
  }
807
- const deadlineUnixMs = version === 2 ? reader.nonZeroU64('deadlineUnixMs') : undefined;
944
+ const deadlineUnixMs = version === INSTANCE_ACTIVATION_VERSION ? reader.nonZeroU64('deadlineUnixMs') : undefined;
808
945
  const replyRouteId = operationKind === 'request' ? reader.nonZeroU64('replyRouteId') : undefined;
809
946
  reader.end();
810
947
  const common = {
@@ -816,8 +953,13 @@ function decodeStatefulHeader(frame) {
816
953
  operation,
817
954
  ...(replyRouteId === undefined ? {} : { replyRouteId })
818
955
  };
819
- return version === 1
820
- ? { ...common, activation: 'ready', route: route }
956
+ return version === INSTANCE_ROUTE_VERSION
957
+ ? {
958
+ ...common,
959
+ activation: 'ready',
960
+ route: route,
961
+ instanceIntent: generatedReadyRoute.instanceIntent === 'true'
962
+ }
821
963
  : {
822
964
  ...common,
823
965
  activation: 'missing',
@@ -827,12 +969,12 @@ function decodeStatefulHeader(frame) {
827
969
  }
828
970
  case exports.M6bServiceWireCommand.messageFollow: {
829
971
  requireFlags(command.flags, 0);
830
- if (reader.u8('messageFollow.version') !== 1) {
972
+ if (reader.u8('messageFollow.version') !== MESSAGE_FOLLOW_VERSION) {
831
973
  fail('Unsupported Message Follow version.');
832
974
  }
833
975
  const length = reader.u32('messageFollow.length');
834
976
  const end = reader.offset + length;
835
- if (length > 16 * 1024 * 1024 || end > reader.bytes.byteLength) {
977
+ if (length > MESSAGE_FOLLOW_MAX_BODY_BYTES || end > reader.bytes.byteLength) {
836
978
  fail('Invalid Message Follow body length.');
837
979
  }
838
980
  const record = {
@@ -1006,7 +1148,7 @@ function decodeStatefulReply(frame, expectedCorrelation, operationKind, hasPaylo
1006
1148
  ? 0
1007
1149
  : (() => {
1008
1150
  const value = reader.u32('receiveChunkLimitBytes');
1009
- if (value > exports.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
1151
+ if (value > InternalDefaults_1.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
1010
1152
  fail('receiveChunkLimitBytes exceeds the relocation state chunk data bound.');
1011
1153
  }
1012
1154
  return value;
@@ -1110,7 +1252,7 @@ function encodeReplyTail(tail) {
1110
1252
  }
1111
1253
  const receiveChunkLimitBytes = tail.receiveChunkLimitBytes ?? 0;
1112
1254
  if (receiveChunkLimitBytes < 0 ||
1113
- receiveChunkLimitBytes > exports.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
1255
+ receiveChunkLimitBytes > InternalDefaults_1.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
1114
1256
  fail('receiveChunkLimitBytes exceeds the relocation state chunk data bound.');
1115
1257
  }
1116
1258
  const body = concat(spotRef(tail.spot), u64(tail.membershipEpoch), u32(receiveChunkLimitBytes, 'receiveChunkLimitBytes'));
@@ -1171,7 +1313,7 @@ function validateRelocationPhase(value) {
1171
1313
  }
1172
1314
  function applicationPayload(value) {
1173
1315
  const body = concat(text8(value.packetName, 'packetName'), text8(value.contentType, 'contentType'), u32(value.bytes.byteLength, 'payload.length'), value.bytes);
1174
- return concat(Buffer.of(1), u32(body.byteLength, 'applicationPayload.length'), body);
1316
+ return concat(Buffer.of(service_wire_m6a_codec_1.APPLICATION_PAYLOAD_VERSION), u32(body.byteLength, 'applicationPayload.length'), body);
1175
1317
  }
1176
1318
  function prefix(command, flags = 0) {
1177
1319
  return Buffer.from([MAGIC_0, MAGIC_1, MAJOR, command, flags]);
@@ -1182,12 +1324,6 @@ function actorFence(value) {
1182
1324
  function actorAuthorityFence(value) {
1183
1325
  return concat(actorRef(value.actor), rid(value.actor.nodeRid, 'targetNodeRid'), u64(value.targetNodeGeneration), u64(value.authorityOwnerGeneration), u64(value.ownerLeaseGeneration));
1184
1326
  }
1185
- function spotFence(value) {
1186
- return concat(spotRef(value.spot), rid(value.targetNodeRid, 'targetNodeRid'), u64(value.targetNodeGeneration), u64(value.authorityOwnerGeneration), u64(value.ownerLeaseGeneration));
1187
- }
1188
- function directSpotFence(value) {
1189
- return concat(spotFence(value), text16(value.storeVersion, 'storeVersion'));
1190
- }
1191
1327
  function messageFollowRoute(value) {
1192
1328
  const body = value.kind === 'actor'
1193
1329
  ? concat(actorRef(value.actor), rid(value.targetNodeRid, 'targetNodeRid'), u64(value.targetNodeGeneration), u64(value.authorityOwnerGeneration), u64(value.ownerLeaseGeneration))
@@ -1225,18 +1361,13 @@ function validateMessageFollowRecord(value, invalid = (message) => {
1225
1361
  if (value.originalOperation.high === 0n && value.originalOperation.low === 0n) {
1226
1362
  invalid('Message Follow originalOperation must not be zero.');
1227
1363
  }
1228
- if (value.originalReplyRouteId < 0n || value.originalReplyRouteId > 0xffffffffffffffffn) {
1364
+ if (value.originalReplyRouteId < 0n || value.originalReplyRouteId > stream_wire_1.UINT64_MAX) {
1229
1365
  invalid('Message Follow originalReplyRouteId must be a u64.');
1230
1366
  }
1231
1367
  }
1232
1368
  function actorRef(value) {
1233
1369
  return concat(text8(value.actorId, 'actorId'), u64(value.generation));
1234
1370
  }
1235
- function optionalActor(value) {
1236
- return value === undefined
1237
- ? Buffer.of(0)
1238
- : concat(text8(value.actorId, 'sourceActorId'), u64(value.generation));
1239
- }
1240
1371
  function spotRef(value) {
1241
1372
  return concat(rid(value.spotId, 'spotId'), u64(value.generation));
1242
1373
  }
@@ -1280,7 +1411,7 @@ function u64(value) {
1280
1411
  return result;
1281
1412
  }
1282
1413
  function u64Any(value) {
1283
- if (value < 0n || value > 0xffffffffffffffffn) {
1414
+ if (value < 0n || value > stream_wire_1.UINT64_MAX) {
1284
1415
  throw new RangeError('u64 value is out of range.');
1285
1416
  }
1286
1417
  const result = Buffer.alloc(8);
@@ -1288,7 +1419,7 @@ function u64Any(value) {
1288
1419
  return result;
1289
1420
  }
1290
1421
  function requirePositive(value, name) {
1291
- if (value === undefined || value < 1n || value > 0xffffffffffffffffn) {
1422
+ if (value === undefined || value < 1n || value > stream_wire_1.UINT64_MAX) {
1292
1423
  throw new RangeError(`${name} must be a non-zero u64.`);
1293
1424
  }
1294
1425
  return value;
@@ -1408,20 +1539,6 @@ class Reader {
1408
1539
  generation: this.nonZeroU64(`${name}.generation`)
1409
1540
  };
1410
1541
  }
1411
- optionalActor() {
1412
- const length = this.u8('sourceActorId.length');
1413
- if (length === 0)
1414
- return undefined;
1415
- this.need(length, 'sourceActorId');
1416
- const bytes = this.bytes.subarray(this.offset, this.offset + length);
1417
- this.offset += length;
1418
- const actorId = (0, service_wire_binary_primitives_1.decodeCanonicalServiceWireText)(bytes, 'sourceActorId', fail);
1419
- return {
1420
- nodeRid: '',
1421
- actorId,
1422
- generation: this.nonZeroU64('sourceActorGeneration')
1423
- };
1424
- }
1425
1542
  spotRef() {
1426
1543
  return {
1427
1544
  spotId: this.rid('spotId'),
@@ -1438,22 +1555,6 @@ class Reader {
1438
1555
  ownerLeaseGeneration: this.nonZeroU64('ownerLeaseGeneration')
1439
1556
  };
1440
1557
  }
1441
- spotFence() {
1442
- const spot = this.spotRef();
1443
- return {
1444
- spot,
1445
- targetNodeRid: this.rid('targetNodeRid'),
1446
- targetNodeGeneration: this.nonZeroU64('targetNodeGeneration'),
1447
- authorityOwnerGeneration: this.nonZeroU64('authorityOwnerGeneration'),
1448
- ownerLeaseGeneration: this.nonZeroU64('ownerLeaseGeneration')
1449
- };
1450
- }
1451
- directSpotFence() {
1452
- return {
1453
- ...this.spotFence(),
1454
- storeVersion: this.text16('storeVersion')
1455
- };
1456
- }
1457
1558
  messageFollowRoute(name) {
1458
1559
  const kind = this.u8(`${name}.objectKind`);
1459
1560
  const length = this.u16(`${name}.length`);
@@ -1765,7 +1866,7 @@ class FrozenReader {
1765
1866
  return new FrozenReader(body);
1766
1867
  }
1767
1868
  applicationPayload() {
1768
- if (this.u8('applicationPayload.version') !== 1) {
1869
+ if (this.u8('applicationPayload.version') !== service_wire_m6a_codec_1.APPLICATION_PAYLOAD_VERSION) {
1769
1870
  fail('Application payload envelope version must be one.');
1770
1871
  }
1771
1872
  const body = this.body32('application payload');
@@ -1929,26 +2030,22 @@ class FrozenReader {
1929
2030
  body.end('send-ready destination');
1930
2031
  }
1931
2032
  instanceRoute() {
2033
+ const start = this.offset;
1932
2034
  const kind = this.u8('instanceRouteKind');
1933
2035
  if (kind < 1 || kind > 2)
1934
2036
  fail('Invalid Instance route kind.');
1935
2037
  const body = this.body16('Instance route');
2038
+ if (kind === INSTANCE_ROUTE_VERSION) {
2039
+ (0, service_wire_codec_generated_1.decodeInstanceRouteV1)(this.bytes.subarray(start, this.offset), STATEFUL_MESSAGE_CONTEXT);
2040
+ return;
2041
+ }
1936
2042
  body.rid8('targetNodeRid');
1937
2043
  body.nonZeroU64('targetNodeGeneration');
1938
2044
  body.text8('targetSpotId');
1939
- if (kind === 1) {
1940
- body.nonZeroU64('objectGeneration');
1941
- body.text8('ownerId');
1942
- body.nonZeroU64('authorityOwnerGeneration');
1943
- body.nonZeroU64('leaseGeneration');
1944
- body.text16('storeVersion');
1945
- }
1946
- else {
1947
- body.text8('targetMeshName');
1948
- body.text8('stableType');
1949
- body.text8('targetDescriptorVersion');
1950
- body.nonZeroU64('deadlineUnixMs');
1951
- }
2045
+ body.text8('targetMeshName');
2046
+ body.text8('stableType');
2047
+ body.text8('targetDescriptorVersion');
2048
+ body.nonZeroU64('deadlineUnixMs');
1952
2049
  body.end('Instance route');
1953
2050
  }
1954
2051
  relocationObject() {
@@ -26,7 +26,6 @@ export interface ServiceNodeDescriptor {
26
26
  export interface AdmittedServicePeer {
27
27
  readonly descriptor: ServiceNodeDescriptor;
28
28
  readonly connectionId: string;
29
- readonly connectionDiscriminator: string;
30
29
  }
31
30
  export interface ServicePeerAdmissionExpectation {
32
31
  readonly endpoint?: string;
@@ -45,14 +44,13 @@ export declare class ServiceTopologyRegistry {
45
44
  constructor(local: ServiceNodeDescriptor);
46
45
  localDescriptor(): ServiceNodeDescriptor;
47
46
  publishLocal(descriptor: ServiceNodeDescriptor): void;
48
- admit(descriptor: ServiceNodeDescriptor, connectionId: string, expected?: ServicePeerAdmissionExpectation, connectionDiscriminator?: string): PeerAdmissionResult;
47
+ admit(descriptor: ServiceNodeDescriptor, connectionId: string, expected?: ServicePeerAdmissionExpectation): PeerAdmissionResult;
49
48
  disconnect(nodeRoutingId: string, connectionId: string): boolean;
50
49
  peer(nodeRoutingId: string): AdmittedServicePeer | undefined;
51
50
  peers(): readonly AdmittedServicePeer[];
52
51
  private peersCore;
53
52
  notRequiredPeers(): readonly ServiceNodeDescriptor[];
54
53
  replaceDiscoveredNotRequired(descriptors: readonly ServiceNodeDescriptor[]): void;
55
- markNotRequired(descriptor: ServiceNodeDescriptor): void;
56
54
  forgetNotRequired(nodeRoutingId: string): void;
57
55
  knownDescriptor(nodeRoutingId: string): ServiceNodeDescriptor | undefined;
58
56
  hasKnownChannelTarget(channelName: string): boolean;