@etohq/workflow-engine-redis 1.3.0 → 1.5.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 (37) hide show
  1. package/LICENSE +21 -0
  2. package/dist/loaders/redis.d.ts +2 -2
  3. package/dist/loaders/redis.d.ts.map +1 -1
  4. package/dist/loaders/redis.js +4 -1
  5. package/dist/loaders/redis.js.map +1 -1
  6. package/dist/migrations/Migration20250120111059.d.ts +6 -0
  7. package/dist/migrations/Migration20250120111059.d.ts.map +1 -0
  8. package/dist/migrations/Migration20250120111059.js +14 -0
  9. package/dist/migrations/Migration20250120111059.js.map +1 -0
  10. package/dist/migrations/Migration20250128174354.d.ts +6 -0
  11. package/dist/migrations/Migration20250128174354.d.ts.map +1 -0
  12. package/dist/migrations/Migration20250128174354.js +24 -0
  13. package/dist/migrations/Migration20250128174354.js.map +1 -0
  14. package/dist/migrations/Migration20250505101505.d.ts +6 -0
  15. package/dist/migrations/Migration20250505101505.d.ts.map +1 -0
  16. package/dist/migrations/Migration20250505101505.js +40 -0
  17. package/dist/migrations/Migration20250505101505.js.map +1 -0
  18. package/dist/models/workflow-execution.d.ts +2 -0
  19. package/dist/models/workflow-execution.d.ts.map +1 -1
  20. package/dist/models/workflow-execution.js +7 -0
  21. package/dist/models/workflow-execution.js.map +1 -1
  22. package/dist/services/workflow-orchestrator.d.ts +16 -7
  23. package/dist/services/workflow-orchestrator.d.ts.map +1 -1
  24. package/dist/services/workflow-orchestrator.js +148 -97
  25. package/dist/services/workflow-orchestrator.js.map +1 -1
  26. package/dist/services/workflows-module.d.ts +110 -5
  27. package/dist/services/workflows-module.d.ts.map +1 -1
  28. package/dist/services/workflows-module.js +117 -13
  29. package/dist/services/workflows-module.js.map +1 -1
  30. package/dist/tsconfig.tsbuildinfo +1 -1
  31. package/dist/types/index.d.ts +4 -0
  32. package/dist/types/index.d.ts.map +1 -1
  33. package/dist/utils/workflow-orchestrator-storage.d.ts +15 -4
  34. package/dist/utils/workflow-orchestrator-storage.d.ts.map +1 -1
  35. package/dist/utils/workflow-orchestrator-storage.js +302 -56
  36. package/dist/utils/workflow-orchestrator-storage.js.map +1 -1
  37. package/package.json +30 -30
@@ -18,56 +18,153 @@ const types_1 = require("@etohq/framework/types");
18
18
  const utils_1 = require("@etohq/framework/utils");
19
19
  const _models_1 = require("../models");
20
20
  class WorkflowsModuleService extends utils_1.ModulesSdkUtils.EtoService({ WorkflowExecution: _models_1.WorkflowExecution }) {
21
- constructor({ baseRepository, workflowExecutionService, workflowOrchestratorService, redisDisconnectHandler, }, moduleDeclaration) {
21
+ constructor({ manager, baseRepository, workflowExecutionService, workflowOrchestratorService, redisDisconnectHandler, }, moduleDeclaration) {
22
22
  // @ts-ignore
23
23
  super(...arguments);
24
24
  this.moduleDeclaration = moduleDeclaration;
25
25
  this.__hooks = {
26
- onApplicationShutdown: async () => {
27
- await this.workflowOrchestratorService_.onApplicationShutdown();
28
- await this.redisDisconnectHandler_();
26
+ onApplicationStart: async () => {
27
+ await this.workflowOrchestratorService_.onApplicationStart();
29
28
  },
30
29
  onApplicationPrepareShutdown: async () => {
31
30
  await this.workflowOrchestratorService_.onApplicationPrepareShutdown();
32
31
  },
33
- onApplicationStart: async () => {
34
- await this.workflowOrchestratorService_.onApplicationStart();
32
+ onApplicationShutdown: async () => {
33
+ await this.workflowOrchestratorService_.onApplicationShutdown();
34
+ await this.redisDisconnectHandler_();
35
35
  },
36
36
  };
37
+ this.manager_ = manager;
37
38
  this.baseRepository_ = baseRepository;
38
39
  this.workflowExecutionService_ = workflowExecutionService;
39
40
  this.workflowOrchestratorService_ = workflowOrchestratorService;
40
41
  this.redisDisconnectHandler_ = redisDisconnectHandler;
41
42
  }
43
+ static prepareFilters(filters) {
44
+ const filters_ = { ...filters }; // shallow copy
45
+ if (filters_?.q) {
46
+ const q = filters_.q;
47
+ delete filters_.q;
48
+ const textSearch = { $ilike: `%${q}%` };
49
+ const textSearchFilters = {
50
+ $or: [
51
+ {
52
+ transaction_id: textSearch,
53
+ },
54
+ {
55
+ workflow_id: textSearch,
56
+ },
57
+ {
58
+ state: textSearch,
59
+ },
60
+ {
61
+ execution: {
62
+ runId: textSearch,
63
+ },
64
+ },
65
+ ],
66
+ };
67
+ if (!Object.keys(filters_).length) {
68
+ return textSearchFilters;
69
+ }
70
+ else {
71
+ return { $and: [filters, textSearchFilters] };
72
+ }
73
+ }
74
+ return filters;
75
+ }
76
+ // @ts-expect-error
77
+ async listWorkflowExecutions(filters = {}, config, sharedContext) {
78
+ const filters_ = WorkflowsModuleService.prepareFilters(filters);
79
+ return await super.listWorkflowExecutions(filters_, config, sharedContext);
80
+ }
81
+ // @ts-expect-error
82
+ async listAndCountWorkflowExecutions(filters = {}, config, sharedContext) {
83
+ const filters_ = WorkflowsModuleService.prepareFilters(filters);
84
+ return await super.listAndCountWorkflowExecutions(filters_, config, sharedContext);
85
+ }
42
86
  async run(workflowIdOrWorkflow, options = {}, context = {}) {
43
- const ret = await this.workflowOrchestratorService_.run(workflowIdOrWorkflow, options, context);
87
+ const options_ = JSON.parse(JSON.stringify(options ?? {}));
88
+ const { manager, transactionManager, preventReleaseEvents, transactionId, parentStepIdempotencyKey, ...restContext } = context;
89
+ let localPreventReleaseEvents = false;
90
+ if ((0, utils_1.isDefined)(options_.context?.preventReleaseEvents)) {
91
+ localPreventReleaseEvents = options_.context.preventReleaseEvents;
92
+ }
93
+ else {
94
+ if ((0, utils_1.isDefined)(context.eventGroupId) &&
95
+ (0, utils_1.isDefined)(options_.context?.eventGroupId) &&
96
+ context.eventGroupId === options_.context?.eventGroupId) {
97
+ localPreventReleaseEvents = true;
98
+ }
99
+ }
100
+ let eventGroupId;
101
+ if (options_.context?.eventGroupId) {
102
+ eventGroupId = options_.context.eventGroupId;
103
+ }
104
+ else if (localPreventReleaseEvents && context.eventGroupId) {
105
+ eventGroupId = context.eventGroupId;
106
+ }
107
+ options_.context = {
108
+ ...(restContext ?? {}),
109
+ ...(options_.context ?? {}),
110
+ eventGroupId,
111
+ preventReleaseEvents: localPreventReleaseEvents,
112
+ };
113
+ const ret = await this.workflowOrchestratorService_.run(workflowIdOrWorkflow, options_);
44
114
  return ret;
45
115
  }
46
116
  async getRunningTransaction(workflowId, transactionId, context = {}) {
47
117
  return await this.workflowOrchestratorService_.getRunningTransaction(workflowId, transactionId, context);
48
118
  }
49
119
  async setStepSuccess({ idempotencyKey, stepResponse, options, }, context = {}) {
120
+ const options_ = JSON.parse(JSON.stringify(options ?? {}));
121
+ const { manager, transactionManager, ...restContext } = context;
122
+ options_.context ??= restContext;
50
123
  return await this.workflowOrchestratorService_.setStepSuccess({
51
124
  idempotencyKey,
52
125
  stepResponse,
53
- options,
54
- }, context);
126
+ options: options_,
127
+ });
55
128
  }
56
129
  async setStepFailure({ idempotencyKey, stepResponse, options, }, context = {}) {
130
+ const options_ = JSON.parse(JSON.stringify(options ?? {}));
131
+ const { manager, transactionManager, ...restContext } = context;
132
+ options_.context ??= restContext;
57
133
  return await this.workflowOrchestratorService_.setStepFailure({
58
134
  idempotencyKey,
59
135
  stepResponse,
60
- options,
61
- }, context);
136
+ options: options_,
137
+ });
62
138
  }
63
139
  async subscribe(args, context = {}) {
64
- return this.workflowOrchestratorService_.subscribe(args, context);
140
+ return this.workflowOrchestratorService_.subscribe(args);
65
141
  }
66
142
  async unsubscribe(args, context = {}) {
67
- return this.workflowOrchestratorService_.unsubscribe(args, context);
143
+ return this.workflowOrchestratorService_.unsubscribe(args);
144
+ }
145
+ async cancel(workflowId, options, context = {}) {
146
+ return await this.workflowOrchestratorService_.cancel(workflowId, options);
68
147
  }
69
148
  }
70
149
  exports.WorkflowsModuleService = WorkflowsModuleService;
150
+ __decorate([
151
+ (0, utils_1.InjectManager)()
152
+ // @ts-expect-error
153
+ ,
154
+ __param(2, (0, utils_1.EtoContext)()),
155
+ __metadata("design:type", Function),
156
+ __metadata("design:paramtypes", [Object, Object, Object]),
157
+ __metadata("design:returntype", Promise)
158
+ ], WorkflowsModuleService.prototype, "listWorkflowExecutions", null);
159
+ __decorate([
160
+ (0, utils_1.InjectManager)()
161
+ // @ts-expect-error
162
+ ,
163
+ __param(2, (0, utils_1.EtoContext)()),
164
+ __metadata("design:type", Function),
165
+ __metadata("design:paramtypes", [Object, Object, Object]),
166
+ __metadata("design:returntype", Promise)
167
+ ], WorkflowsModuleService.prototype, "listAndCountWorkflowExecutions", null);
71
168
  __decorate([
72
169
  (0, utils_1.InjectSharedContext)(),
73
170
  __param(2, (0, utils_1.EtoContext)()),
@@ -110,4 +207,11 @@ __decorate([
110
207
  __metadata("design:paramtypes", [Object, Object]),
111
208
  __metadata("design:returntype", Promise)
112
209
  ], WorkflowsModuleService.prototype, "unsubscribe", null);
210
+ __decorate([
211
+ (0, utils_1.InjectSharedContext)(),
212
+ __param(2, (0, utils_1.EtoContext)()),
213
+ __metadata("design:type", Function),
214
+ __metadata("design:paramtypes", [String, Object, Object]),
215
+ __metadata("design:returntype", Promise)
216
+ ], WorkflowsModuleService.prototype, "cancel", null);
113
217
  //# sourceMappingURL=workflows-module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflows-module.js","sourceRoot":"","sources":["../../src/services/workflows-module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAO+B;AAC/B,kDAI+B;AAK/B,qCAA2C;AAU3C,MAAa,sBAIX,SAAQ,uBAAe,CAAC,UAAU,CAEjC,EAAE,iBAAiB,EAAjB,2BAAiB,EAAE,CAAC;IAMvB,YACE,EACE,cAAc,EACd,wBAAwB,EACxB,2BAA2B,EAC3B,sBAAsB,GACD,EACJ,iBAA4C;QAE/D,aAAa;QACb,KAAK,CAAC,GAAG,SAAS,CAAC,CAAA;QAHA,sBAAiB,GAAjB,iBAAiB,CAA2B;QAWjE,YAAO,GAAG;YACR,qBAAqB,EAAE,KAAK,IAAI,EAAE;gBAChC,MAAM,IAAI,CAAC,4BAA4B,CAAC,qBAAqB,EAAE,CAAA;gBAC/D,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAA;YACtC,CAAC;YACD,4BAA4B,EAAE,KAAK,IAAI,EAAE;gBACvC,MAAM,IAAI,CAAC,4BAA4B,CAAC,4BAA4B,EAAE,CAAA;YACxE,CAAC;YACD,kBAAkB,EAAE,KAAK,IAAI,EAAE;gBAC7B,MAAM,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,CAAA;YAC9D,CAAC;SACF,CAAA;QAjBC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAA;QACrC,IAAI,CAAC,yBAAyB,GAAG,wBAAwB,CAAA;QACzD,IAAI,CAAC,4BAA4B,GAAG,2BAA2B,CAAA;QAC/D,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAA;IACvD,CAAC;IAgBK,AAAN,KAAK,CAAC,GAAG,CACP,oBAA+B,EAC/B,UAII,EAAE,EACQ,UAAmB,EAAE;QAEnC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,GAAG,CAIrD,oBAAoB,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;QAEzC,OAAO,GAAU,CAAA;IACnB,CAAC;IAGK,AAAN,KAAK,CAAC,qBAAqB,CACzB,UAAkB,EAClB,aAAqB,EACP,UAAmB,EAAE;QAEnC,OAAO,MAAM,IAAI,CAAC,4BAA4B,CAAC,qBAAqB,CAClE,UAAU,EACV,aAAa,EACb,OAAO,CACR,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAClB,EACE,cAAc,EACd,YAAY,EACZ,OAAO,GAKR,EACa,UAAmB,EAAE;QAEnC,OAAO,MAAM,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAC3D;YACE,cAAc;YACd,YAAY;YACZ,OAAO;SACD,EACR,OAAO,CACR,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,cAAc,CAClB,EACE,cAAc,EACd,YAAY,EACZ,OAAO,GAKR,EACa,UAAmB,EAAE;QAEnC,OAAO,MAAM,IAAI,CAAC,4BAA4B,CAAC,cAAc,CAC3D;YACE,cAAc;YACd,YAAY;YACZ,OAAO;SACD,EACR,OAAO,CACR,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,SAAS,CACb,IAKC,EACa,UAAmB,EAAE;QAEnC,OAAO,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC,IAAW,EAAE,OAAO,CAAC,CAAA;IAC1E,CAAC;IAGK,AAAN,KAAK,CAAC,WAAW,CACf,IAIC,EACa,UAAmB,EAAE;QAEnC,OAAO,IAAI,CAAC,4BAA4B,CAAC,WAAW,CAAC,IAAW,EAAE,OAAO,CAAC,CAAA;IAC5E,CAAC;CACF;AAjJD,wDAiJC;AArGO;IADL,IAAA,2BAAmB,GAAE;IAQnB,WAAA,IAAA,kBAAU,GAAE,CAAA;;yDANS,SAAS,oBAAT,SAAS;;iDAehC;AAGK;IADL,IAAA,2BAAmB,GAAE;IAInB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;mEAOd;AAGK;IADL,IAAA,2BAAmB,GAAE;IAWnB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;4DAUd;AAGK;IADL,IAAA,2BAAmB,GAAE;IAWnB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;4DAUd;AAGK;IADL,IAAA,2BAAmB,GAAE;IAQnB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;uDAGd;AAGK;IADL,IAAA,2BAAmB,GAAE;IAOnB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;yDAGd"}
1
+ {"version":3,"file":"workflows-module.js","sourceRoot":"","sources":["../../src/services/workflows-module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"root":["../src/index.ts","../src/loaders/index.ts","../src/loaders/redis.ts","../src/loaders/utils.ts","../src/migrations/migration20231228143900.ts","../src/migrations/migration20241206123341.ts","../src/models/index.ts","../src/models/workflow-execution.ts","../src/schema/index.ts","../src/services/index.ts","../src/services/workflow-orchestrator.ts","../src/services/workflows-module.ts","../src/types/index.ts","../src/utils/index.ts","../src/utils/workflow-orchestrator-storage.ts"],"version":"5.8.3"}
1
+ {"root":["../src/index.ts","../src/loaders/index.ts","../src/loaders/redis.ts","../src/loaders/utils.ts","../src/migrations/migration20231228143900.ts","../src/migrations/migration20241206123341.ts","../src/migrations/migration20250120111059.ts","../src/migrations/migration20250128174354.ts","../src/migrations/migration20250505101505.ts","../src/models/index.ts","../src/models/workflow-execution.ts","../src/schema/index.ts","../src/services/index.ts","../src/services/workflow-orchestrator.ts","../src/services/workflows-module.ts","../src/types/index.ts","../src/utils/index.ts","../src/utils/workflow-orchestrator-storage.ts"],"version":"5.8.3"}
@@ -15,6 +15,10 @@ export type RedisWorkflowsOptions = {
15
15
  * Queue name used for retries and timeouts
16
16
  */
17
17
  queueName?: string;
18
+ /**
19
+ * Queue name used for job execution
20
+ */
21
+ jobQueueName?: string;
18
22
  /**
19
23
  * Redis client options
20
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,MAAM,sCAAsC,GAAG;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAA;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,YAAY,CAAA;KACvB,CAAA;CACF,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC,MAAM,MAAM,sCAAsC,GAAG;IACnD,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAClC;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,OAAO,CAAC,EAAE,YAAY,CAAA;IAEtB;;OAEG;IACH,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAA;QACX,OAAO,CAAC,EAAE,YAAY,CAAA;KACvB,CAAA;CACF,CAAA"}
@@ -2,21 +2,29 @@ import { DistributedTransactionType, IDistributedSchedulerStorage, IDistributedT
2
2
  import { Logger, ModulesSdkTypes } from "@etohq/framework/types";
3
3
  import Redis from "ioredis";
4
4
  export declare class RedisDistributedTransactionStorage implements IDistributedTransactionStorage, IDistributedSchedulerStorage {
5
- private static TTL_AFTER_COMPLETED;
5
+ #private;
6
6
  private workflowExecutionService_;
7
7
  private logger_;
8
8
  private workflowOrchestratorService_;
9
9
  private redisClient;
10
10
  private redisWorkerConnection;
11
11
  private queueName;
12
+ private jobQueueName;
12
13
  private queue;
14
+ private jobQueue?;
13
15
  private worker;
14
- constructor({ workflowExecutionService, redisConnection, redisWorkerConnection, redisQueueName, logger, }: {
16
+ private jobWorker?;
17
+ private cleanerQueueName;
18
+ private cleanerWorker_;
19
+ private cleanerQueue_?;
20
+ constructor({ workflowExecutionService, redisConnection, redisWorkerConnection, redisQueueName, redisJobQueueName, logger, isWorkerMode, }: {
15
21
  workflowExecutionService: ModulesSdkTypes.IEtoInternalService<any>;
16
22
  redisConnection: Redis;
17
23
  redisWorkerConnection: Redis;
18
24
  redisQueueName: string;
25
+ redisJobQueueName: string;
19
26
  logger: Logger;
27
+ isWorkerMode: boolean;
20
28
  });
21
29
  onApplicationPrepareShutdown(): Promise<void>;
22
30
  onApplicationShutdown(): Promise<void>;
@@ -26,8 +34,9 @@ export declare class RedisDistributedTransactionStorage implements IDistributedT
26
34
  private deleteFromDb;
27
35
  private executeTransaction;
28
36
  private executeScheduledJob;
29
- get(key: string, options?: TransactionOptions): Promise<TransactionCheckpoint | undefined>;
30
- list(): Promise<TransactionCheckpoint[]>;
37
+ get(key: string, options?: TransactionOptions & {
38
+ isCancelling?: boolean;
39
+ }): Promise<TransactionCheckpoint | undefined>;
31
40
  save(key: string, data: TransactionCheckpoint, ttl?: number, options?: TransactionOptions): Promise<void>;
32
41
  scheduleRetry(transaction: DistributedTransactionType, step: TransactionStep, timestamp: number, interval: number): Promise<void>;
33
42
  clearRetry(transaction: DistributedTransactionType, step: TransactionStep): Promise<void>;
@@ -42,5 +51,7 @@ export declare class RedisDistributedTransactionStorage implements IDistributedT
42
51
  }, schedulerOptions: SchedulerOptions): Promise<void>;
43
52
  remove(jobId: string): Promise<void>;
44
53
  removeAll(): Promise<void>;
54
+ private removeAllRepeatableJobs;
55
+ clearExpiredExecutions(): Promise<void>;
45
56
  }
46
57
  //# sourceMappingURL=workflow-orchestrator-storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-orchestrator-storage.d.ts","sourceRoot":"","sources":["../../src/utils/workflow-orchestrator-storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,0BAA0B,EAC1B,4BAA4B,EAC5B,8BAA8B,EAC9B,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,eAAe,EAChB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAQhE,OAAO,KAAK,MAAM,SAAS,CAAA;AAS3B,qBAAa,kCACX,YAAW,8BAA8B,EAAE,4BAA4B;IAEvE,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAS;IAC3C,OAAO,CAAC,yBAAyB,CAA0C;IAC3E,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,4BAA4B,CAA6B;IAEjE,OAAO,CAAC,WAAW,CAAO;IAC1B,OAAO,CAAC,qBAAqB,CAAO;IACpC,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,KAAK,CAAO;IACpB,OAAO,CAAC,MAAM,CAAQ;gBAEV,EACV,wBAAwB,EACxB,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,MAAM,GACP,EAAE;QACD,wBAAwB,EAAE,eAAe,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAA;QAClE,eAAe,EAAE,KAAK,CAAA;QACtB,qBAAqB,EAAE,KAAK,CAAA;QAC5B,cAAc,EAAE,MAAM,CAAA;QACtB,MAAM,EAAE,MAAM,CAAA;KACf;IASK,4BAA4B;IAK5B,qBAAqB;IAIrB,kBAAkB;IAgCxB,8BAA8B,CAAC,2BAA2B,KAAA;YAI5C,QAAQ;YAeR,YAAY;YASZ,kBAAkB;YAQlB,mBAAmB;IAyB3B,GAAG,CACP,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,qBAAqB,GAAG,SAAS,CAAC;IAmCvC,IAAI,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAcxC,IAAI,CACR,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,qBAAqB,EAC3B,GAAG,CAAC,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA6CV,aAAa,CACjB,WAAW,EAAE,0BAA0B,EACvC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAgBV,UAAU,CACd,WAAW,EAAE,0BAA0B,EACvC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC;IAIV,0BAA0B,CAC9B,WAAW,EAAE,0BAA0B,EACvC,CAAC,EAAE,MAAM,EACT,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAeV,uBAAuB,CAC3B,WAAW,EAAE,0BAA0B,GACtC,OAAO,CAAC,IAAI,CAAC;IAIV,mBAAmB,CACvB,WAAW,EAAE,0BAA0B,EACvC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAgBV,gBAAgB,CACpB,WAAW,EAAE,0BAA0B,EACvC,IAAI,EAAE,eAAe,GACpB,OAAO,CAAC,IAAI,CAAC;IAIhB,OAAO,CAAC,QAAQ;YAiBF,SAAS;IAcjB,QAAQ,CACZ,aAAa,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,EACzC,gBAAgB,EAAE,gBAAgB,GACjC,OAAO,CAAC,IAAI,CAAC;IA6BV,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAMjC"}
1
+ {"version":3,"file":"workflow-orchestrator-storage.d.ts","sourceRoot":"","sources":["../../src/utils/workflow-orchestrator-storage.ts"],"names":[],"mappings":"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"}