@elsium-ai/workflows 0.7.0 → 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/dist/checkpoint.d.ts +34 -0
- package/dist/checkpoint.d.ts.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +152 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { StepResult, WorkflowConfig, WorkflowResult, WorkflowRunOptions } from './types';
|
|
2
|
+
export interface WorkflowCheckpoint {
|
|
3
|
+
workflowId: string;
|
|
4
|
+
workflowName: string;
|
|
5
|
+
status: 'running' | 'completed' | 'failed' | 'paused';
|
|
6
|
+
input: unknown;
|
|
7
|
+
currentStepIndex: number;
|
|
8
|
+
stepResults: StepResult[];
|
|
9
|
+
outputs: Record<string, unknown>;
|
|
10
|
+
createdAt: number;
|
|
11
|
+
updatedAt: number;
|
|
12
|
+
}
|
|
13
|
+
export interface CheckpointStore {
|
|
14
|
+
save(checkpoint: WorkflowCheckpoint): Promise<void>;
|
|
15
|
+
load(workflowId: string): Promise<WorkflowCheckpoint | null>;
|
|
16
|
+
delete(workflowId: string): Promise<void>;
|
|
17
|
+
list(workflowName?: string): Promise<WorkflowCheckpoint[]>;
|
|
18
|
+
}
|
|
19
|
+
export declare function createInMemoryCheckpointStore(): CheckpointStore;
|
|
20
|
+
export interface ResumableWorkflowConfig extends WorkflowConfig {
|
|
21
|
+
checkpointStore: CheckpointStore;
|
|
22
|
+
}
|
|
23
|
+
export interface ResumableWorkflow {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
run(input: unknown, options?: ResumableWorkflowRunOptions): Promise<WorkflowResult>;
|
|
26
|
+
resume(workflowId: string, options?: WorkflowRunOptions): Promise<WorkflowResult>;
|
|
27
|
+
getCheckpoint(workflowId: string): Promise<WorkflowCheckpoint | null>;
|
|
28
|
+
listCheckpoints(): Promise<WorkflowCheckpoint[]>;
|
|
29
|
+
}
|
|
30
|
+
export interface ResumableWorkflowRunOptions extends WorkflowRunOptions {
|
|
31
|
+
workflowId?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare function defineResumableWorkflow(config: ResumableWorkflowConfig): ResumableWorkflow;
|
|
34
|
+
//# sourceMappingURL=checkpoint.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEX,UAAU,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,kBAAkB;IAClC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACrD,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,UAAU,EAAE,CAAA;IACzB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IAC5D,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzC,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;CAC1D;AAED,wBAAgB,6BAA6B,IAAI,eAAe,CAuB/D;AAED,MAAM,WAAW,uBAAwB,SAAQ,cAAc;IAC9D,eAAe,EAAE,eAAe,CAAA;CAChC;AAED,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,2BAA2B,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACnF,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;IACjF,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAAA;IACrE,eAAe,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACtE,UAAU,CAAC,EAAE,MAAM,CAAA;CACnB;AAOD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,uBAAuB,GAAG,iBAAiB,CAsJ1F"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,5 +2,7 @@ export { step, executeStep } from './step';
|
|
|
2
2
|
export { defineWorkflow, defineParallelWorkflow, defineBranchWorkflow } from './workflow';
|
|
3
3
|
export type { Workflow, ParallelWorkflowConfig, BranchConfig } from './workflow';
|
|
4
4
|
export { defineDagWorkflow } from './dag';
|
|
5
|
+
export { defineResumableWorkflow, createInMemoryCheckpointStore } from './checkpoint';
|
|
6
|
+
export type { ResumableWorkflow, ResumableWorkflowConfig, ResumableWorkflowRunOptions, WorkflowCheckpoint, CheckpointStore, } from './checkpoint';
|
|
5
7
|
export type { StepConfig, StepContext, StepResult, StepStatus, RetryConfig, WorkflowConfig, WorkflowResult, WorkflowStatus, WorkflowRunOptions, DagStepConfig, DagWorkflowConfig, } from './types';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACzF,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGzC,YAAY,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,iBAAiB,GACjB,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAG1C,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACzF,YAAY,EAAE,QAAQ,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAGhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAGzC,OAAO,EAAE,uBAAuB,EAAE,6BAA6B,EAAE,MAAM,cAAc,CAAA;AACrF,YAAY,EACX,iBAAiB,EACjB,uBAAuB,EACvB,2BAA2B,EAC3B,kBAAkB,EAClB,eAAe,GACf,MAAM,cAAc,CAAA;AAGrB,YAAY,EACX,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,iBAAiB,GACjB,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -88,6 +88,15 @@ class ElsiumError extends Error {
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
// ../core/src/utils.ts
|
|
91
|
+
import { randomBytes } from "node:crypto";
|
|
92
|
+
function cryptoHex(bytes) {
|
|
93
|
+
return randomBytes(bytes).toString("hex");
|
|
94
|
+
}
|
|
95
|
+
function generateId(prefix = "els") {
|
|
96
|
+
const timestamp = Date.now().toString(36);
|
|
97
|
+
const random = cryptoHex(4);
|
|
98
|
+
return `${prefix}_${timestamp}_${random}`;
|
|
99
|
+
}
|
|
91
100
|
async function sleep(ms) {
|
|
92
101
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
93
102
|
}
|
|
@@ -489,11 +498,153 @@ function defineDagWorkflow(config) {
|
|
|
489
498
|
}
|
|
490
499
|
};
|
|
491
500
|
}
|
|
501
|
+
// src/checkpoint.ts
|
|
502
|
+
function createInMemoryCheckpointStore() {
|
|
503
|
+
const store = new Map;
|
|
504
|
+
return {
|
|
505
|
+
async save(checkpoint) {
|
|
506
|
+
store.set(checkpoint.workflowId, { ...checkpoint });
|
|
507
|
+
},
|
|
508
|
+
async load(workflowId) {
|
|
509
|
+
const cp = store.get(workflowId);
|
|
510
|
+
return cp ? { ...cp } : null;
|
|
511
|
+
},
|
|
512
|
+
async delete(workflowId) {
|
|
513
|
+
store.delete(workflowId);
|
|
514
|
+
},
|
|
515
|
+
async list(workflowName) {
|
|
516
|
+
const all = Array.from(store.values());
|
|
517
|
+
if (workflowName)
|
|
518
|
+
return all.filter((c) => c.workflowName === workflowName);
|
|
519
|
+
return all;
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
}
|
|
523
|
+
async function getCreatedAt(store, workflowId) {
|
|
524
|
+
const existing = await store.load(workflowId);
|
|
525
|
+
return existing?.createdAt ?? Date.now();
|
|
526
|
+
}
|
|
527
|
+
function defineResumableWorkflow(config) {
|
|
528
|
+
const { checkpointStore } = config;
|
|
529
|
+
async function executeFromStep(workflowId, input, startIndex, existingResults, existingOutputs, options) {
|
|
530
|
+
const startTime = performance.now();
|
|
531
|
+
const stepResults = [...existingResults];
|
|
532
|
+
const outputs = { ...existingOutputs };
|
|
533
|
+
let currentInput = startIndex > 0 ? outputs[config.steps[startIndex - 1].name] ?? input : input;
|
|
534
|
+
const createdAt = await getCreatedAt(checkpointStore, workflowId);
|
|
535
|
+
for (let i = startIndex;i < config.steps.length; i++) {
|
|
536
|
+
const stepConfig = config.steps[i];
|
|
537
|
+
await checkpointStore.save({
|
|
538
|
+
workflowId,
|
|
539
|
+
workflowName: config.name,
|
|
540
|
+
status: "running",
|
|
541
|
+
input,
|
|
542
|
+
currentStepIndex: i,
|
|
543
|
+
stepResults: [...stepResults],
|
|
544
|
+
outputs: { ...outputs },
|
|
545
|
+
createdAt,
|
|
546
|
+
updatedAt: Date.now()
|
|
547
|
+
});
|
|
548
|
+
const context = {
|
|
549
|
+
workflowName: config.name,
|
|
550
|
+
stepIndex: i,
|
|
551
|
+
previousOutputs: { ...outputs },
|
|
552
|
+
signal: options?.signal
|
|
553
|
+
};
|
|
554
|
+
const result = await executeStep(stepConfig, currentInput, context);
|
|
555
|
+
stepResults.push(result);
|
|
556
|
+
if (result.status === "completed" && result.data !== undefined) {
|
|
557
|
+
outputs[stepConfig.name] = result.data;
|
|
558
|
+
currentInput = result.data;
|
|
559
|
+
}
|
|
560
|
+
await config.onStepComplete?.(result);
|
|
561
|
+
if (result.status === "failed") {
|
|
562
|
+
await config.onStepError?.(new Error(result.error ?? "Step failed"), stepConfig.name);
|
|
563
|
+
await checkpointStore.save({
|
|
564
|
+
workflowId,
|
|
565
|
+
workflowName: config.name,
|
|
566
|
+
status: "failed",
|
|
567
|
+
input,
|
|
568
|
+
currentStepIndex: i,
|
|
569
|
+
stepResults: [...stepResults],
|
|
570
|
+
outputs: { ...outputs },
|
|
571
|
+
createdAt,
|
|
572
|
+
updatedAt: Date.now()
|
|
573
|
+
});
|
|
574
|
+
const workflowResult2 = {
|
|
575
|
+
name: config.name,
|
|
576
|
+
status: "failed",
|
|
577
|
+
steps: stepResults,
|
|
578
|
+
totalDurationMs: Math.round(performance.now() - startTime),
|
|
579
|
+
outputs
|
|
580
|
+
};
|
|
581
|
+
await config.onComplete?.(workflowResult2);
|
|
582
|
+
return workflowResult2;
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
await checkpointStore.save({
|
|
586
|
+
workflowId,
|
|
587
|
+
workflowName: config.name,
|
|
588
|
+
status: "completed",
|
|
589
|
+
input,
|
|
590
|
+
currentStepIndex: config.steps.length,
|
|
591
|
+
stepResults: [...stepResults],
|
|
592
|
+
outputs: { ...outputs },
|
|
593
|
+
createdAt,
|
|
594
|
+
updatedAt: Date.now()
|
|
595
|
+
});
|
|
596
|
+
const workflowResult = {
|
|
597
|
+
name: config.name,
|
|
598
|
+
status: "completed",
|
|
599
|
+
steps: stepResults,
|
|
600
|
+
totalDurationMs: Math.round(performance.now() - startTime),
|
|
601
|
+
outputs
|
|
602
|
+
};
|
|
603
|
+
await config.onComplete?.(workflowResult);
|
|
604
|
+
return workflowResult;
|
|
605
|
+
}
|
|
606
|
+
return {
|
|
607
|
+
name: config.name,
|
|
608
|
+
async run(input, options = {}) {
|
|
609
|
+
const workflowId = options.workflowId ?? generateId("wf");
|
|
610
|
+
return executeFromStep(workflowId, input, 0, [], {}, options);
|
|
611
|
+
},
|
|
612
|
+
async resume(workflowId, options = {}) {
|
|
613
|
+
const checkpoint = await checkpointStore.load(workflowId);
|
|
614
|
+
if (!checkpoint) {
|
|
615
|
+
throw new ElsiumError({
|
|
616
|
+
code: "VALIDATION_ERROR",
|
|
617
|
+
message: `No checkpoint found for workflow "${workflowId}"`,
|
|
618
|
+
retryable: false
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
if (checkpoint.status === "completed") {
|
|
622
|
+
return {
|
|
623
|
+
name: config.name,
|
|
624
|
+
status: "completed",
|
|
625
|
+
steps: checkpoint.stepResults,
|
|
626
|
+
totalDurationMs: 0,
|
|
627
|
+
outputs: checkpoint.outputs
|
|
628
|
+
};
|
|
629
|
+
}
|
|
630
|
+
const resumeIndex = checkpoint.currentStepIndex;
|
|
631
|
+
return executeFromStep(workflowId, checkpoint.input, resumeIndex, checkpoint.stepResults.slice(0, resumeIndex), checkpoint.outputs, options);
|
|
632
|
+
},
|
|
633
|
+
async getCheckpoint(workflowId) {
|
|
634
|
+
return checkpointStore.load(workflowId);
|
|
635
|
+
},
|
|
636
|
+
async listCheckpoints() {
|
|
637
|
+
return checkpointStore.list(config.name);
|
|
638
|
+
}
|
|
639
|
+
};
|
|
640
|
+
}
|
|
492
641
|
export {
|
|
493
642
|
step,
|
|
494
643
|
executeStep,
|
|
495
644
|
defineWorkflow,
|
|
645
|
+
defineResumableWorkflow,
|
|
496
646
|
defineParallelWorkflow,
|
|
497
647
|
defineDagWorkflow,
|
|
498
|
-
defineBranchWorkflow
|
|
648
|
+
defineBranchWorkflow,
|
|
649
|
+
createInMemoryCheckpointStore
|
|
499
650
|
};
|
package/dist/types.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export interface RetryConfig {
|
|
|
29
29
|
maxDelayMs?: number;
|
|
30
30
|
shouldRetry?: (error: Error) => boolean;
|
|
31
31
|
}
|
|
32
|
-
export type WorkflowStatus = 'pending' | 'running' | 'completed' | 'failed';
|
|
32
|
+
export type WorkflowStatus = 'pending' | 'running' | 'completed' | 'failed' | 'paused';
|
|
33
33
|
export interface WorkflowConfig {
|
|
34
34
|
name: string;
|
|
35
35
|
steps: StepConfig[];
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAI5B,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAA;AAEnF,MAAM,WAAW,UAAU,CAAC,MAAM,GAAG,OAAO,EAAE,OAAO,GAAG,OAAO;IAC9D,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACzB,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAClE,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,KAAK,OAAO,CAAA;IAC5D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACxC,MAAM,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,UAAU,CAAA;IAClB,IAAI,CAAC,EAAE,CAAC,CAAA;IACR,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CAClB;AAID,MAAM,WAAW,WAAW;IAC3B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAA;CACvC;AAID,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elsium-ai/workflows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Multi-step workflow pipelines and DAG execution for ElsiumAI",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Eric Utrera <ebutrera9103@gmail.com>",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dev": "bun --watch src/index.ts"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@elsium-ai/core": "^0.
|
|
29
|
+
"@elsium-ai/core": "^0.8.0",
|
|
30
30
|
"zod": "^3.24.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|