@spine-event-engine/server 2.0.0-snapshot.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 +201 -0
- package/README.md +569 -0
- package/REFERENCE.md +488 -0
- package/dist/bus/command-bus.d.ts +61 -0
- package/dist/bus/command-bus.d.ts.map +1 -0
- package/dist/bus/command-bus.js +201 -0
- package/dist/bus/command-bus.js.map +1 -0
- package/dist/bus/command-dispatcher-registry.d.ts +33 -0
- package/dist/bus/command-dispatcher-registry.d.ts.map +1 -0
- package/dist/bus/command-dispatcher-registry.js +75 -0
- package/dist/bus/command-dispatcher-registry.js.map +1 -0
- package/dist/bus/command-dispatcher.d.ts +25 -0
- package/dist/bus/command-dispatcher.d.ts.map +1 -0
- package/dist/bus/command-dispatcher.js +15 -0
- package/dist/bus/command-dispatcher.js.map +1 -0
- package/dist/bus/command-errors.d.ts +23 -0
- package/dist/bus/command-errors.d.ts.map +1 -0
- package/dist/bus/command-errors.js +52 -0
- package/dist/bus/command-errors.js.map +1 -0
- package/dist/bus/event-bus.d.ts +113 -0
- package/dist/bus/event-bus.d.ts.map +1 -0
- package/dist/bus/event-bus.js +518 -0
- package/dist/bus/event-bus.js.map +1 -0
- package/dist/bus/event-dispatcher-origin-schemas.d.ts +17 -0
- package/dist/bus/event-dispatcher-origin-schemas.d.ts.map +1 -0
- package/dist/bus/event-dispatcher-origin-schemas.js +32 -0
- package/dist/bus/event-dispatcher-origin-schemas.js.map +1 -0
- package/dist/bus/event-dispatcher-registry.d.ts +48 -0
- package/dist/bus/event-dispatcher-registry.d.ts.map +1 -0
- package/dist/bus/event-dispatcher-registry.js +176 -0
- package/dist/bus/event-dispatcher-registry.js.map +1 -0
- package/dist/bus/event-dispatcher.d.ts +48 -0
- package/dist/bus/event-dispatcher.d.ts.map +1 -0
- package/dist/bus/event-dispatcher.js +15 -0
- package/dist/bus/event-dispatcher.js.map +1 -0
- package/dist/context/bounded-context.d.ts +606 -0
- package/dist/context/bounded-context.d.ts.map +1 -0
- package/dist/context/bounded-context.js +1780 -0
- package/dist/context/bounded-context.js.map +1 -0
- package/dist/context/entity-inbox.d.ts +63 -0
- package/dist/context/entity-inbox.d.ts.map +1 -0
- package/dist/context/entity-inbox.js +380 -0
- package/dist/context/entity-inbox.js.map +1 -0
- package/dist/context/local-inbox-handoff.d.ts +244 -0
- package/dist/context/local-inbox-handoff.d.ts.map +1 -0
- package/dist/context/local-inbox-handoff.js +334 -0
- package/dist/context/local-inbox-handoff.js.map +1 -0
- package/dist/context/projection-handoff.d.ts +46 -0
- package/dist/context/projection-handoff.d.ts.map +1 -0
- package/dist/context/projection-handoff.js +172 -0
- package/dist/context/projection-handoff.js.map +1 -0
- package/dist/context/tenant-index.d.ts +41 -0
- package/dist/context/tenant-index.d.ts.map +1 -0
- package/dist/context/tenant-index.js +92 -0
- package/dist/context/tenant-index.js.map +1 -0
- package/dist/delivery/conditional-pickup.d.ts +25 -0
- package/dist/delivery/conditional-pickup.d.ts.map +1 -0
- package/dist/delivery/conditional-pickup.js +26 -0
- package/dist/delivery/conditional-pickup.js.map +1 -0
- package/dist/delivery/delivery-builder.d.ts +216 -0
- package/dist/delivery/delivery-builder.d.ts.map +1 -0
- package/dist/delivery/delivery-builder.js +323 -0
- package/dist/delivery/delivery-builder.js.map +1 -0
- package/dist/delivery/delivery-lease.d.ts +15 -0
- package/dist/delivery/delivery-lease.d.ts.map +1 -0
- package/dist/delivery/delivery-lease.js +44 -0
- package/dist/delivery/delivery-lease.js.map +1 -0
- package/dist/delivery/delivery-loop.d.ts +113 -0
- package/dist/delivery/delivery-loop.d.ts.map +1 -0
- package/dist/delivery/delivery-loop.js +119 -0
- package/dist/delivery/delivery-loop.js.map +1 -0
- package/dist/delivery/delivery-monitor.d.ts +165 -0
- package/dist/delivery/delivery-monitor.d.ts.map +1 -0
- package/dist/delivery/delivery-monitor.js +168 -0
- package/dist/delivery/delivery-monitor.js.map +1 -0
- package/dist/delivery/delivery-ports.d.ts +141 -0
- package/dist/delivery/delivery-ports.d.ts.map +1 -0
- package/dist/delivery/delivery-ports.js +15 -0
- package/dist/delivery/delivery-ports.js.map +1 -0
- package/dist/delivery/delivery-run-control.d.ts +50 -0
- package/dist/delivery/delivery-run-control.d.ts.map +1 -0
- package/dist/delivery/delivery-run-control.js +66 -0
- package/dist/delivery/delivery-run-control.js.map +1 -0
- package/dist/delivery/delivery-run-coordinator.d.ts +218 -0
- package/dist/delivery/delivery-run-coordinator.d.ts.map +1 -0
- package/dist/delivery/delivery-run-coordinator.js +609 -0
- package/dist/delivery/delivery-run-coordinator.js.map +1 -0
- package/dist/delivery/delivery-storage-error.d.ts +13 -0
- package/dist/delivery/delivery-storage-error.d.ts.map +1 -0
- package/dist/delivery/delivery-storage-error.js +30 -0
- package/dist/delivery/delivery-storage-error.js.map +1 -0
- package/dist/delivery/delivery-supervisor.d.ts +175 -0
- package/dist/delivery/delivery-supervisor.d.ts.map +1 -0
- package/dist/delivery/delivery-supervisor.js +469 -0
- package/dist/delivery/delivery-supervisor.js.map +1 -0
- package/dist/delivery/delivery-worker.d.ts +180 -0
- package/dist/delivery/delivery-worker.d.ts.map +1 -0
- package/dist/delivery/delivery-worker.js +232 -0
- package/dist/delivery/delivery-worker.js.map +1 -0
- package/dist/delivery/delivery.d.ts +238 -0
- package/dist/delivery/delivery.d.ts.map +1 -0
- package/dist/delivery/delivery.js +400 -0
- package/dist/delivery/delivery.js.map +1 -0
- package/dist/delivery/inbox-records.d.ts +19 -0
- package/dist/delivery/inbox-records.d.ts.map +1 -0
- package/dist/delivery/inbox-records.js +291 -0
- package/dist/delivery/inbox-records.js.map +1 -0
- package/dist/delivery/inbox-storage.d.ts +81 -0
- package/dist/delivery/inbox-storage.d.ts.map +1 -0
- package/dist/delivery/inbox-storage.js +353 -0
- package/dist/delivery/inbox-storage.js.map +1 -0
- package/dist/delivery/inbox.d.ts +263 -0
- package/dist/delivery/inbox.d.ts.map +1 -0
- package/dist/delivery/inbox.js +172 -0
- package/dist/delivery/inbox.js.map +1 -0
- package/dist/delivery/parked-delivery-obligations.d.ts +182 -0
- package/dist/delivery/parked-delivery-obligations.d.ts.map +1 -0
- package/dist/delivery/parked-delivery-obligations.js +390 -0
- package/dist/delivery/parked-delivery-obligations.js.map +1 -0
- package/dist/delivery/shard-index.d.ts +41 -0
- package/dist/delivery/shard-index.d.ts.map +1 -0
- package/dist/delivery/shard-index.js +67 -0
- package/dist/delivery/shard-index.js.map +1 -0
- package/dist/delivery/sharded-work-registry.d.ts +114 -0
- package/dist/delivery/sharded-work-registry.d.ts.map +1 -0
- package/dist/delivery/sharded-work-registry.js +360 -0
- package/dist/delivery/sharded-work-registry.js.map +1 -0
- package/dist/entity/entity-metadata.d.ts +173 -0
- package/dist/entity/entity-metadata.d.ts.map +1 -0
- package/dist/entity/entity-metadata.js +187 -0
- package/dist/entity/entity-metadata.js.map +1 -0
- package/dist/entity/entity-storage-descriptor.d.ts +64 -0
- package/dist/entity/entity-storage-descriptor.d.ts.map +1 -0
- package/dist/entity/entity-storage-descriptor.js +227 -0
- package/dist/entity/entity-storage-descriptor.js.map +1 -0
- package/dist/entity/entity-transaction.d.ts +372 -0
- package/dist/entity/entity-transaction.d.ts.map +1 -0
- package/dist/entity/entity-transaction.js +413 -0
- package/dist/entity/entity-transaction.js.map +1 -0
- package/dist/entity/entity-transition-validation.d.ts +47 -0
- package/dist/entity/entity-transition-validation.d.ts.map +1 -0
- package/dist/entity/entity-transition-validation.js +327 -0
- package/dist/entity/entity-transition-validation.js.map +1 -0
- package/dist/entity/entity.d.ts +499 -0
- package/dist/entity/entity.d.ts.map +1 -0
- package/dist/entity/entity.js +829 -0
- package/dist/entity/entity.js.map +1 -0
- package/dist/entity/implicit-required-id.d.ts +15 -0
- package/dist/entity/implicit-required-id.d.ts.map +1 -0
- package/dist/entity/implicit-required-id.js +123 -0
- package/dist/entity/implicit-required-id.js.map +1 -0
- package/dist/entity/spec-scanner.d.ts +14 -0
- package/dist/entity/spec-scanner.d.ts.map +1 -0
- package/dist/entity/spec-scanner.js +37 -0
- package/dist/entity/spec-scanner.js.map +1 -0
- package/dist/handler/build-time-handler-analyzer.d.ts +150 -0
- package/dist/handler/build-time-handler-analyzer.d.ts.map +1 -0
- package/dist/handler/build-time-handler-analyzer.js +1101 -0
- package/dist/handler/build-time-handler-analyzer.js.map +1 -0
- package/dist/handler/command-registration-readiness.d.ts +99 -0
- package/dist/handler/command-registration-readiness.d.ts.map +1 -0
- package/dist/handler/command-registration-readiness.js +118 -0
- package/dist/handler/command-registration-readiness.js.map +1 -0
- package/dist/handler/event-handler-filter.d.ts +43 -0
- package/dist/handler/event-handler-filter.d.ts.map +1 -0
- package/dist/handler/event-handler-filter.js +128 -0
- package/dist/handler/event-handler-filter.js.map +1 -0
- package/dist/handler/event-registration-readiness.d.ts +196 -0
- package/dist/handler/event-registration-readiness.d.ts.map +1 -0
- package/dist/handler/event-registration-readiness.js +187 -0
- package/dist/handler/event-registration-readiness.js.map +1 -0
- package/dist/handler/external.d.ts +10 -0
- package/dist/handler/external.d.ts.map +1 -0
- package/dist/handler/external.js +15 -0
- package/dist/handler/external.js.map +1 -0
- package/dist/handler/generated-handler-registry.d.ts +154 -0
- package/dist/handler/generated-handler-registry.d.ts.map +1 -0
- package/dist/handler/generated-handler-registry.js +223 -0
- package/dist/handler/generated-handler-registry.js.map +1 -0
- package/dist/handler/generated-registry-discovery.d.ts +94 -0
- package/dist/handler/generated-registry-discovery.d.ts.map +1 -0
- package/dist/handler/generated-registry-discovery.js +228 -0
- package/dist/handler/generated-registry-discovery.js.map +1 -0
- package/dist/handler/generated-registry-writer.d.ts +58 -0
- package/dist/handler/generated-registry-writer.d.ts.map +1 -0
- package/dist/handler/generated-registry-writer.js +458 -0
- package/dist/handler/generated-registry-writer.js.map +1 -0
- package/dist/handler/handler-codegen.d.ts +48 -0
- package/dist/handler/handler-codegen.d.ts.map +1 -0
- package/dist/handler/handler-codegen.js +214 -0
- package/dist/handler/handler-codegen.js.map +1 -0
- package/dist/handler/handler-decorators.d.ts +134 -0
- package/dist/handler/handler-decorators.d.ts.map +1 -0
- package/dist/handler/handler-decorators.js +239 -0
- package/dist/handler/handler-decorators.js.map +1 -0
- package/dist/handler/handler-metadata.d.ts +510 -0
- package/dist/handler/handler-metadata.d.ts.map +1 -0
- package/dist/handler/handler-metadata.js +391 -0
- package/dist/handler/handler-metadata.js.map +1 -0
- package/dist/handler/registration-readiness-metadata.d.ts +68 -0
- package/dist/handler/registration-readiness-metadata.d.ts.map +1 -0
- package/dist/handler/registration-readiness-metadata.js +170 -0
- package/dist/handler/registration-readiness-metadata.js.map +1 -0
- package/dist/handler/rejection-source.d.ts +11 -0
- package/dist/handler/rejection-source.d.ts.map +1 -0
- package/dist/handler/rejection-source.js +25 -0
- package/dist/handler/rejection-source.js.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +54 -0
- package/dist/index.js.map +1 -0
- package/dist/integration/external-messages.d.ts +49 -0
- package/dist/integration/external-messages.d.ts.map +1 -0
- package/dist/integration/external-messages.js +112 -0
- package/dist/integration/external-messages.js.map +1 -0
- package/dist/integration/integration-broker.d.ts +74 -0
- package/dist/integration/integration-broker.d.ts.map +1 -0
- package/dist/integration/integration-broker.js +444 -0
- package/dist/integration/integration-broker.js.map +1 -0
- package/dist/integration/third-party-context.d.ts +56 -0
- package/dist/integration/third-party-context.d.ts.map +1 -0
- package/dist/integration/third-party-context.js +130 -0
- package/dist/integration/third-party-context.js.map +1 -0
- package/dist/repository/command-errors.d.ts +25 -0
- package/dist/repository/command-errors.d.ts.map +1 -0
- package/dist/repository/command-errors.js +43 -0
- package/dist/repository/command-errors.js.map +1 -0
- package/dist/repository/command-routing.d.ts +72 -0
- package/dist/repository/command-routing.d.ts.map +1 -0
- package/dist/repository/command-routing.js +98 -0
- package/dist/repository/command-routing.js.map +1 -0
- package/dist/repository/commit-fence.d.ts +22 -0
- package/dist/repository/commit-fence.d.ts.map +1 -0
- package/dist/repository/commit-fence.js +37 -0
- package/dist/repository/commit-fence.js.map +1 -0
- package/dist/repository/event-routing.d.ts +71 -0
- package/dist/repository/event-routing.d.ts.map +1 -0
- package/dist/repository/event-routing.js +96 -0
- package/dist/repository/event-routing.js.map +1 -0
- package/dist/repository/primitive-id.d.ts +86 -0
- package/dist/repository/primitive-id.d.ts.map +1 -0
- package/dist/repository/primitive-id.js +110 -0
- package/dist/repository/primitive-id.js.map +1 -0
- package/dist/repository/repository.d.ts +670 -0
- package/dist/repository/repository.d.ts.map +1 -0
- package/dist/repository/repository.js +3298 -0
- package/dist/repository/repository.js.map +1 -0
- package/dist/repository/routing-declarations.d.ts +75 -0
- package/dist/repository/routing-declarations.d.ts.map +1 -0
- package/dist/repository/routing-declarations.js +101 -0
- package/dist/repository/routing-declarations.js.map +1 -0
- package/dist/repository/state-update-routing.d.ts +66 -0
- package/dist/repository/state-update-routing.d.ts.map +1 -0
- package/dist/repository/state-update-routing.js +91 -0
- package/dist/repository/state-update-routing.js.map +1 -0
- package/dist/runtime/runtime.d.ts +156 -0
- package/dist/runtime/runtime.d.ts.map +1 -0
- package/dist/runtime/runtime.js +215 -0
- package/dist/runtime/runtime.js.map +1 -0
- package/dist/runtime/signal-intake.d.ts +84 -0
- package/dist/runtime/signal-intake.d.ts.map +1 -0
- package/dist/runtime/signal-intake.js +94 -0
- package/dist/runtime/signal-intake.js.map +1 -0
- package/dist/runtime/signal-metadata.d.ts +242 -0
- package/dist/runtime/signal-metadata.d.ts.map +1 -0
- package/dist/runtime/signal-metadata.js +368 -0
- package/dist/runtime/signal-metadata.js.map +1 -0
- package/dist/server/browser-server.d.ts +49 -0
- package/dist/server/browser-server.d.ts.map +1 -0
- package/dist/server/browser-server.js +633 -0
- package/dist/server/browser-server.js.map +1 -0
- package/dist/server/durable-subscription-bindings.d.ts +122 -0
- package/dist/server/durable-subscription-bindings.d.ts.map +1 -0
- package/dist/server/durable-subscription-bindings.js +524 -0
- package/dist/server/durable-subscription-bindings.js.map +1 -0
- package/dist/server/environment-attachment.d.ts +356 -0
- package/dist/server/environment-attachment.d.ts.map +1 -0
- package/dist/server/environment-attachment.js +2061 -0
- package/dist/server/environment-attachment.js.map +1 -0
- package/dist/server/environment-delivery-records.d.ts +77 -0
- package/dist/server/environment-delivery-records.d.ts.map +1 -0
- package/dist/server/environment-delivery-records.js +282 -0
- package/dist/server/environment-delivery-records.js.map +1 -0
- package/dist/server/environment-delivery-worker.d.ts +161 -0
- package/dist/server/environment-delivery-worker.d.ts.map +1 -0
- package/dist/server/environment-delivery-worker.js +664 -0
- package/dist/server/environment-delivery-worker.js.map +1 -0
- package/dist/server/environment.d.ts +43 -0
- package/dist/server/environment.d.ts.map +1 -0
- package/dist/server/environment.js +90 -0
- package/dist/server/environment.js.map +1 -0
- package/dist/server/managed-child-subscription.d.ts +11 -0
- package/dist/server/managed-child-subscription.d.ts.map +1 -0
- package/dist/server/managed-child-subscription.js +44 -0
- package/dist/server/managed-child-subscription.js.map +1 -0
- package/dist/server/managed-server-application.d.ts +324 -0
- package/dist/server/managed-server-application.d.ts.map +1 -0
- package/dist/server/managed-server-application.js +937 -0
- package/dist/server/managed-server-application.js.map +1 -0
- package/dist/server/node-coordinator.d.ts +191 -0
- package/dist/server/node-coordinator.d.ts.map +1 -0
- package/dist/server/node-coordinator.js +552 -0
- package/dist/server/node-coordinator.js.map +1 -0
- package/dist/server/process-server-coordinator.d.ts +15 -0
- package/dist/server/process-server-coordinator.d.ts.map +1 -0
- package/dist/server/process-server-coordinator.js +112 -0
- package/dist/server/process-server-coordinator.js.map +1 -0
- package/dist/server/reserved-spine-rpc-paths.json +8 -0
- package/dist/server/retryable-close.d.ts +28 -0
- package/dist/server/retryable-close.d.ts.map +1 -0
- package/dist/server/retryable-close.js +129 -0
- package/dist/server/retryable-close.js.map +1 -0
- package/dist/server/server-environment.d.ts +180 -0
- package/dist/server/server-environment.d.ts.map +1 -0
- package/dist/server/server-environment.js +418 -0
- package/dist/server/server-environment.js.map +1 -0
- package/dist/server/server-log.d.ts +18 -0
- package/dist/server/server-log.d.ts.map +1 -0
- package/dist/server/server-log.js +96 -0
- package/dist/server/server-log.js.map +1 -0
- package/dist/server/server.d.ts +389 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +752 -0
- package/dist/server/server.js.map +1 -0
- package/dist/services/spine-services.d.ts +88 -0
- package/dist/services/spine-services.d.ts.map +1 -0
- package/dist/services/spine-services.js +1586 -0
- package/dist/services/spine-services.js.map +1 -0
- package/dist/stand/stand.d.ts +294 -0
- package/dist/stand/stand.d.ts.map +1 -0
- package/dist/stand/stand.js +680 -0
- package/dist/stand/stand.js.map +1 -0
- package/dist/stand/subscription-observer.d.ts +53 -0
- package/dist/stand/subscription-observer.d.ts.map +1 -0
- package/dist/stand/subscription-observer.js +444 -0
- package/dist/stand/subscription-observer.js.map +1 -0
- package/dist/stand/subscription-records.d.ts +12 -0
- package/dist/stand/subscription-records.d.ts.map +1 -0
- package/dist/stand/subscription-records.js +99 -0
- package/dist/stand/subscription-records.js.map +1 -0
- package/dist/stand/subscription-registry.d.ts +285 -0
- package/dist/stand/subscription-registry.d.ts.map +1 -0
- package/dist/stand/subscription-registry.js +403 -0
- package/dist/stand/subscription-registry.js.map +1 -0
- package/dist/stand/subscription-runtime.d.ts +102 -0
- package/dist/stand/subscription-runtime.d.ts.map +1 -0
- package/dist/stand/subscription-runtime.js +380 -0
- package/dist/stand/subscription-runtime.js.map +1 -0
- package/dist/testing/index.d.ts +14 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +34 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +65 -0
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, CodeMatters. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
|
|
5
|
+
* in compliance with the License. You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
10
|
+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
11
|
+
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
|
+
* the License.
|
|
13
|
+
*/
|
|
14
|
+
var _a;
|
|
15
|
+
import { clone } from "@bufbuild/protobuf";
|
|
16
|
+
import { AnyMessages, Validate } from "@spine-event-engine/core";
|
|
17
|
+
import { EventSchema } from "@spine-event-engine/proto";
|
|
18
|
+
import { runtimeAccess, ServerRuntimeStateError, SingleProcessServerRuntime, } from "../runtime/runtime.js";
|
|
19
|
+
import { EventDispatcherRegistry } from "./event-dispatcher-registry.js";
|
|
20
|
+
import { emitServerError } from "../server/server-log.js";
|
|
21
|
+
const storedDispatchers = new WeakMap();
|
|
22
|
+
const storedFollowUpDispatchers = new WeakMap();
|
|
23
|
+
const followUpPosters = new WeakMap();
|
|
24
|
+
const exclusiveWorkers = new WeakMap();
|
|
25
|
+
const subscriberRegistrars = new WeakMap();
|
|
26
|
+
const eventSchemaLists = new WeakMap();
|
|
27
|
+
const eventSchemaRegistrars = new WeakMap();
|
|
28
|
+
const dispatcherUnregistrars = new WeakMap();
|
|
29
|
+
const eventSchemaFinders = new WeakMap();
|
|
30
|
+
const eventBusCloseStarters = new WeakMap();
|
|
31
|
+
const eventBusDrainers = new WeakMap();
|
|
32
|
+
const eventBusCloseFinishers = new WeakMap();
|
|
33
|
+
const eventBusAborters = new WeakMap();
|
|
34
|
+
const eventBusWorkCounters = new WeakMap();
|
|
35
|
+
const forgettingBus = Symbol("forgetting-bus");
|
|
36
|
+
const forgettingBuses = new WeakSet();
|
|
37
|
+
const eventBusRoles = new WeakMap();
|
|
38
|
+
const eventBusLoggers = new WeakMap();
|
|
39
|
+
/**
|
|
40
|
+
* Small single-process multicast event bus.
|
|
41
|
+
*
|
|
42
|
+
* Public construction creates a domain-only bus that stores domain events and
|
|
43
|
+
* rejects System schemas, dispatchers, and events. Internally assembled
|
|
44
|
+
* forgetting and System buses own no `EventStore` unless explicitly given one.
|
|
45
|
+
* Events with no matching dispatcher resolve without dispatch. Events with no
|
|
46
|
+
* registered schema reject deterministically before storage or dispatch.
|
|
47
|
+
*/
|
|
48
|
+
export class EventBus {
|
|
49
|
+
#eventStore;
|
|
50
|
+
#registry = new EventDispatcherRegistry();
|
|
51
|
+
#subscribers = new Map();
|
|
52
|
+
#runtime = new SingleProcessServerRuntime();
|
|
53
|
+
#started;
|
|
54
|
+
#intakeState = "open";
|
|
55
|
+
#acceptedWorkCount = 0;
|
|
56
|
+
#closed;
|
|
57
|
+
/**
|
|
58
|
+
* Creates a domain-only bus backed by an event store and initial dispatchers.
|
|
59
|
+
* System schemas and dispatchers are rejected; framework System events use
|
|
60
|
+
* the package-internal System-bus factory instead.
|
|
61
|
+
*
|
|
62
|
+
* @param eventStore the store that persists accepted events.
|
|
63
|
+
* @param dispatchers the dispatchers to register.
|
|
64
|
+
*/
|
|
65
|
+
constructor(eventStore, dispatchers = []) {
|
|
66
|
+
const ownedStore = _a.#requireEventStore(eventStore);
|
|
67
|
+
this.#eventStore = ownedStore === forgettingBus ? undefined : ownedStore;
|
|
68
|
+
this.#started = this.#runtime.start();
|
|
69
|
+
storedDispatchers.set(this, (event) => this.#postStored(event));
|
|
70
|
+
storedFollowUpDispatchers.set(this, (event) => this.#postStoredFollowUp(event));
|
|
71
|
+
followUpPosters.set(this, (event) => this.#postFollowUp(event));
|
|
72
|
+
exclusiveWorkers.set(this, (work) => this.#runExclusive(work));
|
|
73
|
+
subscriberRegistrars.set(this, (typeUrl, subscriber) => this.#subscribe(typeUrl, subscriber));
|
|
74
|
+
eventSchemaLists.set(this, () => this.#registry.schemas());
|
|
75
|
+
eventSchemaRegistrars.set(this, (schemas) => {
|
|
76
|
+
this.#registry.registerSchemas(schemas);
|
|
77
|
+
});
|
|
78
|
+
dispatcherUnregistrars.set(this, (dispatcher) => {
|
|
79
|
+
this.#registry.unregister(dispatcher);
|
|
80
|
+
});
|
|
81
|
+
eventSchemaFinders.set(this, (typeUrl) => this.#registry.schema(typeUrl));
|
|
82
|
+
eventBusCloseStarters.set(this, () => {
|
|
83
|
+
this.#beginClose();
|
|
84
|
+
});
|
|
85
|
+
eventBusDrainers.set(this, () => this.#drain());
|
|
86
|
+
eventBusCloseFinishers.set(this, () => this.#finishClose());
|
|
87
|
+
eventBusAborters.set(this, () => {
|
|
88
|
+
this.#abortClose();
|
|
89
|
+
});
|
|
90
|
+
eventBusWorkCounters.set(this, () => this.#acceptedWorkCount);
|
|
91
|
+
for (const dispatcher of dispatchers) {
|
|
92
|
+
this.register(dispatcher);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Registers an event dispatcher.
|
|
97
|
+
*
|
|
98
|
+
* @param dispatcher the dispatcher to register.
|
|
99
|
+
* @returns the registered dispatcher.
|
|
100
|
+
*/
|
|
101
|
+
register(dispatcher) {
|
|
102
|
+
EventBusRoles.validateDispatcher(eventBusRoles.get(this) ?? "domain", dispatcher);
|
|
103
|
+
this.#registry.register(dispatcher);
|
|
104
|
+
return dispatcher;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Posts an event for asynchronous dispatch.
|
|
108
|
+
*
|
|
109
|
+
* @param event the event envelope to post.
|
|
110
|
+
* @returns A promise that settles after admission and dispatch complete and may reject.
|
|
111
|
+
*/
|
|
112
|
+
post(event) {
|
|
113
|
+
const accepted = clone(EventSchema, event);
|
|
114
|
+
if (this.#intakeState !== "open") {
|
|
115
|
+
return Promise.reject(new ServerRuntimeStateError("enqueue", this.#intakeState));
|
|
116
|
+
}
|
|
117
|
+
return this.#runExclusive(() => this.#dispatch(accepted));
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Stops accepting new event work, drains accepted work, and closes an owned event store.
|
|
121
|
+
*
|
|
122
|
+
* Close is idempotent and returns the same close outcome on repeated calls.
|
|
123
|
+
* Runtime and event-store close hooks are both attempted; failures reject as
|
|
124
|
+
* an `AggregateError`.
|
|
125
|
+
*
|
|
126
|
+
* @returns A promise that settles after the event bus closes.
|
|
127
|
+
*
|
|
128
|
+
*/
|
|
129
|
+
close() {
|
|
130
|
+
this.#closed ??= this.#closeOnce();
|
|
131
|
+
return this.#closed;
|
|
132
|
+
}
|
|
133
|
+
async #closeOnce() {
|
|
134
|
+
const errors = [];
|
|
135
|
+
this.#beginClose();
|
|
136
|
+
await _a.#closePart(() => this.#started.then(() => this.#runtime.close()), errors);
|
|
137
|
+
this.#intakeState = "closed";
|
|
138
|
+
this.#clearSubscribers();
|
|
139
|
+
const eventStore = this.#eventStore;
|
|
140
|
+
if (eventStore !== undefined) {
|
|
141
|
+
await _a.#closePart(() => {
|
|
142
|
+
eventStore.close();
|
|
143
|
+
}, errors);
|
|
144
|
+
}
|
|
145
|
+
if (errors.length > 0) {
|
|
146
|
+
throw new AggregateError(errors, "EventBus close failed.");
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
#abortClose() {
|
|
150
|
+
this.#beginClose();
|
|
151
|
+
try {
|
|
152
|
+
this.#eventStore?.close();
|
|
153
|
+
}
|
|
154
|
+
finally {
|
|
155
|
+
// spine-log-boundary: server.event_bus_close_runtime
|
|
156
|
+
void this.#started.then(() => this.#runtime.close()).catch(() => undefined);
|
|
157
|
+
this.#intakeState = "closed";
|
|
158
|
+
this.#clearSubscribers();
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
async #dispatch(event) {
|
|
162
|
+
const typeUrl = event.message?.typeUrl;
|
|
163
|
+
if (typeUrl === undefined || typeUrl === "") {
|
|
164
|
+
throw new Error("EventBus requires event.message.typeUrl.");
|
|
165
|
+
}
|
|
166
|
+
const dispatchers = this.#registry.find(typeUrl, event.context?.external === true);
|
|
167
|
+
if (forgettingBuses.has(this)) {
|
|
168
|
+
this.#validate(event, typeUrl);
|
|
169
|
+
const accepted = await this.#accept(event, dispatchers);
|
|
170
|
+
for (const { dispatcher, event: acceptedEvent } of accepted) {
|
|
171
|
+
await dispatcher.dispatch(acceptedEvent);
|
|
172
|
+
}
|
|
173
|
+
this.#notify(event);
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
const eventStore = this.#eventStore;
|
|
177
|
+
if (eventStore === undefined) {
|
|
178
|
+
throw new Error("EventBus requires an EventStore.");
|
|
179
|
+
}
|
|
180
|
+
let acceptedDispatchers = [];
|
|
181
|
+
const stored = await eventStore.acceptThenAppend(event, async (accepted) => {
|
|
182
|
+
this.#validate(accepted, typeUrl);
|
|
183
|
+
acceptedDispatchers = await this.#accept(accepted, dispatchers);
|
|
184
|
+
});
|
|
185
|
+
for (const { dispatcher, event: acceptedEvent } of acceptedDispatchers) {
|
|
186
|
+
await dispatcher.dispatch(acceptedEvent);
|
|
187
|
+
}
|
|
188
|
+
this.#notify(stored);
|
|
189
|
+
}
|
|
190
|
+
#postStored(event) {
|
|
191
|
+
const accepted = clone(EventSchema, event);
|
|
192
|
+
if (this.#intakeState === "closed") {
|
|
193
|
+
return Promise.reject(new ServerRuntimeStateError("enqueue", "closed"));
|
|
194
|
+
}
|
|
195
|
+
return this.#runExclusive(() => this.#dispatchStored(accepted));
|
|
196
|
+
}
|
|
197
|
+
#postStoredFollowUp(event) {
|
|
198
|
+
const accepted = clone(EventSchema, event);
|
|
199
|
+
if (this.#intakeState === "closed") {
|
|
200
|
+
return Promise.reject(new ServerRuntimeStateError("enqueue", "closed"));
|
|
201
|
+
}
|
|
202
|
+
this.#acceptedWorkCount++;
|
|
203
|
+
return this.#started.then(() => runtimeAccess.enqueueFollowUp(this.#runtime, () => this.#dispatchStored(accepted)));
|
|
204
|
+
}
|
|
205
|
+
#postFollowUp(event) {
|
|
206
|
+
const accepted = clone(EventSchema, event);
|
|
207
|
+
if (this.#intakeState === "closed") {
|
|
208
|
+
return Promise.reject(new ServerRuntimeStateError("enqueue", "closed"));
|
|
209
|
+
}
|
|
210
|
+
this.#acceptedWorkCount++;
|
|
211
|
+
return this.#started.then(() => runtimeAccess.enqueueFollowUp(this.#runtime, () => this.#dispatch(accepted)));
|
|
212
|
+
}
|
|
213
|
+
async #dispatchStored(event) {
|
|
214
|
+
const typeUrl = event.message?.typeUrl;
|
|
215
|
+
if (typeUrl === undefined || typeUrl === "") {
|
|
216
|
+
throw new Error("EventBus requires event.message.typeUrl.");
|
|
217
|
+
}
|
|
218
|
+
const dispatchers = this.#registry.find(typeUrl, event.context?.external === true);
|
|
219
|
+
this.#validate(event, typeUrl);
|
|
220
|
+
const accepted = await this.#accept(event, dispatchers);
|
|
221
|
+
for (const { dispatcher, event: acceptedEvent } of accepted) {
|
|
222
|
+
await dispatcher.dispatch(acceptedEvent);
|
|
223
|
+
}
|
|
224
|
+
this.#notify(event);
|
|
225
|
+
}
|
|
226
|
+
async #accept(event, dispatchers) {
|
|
227
|
+
const accepted = [];
|
|
228
|
+
for (const dispatcher of dispatchers) {
|
|
229
|
+
const acceptedEvent = clone(EventSchema, event);
|
|
230
|
+
await dispatcher.accept?.(acceptedEvent);
|
|
231
|
+
accepted.push(Object.freeze({ dispatcher, event: acceptedEvent }));
|
|
232
|
+
}
|
|
233
|
+
return Object.freeze(accepted);
|
|
234
|
+
}
|
|
235
|
+
#validate(event, typeUrl) {
|
|
236
|
+
const schema = this.#registry.schema(typeUrl);
|
|
237
|
+
if (schema === undefined) {
|
|
238
|
+
throw new Error(`No event schema registered for "${typeUrl}".`);
|
|
239
|
+
}
|
|
240
|
+
EventBusRoles.validateSchema(eventBusRoles.get(this) ?? "domain", schema);
|
|
241
|
+
const message = event.message === undefined ? undefined : AnyMessages.unpack(event.message, schema);
|
|
242
|
+
if (message === undefined) {
|
|
243
|
+
throw new Error("Event payload does not match its registered schema.");
|
|
244
|
+
}
|
|
245
|
+
Validate.check(schema, message);
|
|
246
|
+
}
|
|
247
|
+
#runExclusive(work) {
|
|
248
|
+
let result;
|
|
249
|
+
this.#acceptedWorkCount++;
|
|
250
|
+
return this.#started
|
|
251
|
+
.then(() => this.#runtime.enqueue(async () => {
|
|
252
|
+
result = await work();
|
|
253
|
+
}))
|
|
254
|
+
.then(() => result);
|
|
255
|
+
}
|
|
256
|
+
#subscribe(typeUrl, subscriber) {
|
|
257
|
+
if (this.#intakeState !== "open") {
|
|
258
|
+
throw new Error("EventBus is closed.");
|
|
259
|
+
}
|
|
260
|
+
const subscribers = this.#subscribers.get(typeUrl) ?? new Set();
|
|
261
|
+
const record = {
|
|
262
|
+
closed: false,
|
|
263
|
+
subscriber,
|
|
264
|
+
typeUrl,
|
|
265
|
+
};
|
|
266
|
+
subscribers.add(record);
|
|
267
|
+
this.#subscribers.set(typeUrl, subscribers);
|
|
268
|
+
return Object.freeze({
|
|
269
|
+
get closed() {
|
|
270
|
+
return record.closed;
|
|
271
|
+
},
|
|
272
|
+
unsubscribe: () => {
|
|
273
|
+
this.#unsubscribe(record);
|
|
274
|
+
},
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
#unsubscribe(record) {
|
|
278
|
+
if (record.closed) {
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
record.closed = true;
|
|
282
|
+
record.subscriber = undefined;
|
|
283
|
+
const subscribers = this.#subscribers.get(record.typeUrl);
|
|
284
|
+
subscribers?.delete(record);
|
|
285
|
+
if (subscribers?.size === 0) {
|
|
286
|
+
this.#subscribers.delete(record.typeUrl);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
#clearSubscribers() {
|
|
290
|
+
for (const subscribers of this.#subscribers.values()) {
|
|
291
|
+
for (const record of subscribers) {
|
|
292
|
+
record.closed = true;
|
|
293
|
+
record.subscriber = undefined;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
this.#subscribers.clear();
|
|
297
|
+
eventBusLoggers.delete(this);
|
|
298
|
+
}
|
|
299
|
+
#notify(event) {
|
|
300
|
+
const typeUrl = event.message?.typeUrl;
|
|
301
|
+
if (typeUrl === undefined) {
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
const subscribers = [...(this.#subscribers.get(typeUrl) ?? [])]
|
|
305
|
+
.map((record) => record.subscriber)
|
|
306
|
+
.filter((subscriber) => subscriber !== undefined);
|
|
307
|
+
for (const subscriber of subscribers) {
|
|
308
|
+
const logger = eventBusLoggers.get(this);
|
|
309
|
+
try {
|
|
310
|
+
const onEvent = subscriber.onEvent.bind(subscriber);
|
|
311
|
+
const result = onEvent(clone(EventSchema, event));
|
|
312
|
+
if (_a.#isPromiseLike(result)) {
|
|
313
|
+
// spine-log-boundary: server.event_subscriber_async_failure
|
|
314
|
+
void Promise.resolve(result).catch(() => {
|
|
315
|
+
this.#recordSubscriberFailure(typeUrl, logger);
|
|
316
|
+
});
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
catch {
|
|
320
|
+
// Service-delivery subscribers must not poison event intake or later subscribers.
|
|
321
|
+
// spine-log-boundary: server.event_subscriber_sync_failure
|
|
322
|
+
this.#recordSubscriberFailure(typeUrl, logger);
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
#recordSubscriberFailure(typeUrl, logger) {
|
|
327
|
+
if (logger !== undefined) {
|
|
328
|
+
emitServerError(logger, "Event subscriber failed.", {
|
|
329
|
+
eventType: typeUrl,
|
|
330
|
+
operation: "event.subscriber",
|
|
331
|
+
reasonCode: "subscriber_failed",
|
|
332
|
+
});
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
#beginClose() {
|
|
336
|
+
if (this.#intakeState === "open") {
|
|
337
|
+
this.#intakeState = "closing";
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
#drain() {
|
|
341
|
+
return this.#started.then(() => runtimeAccess.drain(this.#runtime));
|
|
342
|
+
}
|
|
343
|
+
#finishClose() {
|
|
344
|
+
this.#closed ??= this.#closeOnce();
|
|
345
|
+
return this.#closed;
|
|
346
|
+
}
|
|
347
|
+
static async #closePart(close, errors) {
|
|
348
|
+
try {
|
|
349
|
+
await close();
|
|
350
|
+
}
|
|
351
|
+
catch (error) {
|
|
352
|
+
errors.push(error);
|
|
353
|
+
}
|
|
354
|
+
}
|
|
355
|
+
static #requireEventStore(eventStore) {
|
|
356
|
+
if (eventStore === undefined) {
|
|
357
|
+
throw new TypeError("EventBus requires an EventStore.");
|
|
358
|
+
}
|
|
359
|
+
return eventStore;
|
|
360
|
+
}
|
|
361
|
+
static #isPromiseLike(value) {
|
|
362
|
+
return ((typeof value === "object" || typeof value === "function") &&
|
|
363
|
+
value !== null &&
|
|
364
|
+
"then" in value &&
|
|
365
|
+
typeof value.then === "function");
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
_a = EventBus;
|
|
369
|
+
const EventBusRoles = Object.freeze({
|
|
370
|
+
createSystem(eventStore, dispatchers) {
|
|
371
|
+
const eventBus = new EventBus((eventStore ?? forgettingBus), []);
|
|
372
|
+
eventBusRoles.set(eventBus, "system");
|
|
373
|
+
if (eventStore === undefined)
|
|
374
|
+
forgettingBuses.add(eventBus);
|
|
375
|
+
for (const dispatcher of dispatchers)
|
|
376
|
+
eventBus.register(dispatcher);
|
|
377
|
+
return eventBus;
|
|
378
|
+
},
|
|
379
|
+
validateDispatcher(role, dispatcher) {
|
|
380
|
+
for (const schema of dispatcher.messageSchemas())
|
|
381
|
+
EventBusRoles.validateSchema(role, schema);
|
|
382
|
+
},
|
|
383
|
+
validateSchema(role, schema) {
|
|
384
|
+
const typeUrl = `type.${schema.typeName}`;
|
|
385
|
+
const systemSchema = typeUrl.startsWith("type.spine.system.");
|
|
386
|
+
if (role === "domain" && systemSchema)
|
|
387
|
+
throw new Error(`Domain EventBus rejects system event schema "${typeUrl}".`);
|
|
388
|
+
if (role === "system" && !systemSchema)
|
|
389
|
+
throw new Error(`System EventBus rejects domain event schema "${typeUrl}".`);
|
|
390
|
+
},
|
|
391
|
+
});
|
|
392
|
+
/**
|
|
393
|
+
* Provides package-internal EventBus access and assembly.
|
|
394
|
+
*
|
|
395
|
+
* @internal
|
|
396
|
+
*/
|
|
397
|
+
export const eventBusAccess = Object.freeze({
|
|
398
|
+
clearLogger(eventBus) {
|
|
399
|
+
if (!storedDispatchers.has(eventBus)) {
|
|
400
|
+
throw new TypeError("EventBus logger requires an EventBus instance.");
|
|
401
|
+
}
|
|
402
|
+
eventBusLoggers.delete(eventBus);
|
|
403
|
+
},
|
|
404
|
+
installLogger(eventBus, logger) {
|
|
405
|
+
if (!storedDispatchers.has(eventBus)) {
|
|
406
|
+
throw new TypeError("EventBus logger requires an EventBus instance.");
|
|
407
|
+
}
|
|
408
|
+
eventBusLoggers.set(eventBus, logger);
|
|
409
|
+
},
|
|
410
|
+
createForgettingBus(dispatchers = []) {
|
|
411
|
+
const eventBus = new EventBus(forgettingBus, dispatchers);
|
|
412
|
+
forgettingBuses.add(eventBus);
|
|
413
|
+
return eventBus;
|
|
414
|
+
},
|
|
415
|
+
createSystemBus(eventStore, dispatchers = []) {
|
|
416
|
+
return EventBusRoles.createSystem(eventStore, dispatchers);
|
|
417
|
+
},
|
|
418
|
+
postStored(eventBus, event) {
|
|
419
|
+
const postStored = storedDispatchers.get(eventBus);
|
|
420
|
+
if (postStored === undefined) {
|
|
421
|
+
throw new TypeError("Stored event dispatch requires an EventBus instance.");
|
|
422
|
+
}
|
|
423
|
+
return postStored(event);
|
|
424
|
+
},
|
|
425
|
+
postStoredFollowUp(eventBus, event) {
|
|
426
|
+
const postStoredFollowUp = storedFollowUpDispatchers.get(eventBus);
|
|
427
|
+
if (postStoredFollowUp === undefined) {
|
|
428
|
+
throw new TypeError("Stored follow-up event dispatch requires an EventBus instance.");
|
|
429
|
+
}
|
|
430
|
+
return postStoredFollowUp(event);
|
|
431
|
+
},
|
|
432
|
+
postFollowUp(eventBus, event) {
|
|
433
|
+
const postFollowUp = followUpPosters.get(eventBus);
|
|
434
|
+
if (postFollowUp === undefined) {
|
|
435
|
+
throw new TypeError("Follow-up event posting requires an EventBus instance.");
|
|
436
|
+
}
|
|
437
|
+
return postFollowUp(event);
|
|
438
|
+
},
|
|
439
|
+
runExclusive(eventBus, work) {
|
|
440
|
+
const runExclusive = exclusiveWorkers.get(eventBus);
|
|
441
|
+
if (runExclusive === undefined) {
|
|
442
|
+
throw new TypeError("Exclusive event-bus work requires an EventBus instance.");
|
|
443
|
+
}
|
|
444
|
+
return runExclusive(work);
|
|
445
|
+
},
|
|
446
|
+
subscribe(eventBus, typeUrl, subscriber) {
|
|
447
|
+
const subscribe = subscriberRegistrars.get(eventBus);
|
|
448
|
+
if (subscribe === undefined) {
|
|
449
|
+
throw new TypeError("Event subscription requires an EventBus instance.");
|
|
450
|
+
}
|
|
451
|
+
return subscribe(typeUrl, subscriber);
|
|
452
|
+
},
|
|
453
|
+
eventSchemas(eventBus) {
|
|
454
|
+
const eventSchemas = eventSchemaLists.get(eventBus);
|
|
455
|
+
if (eventSchemas === undefined) {
|
|
456
|
+
throw new TypeError("Event schema listing requires an EventBus instance.");
|
|
457
|
+
}
|
|
458
|
+
return eventSchemas();
|
|
459
|
+
},
|
|
460
|
+
registerSchemas(eventBus, schemas) {
|
|
461
|
+
const registerSchemas = eventSchemaRegistrars.get(eventBus);
|
|
462
|
+
if (registerSchemas === undefined) {
|
|
463
|
+
throw new TypeError("Event schema registration requires an EventBus instance.");
|
|
464
|
+
}
|
|
465
|
+
const checked = [...schemas];
|
|
466
|
+
for (const schema of checked) {
|
|
467
|
+
EventBusRoles.validateSchema(eventBusRoles.get(eventBus) ?? "domain", schema);
|
|
468
|
+
}
|
|
469
|
+
registerSchemas(checked);
|
|
470
|
+
},
|
|
471
|
+
unregister(eventBus, dispatcher) {
|
|
472
|
+
const unregister = dispatcherUnregistrars.get(eventBus);
|
|
473
|
+
if (unregister === undefined)
|
|
474
|
+
throw new TypeError("Event dispatcher requires an EventBus.");
|
|
475
|
+
unregister(dispatcher);
|
|
476
|
+
},
|
|
477
|
+
schema(eventBus, typeUrl) {
|
|
478
|
+
const schema = eventSchemaFinders.get(eventBus);
|
|
479
|
+
if (schema === undefined)
|
|
480
|
+
throw new TypeError("Event schema requires an EventBus.");
|
|
481
|
+
return schema(typeUrl);
|
|
482
|
+
},
|
|
483
|
+
beginClose(eventBus) {
|
|
484
|
+
const beginClose = eventBusCloseStarters.get(eventBus);
|
|
485
|
+
if (beginClose === undefined) {
|
|
486
|
+
throw new TypeError("Event-bus close coordination requires an EventBus instance.");
|
|
487
|
+
}
|
|
488
|
+
beginClose();
|
|
489
|
+
},
|
|
490
|
+
drain(eventBus) {
|
|
491
|
+
const drain = eventBusDrainers.get(eventBus);
|
|
492
|
+
if (drain === undefined) {
|
|
493
|
+
throw new TypeError("Event-bus drain requires an EventBus instance.");
|
|
494
|
+
}
|
|
495
|
+
return drain();
|
|
496
|
+
},
|
|
497
|
+
finishClose(eventBus) {
|
|
498
|
+
const finishClose = eventBusCloseFinishers.get(eventBus);
|
|
499
|
+
if (finishClose === undefined) {
|
|
500
|
+
throw new TypeError("Event-bus close completion requires an EventBus instance.");
|
|
501
|
+
}
|
|
502
|
+
return finishClose();
|
|
503
|
+
},
|
|
504
|
+
abortClose(eventBus) {
|
|
505
|
+
const abortClose = eventBusAborters.get(eventBus);
|
|
506
|
+
if (abortClose === undefined)
|
|
507
|
+
throw new TypeError("Event-bus close coordination requires an EventBus instance.");
|
|
508
|
+
abortClose();
|
|
509
|
+
},
|
|
510
|
+
acceptedWorkCount(eventBus) {
|
|
511
|
+
const acceptedWorkCount = eventBusWorkCounters.get(eventBus);
|
|
512
|
+
if (acceptedWorkCount === undefined) {
|
|
513
|
+
throw new TypeError("Event-bus work counting requires an EventBus instance.");
|
|
514
|
+
}
|
|
515
|
+
return acceptedWorkCount();
|
|
516
|
+
},
|
|
517
|
+
});
|
|
518
|
+
//# sourceMappingURL=event-bus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../src/bus/event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { MessageSchema } from "@spine-event-engine/core";
|
|
2
|
+
import type { EventDispatcher } from "./event-dispatcher.js";
|
|
3
|
+
interface OriginSchemas {
|
|
4
|
+
readonly domestic: readonly MessageSchema[];
|
|
5
|
+
readonly external: readonly MessageSchema[];
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Associates a repository dispatcher with its otherwise unrepresentable
|
|
9
|
+
* mixed-origin schema sets without widening the application-facing dispatcher API.
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export declare const EventDispatcherOriginSchemas: {
|
|
13
|
+
readonly define: (dispatcher: EventDispatcher, domestic: readonly MessageSchema[], external: readonly MessageSchema[]) => EventDispatcher;
|
|
14
|
+
readonly get: (dispatcher: EventDispatcher) => OriginSchemas | undefined;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=event-dispatcher-origin-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-dispatcher-origin-schemas.d.ts","sourceRoot":"","sources":["../../src/bus/event-dispatcher-origin-schemas.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,UAAU,aAAa;IACrB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;CAC7C;AAID;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE;IACzC,QAAQ,CAAC,MAAM,EAAE,CACf,UAAU,EAAE,eAAe,EAC3B,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,QAAQ,EAAE,SAAS,aAAa,EAAE,KAC/B,eAAe,CAAC;IACrB,QAAQ,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,eAAe,KAAK,aAAa,GAAG,SAAS,CAAC;CAmBzE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2026, CodeMatters. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
|
|
5
|
+
* in compliance with the License. You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* https://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software distributed under the License
|
|
10
|
+
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
|
|
11
|
+
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
|
+
* the License.
|
|
13
|
+
*/
|
|
14
|
+
const values = new WeakMap();
|
|
15
|
+
/**
|
|
16
|
+
* Associates a repository dispatcher with its otherwise unrepresentable
|
|
17
|
+
* mixed-origin schema sets without widening the application-facing dispatcher API.
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export const EventDispatcherOriginSchemas = Object.freeze({
|
|
21
|
+
define(dispatcher, domestic, external) {
|
|
22
|
+
values.set(dispatcher, Object.freeze({
|
|
23
|
+
domestic: Object.freeze([...domestic]),
|
|
24
|
+
external: Object.freeze([...external]),
|
|
25
|
+
}));
|
|
26
|
+
return dispatcher;
|
|
27
|
+
},
|
|
28
|
+
get(dispatcher) {
|
|
29
|
+
return values.get(dispatcher);
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
//# sourceMappingURL=event-dispatcher-origin-schemas.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-dispatcher-origin-schemas.js","sourceRoot":"","sources":["../../src/bus/event-dispatcher-origin-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAWH,MAAM,MAAM,GAAG,IAAI,OAAO,EAAkC,CAAC;AAE7D;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAOrC,MAAM,CAAC,MAAM,CAAC;IAChB,MAAM,CACJ,UAA2B,EAC3B,QAAkC,EAClC,QAAkC;QAElC,MAAM,CAAC,GAAG,CACR,UAAU,EACV,MAAM,CAAC,MAAM,CAAC;YACZ,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;SACvC,CAAC,CACH,CAAC;QACF,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,GAAG,CAAC,UAA2B;QAC7B,OAAO,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type MessageSchema } from "@spine-event-engine/core";
|
|
2
|
+
import type { EventDispatcher } from "./event-dispatcher.js";
|
|
3
|
+
/**
|
|
4
|
+
* Internal multicast registry keyed by canonical Spine event type URL.
|
|
5
|
+
*/
|
|
6
|
+
export declare class EventDispatcherRegistry {
|
|
7
|
+
#private;
|
|
8
|
+
/**
|
|
9
|
+
* Registers a dispatcher and all of its distinct event schemas.
|
|
10
|
+
*
|
|
11
|
+
* @param dispatcher the dispatcher to register.
|
|
12
|
+
*/
|
|
13
|
+
register(dispatcher: EventDispatcher): void;
|
|
14
|
+
/**
|
|
15
|
+
* Removes dispatch routes while retaining schema admission for other routes and schema-only users.
|
|
16
|
+
*
|
|
17
|
+
* @param dispatcher Provides the dispatcher to remove.
|
|
18
|
+
*/
|
|
19
|
+
unregister(dispatcher: EventDispatcher): void;
|
|
20
|
+
/**
|
|
21
|
+
* Registers event schemas without adding dispatch routes.
|
|
22
|
+
*
|
|
23
|
+
* @param schemas the generated schemas to register.
|
|
24
|
+
*/
|
|
25
|
+
registerSchemas(schemas: Iterable<MessageSchema>): void;
|
|
26
|
+
/**
|
|
27
|
+
* Finds dispatchers registered for a canonical event type URL.
|
|
28
|
+
*
|
|
29
|
+
* @param typeUrl the canonical event type URL.
|
|
30
|
+
* @param external whether the event was imported from another context.
|
|
31
|
+
* @returns a frozen dispatcher snapshot.
|
|
32
|
+
*/
|
|
33
|
+
find(typeUrl: string, external?: boolean): readonly EventDispatcher[];
|
|
34
|
+
/**
|
|
35
|
+
* Finds the generated schema registered for an event type URL.
|
|
36
|
+
*
|
|
37
|
+
* @param typeUrl the canonical event type URL.
|
|
38
|
+
* @returns the registered event schema, if one exists.
|
|
39
|
+
*/
|
|
40
|
+
schema(typeUrl: string): MessageSchema | undefined;
|
|
41
|
+
/**
|
|
42
|
+
* Lists event schemas represented by registered dispatchers.
|
|
43
|
+
*
|
|
44
|
+
* @returns the registered schemas.
|
|
45
|
+
*/
|
|
46
|
+
schemas(): readonly MessageSchema[];
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=event-dispatcher-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-dispatcher-registry.d.ts","sourceRoot":"","sources":["../../src/bus/event-dispatcher-registry.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,aAAa,EAAY,MAAM,0BAA0B,CAAC;AAExE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAG7D;;GAEG;AACH,qBAAa,uBAAuB;;IASlC;;;;OAIG;IACH,QAAQ,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAwC3C;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI;IAgB7C;;;;OAIG;IACH,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,GAAG,IAAI;IAQvD;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,UAAQ,GAAG,SAAS,eAAe,EAAE;IAMnE;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAIlD;;;;OAIG;IACH,OAAO,IAAI,SAAS,aAAa,EAAE;CAoEpC"}
|