@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,3 +1,6 @@
|
|
|
1
|
+
import { ZLinkRuntimeDispatchErrorReason as ZLinkDispatchErrorReason } from '../../contracts/Dispatch/ZLinkDispatchOptions';
|
|
2
|
+
export declare function dispatchReasonFromError(error: unknown): ZLinkDispatchErrorReason;
|
|
3
|
+
export declare const ERROR_MESSAGE_MAX_LENGTH = 512;
|
|
1
4
|
export declare function dispatchErrorDetails(error: unknown): {
|
|
2
5
|
readonly errorType?: string;
|
|
3
6
|
readonly errorMessage?: string;
|
|
@@ -1,7 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ERROR_MESSAGE_MAX_LENGTH = void 0;
|
|
4
|
+
exports.dispatchReasonFromError = dispatchReasonFromError;
|
|
3
5
|
exports.dispatchErrorDetails = dispatchErrorDetails;
|
|
4
|
-
const
|
|
6
|
+
const ZLinkFrameworkException_1 = require("../../contracts/Errors/ZLinkFrameworkException");
|
|
7
|
+
const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
|
|
8
|
+
const framework_errors_internal_1 = require("../framework-errors-internal");
|
|
9
|
+
function dispatchReasonFromError(error) {
|
|
10
|
+
if (!(error instanceof ZLinkFrameworkException_1.ZLinkFrameworkException))
|
|
11
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerException;
|
|
12
|
+
const origin = (0, framework_errors_internal_1.internalFrameworkErrorKind)(error);
|
|
13
|
+
if (origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.PayloadDecodeFailed)
|
|
14
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.PayloadDecodeFailed;
|
|
15
|
+
if (origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotGenerationStale ||
|
|
16
|
+
origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorGenerationStale ||
|
|
17
|
+
origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.SpotMoving ||
|
|
18
|
+
origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorMoving ||
|
|
19
|
+
origin === framework_errors_internal_1.ZLinkFrameworkInternalErrorKind.ActorLocationStale)
|
|
20
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.StaleTarget;
|
|
21
|
+
switch (error.kind) {
|
|
22
|
+
case ZLinkFrameworkException_1.ZLinkFrameworkErrorKind.NotFound:
|
|
23
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerMissing;
|
|
24
|
+
case ZLinkFrameworkException_1.ZLinkFrameworkErrorKind.ProtocolError:
|
|
25
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.InvalidFrame;
|
|
26
|
+
case ZLinkFrameworkException_1.ZLinkFrameworkErrorKind.ShuttingDown:
|
|
27
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.Shutdown;
|
|
28
|
+
default:
|
|
29
|
+
return ZLinkDispatchOptions_1.ZLinkRuntimeDispatchErrorReason.HandlerException;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.ERROR_MESSAGE_MAX_LENGTH = 512;
|
|
5
33
|
const CREDENTIAL_PATTERNS = [
|
|
6
34
|
[/Authorization\s*:\s*(?:(?:Bearer|Basic)\s+)?[^\s,;]+/gi, 'Authorization: <redacted>'],
|
|
7
35
|
[/Bearer\s+[^\s,;]+/gi, 'Bearer <redacted>'],
|
|
@@ -51,5 +79,5 @@ function sanitizeErrorMessage(message) {
|
|
|
51
79
|
pattern.lastIndex = 0;
|
|
52
80
|
sanitized = sanitized.replace(pattern, replacement);
|
|
53
81
|
}
|
|
54
|
-
return sanitized.slice(0, ERROR_MESSAGE_MAX_LENGTH);
|
|
82
|
+
return sanitized.slice(0, exports.ERROR_MESSAGE_MAX_LENGTH);
|
|
55
83
|
}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import type { ZLinkFlowOrigin } from '../../contracts';
|
|
2
|
+
/**
|
|
3
|
+
* Spec 27 §3 defines the flow_origin value set as lowercase
|
|
4
|
+
* (`inbound|timer|application|lifecycle`); every language emits these exact
|
|
5
|
+
* strings so records remain comparable across runtimes (spec 26 §3.1).
|
|
6
|
+
*/
|
|
7
|
+
export declare const FLOW_ORIGIN_VALUES: Readonly<Record<ZLinkFlowOrigin, string>>;
|
|
2
8
|
export interface ZLinkFlowContextValue {
|
|
3
9
|
readonly flowId: string;
|
|
4
10
|
readonly flowOrigin: ZLinkFlowOrigin;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FLOW_ORIGIN_VALUES = void 0;
|
|
3
4
|
exports.currentFlowContext = currentFlowContext;
|
|
4
5
|
exports.currentOrCreateFlow = currentOrCreateFlow;
|
|
5
6
|
exports.runWithFlow = runWithFlow;
|
|
@@ -7,6 +8,19 @@ exports.runWithOutboundFlow = runWithOutboundFlow;
|
|
|
7
8
|
exports.createInboundFlow = createInboundFlow;
|
|
8
9
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
9
10
|
const node_crypto_1 = require("node:crypto");
|
|
11
|
+
const FLOW_UUID_BYTES = 16;
|
|
12
|
+
const FLOW_UUID_VARIANT_BYTE = 8;
|
|
13
|
+
/**
|
|
14
|
+
* Spec 27 §3 defines the flow_origin value set as lowercase
|
|
15
|
+
* (`inbound|timer|application|lifecycle`); every language emits these exact
|
|
16
|
+
* strings so records remain comparable across runtimes (spec 26 §3.1).
|
|
17
|
+
*/
|
|
18
|
+
exports.FLOW_ORIGIN_VALUES = Object.freeze({
|
|
19
|
+
Inbound: 'inbound',
|
|
20
|
+
Timer: 'timer',
|
|
21
|
+
Application: 'application',
|
|
22
|
+
Lifecycle: 'lifecycle'
|
|
23
|
+
});
|
|
10
24
|
const flowStorage = new node_async_hooks_1.AsyncLocalStorage();
|
|
11
25
|
function currentFlowContext() {
|
|
12
26
|
return flowStorage.getStore();
|
|
@@ -57,12 +71,12 @@ function createInboundFlow(flowId, flowOrigin, createIfAbsent, streamSessionId)
|
|
|
57
71
|
return { flowId: flowId ?? createFlowId(), flowOrigin: flowOrigin ?? 'Inbound', streamSessionId };
|
|
58
72
|
}
|
|
59
73
|
function createFlowId() {
|
|
60
|
-
const bytes = (0, node_crypto_1.randomBytes)(
|
|
74
|
+
const bytes = (0, node_crypto_1.randomBytes)(FLOW_UUID_BYTES);
|
|
61
75
|
// Date.now() is always within 48 bits, which is exactly the UUIDv7
|
|
62
76
|
// timestamp field.
|
|
63
77
|
bytes.writeUIntBE(Date.now(), 0, 6);
|
|
64
78
|
bytes[6] = 0x70 | (bytes[6] & 0x0f);
|
|
65
|
-
bytes[
|
|
79
|
+
bytes[FLOW_UUID_VARIANT_BYTE] = 0x80 | (bytes[FLOW_UUID_VARIANT_BYTE] & 0x3f);
|
|
66
80
|
const hex = bytes.toString('hex');
|
|
67
81
|
return `${hex.slice(0, 8)}-${hex.slice(8, 12)}-${hex.slice(12, 16)}-${hex.slice(16, 20)}-${hex.slice(20)}`;
|
|
68
82
|
}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import type { ZLinkLocationRuntimeQuery } from '../../contracts';
|
|
2
|
-
import type { ZLinkActorLocation, ZLinkPeerLocation, ZLinkRouteLocation, ZLinkSpotLocation } from '../../contracts/Locations/Rows';
|
|
3
2
|
import type { ZLinkActorLocationKey, ZLinkLocationKey, ZLinkRouteLocationKey, ZLinkSpotLocationKey } from '../../contracts/Locations/Keys';
|
|
3
|
+
import type { ZLinkActorLocation, ZLinkPeerLocation, ZLinkRouteLocation, ZLinkSpotLocation } from '../../contracts/Locations/Rows';
|
|
4
|
+
import type { ZLinkBackendSocketMonitor, ZLinkBackendSocketMonitorEvent } from '../backend';
|
|
4
5
|
import { type ZLinkAutoConnectDesiredSetChange, type ZLinkLocationMonitoringRegistration, type ZLinkPollingMonitoringRegistration, type ZLinkRuntimeEvent, type ZLinkRuntimeEventHandler, type ZLinkSocketMonitoringRegistration } from './internal-event-contracts';
|
|
5
6
|
export { ZLinkLocationActorEventKind, ZLinkLocationPeerEventKind, ZLinkLocationRouteEventKind, ZLinkLocationSpotEventKind, ZLinkSocketNativeEventType } from './internal-event-contracts';
|
|
6
|
-
import type { ZLinkBackendSocketMonitor, ZLinkBackendSocketMonitorEvent } from '../backend';
|
|
7
7
|
export interface ZLinkActorOwnerLeaseObservation {
|
|
8
8
|
readonly actorId: string;
|
|
9
9
|
readonly authorityGeneration: bigint;
|
|
10
10
|
readonly remainingLeaseMs: number;
|
|
11
11
|
readonly decision: 'owner_unavailable';
|
|
12
12
|
}
|
|
13
|
+
export declare function isRelocationDebugEnabled(): boolean;
|
|
14
|
+
export declare function relocationDebug(marker: string, detail: Record<string, unknown>): void;
|
|
13
15
|
/** Emits high-cardinality resolver detail only on the existing relocation debug path. */
|
|
14
16
|
export declare function emitActorOwnerLeaseObservation(observation: ZLinkActorOwnerLeaseObservation): void;
|
|
15
17
|
/** Runtime composition port. It is intentionally absent from the public contract barrel. */
|
|
@@ -15,7 +15,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ZLinkLocationMonitoringEventEmitter = exports.ZLinkLocationRuntimeMonitoringSource = exports.ZLinkSocketMonitoringSource = exports.DefaultZLinkRuntimeEventPublisher = exports.ZLinkSocketNativeEventType = exports.ZLinkLocationSpotEventKind = exports.ZLinkLocationRouteEventKind = exports.ZLinkLocationPeerEventKind = exports.ZLinkLocationActorEventKind = void 0;
|
|
18
|
+
exports.isRelocationDebugEnabled = isRelocationDebugEnabled;
|
|
19
|
+
exports.relocationDebug = relocationDebug;
|
|
18
20
|
exports.emitActorOwnerLeaseObservation = emitActorOwnerLeaseObservation;
|
|
21
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
22
|
+
const state_lane_1 = require("../execution/state-lane");
|
|
23
|
+
const routing_id_1 = require("../routing-id");
|
|
19
24
|
const internal_event_contracts_1 = require("./internal-event-contracts");
|
|
20
25
|
var internal_event_contracts_2 = require("./internal-event-contracts");
|
|
21
26
|
Object.defineProperty(exports, "ZLinkLocationActorEventKind", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkLocationActorEventKind; } });
|
|
@@ -23,14 +28,19 @@ Object.defineProperty(exports, "ZLinkLocationPeerEventKind", { enumerable: true,
|
|
|
23
28
|
Object.defineProperty(exports, "ZLinkLocationRouteEventKind", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkLocationRouteEventKind; } });
|
|
24
29
|
Object.defineProperty(exports, "ZLinkLocationSpotEventKind", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkLocationSpotEventKind; } });
|
|
25
30
|
Object.defineProperty(exports, "ZLinkSocketNativeEventType", { enumerable: true, get: function () { return internal_event_contracts_2.ZLinkSocketNativeEventType; } });
|
|
26
|
-
const node_async_hooks_1 = require("node:async_hooks");
|
|
27
|
-
const state_lane_1 = require("../execution/state-lane");
|
|
28
|
-
const routing_id_1 = require("../routing-id");
|
|
29
31
|
const ZLINK_DISCONNECT_REASON_HANDSHAKE_FAILED = 3;
|
|
30
32
|
const detachedStateLaneResource = new node_async_hooks_1.AsyncResource('zlink:location-runtime-monitoring-source');
|
|
33
|
+
function isRelocationDebugEnabled() {
|
|
34
|
+
return process.env.ZLINK_DEBUG_FRAMEWORK_RELOCATION === '1';
|
|
35
|
+
}
|
|
36
|
+
function relocationDebug(marker, detail) {
|
|
37
|
+
if (!isRelocationDebugEnabled())
|
|
38
|
+
return;
|
|
39
|
+
console.error('[zlink.runtime.relocation]', marker, detail);
|
|
40
|
+
}
|
|
31
41
|
/** Emits high-cardinality resolver detail only on the existing relocation debug path. */
|
|
32
42
|
function emitActorOwnerLeaseObservation(observation) {
|
|
33
|
-
if (
|
|
43
|
+
if (!isRelocationDebugEnabled())
|
|
34
44
|
return;
|
|
35
45
|
console.error('[zlink.runtime.relocation]', 'actor_route.owner_lease_observed', observation);
|
|
36
46
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ZLinkDiagnosticsOptions, type ZLinkMessageFlowLogMode } from '../../contracts';
|
|
2
|
-
import { ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome, type
|
|
2
|
+
import { ZLinkRuntimeMessageFlowOutcome as ZLinkMessageFlowOutcome, type ZLinkRuntimeMessageFlowEvent, type ZLinkRuntimeMessageFlowResult } from '../../contracts/Dispatch/ZLinkDispatchOptions';
|
|
3
3
|
import type { ZLinkDispatchErrorSink } from './dispatch-error-port';
|
|
4
4
|
export interface ZLinkMessageFlowModeCell {
|
|
5
5
|
mode: ZLinkMessageFlowLogMode;
|
|
@@ -9,7 +9,10 @@ const api_1 = require("@opentelemetry/api");
|
|
|
9
9
|
const api_logs_1 = require("@opentelemetry/api-logs");
|
|
10
10
|
const contracts_1 = require("../../contracts");
|
|
11
11
|
const ZLinkDispatchOptions_1 = require("../../contracts/Dispatch/ZLinkDispatchOptions");
|
|
12
|
+
const dispatch_error_details_1 = require("./dispatch-error-details");
|
|
12
13
|
const flow_context_1 = require("./flow-context");
|
|
14
|
+
const MESSAGE_FLOW_EVENT_ID = 'zlink.message_flow';
|
|
15
|
+
const DISPATCH_ERROR_EVENT_ID = 'zlink.dispatch_error';
|
|
13
16
|
exports.DEFAULT_ZLINK_DIAGNOSTICS = {
|
|
14
17
|
messageFlow: 'errors',
|
|
15
18
|
sampleRate: 1,
|
|
@@ -17,7 +20,6 @@ exports.DEFAULT_ZLINK_DIAGNOSTICS = {
|
|
|
17
20
|
};
|
|
18
21
|
const telemetryLogger = api_logs_1.logs.getLogger('@zlink-systems/framework');
|
|
19
22
|
const telemetryTracer = api_1.trace.getTracer('@zlink-systems/framework');
|
|
20
|
-
const ERROR_MESSAGE_MAX_LENGTH = 512;
|
|
21
23
|
let diagnosticsGeneration = 0n;
|
|
22
24
|
function effectiveMessageFlow(ctx) {
|
|
23
25
|
return ctx.liveMode.mode;
|
|
@@ -162,12 +164,12 @@ class ZLinkMessageFlowTracer {
|
|
|
162
164
|
}
|
|
163
165
|
publishToLogger(record) {
|
|
164
166
|
try {
|
|
165
|
-
const severityNumber = record.eventId ===
|
|
167
|
+
const severityNumber = record.eventId === DISPATCH_ERROR_EVENT_ID ? api_logs_1.SeverityNumber.ERROR : api_logs_1.SeverityNumber.INFO;
|
|
166
168
|
telemetryLogger.emit({
|
|
167
169
|
eventName: record.eventId,
|
|
168
170
|
timestamp: record.timestamp,
|
|
169
171
|
severityNumber,
|
|
170
|
-
severityText: record.eventId ===
|
|
172
|
+
severityText: record.eventId === DISPATCH_ERROR_EVENT_ID ? 'ERROR' : 'INFO',
|
|
171
173
|
body: structuredLogBody(record),
|
|
172
174
|
attributes: structuredLogAttributes(record)
|
|
173
175
|
});
|
|
@@ -181,7 +183,7 @@ class ZLinkMessageFlowTracer {
|
|
|
181
183
|
const span = telemetryTracer.startSpan(record.eventId, {
|
|
182
184
|
attributes: traceAttributes(record)
|
|
183
185
|
});
|
|
184
|
-
if (record.eventId ===
|
|
186
|
+
if (record.eventId === DISPATCH_ERROR_EVENT_ID) {
|
|
185
187
|
span.setStatus({ code: api_1.SpanStatusCode.ERROR, message: record.reason });
|
|
186
188
|
}
|
|
187
189
|
span.end();
|
|
@@ -201,22 +203,11 @@ class ZLinkMessageFlowTracer {
|
|
|
201
203
|
}
|
|
202
204
|
}
|
|
203
205
|
exports.ZLinkMessageFlowTracer = ZLinkMessageFlowTracer;
|
|
204
|
-
/**
|
|
205
|
-
* Spec 27 §3 defines the flow_origin value set as lowercase
|
|
206
|
-
* (`inbound|timer|application|lifecycle`); every language emits these exact
|
|
207
|
-
* strings so records remain comparable across runtimes (spec 26 §3.1).
|
|
208
|
-
*/
|
|
209
|
-
const FLOW_ORIGIN_TELEMETRY_VALUES = {
|
|
210
|
-
Inbound: 'inbound',
|
|
211
|
-
Timer: 'timer',
|
|
212
|
-
Application: 'application',
|
|
213
|
-
Lifecycle: 'lifecycle'
|
|
214
|
-
};
|
|
215
206
|
function toTelemetryRecord(flow, messageSizeBytes, durationSeconds) {
|
|
216
207
|
return {
|
|
217
208
|
eventId: flow.outcome === ZLinkDispatchOptions_1.ZLinkRuntimeMessageFlowOutcome.Error
|
|
218
|
-
?
|
|
219
|
-
:
|
|
209
|
+
? DISPATCH_ERROR_EVENT_ID
|
|
210
|
+
: MESSAGE_FLOW_EVENT_ID,
|
|
220
211
|
timestamp: new Date(),
|
|
221
212
|
phase: messageFlowPhase(flow.outcome),
|
|
222
213
|
outcome: flow.result ?? messageFlowOutcome(flow.outcome),
|
|
@@ -234,7 +225,7 @@ function toTelemetryRecord(flow, messageSizeBytes, durationSeconds) {
|
|
|
234
225
|
targetRid: flow.targetRid,
|
|
235
226
|
serverRid: flow.serverRid,
|
|
236
227
|
flowId: flow.flowId,
|
|
237
|
-
flowOrigin: flow.flowOrigin === undefined ? undefined :
|
|
228
|
+
flowOrigin: flow.flowOrigin === undefined ? undefined : flow_context_1.FLOW_ORIGIN_VALUES[flow.flowOrigin],
|
|
238
229
|
spotId: flow.spotId,
|
|
239
230
|
instanceSpotType: flow.instanceSpotType,
|
|
240
231
|
activationState: flow.activationState,
|
|
@@ -429,7 +420,7 @@ function hashFlowId(flowId) {
|
|
|
429
420
|
return hash >>> 0;
|
|
430
421
|
}
|
|
431
422
|
function boundedText(value) {
|
|
432
|
-
return value === undefined ? undefined : value.slice(0, ERROR_MESSAGE_MAX_LENGTH);
|
|
423
|
+
return value === undefined ? undefined : value.slice(0, dispatch_error_details_1.ERROR_MESSAGE_MAX_LENGTH);
|
|
433
424
|
}
|
|
434
425
|
function toSnakeCase(value) {
|
|
435
426
|
return value.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type ZLinkHostCapacityStatus, type ZLinkMeterProvider, type ZLinkMetricAttributes } from '../../contracts';
|
|
2
|
+
export declare const MILLISECONDS_PER_SECOND = 1000;
|
|
3
|
+
export declare const NANOSECONDS_PER_SECOND = 1000000000;
|
|
2
4
|
export interface ZLinkRuntimeMetricCapacity {
|
|
3
5
|
readonly active: number;
|
|
4
6
|
readonly reserved: number;
|
|
@@ -48,41 +50,102 @@ export interface ZLinkRuntimeMetricOperation {
|
|
|
48
50
|
export interface ZLinkRelocationMetricOperation extends ZLinkRuntimeMetricOperation {
|
|
49
51
|
recordBytes(bytes: number): void;
|
|
50
52
|
}
|
|
53
|
+
export declare const METRIC_NAMES: Readonly<{
|
|
54
|
+
readonly StreamConnectionsOpened: "zlink.stream.connections.opened";
|
|
55
|
+
readonly StreamConnectionsClosed: "zlink.stream.connections.closed";
|
|
56
|
+
readonly MeshNodeChannelSelectionFailures: "zlink.mesh_node.channel.selection_failures";
|
|
57
|
+
readonly MeshNodeRequestTimeouts: "zlink.mesh_node.request.timeouts";
|
|
58
|
+
readonly MeshNodeMessagesDropped: "zlink.mesh_node.messages.dropped";
|
|
59
|
+
readonly RelocationStarted: "zlink.relocation.started";
|
|
60
|
+
readonly RelocationCompleted: "zlink.relocation.completed";
|
|
61
|
+
readonly RelocationCutoverTimeout: "zlink.relocation.cutover_timeout";
|
|
62
|
+
readonly InstanceSpotActivations: "zlink.instance_spot.activations";
|
|
63
|
+
readonly InstanceSpotClaimConflicts: "zlink.instance_spot.claim.conflicts";
|
|
64
|
+
readonly InstanceSpotTakeovers: "zlink.instance_spot.takeovers";
|
|
65
|
+
readonly LocationStoreErrors: "zlink.location.store.errors";
|
|
66
|
+
readonly LocationOwnerLeaseRenewFailures: "zlink.location.owner_lease.renew.failures";
|
|
67
|
+
readonly ObservabilityEventsOverflow: "zlink.observability.events.overflow";
|
|
68
|
+
readonly HostRelocationBlocked: "zlink.host.relocation.blocked";
|
|
69
|
+
readonly HostShutdownForced: "zlink.host.shutdown.forced";
|
|
70
|
+
readonly StreamConnectionsActive: "zlink.stream.connections.active";
|
|
71
|
+
readonly SpotCount: "zlink.spot.count";
|
|
72
|
+
readonly ActorCount: "zlink.actor.count";
|
|
73
|
+
readonly MeshNodeRequestsInflight: "zlink.mesh_node.requests.inflight";
|
|
74
|
+
readonly MeshNodeRequestDuration: "zlink.mesh_node.request.duration";
|
|
75
|
+
readonly RelocationDuration: "zlink.relocation.duration";
|
|
76
|
+
readonly RelocationBytes: "zlink.relocation.bytes";
|
|
77
|
+
readonly RelocationInterruption: "zlink.relocation.interruption";
|
|
78
|
+
readonly RelocationTargetResume: "zlink.relocation.target_resume";
|
|
79
|
+
readonly RelocationRouteConvergence: "zlink.relocation.route_convergence";
|
|
80
|
+
readonly InstanceSpotActivationDuration: "zlink.instance_spot.activation.duration";
|
|
81
|
+
readonly LocationOwnerLeaseRenewLateness: "zlink.location.owner_lease.renew.lateness";
|
|
82
|
+
readonly HostRelocationDuration: "zlink.host.relocation.duration";
|
|
83
|
+
readonly HostShutdownDuration: "zlink.host.shutdown.duration";
|
|
84
|
+
readonly MeshNodePeersConfigured: "zlink.mesh_node.peers.configured";
|
|
85
|
+
readonly MeshNodePeersConnected: "zlink.mesh_node.peers.connected";
|
|
86
|
+
readonly MeshNodePeersReady: "zlink.mesh_node.peers.ready";
|
|
87
|
+
readonly MeshNodeChannelsReadyMembers: "zlink.mesh_node.channels.ready_members";
|
|
88
|
+
readonly ObjectCapacityActive: "zlink.object.capacity.active";
|
|
89
|
+
readonly ObjectCapacityReserved: "zlink.object.capacity.reserved";
|
|
90
|
+
readonly ObjectCapacityLimit: "zlink.object.capacity.limit";
|
|
91
|
+
readonly SpotTypeCapacityActive: "zlink.spot.type.capacity.active";
|
|
92
|
+
readonly SpotTypeCapacityReserved: "zlink.spot.type.capacity.reserved";
|
|
93
|
+
readonly SpotTypeCapacityLimit: "zlink.spot.type.capacity.limit";
|
|
94
|
+
readonly ObjectActivationActive: "zlink.object.activation.active";
|
|
95
|
+
readonly ObjectActivationLimit: "zlink.object.activation.limit";
|
|
96
|
+
readonly InstanceSpotPendingMessages: "zlink.instance_spot.pending.messages";
|
|
97
|
+
readonly InstanceSpotPendingBytes: "zlink.instance_spot.pending.bytes";
|
|
98
|
+
readonly HostState: "zlink.host.state";
|
|
99
|
+
readonly HostCoreHwmEffectiveBudget: "zlink.host.core_hwm.effective_budget";
|
|
100
|
+
readonly HostCoreHwmApplied: "zlink.host.core_hwm.applied";
|
|
101
|
+
readonly HostCoreHwmAccounted: "zlink.host.core_hwm.accounted";
|
|
102
|
+
readonly HostCoreHwmCompletionAccounted: "zlink.host.core_hwm.completion_accounted";
|
|
103
|
+
readonly HostCoreHwmBlockedRatio: "zlink.host.core_hwm.blocked_ratio";
|
|
104
|
+
readonly HostApplicationJobQueueLimit: "zlink.host.application_job_queue.limit";
|
|
105
|
+
readonly HostApplicationJobQueueJobs: "zlink.host.application_job_queue.jobs";
|
|
106
|
+
readonly HostApplicationJobQueueCapacityWaiters: "zlink.host.application_job_queue.capacity_waiters";
|
|
107
|
+
readonly HostApplicationJobQueuePressureState: "zlink.host.application_job_queue.pressure_state";
|
|
108
|
+
readonly HostApplicationJobQueuePauseDuration: "zlink.host.application_job_queue.pause_duration";
|
|
109
|
+
readonly HostApplicationJobQueueCapacityWaits: "zlink.host.application_job_queue.capacity_waits";
|
|
110
|
+
readonly HostApplicationJobQueueCapacityWaitDuration: "zlink.host.application_job_queue.capacity_wait_duration";
|
|
111
|
+
readonly HostApplicationJobQueuePressureTransitions: "zlink.host.application_job_queue.pressure_transitions";
|
|
112
|
+
readonly HostApplicationJobQueueFlowStateConfigFailures: "zlink.host.application_job_queue.flow_state_config_failures";
|
|
113
|
+
}>;
|
|
51
114
|
declare const COUNTERS: Readonly<{
|
|
52
|
-
readonly
|
|
53
|
-
readonly
|
|
54
|
-
readonly
|
|
55
|
-
readonly
|
|
56
|
-
readonly
|
|
57
|
-
readonly
|
|
58
|
-
readonly
|
|
59
|
-
readonly
|
|
60
|
-
readonly
|
|
61
|
-
readonly
|
|
62
|
-
readonly
|
|
63
|
-
readonly
|
|
64
|
-
readonly
|
|
65
|
-
readonly
|
|
66
|
-
readonly
|
|
67
|
-
readonly
|
|
115
|
+
readonly "zlink.stream.connections.opened": "{connection}";
|
|
116
|
+
readonly "zlink.stream.connections.closed": "{connection}";
|
|
117
|
+
readonly "zlink.mesh_node.channel.selection_failures": "{failure}";
|
|
118
|
+
readonly "zlink.mesh_node.request.timeouts": "{request}";
|
|
119
|
+
readonly "zlink.mesh_node.messages.dropped": "{message}";
|
|
120
|
+
readonly "zlink.relocation.started": "{relocation}";
|
|
121
|
+
readonly "zlink.relocation.completed": "{relocation}";
|
|
122
|
+
readonly "zlink.relocation.cutover_timeout": "{fallback}";
|
|
123
|
+
readonly "zlink.instance_spot.activations": "{activation}";
|
|
124
|
+
readonly "zlink.instance_spot.claim.conflicts": "{claim}";
|
|
125
|
+
readonly "zlink.instance_spot.takeovers": "{takeover}";
|
|
126
|
+
readonly "zlink.location.store.errors": "{error}";
|
|
127
|
+
readonly "zlink.location.owner_lease.renew.failures": "{failure}";
|
|
128
|
+
readonly "zlink.observability.events.overflow": "{event}";
|
|
129
|
+
readonly "zlink.host.relocation.blocked": "{operation}";
|
|
130
|
+
readonly "zlink.host.shutdown.forced": "{operation}";
|
|
68
131
|
}>;
|
|
69
132
|
declare const UP_DOWN_COUNTERS: Readonly<{
|
|
70
|
-
readonly
|
|
71
|
-
readonly
|
|
72
|
-
readonly
|
|
73
|
-
readonly
|
|
133
|
+
readonly "zlink.stream.connections.active": "{connection}";
|
|
134
|
+
readonly "zlink.spot.count": "{spot}";
|
|
135
|
+
readonly "zlink.actor.count": "{actor}";
|
|
136
|
+
readonly "zlink.mesh_node.requests.inflight": "{request}";
|
|
74
137
|
}>;
|
|
75
138
|
declare const HISTOGRAMS: Readonly<{
|
|
76
|
-
readonly
|
|
77
|
-
readonly
|
|
78
|
-
readonly
|
|
79
|
-
readonly
|
|
80
|
-
readonly
|
|
81
|
-
readonly
|
|
82
|
-
readonly
|
|
83
|
-
readonly
|
|
84
|
-
readonly
|
|
85
|
-
readonly
|
|
139
|
+
readonly "zlink.mesh_node.request.duration": "s";
|
|
140
|
+
readonly "zlink.relocation.duration": "s";
|
|
141
|
+
readonly "zlink.relocation.bytes": "By";
|
|
142
|
+
readonly "zlink.relocation.interruption": "s";
|
|
143
|
+
readonly "zlink.relocation.target_resume": "s";
|
|
144
|
+
readonly "zlink.relocation.route_convergence": "s";
|
|
145
|
+
readonly "zlink.instance_spot.activation.duration": "s";
|
|
146
|
+
readonly "zlink.location.owner_lease.renew.lateness": "s";
|
|
147
|
+
readonly "zlink.host.relocation.duration": "s";
|
|
148
|
+
readonly "zlink.host.shutdown.duration": "s";
|
|
86
149
|
}>;
|
|
87
150
|
type CounterName = keyof typeof COUNTERS;
|
|
88
151
|
type UpDownName = keyof typeof UP_DOWN_COUNTERS;
|