@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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/contracts/Channels/IZLinkFanoutClient.d.ts +0 -6
- package/dist/contracts/Common/CoreTypes.d.ts +6 -0
- package/dist/contracts/Common/CoreTypes.js +7 -0
- package/dist/contracts/Common/index.d.ts +1 -1
- package/dist/contracts/Common/index.js +0 -1
- package/dist/contracts/Configuration/InternalDefaults.d.ts +8 -0
- package/dist/contracts/Configuration/InternalDefaults.js +9 -1
- package/dist/contracts/Configuration/Registration.d.ts +13 -2
- package/dist/contracts/Configuration/Registration.js +58 -36
- package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +13 -1
- package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +38 -1
- package/dist/contracts/Configuration/RegistrationBuilders.d.ts +2 -3
- package/dist/contracts/Configuration/RegistrationBuilders.js +27 -32
- package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
- package/dist/contracts/Configuration/RegistrationValidators.js +15 -12
- package/dist/contracts/Configuration/TimerRegistrationValidator.js +3 -2
- package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +1 -1
- package/dist/contracts/Handlers/JsonContract.js +10 -4
- package/dist/contracts/Locations/Authority.d.ts +1 -1
- package/dist/contracts/Locations/Authority.js +3 -2
- package/dist/contracts/Locations/Options.js +1 -1
- package/dist/contracts/Locations/Stores.d.ts +12 -0
- package/dist/contracts/Locations/Stores.js +9 -0
- package/dist/contracts/RouteMesh/RuntimeTopology.d.ts +8 -0
- package/dist/contracts/Spots/Contracts.d.ts +1 -1
- package/dist/internal.d.ts +5 -0
- package/dist/internal.js +16 -1
- package/dist/nest-integration.d.ts +4 -2
- package/dist/nest-integration.js +14 -4
- package/dist/runtime/abort.d.ts +1 -0
- package/dist/runtime/abort.js +8 -5
- package/dist/runtime/activation-admission.d.ts +28 -0
- package/dist/runtime/activation-admission.js +57 -0
- package/dist/runtime/actors/actor-authority-payload-codec.d.ts +1 -2
- package/dist/runtime/actors/actor-authority-payload-codec.js +34 -18
- package/dist/runtime/actors/actor-client.d.ts +2 -2
- package/dist/runtime/actors/actor-client.js +42 -143
- package/dist/runtime/actors/actor-context.d.ts +3 -5
- package/dist/runtime/actors/actor-context.js +19 -17
- package/dist/runtime/actors/actor-handoff.d.ts +13 -7
- package/dist/runtime/actors/actor-handoff.js +36 -25
- package/dist/runtime/actors/actor-lifecycle-snapshot.js +2 -1
- package/dist/runtime/actors/actor-local-native-join.d.ts +11 -6
- package/dist/runtime/actors/actor-local-native-join.js +85 -123
- package/dist/runtime/actors/actor-native-lookup.js +2 -8
- package/dist/runtime/actors/actor-packet-relay-wire.d.ts +3 -3
- package/dist/runtime/actors/actor-packet-relay-wire.js +5 -3
- package/dist/runtime/actors/actor-remote-joiner.d.ts +3 -3
- package/dist/runtime/actors/actor-remote-joiner.js +11 -17
- package/dist/runtime/actors/actor-remote-wire.js +5 -3
- package/dist/runtime/actors/actor-request-deadline.d.ts +3 -0
- package/dist/runtime/actors/actor-request-deadline.js +31 -0
- package/dist/runtime/actors/actor-retry-delay.js +2 -1
- package/dist/runtime/actors/actor-runtime-contracts.d.ts +4 -2
- package/dist/runtime/actors/actor-runtime-state.d.ts +9 -21
- package/dist/runtime/actors/actor-runtime-state.js +70 -187
- package/dist/runtime/actors/actor-source-transfer.d.ts +5 -5
- package/dist/runtime/actors/bound-session-wire.js +2 -7
- package/dist/runtime/actors/deferred-join-completion.d.ts +19 -0
- package/dist/runtime/actors/deferred-join-completion.js +21 -0
- package/dist/runtime/actors/index.d.ts +10 -8
- package/dist/runtime/actors/index.js +101 -73
- package/dist/runtime/actors/spot-actor-dispatch.d.ts +3 -3
- package/dist/runtime/actors/spot-actor-dispatch.js +25 -10
- package/dist/runtime/actors/transferred-actor-rollback.d.ts +3 -5
- package/dist/runtime/actors/transferred-actor-rollback.js +9 -42
- package/dist/runtime/admission.d.ts +7 -1
- package/dist/runtime/admission.js +11 -1
- package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +1 -1
- package/dist/runtime/application-jobs/application-job-queue-scope.js +1 -1
- package/dist/runtime/backend/contracts/index.d.ts +8 -33
- package/dist/runtime/backend/mesh-actor-session-node-adapter.js +3 -26
- package/dist/runtime/backend/mesh-dispatch-pump.d.ts +1 -2
- package/dist/runtime/backend/mesh-dispatch-pump.js +95 -107
- package/dist/runtime/backend/node/node-backend-adapter-factory.d.ts +1 -2
- package/dist/runtime/backend/node/node-backend-adapter-factory.js +4 -18
- package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +7 -4
- package/dist/runtime/backend/node/node-backend-adapter-support.js +28 -34
- package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
- package/dist/runtime/backend/node/node-event-loop-poller.js +11 -6
- package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
- package/dist/runtime/backend/node/node-raw-binding-port.d.ts +1 -1
- package/dist/runtime/backend/node/node-raw-binding-port.js +51 -19
- package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +21 -19
- package/dist/runtime/backend/node/node-raw-mesh-backend.js +171 -111
- package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
- package/dist/runtime/backend/raw-binding-port.d.ts +13 -1
- package/dist/runtime/backend/runtime-values.d.ts +4 -1
- package/dist/runtime/backend/runtime-values.js +2 -0
- package/dist/runtime/channels/channel-clients.d.ts +20 -9
- package/dist/runtime/channels/channel-clients.js +68 -60
- package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
- package/dist/runtime/channels/channel-envelope.js +47 -29
- package/dist/runtime/channels/channel-outbound-operations.d.ts +3 -0
- package/dist/runtime/channels/channel-outbound-operations.js +9 -18
- package/dist/runtime/channels/channel-receive-loops.d.ts +8 -3
- package/dist/runtime/channels/channel-receive-loops.js +27 -6
- package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +12 -1
- package/dist/runtime/channels/channel-runtime-lifecycle.js +48 -28
- package/dist/runtime/channels/channel-runtime-manager.d.ts +2 -5
- package/dist/runtime/channels/channel-runtime-manager.js +4 -12
- package/dist/runtime/channels/channel-socket-options.js +3 -2
- package/dist/runtime/channels/channel-socket-registry.d.ts +30 -32
- package/dist/runtime/channels/channel-socket-registry.js +296 -235
- package/dist/runtime/channels/channel-transports.d.ts +11 -20
- package/dist/runtime/channels/channel-transports.js +68 -47
- package/dist/runtime/channels/client-server-location-runtime.d.ts +1 -1
- package/dist/runtime/channels/client-server-location-runtime.js +10 -11
- package/dist/runtime/channels/client-server-service-wire.d.ts +7 -2
- package/dist/runtime/channels/client-server-service-wire.js +32 -11
- package/dist/runtime/channels/dispatch-error-reporter.d.ts +1 -2
- package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
- package/dist/runtime/channels/fanout-location-runtime.d.ts +16 -3
- package/dist/runtime/channels/fanout-location-runtime.js +133 -81
- package/dist/runtime/channels/spot-direct-envelope.d.ts +1 -0
- package/dist/runtime/channels/spot-direct-envelope.js +4 -3
- package/dist/runtime/channels/spot-node-route-transport.js +3 -2
- package/dist/runtime/diagnostics/diagnostic-text.d.ts +2 -0
- package/dist/runtime/diagnostics/diagnostic-text.js +7 -0
- package/dist/runtime/diagnostics/dispatch-error-details.d.ts +3 -0
- package/dist/runtime/diagnostics/dispatch-error-details.js +30 -2
- package/dist/runtime/diagnostics/flow-context.d.ts +6 -0
- package/dist/runtime/diagnostics/flow-context.js +16 -2
- package/dist/runtime/diagnostics/index.d.ts +4 -2
- package/dist/runtime/diagnostics/index.js +14 -4
- package/dist/runtime/diagnostics/message-flow.d.ts +1 -1
- package/dist/runtime/diagnostics/message-flow.js +10 -19
- package/dist/runtime/diagnostics/runtime-metrics.d.ts +94 -31
- package/dist/runtime/diagnostics/runtime-metrics.js +168 -105
- package/dist/runtime/diagnostics/runtime-observation-queue.js +3 -2
- package/dist/runtime/diagnostics/topology-runtime-projections.d.ts +2 -4
- package/dist/runtime/diagnostics/topology-runtime-projections.js +135 -154
- package/dist/runtime/disposal.d.ts +5 -0
- package/dist/runtime/disposal.js +22 -0
- package/dist/runtime/execution/index.d.ts +22 -9
- package/dist/runtime/execution/index.js +107 -37
- package/dist/runtime/execution/serial-execution-queue.d.ts +12 -7
- package/dist/runtime/execution/serial-execution-queue.js +99 -26
- package/dist/runtime/execution/state-lane.d.ts +8 -1
- package/dist/runtime/execution/state-lane.js +118 -3
- package/dist/runtime/foundation/actor-join-recovery-codec.d.ts +3 -0
- package/dist/runtime/foundation/actor-join-recovery-codec.js +15 -11
- package/dist/runtime/foundation/event-loop-resources.d.ts +2 -24
- package/dist/runtime/foundation/event-loop-resources.js +6 -119
- package/dist/runtime/foundation/listener-records.d.ts +11 -0
- package/dist/runtime/foundation/listener-records.js +20 -0
- package/dist/runtime/foundation/operation-identity.d.ts +2 -0
- package/dist/runtime/foundation/operation-identity.js +9 -5
- package/dist/runtime/foundation/operation-registry.d.ts +5 -7
- package/dist/runtime/foundation/operation-registry.js +34 -44
- package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +18 -26
- package/dist/runtime/foundation/raw-service-mesh-runtime.js +122 -469
- package/dist/runtime/foundation/runtime-state-projections.d.ts +3 -1
- package/dist/runtime/foundation/runtime-state-projections.js +8 -0
- package/dist/runtime/foundation/service-authority-payload-codec.d.ts +1 -0
- package/dist/runtime/foundation/service-authority-payload-codec.js +30 -12
- package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
- package/dist/runtime/foundation/service-discovery-registry.js +22 -3
- package/dist/runtime/foundation/service-instance-activation-recovery-codec.js +8 -4
- package/dist/runtime/foundation/service-liveness-registry.js +2 -1
- package/dist/runtime/foundation/service-maintenance-runtime.d.ts +0 -1
- package/dist/runtime/foundation/service-maintenance-runtime.js +23 -8
- package/dist/runtime/foundation/service-metadata-codec.js +3 -3
- package/dist/runtime/foundation/service-relocation-aggregate-committer.d.ts +2 -5
- package/dist/runtime/foundation/service-relocation-aggregate-committer.js +1 -48
- package/dist/runtime/foundation/service-relocation-coordinator.d.ts +9 -0
- package/dist/runtime/foundation/service-relocation-coordinator.js +14 -1
- package/dist/runtime/foundation/service-relocation-object-owner.d.ts +8 -0
- package/dist/runtime/foundation/service-relocation-object-owner.js +19 -6
- package/dist/runtime/foundation/service-relocation-runtime.js +43 -32
- package/dist/runtime/foundation/service-runtime-contracts.d.ts +40 -8
- package/dist/runtime/foundation/service-runtime-contracts.js +25 -1
- package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +0 -19
- package/dist/runtime/foundation/service-stateful-registry.d.ts +2 -0
- package/dist/runtime/foundation/service-stateful-registry.js +10 -2
- package/dist/runtime/foundation/service-stateful-runtime.d.ts +28 -24
- package/dist/runtime/foundation/service-stateful-runtime.js +297 -244
- package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +12 -7
- package/dist/runtime/foundation/service-stateful-wire-codec.js +240 -143
- package/dist/runtime/foundation/service-topology-registry.d.ts +1 -3
- package/dist/runtime/foundation/service-topology-registry.js +22 -61
- package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +5 -0
- package/dist/runtime/foundation/service-wire-binary-primitives.js +6 -0
- package/dist/runtime/foundation/service-wire-codec.js +10 -8
- package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
- package/dist/runtime/foundation/service-wire-constants.generated.js +2 -1
- package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +2 -0
- package/dist/runtime/foundation/service-wire-m6a-codec.js +23 -13
- package/dist/runtime/framework-errors-internal.d.ts +2 -1
- package/dist/runtime/framework-errors-internal.js +343 -122
- package/dist/runtime/handlers/handler-instance-scope.d.ts +3 -1
- package/dist/runtime/handlers/handler-instance-scope.js +61 -74
- package/dist/runtime/host/actor-packet-relay.d.ts +9 -6
- package/dist/runtime/host/actor-packet-relay.js +48 -91
- package/dist/runtime/host/actor-placement-coordinator.js +7 -5
- package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
- package/dist/runtime/host/actor-runtime-options-factory.js +17 -4
- package/dist/runtime/host/actor-transfer-runtime.d.ts +28 -28
- package/dist/runtime/host/actor-transfer-runtime.js +210 -256
- package/dist/runtime/host/application-job-queue.js +16 -33
- package/dist/runtime/host/bound-session-relay.js +1 -1
- package/dist/runtime/host/channel-runtime-options-factory.js +1 -1
- package/dist/runtime/host/index.d.ts +19 -14
- package/dist/runtime/host/index.js +234 -175
- package/dist/runtime/host/instance-activation-authority.d.ts +2 -3
- package/dist/runtime/host/instance-activation-authority.js +17 -45
- package/dist/runtime/host/location-runtime-owner.d.ts +1 -1
- package/dist/runtime/host/location-runtime-owner.js +2 -2
- package/dist/runtime/host/remote-actor-join-receiver.d.ts +2 -2
- package/dist/runtime/host/remote-actor-join-receiver.js +1 -14
- package/dist/runtime/host/remote-actor-packet-target-store.d.ts +3 -2
- package/dist/runtime/host/remote-actor-packet-target-store.js +8 -47
- package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -3
- package/dist/runtime/host/remote-bound-session-relay.js +11 -23
- package/dist/runtime/host/route-mesh-runtime.d.ts +14 -10
- package/dist/runtime/host/route-mesh-runtime.js +178 -257
- package/dist/runtime/host/runtime-shutdown.d.ts +2 -0
- package/dist/runtime/host/runtime-shutdown.js +18 -21
- package/dist/runtime/host/service-relocation-control.js +6 -1
- package/dist/runtime/host/service-relocation-host-runtime.d.ts +71 -38
- package/dist/runtime/host/service-relocation-host-runtime.js +816 -651
- package/dist/runtime/host/spot-address-transport.d.ts +2 -3
- package/dist/runtime/host/spot-address-transport.js +34 -136
- package/dist/runtime/host/spot-node-runtime-options-factory.d.ts +1 -1
- package/dist/runtime/host/spot-node-runtime-options-factory.js +3 -2
- package/dist/runtime/host/spot-runtime-options-factory.d.ts +4 -7
- package/dist/runtime/host/spot-runtime-options-factory.js +53 -21
- package/dist/runtime/host/stateful-authority-route-runtime.js +6 -2
- package/dist/runtime/host/user-spot-creation-coordinator.d.ts +14 -6
- package/dist/runtime/host/user-spot-creation-coordinator.js +96 -95
- package/dist/runtime/locations/aggregate-inventory-store.js +13 -10
- package/dist/runtime/locations/authority-key-codec.js +4 -3
- package/dist/runtime/locations/auto-connect-reconciler.d.ts +4 -0
- package/dist/runtime/locations/auto-connect-reconciler.js +37 -25
- package/dist/runtime/locations/creation-operation-id.js +6 -4
- package/dist/runtime/locations/domain-store-contract.d.ts +3 -3
- package/dist/runtime/locations/in-memory-authority-store.js +31 -15
- package/dist/runtime/locations/in-memory-location-store.d.ts +2 -2
- package/dist/runtime/locations/in-memory-location-store.js +17 -14
- package/dist/runtime/locations/in-memory-provider-location-store.d.ts +1 -0
- package/dist/runtime/locations/in-memory-provider-location-store.js +79 -27
- package/dist/runtime/locations/key-codec.js +3 -2
- package/dist/runtime/locations/lease-tracker.d.ts +3 -5
- package/dist/runtime/locations/lease-tracker.js +7 -11
- package/dist/runtime/locations/lifecycle.d.ts +5 -10
- package/dist/runtime/locations/lifecycle.js +4 -33
- package/dist/runtime/locations/location-store-failure.d.ts +2 -0
- package/dist/runtime/locations/location-store-failure.js +7 -0
- package/dist/runtime/locations/location-store-pages.d.ts +3 -0
- package/dist/runtime/locations/location-store-pages.js +13 -0
- package/dist/runtime/locations/location-store-repository.d.ts +5 -7
- package/dist/runtime/locations/location-store-repository.js +303 -332
- package/dist/runtime/locations/relocation-blob.js +18 -5
- package/dist/runtime/locations/resolvers.d.ts +5 -5
- package/dist/runtime/locations/resolvers.js +44 -30
- package/dist/runtime/locations/runtime.d.ts +5 -4
- package/dist/runtime/locations/runtime.js +123 -92
- package/dist/runtime/locations/spot-location-claims.d.ts +8 -2
- package/dist/runtime/locations/spot-location-claims.js +40 -23
- package/dist/runtime/messaging/payload-codec.js +26 -20
- package/dist/runtime/messaging/submission-result.d.ts +3 -0
- package/dist/runtime/messaging/submission-result.js +48 -0
- package/dist/runtime/protocol/service_wire_codec.generated.d.ts +2 -0
- package/dist/runtime/protocol/service_wire_codec.generated.js +17 -8
- package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +1 -0
- package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +3 -2
- package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +3 -3
- package/dist/runtime/spots/formal-remote-actor-admission-registry.js +4 -4
- package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +6 -3
- package/dist/runtime/spots/index.d.ts +29 -29
- package/dist/runtime/spots/index.js +441 -313
- package/dist/runtime/spots/spot-activation-registry.d.ts +4 -4
- package/dist/runtime/spots/spot-activation-registry.js +27 -60
- package/dist/runtime/spots/spot-activation-state.d.ts +2 -11
- package/dist/runtime/spots/spot-activation-state.js +4 -17
- package/dist/runtime/spots/spot-activation.d.ts +10 -9
- package/dist/runtime/spots/spot-activation.js +103 -81
- package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -2
- package/dist/runtime/spots/spot-actor-admission-coordinator.js +3 -40
- package/dist/runtime/spots/spot-actor-join-dispatch.d.ts +10 -18
- package/dist/runtime/spots/spot-actor-join-dispatch.js +5 -55
- package/dist/runtime/spots/spot-actor-lifecycle-drain.js +2 -2
- package/dist/runtime/spots/spot-actor-membership.d.ts +7 -5
- package/dist/runtime/spots/spot-actor-membership.js +44 -53
- package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +0 -1
- package/dist/runtime/spots/spot-actor-packet-dispatch.js +0 -9
- package/dist/runtime/spots/spot-actor-packet-relay-dispatch.d.ts +2 -2
- package/dist/runtime/spots/spot-actor-packet-relay-dispatch.js +1 -7
- package/dist/runtime/spots/spot-context.d.ts +2 -2
- package/dist/runtime/spots/spot-entry-activation.d.ts +3 -4
- package/dist/runtime/spots/spot-entry-activation.js +9 -21
- package/dist/runtime/spots/spot-lifecycle-metrics.js +3 -2
- package/dist/runtime/spots/spot-manager-public.d.ts +5 -6
- package/dist/runtime/spots/spot-manager-public.js +6 -5
- package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
- package/dist/runtime/spots/spot-node-runtime-manager.d.ts +22 -21
- package/dist/runtime/spots/spot-node-runtime-manager.js +73 -82
- package/dist/runtime/spots/spot-outbound.d.ts +4 -3
- package/dist/runtime/spots/spot-outbound.js +10 -37
- package/dist/runtime/spots/spot-remote-codec.js +5 -3
- package/dist/runtime/spots/spot-route-packet-dispatch.d.ts +2 -2
- package/dist/runtime/spots/spot-route-packet-dispatch.js +8 -8
- package/dist/runtime/spots/spot-route-replies.d.ts +2 -2
- package/dist/runtime/spots/spot-route-replies.js +3 -1
- package/dist/runtime/spots/spot-routed-actor-admission.d.ts +3 -2
- package/dist/runtime/spots/spot-routed-actor-admission.js +3 -2
- package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +2 -7
- package/dist/runtime/spots/spot-routed-frame-dispatch.js +1 -70
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +4 -0
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +65 -15
- package/dist/runtime/spots/spot-runtime-ports.d.ts +4 -20
- package/dist/runtime/spots/spot-serial-executor.d.ts +5 -0
- package/dist/runtime/spots/spot-serial-executor.js +9 -2
- package/dist/runtime/spots/spot-serial-turn-executor.d.ts +29 -6
- package/dist/runtime/spots/spot-serial-turn-executor.js +89 -13
- package/dist/runtime/spots/spot-timer.d.ts +3 -2
- package/dist/runtime/streams/actor-session-binding-registry.d.ts +17 -32
- package/dist/runtime/streams/actor-session-binding-registry.js +145 -367
- package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +2 -6
- package/dist/runtime/streams/bound-actor-relay-sender.d.ts +6 -2
- package/dist/runtime/streams/bound-actor-relay-sender.js +57 -33
- package/dist/runtime/streams/bound-session-service.d.ts +7 -0
- package/dist/runtime/streams/bound-session-service.js +12 -19
- package/dist/runtime/streams/index.d.ts +15 -14
- package/dist/runtime/streams/index.js +38 -39
- package/dist/runtime/streams/managed-stream.d.ts +3 -0
- package/dist/runtime/streams/managed-stream.js +17 -8
- package/dist/runtime/streams/native-fallback-bound-session.js +1 -3
- package/dist/runtime/streams/protocol.d.ts +6 -33
- package/dist/runtime/streams/protocol.js +38 -110
- package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -3
- package/dist/runtime/streams/session-actor-coordinator.js +12 -4
- package/dist/runtime/streams/session-calls.d.ts +1 -1
- package/dist/runtime/streams/session-calls.js +5 -4
- package/dist/runtime/streams/session-context.d.ts +6 -6
- package/dist/runtime/streams/session-context.js +22 -4
- package/dist/runtime/streams/session-requests.js +2 -1
- package/dist/runtime/streams/session-serial-executor.js +2 -2
- package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +16 -1
- package/dist/runtime/streams/stream-frame-factory.js +2 -2
- package/dist/runtime/streams/stream-session-runtime.d.ts +10 -11
- package/dist/runtime/streams/stream-session-runtime.js +25 -33
- package/dist/runtime/workers/index.d.ts +2 -2
- package/dist/runtime/workers/index.js +5 -4
- package/package.json +3 -3
- package/src/contracts/Channels/IZLinkFanoutClient.ts +0 -7
- package/src/contracts/Common/CoreTypes.ts +7 -0
- package/src/contracts/Common/index.ts +1 -1
- package/src/contracts/Configuration/InternalDefaults.ts +12 -0
- package/src/contracts/Configuration/Registration.ts +92 -48
- package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +44 -2
- package/src/contracts/Configuration/RegistrationBuilders.ts +77 -68
- package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
- package/src/contracts/Configuration/RegistrationValidators.ts +19 -13
- package/src/contracts/Configuration/TimerRegistrationValidator.ts +4 -2
- package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +1 -0
- package/src/contracts/Handlers/JsonContract.ts +14 -4
- package/src/contracts/Locations/Authority.ts +7 -3
- package/src/contracts/Locations/Options.ts +1 -1
- package/src/contracts/Locations/Stores.ts +14 -0
- package/src/contracts/RouteMesh/RuntimeTopology.ts +10 -0
- package/src/contracts/Spots/Contracts.ts +1 -1
- package/src/internal.ts +15 -0
- package/src/nest-integration.ts +28 -10
- package/src/runtime/abort.ts +6 -5
- package/src/runtime/activation-admission.ts +72 -0
- package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
- package/src/runtime/actors/actor-client.ts +77 -204
- package/src/runtime/actors/actor-context.ts +45 -39
- package/src/runtime/actors/actor-handoff.ts +55 -45
- package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
- package/src/runtime/actors/actor-local-native-join.ts +174 -215
- package/src/runtime/actors/actor-native-lookup.ts +2 -9
- package/src/runtime/actors/actor-packet-relay-wire.ts +18 -12
- package/src/runtime/actors/actor-remote-joiner.ts +15 -36
- package/src/runtime/actors/actor-remote-wire.ts +5 -3
- package/src/runtime/actors/actor-request-deadline.ts +49 -0
- package/src/runtime/actors/actor-retry-delay.ts +2 -1
- package/src/runtime/actors/actor-runtime-contracts.ts +4 -10
- package/src/runtime/actors/actor-runtime-state.ts +85 -247
- package/src/runtime/actors/actor-source-transfer.ts +5 -18
- package/src/runtime/actors/bound-session-wire.ts +2 -8
- package/src/runtime/actors/deferred-join-completion.ts +44 -0
- package/src/runtime/actors/index.ts +122 -88
- package/src/runtime/actors/spot-actor-dispatch.ts +60 -29
- package/src/runtime/actors/transferred-actor-rollback.ts +11 -62
- package/src/runtime/admission.ts +13 -2
- package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
- package/src/runtime/backend/contracts/index.ts +15 -42
- package/src/runtime/backend/mesh-actor-session-node-adapter.ts +4 -28
- package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
- package/src/runtime/backend/node/node-backend-adapter-factory.ts +5 -25
- package/src/runtime/backend/node/node-backend-adapter-support.ts +32 -35
- package/src/runtime/backend/node/node-event-loop-poller.ts +16 -8
- package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
- package/src/runtime/backend/node/node-raw-binding-port.ts +58 -23
- package/src/runtime/backend/node/node-raw-mesh-backend.ts +252 -162
- package/src/runtime/backend/node/node-socket-backend-adapter.ts +5 -4
- package/src/runtime/backend/raw-binding-port.ts +14 -1
- package/src/runtime/backend/runtime-values.ts +4 -1
- package/src/runtime/channels/channel-clients.ts +132 -96
- package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
- package/src/runtime/channels/channel-envelope.ts +58 -29
- package/src/runtime/channels/channel-outbound-operations.ts +10 -31
- package/src/runtime/channels/channel-receive-loops.ts +39 -7
- package/src/runtime/channels/channel-runtime-lifecycle.ts +60 -27
- package/src/runtime/channels/channel-runtime-manager.ts +8 -15
- package/src/runtime/channels/channel-socket-options.ts +8 -2
- package/src/runtime/channels/channel-socket-registry.ts +369 -262
- package/src/runtime/channels/channel-transports.ts +161 -115
- package/src/runtime/channels/client-server-location-runtime.ts +17 -17
- package/src/runtime/channels/client-server-service-wire.ts +40 -12
- package/src/runtime/channels/dispatch-error-reporter.ts +7 -5
- package/src/runtime/channels/fanout-location-runtime.ts +175 -106
- package/src/runtime/channels/spot-direct-envelope.ts +1 -1
- package/src/runtime/channels/spot-node-route-transport.ts +5 -2
- package/src/runtime/diagnostics/diagnostic-text.ts +4 -0
- package/src/runtime/diagnostics/dispatch-error-details.ts +36 -1
- package/src/runtime/diagnostics/flow-context.ts +16 -2
- package/src/runtime/diagnostics/index.ts +27 -17
- package/src/runtime/diagnostics/message-flow.ts +15 -25
- package/src/runtime/diagnostics/runtime-metrics.ts +181 -113
- package/src/runtime/diagnostics/runtime-observation-queue.ts +3 -2
- package/src/runtime/diagnostics/topology-runtime-projections.ts +194 -162
- package/src/runtime/disposal.ts +19 -0
- package/src/runtime/execution/index.ts +116 -38
- package/src/runtime/execution/serial-execution-queue.ts +179 -34
- package/src/runtime/execution/state-lane.ts +142 -4
- package/src/runtime/foundation/actor-join-recovery-codec.ts +13 -8
- package/src/runtime/foundation/event-loop-resources.ts +5 -122
- package/src/runtime/foundation/listener-records.ts +21 -0
- package/src/runtime/foundation/operation-identity.ts +11 -5
- package/src/runtime/foundation/operation-registry.ts +33 -50
- package/src/runtime/foundation/raw-service-mesh-runtime.ts +170 -571
- package/src/runtime/foundation/runtime-state-projections.ts +9 -1
- package/src/runtime/foundation/service-authority-payload-codec.ts +41 -13
- package/src/runtime/foundation/service-discovery-registry.ts +32 -3
- package/src/runtime/foundation/service-instance-activation-recovery-codec.ts +12 -4
- package/src/runtime/foundation/service-liveness-registry.ts +2 -1
- package/src/runtime/foundation/service-maintenance-runtime.ts +30 -19
- package/src/runtime/foundation/service-metadata-codec.ts +2 -2
- package/src/runtime/foundation/service-relocation-aggregate-committer.ts +3 -66
- package/src/runtime/foundation/service-relocation-coordinator.ts +13 -0
- package/src/runtime/foundation/service-relocation-object-owner.ts +23 -7
- package/src/runtime/foundation/service-relocation-runtime.ts +57 -35
- package/src/runtime/foundation/service-runtime-contracts.ts +46 -10
- package/src/runtime/foundation/service-session-binding-ingress-port.ts +0 -25
- package/src/runtime/foundation/service-stateful-registry.ts +14 -2
- package/src/runtime/foundation/service-stateful-runtime.ts +435 -327
- package/src/runtime/foundation/service-stateful-wire-codec.ts +329 -199
- package/src/runtime/foundation/service-topology-registry.ts +30 -79
- package/src/runtime/foundation/service-wire-binary-primitives.ts +6 -0
- package/src/runtime/foundation/service-wire-codec.ts +15 -8
- package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
- package/src/runtime/foundation/service-wire-m6a-codec.ts +29 -15
- package/src/runtime/framework-errors-internal.ts +380 -134
- package/src/runtime/handlers/handler-instance-scope.ts +68 -95
- package/src/runtime/host/actor-packet-relay.ts +57 -147
- package/src/runtime/host/actor-placement-coordinator.ts +8 -5
- package/src/runtime/host/actor-runtime-options-factory.ts +27 -8
- package/src/runtime/host/actor-transfer-runtime.ts +266 -418
- package/src/runtime/host/application-job-queue.ts +28 -34
- package/src/runtime/host/bound-session-relay.ts +1 -2
- package/src/runtime/host/channel-runtime-options-factory.ts +1 -2
- package/src/runtime/host/index.ts +408 -312
- package/src/runtime/host/instance-activation-authority.ts +89 -109
- package/src/runtime/host/location-runtime-owner.ts +4 -2
- package/src/runtime/host/remote-actor-join-receiver.ts +3 -31
- package/src/runtime/host/remote-actor-packet-target-store.ts +17 -58
- package/src/runtime/host/remote-bound-session-relay.ts +12 -44
- package/src/runtime/host/route-mesh-runtime.ts +236 -275
- package/src/runtime/host/runtime-shutdown.ts +17 -21
- package/src/runtime/host/service-relocation-control.ts +14 -1
- package/src/runtime/host/service-relocation-host-runtime.ts +1161 -904
- package/src/runtime/host/spot-address-transport.ts +73 -195
- package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
- package/src/runtime/host/spot-runtime-options-factory.ts +92 -30
- package/src/runtime/host/stateful-authority-route-runtime.ts +8 -4
- package/src/runtime/host/user-spot-creation-coordinator.ts +182 -163
- package/src/runtime/locations/aggregate-inventory-store.ts +16 -13
- package/src/runtime/locations/authority-key-codec.ts +7 -3
- package/src/runtime/locations/auto-connect-reconciler.ts +39 -26
- package/src/runtime/locations/creation-operation-id.ts +6 -3
- package/src/runtime/locations/domain-store-contract.ts +12 -3
- package/src/runtime/locations/in-memory-authority-store.ts +44 -15
- package/src/runtime/locations/in-memory-location-store.ts +50 -39
- package/src/runtime/locations/in-memory-provider-location-store.ts +110 -31
- package/src/runtime/locations/key-codec.ts +3 -2
- package/src/runtime/locations/lease-tracker.ts +8 -14
- package/src/runtime/locations/lifecycle.ts +16 -45
- package/src/runtime/locations/location-store-failure.ts +4 -0
- package/src/runtime/locations/location-store-pages.ts +18 -0
- package/src/runtime/locations/location-store-repository.ts +450 -478
- package/src/runtime/locations/relocation-blob.ts +17 -6
- package/src/runtime/locations/resolvers.ts +90 -58
- package/src/runtime/locations/runtime.ts +220 -110
- package/src/runtime/locations/spot-location-claims.ts +54 -26
- package/src/runtime/messaging/payload-codec.ts +35 -24
- package/src/runtime/messaging/submission-result.ts +57 -1
- package/src/runtime/protocol/service_wire_codec.generated.ts +27 -10
- package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +4 -4
- package/src/runtime/spots/formal-remote-actor-admission-registry.ts +6 -6
- package/src/runtime/spots/formal-remote-actor-transfer-registry.ts +6 -3
- package/src/runtime/spots/index.ts +687 -437
- package/src/runtime/spots/spot-activation-registry.ts +42 -71
- package/src/runtime/spots/spot-activation-state.ts +4 -16
- package/src/runtime/spots/spot-activation.ts +167 -115
- package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
- package/src/runtime/spots/spot-actor-join-dispatch.ts +25 -79
- package/src/runtime/spots/spot-actor-lifecycle-drain.ts +20 -18
- package/src/runtime/spots/spot-actor-membership.ts +107 -75
- package/src/runtime/spots/spot-actor-packet-dispatch.ts +0 -16
- package/src/runtime/spots/spot-actor-packet-relay-dispatch.ts +3 -15
- package/src/runtime/spots/spot-context.ts +3 -3
- package/src/runtime/spots/spot-entry-activation.ts +13 -33
- package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
- package/src/runtime/spots/spot-manager-public.ts +29 -21
- package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
- package/src/runtime/spots/spot-node-runtime-manager.ts +145 -140
- package/src/runtime/spots/spot-outbound.ts +47 -68
- package/src/runtime/spots/spot-remote-codec.ts +7 -3
- package/src/runtime/spots/spot-route-packet-dispatch.ts +25 -24
- package/src/runtime/spots/spot-route-replies.ts +6 -4
- package/src/runtime/spots/spot-routed-actor-admission.ts +13 -6
- package/src/runtime/spots/spot-routed-frame-dispatch.ts +6 -77
- package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
- package/src/runtime/spots/spot-runtime-ports.ts +10 -43
- package/src/runtime/spots/spot-serial-executor.ts +10 -2
- package/src/runtime/spots/spot-serial-turn-executor.ts +120 -13
- package/src/runtime/spots/spot-timer.ts +3 -2
- package/src/runtime/streams/actor-session-binding-registry.ts +182 -560
- package/src/runtime/streams/actor-session-binding-runtime-owner.ts +1 -19
- package/src/runtime/streams/bound-actor-relay-sender.ts +89 -43
- package/src/runtime/streams/bound-session-service.ts +23 -37
- package/src/runtime/streams/index.ts +102 -88
- package/src/runtime/streams/managed-stream.ts +29 -10
- package/src/runtime/streams/native-fallback-bound-session.ts +1 -3
- package/src/runtime/streams/protocol.ts +34 -88
- package/src/runtime/streams/session-actor-coordinator.ts +17 -5
- package/src/runtime/streams/session-calls.ts +6 -5
- package/src/runtime/streams/session-context.ts +54 -10
- package/src/runtime/streams/session-requests.ts +2 -1
- package/src/runtime/streams/session-serial-executor.ts +2 -2
- package/src/runtime/streams/stream-binding-runtime-ports.ts +22 -1
- package/src/runtime/streams/stream-frame-factory.ts +2 -3
- package/src/runtime/streams/stream-session-runtime.ts +57 -59
- package/src/runtime/workers/index.ts +13 -12
- package/dist/runtime/actors/deferred-join-accepted-journal.d.ts +0 -47
- package/dist/runtime/actors/deferred-join-accepted-journal.js +0 -992
- package/dist/runtime/actors/post-commit-actor-location.d.ts +0 -19
- package/dist/runtime/actors/post-commit-actor-location.js +0 -72
- package/dist/runtime/spots/spot-native-actor-join-admission.d.ts +0 -26
- package/dist/runtime/spots/spot-native-actor-join-admission.js +0 -106
- package/src/runtime/actors/deferred-join-accepted-journal.ts +0 -1346
- package/src/runtime/actors/post-commit-actor-location.ts +0 -121
- package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
|
@@ -15,10 +15,12 @@ export interface ZLinkRuntimeStartRollbackParts {
|
|
|
15
15
|
readonly spotNodeRuntime?: ZLinkSpotNodeRuntimeManager;
|
|
16
16
|
readonly channelRuntime?: ZLinkChannelRuntimeManager;
|
|
17
17
|
readonly ownedStores?: readonly ZLinkRuntimeOwnedStore[];
|
|
18
|
+
readonly shutdownSignal?: AbortSignal;
|
|
18
19
|
}
|
|
19
20
|
export interface ZLinkRuntimeStopParts {
|
|
20
21
|
readonly state: ZLinkFrameworkExecutionState;
|
|
21
22
|
readonly cleanupDeadline?: Date;
|
|
23
|
+
readonly shutdownSignal?: AbortSignal;
|
|
22
24
|
readonly locationSnapshot: ZLinkLocationRuntimeStopSnapshot;
|
|
23
25
|
readonly streamRuntime?: ZLinkStreamRuntimeManager;
|
|
24
26
|
readonly spotNodeRuntime?: ZLinkSpotNodeRuntimeManager;
|
|
@@ -4,29 +4,36 @@ exports.rollbackRuntimeStart = rollbackRuntimeStart;
|
|
|
4
4
|
exports.stopRuntimeParts = stopRuntimeParts;
|
|
5
5
|
const abort_1 = require("../abort");
|
|
6
6
|
async function rollbackRuntimeStart(parts) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
await disposeOwnedStores(parts.ownedStores);
|
|
7
|
+
const errors = [];
|
|
8
|
+
await runShutdownStep(errors, () => parts.streamRuntime?.dispose());
|
|
9
|
+
await runShutdownStep(errors, () => parts.spotNodeRuntime?.dispose());
|
|
10
|
+
await runShutdownStep(errors, () => parts.channelRuntime?.dispose());
|
|
11
|
+
await runShutdownStep(errors, () => parts.startedLocationRuntime?.stop(parts.shutdownSignal));
|
|
12
|
+
if (errors.length === 0)
|
|
13
|
+
await runShutdownStep(errors, () => parts.context.dispose());
|
|
14
|
+
await disposeOwnedStores(parts.ownedStores, errors);
|
|
15
|
+
if (errors.length === 1)
|
|
16
|
+
throw errors[0];
|
|
17
|
+
if (errors.length > 1)
|
|
18
|
+
throw new AggregateError(errors, 'Framework start rollback failed.');
|
|
15
19
|
}
|
|
16
20
|
async function stopRuntimeParts(parts) {
|
|
17
21
|
const state = parts.state;
|
|
18
|
-
state.abortController.abort();
|
|
19
22
|
const errors = [];
|
|
20
23
|
await runShutdownStep(errors, () => parts.streamRuntime?.dispose());
|
|
21
24
|
await runShutdownStep(errors, () => parts.spotNodeRuntime?.dispose(undefined, parts.cleanupDeadline));
|
|
22
25
|
await runShutdownStep(errors, () => parts.channelRuntime?.dispose());
|
|
23
26
|
await runShutdownStep(errors, () => parts.serviceRelocation?.dispose());
|
|
24
27
|
await runShutdownStep(errors, () => parts.locationSnapshot.lifecycle?.dispose());
|
|
25
|
-
await runShutdownStep(errors, () => parts.locationSnapshot.runtime?.stop());
|
|
28
|
+
await runShutdownStep(errors, () => parts.locationSnapshot.runtime?.stop(parts.shutdownSignal));
|
|
26
29
|
await Promise.allSettled(state.listenerTasks);
|
|
27
|
-
|
|
30
|
+
if (errors.every(isShutdownAbort))
|
|
31
|
+
await runShutdownStep(errors, () => state.dispose());
|
|
28
32
|
await disposeOwnedStores(parts.ownedStores, errors);
|
|
29
33
|
const failures = errors.filter((error) => !isShutdownAbort(error));
|
|
34
|
+
for (const failure of failures) {
|
|
35
|
+
state.errorSink.reportRuntimeTaskException('framework shutdown', failure);
|
|
36
|
+
}
|
|
30
37
|
if (failures.length === 1)
|
|
31
38
|
throw failures[0];
|
|
32
39
|
if (failures.length > 1) {
|
|
@@ -39,16 +46,6 @@ async function disposeOwnedStores(stores, errors) {
|
|
|
39
46
|
if (disposed.has(store))
|
|
40
47
|
continue;
|
|
41
48
|
disposed.add(store);
|
|
42
|
-
if (errors === undefined) {
|
|
43
|
-
try {
|
|
44
|
-
await store.dispose?.();
|
|
45
|
-
}
|
|
46
|
-
catch {
|
|
47
|
-
// Rollback is already handling the original start failure. Store
|
|
48
|
-
// cleanup remains best effort in this path.
|
|
49
|
-
}
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
49
|
await runShutdownStep(errors, () => store.dispose?.());
|
|
53
50
|
}
|
|
54
51
|
}
|
|
@@ -4,6 +4,8 @@ exports.encodeServiceRelocationControlRequest = encodeServiceRelocationControlRe
|
|
|
4
4
|
exports.decodeServiceRelocationControlRequest = decodeServiceRelocationControlRequest;
|
|
5
5
|
exports.encodeServiceRelocationControlResponse = encodeServiceRelocationControlResponse;
|
|
6
6
|
exports.decodeServiceRelocationControlResponse = decodeServiceRelocationControlResponse;
|
|
7
|
+
const service_wire_binary_primitives_1 = require("../foundation/service-wire-binary-primitives");
|
|
8
|
+
const service_wire_constants_generated_1 = require("../foundation/service-wire-constants.generated");
|
|
7
9
|
const service_stateful_wire_codec_1 = require("../foundation/service-stateful-wire-codec");
|
|
8
10
|
function encodeServiceRelocationControlRequest(request) {
|
|
9
11
|
return (0, service_stateful_wire_codec_1.encodeMaintenanceRelocationControl)(request);
|
|
@@ -12,7 +14,10 @@ function decodeServiceRelocationControlRequest(payload) {
|
|
|
12
14
|
const bytes = Buffer.isBuffer(payload)
|
|
13
15
|
? payload
|
|
14
16
|
: Buffer.from(payload.buffer, payload.byteOffset, payload.byteLength);
|
|
15
|
-
if (bytes.byteLength <
|
|
17
|
+
if (bytes.byteLength < service_wire_binary_primitives_1.SERVICE_WIRE_PREFIX_SIZE ||
|
|
18
|
+
bytes[0] !== service_wire_constants_generated_1.SERVICE_WIRE_MAGIC[0] ||
|
|
19
|
+
bytes[1] !== service_wire_constants_generated_1.SERVICE_WIRE_MAGIC[1] ||
|
|
20
|
+
bytes[service_wire_binary_primitives_1.SERVICE_WIRE_MAJOR_OFFSET] !== service_wire_constants_generated_1.SERVICE_WIRE_MAJOR)
|
|
16
21
|
return undefined;
|
|
17
22
|
return (0, service_stateful_wire_codec_1.decodeMaintenanceRelocationControl)(bytes);
|
|
18
23
|
}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type { ZLinkLocationOwnerToken } from '../locations/internal-location-contracts';
|
|
3
|
-
import type { ZLinkDomainLocationStore as ZLinkLocationStore } from '../locations/domain-store-contract';
|
|
4
|
-
import type { ZLinkTrackedInstanceAuthority } from '../locations/spot-location-claims';
|
|
1
|
+
import { type RoutingId, type ZLinkMeshNodeDescriptor } from '../../contracts';
|
|
5
2
|
import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
|
|
6
|
-
import type {
|
|
7
|
-
import type {
|
|
3
|
+
import type { ZLinkActivationAdmission } from '../activation-admission';
|
|
4
|
+
import type { DefaultZLinkActorManager } from '../actors';
|
|
5
|
+
import { type ZLinkActorHandoffPacket } from '../actors/actor-handoff';
|
|
6
|
+
import type { ZLinkActorJoinRelocation } from '../actors/actor-join-relocation';
|
|
8
7
|
import type { ZLinkBackendMeshNode, ZLinkMeshCompletionTable } from '../backend';
|
|
9
|
-
import {
|
|
8
|
+
import type { ZLinkFrameworkRegistration } from '../configuration';
|
|
9
|
+
import { type ZLinkRuntimeEventPublisher, type ZLinkRuntimeMetrics } from '../diagnostics';
|
|
10
10
|
import { type ServiceRelocationQueuedMessage } from '../foundation/service-relocation-runtime';
|
|
11
|
+
import { type ReceiveRecord } from '../foundation/service-runtime-contracts';
|
|
12
|
+
import { type ServiceSessionRelocationRoute, type ServiceSessionRelocationSeal, type ServiceSessionRelocationSealed } from '../foundation/service-stateful-wire-codec';
|
|
13
|
+
import type { ZLinkDomainLocationStore as ZLinkLocationStore } from '../locations/domain-store-contract';
|
|
14
|
+
import type { ZLinkLocationOwnerToken } from '../locations/internal-location-contracts';
|
|
15
|
+
import type { ZLinkTrackedInstanceAuthority } from '../locations/spot-location-claims';
|
|
11
16
|
import type { DefaultZLinkSpotManager, ZLinkSpotNodeRuntimeManager } from '../spots';
|
|
12
|
-
import type { DefaultZLinkActorManager } from '../actors';
|
|
13
|
-
import { type ZLinkActorHandoffPacket } from '../actors/actor-handoff';
|
|
14
17
|
import { type ZLinkActorTransferRuntime } from './actor-transfer-runtime';
|
|
15
|
-
import { type ServiceSessionRelocationRoute, type ServiceSessionRelocationSeal, type ServiceSessionRelocationSealed, type ServiceWireRelocationObject } from '../foundation/service-stateful-wire-codec';
|
|
16
|
-
import type { ZLinkActorJoinRelocation } from '../actors/actor-join-relocation';
|
|
17
18
|
export declare class ZLinkRelocationStateIncompatibleError extends Error {
|
|
18
19
|
constructor(message: string);
|
|
19
20
|
}
|
|
@@ -22,6 +23,7 @@ interface ZLinkHostRelocationOptions {
|
|
|
22
23
|
readonly providerResolver?: ZLinkProviderResolver;
|
|
23
24
|
readonly locationStore: () => ZLinkLocationStore | undefined;
|
|
24
25
|
readonly currentOwner: () => ZLinkLocationOwnerToken | undefined;
|
|
26
|
+
readonly targetAdmissionSealed?: () => boolean;
|
|
25
27
|
readonly liveDescriptors: (meshName: string, signal?: AbortSignal) => Promise<readonly ZLinkMeshNodeDescriptor[]>;
|
|
26
28
|
readonly localDescriptor?: (meshName: string) => ZLinkMeshNodeDescriptor | undefined;
|
|
27
29
|
readonly meshNode: (meshName: string) => ZLinkBackendMeshNode | undefined;
|
|
@@ -40,6 +42,7 @@ interface ZLinkHostRelocationOptions {
|
|
|
40
42
|
readonly reconcileStatefulAuthorityRoutes?: (signal?: AbortSignal) => Promise<void>;
|
|
41
43
|
readonly runtimeEventPublisher?: ZLinkRuntimeEventPublisher;
|
|
42
44
|
readonly metrics?: ZLinkRuntimeMetrics;
|
|
45
|
+
readonly activationAdmission?: ZLinkActivationAdmission;
|
|
43
46
|
}
|
|
44
47
|
/** Production host bridge from Retire inventory to remote RouteMesh owners. */
|
|
45
48
|
export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoinRelocation {
|
|
@@ -63,8 +66,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
63
66
|
* Terminal restore failures (assembly/checksum/factory/restore error): the
|
|
64
67
|
* target already sent relocationFailed (command 53) once. An exact-identity
|
|
65
68
|
* Prepare resend replays the stored response rather than retrying the
|
|
66
|
-
* restore
|
|
67
|
-
* key supersedes the stale entry (spec 28 §3, §9).
|
|
69
|
+
* restore. A different exact identity never changes this entry (spec 28 §4.3).
|
|
68
70
|
*/
|
|
69
71
|
private readonly targetReadyFailures;
|
|
70
72
|
/**
|
|
@@ -88,7 +90,12 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
88
90
|
constructor(options: ZLinkHostRelocationOptions);
|
|
89
91
|
relocateActorJoin(input: Parameters<ZLinkActorJoinRelocation['relocateActorJoin']>[0]): ReturnType<ZLinkActorJoinRelocation['relocateActorJoin']>;
|
|
90
92
|
dispose(): Promise<void>;
|
|
93
|
+
/** Host shutdown waits for the existing attempt terminal before releasing its lease. */
|
|
94
|
+
drainTargetAttempts(): Promise<void>;
|
|
95
|
+
/** Spec 28 §4.4: the target owner alone orders shutdown seal and verified cutover. */
|
|
96
|
+
private targetStageSealed;
|
|
91
97
|
completeActorJoinSourceCleanup(actorId: string): void;
|
|
98
|
+
private finalizeActorJoinSource;
|
|
92
99
|
relocateMesh(meshName: string, targetApplicationVersion?: bigint, signal?: AbortSignal, stopStartingSignal?: AbortSignal): Promise<void>;
|
|
93
100
|
tryHandleControl(meshName: string, record: ReceiveRecord, signal?: AbortSignal): Promise<boolean>;
|
|
94
101
|
/** Sends the Ready reply once the async restore finished; failures replay on resend. */
|
|
@@ -116,8 +123,10 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
116
123
|
private validateSessionOwnerFence;
|
|
117
124
|
private sendSessionRelocationResponse;
|
|
118
125
|
private relocateSpotAggregate;
|
|
126
|
+
private relocateSpotAggregateCore;
|
|
119
127
|
private relocateStandaloneActor;
|
|
120
128
|
private relocatePerActorSpotShell;
|
|
129
|
+
private relocatePerActorSpotShellCore;
|
|
121
130
|
private actorCaptureUnit;
|
|
122
131
|
private reserveRelocationId;
|
|
123
132
|
private reserveExactRelocationId;
|
|
@@ -134,15 +143,35 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
134
143
|
private requireNodePayloadBudget;
|
|
135
144
|
private requirePeerPayloadBudget;
|
|
136
145
|
/**
|
|
137
|
-
* Starts the source
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
* route removal point — closes the unit for SafeToShutdown.
|
|
146
|
+
* Starts the source cutover window after the cutover submit terminal. The
|
|
147
|
+
* boundary batch and cutover copies live in framework memory (not charged
|
|
148
|
+
* to the in-flight budget) until the authority settlement closes the
|
|
149
|
+
* window. S4 — the Message Follow route removal point — closes the unit for
|
|
150
|
+
* SafeToShutdown.
|
|
143
151
|
*/
|
|
144
152
|
private beginSourceCutoverWindow;
|
|
145
|
-
|
|
153
|
+
/** The authority settlement ended: the retained batch copy is released. */
|
|
154
|
+
private closeSourceCutoverWindow;
|
|
155
|
+
private releaseSourceCutoverWindow;
|
|
156
|
+
/**
|
|
157
|
+
* Sends the whole boundary batch and cutover again after a failed submit
|
|
158
|
+
* or an observed loss of the target connection (spec 28 §4.4). The target
|
|
159
|
+
* replaces its partial span with the whole batch.
|
|
160
|
+
*/
|
|
161
|
+
private resendSourceCutover;
|
|
162
|
+
/**
|
|
163
|
+
* The one source authority settlement after Ready (Location runtime
|
|
164
|
+
* §6.1·§10, spec 28 §4.4). It reads the Store until the target commit or
|
|
165
|
+
* the Restore deadline. From the Restore deadline it runs the source
|
|
166
|
+
* Preserve fence: a CAS on the StoreVersion expected by target NewOwner
|
|
167
|
+
* excludes a late target commit. `target`: the
|
|
168
|
+
* target committed. `source`: Preserve fenced the target out while the
|
|
169
|
+
* source owner lease was valid. `lost`: the source owner lease ended first
|
|
170
|
+
* or another authority owns the object. An uncertain Store or lease result
|
|
171
|
+
* keeps the work retained and repeats the same decision.
|
|
172
|
+
*/
|
|
173
|
+
private settleSourceAuthority;
|
|
174
|
+
private readSourceSettlement;
|
|
146
175
|
/**
|
|
147
176
|
* True when every relocation this source started reached its Message
|
|
148
177
|
* Follow route removal point (S4) and its cutover retransmission window
|
|
@@ -152,6 +181,13 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
152
181
|
private releaseParticipantAuthorities;
|
|
153
182
|
/** Restores the hidden object and its saved-work prefix before Ready. */
|
|
154
183
|
private handlePrepareControl;
|
|
184
|
+
/**
|
|
185
|
+
* The cutover wait of a Ready stage (spec 28 §4.4) is a Warning only: it
|
|
186
|
+
* records `cutover_timeout` and never submits the target CAS or opens
|
|
187
|
+
* dispatch. From then on the target settlement reads the Location Store so
|
|
188
|
+
* a source Preserve fence or a lost target lease ends the staging; only a
|
|
189
|
+
* verified cutover lets that settlement submit the CAS.
|
|
190
|
+
*/
|
|
155
191
|
private armTargetCutoverFallback;
|
|
156
192
|
private handleOneWayControl;
|
|
157
193
|
/** Validates one boundary relay record and buffers it until cutover applies it. */
|
|
@@ -172,7 +208,6 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
172
208
|
private acceptActorJoinSourceLeave;
|
|
173
209
|
private sendControlOneWay;
|
|
174
210
|
private submitControlFrame;
|
|
175
|
-
private waitForTargetAuthorities;
|
|
176
211
|
private clearTargetRelocationPublication;
|
|
177
212
|
private handleReplyRelay;
|
|
178
213
|
private sendReplyRelay;
|
|
@@ -189,7 +224,19 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
189
224
|
private authorityPayloadForPublication;
|
|
190
225
|
private abortTargetReservation;
|
|
191
226
|
private abortTargetStage;
|
|
227
|
+
private discardTargetStage;
|
|
192
228
|
private commitTargetReservation;
|
|
229
|
+
/**
|
|
230
|
+
* The one target authority settlement (Location runtime §10, spec 28
|
|
231
|
+
* §4.4-§4.5). Only a verified cutover lets the target submit its NewOwner
|
|
232
|
+
* CAS; a transient or indeterminate result resubmits the same RelocationId
|
|
233
|
+
* and expected StoreVersion while the target owner lease is valid (no
|
|
234
|
+
* separate timeout, no fixed count). Before a verified cutover the target
|
|
235
|
+
* only reads. It returns the committed authority, or undefined when a
|
|
236
|
+
* definitive Conflict excludes this commit after reconciliation, a source
|
|
237
|
+
* Preserve fence moved the source row, or the target lease ended; the
|
|
238
|
+
* caller then discards the staging.
|
|
239
|
+
*/
|
|
193
240
|
private commitTargetAggregate;
|
|
194
241
|
private readAggregateForCommitRetry;
|
|
195
242
|
private materializeTargetEnvelope;
|
|
@@ -205,6 +252,7 @@ export declare class ZLinkHostServiceRelocationRuntime implements ZLinkActorJoin
|
|
|
205
252
|
private commitSpotMessageFollow;
|
|
206
253
|
private requireLocationStore;
|
|
207
254
|
private requireSpotManager;
|
|
255
|
+
private afterSpotCloseDecision;
|
|
208
256
|
private requireActorManager;
|
|
209
257
|
private relocationLimits;
|
|
210
258
|
private requireMeshNode;
|
|
@@ -220,22 +268,7 @@ export declare function createServiceRelocationId(isInUse: (candidate: string) =
|
|
|
220
268
|
*/
|
|
221
269
|
export declare class ServiceRelocationDataLostError extends Error {
|
|
222
270
|
}
|
|
223
|
-
/**
|
|
224
|
-
|
|
225
|
-
* framework-error code the generated schema
|
|
226
|
-
* ({@link ServiceWireFrameworkErrorCode}) defines — mirrors the java
|
|
227
|
-
* reference mapping (commit 97fc074058) and the dotnet/cpp ports. The wire
|
|
228
|
-
* vocabulary predates the framework's typed error kinds and has no
|
|
229
|
-
* one-to-one code for every kind, so several kinds share the nearest fit
|
|
230
|
-
* (documented per case below); unresolvable vocabulary gaps belong at the
|
|
231
|
-
* schema level, not invented here. {@link ServiceRelocationDataLostError}
|
|
232
|
-
* is this runtime's dedicated tag for a verified checksum/assembly/digest
|
|
233
|
-
* integrity failure — the case that keeps relocationDataLost(35). An
|
|
234
|
-
* unclassified error carries no evidence of integrity loss and takes the
|
|
235
|
-
* generic opaque requestFailed(17). `objectKind` (the Prepare's
|
|
236
|
-
* ObjectFence.kind, spec 28 §4.2) picks between an Actor- and
|
|
237
|
-
* Spot-specific code where the schema splits by object kind.
|
|
238
|
-
*/
|
|
239
|
-
export declare function relocationFailedFailureCode(error: unknown, objectKind: ServiceWireRelocationObject['kind']): number;
|
|
271
|
+
/** Classifies relocation failure with the error model §2.1 mapping. */
|
|
272
|
+
export declare function relocationFailedFailureCode(error: unknown): number;
|
|
240
273
|
export declare function encodeHandoffQueuedMessages(backlog: readonly ZLinkActorHandoffPacket[]): readonly ServiceRelocationQueuedMessage[];
|
|
241
274
|
export {};
|