@zlink-systems/framework 0.30.3 → 0.32.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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/contracts/Actors/ZLinkActor.d.ts +2 -0
- package/dist/contracts/Actors/ZLinkSessionBindingIdentity.d.ts +6 -0
- package/dist/contracts/Actors/ZLinkSessionBindingIdentity.js +2 -0
- package/dist/contracts/Actors/index.d.ts +1 -0
- package/dist/contracts/Actors/index.js +1 -0
- package/dist/contracts/Common/CoreTypes.d.ts +1 -0
- package/dist/contracts/Common/HandlerMessageType.d.ts +8 -0
- package/dist/contracts/Common/HandlerMessageType.js +41 -0
- package/dist/contracts/Common/ZLinkEncodedPayload.d.ts +1 -1
- package/dist/contracts/Common/ZLinkEncodedPayload.js +12 -20
- package/dist/contracts/Common/ZLinkMessage.js +11 -7
- package/dist/contracts/Common/encoded-payload-storage.d.ts +0 -2
- package/dist/contracts/Common/encoded-payload-storage.js +4 -16
- package/dist/contracts/Common/index.d.ts +1 -1
- package/dist/contracts/Common/payload-slab.d.ts +4 -0
- package/dist/contracts/Common/payload-slab.js +30 -0
- package/dist/contracts/Configuration/RegistrationBuilders.js +15 -9
- package/dist/contracts/Configuration/RegistrationTypes.d.ts +19 -0
- package/dist/contracts/Handlers/Contexts.d.ts +1 -0
- package/dist/contracts/Locations/Authority.d.ts +2 -0
- package/dist/internal.d.ts +9 -0
- package/dist/internal.js +23 -1
- package/dist/nest-integration.d.ts +1 -0
- package/dist/nest-integration.js +3 -1
- package/dist/runtime/actors/actor-client.d.ts +6 -2
- package/dist/runtime/actors/actor-client.js +120 -82
- package/dist/runtime/actors/actor-context.js +16 -5
- package/dist/runtime/actors/actor-execution-context.js +2 -2
- package/dist/runtime/actors/actor-handoff.d.ts +12 -1
- package/dist/runtime/actors/actor-handoff.js +79 -34
- package/dist/runtime/actors/actor-join-deferred-scope.js +6 -6
- package/dist/runtime/actors/actor-local-native-join.d.ts +2 -2
- package/dist/runtime/actors/actor-local-native-join.js +19 -17
- package/dist/runtime/actors/actor-mailbox.d.ts +1 -1
- package/dist/runtime/actors/actor-remote-joiner.d.ts +2 -2
- package/dist/runtime/actors/actor-remote-joiner.js +4 -4
- package/dist/runtime/actors/actor-routed-join-transport.d.ts +9 -3
- package/dist/runtime/actors/actor-routed-json-request.d.ts +3 -0
- package/dist/runtime/actors/actor-runtime-contracts.d.ts +2 -2
- package/dist/runtime/actors/actor-runtime-state.d.ts +1 -1
- package/dist/runtime/actors/spot-actor-dispatch.d.ts +9 -5
- package/dist/runtime/actors/spot-actor-dispatch.js +60 -38
- package/dist/runtime/admission.d.ts +6 -4
- package/dist/runtime/admission.js +21 -10
- package/dist/runtime/application-jobs/application-ingress-record-owner.d.ts +1 -0
- package/dist/runtime/application-jobs/application-ingress-record-owner.js +3 -0
- package/dist/runtime/backend/contracts/index.d.ts +26 -10
- package/dist/runtime/backend/mesh-completion-table.d.ts +7 -1
- package/dist/runtime/backend/mesh-completion-table.js +84 -20
- package/dist/runtime/backend/mesh-dispatch-pump.d.ts +19 -6
- package/dist/runtime/backend/mesh-dispatch-pump.js +246 -147
- package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -2
- package/dist/runtime/backend/node/node-backend-adapter-support.js +27 -19
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +5 -2
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +70 -13
- package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
- package/dist/runtime/backend/node/node-event-loop-poller.js +4 -3
- package/dist/runtime/backend/node/node-mesh-backend-adapter.js +5 -1
- package/dist/runtime/backend/node/node-raw-binding-port.d.ts +7 -2
- package/dist/runtime/backend/node/node-raw-binding-port.js +99 -63
- package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +34 -16
- package/dist/runtime/backend/node/node-raw-mesh-backend.js +210 -106
- package/dist/runtime/backend/node/node-socket-backend-adapter.js +20 -6
- package/dist/runtime/backend/raw-binding-port.d.ts +6 -3
- package/dist/runtime/channels/channel-clients.js +3 -3
- package/dist/runtime/channels/channel-dispatch-pipeline.d.ts +11 -7
- package/dist/runtime/channels/channel-dispatch-pipeline.js +40 -22
- package/dist/runtime/channels/channel-dispatch-services.d.ts +3 -1
- package/dist/runtime/channels/channel-dispatch-services.js +7 -6
- package/dist/runtime/channels/channel-dispatchers.d.ts +13 -6
- package/dist/runtime/channels/channel-dispatchers.js +57 -36
- package/dist/runtime/channels/channel-envelope.d.ts +2 -2
- package/dist/runtime/channels/channel-envelope.js +609 -83
- package/dist/runtime/channels/channel-multipart.d.ts +1 -0
- package/dist/runtime/channels/channel-multipart.js +10 -6
- package/dist/runtime/channels/channel-outbound-operations.d.ts +6 -9
- package/dist/runtime/channels/channel-outbound-operations.js +107 -105
- package/dist/runtime/channels/channel-receive-loops.d.ts +9 -7
- package/dist/runtime/channels/channel-receive-loops.js +126 -90
- package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +23 -6
- package/dist/runtime/channels/channel-runtime-lifecycle.js +47 -38
- package/dist/runtime/channels/channel-runtime-manager.d.ts +13 -6
- package/dist/runtime/channels/channel-runtime-manager.js +32 -14
- package/dist/runtime/channels/channel-socket-registry.d.ts +28 -4
- package/dist/runtime/channels/channel-socket-registry.js +9 -1
- package/dist/runtime/channels/channel-transports.d.ts +23 -16
- package/dist/runtime/channels/channel-transports.js +139 -119
- package/dist/runtime/channels/dispatch-error-reporter.d.ts +4 -4
- package/dist/runtime/channels/dispatch-error-reporter.js +5 -5
- package/dist/runtime/channels/fanout-location-runtime.d.ts +1 -1
- package/dist/runtime/channels/local-spot-route-transport.d.ts +5 -2
- package/dist/runtime/channels/local-spot-route-transport.js +15 -18
- package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +6 -3
- package/dist/runtime/channels/router-socket-spot-route-transport.js +33 -19
- package/dist/runtime/channels/source-spot-router.d.ts +6 -3
- package/dist/runtime/channels/source-spot-router.js +34 -23
- package/dist/runtime/channels/spot-node-route-transport.d.ts +6 -3
- package/dist/runtime/channels/spot-node-route-transport.js +23 -17
- package/dist/runtime/channels/spot-route-bridge-transport.d.ts +6 -3
- package/dist/runtime/channels/spot-route-bridge-transport.js +38 -24
- package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +8 -4
- package/dist/runtime/channels/spot-route-dispatch-strategy.js +36 -23
- package/dist/runtime/diagnostics/dispatch-error-details.js +9 -3
- package/dist/runtime/diagnostics/message-flow-bootstrap.d.ts +1 -0
- package/dist/runtime/diagnostics/message-flow-bootstrap.js +8 -0
- package/dist/runtime/diagnostics/message-flow-delivery.d.ts +47 -0
- package/dist/runtime/diagnostics/message-flow-delivery.js +149 -0
- package/dist/runtime/diagnostics/message-flow-record.d.ts +50 -0
- package/dist/runtime/diagnostics/message-flow-record.js +228 -0
- package/dist/runtime/diagnostics/message-flow-worker.d.ts +1 -0
- package/dist/runtime/diagnostics/message-flow-worker.js +118 -0
- package/dist/runtime/diagnostics/message-flow.d.ts +7 -19
- package/dist/runtime/diagnostics/message-flow.js +42 -290
- package/dist/runtime/diagnostics/runtime-metrics.d.ts +4 -3
- package/dist/runtime/diagnostics/runtime-metrics.js +8 -4
- package/dist/runtime/execution/index.d.ts +1 -0
- package/dist/runtime/execution/index.js +6 -3
- package/dist/runtime/execution/serial-execution-queue.d.ts +26 -13
- package/dist/runtime/execution/serial-execution-queue.js +75 -71
- package/dist/runtime/foundation/durable-service-request.d.ts +12 -3
- package/dist/runtime/foundation/durable-service-request.js +158 -73
- package/dist/runtime/foundation/operation-registry.d.ts +33 -3
- package/dist/runtime/foundation/operation-registry.js +272 -33
- package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +62 -23
- package/dist/runtime/foundation/raw-service-mesh-runtime.js +373 -194
- package/dist/runtime/foundation/request-runtime.d.ts +17 -0
- package/dist/runtime/foundation/request-runtime.js +163 -0
- package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
- package/dist/runtime/foundation/service-discovery-registry.js +6 -0
- package/dist/runtime/foundation/service-liveness-registry.d.ts +1 -1
- package/dist/runtime/foundation/service-mailbox.d.ts +4 -2
- package/dist/runtime/foundation/service-mailbox.js +4 -1
- package/dist/runtime/foundation/service-relocation-object-owner.d.ts +2 -2
- package/dist/runtime/foundation/service-relocation-object-owner.js +12 -5
- package/dist/runtime/foundation/service-runtime-contracts.d.ts +7 -2
- package/dist/runtime/foundation/service-stateful-registry.d.ts +6 -2
- package/dist/runtime/foundation/service-stateful-registry.js +38 -17
- package/dist/runtime/foundation/service-stateful-runtime.d.ts +91 -26
- package/dist/runtime/foundation/service-stateful-runtime.js +245 -120
- package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -0
- package/dist/runtime/foundation/service-stateful-wire-codec.js +15 -0
- package/dist/runtime/foundation/service-topology-registry.d.ts +2 -0
- package/dist/runtime/foundation/service-topology-registry.js +13 -3
- package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
- package/dist/runtime/foundation/service-wire-constants.generated.js +12 -0
- package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +5 -1
- package/dist/runtime/foundation/service-wire-m6a-codec.js +50 -15
- package/dist/runtime/host/actor-packet-relay.d.ts +5 -6
- package/dist/runtime/host/actor-packet-relay.js +58 -57
- package/dist/runtime/host/actor-placement-coordinator.d.ts +1 -1
- package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
- package/dist/runtime/host/actor-runtime-options-factory.js +3 -2
- package/dist/runtime/host/actor-transfer-runtime.d.ts +3 -3
- package/dist/runtime/host/application-job-queue.d.ts +7 -5
- package/dist/runtime/host/application-job-queue.js +33 -21
- package/dist/runtime/host/bound-session-relay.js +0 -1
- package/dist/runtime/host/channel-runtime-options-factory.d.ts +2 -0
- package/dist/runtime/host/channel-runtime-options-factory.js +1 -0
- package/dist/runtime/host/entry-actor-runtime.d.ts +5 -2
- package/dist/runtime/host/entry-actor-runtime.js +2 -2
- package/dist/runtime/host/index.d.ts +106 -37
- package/dist/runtime/host/index.js +303 -151
- package/dist/runtime/host/location-runtime-owner.d.ts +2 -2
- package/dist/runtime/host/location-runtime-owner.js +1 -1
- package/dist/runtime/host/service-relocation-host-runtime.d.ts +195 -45
- package/dist/runtime/host/service-relocation-host-runtime.js +257 -144
- package/dist/runtime/host/spot-address-transport.d.ts +3 -0
- package/dist/runtime/host/spot-address-transport.js +73 -76
- package/dist/runtime/host/spot-runtime-options-factory.js +2 -0
- package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -1
- package/dist/runtime/host/user-spot-creation-coordinator.js +49 -21
- package/dist/runtime/internal-observation.d.ts +1 -0
- package/dist/runtime/internal-observation.js +5 -0
- package/dist/runtime/locations/actor-location-claims.d.ts +1 -1
- package/dist/runtime/locations/actor-location-claims.js +15 -6
- package/dist/runtime/locations/auto-connect-loop.d.ts +0 -1
- package/dist/runtime/locations/auto-connect-loop.js +25 -19
- package/dist/runtime/locations/auto-connect-planner.js +2 -5
- package/dist/runtime/locations/auto-connect-reconciler.d.ts +1 -0
- package/dist/runtime/locations/auto-connect-reconciler.js +35 -23
- package/dist/runtime/locations/in-memory-authority-store.d.ts +1 -0
- package/dist/runtime/locations/in-memory-authority-store.js +15 -5
- package/dist/runtime/locations/in-memory-location-store.d.ts +0 -2
- package/dist/runtime/locations/in-memory-location-store.js +1 -38
- package/dist/runtime/locations/lifecycle.d.ts +1 -1
- package/dist/runtime/locations/lifecycle.js +2 -2
- package/dist/runtime/locations/location-store-repository.d.ts +0 -1
- package/dist/runtime/locations/location-store-repository.js +163 -246
- package/dist/runtime/locations/resolvers.d.ts +8 -1
- package/dist/runtime/locations/resolvers.js +16 -2
- package/dist/runtime/locations/runtime.d.ts +3 -3
- package/dist/runtime/locations/runtime.js +12 -16
- package/dist/runtime/messaging/creation-payload-codec.js +8 -7
- package/dist/runtime/messaging/framework-json-v1.d.ts +1 -1
- package/dist/runtime/messaging/framework-json-v1.js +6 -2
- package/dist/runtime/messaging/payload-codec.js +21 -35
- package/dist/runtime/messaging/request-deadline.d.ts +4 -2
- package/dist/runtime/messaging/request-deadline.js +40 -25
- package/dist/runtime/messaging/request-result.d.ts +14 -1
- package/dist/runtime/messaging/request-result.js +74 -13
- package/dist/runtime/protocol/service_wire_codec.generated.d.ts +4 -0
- package/dist/runtime/protocol/service_wire_codec.generated.js +17 -7
- package/dist/runtime/spots/index.d.ts +28 -7
- package/dist/runtime/spots/index.js +31 -6
- package/dist/runtime/spots/spot-activation-registry.d.ts +3 -2
- package/dist/runtime/spots/spot-activation-registry.js +13 -8
- package/dist/runtime/spots/spot-activation-state.d.ts +2 -0
- package/dist/runtime/spots/spot-activation-state.js +1 -0
- package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +9 -4
- package/dist/runtime/spots/spot-actor-admission-coordinator.js +33 -12
- package/dist/runtime/spots/spot-actor-ingress-admission.d.ts +40 -0
- package/dist/runtime/spots/spot-actor-ingress-admission.js +78 -0
- package/dist/runtime/spots/spot-actor-membership.js +3 -3
- package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +16 -43
- package/dist/runtime/spots/spot-actor-packet-dispatch.js +56 -113
- package/dist/runtime/spots/spot-actor-packet-drain.d.ts +1 -0
- package/dist/runtime/spots/spot-actor-packet-drain.js +12 -5
- package/dist/runtime/spots/spot-entry-activation.d.ts +4 -3
- package/dist/runtime/spots/spot-entry-activation.js +7 -12
- package/dist/runtime/spots/spot-handler-registry.d.ts +5 -1
- package/dist/runtime/spots/spot-handler-registry.js +31 -15
- package/dist/runtime/spots/spot-manager-public.js +3 -2
- package/dist/runtime/spots/spot-node-runtime-manager.d.ts +11 -6
- package/dist/runtime/spots/spot-node-runtime-manager.js +6 -1
- package/dist/runtime/spots/spot-outbound.d.ts +8 -2
- package/dist/runtime/spots/spot-outbound.js +5 -5
- package/dist/runtime/spots/spot-route-packet-dispatch.js +13 -8
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +3 -3
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +9 -5
- package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -2
- package/dist/runtime/spots/spot-serial-executor.d.ts +2 -1
- package/dist/runtime/spots/spot-serial-turn-executor.js +20 -26
- package/dist/runtime/spots/spot-subscription-dispatch.js +5 -2
- package/dist/runtime/spots/spot-timer.d.ts +1 -1
- package/dist/runtime/streams/actor-session-binding-registry.d.ts +11 -3
- package/dist/runtime/streams/actor-session-binding-registry.js +28 -0
- package/dist/runtime/streams/bound-actor-relay-sender.d.ts +2 -2
- package/dist/runtime/streams/bound-actor-relay-sender.js +3 -4
- package/dist/runtime/streams/bound-session-service.js +6 -7
- package/dist/runtime/streams/index.d.ts +3 -3
- package/dist/runtime/streams/index.js +22 -2
- package/dist/runtime/streams/managed-stream.js +2 -1
- package/dist/runtime/streams/session-calls.d.ts +1 -1
- package/dist/runtime/streams/session-calls.js +3 -9
- package/dist/runtime/streams/session-context.d.ts +2 -2
- package/dist/runtime/streams/session-context.js +2 -2
- package/dist/runtime/streams/stream-session-runtime.d.ts +1 -0
- package/dist/runtime/streams/stream-session-runtime.js +64 -33
- package/package.json +3 -3
- package/src/contracts/Actors/ZLinkActor.ts +6 -0
- package/src/contracts/Actors/ZLinkSessionBindingIdentity.ts +7 -0
- package/src/contracts/Actors/index.ts +1 -0
- package/src/contracts/Common/CoreTypes.ts +1 -0
- package/src/contracts/Common/HandlerMessageType.ts +50 -0
- package/src/contracts/Common/ZLinkEncodedPayload.ts +13 -25
- package/src/contracts/Common/ZLinkMessage.ts +11 -7
- package/src/contracts/Common/encoded-payload-storage.ts +4 -16
- package/src/contracts/Common/index.ts +1 -1
- package/src/contracts/Common/payload-slab.ts +29 -0
- package/src/contracts/Configuration/RegistrationBuilders.ts +29 -15
- package/src/contracts/Configuration/RegistrationTypes.ts +19 -0
- package/src/contracts/Handlers/Contexts.ts +1 -0
- package/src/contracts/Locations/Authority.ts +7 -1
- package/src/internal.ts +17 -0
- package/src/nest-integration.ts +1 -0
- package/src/runtime/actors/actor-client.ts +257 -163
- package/src/runtime/actors/actor-context.ts +26 -14
- package/src/runtime/actors/actor-execution-context.ts +2 -2
- package/src/runtime/actors/actor-handoff.ts +86 -51
- package/src/runtime/actors/actor-join-deferred-scope.ts +6 -6
- package/src/runtime/actors/actor-local-native-join.ts +38 -17
- package/src/runtime/actors/actor-mailbox.ts +1 -1
- package/src/runtime/actors/actor-remote-joiner.ts +8 -4
- package/src/runtime/actors/actor-routed-join-transport.ts +13 -5
- package/src/runtime/actors/actor-routed-json-request.ts +3 -0
- package/src/runtime/actors/actor-runtime-contracts.ts +4 -2
- package/src/runtime/actors/actor-runtime-state.ts +1 -1
- package/src/runtime/actors/spot-actor-dispatch.ts +70 -68
- package/src/runtime/admission.ts +42 -15
- package/src/runtime/application-jobs/application-ingress-record-owner.ts +4 -0
- package/src/runtime/backend/contracts/index.ts +77 -10
- package/src/runtime/backend/mesh-completion-table.ts +106 -15
- package/src/runtime/backend/mesh-dispatch-pump.ts +294 -146
- package/src/runtime/backend/node/node-backend-adapter-support.ts +42 -32
- package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +91 -34
- package/src/runtime/backend/node/node-event-loop-poller.ts +14 -5
- package/src/runtime/backend/node/node-mesh-backend-adapter.ts +5 -1
- package/src/runtime/backend/node/node-raw-binding-port.ts +180 -69
- package/src/runtime/backend/node/node-raw-mesh-backend.ts +386 -157
- package/src/runtime/backend/node/node-socket-backend-adapter.ts +56 -11
- package/src/runtime/backend/raw-binding-port.ts +13 -5
- package/src/runtime/channels/channel-clients.ts +26 -11
- package/src/runtime/channels/channel-dispatch-pipeline.ts +77 -65
- package/src/runtime/channels/channel-dispatch-services.ts +7 -12
- package/src/runtime/channels/channel-dispatchers.ts +93 -39
- package/src/runtime/channels/channel-envelope.ts +680 -144
- package/src/runtime/channels/channel-multipart.ts +17 -13
- package/src/runtime/channels/channel-outbound-operations.ts +204 -178
- package/src/runtime/channels/channel-receive-loops.ts +160 -107
- package/src/runtime/channels/channel-runtime-lifecycle.ts +64 -59
- package/src/runtime/channels/channel-runtime-manager.ts +74 -27
- package/src/runtime/channels/channel-socket-registry.ts +20 -5
- package/src/runtime/channels/channel-transports.ts +414 -287
- package/src/runtime/channels/dispatch-error-reporter.ts +4 -9
- package/src/runtime/channels/local-spot-route-transport.ts +27 -29
- package/src/runtime/channels/router-socket-spot-route-transport.ts +63 -32
- package/src/runtime/channels/source-spot-router.ts +75 -38
- package/src/runtime/channels/spot-node-route-transport.ts +67 -37
- package/src/runtime/channels/spot-route-bridge-transport.ts +62 -30
- package/src/runtime/channels/spot-route-dispatch-strategy.ts +105 -34
- package/src/runtime/diagnostics/dispatch-error-details.ts +10 -2
- package/src/runtime/diagnostics/message-flow-bootstrap.ts +6 -0
- package/src/runtime/diagnostics/message-flow-delivery.ts +171 -0
- package/src/runtime/diagnostics/message-flow-record.ts +295 -0
- package/src/runtime/diagnostics/message-flow-worker.ts +146 -0
- package/src/runtime/diagnostics/message-flow.ts +49 -362
- package/src/runtime/diagnostics/runtime-metrics.ts +10 -4
- package/src/runtime/execution/index.ts +6 -0
- package/src/runtime/execution/serial-execution-queue.ts +94 -96
- package/src/runtime/foundation/durable-service-request.ts +212 -89
- package/src/runtime/foundation/operation-registry.ts +287 -38
- package/src/runtime/foundation/raw-service-mesh-runtime.ts +617 -292
- package/src/runtime/foundation/request-runtime.ts +227 -0
- package/src/runtime/foundation/service-discovery-registry.ts +7 -0
- package/src/runtime/foundation/service-liveness-registry.ts +1 -1
- package/src/runtime/foundation/service-mailbox.ts +7 -2
- package/src/runtime/foundation/service-relocation-object-owner.ts +21 -6
- package/src/runtime/foundation/service-runtime-contracts.ts +12 -2
- package/src/runtime/foundation/service-stateful-registry.ts +52 -19
- package/src/runtime/foundation/service-stateful-runtime.ts +365 -198
- package/src/runtime/foundation/service-stateful-wire-codec.ts +18 -0
- package/src/runtime/foundation/service-topology-registry.ts +21 -3
- package/src/runtime/foundation/service-wire-constants.generated.ts +10 -0
- package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -17
- package/src/runtime/host/actor-packet-relay.ts +160 -156
- package/src/runtime/host/actor-placement-coordinator.ts +1 -1
- package/src/runtime/host/actor-runtime-options-factory.ts +7 -2
- package/src/runtime/host/actor-transfer-runtime.ts +3 -3
- package/src/runtime/host/application-job-queue.ts +56 -27
- package/src/runtime/host/bound-session-relay.ts +0 -1
- package/src/runtime/host/channel-runtime-options-factory.ts +3 -0
- package/src/runtime/host/entry-actor-runtime.ts +14 -6
- package/src/runtime/host/index.ts +388 -113
- package/src/runtime/host/location-runtime-owner.ts +3 -3
- package/src/runtime/host/service-relocation-host-runtime.ts +380 -252
- package/src/runtime/host/spot-address-transport.ts +110 -95
- package/src/runtime/host/spot-runtime-options-factory.ts +3 -0
- package/src/runtime/host/user-spot-creation-coordinator.ts +69 -22
- package/src/runtime/internal-observation.ts +2 -0
- package/src/runtime/locations/actor-location-claims.ts +42 -16
- package/src/runtime/locations/auto-connect-loop.ts +24 -16
- package/src/runtime/locations/auto-connect-planner.ts +2 -5
- package/src/runtime/locations/auto-connect-reconciler.ts +37 -24
- package/src/runtime/locations/in-memory-authority-store.ts +27 -7
- package/src/runtime/locations/in-memory-location-store.ts +1 -74
- package/src/runtime/locations/lifecycle.ts +4 -2
- package/src/runtime/locations/location-store-repository.ts +228 -308
- package/src/runtime/locations/resolvers.ts +20 -8
- package/src/runtime/locations/runtime.ts +16 -28
- package/src/runtime/messaging/creation-payload-codec.ts +12 -10
- package/src/runtime/messaging/framework-json-v1.ts +10 -1
- package/src/runtime/messaging/payload-codec.ts +50 -75
- package/src/runtime/messaging/request-deadline.ts +47 -39
- package/src/runtime/messaging/request-result.ts +88 -17
- package/src/runtime/protocol/service_wire_codec.generated.ts +18 -8
- package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +1 -1
- package/src/runtime/spots/index.ts +57 -10
- package/src/runtime/spots/spot-activation-registry.ts +12 -8
- package/src/runtime/spots/spot-activation-state.ts +2 -0
- package/src/runtime/spots/spot-actor-admission-coordinator.ts +62 -37
- package/src/runtime/spots/spot-actor-ingress-admission.ts +157 -0
- package/src/runtime/spots/spot-actor-membership.ts +8 -5
- package/src/runtime/spots/spot-actor-packet-dispatch.ts +122 -206
- package/src/runtime/spots/spot-actor-packet-drain.ts +21 -6
- package/src/runtime/spots/spot-entry-activation.ts +25 -35
- package/src/runtime/spots/spot-handler-registry.ts +72 -15
- package/src/runtime/spots/spot-manager-public.ts +4 -2
- package/src/runtime/spots/spot-node-runtime-manager.ts +16 -7
- package/src/runtime/spots/spot-outbound.ts +26 -10
- package/src/runtime/spots/spot-route-packet-dispatch.ts +18 -8
- package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +14 -8
- package/src/runtime/spots/spot-runtime-ports.ts +5 -2
- package/src/runtime/spots/spot-serial-executor.ts +1 -1
- package/src/runtime/spots/spot-serial-turn-executor.ts +25 -40
- package/src/runtime/spots/spot-subscription-dispatch.ts +9 -2
- package/src/runtime/spots/spot-timer.ts +1 -1
- package/src/runtime/streams/actor-session-binding-registry.ts +46 -3
- package/src/runtime/streams/bound-actor-relay-sender.ts +16 -5
- package/src/runtime/streams/bound-session-service.ts +10 -7
- package/src/runtime/streams/index.ts +30 -4
- package/src/runtime/streams/managed-stream.ts +2 -1
- package/src/runtime/streams/session-calls.ts +9 -14
- package/src/runtime/streams/session-context.ts +6 -11
- package/src/runtime/streams/stream-session-runtime.ts +79 -40
- package/dist/runtime/spots/spot-lifecycle-metrics.d.ts +0 -8
- package/dist/runtime/spots/spot-lifecycle-metrics.js +0 -17
- package/src/runtime/spots/spot-lifecycle-metrics.ts +0 -16
|
@@ -19,8 +19,8 @@ export interface ZLinkLocationRuntimeStopSnapshot {
|
|
|
19
19
|
}
|
|
20
20
|
export declare class ZLinkLocationRuntimeOwner {
|
|
21
21
|
private readonly options;
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
stores?: ZLinkLocationRuntimeStores;
|
|
23
|
+
runtime?: ZLinkLocationRuntime;
|
|
24
24
|
private lifecycle?;
|
|
25
25
|
private events?;
|
|
26
26
|
private leaseTrackerState?;
|
|
@@ -26,7 +26,7 @@ class ZLinkLocationRuntimeOwner {
|
|
|
26
26
|
return this.events;
|
|
27
27
|
}
|
|
28
28
|
get currentLeaseTracker() {
|
|
29
|
-
return this.
|
|
29
|
+
return this.stores === undefined ? undefined : this.leaseTracker(this.stores);
|
|
30
30
|
}
|
|
31
31
|
setSpotRouteInvalidator(invalidator) {
|
|
32
32
|
this.spotRouteInvalidator = invalidator;
|
|
@@ -1,25 +1,35 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { RequestRuntime } from '../foundation/request-runtime';
|
|
2
|
+
import { inspectRuntime } from '../internal-observation';
|
|
3
|
+
import { type RoutingId, type Type, type ZLinkActor, type ZLinkMeshNodeDescriptor, ZLinkSpotKind } from '../../contracts';
|
|
2
4
|
import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
|
|
3
5
|
import type { ZLinkActivationAdmission } from '../activation-admission';
|
|
4
6
|
import type { DefaultZLinkActorManager } from '../actors';
|
|
5
|
-
import { type ZLinkActorHandoffPacket } from '../actors/actor-handoff';
|
|
7
|
+
import { type ZLinkActorHandoffPacket, type ZLinkActorHandoffResult } from '../actors/actor-handoff';
|
|
6
8
|
import type { ZLinkActorJoinRelocation } from '../actors/actor-join-relocation';
|
|
9
|
+
import { type ZLinkActorRuntimeState } from '../actors/actor-runtime-state';
|
|
7
10
|
import type { ZLinkBackendMeshNode, ZLinkMeshCompletionTable } from '../backend';
|
|
8
11
|
import type { ZLinkFrameworkRegistration } from '../configuration';
|
|
9
|
-
import { type ZLinkRuntimeEventPublisher, type ZLinkRuntimeMetrics } from '../diagnostics';
|
|
12
|
+
import { type ZLinkRuntimeEventPublisher, type ZLinkRelocationMetricOperation, type ZLinkRuntimeMetrics } from '../diagnostics';
|
|
10
13
|
import { type ZLinkMessageFlowTracer } from '../diagnostics/message-flow';
|
|
11
|
-
import { type
|
|
14
|
+
import { type ServicePreparedRelocationAggregate } from '../foundation/service-relocation-aggregate-committer';
|
|
15
|
+
import { ServiceRelocationObjectRestoreOwner, type ServiceCapturedObjectRelocation, type ServiceObjectRelocationStaging, type ServiceRelocationHiddenObject, type ServiceRelocationTargetObjectPort } from '../foundation/service-relocation-object-owner';
|
|
16
|
+
import { ServiceRelocationAuthorityPayloadCodec, type ServiceRelocationEnvelope, type ServiceRelocationMembership, type ServiceRelocationParticipant, type ServiceRelocationPublication, type ServiceRelocationQueuedMessage } from '../foundation/service-relocation-runtime';
|
|
12
17
|
import { type ReceiveRecord } from '../foundation/service-runtime-contracts';
|
|
13
|
-
import { type ServiceSessionRelocationRoute, type ServiceSessionRelocationSeal, type ServiceSessionRelocationSealed } from '../foundation/service-stateful-wire-codec';
|
|
18
|
+
import { type ServiceMaintenanceRelocationCutover, type ServiceMaintenanceRelocationData, type ServiceMaintenanceRelocationPrepare, type ServiceMaintenanceRelocationReady, type ServiceMaintenanceReplyRelay, type ServiceSessionRelocationRoute, type ServiceSessionRelocationSeal, type ServiceSessionRelocationSealed, type ServiceWireRelocationCoordinatorFence, type ServiceWireRelocationTarget, type ServiceWireRequestSourceFence } from '../foundation/service-stateful-wire-codec';
|
|
14
19
|
import type { ZLinkDomainLocationStore as ZLinkLocationStore } from '../locations/domain-store-contract';
|
|
15
|
-
import type { ZLinkLocationOwnerToken } from '../locations/internal-location-contracts';
|
|
20
|
+
import type { ZLinkAuthoritySnapshot, ZLinkLocationOwnerToken } from '../locations/internal-location-contracts';
|
|
16
21
|
import type { ZLinkTrackedInstanceAuthority } from '../locations/spot-location-claims';
|
|
17
22
|
import type { DefaultZLinkSpotManager } from '../spots';
|
|
23
|
+
import type { ZLinkSpotActivation } from '../spots/spot-activation-state';
|
|
24
|
+
import type { ZLinkSpotRouteTarget } from '../spots/spot-routing-internal';
|
|
18
25
|
import { type ZLinkActorTransferRuntime } from './actor-transfer-runtime';
|
|
26
|
+
import { ZLinkRelocationPayloadAssembly } from './relocation-direct-transfer';
|
|
27
|
+
import { decodeServiceRelocationControlResponse, type ZLinkServiceRelocationControlRequest } from './service-relocation-control';
|
|
19
28
|
export declare class ZLinkRelocationStateIncompatibleError extends Error {
|
|
20
29
|
constructor(message: string);
|
|
21
30
|
}
|
|
22
31
|
interface ZLinkHostRelocationOptions {
|
|
32
|
+
readonly requests: RequestRuntime;
|
|
23
33
|
readonly flowCreationEnabled?: () => boolean;
|
|
24
34
|
readonly messageFlow?: () => ZLinkMessageFlowTracer | undefined;
|
|
25
35
|
readonly registration: ZLinkFrameworkRegistration;
|
|
@@ -42,20 +52,107 @@ interface ZLinkHostRelocationOptions {
|
|
|
42
52
|
clear?(): void | Promise<void>;
|
|
43
53
|
};
|
|
44
54
|
readonly trackInstanceSpot?: (input: ZLinkTrackedInstanceAuthority) => void;
|
|
45
|
-
readonly
|
|
55
|
+
readonly observeActorAuthorityVersion?: (actorId: string, storeVersion: string) => void;
|
|
46
56
|
readonly reconcileStatefulAuthorityRoutes?: (signal?: AbortSignal) => Promise<void>;
|
|
47
57
|
readonly runtimeEventPublisher?: ZLinkRuntimeEventPublisher;
|
|
48
58
|
readonly metrics?: ZLinkRuntimeMetrics;
|
|
49
59
|
readonly activationAdmission?: ZLinkActivationAdmission;
|
|
50
60
|
}
|
|
61
|
+
interface LocalHidden extends ServiceRelocationHiddenObject {
|
|
62
|
+
readonly participant: ServiceRelocationParticipant;
|
|
63
|
+
readonly actor?: ZLinkActor;
|
|
64
|
+
readonly activation?: ZLinkSpotActivation;
|
|
65
|
+
initialized: boolean;
|
|
66
|
+
replayStart?: Promise<void>;
|
|
67
|
+
onReplayResult?: (packet: ZLinkActorHandoffPacket, result: ZLinkActorHandoffResult) => Promise<void>;
|
|
68
|
+
readonly replayPackets: ZLinkActorHandoffPacket[];
|
|
69
|
+
targetAuthorityOwnerGeneration?: bigint;
|
|
70
|
+
}
|
|
71
|
+
interface LocalStage {
|
|
72
|
+
readonly offer: TargetRelocationOffer;
|
|
73
|
+
readonly owner: ServiceRelocationObjectRestoreOwner<LocalHidden>;
|
|
74
|
+
readonly staging: ServiceObjectRelocationStaging<LocalHidden>;
|
|
75
|
+
phase: 'ready' | 'finalizing' | 'committed' | 'open' | 'failed';
|
|
76
|
+
lane: Promise<void>;
|
|
77
|
+
cutoverReceived: boolean;
|
|
78
|
+
/** Boundary relay records buffered until cutover (or fallback) applies them. */
|
|
79
|
+
readonly boundaryRelay: ServiceMaintenanceRelocationData[];
|
|
80
|
+
fallback?: ReturnType<typeof setTimeout>;
|
|
81
|
+
finalize?: Promise<void>;
|
|
82
|
+
/** The Restore's activation admission (MeshNode §5.1); held until target commit or abort. */
|
|
83
|
+
readonly releaseActivation: () => void;
|
|
84
|
+
readonly releaseJoinAdmission: () => void;
|
|
85
|
+
}
|
|
86
|
+
interface TargetPayloadAssembly {
|
|
87
|
+
readonly prepare: ServiceMaintenanceRelocationPrepare;
|
|
88
|
+
readonly fingerprint: string;
|
|
89
|
+
readonly authenticatedSourceNodeRid: string;
|
|
90
|
+
readonly assembly: ZLinkRelocationPayloadAssembly;
|
|
91
|
+
}
|
|
92
|
+
/** One authority read decides commit and the snapshots eligible for Follow. */
|
|
93
|
+
type SourceAuthorityCommit = {
|
|
94
|
+
readonly kind: 'target';
|
|
95
|
+
readonly followAuthorities: ReadonlyMap<string, ZLinkAuthoritySnapshot>;
|
|
96
|
+
};
|
|
97
|
+
interface SourceCutoverWindow {
|
|
98
|
+
readonly meshName: string;
|
|
99
|
+
readonly targetNodeRid: RoutingId;
|
|
100
|
+
/** Boundary batch frames plus the cutover frame, retained until authority settlement. */
|
|
101
|
+
frames?: readonly Buffer[];
|
|
102
|
+
/** The ready route used to submit the retained batch. */
|
|
103
|
+
submittedRouteGeneration?: bigint;
|
|
104
|
+
readonly cutoverSubmittedAtMs: number;
|
|
105
|
+
followTimer?: ReturnType<typeof setTimeout>;
|
|
106
|
+
windowClosed: boolean;
|
|
107
|
+
followExpired: boolean;
|
|
108
|
+
}
|
|
109
|
+
interface TargetRelocationReservation {
|
|
110
|
+
readonly prepared: ServicePreparedRelocationAggregate;
|
|
111
|
+
}
|
|
112
|
+
interface TargetRelocationOffer {
|
|
113
|
+
readonly prepare: ServiceMaintenanceRelocationPrepare;
|
|
114
|
+
readonly prepareFingerprint: string;
|
|
115
|
+
readonly authenticatedSourceNodeRid: string;
|
|
116
|
+
readonly envelope: ServiceRelocationEnvelope;
|
|
117
|
+
readonly reservation: TargetRelocationReservation;
|
|
118
|
+
}
|
|
119
|
+
interface TargetPrepareOperation {
|
|
120
|
+
readonly fingerprint: string;
|
|
121
|
+
readonly promise: Promise<ServiceMaintenanceRelocationReady>;
|
|
122
|
+
}
|
|
123
|
+
interface SourceActorSession {
|
|
124
|
+
readonly state: ZLinkActorRuntimeState;
|
|
125
|
+
readonly actor: ZLinkActor;
|
|
126
|
+
readonly prepared: Awaited<ReturnType<ZLinkActorTransferRuntime['prepareMaintenanceSession']>>;
|
|
127
|
+
}
|
|
128
|
+
interface PendingSessionRelocation {
|
|
129
|
+
readonly targetNodeRid: string;
|
|
130
|
+
readonly request: ServiceSessionRelocationSeal;
|
|
131
|
+
readonly requestFingerprint: string;
|
|
132
|
+
readonly promise: Promise<ServiceSessionRelocationSealed>;
|
|
133
|
+
readonly resolve: (response: ServiceSessionRelocationSealed) => void;
|
|
134
|
+
readonly reject: (error: unknown) => void;
|
|
135
|
+
retryTimer?: ReturnType<typeof setTimeout>;
|
|
136
|
+
deadlineTimer?: ReturnType<typeof setTimeout>;
|
|
137
|
+
}
|
|
51
138
|
/** Production host bridge from Retire inventory to remote RouteMesh owners. */
|
|
52
139
|
export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoinRelocation {
|
|
53
|
-
|
|
54
|
-
|
|
140
|
+
readonly options: ZLinkHostRelocationOptions;
|
|
141
|
+
[inspectRuntime](): Readonly<{
|
|
142
|
+
targetStages: number;
|
|
143
|
+
targetAssemblies: number;
|
|
144
|
+
pendingReplyRelays: number;
|
|
145
|
+
sourceActorJoinProfiles: number;
|
|
146
|
+
sourceCutoverWindow: Readonly<{
|
|
147
|
+
readonly frameCount: number | undefined;
|
|
148
|
+
}> | undefined;
|
|
149
|
+
terminalTargets: number;
|
|
150
|
+
}>;
|
|
151
|
+
readonly targetStages: Map<string, LocalStage>;
|
|
55
152
|
private readonly terminalTargets;
|
|
56
|
-
|
|
153
|
+
readonly targetPrepareOperations: Map<string, TargetPrepareOperation>;
|
|
57
154
|
private readonly pendingReplyRelays;
|
|
58
|
-
|
|
155
|
+
readonly pendingSessionRelocations: Map<string, PendingSessionRelocation>;
|
|
59
156
|
private readonly terminalSessionRelocations;
|
|
60
157
|
/**
|
|
61
158
|
* A command 44 submit has no response path. Keep a bounded record of a
|
|
@@ -64,7 +161,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
64
161
|
*/
|
|
65
162
|
private readonly failedSessionRouteSubmits;
|
|
66
163
|
private readonly sourceRelocationIds;
|
|
67
|
-
|
|
164
|
+
readonly targetAssemblies: Map<string, TargetPayloadAssembly>;
|
|
68
165
|
/**
|
|
69
166
|
* Terminal restore failures (assembly/checksum/factory/restore error): the
|
|
70
167
|
* target already sent relocationFailed (command 53) once. An exact-identity
|
|
@@ -83,7 +180,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
83
180
|
private nodePayloadBudget?;
|
|
84
181
|
private readonly sourceActorJoinProfiles;
|
|
85
182
|
private readonly terminalActorJoinSourceLeaves;
|
|
86
|
-
|
|
183
|
+
readonly codec: ServiceRelocationAuthorityPayloadCodec;
|
|
87
184
|
/**
|
|
88
185
|
* Set once dispose() starts tearing assemblies down. A payload() rejection
|
|
89
186
|
* observed after this point is the shutdown itself, not a chunk-assembly or
|
|
@@ -109,7 +206,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
109
206
|
tryHandleControl(meshName: string, record: ReceiveRecord, signal?: AbortSignal): boolean | Promise<boolean>;
|
|
110
207
|
private handleControl;
|
|
111
208
|
/** Sends the Ready reply once the async restore finished; failures replay on resend. */
|
|
112
|
-
|
|
209
|
+
deliverTargetReady(meshName: string, operationKey: string, request: ServiceMaintenanceRelocationPrepare, ingress: ReceiveRecord, operation: Promise<ServiceMaintenanceRelocationReady>): Promise<void>;
|
|
113
210
|
/** Cleans up a Ready reply that never delivered within the Restore validity window. */
|
|
114
211
|
private expireTargetReadyResponse;
|
|
115
212
|
/**
|
|
@@ -132,16 +229,24 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
132
229
|
private handleSessionRelocationRoute;
|
|
133
230
|
private validateSessionOwnerFence;
|
|
134
231
|
private sendSessionRelocationResponse;
|
|
135
|
-
|
|
232
|
+
relocateSpotAggregate(meshName: string, activation: ZLinkSpotActivation, kind: 'user_spot' | 'instance_spot', actorStates: readonly ZLinkActorRuntimeState[], target: ZLinkMeshNodeDescriptor | undefined, targetApplicationVersion: bigint | undefined, signal?: AbortSignal): Promise<void>;
|
|
136
233
|
private relocateSpotAggregateCore;
|
|
137
|
-
|
|
138
|
-
|
|
234
|
+
relocateStandaloneActor(meshName: string, state: ZLinkActorRuntimeState, target: ZLinkMeshNodeDescriptor | undefined, targetApplicationVersion: bigint | undefined, signal?: AbortSignal, targetMembership?: ZLinkSpotRouteTarget & {
|
|
235
|
+
readonly spotKind: ZLinkSpotKind.Entry | ZLinkSpotKind.User;
|
|
236
|
+
readonly spotObjectGeneration: bigint;
|
|
237
|
+
}, aggregateIdOverride?: string, retainSourceForActorJoin?: boolean,
|
|
238
|
+
/** Target's advertised relocation state chunk cap (Actor Join only; spec 15 §4.2). */
|
|
239
|
+
advertisedReceiveChunkLimitBytes?: number, deadlineAtMs?: number): Promise<void>;
|
|
240
|
+
relocatePerActorSpotShell(meshName: string, activation: ZLinkSpotActivation, target: ZLinkMeshNodeDescriptor | undefined, targetApplicationVersion: bigint | undefined, signal?: AbortSignal): Promise<void>;
|
|
139
241
|
private relocatePerActorSpotShellCore;
|
|
140
242
|
private actorCaptureUnit;
|
|
141
243
|
private reserveRelocationId;
|
|
142
244
|
private reserveExactRelocationId;
|
|
143
|
-
|
|
245
|
+
runCoordinator(meshName: string, target: ZLinkMeshNodeDescriptor, primary: ZLinkAuthoritySnapshot, captured: ServiceCapturedObjectRelocation, _authorities: ReadonlyMap<string, ZLinkAuthoritySnapshot>, signal?: AbortSignal, sessions?: readonly SourceActorSession[],
|
|
246
|
+
/** Target's advertised relocation state chunk cap (Actor Join only; spec 15 §4.2). */
|
|
247
|
+
advertisedReceiveChunkLimitBytes?: number, controlDeadlineAtMs?: number, relocationMetric?: ZLinkRelocationMetricOperation): Promise<void>;
|
|
144
248
|
private completeSourceRelocationMetric;
|
|
249
|
+
startSourceRelocationMetric(meshName: string, objectKind: 'actor' | 'user_spot' | 'instance_spot', policy: 'recreate' | 'snapshot', actorId?: string): ZLinkRelocationMetricOperation | undefined;
|
|
145
250
|
/** Streams the payload chunks of one stage under the effective in-flight budgets. */
|
|
146
251
|
private sendRelocationStateChunks;
|
|
147
252
|
/**
|
|
@@ -150,7 +255,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
150
255
|
*/
|
|
151
256
|
private acquireRelocationBudget;
|
|
152
257
|
/** Pre-seal admission wait — a full budget delays the next unit before seal. */
|
|
153
|
-
|
|
258
|
+
waitForRelocationBudgetHeadroom(targetRid: string, signal?: AbortSignal): Promise<void>;
|
|
154
259
|
private requireNodePayloadBudget;
|
|
155
260
|
private requirePeerPayloadBudget;
|
|
156
261
|
/**
|
|
@@ -165,9 +270,9 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
165
270
|
private closeSourceCutoverWindow;
|
|
166
271
|
private releaseSourceCutoverWindow;
|
|
167
272
|
/** Relocation flow §4.4: replay the whole batch on a different ready route. */
|
|
168
|
-
|
|
273
|
+
resendSourceCutover(window: SourceCutoverWindow): Promise<void>;
|
|
169
274
|
/**
|
|
170
|
-
* The one source authority settlement after
|
|
275
|
+
* The one source authority settlement after request creation (Location runtime
|
|
171
276
|
* §6.1·§10, spec 28 §4.4). It reads the Store until the target commit or
|
|
172
277
|
* the Restore deadline. From the Restore deadline it runs the source
|
|
173
278
|
* Preserve fence: a CAS on the StoreVersion expected by target NewOwner
|
|
@@ -178,7 +283,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
178
283
|
* A committed later owner has no Follow snapshot (Location runtime §10). An uncertain
|
|
179
284
|
* Store or lease result keeps the work retained and repeats the same decision.
|
|
180
285
|
*/
|
|
181
|
-
|
|
286
|
+
settleSourceAuthority(envelope: ServiceRelocationEnvelope, primary: ZLinkAuthoritySnapshot, target: ServiceWireRelocationTarget, restoreDeadlineReached: () => boolean, window: SourceCutoverWindow | undefined, relocationMetric?: ZLinkRelocationMetricOperation): Promise<SourceAuthorityCommit | 'source' | 'lost'>;
|
|
182
287
|
private readSourceSettlement;
|
|
183
288
|
/**
|
|
184
289
|
* True when every relocation this source started reached its Message
|
|
@@ -186,9 +291,9 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
186
291
|
* ended — both source-local events (spec 30 §11).
|
|
187
292
|
*/
|
|
188
293
|
isSafeToShutdown(): boolean;
|
|
189
|
-
|
|
294
|
+
releaseParticipantAuthorities(envelope: ServiceRelocationEnvelope, primaryKey: string, signal?: AbortSignal): Promise<void>;
|
|
190
295
|
/** Restores the hidden object and its saved-work prefix before Ready. */
|
|
191
|
-
|
|
296
|
+
handlePrepareControl(meshName: string, stagingId: string, request: ServiceMaintenanceRelocationPrepare, sourceNodeRid: RoutingId, signal?: AbortSignal): Promise<ServiceMaintenanceRelocationReady>;
|
|
192
297
|
/**
|
|
193
298
|
* The cutover wait of a Ready stage (spec 28 §4.4) is a Warning only: it
|
|
194
299
|
* records `cutover_timeout` and never submits the target CAS or opens
|
|
@@ -206,34 +311,49 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
206
311
|
* whole (the retransmission always resends the entire batch, so the exact
|
|
207
312
|
* span is the staged suffix of `boundaryRecordCount` records).
|
|
208
313
|
*/
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
314
|
+
reconcileBoundaryRelay(stage: LocalStage, request: ServiceMaintenanceRelocationCutover, stagingId: string): void;
|
|
315
|
+
beginTargetFinalize(meshName: string, stagingId: string, stage: LocalStage, signal?: AbortSignal): Promise<void>;
|
|
316
|
+
finalizeTargetStage(meshName: string, stagingId: string, stage: LocalStage, signal?: AbortSignal): Promise<void>;
|
|
212
317
|
private validateRelocationData;
|
|
213
318
|
private applyRelocationData;
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
319
|
+
finalizeActorJoinProfiles(meshName: string, stage: LocalStage, signal?: AbortSignal): Promise<void>;
|
|
320
|
+
submitActorJoinSourceLeave(meshName: string, sourceNodeRid: RoutingId, relocationId: string, actorId: string): Promise<void>;
|
|
321
|
+
acceptActorJoinSourceLeave(input: {
|
|
322
|
+
readonly transferId: string;
|
|
323
|
+
readonly actorId: string;
|
|
324
|
+
readonly succeeded: boolean;
|
|
325
|
+
}): boolean;
|
|
217
326
|
private sendControlOneWay;
|
|
218
|
-
|
|
219
|
-
|
|
327
|
+
submitControlFrame(meshName: string, targetNodeRid: RoutingId, frame: Buffer, kind: string): Promise<void>;
|
|
328
|
+
clearTargetRelocationPublication(stage: LocalStage, primary: ZLinkAuthoritySnapshot, signal?: AbortSignal): Promise<ZLinkAuthoritySnapshot>;
|
|
220
329
|
private handleReplyRelay;
|
|
221
|
-
|
|
330
|
+
sendReplyRelay(meshName: string, ackTargetNodeRid: RoutingId, request: ServiceMaintenanceReplyRelay, expectedRequestSource: ServiceWireRequestSourceFence, signal?: AbortSignal): Promise<RelocationTerminalDelivery>;
|
|
222
331
|
private acceptReplyRelayAck;
|
|
223
332
|
private requireAdmittedPeer;
|
|
224
|
-
|
|
225
|
-
|
|
333
|
+
targetReplyRelayCoordinator(meshName: string, stage: LocalStage, authority: ZLinkAuthoritySnapshot): ServiceWireRelocationCoordinatorFence;
|
|
334
|
+
relayTerminalReply(meshName: string, stage: LocalStage, coordinator: ServiceWireRelocationCoordinatorFence, participantId: bigint, packet: ZLinkActorHandoffPacket, result: ZLinkActorHandoffResult, signal?: AbortSignal): Promise<void>;
|
|
226
335
|
private exactSourceLeaseExpired;
|
|
227
|
-
|
|
228
|
-
|
|
336
|
+
publishSessionRoutes(staging: ServiceObjectRelocationStaging<LocalHidden>): Promise<void>;
|
|
337
|
+
sendControl(meshName: string, targetNodeRid: RoutingId, request: ZLinkServiceRelocationControlRequest, signal?: AbortSignal, deadlineAtMs?: number, onSubmitted?: (signal: AbortSignal) => Promise<void>): Promise<ReturnType<typeof decodeServiceRelocationControlResponse>>;
|
|
229
338
|
private selectTarget;
|
|
230
339
|
private readTargetParticipantAuthorities;
|
|
231
|
-
|
|
232
|
-
|
|
340
|
+
reserveTargetForPrepare(meshName: string, prepare: ServiceMaintenanceRelocationPrepare, envelope: ServiceRelocationEnvelope, signal?: AbortSignal): Promise<TargetRelocationReservation>;
|
|
341
|
+
authorityPayloadForPublication(payload: Uint8Array, publication: ServiceRelocationPublication, target?: {
|
|
342
|
+
readonly owner: ZLinkLocationOwnerToken;
|
|
343
|
+
readonly meshName: string;
|
|
344
|
+
readonly nodeRid: string;
|
|
345
|
+
readonly nodeGeneration: bigint;
|
|
346
|
+
readonly objectGeneration: bigint;
|
|
347
|
+
readonly targetAttemptGeneration: bigint;
|
|
348
|
+
readonly coordinatorExpectedStoreVersion: string;
|
|
349
|
+
readonly actorSpotId?: string;
|
|
350
|
+
readonly actorSpotGeneration?: bigint;
|
|
351
|
+
readonly actorSpotKind?: ZLinkSpotKind.Entry | ZLinkSpotKind.User;
|
|
352
|
+
}): Uint8Array;
|
|
233
353
|
private abortTargetReservation;
|
|
234
354
|
private abortTargetStage;
|
|
235
355
|
private discardTargetStage;
|
|
236
|
-
|
|
356
|
+
commitTargetReservation(stage: LocalStage, reservation: TargetRelocationReservation, signal?: AbortSignal): Promise<ZLinkAuthoritySnapshot | undefined>;
|
|
237
357
|
/**
|
|
238
358
|
* The one target authority settlement (Location runtime §10, spec 28
|
|
239
359
|
* §4.4-§4.5). Only a verified cutover lets the target submit its NewOwner
|
|
@@ -246,27 +366,57 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
246
366
|
* caller then discards the staging.
|
|
247
367
|
*/
|
|
248
368
|
private commitTargetAggregate;
|
|
249
|
-
|
|
250
|
-
|
|
369
|
+
readAggregateForCommitRetry(prepared: ServicePreparedRelocationAggregate, signal?: AbortSignal): Promise<{
|
|
370
|
+
readonly kind: 'committed';
|
|
371
|
+
readonly authorities: ReadonlyMap<string, ZLinkAuthoritySnapshot>;
|
|
372
|
+
} | {
|
|
373
|
+
readonly kind: 'source' | 'unknown' | 'stale';
|
|
374
|
+
}>;
|
|
375
|
+
materializeTargetEnvelope(meshName: string, envelope: ServiceRelocationEnvelope, signal?: AbortSignal): Promise<Pick<LocalStage, 'owner' | 'staging'> & {
|
|
376
|
+
readonly target: LocalTargetPort;
|
|
377
|
+
}>;
|
|
251
378
|
/** Maps schema ordinals to the authoritative Location Store inventory. */
|
|
252
|
-
|
|
379
|
+
resolveTargetParticipantInventory(meshName: string, request: ServiceMaintenanceRelocationPrepare, envelope: ServiceRelocationEnvelope, signal?: AbortSignal): Promise<ServiceRelocationEnvelope>;
|
|
253
380
|
private spotKind;
|
|
254
381
|
private spotRegistration;
|
|
255
382
|
private actorRegistration;
|
|
256
|
-
|
|
383
|
+
captureApplication<T>(policy: {
|
|
384
|
+
readonly kind: 'disabled' | 'recreate' | 'snapshot';
|
|
385
|
+
readonly adapterType?: Type;
|
|
386
|
+
}, value: T, signal?: AbortSignal): Promise<Uint8Array>;
|
|
257
387
|
private createRelocationAdapter;
|
|
258
388
|
private recordRelocationInterruption;
|
|
259
389
|
private sealSpotMessageFollow;
|
|
260
390
|
private commitSpotMessageFollow;
|
|
261
391
|
private requireLocationStore;
|
|
262
392
|
private requireSpotManager;
|
|
263
|
-
|
|
393
|
+
afterSpotCloseDecision<T>(meshName: string, spotId: RoutingId, seal: () => T): T | Promise<T>;
|
|
264
394
|
private requireActorManager;
|
|
265
395
|
private relocationLimits;
|
|
266
396
|
private requireMeshNode;
|
|
267
397
|
private sendInfrastructureControl;
|
|
268
398
|
private requestInfrastructureControl;
|
|
269
399
|
}
|
|
400
|
+
declare class LocalTargetPort implements ServiceRelocationTargetObjectPort<LocalHidden> {
|
|
401
|
+
private readonly options;
|
|
402
|
+
private readonly meshName;
|
|
403
|
+
private readonly envelope;
|
|
404
|
+
constructor(options: ZLinkHostRelocationOptions, meshName: string, envelope: ServiceRelocationEnvelope);
|
|
405
|
+
createHidden(participant: ServiceRelocationParticipant, signal?: AbortSignal): Promise<LocalHidden>;
|
|
406
|
+
restoreApplicationState(hidden: LocalHidden, payload: Uint8Array, signal?: AbortSignal): Promise<void>;
|
|
407
|
+
restoreMemberships(hidden: ReadonlyMap<string, LocalHidden>, memberships: readonly ServiceRelocationMembership[]): Promise<void>;
|
|
408
|
+
publish(hidden: LocalHidden, authority: ZLinkAuthoritySnapshot): Promise<void>;
|
|
409
|
+
restoreBoundSession(hidden: LocalHidden, payload: Uint8Array): Promise<void>;
|
|
410
|
+
replayQueuedMessage(hidden: LocalHidden, message: ServiceRelocationQueuedMessage): Promise<void>;
|
|
411
|
+
openAdmission(hidden: LocalHidden): Promise<void>;
|
|
412
|
+
normalize(hidden: LocalHidden): Promise<void>;
|
|
413
|
+
abort(hidden: LocalHidden): Promise<void>;
|
|
414
|
+
private registration;
|
|
415
|
+
private requireLocationStore;
|
|
416
|
+
private requireSpotManager;
|
|
417
|
+
private requireActorManager;
|
|
418
|
+
}
|
|
419
|
+
type RelocationTerminalDelivery = 'terminalReceived' | 'alreadyTerminal' | 'sourceLeaseExpired';
|
|
270
420
|
export declare function decodeQueuedHandoffPacket(message: ServiceRelocationQueuedMessage): ZLinkActorHandoffPacket;
|
|
271
421
|
export declare function createServiceRelocationId(isInUse: (candidate: string) => boolean, entropy?: (size: number) => Uint8Array): string;
|
|
272
422
|
/**
|