@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,499 @@
|
|
|
1
|
+
import { type Message, type MessageShape } from "@bufbuild/protobuf";
|
|
2
|
+
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
|
3
|
+
import { type ConstraintViolation, type Event } from "@spine-event-engine/proto";
|
|
4
|
+
import type { EntityEventStorage, EntityStateHistoryStorage } from "@spine-event-engine/storage";
|
|
5
|
+
import { type DescriptorMessageSchema, type EntityMetadata } from "./entity-metadata.js";
|
|
6
|
+
import { type EntityTransactionCommitResult, type EntityTransactionLifecycleFlags, type EntityTransactionRejectedCommit, type EntityTransactionRollbackResult, type EntityTransactionMutator, type EntityTransactionVersionMetadata } from "./entity-transaction.js";
|
|
7
|
+
/**
|
|
8
|
+
* Lifecycle flags carried by a common entity shell.
|
|
9
|
+
*/
|
|
10
|
+
export interface EntityLifecycleFlags {
|
|
11
|
+
/**
|
|
12
|
+
* Whether the entity is archived.
|
|
13
|
+
*/
|
|
14
|
+
readonly archived: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* Whether the entity is deleted.
|
|
17
|
+
*/
|
|
18
|
+
readonly deleted: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Reason a {@link TransactionalEntity} transaction-scope operation failed.
|
|
22
|
+
*/
|
|
23
|
+
export type EntityScopeReason = "duplicate" | "missing";
|
|
24
|
+
/**
|
|
25
|
+
* Protected {@link TransactionalEntity} operation guarded by transaction scope.
|
|
26
|
+
*/
|
|
27
|
+
export type TransactionalEntityScopeOperation = "archiveDraft" | "commitTransaction" | "currentDraft" | "draftLifecycleFlags" | "draftVersionMetadata" | "markDraftDeleted" | "restoreDraft" | "rollbackTransaction" | "startTransaction" | "unarchiveDraft" | "tryUpdate" | "update" | "updateDraftVersionMetadata";
|
|
28
|
+
/**
|
|
29
|
+
* Error thrown when a transactional entity draft helper is used outside its scope.
|
|
30
|
+
*/
|
|
31
|
+
export declare class TransactionalEntityScopeError extends Error {
|
|
32
|
+
/**
|
|
33
|
+
* Scope failure reason.
|
|
34
|
+
*/
|
|
35
|
+
readonly reason: EntityScopeReason;
|
|
36
|
+
/**
|
|
37
|
+
* Operation rejected by the current transaction scope.
|
|
38
|
+
*/
|
|
39
|
+
readonly operation: TransactionalEntityScopeOperation;
|
|
40
|
+
/**
|
|
41
|
+
* Creates a deterministic transaction-scope error.
|
|
42
|
+
*
|
|
43
|
+
* @param reason Scope failure reason.
|
|
44
|
+
* @param operation Operation rejected by the scope.
|
|
45
|
+
*/
|
|
46
|
+
constructor(reason: EntityScopeReason, operation: TransactionalEntityScopeOperation);
|
|
47
|
+
}
|
|
48
|
+
type EntityVersionMetadataPrimitive = string | number | boolean | bigint | symbol | null | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Plain snapshot data accepted as caller-owned entity version metadata.
|
|
51
|
+
*/
|
|
52
|
+
export type EntityVersionMetadata = EntityVersionMetadataPrimitive | readonly EntityVersionMetadata[] | object;
|
|
53
|
+
type NonPlainVersion = Date | RegExp | Error | Promise<unknown> | Map<unknown, unknown> | Set<unknown> | WeakMap<object, unknown> | WeakSet<object> | ArrayBuffer | SharedArrayBuffer | DataView | Int8Array | Uint8Array | Uint8ClampedArray | Int16Array | Uint16Array | Int32Array | Uint32Array | Float32Array | Float64Array | BigInt64Array | BigUint64Array;
|
|
54
|
+
/**
|
|
55
|
+
* Recursive type-level validator for caller-owned plain entity version metadata.
|
|
56
|
+
*/
|
|
57
|
+
export type PlainEntityVersionMetadata<Version> = PlainVersionAtDepth<Version, []>;
|
|
58
|
+
type PlainVersionAtDepth<Version, Depth extends readonly unknown[]> = Depth["length"] extends 20 ? EntityVersionMetadata : Version extends EntityVersionMetadataPrimitive ? Version : Version extends (...args: never[]) => unknown ? never : Version extends NonPlainVersion ? never : Version extends readonly (infer Element)[] ? readonly PlainVersionAtDepth<Element, readonly [unknown, ...Depth]>[] : Version extends object ? {
|
|
59
|
+
readonly [Key in keyof Version]: PlainVersionAtDepth<Version[Key], readonly [unknown, ...Depth]>;
|
|
60
|
+
} : never;
|
|
61
|
+
type EntityVersionMetadataInput<Version> = [Version] extends [EntityVersionMetadata] ? [EntityVersionMetadata] extends [Version] ? Version : PlainEntityVersionMetadata<Version> : PlainEntityVersionMetadata<Version>;
|
|
62
|
+
/**
|
|
63
|
+
* Initial values for constructing an {@link Entity}.
|
|
64
|
+
*/
|
|
65
|
+
export interface EntityOptions<Id, Schema extends DescriptorMessageSchema, Version = EntityVersionMetadata> {
|
|
66
|
+
/**
|
|
67
|
+
* Stable entity identifier owned by the caller/domain type.
|
|
68
|
+
*/
|
|
69
|
+
readonly id: Id;
|
|
70
|
+
/**
|
|
71
|
+
* Generated Protobuf-ES schema describing the entity state.
|
|
72
|
+
*/
|
|
73
|
+
readonly schema: Schema;
|
|
74
|
+
/**
|
|
75
|
+
* Initial entity state snapshot.
|
|
76
|
+
*/
|
|
77
|
+
readonly state: MessageShape<Schema>;
|
|
78
|
+
/**
|
|
79
|
+
* Caller-owned plain version metadata snapshot.
|
|
80
|
+
*/
|
|
81
|
+
readonly version: EntityVersionMetadataInput<Version>;
|
|
82
|
+
/**
|
|
83
|
+
* Initial lifecycle flags. Defaults to active, not deleted.
|
|
84
|
+
*/
|
|
85
|
+
readonly lifecycle?: Partial<EntityLifecycleFlags>;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Public entity family marker exposed by Spine server entity base classes.
|
|
89
|
+
*/
|
|
90
|
+
export type EntityFamily = "aggregate" | "projection" | "process-manager";
|
|
91
|
+
/**
|
|
92
|
+
* Common in-memory OOP shell for one server-side entity state.
|
|
93
|
+
*
|
|
94
|
+
* The shell exposes identity, descriptor-derived metadata, cloned state
|
|
95
|
+
* snapshots, caller-owned plain version metadata snapshots, and lifecycle flags. It does not
|
|
96
|
+
* invoke handlers, create transactions, write repositories or storage, dispatch
|
|
97
|
+
* messages, increment versions, route IDs, query read models, start buses, or
|
|
98
|
+
* mutate process-wide runtime state.
|
|
99
|
+
*/
|
|
100
|
+
export declare abstract class Entity<Id, Schema extends DescriptorMessageSchema, Version = EntityVersionMetadata> {
|
|
101
|
+
#private;
|
|
102
|
+
/**
|
|
103
|
+
* @hidden
|
|
104
|
+
*/
|
|
105
|
+
protected static readonly spineTsEntityConstructor: true;
|
|
106
|
+
/**
|
|
107
|
+
* Creates an entity shell from caller-provided state and metadata inputs.
|
|
108
|
+
*
|
|
109
|
+
* @param options Identity, schema, state, version, and lifecycle inputs.
|
|
110
|
+
*/
|
|
111
|
+
constructor(options: EntityOptions<Id, Schema, Version>);
|
|
112
|
+
/**
|
|
113
|
+
* Gets the stable entity identifier.
|
|
114
|
+
*
|
|
115
|
+
* @returns The caller-owned entity identifier.
|
|
116
|
+
*/
|
|
117
|
+
get id(): Id;
|
|
118
|
+
/**
|
|
119
|
+
* Gets the generated Protobuf-ES schema describing this entity's state.
|
|
120
|
+
*
|
|
121
|
+
* @returns The generated state schema.
|
|
122
|
+
*/
|
|
123
|
+
get schema(): Schema;
|
|
124
|
+
/**
|
|
125
|
+
* Gets descriptor-derived metadata for this entity's state schema.
|
|
126
|
+
*
|
|
127
|
+
* @returns The frozen descriptor metadata.
|
|
128
|
+
*/
|
|
129
|
+
get metadata(): EntityMetadata<Schema>;
|
|
130
|
+
/**
|
|
131
|
+
* Gets the current entity state snapshot.
|
|
132
|
+
*
|
|
133
|
+
* @returns A cloned state snapshot.
|
|
134
|
+
*/
|
|
135
|
+
get state(): MessageShape<Schema>;
|
|
136
|
+
/**
|
|
137
|
+
* Gets the caller-owned plain version metadata snapshot.
|
|
138
|
+
*
|
|
139
|
+
* @returns A validated clone of the version metadata.
|
|
140
|
+
*/
|
|
141
|
+
get version(): Version;
|
|
142
|
+
/**
|
|
143
|
+
* Gets the current lifecycle flag snapshot.
|
|
144
|
+
*
|
|
145
|
+
* @returns The archived and deleted flags.
|
|
146
|
+
*/
|
|
147
|
+
get lifecycle(): EntityLifecycleFlags;
|
|
148
|
+
/**
|
|
149
|
+
* Determines whether the entity is archived.
|
|
150
|
+
*
|
|
151
|
+
* @returns `true` when the entity is archived.
|
|
152
|
+
*/
|
|
153
|
+
get isArchived(): boolean;
|
|
154
|
+
/**
|
|
155
|
+
* Determines whether the entity is deleted.
|
|
156
|
+
*
|
|
157
|
+
* @returns `true` when the entity is deleted.
|
|
158
|
+
*/
|
|
159
|
+
get isDeleted(): boolean;
|
|
160
|
+
/**
|
|
161
|
+
* Determines whether neither lifecycle flag marks the entity inactive.
|
|
162
|
+
*
|
|
163
|
+
* @returns `true` when the entity is active.
|
|
164
|
+
*/
|
|
165
|
+
get isActive(): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Determines whether lifecycle flags changed after construction.
|
|
168
|
+
*
|
|
169
|
+
* @returns `true` when lifecycle flags changed.
|
|
170
|
+
*/
|
|
171
|
+
get lifecycleFlagsChanged(): boolean;
|
|
172
|
+
/**
|
|
173
|
+
* Replaces stored state from framework-owned subclass or runtime code.
|
|
174
|
+
*
|
|
175
|
+
* @param state Next entity state snapshot.
|
|
176
|
+
*/
|
|
177
|
+
protected replaceState(state: MessageShape<Schema>): void;
|
|
178
|
+
/**
|
|
179
|
+
* Replaces caller-owned version metadata from framework-owned subclass or runtime code.
|
|
180
|
+
*
|
|
181
|
+
* @param version Next caller-owned version metadata.
|
|
182
|
+
*/
|
|
183
|
+
protected replaceVersionMetadata(version: EntityVersionMetadataInput<Version>): void;
|
|
184
|
+
/**
|
|
185
|
+
* Replaces lifecycle flags from framework-owned subclass or runtime code.
|
|
186
|
+
*
|
|
187
|
+
* @param lifecycle Lifecycle flag changes to apply.
|
|
188
|
+
*/
|
|
189
|
+
protected replaceLifecycleFlags(lifecycle: Partial<EntityLifecycleFlags>): void;
|
|
190
|
+
/**
|
|
191
|
+
* Reads the newest retained state at or before `time`.
|
|
192
|
+
*
|
|
193
|
+
* This diagnostic facility is repository-bound and is not a remote API.
|
|
194
|
+
*
|
|
195
|
+
* @param time Timestamp of the requested state snapshot.
|
|
196
|
+
* @returns The retained state snapshot, if one exists.
|
|
197
|
+
*/
|
|
198
|
+
protected stateAt(time: Timestamp): Promise<Readonly<MessageShape<Schema>> | undefined>;
|
|
199
|
+
/**
|
|
200
|
+
* Reads retained states in descending version order.
|
|
201
|
+
*
|
|
202
|
+
* @param depth Maximum number of retained states to read.
|
|
203
|
+
* @returns Retained state snapshots in descending version order.
|
|
204
|
+
*/
|
|
205
|
+
protected stateHistoryBackward(depth: number): Promise<readonly Readonly<MessageShape<Schema>>[]>;
|
|
206
|
+
/**
|
|
207
|
+
* Gets application-managed state-history retention.
|
|
208
|
+
*
|
|
209
|
+
* @returns State-history storage for this entity.
|
|
210
|
+
*/
|
|
211
|
+
protected stateHistoryStorage(): EntityStateHistoryStorage<Id, MessageShape<Schema>>;
|
|
212
|
+
}
|
|
213
|
+
interface BoundEntityHistory {
|
|
214
|
+
readonly stateAt: (time: Timestamp) => Promise<unknown>;
|
|
215
|
+
readonly states: (depth: number) => Promise<readonly unknown[]>;
|
|
216
|
+
readonly events: (depth: number) => Promise<readonly Readonly<Event>[]>;
|
|
217
|
+
readonly stateMaintenance: EntityStateHistoryStorage<unknown, Message>;
|
|
218
|
+
readonly eventMaintenance: EntityEventStorage<unknown>;
|
|
219
|
+
}
|
|
220
|
+
interface EntityHistoryAccess {
|
|
221
|
+
bind(entity: object, binding: BoundEntityHistory): void;
|
|
222
|
+
stateAt(entity: object, time: Timestamp): Promise<unknown>;
|
|
223
|
+
states(entity: object, depth: number): Promise<readonly unknown[]>;
|
|
224
|
+
events(entity: object, depth: number): Promise<readonly Readonly<Event>[]>;
|
|
225
|
+
stateMaintenance(entity: object): EntityStateHistoryStorage<unknown, Message>;
|
|
226
|
+
eventMaintenance(entity: object): EntityEventStorage<unknown>;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Provides repository-only history binding.
|
|
230
|
+
*
|
|
231
|
+
* @internal
|
|
232
|
+
*/
|
|
233
|
+
export declare const entityHistoryAccess: EntityHistoryAccess;
|
|
234
|
+
/**
|
|
235
|
+
* Common in-memory entity shell with a protected scoped transaction draft.
|
|
236
|
+
*
|
|
237
|
+
* The transaction scope is backed by {@link EntityTransaction}. Subclasses can
|
|
238
|
+
* start one active draft, mutate draft state/version/lifecycle through protected
|
|
239
|
+
* helpers, and then commit or roll back the scope. Accepted commits replace this
|
|
240
|
+
* entity's in-memory state, explicit version metadata, and lifecycle flags.
|
|
241
|
+
* Rejected commits leave the transaction active so subclass code can correct the
|
|
242
|
+
* draft or roll it back explicitly. This base does not write repositories,
|
|
243
|
+
* emit events, dispatch handlers, increment versions, or manage global
|
|
244
|
+
* transaction state.
|
|
245
|
+
*/
|
|
246
|
+
export declare abstract class TransactionalEntity<Id, Schema extends DescriptorMessageSchema, Version = EntityVersionMetadata> extends Entity<Id, Schema, Version> {
|
|
247
|
+
#private;
|
|
248
|
+
/**
|
|
249
|
+
* Determines whether accepted transaction state or lifecycle changes are visible.
|
|
250
|
+
*
|
|
251
|
+
* @returns `true` when the entity differs from its initial state.
|
|
252
|
+
*/
|
|
253
|
+
get changed(): boolean;
|
|
254
|
+
/**
|
|
255
|
+
* Determines whether a protected transaction scope is currently active.
|
|
256
|
+
*
|
|
257
|
+
* @returns `true` when an active transaction scope exists.
|
|
258
|
+
*/
|
|
259
|
+
protected isTransactionInProgress(): boolean;
|
|
260
|
+
/**
|
|
261
|
+
* Starts a protected draft transaction from the entity's current snapshots.
|
|
262
|
+
*
|
|
263
|
+
* @throws {@link TransactionalEntityScopeError} when another transaction is active.
|
|
264
|
+
*/
|
|
265
|
+
protected startTransaction(): void;
|
|
266
|
+
/**
|
|
267
|
+
* Gets the current draft state snapshot.
|
|
268
|
+
*
|
|
269
|
+
* @returns A cloned current draft state snapshot.
|
|
270
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
271
|
+
*/
|
|
272
|
+
protected currentDraft(): MessageShape<Schema>;
|
|
273
|
+
/**
|
|
274
|
+
* Gets the current draft version metadata snapshot.
|
|
275
|
+
*
|
|
276
|
+
* @returns Cloned previous and draft version metadata.
|
|
277
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
278
|
+
*/
|
|
279
|
+
protected draftVersionMetadata(): EntityTransactionVersionMetadata<Version>;
|
|
280
|
+
/**
|
|
281
|
+
* Gets the current draft lifecycle flag snapshot.
|
|
282
|
+
*
|
|
283
|
+
* @returns Current archived and deleted draft flags.
|
|
284
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
285
|
+
*/
|
|
286
|
+
protected draftLifecycleFlags(): EntityTransactionLifecycleFlags;
|
|
287
|
+
/**
|
|
288
|
+
* Updates the buffered draft state in place.
|
|
289
|
+
*
|
|
290
|
+
* @param mutator Changes the active draft state.
|
|
291
|
+
* @returns A cloned snapshot of the updated draft state.
|
|
292
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
293
|
+
*/
|
|
294
|
+
protected update(mutator: EntityTransactionMutator<Schema>): MessageShape<Schema>;
|
|
295
|
+
/**
|
|
296
|
+
* Tries to update and validate a scratch draft, applying it only when valid.
|
|
297
|
+
*
|
|
298
|
+
* Validation failures return immutable constraint violations. Other errors
|
|
299
|
+
* propagate and leave the active draft unchanged.
|
|
300
|
+
*
|
|
301
|
+
* @param mutator Changes the scratch draft state.
|
|
302
|
+
* @returns Immutable constraint violations, or an empty array when the update applies.
|
|
303
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
304
|
+
*/
|
|
305
|
+
protected tryUpdate(mutator: EntityTransactionMutator<Schema>): readonly ConstraintViolation[];
|
|
306
|
+
/**
|
|
307
|
+
* Updates the buffered draft version metadata without computing version increments.
|
|
308
|
+
*
|
|
309
|
+
* @param draft Caller-owned version metadata for the active draft.
|
|
310
|
+
* @returns Cloned previous and draft version metadata.
|
|
311
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
312
|
+
*/
|
|
313
|
+
protected updateDraftVersionMetadata(draft: EntityVersionMetadataInput<Version>): EntityTransactionVersionMetadata<Version>;
|
|
314
|
+
/**
|
|
315
|
+
* Marks the buffered draft lifecycle as archived.
|
|
316
|
+
*
|
|
317
|
+
* @returns The archived and deleted draft flags.
|
|
318
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
319
|
+
*/
|
|
320
|
+
protected archiveDraft(): EntityTransactionLifecycleFlags;
|
|
321
|
+
/**
|
|
322
|
+
* Marks the buffered draft lifecycle as not archived.
|
|
323
|
+
*
|
|
324
|
+
* @returns The archived and deleted draft flags.
|
|
325
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
326
|
+
*/
|
|
327
|
+
protected unarchiveDraft(): EntityTransactionLifecycleFlags;
|
|
328
|
+
/**
|
|
329
|
+
* Marks the buffered draft lifecycle as deleted.
|
|
330
|
+
*
|
|
331
|
+
* @returns The archived and deleted draft flags.
|
|
332
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
333
|
+
*/
|
|
334
|
+
protected markDraftDeleted(): EntityTransactionLifecycleFlags;
|
|
335
|
+
/**
|
|
336
|
+
* Marks the buffered draft lifecycle as not deleted.
|
|
337
|
+
*
|
|
338
|
+
* @returns The archived and deleted draft flags.
|
|
339
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
340
|
+
*/
|
|
341
|
+
protected restoreDraft(): EntityTransactionLifecycleFlags;
|
|
342
|
+
/**
|
|
343
|
+
* Commits the active draft transaction.
|
|
344
|
+
*
|
|
345
|
+
* Accepted commits apply state, version metadata, and lifecycle flags to this
|
|
346
|
+
* entity and close the transaction. Rejected commits do not apply anything and
|
|
347
|
+
* keep the transaction active for correction or explicit rollback.
|
|
348
|
+
*
|
|
349
|
+
* @returns A cloned accepted or rejected transaction result.
|
|
350
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
351
|
+
*/
|
|
352
|
+
protected commitTransaction(): EntityTransactionCommitResult<Schema, Version>;
|
|
353
|
+
/**
|
|
354
|
+
* Rolls back the active draft without applying state, version, or lifecycle changes.
|
|
355
|
+
*
|
|
356
|
+
* @returns A cloned rollback result containing the discarded draft snapshots.
|
|
357
|
+
* @throws {@link TransactionalEntityScopeError} when no transaction is active.
|
|
358
|
+
*/
|
|
359
|
+
protected rollbackTransaction(): EntityTransactionRollbackResult<Schema, Version>;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Framework-only transaction operations used by repository execution.
|
|
363
|
+
*/
|
|
364
|
+
export interface TransactionalEntityAccess {
|
|
365
|
+
/**
|
|
366
|
+
* Starts a framework-owned transaction scope for an entity.
|
|
367
|
+
*
|
|
368
|
+
* @param entity Transactional entity object to start.
|
|
369
|
+
*/
|
|
370
|
+
start(entity: object): void;
|
|
371
|
+
/**
|
|
372
|
+
* Executes a framework-owned transaction commit for an entity.
|
|
373
|
+
*
|
|
374
|
+
* @param entity Transactional entity object to commit.
|
|
375
|
+
* @returns The transaction commit result.
|
|
376
|
+
*/
|
|
377
|
+
commit(entity: object): EntityTransactionCommitResult<DescriptorMessageSchema>;
|
|
378
|
+
/**
|
|
379
|
+
* Executes a framework-owned transaction rollback for an entity, if possible.
|
|
380
|
+
*
|
|
381
|
+
* @param entity Transactional entity object to roll back.
|
|
382
|
+
*/
|
|
383
|
+
rollback(entity: object): void;
|
|
384
|
+
/**
|
|
385
|
+
* Returns the last rejected transaction commit for this entity, if any.
|
|
386
|
+
*
|
|
387
|
+
* @param entity Transactional entity object to inspect.
|
|
388
|
+
* @returns A cloned rejected result, if one exists.
|
|
389
|
+
*/
|
|
390
|
+
rejectedCommit(entity: object): EntityTransactionRejectedCommit<DescriptorMessageSchema> | undefined;
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Exposes framework-only transaction operations for repository execution.
|
|
394
|
+
*
|
|
395
|
+
* @internal
|
|
396
|
+
*/
|
|
397
|
+
export declare const transactionalEntityAccess: TransactionalEntityAccess;
|
|
398
|
+
/**
|
|
399
|
+
* Abstract aggregate family marker over the common transactional entity shell.
|
|
400
|
+
*
|
|
401
|
+
* This class intentionally adds only stable family identity. It does not add
|
|
402
|
+
* command dispatch, snapshots, repositories, idempotency guards, or handler
|
|
403
|
+
* invocation. Repository-bound diagnostic event-history reads are declared
|
|
404
|
+
* below for the Aggregate family.
|
|
405
|
+
*/
|
|
406
|
+
export declare abstract class Aggregate<Id, Schema extends DescriptorMessageSchema, Version = EntityVersionMetadata> extends TransactionalEntity<Id, Schema, Version> {
|
|
407
|
+
/**
|
|
408
|
+
* Stable server entity family identity.
|
|
409
|
+
*/
|
|
410
|
+
readonly entityFamily: "aggregate";
|
|
411
|
+
/**
|
|
412
|
+
* Creates an aggregate family shell from caller-provided state and metadata inputs.
|
|
413
|
+
*
|
|
414
|
+
* @param options Identity, schema, state, version, and lifecycle inputs.
|
|
415
|
+
*/
|
|
416
|
+
constructor(options: EntityOptions<Id, Schema, Version>);
|
|
417
|
+
/**
|
|
418
|
+
* Reads retained diagnostic events in descending producer-version order.
|
|
419
|
+
*
|
|
420
|
+
* @param depth Maximum number of retained events to read.
|
|
421
|
+
* @returns Retained events in descending producer-version order.
|
|
422
|
+
*/
|
|
423
|
+
protected eventHistoryBackward(depth: number): Promise<readonly Readonly<Event>[]>;
|
|
424
|
+
/**
|
|
425
|
+
* Tests retained diagnostic events in descending producer-version order.
|
|
426
|
+
*
|
|
427
|
+
* @param depth Maximum number of retained events to inspect.
|
|
428
|
+
* @param predicate Tests each retained event.
|
|
429
|
+
* @returns `true` when a retained event matches the predicate.
|
|
430
|
+
*/
|
|
431
|
+
protected eventHistoryContains(depth: number, predicate: (event: Readonly<Event>) => boolean): Promise<boolean>;
|
|
432
|
+
/**
|
|
433
|
+
* Gets application-managed diagnostic event-history retention.
|
|
434
|
+
*
|
|
435
|
+
* @returns Event-history storage for this entity.
|
|
436
|
+
*/
|
|
437
|
+
protected eventStorage(): EntityEventStorage<Id>;
|
|
438
|
+
}
|
|
439
|
+
/**
|
|
440
|
+
* Abstract projection family marker over the common transactional entity shell.
|
|
441
|
+
*
|
|
442
|
+
* This class intentionally adds only stable family identity. It does not add
|
|
443
|
+
* event subscriptions, event playing, repositories, version columns, query
|
|
444
|
+
* clients, or handler invocation.
|
|
445
|
+
*/
|
|
446
|
+
export declare abstract class Projection<Id, Schema extends DescriptorMessageSchema, Version = EntityVersionMetadata> extends TransactionalEntity<Id, Schema, Version> {
|
|
447
|
+
/**
|
|
448
|
+
* Stable server entity family identity.
|
|
449
|
+
*/
|
|
450
|
+
readonly entityFamily: "projection";
|
|
451
|
+
/**
|
|
452
|
+
* Creates a projection family shell from caller-provided state and metadata inputs.
|
|
453
|
+
*
|
|
454
|
+
* @param options Identity, schema, state, version, and lifecycle inputs.
|
|
455
|
+
*/
|
|
456
|
+
constructor(options: EntityOptions<Id, Schema, Version>);
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Abstract process manager family marker over the common transactional entity shell.
|
|
460
|
+
*
|
|
461
|
+
* This class intentionally adds only stable family identity. It does not add
|
|
462
|
+
* process workflow execution, command posting, query clients, repositories,
|
|
463
|
+
* bounded-context injection, or handler invocation.
|
|
464
|
+
*/
|
|
465
|
+
export declare abstract class ProcessManager<Id, Schema extends DescriptorMessageSchema, Version = EntityVersionMetadata> extends TransactionalEntity<Id, Schema, Version> {
|
|
466
|
+
/**
|
|
467
|
+
* Stable server entity family identity.
|
|
468
|
+
*/
|
|
469
|
+
readonly entityFamily: "process-manager";
|
|
470
|
+
/**
|
|
471
|
+
* Creates a process manager family shell from caller-provided state and metadata inputs.
|
|
472
|
+
*
|
|
473
|
+
* @param options Identity, schema, state, version, and lifecycle inputs.
|
|
474
|
+
*/
|
|
475
|
+
constructor(options: EntityOptions<Id, Schema, Version>);
|
|
476
|
+
/**
|
|
477
|
+
* Reads retained diagnostic events when this repository enabled Process Manager event history.
|
|
478
|
+
*
|
|
479
|
+
* @param depth Maximum number of retained events to read.
|
|
480
|
+
* @returns Retained events in descending producer-version order.
|
|
481
|
+
*/
|
|
482
|
+
protected eventHistoryBackward(depth: number): Promise<readonly Readonly<Event>[]>;
|
|
483
|
+
/**
|
|
484
|
+
* Tests retained diagnostic events when this repository enabled Process Manager event history.
|
|
485
|
+
*
|
|
486
|
+
* @param depth Maximum number of retained events to inspect.
|
|
487
|
+
* @param predicate Tests each retained event.
|
|
488
|
+
* @returns `true` when a retained event matches the predicate.
|
|
489
|
+
*/
|
|
490
|
+
protected eventHistoryContains(depth: number, predicate: (event: Readonly<Event>) => boolean): Promise<boolean>;
|
|
491
|
+
/**
|
|
492
|
+
* Gets application-managed Process Manager diagnostic event-history retention.
|
|
493
|
+
*
|
|
494
|
+
* @returns Event-history storage for this Process Manager.
|
|
495
|
+
*/
|
|
496
|
+
protected eventStorage(): EntityEventStorage<Id>;
|
|
497
|
+
}
|
|
498
|
+
export {};
|
|
499
|
+
//# sourceMappingURL=entity.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"entity.d.ts","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"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"}
|