@adonis-agora/durable 0.6.1 → 0.8.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 +64 -0
- package/README.md +1 -1
- package/dist/commands/main.d.ts +3 -2
- package/dist/commands/main.d.ts.map +1 -1
- package/dist/commands/main.js +3 -2
- package/dist/commands/main.js.map +1 -1
- package/dist/commands/make_workflow.d.ts +4 -3
- package/dist/commands/make_workflow.d.ts.map +1 -1
- package/dist/commands/make_workflow.js +4 -3
- package/dist/commands/make_workflow.js.map +1 -1
- package/dist/configure.d.ts +6 -5
- package/dist/configure.d.ts.map +1 -1
- package/dist/configure.js +9 -6
- package/dist/configure.js.map +1 -1
- package/dist/providers/dashboard_provider.d.ts +34 -3
- package/dist/providers/dashboard_provider.d.ts.map +1 -1
- package/dist/providers/dashboard_provider.js +110 -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 +41 -4
- package/dist/providers/durable_provider.js.map +1 -1
- package/dist/src/base-workflow.d.ts +78 -0
- package/dist/src/base-workflow.d.ts.map +1 -0
- package/dist/src/base-workflow.js +106 -0
- package/dist/src/base-workflow.js.map +1 -0
- package/dist/src/codec-state-store.d.ts +13 -0
- package/dist/src/codec-state-store.d.ts.map +1 -1
- package/dist/src/codec-state-store.js +13 -0
- package/dist/src/codec-state-store.js.map +1 -1
- package/dist/src/control-flow-signal.d.ts +50 -0
- package/dist/src/control-flow-signal.d.ts.map +1 -0
- package/dist/src/control-flow-signal.js +54 -0
- package/dist/src/control-flow-signal.js.map +1 -0
- package/dist/src/control-plane-redis/redis-control-plane.d.ts +57 -5
- package/dist/src/control-plane-redis/redis-control-plane.d.ts.map +1 -1
- package/dist/src/control-plane-redis/redis-control-plane.js +100 -2
- package/dist/src/control-plane-redis/redis-control-plane.js.map +1 -1
- package/dist/src/dashboard/auth.d.ts +89 -0
- package/dist/src/dashboard/auth.d.ts.map +1 -0
- package/dist/src/dashboard/auth.js +113 -0
- package/dist/src/dashboard/auth.js.map +1 -0
- package/dist/src/dashboard/define_config.d.ts +17 -0
- package/dist/src/dashboard/define_config.d.ts.map +1 -1
- package/dist/src/dashboard/define_config.js +23 -1
- package/dist/src/dashboard/define_config.js.map +1 -1
- package/dist/src/dashboard/index.d.ts +6 -1
- package/dist/src/dashboard/index.d.ts.map +1 -1
- package/dist/src/dashboard/index.js +5 -1
- package/dist/src/dashboard/index.js.map +1 -1
- package/dist/src/dashboard/login_page.d.ts +23 -0
- package/dist/src/dashboard/login_page.d.ts.map +1 -0
- package/dist/src/dashboard/login_page.js +170 -0
- package/dist/src/dashboard/login_page.js.map +1 -0
- package/dist/src/dashboard/session_cookie.d.ts +42 -0
- package/dist/src/dashboard/session_cookie.d.ts.map +1 -0
- package/dist/src/dashboard/session_cookie.js +97 -0
- package/dist/src/dashboard/session_cookie.js.map +1 -0
- package/dist/src/define_config.d.ts +11 -2
- 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 +91 -3
- package/dist/src/engine.d.ts.map +1 -1
- package/dist/src/engine.js +331 -44
- 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/errors.d.ts +6 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/errors.js +7 -2
- package/dist/src/errors.js.map +1 -1
- package/dist/src/event-accumulators.d.ts +1 -1
- package/dist/src/event-accumulators.d.ts.map +1 -1
- package/dist/src/events.d.ts +16 -0
- package/dist/src/events.d.ts.map +1 -1
- package/dist/src/events.js +26 -1
- package/dist/src/events.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/hooks/workflows.d.ts +3 -2
- package/dist/src/hooks/workflows.d.ts.map +1 -1
- package/dist/src/hooks/workflows.js +3 -2
- package/dist/src/hooks/workflows.js.map +1 -1
- package/dist/src/index.d.ts +8 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -2
- package/dist/src/index.js.map +1 -1
- package/dist/src/interfaces.d.ts +160 -43
- package/dist/src/interfaces.d.ts.map +1 -1
- package/dist/src/services/main.d.ts +13 -0
- package/dist/src/services/main.d.ts.map +1 -0
- package/dist/src/services/main.js +17 -0
- package/dist/src/services/main.js.map +1 -0
- 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/stores/lucid-schema.d.ts +1 -0
- package/dist/src/stores/lucid-schema.d.ts.map +1 -1
- package/dist/src/stores/lucid-schema.js +15 -0
- package/dist/src/stores/lucid-schema.js.map +1 -1
- package/dist/src/stores/lucid.d.ts +13 -0
- package/dist/src/stores/lucid.d.ts.map +1 -1
- package/dist/src/stores/lucid.js +43 -0
- package/dist/src/stores/lucid.js.map +1 -1
- 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/in-memory-state-store.d.ts +16 -0
- package/dist/src/testing/in-memory-state-store.d.ts.map +1 -1
- package/dist/src/testing/in-memory-state-store.js +29 -0
- package/dist/src/testing/in-memory-state-store.js.map +1 -1
- package/dist/src/testing-kit/state-store-conformance.d.ts.map +1 -1
- package/dist/src/testing-kit/state-store-conformance.js +33 -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.d.ts +14 -5
- package/dist/src/transports/db.d.ts.map +1 -1
- package/dist/src/transports/db.js +20 -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-als.d.ts +21 -0
- package/dist/src/workflow-als.d.ts.map +1 -0
- package/dist/src/workflow-als.js +22 -0
- package/dist/src/workflow-als.js.map +1 -0
- 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 +183 -19
- package/dist/src/workflow-ctx.js.map +1 -1
- package/dist/src/workflow-discovery.d.ts +21 -15
- package/dist/src/workflow-discovery.d.ts.map +1 -1
- package/dist/src/workflow-discovery.js +17 -13
- package/dist/src/workflow-discovery.js.map +1 -1
- package/dist/src/workflow-ref.d.ts +9 -27
- package/dist/src/workflow-ref.d.ts.map +1 -1
- package/dist/src/workflow-ref.js +12 -34
- package/dist/src/workflow-ref.js.map +1 -1
- package/dist/stubs/database/migrations/create_durable_tables.stub +13 -1
- package/dist/stubs/make/workflow/main.stub +5 -4
- package/package.json +11 -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
|
@@ -8,11 +8,18 @@ export interface DbTransportOptions {
|
|
|
8
8
|
*/
|
|
9
9
|
db: Database;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* —
|
|
13
|
-
*
|
|
11
|
+
* @deprecated Steps are now routed BY HANDLER NAME, so this instance serves whatever names it
|
|
12
|
+
* `handle()`s — no group to declare. Accepted for back-compat / parity and otherwise ignored (the
|
|
13
|
+
* task poll loop claims rows for every registered handler name's routing token). Use
|
|
14
|
+
* {@link partition} for isolation.
|
|
14
15
|
*/
|
|
15
16
|
group?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Optional isolation partition suffixing every per-handler routing token this worker claims
|
|
19
|
+
* (`<name>@<partition>`), matching the `partition` a dispatch carries. Unset (or `'default'`)
|
|
20
|
+
* claims the bare (sanitized) handler-name tokens.
|
|
21
|
+
*/
|
|
22
|
+
partition?: string;
|
|
16
23
|
/**
|
|
17
24
|
* Logical deployment namespace, stamped on every row this instance writes and required on every row
|
|
18
25
|
* it claims, so the same backend tables can host several worker-pool partitions without their
|
|
@@ -77,8 +84,10 @@ export declare class DbTransport implements Transport, ControlPlane {
|
|
|
77
84
|
useNamespace(namespace: string): void;
|
|
78
85
|
dispatch(task: RemoteTask): Promise<void>;
|
|
79
86
|
/**
|
|
80
|
-
* Register a step handler (worker side).
|
|
81
|
-
*
|
|
87
|
+
* Register a step handler (worker side). Records this name's routing token
|
|
88
|
+
* (`tenantGroup(sanitizeQueueToken(name), partition)`) as served and starts the shared task poll
|
|
89
|
+
* loop on the first call — it claims task rows for EVERY served token (matching the token the
|
|
90
|
+
* engine dispatches by), runs each through {@link runStepHandler}, and writes the result.
|
|
82
91
|
*/
|
|
83
92
|
handle(name: string, fn: StepHandler): void;
|
|
84
93
|
/** Worker side: publish a liveness heartbeat for an in-flight long step. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/transports/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../src/transports/db.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAKzD,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAsElE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,EAAE,EAAE,QAAQ,CAAC;IACb;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,4GAA4G;IAC5G,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0GAA0G;IAC1G,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,qBAAa,WAAY,YAAW,SAAS,EAAE,YAAY;;gBAuB7C,OAAO,EAAE,kBAAkB;IAcvC,yEAAyE;IACzE,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA6B/B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC/C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI;IAQ3C,4EAA4E;IACtE,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D/C,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI9D,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAyCxD,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAcxD,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI;IAwFvD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAK5B,kEAAkE;IAC5D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,mFAAmF;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { Pollers } from '../pollers.js';
|
|
3
3
|
import { runStepHandler } from '../protocol.js';
|
|
4
|
+
import { sanitizeQueueToken, tenantGroup } from '../tenant-group.js';
|
|
4
5
|
import { TRANSPORT_TABLES, createDurableTransportTables } from './db-schema.js';
|
|
5
6
|
/**
|
|
6
7
|
* The wire payloads carried in the DB transport's table rows. Everything crossing the DB is plain
|
|
@@ -56,7 +57,10 @@ const DEFAULT_LOG = (err) => console.error('[DbTransport] poll failed', err);
|
|
|
56
57
|
*/
|
|
57
58
|
export class DbTransport {
|
|
58
59
|
#db;
|
|
59
|
-
#
|
|
60
|
+
#partition;
|
|
61
|
+
/** Routing tokens this worker serves — `tenantGroup(sanitizeQueueToken(name), partition)` for each
|
|
62
|
+
* registered handler name; the task loop claims rows whose `grp` is in this set. */
|
|
63
|
+
#servedTokens = new Set();
|
|
60
64
|
// Logical deployment namespace stamped on every write and required on every claim. Mutable so an
|
|
61
65
|
// engine can push its namespace via `useNamespace()` — but only when one wasn't passed explicitly to
|
|
62
66
|
// the constructor (`#explicitNamespace`), which always wins. Resolved to a concrete column value
|
|
@@ -75,7 +79,7 @@ export class DbTransport {
|
|
|
75
79
|
#taskLoop;
|
|
76
80
|
constructor(options) {
|
|
77
81
|
this.#db = options.db;
|
|
78
|
-
this.#
|
|
82
|
+
this.#partition = options.partition;
|
|
79
83
|
this.#namespace = options.namespace;
|
|
80
84
|
this.#explicitNamespace = options.namespace !== undefined;
|
|
81
85
|
this.#connectionName = options.connectionName;
|
|
@@ -152,17 +156,16 @@ export class DbTransport {
|
|
|
152
156
|
// worker side — register a handler, claim + run tasks, write results
|
|
153
157
|
// ───────────────────────────────────────────────────────────────────────────
|
|
154
158
|
/**
|
|
155
|
-
* Register a step handler (worker side).
|
|
156
|
-
*
|
|
159
|
+
* Register a step handler (worker side). Records this name's routing token
|
|
160
|
+
* (`tenantGroup(sanitizeQueueToken(name), partition)`) as served and starts the shared task poll
|
|
161
|
+
* loop on the first call — it claims task rows for EVERY served token (matching the token the
|
|
162
|
+
* engine dispatches by), runs each through {@link runStepHandler}, and writes the result.
|
|
157
163
|
*/
|
|
158
164
|
handle(name, fn) {
|
|
159
|
-
if (!this.#group) {
|
|
160
|
-
throw new Error('DbTransport needs a `group` option to register handlers');
|
|
161
|
-
}
|
|
162
165
|
this.#handlers.set(name, fn);
|
|
166
|
+
this.#servedTokens.add(tenantGroup(sanitizeQueueToken(name), this.#partition));
|
|
163
167
|
if (!this.#taskLoop) {
|
|
164
|
-
|
|
165
|
-
this.#taskLoop = this.#pollers.start(async () => (await this.#drainTasks(group)) > 0);
|
|
168
|
+
this.#taskLoop = this.#pollers.start(async () => (await this.#drainTasks()) > 0);
|
|
166
169
|
}
|
|
167
170
|
}
|
|
168
171
|
/** Worker side: publish a liveness heartbeat for an in-flight long step. */
|
|
@@ -179,15 +182,17 @@ export class DbTransport {
|
|
|
179
182
|
created_at: this.#now(),
|
|
180
183
|
});
|
|
181
184
|
}
|
|
182
|
-
async #drainTasks(
|
|
183
|
-
|
|
185
|
+
async #drainTasks() {
|
|
186
|
+
if (this.#servedTokens.size === 0)
|
|
187
|
+
return 0;
|
|
188
|
+
const rows = await this.#claim(TRANSPORT_TABLES.tasks, [...this.#servedTokens]);
|
|
184
189
|
for (const row of rows) {
|
|
185
190
|
const task = {
|
|
186
191
|
runId: row.run_id,
|
|
187
192
|
seq: Number(row.seq),
|
|
188
193
|
stepId: row.step_id,
|
|
189
194
|
name: row.name,
|
|
190
|
-
group,
|
|
195
|
+
group: row.grp,
|
|
191
196
|
input: fromJson(row.input),
|
|
192
197
|
attempt: Number(row.attempt),
|
|
193
198
|
...(row.traceparent != null ? { traceparent: row.traceparent } : {}),
|
|
@@ -304,7 +309,7 @@ export class DbTransport {
|
|
|
304
309
|
* `claimed_at` is set to a unique, strictly-increasing-per-round value so the SELECT-back is exact
|
|
305
310
|
* even when the same instance claims several rounds in quick succession.
|
|
306
311
|
*/
|
|
307
|
-
async #claim(table,
|
|
312
|
+
async #claim(table, groups, idCol = 'step_id') {
|
|
308
313
|
await this.#ensureSchema();
|
|
309
314
|
// The raw Knex builder — `onConflict`, the `where(cb)` grouping and `whereIn` are cleaner there
|
|
310
315
|
// than through Lucid's stricter query-builder typings, and we only need plain SQL here.
|
|
@@ -325,8 +330,8 @@ export class DbTransport {
|
|
|
325
330
|
.select(idCol)
|
|
326
331
|
.where('namespace', namespace)
|
|
327
332
|
.modify((q) => {
|
|
328
|
-
if (
|
|
329
|
-
q.
|
|
333
|
+
if (groups !== undefined)
|
|
334
|
+
q.whereIn('grp', groups);
|
|
330
335
|
})
|
|
331
336
|
.where((q) => q.whereNull('claimed_at').orWhere('claimed_at', '<', stale))
|
|
332
337
|
.orderBy(idCol === 'id' ? 'id' : 'created_at', 'asc')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/transports/db.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/transports/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,11 +30,19 @@ export interface QueueTransportOptions {
|
|
|
30
30
|
*/
|
|
31
31
|
adapter: AdapterFactory;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
33
|
+
* @deprecated Steps are now routed BY HANDLER NAME, so this instance serves whatever names it
|
|
34
|
+
* `handle()`s — no group to declare. Accepted for back-compat / parity with the pre-redesign API
|
|
35
|
+
* and otherwise ignored (a worker subscribes to one task queue PER registered handler name). Use
|
|
36
|
+
* {@link partition} for isolation.
|
|
36
37
|
*/
|
|
37
38
|
group?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Optional isolation partition suffixing every per-handler tasks queue this worker subscribes to
|
|
41
|
+
* (`<name>@<partition>`), matching the `partition` a dispatch carries — so the same backend can
|
|
42
|
+
* host several worker pools serving the same handler name without their tasks crossing. Unset (or
|
|
43
|
+
* `'default'`) subscribes to the bare (sanitized) handler-name queue.
|
|
44
|
+
*/
|
|
45
|
+
partition?: string;
|
|
38
46
|
/** Queue-name prefix so several apps can share one backend without colliding. Default `durable`. */
|
|
39
47
|
prefix?: string;
|
|
40
48
|
/**
|
|
@@ -82,8 +90,10 @@ export declare class QueueTransport implements Transport, ControlPlane {
|
|
|
82
90
|
useNamespace(namespace: string): void;
|
|
83
91
|
dispatch(task: RemoteTask): Promise<void>;
|
|
84
92
|
/**
|
|
85
|
-
* Register a step handler (worker side). Starts
|
|
86
|
-
*
|
|
93
|
+
* Register a step handler (worker side). Starts a DEDICATED task poll loop for `name` on its own
|
|
94
|
+
* routing-token queue (`tenantGroup(sanitizeQueueToken(name), partition)`) on first registration —
|
|
95
|
+
* one queue per handler name, never a single group queue — so it matches the token the engine
|
|
96
|
+
* dispatches by (see `engine.callRemote`). Re-registering a name just swaps the handler fn.
|
|
87
97
|
*/
|
|
88
98
|
handle(name: string, fn: StepHandler): void;
|
|
89
99
|
/** Worker side: publish a liveness heartbeat for an in-flight long step. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/transports/queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,cAAc,EAAW,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../src/transports/queue.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwB,cAAc,EAAW,MAAM,uBAAuB,CAAC;AAC3F,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,SAAS,EACf,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,gBAAgB,CAAC;AAGlE;;;;;;GAMG;AAEH,iGAAiG;AACjG,wBAAgB,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAErC;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,CAO7C;AAED,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC;AACrC,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC;AACvC,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACzC,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC;AAc5C;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAItE;AAED,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,OAAO,EAAE,cAAc,CAAC;IACxB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qFAAqF;IACrF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gGAAgG;IAChG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAe,YAAW,SAAS,EAAE,YAAY;;gBAiBhD,OAAO,EAAE,qBAAqB;IAa1C,0DAA0D;IAC1D,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAkD/B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAW/C;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI;IAc3C,4EAA4E;IACtE,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAM9D,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAUxD,cAAc,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAKxD,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,IAAI,GAAG,IAAI;IAsCvD,4EAA4E;IACtE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAK7B"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { Pollers } from '../pollers.js';
|
|
3
3
|
import { runStepHandler } from '../protocol.js';
|
|
4
|
+
import { sanitizeQueueToken, tenantGroup } from '../tenant-group.js';
|
|
4
5
|
/**
|
|
5
6
|
* The wire payloads carried as a queue job's `payload`. Everything that crosses the queue is plain
|
|
6
7
|
* JSON — a `RemoteTask` (engine → worker), a `StepResult` / `Heartbeat` (worker → engine) and a
|
|
@@ -63,7 +64,7 @@ export function toBrokerPriority(priority) {
|
|
|
63
64
|
*/
|
|
64
65
|
export class QueueTransport {
|
|
65
66
|
#adapter;
|
|
66
|
-
#
|
|
67
|
+
#partition;
|
|
67
68
|
#prefix;
|
|
68
69
|
// Logical deployment namespace folded into every queue name via `#effectivePrefix()`. Mutable so an
|
|
69
70
|
// engine can push its namespace onto a transport via `useNamespace()` — but only when one wasn't
|
|
@@ -74,10 +75,12 @@ export class QueueTransport {
|
|
|
74
75
|
#instanceId;
|
|
75
76
|
#handlers = new Map();
|
|
76
77
|
#pollers;
|
|
77
|
-
|
|
78
|
+
/** One task poll loop per subscribed routing token (`tenantGroup(sanitizeQueueToken(name), partition)`)
|
|
79
|
+
* — a dedicated queue per handler name, never a single shared group queue. */
|
|
80
|
+
#taskLoops = new Map();
|
|
78
81
|
constructor(options) {
|
|
79
82
|
this.#adapter = options.adapter();
|
|
80
|
-
this.#
|
|
83
|
+
this.#partition = options.partition;
|
|
81
84
|
this.#prefix = options.prefix ?? 'durable';
|
|
82
85
|
this.#namespace = options.namespace;
|
|
83
86
|
this.#explicitNamespace = options.namespace !== undefined;
|
|
@@ -149,22 +152,21 @@ export class QueueTransport {
|
|
|
149
152
|
// worker side — register a step handler, run it, push the result back
|
|
150
153
|
// ---------------------------------------------------------------------------
|
|
151
154
|
/**
|
|
152
|
-
* Register a step handler (worker side). Starts
|
|
153
|
-
*
|
|
155
|
+
* Register a step handler (worker side). Starts a DEDICATED task poll loop for `name` on its own
|
|
156
|
+
* routing-token queue (`tenantGroup(sanitizeQueueToken(name), partition)`) on first registration —
|
|
157
|
+
* one queue per handler name, never a single group queue — so it matches the token the engine
|
|
158
|
+
* dispatches by (see `engine.callRemote`). Re-registering a name just swaps the handler fn.
|
|
154
159
|
*/
|
|
155
160
|
handle(name, fn) {
|
|
156
|
-
if (!this.#group) {
|
|
157
|
-
throw new Error('QueueTransport needs a `group` option to register handlers');
|
|
158
|
-
}
|
|
159
161
|
this.#handlers.set(name, fn);
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
}
|
|
162
|
+
const token = tenantGroup(sanitizeQueueToken(name), this.#partition);
|
|
163
|
+
if (this.#taskLoops.has(token))
|
|
164
|
+
return;
|
|
165
|
+
this.#taskLoops.set(token, this.#startLoop(this.#tasksQueue(token), async (job) => {
|
|
166
|
+
const task = fromJson(job.payload);
|
|
167
|
+
const result = await runStepHandler(task, this.#handlers.get(task.name));
|
|
168
|
+
await this.#adapter.pushOn(this.#resultsQueue(), this.#job('result', result));
|
|
169
|
+
}));
|
|
168
170
|
}
|
|
169
171
|
/** Worker side: publish a liveness heartbeat for an in-flight long step. */
|
|
170
172
|
async heartbeat(beat) {
|
|
@@ -231,7 +233,7 @@ export class QueueTransport {
|
|
|
231
233
|
/** Stop every poll loop and destroy the adapter so the process can exit. */
|
|
232
234
|
async close() {
|
|
233
235
|
this.#pollers.stopAll();
|
|
234
|
-
this.#
|
|
236
|
+
this.#taskLoops.clear();
|
|
235
237
|
await this.#adapter.destroy();
|
|
236
238
|
}
|
|
237
239
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/transports/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAoB,cAAc,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../src/transports/queue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAUzC,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAoB,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAErE;;;;;;GAMG;AAEH,iGAAiG;AACjG,MAAM,UAAU,MAAM,CAAI,KAAQ;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAM,CAAC;AAChD,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,QAAQ,CAAI,KAAc;IACxC,uFAAuF;IACvF,mFAAmF;IACnF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAM,CAAC;IAChC,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC;AAOD,2FAA2F;AAC3F,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC,qGAAqG;AACrG,oGAAoG;AACpG,sGAAsG;AACtG,oGAAoG;AACpG,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAC;AAC9B,MAAM,mBAAmB,GAAG,EAAE,CAAC;AAC/B,MAAM,wBAAwB,GAAG,CAAC,CAAC;AAEnC;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAiB;IAChD,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,wBAAwB,GAAG,QAAQ,CAAC,CAAC;IAC/D,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9E,CAAC;AAuCD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,OAAO,cAAc;IAChB,QAAQ,CAAU;IAClB,UAAU,CAAqB;IAC/B,OAAO,CAAS;IACzB,oGAAoG;IACpG,iGAAiG;IACjG,kFAAkF;IAClF,UAAU,CAAqB;IACtB,kBAAkB,CAAU;IAC5B,eAAe,CAAS;IACxB,WAAW,CAAS;IACpB,SAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC3C,QAAQ,CAAU;IAC3B;mFAC+E;IACtE,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAElD,YAAY,OAA8B;QACxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC;QAC1D,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,IAAI,wBAAwB,CAAC;QAC1E,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;QACtD,8EAA8E;QAC9E,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,0DAA0D;IAC1D,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,SAAiB;QAC5B,IAAI,IAAI,CAAC,kBAAkB;YAAE,OAAO;QACpC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS;YACrD,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,EAAE;YACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;IACnB,CAAC;IAED,WAAW,CAAC,KAAa;QACvB,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,KAAK,EAAE,CAAC;IACrD,CAAC;IACD,aAAa;QACX,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC9C,CAAC;IACD,gBAAgB;QACd,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC;IACjD,CAAC;IACD,aAAa;QACX,OAAO,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,IAAY,EAAE,OAAgB,EAAE,QAAiB;QACpD,MAAM,cAAc,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAClD,OAAO;YACL,EAAE,EAAE,UAAU,EAAE;YAChB,IAAI;YACJ,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC;YACxB,QAAQ,EAAE,CAAC;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,GAAG,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChE,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,kBAAkB;IAClB,8EAA8E;IAE9E,KAAK,CAAC,QAAQ,CAAC,IAAgB;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAC5B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CACvC,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,sEAAsE;IACtE,8EAA8E;IAE9E;;;;;OAKG;IACH,MAAM,CAAC,IAAY,EAAE,EAAe;QAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC;YAAE,OAAO;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CACjB,KAAK,EACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,IAAI,GAAG,QAAQ,CAAc,GAAG,CAAC,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAChF,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,SAAS,CAAC,IAAe;QAC7B,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IAED,8EAA8E;IAC9E,6DAA6D;IAC7D,8EAA8E;IAE9E,QAAQ,CAAC,OAA8C;QACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,MAAM,OAAO,CAAC,QAAQ,CAAgB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,OAA2C;QACrD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACrD,MAAM,OAAO,CAAC,QAAQ,CAAmB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,8CAA8C;IAC9C,8EAA8E;IAE9E,KAAK,CAAC,cAAc,CAAC,GAAmB;QACtC,MAAM,OAAO,GAAmB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;QACpF,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,SAAS,CAAC,OAAsC;QAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAClD,OAAO,CAAC,QAAQ,CAAiB,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,8EAA8E;IAC9E,YAAY;IACZ,8EAA8E;IAE9E;;;;;OAKG;IACH,UAAU,CAAC,KAAa,EAAE,KAAsC;QAC9D,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;YACpC,IAAI,GAAuB,CAAC;YAC5B,IAAI,CAAC;gBACH,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC;gBACP,yEAAyE;gBACzE,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,CAAC,GAAG;gBAAE,OAAO,KAAK,CAAC;YACvB,IAAI,CAAC;gBACH,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;gBACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,CAAC,QAAQ;qBAChB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;qBAC3E,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAC5E,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;CACF"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
import type { WorkflowCtx } from './interfaces.js';
|
|
3
|
+
/**
|
|
4
|
+
* Ambient, per-run-turn {@link WorkflowCtx}. The engine wraps each body turn (`fn(ctx, input)`, and
|
|
5
|
+
* every replay of it) in `workflowAls.run(ctx, …)`, so any code reachable from the body — including a
|
|
6
|
+
* `BaseWorkflow` static like `Inner.start(...)` — can read the *current* run's ctx without threading
|
|
7
|
+
* it through every call. Node's ALS is await-safe, so the ambient ctx propagates across the body's
|
|
8
|
+
* `await` chain for the whole turn and is re-established on each replay (correct: a replay is a fresh
|
|
9
|
+
* turn with its own ctx). The explicit `ctx` param stays the guaranteed accessor; this is the
|
|
10
|
+
* convenience the context-aware statics read.
|
|
11
|
+
*/
|
|
12
|
+
export declare const workflowAls: AsyncLocalStorage<WorkflowCtx>;
|
|
13
|
+
/**
|
|
14
|
+
* The {@link WorkflowCtx} of the workflow run currently executing on this async call stack, or
|
|
15
|
+
* `undefined` when called outside any run (a controller, service, script, or job). `BaseWorkflow`'s
|
|
16
|
+
* static `start`/`dispatch` read this to route: a defined ctx means "inside a running workflow" (go
|
|
17
|
+
* through `ctx.child`/`ctx.startChild` to stay deterministic); `undefined` means "outside" (go
|
|
18
|
+
* through the engine). Must be read within the run's synchronous await flow — the normal case.
|
|
19
|
+
*/
|
|
20
|
+
export declare function getCurrentWorkflowCtx(): WorkflowCtx | undefined;
|
|
21
|
+
//# sourceMappingURL=workflow-als.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-als.d.ts","sourceRoot":"","sources":["../../src/workflow-als.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,gCAAuC,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,GAAG,SAAS,CAE/D"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { AsyncLocalStorage } from 'node:async_hooks';
|
|
2
|
+
/**
|
|
3
|
+
* Ambient, per-run-turn {@link WorkflowCtx}. The engine wraps each body turn (`fn(ctx, input)`, and
|
|
4
|
+
* every replay of it) in `workflowAls.run(ctx, …)`, so any code reachable from the body — including a
|
|
5
|
+
* `BaseWorkflow` static like `Inner.start(...)` — can read the *current* run's ctx without threading
|
|
6
|
+
* it through every call. Node's ALS is await-safe, so the ambient ctx propagates across the body's
|
|
7
|
+
* `await` chain for the whole turn and is re-established on each replay (correct: a replay is a fresh
|
|
8
|
+
* turn with its own ctx). The explicit `ctx` param stays the guaranteed accessor; this is the
|
|
9
|
+
* convenience the context-aware statics read.
|
|
10
|
+
*/
|
|
11
|
+
export const workflowAls = new AsyncLocalStorage();
|
|
12
|
+
/**
|
|
13
|
+
* The {@link WorkflowCtx} of the workflow run currently executing on this async call stack, or
|
|
14
|
+
* `undefined` when called outside any run (a controller, service, script, or job). `BaseWorkflow`'s
|
|
15
|
+
* static `start`/`dispatch` read this to route: a defined ctx means "inside a running workflow" (go
|
|
16
|
+
* through `ctx.child`/`ctx.startChild` to stay deterministic); `undefined` means "outside" (go
|
|
17
|
+
* through the engine). Must be read within the run's synchronous await flow — the normal case.
|
|
18
|
+
*/
|
|
19
|
+
export function getCurrentWorkflowCtx() {
|
|
20
|
+
return workflowAls.getStore();
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=workflow-als.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-als.js","sourceRoot":"","sources":["../../src/workflow-als.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,iBAAiB,EAAe,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC;AAChC,CAAC"}
|
|
@@ -1,9 +1,22 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/**
|
|
3
|
-
|
|
1
|
+
import type { SearchAttributes, StateStore, StepCheckpoint, StepDef, StepError, StepEvent, StepInvocation, StepKind, StepUndo, WorkflowCtx } from './interfaces.js';
|
|
2
|
+
/**
|
|
3
|
+
* A saga undo registered by a completed step, kept with its step name for visibility on failure.
|
|
4
|
+
* Two shapes, pushed onto the SAME `compensations` stack so the engine unwinds them together in one
|
|
5
|
+
* strict reverse-completion order, regardless of which kind each one is:
|
|
6
|
+
* - `fn`: a LOCAL undo (`ctx.localStep`'s `compensate` closure) — run in-process at unwind time.
|
|
7
|
+
* - `dispatch`: a DISPATCHED undo (`ctx.step`'s `compensate` ref/string) — an ordinary step def the
|
|
8
|
+
* engine dispatches to a worker at unwind time, called with the {@link StepUndo} envelope (`args`).
|
|
9
|
+
*/
|
|
10
|
+
export type Compensation = {
|
|
4
11
|
name: string;
|
|
5
12
|
fn: () => Promise<void>;
|
|
6
|
-
}
|
|
13
|
+
} | {
|
|
14
|
+
name: string;
|
|
15
|
+
dispatch: {
|
|
16
|
+
def: StepDef<StepUndo<unknown, unknown>, unknown>;
|
|
17
|
+
args: StepUndo<unknown, unknown>;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
7
20
|
/** A finished local step the host should checkpoint and announce (completed or failed). */
|
|
8
21
|
export interface StepRecord {
|
|
9
22
|
runId: string;
|
|
@@ -43,7 +56,7 @@ export interface CtxHost {
|
|
|
43
56
|
failStep(step: StepRecord & {
|
|
44
57
|
error: StepError;
|
|
45
58
|
}): Promise<void>;
|
|
46
|
-
callRemote<TInput, TOutput>(runId: string, seq: number, step:
|
|
59
|
+
callRemote<TInput, TOutput>(runId: string, seq: number, step: StepDef<TInput, TOutput>, input: TInput, queue?: string, transport?: string, admission?: {
|
|
47
60
|
priority?: number | undefined;
|
|
48
61
|
fairnessKey?: string | undefined;
|
|
49
62
|
}): Promise<TOutput>;
|
|
@@ -56,11 +69,17 @@ export interface CtxHost {
|
|
|
56
69
|
/** Run a local step body through the registered step interceptors (identity if none). */
|
|
57
70
|
interceptStep?<T>(invocation: StepInvocation, body: () => Promise<T>): Promise<T>;
|
|
58
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* {@link WorkflowCtx} plus the in-process `localStep` primitive. `localStep` is public on
|
|
74
|
+
* `WorkflowCtx` too, so this is just a documentary alias for the library's own built-in workflows
|
|
75
|
+
* (the durable-entity runner) that lean on the in-process step directly.
|
|
76
|
+
*/
|
|
77
|
+
export type InternalWorkflowCtx = WorkflowCtx;
|
|
59
78
|
/**
|
|
60
79
|
* Build the {@link WorkflowCtx} handed to a workflow body. Every primitive is a closure over the
|
|
61
80
|
* position counter (the per-run logical position) and the saga `compensations` stack, so `task`/
|
|
62
|
-
* `child` compose `
|
|
63
|
-
* the workflow body stays deterministic.
|
|
81
|
+
* `child` compose `localStep`/`waitForSignal` directly. All durability goes through {@link CtxHost},
|
|
82
|
+
* so the workflow body stays deterministic.
|
|
64
83
|
*/
|
|
65
|
-
export declare function createWorkflowCtx(host: CtxHost, runId: string, compensations: Compensation[], workflow?: string):
|
|
84
|
+
export declare function createWorkflowCtx(host: CtxHost, runId: string, compensations: Compensation[], workflow?: string): InternalWorkflowCtx;
|
|
66
85
|
//# sourceMappingURL=workflow-ctx.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"workflow-ctx.d.ts","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAGV,
|
|
1
|
+
{"version":3,"file":"workflow-ctx.d.ts","sourceRoot":"","sources":["../../src/workflow-ctx.ts"],"names":[],"mappings":"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"}
|