@crewx/workflow 0.3.22-rc.19 → 0.3.22-rc.190

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.
Files changed (49) hide show
  1. package/SKILL.md +40 -4
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +268 -86
  4. package/dist/cli.js.map +1 -1
  5. package/dist/src/card-state.d.ts +20 -0
  6. package/dist/src/card-state.d.ts.map +1 -0
  7. package/dist/src/card-state.js +121 -0
  8. package/dist/src/card-state.js.map +1 -0
  9. package/dist/src/engine.d.ts +9 -2
  10. package/dist/src/engine.d.ts.map +1 -1
  11. package/dist/src/engine.js +70 -22
  12. package/dist/src/engine.js.map +1 -1
  13. package/dist/src/failure.d.ts +41 -0
  14. package/dist/src/failure.d.ts.map +1 -0
  15. package/dist/src/failure.js +122 -0
  16. package/dist/src/failure.js.map +1 -0
  17. package/dist/src/list-view.d.ts +22 -0
  18. package/dist/src/list-view.d.ts.map +1 -0
  19. package/dist/src/list-view.js +188 -0
  20. package/dist/src/list-view.js.map +1 -0
  21. package/dist/src/mermaid.js +3 -3
  22. package/dist/src/mermaid.js.map +1 -1
  23. package/dist/src/parent-task-sync.d.ts +139 -0
  24. package/dist/src/parent-task-sync.d.ts.map +1 -0
  25. package/dist/src/parent-task-sync.js +445 -0
  26. package/dist/src/parent-task-sync.js.map +1 -0
  27. package/dist/src/retry-policy.d.ts +38 -0
  28. package/dist/src/retry-policy.d.ts.map +1 -0
  29. package/dist/src/retry-policy.js +140 -0
  30. package/dist/src/retry-policy.js.map +1 -0
  31. package/dist/src/run-manager.d.ts +36 -2
  32. package/dist/src/run-manager.d.ts.map +1 -1
  33. package/dist/src/run-manager.js +1195 -234
  34. package/dist/src/run-manager.js.map +1 -1
  35. package/dist/src/types.d.ts +37 -3
  36. package/dist/src/types.d.ts.map +1 -1
  37. package/dist/src/types.js +2 -0
  38. package/dist/src/types.js.map +1 -1
  39. package/dist/src/utils/output-format.d.ts +12 -0
  40. package/dist/src/utils/output-format.d.ts.map +1 -1
  41. package/dist/src/utils/output-format.js +103 -5
  42. package/dist/src/utils/output-format.js.map +1 -1
  43. package/dist/src/workflow-persistence.d.ts +48 -0
  44. package/dist/src/workflow-persistence.d.ts.map +1 -0
  45. package/dist/src/workflow-persistence.js +224 -0
  46. package/dist/src/workflow-persistence.js.map +1 -0
  47. package/dist/workflow-schema.json +29 -4
  48. package/package.json +23 -4
  49. package/workflow-schema.json +29 -4
@@ -1,23 +1,47 @@
1
- import type { RunExecution, AutoRunResult } from './types';
1
+ import type { RunExecution, WorkflowSpec, AutoRunResult } from './types';
2
+ export { FileLock } from './file-lock';
2
3
  export declare const SKILL_TASK_DEFAULT_TIMEOUT = 600000;
4
+ export declare const WORKFLOW_CANCEL_GRACE_MS = 2000;
5
+ export declare const WORKFLOW_RUN_INTERRUPTED_ERROR = "Workflow run interrupted: runner process exited before completion";
6
+ export declare const WORKFLOW_RUN_LEGACY_RECOVERY_GRACE_MS: number;
7
+ export type RunPersistedSink = (run: RunExecution) => void;
8
+ export interface RunManagerDependencies {
9
+ sleep?: (ms: number) => Promise<void>;
10
+ onRunPersisted?: RunPersistedSink;
11
+ }
3
12
  export declare function parseSetArgs(args: string[]): Record<string, unknown>;
4
13
  export declare function readStdin(): Promise<string>;
5
14
  export declare function interpolateTemplate(template: string, state: Record<string, unknown>): string;
6
15
  export declare function safeEvaluate(expr: string, state: Record<string, unknown>): unknown;
7
16
  export declare function safeEvaluateBranchCondition(expr: string, state: Record<string, unknown>): unknown;
8
17
  export declare function validateSafeBranchCondition(expr: string): void;
18
+ export declare function normalizeRunStatus(run: RunExecution, nowMs?: number): RunExecution;
19
+ export declare function isRetryableFailure(run: RunExecution, spec: WorkflowSpec): boolean;
9
20
  export declare class RunManager {
10
21
  private runsDir;
11
22
  private readonly resolvedDir;
12
23
  private readonly projectRoot;
13
- constructor(runsDir?: string, projectRoot?: string);
24
+ private readonly sleep;
25
+ private readonly onRunPersisted?;
26
+ constructor(runsDir?: string, projectRoot?: string, deps?: RunManagerDependencies);
14
27
  ensureRunsDir(): void;
15
28
  private validateExecId;
29
+ private isRunCancelled;
30
+ private processCancellation;
31
+ private readRunRaw;
32
+ readRun(execId: string): RunExecution | null;
33
+ private isLegacyStatuslessStale;
34
+ withRunLock<T>(execId: string, callback: (run: RunExecution) => T): T;
35
+ private hasStaleRunner;
36
+ private recoverStaleRunner;
16
37
  loadRun(execId: string): RunExecution | null;
17
38
  saveRun(run: RunExecution): void;
18
39
  atomicUpdate(execId: string, updater: (run: RunExecution) => void): RunExecution;
19
40
  atomicUpdateAsync(execId: string, updater: (run: RunExecution) => void): Promise<RunExecution>;
41
+ private reserveNodeAttempt;
42
+ private clearNodeAttempt;
20
43
  private loadWorkflowYaml;
44
+ getNodeType(workflowFile: string, workflowId: string, nodeId: string): string | null;
21
45
  start(yamlPath: string, workflowId?: string, overrides?: Record<string, unknown>): RunExecution;
22
46
  getState(execId: string): Record<string, unknown>;
23
47
  setState(execId: string, updates: Record<string, unknown>): void;
@@ -26,9 +50,19 @@ export declare class RunManager {
26
50
  dryRun?: boolean;
27
51
  trigger?: 'manual' | 'auto';
28
52
  }): Promise<RunExecution>;
53
+ private claimAutoRunLease;
54
+ private releaseAutoRunLease;
55
+ private failAutoConfiguration;
56
+ private reserveAutoRetry;
57
+ private waitForRetry;
58
+ private runNodeWithRetry;
29
59
  runAuto(execId: string): Promise<AutoRunResult>;
30
60
  cancelRun(execId: string, reason?: string): RunExecution;
31
61
  reset(execId: string): RunExecution;
62
+ retry(execId: string, options?: {
63
+ autoRun?: boolean;
64
+ }): RunExecution;
65
+ listRunIds(): string[];
32
66
  listRuns(opts?: {
33
67
  workflowId?: string;
34
68
  }): RunExecution[];
@@ -1 +1 @@
1
- {"version":3,"file":"run-manager.d.ts","sourceRoot":"","sources":["../../src/run-manager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAA0C,aAAa,EAAY,MAAM,SAAS,CAAC;AAY7G,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAqJlD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BpE;AAKD,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAMjD;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAW5F;AAkRD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAIlF;AAwED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGjG;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9D;AAMD,qBAAa,UAAU;IAIT,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEjB,OAAO,GAAE,MAA+B,EAAE,WAAW,CAAC,EAAE,MAAM;IAQlF,aAAa,IAAI,IAAI;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAa5C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAWhC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,YAAY;IAqB1E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBpG,OAAO,CAAC,gBAAgB;IAQxB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAgD/F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQjD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMhE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY;IAShD,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,YAAY,CAAC;IAsgBlB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+FrD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAsB,GAAG,YAAY;IAyBrE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAQnC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,EAAE;CAsBzD"}
1
+ {"version":3,"file":"run-manager.d.ts","sourceRoot":"","sources":["../../src/run-manager.ts"],"names":[],"mappings":"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"}