@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
|
@@ -2,16 +2,17 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DefaultZLinkBoundSessionFactory = exports.DefaultZLinkBoundSession = exports.DefaultZLinkSessionActor = exports.DefaultZLinkSessionContext = void 0;
|
|
4
4
|
exports.createSessionDispatchContext = createSessionDispatchContext;
|
|
5
|
-
const framework_errors_internal_1 = require("../framework-errors-internal");
|
|
6
|
-
const submission_result_1 = require("../messaging/submission-result");
|
|
7
5
|
const Attributes_1 = require("../../contracts/Handlers/Attributes");
|
|
8
6
|
const abort_1 = require("../abort");
|
|
7
|
+
const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
|
|
9
8
|
const configuration_1 = require("../configuration");
|
|
9
|
+
const state_lane_1 = require("../execution/state-lane");
|
|
10
|
+
const framework_errors_internal_1 = require("../framework-errors-internal");
|
|
11
|
+
const submission_result_1 = require("../messaging/submission-result");
|
|
10
12
|
const protocol_1 = require("./protocol");
|
|
11
13
|
const session_calls_1 = require("./session-calls");
|
|
12
|
-
const session_requests_1 = require("./session-requests");
|
|
13
14
|
const session_local_actors_1 = require("./session-local-actors");
|
|
14
|
-
const
|
|
15
|
+
const session_requests_1 = require("./session-requests");
|
|
15
16
|
class DefaultZLinkSessionContext {
|
|
16
17
|
runtime;
|
|
17
18
|
stream;
|
|
@@ -305,21 +306,18 @@ class DefaultZLinkSessionActor {
|
|
|
305
306
|
}
|
|
306
307
|
this.currentRef = ref;
|
|
307
308
|
}
|
|
308
|
-
async relay(dispatchOrPayload,
|
|
309
|
+
async relay(dispatchOrPayload, selectedPayload) {
|
|
309
310
|
const dispatch = isSessionDispatchContext(dispatchOrPayload) ? dispatchOrPayload : undefined;
|
|
310
311
|
let payload;
|
|
311
|
-
let relaySignal;
|
|
312
312
|
let header;
|
|
313
313
|
if (dispatch === undefined) {
|
|
314
314
|
payload = dispatchOrPayload;
|
|
315
|
-
relaySignal = payloadOrSignal;
|
|
316
315
|
}
|
|
317
316
|
else {
|
|
318
|
-
payload =
|
|
319
|
-
relaySignal = signal;
|
|
317
|
+
payload = selectedPayload;
|
|
320
318
|
header = sessionDispatchHeader(dispatch);
|
|
321
319
|
}
|
|
322
|
-
const result = await this.runtime.relay(this, payload,
|
|
320
|
+
const result = await this.runtime.relay(this, payload, header);
|
|
323
321
|
(0, submission_result_1.requireOneWayCompletion)(result, 'Session Actor relay', framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorSessionNotBound);
|
|
324
322
|
}
|
|
325
323
|
notifyDisconnected(signal) {
|
|
@@ -393,3 +391,20 @@ function sameRetiredSession(left, right) {
|
|
|
393
391
|
left.sessionRid === right.sessionRid &&
|
|
394
392
|
left.retiredBindingGeneration === right.retiredBindingGeneration);
|
|
395
393
|
}
|
|
394
|
+
if ((0, state_lane_1.isStructuralGuardEnabled)()) {
|
|
395
|
+
const controlsGetter = Object.getOwnPropertyDescriptor(DefaultZLinkSessionContext.prototype, 'actorSlotControls')?.get;
|
|
396
|
+
if (controlsGetter !== undefined) {
|
|
397
|
+
Object.defineProperty(DefaultZLinkSessionContext.prototype, 'actorSlotControls', {
|
|
398
|
+
configurable: true,
|
|
399
|
+
get() {
|
|
400
|
+
const controls = controlsGetter.call(this);
|
|
401
|
+
if (controls === undefined)
|
|
402
|
+
return undefined;
|
|
403
|
+
return {
|
|
404
|
+
enqueueBound: (actorSlot, actorId) => (0, state_lane_1.guardStateLaneCompletion)((0, state_lane_1.trackDiagnosticCompletion)(controls.enqueueBound(actorSlot, actorId), `binding transport bound ${actorId}`), 'binding transport completion'),
|
|
405
|
+
enqueueUnbound: (actorSlot) => (0, state_lane_1.guardStateLaneCompletion)((0, state_lane_1.trackDiagnosticCompletion)(controls.enqueueUnbound(actorSlot), `binding transport unbound ${actorSlot}`), 'binding transport completion')
|
|
406
|
+
};
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZLinkSessionRequestTracker = exports.ZLinkPendingSessionRequest = void 0;
|
|
4
|
+
const stream_wire_1 = require("@zlink-systems/stream-wire");
|
|
4
5
|
const stream_message_utils_1 = require("./stream-message-utils");
|
|
5
6
|
class ZLinkPendingSessionRequest {
|
|
6
7
|
tracker;
|
|
@@ -92,7 +93,7 @@ class ZLinkSessionRequestTracker {
|
|
|
92
93
|
}
|
|
93
94
|
next() {
|
|
94
95
|
do {
|
|
95
|
-
this.nextRequestSeq = (this.nextRequestSeq + 1n) &
|
|
96
|
+
this.nextRequestSeq = (this.nextRequestSeq + 1n) & stream_wire_1.UINT64_MAX;
|
|
96
97
|
} while (this.nextRequestSeq === 0n);
|
|
97
98
|
return this.nextRequestSeq;
|
|
98
99
|
}
|
|
@@ -3,6 +3,7 @@ import type { ZLinkBackendActorSessionNode } from '../backend';
|
|
|
3
3
|
import type { ZLinkSubmitResult } from '../messaging/submission-result';
|
|
4
4
|
import type { DefaultZLinkSessionActor } from './session-context';
|
|
5
5
|
import type { ZLinkBoundSessionResponseTarget } from './bound-session-response-target';
|
|
6
|
+
import type { ServiceStreamSessionBinding } from '../foundation/service-runtime-contracts';
|
|
6
7
|
export interface ZLinkStreamActorLookupPort {
|
|
7
8
|
find(actorId: string): Promise<DefaultZLinkSessionActor | undefined>;
|
|
8
9
|
authorityFence(actorId: string): Promise<{
|
|
@@ -44,8 +45,22 @@ export interface ZLinkBoundSessionResponsePort {
|
|
|
44
45
|
sendLocalBoundSessionResponse(actorId: string, packetName: string, requestSeq: bigint, message: unknown, metadata: ReadonlyMap<string, string>, compressPayload: boolean): Promise<boolean>;
|
|
45
46
|
sendLocalBoundSessionError(actorId: string, packetName: string, requestSeq: bigint, error: unknown, metadata: ReadonlyMap<string, string>): Promise<boolean>;
|
|
46
47
|
}
|
|
48
|
+
/**
|
|
49
|
+
* Session–Actor binding §5: the Session owner's registry snapshot travels with
|
|
50
|
+
* the bind confirmation so a same-node Actor owner installs the same identity a
|
|
51
|
+
* remote command 38 would carry.
|
|
52
|
+
*/
|
|
53
|
+
export interface ZLinkSessionBindingConfirmationOptions {
|
|
54
|
+
readonly waitForAcknowledgement?: boolean;
|
|
55
|
+
readonly binding?: ServiceStreamSessionBinding;
|
|
56
|
+
}
|
|
57
|
+
/** The exact Session binding identity a relocation validated (§8.1). */
|
|
58
|
+
export interface ZLinkSessionBindingIdentity {
|
|
59
|
+
readonly sessionRid: string;
|
|
60
|
+
readonly bindingGeneration: bigint;
|
|
61
|
+
}
|
|
47
62
|
export interface ZLinkRemoteBoundSessionPort extends ZLinkStreamActorLifecyclePort {
|
|
48
|
-
|
|
63
|
+
closeSessionBinding(actorId: string, expected: ZLinkSessionBindingIdentity, signal?: AbortSignal): Promise<void>;
|
|
49
64
|
sendLocalBoundSession(actorId: string, message: unknown, packetName: string | undefined, metadata: ReadonlyMap<string, string>): Promise<boolean>;
|
|
50
65
|
sendLocalBoundSessionResponse(actorId: string, packetName: string, requestSeq: bigint, message: unknown, metadata: ReadonlyMap<string, string>, compressPayload: boolean): Promise<boolean>;
|
|
51
66
|
sendLocalBoundSessionError(actorId: string, packetName: string, requestSeq: bigint, error: unknown, metadata: ReadonlyMap<string, string>): Promise<boolean>;
|
|
@@ -3,12 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.zlinkStreamLz4CompressionCodec = exports.ZLinkStreamFrameMessageFactory = void 0;
|
|
4
4
|
exports.resolveStreamCompressionCodec = resolveStreamCompressionCodec;
|
|
5
5
|
exports.decompressStreamPayload = decompressStreamPayload;
|
|
6
|
+
const stream_wire_1 = require("@zlink-systems/stream-wire");
|
|
6
7
|
const runtime_message_1 = require("../backend/runtime-message");
|
|
7
8
|
const flow_context_1 = require("../diagnostics/flow-context");
|
|
8
9
|
const framework_json_v1_1 = require("../messaging/framework-json-v1");
|
|
9
10
|
const Attributes_1 = require("../../contracts/Handlers/Attributes");
|
|
10
11
|
const protocol_1 = require("./protocol");
|
|
11
|
-
const DEFAULT_MAX_DECOMPRESSED_STREAM_PAYLOAD_SIZE = 64 * 1024;
|
|
12
12
|
class ZLinkStreamFrameMessageFactory {
|
|
13
13
|
options;
|
|
14
14
|
compressionCodec;
|
|
@@ -130,7 +130,7 @@ function compressStreamPayload(payload, codec) {
|
|
|
130
130
|
throw new Error(`Compression failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
function decompressStreamPayload(payload, codec, maxDecompressedSize =
|
|
133
|
+
function decompressStreamPayload(payload, codec, maxDecompressedSize = stream_wire_1.defaultMaxDecompressedPayloadSize) {
|
|
134
134
|
if (codec === undefined) {
|
|
135
135
|
throw new Error('Compression codec is not configured.');
|
|
136
136
|
}
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { ZLinkMessageSerializer, ZLinkSession } from '../../contracts';
|
|
2
|
-
import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
|
|
3
2
|
import type { Message } from '../../contracts/Common/Message';
|
|
4
|
-
import {
|
|
5
|
-
import type
|
|
6
|
-
import type {
|
|
3
|
+
import type { ZLinkProviderResolver } from '../../contracts/Common/ZLinkProviderResolver';
|
|
4
|
+
import { type ZLinkApplicationWorkClaim } from '../admission';
|
|
5
|
+
import type { ApplicationJobPermitPort, ApplicationJobQueuePort } from '../application-jobs/contracts';
|
|
6
|
+
import type { ZLinkBackendReadablePoller, ZLinkBackendSocketMonitor, ZLinkBackendStreamPacket, ZLinkBackendStreamSocket } from '../backend/contracts';
|
|
7
7
|
import type { ZLinkMeshCompletionTable } from '../backend/mesh-completion-table';
|
|
8
|
+
import { ZLinkDispatchErrorReporter } from '../channels';
|
|
9
|
+
import { type ZLinkRuntimeMetrics } from '../diagnostics';
|
|
8
10
|
import type { StreamSessionService } from '../foundation/service-runtime-contracts';
|
|
9
|
-
import { type ZLinkStreamFrameHeader } from './protocol';
|
|
10
|
-
import { ZLinkManagedStream, type ZLinkNativeSessionRoute } from './managed-stream';
|
|
11
|
-
import { DefaultZLinkSessionContext } from './session-context';
|
|
12
|
-
import type { ZLinkApplicationWorkClaim } from '../admission';
|
|
13
11
|
import type { ServiceActorRef } from '../foundation/service-stateful-registry';
|
|
14
12
|
import type { ServiceRetiredBoundSessionRouteFence } from '../foundation/service-stateful-wire-codec';
|
|
15
|
-
import
|
|
13
|
+
import { ZLinkManagedStream, type ZLinkNativeSessionRoute } from './managed-stream';
|
|
14
|
+
import { type ZLinkStreamFrameHeader } from './protocol';
|
|
15
|
+
import { DefaultZLinkSessionContext } from './session-context';
|
|
16
16
|
interface ZLinkStreamLivenessClock {
|
|
17
17
|
now(): number;
|
|
18
18
|
setTimer(callback: () => void, delayMs: number): unknown;
|
|
@@ -67,7 +67,7 @@ export declare class ZLinkStreamSessionRuntime {
|
|
|
67
67
|
private metricsClosed;
|
|
68
68
|
private readonly livenessClock;
|
|
69
69
|
private lastApplicationActivityAt;
|
|
70
|
-
private
|
|
70
|
+
private lastInboundFrameAt;
|
|
71
71
|
private livenessTimer;
|
|
72
72
|
constructor(options: ZLinkStreamSessionRuntimeOptions & ZLinkStreamLivenessOptions, routingId: unknown, removeSession?: (sessionId: string, session: ZLinkStreamSessionRuntime) => void);
|
|
73
73
|
get session(): Promise<ZLinkSession>;
|
|
@@ -125,7 +125,6 @@ export declare class ZLinkStreamSessionNodeRuntime {
|
|
|
125
125
|
private readonly unaddressedMonitorSessions;
|
|
126
126
|
private unaddressedMonitorSessionHead;
|
|
127
127
|
private unaddressedMonitorSessionCount;
|
|
128
|
-
private readonly disconnectedEndpoints;
|
|
129
128
|
private pendingEndpointlessDisconnect;
|
|
130
129
|
private activityVersion;
|
|
131
130
|
private stopped;
|
|
@@ -1,29 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ZLinkStreamSessionNodeRuntime = exports.ZLinkStreamSessionRuntime = void 0;
|
|
4
|
-
const
|
|
5
|
-
const internal_event_contracts_1 = require("../diagnostics/internal-event-contracts");
|
|
4
|
+
const Registration_1 = require("../../contracts/Configuration/Registration");
|
|
6
5
|
const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
|
|
7
6
|
const abort_1 = require("../abort");
|
|
7
|
+
const admission_1 = require("../admission");
|
|
8
|
+
const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
|
|
8
9
|
const channels_1 = require("../channels");
|
|
9
|
-
const bound_session_response_target_1 = require("./bound-session-response-target");
|
|
10
10
|
const diagnostics_1 = require("../diagnostics");
|
|
11
|
-
const payload_codec_1 = require("../messaging/payload-codec");
|
|
12
|
-
const protocol_1 = require("./protocol");
|
|
13
11
|
const flow_context_1 = require("../diagnostics/flow-context");
|
|
12
|
+
const internal_event_contracts_1 = require("../diagnostics/internal-event-contracts");
|
|
13
|
+
const runtime_metrics_1 = require("../diagnostics/runtime-metrics");
|
|
14
|
+
const framework_errors_internal_1 = require("../framework-errors-internal");
|
|
15
|
+
const payload_codec_1 = require("../messaging/payload-codec");
|
|
16
|
+
const bound_session_response_target_1 = require("./bound-session-response-target");
|
|
14
17
|
const managed_stream_1 = require("./managed-stream");
|
|
18
|
+
const protocol_1 = require("./protocol");
|
|
15
19
|
const session_context_1 = require("./session-context");
|
|
16
20
|
const session_serial_executor_1 = require("./session-serial-executor");
|
|
17
21
|
const stream_message_utils_1 = require("./stream-message-utils");
|
|
18
|
-
const application_job_queue_scope_1 = require("../application-jobs/application-job-queue-scope");
|
|
19
|
-
const application_job_queue_scope_2 = require("../application-jobs/application-job-queue-scope");
|
|
20
22
|
const ZLINK_SEND_DONT_WAIT = 1;
|
|
21
23
|
const ZLINK_RECV_DONT_WAIT = 1;
|
|
22
24
|
const ZLINK_STREAM_HEARTBEAT_INTERVAL_MS = 1_000;
|
|
23
25
|
const ZLINK_STREAM_HEARTBEAT_TIMEOUT_MS = 5_000;
|
|
24
26
|
const ZLINK_STREAM_APPLICATION_IDLE_TIMEOUT_MS = 30_000;
|
|
25
27
|
const ZLINK_STREAM_RECEIVE_FRAME_BATCH_LIMIT = 64;
|
|
26
|
-
const ZLINK_STREAM_ACTOR_BINDING_REPLACEMENT_CALLBACK_TIMEOUT_MS = 30_000;
|
|
27
28
|
const ZLINK_STREAM_ACTOR_BINDING_REPLACEMENT_CLOSE_DELAY_MS = 100;
|
|
28
29
|
const ZLINK_STREAM_MONITOR_IDLE_MIN_DELAY_MS = 1;
|
|
29
30
|
const ZLINK_STREAM_MONITOR_IDLE_MAX_DELAY_MS = 20;
|
|
@@ -69,7 +70,7 @@ class ZLinkStreamSessionRuntime {
|
|
|
69
70
|
metricsClosed = false;
|
|
70
71
|
livenessClock;
|
|
71
72
|
lastApplicationActivityAt = 0;
|
|
72
|
-
|
|
73
|
+
lastInboundFrameAt = 0;
|
|
73
74
|
livenessTimer;
|
|
74
75
|
constructor(options, routingId, removeSession = () => { }) {
|
|
75
76
|
this.options = options;
|
|
@@ -114,6 +115,7 @@ class ZLinkStreamSessionRuntime {
|
|
|
114
115
|
this.serial.executeInfrastructure(async () => this.markConnected(localAddr, remoteAddr));
|
|
115
116
|
}
|
|
116
117
|
enqueuePacket(payload, decodedHeader, terminalOwner, applicationJobPermit) {
|
|
118
|
+
this.lastInboundFrameAt = Math.max(this.lastInboundFrameAt, this.livenessClock.now());
|
|
117
119
|
let terminalReleased = false;
|
|
118
120
|
const releaseTerminal = () => {
|
|
119
121
|
if (terminalReleased)
|
|
@@ -248,7 +250,7 @@ class ZLinkStreamSessionRuntime {
|
|
|
248
250
|
}
|
|
249
251
|
forcedClose = true;
|
|
250
252
|
void this.close().catch((error) => this.options.onError?.(error));
|
|
251
|
-
}, this.options.replacementCallbackTimeoutMs ??
|
|
253
|
+
}, this.options.replacementCallbackTimeoutMs ?? Registration_1.DEFAULT_SESSION_REPLACEMENT_CALLBACK_TIMEOUT_MS);
|
|
252
254
|
const callback = session.onActorBindingReplaced;
|
|
253
255
|
if (callback === undefined) {
|
|
254
256
|
completeCallback();
|
|
@@ -309,10 +311,12 @@ class ZLinkStreamSessionRuntime {
|
|
|
309
311
|
return;
|
|
310
312
|
}
|
|
311
313
|
this.connected = true;
|
|
312
|
-
|
|
314
|
+
const connectedAt = this.livenessClock.now();
|
|
315
|
+
this.lastApplicationActivityAt = connectedAt;
|
|
316
|
+
this.lastInboundFrameAt = Math.max(this.lastInboundFrameAt, connectedAt);
|
|
313
317
|
this.scheduleLivenessCheck();
|
|
314
|
-
this.options.metrics?.change(
|
|
315
|
-
this.options.metrics?.count(
|
|
318
|
+
this.options.metrics?.change(runtime_metrics_1.METRIC_NAMES.StreamConnectionsActive, 1, { transport: 'tcp' });
|
|
319
|
+
this.options.metrics?.count(runtime_metrics_1.METRIC_NAMES.StreamConnectionsOpened, 1, { transport: 'tcp' });
|
|
316
320
|
const session = await this.requireSession();
|
|
317
321
|
await session.onConnected?.(this.context);
|
|
318
322
|
}
|
|
@@ -389,7 +393,7 @@ class ZLinkStreamSessionRuntime {
|
|
|
389
393
|
correlationId: streamCorr,
|
|
390
394
|
sourceRid: this.context.routingId === undefined ? undefined : String(this.context.routingId)
|
|
391
395
|
});
|
|
392
|
-
(0,
|
|
396
|
+
(0, application_job_queue_scope_1.releaseApplicationJobPermitBeforeHandler)();
|
|
393
397
|
(0, diagnostics_1.flowIfEnabled)(this.options.dispatchErrors?.flow, ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dispatched)?.trace({
|
|
394
398
|
outcome: ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Dispatched,
|
|
395
399
|
surface: ZLinkDispatchOptions_1.ZLinkDispatchErrorSurface.StreamSession,
|
|
@@ -450,7 +454,6 @@ class ZLinkStreamSessionRuntime {
|
|
|
450
454
|
return;
|
|
451
455
|
}
|
|
452
456
|
if (header.name === protocol_1.ZLINK_STREAM_HEARTBEAT_PONG) {
|
|
453
|
-
this.awaitingPongSince = undefined;
|
|
454
457
|
return;
|
|
455
458
|
}
|
|
456
459
|
if (header.name === protocol_1.ZLINK_STREAM_HEARTBEAT_PING) {
|
|
@@ -477,13 +480,11 @@ class ZLinkStreamSessionRuntime {
|
|
|
477
480
|
await this.closeForLiveness(protocol_1.ZLinkStreamCloseReasonCode.IdleTimeout, 'idle_timeout', 'Application idle timeout.');
|
|
478
481
|
return;
|
|
479
482
|
}
|
|
480
|
-
if (this.
|
|
481
|
-
now - this.awaitingPongSince >= ZLINK_STREAM_HEARTBEAT_TIMEOUT_MS) {
|
|
483
|
+
if (now - this.lastInboundFrameAt >= ZLINK_STREAM_HEARTBEAT_TIMEOUT_MS) {
|
|
482
484
|
await this.closeForLiveness(protocol_1.ZLinkStreamCloseReasonCode.HeartbeatTimeout, 'heartbeat_timeout', 'Heartbeat timeout.');
|
|
483
485
|
return;
|
|
484
486
|
}
|
|
485
487
|
await this.stream.writeControl(protocol_1.ZLINK_STREAM_HEARTBEAT_PING);
|
|
486
|
-
this.awaitingPongSince ??= now;
|
|
487
488
|
this.scheduleLivenessCheck();
|
|
488
489
|
}
|
|
489
490
|
async closeForLiveness(reason, closeReason, diagnostic) {
|
|
@@ -592,8 +593,8 @@ class ZLinkStreamSessionRuntime {
|
|
|
592
593
|
async cleanup() {
|
|
593
594
|
if (this.connected && !this.metricsClosed) {
|
|
594
595
|
this.metricsClosed = true;
|
|
595
|
-
this.options.metrics?.change(
|
|
596
|
-
this.options.metrics?.count(
|
|
596
|
+
this.options.metrics?.change(runtime_metrics_1.METRIC_NAMES.StreamConnectionsActive, -1, { transport: 'tcp' });
|
|
597
|
+
this.options.metrics?.count(runtime_metrics_1.METRIC_NAMES.StreamConnectionsClosed, 1, {
|
|
597
598
|
transport: 'tcp',
|
|
598
599
|
close_reason: normalizeStreamCloseReason(this.closeReason)
|
|
599
600
|
});
|
|
@@ -688,7 +689,6 @@ class ZLinkStreamSessionNodeRuntime {
|
|
|
688
689
|
unaddressedMonitorSessions = [];
|
|
689
690
|
unaddressedMonitorSessionHead = 0;
|
|
690
691
|
unaddressedMonitorSessionCount = 0;
|
|
691
|
-
disconnectedEndpoints = new Set();
|
|
692
692
|
pendingEndpointlessDisconnect;
|
|
693
693
|
activityVersion = 0;
|
|
694
694
|
stopped = false;
|
|
@@ -945,18 +945,13 @@ class ZLinkStreamSessionNodeRuntime {
|
|
|
945
945
|
}
|
|
946
946
|
switch (event.nativeEvent) {
|
|
947
947
|
case internal_event_contracts_1.ZLinkSocketNativeEventType.ConnectionReady:
|
|
948
|
+
if (!event.readyEdge)
|
|
949
|
+
return;
|
|
948
950
|
this.activityVersion += 1;
|
|
949
|
-
{
|
|
950
|
-
const endpointKey = streamMonitorEndpointKey(event.localAddr, event.remoteAddr);
|
|
951
|
-
if (this.disconnectedEndpoints.delete(endpointKey)) {
|
|
952
|
-
return;
|
|
953
|
-
}
|
|
954
|
-
}
|
|
955
951
|
if (event.routingId === undefined) {
|
|
956
952
|
const endpointKey = streamMonitorEndpointKey(event.localAddr, event.remoteAddr);
|
|
957
953
|
const unaddressed = this.firstUnaddressedSession();
|
|
958
954
|
if (unaddressed !== undefined) {
|
|
959
|
-
this.disconnectedEndpoints.delete(endpointKey);
|
|
960
955
|
unaddressed.enqueueConnected(event.localAddr, event.remoteAddr);
|
|
961
956
|
this.enqueueUnaddressedMonitorSession(unaddressed.stream.sessionId);
|
|
962
957
|
return;
|
|
@@ -976,7 +971,6 @@ class ZLinkStreamSessionNodeRuntime {
|
|
|
976
971
|
case internal_event_contracts_1.ZLinkSocketNativeEventType.Disconnected:
|
|
977
972
|
{
|
|
978
973
|
const endpointKey = streamMonitorEndpointKey(event.localAddr, event.remoteAddr);
|
|
979
|
-
this.disconnectedEndpoints.add(endpointKey);
|
|
980
974
|
this.removePendingConnectionMetadata(endpointKey);
|
|
981
975
|
const session = this.resolveMonitorSession(event);
|
|
982
976
|
const error = new Error(`Stream disconnected: ${event.nativeEvent}/${event.value}`);
|
|
@@ -1035,8 +1029,7 @@ class ZLinkStreamSessionNodeRuntime {
|
|
|
1035
1029
|
this.pendingConnectionMetadata.length = 0;
|
|
1036
1030
|
this.pendingConnectionMetadataHead = 0;
|
|
1037
1031
|
}
|
|
1038
|
-
else if (this.pendingConnectionMetadataHead
|
|
1039
|
-
this.pendingConnectionMetadataHead * 2 >= this.pendingConnectionMetadata.length) {
|
|
1032
|
+
else if ((0, admission_1.shouldCompactBackingArray)(this.pendingConnectionMetadataHead, this.pendingConnectionMetadata.length)) {
|
|
1040
1033
|
this.pendingConnectionMetadata.splice(0, this.pendingConnectionMetadataHead);
|
|
1041
1034
|
this.pendingConnectionMetadataHead = 0;
|
|
1042
1035
|
}
|
|
@@ -1060,8 +1053,7 @@ class ZLinkStreamSessionNodeRuntime {
|
|
|
1060
1053
|
this.unaddressedMonitorSessions.length = 0;
|
|
1061
1054
|
this.unaddressedMonitorSessionHead = 0;
|
|
1062
1055
|
}
|
|
1063
|
-
else if (this.unaddressedMonitorSessionHead
|
|
1064
|
-
this.unaddressedMonitorSessionHead * 2 >= this.unaddressedMonitorSessions.length) {
|
|
1056
|
+
else if ((0, admission_1.shouldCompactBackingArray)(this.unaddressedMonitorSessionHead, this.unaddressedMonitorSessions.length)) {
|
|
1065
1057
|
this.unaddressedMonitorSessions.splice(0, this.unaddressedMonitorSessionHead);
|
|
1066
1058
|
this.unaddressedMonitorSessionHead = 0;
|
|
1067
1059
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type
|
|
2
|
-
import type
|
|
1
|
+
import { type ZLinkWorkerCall } from '../../contracts';
|
|
2
|
+
import { type ZLinkWorkerOptions } from '../configuration';
|
|
3
3
|
export type ZLinkCpuWorkerWork<T> = (signal: AbortSignal) => T;
|
|
4
4
|
export type ZLinkIoWorkerWork<T> = (signal: AbortSignal) => Promise<T>;
|
|
5
5
|
export interface ZLinkWorkerRuntimeOptions {
|
|
@@ -3,12 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.DefaultZLinkWorkerCall = exports.ZLinkWorkerRuntime = void 0;
|
|
4
4
|
exports.resolveWorkerRuntimeOptions = resolveWorkerRuntimeOptions;
|
|
5
5
|
exports.deliverOnSerial = deliverOnSerial;
|
|
6
|
-
const framework_errors_internal_1 = require("../framework-errors-internal");
|
|
7
6
|
const node_worker_threads_1 = require("node:worker_threads");
|
|
8
|
-
const configuration_1 = require("../configuration");
|
|
9
7
|
const InternalDefaults_1 = require("../../contracts/Configuration/InternalDefaults");
|
|
10
8
|
const abort_1 = require("../abort");
|
|
9
|
+
const admission_1 = require("../admission");
|
|
10
|
+
const configuration_1 = require("../configuration");
|
|
11
11
|
const execution_1 = require("../execution");
|
|
12
|
+
const framework_errors_internal_1 = require("../framework-errors-internal");
|
|
12
13
|
function resolveWorkerRuntimeOptions(options) {
|
|
13
14
|
const resolved = {
|
|
14
15
|
minThreads: options?.minThreads ?? InternalDefaults_1.DEFAULT_WORKER_MIN_THREADS,
|
|
@@ -264,7 +265,7 @@ class ZLinkCpuWorkerPool {
|
|
|
264
265
|
this.queue.length = 0;
|
|
265
266
|
this.queueHead = 0;
|
|
266
267
|
}
|
|
267
|
-
else if (
|
|
268
|
+
else if ((0, admission_1.shouldCompactBackingArray)(this.queueHead, this.queue.length)) {
|
|
268
269
|
this.queue.splice(0, this.queueHead);
|
|
269
270
|
this.queueHead = 0;
|
|
270
271
|
}
|
|
@@ -284,7 +285,7 @@ class ZLinkCpuWorkerPool {
|
|
|
284
285
|
while (this.queueHead < this.queue.length && this.queue[this.queueHead] === undefined) {
|
|
285
286
|
this.queueHead += 1;
|
|
286
287
|
}
|
|
287
|
-
if (
|
|
288
|
+
if ((0, admission_1.shouldCompactBackingArray)(this.queueHead, this.queue.length)) {
|
|
288
289
|
this.queue.splice(0, this.queueHead);
|
|
289
290
|
this.queueHead = 0;
|
|
290
291
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zlink-systems/framework",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.28.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@opentelemetry/api": "^1.9.1",
|
|
21
21
|
"@opentelemetry/api-logs": "^0.221.0",
|
|
22
|
-
"@zlink-systems/stream-wire": "0.
|
|
23
|
-
"@zlink-systems/zlink": "1.
|
|
22
|
+
"@zlink-systems/stream-wire": "0.28.0",
|
|
23
|
+
"@zlink-systems/zlink": "1.15.0"
|
|
24
24
|
}
|
|
25
25
|
}
|
|
@@ -3,7 +3,7 @@ import type { ZLinkMessageMetadata } from '../Common';
|
|
|
3
3
|
export interface ZLinkSendCall {
|
|
4
4
|
metadata(key: string, value: string): this;
|
|
5
5
|
metadata(metadata: ZLinkMessageMetadata): this;
|
|
6
|
-
submit(
|
|
6
|
+
submit(): Promise<void>;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export interface ZLinkRequestCall {
|
|
@@ -4,3 +4,10 @@ export type RoutingId = string;
|
|
|
4
4
|
export type ActorId = string;
|
|
5
5
|
/** Global logical Spot identity. It is not a transport RoutingId. */
|
|
6
6
|
export type SpotId = string;
|
|
7
|
+
|
|
8
|
+
export const ZLINK_MAX_ACTOR_ID_BYTES = 255;
|
|
9
|
+
export const ZLINK_MAX_SPOT_ID_BYTES = 255;
|
|
10
|
+
export const ZLINK_MAX_ROUTING_ID_BYTES = 255;
|
|
11
|
+
export const ZLINK_MAX_STABLE_TYPE_BYTES = 255;
|
|
12
|
+
export const ZLINK_MAX_MESH_NAME_BYTES = 255;
|
|
13
|
+
export const ZLINK_MAX_IDENTITY_TEXT_BYTES = 255;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './ActorRef';
|
|
2
|
-
export
|
|
2
|
+
export type { Type, RoutingId, ActorId, SpotId } from './CoreTypes';
|
|
3
3
|
export * from './ZLinkEncodedPayload';
|
|
4
4
|
export * from './ZLinkMessageMetadata';
|
|
5
5
|
export { ZLinkMessage, isZLinkMessage } from './ZLinkMessage';
|
|
@@ -3,6 +3,12 @@ import * as os from 'node:os';
|
|
|
3
3
|
/** Default complete header plus payload size accepted by a StreamNode. */
|
|
4
4
|
export const DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE = 64 * 1024;
|
|
5
5
|
|
|
6
|
+
/** service-wire 스키마가 정한 relocation chunk payload의 바이트 상한입니다. */
|
|
7
|
+
export const RELOCATION_STATE_CHUNK_DATA_MAX_BYTES = 67_108_864;
|
|
8
|
+
|
|
9
|
+
/** Default MeshNode pending activation limit (spec 03-mesh-node §5.1). */
|
|
10
|
+
export const DEFAULT_ACTIVATION_CONCURRENCY_LIMIT = 128;
|
|
11
|
+
|
|
6
12
|
/** Defaults shared by registration normalization and the runtime worker pool. */
|
|
7
13
|
export const DEFAULT_WORKER_MIN_THREADS = 0;
|
|
8
14
|
export const DEFAULT_WORKER_IDLE_TIMEOUT_MS = 30_000;
|
|
@@ -10,3 +16,9 @@ export const DEFAULT_WORKER_IDLE_TIMEOUT_MS = 30_000;
|
|
|
10
16
|
export function defaultWorkerMaxThreads(): number {
|
|
11
17
|
return Math.max(2, os.availableParallelism());
|
|
12
18
|
}
|
|
19
|
+
|
|
20
|
+
export const ZLINK_RELOCATION_MAX_BLOB_REFERENCE_BYTES = 4096;
|
|
21
|
+
|
|
22
|
+
export const AUTHORITY_ENVELOPE_MAX_BYTES = 1024 * 1024;
|
|
23
|
+
export const CREATION_INTENT_MAX_BYTES = 1024 * 1024;
|
|
24
|
+
export const CREATION_TERMINAL_ENVELOPE_MAX_BYTES = 1024 * 1024;
|