@zlink-systems/framework 0.30.3 → 0.32.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/ZLinkActor.d.ts +2 -0
- package/dist/contracts/Actors/ZLinkSessionBindingIdentity.d.ts +6 -0
- package/dist/contracts/Actors/ZLinkSessionBindingIdentity.js +2 -0
- package/dist/contracts/Actors/index.d.ts +1 -0
- package/dist/contracts/Actors/index.js +1 -0
- package/dist/contracts/Common/CoreTypes.d.ts +1 -0
- package/dist/contracts/Common/HandlerMessageType.d.ts +8 -0
- package/dist/contracts/Common/HandlerMessageType.js +41 -0
- package/dist/contracts/Common/ZLinkEncodedPayload.d.ts +1 -1
- package/dist/contracts/Common/ZLinkEncodedPayload.js +12 -20
- package/dist/contracts/Common/ZLinkMessage.js +11 -7
- package/dist/contracts/Common/encoded-payload-storage.d.ts +0 -2
- package/dist/contracts/Common/encoded-payload-storage.js +4 -16
- package/dist/contracts/Common/index.d.ts +1 -1
- package/dist/contracts/Common/payload-slab.d.ts +4 -0
- package/dist/contracts/Common/payload-slab.js +30 -0
- package/dist/contracts/Configuration/RegistrationBuilders.js +15 -9
- package/dist/contracts/Configuration/RegistrationTypes.d.ts +19 -0
- package/dist/contracts/Handlers/Contexts.d.ts +1 -0
- package/dist/contracts/Locations/Authority.d.ts +2 -0
- package/dist/internal.d.ts +9 -0
- package/dist/internal.js +23 -1
- package/dist/nest-integration.d.ts +1 -0
- package/dist/nest-integration.js +3 -1
- package/dist/runtime/actors/actor-client.d.ts +6 -2
- package/dist/runtime/actors/actor-client.js +120 -82
- package/dist/runtime/actors/actor-context.js +16 -5
- package/dist/runtime/actors/actor-execution-context.js +2 -2
- package/dist/runtime/actors/actor-handoff.d.ts +12 -1
- package/dist/runtime/actors/actor-handoff.js +79 -34
- package/dist/runtime/actors/actor-join-deferred-scope.js +6 -6
- package/dist/runtime/actors/actor-local-native-join.d.ts +2 -2
- package/dist/runtime/actors/actor-local-native-join.js +19 -17
- package/dist/runtime/actors/actor-mailbox.d.ts +1 -1
- package/dist/runtime/actors/actor-remote-joiner.d.ts +2 -2
- package/dist/runtime/actors/actor-remote-joiner.js +4 -4
- package/dist/runtime/actors/actor-routed-join-transport.d.ts +9 -3
- package/dist/runtime/actors/actor-routed-json-request.d.ts +3 -0
- package/dist/runtime/actors/actor-runtime-contracts.d.ts +2 -2
- package/dist/runtime/actors/actor-runtime-state.d.ts +1 -1
- package/dist/runtime/actors/spot-actor-dispatch.d.ts +9 -5
- package/dist/runtime/actors/spot-actor-dispatch.js +60 -38
- package/dist/runtime/admission.d.ts +6 -4
- package/dist/runtime/admission.js +21 -10
- package/dist/runtime/application-jobs/application-ingress-record-owner.d.ts +1 -0
- package/dist/runtime/application-jobs/application-ingress-record-owner.js +3 -0
- package/dist/runtime/backend/contracts/index.d.ts +26 -10
- package/dist/runtime/backend/mesh-completion-table.d.ts +7 -1
- package/dist/runtime/backend/mesh-completion-table.js +84 -20
- package/dist/runtime/backend/mesh-dispatch-pump.d.ts +19 -6
- package/dist/runtime/backend/mesh-dispatch-pump.js +246 -147
- package/dist/runtime/backend/node/node-backend-adapter-support.d.ts +3 -2
- package/dist/runtime/backend/node/node-backend-adapter-support.js +27 -19
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.d.ts +5 -2
- package/dist/runtime/backend/node/node-dealer-channel-client-transport.js +70 -13
- package/dist/runtime/backend/node/node-event-loop-poller.d.ts +2 -2
- package/dist/runtime/backend/node/node-event-loop-poller.js +4 -3
- package/dist/runtime/backend/node/node-mesh-backend-adapter.js +5 -1
- package/dist/runtime/backend/node/node-raw-binding-port.d.ts +7 -2
- package/dist/runtime/backend/node/node-raw-binding-port.js +99 -63
- package/dist/runtime/backend/node/node-raw-mesh-backend.d.ts +34 -16
- package/dist/runtime/backend/node/node-raw-mesh-backend.js +210 -106
- package/dist/runtime/backend/node/node-socket-backend-adapter.js +20 -6
- package/dist/runtime/backend/raw-binding-port.d.ts +6 -3
- package/dist/runtime/channels/channel-clients.js +3 -3
- package/dist/runtime/channels/channel-dispatch-pipeline.d.ts +11 -7
- package/dist/runtime/channels/channel-dispatch-pipeline.js +40 -22
- package/dist/runtime/channels/channel-dispatch-services.d.ts +3 -1
- package/dist/runtime/channels/channel-dispatch-services.js +7 -6
- package/dist/runtime/channels/channel-dispatchers.d.ts +13 -6
- package/dist/runtime/channels/channel-dispatchers.js +57 -36
- package/dist/runtime/channels/channel-envelope.d.ts +2 -2
- package/dist/runtime/channels/channel-envelope.js +609 -83
- package/dist/runtime/channels/channel-multipart.d.ts +1 -0
- package/dist/runtime/channels/channel-multipart.js +10 -6
- package/dist/runtime/channels/channel-outbound-operations.d.ts +6 -9
- package/dist/runtime/channels/channel-outbound-operations.js +107 -105
- package/dist/runtime/channels/channel-receive-loops.d.ts +9 -7
- package/dist/runtime/channels/channel-receive-loops.js +126 -90
- package/dist/runtime/channels/channel-runtime-lifecycle.d.ts +23 -6
- package/dist/runtime/channels/channel-runtime-lifecycle.js +47 -38
- package/dist/runtime/channels/channel-runtime-manager.d.ts +13 -6
- package/dist/runtime/channels/channel-runtime-manager.js +32 -14
- package/dist/runtime/channels/channel-socket-registry.d.ts +28 -4
- package/dist/runtime/channels/channel-socket-registry.js +9 -1
- package/dist/runtime/channels/channel-transports.d.ts +23 -16
- package/dist/runtime/channels/channel-transports.js +139 -119
- package/dist/runtime/channels/dispatch-error-reporter.d.ts +4 -4
- package/dist/runtime/channels/dispatch-error-reporter.js +5 -5
- package/dist/runtime/channels/fanout-location-runtime.d.ts +1 -1
- package/dist/runtime/channels/local-spot-route-transport.d.ts +5 -2
- package/dist/runtime/channels/local-spot-route-transport.js +15 -18
- package/dist/runtime/channels/router-socket-spot-route-transport.d.ts +6 -3
- package/dist/runtime/channels/router-socket-spot-route-transport.js +33 -19
- package/dist/runtime/channels/source-spot-router.d.ts +6 -3
- package/dist/runtime/channels/source-spot-router.js +34 -23
- package/dist/runtime/channels/spot-node-route-transport.d.ts +6 -3
- package/dist/runtime/channels/spot-node-route-transport.js +23 -17
- package/dist/runtime/channels/spot-route-bridge-transport.d.ts +6 -3
- package/dist/runtime/channels/spot-route-bridge-transport.js +38 -24
- package/dist/runtime/channels/spot-route-dispatch-strategy.d.ts +8 -4
- package/dist/runtime/channels/spot-route-dispatch-strategy.js +36 -23
- package/dist/runtime/diagnostics/dispatch-error-details.js +9 -3
- package/dist/runtime/diagnostics/message-flow-bootstrap.d.ts +1 -0
- package/dist/runtime/diagnostics/message-flow-bootstrap.js +8 -0
- package/dist/runtime/diagnostics/message-flow-delivery.d.ts +47 -0
- package/dist/runtime/diagnostics/message-flow-delivery.js +149 -0
- package/dist/runtime/diagnostics/message-flow-record.d.ts +50 -0
- package/dist/runtime/diagnostics/message-flow-record.js +228 -0
- package/dist/runtime/diagnostics/message-flow-worker.d.ts +1 -0
- package/dist/runtime/diagnostics/message-flow-worker.js +118 -0
- package/dist/runtime/diagnostics/message-flow.d.ts +7 -19
- package/dist/runtime/diagnostics/message-flow.js +42 -290
- package/dist/runtime/diagnostics/runtime-metrics.d.ts +4 -3
- package/dist/runtime/diagnostics/runtime-metrics.js +8 -4
- package/dist/runtime/execution/index.d.ts +1 -0
- package/dist/runtime/execution/index.js +6 -3
- package/dist/runtime/execution/serial-execution-queue.d.ts +26 -13
- package/dist/runtime/execution/serial-execution-queue.js +75 -71
- package/dist/runtime/foundation/durable-service-request.d.ts +12 -3
- package/dist/runtime/foundation/durable-service-request.js +158 -73
- package/dist/runtime/foundation/operation-registry.d.ts +33 -3
- package/dist/runtime/foundation/operation-registry.js +272 -33
- package/dist/runtime/foundation/raw-service-mesh-runtime.d.ts +62 -23
- package/dist/runtime/foundation/raw-service-mesh-runtime.js +373 -194
- package/dist/runtime/foundation/request-runtime.d.ts +17 -0
- package/dist/runtime/foundation/request-runtime.js +163 -0
- package/dist/runtime/foundation/service-discovery-registry.d.ts +4 -0
- package/dist/runtime/foundation/service-discovery-registry.js +6 -0
- package/dist/runtime/foundation/service-liveness-registry.d.ts +1 -1
- package/dist/runtime/foundation/service-mailbox.d.ts +4 -2
- package/dist/runtime/foundation/service-mailbox.js +4 -1
- package/dist/runtime/foundation/service-relocation-object-owner.d.ts +2 -2
- package/dist/runtime/foundation/service-relocation-object-owner.js +12 -5
- package/dist/runtime/foundation/service-runtime-contracts.d.ts +7 -2
- package/dist/runtime/foundation/service-stateful-registry.d.ts +6 -2
- package/dist/runtime/foundation/service-stateful-registry.js +38 -17
- package/dist/runtime/foundation/service-stateful-runtime.d.ts +91 -26
- package/dist/runtime/foundation/service-stateful-runtime.js +245 -120
- package/dist/runtime/foundation/service-stateful-wire-codec.d.ts +3 -0
- package/dist/runtime/foundation/service-stateful-wire-codec.js +15 -0
- package/dist/runtime/foundation/service-topology-registry.d.ts +2 -0
- package/dist/runtime/foundation/service-topology-registry.js +13 -3
- package/dist/runtime/foundation/service-wire-constants.generated.d.ts +1 -0
- package/dist/runtime/foundation/service-wire-constants.generated.js +12 -0
- package/dist/runtime/foundation/service-wire-m6a-codec.d.ts +5 -1
- package/dist/runtime/foundation/service-wire-m6a-codec.js +50 -15
- package/dist/runtime/host/actor-packet-relay.d.ts +5 -6
- package/dist/runtime/host/actor-packet-relay.js +58 -57
- package/dist/runtime/host/actor-placement-coordinator.d.ts +1 -1
- package/dist/runtime/host/actor-runtime-options-factory.d.ts +2 -0
- package/dist/runtime/host/actor-runtime-options-factory.js +3 -2
- package/dist/runtime/host/actor-transfer-runtime.d.ts +3 -3
- package/dist/runtime/host/application-job-queue.d.ts +7 -5
- package/dist/runtime/host/application-job-queue.js +33 -21
- package/dist/runtime/host/bound-session-relay.js +0 -1
- package/dist/runtime/host/channel-runtime-options-factory.d.ts +2 -0
- package/dist/runtime/host/channel-runtime-options-factory.js +1 -0
- package/dist/runtime/host/entry-actor-runtime.d.ts +5 -2
- package/dist/runtime/host/entry-actor-runtime.js +2 -2
- package/dist/runtime/host/index.d.ts +106 -37
- package/dist/runtime/host/index.js +303 -151
- package/dist/runtime/host/location-runtime-owner.d.ts +2 -2
- package/dist/runtime/host/location-runtime-owner.js +1 -1
- package/dist/runtime/host/service-relocation-host-runtime.d.ts +195 -45
- package/dist/runtime/host/service-relocation-host-runtime.js +257 -144
- package/dist/runtime/host/spot-address-transport.d.ts +3 -0
- package/dist/runtime/host/spot-address-transport.js +73 -76
- package/dist/runtime/host/spot-runtime-options-factory.js +2 -0
- package/dist/runtime/host/user-spot-creation-coordinator.d.ts +3 -1
- package/dist/runtime/host/user-spot-creation-coordinator.js +49 -21
- package/dist/runtime/internal-observation.d.ts +1 -0
- package/dist/runtime/internal-observation.js +5 -0
- package/dist/runtime/locations/actor-location-claims.d.ts +1 -1
- package/dist/runtime/locations/actor-location-claims.js +15 -6
- package/dist/runtime/locations/auto-connect-loop.d.ts +0 -1
- package/dist/runtime/locations/auto-connect-loop.js +25 -19
- package/dist/runtime/locations/auto-connect-planner.js +2 -5
- package/dist/runtime/locations/auto-connect-reconciler.d.ts +1 -0
- package/dist/runtime/locations/auto-connect-reconciler.js +35 -23
- package/dist/runtime/locations/in-memory-authority-store.d.ts +1 -0
- package/dist/runtime/locations/in-memory-authority-store.js +15 -5
- package/dist/runtime/locations/in-memory-location-store.d.ts +0 -2
- package/dist/runtime/locations/in-memory-location-store.js +1 -38
- package/dist/runtime/locations/lifecycle.d.ts +1 -1
- package/dist/runtime/locations/lifecycle.js +2 -2
- package/dist/runtime/locations/location-store-repository.d.ts +0 -1
- package/dist/runtime/locations/location-store-repository.js +163 -246
- package/dist/runtime/locations/resolvers.d.ts +8 -1
- package/dist/runtime/locations/resolvers.js +16 -2
- package/dist/runtime/locations/runtime.d.ts +3 -3
- package/dist/runtime/locations/runtime.js +12 -16
- package/dist/runtime/messaging/creation-payload-codec.js +8 -7
- package/dist/runtime/messaging/framework-json-v1.d.ts +1 -1
- package/dist/runtime/messaging/framework-json-v1.js +6 -2
- package/dist/runtime/messaging/payload-codec.js +21 -35
- package/dist/runtime/messaging/request-deadline.d.ts +4 -2
- package/dist/runtime/messaging/request-deadline.js +40 -25
- package/dist/runtime/messaging/request-result.d.ts +14 -1
- package/dist/runtime/messaging/request-result.js +74 -13
- package/dist/runtime/protocol/service_wire_codec.generated.d.ts +4 -0
- package/dist/runtime/protocol/service_wire_codec.generated.js +17 -7
- package/dist/runtime/spots/index.d.ts +28 -7
- package/dist/runtime/spots/index.js +31 -6
- package/dist/runtime/spots/spot-activation-registry.d.ts +3 -2
- package/dist/runtime/spots/spot-activation-registry.js +13 -8
- package/dist/runtime/spots/spot-activation-state.d.ts +2 -0
- package/dist/runtime/spots/spot-activation-state.js +1 -0
- package/dist/runtime/spots/spot-actor-admission-coordinator.d.ts +9 -4
- package/dist/runtime/spots/spot-actor-admission-coordinator.js +33 -12
- package/dist/runtime/spots/spot-actor-ingress-admission.d.ts +40 -0
- package/dist/runtime/spots/spot-actor-ingress-admission.js +78 -0
- package/dist/runtime/spots/spot-actor-membership.js +3 -3
- package/dist/runtime/spots/spot-actor-packet-dispatch.d.ts +16 -43
- package/dist/runtime/spots/spot-actor-packet-dispatch.js +56 -113
- package/dist/runtime/spots/spot-actor-packet-drain.d.ts +1 -0
- package/dist/runtime/spots/spot-actor-packet-drain.js +12 -5
- package/dist/runtime/spots/spot-entry-activation.d.ts +4 -3
- package/dist/runtime/spots/spot-entry-activation.js +7 -12
- package/dist/runtime/spots/spot-handler-registry.d.ts +5 -1
- package/dist/runtime/spots/spot-handler-registry.js +31 -15
- package/dist/runtime/spots/spot-manager-public.js +3 -2
- package/dist/runtime/spots/spot-node-runtime-manager.d.ts +11 -6
- package/dist/runtime/spots/spot-node-runtime-manager.js +6 -1
- package/dist/runtime/spots/spot-outbound.d.ts +8 -2
- package/dist/runtime/spots/spot-outbound.js +5 -5
- package/dist/runtime/spots/spot-route-packet-dispatch.js +13 -8
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.d.ts +3 -3
- package/dist/runtime/spots/spot-routed-spot-packet-dispatch.js +9 -5
- package/dist/runtime/spots/spot-runtime-ports.d.ts +2 -2
- package/dist/runtime/spots/spot-serial-executor.d.ts +2 -1
- package/dist/runtime/spots/spot-serial-turn-executor.js +20 -26
- package/dist/runtime/spots/spot-subscription-dispatch.js +5 -2
- package/dist/runtime/spots/spot-timer.d.ts +1 -1
- package/dist/runtime/streams/actor-session-binding-registry.d.ts +11 -3
- package/dist/runtime/streams/actor-session-binding-registry.js +28 -0
- package/dist/runtime/streams/bound-actor-relay-sender.d.ts +2 -2
- package/dist/runtime/streams/bound-actor-relay-sender.js +3 -4
- package/dist/runtime/streams/bound-session-service.js +6 -7
- package/dist/runtime/streams/index.d.ts +3 -3
- package/dist/runtime/streams/index.js +22 -2
- package/dist/runtime/streams/managed-stream.js +2 -1
- package/dist/runtime/streams/session-calls.d.ts +1 -1
- package/dist/runtime/streams/session-calls.js +3 -9
- package/dist/runtime/streams/session-context.d.ts +2 -2
- package/dist/runtime/streams/session-context.js +2 -2
- package/dist/runtime/streams/stream-session-runtime.d.ts +1 -0
- package/dist/runtime/streams/stream-session-runtime.js +64 -33
- package/package.json +3 -3
- package/src/contracts/Actors/ZLinkActor.ts +6 -0
- package/src/contracts/Actors/ZLinkSessionBindingIdentity.ts +7 -0
- package/src/contracts/Actors/index.ts +1 -0
- package/src/contracts/Common/CoreTypes.ts +1 -0
- package/src/contracts/Common/HandlerMessageType.ts +50 -0
- package/src/contracts/Common/ZLinkEncodedPayload.ts +13 -25
- package/src/contracts/Common/ZLinkMessage.ts +11 -7
- package/src/contracts/Common/encoded-payload-storage.ts +4 -16
- package/src/contracts/Common/index.ts +1 -1
- package/src/contracts/Common/payload-slab.ts +29 -0
- package/src/contracts/Configuration/RegistrationBuilders.ts +29 -15
- package/src/contracts/Configuration/RegistrationTypes.ts +19 -0
- package/src/contracts/Handlers/Contexts.ts +1 -0
- package/src/contracts/Locations/Authority.ts +7 -1
- package/src/internal.ts +17 -0
- package/src/nest-integration.ts +1 -0
- package/src/runtime/actors/actor-client.ts +257 -163
- package/src/runtime/actors/actor-context.ts +26 -14
- package/src/runtime/actors/actor-execution-context.ts +2 -2
- package/src/runtime/actors/actor-handoff.ts +86 -51
- package/src/runtime/actors/actor-join-deferred-scope.ts +6 -6
- package/src/runtime/actors/actor-local-native-join.ts +38 -17
- package/src/runtime/actors/actor-mailbox.ts +1 -1
- package/src/runtime/actors/actor-remote-joiner.ts +8 -4
- package/src/runtime/actors/actor-routed-join-transport.ts +13 -5
- package/src/runtime/actors/actor-routed-json-request.ts +3 -0
- package/src/runtime/actors/actor-runtime-contracts.ts +4 -2
- package/src/runtime/actors/actor-runtime-state.ts +1 -1
- package/src/runtime/actors/spot-actor-dispatch.ts +70 -68
- package/src/runtime/admission.ts +42 -15
- package/src/runtime/application-jobs/application-ingress-record-owner.ts +4 -0
- package/src/runtime/backend/contracts/index.ts +77 -10
- package/src/runtime/backend/mesh-completion-table.ts +106 -15
- package/src/runtime/backend/mesh-dispatch-pump.ts +294 -146
- package/src/runtime/backend/node/node-backend-adapter-support.ts +42 -32
- package/src/runtime/backend/node/node-dealer-channel-client-transport.ts +91 -34
- package/src/runtime/backend/node/node-event-loop-poller.ts +14 -5
- package/src/runtime/backend/node/node-mesh-backend-adapter.ts +5 -1
- package/src/runtime/backend/node/node-raw-binding-port.ts +180 -69
- package/src/runtime/backend/node/node-raw-mesh-backend.ts +386 -157
- package/src/runtime/backend/node/node-socket-backend-adapter.ts +56 -11
- package/src/runtime/backend/raw-binding-port.ts +13 -5
- package/src/runtime/channels/channel-clients.ts +26 -11
- package/src/runtime/channels/channel-dispatch-pipeline.ts +77 -65
- package/src/runtime/channels/channel-dispatch-services.ts +7 -12
- package/src/runtime/channels/channel-dispatchers.ts +93 -39
- package/src/runtime/channels/channel-envelope.ts +680 -144
- package/src/runtime/channels/channel-multipart.ts +17 -13
- package/src/runtime/channels/channel-outbound-operations.ts +204 -178
- package/src/runtime/channels/channel-receive-loops.ts +160 -107
- package/src/runtime/channels/channel-runtime-lifecycle.ts +64 -59
- package/src/runtime/channels/channel-runtime-manager.ts +74 -27
- package/src/runtime/channels/channel-socket-registry.ts +20 -5
- package/src/runtime/channels/channel-transports.ts +414 -287
- package/src/runtime/channels/dispatch-error-reporter.ts +4 -9
- package/src/runtime/channels/local-spot-route-transport.ts +27 -29
- package/src/runtime/channels/router-socket-spot-route-transport.ts +63 -32
- package/src/runtime/channels/source-spot-router.ts +75 -38
- package/src/runtime/channels/spot-node-route-transport.ts +67 -37
- package/src/runtime/channels/spot-route-bridge-transport.ts +62 -30
- package/src/runtime/channels/spot-route-dispatch-strategy.ts +105 -34
- package/src/runtime/diagnostics/dispatch-error-details.ts +10 -2
- package/src/runtime/diagnostics/message-flow-bootstrap.ts +6 -0
- package/src/runtime/diagnostics/message-flow-delivery.ts +171 -0
- package/src/runtime/diagnostics/message-flow-record.ts +295 -0
- package/src/runtime/diagnostics/message-flow-worker.ts +146 -0
- package/src/runtime/diagnostics/message-flow.ts +49 -362
- package/src/runtime/diagnostics/runtime-metrics.ts +10 -4
- package/src/runtime/execution/index.ts +6 -0
- package/src/runtime/execution/serial-execution-queue.ts +94 -96
- package/src/runtime/foundation/durable-service-request.ts +212 -89
- package/src/runtime/foundation/operation-registry.ts +287 -38
- package/src/runtime/foundation/raw-service-mesh-runtime.ts +617 -292
- package/src/runtime/foundation/request-runtime.ts +227 -0
- package/src/runtime/foundation/service-discovery-registry.ts +7 -0
- package/src/runtime/foundation/service-liveness-registry.ts +1 -1
- package/src/runtime/foundation/service-mailbox.ts +7 -2
- package/src/runtime/foundation/service-relocation-object-owner.ts +21 -6
- package/src/runtime/foundation/service-runtime-contracts.ts +12 -2
- package/src/runtime/foundation/service-stateful-registry.ts +52 -19
- package/src/runtime/foundation/service-stateful-runtime.ts +365 -198
- package/src/runtime/foundation/service-stateful-wire-codec.ts +18 -0
- package/src/runtime/foundation/service-topology-registry.ts +21 -3
- package/src/runtime/foundation/service-wire-constants.generated.ts +10 -0
- package/src/runtime/foundation/service-wire-m6a-codec.ts +69 -17
- package/src/runtime/host/actor-packet-relay.ts +160 -156
- package/src/runtime/host/actor-placement-coordinator.ts +1 -1
- package/src/runtime/host/actor-runtime-options-factory.ts +7 -2
- package/src/runtime/host/actor-transfer-runtime.ts +3 -3
- package/src/runtime/host/application-job-queue.ts +56 -27
- package/src/runtime/host/bound-session-relay.ts +0 -1
- package/src/runtime/host/channel-runtime-options-factory.ts +3 -0
- package/src/runtime/host/entry-actor-runtime.ts +14 -6
- package/src/runtime/host/index.ts +388 -113
- package/src/runtime/host/location-runtime-owner.ts +3 -3
- package/src/runtime/host/service-relocation-host-runtime.ts +380 -252
- package/src/runtime/host/spot-address-transport.ts +110 -95
- package/src/runtime/host/spot-runtime-options-factory.ts +3 -0
- package/src/runtime/host/user-spot-creation-coordinator.ts +69 -22
- package/src/runtime/internal-observation.ts +2 -0
- package/src/runtime/locations/actor-location-claims.ts +42 -16
- package/src/runtime/locations/auto-connect-loop.ts +24 -16
- package/src/runtime/locations/auto-connect-planner.ts +2 -5
- package/src/runtime/locations/auto-connect-reconciler.ts +37 -24
- package/src/runtime/locations/in-memory-authority-store.ts +27 -7
- package/src/runtime/locations/in-memory-location-store.ts +1 -74
- package/src/runtime/locations/lifecycle.ts +4 -2
- package/src/runtime/locations/location-store-repository.ts +228 -308
- package/src/runtime/locations/resolvers.ts +20 -8
- package/src/runtime/locations/runtime.ts +16 -28
- package/src/runtime/messaging/creation-payload-codec.ts +12 -10
- package/src/runtime/messaging/framework-json-v1.ts +10 -1
- package/src/runtime/messaging/payload-codec.ts +50 -75
- package/src/runtime/messaging/request-deadline.ts +47 -39
- package/src/runtime/messaging/request-result.ts +88 -17
- 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/index.ts +57 -10
- package/src/runtime/spots/spot-activation-registry.ts +12 -8
- package/src/runtime/spots/spot-activation-state.ts +2 -0
- package/src/runtime/spots/spot-actor-admission-coordinator.ts +62 -37
- package/src/runtime/spots/spot-actor-ingress-admission.ts +157 -0
- package/src/runtime/spots/spot-actor-membership.ts +8 -5
- package/src/runtime/spots/spot-actor-packet-dispatch.ts +122 -206
- package/src/runtime/spots/spot-actor-packet-drain.ts +21 -6
- package/src/runtime/spots/spot-entry-activation.ts +25 -35
- package/src/runtime/spots/spot-handler-registry.ts +72 -15
- package/src/runtime/spots/spot-manager-public.ts +4 -2
- package/src/runtime/spots/spot-node-runtime-manager.ts +16 -7
- package/src/runtime/spots/spot-outbound.ts +26 -10
- package/src/runtime/spots/spot-route-packet-dispatch.ts +18 -8
- package/src/runtime/spots/spot-routed-spot-packet-dispatch.ts +14 -8
- package/src/runtime/spots/spot-runtime-ports.ts +5 -2
- package/src/runtime/spots/spot-serial-executor.ts +1 -1
- package/src/runtime/spots/spot-serial-turn-executor.ts +25 -40
- package/src/runtime/spots/spot-subscription-dispatch.ts +9 -2
- package/src/runtime/spots/spot-timer.ts +1 -1
- package/src/runtime/streams/actor-session-binding-registry.ts +46 -3
- package/src/runtime/streams/bound-actor-relay-sender.ts +16 -5
- package/src/runtime/streams/bound-session-service.ts +10 -7
- package/src/runtime/streams/index.ts +30 -4
- package/src/runtime/streams/managed-stream.ts +2 -1
- package/src/runtime/streams/session-calls.ts +9 -14
- package/src/runtime/streams/session-context.ts +6 -11
- package/src/runtime/streams/stream-session-runtime.ts +79 -40
- package/dist/runtime/spots/spot-lifecycle-metrics.d.ts +0 -8
- package/dist/runtime/spots/spot-lifecycle-metrics.js +0 -17
- package/src/runtime/spots/spot-lifecycle-metrics.ts +0 -16
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { Type, ZLinkMessageTypeResolver } from './CoreTypes';
|
|
2
|
+
|
|
3
|
+
type HandlerTypeWithMessageType = Type & {
|
|
4
|
+
readonly messageType?: ZLinkMessageTypeResolver;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export interface ZLinkHandlerMessageType {
|
|
8
|
+
readonly type: Type;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** Reads a handler's declared type once and defers/caches a lazy resolver until decode. */
|
|
12
|
+
export function resolveHandlerMessageType(handlerType: Type): ZLinkHandlerMessageType | undefined {
|
|
13
|
+
const declared = (handlerType as HandlerTypeWithMessageType).messageType;
|
|
14
|
+
if (declared === undefined) return undefined;
|
|
15
|
+
if (isTypeConstructor(declared)) return { type: declared };
|
|
16
|
+
|
|
17
|
+
let state: 'unresolved' | 'resolved' | 'failed' = 'unresolved';
|
|
18
|
+
let resolved: Type | undefined;
|
|
19
|
+
let failure: unknown;
|
|
20
|
+
return {
|
|
21
|
+
get type() {
|
|
22
|
+
if (state === 'unresolved') {
|
|
23
|
+
try {
|
|
24
|
+
resolved = declared();
|
|
25
|
+
state = 'resolved';
|
|
26
|
+
} catch (error) {
|
|
27
|
+
failure = error;
|
|
28
|
+
state = 'failed';
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (state === 'failed') throw failure;
|
|
32
|
+
return resolved!;
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Converts a stored registration resolver to the constructor expected by a codec. */
|
|
38
|
+
export function resolveMessageTypeForDecode(
|
|
39
|
+
messageType?: ZLinkHandlerMessageType
|
|
40
|
+
): Type | undefined {
|
|
41
|
+
return messageType?.type;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function isTypeConstructor(value: unknown): value is Type {
|
|
45
|
+
// Class constructors have a non-writable prototype property; ordinary resolver functions do not.
|
|
46
|
+
return (
|
|
47
|
+
typeof value === 'function' &&
|
|
48
|
+
Object.getOwnPropertyDescriptor(value, 'prototype')?.writable === false
|
|
49
|
+
);
|
|
50
|
+
}
|
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
adoptEncodedPayload,
|
|
3
|
-
borrowEncodedPayload,
|
|
4
|
-
storeEncodedPayload
|
|
5
|
-
} from './encoded-payload-storage';
|
|
6
|
-
|
|
7
1
|
export class ZLinkEncodedPayload {
|
|
2
|
+
readonly #bytes: Buffer;
|
|
3
|
+
|
|
8
4
|
private constructor(bytes: Uint8Array, owned: boolean) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
5
|
+
this.#bytes = !owned
|
|
6
|
+
? Buffer.from(bytes)
|
|
7
|
+
: Buffer.isBuffer(bytes)
|
|
8
|
+
? bytes
|
|
9
|
+
: Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
14
10
|
}
|
|
15
11
|
|
|
16
12
|
/** Copies the supplied bytes. */
|
|
@@ -25,12 +21,12 @@ export class ZLinkEncodedPayload {
|
|
|
25
21
|
|
|
26
22
|
/** Returns a copy of the stored bytes. */
|
|
27
23
|
data(): Uint8Array {
|
|
28
|
-
return new Uint8Array(this
|
|
24
|
+
return new Uint8Array(this.#bytes);
|
|
29
25
|
}
|
|
30
26
|
|
|
31
27
|
/** Returns the stored bytes without copying. Do not modify this view or its backing buffer. */
|
|
32
28
|
view(): Readonly<Uint8Array> {
|
|
33
|
-
return this
|
|
29
|
+
return this.#bytes;
|
|
34
30
|
}
|
|
35
31
|
|
|
36
32
|
toBytes(): Uint8Array {
|
|
@@ -38,30 +34,22 @@ export class ZLinkEncodedPayload {
|
|
|
38
34
|
}
|
|
39
35
|
|
|
40
36
|
copy(): ZLinkEncodedPayload {
|
|
41
|
-
return ZLinkEncodedPayload.from(this
|
|
37
|
+
return ZLinkEncodedPayload.from(this.#bytes);
|
|
42
38
|
}
|
|
43
39
|
|
|
44
40
|
size(): number {
|
|
45
|
-
return this.
|
|
41
|
+
return this.#bytes.length;
|
|
46
42
|
}
|
|
47
43
|
|
|
48
44
|
isEmpty(): boolean {
|
|
49
|
-
return this.
|
|
45
|
+
return this.#bytes.length === 0;
|
|
50
46
|
}
|
|
51
47
|
|
|
52
48
|
getString(encoding: BufferEncoding = 'utf8'): string {
|
|
53
|
-
return this.
|
|
49
|
+
return this.#bytes.toString(encoding);
|
|
54
50
|
}
|
|
55
51
|
|
|
56
52
|
close(): void {
|
|
57
53
|
// ZLinkEncodedPayload owns managed memory only; this mirrors Message-like readers.
|
|
58
54
|
}
|
|
59
|
-
|
|
60
|
-
private stored(): Buffer {
|
|
61
|
-
const payload = borrowEncodedPayload(this);
|
|
62
|
-
if (payload === undefined) {
|
|
63
|
-
throw new Error('ZLink encoded payload storage is unavailable.');
|
|
64
|
-
}
|
|
65
|
-
return payload;
|
|
66
|
-
}
|
|
67
55
|
}
|
|
@@ -123,13 +123,17 @@ export function materializeZLinkMessageValue<T>(value: T, type?: Type<T>): T {
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
const materialized = Object.create(prototype) as Record<string, unknown>;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
const descriptor: PropertyDescriptor = {
|
|
127
|
+
configurable: true,
|
|
128
|
+
enumerable: true,
|
|
129
|
+
value: undefined,
|
|
130
|
+
writable: true
|
|
131
|
+
};
|
|
132
|
+
for (const key in value) {
|
|
133
|
+
if (Object.prototype.hasOwnProperty.call(value, key)) {
|
|
134
|
+
descriptor.value = (value as Record<string, unknown>)[key];
|
|
135
|
+
Object.defineProperty(materialized, key, descriptor);
|
|
136
|
+
}
|
|
133
137
|
}
|
|
134
138
|
return materialized as T;
|
|
135
139
|
}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export function storeEncodedPayload(owner: object, bytes: Uint8Array): Buffer {
|
|
4
|
-
const stored = Buffer.from(bytes);
|
|
5
|
-
encodedPayloadStorage.set(owner, stored);
|
|
6
|
-
return stored;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export function adoptEncodedPayload(owner: object, bytes: Uint8Array): Buffer {
|
|
10
|
-
const stored = Buffer.isBuffer(bytes)
|
|
11
|
-
? bytes
|
|
12
|
-
: Buffer.from(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
|
13
|
-
encodedPayloadStorage.set(owner, stored);
|
|
14
|
-
return stored;
|
|
15
|
-
}
|
|
1
|
+
import { ZLinkEncodedPayload } from './ZLinkEncodedPayload';
|
|
16
2
|
|
|
17
3
|
export function borrowEncodedPayload(owner: object): Buffer | undefined {
|
|
18
|
-
return
|
|
4
|
+
return owner instanceof ZLinkEncodedPayload
|
|
5
|
+
? (ZLinkEncodedPayload.prototype.view.call(owner) as Buffer)
|
|
6
|
+
: undefined;
|
|
19
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from './ActorRef';
|
|
2
|
-
export type { Type, RoutingId, ActorId, SpotId } from './CoreTypes';
|
|
2
|
+
export type { Type, ZLinkMessageTypeResolver, RoutingId, ActorId, SpotId } from './CoreTypes';
|
|
3
3
|
export * from './ZLinkEncodedPayload';
|
|
4
4
|
export * from './ZLinkMessageMetadata';
|
|
5
5
|
export { ZLinkMessage, isZLinkMessage } from './ZLinkMessage';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
const SLAB_BYTES = 64 * 1024;
|
|
2
|
+
const MAX_POOLED_BYTES = 16 * 1024;
|
|
3
|
+
const ALIGNMENT = 8;
|
|
4
|
+
|
|
5
|
+
let slab: Buffer | undefined;
|
|
6
|
+
let offset = 0;
|
|
7
|
+
|
|
8
|
+
/** Allocates independent bytes; previously returned regions are never reused. */
|
|
9
|
+
export function allocatePayloadBytes(length: number): Buffer {
|
|
10
|
+
if (length > MAX_POOLED_BYTES || length < 0 || !Number.isInteger(length)) {
|
|
11
|
+
return Buffer.allocUnsafe(length);
|
|
12
|
+
}
|
|
13
|
+
if (slab === undefined || offset + length > SLAB_BYTES) {
|
|
14
|
+
slab = Buffer.allocUnsafe(SLAB_BYTES);
|
|
15
|
+
offset = 0;
|
|
16
|
+
}
|
|
17
|
+
const bytes = slab.subarray(offset, offset + length);
|
|
18
|
+
offset += Math.ceil(length / ALIGNMENT) * ALIGNMENT;
|
|
19
|
+
// Transient runtime frames only; local queues and application boundaries
|
|
20
|
+
// copy before they retain or expose these bytes.
|
|
21
|
+
return bytes;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/** Copies bytes into an exact, standalone backing store with no Buffer pool. */
|
|
25
|
+
export function copyPayloadBytes(bytes: Uint8Array): Buffer {
|
|
26
|
+
const copy = Buffer.allocUnsafeSlow(bytes.byteLength);
|
|
27
|
+
copy.set(bytes);
|
|
28
|
+
return copy;
|
|
29
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ZLinkHandlerMessageType } from '../Common/HandlerMessageType';
|
|
1
2
|
import { AutoHwmProfile } from '@zlink-systems/zlink';
|
|
2
3
|
import type {
|
|
3
4
|
RoutingId,
|
|
@@ -53,6 +54,7 @@ import { requireMessageFlowLogMode, requireTraceSampleRate } from './Diagnostics
|
|
|
53
54
|
import { normalizeEndpoint } from './EndpointNotation';
|
|
54
55
|
import { requirePublicFanoutTopic } from './FanoutTopic';
|
|
55
56
|
import { requireValidSendTimeoutMs } from './SendTimeoutValidation';
|
|
57
|
+
import { resolveHandlerMessageType } from '../Common/HandlerMessageType';
|
|
56
58
|
import { DEFAULT_STREAM_NODE_MAX_MESSAGE_SIZE } from './InternalDefaults';
|
|
57
59
|
import {
|
|
58
60
|
type ZLinkActorFactoryBuilder,
|
|
@@ -671,7 +673,7 @@ class DefaultClientServerChannelServerBuilder implements ZLinkClientServerChanne
|
|
|
671
673
|
handlerType: Type<import('../Handlers').ZLinkSendHandler<TMessage>>
|
|
672
674
|
): this {
|
|
673
675
|
this.channel.sendHandlers ??= [];
|
|
674
|
-
this.channel.sendHandlers.push(
|
|
676
|
+
this.channel.sendHandlers.push(handlerRegistration(handlerType));
|
|
675
677
|
return this;
|
|
676
678
|
}
|
|
677
679
|
|
|
@@ -679,7 +681,7 @@ class DefaultClientServerChannelServerBuilder implements ZLinkClientServerChanne
|
|
|
679
681
|
handlerType: Type<import('../Handlers').ZLinkRequestHandler<TRequest, TReply>>
|
|
680
682
|
): this {
|
|
681
683
|
this.channel.requestHandlers ??= [];
|
|
682
|
-
this.channel.requestHandlers.push(
|
|
684
|
+
this.channel.requestHandlers.push(handlerRegistration(handlerType));
|
|
683
685
|
return this;
|
|
684
686
|
}
|
|
685
687
|
|
|
@@ -1011,7 +1013,7 @@ class DefaultMeshNodeBuilder implements ZLinkMeshNodeBuilder {
|
|
|
1011
1013
|
handlerType: Type<import('../Handlers').ZLinkRouteSendHandler<TMessage>>
|
|
1012
1014
|
): this {
|
|
1013
1015
|
this.node.routeSendHandlers ??= [];
|
|
1014
|
-
this.node.routeSendHandlers.push(
|
|
1016
|
+
this.node.routeSendHandlers.push(handlerRegistration(handlerType));
|
|
1015
1017
|
return this;
|
|
1016
1018
|
}
|
|
1017
1019
|
|
|
@@ -1019,10 +1021,7 @@ class DefaultMeshNodeBuilder implements ZLinkMeshNodeBuilder {
|
|
|
1019
1021
|
handlerType: Type<import('../Handlers').ZLinkRouteRequestHandler<TRequest, TReply>>
|
|
1020
1022
|
): this {
|
|
1021
1023
|
this.node.routeRequestHandlers ??= [];
|
|
1022
|
-
this.node.routeRequestHandlers.push(
|
|
1023
|
-
packetName: handlerPacketName(handlerType),
|
|
1024
|
-
handlerType
|
|
1025
|
-
});
|
|
1024
|
+
this.node.routeRequestHandlers.push(handlerRegistration(handlerType));
|
|
1026
1025
|
return this;
|
|
1027
1026
|
}
|
|
1028
1027
|
|
|
@@ -1379,7 +1378,7 @@ class DefaultMeshChannelServerBuilder implements ZLinkMeshChannelServerBuilder {
|
|
|
1379
1378
|
handlerType: Type<import('../Handlers').ZLinkSendHandler<TMessage>>
|
|
1380
1379
|
): this {
|
|
1381
1380
|
this.channel.sendHandlers ??= [];
|
|
1382
|
-
this.channel.sendHandlers.push(
|
|
1381
|
+
this.channel.sendHandlers.push(handlerRegistration(handlerType));
|
|
1383
1382
|
return this;
|
|
1384
1383
|
}
|
|
1385
1384
|
|
|
@@ -1387,7 +1386,7 @@ class DefaultMeshChannelServerBuilder implements ZLinkMeshChannelServerBuilder {
|
|
|
1387
1386
|
handlerType: Type<import('../Handlers').ZLinkRequestHandler<TRequest, TReply>>
|
|
1388
1387
|
): this {
|
|
1389
1388
|
this.channel.requestHandlers ??= [];
|
|
1390
|
-
this.channel.requestHandlers.push(
|
|
1389
|
+
this.channel.requestHandlers.push(handlerRegistration(handlerType));
|
|
1391
1390
|
return this;
|
|
1392
1391
|
}
|
|
1393
1392
|
}
|
|
@@ -1588,8 +1587,8 @@ interface MutableChannelOptions {
|
|
|
1588
1587
|
client?: MutableClientCapabilityOptions;
|
|
1589
1588
|
server?: MutableServerCapabilityOptions;
|
|
1590
1589
|
handlerGroups?: string[];
|
|
1591
|
-
requestHandlers?:
|
|
1592
|
-
sendHandlers?:
|
|
1590
|
+
requestHandlers?: MutableHandlerRegistration[];
|
|
1591
|
+
sendHandlers?: MutableHandlerRegistration[];
|
|
1593
1592
|
}
|
|
1594
1593
|
|
|
1595
1594
|
interface MutableServerCapabilityOptions {
|
|
@@ -1670,8 +1669,8 @@ interface MutableSpotNodeOptions {
|
|
|
1670
1669
|
MutableObjectFactoryRegistration<ZLinkActor, ZLinkActorFactory, ZLinkActorFactoryConfiguration>
|
|
1671
1670
|
>;
|
|
1672
1671
|
meshChannels?: Record<string, MutableMeshChannelOptions>;
|
|
1673
|
-
routeSendHandlers?:
|
|
1674
|
-
routeRequestHandlers?:
|
|
1672
|
+
routeSendHandlers?: MutableHandlerRegistration[];
|
|
1673
|
+
routeRequestHandlers?: MutableHandlerRegistration[];
|
|
1675
1674
|
requestTimeoutMs?: number;
|
|
1676
1675
|
}
|
|
1677
1676
|
|
|
@@ -1686,8 +1685,8 @@ interface MutableMeshChannelOptions {
|
|
|
1686
1685
|
server?: boolean;
|
|
1687
1686
|
weight?: number;
|
|
1688
1687
|
handlerGroups?: string[];
|
|
1689
|
-
sendHandlers?:
|
|
1690
|
-
requestHandlers?:
|
|
1688
|
+
sendHandlers?: MutableHandlerRegistration[];
|
|
1689
|
+
requestHandlers?: MutableHandlerRegistration[];
|
|
1691
1690
|
}
|
|
1692
1691
|
|
|
1693
1692
|
interface MutableSpotRouterCapabilityOptions {
|
|
@@ -1709,6 +1708,21 @@ interface MutableSpotPubSubCapabilityOptions {
|
|
|
1709
1708
|
routingId?: string;
|
|
1710
1709
|
}
|
|
1711
1710
|
|
|
1711
|
+
interface MutableHandlerRegistration {
|
|
1712
|
+
packetName: string;
|
|
1713
|
+
handlerType: Type;
|
|
1714
|
+
messageType?: ZLinkHandlerMessageType;
|
|
1715
|
+
}
|
|
1716
|
+
|
|
1717
|
+
function handlerRegistration(handlerType: Type): MutableHandlerRegistration {
|
|
1718
|
+
const messageType = resolveHandlerMessageType(handlerType);
|
|
1719
|
+
return {
|
|
1720
|
+
packetName: handlerPacketName(handlerType),
|
|
1721
|
+
handlerType,
|
|
1722
|
+
...(messageType === undefined ? {} : { messageType })
|
|
1723
|
+
};
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1712
1726
|
function handlerPacketName(handlerType: Type): string {
|
|
1713
1727
|
return (
|
|
1714
1728
|
readZLinkDecoratorMetadata(handlerType).find(
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ZLinkHandlerMessageType } from '../Common/HandlerMessageType';
|
|
1
2
|
import type {
|
|
2
3
|
RoutingId,
|
|
3
4
|
Type,
|
|
@@ -327,21 +328,25 @@ export interface ZLinkMeshChannelOptions {
|
|
|
327
328
|
export interface ZLinkMeshSendHandlerRegistration {
|
|
328
329
|
readonly packetName: string;
|
|
329
330
|
readonly handlerType: Type;
|
|
331
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
330
332
|
}
|
|
331
333
|
|
|
332
334
|
export interface ZLinkMeshRequestHandlerRegistration {
|
|
333
335
|
readonly packetName: string;
|
|
334
336
|
readonly handlerType: Type;
|
|
337
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
335
338
|
}
|
|
336
339
|
|
|
337
340
|
export interface ZLinkRouteMeshSendHandlerRegistration {
|
|
338
341
|
readonly packetName: string;
|
|
339
342
|
readonly handlerType: Type;
|
|
343
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
340
344
|
}
|
|
341
345
|
|
|
342
346
|
export interface ZLinkRouteMeshRequestHandlerRegistration {
|
|
343
347
|
readonly packetName: string;
|
|
344
348
|
readonly handlerType: Type;
|
|
349
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
345
350
|
}
|
|
346
351
|
|
|
347
352
|
export interface ZLinkEntrySpotTimerHandlerRegistration {
|
|
@@ -356,6 +361,7 @@ export interface ZLinkEntrySpotPacketHandlerRegistration {
|
|
|
356
361
|
readonly entrySpotType: Type<ZLinkEntrySpot>;
|
|
357
362
|
readonly handlerType: Type;
|
|
358
363
|
readonly packetName?: string;
|
|
364
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
359
365
|
}
|
|
360
366
|
|
|
361
367
|
export interface ZLinkEntrySpotSubscriptionHandlerRegistration {
|
|
@@ -363,6 +369,7 @@ export interface ZLinkEntrySpotSubscriptionHandlerRegistration {
|
|
|
363
369
|
readonly handlerType: Type;
|
|
364
370
|
readonly channelName: string;
|
|
365
371
|
readonly topic: string;
|
|
372
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
366
373
|
}
|
|
367
374
|
|
|
368
375
|
export interface ZLinkEntrySpotActorSendHandlerRegistration {
|
|
@@ -370,6 +377,7 @@ export interface ZLinkEntrySpotActorSendHandlerRegistration {
|
|
|
370
377
|
readonly actorType: Type<ZLinkActor>;
|
|
371
378
|
readonly handlerType: Type;
|
|
372
379
|
readonly packetName: string;
|
|
380
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
373
381
|
}
|
|
374
382
|
|
|
375
383
|
export interface ZLinkEntrySpotActorRequestHandlerRegistration {
|
|
@@ -377,6 +385,7 @@ export interface ZLinkEntrySpotActorRequestHandlerRegistration {
|
|
|
377
385
|
readonly actorType: Type<ZLinkActor>;
|
|
378
386
|
readonly handlerType: Type;
|
|
379
387
|
readonly packetName: string;
|
|
388
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
380
389
|
}
|
|
381
390
|
|
|
382
391
|
export interface ZLinkSpotTimerHandlerRegistration {
|
|
@@ -391,6 +400,7 @@ export interface ZLinkSpotPacketHandlerRegistration {
|
|
|
391
400
|
readonly spotType: Type<ZLinkSpot>;
|
|
392
401
|
readonly handlerType: Type;
|
|
393
402
|
readonly packetName?: string;
|
|
403
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
394
404
|
}
|
|
395
405
|
|
|
396
406
|
export interface ZLinkSpotSubscriptionHandlerRegistration {
|
|
@@ -398,6 +408,7 @@ export interface ZLinkSpotSubscriptionHandlerRegistration {
|
|
|
398
408
|
readonly handlerType: Type;
|
|
399
409
|
readonly channelName: string;
|
|
400
410
|
readonly topic: string;
|
|
411
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
401
412
|
}
|
|
402
413
|
|
|
403
414
|
export interface ZLinkSpotActorSendHandlerRegistration {
|
|
@@ -405,6 +416,7 @@ export interface ZLinkSpotActorSendHandlerRegistration {
|
|
|
405
416
|
readonly actorType: Type<ZLinkActor>;
|
|
406
417
|
readonly handlerType: Type;
|
|
407
418
|
readonly packetName: string;
|
|
419
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
408
420
|
}
|
|
409
421
|
|
|
410
422
|
export interface ZLinkSpotActorRequestHandlerRegistration {
|
|
@@ -412,6 +424,7 @@ export interface ZLinkSpotActorRequestHandlerRegistration {
|
|
|
412
424
|
readonly actorType: Type<ZLinkActor>;
|
|
413
425
|
readonly handlerType: Type;
|
|
414
426
|
readonly packetName: string;
|
|
427
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
415
428
|
}
|
|
416
429
|
|
|
417
430
|
export interface ZLinkSpotRouterCapabilityOptions {
|
|
@@ -442,25 +455,30 @@ export interface ZLinkRouteChannelHandlerOptions {
|
|
|
442
455
|
readonly kind: 'send' | 'request';
|
|
443
456
|
readonly packetName: string;
|
|
444
457
|
readonly handler: ZLinkRouteChannelSendHandler | ZLinkRouteChannelRequestHandler;
|
|
458
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
445
459
|
}
|
|
446
460
|
|
|
447
461
|
export interface ZLinkRouteChannelSendHandlerRegistration {
|
|
448
462
|
readonly packetName: string;
|
|
449
463
|
readonly handler: ZLinkRouteChannelSendHandler;
|
|
464
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
450
465
|
}
|
|
451
466
|
|
|
452
467
|
export interface ZLinkRouteChannelRequestHandlerRegistration {
|
|
453
468
|
readonly packetName: string;
|
|
454
469
|
readonly handler: ZLinkRouteChannelRequestHandler;
|
|
470
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
455
471
|
}
|
|
456
472
|
|
|
457
473
|
export interface ZLinkChannelPublishHandlerRegistration {
|
|
458
474
|
readonly packetName: string;
|
|
459
475
|
readonly handler: ZLinkChannelPublishHandler;
|
|
476
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
460
477
|
}
|
|
461
478
|
|
|
462
479
|
export interface ZLinkChannelRequestHandlerRegistration {
|
|
463
480
|
readonly packetName: string;
|
|
481
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
464
482
|
readonly handler?: {
|
|
465
483
|
handle(payload: unknown, context: ZLinkMessageContext): Promise<unknown>;
|
|
466
484
|
};
|
|
@@ -469,6 +487,7 @@ export interface ZLinkChannelRequestHandlerRegistration {
|
|
|
469
487
|
|
|
470
488
|
export interface ZLinkChannelSendHandlerRegistration {
|
|
471
489
|
readonly packetName: string;
|
|
490
|
+
readonly messageType?: ZLinkHandlerMessageType;
|
|
472
491
|
readonly handler?: {
|
|
473
492
|
handle(payload: unknown, context: ZLinkMessageContext): Promise<void>;
|
|
474
493
|
};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { ZLinkFrameworkErrorKind } from '../Errors';
|
|
1
2
|
import type { RoutingId } from '../Common';
|
|
2
3
|
import type { ZLinkMeshNodeDescriptorKey } from './Keys';
|
|
3
4
|
import type { ZLinkLocationOwnerToken } from './Writes';
|
|
@@ -93,7 +94,12 @@ export type ZLinkAuthorityCompareExchangeResult =
|
|
|
93
94
|
readonly storeVersion: ZLinkAuthorityStoreVersion;
|
|
94
95
|
readonly storeNow: Date;
|
|
95
96
|
}
|
|
96
|
-
| {
|
|
97
|
+
| {
|
|
98
|
+
readonly kind: 'conflict';
|
|
99
|
+
readonly current: ZLinkAuthorityReadResult;
|
|
100
|
+
readonly membershipFailure?:
|
|
101
|
+
ZLinkFrameworkErrorKind.NotFound | ZLinkFrameworkErrorKind.Unavailable;
|
|
102
|
+
}
|
|
97
103
|
| { readonly kind: 'generationExhausted' };
|
|
98
104
|
|
|
99
105
|
export interface ZLinkAuthorityEntry {
|
package/src/internal.ts
CHANGED
|
@@ -3,6 +3,19 @@ export * from './index';
|
|
|
3
3
|
export { requireValidSendTimeoutMs } from './contracts/Configuration/SendTimeoutValidation';
|
|
4
4
|
export * from './runtime/diagnostics';
|
|
5
5
|
export * from './runtime/host';
|
|
6
|
+
export { ZLinkActorPlacementCoordinator } from './runtime/host/actor-placement-coordinator';
|
|
7
|
+
export { ZLinkActorTransferRuntime } from './runtime/host/actor-transfer-runtime';
|
|
8
|
+
export {
|
|
9
|
+
ApplicationJobQueue,
|
|
10
|
+
ApplicationJobQueuePermit,
|
|
11
|
+
nodeEffectiveProcessorCount,
|
|
12
|
+
resolveApplicationJobQueueConfiguration
|
|
13
|
+
} from './runtime/host/application-job-queue';
|
|
14
|
+
export { ZLinkLocationRuntimeOwner } from './runtime/host/location-runtime-owner';
|
|
15
|
+
export {
|
|
16
|
+
relocationFailedFailureCode,
|
|
17
|
+
ZLinkHostServiceRelocationRuntime
|
|
18
|
+
} from './runtime/host/service-relocation-host-runtime';
|
|
6
19
|
export * from './runtime/admission';
|
|
7
20
|
export * from './runtime/activation-admission';
|
|
8
21
|
export * from './runtime/streams';
|
|
@@ -21,9 +34,13 @@ export {
|
|
|
21
34
|
} from './contracts/Locations/Values';
|
|
22
35
|
export { ZLinkLocationWriteIntent, ZLinkLocationWriteStatus } from './contracts/Locations/Writes';
|
|
23
36
|
export * from './runtime/channels';
|
|
37
|
+
export { ZLinkChannelRuntimeLifecycle } from './runtime/channels/channel-runtime-lifecycle';
|
|
38
|
+
export { ZLinkChannelSocketRegistry } from './runtime/channels/channel-socket-registry';
|
|
39
|
+
export { ZLinkChannelDispatchPipeline } from './runtime/channels/channel-dispatch-pipeline';
|
|
24
40
|
export * from './runtime/backend';
|
|
25
41
|
export * from './runtime/codecs';
|
|
26
42
|
export * from './runtime/execution';
|
|
43
|
+
export { ZLinkSerialExecutionQueue } from './runtime/execution/serial-execution-queue';
|
|
27
44
|
export * from './runtime/handlers';
|
|
28
45
|
export * from './runtime/messaging';
|
|
29
46
|
export * from './runtime/foundation';
|
package/src/nest-integration.ts
CHANGED
|
@@ -19,6 +19,7 @@ export {
|
|
|
19
19
|
validateMessageFollowDuration,
|
|
20
20
|
validateSessionReplacementCallbackTimeout
|
|
21
21
|
} from './contracts/Configuration/RegistrationBuilderPolicy';
|
|
22
|
+
export { resolveHandlerMessageType } from './contracts/Common/HandlerMessageType';
|
|
22
23
|
|
|
23
24
|
import type {
|
|
24
25
|
ZLinkLocationRuntimeQuery,
|