@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 @@
|
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../src/entity/entity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAmC,MAAM,oBAAoB,CAAC;AAElG,OAAO,EACL,WAAW,GAQZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAGL,kBAAkB,EAElB,qBAAqB,GACtB,MAAM,2BAA2B,CAAC;AAInC,OAAO,EACL,sBAAsB,GAGvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,GAOlB,MAAM,yBAAyB,CAAC;AAsBjC,MAAM,qBAAqB,GAAG,IAAI,OAAO,EAAyC,CAAC;AAEnF;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAOjC,MAAM,CAAC,MAAM,CAAC;IACjB,IAAI,CACF,MAAc,EACd,OAAiD,EACjD,YAA0B;QAE1B,MAAM,UAAU,GAAkC;YAChD,OAAO;YACP,YAAY,EAAE,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC;YACrD,MAAM,EAAE,IAAI;SACb,CAAC;QACF,qBAAqB,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,MAAM,GAAG,KAAK,CAAC;YAC1B,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,MAAc;QACpB,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,UAAU,EAAE,MAAM,KAAK,IAAI,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,iFAAiF,CAClF,CAAC;QACJ,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,OAAO,mBAAmB;IAIrB,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,QAAQ,CAAsC;IAEvD;;;;;;;OAOG;IACH,YAAY,MAAc,EAAE,MAAc,EAAE,OAA4C;QACtF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAG,GAA6C;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CACH,SAA8D;QAE9D,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAG,KAA6C;QACnD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CACL,MAA2E,EAC3E,YAA4B,KAAK;QAEjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,KAAK,GAAG,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,SAAS,CAAC,kDAAkD,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACrC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EACzB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CACtB,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAiC;QAC9C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,GAAG;QACP,OAAO,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF;AAED,MAAM,eAAe,GAAG,IAAI,OAAO,EAAkC,CAAC;AA0CtE;;GAEG;AACH,MAAM,OAAO,6BAA8B,SAAQ,KAAK;IACtD,kBAAkB;IAElB;;OAEG;IACM,MAAM,CAAoB;IAEnC;;OAEG;IACM,SAAS,CAAoC;IAEtD;;;;;OAKG;IACH,YAAY,MAAyB,EAAE,SAA4C;QACjF,KAAK,CACH,MAAM,KAAK,WAAW;YACpB,CAAC,CAAC,UAAU,SAAS,2DAA2D;YAChF,CAAC,CAAC,UAAU,SAAS,wDAAwD,CAChF,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,+BAA+B,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAyED,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;AA2CpE;;;;;;;;GAQG;AACH,MAAM,OAAgB,MAAM;IAYjB,GAAG,CAAK;IACR,OAAO,CAAS;IAChB,SAAS,CAAyB;IAC3C,MAAM,CAAuB;IAC7B,QAAQ,CAAU;IAClB,UAAU,CAAuB;IACjC,sBAAsB,GAAG,KAAK,CAAC;IAE/B;;;;OAIG;IACH,YAAY,OAA2C;QACrD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,EAAE,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAY,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG;YAChB,QAAQ,EAAE,OAAO,CAAC,SAAS,EAAE,QAAQ,IAAI,KAAK;YAC9C,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,IAAI,KAAK;SAC7C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,IAAI,KAAK;QACP,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO;YACL,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ;YAClC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO;SACjC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACO,YAAY,CAAC,KAA2B;QAChD,IAAI,CAAC,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACO,sBAAsB,CAAC,OAA4C;QAC3E,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;IAC3D,CAAC;IAED;;;;OAIG;IACO,qBAAqB,CAAC,SAAwC;QACtE,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,SAAS,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ;YACxD,OAAO,EAAE,SAAS,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO;SACtD,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3F,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACO,OAAO,CAAC,IAAe;QAC/B,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAE5C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAC5B,KAAa;QAEb,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAE5C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACO,mBAAmB;QAC3B,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAG/C,CAAC;IACJ,CAAC;CACF;AAUD,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA8B,CAAC;AAWvE;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAwB,MAAM,CAAC,MAAM,CAAC;IACpE,IAAI,CAAC,MAAc,EAAE,OAA2B;QAC9C,oBAAoB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,MAAc,EAAE,IAAe;QACrC,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,CAAC,MAAc,EAAE,KAAa;QAClC,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,MAAM,CAAC,MAAc,EAAE,KAAa;QAClC,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1E,CAAC;IACD,gBAAgB,CAAC,MAAc;QAC7B,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;IACxD,CAAC;IACD,gBAAgB,CAAC,MAAc;QAC7B,OAAO,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;IACxD,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,OAAO,CAAC,MAAc;QACpB,MAAM,OAAO,GAAG,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,UAAU,CAAC,uDAAuD,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,mBAIpB,SAAQ,MAA2B;IACnC,YAAY,CAAiD;IAC7D,aAAa,GAAG,KAAK,CAAC;IAEtB;;;;OAIG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,qBAAqB,CAAC;IAC1D,CAAC;IAED;;;;OAIG;IACO,uBAAuB;QAC/B,OAAO,IAAI,CAAC,YAAY,EAAE,MAAM,KAAK,QAAQ,CAAC;IAChD,CAAC;IAED;;;;OAIG;IACO,gBAAgB;QACxB,IAAI,IAAI,CAAC,uBAAuB,EAAE,EAAE,CAAC;YACnC,MAAM,IAAI,6BAA6B,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,iBAAiB,CAAC;YACxC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,OAAO,EAAE;gBACP,QAAQ,EAAE,eAAe;gBACzB,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,eAAe,CAAC;aAC7C;YACD,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACO,YAAY;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,YAAY,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACO,oBAAoB;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,CAAC,OAAO,CAAC;QAEzE,OAAO;YACL,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;YAChD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;SAC3C,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACO,mBAAmB;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,SAAS,CAAC;IACnE,CAAC;IAED;;;;;;OAMG;IACO,MAAM,CAAC,OAAyC;QACxD,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACO,SAAS,CAAC,OAAyC;QAC3D,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;OAMG;IACO,0BAA0B,CAClC,KAA0C;QAE1C,IAAI,CAAC,mBAAmB,CAAC,4BAA4B,CAAC,CAAC,qBAAqB,CAC1E,cAAc,CAAC,KAAK,CAAC,KAAK,CAAY,CACvC,CAAC;QAEF,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACO,YAAY;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC;IAED;;;;;OAKG;IACO,cAAc;QACtB,OAAO,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,SAAS,EAAE,CAAC;IAChE,CAAC;IAED;;;;;OAKG;IACO,gBAAgB;QACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;IACpE,CAAC;IAED;;;;;OAKG;IACO,YAAY;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACO,iBAAiB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;QAEpC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,IACE,MAAM,CAAC,QAAQ,KAAK,SAAS;gBAC7B,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EACjE,CAAC;gBACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,OAAO,CAAC,SAAgD,CAAC,CAAC;YAC7F,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC7C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;YAC9B,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,MAAM,CAA2B,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACO,mBAAmB;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1E,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB,CACjB,SAA4C;QAE5C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,WAAW,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACrC,MAAM,IAAI,6BAA6B,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;CACF;AAyCD;;;;GAIG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA8B,MAAM,CAAC,MAAM,CAAC;IAChF,KAAK,CAAC,MAAc;QAClB,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CAAC,MAAc;QACnB,OAAO,iBAAiB,CAAC,IAAI,CAC3B,MAAM,EACN,mBAAmB,CACsC,CAAC;IAC9D,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxC,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,cAAc,CACZ,MAAc;QAEd,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAE,aAAa,CAAC,KAAK,CAAC,QAAQ,CAA8D,CAAC;IAClG,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC;IACtC,IAAI,CAAC,MAAc,EAAE,UAAkB;QACrC,MAAM,MAAM,GAAI,MAAkC,CAAC,UAAU,CAAC,CAAC;QAE/D,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAI,SAAS,CAAC,yCAAyC,UAAU,IAAI,CAAC,CAAC;QAC/E,CAAC;QAED,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,SAAS,CAAC,KAAc;QACtB,OAAO,KAAK,YAAY,6BAA6B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;IACtF,CAAC;CACF,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,OAAgB,SAIpB,SAAQ,mBAAwC;IAQhD;;;;OAIG;IACH,YAAY,OAA2C;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAAC,KAAa;QAC1C,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,oBAAoB,CAClC,KAAa,EACb,SAA8C;QAE9C,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACO,YAAY;QACpB,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAA2B,CAAC;IAC9E,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,UAIpB,SAAQ,mBAAwC;IAQhD;;;;OAIG;IACH,YAAY,OAA2C;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC1C,CAAC;CACF;AAED;;;;;;GAMG;AACH,MAAM,OAAgB,cAIpB,SAAQ,mBAAwC;IAQhD;;;;OAIG;IACH,YAAY,OAA2C;QACrD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAAC,KAAa;QAC1C,OAAO,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,oBAAoB,CAClC,KAAa,EACb,SAA8C;QAE9C,OAAO,CAAC,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACO,YAAY;QACpB,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,IAAI,CAA2B,CAAC;IAC9E,CAAC;IAED;;;;;;;;;;OAUG;IACO,MAAM,CAGd,MAAmB,EAAE,OAAgB;QACrC,MAAM,UAAU,GAAG,yBAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,IAAI,mBAAmB,CAC5B,IAAI,EACJ,MAAM,EACN,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,YAAY,EAAE,CAAC,CAC1E,CAAC;IACJ,CAAC;CACF;AAED;;GAEG;AACH,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,IAAI,CAAC,MAAc,EAAE,MAAoB;QACvC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE;YAC5C,YAAY,EAAE,KAAK;YACnB,UAAU,EAAE,KAAK;YACjB,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,KAAK;SAChB,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IACpC,KAAK,CACH,MAAc,EACd,KAA2B;QAE3B,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CACH,MAAc,EACd,QAA8B,EAC9B,IAA0B;QAE1B,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;QACzE,OAAO,CACL,cAAc,CAAC,UAAU,KAAK,UAAU,CAAC,UAAU;YACnD,cAAc,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAClE,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC;IAClC,KAAK,CACH,MAAsD;QAEtD,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO;gBACL,GAAG,MAAM;gBACT,OAAO,EAAE;oBACP,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACvD,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC;iBAC1D;gBACD,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;gBACrF,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAA6B;aAC3E,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC;gBACvD,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;aAClD;YACD,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE;YACrF,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAA6B;SAC3E,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,UAAiC;QAC1C,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACrB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,qBAAqB,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;QAC7D,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,UAAU,EAAE,KAAK,CAAC,mBAAsE;YACxF,KAAK;SACN,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,KAAK,CAAC;AAEtC;;GAEG;AACH,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,KAAK,CAAU,OAAgB;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,OAAO,EAAE,EAAE,CAAC,CAAY,CAAC;IAC/D,CAAC;IAED,KAAK,CACH,KAAc,EACd,IAAY,EACZ,KAAsB,EACtB,KAAa;QAEb,IAAI,KAAK,GAAG,uBAAuB,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,QAAQ,OAAO,KAAK,EAAE,CAAC;YACrB,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ,CAAC;YACd,KAAK,WAAW;gBACd,OAAO,KAAK,CAAC;YACf,KAAK,UAAU;gBACb,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrC,KAAK,QAAQ;gBACX,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,MAAM,CACJ,KAAa,EACb,IAAY,EACZ,KAAsB,EACtB,KAAa;QAEb,IAAI,OAAO,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACxE,IAAI,KAAK,YAAY,WAAW,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/D,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAE9D,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;YAEzE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAA0C,CAAC;YAC5F,MAAM,WAAW,GAAG,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YAC5D,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;YAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;YAC7E,CAAC;YACD,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5D,MAAM,SAAS,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;gBACnC,IAAI,CAAC,UAAU,CAAC,UAAU;oBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,yBAAyB,CAAC,CAAC;gBACnF,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC;oBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;gBAC/E,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE;oBAChC,YAAY,EAAE,IAAI;oBAClB,UAAU,EAAE,IAAI;oBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC;oBAChE,QAAQ,EAAE,IAAI;iBACf,CAAC,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;gBAAS,CAAC;YACT,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,KAAK,CACH,KAAyB,EACzB,IAAY,EACZ,KAAsB,EACtB,KAAa;QAEb,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,SAAS;YAAE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC/E,MAAM,WAAW,GAAuC,MAAM,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;QAChG,MAAM,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,gBAAgB,GAAG,WAAW,CAAC,MAAM,CAAC;QAC5C,IAAI,gBAAgB,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,gBAAgB,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,2BAA2B,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAe,CAAC;QAChD,MAAM,KAAK,GAAG,IAAI,KAAK,CAAwB,MAAM,CAAC,CAAC;QACvD,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAC5D,IAAI,GAAG,KAAK,QAAQ;gBAAE,SAAS;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC;gBAC/B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,EAAE,EAAE,uBAAuB,CAAC,CAAC;YAC9D,IAAI,CAAC,UAAU,CAAC,UAAU;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,yBAAyB,CAAC,CAAC;YAC3F,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC;gBAAE,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACzF,CAAC;QACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,CAAC,OAAO,IAAI,UAAU,CAAC,EAAE,CAAC;gBACzD,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,sBAAsB,CAAC,CAAC;YAC9D,CAAC;YACD,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE;gBAClC,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,IAAI,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC;gBACxE,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,UAAU,CAAC,GAAW,EAAE,MAAc;QACpC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1B,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;IAC1F,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,OAAO,SAAS,KAAK,MAAM,CAAC,SAAS,IAAI,SAAS,KAAK,IAAI,CAAC;IAC9D,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,MAAM,CAAC,cAAc,CAAC,KAAK,CAAkB,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,KAAa;QAChB,IAAI,KAAK,YAAY,IAAI;YAAE,OAAO,MAAM,CAAC;QACzC,IAAI,KAAK,YAAY,GAAG;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,KAAK,YAAY,GAAG;YAAE,OAAO,KAAK,CAAC;QACvC,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;YAAE,OAAO,aAAa,CAAC;QACpD,IAAI,KAAK,YAAY,WAAW;YAAE,OAAO,aAAa,CAAC;QACvD,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;YAAE,OAAO,mBAAmB,CAAC;QAC3D,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,OAAO,iBAAiB,KAAK,WAAW,IAAI,KAAK,YAAY,iBAAiB,CAAC;IACxF,CAAC;IAED,KAAK,CAAC,IAAY,EAAE,IAAY;QAC9B,OAAO,IAAI,SAAS,CAClB,wDAAwD,IAAI,aAAa,IAAI,GAAG,CACjF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type MessageShape } from "@bufbuild/protobuf";
|
|
2
|
+
import { type MessageValidationResult, type TransitionValidationRule } from "@spine-event-engine/core";
|
|
3
|
+
import type { DescriptorMessageSchema } from "./entity-metadata.js";
|
|
4
|
+
interface ImplicitRequiredIdPolicy {
|
|
5
|
+
validateCommand<Schema extends DescriptorMessageSchema>(schema: Schema, message: MessageShape<Schema>): MessageValidationResult;
|
|
6
|
+
entityRule<Schema extends DescriptorMessageSchema>(schema: Schema): TransitionValidationRule<Schema>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Applies the declaration-first implicit-required convention at server signal boundaries.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
export declare const ImplicitRequiredIds: Readonly<ImplicitRequiredIdPolicy>;
|
|
14
|
+
export {};
|
|
15
|
+
//# sourceMappingURL=implicit-required-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implicit-required-id.d.ts","sourceRoot":"","sources":["../../src/entity/implicit-required-id.ts"],"names":[],"mappings":"AAcA,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEhG,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAE9B,MAAM,0BAA0B,CAAC;AAQlC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAKpE,UAAU,wBAAwB;IAChC,eAAe,CAAC,MAAM,SAAS,uBAAuB,EACpD,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,GAC5B,uBAAuB,CAAC;IAC3B,UAAU,CAAC,MAAM,SAAS,uBAAuB,EAC/C,MAAM,EAAE,MAAM,GACb,wBAAwB,CAAC,MAAM,CAAC,CAAC;CACrC;AAKD;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,wBAAwB,CAiBjE,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
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 { create, hasOption, ScalarType, toBinary } from "@bufbuild/protobuf";
|
|
15
|
+
import { Validate, } from "@spine-event-engine/core";
|
|
16
|
+
import { ConstraintViolationSchema, FieldPathSchema, TemplateStringSchema, } from "@spine-event-engine/proto";
|
|
17
|
+
import { required } from "@spine-event-engine/proto/generated/spine/options_pb.js";
|
|
18
|
+
const requiredMessage = "The field `${parent.type}.${field.path}` of the type `${field.type}` must have a non-default value.";
|
|
19
|
+
const commandRules = new WeakMap();
|
|
20
|
+
const entityRules = new WeakMap();
|
|
21
|
+
/**
|
|
22
|
+
* Applies the declaration-first implicit-required convention at server signal boundaries.
|
|
23
|
+
*
|
|
24
|
+
* @internal
|
|
25
|
+
*/
|
|
26
|
+
export const ImplicitRequiredIds = Object.freeze({
|
|
27
|
+
validateCommand(schema, message) {
|
|
28
|
+
if (!ImplicitRequiredIdsInternal.commandSchema(schema)) {
|
|
29
|
+
return Validate.transition({ schema, previous: undefined, next: message });
|
|
30
|
+
}
|
|
31
|
+
const rule = ImplicitRequiredIdsInternal.cachedRule(commandRules, schema);
|
|
32
|
+
return Validate.transition({ schema, previous: undefined, next: message }, [rule]);
|
|
33
|
+
},
|
|
34
|
+
entityRule(schema) {
|
|
35
|
+
return ImplicitRequiredIdsInternal.cachedRule(entityRules, schema);
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
const ImplicitRequiredIdsInternal = Object.freeze({
|
|
39
|
+
commandSchema(schema) {
|
|
40
|
+
const fileName = schema.file.proto.name.split("/").at(-1);
|
|
41
|
+
return fileName === "commands.proto" || fileName?.endsWith("_commands.proto") === true;
|
|
42
|
+
},
|
|
43
|
+
cachedRule(cache, schema) {
|
|
44
|
+
const cached = cache.get(schema);
|
|
45
|
+
if (cached !== undefined)
|
|
46
|
+
return cached;
|
|
47
|
+
const rule = ImplicitRequiredIdsInternal.rule(schema.fields[0]);
|
|
48
|
+
cache.set(schema, rule);
|
|
49
|
+
return rule;
|
|
50
|
+
},
|
|
51
|
+
rule(field) {
|
|
52
|
+
if (field === undefined ||
|
|
53
|
+
hasOption(field, required) ||
|
|
54
|
+
!ImplicitRequiredIdsInternal.supported(field)) {
|
|
55
|
+
return { validateTransition: () => [] };
|
|
56
|
+
}
|
|
57
|
+
return {
|
|
58
|
+
validateTransition: ({ schema, next }) => ImplicitRequiredIdsInternal.missing(field, next)
|
|
59
|
+
? [ImplicitRequiredIdsInternal.violation(schema, field)]
|
|
60
|
+
: [],
|
|
61
|
+
};
|
|
62
|
+
},
|
|
63
|
+
violation(schema, field) {
|
|
64
|
+
return create(ConstraintViolationSchema, {
|
|
65
|
+
typeName: schema.typeName,
|
|
66
|
+
fieldPath: create(FieldPathSchema, { fieldName: [field.name] }),
|
|
67
|
+
message: create(TemplateStringSchema, {
|
|
68
|
+
withPlaceholders: requiredMessage,
|
|
69
|
+
placeholderValue: {
|
|
70
|
+
"field.path": field.name,
|
|
71
|
+
"field.type": ImplicitRequiredIdsInternal.typeName(field),
|
|
72
|
+
"message.type": schema.typeName,
|
|
73
|
+
"parent.type": schema.typeName,
|
|
74
|
+
},
|
|
75
|
+
}),
|
|
76
|
+
});
|
|
77
|
+
},
|
|
78
|
+
supported(field) {
|
|
79
|
+
if (field.fieldKind === "scalar") {
|
|
80
|
+
return field.scalar === ScalarType.STRING || field.scalar === ScalarType.BYTES;
|
|
81
|
+
}
|
|
82
|
+
return true;
|
|
83
|
+
},
|
|
84
|
+
missing(field, message) {
|
|
85
|
+
let value;
|
|
86
|
+
try {
|
|
87
|
+
value = message[field.localName];
|
|
88
|
+
}
|
|
89
|
+
catch {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
switch (field.fieldKind) {
|
|
93
|
+
case "scalar":
|
|
94
|
+
return field.scalar === ScalarType.STRING
|
|
95
|
+
? value === ""
|
|
96
|
+
: !(value instanceof Uint8Array) || value.length === 0;
|
|
97
|
+
case "enum":
|
|
98
|
+
return value === 0;
|
|
99
|
+
case "message":
|
|
100
|
+
return (value === undefined ||
|
|
101
|
+
toBinary(field.message, value).length === 0);
|
|
102
|
+
case "list":
|
|
103
|
+
return !Array.isArray(value) || value.length === 0;
|
|
104
|
+
case "map":
|
|
105
|
+
return typeof value !== "object" || value === null || Object.keys(value).length === 0;
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
typeName(field) {
|
|
109
|
+
switch (field.fieldKind) {
|
|
110
|
+
case "scalar":
|
|
111
|
+
return ScalarType[field.scalar];
|
|
112
|
+
case "enum":
|
|
113
|
+
return field.enum.typeName;
|
|
114
|
+
case "message":
|
|
115
|
+
return field.message.typeName;
|
|
116
|
+
case "list":
|
|
117
|
+
return "repeated";
|
|
118
|
+
case "map":
|
|
119
|
+
return "map";
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
//# sourceMappingURL=implicit-required-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"implicit-required-id.js","sourceRoot":"","sources":["../../src/entity/implicit-required-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type Message } from "@bufbuild/protobuf";
|
|
2
|
+
import type { EntityRecord } from "@spine-event-engine/proto/generated/spine/server/entity/entity_pb.js";
|
|
3
|
+
import { type RecordSpec } from "@spine-event-engine/storage";
|
|
4
|
+
import { type EntityConstructor } from "./entity-metadata.js";
|
|
5
|
+
import type { PrimitiveId } from "../repository/primitive-id.js";
|
|
6
|
+
interface EntitySpecScanner {
|
|
7
|
+
scan(entityType: EntityConstructor): RecordSpec<Message | PrimitiveId, EntityRecord>;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Derives the storage record specification carried by one Entity class.
|
|
11
|
+
*/
|
|
12
|
+
export declare const SpecScanner: EntitySpecScanner;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=spec-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-scanner.d.ts","sourceRoot":"","sources":["../../src/entity/spec-scanner.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sEAAsE,CAAC;AACzG,OAAO,EAA6B,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAEjE,UAAU,iBAAiB;IACzB,IAAI,CAAC,UAAU,EAAE,iBAAiB,GAAG,UAAU,CAAC,OAAO,GAAG,WAAW,EAAE,YAAY,CAAC,CAAC;CACtF;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,iBA0BxB,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
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 {} from "@bufbuild/protobuf";
|
|
15
|
+
import { ColumnTypes, RecordColumn } from "@spine-event-engine/storage";
|
|
16
|
+
import { describeEntityMetadata, entitySchemaOf, } from "./entity-metadata.js";
|
|
17
|
+
import { entityRecordSpec } from "./entity-storage-descriptor.js";
|
|
18
|
+
/**
|
|
19
|
+
* Derives the storage record specification carried by one Entity class.
|
|
20
|
+
*/
|
|
21
|
+
export const SpecScanner = Object.freeze({
|
|
22
|
+
// prettier-ignore
|
|
23
|
+
/**
|
|
24
|
+
* Reads immutable generated schema metadata from an Entity class.
|
|
25
|
+
*
|
|
26
|
+
* @param entityType Entity class whose generated state schema is scanned.
|
|
27
|
+
* @returns The JVM EntityRecord storage specification for that entity state.
|
|
28
|
+
*/
|
|
29
|
+
scan(entityType) {
|
|
30
|
+
const schema = entitySchemaOf(entityType);
|
|
31
|
+
if (schema === undefined) {
|
|
32
|
+
throw new Error("Entity class has no generated state schema metadata.");
|
|
33
|
+
}
|
|
34
|
+
return entityRecordSpec(schema, describeEntityMetadata(schema).columns.map((field) => new RecordColumn(field.name, ColumnTypes.fromField(field.descriptor), (state) => state[field.localName])));
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=spec-scanner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spec-scanner.js","sourceRoot":"","sources":["../../src/entity/spec-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAgB,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAmB,MAAM,6BAA6B,CAAC;AAEzF,OAAO,EACL,sBAAsB,EACtB,cAAc,GAEf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAOlE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB,MAAM,CAAC,MAAM,CAAC;IAC1D,kBAAkB;IAElB;;;;;OAKG;IACH,IAAI,CAAC,UAA6B;QAChC,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC1E,CAAC;QACD,OAAO,gBAAgB,CACrB,MAAM,EACN,sBAAsB,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,CACxC,CAAC,KAAK,EAAE,EAAE,CACR,IAAI,YAAY,CACd,KAAK,CAAC,IAAI,EACV,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC,EACvC,CAAC,KAAK,EAAE,EAAE,CAAE,KAAiC,CAAC,KAAK,CAAC,SAAS,CAAC,CAC/D,CACJ,CACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { type CommandAssignmentHandlerMetadata, type CommandSubstitutionHandlerMetadata, type EntityClass, type EntityHandlersMetadata, type HandlerMetadataRegistryLookup, type RegisteredHandlerMetadata } from "./handler-metadata.js";
|
|
2
|
+
import type { EntityMetadata } from "../entity/entity-metadata.js";
|
|
3
|
+
/**
|
|
4
|
+
* Effective command receptor exposed by command registration readiness lookups.
|
|
5
|
+
*/
|
|
6
|
+
export interface CommandRegistrationAssigneeMetadata {
|
|
7
|
+
/**
|
|
8
|
+
* Fully qualified command message type name assigned to one entity handler.
|
|
9
|
+
*/
|
|
10
|
+
readonly commandFullTypeName: string;
|
|
11
|
+
/**
|
|
12
|
+
* Entity handler metadata object that declared the command receptor.
|
|
13
|
+
*/
|
|
14
|
+
readonly entityHandlers: EntityHandlersMetadata;
|
|
15
|
+
/**
|
|
16
|
+
* Entity class that owns the assigned command handler method.
|
|
17
|
+
*/
|
|
18
|
+
readonly entityType: EntityClass;
|
|
19
|
+
/**
|
|
20
|
+
* Descriptor-derived entity metadata for the assignee state type.
|
|
21
|
+
*/
|
|
22
|
+
readonly entity: EntityMetadata;
|
|
23
|
+
/**
|
|
24
|
+
* Command assignment or command-substitution handler metadata declared by the entity.
|
|
25
|
+
*/
|
|
26
|
+
readonly handler: CommandAssignmentHandlerMetadata | CommandSubstitutionHandlerMetadata;
|
|
27
|
+
/**
|
|
28
|
+
* Original registered handler entry from the handler metadata registry.
|
|
29
|
+
*/
|
|
30
|
+
readonly registeredHandler: RegisteredHandlerMetadata<CommandAssignmentHandlerMetadata | CommandSubstitutionHandlerMetadata>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Read-only command registration readiness lookup surface.
|
|
34
|
+
*/
|
|
35
|
+
export interface CommandRegistrationReadinessLookup {
|
|
36
|
+
/**
|
|
37
|
+
* Returns registered command message type names in deterministic order.
|
|
38
|
+
*
|
|
39
|
+
* @returns A fresh frozen list of command message type names.
|
|
40
|
+
*/
|
|
41
|
+
commandTypeNames(): readonly string[];
|
|
42
|
+
/**
|
|
43
|
+
* Finds unique assignee metadata for a command message type.
|
|
44
|
+
*
|
|
45
|
+
* @param commandTypeName Fully qualified command message type name.
|
|
46
|
+
* @returns The assignee metadata, or `undefined` when no assignee is registered.
|
|
47
|
+
*/
|
|
48
|
+
findCommandAssignee(commandTypeName: string): CommandRegistrationAssigneeMetadata | undefined;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Metadata-only command registration readiness derived from handler metadata.
|
|
52
|
+
*
|
|
53
|
+
* The surface mirrors the JVM command-dispatcher registration shape only far
|
|
54
|
+
* enough for later runtime slices to ask which command message types have one
|
|
55
|
+
* registered assignee. It does not post, route, dispatch, invoke, store, or
|
|
56
|
+
* acknowledge commands.
|
|
57
|
+
*/
|
|
58
|
+
export declare class CommandRegistrationReadiness implements CommandRegistrationReadinessLookup {
|
|
59
|
+
#private;
|
|
60
|
+
private constructor();
|
|
61
|
+
/**
|
|
62
|
+
* Builds readiness from a handler metadata registry lookup.
|
|
63
|
+
*
|
|
64
|
+
* @param registry Source of entity handler metadata.
|
|
65
|
+
* @returns Frozen command registration readiness.
|
|
66
|
+
*/
|
|
67
|
+
static fromRegistry(registry: HandlerMetadataRegistryLookup): CommandRegistrationReadiness;
|
|
68
|
+
/**
|
|
69
|
+
* Builds readiness from entity handler metadata.
|
|
70
|
+
*
|
|
71
|
+
* Duplicate command assignment validation is intentionally delegated to
|
|
72
|
+
* `HandlerMetadataRegistry`.
|
|
73
|
+
*
|
|
74
|
+
* @param entityHandlers Entity handler metadata to validate and index.
|
|
75
|
+
* @returns Frozen command registration readiness.
|
|
76
|
+
*/
|
|
77
|
+
static fromEntityHandlers(entityHandlers: Iterable<EntityHandlersMetadata>): CommandRegistrationReadiness;
|
|
78
|
+
/**
|
|
79
|
+
* Returns registered command message type names in deterministic order.
|
|
80
|
+
*
|
|
81
|
+
* @returns A fresh frozen list of command message type names.
|
|
82
|
+
*/
|
|
83
|
+
commandTypeNames(): readonly string[];
|
|
84
|
+
/**
|
|
85
|
+
* Finds unique assignee metadata for a command message type.
|
|
86
|
+
*
|
|
87
|
+
* @param commandTypeName Fully qualified command message type name.
|
|
88
|
+
* @returns The assignee metadata, or `undefined` when no assignee is registered.
|
|
89
|
+
*/
|
|
90
|
+
findCommandAssignee(commandTypeName: string): CommandRegistrationAssigneeMetadata | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* Checks whether a value was created by this module's readiness factories.
|
|
93
|
+
*
|
|
94
|
+
* @param value Value to test for readiness authenticity.
|
|
95
|
+
* @returns `true` when the value is an authentic command registration readiness instance.
|
|
96
|
+
*/
|
|
97
|
+
static isAuthentic(value: unknown): value is CommandRegistrationReadiness;
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=command-registration-readiness.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-registration-readiness.d.ts","sourceRoot":"","sources":["../../src/handler/command-registration-readiness.ts"],"names":[],"mappings":"AAcA,OAAO,EAEL,KAAK,gCAAgC,EACrC,KAAK,kCAAkC,EACvC,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EAClC,KAAK,yBAAyB,EAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAMnE;;GAEG;AACH,MAAM,WAAW,mCAAmC;IAGlD;;OAEG;IACH,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,gCAAgC,GAAG,kCAAkC,CAAC;IAExF;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CACnD,gCAAgC,GAAG,kCAAkC,CACtE,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IAGjD;;;;OAIG;IACH,gBAAgB,IAAI,SAAS,MAAM,EAAE,CAAC;IAEtC;;;;;OAKG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,mCAAmC,GAAG,SAAS,CAAC;CAC/F;AAED;;;;;;;GAOG;AACH,qBAAa,4BAA6B,YAAW,kCAAkC;;IAIrF,OAAO;IAiBP;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,6BAA6B,GAAG,4BAA4B;IAoC1F;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,CACvB,cAAc,EAAE,QAAQ,CAAC,sBAAsB,CAAC,GAC/C,4BAA4B;IAI/B;;;;OAIG;IACH,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAIrC;;;;;OAKG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,mCAAmC,GAAG,SAAS;IAQ7F;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,4BAA4B;CAgC1E"}
|
|
@@ -0,0 +1,120 @@
|
|
|
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 { HandlerMetadataRegistry, } from "./handler-metadata.js";
|
|
15
|
+
import { ReadinessMetadata } from "./registration-readiness-metadata.js";
|
|
16
|
+
const commandRegistrationReadinessToken = Symbol("commandRegistrationReadinessToken");
|
|
17
|
+
const authenticCommandRegistrationReadiness = new WeakSet();
|
|
18
|
+
/**
|
|
19
|
+
* Metadata-only command registration readiness derived from handler metadata.
|
|
20
|
+
*
|
|
21
|
+
* The surface mirrors the JVM command-dispatcher registration shape only far
|
|
22
|
+
* enough for later runtime slices to ask which command message types have one
|
|
23
|
+
* registered assignee. It does not post, route, dispatch, invoke, store, or
|
|
24
|
+
* acknowledge commands.
|
|
25
|
+
*/
|
|
26
|
+
export class CommandRegistrationReadiness {
|
|
27
|
+
#commandFullTypeNames;
|
|
28
|
+
#assigneesByTypeName;
|
|
29
|
+
constructor(authenticityToken, commandFullTypeNames, assigneesByTypeName) {
|
|
30
|
+
if (authenticityToken !== commandRegistrationReadinessToken) {
|
|
31
|
+
throw new TypeError("CommandRegistrationReadiness instances must be created by the package factory methods.");
|
|
32
|
+
}
|
|
33
|
+
this.#commandFullTypeNames = Object.freeze([...commandFullTypeNames]);
|
|
34
|
+
this.#assigneesByTypeName = new Map(assigneesByTypeName);
|
|
35
|
+
authenticCommandRegistrationReadiness.add(this);
|
|
36
|
+
Object.freeze(this);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Builds readiness from a handler metadata registry lookup.
|
|
40
|
+
*
|
|
41
|
+
* @param registry Source of entity handler metadata.
|
|
42
|
+
* @returns Frozen command registration readiness.
|
|
43
|
+
*/
|
|
44
|
+
static fromRegistry(registry) {
|
|
45
|
+
const validatedRegistry = new HandlerMetadataRegistry(registry.listEntityHandlers());
|
|
46
|
+
const commandFullTypeNames = [
|
|
47
|
+
...new Set(validatedRegistry
|
|
48
|
+
.listHandlers()
|
|
49
|
+
.filter((entry) => entry.handler.kind === "command-assignment" ||
|
|
50
|
+
entry.handler.kind === "command-substitution")
|
|
51
|
+
.map((entry) => entry.handler.messageFullTypeName)),
|
|
52
|
+
].sort((left, right) => ReadinessMetadata.compareTypeNames(left, right));
|
|
53
|
+
const assigneesByTypeName = new Map();
|
|
54
|
+
for (const commandFullTypeName of commandFullTypeNames) {
|
|
55
|
+
const assignment = validatedRegistry.findCommandReceptor(commandFullTypeName);
|
|
56
|
+
if (assignment !== undefined) {
|
|
57
|
+
assigneesByTypeName.set(commandFullTypeName, CommandRegistrationReadiness.#createAssignee(commandFullTypeName, assignment));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return new CommandRegistrationReadiness(commandRegistrationReadinessToken, [...assigneesByTypeName.keys()].sort((left, right) => ReadinessMetadata.compareTypeNames(left, right)), assigneesByTypeName);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Builds readiness from entity handler metadata.
|
|
64
|
+
*
|
|
65
|
+
* Duplicate command assignment validation is intentionally delegated to
|
|
66
|
+
* `HandlerMetadataRegistry`.
|
|
67
|
+
*
|
|
68
|
+
* @param entityHandlers Entity handler metadata to validate and index.
|
|
69
|
+
* @returns Frozen command registration readiness.
|
|
70
|
+
*/
|
|
71
|
+
static fromEntityHandlers(entityHandlers) {
|
|
72
|
+
return CommandRegistrationReadiness.fromRegistry(new HandlerMetadataRegistry(entityHandlers));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns registered command message type names in deterministic order.
|
|
76
|
+
*
|
|
77
|
+
* @returns A fresh frozen list of command message type names.
|
|
78
|
+
*/
|
|
79
|
+
commandTypeNames() {
|
|
80
|
+
return Object.freeze([...this.#commandFullTypeNames]);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Finds unique assignee metadata for a command message type.
|
|
84
|
+
*
|
|
85
|
+
* @param commandTypeName Fully qualified command message type name.
|
|
86
|
+
* @returns The assignee metadata, or `undefined` when no assignee is registered.
|
|
87
|
+
*/
|
|
88
|
+
findCommandAssignee(commandTypeName) {
|
|
89
|
+
const assignee = this.#assigneesByTypeName.get(commandTypeName);
|
|
90
|
+
return assignee === undefined
|
|
91
|
+
? undefined
|
|
92
|
+
: CommandRegistrationReadiness.#copyAssignee(assignee);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Checks whether a value was created by this module's readiness factories.
|
|
96
|
+
*
|
|
97
|
+
* @param value Value to test for readiness authenticity.
|
|
98
|
+
* @returns `true` when the value is an authentic command registration readiness instance.
|
|
99
|
+
*/
|
|
100
|
+
static isAuthentic(value) {
|
|
101
|
+
return (value !== null &&
|
|
102
|
+
typeof value === "object" &&
|
|
103
|
+
authenticCommandRegistrationReadiness.has(value));
|
|
104
|
+
}
|
|
105
|
+
static #createAssignee(commandFullTypeName, registeredHandler) {
|
|
106
|
+
const fields = ReadinessMetadata.create(registeredHandler);
|
|
107
|
+
return Object.freeze({
|
|
108
|
+
commandFullTypeName,
|
|
109
|
+
...fields,
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
static #copyAssignee(assignee) {
|
|
113
|
+
const fields = ReadinessMetadata.copy(assignee.registeredHandler);
|
|
114
|
+
return Object.freeze({
|
|
115
|
+
commandFullTypeName: assignee.commandFullTypeName,
|
|
116
|
+
...fields,
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=command-registration-readiness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-registration-readiness.js","sourceRoot":"","sources":["../../src/handler/command-registration-readiness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EACL,uBAAuB,GAOxB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAEzE,MAAM,iCAAiC,GAAG,MAAM,CAAC,mCAAmC,CAAC,CAAC;AACtF,MAAM,qCAAqC,GAAG,IAAI,OAAO,EAAU,CAAC;AA+DpE;;;;;;;GAOG;AACH,MAAM,OAAO,4BAA4B;IAC9B,qBAAqB,CAAoB;IACzC,oBAAoB,CAA2D;IAExF,YACE,iBAA2D,EAC3D,oBAAuC,EACvC,mBAA6E;QAE7E,IAAI,iBAAiB,KAAK,iCAAiC,EAAE,CAAC;YAC5D,MAAM,IAAI,SAAS,CACjB,wFAAwF,CACzF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,oBAAoB,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,oBAAoB,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACzD,qCAAqC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,YAAY,CAAC,QAAuC;QACzD,MAAM,iBAAiB,GAAG,IAAI,uBAAuB,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACrF,MAAM,oBAAoB,GAAG;YAC3B,GAAG,IAAI,GAAG,CACR,iBAAiB;iBACd,YAAY,EAAE;iBACd,MAAM,CACL,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB;gBAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB,CAChD;iBACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CACrD;SACF,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QACzE,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA+C,CAAC;QAEnF,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;YAE9E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,mBAAmB,CAAC,GAAG,CACrB,mBAAmB,EACnB,4BAA4B,CAAC,eAAe,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAC9E,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,IAAI,4BAA4B,CACrC,iCAAiC,EACjC,CAAC,GAAG,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CACnD,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,CAChD,EACD,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,MAAM,CAAC,kBAAkB,CACvB,cAAgD;QAEhD,OAAO,4BAA4B,CAAC,YAAY,CAAC,IAAI,uBAAuB,CAAC,cAAc,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;;;OAIG;IACH,gBAAgB;QACd,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,eAAuB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAEhE,OAAO,QAAQ,KAAK,SAAS;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,4BAA4B,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,WAAW,CAAC,KAAc;QAC/B,OAAO,CACL,KAAK,KAAK,IAAI;YACd,OAAO,KAAK,KAAK,QAAQ;YACzB,qCAAqC,CAAC,GAAG,CAAC,KAAK,CAAC,CACjD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,mBAA2B,EAC3B,iBAEC;QAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAE3D,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,mBAAmB;YACnB,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,aAAa,CAClB,QAA6C;QAE7C,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;QAElE,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,mBAAmB,EAAE,QAAQ,CAAC,mBAAmB;YACjD,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type RejectionThrowable } from "@spine-event-engine/core";
|
|
2
|
+
import { type DescriptorMessageSchema } from "../entity/entity-metadata.js";
|
|
3
|
+
interface DeclaredRejectionChecks {
|
|
4
|
+
require(methodName: string, schemas: readonly DescriptorMessageSchema[], rejection: RejectionThrowable): void;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Checks actual domain rejections against generated handler declarations.
|
|
8
|
+
*/
|
|
9
|
+
export declare const DeclaredRejections: Readonly<DeclaredRejectionChecks>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=declared-rejections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declared-rejections.d.ts","sourceRoot":"","sources":["../../src/handler/declared-rejections.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAE5E,UAAU,uBAAuB;IAC/B,OAAO,CACL,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,SAAS,uBAAuB,EAAE,EAC3C,SAAS,EAAE,kBAAkB,GAC5B,IAAI,CAAC;CACT;AAED;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,uBAAuB,CAoB/D,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
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 {} from "@spine-event-engine/core";
|
|
15
|
+
import {} from "../entity/entity-metadata.js";
|
|
16
|
+
/**
|
|
17
|
+
* Checks actual domain rejections against generated handler declarations.
|
|
18
|
+
*/
|
|
19
|
+
export const DeclaredRejections = Object.freeze({
|
|
20
|
+
// prettier-ignore
|
|
21
|
+
/**
|
|
22
|
+
* Requires the thrown rejection type to appear in the handler declaration.
|
|
23
|
+
*
|
|
24
|
+
* @param methodName Handler method used in a diagnostic.
|
|
25
|
+
* @param schemas Rejection schemas recorded by generated metadata.
|
|
26
|
+
* @param rejection Actual rejection thrown by the handler.
|
|
27
|
+
*/
|
|
28
|
+
require(methodName, schemas, rejection) {
|
|
29
|
+
if (schemas.some((schema) => schema.typeName === rejection.schema.typeName))
|
|
30
|
+
return;
|
|
31
|
+
throw new Error(`Handler "${methodName}" threw undeclared rejection "${rejection.schema.typeName}".`);
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
//# sourceMappingURL=declared-rejections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"declared-rejections.js","sourceRoot":"","sources":["../../src/handler/declared-rejections.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAA2B,MAAM,0BAA0B,CAAC;AAEnE,OAAO,EAAgC,MAAM,8BAA8B,CAAC;AAU5E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsC,MAAM,CAAC,MAAM,CAAC;IACjF,kBAAkB;IAElB;;;;;;OAMG;IACH,OAAO,CACL,UAAkB,EAClB,OAA2C,EAC3C,SAA6B;QAE7B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YAAE,OAAO;QACpF,MAAM,IAAI,KAAK,CACb,YAAY,UAAU,iCAAiC,SAAS,CAAC,MAAM,CAAC,QAAQ,IAAI,CACrF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { StringifierRegistry } from "@spine-event-engine/core";
|
|
2
|
+
import type { DescriptorMessageSchema } from "../entity/entity-metadata.js";
|
|
3
|
+
import type { WhereOptions } from "./handler-metadata.js";
|
|
4
|
+
/**
|
|
5
|
+
* Internal handler candidate consumed by Event field filter compilation.
|
|
6
|
+
*/
|
|
7
|
+
export interface EventHandlerFilterCandidate<Value> {
|
|
8
|
+
/**
|
|
9
|
+
* Registered handler value returned when the candidate is selected.
|
|
10
|
+
*/
|
|
11
|
+
readonly value: Value;
|
|
12
|
+
/**
|
|
13
|
+
* Event schema used to resolve the declared source-name path.
|
|
14
|
+
*/
|
|
15
|
+
readonly schema: DescriptorMessageSchema;
|
|
16
|
+
/**
|
|
17
|
+
* Optional generated Event field filter.
|
|
18
|
+
*/
|
|
19
|
+
readonly where?: WhereOptions;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Immutable, construction-time validated selector for one Event receptor category.
|
|
23
|
+
*/
|
|
24
|
+
export interface EventHandlerFilterPlan<Value> {
|
|
25
|
+
/**
|
|
26
|
+
* Returns the matching filtered value, fallback, or ordinary handlers.
|
|
27
|
+
*
|
|
28
|
+
* @param message Unpacked Event message validated by repository intake.
|
|
29
|
+
* @returns Frozen selected values in declaration order.
|
|
30
|
+
*/
|
|
31
|
+
select(message: unknown): readonly Value[];
|
|
32
|
+
}
|
|
33
|
+
interface EventHandlerFilterCompiler {
|
|
34
|
+
compile<Value>(candidates: readonly EventHandlerFilterCandidate<Value>[], stringifiers?: StringifierRegistry): EventHandlerFilterPlan<Value>;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Compiles generated `@Where` metadata and selects one receptor at runtime.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare const EventHandlerFilters: Readonly<EventHandlerFilterCompiler>;
|
|
42
|
+
export {};
|
|
43
|
+
//# sourceMappingURL=event-handler-filter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"event-handler-filter.d.ts","sourceRoot":"","sources":["../../src/handler/event-handler-filter.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,mBAAmB,EAAoB,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;GAEG;AACH,MAAM,WAAW,2BAA2B,CAAC,KAAK;IAGhD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IAEzC;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB,CAAC,KAAK;IAG3C;;;;;OAKG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,KAAK,EAAE,CAAC;CAC5C;AAYD,UAAU,0BAA0B;IAClC,OAAO,CAAC,KAAK,EACX,UAAU,EAAE,SAAS,2BAA2B,CAAC,KAAK,CAAC,EAAE,EACzD,YAAY,CAAC,EAAE,mBAAmB,GACjC,sBAAsB,CAAC,KAAK,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,0BAA0B,CAwDnE,CAAC"}
|