@dudousxd/nestjs-durable-core 0.1.2 → 0.3.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/dist/engine.d.ts +16 -0
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +167 -12
- package/dist/engine.js.map +1 -1
- package/dist/interfaces.d.ts +55 -3
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/protocol.d.ts +4 -2
- package/dist/protocol.d.ts.map +1 -1
- package/dist/protocol.js +7 -3
- package/dist/protocol.js.map +1 -1
- package/dist/step-logger.d.ts +9 -0
- package/dist/step-logger.d.ts.map +1 -0
- package/dist/step-logger.js +27 -0
- package/dist/step-logger.js.map +1 -0
- package/dist/testing/in-memory-transport.d.ts.map +1 -1
- package/dist/testing/in-memory-transport.js +5 -1
- package/dist/testing/in-memory-transport.js.map +1 -1
- package/package.json +1 -1
package/dist/engine.d.ts
CHANGED
|
@@ -98,7 +98,23 @@ export declare class WorkflowEngine {
|
|
|
98
98
|
private makeCtx;
|
|
99
99
|
/** Persist a completed timer checkpoint (a durable sleep / signal deadline) at a logical position. */
|
|
100
100
|
private recordTimer;
|
|
101
|
+
/** Persist a `pending` checkpoint marking a breakpoint, so it's visible (and resumable) in the UI. */
|
|
102
|
+
private recordBreakpoint;
|
|
103
|
+
/**
|
|
104
|
+
* Resume a run paused at a {@link WorkflowCtx.breakpoint} (e.g. the dashboard "continue" button).
|
|
105
|
+
* Finds the run's pending breakpoint checkpoint and signals it. Returns null if the run isn't
|
|
106
|
+
* paused at a breakpoint.
|
|
107
|
+
*/
|
|
108
|
+
continue(runId: string): Promise<RunResult | null>;
|
|
101
109
|
private callRemote;
|
|
110
|
+
/**
|
|
111
|
+
* Complete a durable remote step from its worker result and resume the run — runs on whichever
|
|
112
|
+
* instance receives the result (the dispatching one may be gone), so the run is crash/scale-safe.
|
|
113
|
+
* A no-op if the checkpoint isn't `pending` (a duplicate or late delivery).
|
|
114
|
+
*/
|
|
115
|
+
private completeRemoteResult;
|
|
116
|
+
/** In-memory await path for a remote step with a liveness `timeoutMs` (re-dispatch on timeout). */
|
|
117
|
+
private callRemoteInMemory;
|
|
102
118
|
/**
|
|
103
119
|
* Await a remote result, but reject with `RemoteStepTimeout` if neither the result nor a heartbeat
|
|
104
120
|
* arrives within `timeoutMs`. Each heartbeat (delivered via `transport.onHeartbeat`) rearms the
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,cAAc,EAEd,SAAS,EACT,UAAU,EACV,SAAS,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.js
CHANGED
|
@@ -4,6 +4,9 @@ exports.RemoteStepError = exports.WorkflowEngine = void 0;
|
|
|
4
4
|
const duration_1 = require("./duration");
|
|
5
5
|
const errors_1 = require("./errors");
|
|
6
6
|
const protocol_1 = require("./protocol");
|
|
7
|
+
const step_logger_1 = require("./step-logger");
|
|
8
|
+
/** Deterministic signal token a breakpoint suspends on — derived from its logical position. */
|
|
9
|
+
const breakpointToken = (runId, seq) => `bp:${runId}:${seq}`;
|
|
7
10
|
const versionKey = (name, version) => `${name}@${version}`;
|
|
8
11
|
/** True when version `a` is newer than `b` (numeric when both parse as numbers, else natural sort). */
|
|
9
12
|
function isNewerVersion(a, b) {
|
|
@@ -52,16 +55,25 @@ class WorkflowEngine {
|
|
|
52
55
|
this.instanceId = deps.instanceId ?? globalThis.crypto.randomUUID();
|
|
53
56
|
this.leaseMs = deps.leaseMs ?? 30_000;
|
|
54
57
|
this.transport?.onResult(async (result) => {
|
|
58
|
+
// In-memory path (a `timeoutMs` step awaiting on THIS instance): resolve its pending promise.
|
|
55
59
|
const waiter = this.pending.get(result.stepId);
|
|
56
|
-
if (
|
|
60
|
+
if (waiter) {
|
|
61
|
+
this.pending.delete(result.stepId);
|
|
62
|
+
if (result.status === 'completed') {
|
|
63
|
+
waiter.resolve({
|
|
64
|
+
output: result.output,
|
|
65
|
+
startedAt: result.startedAt,
|
|
66
|
+
events: result.events,
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
waiter.reject(new RemoteStepError(result.error));
|
|
71
|
+
}
|
|
57
72
|
return;
|
|
58
|
-
this.pending.delete(result.stepId);
|
|
59
|
-
if (result.status === 'completed') {
|
|
60
|
-
waiter.resolve({ output: result.output, startedAt: result.startedAt });
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
waiter.reject(new RemoteStepError(result.error));
|
|
64
73
|
}
|
|
74
|
+
// Durable path: no in-memory waiter (the step suspended the run, possibly on another
|
|
75
|
+
// instance) → complete the checkpoint and resume the run here.
|
|
76
|
+
await this.completeRemoteResult(result);
|
|
65
77
|
});
|
|
66
78
|
// A heartbeat for an in-flight long step resets its liveness window (see callRemote).
|
|
67
79
|
this.transport?.onHeartbeat(async (beat) => {
|
|
@@ -212,7 +224,10 @@ class WorkflowEngine {
|
|
|
212
224
|
* null if no run is waiting on the task (e.g. a duplicate/late delivery) — a safe no-op.
|
|
213
225
|
*/
|
|
214
226
|
async completeTask(runId, name, result) {
|
|
215
|
-
return this.signal(`task:${runId}:${name}`, {
|
|
227
|
+
return this.signal(`task:${runId}:${name}`, {
|
|
228
|
+
ok: true,
|
|
229
|
+
value: result,
|
|
230
|
+
});
|
|
216
231
|
}
|
|
217
232
|
/** Report that a `ctx.task` failed — the run resumes and throws a FatalError at the task. */
|
|
218
233
|
async failTask(runId, name, error) {
|
|
@@ -247,6 +262,7 @@ class WorkflowEngine {
|
|
|
247
262
|
status: 'completed',
|
|
248
263
|
input: step.input,
|
|
249
264
|
output: step.output,
|
|
265
|
+
events: step.events && step.events.length > 0 ? step.events : undefined,
|
|
250
266
|
attempts: step.attempts,
|
|
251
267
|
workerGroup: step.workerGroup,
|
|
252
268
|
enqueuedAt: step.enqueuedAt,
|
|
@@ -275,6 +291,7 @@ class WorkflowEngine {
|
|
|
275
291
|
status: 'failed',
|
|
276
292
|
input: step.input,
|
|
277
293
|
error: step.error,
|
|
294
|
+
events: step.events && step.events.length > 0 ? step.events : undefined,
|
|
278
295
|
attempts: step.attempts,
|
|
279
296
|
workerGroup: step.workerGroup,
|
|
280
297
|
enqueuedAt: step.enqueuedAt,
|
|
@@ -369,9 +386,22 @@ class WorkflowEngine {
|
|
|
369
386
|
const maxAttempts = Math.max(1, options?.retries ?? 1);
|
|
370
387
|
const startedAt = new Date();
|
|
371
388
|
for (let attempt = 1;; attempt += 1) {
|
|
389
|
+
// Events are scoped per attempt — a retry starts a clean log, so the checkpoint reflects
|
|
390
|
+
// only the attempt that actually completed (or the final failing one).
|
|
391
|
+
const events = [];
|
|
372
392
|
try {
|
|
373
|
-
const output = await fn();
|
|
374
|
-
await this.completeStep({
|
|
393
|
+
const output = await fn((0, step_logger_1.createStepLogger)(events, this.clock));
|
|
394
|
+
await this.completeStep({
|
|
395
|
+
runId,
|
|
396
|
+
seq: current,
|
|
397
|
+
name,
|
|
398
|
+
kind: 'local',
|
|
399
|
+
output,
|
|
400
|
+
events,
|
|
401
|
+
attempts: attempt,
|
|
402
|
+
enqueuedAt: startedAt,
|
|
403
|
+
startedAt,
|
|
404
|
+
});
|
|
375
405
|
if (options?.compensate)
|
|
376
406
|
compensations.push(options.compensate);
|
|
377
407
|
return output;
|
|
@@ -387,6 +417,7 @@ class WorkflowEngine {
|
|
|
387
417
|
message: err instanceof Error ? err.message : String(err),
|
|
388
418
|
stack: err instanceof Error ? err.stack : undefined,
|
|
389
419
|
},
|
|
420
|
+
events,
|
|
390
421
|
attempts: attempt,
|
|
391
422
|
enqueuedAt: startedAt,
|
|
392
423
|
startedAt,
|
|
@@ -452,6 +483,24 @@ class WorkflowEngine {
|
|
|
452
483
|
// Child workflow: start it once, then suspend on a `child:<id>` waiter the child signals on its
|
|
453
484
|
// terminal state (see notifyParent). The start is deferred to a microtask so it runs AFTER this
|
|
454
485
|
// run suspends — a fast child can't reentrantly resume a parent that's still running.
|
|
486
|
+
// A breakpoint = a visible `pending` checkpoint + a signal waiter the dashboard resumes via
|
|
487
|
+
// `engine.continue`. Reuses the signal machinery (kind 'signal'), so resume overwrites the
|
|
488
|
+
// pending checkpoint with a completed one and the run replays past it.
|
|
489
|
+
const breakpoint = async (label) => {
|
|
490
|
+
const current = nextSeq();
|
|
491
|
+
const existing = await store.getCheckpoint(runId, current);
|
|
492
|
+
if (existing && existing.status === 'completed')
|
|
493
|
+
return;
|
|
494
|
+
if (!existing) {
|
|
495
|
+
await this.recordBreakpoint(runId, current, label);
|
|
496
|
+
await store.putSignalWaiter({
|
|
497
|
+
token: breakpointToken(runId, current),
|
|
498
|
+
runId,
|
|
499
|
+
seq: current,
|
|
500
|
+
});
|
|
501
|
+
}
|
|
502
|
+
throw new errors_1.WorkflowSuspended();
|
|
503
|
+
};
|
|
455
504
|
const child = async (workflow, input, childId) => {
|
|
456
505
|
const current = nextSeq();
|
|
457
506
|
const id = childId ?? `${runId}.child.${current}`;
|
|
@@ -474,6 +523,7 @@ class WorkflowEngine {
|
|
|
474
523
|
waitForSignal,
|
|
475
524
|
task,
|
|
476
525
|
child,
|
|
526
|
+
breakpoint,
|
|
477
527
|
call: (remote, input) => this.callRemote(runId, nextSeq(), remote, input),
|
|
478
528
|
};
|
|
479
529
|
}
|
|
@@ -494,11 +544,115 @@ class WorkflowEngine {
|
|
|
494
544
|
finishedAt: at,
|
|
495
545
|
});
|
|
496
546
|
}
|
|
547
|
+
/** Persist a `pending` checkpoint marking a breakpoint, so it's visible (and resumable) in the UI. */
|
|
548
|
+
async recordBreakpoint(runId, seq, label) {
|
|
549
|
+
const at = new Date();
|
|
550
|
+
await this.store.saveCheckpoint({
|
|
551
|
+
runId,
|
|
552
|
+
seq,
|
|
553
|
+
name: label ? `breakpoint:${label}` : 'breakpoint',
|
|
554
|
+
kind: 'signal',
|
|
555
|
+
stepId: (0, protocol_1.stepId)(runId, seq),
|
|
556
|
+
status: 'pending',
|
|
557
|
+
attempts: 1,
|
|
558
|
+
enqueuedAt: at,
|
|
559
|
+
startedAt: at,
|
|
560
|
+
finishedAt: at,
|
|
561
|
+
});
|
|
562
|
+
}
|
|
563
|
+
/**
|
|
564
|
+
* Resume a run paused at a {@link WorkflowCtx.breakpoint} (e.g. the dashboard "continue" button).
|
|
565
|
+
* Finds the run's pending breakpoint checkpoint and signals it. Returns null if the run isn't
|
|
566
|
+
* paused at a breakpoint.
|
|
567
|
+
*/
|
|
568
|
+
async continue(runId) {
|
|
569
|
+
const checkpoints = await this.store.listCheckpoints(runId);
|
|
570
|
+
const bp = checkpoints.find((c) => c.status === 'pending' && c.kind === 'signal');
|
|
571
|
+
if (!bp)
|
|
572
|
+
return null;
|
|
573
|
+
return this.signal(breakpointToken(runId, bp.seq), undefined);
|
|
574
|
+
}
|
|
497
575
|
async callRemote(runId, seq, step, input) {
|
|
498
576
|
const existing = await this.store.getCheckpoint(runId, seq);
|
|
499
|
-
if (existing
|
|
577
|
+
if (existing?.status === 'completed')
|
|
500
578
|
return existing.output;
|
|
501
|
-
|
|
579
|
+
if (existing?.status === 'failed')
|
|
580
|
+
throw new RemoteStepError(existing.error);
|
|
581
|
+
if (!this.transport)
|
|
582
|
+
throw new Error('remote steps require a Transport');
|
|
583
|
+
// A step with a liveness `timeoutMs` keeps the in-memory await + heartbeat path (re-dispatch a
|
|
584
|
+
// presumed-dead worker). Without one, the call SUSPENDS DURABLY: dispatch, persist a `pending`
|
|
585
|
+
// checkpoint, and let the result resume the run on whichever instance receives it — so a worker
|
|
586
|
+
// pod can scale down or crash mid-step without losing the run or re-running completed work.
|
|
587
|
+
if (step.timeoutMs)
|
|
588
|
+
return this.callRemoteInMemory(runId, seq, step, input);
|
|
589
|
+
if (existing?.status === 'pending')
|
|
590
|
+
throw new errors_1.WorkflowSuspended(); // dispatched; keep waiting
|
|
591
|
+
const validInput = step.input.parse(input);
|
|
592
|
+
const id = (0, protocol_1.stepId)(runId, seq);
|
|
593
|
+
const enqueuedAt = new Date();
|
|
594
|
+
// Persist the pending checkpoint BEFORE dispatching, so a fast result always finds it to complete.
|
|
595
|
+
await this.store.saveCheckpoint({
|
|
596
|
+
runId,
|
|
597
|
+
seq,
|
|
598
|
+
name: step.name,
|
|
599
|
+
kind: 'remote',
|
|
600
|
+
stepId: id,
|
|
601
|
+
status: 'pending',
|
|
602
|
+
input: validInput,
|
|
603
|
+
attempts: 1,
|
|
604
|
+
workerGroup: step.group,
|
|
605
|
+
enqueuedAt,
|
|
606
|
+
startedAt: enqueuedAt, // placeholders until the worker result lands
|
|
607
|
+
finishedAt: enqueuedAt,
|
|
608
|
+
});
|
|
609
|
+
await this.transport.dispatch({
|
|
610
|
+
runId,
|
|
611
|
+
seq,
|
|
612
|
+
name: step.name,
|
|
613
|
+
stepId: id,
|
|
614
|
+
group: step.group,
|
|
615
|
+
input: validInput,
|
|
616
|
+
attempt: 1,
|
|
617
|
+
});
|
|
618
|
+
this.emit({ type: 'step.started', runId, seq, name: step.name, kind: 'remote' });
|
|
619
|
+
throw new errors_1.WorkflowSuspended();
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* Complete a durable remote step from its worker result and resume the run — runs on whichever
|
|
623
|
+
* instance receives the result (the dispatching one may be gone), so the run is crash/scale-safe.
|
|
624
|
+
* A no-op if the checkpoint isn't `pending` (a duplicate or late delivery).
|
|
625
|
+
*/
|
|
626
|
+
async completeRemoteResult(result) {
|
|
627
|
+
const cp = await this.store.getCheckpoint(result.runId, result.seq);
|
|
628
|
+
if (!cp || cp.status !== 'pending')
|
|
629
|
+
return;
|
|
630
|
+
const finishedAt = new Date();
|
|
631
|
+
const startedAt = result.startedAt ? new Date(result.startedAt) : cp.startedAt;
|
|
632
|
+
await this.store.saveCheckpoint({
|
|
633
|
+
...cp,
|
|
634
|
+
status: result.status,
|
|
635
|
+
output: result.status === 'completed' ? result.output : cp.output,
|
|
636
|
+
error: result.error,
|
|
637
|
+
events: result.events ?? cp.events,
|
|
638
|
+
startedAt,
|
|
639
|
+
finishedAt,
|
|
640
|
+
});
|
|
641
|
+
this.emit({
|
|
642
|
+
type: result.status === 'completed' ? 'step.completed' : 'step.failed',
|
|
643
|
+
runId: result.runId,
|
|
644
|
+
seq: result.seq,
|
|
645
|
+
name: cp.name,
|
|
646
|
+
kind: cp.kind,
|
|
647
|
+
output: result.output,
|
|
648
|
+
error: result.error,
|
|
649
|
+
queueMs: startedAt.getTime() - cp.enqueuedAt.getTime(),
|
|
650
|
+
durationMs: finishedAt.getTime() - startedAt.getTime(),
|
|
651
|
+
});
|
|
652
|
+
await this.resume(result.runId);
|
|
653
|
+
}
|
|
654
|
+
/** In-memory await path for a remote step with a liveness `timeoutMs` (re-dispatch on timeout). */
|
|
655
|
+
async callRemoteInMemory(runId, seq, step, input) {
|
|
502
656
|
if (!this.transport)
|
|
503
657
|
throw new Error('remote steps require a Transport');
|
|
504
658
|
const validInput = step.input.parse(input);
|
|
@@ -539,6 +693,7 @@ class WorkflowEngine {
|
|
|
539
693
|
kind: 'remote',
|
|
540
694
|
input: validInput,
|
|
541
695
|
output,
|
|
696
|
+
events: resolution.events,
|
|
542
697
|
attempts: attempt,
|
|
543
698
|
workerGroup: step.group,
|
|
544
699
|
enqueuedAt,
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/interfaces.d.ts
CHANGED
|
@@ -43,7 +43,11 @@ export interface StepCheckpoint {
|
|
|
43
43
|
kind: StepKind;
|
|
44
44
|
/** Stable id passed to remote workers so they can dedupe a re-delivered task. */
|
|
45
45
|
stepId: string;
|
|
46
|
-
|
|
46
|
+
/**
|
|
47
|
+
* `pending` = a remote step dispatched and awaiting its worker result (the run is durably
|
|
48
|
+
* suspended, not held in memory); it becomes `completed`/`failed` when the result arrives.
|
|
49
|
+
*/
|
|
50
|
+
status: 'pending' | 'completed' | 'failed';
|
|
47
51
|
/** What the step was called with — the `ctx.call` args for a remote step (a local step has none). */
|
|
48
52
|
input?: unknown;
|
|
49
53
|
output?: unknown;
|
|
@@ -51,6 +55,8 @@ export interface StepCheckpoint {
|
|
|
51
55
|
attempts: number;
|
|
52
56
|
/** For remote steps: which worker group ran it. */
|
|
53
57
|
workerGroup?: string;
|
|
58
|
+
/** Structured events/logs the step emitted (sub-step outcomes, debug/error lines). */
|
|
59
|
+
events?: StepEvent[];
|
|
54
60
|
/** For sleep steps: epoch ms the sleep elapses at. */
|
|
55
61
|
wakeAt?: number;
|
|
56
62
|
/**
|
|
@@ -62,6 +68,38 @@ export interface StepCheckpoint {
|
|
|
62
68
|
startedAt: Date;
|
|
63
69
|
finishedAt: Date;
|
|
64
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* A structured event a step (or its worker) emits while running — a log line and/or a sub-step
|
|
73
|
+
* outcome. The dashboard renders these under the step, so you can see what happened inside a step
|
|
74
|
+
* that the workflow treats as one unit (e.g. which of N parallel sub-processes ok/failed/skipped).
|
|
75
|
+
*/
|
|
76
|
+
export interface StepEvent {
|
|
77
|
+
/** Epoch ms. */
|
|
78
|
+
at: number;
|
|
79
|
+
level: 'debug' | 'info' | 'warn' | 'error';
|
|
80
|
+
message: string;
|
|
81
|
+
/** For a sub-step/sub-process within the step: its name. */
|
|
82
|
+
name?: string;
|
|
83
|
+
/** For a sub-step: its outcome. */
|
|
84
|
+
status?: 'ok' | 'failed' | 'skipped';
|
|
85
|
+
/** Optional structured payload. */
|
|
86
|
+
data?: unknown;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Handed to a local step's body (`ctx.step(name, (log) => …)`) so it can record what happened
|
|
90
|
+
* inside the step — debug/info/warn/error lines and per-sub-process outcomes. The events are
|
|
91
|
+
* checkpointed with the step and rendered under it in the dashboard. The remote/cross-language
|
|
92
|
+
* counterpart is the worker attaching the same `StepEvent[]` to its `StepResult` (see the Python
|
|
93
|
+
* SDK's `StepContext`), so observability is symmetric regardless of where the step ran.
|
|
94
|
+
*/
|
|
95
|
+
export interface StepLogger {
|
|
96
|
+
debug(message: string, data?: unknown): void;
|
|
97
|
+
info(message: string, data?: unknown): void;
|
|
98
|
+
warn(message: string, data?: unknown): void;
|
|
99
|
+
error(message: string, data?: unknown): void;
|
|
100
|
+
/** Record a sub-step / sub-process outcome (e.g. one of N parallel p-processes). */
|
|
101
|
+
sub(name: string, status: 'ok' | 'failed' | 'skipped', message?: string, data?: unknown): void;
|
|
102
|
+
}
|
|
65
103
|
export interface StepError {
|
|
66
104
|
message: string;
|
|
67
105
|
/** Optional machine-readable code, e.g. `declined`, `timeout`. */
|
|
@@ -139,6 +177,8 @@ export interface StepResult {
|
|
|
139
177
|
error?: StepError;
|
|
140
178
|
/** Epoch ms when the worker began processing — lets the engine report queue-wait time. */
|
|
141
179
|
startedAt?: number;
|
|
180
|
+
/** Structured events the worker emitted while running the step (sub-step outcomes, logs). */
|
|
181
|
+
events?: StepEvent[];
|
|
142
182
|
}
|
|
143
183
|
export interface Heartbeat {
|
|
144
184
|
runId: string;
|
|
@@ -195,8 +235,12 @@ export interface RemoteStepDef<TInput = unknown, TOutput = unknown> extends Step
|
|
|
195
235
|
*/
|
|
196
236
|
export interface WorkflowCtx {
|
|
197
237
|
readonly runId: string;
|
|
198
|
-
/**
|
|
199
|
-
|
|
238
|
+
/**
|
|
239
|
+
* Run a local durable step: executed once, then its result is checkpointed and replayed. The
|
|
240
|
+
* body receives a {@link StepLogger} to record debug/error lines and sub-process outcomes — these
|
|
241
|
+
* are checkpointed with the step and shown under it in the dashboard.
|
|
242
|
+
*/
|
|
243
|
+
step<TOutput>(name: string, fn: (log: StepLogger) => Promise<TOutput>, options?: StepOptions): Promise<TOutput>;
|
|
200
244
|
/** Dispatch a typed remote step and await its checkpointed result. */
|
|
201
245
|
call<TInput, TOutput>(step: RemoteStepDef<TInput, TOutput>, input: TInput): Promise<TOutput>;
|
|
202
246
|
/**
|
|
@@ -229,6 +273,14 @@ export interface WorkflowCtx {
|
|
|
229
273
|
* this run and the call position, so it's stable across replay.
|
|
230
274
|
*/
|
|
231
275
|
child<TOutput>(workflow: string, input: unknown, childId?: string): Promise<TOutput>;
|
|
276
|
+
/**
|
|
277
|
+
* Pause the run at this point until a human resumes it from the dashboard (or
|
|
278
|
+
* `engine.continue(runId)`). Records a visible `pending` checkpoint so the breakpoint shows up
|
|
279
|
+
* in the timeline, then suspends with zero compute — the durable equivalent of a debugger
|
|
280
|
+
* breakpoint. Gate it on your own config to make breakpoints opt-in per run:
|
|
281
|
+
* `if (cfg.breakAfterExtraction) await ctx.breakpoint('after-extraction')`.
|
|
282
|
+
*/
|
|
283
|
+
breakpoint(label?: string): Promise<void>;
|
|
232
284
|
}
|
|
233
285
|
/** Result of executing or resuming a workflow run. */
|
|
234
286
|
export interface RunResult {
|
package/dist/interfaces.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;GAKG;AAMH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvF,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B;;;;;GAKG;AAMH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvF,+FAA+F;AAC/F,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,SAAS,CAAC;IAClB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,uCAAuC;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE/D;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,+EAA+E;IAC/E,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,qGAAqG;IACrG,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sFAAsF;IACtF,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;IACrB,sDAAsD;IACtD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,UAAU,EAAE,IAAI,CAAC;IACjB,wGAAwG;IACxG,SAAS,EAAE,IAAI,CAAC;IAChB,UAAU,EAAE,IAAI,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,MAAM,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrC,mCAAmC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,oFAAoF;IACpF,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,QAAQ,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAChG;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IAEnD,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAC1E;;;OAGG;IACH,cAAc,CAAC,UAAU,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE1D,iFAAiF;IACjF,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAE7C,sFAAsF;IACtF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhG,iGAAiG;IACjG,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE7C,6EAA6E;IAC7E,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,uEAAuE;IACvE,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAG9D,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAClD,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CAC3D;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,0FAA0F;AAC1F,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAMD,yFAAyF;AACzF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6FAA6F;IAC7F,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,sBAAsB;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,sDAAsD;IACtD,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/D,mEAAmE;IACnE,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAChE;AAMD,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO,CAAE,SAAQ,WAAW;IACrF,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;;;OAIG;IACH,IAAI,CAAC,OAAO,EACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,EACzC,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB,sEAAsE;IACtE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7F;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzF;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EACV,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC7B,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,OAAO,CAAC,CAAC;IACpB;;;;;OAKG;IACH,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACrF;;;;;;OAMG;IACH,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAED,sDAAsD;AACtD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,MAAM,eAAe,GACvB,aAAa,GACb,eAAe,GACf,YAAY,GACZ,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,aAAa,CAAC;AAElB;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,oFAAoF;IACpF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,IAAI,CAAC;CACV;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC"}
|
package/dist/protocol.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { RemoteTask, StepResult } from './interfaces';
|
|
1
|
+
import type { RemoteTask, StepLogger, StepResult } from './interfaces';
|
|
2
2
|
/** Canonical step id — the stable identity of a step within a run, used for dedupe and
|
|
3
3
|
* correlation. The format is part of the cross-language wire contract (Python builds the same). */
|
|
4
4
|
export declare function stepId(runId: string, seq: number): string;
|
|
5
|
-
|
|
5
|
+
/** A remote-worker step body. The optional `log` records sub-process outcomes and debug/error
|
|
6
|
+
* lines that ride back on the result — the TypeScript twin of the Python SDK's `StepContext`. */
|
|
7
|
+
export type StepHandler = (input: unknown, log: StepLogger) => Promise<unknown> | unknown;
|
|
6
8
|
/**
|
|
7
9
|
* Run `handler` for `task` and produce the wire-format {@link StepResult}. Pure (no transport,
|
|
8
10
|
* no I/O beyond the handler), so every transport — and any language port — can share the exact
|
package/dist/protocol.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"protocol.d.ts","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAa,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAGlF;oGACoG;AACpG,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;kGACkG;AAClG,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAE1F;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,WAAW,GAAG,SAAS,GAC/B,OAAO,CAAC,UAAU,CAAC,CAwBrB"}
|
package/dist/protocol.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.stepId = stepId;
|
|
4
4
|
exports.runStepHandler = runStepHandler;
|
|
5
|
+
const step_logger_1 = require("./step-logger");
|
|
5
6
|
/** Canonical step id — the stable identity of a step within a run, used for dedupe and
|
|
6
7
|
* correlation. The format is part of the cross-language wire contract (Python builds the same). */
|
|
7
8
|
function stepId(runId, seq) {
|
|
@@ -23,15 +24,18 @@ async function runStepHandler(task, handler) {
|
|
|
23
24
|
error: { message: `no handler for ${task.name}`, retryable: false },
|
|
24
25
|
};
|
|
25
26
|
}
|
|
27
|
+
const events = [];
|
|
28
|
+
const withEvents = (result) => events.length > 0 ? { ...result, events } : result;
|
|
26
29
|
try {
|
|
27
|
-
|
|
30
|
+
const output = await handler(task.input, (0, step_logger_1.createStepLogger)(events, Date.now));
|
|
31
|
+
return withEvents({ ...base, status: 'completed', output });
|
|
28
32
|
}
|
|
29
33
|
catch (err) {
|
|
30
|
-
return {
|
|
34
|
+
return withEvents({
|
|
31
35
|
...base,
|
|
32
36
|
status: 'failed',
|
|
33
37
|
error: { message: err instanceof Error ? err.message : String(err) },
|
|
34
|
-
};
|
|
38
|
+
});
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
//# sourceMappingURL=protocol.js.map
|
package/dist/protocol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"protocol.js","sourceRoot":"","sources":["../src/protocol.ts"],"names":[],"mappings":";;AAKA,wBAEC;AAWD,wCA2BC;AA5CD,+CAAiD;AAEjD;oGACoG;AACpG,SAAgB,MAAM,CAAC,KAAa,EAAE,GAAW;IAC/C,OAAO,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;AAC3B,CAAC;AAMD;;;;GAIG;AACI,KAAK,UAAU,cAAc,CAClC,IAAgB,EAChB,OAAgC;IAEhC,+FAA+F;IAC/F,8FAA8F;IAC9F,MAAM,IAAI,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAC9F,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;SACpE,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAc,EAAE,CACpD,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAA,8BAAgB,EAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,OAAO,UAAU,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,UAAU,CAAC;YAChB,GAAG,IAAI;YACP,MAAM,EAAE,QAAQ;YAChB,KAAK,EAAE,EAAE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACrE,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { StepEvent, StepLogger } from './interfaces';
|
|
2
|
+
/**
|
|
3
|
+
* A {@link StepLogger} that appends to `events`, stamping each line with `now()`. Shared by the
|
|
4
|
+
* local-step path (`ctx.step`) and the remote-worker path (`runStepHandler`) so a step records
|
|
5
|
+
* the same {@link StepEvent} shape wherever it runs — the TypeScript twin of the Python SDK's
|
|
6
|
+
* `StepContext`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createStepLogger(events: StepEvent[], now: () => number): StepLogger;
|
|
9
|
+
//# sourceMappingURL=step-logger.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-logger.d.ts","sourceRoot":"","sources":["../src/step-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,MAAM,GAAG,UAAU,CAkBnF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createStepLogger = createStepLogger;
|
|
4
|
+
/**
|
|
5
|
+
* A {@link StepLogger} that appends to `events`, stamping each line with `now()`. Shared by the
|
|
6
|
+
* local-step path (`ctx.step`) and the remote-worker path (`runStepHandler`) so a step records
|
|
7
|
+
* the same {@link StepEvent} shape wherever it runs — the TypeScript twin of the Python SDK's
|
|
8
|
+
* `StepContext`.
|
|
9
|
+
*/
|
|
10
|
+
function createStepLogger(events, now) {
|
|
11
|
+
const push = (level, message, data) => events.push({ at: now(), level, message, ...(data === undefined ? {} : { data }) });
|
|
12
|
+
return {
|
|
13
|
+
debug: (m, d) => push('debug', m, d),
|
|
14
|
+
info: (m, d) => push('info', m, d),
|
|
15
|
+
warn: (m, d) => push('warn', m, d),
|
|
16
|
+
error: (m, d) => push('error', m, d),
|
|
17
|
+
sub: (name, status, message, data) => events.push({
|
|
18
|
+
at: now(),
|
|
19
|
+
level: status === 'failed' ? 'error' : status === 'skipped' ? 'warn' : 'info',
|
|
20
|
+
message: message ?? name,
|
|
21
|
+
name,
|
|
22
|
+
status,
|
|
23
|
+
...(data === undefined ? {} : { data }),
|
|
24
|
+
}),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=step-logger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"step-logger.js","sourceRoot":"","sources":["../src/step-logger.ts"],"names":[],"mappings":";;AAQA,4CAkBC;AAxBD;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,MAAmB,EAAE,GAAiB;IACrE,MAAM,IAAI,GAAG,CAAC,KAAyB,EAAE,OAAe,EAAE,IAAc,EAAE,EAAE,CAC1E,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACtF,OAAO;QACL,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAClC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QACpC,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CACnC,MAAM,CAAC,IAAI,CAAC;YACV,EAAE,EAAE,GAAG,EAAE;YACT,KAAK,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC7E,OAAO,EAAE,OAAO,IAAI,IAAI;YACxB,IAAI;YACJ,MAAM;YACN,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;SACxC,CAAC;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-transport.d.ts","sourceRoot":"","sources":["../../src/testing/in-memory-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAAC,CAAwC;IAE9D,sDAAsD;IACtD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI;IAIrC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"in-memory-transport.d.ts","sourceRoot":"","sources":["../../src/testing/in-memory-transport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,KAAK,WAAW,EAAkB,MAAM,aAAa,CAAC;AAE/D;;;GAGG;AACH,qBAAa,iBAAkB,YAAW,SAAS;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,aAAa,CAAC,CAAwC;IAE9D,sDAAsD;IACtD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,WAAW,GAAG,IAAI;IAIrC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,QAAQ,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI9D,WAAW,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;CAGhE"}
|
|
@@ -16,7 +16,11 @@ class InMemoryTransport {
|
|
|
16
16
|
async dispatch(task) {
|
|
17
17
|
if (!this.resultHandler)
|
|
18
18
|
throw new Error('no result handler registered');
|
|
19
|
-
|
|
19
|
+
const result = await (0, protocol_1.runStepHandler)(task, this.handlers.get(task.name));
|
|
20
|
+
// Deliver the result ASYNCHRONOUSLY, not inline: a durable `ctx.call` suspends the run right
|
|
21
|
+
// after dispatch, so the result must land AFTER that unwinds (else the resume re-enters
|
|
22
|
+
// mid-suspend). Real brokers are async; this mirrors them.
|
|
23
|
+
setImmediate(() => void this.resultHandler?.(result));
|
|
20
24
|
}
|
|
21
25
|
onResult(handler) {
|
|
22
26
|
this.resultHandler = handler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-memory-transport.js","sourceRoot":"","sources":["../../src/testing/in-memory-transport.ts"],"names":[],"mappings":";;;AACA,0CAA+D;AAE/D;;;GAGG;AACH,MAAa,iBAAiB;IACX,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,aAAa,CAAyC;IAE9D,sDAAsD;IACtD,MAAM,CAAC,IAAY,EAAE,EAAe;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACzE,MAAM,
|
|
1
|
+
{"version":3,"file":"in-memory-transport.js","sourceRoot":"","sources":["../../src/testing/in-memory-transport.ts"],"names":[],"mappings":";;;AACA,0CAA+D;AAE/D;;;GAGG;AACH,MAAa,iBAAiB;IACX,QAAQ,GAAG,IAAI,GAAG,EAAuB,CAAC;IACnD,aAAa,CAAyC;IAE9D,sDAAsD;IACtD,MAAM,CAAC,IAAY,EAAE,EAAe;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,IAAgB;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAc,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACxE,6FAA6F;QAC7F,wFAAwF;QACxF,2DAA2D;QAC3D,YAAY,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,QAAQ,CAAC,OAA8C;QACrD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,QAA4C;QACtD,wEAAwE;IAC1E,CAAC;CACF;AAzBD,8CAyBC"}
|
package/package.json
CHANGED