@spine-event-engine/server 2.0.0-snapshot.11
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 +209 -0
- package/REFERENCE.md +760 -0
- package/dist/browser/browser-server.d.ts +95 -0
- package/dist/browser/browser-server.d.ts.map +1 -0
- package/dist/browser/browser-server.js +719 -0
- package/dist/browser/browser-server.js.map +1 -0
- package/dist/browser/durable-subscription-bindings.d.ts +122 -0
- package/dist/browser/durable-subscription-bindings.d.ts.map +1 -0
- package/dist/browser/durable-subscription-bindings.js +524 -0
- package/dist/browser/durable-subscription-bindings.js.map +1 -0
- package/dist/browser/index.d.ts +12 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +24 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/options.d.ts +183 -0
- package/dist/browser/options.d.ts.map +1 -0
- package/dist/browser/options.js +15 -0
- package/dist/browser/options.js.map +1 -0
- package/dist/bus/command-bus.d.ts +63 -0
- package/dist/bus/command-bus.d.ts.map +1 -0
- package/dist/bus/command-bus.js +236 -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 +592 -0
- package/dist/context/bounded-context.d.ts.map +1 -0
- package/dist/context/bounded-context.js +1897 -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 +387 -0
- package/dist/context/entity-inbox.js.map +1 -0
- package/dist/context/local-inbox-handoff.d.ts +248 -0
- package/dist/context/local-inbox-handoff.d.ts.map +1 -0
- package/dist/context/local-inbox-handoff.js +340 -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 +177 -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 +93 -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 +151 -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 +236 -0
- package/dist/delivery/delivery.d.ts.map +1 -0
- package/dist/delivery/delivery.js +539 -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 +83 -0
- package/dist/delivery/inbox-storage.d.ts.map +1 -0
- package/dist/delivery/inbox-storage.js +336 -0
- package/dist/delivery/inbox-storage.js.map +1 -0
- package/dist/delivery/inbox.d.ts +272 -0
- package/dist/delivery/inbox.d.ts.map +1 -0
- package/dist/delivery/inbox.js +183 -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 +361 -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 +605 -0
- package/dist/entity/entity.d.ts.map +1 -0
- package/dist/entity/entity.js +981 -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/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 +120 -0
- package/dist/handler/command-registration-readiness.js.map +1 -0
- package/dist/handler/declared-rejections.d.ts +11 -0
- package/dist/handler/declared-rejections.d.ts.map +1 -0
- package/dist/handler/declared-rejections.js +34 -0
- package/dist/handler/declared-rejections.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 +185 -0
- package/dist/handler/generated-handler-registry.d.ts.map +1 -0
- package/dist/handler/generated-handler-registry.js +439 -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 +226 -0
- package/dist/handler/generated-registry-discovery.js.map +1 -0
- package/dist/handler/handler-decorators.d.ts +151 -0
- package/dist/handler/handler-decorators.d.ts.map +1 -0
- package/dist/handler/handler-decorators.js +275 -0
- package/dist/handler/handler-decorators.js.map +1 -0
- package/dist/handler/handler-metadata.d.ts +553 -0
- package/dist/handler/handler-metadata.d.ts.map +1 -0
- package/dist/handler/handler-metadata.js +437 -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 +171 -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/handler/standalone.d.ts +25 -0
- package/dist/handler/standalone.d.ts.map +1 -0
- package/dist/handler/standalone.js +38 -0
- package/dist/handler/standalone.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 +75 -0
- package/dist/repository/primitive-id.d.ts.map +1 -0
- package/dist/repository/primitive-id.js +85 -0
- package/dist/repository/primitive-id.js.map +1 -0
- package/dist/repository/repository.d.ts +667 -0
- package/dist/repository/repository.d.ts.map +1 -0
- package/dist/repository/repository.js +3510 -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 +217 -0
- package/dist/runtime/signal-metadata.d.ts.map +1 -0
- package/dist/runtime/signal-metadata.js +333 -0
- package/dist/runtime/signal-metadata.js.map +1 -0
- package/dist/runtime/signal-publisher.d.ts +144 -0
- package/dist/runtime/signal-publisher.d.ts.map +1 -0
- package/dist/runtime/signal-publisher.js +248 -0
- package/dist/runtime/signal-publisher.js.map +1 -0
- package/dist/runtime/standalone-handler-runtime.d.ts +114 -0
- package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -0
- package/dist/runtime/standalone-handler-runtime.js +307 -0
- package/dist/runtime/standalone-handler-runtime.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 +2062 -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 +673 -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 +327 -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 +100 -0
- package/dist/server/server-log.js.map +1 -0
- package/dist/server/server.d.ts +221 -0
- package/dist/server/server.d.ts.map +1 -0
- package/dist/server/server.js +704 -0
- package/dist/server/server.js.map +1 -0
- package/dist/services/query-reader.d.ts +19 -0
- package/dist/services/query-reader.d.ts.map +1 -0
- package/dist/services/query-reader.js +43 -0
- package/dist/services/query-reader.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 +1582 -0
- package/dist/services/spine-services.js.map +1 -0
- package/dist/spi/delivery.d.ts +5 -0
- package/dist/spi/delivery.d.ts.map +1 -0
- package/dist/spi/delivery.js +18 -0
- package/dist/spi/delivery.js.map +1 -0
- package/dist/spi/handler-registry.d.ts +8 -0
- package/dist/spi/handler-registry.d.ts.map +1 -0
- package/dist/spi/handler-registry.js +15 -0
- package/dist/spi/handler-registry.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 +681 -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 +36 -0
- package/dist/testing/index.d.ts.map +1 -0
- package/dist/testing/index.js +54 -0
- package/dist/testing/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,380 @@
|
|
|
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 { create, toBinary } from "@bufbuild/protobuf";
|
|
16
|
+
import { SubscriptionIdSchema, SubscriptionSchema, } from "@spine-event-engine/proto/client";
|
|
17
|
+
import { emitServerWarning } from "../server/server-log.js";
|
|
18
|
+
import { SubscriptionObservers } from "./subscription-observer.js";
|
|
19
|
+
import { standAccess } from "./stand.js";
|
|
20
|
+
const subscriptionRuntimeLoggers = new WeakMap();
|
|
21
|
+
const subscriptionRuntimes = new WeakSet();
|
|
22
|
+
/**
|
|
23
|
+
* Coordinates the local delivery side of one paired bounded context's durable
|
|
24
|
+
* subscription registry.
|
|
25
|
+
*
|
|
26
|
+
* The runtime owns exactly one registry snapshot loop, timer, attachment map,
|
|
27
|
+
* and consumer map. It classifies a target from domain Stand metadata before
|
|
28
|
+
* attaching it: domain events observe only the domain bus, while entity-state
|
|
29
|
+
* updates observe only the paired System bus. This keeps a subscription ID and
|
|
30
|
+
* attachment identity attached once, while allowing all active service streams to share
|
|
31
|
+
* the same rendered update.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export class SubscriptionRuntime {
|
|
36
|
+
#domainStand;
|
|
37
|
+
#systemStand;
|
|
38
|
+
#domainEventBus;
|
|
39
|
+
#systemEventBus;
|
|
40
|
+
#registry;
|
|
41
|
+
#consumers = new Map();
|
|
42
|
+
#attachments = new Map();
|
|
43
|
+
#tail = Promise.resolve();
|
|
44
|
+
#timer;
|
|
45
|
+
#timerReconciliation;
|
|
46
|
+
#closing = false;
|
|
47
|
+
#closed;
|
|
48
|
+
/**
|
|
49
|
+
* Creates an unstarted runtime for a paired domain and System Stand.
|
|
50
|
+
*
|
|
51
|
+
* @param domainStand Supplies authoritative domain state metadata.
|
|
52
|
+
* @param systemStand Retained as the paired state-observer owner boundary.
|
|
53
|
+
* @param domainEventBus Delivers domain-event subscription targets.
|
|
54
|
+
* @param systemEventBus Delivers Entity state and lifecycle subscription targets.
|
|
55
|
+
* @param registry Stores canonical subscription definitions in the domain namespace.
|
|
56
|
+
*/
|
|
57
|
+
constructor(domainStand, systemStand, domainEventBus, systemEventBus, registry) {
|
|
58
|
+
subscriptionRuntimes.add(this);
|
|
59
|
+
this.#domainStand = domainStand;
|
|
60
|
+
this.#systemStand = systemStand;
|
|
61
|
+
this.#domainEventBus = domainEventBus;
|
|
62
|
+
this.#systemEventBus = systemEventBus;
|
|
63
|
+
this.#registry = registry;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Starts immediate and ten-second complete-snapshot reconciliation.
|
|
67
|
+
*/
|
|
68
|
+
start() {
|
|
69
|
+
if (this.#timer !== undefined || this.#closing)
|
|
70
|
+
return;
|
|
71
|
+
// spine-log-boundary: server.subscription_initial_reconcile
|
|
72
|
+
void this.reconcile().catch(() => {
|
|
73
|
+
this.#warnReconciliationFailure();
|
|
74
|
+
});
|
|
75
|
+
this.#timer = setInterval(() => {
|
|
76
|
+
void this.#reconcileTimer();
|
|
77
|
+
}, 10_000);
|
|
78
|
+
this.#timer.unref();
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Adds a local stream consumer and reconciles before returning its handle.
|
|
82
|
+
*
|
|
83
|
+
* @param id Identifies the durable subscription definition.
|
|
84
|
+
* @param onUpdate Receives rendered subscription updates.
|
|
85
|
+
* @returns Resolves to the consumer removal handle.
|
|
86
|
+
*/
|
|
87
|
+
consume(id, onUpdate) {
|
|
88
|
+
if (this.#closing)
|
|
89
|
+
return Promise.reject(new Error("Subscription runtime is closing."));
|
|
90
|
+
let consumers = this.#consumers.get(id);
|
|
91
|
+
if (consumers === undefined) {
|
|
92
|
+
consumers = new Set();
|
|
93
|
+
this.#consumers.set(id, consumers);
|
|
94
|
+
}
|
|
95
|
+
consumers.add(onUpdate);
|
|
96
|
+
return this.reconcile()
|
|
97
|
+
.then(() => this.#consumerHandle(id, onUpdate))
|
|
98
|
+
.catch((error) => {
|
|
99
|
+
this.#removeConsumer(id, onUpdate);
|
|
100
|
+
throw error;
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Updates local attachments from one complete registry snapshot.
|
|
105
|
+
*
|
|
106
|
+
* @returns Resolves after the accepted snapshot is reconciled.
|
|
107
|
+
*/
|
|
108
|
+
reconcile() {
|
|
109
|
+
const cycle = this.#tail.then(async () => {
|
|
110
|
+
if (this.#closing)
|
|
111
|
+
return;
|
|
112
|
+
await this.#registry.cleanup();
|
|
113
|
+
const entries = await this.#registry.snapshot();
|
|
114
|
+
const seen = new Set();
|
|
115
|
+
for (const entry of entries) {
|
|
116
|
+
const id = entry.subscription.id?.value;
|
|
117
|
+
if (id === undefined)
|
|
118
|
+
continue;
|
|
119
|
+
seen.add(id);
|
|
120
|
+
if (entry.phase === "active")
|
|
121
|
+
await this.#attach(id, entry);
|
|
122
|
+
else
|
|
123
|
+
this.remove(id);
|
|
124
|
+
}
|
|
125
|
+
for (const id of this.#attachments.keys())
|
|
126
|
+
if (!seen.has(id))
|
|
127
|
+
this.remove(id);
|
|
128
|
+
});
|
|
129
|
+
// spine-log-boundary: server.subscription_reconcile_tail
|
|
130
|
+
this.#tail = cycle.catch(() => undefined);
|
|
131
|
+
return cycle;
|
|
132
|
+
}
|
|
133
|
+
#reconcileTimer() {
|
|
134
|
+
if (this.#timerReconciliation !== undefined)
|
|
135
|
+
return this.#timerReconciliation;
|
|
136
|
+
const reconciliation = this.reconcile().finally(() => {
|
|
137
|
+
this.#timerReconciliation = undefined;
|
|
138
|
+
});
|
|
139
|
+
this.#timerReconciliation = reconciliation;
|
|
140
|
+
// spine-log-boundary: server.subscription_timer_reconcile
|
|
141
|
+
void reconciliation.catch(() => {
|
|
142
|
+
this.#warnReconciliationFailure();
|
|
143
|
+
});
|
|
144
|
+
return reconciliation;
|
|
145
|
+
}
|
|
146
|
+
#warnReconciliationFailure() {
|
|
147
|
+
const logger = subscriptionRuntimeLoggers.get(this);
|
|
148
|
+
if (logger === undefined)
|
|
149
|
+
return;
|
|
150
|
+
emitServerWarning(logger, "Subscription reconciliation failed.", {
|
|
151
|
+
operation: "subscription.reconcile",
|
|
152
|
+
reasonCode: "failed",
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Removes all local delivery state for one canonical subscription ID.
|
|
157
|
+
*
|
|
158
|
+
* @param id Identifies the durable subscription definition.
|
|
159
|
+
*/
|
|
160
|
+
remove(id) {
|
|
161
|
+
this.#consumers.delete(id);
|
|
162
|
+
this.#detach(id);
|
|
163
|
+
}
|
|
164
|
+
#detach(id) {
|
|
165
|
+
const attachment = this.#attachments.get(id);
|
|
166
|
+
if (attachment === undefined)
|
|
167
|
+
return;
|
|
168
|
+
this.#attachments.delete(id);
|
|
169
|
+
attachment.subscription.unsubscribe();
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Returns the pair-owned durable registry.
|
|
173
|
+
*
|
|
174
|
+
* @returns Returns the durable subscription registry.
|
|
175
|
+
*/
|
|
176
|
+
registry() {
|
|
177
|
+
return this.#registry;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Marks the runtime terminal and stops its reconciliation timer.
|
|
181
|
+
*/
|
|
182
|
+
beginClose() {
|
|
183
|
+
this.#closing = true;
|
|
184
|
+
if (this.#timer !== undefined)
|
|
185
|
+
clearInterval(this.#timer);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Waits for accepted reconciliation and detaches every observer.
|
|
189
|
+
*
|
|
190
|
+
* @returns Resolves after every local observer has been detached.
|
|
191
|
+
*/
|
|
192
|
+
async drainClose() {
|
|
193
|
+
this.beginClose();
|
|
194
|
+
await this.#tail;
|
|
195
|
+
const errors = [];
|
|
196
|
+
for (const id of [...this.#attachments.keys()]) {
|
|
197
|
+
try {
|
|
198
|
+
this.remove(id);
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
errors.push(error);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
this.#consumers.clear();
|
|
205
|
+
if (errors.length > 0)
|
|
206
|
+
throw new AggregateError(errors, "Subscription runtime close failed.");
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Closes the shared registry after observer cleanup.
|
|
210
|
+
*
|
|
211
|
+
* @returns Resolves after the durable registry closes.
|
|
212
|
+
*/
|
|
213
|
+
finishClose() {
|
|
214
|
+
this.#closed ??= this.#finishClose();
|
|
215
|
+
return this.#closed;
|
|
216
|
+
}
|
|
217
|
+
async #finishClose() {
|
|
218
|
+
const errors = [];
|
|
219
|
+
await _a.#closePart(() => this.drainClose(), errors);
|
|
220
|
+
await _a.#closePart(() => this.#registry.close(), errors);
|
|
221
|
+
if (errors.length > 0) {
|
|
222
|
+
throw new AggregateError(errors.flatMap((error) => error instanceof AggregateError
|
|
223
|
+
? Array.from(error.errors, (nested) => nested)
|
|
224
|
+
: [error]), "Subscription runtime close failed.");
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Performs all close phases for direct runtime owners.
|
|
229
|
+
*
|
|
230
|
+
* @returns Resolves after runtime shutdown completes.
|
|
231
|
+
*/
|
|
232
|
+
close() {
|
|
233
|
+
return this.finishClose();
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Starts failed-construction cleanup before the context has exposed the runtime.
|
|
237
|
+
*
|
|
238
|
+
* @internal
|
|
239
|
+
*/
|
|
240
|
+
abortClose() {
|
|
241
|
+
this.#closed ??= this.#abortClose();
|
|
242
|
+
}
|
|
243
|
+
async #abortClose() {
|
|
244
|
+
this.beginClose();
|
|
245
|
+
const registryClose = _a.#closeThunk(() => this.#registry.close());
|
|
246
|
+
await Promise.allSettled([this.drainClose(), registryClose]);
|
|
247
|
+
}
|
|
248
|
+
#consumerHandle(id, onUpdate) {
|
|
249
|
+
let closed = false;
|
|
250
|
+
return Object.freeze({
|
|
251
|
+
get closed() {
|
|
252
|
+
return closed;
|
|
253
|
+
},
|
|
254
|
+
unsubscribe: () => {
|
|
255
|
+
if (closed)
|
|
256
|
+
return;
|
|
257
|
+
closed = true;
|
|
258
|
+
this.#removeConsumer(id, onUpdate);
|
|
259
|
+
},
|
|
260
|
+
});
|
|
261
|
+
}
|
|
262
|
+
#removeConsumer(id, onUpdate) {
|
|
263
|
+
const consumers = this.#consumers.get(id);
|
|
264
|
+
consumers?.delete(onUpdate);
|
|
265
|
+
if (consumers?.size === 0)
|
|
266
|
+
this.#consumers.delete(id);
|
|
267
|
+
}
|
|
268
|
+
async #attach(id, expected) {
|
|
269
|
+
const current = await this.#registry.get(create(SubscriptionIdSchema, { value: id }));
|
|
270
|
+
if (current?.phase !== "active" || !sameEntry(current, expected) || this.#closing)
|
|
271
|
+
return;
|
|
272
|
+
const identity = entryIdentity(current);
|
|
273
|
+
if (sameBytes(this.#attachments.get(id)?.identity, identity))
|
|
274
|
+
return;
|
|
275
|
+
this.#detach(id);
|
|
276
|
+
const state = standAccess.observedState(this.#domainStand, current.subscription.topic?.target?.type);
|
|
277
|
+
const attachment = state === undefined
|
|
278
|
+
? SubscriptionObservers.observeEvent(current.subscription, this.#domainEventBus, (update) => {
|
|
279
|
+
this.#notify(id, update);
|
|
280
|
+
})
|
|
281
|
+
: standAccess.observeState(this.#systemStand, current.subscription, state, this.#systemEventBus, (update) => {
|
|
282
|
+
this.#notify(id, update);
|
|
283
|
+
});
|
|
284
|
+
if (attachment !== undefined)
|
|
285
|
+
this.#attachments.set(id, { identity, subscription: attachment });
|
|
286
|
+
}
|
|
287
|
+
static async #closePart(work, errors) {
|
|
288
|
+
try {
|
|
289
|
+
await work();
|
|
290
|
+
}
|
|
291
|
+
catch (error) {
|
|
292
|
+
errors.push(error);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
static async #closeThunk(work) {
|
|
296
|
+
await work();
|
|
297
|
+
}
|
|
298
|
+
#notify(id, update) {
|
|
299
|
+
for (const consumer of [...(this.#consumers.get(id) ?? [])]) {
|
|
300
|
+
const logger = subscriptionRuntimeLoggers.get(this);
|
|
301
|
+
try {
|
|
302
|
+
const invoke = consumer;
|
|
303
|
+
const outcome = invoke(update);
|
|
304
|
+
if (_a.#isPromiseLike(outcome)) {
|
|
305
|
+
// spine-log-boundary: server.subscription_consumer_async_delivery
|
|
306
|
+
void Promise.resolve(outcome).catch(() => {
|
|
307
|
+
_a.#warnConsumerFailure(logger, id);
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
// spine-log-boundary: server.subscription_consumer_delivery
|
|
311
|
+
}
|
|
312
|
+
catch {
|
|
313
|
+
// Individual best-effort stream consumers cannot suppress peers.
|
|
314
|
+
_a.#warnConsumerFailure(logger, id);
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
static #warnConsumerFailure(logger, id) {
|
|
319
|
+
if (logger === undefined)
|
|
320
|
+
return;
|
|
321
|
+
emitServerWarning(logger, "Subscription consumer delivery failed.", {
|
|
322
|
+
subscriptionId: id,
|
|
323
|
+
operation: "subscription.consumer",
|
|
324
|
+
reasonCode: "failed",
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
static #isPromiseLike(value) {
|
|
328
|
+
return ((typeof value === "object" || typeof value === "function") &&
|
|
329
|
+
value !== null &&
|
|
330
|
+
"then" in value &&
|
|
331
|
+
typeof value.then === "function");
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
_a = SubscriptionRuntime;
|
|
335
|
+
/**
|
|
336
|
+
* Exposes framework-only subscription-runtime logging metadata installation.
|
|
337
|
+
*
|
|
338
|
+
* @internal
|
|
339
|
+
*/
|
|
340
|
+
export const subscriptionRuntimeAccess = Object.freeze({
|
|
341
|
+
installLogger(runtime, logger) {
|
|
342
|
+
if (!subscriptionRuntimes.has(runtime)) {
|
|
343
|
+
throw new TypeError("Subscription runtime logger requires a SubscriptionRuntime instance.");
|
|
344
|
+
}
|
|
345
|
+
subscriptionRuntimeLoggers.set(runtime, logger);
|
|
346
|
+
},
|
|
347
|
+
clearLogger(runtime) {
|
|
348
|
+
if (!subscriptionRuntimes.has(runtime)) {
|
|
349
|
+
throw new TypeError("Subscription runtime logger requires a SubscriptionRuntime instance.");
|
|
350
|
+
}
|
|
351
|
+
subscriptionRuntimeLoggers.delete(runtime);
|
|
352
|
+
},
|
|
353
|
+
loggerFor(runtime) {
|
|
354
|
+
if (!subscriptionRuntimes.has(runtime)) {
|
|
355
|
+
throw new TypeError("Subscription runtime logger requires a SubscriptionRuntime instance.");
|
|
356
|
+
}
|
|
357
|
+
const logger = subscriptionRuntimeLoggers.get(runtime);
|
|
358
|
+
if (logger === undefined)
|
|
359
|
+
throw new TypeError("Subscription runtime logger is not installed.");
|
|
360
|
+
return logger;
|
|
361
|
+
},
|
|
362
|
+
});
|
|
363
|
+
function entryIdentity(entry) {
|
|
364
|
+
const subscription = toBinary(SubscriptionSchema, entry.subscription);
|
|
365
|
+
const createdAt = new Uint8Array(8);
|
|
366
|
+
new DataView(createdAt.buffer).setFloat64(0, entry.createdAt);
|
|
367
|
+
const identity = new Uint8Array(subscription.length + createdAt.length);
|
|
368
|
+
identity.set(subscription);
|
|
369
|
+
identity.set(createdAt, subscription.length);
|
|
370
|
+
return identity;
|
|
371
|
+
}
|
|
372
|
+
function sameEntry(left, right) {
|
|
373
|
+
return (left.phase === right.phase &&
|
|
374
|
+
left.createdAt === right.createdAt &&
|
|
375
|
+
sameBytes(entryIdentity(left), entryIdentity(right)));
|
|
376
|
+
}
|
|
377
|
+
function sameBytes(left, right) {
|
|
378
|
+
return left?.length === right.length && left.every((value, index) => value === right[index]);
|
|
379
|
+
}
|
|
380
|
+
//# sourceMappingURL=subscription-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"subscription-runtime.js","sourceRoot":"","sources":["../../src/stand/subscription-runtime.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type BoundedContext } from "../context/bounded-context.js";
|
|
2
|
+
import type { Command, Event } from "@spine-event-engine/proto";
|
|
3
|
+
export { unpackExternalEvent, wrapBoundedContextOnline, wrapExternalEvent, wrapExternalEventsWanted, } from "../integration/external-messages.js";
|
|
4
|
+
/**
|
|
5
|
+
* Provides deterministic server-environment cleanup for package tests.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ServerTests: {
|
|
8
|
+
readonly resetEnvironment: () => Promise<void>;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Resets shared server facilities before the next test creates a server.
|
|
12
|
+
*/
|
|
13
|
+
declare const serverTestReset: () => Promise<void>;
|
|
14
|
+
export { serverTestReset as resetServerEnvironmentForTest };
|
|
15
|
+
/**
|
|
16
|
+
* Posts a locally constructed Event through the bounded context's external intake path.
|
|
17
|
+
*
|
|
18
|
+
* @param context Receives the external Event.
|
|
19
|
+
* @param event Event envelope whose external origin is preserved.
|
|
20
|
+
* @returns Completion after external dispatch admission.
|
|
21
|
+
*/
|
|
22
|
+
export declare function postExternalEvent(context: BoundedContext, event: Event): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Observes produced signals admitted by one bounded context.
|
|
25
|
+
*
|
|
26
|
+
* @param context Produces the observed signals.
|
|
27
|
+
* @param observer Receives cloned admitted Command and Event envelopes.
|
|
28
|
+
* @returns A handle that stops observation.
|
|
29
|
+
*/
|
|
30
|
+
export declare function observeProducedSignals(context: BoundedContext, observer: {
|
|
31
|
+
readonly onCommand?: (command: Readonly<Command>) => void;
|
|
32
|
+
readonly onEvent?: (event: Readonly<Event>) => void;
|
|
33
|
+
}): {
|
|
34
|
+
readonly close: () => void;
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAeA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAE7C;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE;IAAE,QAAQ,CAAC,gBAAgB,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CASxE,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,eAAe,EAAE,MAAM,OAAO,CAAC,IAAI,CAAgC,CAAC;AAE1E,OAAO,EAAE,eAAe,IAAI,6BAA6B,EAAE,CAAC;AAE5D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAEtF;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,cAAc,EACvB,QAAQ,EAAE;IACR,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;IAC1D,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC;CACrD,GACA;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,CAEhC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
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
|
+
import { ServerEnvironmentLifecycle } from "../server/server-environment.js";
|
|
15
|
+
import { boundedContextAccess } from "../context/bounded-context.js";
|
|
16
|
+
export { unpackExternalEvent, wrapBoundedContextOnline, wrapExternalEvent, wrapExternalEventsWanted, } from "../integration/external-messages.js";
|
|
17
|
+
/**
|
|
18
|
+
* Provides deterministic server-environment cleanup for package tests.
|
|
19
|
+
*/
|
|
20
|
+
export const ServerTests = Object.freeze({
|
|
21
|
+
// prettier-ignore
|
|
22
|
+
/**
|
|
23
|
+
* Resets shared server facilities before the next test creates a server.
|
|
24
|
+
*/
|
|
25
|
+
resetEnvironment() {
|
|
26
|
+
return ServerEnvironmentLifecycle.resetForTest();
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Resets shared server facilities before the next test creates a server.
|
|
31
|
+
*/
|
|
32
|
+
const serverTestReset = ServerTests.resetEnvironment;
|
|
33
|
+
export { serverTestReset as resetServerEnvironmentForTest };
|
|
34
|
+
/**
|
|
35
|
+
* Posts a locally constructed Event through the bounded context's external intake path.
|
|
36
|
+
*
|
|
37
|
+
* @param context Receives the external Event.
|
|
38
|
+
* @param event Event envelope whose external origin is preserved.
|
|
39
|
+
* @returns Completion after external dispatch admission.
|
|
40
|
+
*/
|
|
41
|
+
export function postExternalEvent(context, event) {
|
|
42
|
+
return boundedContextAccess.postExternalEvent(context, event);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Observes produced signals admitted by one bounded context.
|
|
46
|
+
*
|
|
47
|
+
* @param context Produces the observed signals.
|
|
48
|
+
* @param observer Receives cloned admitted Command and Event envelopes.
|
|
49
|
+
* @returns A handle that stops observation.
|
|
50
|
+
*/
|
|
51
|
+
export function observeProducedSignals(context, observer) {
|
|
52
|
+
return boundedContextAccess.observeProducedSignals(context, observer);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/testing/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAuB,MAAM,+BAA+B,CAAC;AAG1F,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC;AAE7C;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAuD,MAAM,CAAC,MAAM,CAAC;IAC3F,kBAAkB;IAElB;;OAEG;IACH,gBAAgB;QACd,OAAO,0BAA0B,CAAC,YAAY,EAAE,CAAC;IACnD,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,eAAe,GAAwB,WAAW,CAAC,gBAAgB,CAAC;AAE1E,OAAO,EAAE,eAAe,IAAI,6BAA6B,EAAE,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,OAAuB,EAAE,KAAY;IACrE,OAAO,oBAAoB,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAuB,EACvB,QAGC;IAED,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AACxE,CAAC"}
|