@adonis-agora/durable 0.49.1 → 0.51.0
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/CHANGELOG.md +279 -0
- package/README.md +53 -22
- package/dist/assets/spa/assets/index-DupjrK7N.js +16 -0
- package/dist/assets/spa/assets/index-DupjrK7N.js.map +1 -0
- package/dist/assets/spa/index.html +1 -1
- package/dist/commands/durable_worker.d.ts.map +1 -1
- package/dist/commands/durable_worker.js +9 -8
- package/dist/commands/durable_worker.js.map +1 -1
- package/dist/commands/work.d.ts.map +1 -1
- package/dist/commands/work.js +3 -1
- package/dist/commands/work.js.map +1 -1
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +1 -0
- package/dist/configure.js.map +1 -1
- package/dist/providers/dashboard_provider.d.ts +2 -0
- package/dist/providers/dashboard_provider.d.ts.map +1 -1
- package/dist/providers/dashboard_provider.js +50 -6
- package/dist/providers/dashboard_provider.js.map +1 -1
- package/dist/providers/durable_provider.d.ts.map +1 -1
- package/dist/providers/durable_provider.js +146 -35
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/admission-redis/redis-admission-backend.d.ts.map +1 -1
- package/dist/src/admission-redis/redis-admission-backend.js +3 -1
- package/dist/src/admission-redis/redis-admission-backend.js.map +1 -1
- package/dist/src/ambient-step.d.ts +24 -0
- package/dist/src/ambient-step.d.ts.map +1 -0
- package/dist/src/ambient-step.js +42 -0
- package/dist/src/ambient-step.js.map +1 -0
- package/dist/src/base-workflow.d.ts +10 -1
- package/dist/src/base-workflow.d.ts.map +1 -1
- package/dist/src/base-workflow.js.map +1 -1
- package/dist/src/codec-state-store.d.ts +28 -2
- package/dist/src/codec-state-store.d.ts.map +1 -1
- package/dist/src/codec-state-store.js +61 -3
- package/dist/src/codec-state-store.js.map +1 -1
- package/dist/src/commands/worker.d.ts +8 -3
- package/dist/src/commands/worker.d.ts.map +1 -1
- package/dist/src/commands/worker.js +35 -8
- package/dist/src/commands/worker.js.map +1 -1
- package/dist/src/config_types.d.ts +6 -0
- package/dist/src/config_types.d.ts.map +1 -1
- package/dist/src/control-plane-redis/redis-control-plane.d.ts.map +1 -1
- package/dist/src/control-plane-redis/redis-control-plane.js +22 -6
- package/dist/src/control-plane-redis/redis-control-plane.js.map +1 -1
- package/dist/src/control-planes/factory.d.ts +6 -0
- package/dist/src/control-planes/factory.d.ts.map +1 -1
- package/dist/src/control-planes/factory.js +1 -0
- package/dist/src/control-planes/factory.js.map +1 -1
- package/dist/src/dashboard/gateway-adapter.d.ts +15 -5
- package/dist/src/dashboard/gateway-adapter.d.ts.map +1 -1
- package/dist/src/dashboard/gateway-adapter.js +71 -7
- package/dist/src/dashboard/gateway-adapter.js.map +1 -1
- package/dist/src/dashboard/handlers.d.ts +53 -1
- package/dist/src/dashboard/handlers.d.ts.map +1 -1
- package/dist/src/dashboard/handlers.js +200 -20
- package/dist/src/dashboard/handlers.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +2 -2
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/index.js +2 -2
- package/dist/src/dashboard/index.js.map +1 -1
- package/dist/src/dashboard/openapi.d.ts.map +1 -1
- package/dist/src/dashboard/openapi.js +71 -1
- package/dist/src/dashboard/openapi.js.map +1 -1
- package/dist/src/define_config.d.ts +122 -8
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/diagnostics-bridge.d.ts +16 -3
- package/dist/src/diagnostics-bridge.d.ts.map +1 -1
- package/dist/src/diagnostics-bridge.js +9 -3
- package/dist/src/diagnostics-bridge.js.map +1 -1
- package/dist/src/discovery-roots.d.ts +92 -0
- package/dist/src/discovery-roots.d.ts.map +1 -0
- package/dist/src/discovery-roots.js +150 -0
- package/dist/src/discovery-roots.js.map +1 -0
- package/dist/src/engine.d.ts +428 -21
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +1566 -164
- package/dist/src/engine.js.map +1 -1
- package/dist/src/entities.d.ts +36 -1
- package/dist/src/entities.d.ts.map +1 -1
- package/dist/src/entities.js +65 -4
- package/dist/src/entities.js.map +1 -1
- package/dist/src/errors.d.ts +46 -0
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +48 -0
- package/dist/src/errors.js.map +1 -1
- package/dist/src/event-trigger-bridge.d.ts +8 -0
- package/dist/src/event-trigger-bridge.d.ts.map +1 -1
- package/dist/src/event-trigger-bridge.js +24 -3
- package/dist/src/event-trigger-bridge.js.map +1 -1
- package/dist/src/handshake/announced.d.ts +27 -0
- package/dist/src/handshake/announced.d.ts.map +1 -1
- package/dist/src/handshake/announced.js +62 -0
- package/dist/src/handshake/announced.js.map +1 -1
- package/dist/src/handshake/directory.d.ts +92 -0
- package/dist/src/handshake/directory.d.ts.map +1 -0
- package/dist/src/handshake/directory.js +139 -0
- package/dist/src/handshake/directory.js.map +1 -0
- package/dist/src/hooks/barrel-sources.d.ts +28 -0
- package/dist/src/hooks/barrel-sources.d.ts.map +1 -0
- package/dist/src/hooks/barrel-sources.js +92 -0
- package/dist/src/hooks/barrel-sources.js.map +1 -0
- package/dist/src/hooks/steps.d.ts +12 -3
- package/dist/src/hooks/steps.d.ts.map +1 -1
- package/dist/src/hooks/steps.js +7 -11
- package/dist/src/hooks/steps.js.map +1 -1
- package/dist/src/hooks/workflows.d.ts +12 -3
- package/dist/src/hooks/workflows.d.ts.map +1 -1
- package/dist/src/hooks/workflows.js +7 -13
- package/dist/src/hooks/workflows.js.map +1 -1
- package/dist/src/index.d.ts +12 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +12 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.d.ts +309 -21
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/interfaces.js +10 -0
- package/dist/src/interfaces.js.map +1 -1
- package/dist/src/metrics.d.ts.map +1 -1
- package/dist/src/metrics.js +5 -0
- package/dist/src/metrics.js.map +1 -1
- package/dist/src/namespaces.d.ts +17 -0
- package/dist/src/namespaces.d.ts.map +1 -0
- package/dist/src/namespaces.js +24 -0
- package/dist/src/namespaces.js.map +1 -0
- package/dist/src/on-error.d.ts +4 -1
- package/dist/src/on-error.d.ts.map +1 -1
- package/dist/src/on-error.js +15 -2
- package/dist/src/on-error.js.map +1 -1
- package/dist/src/otel/durable-metrics.d.ts.map +1 -1
- package/dist/src/otel/durable-metrics.js +5 -0
- package/dist/src/otel/durable-metrics.js.map +1 -1
- package/dist/src/otel/durable-otel.d.ts.map +1 -1
- package/dist/src/otel/durable-otel.js +5 -0
- package/dist/src/otel/durable-otel.js.map +1 -1
- package/dist/src/pollers.d.ts +10 -1
- package/dist/src/pollers.d.ts.map +1 -1
- package/dist/src/pollers.js +15 -5
- package/dist/src/pollers.js.map +1 -1
- package/dist/src/protocol.d.ts +12 -0
- package/dist/src/protocol.d.ts.map +1 -1
- package/dist/src/protocol.js +27 -1
- package/dist/src/protocol.js.map +1 -1
- package/dist/src/remote-event.d.ts +6 -0
- package/dist/src/remote-event.d.ts.map +1 -0
- package/dist/src/remote-event.js +19 -0
- package/dist/src/remote-event.js.map +1 -0
- package/dist/src/remote-workflow-executor.d.ts +34 -12
- package/dist/src/remote-workflow-executor.d.ts.map +1 -1
- package/dist/src/remote-workflow-executor.js +42 -40
- package/dist/src/remote-workflow-executor.js.map +1 -1
- package/dist/src/run-detail-summary.d.ts +90 -3
- package/dist/src/run-detail-summary.d.ts.map +1 -1
- package/dist/src/run-detail-summary.js +360 -2
- package/dist/src/run-detail-summary.js.map +1 -1
- package/dist/src/run-facets.d.ts +48 -0
- package/dist/src/run-facets.d.ts.map +1 -0
- package/dist/src/run-facets.js +100 -0
- package/dist/src/run-facets.js.map +1 -0
- package/dist/src/run-gateway/interface.d.ts +27 -1
- package/dist/src/run-gateway/interface.d.ts.map +1 -1
- package/dist/src/run-gateway/proxy-run-gateway.d.ts +32 -4
- package/dist/src/run-gateway/proxy-run-gateway.d.ts.map +1 -1
- package/dist/src/run-gateway/proxy-run-gateway.js +101 -5
- package/dist/src/run-gateway/proxy-run-gateway.js.map +1 -1
- package/dist/src/run-gateway/run-request-responder.d.ts +18 -5
- package/dist/src/run-gateway/run-request-responder.d.ts.map +1 -1
- package/dist/src/run-gateway/run-request-responder.js +155 -32
- package/dist/src/run-gateway/run-request-responder.js.map +1 -1
- package/dist/src/run-gateway/store-run-gateway.d.ts +23 -1
- package/dist/src/run-gateway/store-run-gateway.d.ts.map +1 -1
- package/dist/src/run-gateway/store-run-gateway.js +38 -0
- package/dist/src/run-gateway/store-run-gateway.js.map +1 -1
- package/dist/src/scheduler.d.ts +44 -3
- package/dist/src/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler.js +36 -1
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/search-attributes-schema.d.ts +44 -0
- package/dist/src/search-attributes-schema.d.ts.map +1 -0
- package/dist/src/search-attributes-schema.js +51 -0
- package/dist/src/search-attributes-schema.js.map +1 -0
- package/dist/src/singleton-admission.d.ts +75 -0
- package/dist/src/singleton-admission.d.ts.map +1 -0
- package/dist/src/singleton-admission.js +156 -0
- package/dist/src/singleton-admission.js.map +1 -0
- package/dist/src/singleton-gate.d.ts +23 -8
- package/dist/src/singleton-gate.d.ts.map +1 -1
- package/dist/src/singleton-gate.js +59 -12
- package/dist/src/singleton-gate.js.map +1 -1
- package/dist/src/standard-schema.d.ts +86 -0
- package/dist/src/standard-schema.d.ts.map +1 -0
- package/dist/src/standard-schema.js +33 -0
- package/dist/src/standard-schema.js.map +1 -0
- package/dist/src/step-discovery.d.ts +21 -11
- package/dist/src/step-discovery.d.ts.map +1 -1
- package/dist/src/step-discovery.js +86 -45
- package/dist/src/step-discovery.js.map +1 -1
- package/dist/src/step-ref.d.ts +38 -12
- package/dist/src/step-ref.d.ts.map +1 -1
- package/dist/src/step-ref.js +5 -13
- package/dist/src/step-ref.js.map +1 -1
- package/dist/src/stores/factory.d.ts +6 -0
- package/dist/src/stores/factory.d.ts.map +1 -1
- package/dist/src/stores/factory.js +4 -1
- package/dist/src/stores/factory.js.map +1 -1
- package/dist/src/stores/lucid-helpers.d.ts +2 -0
- package/dist/src/stores/lucid-helpers.d.ts.map +1 -1
- package/dist/src/stores/lucid-helpers.js +7 -0
- package/dist/src/stores/lucid-helpers.js.map +1 -1
- package/dist/src/stores/lucid-mappers.d.ts +25 -0
- package/dist/src/stores/lucid-mappers.d.ts.map +1 -1
- package/dist/src/stores/lucid-mappers.js +81 -18
- package/dist/src/stores/lucid-mappers.js.map +1 -1
- package/dist/src/stores/lucid-schema.d.ts +59 -1
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +271 -25
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +61 -2
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +346 -41
- package/dist/src/stores/lucid.js.map +1 -1
- package/dist/src/telescope/dashboard.d.ts.map +1 -1
- package/dist/src/telescope/dashboard.js +30 -1
- package/dist/src/telescope/dashboard.js.map +1 -1
- package/dist/src/telescope/data-providers.d.ts +19 -1
- package/dist/src/telescope/data-providers.d.ts.map +1 -1
- package/dist/src/telescope/data-providers.js +119 -3
- package/dist/src/telescope/data-providers.js.map +1 -1
- package/dist/src/telescope/extension.d.ts.map +1 -1
- package/dist/src/telescope/extension.js +2 -1
- package/dist/src/telescope/extension.js.map +1 -1
- package/dist/src/telescope/index.d.ts +1 -1
- package/dist/src/telescope/index.d.ts.map +1 -1
- package/dist/src/telescope/index.js +1 -1
- package/dist/src/telescope/index.js.map +1 -1
- package/dist/src/testing/in-memory-state-store.d.ts +44 -15
- package/dist/src/testing/in-memory-state-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-state-store.js +204 -41
- package/dist/src/testing/in-memory-state-store.js.map +1 -1
- package/dist/src/testing-kit/checkpoint-aggregation-contract.d.ts +16 -0
- package/dist/src/testing-kit/checkpoint-aggregation-contract.d.ts.map +1 -0
- package/dist/src/testing-kit/checkpoint-aggregation-contract.js +228 -0
- package/dist/src/testing-kit/checkpoint-aggregation-contract.js.map +1 -0
- package/dist/src/testing-kit/state-store-conformance.d.ts.map +1 -1
- package/dist/src/testing-kit/state-store-conformance.js +355 -3
- package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
- package/dist/src/transport-pool.d.ts +15 -1
- package/dist/src/transport-pool.d.ts.map +1 -1
- package/dist/src/transport-pool.js +50 -4
- package/dist/src/transport-pool.js.map +1 -1
- package/dist/src/transports/adaptive-concurrency.d.ts +168 -0
- package/dist/src/transports/adaptive-concurrency.d.ts.map +1 -0
- package/dist/src/transports/adaptive-concurrency.js +353 -0
- package/dist/src/transports/adaptive-concurrency.js.map +1 -0
- package/dist/src/transports/bullmq/adaptive-concurrency.d.ts +1 -165
- package/dist/src/transports/bullmq/adaptive-concurrency.d.ts.map +1 -1
- package/dist/src/transports/bullmq/adaptive-concurrency.js +3 -351
- package/dist/src/transports/bullmq/adaptive-concurrency.js.map +1 -1
- package/dist/src/transports/bullmq/bullmq-transport.d.ts +49 -1
- package/dist/src/transports/bullmq/bullmq-transport.d.ts.map +1 -1
- package/dist/src/transports/bullmq/bullmq-transport.js +330 -38
- package/dist/src/transports/bullmq/bullmq-transport.js.map +1 -1
- package/dist/src/transports/bullmq/deps.d.ts +18 -2
- package/dist/src/transports/bullmq/deps.d.ts.map +1 -1
- package/dist/src/transports/bullmq/deps.js +44 -2
- package/dist/src/transports/bullmq/deps.js.map +1 -1
- package/dist/src/transports/db-helpers.d.ts +39 -0
- package/dist/src/transports/db-helpers.d.ts.map +1 -1
- package/dist/src/transports/db-helpers.js +73 -0
- package/dist/src/transports/db-helpers.js.map +1 -1
- package/dist/src/transports/db-remote.d.ts +53 -0
- package/dist/src/transports/db-remote.d.ts.map +1 -0
- package/dist/src/transports/db-remote.js +147 -0
- package/dist/src/transports/db-remote.js.map +1 -0
- package/dist/src/transports/db-schema.d.ts +44 -1
- package/dist/src/transports/db-schema.d.ts.map +1 -1
- package/dist/src/transports/db-schema.js +227 -88
- package/dist/src/transports/db-schema.js.map +1 -1
- package/dist/src/transports/db.d.ts +189 -6
- package/dist/src/transports/db.d.ts.map +1 -1
- package/dist/src/transports/db.js +1291 -137
- package/dist/src/transports/db.js.map +1 -1
- package/dist/src/transports/event-emitter.d.ts +8 -0
- package/dist/src/transports/event-emitter.d.ts.map +1 -1
- package/dist/src/transports/event-emitter.js +36 -3
- package/dist/src/transports/event-emitter.js.map +1 -1
- package/dist/src/transports/factory.d.ts +110 -5
- package/dist/src/transports/factory.d.ts.map +1 -1
- package/dist/src/transports/factory.js +56 -9
- package/dist/src/transports/factory.js.map +1 -1
- package/dist/src/transports/queue-mock-adapter.d.ts +7 -2
- package/dist/src/transports/queue-mock-adapter.d.ts.map +1 -1
- package/dist/src/transports/queue-mock-adapter.js +18 -2
- package/dist/src/transports/queue-mock-adapter.js.map +1 -1
- package/dist/src/transports/queue-remote.d.ts +146 -0
- package/dist/src/transports/queue-remote.d.ts.map +1 -0
- package/dist/src/transports/queue-remote.js +398 -0
- package/dist/src/transports/queue-remote.js.map +1 -0
- package/dist/src/transports/queue.d.ts +159 -6
- package/dist/src/transports/queue.d.ts.map +1 -1
- package/dist/src/transports/queue.js +747 -37
- package/dist/src/transports/queue.js.map +1 -1
- package/dist/src/transports/task-failure.d.ts +31 -0
- package/dist/src/transports/task-failure.d.ts.map +1 -0
- package/dist/src/transports/task-failure.js +50 -0
- package/dist/src/transports/task-failure.js.map +1 -0
- package/dist/src/workflow-als.d.ts +1 -1
- package/dist/src/workflow-als.d.ts.map +1 -1
- package/dist/src/workflow-ctx.d.ts +10 -0
- package/dist/src/workflow-ctx.d.ts.map +1 -1
- package/dist/src/workflow-ctx.js +97 -15
- package/dist/src/workflow-ctx.js.map +1 -1
- package/dist/src/workflow-discovery.d.ts +32 -41
- package/dist/src/workflow-discovery.d.ts.map +1 -1
- package/dist/src/workflow-discovery.js +65 -88
- package/dist/src/workflow-discovery.js.map +1 -1
- package/dist/src/workflow-ref.d.ts +26 -0
- package/dist/src/workflow-ref.d.ts.map +1 -1
- package/dist/src/workflow-ref.js.map +1 -1
- package/dist/stubs/config/durable.stub +6 -0
- package/dist/stubs/config/durable_dashboard.stub +7 -3
- package/dist/stubs/database/migrations/create_durable_tables.stub +2 -1
- package/dist/stubs/database/migrations/create_durable_transport_messages.stub +43 -0
- package/dist/stubs/database/migrations/create_durable_transport_tables.stub +12 -9
- package/dist/stubs/database/migrations/create_durable_transport_worker_keys.stub +1 -1
- package/dist/stubs/make/workflow/main.stub +1 -1
- package/package.json +6 -4
- package/skills/durable-cluster/SKILL.md +80 -11
- package/skills/durable-determinism/SKILL.md +11 -5
- package/skills/durable-reliability/SKILL.md +77 -37
- package/skills/durable-setup/SKILL.md +51 -22
- package/skills/durable-transports-stores/SKILL.md +128 -18
- package/skills/durable-workflows/SKILL.md +83 -18
- package/dist/assets/spa/assets/index-DdB9zxuX.js +0 -16
- package/dist/assets/spa/assets/index-DdB9zxuX.js.map +0 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { pathToFileURL } from 'node:url';
|
|
2
2
|
import { mergeSchedules, runWorkerLoop } from '../src/commands/worker.js';
|
|
3
|
+
import { discoveryRoots } from '../src/discovery-roots.js';
|
|
3
4
|
import { parseDuration } from '../src/duration.js';
|
|
4
5
|
import { attachEventTriggerBridge } from '../src/event-trigger-bridge.js';
|
|
5
6
|
import { attachDurableDiagnostics, InMemoryStateStore, InMemoryTransport, ProxyRunGateway, RunRequestResponder, registerStepsFromBarrel, registerStepsFromDir, registerWorkflowsFromBarrel, registerWorkflowsFromDir, StoreRunGateway, WorkflowEngine, } from '../src/index.js';
|
|
6
7
|
import { DURABLE_RUN_GATEWAY, DURABLE_RUN_REQUEST_RESPONDER, DURABLE_TRANSPORT, DURABLE_WORKER_RUNTIME, descriptorRedisFrom, hasProxyCapability, hasResponderCapability, NOOP_RUN_DISPATCHER, } from '../src/role_bindings.js';
|
|
8
|
+
import { resolveSchedules } from '../src/scheduler.js';
|
|
7
9
|
import { setBootedApp } from '../src/services/booted_app.js';
|
|
8
10
|
import { NoopWorkerRegistry, RedisWorkerRegistry, WorkerRuntime, } from '../src/worker-runtime/index.js';
|
|
9
11
|
const CONTEXT_ACCESSOR = Symbol.for('@agora/context:accessor');
|
|
@@ -47,6 +49,8 @@ export default class DurableProvider {
|
|
|
47
49
|
app;
|
|
48
50
|
#detachDiagnostics = null;
|
|
49
51
|
#transport = null;
|
|
52
|
+
/** The `transportPool` transports built alongside {@link #transport}, closed with it on shutdown. */
|
|
53
|
+
#pooledTransports = [];
|
|
50
54
|
#controlPlane = null;
|
|
51
55
|
#responder = null;
|
|
52
56
|
/** Memoized tenant transport so the ProxyRunGateway + WorkerRuntime share ONE broker connection. */
|
|
@@ -55,6 +59,10 @@ export default class DurableProvider {
|
|
|
55
59
|
#stopEmbeddedWorker = null;
|
|
56
60
|
/** The embedded loop itself, awaited on shutdown so it drains before the transport closes. */
|
|
57
61
|
#embeddedWorkerLoop = null;
|
|
62
|
+
/** The store-backed engine once resolved (store roles), drained on shutdown. */
|
|
63
|
+
#engine = null;
|
|
64
|
+
/** The shutdown budget: `worker.drainTimeoutMs`, else `drainTimeoutMs`, else 10s. */
|
|
65
|
+
#drainTimeoutMs = 10_000;
|
|
58
66
|
constructor(app) {
|
|
59
67
|
this.app = app;
|
|
60
68
|
}
|
|
@@ -68,6 +76,11 @@ export default class DurableProvider {
|
|
|
68
76
|
this.#registerTenantRole(config);
|
|
69
77
|
}
|
|
70
78
|
else {
|
|
79
|
+
// A process that must not drive runs cannot host the loop that drives them.
|
|
80
|
+
if (config.drive === false && config.worker?.embedded) {
|
|
81
|
+
throw new Error('@agora/durable: `drive: false` and `worker: { embedded: true }` contradict each other — the embedded worker loop drives runs in this process. Drop one: keep `drive: false` on web pods and run `node ace durable:work` elsewhere, or keep the embedded worker and remove `drive: false`.');
|
|
82
|
+
}
|
|
83
|
+
this.#drainTimeoutMs = config.worker?.drainTimeoutMs ?? config.drainTimeoutMs ?? 10_000;
|
|
71
84
|
this.#registerStoreRole(config, role);
|
|
72
85
|
}
|
|
73
86
|
}
|
|
@@ -124,8 +137,24 @@ export default class DurableProvider {
|
|
|
124
137
|
const ctx = {
|
|
125
138
|
app: this.app,
|
|
126
139
|
};
|
|
127
|
-
|
|
140
|
+
// An absent namespace is the default pool on a standalone engine, and the operator (every pool)
|
|
141
|
+
// only on a control plane: a standalone process sharing a store with other pools must never
|
|
142
|
+
// drive their runs.
|
|
143
|
+
const namespace = config.namespace ?? (role === 'standalone' ? 'default' : undefined);
|
|
144
|
+
const store = await this.#resolveStore(config, ctx, namespace);
|
|
128
145
|
const transport = await this.#resolveTransport(config, ctx);
|
|
146
|
+
// `transportPool`: extra transports built alongside the selected one, in failover order, so a
|
|
147
|
+
// step can pin them by name. Each gets the same consumer deferral below and is closed on shutdown.
|
|
148
|
+
const pooled = [];
|
|
149
|
+
for (const name of config.transportPool ?? []) {
|
|
150
|
+
if (name === config.transport || pooled.some((p) => p.id === name))
|
|
151
|
+
continue;
|
|
152
|
+
if (!config.transports?.[name]) {
|
|
153
|
+
throw new Error(`@agora/durable: config.transportPool lists "${name}", but config.transports.${name} is not defined`);
|
|
154
|
+
}
|
|
155
|
+
pooled.push({ id: name, transport: await this.#resolveTransport(config, ctx, name) });
|
|
156
|
+
}
|
|
157
|
+
this.#pooledTransports = pooled.map((p) => p.transport);
|
|
129
158
|
// Console/REPL processes must not become broker consumers (`consumers: 'auto'`, the default):
|
|
130
159
|
// a one-off `node ace` process that subscribes competes with the worker fleet for point-to-point
|
|
131
160
|
// jobs — it claims steps it dies with, steals results addressed to the real engine, and a boot
|
|
@@ -134,14 +163,19 @@ export default class DurableProvider {
|
|
|
134
163
|
// `engine.startConsumers()`. Web/test processes keep today's eager behavior, as does
|
|
135
164
|
// `consumers: 'always'`, while `consumers: 'never'` defers unconditionally — a pure producer
|
|
136
165
|
// in every environment. Transports without `deferConsumers` (in-process) are unaffected.
|
|
137
|
-
|
|
166
|
+
const deferAll = () => {
|
|
138
167
|
transport.deferConsumers?.();
|
|
168
|
+
for (const p of pooled)
|
|
169
|
+
p.transport.deferConsumers?.();
|
|
170
|
+
};
|
|
171
|
+
if (config.consumers === 'never') {
|
|
172
|
+
deferAll();
|
|
139
173
|
}
|
|
140
174
|
else if ((config.consumers ?? 'auto') === 'auto') {
|
|
141
175
|
// Optional call: naive test doubles of ApplicationService may not carry getEnvironment.
|
|
142
176
|
const environment = this.app.getEnvironment?.();
|
|
143
177
|
if (environment === 'console' || environment === 'repl')
|
|
144
|
-
|
|
178
|
+
deferAll();
|
|
145
179
|
}
|
|
146
180
|
// Hold the transport so `shutdown()` can release broker workers/connections cleanly.
|
|
147
181
|
this.#transport = transport;
|
|
@@ -151,11 +185,15 @@ export default class DurableProvider {
|
|
|
151
185
|
const admission = await this.#resolveAdmission(config, ctx);
|
|
152
186
|
const deps = {
|
|
153
187
|
store,
|
|
154
|
-
transport,
|
|
188
|
+
// A named pool when the config names a transport, so `ctx.step(..., { transport: name })`
|
|
189
|
+
// resolves the selected one (and `transportPool`'s) by its config key.
|
|
190
|
+
...(config.transport
|
|
191
|
+
? { transports: [{ id: config.transport, transport }, ...pooled] }
|
|
192
|
+
: { transport }),
|
|
155
193
|
...(controlPlane ? { controlPlane } : {}),
|
|
156
194
|
...(config.leaseMs !== undefined ? { leaseMs: config.leaseMs } : {}),
|
|
157
195
|
...(config.instanceId ? { instanceId: config.instanceId } : {}),
|
|
158
|
-
...(
|
|
196
|
+
...(namespace !== undefined ? { namespace } : {}),
|
|
159
197
|
...(config.maxRecoveryAttempts !== undefined
|
|
160
198
|
? { maxRecoveryAttempts: config.maxRecoveryAttempts }
|
|
161
199
|
: {}),
|
|
@@ -168,11 +206,21 @@ export default class DurableProvider {
|
|
|
168
206
|
...(config.retention !== undefined ? { retention: parseRetention(config.retention) } : {}),
|
|
169
207
|
...(config.retention?.policies?.length
|
|
170
208
|
? {
|
|
171
|
-
retentionPolicies: config.retention.policies.map((p) =>
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
209
|
+
retentionPolicies: config.retention.policies.map((p) => {
|
|
210
|
+
if (p.maxAge === undefined && p.maxCount === undefined) {
|
|
211
|
+
throw new Error('@agora/durable: each retention policy must set maxAge and/or maxCount');
|
|
212
|
+
}
|
|
213
|
+
if (p.maxCount !== undefined &&
|
|
214
|
+
!(Number.isInteger(p.maxCount) && p.maxCount >= 0)) {
|
|
215
|
+
throw new Error(`@agora/durable: retention policy maxCount must be a non-negative integer (got ${String(p.maxCount)})`);
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
statuses: p.statuses,
|
|
219
|
+
...(p.maxAge !== undefined ? { maxAgeMs: parseDuration(p.maxAge) } : {}),
|
|
220
|
+
...(p.maxCount !== undefined ? { maxCount: p.maxCount } : {}),
|
|
221
|
+
scope: p.scope,
|
|
222
|
+
};
|
|
223
|
+
}),
|
|
176
224
|
}
|
|
177
225
|
: {}),
|
|
178
226
|
...(config.persistedSchedules ? { persistedSchedules: true } : {}),
|
|
@@ -182,6 +230,9 @@ export default class DurableProvider {
|
|
|
182
230
|
// Fleet-wide flow control: the configured admission backend replaces the engine's in-process
|
|
183
231
|
// default, so `{ queue }` caps count across every replica instead of per pod.
|
|
184
232
|
...(admission ? { admission } : {}),
|
|
233
|
+
...(config.deadLetterWorkflow !== undefined
|
|
234
|
+
? { deadLetterWorkflow: config.deadLetterWorkflow }
|
|
235
|
+
: {}),
|
|
185
236
|
// Public callback URL builder for `ctx.webhook()` tokens.
|
|
186
237
|
...(config.webhookUrl ? { webhookUrl: config.webhookUrl } : {}),
|
|
187
238
|
...(config.trackStepStart !== undefined ? { trackStepStart: config.trackStepStart } : {}),
|
|
@@ -193,13 +244,23 @@ export default class DurableProvider {
|
|
|
193
244
|
...(config.remoteRedispatchMax !== undefined
|
|
194
245
|
? { remoteRedispatchMax: config.remoteRedispatchMax }
|
|
195
246
|
: {}),
|
|
247
|
+
// Liveness window of a remote workflow turn (see BaseDurableConfig.remoteAdvanceSilenceMs).
|
|
248
|
+
...(config.remoteAdvanceSilenceMs !== undefined
|
|
249
|
+
? { remoteAdvanceSilenceMs: config.remoteAdvanceSilenceMs }
|
|
250
|
+
: {}),
|
|
196
251
|
...(config.timerBatchSize !== undefined ? { timerBatchSize: config.timerBatchSize } : {}),
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
252
|
+
...(config.eventBufferTtl !== undefined
|
|
253
|
+
? { eventBufferTtlMs: parseDuration(config.eventBufferTtl) }
|
|
254
|
+
: {}),
|
|
255
|
+
// Engine tuning; the engine guards the values (non-finite/out-of-range → its default).
|
|
256
|
+
...(config.reconcileMs !== undefined ? { reconcileMs: config.reconcileMs } : {}),
|
|
257
|
+
...(config.blockedPollMs !== undefined ? { blockedPollMs: config.blockedPollMs } : {}),
|
|
258
|
+
// Where a freshly-started run executes: explicit config wins; else `control-plane` and a
|
|
259
|
+
// `drive: false` process leave it pending for a driving instance's poll (no inline execution),
|
|
260
|
+
// and `standalone` uses the engine's in-process default.
|
|
200
261
|
...(config.runDispatcher
|
|
201
262
|
? { runDispatcher: config.runDispatcher }
|
|
202
|
-
: role === 'control-plane'
|
|
263
|
+
: role === 'control-plane' || config.drive === false
|
|
203
264
|
? { runDispatcher: NOOP_RUN_DISPATCHER }
|
|
204
265
|
: {}),
|
|
205
266
|
// Best-effort context propagation from @adonis-agora/context (no hard dep): pass the opaque
|
|
@@ -214,7 +275,18 @@ export default class DurableProvider {
|
|
|
214
275
|
? { traceparent: otelTraceparent }
|
|
215
276
|
: {}),
|
|
216
277
|
};
|
|
217
|
-
|
|
278
|
+
const engine = new WorkflowEngine(deps);
|
|
279
|
+
// Declarative flow-control queues (`config.queues`): the same registerQueue a caller would make.
|
|
280
|
+
const queueNames = new Set();
|
|
281
|
+
for (const queue of config.queues ?? []) {
|
|
282
|
+
if (queueNames.has(queue.name)) {
|
|
283
|
+
throw new Error(`@agora/durable: config.queues declares the queue "${queue.name}" twice; give each queue one entry`);
|
|
284
|
+
}
|
|
285
|
+
queueNames.add(queue.name);
|
|
286
|
+
engine.registerQueue(queue);
|
|
287
|
+
}
|
|
288
|
+
this.#engine = engine;
|
|
289
|
+
return engine;
|
|
218
290
|
});
|
|
219
291
|
}
|
|
220
292
|
// ---------------------------------------------------------------------------
|
|
@@ -272,8 +344,17 @@ export default class DurableProvider {
|
|
|
272
344
|
#tenantTransport(config) {
|
|
273
345
|
if (!this.#tenantTransportPromise) {
|
|
274
346
|
this.#tenantTransportPromise = (async () => {
|
|
275
|
-
|
|
347
|
+
// The pod's top-level `partition` / `instanceId` are the transport's defaults: a tenant pod
|
|
348
|
+
// must consume the `<name>@<tenant>` queues the control plane dispatches its work to, even
|
|
349
|
+
// when the transport entry doesn't repeat the partition (an explicit one there wins).
|
|
350
|
+
const transport = await this.#resolveTransport(config, {
|
|
351
|
+
app: this.app,
|
|
352
|
+
partition: config.partition,
|
|
353
|
+
...(config.instanceId !== undefined ? { instanceId: config.instanceId } : {}),
|
|
354
|
+
});
|
|
276
355
|
transport.useNamespace?.(config.namespace ?? 'default');
|
|
356
|
+
// A transport whose behaviour depends on serving a store-less pod adapts to it here.
|
|
357
|
+
transport.useTenantRole?.();
|
|
277
358
|
this.#transport = transport;
|
|
278
359
|
return transport;
|
|
279
360
|
})();
|
|
@@ -307,9 +388,25 @@ export default class DurableProvider {
|
|
|
307
388
|
const role = config.role ?? 'standalone';
|
|
308
389
|
if (role === 'tenant')
|
|
309
390
|
return;
|
|
310
|
-
|
|
391
|
+
const workflowRoots = discoveryRoots(config.workflowsPath, 'app/workflows');
|
|
392
|
+
// Each convention is governed by its own option: `workflowsPath: false` skips workflow discovery
|
|
393
|
+
// only, `stepsPath` alone decides app/steps. A control plane always brings up its responder.
|
|
394
|
+
// With nothing to do at all, the engine stays unbuilt (lazily resolvable on demand).
|
|
395
|
+
const servesSteps = role === 'standalone' && discoveryRoots(config.stepsPath, 'app/steps').length > 0;
|
|
396
|
+
if (workflowRoots.length === 0 && !servesSteps && role !== 'control-plane')
|
|
311
397
|
return;
|
|
312
398
|
const engine = await this.app.container.make(WorkflowEngine);
|
|
399
|
+
if (workflowRoots.length > 0)
|
|
400
|
+
await this.#discoverWorkflows(engine, workflowRoots);
|
|
401
|
+
// Embedded worker: only `standalone` serves step bodies in-process (design §3). A `control-plane` is
|
|
402
|
+
// a pure coordinator — its step bodies run on separate tenant worker pods — so it does NOT serve
|
|
403
|
+
// app/steps.
|
|
404
|
+
if (servesSteps)
|
|
405
|
+
await this.#registerSteps(config);
|
|
406
|
+
await this.#startResponder();
|
|
407
|
+
}
|
|
408
|
+
/** Register the `app/workflows` convention (barrel or scan), then bridge its event triggers. */
|
|
409
|
+
async #discoverWorkflows(engine, workflowRoots) {
|
|
313
410
|
// Instantiate workflows through the container, so a workflow class gets constructor dependency
|
|
314
411
|
// injection exactly like an `@adonisjs/queue` job. A class with no dependencies is unaffected —
|
|
315
412
|
// the container simply calls `new Ctor()`.
|
|
@@ -319,11 +416,11 @@ export default class DurableProvider {
|
|
|
319
416
|
await registerWorkflowsFromBarrel(engine, barrel, workflowFactory);
|
|
320
417
|
}
|
|
321
418
|
else {
|
|
322
|
-
// Fallback: no generated barrel — scan
|
|
323
|
-
const
|
|
324
|
-
await registerWorkflowsFromDir(engine,
|
|
419
|
+
// Fallback: no generated barrel — scan every configured directory at runtime.
|
|
420
|
+
const dirs = workflowRoots.map((root) => this.app.makePath(root));
|
|
421
|
+
await registerWorkflowsFromDir(engine, dirs, workflowFactory);
|
|
325
422
|
}
|
|
326
|
-
void this.#reportUnservedOnErrorRoutes(engine);
|
|
423
|
+
void this.#reportUnservedOnErrorRoutes(engine).catch(() => undefined);
|
|
327
424
|
// Event-triggered workflows (`static on` / `@OnEvent` / `@OnDiagnostic`): bridge the
|
|
328
425
|
// Adonis emitter + the diagnostics bus into the engine. Registered AFTER discovery so
|
|
329
426
|
// every trigger (incl. the engine's `onEvent` subscribers) is in place.
|
|
@@ -335,12 +432,6 @@ export default class DurableProvider {
|
|
|
335
432
|
...(emitter !== undefined ? { emitter } : {}),
|
|
336
433
|
});
|
|
337
434
|
}
|
|
338
|
-
// Embedded worker: only `standalone` serves step bodies in-process (design §3). A `control-plane` is
|
|
339
|
-
// a pure coordinator — its step bodies run on separate tenant worker pods — so it does NOT serve
|
|
340
|
-
// app/steps.
|
|
341
|
-
if (role === 'standalone')
|
|
342
|
-
await this.#registerSteps(config);
|
|
343
|
-
await this.#startResponder();
|
|
344
435
|
}
|
|
345
436
|
/**
|
|
346
437
|
* Says, once after boot, which onError routes name a handler workflow nothing can run, so a typo is
|
|
@@ -409,7 +500,8 @@ export default class DurableProvider {
|
|
|
409
500
|
const engine = await this.app.container.make(WorkflowEngine);
|
|
410
501
|
// Same merge the command performs: `config.schedules` wins over a colocated `static schedule`
|
|
411
502
|
// on a `key` collision.
|
|
412
|
-
|
|
503
|
+
// `resolveSchedules` calls the lazy `() => import('#workflows/…')` entries — now, after boot.
|
|
504
|
+
const schedules = mergeSchedules(await resolveSchedules(config.schedules ?? []), engine.discoveredSchedules);
|
|
413
505
|
const logger = await this.#resolveLogger();
|
|
414
506
|
let stop;
|
|
415
507
|
const stopSignal = new Promise((resolve) => {
|
|
@@ -419,7 +511,7 @@ export default class DurableProvider {
|
|
|
419
511
|
logger.info(`durable: embedded worker started (interval ${config.worker.intervalMs ?? 1000}ms, ${schedules.length} schedule(s))`);
|
|
420
512
|
this.#embeddedWorkerLoop = runWorkerLoop(engine, {
|
|
421
513
|
intervalMs: config.worker.intervalMs ?? 1000,
|
|
422
|
-
drainTimeoutMs:
|
|
514
|
+
drainTimeoutMs: this.#drainTimeoutMs,
|
|
423
515
|
stopSignal,
|
|
424
516
|
schedules,
|
|
425
517
|
logger,
|
|
@@ -471,7 +563,8 @@ export default class DurableProvider {
|
|
|
471
563
|
* A transport that can't serve handlers (no `handle`) is skipped.
|
|
472
564
|
*/
|
|
473
565
|
async #registerSteps(config) {
|
|
474
|
-
|
|
566
|
+
const stepRoots = discoveryRoots(config.stepsPath, 'app/steps');
|
|
567
|
+
if (stepRoots.length === 0)
|
|
475
568
|
return;
|
|
476
569
|
const server = this.#transport;
|
|
477
570
|
if (!server || typeof server.handle !== 'function')
|
|
@@ -481,8 +574,8 @@ export default class DurableProvider {
|
|
|
481
574
|
await registerStepsFromBarrel(server, barrel);
|
|
482
575
|
return;
|
|
483
576
|
}
|
|
484
|
-
const
|
|
485
|
-
await registerStepsFromDir(server,
|
|
577
|
+
const dirs = stepRoots.map((root) => this.app.makePath(root));
|
|
578
|
+
await registerStepsFromDir(server, dirs);
|
|
486
579
|
}
|
|
487
580
|
/** Best-effort import of the build-time steps barrel; `null` when absent (fall back to the scan). */
|
|
488
581
|
async #loadGeneratedStepsBarrel() {
|
|
@@ -519,7 +612,7 @@ export default class DurableProvider {
|
|
|
519
612
|
}
|
|
520
613
|
}
|
|
521
614
|
/** Resolve the configured state store (a key of `config.stores`), or the in-memory default. */
|
|
522
|
-
async #resolveStore(config, ctx) {
|
|
615
|
+
async #resolveStore(config, ctx, namespace) {
|
|
523
616
|
const name = config.store;
|
|
524
617
|
if (!name)
|
|
525
618
|
return new InMemoryStateStore();
|
|
@@ -536,11 +629,17 @@ export default class DurableProvider {
|
|
|
536
629
|
if (config.autoSchema !== false) {
|
|
537
630
|
await store.ensureSchema?.();
|
|
538
631
|
}
|
|
632
|
+
// `scopeReads`: a tenant-boundary view of the store, fenced to this engine's namespace.
|
|
633
|
+
if (config.scopeReads === true && namespace !== undefined) {
|
|
634
|
+
const scopeable = store;
|
|
635
|
+
if (typeof scopeable.withScope === 'function') {
|
|
636
|
+
return scopeable.withScope({ namespace });
|
|
637
|
+
}
|
|
638
|
+
}
|
|
539
639
|
return store;
|
|
540
640
|
}
|
|
541
641
|
/** Resolve the configured transport (a key of `config.transports`), or the in-memory default. */
|
|
542
|
-
async #resolveTransport(config, ctx) {
|
|
543
|
-
const name = config.transport;
|
|
642
|
+
async #resolveTransport(config, ctx, name = config.transport) {
|
|
544
643
|
if (!name)
|
|
545
644
|
return new InMemoryTransport();
|
|
546
645
|
const factory = config.transports?.[name];
|
|
@@ -597,10 +696,20 @@ export default class DurableProvider {
|
|
|
597
696
|
async shutdown() {
|
|
598
697
|
// The embedded loop goes first and is AWAITED: it drains in-flight executions, and a tick
|
|
599
698
|
// still running would otherwise find the transport closed underneath it a few lines below.
|
|
699
|
+
const embedded = this.#embeddedWorkerLoop !== null;
|
|
600
700
|
this.#stopEmbeddedWorker?.();
|
|
601
701
|
this.#stopEmbeddedWorker = null;
|
|
602
702
|
await this.#embeddedWorkerLoop;
|
|
603
703
|
this.#embeddedWorkerLoop = null;
|
|
704
|
+
// Every store-backed process drains, not only one running the embedded loop: a web process with
|
|
705
|
+
// the in-process dispatcher may be mid-turn, and closing the transport under that turn strands
|
|
706
|
+
// it until its lease expires. The embedded loop already drained (within the same budget), so it
|
|
707
|
+
// is not drained twice. `drain` releases the leases of runs still executing when time runs out,
|
|
708
|
+
// so another instance recovers them at once.
|
|
709
|
+
const engine = this.#engine;
|
|
710
|
+
this.#engine = null;
|
|
711
|
+
if (engine && !embedded)
|
|
712
|
+
await engine.drain(this.#drainTimeoutMs).catch(() => undefined);
|
|
604
713
|
// Stop republishing tenant events before the transport connections drop.
|
|
605
714
|
this.#responder?.stop();
|
|
606
715
|
this.#responder = null;
|
|
@@ -611,6 +720,8 @@ export default class DurableProvider {
|
|
|
611
720
|
// Release the transport's broker workers / queues / connections so a deploy hands off cleanly.
|
|
612
721
|
await this.#transport?.close?.();
|
|
613
722
|
this.#transport = null;
|
|
723
|
+
for (const pooled of this.#pooledTransports.splice(0))
|
|
724
|
+
await pooled.close?.();
|
|
614
725
|
this.#tenantTransportPromise = null;
|
|
615
726
|
// Tear down the control plane's subscriber connection (Redis pub/sub) on the way out.
|
|
616
727
|
await this.#controlPlane?.close?.();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable_provider.js","sourceRoot":"","sources":["../../providers/durable_provider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"durable_provider.js","sourceRoot":"","sources":["../../providers/durable_provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-admission-backend.d.ts","sourceRoot":"","sources":["../../../src/admission-redis/redis-admission-backend.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG3F;;;;;GAKG;AACH,MAAM,WAAW,SAAS;IACxB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACrF,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7E,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IACpF,SAAS,IAAI,SAAS,CAAC;IACvB,UAAU,IAAI,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,qGAAqG;IACrG,UAAU,EAAE,SAAS,CAAC;IACtB,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,MAAM,CAAC;CACtB;AAkJD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,qBAAsB,YAAW,gBAAgB;IAC5D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAmB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkC;IAC1D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,YAAY,OAAO,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"redis-admission-backend.d.ts","sourceRoot":"","sources":["../../../src/admission-redis/redis-admission-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -142,7 +142,9 @@ export class RedisAdmissionBackend {
|
|
|
142
142
|
this.clock = options.clock ?? Date.now;
|
|
143
143
|
this.redis.defineCommand('admissionAcquire', { numberOfKeys: 8, lua: ACQUIRE_LUA });
|
|
144
144
|
// Keep this instance's liveness fresh even while idle, so slots it holds aren't reclaimed.
|
|
145
|
-
|
|
145
|
+
// Best-effort, like the interval below: a Redis that is down at construction must not surface
|
|
146
|
+
// as an unhandled rejection (the next heartbeat retries).
|
|
147
|
+
void this.refreshLiveness().catch(() => undefined);
|
|
146
148
|
this.heartbeat = setInterval(() => void this.refreshLiveness().catch(() => undefined), Math.max(1000, Math.floor(this.instanceTtlMs / 3)));
|
|
147
149
|
this.heartbeat.unref?.();
|
|
148
150
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-admission-backend.js","sourceRoot":"","sources":["../../../src/admission-redis/redis-admission-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA4CxD,qGAAqG;AACrG,sGAAsG;AACtG,wGAAwG;AACxG,qCAAqC;AACrC,+GAA+G;AAC/G,8FAA8F;AAC9F,+DAA+D;AAC/D,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGnB,CAAC;AAuCF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,qBAAqB;IACf,KAAK,CAAmB;IACxB,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,OAAO,CAAS;IAChB,KAAK,CAAe;IACpB,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,SAAS,CAAiC;IACnD,UAAU,CAAa;IAE/B,YAAY,OAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAA8B,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,2FAA2F;QAC3F,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"redis-admission-backend.js","sourceRoot":"","sources":["../../../src/admission-redis/redis-admission-backend.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AA4CxD,qGAAqG;AACrG,sGAAsG;AACtG,wGAAwG;AACxG,qCAAqC;AACrC,+GAA+G;AAC/G,8FAA8F;AAC9F,+DAA+D;AAC/D,MAAM,WAAW,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGnB,CAAC;AAuCF;;;;;;;;;;;;;;GAcG;AACH,MAAM,OAAO,qBAAqB;IACf,KAAK,CAAmB;IACxB,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,aAAa,CAAS;IACtB,WAAW,CAAS;IACpB,OAAO,CAAS;IAChB,KAAK,CAAe;IACpB,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;IACzC,SAAS,CAAiC;IACnD,UAAU,CAAa;IAE/B,YAAY,OAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,UAA8B,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QAC3D,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;QACvC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACpF,2FAA2F;QAC3F,8FAA8F;QAC9F,0DAA0D;QAC1D,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,SAAS,GAAG,WAAW,CAC1B,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,EACxD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CACnD,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;IAC3B,CAAC;IAED,QAAQ,CAAC,MAAmB;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa,EAAE,IAAmB;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,+BAA+B;QACjE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC;QAC9B,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,kGAAkG;QAClG,kGAAkG;QAClG,MAAM,WAAW,GACf,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,EAAE,SAAS,KAAK,SAAS,CAAC;QAClD,0FAA0F;QAC1F,6EAA6E;QAC7E,MAAM,OAAO,GAAG,WAAW;YACzB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACpC,CAAC,CAAC,IAAI;gBACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC1D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QACjC,MAAM,MAAM,GAAkB;YAC5B,GAAG;YACH,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;YACpC,SAAS,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;YAC3B,YAAY,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC;YACjC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,GAAG,EAAE;YACxC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YAC5B,OAAO,EAAE,GAAG,GAAG,IAAI,CAAC,OAAO;YAC3B,WAAW;YACX,UAAU;YACV,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE;YAC7B,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,OAAO,EAAE,IAAI,CAAC,aAAa;YAC3B,IAAI;SACL,CAAC;QACF,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC3D,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EACxB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EACxB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,EAC1B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAC5B,OAAO,EACP,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,EACtB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,CAAC,EAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CACvB,CAAC;QACF,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa,EAAE,MAAc;QACzC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QACxD,iGAAiG;QACjG,yDAAyD;QACzD,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;IACvD,CAAC;IAEO,OAAO,GAAG,KAAK,CAAC;IAExB,OAAO,CAAC,OAAgC;QACtC,+FAA+F;QAC/F,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAC5F,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,0FAA0F;IAC1F,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAEO,YAAY;QAClB,OAAO,GAAG,IAAI,CAAC,MAAM,YAAY,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAChG,CAAC;IAEO,UAAU;QAChB,OAAO,GAAG,IAAI,CAAC,MAAM,YAAY,CAAC;IACpC,CAAC;IAEO,GAAG,CAAC,KAAa,EAAE,IAAY,EAAE,MAAe;QACtD,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,QAAQ,KAAK,IAAI,IAAI,EAAE,CAAC;QACnD,OAAO,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,EAAE,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { StepLogger } from './interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* Run `fn` with `logger` as the ambient step logger. Internal: wraps every step body with the SAME
|
|
4
|
+
* logger instance the body receives as its argument, so an event emitted ambiently and one emitted
|
|
5
|
+
* through the argument land in the same event list and are checkpointed together. Concurrent steps
|
|
6
|
+
* each see their own.
|
|
7
|
+
*/
|
|
8
|
+
export declare function runInStepLogger<T>(logger: StepLogger, fn: () => T): T;
|
|
9
|
+
/**
|
|
10
|
+
* The {@link StepLogger} of the step body executing on this async path, or `undefined` outside one —
|
|
11
|
+
* for code that cannot take a logger parameter (a batch inserter, an HTTP client a few calls below
|
|
12
|
+
* the step):
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { currentStep } from '@adonis-agora/durable'
|
|
16
|
+
*
|
|
17
|
+
* currentStep()?.info('inserted batch', { rows })
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* The optional chain is the contract: outside a step there is nothing to record to, and the same
|
|
21
|
+
* helper keeps working in a unit test with no durable run around it.
|
|
22
|
+
*/
|
|
23
|
+
export declare function currentStep(): StepLogger | undefined;
|
|
24
|
+
//# sourceMappingURL=ambient-step.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ambient-step.d.ts","sourceRoot":"","sources":["../../src/ambient-step.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAqBlD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAErE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,WAAW,IAAI,UAAU,GAAG,SAAS,CAEpD"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
/**
|
|
3
|
+
* The ambient step logger: an `AsyncLocalStorage` installed around every execution of a step body,
|
|
4
|
+
* local (`ctx.step`) and remote (`runStepHandler`, on a worker) alike, so code deep inside a step can
|
|
5
|
+
* record events without the {@link StepLogger} being threaded through every signature on the way
|
|
6
|
+
* down. The TypeScript twin of the Python SDK's `current_step()`.
|
|
7
|
+
*
|
|
8
|
+
* One storage per PROCESS, not per copy of this package: it lives on `globalThis` under a
|
|
9
|
+
* `Symbol.for` key, so a dependency tree carrying duplicate copies still shares one ambient logger.
|
|
10
|
+
*/
|
|
11
|
+
const STORAGE_KEY = Symbol.for('@agora/durable:ambient-step-logger');
|
|
12
|
+
const globalRef = globalThis;
|
|
13
|
+
if (!globalRef[STORAGE_KEY])
|
|
14
|
+
globalRef[STORAGE_KEY] = new AsyncLocalStorage();
|
|
15
|
+
const storage = globalRef[STORAGE_KEY];
|
|
16
|
+
/**
|
|
17
|
+
* Run `fn` with `logger` as the ambient step logger. Internal: wraps every step body with the SAME
|
|
18
|
+
* logger instance the body receives as its argument, so an event emitted ambiently and one emitted
|
|
19
|
+
* through the argument land in the same event list and are checkpointed together. Concurrent steps
|
|
20
|
+
* each see their own.
|
|
21
|
+
*/
|
|
22
|
+
export function runInStepLogger(logger, fn) {
|
|
23
|
+
return storage.run(logger, fn);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* The {@link StepLogger} of the step body executing on this async path, or `undefined` outside one —
|
|
27
|
+
* for code that cannot take a logger parameter (a batch inserter, an HTTP client a few calls below
|
|
28
|
+
* the step):
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* import { currentStep } from '@adonis-agora/durable'
|
|
32
|
+
*
|
|
33
|
+
* currentStep()?.info('inserted batch', { rows })
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* The optional chain is the contract: outside a step there is nothing to record to, and the same
|
|
37
|
+
* helper keeps working in a unit test with no durable run around it.
|
|
38
|
+
*/
|
|
39
|
+
export function currentStep() {
|
|
40
|
+
return storage.getStore();
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=ambient-step.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ambient-step.js","sourceRoot":"","sources":["../../src/ambient-step.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;;;;;;;GAQG;AACH,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;AAMrE,MAAM,SAAS,GAAG,UAA+B,CAAC;AAClD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;IAAE,SAAS,CAAC,WAAW,CAAC,GAAG,IAAI,iBAAiB,EAAc,CAAC;AAC1F,MAAM,OAAO,GAAkC,SAAS,CAAC,WAAW,CAAC,CAAC;AAEtE;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAI,MAAkB,EAAE,EAAW;IAChE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACjC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { StartOptions } from './engine.js';
|
|
2
2
|
import { WorkflowEngine } from './engine.js';
|
|
3
|
-
import type { WorkflowCtx } from './interfaces.js';
|
|
3
|
+
import type { DeadLetter, WorkflowCtx } from './interfaces.js';
|
|
4
4
|
import type { WorkflowScheduleConfig } from './scheduler.js';
|
|
5
5
|
import type { WorkflowClass, WorkflowInputOf, WorkflowOptions, WorkflowOutputOf } from './workflow-ref.js';
|
|
6
6
|
/**
|
|
@@ -71,6 +71,15 @@ export declare abstract class BaseWorkflow {
|
|
|
71
71
|
static schedule?: WorkflowScheduleConfig | WorkflowScheduleConfig[];
|
|
72
72
|
/** The workflow body. `ctx` is the durable context; `input` is the run's typed input. */
|
|
73
73
|
abstract run(ctx: WorkflowCtx, input: unknown): unknown;
|
|
74
|
+
/**
|
|
75
|
+
* Optional inline dead-letter handler. When defined, discovery registers it as the workflow
|
|
76
|
+
* `<name>.dlq` (same version and origin) and routes this workflow's `dead` runs to it: it runs as a
|
|
77
|
+
* durable workflow of its own (`ctx` is ITS context) under the id `dlq:<deadRunId>`, with the
|
|
78
|
+
* dead run's {@link DeadLetter} as input, sharing this instance's constructor-injected services.
|
|
79
|
+
* Takes precedence over the config-level `deadLetterWorkflow`; declaring it together with
|
|
80
|
+
* `static workflow.deadLetterWorkflow` throws at boot.
|
|
81
|
+
*/
|
|
82
|
+
deadLetter?(ctx: WorkflowCtx, dead: DeadLetter): unknown;
|
|
74
83
|
/**
|
|
75
84
|
* Start a run and **wait for its result**. Outside a workflow, enqueues via the engine and blocks
|
|
76
85
|
* until the run settles, returning its output. Inside a running workflow, starts a **linked child**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-workflow.d.ts","sourceRoot":"","sources":["../../src/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"base-workflow.d.ts","sourceRoot":"","sources":["../../src/base-workflow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,eAAe,EACf,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,MAAM,uBAAuB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,YAAY,CAAC;AAEpF;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAIpF;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAAG,IAAI,CAE5F;AAWD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,8BAAsB,YAAY;IAChC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAElC;;;;;;;;OAQG;IACH,MAAM,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;IAEpE,yFAAyF;IACzF,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAExD;;;;;;;OAOG;IACH,UAAU,CAAC,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC;IAEzD;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,aAAa,EAClC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAsB9B;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,aAAa,EACrC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EACzB,IAAI,CAAC,EAAE,uBAAuB,GAC7B,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAiB5B;CACF"}
|