@melra/runtime-core 0.3.0-alpha.10

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 (71) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +45 -0
  3. package/dist/circuit-breaker.d.ts +35 -0
  4. package/dist/circuit-breaker.d.ts.map +1 -0
  5. package/dist/circuit-breaker.js +56 -0
  6. package/dist/circuit-breaker.js.map +1 -0
  7. package/dist/circuit-breaker.test.d.ts +2 -0
  8. package/dist/circuit-breaker.test.d.ts.map +1 -0
  9. package/dist/circuit-breaker.test.js +51 -0
  10. package/dist/circuit-breaker.test.js.map +1 -0
  11. package/dist/index.d.ts +9 -0
  12. package/dist/index.d.ts.map +1 -0
  13. package/dist/index.js +11 -0
  14. package/dist/index.js.map +1 -0
  15. package/dist/payload-cipher.d.ts +8 -0
  16. package/dist/payload-cipher.d.ts.map +1 -0
  17. package/dist/payload-cipher.js +47 -0
  18. package/dist/payload-cipher.js.map +1 -0
  19. package/dist/payload-cipher.test.d.ts +2 -0
  20. package/dist/payload-cipher.test.d.ts.map +1 -0
  21. package/dist/payload-cipher.test.js +33 -0
  22. package/dist/payload-cipher.test.js.map +1 -0
  23. package/dist/retry-guard.d.ts +21 -0
  24. package/dist/retry-guard.d.ts.map +1 -0
  25. package/dist/retry-guard.js +56 -0
  26. package/dist/retry-guard.js.map +1 -0
  27. package/dist/retry-guard.test.d.ts +2 -0
  28. package/dist/retry-guard.test.d.ts.map +1 -0
  29. package/dist/retry-guard.test.js +45 -0
  30. package/dist/retry-guard.test.js.map +1 -0
  31. package/dist/task-controller.d.ts +60 -0
  32. package/dist/task-controller.d.ts.map +1 -0
  33. package/dist/task-controller.js +456 -0
  34. package/dist/task-controller.js.map +1 -0
  35. package/dist/task-controller.test.d.ts +2 -0
  36. package/dist/task-controller.test.d.ts.map +1 -0
  37. package/dist/task-controller.test.js +486 -0
  38. package/dist/task-controller.test.js.map +1 -0
  39. package/dist/verification-gate.d.ts +18 -0
  40. package/dist/verification-gate.d.ts.map +1 -0
  41. package/dist/verification-gate.js +29 -0
  42. package/dist/verification-gate.js.map +1 -0
  43. package/dist/verification-gate.test.d.ts +2 -0
  44. package/dist/verification-gate.test.d.ts.map +1 -0
  45. package/dist/verification-gate.test.js +42 -0
  46. package/dist/verification-gate.test.js.map +1 -0
  47. package/dist/workflow-controller.d.ts +40 -0
  48. package/dist/workflow-controller.d.ts.map +1 -0
  49. package/dist/workflow-controller.js +877 -0
  50. package/dist/workflow-controller.js.map +1 -0
  51. package/dist/workflow-controller.test.d.ts +2 -0
  52. package/dist/workflow-controller.test.d.ts.map +1 -0
  53. package/dist/workflow-controller.test.js +785 -0
  54. package/dist/workflow-controller.test.js.map +1 -0
  55. package/dist/workflow-events.d.ts +4 -0
  56. package/dist/workflow-events.d.ts.map +1 -0
  57. package/dist/workflow-events.js +121 -0
  58. package/dist/workflow-events.js.map +1 -0
  59. package/dist/workflow-events.test.d.ts +2 -0
  60. package/dist/workflow-events.test.d.ts.map +1 -0
  61. package/dist/workflow-events.test.js +113 -0
  62. package/dist/workflow-events.test.js.map +1 -0
  63. package/dist/workflow-graph.d.ts +8 -0
  64. package/dist/workflow-graph.d.ts.map +1 -0
  65. package/dist/workflow-graph.js +107 -0
  66. package/dist/workflow-graph.js.map +1 -0
  67. package/dist/workflow-graph.test.d.ts +2 -0
  68. package/dist/workflow-graph.test.d.ts.map +1 -0
  69. package/dist/workflow-graph.test.js +169 -0
  70. package/dist/workflow-graph.test.js.map +1 -0
  71. package/package.json +36 -0
@@ -0,0 +1,40 @@
1
+ import { type ApprovalResponse, type TaskRecord, type WorkflowDefinition, type WorkflowEvent, type WorkflowInput, type WorkflowRun } from "@melra/protocol";
2
+ import { SqliteStore } from "@melra/storage-sqlite";
3
+ import { PayloadCipher } from "./payload-cipher.js";
4
+ import { TaskController } from "./task-controller.js";
5
+ export interface WorkflowAdvanceResult {
6
+ run: WorkflowRun;
7
+ tasks: TaskRecord[];
8
+ events: WorkflowEvent[];
9
+ }
10
+ export declare class WorkflowController {
11
+ private readonly store;
12
+ private readonly tasks;
13
+ private readonly payloadCipher;
14
+ private readonly leaseDurationMs;
15
+ private readonly advances;
16
+ private readonly owner;
17
+ constructor(store: SqliteStore, tasks: TaskController, payloadCipher: PayloadCipher, leaseDurationMs?: number);
18
+ plan(definition: WorkflowDefinition): WorkflowRun;
19
+ status(workflowId: string): WorkflowRun;
20
+ events(workflowId: string, afterSequence?: number): WorkflowEvent[];
21
+ advance(workflowId: string, approvals?: ApprovalResponse[], inputs?: WorkflowInput[]): Promise<WorkflowAdvanceResult>;
22
+ private leasedAdvance;
23
+ private advanceOnce;
24
+ recoverInterrupted(): Promise<WorkflowRun[]>;
25
+ pause(workflowId: string): WorkflowRun;
26
+ suspend(workflowId: string): WorkflowRun;
27
+ resume(workflowId: string): WorkflowRun;
28
+ private halt;
29
+ cancel(workflowId: string): WorkflowRun;
30
+ private transition;
31
+ private loadDefinition;
32
+ private replay;
33
+ private advanceNode;
34
+ private runTask;
35
+ private runSequential;
36
+ private runParallel;
37
+ private runLoop;
38
+ private deriveStatus;
39
+ }
40
+ //# sourceMappingURL=workflow-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-controller.d.ts","sourceRoot":"","sources":["../src/workflow-controller.ts"],"names":[],"mappings":"AAIA,OAAO,EAKL,KAAK,gBAAgB,EACrB,KAAK,UAAU,EAEf,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,aAAa,EAGlB,KAAK,WAAW,EACjB,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAYtD,MAAM,WAAW,qBAAqB;IACpC,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAeD,qBAAa,kBAAkB;IAQ3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,eAAe;IAPlC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqD;IAC9E,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;gBAGvC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,aAAa,EAC5B,eAAe,SAAS;IAG3C,IAAI,CAAC,UAAU,EAAE,kBAAkB,GAAG,WAAW;IAiDjD,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;IAMvC,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,SAAI,GAAG,aAAa,EAAE;IAKxD,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,gBAAgB,EAAO,EAClC,MAAM,GAAE,aAAa,EAAO,GAC3B,OAAO,CAAC,qBAAqB,CAAC;YAyBnB,aAAa;YAmCb,WAAW;IA6KnB,kBAAkB,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IA+ElD,KAAK,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;IAItC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;IAIxC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;IAsBvC,OAAO,CAAC,IAAI;IAmBZ,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW;IA+BvC,OAAO,CAAC,UAAU;IAmClB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,MAAM;YAmBA,WAAW;YAyLX,OAAO;YAwCP,aAAa;YA+Bb,WAAW;YAmCX,OAAO;IAwDrB,OAAO,CAAC,YAAY;CAmDrB"}