ts-workflow-engine-lite 2.1.0 → 3.0.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.
Files changed (35) hide show
  1. package/README.md +140 -21
  2. package/README.zh.md +353 -0
  3. package/dist/src/api/docsPage.js +6 -1
  4. package/dist/src/api/docsPage.js.map +1 -1
  5. package/dist/src/cli.js +0 -4
  6. package/dist/src/cli.js.map +1 -1
  7. package/dist/src/engine/InstanceManager.d.ts +1 -0
  8. package/dist/src/engine/InstanceManager.js +4 -0
  9. package/dist/src/engine/InstanceManager.js.map +1 -1
  10. package/dist/src/engine/WorkflowInstanceControl.js +2 -4
  11. package/dist/src/engine/WorkflowInstanceControl.js.map +1 -1
  12. package/dist/src/storage/ArchiveManager.js +1 -0
  13. package/dist/src/storage/ArchiveManager.js.map +1 -1
  14. package/dist/src/storage/LocalFileStorage.d.ts +17 -0
  15. package/dist/src/storage/LocalFileStorage.js +205 -65
  16. package/dist/src/storage/LocalFileStorage.js.map +1 -1
  17. package/dist/src/storage/MemoryStorage.d.ts +29 -0
  18. package/dist/src/storage/MemoryStorage.js +205 -51
  19. package/dist/src/storage/MemoryStorage.js.map +1 -1
  20. package/dist/src/storage/StorageProvider.d.ts +2 -0
  21. package/dist/src/templates/AutoExtract.js +1 -1
  22. package/dist/src/templates/AutoExtract.js.map +1 -1
  23. package/dist/src/utils/concurrency.d.ts +1 -0
  24. package/dist/src/utils/concurrency.js +7 -0
  25. package/dist/src/utils/concurrency.js.map +1 -1
  26. package/package.json +4 -18
  27. package/dist/src/demo/demoWorkflow.d.ts +0 -3
  28. package/dist/src/demo/demoWorkflow.js +0 -82
  29. package/dist/src/demo/demoWorkflow.js.map +0 -1
  30. package/dist/src/demo/exampleWorkflow.d.ts +0 -36
  31. package/dist/src/demo/exampleWorkflow.js +0 -184
  32. package/dist/src/demo/exampleWorkflow.js.map +0 -1
  33. package/dist/src/demo/index.d.ts +0 -2
  34. package/dist/src/demo/index.js +0 -3
  35. package/dist/src/demo/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"InstanceManager.js","sourceRoot":"","sources":["../../../src/engine/InstanceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InstanceManager.js","sourceRoot":"","sources":["../../../src/engine/InstanceManager.ts"],"names":[],"mappings":"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"}
@@ -254,7 +254,7 @@ export class WorkflowInstanceControl {
254
254
  if (!fresh) {
255
255
  return inMemory;
256
256
  }
257
- this.instanceManager.getInstancesMap().set(instanceId, fresh);
257
+ this.instanceManager.replaceInstance(fresh);
258
258
  return fresh;
259
259
  }
260
260
  async persistControlUpdate(instance, mutate) {
@@ -267,9 +267,7 @@ export class WorkflowInstanceControl {
267
267
  if (!persisted) {
268
268
  current.version = 1;
269
269
  await storage.saveInstance(current);
270
- this.instanceManager
271
- .getInstancesMap()
272
- .set(current.instanceId, current);
270
+ this.instanceManager.replaceInstance(current);
273
271
  return current;
274
272
  }
275
273
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowInstanceControl.js","sourceRoot":"","sources":["../../../src/engine/WorkflowInstanceControl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowInstanceControl.js","sourceRoot":"","sources":["../../../src/engine/WorkflowInstanceControl.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,7 @@ export class ArchiveManager {
76
76
  if (this.storage) {
77
77
  try {
78
78
  await this.storage.deleteInstance(instanceId);
79
+ await this.storage.deleteInstanceMetrics?.(instanceId);
79
80
  }
80
81
  catch (deleteError) {
81
82
  Logger.warn("system", "ArchiveManager", `Archived instance ${instanceId} but failed to evict from hot storage: ${errorStack(deleteError) ?? String(deleteError)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"ArchiveManager.js","sourceRoot":"","sources":["../../../src/storage/ArchiveManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArchiveManager.js","sourceRoot":"","sources":["../../../src/storage/ArchiveManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAoB,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAUrD,MAAM,OAAO,cAAc;IACjB,UAAU,CAAS;IACnB,OAAO,CAAmB;IAE1B,eAAe,GAAkB,IAAI,CAAC;IAEtC,WAAW,GAAG,CAAC,CAAC;IAChB,WAAW,GAAsB,EAAE,CAAC;IACpC,YAAY,CAAkB;IACrB,aAAa,CAAS;IACtB,iBAAiB,CAAS;IAE3C,YACE,OAAyB,EACzB,UAAmB,EACnB,UAAkE,EAAE;QAEpE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU;YACb,UAAU;gBACV,OAAO,CAAC,GAAG,CAAC,WAAW;gBACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,aAAa;YAChB,OAAO,CAAC,aAAa;gBACrB,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB;YACpB,OAAO,CAAC,iBAAiB;gBACzB,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,UAAU,EAAE;oBAC/D,GAAG,EAAE,IAAI;iBACV,CAAC,CAAC;IACP,CAAC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO;QAExC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACpC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,gBAAgB,EAChB,yCAAyC,IAAI,CAAC,UAAU,EAAE,CAC3D,CAAC;QAGF,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG;YACjB,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC;YACrC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC;YAClC,MAAM,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACtC,CAAC;QAEF,KAAK,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,WAAW,CAC7B,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,sBAAsB,EAAE,EACxC,IAAI,CAAC,iBAAiB,CACvB,CAAC;IACJ,CAAC;IAEM,OAAO;QACZ,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,OAAoB;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACtC,IAAI,CAAC,UAAU;YAAE,OAAO;QAExB,IAAI,CAAC;YAEH,IAAI,YAAY,GAA4B,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;gBACjE,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,GAAG,YAAkD,CAAC;gBACpE,CAAC;YACH,CAAC;YAGD,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;YAEpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,UAAU,OAAO,CAAC,CAAC;YAC3D,MAAM,cAAc,GAAG;gBACrB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACrC,cAAc,EAAE,OAAO,CAAC,KAAK;gBAC7B,GAAG,YAAY;aAChB,CAAC;YAEF,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAEjD,MAAM,CAAC,KAAK,CACV,QAAQ,EACR,gBAAgB,EAChB,kCAAkC,UAAU,OAAO,QAAQ,EAAE,CAC9D,CAAC;YAIF,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;oBAI9C,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,UAAU,CAAC,CAAC;gBACzD,CAAC;gBAAC,OAAO,WAAoB,EAAE,CAAC;oBAC9B,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,gBAAgB,EAChB,qBAAqB,UAAU,0CAA0C,UAAU,CAAC,WAAW,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,EAAE,CAC1H,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CACV,QAAQ,EACR,gBAAgB,EAChB,8BAA8B,UAAU,EAAE,EAC1C,UAAU,CAAC,KAAK,CAAC,CAClB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QAC3C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACjE,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAgB,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE;gBACnD,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC;YACjE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpE,SAAS;YACX,CAAC;YACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,gBAAgB,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,IAAI,SAAS,EAAE,CAAC;gBAClE,SAAS;YACX,CAAC;YACD,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC3D,SAAS,EAAE,IAAI;gBACf,KAAK,EAAE,IAAI;aACZ,CAAC,CAAC;YACH,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;YAChB,MAAM,CAAC,IAAI,CACT,QAAQ,EACR,gBAAgB,EAChB,WAAW,OAAO,8BAA8B,CACjD,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IASO,KAAK,CAAC,cAAc,CAAC,OAAe;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,eAAe,KAAK,OAAO,EAAE,CAAC;YACrC,OAAO,QAAQ,CAAC;QAClB,CAAC;QAGD,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;QAC/B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,KAAc;QAGxD,MAAM,QAAQ,GAAG,GAAG,QAAQ,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;QAGtF,MAAM,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACF"}
@@ -5,14 +5,22 @@ import type { EventRecord, EventWaitingState, HeartbeatState, InstanceMetrics, N
5
5
  export interface LocalFileStorageOptions {
6
6
  directory: string;
7
7
  fsyncOnWrite?: boolean;
8
+ fsyncCollections?: readonly Collection[];
8
9
  }
10
+ type Collection = "instances" | "workflows" | "workflow-metadata" | "workflow-versions" | "waiting" | "metrics" | "events" | "heartbeats" | "dlq" | "webhooks" | "webhook-deliveries";
9
11
  export declare class LocalFileStorage extends MemoryStorage {
10
12
  readonly directory: string;
11
13
  private readonly directories;
12
14
  private readonly fsyncOnWrite;
15
+ private readonly fsyncCollections;
13
16
  private readonly directoryFsyncQueues;
14
17
  private writeQueues;
18
+ private pendingValues;
19
+ private queuedWrites;
15
20
  private persistenceGenerations;
21
+ private rollbackTargets;
22
+ private lastOrphanSweep;
23
+ private pendingFileCleanup;
16
24
  private deadLetterEntries;
17
25
  private webhookEntries;
18
26
  private webhookDeliveryEntries;
@@ -30,6 +38,7 @@ export declare class LocalFileStorage extends MemoryStorage {
30
38
  saveWorkflowVersion(version: StoredWorkflowVersion): Promise<void>;
31
39
  saveInstanceMetrics(metrics: InstanceMetrics): Promise<void>;
32
40
  updateNodeMetrics(instanceId: string, nodeId: string, metrics: NodeMetrics): Promise<void>;
41
+ deleteInstanceMetrics(instanceId: string): Promise<void>;
33
42
  saveEvent(event: EventRecord): Promise<void>;
34
43
  deleteEvent(eventId: string): Promise<void>;
35
44
  saveHeartbeat(state: HeartbeatState): Promise<void>;
@@ -37,6 +46,7 @@ export declare class LocalFileStorage extends MemoryStorage {
37
46
  cleanupStaleEvents(retentionDays: number): Promise<number>;
38
47
  cleanupExpiredHeartbeats(): Promise<number>;
39
48
  cleanupStaleInstances(maxAgeMs: number): number;
49
+ whenIdle(): Promise<void>;
40
50
  close(): Promise<void>;
41
51
  saveDeadLetterEntry(entry: unknown): Promise<void>;
42
52
  loadAllDeadLetterEntries(): Promise<unknown[]>;
@@ -48,6 +58,9 @@ export declare class LocalFileStorage extends MemoryStorage {
48
58
  loadAllWebhookDeliveryEntries(): Promise<unknown[]>;
49
59
  deleteWebhookDeliveryEntry(id: string): Promise<void>;
50
60
  private removeStaleInstanceFiles;
61
+ private removeFilesConcurrently;
62
+ private sweepOrphans;
63
+ private restoreMetrics;
51
64
  private restoreCollection;
52
65
  private restoreInstance;
53
66
  private restoreEvent;
@@ -55,6 +68,9 @@ export declare class LocalFileStorage extends MemoryStorage {
55
68
  private persistOrRollback;
56
69
  private fsyncDirectory;
57
70
  private removeFile;
71
+ private nodeMetricsId;
72
+ private splitNodeMetricsId;
73
+ private nodeMetricsRecord;
58
74
  private filePath;
59
75
  private safeId;
60
76
  private decodeId;
@@ -62,3 +78,4 @@ export declare class LocalFileStorage extends MemoryStorage {
62
78
  private quarantine;
63
79
  private isJsonSerializable;
64
80
  }
81
+ export {};
@@ -1,15 +1,33 @@
1
1
  import * as fs from "node:fs";
2
2
  import * as path from "node:path";
3
- import { mapWithConcurrency } from "../utils/concurrency.js";
3
+ import { getRestoreConcurrency, mapWithConcurrency, } from "../utils/concurrency.js";
4
4
  import { Logger } from "../utils/Logger.js";
5
5
  import { MemoryStorage } from "./MemoryStorage.js";
6
+ const ORPHAN_SWEEP_INTERVAL_MS = 60 * 60 * 1000;
7
+ const DEFAULT_FSYNC_COLLECTIONS = [
8
+ "instances",
9
+ "workflows",
10
+ "workflow-metadata",
11
+ "workflow-versions",
12
+ "waiting",
13
+ "events",
14
+ "dlq",
15
+ "webhooks",
16
+ "webhook-deliveries",
17
+ ];
6
18
  export class LocalFileStorage extends MemoryStorage {
7
19
  directory;
8
20
  directories;
9
21
  fsyncOnWrite;
22
+ fsyncCollections;
10
23
  directoryFsyncQueues = new Map();
11
24
  writeQueues = new Map();
25
+ pendingValues = new Map();
26
+ queuedWrites = new Map();
12
27
  persistenceGenerations = new Map();
28
+ rollbackTargets = new Map();
29
+ lastOrphanSweep = new Map();
30
+ pendingFileCleanup = Promise.resolve();
13
31
  deadLetterEntries = new Map();
14
32
  webhookEntries = new Map();
15
33
  webhookDeliveryEntries = new Map();
@@ -19,6 +37,9 @@ export class LocalFileStorage extends MemoryStorage {
19
37
  this.directory = typeof options === "string" ? options : options.directory;
20
38
  this.fsyncOnWrite =
21
39
  typeof options === "string" ? false : (options.fsyncOnWrite ?? false);
40
+ this.fsyncCollections = new Set(typeof options === "string"
41
+ ? DEFAULT_FSYNC_COLLECTIONS
42
+ : (options.fsyncCollections ?? DEFAULT_FSYNC_COLLECTIONS));
22
43
  this.directories = {
23
44
  instances: path.join(this.directory, "instances"),
24
45
  workflows: path.join(this.directory, "workflows"),
@@ -42,29 +63,31 @@ export class LocalFileStorage extends MemoryStorage {
42
63
  }
43
64
  await super.connect();
44
65
  await this.restoreCollection("instances", async (id, value) => super.saveInstance(this.restoreInstance(value, id)));
45
- await this.restoreCollection("workflows", async (_id, value) => super.saveWorkflow(value));
46
- await this.restoreCollection("workflow-metadata", async (_id, value) => super.saveWorkflowWithMetadata(value));
47
- await this.restoreCollection("workflow-versions", async (_id, value) => super.saveWorkflowVersion(value));
48
- await this.restoreCollection("waiting", async (_id, value) => super.saveEventWaitingState(value));
49
- await this.restoreCollection("metrics", async (_id, value) => super.saveInstanceMetrics(value));
50
- await this.restoreCollection("events", async (_id, value) => super.saveEvent(this.restoreEvent(value)));
51
- await this.restoreCollection("heartbeats", async (_id, value) => super.saveHeartbeat(value));
52
- await this.restoreCollection("dlq", async (id, value) => {
53
- this.deadLetterEntries.set(id, value);
54
- });
55
- await this.restoreCollection("webhooks", async (id, value) => {
56
- this.webhookEntries.set(id, value);
57
- });
58
- await this.restoreCollection("webhook-deliveries", async (id, value) => {
59
- this.webhookDeliveryEntries.set(id, value);
60
- });
66
+ await Promise.all([
67
+ this.restoreCollection("workflows", async (_id, value) => super.saveWorkflow(value)),
68
+ this.restoreCollection("workflow-metadata", async (_id, value) => super.saveWorkflowWithMetadata(value)),
69
+ this.restoreCollection("workflow-versions", async (_id, value) => super.saveWorkflowVersion(value), true),
70
+ this.restoreCollection("waiting", async (_id, value) => super.saveEventWaitingState(value)),
71
+ this.restoreMetrics(),
72
+ this.restoreCollection("events", async (_id, value) => super.saveEvent(this.restoreEvent(value))),
73
+ this.restoreCollection("heartbeats", async (_id, value) => super.saveHeartbeat(value)),
74
+ this.restoreCollection("dlq", async (id, value) => {
75
+ this.deadLetterEntries.set(id, value);
76
+ }),
77
+ this.restoreCollection("webhooks", async (id, value) => {
78
+ this.webhookEntries.set(id, value);
79
+ }),
80
+ this.restoreCollection("webhook-deliveries", async (id, value) => {
81
+ this.webhookDeliveryEntries.set(id, value);
82
+ }),
83
+ ]);
61
84
  this.connected = true;
62
85
  Logger.info("system", "storage", `Local file storage restored from ${this.directory}`);
63
86
  }
64
87
  async saveInstance(instance) {
65
- const previous = await super.loadInstance(instance.instanceId);
88
+ const previous = this.peekInstance(instance.instanceId);
66
89
  await super.saveInstance(instance);
67
- await this.persistOrRollback("instances", instance.instanceId, await super.loadInstance(instance.instanceId), async () => {
90
+ await this.persistOrRollback("instances", instance.instanceId, this.peekInstance(instance.instanceId), async () => {
68
91
  if (previous)
69
92
  await super.saveInstance(previous);
70
93
  else
@@ -72,10 +95,10 @@ export class LocalFileStorage extends MemoryStorage {
72
95
  });
73
96
  }
74
97
  async casUpdateInstance(instance) {
75
- const previous = await super.loadInstance(instance.instanceId);
98
+ const previous = this.peekInstance(instance.instanceId);
76
99
  const updated = await super.casUpdateInstance(instance);
77
100
  if (updated) {
78
- await this.persistOrRollback("instances", instance.instanceId, await super.loadInstance(instance.instanceId), async () => {
101
+ await this.persistOrRollback("instances", instance.instanceId, this.peekInstance(instance.instanceId), async () => {
79
102
  if (previous)
80
103
  await super.saveInstance(previous);
81
104
  });
@@ -145,21 +168,32 @@ export class LocalFileStorage extends MemoryStorage {
145
168
  }
146
169
  }
147
170
  async saveInstanceMetrics(metrics) {
148
- const previous = await super.loadInstanceMetrics(metrics.instanceId);
171
+ const previous = this.peekInstanceMetrics(metrics.instanceId);
149
172
  await super.saveInstanceMetrics(metrics);
150
- await this.persistOrRollback("metrics", metrics.instanceId, await super.loadInstanceMetrics(metrics.instanceId), async () => {
173
+ const nodeIds = Object.keys(metrics.nodeMetrics ?? {});
174
+ await Promise.all(nodeIds.map((nodeId) => this.persistOrRollback("metrics", this.nodeMetricsId(metrics.instanceId, nodeId), this.nodeMetricsRecord(metrics, nodeId), async () => {
151
175
  if (previous)
152
176
  await super.saveInstanceMetrics(previous);
153
- });
177
+ })));
154
178
  }
155
179
  async updateNodeMetrics(instanceId, nodeId, metrics) {
156
- const previous = await super.loadInstanceMetrics(instanceId);
180
+ const previous = this.peekInstanceMetrics(instanceId);
157
181
  await super.updateNodeMetrics(instanceId, nodeId, metrics);
158
- await this.persistOrRollback("metrics", instanceId, await super.loadInstanceMetrics(instanceId), async () => {
182
+ const current = this.peekInstanceMetrics(instanceId);
183
+ await this.persistOrRollback("metrics", this.nodeMetricsId(instanceId, nodeId), current ? this.nodeMetricsRecord(current, nodeId) : undefined, async () => {
159
184
  if (previous)
160
185
  await super.saveInstanceMetrics(previous);
186
+ else
187
+ await super.deleteInstanceMetrics(instanceId);
161
188
  });
162
189
  }
190
+ async deleteInstanceMetrics(instanceId) {
191
+ const existing = this.peekInstanceMetrics(instanceId);
192
+ await super.deleteInstanceMetrics(instanceId);
193
+ const nodeIds = Object.keys(existing?.nodeMetrics ?? {});
194
+ await Promise.all(nodeIds.map((nodeId) => this.removeFile("metrics", this.nodeMetricsId(instanceId, nodeId))));
195
+ await this.removeFile("metrics", instanceId);
196
+ }
163
197
  async saveEvent(event) {
164
198
  const previous = await super.loadEvent(event.id);
165
199
  await super.saveEvent(event);
@@ -175,7 +209,7 @@ export class LocalFileStorage extends MemoryStorage {
175
209
  await this.removeFile("events", eventId);
176
210
  }
177
211
  async saveHeartbeat(state) {
178
- const previous = (await super.loadAllHeartbeats()).find((hb) => hb.heartbeatKey === state.heartbeatKey);
212
+ const previous = this.peekHeartbeat(state.heartbeatKey);
179
213
  await super.saveHeartbeat(state);
180
214
  await this.persistOrRollback("heartbeats", state.heartbeatKey, state, async () => {
181
215
  if (previous)
@@ -190,32 +224,29 @@ export class LocalFileStorage extends MemoryStorage {
190
224
  }
191
225
  async cleanupStaleEvents(retentionDays) {
192
226
  const deleted = await super.cleanupStaleEvents(retentionDays);
193
- const retained = await super.queryEvents({
194
- page: 1,
195
- pageSize: 100_000_000,
196
- });
197
- const retainedIds = new Set(retained.events.map((event) => event.id));
198
- for (const id of await this.listFiles("events")) {
199
- if (!retainedIds.has(id))
200
- await this.removeFile("events", id);
201
- }
227
+ await this.removeFilesConcurrently("events", this.lastCleanedEventIds);
228
+ await this.sweepOrphans("events", (id) => this.hasEventInMemory(id));
202
229
  return deleted;
203
230
  }
204
231
  async cleanupExpiredHeartbeats() {
205
232
  const deleted = await super.cleanupExpiredHeartbeats();
206
- const retained = new Set((await super.loadAllHeartbeats()).map((heartbeat) => `${heartbeat.instanceId}:${heartbeat.nodeId}`));
207
- for (const id of await this.listFiles("heartbeats")) {
208
- if (!retained.has(id))
209
- await this.removeFile("heartbeats", id);
210
- }
233
+ await this.removeFilesConcurrently("heartbeats", this.lastCleanedHeartbeatKeys);
234
+ await this.sweepOrphans("heartbeats", (id) => this.hasHeartbeatFileKeyInMemory(id));
211
235
  return deleted;
212
236
  }
213
237
  cleanupStaleInstances(maxAgeMs) {
214
238
  const cleaned = super.cleanupStaleInstances(maxAgeMs);
215
- void this.removeStaleInstanceFiles(maxAgeMs);
239
+ this.pendingFileCleanup = this.removeStaleInstanceFiles(maxAgeMs).catch((error) => {
240
+ Logger.error("system", "cleanup", "Failed to remove stale instance files", error instanceof Error ? error.stack : String(error));
241
+ });
216
242
  return cleaned;
217
243
  }
244
+ async whenIdle() {
245
+ await this.pendingFileCleanup;
246
+ await Promise.all(this.writeQueues.values());
247
+ }
218
248
  async close() {
249
+ await this.pendingFileCleanup;
219
250
  await Promise.all(this.writeQueues.values());
220
251
  this.connected = false;
221
252
  await super.close();
@@ -262,21 +293,69 @@ export class LocalFileStorage extends MemoryStorage {
262
293
  this.webhookDeliveryEntries.delete(id);
263
294
  await this.removeFile("webhook-deliveries", id);
264
295
  }
265
- async removeStaleInstanceFiles(maxAgeMs) {
266
- const threshold = Date.now() - maxAgeMs;
267
- const files = await this.listFiles("instances");
268
- for (const id of files) {
269
- const instance = await super.loadInstance(id);
270
- if (!instance)
271
- await this.removeFile("instances", id);
272
- else if ((instance.updatedAt?.getTime?.() ?? 0) < threshold &&
273
- ["completed", "failed"].includes(instance.status)) {
274
- await this.removeFile("instances", id);
296
+ async removeStaleInstanceFiles(_maxAgeMs) {
297
+ await this.removeFilesConcurrently("instances", this.lastCleanedInstanceIds);
298
+ await this.sweepOrphans("instances", (id) => this.peekInstance(id) != null);
299
+ }
300
+ async removeFilesConcurrently(collection, ids) {
301
+ if (ids.length === 0)
302
+ return;
303
+ await mapWithConcurrency([...ids], async (id) => {
304
+ await this.removeFile(collection, id);
305
+ });
306
+ }
307
+ async sweepOrphans(collection, isLive) {
308
+ const now = Date.now();
309
+ const last = this.lastOrphanSweep.get(collection) ?? 0;
310
+ if (now - last < ORPHAN_SWEEP_INTERVAL_MS)
311
+ return;
312
+ this.lastOrphanSweep.set(collection, now);
313
+ const orphans = (await this.listFiles(collection)).filter((id) => !isLive(id));
314
+ if (orphans.length === 0)
315
+ return;
316
+ await this.removeFilesConcurrently(collection, orphans);
317
+ Logger.debug("system", "cleanup", `Swept ${orphans.length} orphaned ${collection} file(s)`);
318
+ }
319
+ async restoreMetrics() {
320
+ const merged = new Map();
321
+ const ensure = (instanceId, workflowId, createdAt, updatedAt) => {
322
+ const existing = merged.get(instanceId);
323
+ if (existing) {
324
+ existing.createdAt = Math.min(existing.createdAt, createdAt);
325
+ existing.updatedAt = Math.max(existing.updatedAt, updatedAt);
326
+ if (!existing.workflowId && workflowId)
327
+ existing.workflowId = workflowId;
328
+ return existing;
329
+ }
330
+ const fresh = {
331
+ instanceId,
332
+ workflowId,
333
+ nodeMetrics: {},
334
+ createdAt,
335
+ updatedAt,
336
+ };
337
+ merged.set(instanceId, fresh);
338
+ return fresh;
339
+ };
340
+ await this.restoreCollection("metrics", async (id, value) => {
341
+ const split = this.splitNodeMetricsId(id);
342
+ if (!split) {
343
+ const legacy = value;
344
+ const target = ensure(legacy.instanceId || id, legacy.workflowId ?? "", Number(legacy.createdAt) || Date.now(), Number(legacy.updatedAt) || Date.now());
345
+ Object.assign(target.nodeMetrics, legacy.nodeMetrics ?? {});
346
+ return;
275
347
  }
348
+ const record = value;
349
+ const target = ensure(record.instanceId || split.instanceId, record.workflowId ?? "", Number(record.createdAt) || Date.now(), Number(record.updatedAt) || Date.now());
350
+ target.nodeMetrics[record.nodeId || split.nodeId] = record.metrics;
351
+ });
352
+ for (const metrics of merged.values()) {
353
+ await super.saveInstanceMetrics(metrics);
276
354
  }
277
355
  }
278
- async restoreCollection(collection, restore) {
356
+ async restoreCollection(collection, restore, serialReplay = false) {
279
357
  const ids = await this.listFiles(collection);
358
+ const concurrency = getRestoreConcurrency();
280
359
  const results = await mapWithConcurrency(ids, async (id) => {
281
360
  try {
282
361
  const value = JSON.parse(await fs.promises.readFile(this.filePath(collection, id), "utf8"));
@@ -285,18 +364,26 @@ export class LocalFileStorage extends MemoryStorage {
285
364
  catch (error) {
286
365
  return { ok: false, id, error };
287
366
  }
288
- });
289
- for (const result of results) {
290
- if (!result.ok) {
291
- await this.quarantine(collection, result.id, result.error);
292
- continue;
293
- }
367
+ }, concurrency);
368
+ const corrupt = results.filter((result) => !result.ok);
369
+ for (const result of corrupt) {
370
+ await this.quarantine(collection, result.id, result.error);
371
+ }
372
+ const healthy = results.filter((result) => result.ok);
373
+ const replayOne = async (result) => {
294
374
  try {
295
375
  await restore(result.id, result.value);
296
376
  }
297
377
  catch (error) {
298
378
  Logger.error("system", "storage", `Failed to restore ${collection} record ${result.id}; leaving the file in place`, error instanceof Error ? error.stack : String(error));
299
379
  }
380
+ };
381
+ if (serialReplay) {
382
+ for (const result of healthy)
383
+ await replayOne(result);
384
+ }
385
+ else {
386
+ await mapWithConcurrency(healthy, replayOne, concurrency);
300
387
  }
301
388
  }
302
389
  restoreInstance(value, id) {
@@ -321,10 +408,22 @@ export class LocalFileStorage extends MemoryStorage {
321
408
  if (value === null || value === undefined)
322
409
  return;
323
410
  const key = this.filePath(collection, id);
411
+ this.pendingValues.set(key, value);
412
+ const queued = this.queuedWrites.get(key);
413
+ if (queued) {
414
+ await queued;
415
+ return;
416
+ }
417
+ const shouldFsync = this.fsyncOnWrite && this.fsyncCollections.has(collection);
324
418
  const operation = async () => {
419
+ this.queuedWrites.delete(key);
420
+ const pending = this.pendingValues.get(key);
421
+ this.pendingValues.delete(key);
422
+ if (pending === undefined)
423
+ return;
325
424
  const temp = `${key}.${process.pid}.${Date.now()}.tmp`;
326
- const contents = JSON.stringify(value);
327
- if (!this.fsyncOnWrite) {
425
+ const contents = JSON.stringify(pending);
426
+ if (!shouldFsync) {
328
427
  await fs.promises.writeFile(temp, contents, "utf8");
329
428
  }
330
429
  else {
@@ -338,13 +437,14 @@ export class LocalFileStorage extends MemoryStorage {
338
437
  }
339
438
  }
340
439
  await fs.promises.rename(temp, key);
341
- if (this.fsyncOnWrite) {
440
+ if (shouldFsync) {
342
441
  await this.fsyncDirectory(path.dirname(key));
343
442
  }
344
443
  };
345
444
  const previous = this.writeQueues.get(key) ?? Promise.resolve();
346
445
  const current = previous.catch(() => undefined).then(operation);
347
446
  this.writeQueues.set(key, current);
447
+ this.queuedWrites.set(key, current);
348
448
  try {
349
449
  await current;
350
450
  }
@@ -352,20 +452,30 @@ export class LocalFileStorage extends MemoryStorage {
352
452
  if (this.writeQueues.get(key) === current) {
353
453
  this.writeQueues.delete(key);
354
454
  }
455
+ if (this.queuedWrites.get(key) === current) {
456
+ this.queuedWrites.delete(key);
457
+ }
355
458
  }
356
459
  }
357
460
  async persistOrRollback(collection, id, value, rollback) {
358
461
  const key = this.filePath(collection, id);
359
462
  const generation = (this.persistenceGenerations.get(key) ?? 0) + 1;
360
463
  this.persistenceGenerations.set(key, generation);
464
+ if (!this.rollbackTargets.has(key)) {
465
+ this.rollbackTargets.set(key, rollback);
466
+ }
361
467
  try {
362
468
  await this.persist(collection, id, value);
469
+ this.rollbackTargets.delete(key);
363
470
  }
364
471
  catch (error) {
365
- if (this.persistenceGenerations.get(key) === generation) {
366
- await rollback();
472
+ const isNewest = this.persistenceGenerations.get(key) === generation;
473
+ if (isNewest) {
474
+ const target = this.rollbackTargets.get(key) ?? rollback;
475
+ this.rollbackTargets.delete(key);
476
+ await target();
367
477
  }
368
- Logger.error("system", "storage", `Failed to persist ${collection}/${id} to disk${this.persistenceGenerations.get(key) === generation ? "; rolled back in-memory state" : "; a newer mutation remains in memory"}`, error instanceof Error ? error.stack : String(error));
478
+ Logger.error("system", "storage", `Failed to persist ${collection}/${id} to disk${isNewest ? "; rolled back in-memory state" : "; a newer mutation remains in memory"}`, error instanceof Error ? error.stack : String(error));
369
479
  throw error;
370
480
  }
371
481
  }
@@ -404,6 +514,36 @@ export class LocalFileStorage extends MemoryStorage {
404
514
  throw error;
405
515
  }
406
516
  }
517
+ nodeMetricsId(instanceId, nodeId) {
518
+ return `${encodeURIComponent(instanceId)}__${encodeURIComponent(nodeId)}`;
519
+ }
520
+ splitNodeMetricsId(id) {
521
+ const separator = id.indexOf("__");
522
+ if (separator === -1)
523
+ return null;
524
+ try {
525
+ return {
526
+ instanceId: decodeURIComponent(id.slice(0, separator)),
527
+ nodeId: decodeURIComponent(id.slice(separator + 2)),
528
+ };
529
+ }
530
+ catch {
531
+ return null;
532
+ }
533
+ }
534
+ nodeMetricsRecord(metrics, nodeId) {
535
+ const node = metrics.nodeMetrics?.[nodeId];
536
+ if (!node)
537
+ return undefined;
538
+ return {
539
+ instanceId: metrics.instanceId,
540
+ workflowId: metrics.workflowId,
541
+ createdAt: metrics.createdAt,
542
+ updatedAt: metrics.updatedAt,
543
+ nodeId,
544
+ metrics: node,
545
+ };
546
+ }
407
547
  filePath(collection, id) {
408
548
  return path.join(this.directories[collection], `${this.safeId(id)}.json`);
409
549
  }