@zlink-systems/framework 0.26.0 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/contracts/Actors/ZLinkActorClient.d.ts +1 -1
- package/dist/contracts/Channels/Calls.d.ts +1 -1
- 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/Builders.d.ts +0 -1
- package/dist/contracts/Configuration/Configs.d.ts +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 -5
- package/dist/contracts/Configuration/RegistrationValidators.js +15 -14
- 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/Spots/Contracts.d.ts +2 -2
- package/dist/contracts/Streams/BoundSessionContracts.d.ts +1 -1
- package/dist/contracts/Streams/IZLinkSession.d.ts +2 -3
- package/dist/contracts/Streams/IZLinkSessionActor.d.ts +2 -2
- package/dist/internal.d.ts +4 -0
- package/dist/internal.js +15 -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 +1 -2
- package/dist/runtime/activation-admission.js +2 -6
- 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 +49 -153
- package/dist/runtime/actors/actor-context.d.ts +3 -5
- package/dist/runtime/actors/actor-context.js +13 -11
- package/dist/runtime/actors/actor-handoff.d.ts +4 -4
- package/dist/runtime/actors/actor-handoff.js +8 -8
- 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 +83 -105
- 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 +1 -1
- package/dist/runtime/actors/actor-remote-joiner.js +5 -9
- package/dist/runtime/actors/actor-remote-wire.js +5 -3
- package/dist/runtime/actors/actor-request-deadline.d.ts +1 -0
- package/dist/runtime/actors/actor-request-deadline.js +6 -0
- package/dist/runtime/actors/actor-retry-delay.js +2 -1
- package/dist/runtime/actors/actor-routed-join-transport.d.ts +2 -3
- 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/bound-session-wire.js +2 -7
- package/dist/runtime/actors/deferred-join-completion.d.ts +11 -6
- package/dist/runtime/actors/deferred-join-completion.js +1 -0
- package/dist/runtime/actors/index.d.ts +9 -7
- package/dist/runtime/actors/index.js +87 -69
- 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 +2 -0
- package/dist/runtime/admission.js +7 -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 +7 -27
- package/dist/runtime/backend/mesh-actor-session-node-adapter.js +1 -17
- 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-support.d.ts +3 -1
- package/dist/runtime/backend/node/node-backend-adapter-support.js +51 -10
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +1 -1
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +1 -2
- package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
- package/dist/runtime/backend/node/node-event-loop-poller.js +6 -7
- package/dist/runtime/backend/node/node-monitor-backend-adapter.js +1 -0
- package/dist/runtime/backend/node/node-raw-binding-port.js +41 -34
- package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +14 -15
- package/dist/runtime/backend/node/node-raw-mesh-backend.js +146 -118
- package/dist/runtime/backend/node/node-socket-backend-adapter.js +4 -3
- package/dist/runtime/backend/raw-binding-port.d.ts +1 -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 -8
- package/dist/runtime/channels/channel-clients.js +73 -59
- package/dist/runtime/channels/channel-envelope-inspection.js +2 -1
- package/dist/runtime/channels/channel-envelope.d.ts +1 -1
- package/dist/runtime/channels/channel-envelope.js +51 -39
- package/dist/runtime/channels/channel-outbound-operations.d.ts +5 -2
- package/dist/runtime/channels/channel-outbound-operations.js +25 -42
- 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 +4 -4
- package/dist/runtime/channels/channel-runtime-manager.js +13 -10
- package/dist/runtime/channels/channel-socket-options.js +3 -12
- package/dist/runtime/channels/channel-socket-registry.d.ts +14 -29
- package/dist/runtime/channels/channel-socket-registry.js +240 -177
- package/dist/runtime/channels/channel-transports.d.ts +21 -31
- package/dist/runtime/channels/channel-transports.js +80 -62
- 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 +130 -72
- package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
- package/dist/runtime/channels/local-spot-route-transport.js +1 -3
- package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +1 -1
- package/dist/runtime/channels/router-socket-spot-route-transport.js +2 -2
- package/dist/runtime/channels/source-spot-router.d.ts +1 -1
- package/dist/runtime/channels/source-spot-router.js +2 -4
- 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.d.ts +1 -1
- package/dist/runtime/channels/spot-node-route-transport.js +5 -5
- package/dist/runtime/channels/spot-route-bridge-transport.d.ts +1 -1
- package/dist/runtime/channels/spot-route-bridge-transport.js +2 -2
- package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +2 -4
- package/dist/runtime/channels/spot-route-dispatch-strategy.js +11 -12
- 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 +12 -9
- package/dist/runtime/execution/index.js +58 -14
- package/dist/runtime/execution/serial-execution-queue.d.ts +8 -2
- package/dist/runtime/execution/serial-execution-queue.js +54 -15
- 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/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 +8 -5
- package/dist/runtime/foundation/raw-service-mesh-runtime.js +79 -94
- 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.js +22 -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 +0 -6
- 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-object-owner.js +3 -2
- 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 -12
- 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 +26 -25
- package/dist/runtime/foundation/service-stateful-runtime.js +217 -204
- package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -3
- package/dist/runtime/foundation/service-stateful-wire-codec.js +89 -55
- package/dist/runtime/foundation/service-topology-registry.d.ts +0 -1
- package/dist/runtime/foundation/service-topology-registry.js +17 -32
- 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 +11 -8
- package/dist/runtime/host/actor-packet-relay.js +54 -99
- 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 +16 -18
- package/dist/runtime/host/actor-transfer-runtime.js +143 -176
- 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 +14 -13
- package/dist/runtime/host/index.js +190 -171
- 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 +15 -28
- package/dist/runtime/host/route-mesh-runtime.d.ts +13 -11
- package/dist/runtime/host/route-mesh-runtime.js +171 -252
- 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 +21 -30
- package/dist/runtime/host/service-relocation-host-runtime.js +508 -416
- package/dist/runtime/host/spot-address-transport.d.ts +3 -12
- package/dist/runtime/host/spot-address-transport.js +78 -220
- 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 -10
- package/dist/runtime/host/spot-runtime-options-factory.js +50 -14
- package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -3
- package/dist/runtime/host/user-spot-creation-coordinator.js +11 -8
- 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 +72 -22
- 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 +4 -9
- package/dist/runtime/locations/lifecycle.js +2 -31
- 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 +309 -336
- package/dist/runtime/locations/relocation-blob.js +18 -5
- package/dist/runtime/locations/resolvers.d.ts +5 -5
- package/dist/runtime/locations/resolvers.js +37 -28
- 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 +6 -0
- package/dist/runtime/locations/spot-location-claims.js +42 -1
- package/dist/runtime/messaging/payload-codec.js +26 -20
- package/dist/runtime/messaging/request-deadline.d.ts +3 -0
- package/dist/runtime/messaging/request-deadline.js +39 -0
- package/dist/runtime/messaging/submission-result.d.ts +4 -0
- package/dist/runtime/messaging/submission-result.js +56 -1
- package/dist/runtime/protocol/service_wire_codec.generated.d.ts +1 -0
- package/dist/runtime/protocol/service_wire_codec.generated.js +12 -7
- package/dist/runtime/spots/formal-remote-actor-transfer-registry.d.ts +4 -1
- package/dist/runtime/spots/index.d.ts +14 -20
- package/dist/runtime/spots/index.js +302 -176
- package/dist/runtime/spots/spot-activation-registry.d.ts +3 -5
- package/dist/runtime/spots/spot-activation-registry.js +14 -50
- package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
- package/dist/runtime/spots/spot-activation-state.js +2 -2
- package/dist/runtime/spots/spot-activation.d.ts +3 -4
- package/dist/runtime/spots/spot-activation.js +49 -32
- 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 +4 -52
- package/dist/runtime/spots/spot-actor-membership.d.ts +4 -6
- package/dist/runtime/spots/spot-actor-membership.js +22 -45
- 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 +2 -2
- package/dist/runtime/spots/spot-entry-activation.js +9 -20
- 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 +5 -4
- package/dist/runtime/spots/spot-node-autoconnect.js +22 -31
- package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -18
- package/dist/runtime/spots/spot-node-runtime-manager.js +67 -72
- package/dist/runtime/spots/spot-outbound.d.ts +7 -8
- package/dist/runtime/spots/spot-outbound.js +21 -23
- 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 -3
- package/dist/runtime/spots/spot-routed-actor-admission.js +3 -12
- package/dist/runtime/spots/spot-routed-frame-dispatch.d.ts +1 -2
- package/dist/runtime/spots/spot-routed-frame-dispatch.js +0 -1
- 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 +2 -16
- package/dist/runtime/spots/spot-serial-executor.js +2 -2
- package/dist/runtime/spots/spot-serial-turn-executor.d.ts +27 -7
- package/dist/runtime/spots/spot-serial-turn-executor.js +83 -11
- package/dist/runtime/spots/spot-timer.d.ts +3 -2
- package/dist/runtime/streams/actor-session-binding-registry.d.ts +16 -29
- package/dist/runtime/streams/actor-session-binding-registry.js +142 -212
- package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +1 -4
- package/dist/runtime/streams/bound-actor-relay-sender.d.ts +8 -4
- package/dist/runtime/streams/bound-actor-relay-sender.js +65 -41
- package/dist/runtime/streams/bound-session-service.d.ts +7 -0
- package/dist/runtime/streams/bound-session-service.js +12 -2
- package/dist/runtime/streams/index.d.ts +16 -17
- package/dist/runtime/streams/index.js +22 -23
- package/dist/runtime/streams/managed-stream.d.ts +5 -2
- package/dist/runtime/streams/managed-stream.js +20 -13
- package/dist/runtime/streams/native-fallback-bound-session.js +14 -19
- 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 +6 -8
- package/dist/runtime/streams/session-calls.js +6 -22
- package/dist/runtime/streams/session-context.d.ts +10 -10
- package/dist/runtime/streams/session-context.js +25 -10
- package/dist/runtime/streams/session-requests.js +2 -1
- 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/Actors/ZLinkActorClient.ts +1 -1
- package/src/contracts/Channels/Calls.ts +1 -1
- package/src/contracts/Common/CoreTypes.ts +7 -0
- package/src/contracts/Common/index.ts +1 -1
- package/src/contracts/Configuration/Builders.ts +0 -1
- package/src/contracts/Configuration/Configs.ts +0 -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 -71
- package/src/contracts/Configuration/RegistrationTypes.ts +1 -5
- package/src/contracts/Configuration/RegistrationValidators.ts +19 -17
- 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/Spots/Contracts.ts +2 -2
- package/src/contracts/Streams/BoundSessionContracts.ts +1 -1
- package/src/contracts/Streams/IZLinkSession.ts +2 -3
- package/src/contracts/Streams/IZLinkSessionActor.ts +2 -6
- package/src/internal.ts +14 -0
- package/src/nest-integration.ts +28 -10
- package/src/runtime/abort.ts +6 -5
- package/src/runtime/activation-admission.ts +2 -8
- package/src/runtime/actors/actor-authority-payload-codec.ts +58 -20
- package/src/runtime/actors/actor-client.ts +85 -218
- package/src/runtime/actors/actor-context.ts +39 -33
- package/src/runtime/actors/actor-handoff.ts +24 -22
- package/src/runtime/actors/actor-lifecycle-snapshot.ts +2 -1
- package/src/runtime/actors/actor-local-native-join.ts +172 -174
- 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 +9 -11
- package/src/runtime/actors/actor-remote-wire.ts +5 -3
- package/src/runtime/actors/actor-request-deadline.ts +4 -0
- package/src/runtime/actors/actor-retry-delay.ts +2 -1
- package/src/runtime/actors/actor-routed-join-transport.ts +3 -5
- package/src/runtime/actors/actor-runtime-state.ts +85 -247
- package/src/runtime/actors/bound-session-wire.ts +2 -8
- package/src/runtime/actors/deferred-join-completion.ts +10 -6
- package/src/runtime/actors/index.ts +100 -79
- 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 +8 -1
- package/src/runtime/application-jobs/application-job-queue-scope.ts +4 -4
- package/src/runtime/backend/contracts/index.ts +14 -37
- package/src/runtime/backend/mesh-actor-session-node-adapter.ts +2 -18
- package/src/runtime/backend/mesh-dispatch-pump.ts +111 -117
- package/src/runtime/backend/node/node-backend-adapter-support.ts +67 -10
- package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +0 -2
- package/src/runtime/backend/node/node-event-loop-poller.ts +8 -12
- package/src/runtime/backend/node/node-monitor-backend-adapter.ts +1 -0
- package/src/runtime/backend/node/node-raw-binding-port.ts +44 -49
- package/src/runtime/backend/node/node-raw-mesh-backend.ts +227 -170
- package/src/runtime/backend/node/node-socket-backend-adapter.ts +4 -3
- package/src/runtime/backend/raw-binding-port.ts +1 -1
- package/src/runtime/backend/runtime-values.ts +4 -1
- package/src/runtime/channels/channel-clients.ts +139 -102
- package/src/runtime/channels/channel-envelope-inspection.ts +2 -1
- package/src/runtime/channels/channel-envelope.ts +74 -57
- package/src/runtime/channels/channel-outbound-operations.ts +40 -55
- 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 +12 -30
- package/src/runtime/channels/channel-socket-options.ts +8 -15
- package/src/runtime/channels/channel-socket-registry.ts +291 -196
- package/src/runtime/channels/channel-transports.ts +168 -145
- 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 +172 -91
- package/src/runtime/channels/local-spot-route-transport.ts +1 -5
- package/src/runtime/channels/router-socket-spot-route-transport.ts +2 -6
- package/src/runtime/channels/source-spot-router.ts +2 -9
- package/src/runtime/channels/spot-direct-envelope.ts +1 -1
- package/src/runtime/channels/spot-node-route-transport.ts +7 -9
- package/src/runtime/channels/spot-route-bridge-transport.ts +5 -12
- package/src/runtime/channels/spot-route-dispatch-strategy.ts +11 -30
- 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 +60 -20
- package/src/runtime/execution/serial-execution-queue.ts +131 -18
- 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/operation-identity.ts +11 -5
- package/src/runtime/foundation/operation-registry.ts +33 -50
- package/src/runtime/foundation/raw-service-mesh-runtime.ts +127 -125
- package/src/runtime/foundation/runtime-state-projections.ts +9 -1
- package/src/runtime/foundation/service-authority-payload-codec.ts +31 -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 +0 -10
- 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-object-owner.ts +5 -2
- 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 -17
- package/src/runtime/foundation/service-stateful-registry.ts +14 -2
- package/src/runtime/foundation/service-stateful-runtime.ts +322 -276
- package/src/runtime/foundation/service-stateful-wire-codec.ts +128 -80
- package/src/runtime/foundation/service-topology-registry.ts +23 -32
- 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 +63 -160
- 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 +180 -260
- 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 +327 -320
- 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 +16 -57
- package/src/runtime/host/route-mesh-runtime.ts +228 -271
- 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 +699 -561
- package/src/runtime/host/spot-address-transport.ts +175 -356
- package/src/runtime/host/spot-node-runtime-options-factory.ts +6 -3
- package/src/runtime/host/spot-runtime-options-factory.ts +73 -22
- package/src/runtime/host/user-spot-creation-coordinator.ts +36 -22
- 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 +100 -25
- package/src/runtime/locations/key-codec.ts +3 -2
- package/src/runtime/locations/lease-tracker.ts +8 -14
- package/src/runtime/locations/lifecycle.ts +13 -43
- 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 +457 -482
- package/src/runtime/locations/relocation-blob.ts +17 -6
- package/src/runtime/locations/resolvers.ts +75 -49
- package/src/runtime/locations/runtime.ts +220 -110
- package/src/runtime/locations/spot-location-claims.ts +58 -1
- package/src/runtime/messaging/payload-codec.ts +35 -24
- package/src/runtime/messaging/request-deadline.ts +58 -0
- package/src/runtime/messaging/submission-result.ts +72 -2
- 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/formal-remote-actor-transfer-registry.ts +4 -1
- package/src/runtime/spots/index.ts +433 -229
- package/src/runtime/spots/spot-activation-registry.ts +30 -69
- package/src/runtime/spots/spot-activation-state.ts +2 -2
- package/src/runtime/spots/spot-activation.ts +67 -37
- package/src/runtime/spots/spot-actor-admission-coordinator.ts +5 -57
- package/src/runtime/spots/spot-actor-join-dispatch.ts +24 -77
- package/src/runtime/spots/spot-actor-membership.ts +40 -72
- 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 -30
- package/src/runtime/spots/spot-lifecycle-metrics.ts +3 -2
- package/src/runtime/spots/spot-manager-public.ts +21 -17
- package/src/runtime/spots/spot-node-autoconnect.ts +20 -26
- package/src/runtime/spots/spot-node-runtime-manager.ts +136 -125
- package/src/runtime/spots/spot-outbound.ts +59 -47
- 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 -26
- package/src/runtime/spots/spot-routed-frame-dispatch.ts +2 -3
- package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +95 -22
- package/src/runtime/spots/spot-runtime-ports.ts +5 -27
- package/src/runtime/spots/spot-serial-executor.ts +2 -2
- package/src/runtime/spots/spot-serial-turn-executor.ts +112 -11
- package/src/runtime/spots/spot-timer.ts +3 -2
- package/src/runtime/streams/actor-session-binding-registry.ts +179 -269
- package/src/runtime/streams/actor-session-binding-runtime-owner.ts +0 -8
- package/src/runtime/streams/bound-actor-relay-sender.ts +98 -66
- package/src/runtime/streams/bound-session-service.ts +22 -2
- package/src/runtime/streams/index.ts +78 -68
- package/src/runtime/streams/managed-stream.ts +32 -23
- package/src/runtime/streams/native-fallback-bound-session.ts +14 -28
- 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 +11 -36
- package/src/runtime/streams/session-context.ts +60 -25
- package/src/runtime/streams/session-requests.ts +2 -1
- 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/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/post-commit-actor-location.ts +0 -121
- package/src/runtime/spots/spot-native-actor-join-admission.ts +0 -155
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.validateFrameworkRegistration = validateFrameworkRegistration;
|
|
4
|
+
const Locations_1 = require("../Locations");
|
|
4
5
|
const ConfigurationException_1 = require("./ConfigurationException");
|
|
6
|
+
const FanoutTopic_1 = require("./FanoutTopic");
|
|
7
|
+
const InternalDefaults_1 = require("./InternalDefaults");
|
|
8
|
+
const RegistrationBuilderPolicy_1 = require("./RegistrationBuilderPolicy");
|
|
5
9
|
const RegistrationNormalizers_1 = require("./RegistrationNormalizers");
|
|
6
10
|
const RouteChannelInternalState_1 = require("./RouteChannelInternalState");
|
|
7
|
-
const TimerRegistrationValidator_1 = require("./TimerRegistrationValidator");
|
|
8
|
-
const Locations_1 = require("../Locations");
|
|
9
11
|
const SendTimeoutValidation_1 = require("./SendTimeoutValidation");
|
|
10
|
-
const
|
|
12
|
+
const TimerRegistrationValidator_1 = require("./TimerRegistrationValidator");
|
|
13
|
+
const ROUTE_CACHE_FOLLOW_MARGIN_MS = 5000;
|
|
11
14
|
function validateFrameworkRegistration(registration, _options = {}) {
|
|
12
15
|
validateListenerNetworkIdentity('process network', registration.network.bindHost, registration.network.advertiseHost);
|
|
13
16
|
const actorCapableSpotNodes = [...registration.spotNodes.values()].filter((spotNode) => toActorFactoryCount(spotNode.actorFactories) > 0);
|
|
@@ -88,9 +91,10 @@ function validateLocationRegistration(registration) {
|
|
|
88
91
|
throw new ConfigurationException_1.ZLinkConfigurationException(`${name} must be a finite positive number.`);
|
|
89
92
|
}
|
|
90
93
|
}
|
|
91
|
-
if (options.ownerLeaseRenewIntervalMs
|
|
94
|
+
if (Math.max(options.ownerLeaseRenewIntervalMs, options.ownerLeaseRenewTimeoutMs) +
|
|
95
|
+
options.ownerLeaseRenewTimeoutMs >=
|
|
92
96
|
options.ownerLeaseTtlMs - options.ownerLeaseFencingMarginMs) {
|
|
93
|
-
throw new ConfigurationException_1.ZLinkConfigurationException('ownerLeaseRenewIntervalMs + ownerLeaseRenewTimeoutMs must be less than ownerLeaseTtlMs - ownerLeaseFencingMarginMs.');
|
|
97
|
+
throw new ConfigurationException_1.ZLinkConfigurationException('max(ownerLeaseRenewIntervalMs, ownerLeaseRenewTimeoutMs) + ownerLeaseRenewTimeoutMs must be less than ownerLeaseTtlMs - ownerLeaseFencingMarginMs.');
|
|
94
98
|
}
|
|
95
99
|
for (const [name, value] of Object.entries({
|
|
96
100
|
relocationCutoverWaitTimeoutMs: options.relocationCutoverWaitTimeoutMs,
|
|
@@ -100,8 +104,8 @@ function validateLocationRegistration(registration) {
|
|
|
100
104
|
throw new ConfigurationException_1.ZLinkConfigurationException(`${name} must be a positive integer.`);
|
|
101
105
|
}
|
|
102
106
|
}
|
|
103
|
-
if (options.relocationPayloadChunkLimitBytes >
|
|
104
|
-
throw new ConfigurationException_1.ZLinkConfigurationException(
|
|
107
|
+
if (options.relocationPayloadChunkLimitBytes > InternalDefaults_1.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES) {
|
|
108
|
+
throw new ConfigurationException_1.ZLinkConfigurationException(`relocationPayloadChunkLimitBytes must not exceed the ${InternalDefaults_1.RELOCATION_STATE_CHUNK_DATA_MAX_BYTES / (1024 * 1024)} MiB wire chunk bound.`);
|
|
105
109
|
}
|
|
106
110
|
for (const [name, value] of Object.entries({
|
|
107
111
|
relocationInFlightPayloadBudgetBytes: options.relocationInFlightPayloadBudgetBytes,
|
|
@@ -121,8 +125,8 @@ function validateLocationRegistration(registration) {
|
|
|
121
125
|
}
|
|
122
126
|
if (options.routeCacheMaxAgeMs > 0 &&
|
|
123
127
|
options.messageFollowDurationMs > 0 &&
|
|
124
|
-
options.routeCacheMaxAgeMs > options.messageFollowDurationMs -
|
|
125
|
-
throw new ConfigurationException_1.ZLinkConfigurationException(
|
|
128
|
+
options.routeCacheMaxAgeMs > options.messageFollowDurationMs - ROUTE_CACHE_FOLLOW_MARGIN_MS) {
|
|
129
|
+
throw new ConfigurationException_1.ZLinkConfigurationException(`routeCacheMaxAgeMs must be at least ${ROUTE_CACHE_FOLLOW_MARGIN_MS} ms shorter than messageFollowDurationMs.`);
|
|
126
130
|
}
|
|
127
131
|
}
|
|
128
132
|
function requireNonNegativeInteger(label, value) {
|
|
@@ -164,6 +168,7 @@ function validateChannelCapabilities(channels, peerLocationConfigured) {
|
|
|
164
168
|
requireSocketOptions(`channel '${channelName}' server`, channel.server);
|
|
165
169
|
}
|
|
166
170
|
if (channel.publisher !== undefined) {
|
|
171
|
+
(0, SendTimeoutValidation_1.requireValidSendTimeoutMs)(`channel '${channelName}' publisher sendTimeoutMs`, channel.publisher.sendTimeoutMs);
|
|
167
172
|
requireEndpoint(`channel '${channelName}' publisher`, channel.publisher.bind);
|
|
168
173
|
validateListenerNetworkIdentity(`channel '${channelName}' publisher`, channel.publisher.bindHost, channel.publisher.advertiseHost);
|
|
169
174
|
validateFanoutPublisherIdentity(channelName, channel.routingId, channel.routingIdPrefix, peerLocationConfigured);
|
|
@@ -446,18 +451,14 @@ function requirePeerWeight(label, value) {
|
|
|
446
451
|
if (value === undefined) {
|
|
447
452
|
return;
|
|
448
453
|
}
|
|
449
|
-
|
|
450
|
-
throw new ConfigurationException_1.ZLinkConfigurationException(`${label} must be an integer in 0..10000.`);
|
|
451
|
-
}
|
|
454
|
+
(0, RegistrationBuilderPolicy_1.requirePublicWeight)(value, label);
|
|
452
455
|
}
|
|
453
456
|
function requireSocketOptions(label, options) {
|
|
454
457
|
requireNonNegativeInteger(`${label} sendHighWaterMark`, options.sendHighWaterMark);
|
|
455
458
|
requireNonNegativeInteger(`${label} receiveHighWaterMark`, options.receiveHighWaterMark);
|
|
456
459
|
requireNonNegativeInteger(`${label} maxMessageSize`, options.maxMessageSize);
|
|
457
|
-
(0, SendTimeoutValidation_1.requireValidSendTimeoutMs)(`${label} sendTimeoutMs`, options.sendTimeoutMs);
|
|
458
460
|
}
|
|
459
461
|
function requireRouteMeshSocketOptions(label, options) {
|
|
460
462
|
requireNonNegativeInteger(`${label} sendHighWaterMark`, options.sendHighWaterMark);
|
|
461
463
|
requireNonNegativeInteger(`${label} receiveHighWaterMark`, options.receiveHighWaterMark);
|
|
462
|
-
(0, SendTimeoutValidation_1.requireValidSendTimeoutMs)(`${label} sendTimeoutMs`, options.sendTimeoutMs);
|
|
463
464
|
}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateTimerRegistration = validateTimerRegistration;
|
|
4
4
|
const Timers_1 = require("../Timers");
|
|
5
5
|
const ConfigurationException_1 = require("./ConfigurationException");
|
|
6
|
+
const MAX_TIMER_CATCH_UP_TICKS = 2_147_483_647;
|
|
6
7
|
function validateTimerRegistration(name, periodMs, options) {
|
|
7
8
|
if (name.trim().length === 0) {
|
|
8
9
|
throw new ConfigurationException_1.ZLinkConfigurationException('SPOT timer name must not be empty.');
|
|
@@ -18,7 +19,7 @@ function validateTimerRegistration(name, periodMs, options) {
|
|
|
18
19
|
(options.maxCatchUpTicks === undefined ||
|
|
19
20
|
!Number.isInteger(options.maxCatchUpTicks) ||
|
|
20
21
|
options.maxCatchUpTicks < 1 ||
|
|
21
|
-
options.maxCatchUpTicks >
|
|
22
|
-
throw new ConfigurationException_1.ZLinkConfigurationException(
|
|
22
|
+
options.maxCatchUpTicks > MAX_TIMER_CATCH_UP_TICKS)) {
|
|
23
|
+
throw new ConfigurationException_1.ZLinkConfigurationException(`SPOT timer MaxCatchUpTicks must be an integer from 1 through ${MAX_TIMER_CATCH_UP_TICKS.toLocaleString('en-US')}.`);
|
|
23
24
|
}
|
|
24
25
|
}
|
|
@@ -162,7 +162,7 @@ export declare enum ZLinkDispatchMessageKind {
|
|
|
162
162
|
ActorRequest = "actorRequest",
|
|
163
163
|
ActorSend = "actorSend"
|
|
164
164
|
}
|
|
165
|
-
export type ZLinkDispatchErrorReason = 'no_handler' | 'decode_error' | 'handler_exception' | 'invalid_frame' | 'reply_path_missing' | 'unexpected_reply' | 'backpressure' | 'stale_target' | 'shutdown';
|
|
165
|
+
export type ZLinkDispatchErrorReason = 'no_handler' | 'decode_error' | 'handler_exception' | 'invalid_frame' | 'reply_path_missing' | 'unexpected_reply' | 'backpressure' | 'target_closed' | 'stale_target' | 'shutdown';
|
|
166
166
|
export type ZLinkDispatchErrorAction = 'reply_error' | 'fail_caller' | 'drop';
|
|
167
167
|
export declare enum ZLinkRuntimeDispatchErrorReason {
|
|
168
168
|
HandlerMissing = "no_handler",
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.defineZLinkPacketJsonContract = defineZLinkPacketJsonContract;
|
|
4
4
|
exports.readZLinkPacketJsonContract = readZLinkPacketJsonContract;
|
|
5
|
+
const MAX_CONTRACT_SCHEMA_DEPTH = 64;
|
|
5
6
|
const ZLINK_PACKET_JSON_CONTRACTS = Symbol.for('@zlink-systems/framework:packet-json-contracts');
|
|
6
7
|
function defineZLinkPacketJsonContract(packetName, contract) {
|
|
7
8
|
if (packetName.trim().length === 0) {
|
|
@@ -35,8 +36,10 @@ function normalizeJsonSchema(schema, parents, depth) {
|
|
|
35
36
|
// Keep the runtime boundary defensive for JavaScript callers even though
|
|
36
37
|
// the TypeScript signature describes the accepted shape.
|
|
37
38
|
const runtimeSchema = schema;
|
|
38
|
-
if (typeof runtimeSchema !== 'object' ||
|
|
39
|
-
|
|
39
|
+
if (typeof runtimeSchema !== 'object' ||
|
|
40
|
+
runtimeSchema === null ||
|
|
41
|
+
depth > MAX_CONTRACT_SCHEMA_DEPTH) {
|
|
42
|
+
throw new TypeError(`ZLink packet JSON schema must be an acyclic object with at most ${MAX_CONTRACT_SCHEMA_DEPTH} levels.`);
|
|
40
43
|
}
|
|
41
44
|
const normalizedSchema = runtimeSchema;
|
|
42
45
|
if (parents.has(normalizedSchema))
|
|
@@ -95,7 +98,7 @@ function normalizeJsonSchema(schema, parents, depth) {
|
|
|
95
98
|
}
|
|
96
99
|
const properties = {};
|
|
97
100
|
for (const [name, property] of Object.entries(runtimeProperties)) {
|
|
98
|
-
if (name
|
|
101
|
+
if (isPrototypeKey(name)) {
|
|
99
102
|
throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
|
|
100
103
|
}
|
|
101
104
|
properties[name] = normalizeJsonSchema(property, nextParents, depth + 1);
|
|
@@ -104,7 +107,7 @@ function normalizeJsonSchema(schema, parents, depth) {
|
|
|
104
107
|
throw new TypeError('ZLink packet JSON required properties must be unique.');
|
|
105
108
|
}
|
|
106
109
|
for (const name of normalizedSchema.required) {
|
|
107
|
-
if (name
|
|
110
|
+
if (isPrototypeKey(name)) {
|
|
108
111
|
throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
|
|
109
112
|
}
|
|
110
113
|
if (!Object.prototype.hasOwnProperty.call(properties, name)) {
|
|
@@ -147,3 +150,6 @@ function canonicalContract(value) {
|
|
|
147
150
|
.map(([key, item]) => `${JSON.stringify(key)}:${canonicalContract(item)}`)
|
|
148
151
|
.join(',')}}`;
|
|
149
152
|
}
|
|
153
|
+
function isPrototypeKey(name) {
|
|
154
|
+
return name === '__proto__' || name === 'prototype' || name === 'constructor';
|
|
155
|
+
}
|
|
@@ -60,7 +60,7 @@ export type ZLinkAuthorityReadResult = {
|
|
|
60
60
|
export type ZLinkAuthorityMutation = {
|
|
61
61
|
readonly kind: 'put';
|
|
62
62
|
readonly payload: Uint8Array;
|
|
63
|
-
readonly generationTransition: 'preserve';
|
|
63
|
+
readonly generationTransition: 'preserve' | 'reincarnate';
|
|
64
64
|
} | {
|
|
65
65
|
/** Rebinds an authority retained by the same owner after lease recovery. */
|
|
66
66
|
readonly kind: 'rebindOwnerLease';
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZLinkAuthorityScanCursor = void 0;
|
|
4
|
+
const ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES = 4096;
|
|
4
5
|
class ZLinkAuthorityScanCursor {
|
|
5
6
|
encoded;
|
|
6
7
|
constructor(encoded) {
|
|
@@ -8,8 +9,8 @@ class ZLinkAuthorityScanCursor {
|
|
|
8
9
|
}
|
|
9
10
|
static from(encoded) {
|
|
10
11
|
const byteLength = Buffer.byteLength(encoded, 'utf8');
|
|
11
|
-
if (byteLength < 1 || byteLength >
|
|
12
|
-
throw new RangeError(
|
|
12
|
+
if (byteLength < 1 || byteLength > ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES) {
|
|
13
|
+
throw new RangeError(`Authority scan cursor must contain 1..${ZLINK_AUTHORITY_MAX_SCAN_CURSOR_BYTES} UTF-8 bytes.`);
|
|
13
14
|
}
|
|
14
15
|
return new ZLinkAuthorityScanCursor(encoded);
|
|
15
16
|
}
|
|
@@ -5,7 +5,7 @@ exports.zlinkRuntimeDefaultLocationOptions = {
|
|
|
5
5
|
ownerLeaseRenewIntervalMs: 5000,
|
|
6
6
|
ownerLeaseTtlMs: 15000,
|
|
7
7
|
pollingIntervalMs: 1000,
|
|
8
|
-
listPageSize:
|
|
8
|
+
listPageSize: 100,
|
|
9
9
|
storeFailureGraceMs: 30000,
|
|
10
10
|
ownerLeaseFencingMarginMs: 5000,
|
|
11
11
|
ownerLeaseRenewTimeoutMs: 3000,
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
export declare const ZLINK_PROVIDER_MAX_PAGE_SIZE = 1000;
|
|
2
|
+
export declare const ZLINK_PROVIDER_MAX_KEY_BYTES = 1024;
|
|
3
|
+
export declare const ZLINK_PROVIDER_MAX_VALUE_BYTES: number;
|
|
4
|
+
export declare const ZLINK_PROVIDER_MAX_VERSION_BYTES = 4096;
|
|
5
|
+
export declare const ZLINK_PROVIDER_MAX_WRITE_KEYS = 2048;
|
|
6
|
+
export declare const ZLINK_PROVIDER_MAX_WRITE_BYTES: number;
|
|
7
|
+
export declare const ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES: number;
|
|
8
|
+
export declare const ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = 4096;
|
|
1
9
|
declare const zlinkStoreKeyBrand: unique symbol;
|
|
2
10
|
declare const zlinkStoreVersionBrand: unique symbol;
|
|
3
11
|
declare const zlinkStoreScanCursorBrand: unique symbol;
|
|
@@ -33,6 +41,10 @@ export type ZLinkStoreCondition = {
|
|
|
33
41
|
readonly kind: 'version';
|
|
34
42
|
readonly key: ZLinkStoreKey;
|
|
35
43
|
readonly expected: ZLinkStoreVersion;
|
|
44
|
+
} | {
|
|
45
|
+
readonly kind: 'value';
|
|
46
|
+
readonly key: ZLinkStoreKey;
|
|
47
|
+
readonly expected: Uint8Array;
|
|
36
48
|
};
|
|
37
49
|
export type ZLinkStoreMutation = {
|
|
38
50
|
readonly kind: 'put';
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = exports.ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES = exports.ZLINK_PROVIDER_MAX_WRITE_BYTES = exports.ZLINK_PROVIDER_MAX_WRITE_KEYS = exports.ZLINK_PROVIDER_MAX_VERSION_BYTES = exports.ZLINK_PROVIDER_MAX_VALUE_BYTES = exports.ZLINK_PROVIDER_MAX_KEY_BYTES = exports.ZLINK_PROVIDER_MAX_PAGE_SIZE = void 0;
|
|
4
|
+
exports.ZLINK_PROVIDER_MAX_PAGE_SIZE = 1000;
|
|
5
|
+
exports.ZLINK_PROVIDER_MAX_KEY_BYTES = 1024;
|
|
6
|
+
exports.ZLINK_PROVIDER_MAX_VALUE_BYTES = 1024 * 1024;
|
|
7
|
+
exports.ZLINK_PROVIDER_MAX_VERSION_BYTES = 4096;
|
|
8
|
+
exports.ZLINK_PROVIDER_MAX_WRITE_KEYS = 2048;
|
|
9
|
+
exports.ZLINK_PROVIDER_MAX_WRITE_BYTES = 4 * 1024 * 1024;
|
|
10
|
+
exports.ZLINK_PROVIDER_MAX_ENCODED_PAGE_BYTES = 4 * 1024 * 1024;
|
|
11
|
+
exports.ZLINK_PROVIDER_MAX_SCAN_CURSOR_BYTES = 4096;
|
|
@@ -22,7 +22,7 @@ export interface ZLinkWorkerCall<T> {
|
|
|
22
22
|
export interface ZLinkSpotCommonContext<TSpot = ZLinkSpot> {
|
|
23
23
|
readonly meshName: string;
|
|
24
24
|
readonly spotId: SpotId;
|
|
25
|
-
readonly objectGeneration:
|
|
25
|
+
readonly objectGeneration: bigint;
|
|
26
26
|
readonly nodeRid: RoutingId;
|
|
27
27
|
readonly outbound: ZLinkSpotOutbound;
|
|
28
28
|
addTimer<THandler extends ZLinkSpotTimerHandler<TSpot>>(name: string, periodMs: number, handlerType: Type<THandler>, options?: ZLinkTimerOptions, signal?: AbortSignal): Promise<ZLinkTimer>;
|
|
@@ -68,7 +68,7 @@ export interface ZLinkSpotSendCall {
|
|
|
68
68
|
instanceSpot(): this;
|
|
69
69
|
instanceSpot(instanceSpotType: string): this;
|
|
70
70
|
inMesh(meshName: string): this;
|
|
71
|
-
submit(
|
|
71
|
+
submit(): Promise<void>;
|
|
72
72
|
}
|
|
73
73
|
export interface ZLinkSpotRequestCall {
|
|
74
74
|
metadata(key: string, value: string): this;
|
|
@@ -36,10 +36,9 @@ export interface ZLinkSessionClient {
|
|
|
36
36
|
export interface ZLinkSessionSendCall {
|
|
37
37
|
metadata(key: string, value: string): this;
|
|
38
38
|
compress(enabled?: boolean): this;
|
|
39
|
-
|
|
40
|
-
submit(signal?: AbortSignal): Promise<void>;
|
|
39
|
+
submit(): Promise<void>;
|
|
41
40
|
}
|
|
42
41
|
export interface ZLinkSessionReplyCall {
|
|
43
42
|
compress(enabled?: boolean): this;
|
|
44
|
-
submit(
|
|
43
|
+
submit(): Promise<void>;
|
|
45
44
|
}
|
|
@@ -9,7 +9,7 @@ export interface ZLinkSessionActors {
|
|
|
9
9
|
export interface ZLinkSessionActor {
|
|
10
10
|
readonly actorId: string;
|
|
11
11
|
readonly ref: ActorRef;
|
|
12
|
-
relay(payload: ZLinkMessage
|
|
13
|
-
relay(dispatch: ZLinkSessionDispatchContext, payload: ZLinkMessage
|
|
12
|
+
relay(payload: ZLinkMessage): Promise<void>;
|
|
13
|
+
relay(dispatch: ZLinkSessionDispatchContext, payload: ZLinkMessage): Promise<void>;
|
|
14
14
|
notifyDisconnected(signal?: AbortSignal): Promise<void>;
|
|
15
15
|
}
|
package/dist/internal.d.ts
CHANGED
|
@@ -25,3 +25,7 @@ export * from './runtime/foundation';
|
|
|
25
25
|
export * from './runtime/foundation/service-authority-payload-codec';
|
|
26
26
|
export * from './runtime/framework-errors-internal';
|
|
27
27
|
export * from './contracts/Configuration/Registration';
|
|
28
|
+
export * from './contracts/Locations/Stores';
|
|
29
|
+
export { ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES } from './contracts/Configuration/InternalDefaults';
|
|
30
|
+
export { ZLINK_MAX_STABLE_TYPE_BYTES } from './contracts/Common/CoreTypes';
|
|
31
|
+
export { MAX_LISTENER_PORT, ZLINK_MAX_PUBLIC_WEIGHT, ZLINK_MAX_CAPACITY, isValidPublicWeight, isValidPositiveCapacity, isValidListenerPort, isValidCapacity, requirePublicWeight } from './contracts/Configuration/RegistrationBuilderPolicy';
|
package/dist/internal.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ZLinkLocationWriteStatus = exports.ZLinkLocationWriteIntent = exports.ZLinkRouteKind = exports.ZLinkLocationKind = exports.ZLinkLocationAutoConnectType = void 0;
|
|
17
|
+
exports.requirePublicWeight = exports.isValidCapacity = exports.isValidListenerPort = exports.isValidPositiveCapacity = exports.isValidPublicWeight = exports.ZLINK_MAX_CAPACITY = exports.ZLINK_MAX_PUBLIC_WEIGHT = exports.MAX_LISTENER_PORT = exports.ZLINK_MAX_STABLE_TYPE_BYTES = exports.ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES = exports.ZLinkLocationWriteStatus = exports.ZLinkLocationWriteIntent = exports.ZLinkRouteKind = exports.ZLinkLocationKind = exports.ZLinkLocationAutoConnectType = void 0;
|
|
18
18
|
/** Test and companion-package integration surface. It is not exported by package.json. */
|
|
19
19
|
__exportStar(require("./index"), exports);
|
|
20
20
|
__exportStar(require("./runtime/diagnostics"), exports);
|
|
@@ -47,3 +47,17 @@ __exportStar(require("./runtime/foundation"), exports);
|
|
|
47
47
|
__exportStar(require("./runtime/foundation/service-authority-payload-codec"), exports);
|
|
48
48
|
__exportStar(require("./runtime/framework-errors-internal"), exports);
|
|
49
49
|
__exportStar(require("./contracts/Configuration/Registration"), exports);
|
|
50
|
+
__exportStar(require("./contracts/Locations/Stores"), exports);
|
|
51
|
+
var InternalDefaults_1 = require("./contracts/Configuration/InternalDefaults");
|
|
52
|
+
Object.defineProperty(exports, "ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES", { enumerable: true, get: function () { return InternalDefaults_1.ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES; } });
|
|
53
|
+
var CoreTypes_1 = require("./contracts/Common/CoreTypes");
|
|
54
|
+
Object.defineProperty(exports, "ZLINK_MAX_STABLE_TYPE_BYTES", { enumerable: true, get: function () { return CoreTypes_1.ZLINK_MAX_STABLE_TYPE_BYTES; } });
|
|
55
|
+
var RegistrationBuilderPolicy_1 = require("./contracts/Configuration/RegistrationBuilderPolicy");
|
|
56
|
+
Object.defineProperty(exports, "MAX_LISTENER_PORT", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.MAX_LISTENER_PORT; } });
|
|
57
|
+
Object.defineProperty(exports, "ZLINK_MAX_PUBLIC_WEIGHT", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.ZLINK_MAX_PUBLIC_WEIGHT; } });
|
|
58
|
+
Object.defineProperty(exports, "ZLINK_MAX_CAPACITY", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.ZLINK_MAX_CAPACITY; } });
|
|
59
|
+
Object.defineProperty(exports, "isValidPublicWeight", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidPublicWeight; } });
|
|
60
|
+
Object.defineProperty(exports, "isValidPositiveCapacity", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidPositiveCapacity; } });
|
|
61
|
+
Object.defineProperty(exports, "isValidListenerPort", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidListenerPort; } });
|
|
62
|
+
Object.defineProperty(exports, "isValidCapacity", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.isValidCapacity; } });
|
|
63
|
+
Object.defineProperty(exports, "requirePublicWeight", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.requirePublicWeight; } });
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
export { ZLinkConfigurationException, createFrameworkRegistration, hasActorManager, hasSpotNode, hasSpotPublisherClient } from './contracts/Configuration/Registration';
|
|
1
|
+
export { ZLinkConfigurationException, createFrameworkRegistration, normalizeFrameworkRegistration, hasActorManager, hasSpotNode, hasSpotPublisherClient } from './contracts/Configuration/Registration';
|
|
2
2
|
export type * from './contracts/Configuration/RegistrationTypes';
|
|
3
3
|
export type * from './contracts';
|
|
4
|
-
export {
|
|
4
|
+
export { ZLinkSpotActorSend, ZLinkSpotActorRequest } from './contracts/Handlers/Attributes';
|
|
5
|
+
export { registerActorFactory, registerRelocationStore, validateRoutingIdPrefix, registerEntrySpot, registerSpotFactory, validateActorTransferTimeout, validateMessageFollowDuration, validateSessionReplacementCallbackTimeout } from './contracts/Configuration/RegistrationBuilderPolicy';
|
|
5
6
|
import type { ZLinkLocationRuntimeQuery, ZLinkActorClient, ZLinkActorManager, ZLinkChannelClient, ZLinkClientServerRuntime, ZLinkCodecRegistryBuilder, ZLinkCodecRegistrar, ZLinkDispatchOptions, ZLinkDispatchOptionsBuilder, ZLinkFanoutClient, ZLinkFanoutRuntime, ZLinkRouteClient, ZLinkRouteMeshRuntime, ZLinkRouteMeshRuntimeOptions, ZLinkSpotManager, ZLinkSpotOutbound, ZLinkSpotPublisherClient, ZLinkStreamCompressionBuilder, ZLinkStreamCompressionCodec } from './contracts';
|
|
6
7
|
import type { ZLinkProviderResolver } from './contracts/Common/ZLinkProviderResolver';
|
|
7
8
|
import type { ZLinkSpotHandleResolver } from './runtime/spots/spot-handle';
|
|
@@ -10,6 +11,7 @@ import type { ZLinkFrameworkRegistration } from './contracts/Configuration/Regis
|
|
|
10
11
|
import type { ZLinkCodecSerializerRegistration, ZLinkFrameworkRegistrationOptions, ZLinkStreamCodecRegistration } from './contracts/Configuration/RegistrationTypes';
|
|
11
12
|
import { captureZLinkExecutionTurn } from './runtime/execution';
|
|
12
13
|
export { registerHandlerFilterScope as registerIntegrationHandlerFilterScope, type ZLinkHandlerFilterScopeRunner } from './runtime/channels/handler-filter-scope';
|
|
14
|
+
export { disposeOwnedInstance as disposeIntegrationHandler, disposeOwnedInstances as disposeIntegrationHandlers } from './runtime/handlers/handler-instance-scope';
|
|
13
15
|
export interface ZLinkNestIntegrationRuntimeHost extends Pick<import('./contracts').ZLinkFrameworkRuntime, 'shutdown'> {
|
|
14
16
|
readonly channelRuntimeOptions: unknown;
|
|
15
17
|
readonly routeMeshRuntimeOptions: ZLinkRouteMeshRuntimeOptions;
|
package/dist/nest-integration.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.registerIntegrationHandlerFilterScope = exports.validateSessionReplacementCallbackTimeout = exports.validateMessageFollowDuration = exports.validateActorTransferTimeout = exports.registerSpotFactory = exports.registerEntrySpot = exports.validateRoutingIdPrefix = exports.registerActorFactory = exports.hasSpotPublisherClient = exports.hasSpotNode = exports.hasActorManager = exports.createFrameworkRegistration = exports.ZLinkConfigurationException = void 0;
|
|
3
|
+
exports.disposeIntegrationHandlers = exports.disposeIntegrationHandler = exports.registerIntegrationHandlerFilterScope = exports.validateSessionReplacementCallbackTimeout = exports.validateMessageFollowDuration = exports.validateActorTransferTimeout = exports.registerSpotFactory = exports.registerEntrySpot = exports.validateRoutingIdPrefix = exports.registerRelocationStore = exports.registerActorFactory = exports.ZLinkSpotActorRequest = exports.ZLinkSpotActorSend = exports.hasSpotPublisherClient = exports.hasSpotNode = exports.hasActorManager = exports.normalizeFrameworkRegistration = exports.createFrameworkRegistration = exports.ZLinkConfigurationException = void 0;
|
|
4
4
|
exports.createIntegrationDispatchOptionsBuilder = createIntegrationDispatchOptionsBuilder;
|
|
5
5
|
exports.createIntegrationInboundDispatchOptionsBuilder = createIntegrationInboundDispatchOptionsBuilder;
|
|
6
6
|
exports.createIntegrationLocationOptionsBuilder = createIntegrationLocationOptionsBuilder;
|
|
@@ -19,11 +19,16 @@ exports.createIntegrationHttpExecutionScheduler = createIntegrationHttpExecution
|
|
|
19
19
|
var Registration_1 = require("./contracts/Configuration/Registration");
|
|
20
20
|
Object.defineProperty(exports, "ZLinkConfigurationException", { enumerable: true, get: function () { return Registration_1.ZLinkConfigurationException; } });
|
|
21
21
|
Object.defineProperty(exports, "createFrameworkRegistration", { enumerable: true, get: function () { return Registration_1.createFrameworkRegistration; } });
|
|
22
|
+
Object.defineProperty(exports, "normalizeFrameworkRegistration", { enumerable: true, get: function () { return Registration_1.normalizeFrameworkRegistration; } });
|
|
22
23
|
Object.defineProperty(exports, "hasActorManager", { enumerable: true, get: function () { return Registration_1.hasActorManager; } });
|
|
23
24
|
Object.defineProperty(exports, "hasSpotNode", { enumerable: true, get: function () { return Registration_1.hasSpotNode; } });
|
|
24
25
|
Object.defineProperty(exports, "hasSpotPublisherClient", { enumerable: true, get: function () { return Registration_1.hasSpotPublisherClient; } });
|
|
26
|
+
var Attributes_1 = require("./contracts/Handlers/Attributes");
|
|
27
|
+
Object.defineProperty(exports, "ZLinkSpotActorSend", { enumerable: true, get: function () { return Attributes_1.ZLinkSpotActorSend; } });
|
|
28
|
+
Object.defineProperty(exports, "ZLinkSpotActorRequest", { enumerable: true, get: function () { return Attributes_1.ZLinkSpotActorRequest; } });
|
|
25
29
|
var RegistrationBuilderPolicy_1 = require("./contracts/Configuration/RegistrationBuilderPolicy");
|
|
26
30
|
Object.defineProperty(exports, "registerActorFactory", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerActorFactory; } });
|
|
31
|
+
Object.defineProperty(exports, "registerRelocationStore", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerRelocationStore; } });
|
|
27
32
|
Object.defineProperty(exports, "validateRoutingIdPrefix", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.validateRoutingIdPrefix; } });
|
|
28
33
|
Object.defineProperty(exports, "registerEntrySpot", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerEntrySpot; } });
|
|
29
34
|
Object.defineProperty(exports, "registerSpotFactory", { enumerable: true, get: function () { return RegistrationBuilderPolicy_1.registerSpotFactory; } });
|
|
@@ -40,6 +45,9 @@ const workers_1 = require("./runtime/workers");
|
|
|
40
45
|
const execution_1 = require("./runtime/execution");
|
|
41
46
|
var handler_filter_scope_1 = require("./runtime/channels/handler-filter-scope");
|
|
42
47
|
Object.defineProperty(exports, "registerIntegrationHandlerFilterScope", { enumerable: true, get: function () { return handler_filter_scope_1.registerHandlerFilterScope; } });
|
|
48
|
+
var handler_instance_scope_1 = require("./runtime/handlers/handler-instance-scope");
|
|
49
|
+
Object.defineProperty(exports, "disposeIntegrationHandler", { enumerable: true, get: function () { return handler_instance_scope_1.disposeOwnedInstance; } });
|
|
50
|
+
Object.defineProperty(exports, "disposeIntegrationHandlers", { enumerable: true, get: function () { return handler_instance_scope_1.disposeOwnedInstances; } });
|
|
43
51
|
function createIntegrationDispatchOptionsBuilder(dispatch) {
|
|
44
52
|
return new RegistrationBuilders_1.DefaultDispatchOptionsBuilder(dispatch);
|
|
45
53
|
}
|
|
@@ -59,14 +67,15 @@ function createIntegrationRuntimeHost(registration, providerResolver) {
|
|
|
59
67
|
return new host_1.ZLinkFrameworkRuntimeHost({ registration, providerResolver });
|
|
60
68
|
}
|
|
61
69
|
function createIntegrationChannelClient(registration, runtime) {
|
|
62
|
-
|
|
70
|
+
const host = runtimeHost(runtime);
|
|
71
|
+
return new channels_1.DefaultZLinkChannelClient(registration, host.channelTransport, host.routeTransport, host.spotRouterChannelIdForMesh);
|
|
63
72
|
}
|
|
64
73
|
function createIntegrationFanoutClient(registration, runtime) {
|
|
65
74
|
return new channels_1.DefaultZLinkFanoutClient(registration, runtimeHost(runtime).channelTransport);
|
|
66
75
|
}
|
|
67
76
|
function createIntegrationRouteClient(registration, runtime) {
|
|
68
77
|
const host = runtimeHost(runtime);
|
|
69
|
-
return new channels_1.DefaultZLinkRouteClient(registration, host.routeTransport, host.spotRouterChannelIdForMesh);
|
|
78
|
+
return new channels_1.DefaultZLinkRouteClient(registration, host.routeTransport, host.spotRouterChannelIdForMesh, host.channelTransport);
|
|
70
79
|
}
|
|
71
80
|
function createIntegrationSpotPublisherClient(registration, runtime) {
|
|
72
81
|
return new channels_1.DefaultZLinkSpotPublisherClient(registration, runtimeHost(runtime).spotPublisherTransport);
|
|
@@ -84,7 +93,7 @@ function createIntegrationActorManager(registration, runtime, providerResolver)
|
|
|
84
93
|
boundSessionFactory: runtimeOptions.boundSessionFactory ??
|
|
85
94
|
host.boundSessionFactory.create.bind(host.boundSessionFactory),
|
|
86
95
|
providerResolver
|
|
87
|
-
});
|
|
96
|
+
}, host.detachedTaskRunner());
|
|
88
97
|
host.setActorManager(manager);
|
|
89
98
|
return manager;
|
|
90
99
|
}
|
|
@@ -117,6 +126,7 @@ function createIntegrationSpotManager(registration, runtime, providerResolver) {
|
|
|
117
126
|
...(spotNode.spotActorRequestHandlers ?? [])
|
|
118
127
|
]),
|
|
119
128
|
...runtimeOptions,
|
|
129
|
+
detachedTaskRunner: host.detachedTaskRunner(),
|
|
120
130
|
spotRouteResolver: runtimeOptions.spotRouteResolver,
|
|
121
131
|
routedTransport: host.routeTransport,
|
|
122
132
|
providerResolver,
|
package/dist/runtime/abort.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export declare function isAbortError(error: unknown): boolean;
|
|
|
10
10
|
export declare function createDeadlineExceededError(message?: string): ZLinkDeadlineExceededError;
|
|
11
11
|
export declare function isDeadlineExceededError(error: unknown): boolean;
|
|
12
12
|
export declare function throwIfAborted(signal: AbortSignal | undefined): void;
|
|
13
|
+
export declare function macrotaskBoundary(): Promise<void>;
|
|
13
14
|
export declare function awaitWithAbort<T>(operation: Promise<T>, signal: AbortSignal | undefined, abortOperation?: () => void): Promise<T>;
|
package/dist/runtime/abort.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.isAbortError = isAbortError;
|
|
|
6
6
|
exports.createDeadlineExceededError = createDeadlineExceededError;
|
|
7
7
|
exports.isDeadlineExceededError = isDeadlineExceededError;
|
|
8
8
|
exports.throwIfAborted = throwIfAborted;
|
|
9
|
+
exports.macrotaskBoundary = macrotaskBoundary;
|
|
9
10
|
exports.awaitWithAbort = awaitWithAbort;
|
|
10
11
|
/** The typed cancellation error produced by Framework admission helpers. */
|
|
11
12
|
class ZLinkAbortError extends Error {
|
|
@@ -40,11 +41,10 @@ function throwIfAborted(signal) {
|
|
|
40
41
|
throw createAbortError();
|
|
41
42
|
}
|
|
42
43
|
}
|
|
44
|
+
function macrotaskBoundary() {
|
|
45
|
+
return new Promise((resolve) => setImmediate(resolve));
|
|
46
|
+
}
|
|
43
47
|
function awaitWithAbort(operation, signal, abortOperation) {
|
|
44
|
-
if (signal?.aborted === true) {
|
|
45
|
-
abortOperation?.();
|
|
46
|
-
throw createAbortError();
|
|
47
|
-
}
|
|
48
48
|
if (signal === undefined) {
|
|
49
49
|
return operation;
|
|
50
50
|
}
|
|
@@ -63,7 +63,6 @@ function awaitWithAbort(operation, signal, abortOperation) {
|
|
|
63
63
|
abortOperation?.();
|
|
64
64
|
reject(createAbortError());
|
|
65
65
|
};
|
|
66
|
-
signal.addEventListener('abort', abort, { once: true });
|
|
67
66
|
operation.then((value) => {
|
|
68
67
|
if (settle())
|
|
69
68
|
resolve(value);
|
|
@@ -71,5 +70,9 @@ function awaitWithAbort(operation, signal, abortOperation) {
|
|
|
71
70
|
if (settle())
|
|
72
71
|
reject(error);
|
|
73
72
|
});
|
|
73
|
+
if (signal.aborted)
|
|
74
|
+
abort();
|
|
75
|
+
else
|
|
76
|
+
signal.addEventListener('abort', abort, { once: true });
|
|
74
77
|
});
|
|
75
78
|
}
|
|
@@ -14,9 +14,8 @@ export interface ZLinkActivationConcurrency {
|
|
|
14
14
|
*/
|
|
15
15
|
export declare class ZLinkActivationAdmission {
|
|
16
16
|
private readonly limitOf;
|
|
17
|
-
private readonly changed?;
|
|
18
17
|
private readonly records;
|
|
19
|
-
constructor(limitOf: (meshName: string) => number
|
|
18
|
+
constructor(limitOf: (meshName: string) => number);
|
|
20
19
|
current(meshName: string): ZLinkActivationConcurrency;
|
|
21
20
|
hasHeadroom(meshName: string): boolean;
|
|
22
21
|
/**
|
|
@@ -13,11 +13,9 @@ const framework_errors_internal_1 = require("./framework-errors-internal");
|
|
|
13
13
|
*/
|
|
14
14
|
class ZLinkActivationAdmission {
|
|
15
15
|
limitOf;
|
|
16
|
-
changed;
|
|
17
16
|
records = new Map();
|
|
18
|
-
constructor(limitOf
|
|
17
|
+
constructor(limitOf) {
|
|
19
18
|
this.limitOf = limitOf;
|
|
20
|
-
this.changed = changed;
|
|
21
19
|
}
|
|
22
20
|
current(meshName) {
|
|
23
21
|
const record = this.records.get(meshName);
|
|
@@ -39,20 +37,18 @@ class ZLinkActivationAdmission {
|
|
|
39
37
|
throw (0, framework_errors_internal_1.createInternalFrameworkException)(framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PlacementCapacityExhausted, `MeshNode '${meshName}' has no activation admission headroom.`);
|
|
40
38
|
}
|
|
41
39
|
record.active += 1;
|
|
42
|
-
this.changed?.(meshName);
|
|
43
40
|
let released = false;
|
|
44
41
|
return () => {
|
|
45
42
|
if (released)
|
|
46
43
|
return;
|
|
47
44
|
released = true;
|
|
48
45
|
record.active -= 1;
|
|
49
|
-
this.changed?.(meshName);
|
|
50
46
|
};
|
|
51
47
|
}
|
|
52
48
|
record(meshName) {
|
|
53
49
|
let record = this.records.get(meshName);
|
|
54
50
|
if (record === undefined) {
|
|
55
|
-
record = {
|
|
51
|
+
record = { limit: this.limitOf(meshName), active: 0 };
|
|
56
52
|
this.records.set(meshName, record);
|
|
57
53
|
}
|
|
58
54
|
return record;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import { ZLinkSpotKind } from '../../contracts';
|
|
1
|
+
import { type RoutingId, ZLinkSpotKind } from '../../contracts';
|
|
3
2
|
export type ZLinkActorAuthorityState = 'creating' | 'ready';
|
|
4
3
|
export interface ZLinkActorAuthorityPayload {
|
|
5
4
|
readonly state: ZLinkActorAuthorityState;
|