@zlink-systems/framework 0.30.0 → 0.30.2
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/LICENSE +150 -68
- package/dist/.tsbuildinfo +1 -1
- package/dist/contracts/Actors/ZLinkActorClient.d.ts +2 -1
- package/dist/contracts/Channels/Calls.d.ts +2 -1
- package/dist/contracts/Common/ZLinkEncodedPayload.d.ts +6 -0
- package/dist/contracts/Common/ZLinkEncodedPayload.js +18 -3
- package/dist/contracts/Common/ZLinkMessageMetadata.js +11 -5
- package/dist/contracts/Common/encoded-payload-storage.d.ts +1 -1
- package/dist/contracts/Common/encoded-payload-storage.js +5 -2
- package/dist/contracts/Configuration/Builders.d.ts +1 -1
- package/dist/contracts/Configuration/RegistrationBuilderPolicy.d.ts +2 -1
- package/dist/contracts/Configuration/RegistrationBuilderPolicy.js +5 -1
- package/dist/contracts/Configuration/RegistrationBuilders.js +2 -2
- package/dist/contracts/Configuration/RegistrationTypes.d.ts +1 -0
- package/dist/contracts/Dispatch/ZLinkDispatchOptions.d.ts +2 -2
- package/dist/contracts/Handlers/Attributes.d.ts +5 -13
- package/dist/contracts/Handlers/Attributes.js +7 -11
- package/dist/contracts/Handlers/JsonContract.d.ts +2 -46
- package/dist/contracts/Handlers/JsonContract.js +4 -153
- package/dist/contracts/Locations/Rows.d.ts +2 -0
- package/dist/contracts/Spots/Contracts.d.ts +6 -1
- package/dist/contracts/Spots/ZLinkSpot.d.ts +3 -3
- package/dist/nest-integration.d.ts +1 -1
- package/dist/nest-integration.js +2 -1
- package/dist/runtime/abort.d.ts +5 -0
- package/dist/runtime/abort.js +10 -0
- package/dist/runtime/actors/actor-authority-publication.js +3 -2
- package/dist/runtime/actors/actor-client.d.ts +1 -2
- package/dist/runtime/actors/actor-client.js +52 -57
- package/dist/runtime/actors/actor-context.d.ts +2 -0
- package/dist/runtime/actors/actor-context.js +46 -9
- package/dist/runtime/actors/actor-handoff.d.ts +8 -4
- package/dist/runtime/actors/actor-handoff.js +219 -92
- package/dist/runtime/actors/actor-join-relocation.d.ts +3 -0
- package/dist/runtime/actors/actor-local-native-join.js +13 -12
- package/dist/runtime/actors/actor-mailbox.js +27 -1
- package/dist/runtime/actors/actor-remote-joiner.js +3 -1
- package/dist/runtime/actors/actor-remote-wire.js +15 -0
- package/dist/runtime/actors/actor-reply.d.ts +4 -0
- package/dist/runtime/actors/actor-reply.js +29 -0
- package/dist/runtime/actors/actor-routed-join-transport.d.ts +6 -2
- package/dist/runtime/actors/actor-routed-json-request.d.ts +2 -0
- package/dist/runtime/actors/actor-runtime-contracts.d.ts +2 -0
- package/dist/runtime/actors/actor-runtime-state.js +2 -20
- package/dist/runtime/actors/actor-source-transfer.d.ts +1 -17
- package/dist/runtime/actors/index.d.ts +8 -3
- package/dist/runtime/actors/index.js +55 -27
- package/dist/runtime/actors/session-disconnected-wire.d.ts +8 -0
- package/dist/runtime/actors/session-disconnected-wire.js +48 -0
- package/dist/runtime/actors/spot-actor-dispatch.js +2 -2
- package/dist/runtime/admission.d.ts +9 -1
- package/dist/runtime/admission.js +56 -23
- package/dist/runtime/application-jobs/application-ingress-record-owner.d.ts +6 -8
- package/dist/runtime/application-jobs/application-ingress-record-owner.js +39 -22
- package/dist/runtime/application-jobs/application-job-queue-scope.d.ts +15 -1
- package/dist/runtime/application-jobs/application-job-queue-scope.js +61 -20
- package/dist/runtime/application-jobs/contracts.d.ts +12 -1
- package/dist/runtime/backend/contracts/index.d.ts +37 -12
- package/dist/runtime/backend/mesh-actor-session-node-adapter.js +2 -2
- package/dist/runtime/backend/mesh-completion-table.d.ts +9 -1
- package/dist/runtime/backend/mesh-completion-table.js +154 -49
- package/dist/runtime/backend/mesh-dispatch-pump.d.ts +28 -1
- package/dist/runtime/backend/mesh-dispatch-pump.js +208 -101
- package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +2 -2
- package/dist/runtime/backend/node/node-backend-adapter-support.js +16 -9
- 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 +5 -2
- package/dist/runtime/backend/node/node-raw-binding-port.js +124 -72
- package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +46 -13
- package/dist/runtime/backend/node/node-raw-mesh-backend.js +181 -164
- package/dist/runtime/backend/node/node-socket-backend-adapter.d.ts +1 -1
- package/dist/runtime/backend/node/node-socket-backend-adapter.js +11 -11
- package/dist/runtime/backend/raw-binding-port.d.ts +2 -2
- package/dist/runtime/backend/runtime-message.d.ts +1 -0
- package/dist/runtime/backend/runtime-message.js +5 -0
- package/dist/runtime/backend/runtime-values.d.ts +1 -0
- package/dist/runtime/backend/runtime-values.js +2 -1
- package/dist/runtime/channels/channel-clients.d.ts +2 -0
- package/dist/runtime/channels/channel-clients.js +75 -23
- package/dist/runtime/channels/channel-dispatch-pipeline.d.ts +25 -5
- package/dist/runtime/channels/channel-dispatch-pipeline.js +111 -56
- package/dist/runtime/channels/channel-dispatch-services.d.ts +1 -0
- package/dist/runtime/channels/channel-dispatch-services.js +45 -0
- package/dist/runtime/channels/channel-dispatchers.d.ts +4 -3
- package/dist/runtime/channels/channel-dispatchers.js +62 -54
- package/dist/runtime/channels/channel-envelope-inspection.d.ts +1 -2
- package/dist/runtime/channels/channel-envelope-inspection.js +1 -16
- package/dist/runtime/channels/channel-envelope.d.ts +2 -0
- package/dist/runtime/channels/channel-envelope.js +146 -28
- package/dist/runtime/channels/channel-outbound-operations.d.ts +2 -2
- package/dist/runtime/channels/channel-outbound-operations.js +8 -8
- package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +4 -3
- package/dist/runtime/channels/channel-runtime-lifecycle.js +19 -24
- package/dist/runtime/channels/channel-runtime-manager.d.ts +9 -8
- package/dist/runtime/channels/channel-runtime-manager.js +16 -16
- package/dist/runtime/channels/channel-transports.d.ts +18 -16
- package/dist/runtime/channels/channel-transports.js +77 -58
- package/dist/runtime/channels/client-server-location-runtime.js +5 -4
- package/dist/runtime/channels/dispatch-error-reporter.d.ts +2 -1
- package/dist/runtime/channels/dispatch-error-reporter.js +2 -1
- package/dist/runtime/channels/fanout-location-runtime.d.ts +1 -1
- package/dist/runtime/channels/fanout-location-runtime.js +3 -3
- package/dist/runtime/channels/local-spot-route-transport.d.ts +1 -1
- package/dist/runtime/channels/local-spot-route-transport.js +2 -1
- package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +2 -2
- package/dist/runtime/channels/router-socket-spot-route-transport.js +4 -4
- package/dist/runtime/channels/source-spot-router.d.ts +2 -2
- package/dist/runtime/channels/source-spot-router.js +4 -4
- package/dist/runtime/channels/spot-node-route-transport.d.ts +2 -2
- package/dist/runtime/channels/spot-node-route-transport.js +4 -4
- package/dist/runtime/channels/spot-route-bridge-transport.d.ts +2 -2
- package/dist/runtime/channels/spot-route-bridge-transport.js +4 -4
- package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +5 -4
- package/dist/runtime/channels/spot-route-dispatch-strategy.js +18 -18
- package/dist/runtime/diagnostics/flow-context.js +19 -7
- package/dist/runtime/diagnostics/index.js +4 -9
- package/dist/runtime/diagnostics/message-flow.d.ts +8 -0
- package/dist/runtime/diagnostics/message-flow.js +35 -5
- package/dist/runtime/diagnostics/runtime-metrics.d.ts +2 -2
- package/dist/runtime/diagnostics/runtime-metrics.js +10 -8
- package/dist/runtime/execution/index.d.ts +4 -2
- package/dist/runtime/execution/index.js +33 -10
- package/dist/runtime/execution/serial-execution-queue.d.ts +5 -0
- package/dist/runtime/execution/serial-execution-queue.js +22 -2
- package/dist/runtime/execution/state-lane.d.ts +2 -0
- package/dist/runtime/execution/state-lane.js +5 -0
- package/dist/runtime/foundation/actor-join-recovery-codec.js +2 -2
- package/dist/runtime/foundation/durable-service-request.d.ts +14 -0
- package/dist/runtime/foundation/durable-service-request.js +98 -0
- package/dist/runtime/foundation/operation-identity.d.ts +1 -0
- package/dist/runtime/foundation/operation-identity.js +5 -1
- package/dist/runtime/foundation/operation-registry.d.ts +25 -1
- package/dist/runtime/foundation/operation-registry.js +86 -18
- package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +61 -8
- package/dist/runtime/foundation/raw-service-mesh-runtime.js +486 -266
- package/dist/runtime/foundation/service-liveness-registry.d.ts +12 -1
- package/dist/runtime/foundation/service-liveness-registry.js +38 -0
- package/dist/runtime/foundation/service-mailbox.d.ts +7 -0
- package/dist/runtime/foundation/service-maintenance-runtime.js +1 -6
- package/dist/runtime/foundation/service-relocation-object-owner.d.ts +3 -3
- package/dist/runtime/foundation/service-relocation-object-owner.js +48 -34
- package/dist/runtime/foundation/service-relocation-runtime.d.ts +2 -0
- package/dist/runtime/foundation/service-relocation-runtime.js +20 -4
- package/dist/runtime/foundation/service-runtime-contracts.d.ts +10 -1
- package/dist/runtime/foundation/service-session-binding-ingress-port.d.ts +2 -1
- package/dist/runtime/foundation/service-stateful-registry.d.ts +5 -4
- package/dist/runtime/foundation/service-stateful-registry.js +24 -26
- package/dist/runtime/foundation/service-stateful-runtime.d.ts +75 -9
- package/dist/runtime/foundation/service-stateful-runtime.js +486 -218
- package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +14 -6
- package/dist/runtime/foundation/service-stateful-wire-codec.js +48 -27
- package/dist/runtime/foundation/service-topology-registry.d.ts +12 -2
- package/dist/runtime/foundation/service-topology-registry.js +61 -27
- package/dist/runtime/foundation/service-wire-binary-primitives.d.ts +6 -1
- package/dist/runtime/foundation/service-wire-binary-primitives.js +27 -11
- package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
- package/dist/runtime/foundation/service-wire-constants.generated.js +1 -0
- package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +13 -3
- package/dist/runtime/foundation/service-wire-m6a-codec.js +189 -78
- package/dist/runtime/handlers/handler-instance-scope.d.ts +8 -0
- package/dist/runtime/handlers/handler-instance-scope.js +54 -11
- package/dist/runtime/host/actor-packet-relay.d.ts +6 -4
- package/dist/runtime/host/actor-packet-relay.js +59 -72
- package/dist/runtime/host/actor-placement-coordinator.js +25 -8
- package/dist/runtime/host/actor-runtime-options-factory.js +2 -2
- package/dist/runtime/host/actor-transfer-runtime.d.ts +7 -31
- package/dist/runtime/host/actor-transfer-runtime.js +85 -331
- package/dist/runtime/host/application-job-queue.d.ts +40 -7
- package/dist/runtime/host/application-job-queue.js +137 -42
- package/dist/runtime/host/entry-actor-runtime.d.ts +1 -0
- package/dist/runtime/host/entry-actor-runtime.js +3 -0
- package/dist/runtime/host/index.d.ts +12 -2
- package/dist/runtime/host/index.js +300 -202
- package/dist/runtime/host/location-runtime-owner.js +2 -6
- package/dist/runtime/host/mesh-router-resolver.d.ts +4 -0
- package/dist/runtime/host/mesh-router-resolver.js +14 -6
- package/dist/runtime/host/remote-bound-session-relay.d.ts +2 -4
- package/dist/runtime/host/remote-bound-session-relay.js +73 -208
- package/dist/runtime/host/route-mesh-runtime.d.ts +2 -2
- package/dist/runtime/host/route-mesh-runtime.js +6 -4
- package/dist/runtime/host/runtime-shutdown.d.ts +1 -0
- package/dist/runtime/host/runtime-shutdown.js +3 -2
- package/dist/runtime/host/service-relocation-control.d.ts +1 -0
- package/dist/runtime/host/service-relocation-control.js +10 -4
- package/dist/runtime/host/service-relocation-host-runtime.d.ts +22 -14
- package/dist/runtime/host/service-relocation-host-runtime.js +754 -599
- package/dist/runtime/host/spot-address-transport.js +3 -2
- package/dist/runtime/host/spot-runtime-options-factory.js +16 -7
- package/dist/runtime/host/user-spot-creation-coordinator.js +33 -84
- package/dist/runtime/locations/actor-location-claims.d.ts +2 -2
- package/dist/runtime/locations/actor-location-claims.js +34 -19
- package/dist/runtime/locations/auto-connect-loop.d.ts +2 -0
- package/dist/runtime/locations/auto-connect-loop.js +22 -14
- package/dist/runtime/locations/auto-connect-reconciler.js +0 -6
- package/dist/runtime/locations/auto-connect-types.d.ts +0 -1
- package/dist/runtime/locations/descriptor-publication.d.ts +4 -0
- package/dist/runtime/locations/descriptor-publication.js +11 -0
- package/dist/runtime/locations/domain-store-contract.d.ts +1 -0
- package/dist/runtime/locations/in-memory-authority-store.d.ts +7 -1
- package/dist/runtime/locations/in-memory-authority-store.js +56 -19
- package/dist/runtime/locations/in-memory-location-store.js +1 -10
- package/dist/runtime/locations/index.d.ts +1 -0
- package/dist/runtime/locations/index.js +1 -0
- package/dist/runtime/locations/lease-tracker.js +1 -6
- package/dist/runtime/locations/lifecycle.d.ts +1 -2
- package/dist/runtime/locations/lifecycle.js +2 -5
- package/dist/runtime/locations/location-store-repository.d.ts +51 -1
- package/dist/runtime/locations/location-store-repository.js +363 -139
- package/dist/runtime/locations/relocation-blob.d.ts +18 -1
- package/dist/runtime/locations/relocation-blob.js +52 -1
- package/dist/runtime/locations/request-source-resolver.d.ts +37 -0
- package/dist/runtime/locations/request-source-resolver.js +80 -0
- package/dist/runtime/locations/resolvers.js +1 -1
- package/dist/runtime/locations/runtime.d.ts +7 -3
- package/dist/runtime/locations/runtime.js +61 -53
- package/dist/runtime/messaging/framework-json-v1.d.ts +4 -6
- package/dist/runtime/messaging/framework-json-v1.js +38 -294
- package/dist/runtime/messaging/packet-name.d.ts +1 -1
- package/dist/runtime/messaging/packet-name.js +8 -24
- package/dist/runtime/messaging/payload-codec.d.ts +7 -1
- package/dist/runtime/messaging/payload-codec.js +7 -6
- package/dist/runtime/messaging/request-result.d.ts +2 -0
- package/dist/runtime/messaging/request-result.js +57 -0
- package/dist/runtime/messaging/submission-result.d.ts +1 -0
- package/dist/runtime/messaging/submission-result.js +5 -2
- package/dist/runtime/protocol/service_wire_codec.generated.d.ts +34 -1
- package/dist/runtime/protocol/service_wire_codec.generated.js +229 -0
- package/dist/runtime/protocol/service_wire_pilot_codec.generated.d.ts +16 -1
- package/dist/runtime/protocol/service_wire_pilot_codec.generated.js +37 -8
- package/dist/runtime/spots/formal-remote-actor-admission-registry.d.ts +7 -2
- package/dist/runtime/spots/formal-remote-actor-admission-registry.js +36 -21
- package/dist/runtime/spots/index.d.ts +21 -11
- package/dist/runtime/spots/index.js +243 -178
- package/dist/runtime/spots/spot-activation-registry.d.ts +4 -2
- package/dist/runtime/spots/spot-activation-registry.js +21 -11
- package/dist/runtime/spots/spot-activation-state.d.ts +1 -1
- package/dist/runtime/spots/spot-activation-state.js +7 -7
- package/dist/runtime/spots/spot-activation.d.ts +7 -3
- package/dist/runtime/spots/spot-activation.js +140 -52
- package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +1 -0
- package/dist/runtime/spots/spot-actor-admission-coordinator.js +13 -22
- package/dist/runtime/spots/spot-actor-membership.d.ts +0 -1
- package/dist/runtime/spots/spot-actor-membership.js +0 -8
- package/dist/runtime/spots/spot-actor-packet-dispatch.js +33 -8
- package/dist/runtime/spots/spot-actor-packet-drain.js +5 -33
- package/dist/runtime/spots/spot-entry-activation.d.ts +2 -0
- package/dist/runtime/spots/spot-entry-activation.js +20 -11
- package/dist/runtime/spots/spot-handler-registry.d.ts +7 -4
- package/dist/runtime/spots/spot-handler-registry.js +24 -10
- package/dist/runtime/spots/spot-manager-internal-contracts.d.ts +2 -2
- package/dist/runtime/spots/spot-manager-public.js +2 -2
- package/dist/runtime/spots/spot-node-autoconnect.d.ts +2 -1
- package/dist/runtime/spots/spot-node-autoconnect.js +22 -42
- package/dist/runtime/spots/spot-node-runtime-manager.d.ts +19 -2
- package/dist/runtime/spots/spot-node-runtime-manager.js +115 -50
- package/dist/runtime/spots/spot-outbound.d.ts +3 -0
- package/dist/runtime/spots/spot-outbound.js +27 -18
- package/dist/runtime/spots/spot-remote-codec.js +5 -1
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +1 -0
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +1 -1
- package/dist/runtime/spots/spot-runtime-ports.d.ts +1 -1
- package/dist/runtime/spots/spot-serial-executor.d.ts +10 -0
- package/dist/runtime/spots/spot-serial-executor.js +61 -8
- package/dist/runtime/spots/spot-serial-turn-executor.js +19 -2
- package/dist/runtime/spots/spot-subscription-dispatch.js +1 -4
- package/dist/runtime/spots/spot-timer.d.ts +57 -5
- package/dist/runtime/spots/spot-timer.js +288 -103
- package/dist/runtime/streams/actor-session-binding-registry.d.ts +42 -11
- package/dist/runtime/streams/actor-session-binding-registry.js +165 -48
- package/dist/runtime/streams/actor-session-binding-runtime-owner.d.ts +8 -4
- package/dist/runtime/streams/bound-actor-relay-sender.d.ts +2 -1
- package/dist/runtime/streams/bound-actor-relay-sender.js +15 -8
- package/dist/runtime/streams/bound-session-service.d.ts +1 -1
- package/dist/runtime/streams/bound-session-service.js +6 -11
- package/dist/runtime/streams/index.d.ts +3 -2
- package/dist/runtime/streams/index.js +6 -4
- package/dist/runtime/streams/managed-stream.js +3 -2
- package/dist/runtime/streams/native-fallback-bound-session.js +8 -73
- package/dist/runtime/streams/session-actor-coordinator.d.ts +2 -8
- package/dist/runtime/streams/session-actor-coordinator.js +15 -32
- package/dist/runtime/streams/stream-binding-runtime-ports.d.ts +3 -10
- package/dist/runtime/streams/stream-session-runtime.d.ts +1 -1
- package/dist/runtime/streams/stream-session-runtime.js +14 -31
- package/dist/runtime/workers/index.js +1 -1
- package/package.json +3 -3
- package/src/contracts/Actors/ZLinkActorClient.ts +2 -1
- package/src/contracts/Channels/Calls.ts +2 -1
- package/src/contracts/Common/ZLinkEncodedPayload.ts +24 -4
- package/src/contracts/Common/ZLinkMessageMetadata.ts +13 -8
- package/src/contracts/Common/encoded-payload-storage.ts +6 -3
- package/src/contracts/Configuration/Builders.ts +4 -1
- package/src/contracts/Configuration/RegistrationBuilderPolicy.ts +7 -2
- package/src/contracts/Configuration/RegistrationBuilders.ts +6 -2
- package/src/contracts/Configuration/RegistrationTypes.ts +1 -0
- package/src/contracts/Dispatch/ZLinkDispatchOptions.ts +2 -1
- package/src/contracts/Handlers/Attributes.ts +14 -21
- package/src/contracts/Handlers/JsonContract.ts +8 -216
- package/src/contracts/Locations/Rows.ts +2 -0
- package/src/contracts/Spots/Contracts.ts +10 -1
- package/src/contracts/Spots/ZLinkSpot.ts +3 -3
- package/src/nest-integration.ts +1 -0
- package/src/runtime/abort.ts +12 -0
- package/src/runtime/actors/actor-authority-publication.ts +3 -2
- package/src/runtime/actors/actor-client.ts +100 -85
- package/src/runtime/actors/actor-context.ts +49 -9
- package/src/runtime/actors/actor-handoff.ts +291 -110
- package/src/runtime/actors/actor-join-relocation.ts +3 -0
- package/src/runtime/actors/actor-local-native-join.ts +21 -26
- package/src/runtime/actors/actor-mailbox.ts +40 -2
- package/src/runtime/actors/actor-remote-joiner.ts +6 -1
- package/src/runtime/actors/actor-remote-wire.ts +17 -0
- package/src/runtime/actors/actor-reply.ts +42 -0
- package/src/runtime/actors/actor-routed-join-transport.ts +14 -4
- package/src/runtime/actors/actor-routed-json-request.ts +10 -2
- package/src/runtime/actors/actor-runtime-contracts.ts +2 -0
- package/src/runtime/actors/actor-runtime-state.ts +2 -20
- package/src/runtime/actors/actor-source-transfer.ts +1 -34
- package/src/runtime/actors/index.ts +60 -32
- package/src/runtime/actors/session-disconnected-wire.ts +66 -0
- package/src/runtime/actors/spot-actor-dispatch.ts +4 -2
- package/src/runtime/admission.ts +69 -21
- package/src/runtime/application-jobs/application-ingress-record-owner.ts +41 -25
- package/src/runtime/application-jobs/application-job-queue-scope.ts +83 -22
- package/src/runtime/application-jobs/contracts.ts +16 -1
- package/src/runtime/backend/contracts/index.ts +92 -18
- package/src/runtime/backend/mesh-actor-session-node-adapter.ts +5 -3
- package/src/runtime/backend/mesh-completion-table.ts +160 -57
- package/src/runtime/backend/mesh-dispatch-pump.ts +237 -108
- package/src/runtime/backend/node/node-backend-adapter-support.ts +17 -8
- package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +12 -2
- package/src/runtime/backend/node/node-raw-binding-port.ts +148 -85
- package/src/runtime/backend/node/node-raw-mesh-backend.ts +315 -201
- package/src/runtime/backend/node/node-socket-backend-adapter.ts +26 -11
- package/src/runtime/backend/raw-binding-port.ts +7 -2
- package/src/runtime/backend/runtime-message.ts +6 -0
- package/src/runtime/backend/runtime-values.ts +1 -0
- package/src/runtime/channels/channel-clients.ts +132 -58
- package/src/runtime/channels/channel-dispatch-pipeline.ts +198 -114
- package/src/runtime/channels/channel-dispatch-services.ts +69 -1
- package/src/runtime/channels/channel-dispatchers.ts +136 -90
- package/src/runtime/channels/channel-envelope-inspection.ts +2 -16
- package/src/runtime/channels/channel-envelope.ts +225 -31
- package/src/runtime/channels/channel-outbound-operations.ts +22 -8
- package/src/runtime/channels/channel-runtime-lifecycle.ts +13 -13
- package/src/runtime/channels/channel-runtime-manager.ts +41 -17
- package/src/runtime/channels/channel-transports.ts +171 -112
- package/src/runtime/channels/client-server-location-runtime.ts +11 -10
- package/src/runtime/channels/dispatch-error-reporter.ts +4 -2
- package/src/runtime/channels/fanout-location-runtime.ts +17 -9
- package/src/runtime/channels/local-spot-route-transport.ts +3 -1
- package/src/runtime/channels/router-socket-spot-route-transport.ts +13 -4
- package/src/runtime/channels/source-spot-router.ts +8 -4
- package/src/runtime/channels/spot-node-route-transport.ts +8 -4
- package/src/runtime/channels/spot-route-bridge-transport.ts +6 -4
- package/src/runtime/channels/spot-route-dispatch-strategy.ts +47 -18
- package/src/runtime/diagnostics/flow-context.ts +20 -7
- package/src/runtime/diagnostics/index.ts +1 -7
- package/src/runtime/diagnostics/message-flow.ts +47 -9
- package/src/runtime/diagnostics/runtime-metrics.ts +12 -10
- package/src/runtime/execution/index.ts +40 -14
- package/src/runtime/execution/serial-execution-queue.ts +33 -4
- package/src/runtime/execution/state-lane.ts +7 -0
- package/src/runtime/foundation/actor-join-recovery-codec.ts +2 -2
- package/src/runtime/foundation/durable-service-request.ts +137 -0
- package/src/runtime/foundation/operation-identity.ts +5 -1
- package/src/runtime/foundation/operation-registry.ts +98 -20
- package/src/runtime/foundation/raw-service-mesh-runtime.ts +704 -336
- package/src/runtime/foundation/service-liveness-registry.ts +39 -0
- package/src/runtime/foundation/service-mailbox.ts +8 -0
- package/src/runtime/foundation/service-maintenance-runtime.ts +1 -8
- package/src/runtime/foundation/service-relocation-object-owner.ts +55 -36
- package/src/runtime/foundation/service-relocation-runtime.ts +25 -4
- package/src/runtime/foundation/service-runtime-contracts.ts +19 -2
- package/src/runtime/foundation/service-session-binding-ingress-port.ts +2 -1
- package/src/runtime/foundation/service-stateful-registry.ts +38 -35
- package/src/runtime/foundation/service-stateful-runtime.ts +732 -275
- package/src/runtime/foundation/service-stateful-wire-codec.ts +49 -16
- package/src/runtime/foundation/service-topology-registry.ts +91 -36
- package/src/runtime/foundation/service-wire-binary-primitives.ts +35 -12
- package/src/runtime/foundation/service-wire-constants.generated.ts +1 -0
- package/src/runtime/foundation/service-wire-m6a-codec.ts +231 -76
- package/src/runtime/handlers/handler-instance-scope.ts +67 -16
- package/src/runtime/host/actor-packet-relay.ts +113 -94
- package/src/runtime/host/actor-placement-coordinator.ts +31 -8
- package/src/runtime/host/actor-runtime-options-factory.ts +13 -2
- package/src/runtime/host/actor-transfer-runtime.ts +104 -430
- package/src/runtime/host/application-job-queue.ts +160 -41
- package/src/runtime/host/entry-actor-runtime.ts +4 -0
- package/src/runtime/host/index.ts +473 -271
- package/src/runtime/host/location-runtime-owner.ts +2 -6
- package/src/runtime/host/mesh-router-resolver.ts +13 -5
- package/src/runtime/host/remote-bound-session-relay.ts +88 -271
- package/src/runtime/host/route-mesh-runtime.ts +12 -6
- package/src/runtime/host/runtime-shutdown.ts +15 -4
- package/src/runtime/host/service-relocation-control.ts +11 -5
- package/src/runtime/host/service-relocation-host-runtime.ts +1092 -759
- package/src/runtime/host/spot-address-transport.ts +4 -2
- package/src/runtime/host/spot-runtime-options-factory.ts +20 -7
- package/src/runtime/host/user-spot-creation-coordinator.ts +41 -100
- package/src/runtime/locations/actor-location-claims.ts +52 -30
- package/src/runtime/locations/auto-connect-loop.ts +22 -14
- package/src/runtime/locations/auto-connect-reconciler.ts +0 -6
- package/src/runtime/locations/auto-connect-types.ts +0 -1
- package/src/runtime/locations/descriptor-publication.ts +7 -0
- package/src/runtime/locations/domain-store-contract.ts +5 -0
- package/src/runtime/locations/in-memory-authority-store.ts +85 -23
- package/src/runtime/locations/in-memory-location-store.ts +1 -12
- package/src/runtime/locations/index.ts +1 -0
- package/src/runtime/locations/lease-tracker.ts +2 -9
- package/src/runtime/locations/lifecycle.ts +8 -26
- package/src/runtime/locations/location-store-repository.ts +628 -152
- package/src/runtime/locations/relocation-blob.ts +75 -1
- package/src/runtime/locations/request-source-resolver.ts +138 -0
- package/src/runtime/locations/resolvers.ts +2 -2
- package/src/runtime/locations/runtime.ts +98 -64
- package/src/runtime/messaging/framework-json-v1.ts +5 -325
- package/src/runtime/messaging/packet-name.ts +5 -25
- package/src/runtime/messaging/payload-codec.ts +8 -11
- package/src/runtime/messaging/request-result.ts +62 -0
- package/src/runtime/messaging/submission-result.ts +5 -1
- package/src/runtime/protocol/service_wire_codec.generated.ts +218 -5
- package/src/runtime/protocol/service_wire_pilot_codec.generated.ts +16 -13
- package/src/runtime/spots/formal-remote-actor-admission-registry.ts +46 -25
- package/src/runtime/spots/index.ts +389 -283
- package/src/runtime/spots/spot-activation-registry.ts +25 -13
- package/src/runtime/spots/spot-activation-state.ts +12 -19
- package/src/runtime/spots/spot-activation.ts +198 -96
- package/src/runtime/spots/spot-actor-admission-coordinator.ts +25 -55
- package/src/runtime/spots/spot-actor-membership.ts +0 -15
- package/src/runtime/spots/spot-actor-packet-dispatch.ts +56 -11
- package/src/runtime/spots/spot-actor-packet-drain.ts +9 -52
- package/src/runtime/spots/spot-entry-activation.ts +33 -21
- package/src/runtime/spots/spot-handler-registry.ts +56 -12
- package/src/runtime/spots/spot-manager-internal-contracts.ts +2 -2
- package/src/runtime/spots/spot-manager-public.ts +2 -2
- package/src/runtime/spots/spot-node-autoconnect.ts +28 -47
- package/src/runtime/spots/spot-node-runtime-manager.ts +197 -67
- package/src/runtime/spots/spot-outbound.ts +39 -19
- package/src/runtime/spots/spot-remote-codec.ts +9 -2
- package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +2 -1
- package/src/runtime/spots/spot-runtime-ports.ts +1 -1
- package/src/runtime/spots/spot-serial-executor.ts +97 -25
- package/src/runtime/spots/spot-serial-turn-executor.ts +22 -3
- package/src/runtime/spots/spot-subscription-dispatch.ts +1 -4
- package/src/runtime/spots/spot-timer.ts +418 -158
- package/src/runtime/streams/actor-session-binding-registry.ts +236 -64
- package/src/runtime/streams/actor-session-binding-runtime-owner.ts +16 -8
- package/src/runtime/streams/bound-actor-relay-sender.ts +23 -9
- package/src/runtime/streams/bound-session-service.ts +7 -10
- package/src/runtime/streams/index.ts +12 -6
- package/src/runtime/streams/managed-stream.ts +4 -2
- package/src/runtime/streams/native-fallback-bound-session.ts +14 -103
- package/src/runtime/streams/session-actor-coordinator.ts +39 -88
- package/src/runtime/streams/stream-binding-runtime-ports.ts +3 -9
- package/src/runtime/streams/stream-session-runtime.ts +13 -34
- package/src/runtime/workers/index.ts +1 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ActorId } from '../Common';
|
|
2
|
+
import type { ZLinkRequest } from '../Handlers/Attributes';
|
|
2
3
|
export interface ZLinkActorClient {
|
|
3
4
|
sendToActor(actorId: ActorId, message: unknown): ZLinkActorSendCall;
|
|
4
5
|
requestToActor(actorId: ActorId, request: unknown): ZLinkActorRequestCall;
|
|
@@ -10,6 +11,6 @@ export interface ZLinkActorSendCall {
|
|
|
10
11
|
export interface ZLinkActorRequestCall {
|
|
11
12
|
metadata(key: string, value: string): this;
|
|
12
13
|
timeout(timeoutMs: number): this;
|
|
13
|
-
submit<TReply>(signal?: AbortSignal):
|
|
14
|
+
submit<TReply>(signal?: AbortSignal): ZLinkRequest<TReply>;
|
|
14
15
|
yield<TReply>(signal?: AbortSignal): Promise<TReply>;
|
|
15
16
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ZLinkMessageMetadata } from '../Common';
|
|
2
|
+
import type { ZLinkRequest } from '../Handlers/Attributes';
|
|
2
3
|
export interface ZLinkSendCall {
|
|
3
4
|
metadata(key: string, value: string): this;
|
|
4
5
|
metadata(metadata: ZLinkMessageMetadata): this;
|
|
@@ -8,7 +9,7 @@ export interface ZLinkRequestCall {
|
|
|
8
9
|
metadata(key: string, value: string): this;
|
|
9
10
|
metadata(metadata: ZLinkMessageMetadata): this;
|
|
10
11
|
timeout(timeoutMs: number): this;
|
|
11
|
-
submit<TReply>(signal?: AbortSignal):
|
|
12
|
+
submit<TReply>(signal?: AbortSignal): ZLinkRequest<TReply>;
|
|
12
13
|
}
|
|
13
14
|
export interface ZLinkChannelRequestCall extends ZLinkRequestCall {
|
|
14
15
|
yield<TReply>(signal?: AbortSignal): Promise<TReply>;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export declare class ZLinkEncodedPayload {
|
|
2
2
|
private constructor();
|
|
3
|
+
/** Copies the supplied bytes. */
|
|
3
4
|
static from(bytes: Uint8Array): ZLinkEncodedPayload;
|
|
5
|
+
/** Retains the supplied bytes without copying. Do not modify them afterward; mutation changes the payload. */
|
|
6
|
+
static fromOwned(bytes: Uint8Array): ZLinkEncodedPayload;
|
|
7
|
+
/** Returns a copy of the stored bytes. */
|
|
4
8
|
data(): Uint8Array;
|
|
9
|
+
/** Returns the stored bytes without copying. Do not modify this view or its backing buffer. */
|
|
10
|
+
view(): Readonly<Uint8Array>;
|
|
5
11
|
toBytes(): Uint8Array;
|
|
6
12
|
copy(): ZLinkEncodedPayload;
|
|
7
13
|
size(): number;
|
|
@@ -3,15 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ZLinkEncodedPayload = void 0;
|
|
4
4
|
const encoded_payload_storage_1 = require("./encoded-payload-storage");
|
|
5
5
|
class ZLinkEncodedPayload {
|
|
6
|
-
constructor(bytes) {
|
|
7
|
-
(
|
|
6
|
+
constructor(bytes, owned) {
|
|
7
|
+
if (owned) {
|
|
8
|
+
(0, encoded_payload_storage_1.adoptEncodedPayload)(this, bytes);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
(0, encoded_payload_storage_1.storeEncodedPayload)(this, bytes);
|
|
12
|
+
}
|
|
8
13
|
}
|
|
14
|
+
/** Copies the supplied bytes. */
|
|
9
15
|
static from(bytes) {
|
|
10
|
-
return new ZLinkEncodedPayload(bytes);
|
|
16
|
+
return new ZLinkEncodedPayload(bytes, false);
|
|
11
17
|
}
|
|
18
|
+
/** Retains the supplied bytes without copying. Do not modify them afterward; mutation changes the payload. */
|
|
19
|
+
static fromOwned(bytes) {
|
|
20
|
+
return new ZLinkEncodedPayload(bytes, true);
|
|
21
|
+
}
|
|
22
|
+
/** Returns a copy of the stored bytes. */
|
|
12
23
|
data() {
|
|
13
24
|
return new Uint8Array(this.stored());
|
|
14
25
|
}
|
|
26
|
+
/** Returns the stored bytes without copying. Do not modify this view or its backing buffer. */
|
|
27
|
+
view() {
|
|
28
|
+
return this.stored();
|
|
29
|
+
}
|
|
15
30
|
toBytes() {
|
|
16
31
|
return this.data();
|
|
17
32
|
}
|
|
@@ -4,7 +4,7 @@ exports.ZLinkMessageMetadataEmpty = void 0;
|
|
|
4
4
|
exports.zlinkMessageMetadata = zlinkMessageMetadata;
|
|
5
5
|
class ImmutableZLinkMessageMetadata {
|
|
6
6
|
values;
|
|
7
|
-
constructor(values =
|
|
7
|
+
constructor(values = []) {
|
|
8
8
|
this.values = Object.freeze(new ImmutableMetadataMap(values));
|
|
9
9
|
}
|
|
10
10
|
find(key) {
|
|
@@ -14,9 +14,7 @@ class ImmutableZLinkMessageMetadata {
|
|
|
14
14
|
class ImmutableMetadataMap {
|
|
15
15
|
#values;
|
|
16
16
|
constructor(values) {
|
|
17
|
-
this.#values = new Map(
|
|
18
|
-
? values
|
|
19
|
-
: Object.entries(values));
|
|
17
|
+
this.#values = new Map(values);
|
|
20
18
|
}
|
|
21
19
|
get size() {
|
|
22
20
|
return this.#values.size;
|
|
@@ -45,5 +43,13 @@ class ImmutableMetadataMap {
|
|
|
45
43
|
}
|
|
46
44
|
exports.ZLinkMessageMetadataEmpty = Object.freeze(new ImmutableZLinkMessageMetadata());
|
|
47
45
|
function zlinkMessageMetadata(values) {
|
|
48
|
-
|
|
46
|
+
const entries = typeof values[Symbol.iterator] === 'function'
|
|
47
|
+
? values
|
|
48
|
+
: Object.entries(values);
|
|
49
|
+
const size = Array.isArray(entries)
|
|
50
|
+
? entries.length
|
|
51
|
+
: entries.size;
|
|
52
|
+
return size === 0
|
|
53
|
+
? exports.ZLinkMessageMetadataEmpty
|
|
54
|
+
: Object.freeze(new ImmutableZLinkMessageMetadata(entries));
|
|
49
55
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export declare function storeEncodedPayload(owner: object, bytes: Uint8Array): Buffer;
|
|
2
|
-
export declare function adoptEncodedPayload(owner: object, bytes:
|
|
2
|
+
export declare function adoptEncodedPayload(owner: object, bytes: Uint8Array): Buffer;
|
|
3
3
|
export declare function borrowEncodedPayload(owner: object): Buffer | undefined;
|
|
@@ -10,8 +10,11 @@ function storeEncodedPayload(owner, bytes) {
|
|
|
10
10
|
return stored;
|
|
11
11
|
}
|
|
12
12
|
function adoptEncodedPayload(owner, bytes) {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const stored = Buffer.isBuffer(bytes)
|
|
14
|
+
? bytes
|
|
15
|
+
: Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
16
|
+
encodedPayloadStorage.set(owner, stored);
|
|
17
|
+
return stored;
|
|
15
18
|
}
|
|
16
19
|
function borrowEncodedPayload(owner) {
|
|
17
20
|
return encodedPayloadStorage.get(owner);
|
|
@@ -112,7 +112,7 @@ export interface ZLinkMeshObjectRoleBuilder {
|
|
|
112
112
|
export interface ZLinkMeshObjectClientBuilder {
|
|
113
113
|
}
|
|
114
114
|
export interface ZLinkMeshObjectServerBuilder {
|
|
115
|
-
addEntrySpot<TEntrySpot extends ZLinkEntrySpot>(entrySpotType: Type<TEntrySpot
|
|
115
|
+
addEntrySpot<TEntrySpot extends ZLinkEntrySpot>(entrySpotType: Type<TEntrySpot>, actorType: string): this;
|
|
116
116
|
addSpotFactory<TSpot extends ZLinkSpot>(spotType: string, implementation: Type<TSpot>, configure: (builder: ZLinkUserSpotFactoryBuilder<TSpot>) => void): this;
|
|
117
117
|
addInstanceSpotFactory<TSpot extends ZLinkInstanceSpot>(instanceSpotType: string, implementation: Type<TSpot>, configure: (builder: ZLinkInstanceSpotFactoryBuilder<TSpot>) => void): this;
|
|
118
118
|
addActorFactory<TActor extends ZLinkActor>(actorType: string, implementation: Type<ZLinkActorFactory<TActor>>, configure: (builder: ZLinkActorFactoryBuilder<TActor>) => void): this;
|
|
@@ -16,7 +16,8 @@ export declare function validateActorTransferTimeout(timeoutMs: number): number;
|
|
|
16
16
|
export declare function validateSessionReplacementCallbackTimeout(timeoutMs: number): number;
|
|
17
17
|
export declare function registerEntrySpot(options: {
|
|
18
18
|
entrySpotType?: Type<ZLinkEntrySpot>;
|
|
19
|
-
|
|
19
|
+
entrySpotActorType?: string;
|
|
20
|
+
}, entrySpotType: Type<ZLinkEntrySpot>, actorType: string): void;
|
|
20
21
|
export declare function registerSpotFactory(options: {
|
|
21
22
|
spotFactories?: Type<ZLinkSpot>[];
|
|
22
23
|
}, spotType: Type<ZLinkSpot>): void;
|
|
@@ -62,11 +62,15 @@ function validateSessionReplacementCallbackTimeout(timeoutMs) {
|
|
|
62
62
|
}
|
|
63
63
|
return timeoutMs;
|
|
64
64
|
}
|
|
65
|
-
function registerEntrySpot(options, entrySpotType) {
|
|
65
|
+
function registerEntrySpot(options, entrySpotType, actorType) {
|
|
66
66
|
if (options.entrySpotType !== undefined) {
|
|
67
67
|
throw new ConfigurationException_1.ZLinkConfigurationException('Duplicate Entry Spot registration on SpotNode.');
|
|
68
68
|
}
|
|
69
|
+
if (typeof actorType !== 'string' || actorType.length === 0) {
|
|
70
|
+
throw new ConfigurationException_1.ZLinkConfigurationException('Entry Spot Actor type must be a non-empty string.');
|
|
71
|
+
}
|
|
69
72
|
options.entrySpotType = entrySpotType;
|
|
73
|
+
options.entrySpotActorType = actorType;
|
|
70
74
|
}
|
|
71
75
|
function registerSpotFactory(options, spotType) {
|
|
72
76
|
options.spotFactories ??= [];
|
|
@@ -942,8 +942,8 @@ class DefaultMeshObjectServerBuilder {
|
|
|
942
942
|
this.meshName = meshName;
|
|
943
943
|
this.node = node;
|
|
944
944
|
}
|
|
945
|
-
addEntrySpot(entrySpotType) {
|
|
946
|
-
(0, RegistrationBuilderPolicy_1.registerEntrySpot)(this.node, entrySpotType);
|
|
945
|
+
addEntrySpot(entrySpotType, actorType) {
|
|
946
|
+
(0, RegistrationBuilderPolicy_1.registerEntrySpot)(this.node, entrySpotType, actorType);
|
|
947
947
|
return this;
|
|
948
948
|
}
|
|
949
949
|
addSpotFactory(spotType, implementation, configure) {
|
|
@@ -233,6 +233,7 @@ export interface ZLinkSpotNodeOptions {
|
|
|
233
233
|
readonly router?: ZLinkSpotRouterCapabilityOptions;
|
|
234
234
|
readonly pubSub?: ZLinkSpotPubSubCapabilityOptions;
|
|
235
235
|
readonly entrySpotType?: Type<ZLinkEntrySpot>;
|
|
236
|
+
readonly entrySpotActorType?: string;
|
|
236
237
|
readonly spotFactories?: readonly Type<ZLinkSpot>[];
|
|
237
238
|
readonly spotFactoryRegistrations?: Readonly<Record<string, ZLinkObjectFactoryRegistration<ZLinkSpot, ZLinkSpot, ZLinkUserSpotFactoryConfiguration>>>;
|
|
238
239
|
readonly instanceSpotFactories?: Readonly<Record<string, Type<ZLinkInstanceSpot>>>;
|
|
@@ -76,7 +76,7 @@ export interface ZLinkRuntimeMessageFlowEvent {
|
|
|
76
76
|
readonly commandId?: number;
|
|
77
77
|
readonly messageSize?: number;
|
|
78
78
|
readonly durationSeconds?: number;
|
|
79
|
-
readonly errorReason?: ZLinkDispatchErrorReason;
|
|
79
|
+
readonly errorReason?: ZLinkDispatchErrorReason | 'activation_timeout' | 'activation_rejected';
|
|
80
80
|
readonly errorAction?: ZLinkDispatchErrorAction;
|
|
81
81
|
readonly errorType?: string;
|
|
82
82
|
readonly errorMessage?: string;
|
|
@@ -162,7 +162,7 @@ export declare enum ZLinkDispatchMessageKind {
|
|
|
162
162
|
ActorRequest = "actorRequest",
|
|
163
163
|
ActorSend = "actorSend"
|
|
164
164
|
}
|
|
165
|
-
export type ZLinkDispatchErrorReason = 'no_handler' | 'decode_error' | 'handler_exception' | 'invalid_frame' | 'reply_path_missing' | 'unexpected_reply' | 'backpressure' | 'target_closed' | 'stale_target' | 'shutdown';
|
|
165
|
+
export type ZLinkDispatchErrorReason = 'no_handler' | 'decode_error' | 'handler_exception' | 'invalid_frame' | 'reply_path_missing' | 'unexpected_reply' | 'backpressure' | 'target_closed' | 'location_unavailable' | 'stale_target' | 'shutdown';
|
|
166
166
|
export type ZLinkDispatchErrorAction = 'reply_error' | 'fail_caller' | 'drop';
|
|
167
167
|
export declare enum ZLinkRuntimeDispatchErrorReason {
|
|
168
168
|
HandlerMissing = "no_handler",
|
|
@@ -1,16 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
export interface ZLinkDecoratorMetadata {
|
|
4
|
-
readonly kind: string;
|
|
5
|
-
readonly packetName?: string;
|
|
6
|
-
readonly groupName?: string;
|
|
7
|
-
readonly methodName?: string;
|
|
8
|
-
readonly meshName?: string;
|
|
9
|
-
readonly channelName?: string;
|
|
10
|
-
readonly topic?: string;
|
|
11
|
-
readonly jsonContract?: ZLinkPacketJsonContract;
|
|
12
|
-
}
|
|
1
|
+
export { ZLINK_DECORATOR_METADATA, readZLinkDecoratorMetadata } from '@zlink-systems/stream-wire/internal/json';
|
|
2
|
+
export type { ZLinkDecoratorMetadata } from '@zlink-systems/stream-wire/internal/json';
|
|
13
3
|
export declare function ZLinkHandlerGroup(groupName: string): ClassDecorator;
|
|
4
|
+
export interface ZLinkRequest<TReply> extends Promise<TReply> {
|
|
5
|
+
readonly admitted: Promise<void>;
|
|
6
|
+
}
|
|
14
7
|
export declare function ZLinkRequest(packetName?: string): MethodDecorator;
|
|
15
8
|
export declare function ZLinkSend(packetName?: string): MethodDecorator;
|
|
16
9
|
export declare function ZLinkPublish(packetName?: string): MethodDecorator;
|
|
@@ -21,4 +14,3 @@ export declare function ZLinkSpotActorSend(packetName?: string): MethodDecorator
|
|
|
21
14
|
export declare function ZLinkSpotActorRequest(packetName?: string): MethodDecorator;
|
|
22
15
|
export declare function ZLinkStreamPacket(): MethodDecorator;
|
|
23
16
|
export declare function ZLinkStreamRaw(): MethodDecorator;
|
|
24
|
-
export declare function readZLinkDecoratorMetadata(target: object): readonly ZLinkDecoratorMetadata[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ZLINK_DECORATOR_METADATA = void 0;
|
|
3
|
+
exports.readZLinkDecoratorMetadata = exports.ZLINK_DECORATOR_METADATA = void 0;
|
|
4
4
|
exports.ZLinkHandlerGroup = ZLinkHandlerGroup;
|
|
5
5
|
exports.ZLinkRequest = ZLinkRequest;
|
|
6
6
|
exports.ZLinkSend = ZLinkSend;
|
|
@@ -13,9 +13,11 @@ exports.ZLinkSpotActorSend = ZLinkSpotActorSend;
|
|
|
13
13
|
exports.ZLinkSpotActorRequest = ZLinkSpotActorRequest;
|
|
14
14
|
exports.ZLinkStreamPacket = ZLinkStreamPacket;
|
|
15
15
|
exports.ZLinkStreamRaw = ZLinkStreamRaw;
|
|
16
|
-
exports.readZLinkDecoratorMetadata = readZLinkDecoratorMetadata;
|
|
17
16
|
const JsonContract_1 = require("./JsonContract");
|
|
18
|
-
|
|
17
|
+
const json_1 = require("@zlink-systems/stream-wire/internal/json");
|
|
18
|
+
var json_2 = require("@zlink-systems/stream-wire/internal/json");
|
|
19
|
+
Object.defineProperty(exports, "ZLINK_DECORATOR_METADATA", { enumerable: true, get: function () { return json_2.ZLINK_DECORATOR_METADATA; } });
|
|
20
|
+
Object.defineProperty(exports, "readZLinkDecoratorMetadata", { enumerable: true, get: function () { return json_2.readZLinkDecoratorMetadata; } });
|
|
19
21
|
function ZLinkHandlerGroup(groupName) {
|
|
20
22
|
return classDecorator({ kind: 'handlerGroup', groupName });
|
|
21
23
|
}
|
|
@@ -68,17 +70,11 @@ function methodDecorator(metadata) {
|
|
|
68
70
|
});
|
|
69
71
|
}
|
|
70
72
|
function appendMetadata(target, metadata) {
|
|
71
|
-
const current = readZLinkDecoratorMetadata(target);
|
|
72
|
-
Object.defineProperty(target,
|
|
73
|
+
const current = (0, json_1.readZLinkDecoratorMetadata)(target);
|
|
74
|
+
Object.defineProperty(target, json_1.ZLINK_DECORATOR_METADATA, {
|
|
73
75
|
configurable: true,
|
|
74
76
|
enumerable: false,
|
|
75
77
|
value: [...current, metadata],
|
|
76
78
|
writable: false
|
|
77
79
|
});
|
|
78
80
|
}
|
|
79
|
-
function readZLinkDecoratorMetadata(target) {
|
|
80
|
-
if (!Object.prototype.hasOwnProperty.call(target, exports.ZLINK_DECORATOR_METADATA)) {
|
|
81
|
-
return [];
|
|
82
|
-
}
|
|
83
|
-
return target[exports.ZLINK_DECORATOR_METADATA];
|
|
84
|
-
}
|
|
@@ -1,46 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export type ZLinkJsonSchema
|
|
3
|
-
readonly type: 'boolean';
|
|
4
|
-
} | {
|
|
5
|
-
readonly type: 'string';
|
|
6
|
-
} | {
|
|
7
|
-
readonly type: 'number';
|
|
8
|
-
} | {
|
|
9
|
-
readonly type: 'int32';
|
|
10
|
-
} | {
|
|
11
|
-
readonly type: 'uint32';
|
|
12
|
-
} | {
|
|
13
|
-
readonly type: 'int64';
|
|
14
|
-
} | {
|
|
15
|
-
readonly type: 'uint64';
|
|
16
|
-
} | {
|
|
17
|
-
readonly type: 'bytes';
|
|
18
|
-
} | {
|
|
19
|
-
readonly type: 'enum';
|
|
20
|
-
readonly names: readonly string[];
|
|
21
|
-
} | {
|
|
22
|
-
readonly type: 'nullable';
|
|
23
|
-
readonly value: ZLinkJsonSchema;
|
|
24
|
-
} | {
|
|
25
|
-
readonly type: 'array';
|
|
26
|
-
readonly items: ZLinkJsonSchema;
|
|
27
|
-
} | {
|
|
28
|
-
readonly type: 'record';
|
|
29
|
-
readonly values: ZLinkJsonSchema;
|
|
30
|
-
} | {
|
|
31
|
-
readonly type: 'object';
|
|
32
|
-
readonly properties: Readonly<Record<string, ZLinkJsonSchema>>;
|
|
33
|
-
readonly required: readonly string[];
|
|
34
|
-
/** Unknown properties are ignored during decoding unless this is false. */
|
|
35
|
-
readonly additionalProperties?: boolean;
|
|
36
|
-
};
|
|
37
|
-
/**
|
|
38
|
-
* Describes the request and optional reply fields carried under one packet
|
|
39
|
-
* name by the default JSON serializer.
|
|
40
|
-
*/
|
|
41
|
-
export interface ZLinkPacketJsonContract {
|
|
42
|
-
readonly payload: ZLinkJsonSchema;
|
|
43
|
-
readonly reply?: ZLinkJsonSchema;
|
|
44
|
-
}
|
|
45
|
-
export declare function defineZLinkPacketJsonContract(packetName: string, contract: ZLinkPacketJsonContract): ZLinkPacketJsonContract;
|
|
46
|
-
export declare function readZLinkPacketJsonContract(packetName: string): ZLinkPacketJsonContract | undefined;
|
|
1
|
+
export { defineZLinkPacketJsonContract, readZLinkPacketJsonContract } from '@zlink-systems/stream-wire/internal/json';
|
|
2
|
+
export type { ZLinkJsonSchema, ZLinkPacketJsonContract } from '@zlink-systems/stream-wire/internal/json';
|
|
@@ -1,155 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.defineZLinkPacketJsonContract =
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function defineZLinkPacketJsonContract(packetName, contract) {
|
|
8
|
-
if (packetName.trim().length === 0) {
|
|
9
|
-
throw new TypeError('ZLink packet name must not be empty.');
|
|
10
|
-
}
|
|
11
|
-
const runtimeContract = contract;
|
|
12
|
-
if (typeof runtimeContract !== 'object' || runtimeContract === null) {
|
|
13
|
-
throw new TypeError('ZLink packet JSON contract must be an object.');
|
|
14
|
-
}
|
|
15
|
-
const normalizedContract = runtimeContract;
|
|
16
|
-
const normalized = Object.freeze({
|
|
17
|
-
payload: normalizeJsonSchema(normalizedContract.payload, new Set(), 0),
|
|
18
|
-
...(normalizedContract.reply === undefined
|
|
19
|
-
? {}
|
|
20
|
-
: { reply: normalizeJsonSchema(normalizedContract.reply, new Set(), 0) })
|
|
21
|
-
});
|
|
22
|
-
const contracts = packetJsonContracts();
|
|
23
|
-
const current = contracts.get(packetName);
|
|
24
|
-
if (current !== undefined && canonicalContract(current) !== canonicalContract(normalized)) {
|
|
25
|
-
throw new TypeError(`ZLink packet '${packetName}' has conflicting JSON contracts in one process.`);
|
|
26
|
-
}
|
|
27
|
-
if (current !== undefined)
|
|
28
|
-
return current;
|
|
29
|
-
contracts.set(packetName, normalized);
|
|
30
|
-
return normalized;
|
|
31
|
-
}
|
|
32
|
-
function readZLinkPacketJsonContract(packetName) {
|
|
33
|
-
return packetJsonContracts().get(packetName);
|
|
34
|
-
}
|
|
35
|
-
function normalizeJsonSchema(schema, parents, depth) {
|
|
36
|
-
// Keep the runtime boundary defensive for JavaScript callers even though
|
|
37
|
-
// the TypeScript signature describes the accepted shape.
|
|
38
|
-
const runtimeSchema = schema;
|
|
39
|
-
if (typeof runtimeSchema !== 'object' ||
|
|
40
|
-
runtimeSchema === null ||
|
|
41
|
-
depth > MAX_CONTRACT_SCHEMA_DEPTH) {
|
|
42
|
-
throw new TypeError(`ZLink packet JSON schema must be an acyclic object with at most ${MAX_CONTRACT_SCHEMA_DEPTH} levels.`);
|
|
43
|
-
}
|
|
44
|
-
const normalizedSchema = runtimeSchema;
|
|
45
|
-
if (parents.has(normalizedSchema))
|
|
46
|
-
throw new TypeError('ZLink packet JSON schema must not contain a cycle.');
|
|
47
|
-
const nextParents = new Set(parents).add(normalizedSchema);
|
|
48
|
-
switch (normalizedSchema.type) {
|
|
49
|
-
case 'boolean':
|
|
50
|
-
case 'string':
|
|
51
|
-
case 'number':
|
|
52
|
-
case 'int32':
|
|
53
|
-
case 'uint32':
|
|
54
|
-
case 'int64':
|
|
55
|
-
case 'uint64':
|
|
56
|
-
case 'bytes':
|
|
57
|
-
return Object.freeze({ type: normalizedSchema.type });
|
|
58
|
-
case 'enum': {
|
|
59
|
-
if (!Array.isArray(normalizedSchema.names) ||
|
|
60
|
-
normalizedSchema.names.length === 0 ||
|
|
61
|
-
normalizedSchema.names.some((name) => typeof name !== 'string' || name.length === 0)) {
|
|
62
|
-
throw new TypeError('ZLink packet enum schema requires non-empty string names.');
|
|
63
|
-
}
|
|
64
|
-
if (new Set(normalizedSchema.names).size !== normalizedSchema.names.length) {
|
|
65
|
-
throw new TypeError('ZLink packet enum schema names must be unique.');
|
|
66
|
-
}
|
|
67
|
-
return Object.freeze({ type: 'enum', names: Object.freeze([...normalizedSchema.names]) });
|
|
68
|
-
}
|
|
69
|
-
case 'nullable':
|
|
70
|
-
return Object.freeze({
|
|
71
|
-
type: 'nullable',
|
|
72
|
-
value: normalizeJsonSchema(normalizedSchema.value, nextParents, depth + 1)
|
|
73
|
-
});
|
|
74
|
-
case 'array':
|
|
75
|
-
return Object.freeze({
|
|
76
|
-
type: 'array',
|
|
77
|
-
items: normalizeJsonSchema(normalizedSchema.items, nextParents, depth + 1)
|
|
78
|
-
});
|
|
79
|
-
case 'record':
|
|
80
|
-
return Object.freeze({
|
|
81
|
-
type: 'record',
|
|
82
|
-
values: normalizeJsonSchema(normalizedSchema.values, nextParents, depth + 1)
|
|
83
|
-
});
|
|
84
|
-
case 'object': {
|
|
85
|
-
const runtimeProperties = normalizedSchema.properties;
|
|
86
|
-
if (typeof runtimeProperties !== 'object' ||
|
|
87
|
-
runtimeProperties === null ||
|
|
88
|
-
Array.isArray(runtimeProperties)) {
|
|
89
|
-
throw new TypeError('ZLink packet object schema properties must be an object.');
|
|
90
|
-
}
|
|
91
|
-
if (!Array.isArray(normalizedSchema.required) ||
|
|
92
|
-
normalizedSchema.required.some((name) => typeof name !== 'string' || name.length === 0)) {
|
|
93
|
-
throw new TypeError('ZLink packet object schema required must contain property names.');
|
|
94
|
-
}
|
|
95
|
-
if (normalizedSchema.additionalProperties !== undefined &&
|
|
96
|
-
typeof normalizedSchema.additionalProperties !== 'boolean') {
|
|
97
|
-
throw new TypeError('ZLink packet object schema additionalProperties must be boolean.');
|
|
98
|
-
}
|
|
99
|
-
const properties = {};
|
|
100
|
-
for (const [name, property] of Object.entries(runtimeProperties)) {
|
|
101
|
-
if (isPrototypeKey(name)) {
|
|
102
|
-
throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
|
|
103
|
-
}
|
|
104
|
-
properties[name] = normalizeJsonSchema(property, nextParents, depth + 1);
|
|
105
|
-
}
|
|
106
|
-
if (new Set(normalizedSchema.required).size !== normalizedSchema.required.length) {
|
|
107
|
-
throw new TypeError('ZLink packet JSON required properties must be unique.');
|
|
108
|
-
}
|
|
109
|
-
for (const name of normalizedSchema.required) {
|
|
110
|
-
if (isPrototypeKey(name)) {
|
|
111
|
-
throw new TypeError(`ZLink packet JSON property '${name}' is not allowed.`);
|
|
112
|
-
}
|
|
113
|
-
if (!Object.prototype.hasOwnProperty.call(properties, name)) {
|
|
114
|
-
throw new TypeError(`ZLink packet JSON required property '${name}' has no property schema.`);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return Object.freeze({
|
|
118
|
-
type: 'object',
|
|
119
|
-
properties: Object.freeze(properties),
|
|
120
|
-
required: Object.freeze([...normalizedSchema.required]),
|
|
121
|
-
...(normalizedSchema.additionalProperties === undefined
|
|
122
|
-
? {}
|
|
123
|
-
: { additionalProperties: normalizedSchema.additionalProperties })
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
throw new TypeError(`ZLink packet JSON schema type '${String(normalizedSchema.type)}' is not supported.`);
|
|
128
|
-
}
|
|
129
|
-
function packetJsonContracts() {
|
|
130
|
-
const root = globalThis;
|
|
131
|
-
let contracts = root[ZLINK_PACKET_JSON_CONTRACTS];
|
|
132
|
-
if (contracts === undefined) {
|
|
133
|
-
contracts = new Map();
|
|
134
|
-
Object.defineProperty(root, ZLINK_PACKET_JSON_CONTRACTS, {
|
|
135
|
-
configurable: false,
|
|
136
|
-
enumerable: false,
|
|
137
|
-
value: contracts,
|
|
138
|
-
writable: false
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
return contracts;
|
|
142
|
-
}
|
|
143
|
-
function canonicalContract(value) {
|
|
144
|
-
if (Array.isArray(value))
|
|
145
|
-
return `[${value.map(canonicalContract).join(',')}]`;
|
|
146
|
-
if (typeof value !== 'object' || value === null)
|
|
147
|
-
return JSON.stringify(value);
|
|
148
|
-
return `{${Object.entries(value)
|
|
149
|
-
.sort(([left], [right]) => (left < right ? -1 : left > right ? 1 : 0))
|
|
150
|
-
.map(([key, item]) => `${JSON.stringify(key)}:${canonicalContract(item)}`)
|
|
151
|
-
.join(',')}}`;
|
|
152
|
-
}
|
|
153
|
-
function isPrototypeKey(name) {
|
|
154
|
-
return name === '__proto__' || name === 'prototype' || name === 'constructor';
|
|
155
|
-
}
|
|
3
|
+
exports.readZLinkPacketJsonContract = exports.defineZLinkPacketJsonContract = void 0;
|
|
4
|
+
var json_1 = require("@zlink-systems/stream-wire/internal/json");
|
|
5
|
+
Object.defineProperty(exports, "defineZLinkPacketJsonContract", { enumerable: true, get: function () { return json_1.defineZLinkPacketJsonContract; } });
|
|
6
|
+
Object.defineProperty(exports, "readZLinkPacketJsonContract", { enumerable: true, get: function () { return json_1.readZLinkPacketJsonContract; } });
|
|
@@ -22,6 +22,8 @@ export interface ZLinkObjectCapability {
|
|
|
22
22
|
readonly policy: ZLinkObjectMaintenancePolicyKind;
|
|
23
23
|
readonly hasSnapshotAdapter: boolean;
|
|
24
24
|
readonly limit: number;
|
|
25
|
+
/** True only for an Actor capability whose node registered an Entry Spot type accepting it. */
|
|
26
|
+
readonly entryAccepted: boolean;
|
|
25
27
|
}
|
|
26
28
|
export interface ZLinkPopulationCapacity {
|
|
27
29
|
readonly active: number;
|
|
@@ -2,17 +2,22 @@ import type { ZLinkActor } from '../Actors';
|
|
|
2
2
|
import type { ZLinkChannelRequestCall, ZLinkPublishCall, ZLinkSendCall } from '../Channels';
|
|
3
3
|
import type { RoutingId, SpotId, Type, ZLinkMessageMetadata } from '../Common';
|
|
4
4
|
import type { ZLinkSpotTimerHandler } from '../Handlers';
|
|
5
|
+
import type { ZLinkRequest } from '../Handlers/Attributes';
|
|
5
6
|
import type { ZLinkTimer, ZLinkTimerOptions } from '../Timers';
|
|
6
7
|
import type { ZLinkEntrySpot, ZLinkInstanceSpot, ZLinkSpot, ZLinkSpotRelocationReadyCall } from './ZLinkSpot';
|
|
7
8
|
export interface ZLinkActorHandlerRegistry {
|
|
8
9
|
addHandler<THandler>(handlerType: Type<THandler>, packetName?: string): this;
|
|
9
10
|
}
|
|
10
11
|
export interface ZLinkSpotHandlerRegistry extends ZLinkActorHandlerRegistry {
|
|
12
|
+
/** Declares a timer handler constructor for relocation without registering an endpoint. */
|
|
13
|
+
addTimerHandler<THandler extends ZLinkSpotTimerHandler<ZLinkSpot>>(handlerType: Type<THandler>): this;
|
|
11
14
|
addPacket<THandler>(handlerType: Type<THandler>): this;
|
|
12
15
|
addSubscribe<THandler>(handlerType: Type<THandler>, channelName: string, topic: string): this;
|
|
13
16
|
}
|
|
14
17
|
export interface ZLinkInstanceSpotHandlerRegistry {
|
|
15
18
|
addPacket<THandler>(handlerType: Type<THandler>): this;
|
|
19
|
+
/** Declares a timer handler constructor for relocation without registering an endpoint. */
|
|
20
|
+
addTimerHandler<THandler extends ZLinkSpotTimerHandler<ZLinkInstanceSpot>>(handlerType: Type<THandler>): this;
|
|
16
21
|
}
|
|
17
22
|
export interface ZLinkWorkerCall<T> {
|
|
18
23
|
timeoutMs(durationMs: number): ZLinkWorkerCall<T>;
|
|
@@ -77,7 +82,7 @@ export interface ZLinkSpotRequestCall {
|
|
|
77
82
|
instanceSpot(instanceSpotType: string): this;
|
|
78
83
|
inMesh(meshName: string): this;
|
|
79
84
|
timeout(timeoutMs: number): this;
|
|
80
|
-
submit<TReply>(signal?: AbortSignal):
|
|
85
|
+
submit<TReply>(signal?: AbortSignal): ZLinkRequest<TReply>;
|
|
81
86
|
yield<TReply>(signal?: AbortSignal): Promise<TReply>;
|
|
82
87
|
}
|
|
83
88
|
export declare enum ZLinkSpotCreateState {
|
|
@@ -42,15 +42,15 @@ export interface ZLinkUserSpotActorLifecycle<TActor extends ZLinkActor = ZLinkAc
|
|
|
42
42
|
export interface ZLinkSpot<TActor extends ZLinkActor = ZLinkActor> extends ZLinkUserSpotActorLifecycle<TActor> {
|
|
43
43
|
readonly context: ZLinkSpotContext<TActor>;
|
|
44
44
|
configure?(): void;
|
|
45
|
-
onCreate?(request: ZLinkMessage): Promise<ZLinkSpotCreateResponse>;
|
|
46
|
-
onInitialize?(): Promise<void>;
|
|
45
|
+
onCreate?(request: ZLinkMessage, signal?: AbortSignal): Promise<ZLinkSpotCreateResponse>;
|
|
46
|
+
onInitialize?(signal?: AbortSignal): Promise<void>;
|
|
47
47
|
onClosing?(context: ZLinkSpotClosingContext, cleanupSignal: AbortSignal): Promise<void>;
|
|
48
48
|
onRelocationReadyCompleted?(completion: ZLinkSpotRelocationReadyCompletion): Promise<void>;
|
|
49
49
|
}
|
|
50
50
|
export interface ZLinkInstanceSpot {
|
|
51
51
|
readonly context: ZLinkInstanceSpotContext;
|
|
52
52
|
configure?(): void;
|
|
53
|
-
onInitialize?(): Promise<void>;
|
|
53
|
+
onInitialize?(signal?: AbortSignal): Promise<void>;
|
|
54
54
|
onClosing?(context: ZLinkSpotClosingContext, cleanupSignal: AbortSignal): Promise<void>;
|
|
55
55
|
}
|
|
56
56
|
export interface ZLinkEntrySpot<TActor extends ZLinkActor = ZLinkActor> extends ZLinkSpotActorMembershipLifecycle<TActor> {
|
|
@@ -11,7 +11,7 @@ import type { ZLinkFrameworkRegistration } from './contracts/Configuration/Regis
|
|
|
11
11
|
import type { ZLinkCodecSerializerRegistration, ZLinkFrameworkRegistrationOptions, ZLinkStreamCodecRegistration } from './contracts/Configuration/RegistrationTypes';
|
|
12
12
|
import { captureZLinkExecutionTurn } from './runtime/execution';
|
|
13
13
|
export { registerHandlerFilterScope as registerIntegrationHandlerFilterScope, type ZLinkHandlerFilterScopeRunner } from './runtime/channels/handler-filter-scope';
|
|
14
|
-
export { disposeOwnedInstance as disposeIntegrationHandler, disposeOwnedInstances as disposeIntegrationHandlers } from './runtime/handlers/handler-instance-scope';
|
|
14
|
+
export { registerHandlerInstanceScopeFactory as registerIntegrationHandlerInstanceScopeFactory, disposeOwnedInstance as disposeIntegrationHandler, disposeOwnedInstances as disposeIntegrationHandlers } from './runtime/handlers/handler-instance-scope';
|
|
15
15
|
export interface ZLinkNestIntegrationRuntimeHost extends Pick<import('./contracts').ZLinkFrameworkRuntime, 'shutdown'> {
|
|
16
16
|
readonly channelRuntimeOptions: unknown;
|
|
17
17
|
readonly routeMeshRuntimeOptions: ZLinkRouteMeshRuntimeOptions;
|
package/dist/nest-integration.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.disposeIntegrationHandlers = exports.disposeIntegrationHandler = exports.registerIntegrationHandlerFilterScope = exports.validateSessionReplacementCallbackTimeout = exports.validateMessageFollowDuration = exports.validateActorTransferTimeout = exports.registerSpotFactory = exports.registerEntrySpot = exports.validateRoutingIdPrefix = exports.registerRelocationStore = exports.registerActorFactory = exports.ZLinkSpotActorRequest = exports.ZLinkSpotActorSend = exports.hasSpotPublisherClient = exports.hasSpotNode = exports.hasActorManager = exports.normalizeFrameworkRegistration = exports.createFrameworkRegistration = exports.ZLinkConfigurationException = void 0;
|
|
3
|
+
exports.disposeIntegrationHandlers = exports.disposeIntegrationHandler = exports.registerIntegrationHandlerInstanceScopeFactory = exports.registerIntegrationHandlerFilterScope = exports.validateSessionReplacementCallbackTimeout = exports.validateMessageFollowDuration = exports.validateActorTransferTimeout = exports.registerSpotFactory = exports.registerEntrySpot = exports.validateRoutingIdPrefix = exports.registerRelocationStore = exports.registerActorFactory = exports.ZLinkSpotActorRequest = exports.ZLinkSpotActorSend = exports.hasSpotPublisherClient = exports.hasSpotNode = exports.hasActorManager = exports.normalizeFrameworkRegistration = exports.createFrameworkRegistration = exports.ZLinkConfigurationException = void 0;
|
|
4
4
|
exports.createIntegrationDispatchOptionsBuilder = createIntegrationDispatchOptionsBuilder;
|
|
5
5
|
exports.createIntegrationInboundDispatchOptionsBuilder = createIntegrationInboundDispatchOptionsBuilder;
|
|
6
6
|
exports.createIntegrationLocationOptionsBuilder = createIntegrationLocationOptionsBuilder;
|
|
@@ -46,6 +46,7 @@ const execution_1 = require("./runtime/execution");
|
|
|
46
46
|
var handler_filter_scope_1 = require("./runtime/channels/handler-filter-scope");
|
|
47
47
|
Object.defineProperty(exports, "registerIntegrationHandlerFilterScope", { enumerable: true, get: function () { return handler_filter_scope_1.registerHandlerFilterScope; } });
|
|
48
48
|
var handler_instance_scope_1 = require("./runtime/handlers/handler-instance-scope");
|
|
49
|
+
Object.defineProperty(exports, "registerIntegrationHandlerInstanceScopeFactory", { enumerable: true, get: function () { return handler_instance_scope_1.registerHandlerInstanceScopeFactory; } });
|
|
49
50
|
Object.defineProperty(exports, "disposeIntegrationHandler", { enumerable: true, get: function () { return handler_instance_scope_1.disposeOwnedInstance; } });
|
|
50
51
|
Object.defineProperty(exports, "disposeIntegrationHandlers", { enumerable: true, get: function () { return handler_instance_scope_1.disposeOwnedInstances; } });
|
|
51
52
|
function createIntegrationDispatchOptionsBuilder(dispatch) {
|
package/dist/runtime/abort.d.ts
CHANGED
|
@@ -10,5 +10,10 @@ export declare function isAbortError(error: unknown): boolean;
|
|
|
10
10
|
export declare function createDeadlineExceededError(message?: string): ZLinkDeadlineExceededError;
|
|
11
11
|
export declare function isDeadlineExceededError(error: unknown): boolean;
|
|
12
12
|
export declare function throwIfAborted(signal: AbortSignal | undefined): void;
|
|
13
|
+
/**
|
|
14
|
+
* Whether a handler or dispatch result is a thenable the caller must wait
|
|
15
|
+
* for. Synchronous results, including null and undefined, are not.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isPromiseLike<T>(value: T | PromiseLike<T>): value is PromiseLike<T>;
|
|
13
18
|
export declare function macrotaskBoundary(): Promise<void>;
|
|
14
19
|
export declare function awaitWithAbort<T>(operation: Promise<T>, signal: AbortSignal | undefined, abortOperation?: () => void): Promise<T>;
|
package/dist/runtime/abort.js
CHANGED
|
@@ -6,6 +6,7 @@ exports.isAbortError = isAbortError;
|
|
|
6
6
|
exports.createDeadlineExceededError = createDeadlineExceededError;
|
|
7
7
|
exports.isDeadlineExceededError = isDeadlineExceededError;
|
|
8
8
|
exports.throwIfAborted = throwIfAborted;
|
|
9
|
+
exports.isPromiseLike = isPromiseLike;
|
|
9
10
|
exports.macrotaskBoundary = macrotaskBoundary;
|
|
10
11
|
exports.awaitWithAbort = awaitWithAbort;
|
|
11
12
|
/** The typed cancellation error produced by Framework admission helpers. */
|
|
@@ -41,6 +42,15 @@ function throwIfAborted(signal) {
|
|
|
41
42
|
throw createAbortError();
|
|
42
43
|
}
|
|
43
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Whether a handler or dispatch result is a thenable the caller must wait
|
|
47
|
+
* for. Synchronous results, including null and undefined, are not.
|
|
48
|
+
*/
|
|
49
|
+
function isPromiseLike(value) {
|
|
50
|
+
return (value !== null &&
|
|
51
|
+
(typeof value === 'object' || typeof value === 'function') &&
|
|
52
|
+
typeof value.then === 'function');
|
|
53
|
+
}
|
|
44
54
|
function macrotaskBoundary() {
|
|
45
55
|
return new Promise((resolve) => setImmediate(resolve));
|
|
46
56
|
}
|