@spine-event-engine/server 2.0.0-snapshot.24 → 2.0.0-snapshot.26
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/README.md +86 -19
- package/REFERENCE.md +538 -150
- package/dist/agent/agent-acceptance-receipts.d.ts +69 -0
- package/dist/agent/agent-acceptance-receipts.d.ts.map +1 -0
- package/dist/agent/agent-acceptance-receipts.js +198 -0
- package/dist/agent/agent-acceptance-receipts.js.map +1 -0
- package/dist/agent/agent-execution-capacity.d.ts +37 -9
- package/dist/agent/agent-execution-capacity.d.ts.map +1 -1
- package/dist/agent/agent-execution-capacity.js +73 -15
- package/dist/agent/agent-execution-capacity.js.map +1 -1
- package/dist/agent/agent-history.d.ts +33 -12
- package/dist/agent/agent-history.d.ts.map +1 -1
- package/dist/agent/agent-history.js +61 -18
- package/dist/agent/agent-history.js.map +1 -1
- package/dist/agent/agent-live-ai-audit.d.ts +95 -0
- package/dist/agent/agent-live-ai-audit.d.ts.map +1 -0
- package/dist/agent/agent-live-ai-audit.js +290 -0
- package/dist/agent/agent-live-ai-audit.js.map +1 -0
- package/dist/agent/agent-live-ai-runtime.d.ts +300 -0
- package/dist/agent/agent-live-ai-runtime.d.ts.map +1 -0
- package/dist/agent/agent-live-ai-runtime.js +611 -0
- package/dist/agent/agent-live-ai-runtime.js.map +1 -0
- package/dist/agent/agent-live-audit.d.ts +67 -0
- package/dist/agent/agent-live-audit.d.ts.map +1 -0
- package/dist/agent/agent-live-audit.js +121 -0
- package/dist/agent/agent-live-audit.js.map +1 -0
- package/dist/agent/agent-live-budget.d.ts +84 -0
- package/dist/agent/agent-live-budget.d.ts.map +1 -0
- package/dist/agent/agent-live-budget.js +161 -0
- package/dist/agent/agent-live-budget.js.map +1 -0
- package/dist/agent/agent-live-fault.d.ts +18 -0
- package/dist/agent/agent-live-fault.d.ts.map +1 -0
- package/dist/agent/{agent-execution-fault.js → agent-live-fault.js} +7 -7
- package/dist/agent/agent-live-fault.js.map +1 -0
- package/dist/agent/agent-live-inputs.d.ts +74 -0
- package/dist/agent/agent-live-inputs.d.ts.map +1 -0
- package/dist/agent/agent-live-inputs.js +15 -0
- package/dist/agent/agent-live-inputs.js.map +1 -0
- package/dist/agent/agent-live-interaction-events.d.ts +46 -0
- package/dist/agent/agent-live-interaction-events.d.ts.map +1 -0
- package/dist/agent/agent-live-interaction-events.js +104 -0
- package/dist/agent/agent-live-interaction-events.js.map +1 -0
- package/dist/agent/agent-live-mcp-controls.d.ts +129 -0
- package/dist/agent/agent-live-mcp-controls.d.ts.map +1 -0
- package/dist/agent/agent-live-mcp-controls.js +228 -0
- package/dist/agent/agent-live-mcp-controls.js.map +1 -0
- package/dist/agent/agent-live-mcp-host.d.ts +88 -0
- package/dist/agent/agent-live-mcp-host.d.ts.map +1 -0
- package/dist/agent/{agent-mcp-host.js → agent-live-mcp-host.js} +1 -1
- package/dist/agent/agent-live-mcp-host.js.map +1 -0
- package/dist/agent/{agent-mcp-runtime.d.ts → agent-live-mcp-runtime.d.ts} +6 -6
- package/dist/agent/agent-live-mcp-runtime.d.ts.map +1 -0
- package/dist/agent/{agent-mcp-runtime.js → agent-live-mcp-runtime.js} +13 -42
- package/dist/agent/agent-live-mcp-runtime.js.map +1 -0
- package/dist/agent/agent-live-read-runtime.d.ts +72 -0
- package/dist/agent/agent-live-read-runtime.d.ts.map +1 -0
- package/dist/agent/agent-live-read-runtime.js +122 -0
- package/dist/agent/agent-live-read-runtime.js.map +1 -0
- package/dist/agent/agent-model-selection.d.ts +21 -34
- package/dist/agent/agent-model-selection.d.ts.map +1 -1
- package/dist/agent/agent-model-selection.js +61 -78
- package/dist/agent/agent-model-selection.js.map +1 -1
- package/dist/browser/browser-server.d.ts +163 -0
- package/dist/browser/browser-server.d.ts.map +1 -1
- package/dist/browser/browser-server.js +579 -188
- package/dist/browser/browser-server.js.map +1 -1
- package/dist/browser/durable-subscription-bindings.d.ts +5 -0
- package/dist/browser/durable-subscription-bindings.d.ts.map +1 -1
- package/dist/browser/durable-subscription-bindings.js +226 -38
- package/dist/browser/durable-subscription-bindings.js.map +1 -1
- package/dist/browser/options.d.ts +5 -0
- package/dist/browser/options.d.ts.map +1 -1
- package/dist/bus/command-bus.d.ts +17 -18
- package/dist/bus/command-bus.d.ts.map +1 -1
- package/dist/bus/command-bus.js +97 -54
- package/dist/bus/command-bus.js.map +1 -1
- package/dist/bus/command-errors.d.ts +20 -4
- package/dist/bus/command-errors.d.ts.map +1 -1
- package/dist/bus/command-errors.js +47 -7
- package/dist/bus/command-errors.js.map +1 -1
- package/dist/bus/event-bus.d.ts +20 -4
- package/dist/bus/event-bus.d.ts.map +1 -1
- package/dist/bus/event-bus.js +166 -14
- package/dist/bus/event-bus.js.map +1 -1
- package/dist/context/bounded-context.d.ts +169 -98
- package/dist/context/bounded-context.d.ts.map +1 -1
- package/dist/context/bounded-context.js +837 -503
- package/dist/context/bounded-context.js.map +1 -1
- package/dist/context/entity-inbox.d.ts +7 -2
- package/dist/context/entity-inbox.d.ts.map +1 -1
- package/dist/context/entity-inbox.js +22 -13
- package/dist/context/entity-inbox.js.map +1 -1
- package/dist/context/local-inbox-handoff.d.ts +34 -34
- package/dist/context/local-inbox-handoff.d.ts.map +1 -1
- package/dist/context/local-inbox-handoff.js +108 -150
- package/dist/context/local-inbox-handoff.js.map +1 -1
- package/dist/context/projection-handoff.d.ts +2 -2
- package/dist/context/projection-handoff.d.ts.map +1 -1
- package/dist/context/projection-handoff.js +10 -8
- package/dist/context/projection-handoff.js.map +1 -1
- package/dist/context/tenant-index.d.ts +36 -31
- package/dist/context/tenant-index.d.ts.map +1 -1
- package/dist/context/tenant-index.js +123 -125
- package/dist/context/tenant-index.js.map +1 -1
- package/dist/context/tenant-unknown-error.d.ts +33 -0
- package/dist/context/tenant-unknown-error.d.ts.map +1 -0
- package/dist/context/tenant-unknown-error.js +75 -0
- package/dist/context/tenant-unknown-error.js.map +1 -0
- package/dist/delivery/agent-delivery-scope.d.ts +66 -0
- package/dist/delivery/agent-delivery-scope.d.ts.map +1 -0
- package/dist/delivery/agent-delivery-scope.js +44 -0
- package/dist/delivery/agent-delivery-scope.js.map +1 -0
- package/dist/delivery/delivery-builder.d.ts +25 -1
- package/dist/delivery/delivery-builder.d.ts.map +1 -1
- package/dist/delivery/delivery-builder.js +89 -0
- package/dist/delivery/delivery-builder.js.map +1 -1
- package/dist/delivery/delivery-monitor.d.ts +1 -1
- package/dist/delivery/delivery-monitor.js +1 -1
- package/dist/delivery/delivery-run-control.d.ts +6 -0
- package/dist/delivery/delivery-run-control.d.ts.map +1 -1
- package/dist/delivery/delivery-run-control.js +10 -0
- package/dist/delivery/delivery-run-control.js.map +1 -1
- package/dist/delivery/delivery-supervisor.d.ts.map +1 -1
- package/dist/delivery/delivery-supervisor.js +28 -4
- package/dist/delivery/delivery-supervisor.js.map +1 -1
- package/dist/delivery/delivery-tenant.d.ts +17 -0
- package/dist/delivery/delivery-tenant.d.ts.map +1 -0
- package/dist/delivery/delivery-tenant.js +50 -0
- package/dist/delivery/delivery-tenant.js.map +1 -0
- package/dist/delivery/delivery.d.ts +96 -2
- package/dist/delivery/delivery.d.ts.map +1 -1
- package/dist/delivery/delivery.js +693 -53
- package/dist/delivery/delivery.js.map +1 -1
- package/dist/delivery/inbox-records.d.ts.map +1 -1
- package/dist/delivery/inbox-records.js +9 -16
- package/dist/delivery/inbox-records.js.map +1 -1
- package/dist/delivery/inbox-storage.d.ts +6 -0
- package/dist/delivery/inbox-storage.d.ts.map +1 -1
- package/dist/delivery/inbox-storage.js +43 -6
- package/dist/delivery/inbox-storage.js.map +1 -1
- package/dist/delivery/inbox.d.ts.map +1 -1
- package/dist/delivery/inbox.js +3 -2
- package/dist/delivery/inbox.js.map +1 -1
- package/dist/delivery/reception-observation.d.ts +12 -4
- package/dist/delivery/reception-observation.d.ts.map +1 -1
- package/dist/delivery/reception-observation.js +14 -3
- package/dist/delivery/reception-observation.js.map +1 -1
- package/dist/delivery/sharded-work-registry.d.ts +6 -0
- package/dist/delivery/sharded-work-registry.d.ts.map +1 -1
- package/dist/delivery/sharded-work-registry.js +41 -4
- package/dist/delivery/sharded-work-registry.js.map +1 -1
- package/dist/entity/entity-storage-descriptor.d.ts.map +1 -1
- package/dist/entity/entity-storage-descriptor.js +7 -4
- package/dist/entity/entity-storage-descriptor.js.map +1 -1
- package/dist/entity/entity.d.ts +59 -0
- package/dist/entity/entity.d.ts.map +1 -1
- package/dist/entity/entity.js +60 -0
- package/dist/entity/entity.js.map +1 -1
- package/dist/handler/app-query-handler.d.ts +60 -0
- package/dist/handler/app-query-handler.d.ts.map +1 -0
- package/dist/{bus/saved-dispatcher-binding.js → handler/app-query-handler.js} +8 -12
- package/dist/handler/app-query-handler.js.map +1 -0
- package/dist/handler/generated-registry-discovery.d.ts +6 -0
- package/dist/handler/generated-registry-discovery.d.ts.map +1 -1
- package/dist/handler/generated-registry-discovery.js +71 -2
- package/dist/handler/generated-registry-discovery.js.map +1 -1
- package/dist/handler/handler-decorators.d.ts +8 -29
- package/dist/handler/handler-decorators.d.ts.map +1 -1
- package/dist/handler/handler-decorators.js +33 -210
- package/dist/handler/handler-decorators.js.map +1 -1
- package/dist/handler/spine-metadata-inventory.d.ts +99 -0
- package/dist/handler/spine-metadata-inventory.d.ts.map +1 -0
- package/dist/handler/spine-metadata-inventory.js +162 -0
- package/dist/handler/spine-metadata-inventory.js.map +1 -0
- package/dist/index.d.ts +9 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -3
- package/dist/index.js.map +1 -1
- package/dist/integration/external-messages.d.ts.map +1 -1
- package/dist/integration/external-messages.js +9 -15
- package/dist/integration/external-messages.js.map +1 -1
- package/dist/integration/integration-broker.d.ts.map +1 -1
- package/dist/integration/integration-broker.js +112 -6
- package/dist/integration/integration-broker.js.map +1 -1
- package/dist/integration/third-party-context.d.ts.map +1 -1
- package/dist/integration/third-party-context.js +7 -10
- package/dist/integration/third-party-context.js.map +1 -1
- package/dist/repository/primitive-id.js +26 -11
- package/dist/repository/primitive-id.js.map +1 -1
- package/dist/repository/repository.d.ts +75 -60
- package/dist/repository/repository.d.ts.map +1 -1
- package/dist/repository/repository.js +1757 -1818
- package/dist/repository/repository.js.map +1 -1
- package/dist/runtime/runtime.d.ts +13 -0
- package/dist/runtime/runtime.d.ts.map +1 -1
- package/dist/runtime/runtime.js +18 -0
- package/dist/runtime/runtime.js.map +1 -1
- package/dist/runtime/signal-metadata.d.ts.map +1 -1
- package/dist/runtime/signal-metadata.js +6 -6
- package/dist/runtime/signal-metadata.js.map +1 -1
- package/dist/runtime/signal-publisher.d.ts +0 -6
- package/dist/runtime/signal-publisher.d.ts.map +1 -1
- package/dist/runtime/signal-publisher.js +1 -9
- package/dist/runtime/signal-publisher.js.map +1 -1
- package/dist/runtime/standalone-handler-runtime.d.ts +0 -7
- package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
- package/dist/runtime/standalone-handler-runtime.js +13 -99
- package/dist/runtime/standalone-handler-runtime.js.map +1 -1
- package/dist/server/managed-delivery-gate.d.ts +34 -0
- package/dist/server/managed-delivery-gate.d.ts.map +1 -0
- package/dist/server/managed-delivery-gate.js +70 -0
- package/dist/server/managed-delivery-gate.js.map +1 -0
- package/dist/server/managed-server-application.d.ts +12 -11
- package/dist/server/managed-server-application.d.ts.map +1 -1
- package/dist/server/managed-server-application.js +48 -29
- package/dist/server/managed-server-application.js.map +1 -1
- package/dist/server/node-coordinator.d.ts +18 -5
- package/dist/server/node-coordinator.d.ts.map +1 -1
- package/dist/server/node-coordinator.js +554 -84
- package/dist/server/node-coordinator.js.map +1 -1
- package/dist/server/reserved-spine-rpc-paths.json +1 -0
- package/dist/server/server-environment.d.ts +220 -25
- package/dist/server/server-environment.d.ts.map +1 -1
- package/dist/server/server-environment.js +734 -145
- package/dist/server/server-environment.js.map +1 -1
- package/dist/server/server-log.d.ts +7 -0
- package/dist/server/server-log.d.ts.map +1 -1
- package/dist/server/server-log.js +14 -1
- package/dist/server/server-log.js.map +1 -1
- package/dist/server/server.d.ts +60 -29
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +155 -201
- package/dist/server/server.js.map +1 -1
- package/dist/services/app-query-execution.d.ts +53 -0
- package/dist/services/app-query-execution.d.ts.map +1 -0
- package/dist/services/app-query-execution.js +408 -0
- package/dist/services/app-query-execution.js.map +1 -0
- package/dist/services/query-reader.d.ts +32 -7
- package/dist/services/query-reader.d.ts.map +1 -1
- package/dist/services/query-reader.js +22 -2
- package/dist/services/query-reader.js.map +1 -1
- package/dist/services/read-request-status.d.ts +65 -0
- package/dist/services/read-request-status.d.ts.map +1 -0
- package/dist/services/read-request-status.js +151 -0
- package/dist/services/read-request-status.js.map +1 -0
- package/dist/services/spine-services.d.ts +37 -8
- package/dist/services/spine-services.d.ts.map +1 -1
- package/dist/services/spine-services.js +1103 -470
- package/dist/services/spine-services.js.map +1 -1
- package/dist/services/trusted-reader-ingress.d.ts +92 -0
- package/dist/services/trusted-reader-ingress.d.ts.map +1 -0
- package/dist/services/trusted-reader-ingress.js +89 -0
- package/dist/services/trusted-reader-ingress.js.map +1 -0
- package/dist/spi/handler-registry.d.ts +2 -0
- package/dist/spi/handler-registry.d.ts.map +1 -1
- package/dist/spi/handler-registry.js +1 -1
- package/dist/spi/handler-registry.js.map +1 -1
- package/dist/stand/event-origin-filter.js +3 -3
- package/dist/stand/event-origin-filter.js.map +1 -1
- package/dist/stand/read-side-filter-engine.d.ts +46 -0
- package/dist/stand/read-side-filter-engine.d.ts.map +1 -0
- package/dist/stand/read-side-filter-engine.js +356 -0
- package/dist/stand/read-side-filter-engine.js.map +1 -0
- package/dist/stand/read-side-filter.d.ts +247 -0
- package/dist/stand/read-side-filter.d.ts.map +1 -0
- package/dist/stand/read-side-filter.js +39 -0
- package/dist/stand/read-side-filter.js.map +1 -0
- package/dist/stand/read-side-message.d.ts +66 -0
- package/dist/stand/read-side-message.d.ts.map +1 -0
- package/dist/stand/read-side-message.js +167 -0
- package/dist/stand/read-side-message.js.map +1 -0
- package/dist/stand/stand-direct-delivery.d.ts +161 -0
- package/dist/stand/stand-direct-delivery.d.ts.map +1 -0
- package/dist/stand/stand-direct-delivery.js +210 -0
- package/dist/stand/stand-direct-delivery.js.map +1 -0
- package/dist/stand/stand.d.ts +94 -42
- package/dist/stand/stand.d.ts.map +1 -1
- package/dist/stand/stand.js +460 -60
- package/dist/stand/stand.js.map +1 -1
- package/dist/stand/subscription-observer.d.ts.map +1 -1
- package/dist/stand/subscription-observer.js +157 -40
- package/dist/stand/subscription-observer.js.map +1 -1
- package/dist/stand/subscription-read-filters.d.ts +40 -0
- package/dist/stand/subscription-read-filters.d.ts.map +1 -0
- package/dist/stand/subscription-read-filters.js +91 -0
- package/dist/stand/subscription-read-filters.js.map +1 -0
- package/dist/stand/subscription-reader-binding.d.ts +20 -0
- package/dist/stand/subscription-reader-binding.d.ts.map +1 -0
- package/dist/stand/subscription-reader-binding.js +56 -0
- package/dist/stand/subscription-reader-binding.js.map +1 -0
- package/dist/stand/subscription-records.d.ts +30 -3
- package/dist/stand/subscription-records.d.ts.map +1 -1
- package/dist/stand/subscription-records.js +61 -16
- package/dist/stand/subscription-records.js.map +1 -1
- package/dist/stand/subscription-registry.d.ts +54 -15
- package/dist/stand/subscription-registry.d.ts.map +1 -1
- package/dist/stand/subscription-registry.js +164 -41
- package/dist/stand/subscription-registry.js.map +1 -1
- package/dist/stand/subscription-runtime.d.ts +12 -5
- package/dist/stand/subscription-runtime.d.ts.map +1 -1
- package/dist/stand/subscription-runtime.js +183 -34
- package/dist/stand/subscription-runtime.js.map +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4 -3
- package/dist/testing/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -14
- package/dist/agent/agent-admission.d.ts +0 -80
- package/dist/agent/agent-admission.d.ts.map +0 -1
- package/dist/agent/agent-admission.js +0 -127
- package/dist/agent/agent-admission.js.map +0 -1
- package/dist/agent/agent-ai-runtime.d.ts +0 -76
- package/dist/agent/agent-ai-runtime.d.ts.map +0 -1
- package/dist/agent/agent-ai-runtime.js +0 -1269
- package/dist/agent/agent-ai-runtime.js.map +0 -1
- package/dist/agent/agent-execution-fault.d.ts +0 -18
- package/dist/agent/agent-execution-fault.d.ts.map +0 -1
- package/dist/agent/agent-execution-fault.js.map +0 -1
- package/dist/agent/agent-execution-session.d.ts +0 -103
- package/dist/agent/agent-execution-session.d.ts.map +0 -1
- package/dist/agent/agent-execution-session.js +0 -238
- package/dist/agent/agent-execution-session.js.map +0 -1
- package/dist/agent/agent-interaction-audit.d.ts +0 -58
- package/dist/agent/agent-interaction-audit.d.ts.map +0 -1
- package/dist/agent/agent-interaction-audit.js +0 -114
- package/dist/agent/agent-interaction-audit.js.map +0 -1
- package/dist/agent/agent-interaction-events.d.ts +0 -40
- package/dist/agent/agent-interaction-events.d.ts.map +0 -1
- package/dist/agent/agent-interaction-events.js +0 -129
- package/dist/agent/agent-interaction-events.js.map +0 -1
- package/dist/agent/agent-mcp-budget.d.ts +0 -125
- package/dist/agent/agent-mcp-budget.d.ts.map +0 -1
- package/dist/agent/agent-mcp-budget.js +0 -566
- package/dist/agent/agent-mcp-budget.js.map +0 -1
- package/dist/agent/agent-mcp-host.d.ts +0 -125
- package/dist/agent/agent-mcp-host.d.ts.map +0 -1
- package/dist/agent/agent-mcp-host.js.map +0 -1
- package/dist/agent/agent-mcp-runtime.d.ts.map +0 -1
- package/dist/agent/agent-mcp-runtime.js.map +0 -1
- package/dist/agent/agent-read-runtime.d.ts +0 -70
- package/dist/agent/agent-read-runtime.d.ts.map +0 -1
- package/dist/agent/agent-read-runtime.js +0 -320
- package/dist/agent/agent-read-runtime.js.map +0 -1
- package/dist/agent/agent-revisions.d.ts +0 -35
- package/dist/agent/agent-revisions.d.ts.map +0 -1
- package/dist/agent/agent-revisions.js +0 -133
- package/dist/agent/agent-revisions.js.map +0 -1
- package/dist/agent/agent-scheduler.d.ts +0 -99
- package/dist/agent/agent-scheduler.d.ts.map +0 -1
- package/dist/agent/agent-scheduler.js +0 -398
- package/dist/agent/agent-scheduler.js.map +0 -1
- package/dist/bus/saved-dispatcher-binding.d.ts +0 -53
- package/dist/bus/saved-dispatcher-binding.d.ts.map +0 -1
- package/dist/bus/saved-dispatcher-binding.js.map +0 -1
- package/dist/delivery/delivery-run-coordinator.d.ts +0 -218
- package/dist/delivery/delivery-run-coordinator.d.ts.map +0 -1
- package/dist/delivery/delivery-run-coordinator.js +0 -609
- package/dist/delivery/delivery-run-coordinator.js.map +0 -1
- package/dist/delivery/parked-delivery-obligations.d.ts +0 -182
- package/dist/delivery/parked-delivery-obligations.d.ts.map +0 -1
- package/dist/delivery/parked-delivery-obligations.js +0 -390
- package/dist/delivery/parked-delivery-obligations.js.map +0 -1
- package/dist/server/environment-attachment.d.ts +0 -356
- package/dist/server/environment-attachment.d.ts.map +0 -1
- package/dist/server/environment-attachment.js +0 -2062
- package/dist/server/environment-attachment.js.map +0 -1
- package/dist/server/environment-delivery-records.d.ts +0 -77
- package/dist/server/environment-delivery-records.d.ts.map +0 -1
- package/dist/server/environment-delivery-records.js +0 -282
- package/dist/server/environment-delivery-records.js.map +0 -1
- package/dist/server/environment-delivery-worker.d.ts +0 -161
- package/dist/server/environment-delivery-worker.d.ts.map +0 -1
- package/dist/server/environment-delivery-worker.js +0 -973
- package/dist/server/environment-delivery-worker.js.map +0 -1
package/dist/bus/command-bus.js
CHANGED
|
@@ -11,24 +11,22 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
-
import { clone, create } from "@bufbuild/protobuf";
|
|
15
|
-
import { ValidationException, Validate,
|
|
14
|
+
import { clone, create, equals } from "@bufbuild/protobuf";
|
|
15
|
+
import { ValidationException, Validate, AnyPacker, } from "@spine-event-engine/core";
|
|
16
16
|
import { CommandSchema } from "@spine-event-engine/proto";
|
|
17
|
-
import { AgentSavedDispatchPlanSchema as SavedPlanSchema, } from "@spine-event-engine/proto/generated/spine/server/agent/execution_record_pb.js";
|
|
18
17
|
import { runtimeAccess, ServerRuntimeStateError, SingleProcessServerRuntime, } from "../runtime/runtime.js";
|
|
19
18
|
import { CommandValidationError } from "./command-errors.js";
|
|
20
19
|
import { ImplicitRequiredIds } from "../entity/implicit-required-id.js";
|
|
21
20
|
import { CommandDispatcherRegistry } from "./command-dispatcher-registry.js";
|
|
22
|
-
import { SavedDispatcherBindings } from "./saved-dispatcher-binding.js";
|
|
23
21
|
const internalCommandPosters = new WeakMap();
|
|
24
22
|
const commandFollowUpPosters = new WeakMap();
|
|
25
|
-
const savedPreparers = new WeakMap();
|
|
26
|
-
const savedFollowUps = new WeakMap();
|
|
27
23
|
const commandBusCloseStarters = new WeakMap();
|
|
28
24
|
const commandBusDrainers = new WeakMap();
|
|
29
25
|
const commandBusCloseFinishers = new WeakMap();
|
|
30
26
|
const commandBusAborters = new WeakMap();
|
|
31
27
|
const commandBusWorkCounters = new WeakMap();
|
|
28
|
+
const commandBusRuntimes = new WeakMap();
|
|
29
|
+
const commandAdmissions = new WeakMap();
|
|
32
30
|
/**
|
|
33
31
|
* Small single-process unicast command bus.
|
|
34
32
|
*
|
|
@@ -49,10 +47,9 @@ export class CommandBus {
|
|
|
49
47
|
*/
|
|
50
48
|
constructor(dispatchers = []) {
|
|
51
49
|
this.#started = this.#runtime.start();
|
|
50
|
+
commandBusRuntimes.set(this, this.#runtime);
|
|
52
51
|
internalCommandPosters.set(this, (command) => this.#postInternal(command));
|
|
53
52
|
commandFollowUpPosters.set(this, (command) => this.#postInternalFollowUp(command));
|
|
54
|
-
savedPreparers.set(this, (command) => this.#prepareSaved(command));
|
|
55
|
-
savedFollowUps.set(this, (command, plan) => this.#postSavedFollowUp(command, plan));
|
|
56
53
|
commandBusCloseStarters.set(this, () => {
|
|
57
54
|
this.#beginClose();
|
|
58
55
|
});
|
|
@@ -113,6 +110,9 @@ export class CommandBus {
|
|
|
113
110
|
this.#closed ??= this.#closeOnce();
|
|
114
111
|
return this.#closed;
|
|
115
112
|
}
|
|
113
|
+
/**
|
|
114
|
+
* Clones and queues an internal command while the bus can still accept work.
|
|
115
|
+
*/
|
|
116
116
|
#postInternal(command) {
|
|
117
117
|
const accepted = clone(CommandSchema, command);
|
|
118
118
|
if (this.#intakeState === "closed") {
|
|
@@ -120,6 +120,9 @@ export class CommandBus {
|
|
|
120
120
|
}
|
|
121
121
|
return this.#enqueueAccepted(accepted);
|
|
122
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Queues an internal follow-up in the runtime lane reserved for accepted work during close.
|
|
125
|
+
*/
|
|
123
126
|
#postInternalFollowUp(command) {
|
|
124
127
|
const accepted = clone(CommandSchema, command);
|
|
125
128
|
if (this.#intakeState === "closed") {
|
|
@@ -128,78 +131,88 @@ export class CommandBus {
|
|
|
128
131
|
this.#acceptedWorkCount++;
|
|
129
132
|
return this.#started.then(() => runtimeAccess.enqueueFollowUp(this.#runtime, () => this.#dispatch(accepted)));
|
|
130
133
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (binding === undefined)
|
|
135
|
-
throw new Error("Saved Agent Command matches a dispatcher without durable metadata.");
|
|
136
|
-
return create(SavedPlanSchema, {
|
|
137
|
-
targets: [await binding.prepare(clone(CommandSchema, command))],
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
#postSavedFollowUp(command, plan) {
|
|
141
|
-
const accepted = clone(CommandSchema, command);
|
|
142
|
-
const frozen = clone(SavedPlanSchema, plan);
|
|
143
|
-
if (this.#intakeState === "closed")
|
|
144
|
-
return Promise.reject(new ServerRuntimeStateError("enqueue", "closed"));
|
|
145
|
-
this.#acceptedWorkCount++;
|
|
146
|
-
return this.#started.then(() => runtimeAccess.enqueueFollowUp(this.#runtime, () => this.#dispatchSaved(accepted, frozen)));
|
|
147
|
-
}
|
|
148
|
-
async #dispatchSaved(command, plan) {
|
|
149
|
-
const dispatcher = this.#checkedDispatcher(command);
|
|
150
|
-
const target = plan.targets[0];
|
|
151
|
-
const binding = SavedDispatcherBindings.forCommand(dispatcher);
|
|
152
|
-
if (plan.targets.length !== 1 || target === undefined || !binding?.matches(target))
|
|
153
|
-
throw new Error("Saved Agent Command dispatcher binding changed before delivery.");
|
|
154
|
-
const deliver = await binding.bind(clone(CommandSchema, command), target);
|
|
155
|
-
await deliver();
|
|
156
|
-
}
|
|
134
|
+
/**
|
|
135
|
+
* Counts and schedules a command already accepted by the bus.
|
|
136
|
+
*/
|
|
157
137
|
#enqueueAccepted(command) {
|
|
158
138
|
this.#acceptedWorkCount++;
|
|
159
139
|
return this.#started.then(() => this.#runtime.enqueue(() => this.#dispatch(command)));
|
|
160
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Moves command intake from open to closing.
|
|
143
|
+
*/
|
|
161
144
|
#beginClose() {
|
|
162
145
|
if (this.#intakeState === "open") {
|
|
163
146
|
this.#intakeState = "closing";
|
|
164
147
|
}
|
|
165
148
|
}
|
|
149
|
+
/**
|
|
150
|
+
* Waits for the runtime queue to finish accepted dispatches.
|
|
151
|
+
*/
|
|
166
152
|
#drain() {
|
|
167
153
|
return this.#started.then(() => runtimeAccess.drain(this.#runtime));
|
|
168
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Completes or reuses the bus close operation.
|
|
157
|
+
*/
|
|
169
158
|
#finishClose() {
|
|
170
159
|
this.#closed ??= this.#closeOnce();
|
|
171
160
|
return this.#closed;
|
|
172
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* Forces intake closed and starts best-effort runtime shutdown.
|
|
164
|
+
*/
|
|
173
165
|
#abortClose() {
|
|
174
166
|
this.#beginClose();
|
|
175
167
|
void this.#started.then(() => this.#runtime.close()).catch(() => undefined);
|
|
176
168
|
this.#intakeState = "closed";
|
|
177
169
|
}
|
|
170
|
+
/**
|
|
171
|
+
* Closes intake, waits for startup, then closes the command runtime.
|
|
172
|
+
*/
|
|
178
173
|
async #closeOnce() {
|
|
179
174
|
this.#beginClose();
|
|
180
175
|
await this.#started;
|
|
181
176
|
await this.#runtime.close();
|
|
182
177
|
this.#intakeState = "closed";
|
|
183
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Checks tenant admission and dispatches a validated command.
|
|
181
|
+
*/
|
|
184
182
|
async #dispatch(command) {
|
|
185
|
-
|
|
183
|
+
const dispatcher = this.#checkedDispatcher(command);
|
|
184
|
+
await commandAdmissions.get(this)?.(command);
|
|
185
|
+
await dispatcher.dispatch(command);
|
|
186
186
|
}
|
|
187
|
+
/**
|
|
188
|
+
* Validates the command envelope and payload, then resolves its registered dispatcher.
|
|
189
|
+
*/
|
|
187
190
|
#checkedDispatcher(command) {
|
|
191
|
+
CommandValidationError.checkEnvelope(command);
|
|
188
192
|
const packed = command.message;
|
|
189
|
-
if (packed === undefined || packed.typeUrl === "") {
|
|
190
|
-
throw new Error("CommandBus requires command.message.typeUrl.");
|
|
191
|
-
}
|
|
192
193
|
const typeUrl = packed.typeUrl;
|
|
193
194
|
const registration = this.#registry.find(typeUrl);
|
|
194
195
|
if (registration === undefined) {
|
|
195
196
|
throw new Error(`No command dispatcher registered for "${typeUrl}".`);
|
|
196
197
|
}
|
|
197
|
-
|
|
198
|
+
this.#validatePayload(packed, registration.schema);
|
|
199
|
+
return registration.dispatcher;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Checks a decoded domain Command against its schema and implicit ID rule.
|
|
203
|
+
* @param packed Packed domain Command message.
|
|
204
|
+
* @param schema Registered domain Command schema.
|
|
205
|
+
*/
|
|
206
|
+
#validatePayload(packed, schema) {
|
|
207
|
+
const message = AnyPacker.tryUnpack(packed, schema);
|
|
198
208
|
if (message === undefined) {
|
|
199
209
|
throw CommandValidationError.invalidPayload();
|
|
200
210
|
}
|
|
211
|
+
if (equals(schema, message, create(schema))) {
|
|
212
|
+
throw CommandValidationError.invalidEnvelope(["message"], "Non-default command message must be set.");
|
|
213
|
+
}
|
|
201
214
|
try {
|
|
202
|
-
Validate.check(
|
|
215
|
+
Validate.check(schema, message);
|
|
203
216
|
}
|
|
204
217
|
catch (error) {
|
|
205
218
|
if (error instanceof ValidationException) {
|
|
@@ -207,11 +220,10 @@ export class CommandBus {
|
|
|
207
220
|
}
|
|
208
221
|
throw error;
|
|
209
222
|
}
|
|
210
|
-
const implicitId = ImplicitRequiredIds.validateCommand(
|
|
223
|
+
const implicitId = ImplicitRequiredIds.validateCommand(schema, message);
|
|
211
224
|
if (!implicitId.valid) {
|
|
212
225
|
throw new CommandValidationError(implicitId.error);
|
|
213
226
|
}
|
|
214
|
-
return registration.dispatcher;
|
|
215
227
|
}
|
|
216
228
|
}
|
|
217
229
|
/**
|
|
@@ -220,6 +232,31 @@ export class CommandBus {
|
|
|
220
232
|
* @internal
|
|
221
233
|
*/
|
|
222
234
|
export const commandBusAccess = Object.freeze({
|
|
235
|
+
/**
|
|
236
|
+
* Binds the private queue to its framework context's captured environment.
|
|
237
|
+
* @param commandBus Framework context bus.
|
|
238
|
+
* @param environment Exact environment containing the context.
|
|
239
|
+
*/
|
|
240
|
+
bindEnvironment(commandBus, environment) {
|
|
241
|
+
const runtime = commandBusRuntimes.get(commandBus);
|
|
242
|
+
if (runtime === undefined)
|
|
243
|
+
throw new TypeError("Framework binding requires a CommandBus instance.");
|
|
244
|
+
runtimeAccess.bindFrameworkEnvironment(runtime, environment);
|
|
245
|
+
},
|
|
246
|
+
/**
|
|
247
|
+
* Sets the context's live Command tenant check.
|
|
248
|
+
*
|
|
249
|
+
* @param commandBus Context command bus.
|
|
250
|
+
* @param onAdmit Checks current membership.
|
|
251
|
+
*/
|
|
252
|
+
setAdmission(commandBus, onAdmit) {
|
|
253
|
+
if (!commandBusWorkCounters.has(commandBus))
|
|
254
|
+
throw new TypeError("Command admission requires a CommandBus instance.");
|
|
255
|
+
commandAdmissions.set(commandBus, onAdmit);
|
|
256
|
+
},
|
|
257
|
+
/**
|
|
258
|
+
* Posts a framework-generated command through the bus internal admission path.
|
|
259
|
+
*/
|
|
223
260
|
postInternal(commandBus, command) {
|
|
224
261
|
const postInternal = internalCommandPosters.get(commandBus);
|
|
225
262
|
if (postInternal === undefined) {
|
|
@@ -227,6 +264,9 @@ export const commandBusAccess = Object.freeze({
|
|
|
227
264
|
}
|
|
228
265
|
return postInternal(command);
|
|
229
266
|
},
|
|
267
|
+
/**
|
|
268
|
+
* Posts a framework follow-up that may run while accepted work is draining.
|
|
269
|
+
*/
|
|
230
270
|
postInternalFollowUp(commandBus, command) {
|
|
231
271
|
const post = commandFollowUpPosters.get(commandBus);
|
|
232
272
|
if (post === undefined) {
|
|
@@ -234,18 +274,9 @@ export const commandBusAccess = Object.freeze({
|
|
|
234
274
|
}
|
|
235
275
|
return post(command);
|
|
236
276
|
},
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
throw new TypeError("Saved Command preparation requires a CommandBus.");
|
|
241
|
-
return prepare(command);
|
|
242
|
-
},
|
|
243
|
-
postSavedFollowUp(commandBus, command, plan) {
|
|
244
|
-
const post = savedFollowUps.get(commandBus);
|
|
245
|
-
if (post === undefined)
|
|
246
|
-
throw new TypeError("Saved Command delivery requires a CommandBus.");
|
|
247
|
-
return post(command, plan);
|
|
248
|
-
},
|
|
277
|
+
/**
|
|
278
|
+
* Stops external command intake for coordinated context shutdown.
|
|
279
|
+
*/
|
|
249
280
|
beginClose(commandBus) {
|
|
250
281
|
const beginClose = commandBusCloseStarters.get(commandBus);
|
|
251
282
|
if (beginClose === undefined) {
|
|
@@ -253,6 +284,9 @@ export const commandBusAccess = Object.freeze({
|
|
|
253
284
|
}
|
|
254
285
|
beginClose();
|
|
255
286
|
},
|
|
287
|
+
/**
|
|
288
|
+
* Waits until commands already accepted by this bus complete.
|
|
289
|
+
*/
|
|
256
290
|
drain(commandBus) {
|
|
257
291
|
const drain = commandBusDrainers.get(commandBus);
|
|
258
292
|
if (drain === undefined) {
|
|
@@ -260,6 +294,9 @@ export const commandBusAccess = Object.freeze({
|
|
|
260
294
|
}
|
|
261
295
|
return drain();
|
|
262
296
|
},
|
|
297
|
+
/**
|
|
298
|
+
* Finishes closing the command runtime.
|
|
299
|
+
*/
|
|
263
300
|
finishClose(commandBus) {
|
|
264
301
|
const finishClose = commandBusCloseFinishers.get(commandBus);
|
|
265
302
|
if (finishClose === undefined) {
|
|
@@ -267,6 +304,9 @@ export const commandBusAccess = Object.freeze({
|
|
|
267
304
|
}
|
|
268
305
|
return finishClose();
|
|
269
306
|
},
|
|
307
|
+
/**
|
|
308
|
+
* Aborts close coordination and makes the bus terminal.
|
|
309
|
+
*/
|
|
270
310
|
abortClose(commandBus) {
|
|
271
311
|
const abortClose = commandBusAborters.get(commandBus);
|
|
272
312
|
if (abortClose === undefined) {
|
|
@@ -274,6 +314,9 @@ export const commandBusAccess = Object.freeze({
|
|
|
274
314
|
}
|
|
275
315
|
abortClose();
|
|
276
316
|
},
|
|
317
|
+
/**
|
|
318
|
+
* Returns the count of accepted command dispatches still in progress.
|
|
319
|
+
*/
|
|
277
320
|
acceptedWorkCount(commandBus) {
|
|
278
321
|
const acceptedWorkCount = commandBusWorkCounters.get(commandBus);
|
|
279
322
|
if (acceptedWorkCount === undefined) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-bus.js","sourceRoot":"","sources":["../../src/bus/command-bus.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"command-bus.js","sourceRoot":"","sources":["../../src/bus/command-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Any } from "@bufbuild/protobuf/wkt";
|
|
2
|
+
import { type ValidationError, type Command } from "@spine-event-engine/proto";
|
|
2
3
|
/**
|
|
3
|
-
* Error raised when a command envelope payload fails command-bus validation.
|
|
4
|
+
* Error raised when a command envelope or payload fails command-bus validation.
|
|
4
5
|
*/
|
|
5
6
|
export declare class CommandValidationError extends Error {
|
|
6
7
|
/**
|
|
7
|
-
* Structured
|
|
8
|
+
* Structured validation details from the command-bus boundary.
|
|
8
9
|
*/
|
|
9
10
|
readonly validationError: ValidationError;
|
|
10
11
|
/**
|
|
11
12
|
* Creates a command-bus validation error with structured details.
|
|
12
13
|
*
|
|
13
|
-
* @param validationError
|
|
14
|
+
* @param validationError Structured Command envelope or payload validation details.
|
|
14
15
|
*/
|
|
15
16
|
constructor(validationError: ValidationError);
|
|
16
17
|
/**
|
|
@@ -19,5 +20,20 @@ export declare class CommandValidationError extends Error {
|
|
|
19
20
|
* @returns the invalid-payload error.
|
|
20
21
|
*/
|
|
21
22
|
static invalidPayload(): CommandValidationError;
|
|
23
|
+
/**
|
|
24
|
+
* Creates a field-addressed validation error for an incomplete Command envelope.
|
|
25
|
+
* @param path Proto field path from the Command envelope.
|
|
26
|
+
* @param message Developer-readable validation message.
|
|
27
|
+
* @returns The invalid-envelope error.
|
|
28
|
+
*/
|
|
29
|
+
static invalidEnvelope(path: string[], message: string): CommandValidationError;
|
|
30
|
+
/**
|
|
31
|
+
* Rejects absent/default Command envelope fields and declared constraints.
|
|
32
|
+
* @param command Command to inspect before route admission or dispatch.
|
|
33
|
+
* @throws CommandValidationError for invalid input, or Error for validator failure.
|
|
34
|
+
*/
|
|
35
|
+
static checkEnvelope(command: Command): asserts command is Command & {
|
|
36
|
+
message: Any;
|
|
37
|
+
};
|
|
22
38
|
}
|
|
23
39
|
//# sourceMappingURL=command-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-errors.d.ts","sourceRoot":"","sources":["../../src/bus/command-errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"command-errors.d.ts","sourceRoot":"","sources":["../../src/bus/command-errors.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,wBAAwB,CAAC;AAElD,OAAO,EAML,KAAK,eAAe,EACpB,KAAK,OAAO,EACb,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,KAAK;IAG/C;;OAEG;IACH,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAE1C;;;;OAIG;gBACS,eAAe,EAAE,eAAe;IAO5C;;;;OAIG;IACH,MAAM,CAAC,cAAc,IAAI,sBAAsB;IAY/C;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,sBAAsB;IAY/E;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,GAAG;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE;CA0BtF"}
|
|
@@ -11,25 +11,25 @@
|
|
|
11
11
|
* or implied. See the License for the specific language governing permissions and limitations under
|
|
12
12
|
* the License.
|
|
13
13
|
*/
|
|
14
|
-
import { create } from "@bufbuild/protobuf";
|
|
15
|
-
import { Validate } from "@spine-event-engine/core";
|
|
16
|
-
import { ConstraintViolationSchema, TemplateStringSchema, } from "@spine-event-engine/proto";
|
|
14
|
+
import { create, equals } from "@bufbuild/protobuf";
|
|
15
|
+
import { ValidationException, Validate } from "@spine-event-engine/core";
|
|
16
|
+
import { CommandContextSchema, CommandSchema, ConstraintViolationSchema, FieldPathSchema, TemplateStringSchema, } from "@spine-event-engine/proto";
|
|
17
17
|
/**
|
|
18
|
-
* Error raised when a command envelope payload fails command-bus validation.
|
|
18
|
+
* Error raised when a command envelope or payload fails command-bus validation.
|
|
19
19
|
*/
|
|
20
20
|
export class CommandValidationError extends Error {
|
|
21
21
|
// prettier-ignore
|
|
22
22
|
/**
|
|
23
|
-
* Structured
|
|
23
|
+
* Structured validation details from the command-bus boundary.
|
|
24
24
|
*/
|
|
25
25
|
validationError;
|
|
26
26
|
/**
|
|
27
27
|
* Creates a command-bus validation error with structured details.
|
|
28
28
|
*
|
|
29
|
-
* @param validationError
|
|
29
|
+
* @param validationError Structured Command envelope or payload validation details.
|
|
30
30
|
*/
|
|
31
31
|
constructor(validationError) {
|
|
32
|
-
super("Command
|
|
32
|
+
super("Command validation failed.");
|
|
33
33
|
this.name = "CommandValidationError";
|
|
34
34
|
this.validationError = validationError;
|
|
35
35
|
Object.setPrototypeOf(this, new.target.prototype);
|
|
@@ -48,5 +48,45 @@ export class CommandValidationError extends Error {
|
|
|
48
48
|
}),
|
|
49
49
|
]));
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* Creates a field-addressed validation error for an incomplete Command envelope.
|
|
53
|
+
* @param path Proto field path from the Command envelope.
|
|
54
|
+
* @param message Developer-readable validation message.
|
|
55
|
+
* @returns The invalid-envelope error.
|
|
56
|
+
*/
|
|
57
|
+
static invalidEnvelope(path, message) {
|
|
58
|
+
return new CommandValidationError(Validate.createError([
|
|
59
|
+
create(ConstraintViolationSchema, {
|
|
60
|
+
typeName: "spine.core.Command",
|
|
61
|
+
fieldPath: create(FieldPathSchema, { fieldName: path }),
|
|
62
|
+
message: create(TemplateStringSchema, { withPlaceholders: message }),
|
|
63
|
+
}),
|
|
64
|
+
]));
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Rejects absent/default Command envelope fields and declared constraints.
|
|
68
|
+
* @param command Command to inspect before route admission or dispatch.
|
|
69
|
+
* @throws CommandValidationError for invalid input, or Error for validator failure.
|
|
70
|
+
*/
|
|
71
|
+
static checkEnvelope(command) {
|
|
72
|
+
if (!command.id?.uuid) {
|
|
73
|
+
throw CommandValidationError.invalidEnvelope(["id", "uuid"], "Command ID cannot be empty.");
|
|
74
|
+
}
|
|
75
|
+
if (!command.message?.typeUrl) {
|
|
76
|
+
throw CommandValidationError.invalidEnvelope(["message"], "CommandBus requires command.message.typeUrl.");
|
|
77
|
+
}
|
|
78
|
+
if (command.context === undefined ||
|
|
79
|
+
equals(CommandContextSchema, command.context, create(CommandContextSchema))) {
|
|
80
|
+
throw CommandValidationError.invalidEnvelope(["context"], "Non-default command context must be set.");
|
|
81
|
+
}
|
|
82
|
+
try {
|
|
83
|
+
Validate.check(CommandSchema, command);
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
if (error instanceof ValidationException)
|
|
87
|
+
throw new CommandValidationError(error.asMessage());
|
|
88
|
+
throw error;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
51
91
|
}
|
|
52
92
|
//# sourceMappingURL=command-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-errors.js","sourceRoot":"","sources":["../../src/bus/command-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"command-errors.js","sourceRoot":"","sources":["../../src/bus/command-errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,eAAe,EACf,oBAAoB,GAGrB,MAAM,2BAA2B,CAAC;AAEnC;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC/C,kBAAkB;IAElB;;OAEG;IACM,eAAe,CAAkB;IAE1C;;;;OAIG;IACH,YAAY,eAAgC;QAC1C,KAAK,CAAC,4BAA4B,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,cAAc;QACnB,OAAO,IAAI,sBAAsB,CAC/B,QAAQ,CAAC,WAAW,CAAC;YACnB,MAAM,CAAC,yBAAyB,EAAE;gBAChC,OAAO,EAAE,MAAM,CAAC,oBAAoB,EAAE;oBACpC,gBAAgB,EAAE,8DAA8D;iBACjF,CAAC;aACH,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,eAAe,CAAC,IAAc,EAAE,OAAe;QACpD,OAAO,IAAI,sBAAsB,CAC/B,QAAQ,CAAC,WAAW,CAAC;YACnB,MAAM,CAAC,yBAAyB,EAAE;gBAChC,QAAQ,EAAE,oBAAoB;gBAC9B,SAAS,EAAE,MAAM,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gBACvD,OAAO,EAAE,MAAM,CAAC,oBAAoB,EAAE,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;aACrE,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,aAAa,CAAC,OAAgB;QACnC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC;YACtB,MAAM,sBAAsB,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,6BAA6B,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC;YAC9B,MAAM,sBAAsB,CAAC,eAAe,CAC1C,CAAC,SAAS,CAAC,EACX,8CAA8C,CAC/C,CAAC;QACJ,CAAC;QACD,IACE,OAAO,CAAC,OAAO,KAAK,SAAS;YAC7B,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAC3E,CAAC;YACD,MAAM,sBAAsB,CAAC,eAAe,CAC1C,CAAC,SAAS,CAAC,EACX,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,mBAAmB;gBAAE,MAAM,IAAI,sBAAsB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC9F,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
package/dist/bus/event-bus.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { type MessageSchema } from "@spine-event-engine/core";
|
|
|
2
2
|
import { type Event } from "@spine-event-engine/proto";
|
|
3
3
|
import type { EventStore } from "@spine-event-engine/storage";
|
|
4
4
|
import type { ILogLayer } from "loglayer";
|
|
5
|
+
import type { ServerEnvironment } from "../server/server-environment.js";
|
|
5
6
|
import type { EventDispatcher } from "./event-dispatcher.js";
|
|
6
7
|
/**
|
|
7
8
|
* Checks whether a schema defines a framework System Event, including Agent interactions.
|
|
@@ -10,7 +11,23 @@ import type { EventDispatcher } from "./event-dispatcher.js";
|
|
|
10
11
|
* @returns Whether the Event belongs to the System bus.
|
|
11
12
|
*/
|
|
12
13
|
export declare const isSystemEventSchema: (schema: MessageSchema) => boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Defines package-private EventBus assembly, posting, subscription, schema, logging, and close operations.
|
|
16
|
+
*/
|
|
13
17
|
interface EventBusAccess {
|
|
18
|
+
/**
|
|
19
|
+
* Binds this context bus's private runtime to its captured environment.
|
|
20
|
+
* @param eventBus Framework context bus.
|
|
21
|
+
* @param environment Exact environment containing the context.
|
|
22
|
+
*/
|
|
23
|
+
bindEnvironment(eventBus: EventBus, environment: ServerEnvironment): void;
|
|
24
|
+
/**
|
|
25
|
+
* Sets receiving-context admission before Event storage or dispatch.
|
|
26
|
+
*
|
|
27
|
+
* @param eventBus Context Event bus.
|
|
28
|
+
* @param onAdmit Checks current tenant membership.
|
|
29
|
+
*/
|
|
30
|
+
setAdmission(eventBus: EventBus, onAdmit: (event: Event) => Promise<void>): void;
|
|
14
31
|
/**
|
|
15
32
|
* Creates a package-internal bus without an event store.
|
|
16
33
|
*
|
|
@@ -163,14 +180,13 @@ export declare class EventBus {
|
|
|
163
180
|
*/
|
|
164
181
|
post(event: Event): Promise<void>;
|
|
165
182
|
/**
|
|
166
|
-
* Stops accepting new event work, drains accepted work, and closes
|
|
183
|
+
* Stops accepting new event work, drains accepted work, and closes its event store.
|
|
167
184
|
*
|
|
168
185
|
* Close is idempotent and returns the same close outcome on repeated calls.
|
|
169
|
-
* Runtime and event-store close hooks are both
|
|
170
|
-
* an `AggregateError
|
|
186
|
+
* Runtime and event-store close hooks are both awaited; failures reject as
|
|
187
|
+
* an `AggregateError` after both cleanup attempts.
|
|
171
188
|
*
|
|
172
189
|
* @returns A promise that settles after the event bus closes.
|
|
173
|
-
*
|
|
174
190
|
*/
|
|
175
191
|
close(): Promise<void>;
|
|
176
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/bus/event-bus.ts"],"names":[],"mappings":"AAeA,OAAO,
|
|
1
|
+
{"version":3,"file":"event-bus.d.ts","sourceRoot":"","sources":["../../src/bus/event-bus.ts"],"names":[],"mappings":"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"}
|