@adonis-agora/durable 0.6.0 → 0.7.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 +14 -0
- package/dist/providers/durable_provider.d.ts.map +1 -1
- package/dist/providers/durable_provider.js +41 -4
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +1 -1
- package/dist/src/dashboard/index.js +1 -1
- package/dist/src/define_config.d.ts +8 -0
- package/dist/src/define_config.d.ts.map +1 -1
- package/dist/src/define_config.js.map +1 -1
- package/dist/src/engine.d.ts +40 -2
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +129 -28
- package/dist/src/engine.js.map +1 -1
- package/dist/src/entities.js +2 -2
- package/dist/src/entities.js.map +1 -1
- package/dist/src/hooks/steps.d.ts +43 -0
- package/dist/src/hooks/steps.d.ts.map +1 -0
- package/dist/src/hooks/steps.js +46 -0
- package/dist/src/hooks/steps.js.map +1 -0
- package/dist/src/index.d.ts +5 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +5 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.d.ts +116 -42
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/step-discovery.d.ts +42 -0
- package/dist/src/step-discovery.d.ts.map +1 -0
- package/dist/src/step-discovery.js +127 -0
- package/dist/src/step-discovery.js.map +1 -0
- package/dist/src/step-name-symbol.d.ts +63 -0
- package/dist/src/step-name-symbol.d.ts.map +1 -0
- package/dist/src/step-name-symbol.js +42 -0
- package/dist/src/step-name-symbol.js.map +1 -0
- package/dist/src/step-ref.d.ts +70 -0
- package/dist/src/step-ref.d.ts.map +1 -0
- package/dist/src/step-ref.js +93 -0
- package/dist/src/step-ref.js.map +1 -0
- package/dist/src/tenant-group.d.ts +18 -0
- package/dist/src/tenant-group.d.ts.map +1 -0
- package/dist/src/tenant-group.js +24 -0
- package/dist/src/tenant-group.js.map +1 -0
- package/dist/src/testing-kit/state-store-conformance.js +2 -2
- package/dist/src/testing-kit/state-store-conformance.js.map +1 -1
- package/dist/src/testing-kit/transport-conformance.d.ts.map +1 -1
- package/dist/src/testing-kit/transport-conformance.js +7 -12
- package/dist/src/testing-kit/transport-conformance.js.map +1 -1
- package/dist/src/transports/db-schema.d.ts.map +1 -1
- package/dist/src/transports/db-schema.js +24 -4
- package/dist/src/transports/db-schema.js.map +1 -1
- package/dist/src/transports/db.d.ts +34 -5
- package/dist/src/transports/db.d.ts.map +1 -1
- package/dist/src/transports/db.js +58 -15
- package/dist/src/transports/db.js.map +1 -1
- package/dist/src/transports/queue.d.ts +15 -5
- package/dist/src/transports/queue.d.ts.map +1 -1
- package/dist/src/transports/queue.js +19 -17
- package/dist/src/transports/queue.js.map +1 -1
- package/dist/src/workflow-ctx.d.ts +27 -8
- package/dist/src/workflow-ctx.d.ts.map +1 -1
- package/dist/src/workflow-ctx.js +101 -16
- package/dist/src/workflow-ctx.js.map +1 -1
- package/dist/stubs/database/migrations/create_durable_transport_tables.stub +8 -4
- package/dist/stubs/make/workflow/main.stub +1 -1
- package/package.json +6 -1
- package/dist/src/remote-step-factory.d.ts +0 -15
- package/dist/src/remote-step-factory.d.ts.map +0 -1
- package/dist/src/remote-step-factory.js +0 -12
- package/dist/src/remote-step-factory.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @adonis-agora/durable
|
|
2
2
|
|
|
3
|
+
## 0.6.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`ef0a9da`](https://github.com/DavideCarvalho/adonis-durable/commit/ef0a9dab56eb492bb8daef4c06d56685ff42060d) - DbTransport now honors worker-pool namespaces. Previously the `db` transport
|
|
8
|
+
ignored namespaces entirely: two engines on different namespaces sharing one
|
|
9
|
+
transport table set would cross-claim each other's tasks/results/heartbeats/
|
|
10
|
+
control and could stall runs (a result claimed by the wrong engine wrote a
|
|
11
|
+
`completed` checkpoint before throwing `NamespaceMismatch`). Every transport
|
|
12
|
+
row now carries a `namespace` column and every claim is scoped to it, matching
|
|
13
|
+
the queue/event-emitter transports. `"default"` (and absent) is byte-compatible
|
|
14
|
+
with the pre-namespace scheme; pre-existing transport tables are auto-upgraded
|
|
15
|
+
(the `namespace` column is back-filled to `'default'`).
|
|
16
|
+
|
|
3
17
|
## 0.5.0
|
|
4
18
|
|
|
5
19
|
### Minor Changes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable_provider.d.ts","sourceRoot":"","sources":["../../providers/durable_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"durable_provider.d.ts","sourceRoot":"","sources":["../../providers/durable_provider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAwC/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe;;IAKtB,SAAS,CAAC,GAAG,EAAE,kBAAkB;gBAAvB,GAAG,EAAE,kBAAkB;IAE7C,QAAQ;IA6CR;;;;;;;;;;OAUG;IACG,IAAI;IA6GV;;;;;;OAMG;IACG,KAAK;IAOL,QAAQ;CAUf"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { pathToFileURL } from 'node:url';
|
|
2
|
-
import { InMemoryStateStore, InMemoryTransport, WorkflowEngine, attachDurableDiagnostics, registerWorkflowsFromBarrel, registerWorkflowsFromDir, } from '../src/index.js';
|
|
2
|
+
import { InMemoryStateStore, InMemoryTransport, WorkflowEngine, attachDurableDiagnostics, registerStepsFromBarrel, registerStepsFromDir, registerWorkflowsFromBarrel, registerWorkflowsFromDir, } from '../src/index.js';
|
|
3
3
|
const CONTEXT_ACCESSOR = Symbol.for('@agora/context:accessor');
|
|
4
4
|
/**
|
|
5
5
|
* Global slot `@adonis-agora/diagnostics-otel` publishes its `otelTraceparent` under: a
|
|
@@ -93,11 +93,48 @@ export default class DurableProvider {
|
|
|
93
93
|
const barrel = await this.#loadGeneratedWorkflowsBarrel();
|
|
94
94
|
if (barrel) {
|
|
95
95
|
await registerWorkflowsFromBarrel(engine, barrel);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// Fallback: no generated barrel — scan the configured directory at runtime.
|
|
99
|
+
const dir = this.app.makePath(config.workflowsPath ?? 'app/workflows');
|
|
100
|
+
await registerWorkflowsFromDir(engine, dir);
|
|
101
|
+
}
|
|
102
|
+
await this.#registerSteps(config);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Auto-register the `app/steps` convention: every `@Step` class / `defineStep(...)` handler is
|
|
106
|
+
* served BY NAME on the app's transport, so `ctx.step('name', input)` (or a typed ref) routes to it
|
|
107
|
+
* with no manual `transport.handle(...)`. Opt-out with `config.stepsPath = false`. Prefers the
|
|
108
|
+
* build-time barrel (`@adonis-agora/durable/hooks/steps`), falling back to a runtime directory scan.
|
|
109
|
+
* A transport that can't serve handlers (no `handle`) is skipped.
|
|
110
|
+
*/
|
|
111
|
+
async #registerSteps(config) {
|
|
112
|
+
if (config.stepsPath === false)
|
|
96
113
|
return;
|
|
114
|
+
const server = this.#transport;
|
|
115
|
+
if (!server || typeof server.handle !== 'function')
|
|
116
|
+
return;
|
|
117
|
+
const barrel = await this.#loadGeneratedStepsBarrel();
|
|
118
|
+
if (barrel) {
|
|
119
|
+
await registerStepsFromBarrel(server, barrel);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
const dir = this.app.makePath(config.stepsPath ?? 'app/steps');
|
|
123
|
+
await registerStepsFromDir(server, dir);
|
|
124
|
+
}
|
|
125
|
+
/** Best-effort import of the build-time steps barrel; `null` when absent (fall back to the scan). */
|
|
126
|
+
async #loadGeneratedStepsBarrel() {
|
|
127
|
+
const path = this.app.makePath('.adonisjs/durable/steps.js');
|
|
128
|
+
try {
|
|
129
|
+
const mod = (await import(pathToFileURL(path).href));
|
|
130
|
+
return mod.steps ?? null;
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
const code = err.code;
|
|
134
|
+
if (code === 'ERR_MODULE_NOT_FOUND' || code === 'ENOENT')
|
|
135
|
+
return null;
|
|
136
|
+
throw err;
|
|
97
137
|
}
|
|
98
|
-
// Fallback: no generated barrel — scan the configured directory at runtime.
|
|
99
|
-
const dir = this.app.makePath(config.workflowsPath ?? 'app/workflows');
|
|
100
|
-
await registerWorkflowsFromDir(engine, dir);
|
|
101
138
|
}
|
|
102
139
|
/**
|
|
103
140
|
* Best-effort import of the build-time workflows barrel the Assembler `init` hook generates. Returns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable_provider.js","sourceRoot":"","sources":["../../providers/durable_provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAEL,kBAAkB,EAClB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"durable_provider.js","sourceRoot":"","sources":["../../providers/durable_provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export declare const VERSION = "0.
|
|
2
|
+
export declare const VERSION = "0.7.0";
|
|
3
3
|
export { defineConfig, defaultAuthorize, resolveConfig } from './define_config.js';
|
|
4
4
|
export type { AuthorizeHook, DurableDashboardConfig, ResolvedDurableDashboardConfig, } from './define_config.js';
|
|
5
5
|
export { listRuns, getRun, retryRun, cancelRun, health, } from './handlers.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Keep in sync with this package's `version` in package.json. */
|
|
2
|
-
export const VERSION = '0.
|
|
2
|
+
export const VERSION = '0.7.0';
|
|
3
3
|
export { defineConfig, defaultAuthorize, resolveConfig } from './define_config.js';
|
|
4
4
|
export { listRuns, getRun, retryRun, cancelRun, health, } from './handlers.js';
|
|
5
5
|
export { renderDashboard } from './html.js';
|
|
@@ -86,6 +86,14 @@ export interface DurableConfig {
|
|
|
86
86
|
* hand with `engine.register(...)`). A missing directory is fine — nothing to register.
|
|
87
87
|
*/
|
|
88
88
|
workflowsPath?: string | false;
|
|
89
|
+
/**
|
|
90
|
+
* Directory (relative to the app root) the provider scans at boot for `@Step`-decorated classes and
|
|
91
|
+
* `defineStep(...)` handlers to auto-register on the app's transport — the `app/steps` convention,
|
|
92
|
+
* mirroring `app/workflows`. Each discovered handler is served by name so `ctx.step('name', input)`
|
|
93
|
+
* (or a typed ref) routes to it with zero manual `transport.handle(...)`. Default `'app/steps'`. Set
|
|
94
|
+
* `false` to disable (register by hand). A missing directory is fine — nothing to register.
|
|
95
|
+
*/
|
|
96
|
+
stepsPath?: string | false;
|
|
89
97
|
}
|
|
90
98
|
/** Identity helper giving `config/durable.ts` full type-checking. */
|
|
91
99
|
export declare function defineConfig(config?: DurableConfig): DurableConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAClD,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.d.ts","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,yBAAyB,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC9C;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACtC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,mBAAmB,CAAC;IAClD,kDAAkD;IAClD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gFAAgF;IAChF,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IAC/B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAC5B;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,MAAM,GAAE,aAAkB,GAAG,aAAa,CAEtE;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;AAC7C,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,GACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQ5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"define_config.js","sourceRoot":"","sources":["../../src/define_config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAQ5D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAoGrD,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,SAAwB,EAAE;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/src/engine.d.ts
CHANGED
|
@@ -16,6 +16,13 @@ export interface StartOptions {
|
|
|
16
16
|
* the engine dispatches to advance it. Higher wins; absent = unprioritised. See {@link WorkflowRun.priority}.
|
|
17
17
|
*/
|
|
18
18
|
priority?: number | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* Worker-pool partition to stamp on THIS run, overriding the engine's own `namespace` for it — the
|
|
21
|
+
* operator hook: a control-plane engine (its own namespace `undefined`/`default`) can route a run
|
|
22
|
+
* to a specific tenant's pool by passing that tenant here. Absent → the engine's namespace. Once
|
|
23
|
+
* stamped, the run is only picked up / resumed by an engine in the same namespace.
|
|
24
|
+
*/
|
|
25
|
+
namespace?: string | undefined;
|
|
19
26
|
}
|
|
20
27
|
/**
|
|
21
28
|
* Serialize runs of a workflow that share a key — a durable, FIFO mutex (e.g. one pipeline per base).
|
|
@@ -135,6 +142,14 @@ export interface WorkflowEngineDeps {
|
|
|
135
142
|
* run `runPending` on a worker pod to pick those up; or a broker-backed one for a worker pool.
|
|
136
143
|
*/
|
|
137
144
|
runDispatcher?: RunDispatcher | undefined;
|
|
145
|
+
/**
|
|
146
|
+
* Route a run of a workflow this engine has NO local registration for to a live worker group of the
|
|
147
|
+
* SAME name (bare group, no partition suffix), discovered via `pool.listWorkerGroups()` — the
|
|
148
|
+
* convention-dispatch opt-in. When on and `start`/`resume` sees an unregistered workflow whose name
|
|
149
|
+
* matches a live worker group, it auto-registers a remote workflow routed to that group; when off
|
|
150
|
+
* (the default), an unregistered workflow throws exactly as before. Existing behaviour is unchanged.
|
|
151
|
+
*/
|
|
152
|
+
remoteByConvention?: boolean | undefined;
|
|
138
153
|
}
|
|
139
154
|
/** Thrown by {@link WorkflowEngine.resume} when the run belongs to a different namespace. */
|
|
140
155
|
export declare class NamespaceMismatch extends Error {
|
|
@@ -150,6 +165,11 @@ export declare class WorkflowEngine {
|
|
|
150
165
|
private readonly store;
|
|
151
166
|
/** Ordered transport pool (dispatch + failover). Empty = no remote steps. */
|
|
152
167
|
private readonly pool;
|
|
168
|
+
/** The primary task transport (first of the pool), used to build an on-the-fly remote-workflow
|
|
169
|
+
* executor for {@link WorkflowEngineDeps.remoteByConvention}. Undefined when no transport is wired. */
|
|
170
|
+
private readonly primaryTransport?;
|
|
171
|
+
/** Convention-dispatch opt-in — see {@link WorkflowEngineDeps.remoteByConvention}. */
|
|
172
|
+
private readonly remoteByConvention;
|
|
153
173
|
private readonly controlPlane?;
|
|
154
174
|
private readonly clock;
|
|
155
175
|
private readonly instanceId;
|
|
@@ -252,7 +272,15 @@ export declare class WorkflowEngine {
|
|
|
252
272
|
validateInput?: (input: unknown) => void | Promise<void>;
|
|
253
273
|
}): void;
|
|
254
274
|
/**
|
|
255
|
-
*
|
|
275
|
+
* Convention-dispatch resolution (opt-in via {@link WorkflowEngineDeps.remoteByConvention}): when
|
|
276
|
+
* `name` isn't locally registered but a LIVE worker group of the same name exists, auto-register a
|
|
277
|
+
* remote workflow routed to that group (bare group, no partition) so its runs advance over the
|
|
278
|
+
* broker like any `registerRemote`'d one. Returns whether `name` is registered afterwards. A no-op
|
|
279
|
+
* (returns `false`) when the opt-in is off, no transport is wired, or no matching group is live.
|
|
280
|
+
*/
|
|
281
|
+
private ensureConventionWorkflow;
|
|
282
|
+
/**
|
|
283
|
+
* Register a flow-control queue referenced by `ctx.step(name, input, { queue })`. Caps concurrent
|
|
256
284
|
* in-flight steps and/or the admission rate; blocked calls re-suspend and retry, so the limit is
|
|
257
285
|
* durable. Per engine instance (see {@link QueueConfig}). Registering the same name replaces it.
|
|
258
286
|
*/
|
|
@@ -532,9 +560,19 @@ export declare class WorkflowEngine {
|
|
|
532
560
|
/**
|
|
533
561
|
* Run one saga compensation, retried up to `compensationRetries`, emitting a `compensate:<step>`
|
|
534
562
|
* step event for its outcome so a stranded undo is visible. Never throws — a permanently-failing
|
|
535
|
-
* compensation is skipped so it can't mask the original failure.
|
|
563
|
+
* compensation is skipped so it can't mask the original failure. Handles both compensation shapes:
|
|
564
|
+
* a LOCAL `fn` (run in-process) and a DISPATCHED undo (an ordinary step def sent to a worker and
|
|
565
|
+
* awaited inline — the worker serving its name runs it with the {@link StepUndo} envelope).
|
|
536
566
|
*/
|
|
537
567
|
private runCompensation;
|
|
568
|
+
/**
|
|
569
|
+
* Dispatch a saga undo step to a worker and await its result INLINE (the saga unwind already runs
|
|
570
|
+
* outside the positional replay, so this is not checkpointed — it's a one-shot dispatch + await).
|
|
571
|
+
* Routes by the undo def's own name/partition token, applies its own optional input schema, and
|
|
572
|
+
* honours its own liveness `timeoutMs` via the heartbeat window. Throws on a worker-reported failure
|
|
573
|
+
* or timeout so `runCompensation`'s retry/skip logic applies uniformly to both compensation shapes.
|
|
574
|
+
*/
|
|
575
|
+
private dispatchCompensation;
|
|
538
576
|
/** The seam handed to {@link createWorkflowCtx}: the authoring API reaches durability + lifecycle
|
|
539
577
|
* (checkpointing, dispatch, child start) through this, so the ctx primitives live in their own
|
|
540
578
|
* module and the engine stays the orchestrator. */
|
package/dist/src/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,gBAAgB,EAA4B,MAAM,gBAAgB,CAAC;AAKjF,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAS5D,OAAO,EAAqB,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEnF,OAAO,KAAK,EACV,YAAY,EAEZ,cAAc,EACd,WAAW,EACX,cAAc,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|