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":"LocalFileStorage.js","sourceRoot":"","sources":["../../../src/storage/LocalFileStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocalFileStorage.js","sourceRoot":"","sources":["../../../src/storage/LocalFileStorage.ts"],"names":[],"mappings":"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"}
@@ -10,9 +10,36 @@ export declare class MemoryStorage implements StorageProvider {
10
10
  private instanceMetrics;
11
11
  private events;
12
12
  private heartbeats;
13
+ protected lastCleanedEventIds: string[];
14
+ protected lastCleanedHeartbeatKeys: string[];
15
+ protected lastCleanedInstanceIds: string[];
16
+ private instancesByWorkflowId;
17
+ private instancesByStatus;
18
+ private instancesByParentId;
19
+ private eventsByInstanceId;
20
+ private eventsByType;
21
+ protected indexSizesForTest(): {
22
+ instancesByWorkflowId: number;
23
+ instancesByStatus: number;
24
+ instancesByParentId: number;
25
+ eventsByInstanceId: number;
26
+ eventsByType: number;
27
+ };
28
+ private addToIndex;
29
+ private removeFromIndex;
30
+ private putInstance;
31
+ private dropInstance;
32
+ private putEvent;
33
+ private dropEvent;
34
+ private idsToRecords;
35
+ private narrowByIndexes;
13
36
  connect(): Promise<void>;
14
37
  private toEpochMs;
15
38
  private normalizeInstanceDates;
39
+ protected peekInstance(instanceId: string): WorkflowInstance | undefined;
40
+ protected peekHeartbeat(heartbeatKey: string): HeartbeatState | undefined;
41
+ protected hasEventInMemory(eventId: string): boolean;
42
+ protected hasHeartbeatFileKeyInMemory(fileKey: string): boolean;
16
43
  saveInstance(instance: WorkflowInstance): Promise<void>;
17
44
  casUpdateInstance(instance: WorkflowInstance): Promise<boolean>;
18
45
  private deepClone;
@@ -37,8 +64,10 @@ export declare class MemoryStorage implements StorageProvider {
37
64
  loadWorkflowVersion(workflowId: string, version: number): Promise<StoredWorkflowVersion | null>;
38
65
  listWorkflowVersions(workflowId: string): Promise<number[]>;
39
66
  saveInstanceMetrics(metrics: InstanceMetrics): Promise<void>;
67
+ deleteInstanceMetrics(instanceId: string): Promise<void>;
40
68
  loadInstanceMetrics(instanceId: string): Promise<InstanceMetrics | null>;
41
69
  updateNodeMetrics(instanceId: string, nodeId: string, metrics: NodeMetrics): Promise<void>;
70
+ protected peekInstanceMetrics(instanceId: string): InstanceMetrics | undefined;
42
71
  saveEvent(event: EventRecord): Promise<void>;
43
72
  loadEvent(eventId: string): Promise<EventRecord | null>;
44
73
  queryEvents(params: EventQueryParams): Promise<{
@@ -1,4 +1,5 @@
1
1
  import { Logger } from "../utils/Logger.js";
2
+ const INDEX_SELECTIVITY_THRESHOLD = 0.5;
2
3
  export class MemoryStorage {
3
4
  instances = new Map();
4
5
  workflows = new Map();
@@ -8,6 +9,109 @@ export class MemoryStorage {
8
9
  instanceMetrics = new Map();
9
10
  events = new Map();
10
11
  heartbeats = new Map();
12
+ lastCleanedEventIds = [];
13
+ lastCleanedHeartbeatKeys = [];
14
+ lastCleanedInstanceIds = [];
15
+ instancesByWorkflowId = new Map();
16
+ instancesByStatus = new Map();
17
+ instancesByParentId = new Map();
18
+ eventsByInstanceId = new Map();
19
+ eventsByType = new Map();
20
+ indexSizesForTest() {
21
+ const total = (index) => {
22
+ let sum = 0;
23
+ for (const bucket of index.values())
24
+ sum += bucket.size;
25
+ return sum;
26
+ };
27
+ return {
28
+ instancesByWorkflowId: total(this.instancesByWorkflowId),
29
+ instancesByStatus: total(this.instancesByStatus),
30
+ instancesByParentId: total(this.instancesByParentId),
31
+ eventsByInstanceId: total(this.eventsByInstanceId),
32
+ eventsByType: total(this.eventsByType),
33
+ };
34
+ }
35
+ addToIndex(index, value, id) {
36
+ if (!value)
37
+ return;
38
+ const bucket = index.get(value);
39
+ if (bucket)
40
+ bucket.add(id);
41
+ else
42
+ index.set(value, new Set([id]));
43
+ }
44
+ removeFromIndex(index, value, id) {
45
+ if (!value)
46
+ return;
47
+ const bucket = index.get(value);
48
+ if (!bucket)
49
+ return;
50
+ bucket.delete(id);
51
+ if (bucket.size === 0)
52
+ index.delete(value);
53
+ }
54
+ putInstance(instanceId, instance) {
55
+ const previous = this.instances.get(instanceId);
56
+ if (previous) {
57
+ this.removeFromIndex(this.instancesByWorkflowId, previous.workflowId, instanceId);
58
+ this.removeFromIndex(this.instancesByStatus, previous.status, instanceId);
59
+ this.removeFromIndex(this.instancesByParentId, previous.parentInstanceId, instanceId);
60
+ }
61
+ this.instances.set(instanceId, instance);
62
+ this.addToIndex(this.instancesByWorkflowId, instance.workflowId, instanceId);
63
+ this.addToIndex(this.instancesByStatus, instance.status, instanceId);
64
+ this.addToIndex(this.instancesByParentId, instance.parentInstanceId, instanceId);
65
+ }
66
+ dropInstance(instanceId) {
67
+ const previous = this.instances.get(instanceId);
68
+ if (!previous)
69
+ return false;
70
+ this.removeFromIndex(this.instancesByWorkflowId, previous.workflowId, instanceId);
71
+ this.removeFromIndex(this.instancesByStatus, previous.status, instanceId);
72
+ this.removeFromIndex(this.instancesByParentId, previous.parentInstanceId, instanceId);
73
+ return this.instances.delete(instanceId);
74
+ }
75
+ putEvent(eventId, event) {
76
+ const previous = this.events.get(eventId);
77
+ if (previous) {
78
+ this.removeFromIndex(this.eventsByInstanceId, previous.instanceId, eventId);
79
+ this.removeFromIndex(this.eventsByType, previous.eventType, eventId);
80
+ }
81
+ this.events.set(eventId, event);
82
+ this.addToIndex(this.eventsByInstanceId, event.instanceId, eventId);
83
+ this.addToIndex(this.eventsByType, event.eventType, eventId);
84
+ }
85
+ dropEvent(eventId) {
86
+ const previous = this.events.get(eventId);
87
+ if (!previous)
88
+ return false;
89
+ this.removeFromIndex(this.eventsByInstanceId, previous.instanceId, eventId);
90
+ this.removeFromIndex(this.eventsByType, previous.eventType, eventId);
91
+ return this.events.delete(eventId);
92
+ }
93
+ *idsToRecords(ids, source) {
94
+ for (const id of ids) {
95
+ const record = source.get(id);
96
+ if (record !== undefined)
97
+ yield record;
98
+ }
99
+ }
100
+ narrowByIndexes(lookups, totalRecords) {
101
+ let smallest;
102
+ for (const { index, value } of lookups) {
103
+ if (!value)
104
+ continue;
105
+ const bucket = index.get(value) ?? new Set();
106
+ if (!smallest || bucket.size < smallest.size)
107
+ smallest = bucket;
108
+ }
109
+ if (smallest &&
110
+ smallest.size > totalRecords * INDEX_SELECTIVITY_THRESHOLD) {
111
+ return undefined;
112
+ }
113
+ return smallest;
114
+ }
11
115
  async connect() {
12
116
  Logger.info("system", "storage", "Memory storage initialized");
13
117
  }
@@ -39,10 +143,26 @@ export class MemoryStorage {
39
143
  : [],
40
144
  };
41
145
  }
146
+ peekInstance(instanceId) {
147
+ return this.instances.get(instanceId);
148
+ }
149
+ peekHeartbeat(heartbeatKey) {
150
+ return this.heartbeats.get(heartbeatKey);
151
+ }
152
+ hasEventInMemory(eventId) {
153
+ return this.events.has(eventId);
154
+ }
155
+ hasHeartbeatFileKeyInMemory(fileKey) {
156
+ for (const hb of this.heartbeats.values()) {
157
+ if (`${hb.instanceId}:${hb.nodeId}` === fileKey)
158
+ return true;
159
+ }
160
+ return false;
161
+ }
42
162
  async saveInstance(instance) {
43
163
  const normalizedInstance = this.normalizeInstanceDates(instance);
44
164
  const cloned = this.deepClone(normalizedInstance);
45
- this.instances.set(instance.instanceId, cloned);
165
+ this.putInstance(instance.instanceId, cloned);
46
166
  Logger.debug("system", "storage", `Instance ${instance.instanceId} saved to memory`);
47
167
  }
48
168
  async casUpdateInstance(instance) {
@@ -54,7 +174,7 @@ export class MemoryStorage {
54
174
  ...normalizedInstance,
55
175
  version: currentVersion + 1,
56
176
  });
57
- this.instances.set(instance.instanceId, cloned);
177
+ this.putInstance(instance.instanceId, cloned);
58
178
  Logger.debug("system", "storage", `Instance ${instance.instanceId} CAS update succeeded (version ${currentVersion} -> ${currentVersion + 1})`);
59
179
  return true;
60
180
  }
@@ -191,7 +311,7 @@ export class MemoryStorage {
191
311
  return Array.from(this.workflows.keys());
192
312
  }
193
313
  async deleteInstance(instanceId) {
194
- this.instances.delete(instanceId);
314
+ this.dropInstance(instanceId);
195
315
  Logger.debug("system", "storage", `Instance ${instanceId} deleted from memory`);
196
316
  }
197
317
  async deleteWorkflow(workflowId) {
@@ -255,6 +375,10 @@ export class MemoryStorage {
255
375
  this.instanceMetrics.set(metrics.instanceId, this.deepClone(metrics));
256
376
  Logger.debug("system", "storage", `Instance metrics saved for ${metrics.instanceId}`);
257
377
  }
378
+ async deleteInstanceMetrics(instanceId) {
379
+ this.instanceMetrics.delete(instanceId);
380
+ Logger.debug("system", "storage", `Instance metrics deleted for ${instanceId}`);
381
+ }
258
382
  async loadInstanceMetrics(instanceId) {
259
383
  const metrics = this.instanceMetrics.get(instanceId);
260
384
  return metrics ? this.deepClone(metrics) : null;
@@ -262,20 +386,24 @@ export class MemoryStorage {
262
386
  async updateNodeMetrics(instanceId, nodeId, metrics) {
263
387
  const existing = this.instanceMetrics.get(instanceId);
264
388
  const workflowId = existing?.workflowId || this.instances.get(instanceId)?.workflowId || "";
265
- const instanceMetrics = existing || {
389
+ const instanceMetrics = {
266
390
  instanceId,
267
391
  workflowId,
268
- nodeMetrics: {},
269
- createdAt: Date.now(),
392
+ createdAt: existing?.createdAt ?? Date.now(),
270
393
  updatedAt: Date.now(),
394
+ nodeMetrics: {
395
+ ...existing?.nodeMetrics,
396
+ [nodeId]: this.deepClone(metrics),
397
+ },
271
398
  };
272
- instanceMetrics.nodeMetrics[nodeId] = metrics;
273
- instanceMetrics.updatedAt = Date.now();
274
399
  this.instanceMetrics.set(instanceId, instanceMetrics);
275
400
  Logger.debug("system", "storage", `Node metrics updated for ${instanceId}:${nodeId}`);
276
401
  }
402
+ peekInstanceMetrics(instanceId) {
403
+ return this.instanceMetrics.get(instanceId);
404
+ }
277
405
  async saveEvent(event) {
278
- this.events.set(event.id, this.deepClone(event));
406
+ this.putEvent(event.id, this.deepClone(event));
279
407
  Logger.debug("system", "storage", `Event ${event.id} saved to memory`);
280
408
  }
281
409
  async loadEvent(eventId) {
@@ -283,18 +411,24 @@ export class MemoryStorage {
283
411
  return event ? this.deepClone(event) : null;
284
412
  }
285
413
  async queryEvents(params) {
286
- let events = Array.from(this.events.values());
287
- if (params.instanceId) {
288
- events = events.filter((e) => e.instanceId === params.instanceId);
289
- }
290
- if (params.eventType) {
291
- events = events.filter((e) => e.eventType === params.eventType);
292
- }
293
- if (params.startTime) {
294
- events = events.filter((e) => e.timestamp >= params.startTime);
295
- }
296
- if (params.endTime) {
297
- events = events.filter((e) => e.timestamp <= params.endTime);
414
+ const narrowed = this.narrowByIndexes([
415
+ { index: this.eventsByInstanceId, value: params.instanceId },
416
+ { index: this.eventsByType, value: params.eventType },
417
+ ], this.events.size);
418
+ const candidates = narrowed
419
+ ? this.idsToRecords(narrowed, this.events)
420
+ : this.events.values();
421
+ let events = [];
422
+ for (const event of candidates) {
423
+ if (params.instanceId && event.instanceId !== params.instanceId)
424
+ continue;
425
+ if (params.eventType && event.eventType !== params.eventType)
426
+ continue;
427
+ if (params.startTime && event.timestamp < params.startTime)
428
+ continue;
429
+ if (params.endTime && event.timestamp > params.endTime)
430
+ continue;
431
+ events.push(event);
298
432
  }
299
433
  events.sort((a, b) => a.timestamp - b.timestamp);
300
434
  const total = events.length;
@@ -306,25 +440,35 @@ export class MemoryStorage {
306
440
  return { events: events.map((e) => this.deepClone(e)), total };
307
441
  }
308
442
  async deleteEvent(eventId) {
309
- this.events.delete(eventId);
443
+ this.dropEvent(eventId);
310
444
  Logger.debug("system", "storage", `Event ${eventId} deleted from memory`);
311
445
  }
312
446
  async queryInstances(params) {
313
- let instances = Array.from(this.instances.values());
314
- if (params.workflowId) {
315
- instances = instances.filter((i) => i.workflowId === params.workflowId);
316
- }
317
- if (params.status) {
318
- instances = instances.filter((i) => i.status === params.status);
319
- }
320
- if (params.startTime) {
321
- instances = instances.filter((i) => this.toEpochMs(i.createdAt) >= params.startTime);
322
- }
323
- if (params.endTime) {
324
- instances = instances.filter((i) => this.toEpochMs(i.createdAt) <= params.endTime);
325
- }
326
- if (params.parentInstanceId) {
327
- instances = instances.filter((i) => i.parentInstanceId === params.parentInstanceId);
447
+ const narrowed = this.narrowByIndexes([
448
+ { index: this.instancesByWorkflowId, value: params.workflowId },
449
+ { index: this.instancesByStatus, value: params.status },
450
+ { index: this.instancesByParentId, value: params.parentInstanceId },
451
+ ], this.instances.size);
452
+ const candidates = narrowed
453
+ ? this.idsToRecords(narrowed, this.instances)
454
+ : this.instances.values();
455
+ let instances = [];
456
+ for (const instance of candidates) {
457
+ if (params.workflowId && instance.workflowId !== params.workflowId)
458
+ continue;
459
+ if (params.status && instance.status !== params.status)
460
+ continue;
461
+ if (params.parentInstanceId &&
462
+ instance.parentInstanceId !== params.parentInstanceId)
463
+ continue;
464
+ if (params.startTime || params.endTime) {
465
+ const createdAt = this.toEpochMs(instance.createdAt);
466
+ if (params.startTime && createdAt < params.startTime)
467
+ continue;
468
+ if (params.endTime && createdAt > params.endTime)
469
+ continue;
470
+ }
471
+ instances.push(instance);
328
472
  }
329
473
  const total = instances.length;
330
474
  this.sortInstances(instances, params.sortBy, params.sortOrder);
@@ -337,21 +481,25 @@ export class MemoryStorage {
337
481
  }
338
482
  sortInstances(instances, sortBy = "createdAt", sortOrder = "desc") {
339
483
  const direction = sortOrder === "asc" ? 1 : -1;
340
- instances.sort((a, b) => {
341
- let cmp;
342
- if (sortBy === "status") {
343
- cmp = a.status.localeCompare(b.status);
344
- }
345
- else if (sortBy === "updatedAt") {
346
- cmp = this.toEpochMs(a.updatedAt) - this.toEpochMs(b.updatedAt);
347
- }
348
- else {
349
- cmp = this.toEpochMs(a.createdAt) - this.toEpochMs(b.createdAt);
350
- }
484
+ const decorated = instances.map((instance) => ({
485
+ instance,
486
+ key: sortBy === "status"
487
+ ? instance.status
488
+ : sortBy === "updatedAt"
489
+ ? this.toEpochMs(instance.updatedAt)
490
+ : this.toEpochMs(instance.createdAt),
491
+ }));
492
+ decorated.sort((a, b) => {
493
+ const cmp = typeof a.key === "string"
494
+ ? a.key.localeCompare(b.key)
495
+ : a.key - b.key;
351
496
  if (cmp !== 0)
352
497
  return cmp * direction;
353
- return a.instanceId.localeCompare(b.instanceId) * direction;
498
+ return (a.instance.instanceId.localeCompare(b.instance.instanceId) * direction);
354
499
  });
500
+ for (const [index, entry] of decorated.entries()) {
501
+ instances[index] = entry.instance;
502
+ }
355
503
  }
356
504
  getAllInstances() {
357
505
  return this.instances;
@@ -359,11 +507,13 @@ export class MemoryStorage {
359
507
  cleanupStaleInstances(maxAgeMs) {
360
508
  const threshold = Date.now() - maxAgeMs;
361
509
  let cleaned = 0;
510
+ this.lastCleanedInstanceIds = [];
362
511
  for (const [id, instance] of this.instances) {
363
512
  const isCompleted = instance.status === "completed" || instance.status === "failed";
364
513
  const isStale = this.toEpochMs(instance.updatedAt) < threshold;
365
514
  if (isCompleted && isStale) {
366
- this.instances.delete(id);
515
+ this.dropInstance(id);
516
+ this.lastCleanedInstanceIds.push(id);
367
517
  cleaned++;
368
518
  Logger.debug("system", "cleanup", `Cleaned up stale instance ${id}`);
369
519
  }
@@ -394,9 +544,11 @@ export class MemoryStorage {
394
544
  async cleanupStaleEvents(retentionDays) {
395
545
  const cutoffTime = Date.now() - retentionDays * 24 * 60 * 60 * 1000;
396
546
  let deleted = 0;
547
+ this.lastCleanedEventIds = [];
397
548
  for (const [id, event] of this.events) {
398
549
  if (event.timestamp < cutoffTime) {
399
- this.events.delete(id);
550
+ this.dropEvent(id);
551
+ this.lastCleanedEventIds.push(id);
400
552
  deleted++;
401
553
  }
402
554
  }
@@ -407,9 +559,11 @@ export class MemoryStorage {
407
559
  }
408
560
  async cleanupExpiredHeartbeats() {
409
561
  let cleaned = 0;
562
+ this.lastCleanedHeartbeatKeys = [];
410
563
  for (const [key, hb] of this.heartbeats) {
411
564
  if (hb.deadline < Date.now()) {
412
565
  this.heartbeats.delete(key);
566
+ this.lastCleanedHeartbeatKeys.push(`${hb.instanceId}:${hb.nodeId}`);
413
567
  cleaned++;
414
568
  }
415
569
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryStorage.js","sourceRoot":"","sources":["../../../src/storage/MemoryStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MemoryStorage.js","sourceRoot":"","sources":["../../../src/storage/MemoryStorage.ts"],"names":[],"mappings":"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"}
@@ -145,6 +145,7 @@ export interface MetricsStorage {
145
145
  saveInstanceMetrics(metrics: InstanceMetrics): Promise<void>;
146
146
  loadInstanceMetrics(instanceId: string): Promise<InstanceMetrics | null>;
147
147
  updateNodeMetrics(instanceId: string, nodeId: string, metrics: NodeMetrics): Promise<void>;
148
+ deleteInstanceMetrics?(instanceId: string): Promise<void>;
148
149
  }
149
150
  export interface EventHistoryStorage {
150
151
  saveEvent(event: EventRecord): Promise<void>;
@@ -197,6 +198,7 @@ export interface StorageProvider extends StorageCore {
197
198
  listWorkflowVersions(workflowId: string): Promise<number[]>;
198
199
  saveInstanceMetrics(metrics: InstanceMetrics): Promise<void>;
199
200
  loadInstanceMetrics(instanceId: string): Promise<InstanceMetrics | null>;
201
+ deleteInstanceMetrics?(instanceId: string): Promise<void>;
200
202
  updateNodeMetrics(instanceId: string, nodeId: string, metrics: NodeMetrics): Promise<void>;
201
203
  saveEvent(event: EventRecord): Promise<void>;
202
204
  loadEvent(eventId: string): Promise<EventRecord | null>;