@elsium-ai/workflows 0.6.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.
@@ -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
@@ -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[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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.6.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.6.0",
29
+ "@elsium-ai/core": "^0.8.0",
30
30
  "zod": "^3.24.0"
31
31
  },
32
32
  "devDependencies": {