@io-orkes/conductor-javascript 1.1.0 → 1.2.0-rc.1

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.
package/dist/index.mjs CHANGED
@@ -1,211 +1,3 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
- // src/task/helpers.ts
22
- var noopLogger = {
23
- debug: (...args) => {
24
- },
25
- info: (...args) => {
26
- },
27
- error: (...args) => {
28
- }
29
- };
30
-
31
- // src/task/Poller.ts
32
- var Poller = class {
33
- constructor(pollFunction, pollerOptions, logger) {
34
- this.concurrentCalls = [];
35
- this.pollFunction = async () => {
36
- };
37
- this.isPolling = false;
38
- this.options = {
39
- pollInterval: 1e3,
40
- concurrency: 1
41
- };
42
- this.logger = noopLogger;
43
- this.startPolling = () => {
44
- if (this.isPolling) {
45
- throw new Error("Runner is already started");
46
- }
47
- return this.poll();
48
- };
49
- this.stopPolling = () => {
50
- this.isPolling = false;
51
- this.concurrentCalls.forEach((call) => call.stop());
52
- };
53
- this.poll = async () => {
54
- if (!this.isPolling) {
55
- this.isPolling = true;
56
- for (let i = 0; i < this.options.concurrency; i++) {
57
- this.concurrentCalls.push(this.singlePoll());
58
- }
59
- }
60
- };
61
- this.singlePoll = () => {
62
- let poll = this.isPolling;
63
- let timeout;
64
- const pollingCall = async () => {
65
- while (poll) {
66
- await this.pollFunction();
67
- await new Promise((r) => timeout = setTimeout(() => r(true), this.options.pollInterval));
68
- }
69
- };
70
- return {
71
- promise: pollingCall(),
72
- stop: () => {
73
- clearTimeout(timeout);
74
- poll = false;
75
- this.logger.debug("stopping single poll call");
76
- }
77
- };
78
- };
79
- this.pollFunction = pollFunction;
80
- this.options = __spreadValues(__spreadValues({}, this.options), pollerOptions);
81
- this.logger = logger || noopLogger;
82
- }
83
- updateConcurrency(concurrency) {
84
- if (concurrency > 0 && concurrency !== this.options.concurrency) {
85
- if (concurrency < this.options.concurrency) {
86
- const result = this.concurrentCalls.splice(0, this.options.concurrency - concurrency);
87
- result.forEach((call) => {
88
- call.stop();
89
- this.logger.debug("stopping some spawned calls");
90
- });
91
- } else {
92
- for (let i = 0; i < concurrency - this.options.concurrency; i++) {
93
- this.concurrentCalls.push(this.singlePoll());
94
- this.logger.debug("spawning additional poll calls");
95
- }
96
- }
97
- this.options.concurrency = concurrency;
98
- }
99
- }
100
- updateOptions(options) {
101
- const newOptions = __spreadValues(__spreadValues({}, this.options), options);
102
- this.updateConcurrency(newOptions.concurrency);
103
- this.options = newOptions;
104
- }
105
- };
106
-
107
- // src/task/TaskRunner.ts
108
- var DEFAULT_ERROR_MESSAGE = "An unknown error occurred";
109
- var MAX_RETRIES = 3;
110
- var noopErrorHandler = (__error) => {
111
- };
112
- var TaskRunner = class {
113
- constructor({
114
- worker,
115
- taskResource,
116
- options,
117
- logger = noopLogger,
118
- onError: errorHandler = noopErrorHandler
119
- }) {
120
- this.startPolling = () => {
121
- this.poller.startPolling();
122
- };
123
- this.stopPolling = () => {
124
- this.poller.stopPolling();
125
- };
126
- this.pollAndExecute = async () => {
127
- try {
128
- const { workerID } = this.options;
129
- const task = await this.taskResource.poll(this.worker.taskDefName, workerID, this.worker.domain ?? this.options.domain);
130
- if (task && task.taskId) {
131
- await this.executeTask(task);
132
- } else {
133
- this.logger.debug(`No tasks for ${this.worker.taskDefName}`);
134
- }
135
- } catch (unknownError) {
136
- this.handleUnknownError(unknownError);
137
- this.errorHandler(unknownError);
138
- }
139
- };
140
- this.updateTaskWithRetry = async (task, taskResult) => {
141
- let retryCount = 0;
142
- while (retryCount < MAX_RETRIES) {
143
- try {
144
- await this.taskResource.updateTask1(taskResult);
145
- return;
146
- } catch (error) {
147
- this.errorHandler(error, task);
148
- this.logger.error(`Error updating task ${taskResult.taskId} on retry ${retryCount}`, error);
149
- retryCount++;
150
- await new Promise((r) => setTimeout(() => r(true), retryCount * 10));
151
- }
152
- }
153
- this.logger.error(`Unable to update task ${taskResult.taskId} after ${retryCount} retries`);
154
- };
155
- this.executeTask = async (task) => {
156
- try {
157
- const result = await this.worker.execute(task);
158
- await this.updateTaskWithRetry(task, __spreadProps(__spreadValues({}, result), {
159
- workflowInstanceId: task.workflowInstanceId,
160
- taskId: task.taskId
161
- }));
162
- this.logger.debug(`Finished polling for task ${task.taskId}`);
163
- } catch (error) {
164
- await this.updateTaskWithRetry(task, {
165
- workflowInstanceId: task.workflowInstanceId,
166
- taskId: task.taskId,
167
- reasonForIncompletion: error?.message ?? DEFAULT_ERROR_MESSAGE,
168
- status: "FAILED",
169
- outputData: {}
170
- });
171
- this.errorHandler(error, task);
172
- this.logger.error(`Error executing ${task.taskId}`, error);
173
- }
174
- };
175
- this.handleUnknownError = (unknownError) => {
176
- let message = "";
177
- let stack = "";
178
- if (unknownError.stack) {
179
- stack = unknownError.stack;
180
- }
181
- if (unknownError.message) {
182
- message = unknownError.message;
183
- }
184
- this.logger.error(`Error for ${this.worker.taskDefName}: error: ${message}, stack: ${stack}`);
185
- };
186
- this.taskResource = taskResource;
187
- this.logger = logger;
188
- this.worker = worker;
189
- this.options = options;
190
- this.errorHandler = errorHandler;
191
- this.poller = new Poller(this.pollAndExecute, { concurrency: options.concurrency, pollInterval: options.pollInterval }, this.logger);
192
- }
193
- updateOptions(options) {
194
- const newOptions = __spreadValues(__spreadValues({}, this.options), options);
195
- this.poller.updateOptions({
196
- concurrency: newOptions.concurrency,
197
- pollInterval: newOptions.pollInterval
198
- });
199
- this.options = newOptions;
200
- }
201
- get getOptions() {
202
- return this.options;
203
- }
204
- };
205
-
206
- // src/task/TaskManager.ts
207
- import os from "os";
208
-
209
1
  // src/common/ConductorLogger.ts
210
2
  var LOG_LEVELS = {
211
3
  DEBUG: 10,
@@ -245,106 +37,75 @@ var DefaultLogger = class {
245
37
  }
246
38
  }
247
39
  };
40
+ var noopLogger = {
41
+ //eslint-disable-next-line
42
+ debug: (...args) => {
43
+ },
44
+ //eslint-disable-next-line
45
+ info: (...args) => {
46
+ },
47
+ //eslint-disable-next-line
48
+ error: (...args) => {
49
+ }
50
+ };
248
51
 
249
- // src/common/open-api/core/CancelablePromise.ts
250
- var CancelError = class extends Error {
251
- constructor(message) {
252
- super(message);
253
- this.name = "CancelError";
52
+ // src/common/types.ts
53
+ var TaskType = /* @__PURE__ */ ((TaskType2) => {
54
+ TaskType2["START"] = "START";
55
+ TaskType2["SIMPLE"] = "SIMPLE";
56
+ TaskType2["DYNAMIC"] = "DYNAMIC";
57
+ TaskType2["FORK_JOIN"] = "FORK_JOIN";
58
+ TaskType2["FORK_JOIN_DYNAMIC"] = "FORK_JOIN_DYNAMIC";
59
+ TaskType2["DECISION"] = "DECISION";
60
+ TaskType2["SWITCH"] = "SWITCH";
61
+ TaskType2["JOIN"] = "JOIN";
62
+ TaskType2["DO_WHILE"] = "DO_WHILE";
63
+ TaskType2["SUB_WORKFLOW"] = "SUB_WORKFLOW";
64
+ TaskType2["EVENT"] = "EVENT";
65
+ TaskType2["WAIT"] = "WAIT";
66
+ TaskType2["USER_DEFINED"] = "USER_DEFINED";
67
+ TaskType2["HTTP"] = "HTTP";
68
+ TaskType2["LAMBDA"] = "LAMBDA";
69
+ TaskType2["INLINE"] = "INLINE";
70
+ TaskType2["EXCLUSIVE_JOIN"] = "EXCLUSIVE_JOIN";
71
+ TaskType2["TERMINAL"] = "TERMINAL";
72
+ TaskType2["TERMINATE"] = "TERMINATE";
73
+ TaskType2["KAFKA_PUBLISH"] = "KAFKA_PUBLISH";
74
+ TaskType2["JSON_JQ_TRANSFORM"] = "JSON_JQ_TRANSFORM";
75
+ TaskType2["SET_VARIABLE"] = "SET_VARIABLE";
76
+ return TaskType2;
77
+ })(TaskType || {});
78
+
79
+ // src/common/open-api/services/EventResourceService.ts
80
+ var EventResourceService = class {
81
+ constructor(httpRequest) {
82
+ this.httpRequest = httpRequest;
254
83
  }
255
- get isCancelled() {
256
- return true;
257
- }
258
- };
259
- var CancelablePromise = class {
260
- constructor(executor) {
261
- this._isResolved = false;
262
- this._isRejected = false;
263
- this._isCancelled = false;
264
- this._cancelHandlers = [];
265
- this._promise = new Promise((resolve2, reject) => {
266
- this._resolve = resolve2;
267
- this._reject = reject;
268
- const onResolve = (value) => {
269
- if (this._isResolved || this._isRejected || this._isCancelled) {
270
- return;
271
- }
272
- this._isResolved = true;
273
- this._resolve?.(value);
274
- };
275
- const onReject = (reason) => {
276
- if (this._isResolved || this._isRejected || this._isCancelled) {
277
- return;
278
- }
279
- this._isRejected = true;
280
- this._reject?.(reason);
281
- };
282
- const onCancel = (cancelHandler) => {
283
- if (this._isResolved || this._isRejected || this._isCancelled) {
284
- return;
285
- }
286
- this._cancelHandlers.push(cancelHandler);
287
- };
288
- Object.defineProperty(onCancel, "isResolved", {
289
- get: () => this._isResolved
290
- });
291
- Object.defineProperty(onCancel, "isRejected", {
292
- get: () => this._isRejected
293
- });
294
- Object.defineProperty(onCancel, "isCancelled", {
295
- get: () => this._isCancelled
296
- });
297
- return executor(onResolve, onReject, onCancel);
298
- });
299
- }
300
- then(onFulfilled, onRejected) {
301
- return this._promise.then(onFulfilled, onRejected);
302
- }
303
- catch(onRejected) {
304
- return this._promise.catch(onRejected);
305
- }
306
- finally(onFinally) {
307
- return this._promise.finally(onFinally);
308
- }
309
- cancel() {
310
- if (this._isResolved || this._isRejected || this._isCancelled) {
311
- return;
312
- }
313
- this._isCancelled = true;
314
- if (this._cancelHandlers.length) {
315
- try {
316
- for (const cancelHandler of this._cancelHandlers) {
317
- cancelHandler();
318
- }
319
- } catch (error) {
320
- console.warn("Cancellation threw an error", error);
321
- return;
322
- }
323
- }
324
- this._cancelHandlers.length = 0;
325
- this._reject?.(new CancelError("Request aborted"));
326
- }
327
- get isCancelled() {
328
- return this._isCancelled;
329
- }
330
- };
331
- Symbol.toStringTag;
332
-
333
- // src/common/open-api/services/EventResourceService.ts
334
- var EventResourceService = class {
335
- constructor(httpRequest) {
336
- this.httpRequest = httpRequest;
337
- }
338
- getQueueConfig(queueType, queueName) {
339
- return this.httpRequest.request({
340
- method: "GET",
341
- url: "/event/queue/config/{queueType}/{queueName}",
342
- path: {
343
- "queueType": queueType,
344
- "queueName": queueName
345
- }
346
- });
84
+ /**
85
+ * Get queue config by name
86
+ * @param queueType
87
+ * @param queueName
88
+ * @returns any OK
89
+ * @throws ApiError
90
+ */
91
+ getQueueConfig(queueType, queueName) {
92
+ return this.httpRequest.request({
93
+ method: "GET",
94
+ url: "/event/queue/config/{queueType}/{queueName}",
95
+ path: {
96
+ "queueType": queueType,
97
+ "queueName": queueName
98
+ }
99
+ });
347
100
  }
101
+ /**
102
+ * Create or update queue config by name
103
+ * @param queueType
104
+ * @param queueName
105
+ * @param requestBody
106
+ * @returns any OK
107
+ * @throws ApiError
108
+ */
348
109
  putQueueConfig(queueType, queueName, requestBody) {
349
110
  return this.httpRequest.request({
350
111
  method: "PUT",
@@ -357,6 +118,13 @@ var EventResourceService = class {
357
118
  mediaType: "application/json"
358
119
  });
359
120
  }
121
+ /**
122
+ * Delete queue config by name
123
+ * @param queueType
124
+ * @param queueName
125
+ * @returns any OK
126
+ * @throws ApiError
127
+ */
360
128
  deleteQueueConfig(queueType, queueName) {
361
129
  return this.httpRequest.request({
362
130
  method: "DELETE",
@@ -367,12 +135,23 @@ var EventResourceService = class {
367
135
  }
368
136
  });
369
137
  }
138
+ /**
139
+ * Get all the event handlers
140
+ * @returns EventHandler OK
141
+ * @throws ApiError
142
+ */
370
143
  getEventHandlers() {
371
144
  return this.httpRequest.request({
372
145
  method: "GET",
373
146
  url: "/event"
374
147
  });
375
148
  }
149
+ /**
150
+ * Update an existing event handler.
151
+ * @param requestBody
152
+ * @returns any OK
153
+ * @throws ApiError
154
+ */
376
155
  updateEventHandler(requestBody) {
377
156
  return this.httpRequest.request({
378
157
  method: "PUT",
@@ -381,6 +160,12 @@ var EventResourceService = class {
381
160
  mediaType: "application/json"
382
161
  });
383
162
  }
163
+ /**
164
+ * Add a new event handler.
165
+ * @param requestBody
166
+ * @returns any OK
167
+ * @throws ApiError
168
+ */
384
169
  addEventHandler(requestBody) {
385
170
  return this.httpRequest.request({
386
171
  method: "POST",
@@ -389,12 +174,23 @@ var EventResourceService = class {
389
174
  mediaType: "application/json"
390
175
  });
391
176
  }
177
+ /**
178
+ * Get all queue configs
179
+ * @returns any OK
180
+ * @throws ApiError
181
+ */
392
182
  getQueueNames() {
393
183
  return this.httpRequest.request({
394
184
  method: "GET",
395
185
  url: "/event/queue/config"
396
186
  });
397
187
  }
188
+ /**
189
+ * Remove an event handler
190
+ * @param name
191
+ * @returns any OK
192
+ * @throws ApiError
193
+ */
398
194
  removeEventHandlerStatus(name) {
399
195
  return this.httpRequest.request({
400
196
  method: "DELETE",
@@ -404,6 +200,13 @@ var EventResourceService = class {
404
200
  }
405
201
  });
406
202
  }
203
+ /**
204
+ * Get event handlers for a given event
205
+ * @param event
206
+ * @param activeOnly
207
+ * @returns EventHandler OK
208
+ * @throws ApiError
209
+ */
407
210
  getEventHandlersForEvent(event, activeOnly = true) {
408
211
  return this.httpRequest.request({
409
212
  method: "GET",
@@ -423,6 +226,10 @@ var HealthCheckResourceService = class {
423
226
  constructor(httpRequest) {
424
227
  this.httpRequest = httpRequest;
425
228
  }
229
+ /**
230
+ * @returns any OK
231
+ * @throws ApiError
232
+ */
426
233
  doCheck() {
427
234
  return this.httpRequest.request({
428
235
  method: "GET",
@@ -436,6 +243,13 @@ var MetadataResourceService = class {
436
243
  constructor(httpRequest) {
437
244
  this.httpRequest = httpRequest;
438
245
  }
246
+ /**
247
+ * Gets the task definition
248
+ * @param tasktype
249
+ * @param metadata
250
+ * @returns TaskDef OK
251
+ * @throws ApiError
252
+ */
439
253
  getTaskDef(tasktype, metadata = false) {
440
254
  return this.httpRequest.request({
441
255
  method: "GET",
@@ -448,6 +262,12 @@ var MetadataResourceService = class {
448
262
  }
449
263
  });
450
264
  }
265
+ /**
266
+ * Remove a task definition
267
+ * @param tasktype
268
+ * @returns any OK
269
+ * @throws ApiError
270
+ */
451
271
  unregisterTaskDef(tasktype) {
452
272
  return this.httpRequest.request({
453
273
  method: "DELETE",
@@ -457,6 +277,15 @@ var MetadataResourceService = class {
457
277
  }
458
278
  });
459
279
  }
280
+ /**
281
+ * Retrieves all workflow definition along with blueprint
282
+ * @param access
283
+ * @param metadata
284
+ * @param tagKey
285
+ * @param tagValue
286
+ * @returns WorkflowDef OK
287
+ * @throws ApiError
288
+ */
460
289
  getAllWorkflows(access = "READ", metadata = false, tagKey, tagValue) {
461
290
  return this.httpRequest.request({
462
291
  method: "GET",
@@ -469,6 +298,13 @@ var MetadataResourceService = class {
469
298
  }
470
299
  });
471
300
  }
301
+ /**
302
+ * Create or update workflow definition(s)
303
+ * @param requestBody
304
+ * @param overwrite
305
+ * @returns any OK
306
+ * @throws ApiError
307
+ */
472
308
  update(requestBody, overwrite = true) {
473
309
  return this.httpRequest.request({
474
310
  method: "PUT",
@@ -480,6 +316,13 @@ var MetadataResourceService = class {
480
316
  mediaType: "application/json"
481
317
  });
482
318
  }
319
+ /**
320
+ * Create a new workflow definition
321
+ * @param requestBody
322
+ * @param overwrite
323
+ * @returns any OK
324
+ * @throws ApiError
325
+ */
483
326
  create(requestBody, overwrite = false) {
484
327
  return this.httpRequest.request({
485
328
  method: "POST",
@@ -491,6 +334,15 @@ var MetadataResourceService = class {
491
334
  mediaType: "application/json"
492
335
  });
493
336
  }
337
+ /**
338
+ * Gets all task definition
339
+ * @param access
340
+ * @param metadata
341
+ * @param tagKey
342
+ * @param tagValue
343
+ * @returns TaskDef OK
344
+ * @throws ApiError
345
+ */
494
346
  getTaskDefs(access = "READ", metadata = false, tagKey, tagValue) {
495
347
  return this.httpRequest.request({
496
348
  method: "GET",
@@ -503,6 +355,12 @@ var MetadataResourceService = class {
503
355
  }
504
356
  });
505
357
  }
358
+ /**
359
+ * Update an existing task
360
+ * @param requestBody
361
+ * @returns any OK
362
+ * @throws ApiError
363
+ */
506
364
  updateTaskDef(requestBody) {
507
365
  return this.httpRequest.request({
508
366
  method: "PUT",
@@ -511,6 +369,12 @@ var MetadataResourceService = class {
511
369
  mediaType: "application/json"
512
370
  });
513
371
  }
372
+ /**
373
+ * Create or update task definition(s)
374
+ * @param requestBody
375
+ * @returns any OK
376
+ * @throws ApiError
377
+ */
514
378
  registerTaskDef(requestBody) {
515
379
  return this.httpRequest.request({
516
380
  method: "POST",
@@ -519,6 +383,13 @@ var MetadataResourceService = class {
519
383
  mediaType: "application/json"
520
384
  });
521
385
  }
386
+ /**
387
+ * Removes workflow definition. It does not remove workflows associated with the definition.
388
+ * @param name
389
+ * @param version
390
+ * @returns any OK
391
+ * @throws ApiError
392
+ */
522
393
  unregisterWorkflowDef(name, version) {
523
394
  return this.httpRequest.request({
524
395
  method: "DELETE",
@@ -529,6 +400,14 @@ var MetadataResourceService = class {
529
400
  }
530
401
  });
531
402
  }
403
+ /**
404
+ * Retrieves workflow definition along with blueprint
405
+ * @param name
406
+ * @param version
407
+ * @param metadata
408
+ * @returns WorkflowDef OK
409
+ * @throws ApiError
410
+ */
532
411
  get(name, version, metadata = false) {
533
412
  return this.httpRequest.request({
534
413
  method: "GET",
@@ -549,6 +428,12 @@ var SchedulerResourceService = class {
549
428
  constructor(httpRequest) {
550
429
  this.httpRequest = httpRequest;
551
430
  }
431
+ /**
432
+ * Get an existing workflow schedule by name
433
+ * @param name
434
+ * @returns any OK
435
+ * @throws ApiError
436
+ */
552
437
  getSchedule(name) {
553
438
  return this.httpRequest.request({
554
439
  method: "GET",
@@ -558,6 +443,12 @@ var SchedulerResourceService = class {
558
443
  }
559
444
  });
560
445
  }
446
+ /**
447
+ * Deletes an existing workflow schedule by name
448
+ * @param name
449
+ * @returns any OK
450
+ * @throws ApiError
451
+ */
561
452
  deleteSchedule(name) {
562
453
  return this.httpRequest.request({
563
454
  method: "DELETE",
@@ -567,6 +458,15 @@ var SchedulerResourceService = class {
567
458
  }
568
459
  });
569
460
  }
461
+ /**
462
+ * Get list of the next x (default 3, max 5) execution times for a scheduler
463
+ * @param cronExpression
464
+ * @param scheduleStartTime
465
+ * @param scheduleEndTime
466
+ * @param limit
467
+ * @returns number OK
468
+ * @throws ApiError
469
+ */
570
470
  getNextFewSchedules(cronExpression, scheduleStartTime, scheduleEndTime, limit = 3) {
571
471
  return this.httpRequest.request({
572
472
  method: "GET",
@@ -579,6 +479,12 @@ var SchedulerResourceService = class {
579
479
  }
580
480
  });
581
481
  }
482
+ /**
483
+ * Pauses an existing schedule by name
484
+ * @param name
485
+ * @returns any OK
486
+ * @throws ApiError
487
+ */
582
488
  pauseSchedule(name) {
583
489
  return this.httpRequest.request({
584
490
  method: "GET",
@@ -588,12 +494,23 @@ var SchedulerResourceService = class {
588
494
  }
589
495
  });
590
496
  }
497
+ /**
498
+ * Pause all scheduling in a single conductor server instance (for debugging only)
499
+ * @returns any OK
500
+ * @throws ApiError
501
+ */
591
502
  pauseAllSchedules() {
592
503
  return this.httpRequest.request({
593
504
  method: "GET",
594
505
  url: "/scheduler/admin/pause"
595
506
  });
596
507
  }
508
+ /**
509
+ * Resume a paused schedule by name
510
+ * @param name
511
+ * @returns any OK
512
+ * @throws ApiError
513
+ */
597
514
  resumeSchedule(name) {
598
515
  return this.httpRequest.request({
599
516
  method: "GET",
@@ -603,18 +520,34 @@ var SchedulerResourceService = class {
603
520
  }
604
521
  });
605
522
  }
523
+ /**
524
+ * Requeue all execution records
525
+ * @returns any OK
526
+ * @throws ApiError
527
+ */
606
528
  requeueAllExecutionRecords() {
607
529
  return this.httpRequest.request({
608
530
  method: "GET",
609
531
  url: "/scheduler/admin/requeue"
610
532
  });
611
533
  }
534
+ /**
535
+ * Resume all scheduling
536
+ * @returns any OK
537
+ * @throws ApiError
538
+ */
612
539
  resumeAllSchedules() {
613
540
  return this.httpRequest.request({
614
541
  method: "GET",
615
542
  url: "/scheduler/admin/resume"
616
543
  });
617
544
  }
545
+ /**
546
+ * Get all existing workflow schedules and optionally filter by workflow name
547
+ * @param workflowName
548
+ * @returns WorkflowSchedule OK
549
+ * @throws ApiError
550
+ */
618
551
  getAllSchedules(workflowName) {
619
552
  return this.httpRequest.request({
620
553
  method: "GET",
@@ -624,6 +557,12 @@ var SchedulerResourceService = class {
624
557
  }
625
558
  });
626
559
  }
560
+ /**
561
+ * Create or update a schedule for a specified workflow with a corresponding start workflow request
562
+ * @param requestBody
563
+ * @returns any OK
564
+ * @throws ApiError
565
+ */
627
566
  saveSchedule(requestBody) {
628
567
  return this.httpRequest.request({
629
568
  method: "POST",
@@ -632,12 +571,28 @@ var SchedulerResourceService = class {
632
571
  mediaType: "application/json"
633
572
  });
634
573
  }
574
+ /**
575
+ * Test timeout - do not use in production
576
+ * @returns any OK
577
+ * @throws ApiError
578
+ */
635
579
  testTimeout() {
636
580
  return this.httpRequest.request({
637
581
  method: "GET",
638
582
  url: "/scheduler/test/timeout"
639
583
  });
640
584
  }
585
+ /**
586
+ * Search for workflows based on payload and other parameters
587
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC.
588
+ * @param start
589
+ * @param size
590
+ * @param sort
591
+ * @param freeText
592
+ * @param query
593
+ * @returns SearchResultWorkflowScheduleExecutionModel OK
594
+ * @throws ApiError
595
+ */
641
596
  searchV21(start, size = 100, sort, freeText = "*", query) {
642
597
  return this.httpRequest.request({
643
598
  method: "GET",
@@ -658,6 +613,14 @@ var TaskResourceService = class {
658
613
  constructor(httpRequest) {
659
614
  this.httpRequest = httpRequest;
660
615
  }
616
+ /**
617
+ * Poll for a task of a certain type
618
+ * @param tasktype
619
+ * @param workerid
620
+ * @param domain
621
+ * @returns Task OK
622
+ * @throws ApiError
623
+ */
661
624
  poll(tasktype, workerid, domain) {
662
625
  return this.httpRequest.request({
663
626
  method: "GET",
@@ -671,12 +634,26 @@ var TaskResourceService = class {
671
634
  }
672
635
  });
673
636
  }
637
+ /**
638
+ * Get the details about each queue
639
+ * @returns number OK
640
+ * @throws ApiError
641
+ */
674
642
  allVerbose() {
675
643
  return this.httpRequest.request({
676
644
  method: "GET",
677
645
  url: "/tasks/queue/all/verbose"
678
646
  });
679
647
  }
648
+ /**
649
+ * Update a task By Ref Name
650
+ * @param workflowId
651
+ * @param taskRefName
652
+ * @param status
653
+ * @param requestBody
654
+ * @returns string OK
655
+ * @throws ApiError
656
+ */
680
657
  updateTask(workflowId, taskRefName, status, requestBody) {
681
658
  return this.httpRequest.request({
682
659
  method: "POST",
@@ -690,6 +667,12 @@ var TaskResourceService = class {
690
667
  mediaType: "application/json"
691
668
  });
692
669
  }
670
+ /**
671
+ * Get task by Id
672
+ * @param taskId
673
+ * @returns Task OK
674
+ * @throws ApiError
675
+ */
693
676
  getTask(taskId) {
694
677
  return this.httpRequest.request({
695
678
  method: "GET",
@@ -699,12 +682,23 @@ var TaskResourceService = class {
699
682
  }
700
683
  });
701
684
  }
685
+ /**
686
+ * Get the details about each queue
687
+ * @returns number OK
688
+ * @throws ApiError
689
+ */
702
690
  all() {
703
691
  return this.httpRequest.request({
704
692
  method: "GET",
705
693
  url: "/tasks/queue/all"
706
694
  });
707
695
  }
696
+ /**
697
+ * Requeue pending tasks
698
+ * @param taskType
699
+ * @returns string OK
700
+ * @throws ApiError
701
+ */
708
702
  requeuePendingTask(taskType) {
709
703
  return this.httpRequest.request({
710
704
  method: "POST",
@@ -714,6 +708,17 @@ var TaskResourceService = class {
714
708
  }
715
709
  });
716
710
  }
711
+ /**
712
+ * Search for tasks based in payload and other parameters
713
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC
714
+ * @param start
715
+ * @param size
716
+ * @param sort
717
+ * @param freeText
718
+ * @param query
719
+ * @returns SearchResultTaskSummary OK
720
+ * @throws ApiError
721
+ */
717
722
  search(start, size = 100, sort, freeText = "*", query) {
718
723
  return this.httpRequest.request({
719
724
  method: "GET",
@@ -727,6 +732,17 @@ var TaskResourceService = class {
727
732
  }
728
733
  });
729
734
  }
735
+ /**
736
+ * Search for tasks based in payload and other parameters
737
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC
738
+ * @param start
739
+ * @param size
740
+ * @param sort
741
+ * @param freeText
742
+ * @param query
743
+ * @returns SearchResultTask OK
744
+ * @throws ApiError
745
+ */
730
746
  searchV22(start, size = 100, sort, freeText = "*", query) {
731
747
  return this.httpRequest.request({
732
748
  method: "GET",
@@ -740,6 +756,12 @@ var TaskResourceService = class {
740
756
  }
741
757
  });
742
758
  }
759
+ /**
760
+ * Get the last poll data for a given task type
761
+ * @param taskType
762
+ * @returns PollData OK
763
+ * @throws ApiError
764
+ */
743
765
  getPollData(taskType) {
744
766
  return this.httpRequest.request({
745
767
  method: "GET",
@@ -749,6 +771,12 @@ var TaskResourceService = class {
749
771
  }
750
772
  });
751
773
  }
774
+ /**
775
+ * Get Task Execution Logs
776
+ * @param taskId
777
+ * @returns TaskExecLog OK
778
+ * @throws ApiError
779
+ */
752
780
  getTaskLogs(taskId) {
753
781
  return this.httpRequest.request({
754
782
  method: "GET",
@@ -758,6 +786,13 @@ var TaskResourceService = class {
758
786
  }
759
787
  });
760
788
  }
789
+ /**
790
+ * Log Task Execution Details
791
+ * @param taskId
792
+ * @param requestBody
793
+ * @returns any OK
794
+ * @throws ApiError
795
+ */
761
796
  log(taskId, requestBody) {
762
797
  return this.httpRequest.request({
763
798
  method: "POST",
@@ -769,12 +804,27 @@ var TaskResourceService = class {
769
804
  mediaType: "application/json"
770
805
  });
771
806
  }
807
+ /**
808
+ * Get the last poll data for all task types
809
+ * @returns PollData OK
810
+ * @throws ApiError
811
+ */
772
812
  getAllPollData() {
773
813
  return this.httpRequest.request({
774
814
  method: "GET",
775
815
  url: "/tasks/queue/polldata/all"
776
816
  });
777
817
  }
818
+ /**
819
+ * Batch poll for a task of a certain type
820
+ * @param tasktype
821
+ * @param workerid
822
+ * @param domain
823
+ * @param count
824
+ * @param timeout
825
+ * @returns Task OK
826
+ * @throws ApiError
827
+ */
778
828
  batchPoll(tasktype, workerid, domain, count = 1, timeout = 100) {
779
829
  return this.httpRequest.request({
780
830
  method: "GET",
@@ -790,6 +840,12 @@ var TaskResourceService = class {
790
840
  }
791
841
  });
792
842
  }
843
+ /**
844
+ * Update a task
845
+ * @param requestBody
846
+ * @returns string OK
847
+ * @throws ApiError
848
+ */
793
849
  updateTask1(requestBody) {
794
850
  return this.httpRequest.request({
795
851
  method: "POST",
@@ -798,6 +854,12 @@ var TaskResourceService = class {
798
854
  mediaType: "application/json"
799
855
  });
800
856
  }
857
+ /**
858
+ * Get Task type queue sizes
859
+ * @param taskType
860
+ * @returns number OK
861
+ * @throws ApiError
862
+ */
801
863
  size1(taskType) {
802
864
  return this.httpRequest.request({
803
865
  method: "GET",
@@ -807,6 +869,14 @@ var TaskResourceService = class {
807
869
  }
808
870
  });
809
871
  }
872
+ /**
873
+ * Get the external uri where the task payload is to be stored
874
+ * @param path
875
+ * @param operation
876
+ * @param payloadType
877
+ * @returns ExternalStorageLocation OK
878
+ * @throws ApiError
879
+ */
810
880
  getExternalStorageLocation1(path, operation, payloadType) {
811
881
  return this.httpRequest.request({
812
882
  method: "GET",
@@ -825,6 +895,12 @@ var TokenResourceService = class {
825
895
  constructor(httpRequest) {
826
896
  this.httpRequest = httpRequest;
827
897
  }
898
+ /**
899
+ * Generate JWT with the given access key
900
+ * @param requestBody
901
+ * @returns Response OK
902
+ * @throws ApiError
903
+ */
828
904
  generateToken(requestBody) {
829
905
  return this.httpRequest.request({
830
906
  method: "POST",
@@ -833,6 +909,11 @@ var TokenResourceService = class {
833
909
  mediaType: "application/json"
834
910
  });
835
911
  }
912
+ /**
913
+ * Get the user info from the token
914
+ * @returns any OK
915
+ * @throws ApiError
916
+ */
836
917
  getUserInfo() {
837
918
  return this.httpRequest.request({
838
919
  method: "GET",
@@ -846,6 +927,12 @@ var WorkflowBulkResourceService = class {
846
927
  constructor(httpRequest) {
847
928
  this.httpRequest = httpRequest;
848
929
  }
930
+ /**
931
+ * Retry the last failed task for each workflow from the list
932
+ * @param requestBody
933
+ * @returns BulkResponse OK
934
+ * @throws ApiError
935
+ */
849
936
  retry(requestBody) {
850
937
  return this.httpRequest.request({
851
938
  method: "POST",
@@ -854,6 +941,13 @@ var WorkflowBulkResourceService = class {
854
941
  mediaType: "application/json"
855
942
  });
856
943
  }
944
+ /**
945
+ * Restart the list of completed workflow
946
+ * @param requestBody
947
+ * @param useLatestDefinitions
948
+ * @returns BulkResponse OK
949
+ * @throws ApiError
950
+ */
857
951
  restart(requestBody, useLatestDefinitions = false) {
858
952
  return this.httpRequest.request({
859
953
  method: "POST",
@@ -865,6 +959,13 @@ var WorkflowBulkResourceService = class {
865
959
  mediaType: "application/json"
866
960
  });
867
961
  }
962
+ /**
963
+ * Terminate workflows execution
964
+ * @param requestBody
965
+ * @param reason
966
+ * @returns BulkResponse OK
967
+ * @throws ApiError
968
+ */
868
969
  terminate(requestBody, reason) {
869
970
  return this.httpRequest.request({
870
971
  method: "POST",
@@ -876,6 +977,12 @@ var WorkflowBulkResourceService = class {
876
977
  mediaType: "application/json"
877
978
  });
878
979
  }
980
+ /**
981
+ * Resume the list of workflows
982
+ * @param requestBody
983
+ * @returns BulkResponse OK
984
+ * @throws ApiError
985
+ */
879
986
  resumeWorkflow(requestBody) {
880
987
  return this.httpRequest.request({
881
988
  method: "PUT",
@@ -884,6 +991,12 @@ var WorkflowBulkResourceService = class {
884
991
  mediaType: "application/json"
885
992
  });
886
993
  }
994
+ /**
995
+ * Pause the list of workflows
996
+ * @param requestBody
997
+ * @returns BulkResponse OK
998
+ * @throws ApiError
999
+ */
887
1000
  pauseWorkflow1(requestBody) {
888
1001
  return this.httpRequest.request({
889
1002
  method: "PUT",
@@ -899,6 +1012,15 @@ var WorkflowResourceService = class {
899
1012
  constructor(httpRequest) {
900
1013
  this.httpRequest = httpRequest;
901
1014
  }
1015
+ /**
1016
+ * Retrieve all the running workflows
1017
+ * @param name
1018
+ * @param version
1019
+ * @param startTime
1020
+ * @param endTime
1021
+ * @returns string OK
1022
+ * @throws ApiError
1023
+ */
902
1024
  getRunningWorkflow(name, version = 1, startTime, endTime) {
903
1025
  return this.httpRequest.request({
904
1026
  method: "GET",
@@ -913,6 +1035,17 @@ var WorkflowResourceService = class {
913
1035
  }
914
1036
  });
915
1037
  }
1038
+ /**
1039
+ * Execute a workflow synchronously
1040
+ * @param body
1041
+ * @param name
1042
+ * @param version
1043
+ * @param requestId
1044
+ * @param waitUntilTaskRef
1045
+ * @param callback
1046
+ * @returns workflowRun
1047
+ * @throws ApiError
1048
+ */
916
1049
  executeWorkflow(body, name, version, requestId, waitUntilTaskRef) {
917
1050
  return this.httpRequest.request({
918
1051
  method: "POST",
@@ -929,6 +1062,12 @@ var WorkflowResourceService = class {
929
1062
  mediaType: "application/json"
930
1063
  });
931
1064
  }
1065
+ /**
1066
+ * Start a new workflow with StartWorkflowRequest, which allows task to be executed in a domain
1067
+ * @param requestBody
1068
+ * @returns string OK
1069
+ * @throws ApiError
1070
+ */
932
1071
  startWorkflow(requestBody) {
933
1072
  return this.httpRequest.request({
934
1073
  method: "POST",
@@ -937,6 +1076,12 @@ var WorkflowResourceService = class {
937
1076
  mediaType: "application/json"
938
1077
  });
939
1078
  }
1079
+ /**
1080
+ * Starts the decision task for a workflow
1081
+ * @param workflowId
1082
+ * @returns any OK
1083
+ * @throws ApiError
1084
+ */
940
1085
  decide(workflowId) {
941
1086
  return this.httpRequest.request({
942
1087
  method: "PUT",
@@ -946,6 +1091,13 @@ var WorkflowResourceService = class {
946
1091
  }
947
1092
  });
948
1093
  }
1094
+ /**
1095
+ * Reruns the workflow from a specific task
1096
+ * @param workflowId
1097
+ * @param requestBody
1098
+ * @returns string OK
1099
+ * @throws ApiError
1100
+ */
949
1101
  rerun(workflowId, requestBody) {
950
1102
  return this.httpRequest.request({
951
1103
  method: "POST",
@@ -957,6 +1109,17 @@ var WorkflowResourceService = class {
957
1109
  mediaType: "application/json"
958
1110
  });
959
1111
  }
1112
+ /**
1113
+ * Search for workflows based on payload and other parameters
1114
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC.
1115
+ * @param start
1116
+ * @param size
1117
+ * @param sort
1118
+ * @param freeText
1119
+ * @param query
1120
+ * @returns SearchResultWorkflow OK
1121
+ * @throws ApiError
1122
+ */
960
1123
  searchV21(start, size = 100, sort, freeText = "*", query) {
961
1124
  return this.httpRequest.request({
962
1125
  method: "GET",
@@ -970,6 +1133,12 @@ var WorkflowResourceService = class {
970
1133
  }
971
1134
  });
972
1135
  }
1136
+ /**
1137
+ * Pauses the workflow
1138
+ * @param workflowId
1139
+ * @returns any OK
1140
+ * @throws ApiError
1141
+ */
973
1142
  pauseWorkflow(workflowId) {
974
1143
  return this.httpRequest.request({
975
1144
  method: "PUT",
@@ -979,6 +1148,14 @@ var WorkflowResourceService = class {
979
1148
  }
980
1149
  });
981
1150
  }
1151
+ /**
1152
+ * Skips a given task from a current running workflow
1153
+ * @param workflowId
1154
+ * @param taskReferenceName
1155
+ * @param requestBody
1156
+ * @returns any OK
1157
+ * @throws ApiError
1158
+ */
982
1159
  skipTaskFromWorkflow(workflowId, taskReferenceName, requestBody) {
983
1160
  return this.httpRequest.request({
984
1161
  method: "PUT",
@@ -991,6 +1168,15 @@ var WorkflowResourceService = class {
991
1168
  mediaType: "application/json"
992
1169
  });
993
1170
  }
1171
+ /**
1172
+ * Lists workflows for the given correlation id list
1173
+ * @param name
1174
+ * @param requestBody
1175
+ * @param includeClosed
1176
+ * @param includeTasks
1177
+ * @returns Workflow OK
1178
+ * @throws ApiError
1179
+ */
994
1180
  getWorkflows(name, requestBody, includeClosed = false, includeTasks = false) {
995
1181
  return this.httpRequest.request({
996
1182
  method: "POST",
@@ -1006,6 +1192,14 @@ var WorkflowResourceService = class {
1006
1192
  mediaType: "application/json"
1007
1193
  });
1008
1194
  }
1195
+ /**
1196
+ * Gets the workflow by workflow id
1197
+ * @param workflowId
1198
+ * @param includeOutput
1199
+ * @param includeVariables
1200
+ * @returns WorkflowStatus OK
1201
+ * @throws ApiError
1202
+ */
1009
1203
  getWorkflowStatusSummary(workflowId, includeOutput = false, includeVariables = false) {
1010
1204
  return this.httpRequest.request({
1011
1205
  method: "GET",
@@ -1019,6 +1213,15 @@ var WorkflowResourceService = class {
1019
1213
  }
1020
1214
  });
1021
1215
  }
1216
+ /**
1217
+ * Lists workflows for the given correlation id
1218
+ * @param name
1219
+ * @param correlationId
1220
+ * @param includeClosed
1221
+ * @param includeTasks
1222
+ * @returns Workflow OK
1223
+ * @throws ApiError
1224
+ */
1022
1225
  getWorkflows1(name, correlationId, includeClosed = false, includeTasks = false) {
1023
1226
  return this.httpRequest.request({
1024
1227
  method: "GET",
@@ -1033,6 +1236,13 @@ var WorkflowResourceService = class {
1033
1236
  }
1034
1237
  });
1035
1238
  }
1239
+ /**
1240
+ * Retries the last failed task
1241
+ * @param workflowId
1242
+ * @param resumeSubworkflowTasks
1243
+ * @returns void
1244
+ * @throws ApiError
1245
+ */
1036
1246
  retry1(workflowId, resumeSubworkflowTasks = false) {
1037
1247
  return this.httpRequest.request({
1038
1248
  method: "POST",
@@ -1045,6 +1255,13 @@ var WorkflowResourceService = class {
1045
1255
  }
1046
1256
  });
1047
1257
  }
1258
+ /**
1259
+ * Gets the workflow by workflow id
1260
+ * @param workflowId
1261
+ * @param includeTasks
1262
+ * @returns Workflow OK
1263
+ * @throws ApiError
1264
+ */
1048
1265
  getExecutionStatus(workflowId, includeTasks = true) {
1049
1266
  return this.httpRequest.request({
1050
1267
  method: "GET",
@@ -1057,6 +1274,13 @@ var WorkflowResourceService = class {
1057
1274
  }
1058
1275
  });
1059
1276
  }
1277
+ /**
1278
+ * Terminate workflow execution
1279
+ * @param workflowId
1280
+ * @param reason
1281
+ * @returns any OK
1282
+ * @throws ApiError
1283
+ */
1060
1284
  terminate1(workflowId, reason) {
1061
1285
  return this.httpRequest.request({
1062
1286
  method: "DELETE",
@@ -1069,6 +1293,12 @@ var WorkflowResourceService = class {
1069
1293
  }
1070
1294
  });
1071
1295
  }
1296
+ /**
1297
+ * Resumes the workflow
1298
+ * @param workflowId
1299
+ * @returns any OK
1300
+ * @throws ApiError
1301
+ */
1072
1302
  resumeWorkflow(workflowId) {
1073
1303
  return this.httpRequest.request({
1074
1304
  method: "PUT",
@@ -1078,6 +1308,13 @@ var WorkflowResourceService = class {
1078
1308
  }
1079
1309
  });
1080
1310
  }
1311
+ /**
1312
+ * Removes the workflow from the system
1313
+ * @param workflowId
1314
+ * @param archiveWorkflow
1315
+ * @returns any OK
1316
+ * @throws ApiError
1317
+ */
1081
1318
  delete(workflowId, archiveWorkflow = true) {
1082
1319
  return this.httpRequest.request({
1083
1320
  method: "DELETE",
@@ -1090,6 +1327,17 @@ var WorkflowResourceService = class {
1090
1327
  }
1091
1328
  });
1092
1329
  }
1330
+ /**
1331
+ * Search for workflows based on task parameters
1332
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC
1333
+ * @param start
1334
+ * @param size
1335
+ * @param sort
1336
+ * @param freeText
1337
+ * @param query
1338
+ * @returns SearchResultWorkflowSummary OK
1339
+ * @throws ApiError
1340
+ */
1093
1341
  searchWorkflowsByTasks(start, size = 100, sort, freeText = "*", query) {
1094
1342
  return this.httpRequest.request({
1095
1343
  method: "GET",
@@ -1103,6 +1351,14 @@ var WorkflowResourceService = class {
1103
1351
  }
1104
1352
  });
1105
1353
  }
1354
+ /**
1355
+ * Get the uri and path of the external storage where the workflow payload is to be stored
1356
+ * @param path
1357
+ * @param operation
1358
+ * @param payloadType
1359
+ * @returns ExternalStorageLocation OK
1360
+ * @throws ApiError
1361
+ */
1106
1362
  getExternalStorageLocation(path, operation, payloadType) {
1107
1363
  return this.httpRequest.request({
1108
1364
  method: "GET",
@@ -1114,6 +1370,16 @@ var WorkflowResourceService = class {
1114
1370
  }
1115
1371
  });
1116
1372
  }
1373
+ /**
1374
+ * Start a new workflow. Returns the ID of the workflow instance that can be later used for tracking
1375
+ * @param name
1376
+ * @param requestBody
1377
+ * @param version
1378
+ * @param correlationId
1379
+ * @param priority
1380
+ * @returns string OK
1381
+ * @throws ApiError
1382
+ */
1117
1383
  startWorkflow1(name, requestBody, version, correlationId, priority) {
1118
1384
  return this.httpRequest.request({
1119
1385
  method: "POST",
@@ -1130,6 +1396,13 @@ var WorkflowResourceService = class {
1130
1396
  mediaType: "application/json"
1131
1397
  });
1132
1398
  }
1399
+ /**
1400
+ * Restarts a completed workflow
1401
+ * @param workflowId
1402
+ * @param useLatestDefinitions
1403
+ * @returns void
1404
+ * @throws ApiError
1405
+ */
1133
1406
  restart1(workflowId, useLatestDefinitions = false) {
1134
1407
  return this.httpRequest.request({
1135
1408
  method: "POST",
@@ -1142,6 +1415,19 @@ var WorkflowResourceService = class {
1142
1415
  }
1143
1416
  });
1144
1417
  }
1418
+ /**
1419
+ * Search for workflows based on payload and other parameters
1420
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC.
1421
+ * @param queryId
1422
+ * @param start
1423
+ * @param size
1424
+ * @param sort
1425
+ * @param freeText
1426
+ * @param query
1427
+ * @param skipCache
1428
+ * @returns ScrollableSearchResultWorkflowSummary OK
1429
+ * @throws ApiError
1430
+ */
1145
1431
  search1(queryId, start, size = 100, sort, freeText = "*", query, skipCache = false) {
1146
1432
  return this.httpRequest.request({
1147
1433
  method: "GET",
@@ -1157,6 +1443,17 @@ var WorkflowResourceService = class {
1157
1443
  }
1158
1444
  });
1159
1445
  }
1446
+ /**
1447
+ * Search for workflows based on task parameters
1448
+ * use sort options as sort=<field>:ASC|DESC e.g. sort=name&sort=workflowId:DESC. If order is not specified, defaults to ASC
1449
+ * @param start
1450
+ * @param size
1451
+ * @param sort
1452
+ * @param freeText
1453
+ * @param query
1454
+ * @returns SearchResultWorkflow OK
1455
+ * @throws ApiError
1456
+ */
1160
1457
  searchWorkflowsByTasksV2(start, size = 100, sort, freeText = "*", query) {
1161
1458
  return this.httpRequest.request({
1162
1459
  method: "GET",
@@ -1170,6 +1467,12 @@ var WorkflowResourceService = class {
1170
1467
  }
1171
1468
  });
1172
1469
  }
1470
+ /**
1471
+ * Resets callback times of all non-terminal SIMPLE tasks to 0
1472
+ * @param workflowId
1473
+ * @returns void
1474
+ * @throws ApiError
1475
+ */
1173
1476
  resetWorkflow(workflowId) {
1174
1477
  return this.httpRequest.request({
1175
1478
  method: "POST",
@@ -1183,14 +1486,100 @@ var WorkflowResourceService = class {
1183
1486
 
1184
1487
  // src/common/open-api/core/ApiError.ts
1185
1488
  var ApiError = class extends Error {
1186
- constructor(request2, response, message) {
1489
+ constructor(request3, response, message) {
1187
1490
  super(message);
1188
1491
  this.name = "ApiError";
1189
1492
  this.url = response.url;
1190
1493
  this.status = response.status;
1191
1494
  this.statusText = response.statusText;
1192
1495
  this.body = response.body;
1193
- this.request = request2;
1496
+ this.request = request3;
1497
+ }
1498
+ };
1499
+
1500
+ // src/common/open-api/core/CancelablePromise.ts
1501
+ var CancelError = class extends Error {
1502
+ constructor(message) {
1503
+ super(message);
1504
+ this.name = "CancelError";
1505
+ }
1506
+ get isCancelled() {
1507
+ return true;
1508
+ }
1509
+ };
1510
+ var CancelablePromise = class {
1511
+ static {
1512
+ Symbol.toStringTag;
1513
+ }
1514
+ constructor(executor) {
1515
+ this._isResolved = false;
1516
+ this._isRejected = false;
1517
+ this._isCancelled = false;
1518
+ this._cancelHandlers = [];
1519
+ this._promise = new Promise((resolve3, reject) => {
1520
+ this._resolve = resolve3;
1521
+ this._reject = reject;
1522
+ const onResolve = (value) => {
1523
+ if (this._isResolved || this._isRejected || this._isCancelled) {
1524
+ return;
1525
+ }
1526
+ this._isResolved = true;
1527
+ this._resolve?.(value);
1528
+ };
1529
+ const onReject = (reason) => {
1530
+ if (this._isResolved || this._isRejected || this._isCancelled) {
1531
+ return;
1532
+ }
1533
+ this._isRejected = true;
1534
+ this._reject?.(reason);
1535
+ };
1536
+ const onCancel = (cancelHandler) => {
1537
+ if (this._isResolved || this._isRejected || this._isCancelled) {
1538
+ return;
1539
+ }
1540
+ this._cancelHandlers.push(cancelHandler);
1541
+ };
1542
+ Object.defineProperty(onCancel, "isResolved", {
1543
+ get: () => this._isResolved
1544
+ });
1545
+ Object.defineProperty(onCancel, "isRejected", {
1546
+ get: () => this._isRejected
1547
+ });
1548
+ Object.defineProperty(onCancel, "isCancelled", {
1549
+ get: () => this._isCancelled
1550
+ });
1551
+ return executor(onResolve, onReject, onCancel);
1552
+ });
1553
+ }
1554
+ then(onFulfilled, onRejected) {
1555
+ return this._promise.then(onFulfilled, onRejected);
1556
+ }
1557
+ catch(onRejected) {
1558
+ return this._promise.catch(onRejected);
1559
+ }
1560
+ finally(onFinally) {
1561
+ return this._promise.finally(onFinally);
1562
+ }
1563
+ cancel() {
1564
+ if (this._isResolved || this._isRejected || this._isCancelled) {
1565
+ return;
1566
+ }
1567
+ this._isCancelled = true;
1568
+ if (this._cancelHandlers.length) {
1569
+ try {
1570
+ for (const cancelHandler of this._cancelHandlers) {
1571
+ cancelHandler();
1572
+ }
1573
+ } catch (error) {
1574
+ console.warn("Cancellation threw an error", error);
1575
+ return;
1576
+ }
1577
+ }
1578
+ this._cancelHandlers.length = 0;
1579
+ this._reject?.(new CancelError("Request aborted"));
1580
+ }
1581
+ get isCancelled() {
1582
+ return this._isCancelled;
1194
1583
  }
1195
1584
  };
1196
1585
 
@@ -1291,11 +1680,17 @@ var getHeaders = async (config, options) => {
1291
1680
  const username = await resolve(options, config.USERNAME);
1292
1681
  const password = await resolve(options, config.PASSWORD);
1293
1682
  const additionalHeaders = await resolve(options, config.HEADERS);
1294
- const headers = Object.entries(__spreadValues(__spreadValues({
1295
- Accept: "application/json"
1296
- }, additionalHeaders), options.headers)).filter(([_, value]) => isDefined(value)).reduce((headers2, [key, value]) => __spreadProps(__spreadValues({}, headers2), {
1297
- [key]: String(value)
1298
- }), {});
1683
+ const headers = Object.entries({
1684
+ Accept: "application/json",
1685
+ ...additionalHeaders,
1686
+ ...options.headers
1687
+ }).filter(([_, value]) => isDefined(value)).reduce(
1688
+ (headers2, [key, value]) => ({
1689
+ ...headers2,
1690
+ [key]: String(value)
1691
+ }),
1692
+ {}
1693
+ );
1299
1694
  if (isStringWithValue(token)) {
1300
1695
  headers["X-AUTHORIZATION"] = token;
1301
1696
  }
@@ -1330,14 +1725,14 @@ var getRequestBody = (options) => {
1330
1725
  };
1331
1726
  var sendRequest = async (options, url, body, formData, headers, onCancel) => {
1332
1727
  const controller = new AbortController();
1333
- const request2 = {
1728
+ const request3 = {
1334
1729
  headers,
1335
1730
  method: options.method,
1336
1731
  body: body ?? formData,
1337
1732
  signal: controller.signal
1338
1733
  };
1339
1734
  onCancel(() => controller.abort());
1340
- return await fetch(url, request2);
1735
+ return await fetch(url, request3);
1341
1736
  };
1342
1737
  var getResponseHeader = (response, responseHeader) => {
1343
1738
  if (responseHeader) {
@@ -1367,15 +1762,16 @@ var getResponseBody = async (response) => {
1367
1762
  return void 0;
1368
1763
  };
1369
1764
  var catchErrorCodes = (options, result) => {
1370
- const errors = __spreadValues({
1765
+ const errors = {
1371
1766
  400: "Bad Request",
1372
1767
  401: "Unauthorized",
1373
1768
  403: "Forbidden",
1374
1769
  404: "Not Found",
1375
1770
  500: "Internal Server Error",
1376
1771
  502: "Bad Gateway",
1377
- 503: "Service Unavailable"
1378
- }, options.errors);
1772
+ 503: "Service Unavailable",
1773
+ ...options.errors
1774
+ };
1379
1775
  const error = errors[result.status];
1380
1776
  if (error) {
1381
1777
  throw new ApiError(options, result, error);
@@ -1385,16 +1781,26 @@ var catchErrorCodes = (options, result) => {
1385
1781
  }
1386
1782
  };
1387
1783
  var request = (config, options) => {
1388
- return new CancelablePromise(async (resolve2, reject, onCancel) => {
1784
+ return new CancelablePromise(async (resolve3, reject, onCancel) => {
1389
1785
  try {
1390
1786
  const url = getUrl(config, options);
1391
1787
  const formData = getFormData(options);
1392
1788
  const body = getRequestBody(options);
1393
1789
  const headers = await getHeaders(config, options);
1394
1790
  if (!onCancel.isCancelled) {
1395
- const response = await sendRequest(options, url, body, formData, headers, onCancel);
1791
+ const response = await sendRequest(
1792
+ options,
1793
+ url,
1794
+ body,
1795
+ formData,
1796
+ headers,
1797
+ onCancel
1798
+ );
1396
1799
  const responseBody = await getResponseBody(response);
1397
- const responseHeader = getResponseHeader(response, options.responseHeader);
1800
+ const responseHeader = getResponseHeader(
1801
+ response,
1802
+ options.responseHeader
1803
+ );
1398
1804
  const result = {
1399
1805
  url,
1400
1806
  ok: response.ok,
@@ -1403,7 +1809,7 @@ var request = (config, options) => {
1403
1809
  body: responseHeader ?? responseBody
1404
1810
  };
1405
1811
  catchErrorCodes(options, result);
1406
- resolve2(result.body);
1812
+ resolve3(result.body);
1407
1813
  }
1408
1814
  } catch (error) {
1409
1815
  reject(error);
@@ -1416,6 +1822,18 @@ var HumanTaskService = class {
1416
1822
  constructor(httpRequest) {
1417
1823
  this.httpRequest = httpRequest;
1418
1824
  }
1825
+ /**
1826
+ * List tasks by filters - task name, state, assignee, assignee type, claimed
1827
+ * @param state
1828
+ * @param assignee
1829
+ * @param assigneeType
1830
+ * @param claimedBy
1831
+ * @param taskName
1832
+ * @param freeText
1833
+ * @param includeInputOutput
1834
+ * @returns SearchResultHumanTaskEntry OK
1835
+ * @throws ApiError
1836
+ */
1419
1837
  getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
1420
1838
  return this.httpRequest.request({
1421
1839
  method: "GET",
@@ -1431,12 +1849,29 @@ var HumanTaskService = class {
1431
1849
  }
1432
1850
  });
1433
1851
  }
1852
+ /**
1853
+ * Get task load grouped by workflow name and task ref name per user
1854
+ * @returns HumanTaskLoad OK
1855
+ * @throws ApiError
1856
+ */
1434
1857
  getTaskLoad() {
1435
1858
  return this.httpRequest.request({
1436
1859
  method: "GET",
1437
1860
  url: "/human/tasks/load"
1438
1861
  });
1439
1862
  }
1863
+ /**
1864
+ * Search human tasks
1865
+ * @param queryId
1866
+ * @param start
1867
+ * @param size
1868
+ * @param freeText
1869
+ * @param query
1870
+ * @param jsonQuery
1871
+ * @param includeInputOutput
1872
+ * @returns HTScrollableSearchResultHumanTaskEntry OK
1873
+ * @throws ApiError
1874
+ */
1440
1875
  search1(queryId, start, size = 100, freeText = "*", query, jsonQuery, includeInputOutput = false) {
1441
1876
  return this.httpRequest.request({
1442
1877
  method: "GET",
@@ -1452,6 +1887,12 @@ var HumanTaskService = class {
1452
1887
  }
1453
1888
  });
1454
1889
  }
1890
+ /**
1891
+ * If the workflow is disconnected from tasks, this API can be used to clean up
1892
+ * @param taskId
1893
+ * @returns any OK
1894
+ * @throws ApiError
1895
+ */
1455
1896
  updateTaskOutput1(taskId) {
1456
1897
  return this.httpRequest.request({
1457
1898
  method: "DELETE",
@@ -1461,6 +1902,12 @@ var HumanTaskService = class {
1461
1902
  }
1462
1903
  });
1463
1904
  }
1905
+ /**
1906
+ * Get a task
1907
+ * @param taskId
1908
+ * @returns HumanTaskEntry OK
1909
+ * @throws ApiError
1910
+ */
1464
1911
  getTask1(taskId) {
1465
1912
  return this.httpRequest.request({
1466
1913
  method: "GET",
@@ -1470,6 +1917,12 @@ var HumanTaskService = class {
1470
1917
  }
1471
1918
  });
1472
1919
  }
1920
+ /**
1921
+ * Get human task action log entries by task id
1922
+ * @param taskId
1923
+ * @returns HumanTaskActionLogEntry OK
1924
+ * @throws ApiError
1925
+ */
1473
1926
  getActionLogs(taskId) {
1474
1927
  return this.httpRequest.request({
1475
1928
  method: "GET",
@@ -1479,6 +1932,12 @@ var HumanTaskService = class {
1479
1932
  }
1480
1933
  });
1481
1934
  }
1935
+ /**
1936
+ * Claim a task by authenticated Conductor user
1937
+ * @param taskId
1938
+ * @returns any OK
1939
+ * @throws ApiError
1940
+ */
1482
1941
  claimTask(taskId) {
1483
1942
  return this.httpRequest.request({
1484
1943
  method: "POST",
@@ -1488,6 +1947,13 @@ var HumanTaskService = class {
1488
1947
  }
1489
1948
  });
1490
1949
  }
1950
+ /**
1951
+ * Claim a task to an external user
1952
+ * @param taskId
1953
+ * @param userId
1954
+ * @returns any OK
1955
+ * @throws ApiError
1956
+ */
1491
1957
  assignAndClaim(taskId, userId) {
1492
1958
  return this.httpRequest.request({
1493
1959
  method: "POST",
@@ -1498,6 +1964,13 @@ var HumanTaskService = class {
1498
1964
  }
1499
1965
  });
1500
1966
  }
1967
+ /**
1968
+ * Release a task without completing it
1969
+ * @param taskId
1970
+ * @param requestBody
1971
+ * @returns any OK
1972
+ * @throws ApiError
1973
+ */
1501
1974
  reassignTask(taskId, requestBody) {
1502
1975
  return this.httpRequest.request({
1503
1976
  method: "POST",
@@ -1509,6 +1982,12 @@ var HumanTaskService = class {
1509
1982
  mediaType: "application/json"
1510
1983
  });
1511
1984
  }
1985
+ /**
1986
+ * Release a task without completing it
1987
+ * @param taskId
1988
+ * @returns any OK
1989
+ * @throws ApiError
1990
+ */
1512
1991
  releaseTask(taskId) {
1513
1992
  return this.httpRequest.request({
1514
1993
  method: "POST",
@@ -1518,6 +1997,12 @@ var HumanTaskService = class {
1518
1997
  }
1519
1998
  });
1520
1999
  }
2000
+ /**
2001
+ * Get human task state log entries by task id
2002
+ * @param taskId
2003
+ * @returns HumanTaskStateLogEntry OK
2004
+ * @throws ApiError
2005
+ */
1521
2006
  getStateLogs(taskId) {
1522
2007
  return this.httpRequest.request({
1523
2008
  method: "GET",
@@ -1527,6 +2012,14 @@ var HumanTaskService = class {
1527
2012
  }
1528
2013
  });
1529
2014
  }
2015
+ /**
2016
+ * Update task output, optionally complete
2017
+ * @param taskId
2018
+ * @param requestBody
2019
+ * @param complete
2020
+ * @returns any OK
2021
+ * @throws ApiError
2022
+ */
1530
2023
  updateTaskOutput(taskId, requestBody, complete = false) {
1531
2024
  return this.httpRequest.request({
1532
2025
  method: "POST",
@@ -1541,6 +2034,12 @@ var HumanTaskService = class {
1541
2034
  mediaType: "application/json"
1542
2035
  });
1543
2036
  }
2037
+ /**
2038
+ * Delete human task templates by name
2039
+ * @param name
2040
+ * @returns any OK
2041
+ * @throws ApiError
2042
+ */
1544
2043
  deleteTemplatesByName(name) {
1545
2044
  return this.httpRequest.request({
1546
2045
  method: "DELETE",
@@ -1550,6 +2049,13 @@ var HumanTaskService = class {
1550
2049
  }
1551
2050
  });
1552
2051
  }
2052
+ /**
2053
+ * List all human task templates or get templates by name, or a template by name and version
2054
+ * @param name
2055
+ * @param version
2056
+ * @returns HumanTaskTemplateEntry OK
2057
+ * @throws ApiError
2058
+ */
1553
2059
  getAllTemplates(name, version) {
1554
2060
  return this.httpRequest.request({
1555
2061
  method: "GET",
@@ -1560,6 +2066,13 @@ var HumanTaskService = class {
1560
2066
  }
1561
2067
  });
1562
2068
  }
2069
+ /**
2070
+ * Save human task template
2071
+ * @param requestBody
2072
+ * @param newVersion
2073
+ * @returns string OK
2074
+ * @throws ApiError
2075
+ */
1563
2076
  saveTemplate(requestBody, newVersion = false) {
1564
2077
  return this.httpRequest.request({
1565
2078
  method: "POST",
@@ -1571,6 +2084,12 @@ var HumanTaskService = class {
1571
2084
  mediaType: "application/json"
1572
2085
  });
1573
2086
  }
2087
+ /**
2088
+ * Delete human task template
2089
+ * @param id
2090
+ * @returns any OK
2091
+ * @throws ApiError
2092
+ */
1574
2093
  deleteTemplateById(id) {
1575
2094
  return this.httpRequest.request({
1576
2095
  method: "DELETE",
@@ -1580,6 +2099,12 @@ var HumanTaskService = class {
1580
2099
  }
1581
2100
  });
1582
2101
  }
2102
+ /**
2103
+ * Get human task template by id
2104
+ * @param id
2105
+ * @returns HumanTaskTemplateEntry OK
2106
+ * @throws ApiError
2107
+ */
1583
2108
  getTemplateById(id) {
1584
2109
  return this.httpRequest.request({
1585
2110
  method: "GET",
@@ -1596,6 +2121,12 @@ var HumanTaskResourceService = class {
1596
2121
  constructor(httpRequest) {
1597
2122
  this.httpRequest = httpRequest;
1598
2123
  }
2124
+ /**
2125
+ * Get Conductor task by id (for human tasks only)
2126
+ * @param taskId
2127
+ * @returns Task OK
2128
+ * @throws ApiError
2129
+ */
1599
2130
  getConductorTaskById(taskId) {
1600
2131
  return this.httpRequest.request({
1601
2132
  method: "GET",
@@ -1608,7 +2139,7 @@ var HumanTaskResourceService = class {
1608
2139
  };
1609
2140
 
1610
2141
  // src/common/open-api/ConductorClient.ts
1611
- var defaultRequestHandler = (request2, config, options) => request2(config, options);
2142
+ var defaultRequestHandler = (request3, config, options) => request3(config, options);
1612
2143
  var ConductorClient = class {
1613
2144
  constructor(config, requestHandler = defaultRequestHandler) {
1614
2145
  const resolvedConfig = {
@@ -1642,128 +2173,839 @@ var ConductorClient = class {
1642
2173
  }
1643
2174
  };
1644
2175
 
1645
- // src/common/orkes/OrkesConductorClient.ts
1646
- var defaultRequestHandler2 = (request2, config, options) => request2(config, options);
1647
- var orkesConductorClient = async (config, requestHandler = defaultRequestHandler2) => {
1648
- if (config?.keySecret != null && config?.keyId != null) {
1649
- const { serverUrl, keyId, keySecret } = config;
1650
- const tokenUrl = `${serverUrl}/token`;
1651
- const res = await fetch(tokenUrl, {
1652
- headers: {
1653
- "Content-Type": "application/json",
1654
- Accept: "application/json"
1655
- },
1656
- body: JSON.stringify({ keyId, keySecret }),
1657
- method: "POST"
1658
- });
1659
- const { token } = await res.json();
1660
- return new ConductorClient(__spreadProps(__spreadValues({}, config), { TOKEN: token }), requestHandler);
1661
- } else {
1662
- return Promise.resolve(new ConductorClient(config, requestHandler));
2176
+ // src/common/open-api/core/BaseHttpRequest.ts
2177
+ var BaseHttpRequest = class {
2178
+ constructor(config) {
2179
+ this.config = config;
1663
2180
  }
1664
2181
  };
1665
2182
 
1666
- // src/common/types.ts
1667
- var TaskType = /* @__PURE__ */ ((TaskType2) => {
1668
- TaskType2["START"] = "START";
1669
- TaskType2["SIMPLE"] = "SIMPLE";
1670
- TaskType2["DYNAMIC"] = "DYNAMIC";
1671
- TaskType2["FORK_JOIN"] = "FORK_JOIN";
1672
- TaskType2["FORK_JOIN_DYNAMIC"] = "FORK_JOIN_DYNAMIC";
1673
- TaskType2["DECISION"] = "DECISION";
1674
- TaskType2["SWITCH"] = "SWITCH";
1675
- TaskType2["JOIN"] = "JOIN";
1676
- TaskType2["DO_WHILE"] = "DO_WHILE";
1677
- TaskType2["SUB_WORKFLOW"] = "SUB_WORKFLOW";
1678
- TaskType2["EVENT"] = "EVENT";
1679
- TaskType2["WAIT"] = "WAIT";
1680
- TaskType2["USER_DEFINED"] = "USER_DEFINED";
1681
- TaskType2["HTTP"] = "HTTP";
1682
- TaskType2["LAMBDA"] = "LAMBDA";
1683
- TaskType2["INLINE"] = "INLINE";
1684
- TaskType2["EXCLUSIVE_JOIN"] = "EXCLUSIVE_JOIN";
1685
- TaskType2["TERMINAL"] = "TERMINAL";
1686
- TaskType2["TERMINATE"] = "TERMINATE";
1687
- TaskType2["KAFKA_PUBLISH"] = "KAFKA_PUBLISH";
1688
- TaskType2["JSON_JQ_TRANSFORM"] = "JSON_JQ_TRANSFORM";
1689
- TaskType2["SET_VARIABLE"] = "SET_VARIABLE";
1690
- return TaskType2;
1691
- })(TaskType || {});
1692
-
1693
- // src/common/generators/common.ts
1694
- var randomChars = (n = 7) => (Math.random() + 1).toString(36).substring(n);
1695
- var taskNameGenerator = (taskType) => `${taskType}__task_${randomChars(7)}`;
1696
- var taskReferenceNameGenerator = (taskName) => `${taskName}_ref`;
1697
- var nameTaskNameGenerator = (taskType, maybeOverrides = {}) => {
1698
- const name = maybeOverrides?.name ?? taskNameGenerator(taskType);
1699
- return {
1700
- name,
1701
- taskReferenceName: taskReferenceNameGenerator(name)
1702
- };
2183
+ // src/task/Poller.ts
2184
+ var Poller = class {
2185
+ constructor(pollFunction, pollerOptions, logger) {
2186
+ this.concurrentCalls = [];
2187
+ this.pollFunction = async () => {
2188
+ };
2189
+ this.polling = false;
2190
+ this.options = {
2191
+ pollInterval: 1e3,
2192
+ concurrency: 1
2193
+ };
2194
+ this.logger = noopLogger;
2195
+ /**
2196
+ * Starts polling for work
2197
+ */
2198
+ this.startPolling = () => {
2199
+ if (this.polling) {
2200
+ throw new Error("Runner is already started");
2201
+ }
2202
+ return this.poll();
2203
+ };
2204
+ /**
2205
+ * Stops Polling for work
2206
+ */
2207
+ this.stopPolling = () => {
2208
+ this.polling = false;
2209
+ this.concurrentCalls.forEach((call) => call.stop());
2210
+ };
2211
+ this.poll = async () => {
2212
+ if (!this.polling) {
2213
+ this.polling = true;
2214
+ for (let i = 0; i < this.options.concurrency; i++) {
2215
+ this.concurrentCalls.push(this.singlePoll());
2216
+ }
2217
+ }
2218
+ };
2219
+ this.singlePoll = () => {
2220
+ let poll = this.polling;
2221
+ let timeout;
2222
+ const pollingCall = async () => {
2223
+ while (poll) {
2224
+ await this.pollFunction();
2225
+ await new Promise(
2226
+ (r) => timeout = setTimeout(() => r(true), this.options.pollInterval)
2227
+ );
2228
+ }
2229
+ };
2230
+ return {
2231
+ promise: pollingCall(),
2232
+ stop: () => {
2233
+ clearTimeout(timeout);
2234
+ poll = false;
2235
+ this.logger.debug("stopping single poll call");
2236
+ }
2237
+ };
2238
+ };
2239
+ this.pollFunction = pollFunction;
2240
+ this.options = { ...this.options, ...pollerOptions };
2241
+ this.logger = logger || noopLogger;
2242
+ }
2243
+ get isPolling() {
2244
+ return this.polling;
2245
+ }
2246
+ /**
2247
+ * adds or shuts down concurrent calls based on the concurrency setting
2248
+ * @param concurrency
2249
+ */
2250
+ updateConcurrency(concurrency) {
2251
+ if (concurrency > 0 && concurrency !== this.options.concurrency) {
2252
+ if (concurrency < this.options.concurrency) {
2253
+ const result = this.concurrentCalls.splice(
2254
+ 0,
2255
+ this.options.concurrency - concurrency
2256
+ );
2257
+ result.forEach((call) => {
2258
+ call.stop();
2259
+ this.logger.debug("stopping some spawned calls");
2260
+ });
2261
+ } else {
2262
+ for (let i = 0; i < concurrency - this.options.concurrency; i++) {
2263
+ this.concurrentCalls.push(this.singlePoll());
2264
+ this.logger.debug("spawning additional poll calls");
2265
+ }
2266
+ }
2267
+ this.options.concurrency = concurrency;
2268
+ }
2269
+ }
2270
+ updateOptions(options) {
2271
+ const newOptions = { ...this.options, ...options };
2272
+ this.updateConcurrency(newOptions.concurrency);
2273
+ this.options = newOptions;
2274
+ }
1703
2275
  };
1704
- function mapArrValues(arrayTransformer, mapWithValues) {
1705
- return Object.fromEntries(Object.entries(mapWithValues).map(([key, value]) => [
1706
- key,
1707
- arrayTransformer(value)
1708
- ]));
1709
- }
1710
2276
 
1711
- // src/common/generators/SimpleTask.ts
1712
- var generateSimpleTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("simple", overrides)), {
1713
- inputParameters: {}
1714
- }), overrides), {
1715
- type: "SIMPLE" /* SIMPLE */
1716
- });
1717
-
1718
- // src/common/generators/DoWhileTask.ts
1719
- var generateDoWhileTask = (overrides = {}, nestedTasksMapper) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("doWhile", overrides)), {
1720
- inputParameters: {},
2277
+ // src/task/TaskRunner.ts
2278
+ var DEFAULT_ERROR_MESSAGE = "An unknown error occurred";
2279
+ var MAX_RETRIES = 3;
2280
+ var noopErrorHandler = (__error) => {
2281
+ };
2282
+ var TaskRunner = class {
2283
+ constructor({
2284
+ worker,
2285
+ taskResource,
2286
+ options,
2287
+ logger = noopLogger,
2288
+ onError: errorHandler = noopErrorHandler
2289
+ }) {
2290
+ /**
2291
+ * Starts polling for work
2292
+ */
2293
+ this.startPolling = () => {
2294
+ this.poller.startPolling();
2295
+ };
2296
+ /**
2297
+ * Stops Polling for work
2298
+ */
2299
+ this.stopPolling = () => {
2300
+ this.poller.stopPolling();
2301
+ };
2302
+ this.pollAndExecute = async () => {
2303
+ try {
2304
+ const { workerID } = this.options;
2305
+ const task = await this.taskResource.poll(
2306
+ this.worker.taskDefName,
2307
+ workerID,
2308
+ this.worker.domain ?? this.options.domain
2309
+ );
2310
+ if (task && task.taskId) {
2311
+ await this.executeTask(task);
2312
+ } else {
2313
+ this.logger.debug(`No tasks for ${this.worker.taskDefName}`);
2314
+ }
2315
+ } catch (unknownError) {
2316
+ this.handleUnknownError(unknownError);
2317
+ this.errorHandler(unknownError);
2318
+ }
2319
+ };
2320
+ this.updateTaskWithRetry = async (task, taskResult) => {
2321
+ let retryCount = 0;
2322
+ while (retryCount < MAX_RETRIES) {
2323
+ try {
2324
+ await this.taskResource.updateTask1(taskResult);
2325
+ return;
2326
+ } catch (error) {
2327
+ this.errorHandler(error, task);
2328
+ this.logger.error(
2329
+ `Error updating task ${taskResult.taskId} on retry ${retryCount}`,
2330
+ error
2331
+ );
2332
+ retryCount++;
2333
+ await new Promise((r) => setTimeout(() => r(true), retryCount * 10));
2334
+ }
2335
+ }
2336
+ this.logger.error(
2337
+ `Unable to update task ${taskResult.taskId} after ${retryCount} retries`
2338
+ );
2339
+ };
2340
+ this.executeTask = async (task) => {
2341
+ try {
2342
+ const result = await this.worker.execute(task);
2343
+ await this.updateTaskWithRetry(task, {
2344
+ ...result,
2345
+ workflowInstanceId: task.workflowInstanceId,
2346
+ taskId: task.taskId
2347
+ });
2348
+ this.logger.debug(`Finished polling for task ${task.taskId}`);
2349
+ } catch (error) {
2350
+ await this.updateTaskWithRetry(task, {
2351
+ workflowInstanceId: task.workflowInstanceId,
2352
+ taskId: task.taskId,
2353
+ reasonForIncompletion: error?.message ?? DEFAULT_ERROR_MESSAGE,
2354
+ status: "FAILED",
2355
+ outputData: {}
2356
+ });
2357
+ this.errorHandler(error, task);
2358
+ this.logger.error(`Error executing ${task.taskId}`, error);
2359
+ }
2360
+ };
2361
+ this.handleUnknownError = (unknownError) => {
2362
+ let message = "";
2363
+ let stack = "";
2364
+ if (unknownError.stack) {
2365
+ stack = unknownError.stack;
2366
+ }
2367
+ if (unknownError.message) {
2368
+ message = unknownError.message;
2369
+ }
2370
+ this.logger.error(
2371
+ `Error for ${this.worker.taskDefName}: error: ${message}, stack: ${stack}`
2372
+ );
2373
+ };
2374
+ this.taskResource = taskResource;
2375
+ this.logger = logger;
2376
+ this.worker = worker;
2377
+ this.options = options;
2378
+ this.errorHandler = errorHandler;
2379
+ this.poller = new Poller(
2380
+ this.pollAndExecute,
2381
+ { concurrency: options.concurrency, pollInterval: options.pollInterval },
2382
+ this.logger
2383
+ );
2384
+ }
2385
+ get isPolling() {
2386
+ return this.poller.isPolling;
2387
+ }
2388
+ updateOptions(options) {
2389
+ const newOptions = { ...this.options, ...options };
2390
+ this.poller.updateOptions({
2391
+ concurrency: newOptions.concurrency,
2392
+ pollInterval: newOptions.pollInterval
2393
+ });
2394
+ this.options = newOptions;
2395
+ }
2396
+ get getOptions() {
2397
+ return this.options;
2398
+ }
2399
+ };
2400
+
2401
+ // src/task/TaskManager.ts
2402
+ import os from "os";
2403
+ var defaultManagerOptions = {
2404
+ workerID: "",
2405
+ pollInterval: 1e3,
2406
+ domain: void 0,
2407
+ concurrency: 1
2408
+ };
2409
+ function workerId(options) {
2410
+ return options.workerID ?? os.hostname();
2411
+ }
2412
+ var TaskManager = class {
2413
+ constructor(client, workers, config = {}) {
2414
+ this.tasks = {};
2415
+ this.polling = false;
2416
+ this.workerManagerWorkerOptions = (worker) => {
2417
+ return {
2418
+ ...this.options,
2419
+ concurrency: worker.concurrency ?? this.options.concurrency,
2420
+ domain: worker.domain ?? this.options.domain
2421
+ };
2422
+ };
2423
+ /**
2424
+ * new options will get merged to existing options
2425
+ * @param options new options to update polling options
2426
+ */
2427
+ this.updatePollingOptions = (options) => {
2428
+ this.workers.forEach((worker) => {
2429
+ const newOptions = {
2430
+ ...this.workerManagerWorkerOptions(worker),
2431
+ ...options
2432
+ };
2433
+ const runners = this.tasks[worker.taskDefName];
2434
+ runners.forEach((runner) => {
2435
+ runner.updateOptions(newOptions);
2436
+ });
2437
+ });
2438
+ this.options.concurrency = options.concurrency ?? this.options.concurrency;
2439
+ this.options.pollInterval = options.pollInterval ?? this.options.pollInterval;
2440
+ };
2441
+ /**
2442
+ * Start polling for tasks
2443
+ */
2444
+ this.startPolling = () => {
2445
+ this.workers.forEach((worker) => {
2446
+ this.tasks[worker.taskDefName] = [];
2447
+ const options = this.workerManagerWorkerOptions(worker);
2448
+ this.logger.debug(
2449
+ `Starting taskDefName=${worker.taskDefName} concurrency=${options.concurrency} domain=${options.domain}`
2450
+ );
2451
+ const runner = new TaskRunner({
2452
+ worker,
2453
+ options,
2454
+ taskResource: this.client.taskResource,
2455
+ logger: this.logger,
2456
+ onError: this.errorHandler
2457
+ });
2458
+ runner.startPolling();
2459
+ this.tasks[worker.taskDefName].push(runner);
2460
+ });
2461
+ this.polling = true;
2462
+ };
2463
+ /**
2464
+ * Stops polling for tasks
2465
+ */
2466
+ this.stopPolling = () => {
2467
+ for (const taskType in this.tasks) {
2468
+ this.tasks[taskType].forEach((runner) => runner.stopPolling());
2469
+ this.tasks[taskType] = [];
2470
+ }
2471
+ this.polling = false;
2472
+ };
2473
+ if (!workers) {
2474
+ throw new Error(
2475
+ "No workers supplied to TaskManager. Please pass an array of workers."
2476
+ );
2477
+ }
2478
+ this.client = client;
2479
+ this.logger = config.logger ?? new DefaultLogger();
2480
+ this.errorHandler = config.onError ?? noopErrorHandler;
2481
+ this.workers = workers;
2482
+ const providedOptions = config.options ?? {};
2483
+ this.options = {
2484
+ ...defaultManagerOptions,
2485
+ ...providedOptions,
2486
+ workerID: workerId(providedOptions)
2487
+ };
2488
+ }
2489
+ get isPolling() {
2490
+ return this.polling;
2491
+ }
2492
+ };
2493
+
2494
+ // src/core/types.ts
2495
+ var ConductorError = class extends Error {
2496
+ constructor(message, innerError) {
2497
+ super(message);
2498
+ this._trace = innerError;
2499
+ const actualProto = new.target.prototype;
2500
+ if (Object.setPrototypeOf) {
2501
+ Object.setPrototypeOf(this, actualProto);
2502
+ } else {
2503
+ this.__proto__ = actualProto;
2504
+ }
2505
+ }
2506
+ };
2507
+
2508
+ // src/core/helpers.ts
2509
+ var errorMapper = (error) => new ConductorError(error?.body?.message, error);
2510
+ var tryCatchReThrow = (fn) => {
2511
+ try {
2512
+ return fn();
2513
+ } catch (error) {
2514
+ throw errorMapper(error);
2515
+ }
2516
+ };
2517
+
2518
+ // src/core/executor.ts
2519
+ var RETRY_TIME_IN_MILLISECONDS = 1e4;
2520
+ var WorkflowExecutor = class {
2521
+ constructor(client) {
2522
+ this._client = client;
2523
+ }
2524
+ /**
2525
+ * Will persist a workflow in conductor
2526
+ * @param override If true will override the existing workflow with the definition
2527
+ * @param workflow Complete workflow definition
2528
+ * @returns null
2529
+ */
2530
+ registerWorkflow(override, workflow2) {
2531
+ return tryCatchReThrow(
2532
+ () => this._client.metadataResource.create(workflow2, override)
2533
+ );
2534
+ }
2535
+ /**
2536
+ * Takes a StartWorkflowRequest. returns a Promise<string> with the workflowInstanceId of the running workflow
2537
+ * @param workflowRequest
2538
+ * @returns
2539
+ */
2540
+ startWorkflow(workflowRequest) {
2541
+ return tryCatchReThrow(
2542
+ () => this._client.workflowResource.startWorkflow(workflowRequest)
2543
+ );
2544
+ }
2545
+ /**
2546
+ * Execute a workflow synchronously. returns a Promise<WorkflowRun> with details of the running workflow
2547
+ * @param workflowRequest
2548
+ * @returns
2549
+ */
2550
+ executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef = "") {
2551
+ return tryCatchReThrow(
2552
+ () => this._client.workflowResource.executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef)
2553
+ );
2554
+ }
2555
+ startWorkflows(workflowsRequest) {
2556
+ return tryCatchReThrow(() => workflowsRequest.map(this.startWorkflow));
2557
+ }
2558
+ /**
2559
+ * Takes an workflowInstanceId and an includeTasks and an optional retry parameter returns the whole execution status.
2560
+ * If includeTasks flag is provided. Details of tasks execution will be returned as well,
2561
+ * retry specifies the amount of retrys before throwing an error.
2562
+ *
2563
+ * @param workflowInstanceId
2564
+ * @param includeTasks
2565
+ * @param retry
2566
+ * @returns
2567
+ */
2568
+ async getWorkflow(workflowInstanceId, includeTasks, retry = 0) {
2569
+ try {
2570
+ const workflowStatus = await this._client.workflowResource.getExecutionStatus(
2571
+ workflowInstanceId,
2572
+ includeTasks
2573
+ );
2574
+ return workflowStatus;
2575
+ } catch (error) {
2576
+ if (![500, 404, 403].includes(error.status) || retry === 0) {
2577
+ throw errorMapper(error);
2578
+ }
2579
+ }
2580
+ await new Promise(
2581
+ (res) => setTimeout(() => res(true), RETRY_TIME_IN_MILLISECONDS)
2582
+ );
2583
+ return this.getWorkflow(workflowInstanceId, includeTasks, retry - 1);
2584
+ }
2585
+ /**
2586
+ * Returns a summary of the current workflow status.
2587
+ *
2588
+ * @param workflowInstanceId current running workflow
2589
+ * @param includeOutput flag to include output
2590
+ * @param includeVariables flag to include variable
2591
+ * @returns Promise<WorkflowStatus>
2592
+ */
2593
+ getWorkflowStatus(workflowInstanceId, includeOutput, includeVariables) {
2594
+ return tryCatchReThrow(
2595
+ () => this._client.workflowResource.getWorkflowStatusSummary(
2596
+ workflowInstanceId,
2597
+ includeOutput,
2598
+ includeVariables
2599
+ )
2600
+ );
2601
+ }
2602
+ /**
2603
+ * Pauses a running workflow
2604
+ * @param workflowInstanceId current workflow execution
2605
+ * @returns
2606
+ */
2607
+ pause(workflowInstanceId) {
2608
+ return tryCatchReThrow(
2609
+ () => this._client.workflowResource.pauseWorkflow(workflowInstanceId)
2610
+ );
2611
+ }
2612
+ /**
2613
+ * Reruns workflowInstanceId workflow. with new parameters
2614
+ *
2615
+ * @param workflowInstanceId current workflow execution
2616
+ * @param rerunWorkflowRequest Rerun Workflow Execution Request
2617
+ * @returns
2618
+ */
2619
+ reRun(workflowInstanceId, rerunWorkflowRequest = {}) {
2620
+ return tryCatchReThrow(
2621
+ () => this._client.workflowResource.rerun(
2622
+ workflowInstanceId,
2623
+ rerunWorkflowRequest
2624
+ )
2625
+ );
2626
+ }
2627
+ /**
2628
+ * Restarts workflow with workflowInstanceId, if useLatestDefinition uses last defintion
2629
+ * @param workflowInstanceId
2630
+ * @param useLatestDefinitions
2631
+ * @returns
2632
+ */
2633
+ restart(workflowInstanceId, useLatestDefinitions) {
2634
+ return tryCatchReThrow(
2635
+ () => this._client.workflowResource.restart1(
2636
+ workflowInstanceId,
2637
+ useLatestDefinitions
2638
+ )
2639
+ );
2640
+ }
2641
+ /**
2642
+ * Resumes a previously paused execution
2643
+ *
2644
+ * @param workflowInstanceId Running workflow workflowInstanceId
2645
+ * @returns
2646
+ */
2647
+ resume(workflowInstanceId) {
2648
+ return tryCatchReThrow(
2649
+ () => this._client.workflowResource.resumeWorkflow(workflowInstanceId)
2650
+ );
2651
+ }
2652
+ /**
2653
+ * Retrys workflow from last failing task
2654
+ * if resumeSubworkflowTasks is true will resume tasks in spawned subworkflows
2655
+ *
2656
+ * @param workflowInstanceId
2657
+ * @param resumeSubworkflowTasks
2658
+ * @returns
2659
+ */
2660
+ retry(workflowInstanceId, resumeSubworkflowTasks) {
2661
+ return tryCatchReThrow(
2662
+ () => this._client.workflowResource.retry1(
2663
+ workflowInstanceId,
2664
+ resumeSubworkflowTasks
2665
+ )
2666
+ );
2667
+ }
2668
+ /**
2669
+ * Searches for existing workflows given the following querys
2670
+ *
2671
+ * @param start
2672
+ * @param size
2673
+ * @param query
2674
+ * @param freeText
2675
+ * @param sort
2676
+ * @param skipCache
2677
+ * @returns
2678
+ */
2679
+ search(start, size, query, freeText, sort = "", skipCache = false) {
2680
+ const queryId = void 0;
2681
+ return tryCatchReThrow(
2682
+ () => this._client.workflowResource.search1(
2683
+ queryId,
2684
+ start,
2685
+ size,
2686
+ sort,
2687
+ freeText,
2688
+ query,
2689
+ skipCache
2690
+ )
2691
+ );
2692
+ }
2693
+ /**
2694
+ * Skips a task of a running workflow.
2695
+ * by providing a skipTaskRequest you can set the input and the output of the skipped tasks
2696
+ * @param workflowInstanceId
2697
+ * @param taskReferenceName
2698
+ * @param skipTaskRequest
2699
+ * @returns
2700
+ */
2701
+ skipTasksFromWorkflow(workflowInstanceId, taskReferenceName, skipTaskRequest) {
2702
+ return tryCatchReThrow(
2703
+ () => this._client.workflowResource.skipTaskFromWorkflow(
2704
+ workflowInstanceId,
2705
+ taskReferenceName,
2706
+ skipTaskRequest
2707
+ )
2708
+ );
2709
+ }
2710
+ /**
2711
+ * Takes an workflowInstanceId, and terminates a running workflow
2712
+ * @param workflowInstanceId
2713
+ * @param reason
2714
+ * @returns
2715
+ */
2716
+ terminate(workflowInstanceId, reason) {
2717
+ return tryCatchReThrow(
2718
+ () => this._client.workflowResource.terminate1(workflowInstanceId, reason)
2719
+ );
2720
+ }
2721
+ /**
2722
+ * Takes a taskId and a workflowInstanceId. Will update the task for the corresponding taskId
2723
+ * @param taskId
2724
+ * @param workflowInstanceId
2725
+ * @param taskStatus
2726
+ * @param taskOutput
2727
+ * @returns
2728
+ */
2729
+ updateTask(taskId, workflowInstanceId, taskStatus, outputData) {
2730
+ const taskUpdates = {
2731
+ status: taskStatus,
2732
+ taskId,
2733
+ workflowInstanceId
2734
+ };
2735
+ return tryCatchReThrow(
2736
+ () => this._client.taskResource.updateTask1({
2737
+ outputData,
2738
+ ...taskUpdates
2739
+ })
2740
+ );
2741
+ }
2742
+ /**
2743
+ * Updates a task by reference Name
2744
+ * @param taskReferenceName
2745
+ * @param workflowInstanceId
2746
+ * @param status
2747
+ * @param taskOutput
2748
+ * @returns
2749
+ */
2750
+ updateTaskByRefName(taskReferenceName, workflowInstanceId, status, taskOutput) {
2751
+ return tryCatchReThrow(
2752
+ () => this._client.taskResource.updateTask(
2753
+ workflowInstanceId,
2754
+ taskReferenceName,
2755
+ status,
2756
+ taskOutput
2757
+ )
2758
+ );
2759
+ }
2760
+ /**
2761
+ *
2762
+ * @param taskId
2763
+ * @returns
2764
+ */
2765
+ getTask(taskId) {
2766
+ return tryCatchReThrow(() => this._client.taskResource.getTask(taskId));
2767
+ }
2768
+ };
2769
+
2770
+ // src/core/human.ts
2771
+ var HumanExecutor = class {
2772
+ constructor(client) {
2773
+ this._client = client;
2774
+ }
2775
+ /**
2776
+ * Takes a set of filter parameters. return matches of human tasks for that set of parameters
2777
+ * @param state
2778
+ * @param assignee
2779
+ * @param assigneeType
2780
+ * @param claimedBy
2781
+ * @param taskName
2782
+ * @param freeText
2783
+ * @param includeInputOutput
2784
+ * @returns
2785
+ */
2786
+ async getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
2787
+ const response = await this._client.humanTask.getTasksByFilter(
2788
+ state,
2789
+ assignee,
2790
+ assigneeType,
2791
+ claimedBy,
2792
+ taskName,
2793
+ freeText,
2794
+ includeInputOutput
2795
+ );
2796
+ if (response.results != void 0) {
2797
+ return response.results;
2798
+ }
2799
+ return [];
2800
+ }
2801
+ /**
2802
+ * Returns task for a given task id
2803
+ * @param taskId
2804
+ * @returns
2805
+ */
2806
+ getTaskById(taskId) {
2807
+ return tryCatchReThrow(() => this._client.humanTask.getTask1(taskId));
2808
+ }
2809
+ /**
2810
+ * Assigns taskId to assignee. If the task is already assigned to another user, this will fail.
2811
+ * @param taskId
2812
+ * @param assignee
2813
+ * @returns
2814
+ */
2815
+ async claimTaskAsExternalUser(taskId, assignee) {
2816
+ try {
2817
+ await this._client.humanTask.assignAndClaim(taskId, assignee);
2818
+ } catch (error) {
2819
+ throw errorMapper(error);
2820
+ }
2821
+ }
2822
+ /**
2823
+ * Claim task as conductor user
2824
+ * @param taskId
2825
+ * @returns
2826
+ */
2827
+ async claimTaskAsConductorUser(taskId) {
2828
+ try {
2829
+ await this._client.humanTask.claimTask(taskId);
2830
+ } catch (error) {
2831
+ throw errorMapper(error);
2832
+ }
2833
+ }
2834
+ /**
2835
+ * Claim task as conductor user
2836
+ * @param taskId
2837
+ * @param assignee
2838
+ * @returns
2839
+ */
2840
+ async releaseTask(taskId) {
2841
+ try {
2842
+ await this._client.humanTask.releaseTask(taskId);
2843
+ } catch (error) {
2844
+ throw errorMapper(error);
2845
+ }
2846
+ }
2847
+ /**
2848
+ * Returns a HumanTaskTemplateEntry for a given templateId
2849
+ * @param templateId
2850
+ * @returns
2851
+ */
2852
+ async getTemplateById(templateId) {
2853
+ return tryCatchReThrow(
2854
+ () => this._client.humanTask.getTemplateById(templateId)
2855
+ );
2856
+ }
2857
+ /**
2858
+ * Takes a taskId and a partial body. will update with given body
2859
+ * @param taskId
2860
+ * @param requestBody
2861
+ */
2862
+ async updateTaskOutput(taskId, requestBody) {
2863
+ try {
2864
+ await this._client.humanTask.updateTaskOutput(taskId, requestBody, false);
2865
+ } catch (error) {
2866
+ throw errorMapper(error);
2867
+ }
2868
+ }
2869
+ /**
2870
+ * Takes a taskId and an optional partial body. will complete the task with the given body
2871
+ * @param taskId
2872
+ * @param requestBody
2873
+ */
2874
+ async completeTask(taskId, requestBody = {}) {
2875
+ try {
2876
+ await this._client.humanTask.updateTaskOutput(taskId, requestBody, true);
2877
+ } catch (error) {
2878
+ throw errorMapper(error);
2879
+ }
2880
+ }
2881
+ };
2882
+
2883
+ // src/core/sdk/doWhile.ts
2884
+ var doWhileTask = (taskRefName, terminationCondition, tasks) => ({
2885
+ name: taskRefName,
2886
+ taskReferenceName: taskRefName,
2887
+ loopCondition: terminationCondition,
2888
+ inputParameters: {},
2889
+ type: "DO_WHILE" /* DO_WHILE */,
2890
+ loopOver: tasks
2891
+ });
2892
+ var loopForCondition = (taskRefName, valueKey) => `if ( $.${taskRefName}['iteration'] < $.${valueKey} ) { true; } else { false; }`;
2893
+ var newLoopTask = (taskRefName, iterations, tasks) => ({
2894
+ name: taskRefName,
2895
+ taskReferenceName: taskRefName,
2896
+ loopCondition: loopForCondition(taskRefName, "value"),
2897
+ inputParameters: {
2898
+ value: iterations
2899
+ },
2900
+ type: "DO_WHILE" /* DO_WHILE */,
2901
+ loopOver: tasks
2902
+ });
2903
+
2904
+ // src/core/sdk/dynamicFork.ts
2905
+ var dynamicForkTask = (taskReferenceName, preForkTasks = [], dynamicTasksInput = "") => ({
2906
+ name: taskReferenceName,
2907
+ taskReferenceName,
2908
+ inputParameters: {
2909
+ dynamicTasks: preForkTasks,
2910
+ dynamicTasksInput
2911
+ },
2912
+ type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */,
2913
+ dynamicForkTasksParam: "dynamicTasks",
2914
+ dynamicForkTasksInputParamName: "dynamicTasksInput"
2915
+ });
2916
+
2917
+ // src/core/sdk/event.ts
2918
+ var eventTask = (taskReferenceName, eventPrefix, eventSuffix) => ({
2919
+ name: taskReferenceName,
2920
+ taskReferenceName,
2921
+ sink: `${eventPrefix}:${eventSuffix}`,
2922
+ type: "EVENT" /* EVENT */
2923
+ });
2924
+ var sqsEventTask = (taskReferenceName, queueName) => eventTask(taskReferenceName, "sqs", queueName);
2925
+ var conductorEventTask = (taskReferenceName, eventName) => eventTask(taskReferenceName, "conductor", eventName);
2926
+
2927
+ // src/core/generators/common.ts
2928
+ var randomChars = (n = 7) => (Math.random() + 1).toString(36).substring(n);
2929
+ var taskNameGenerator = (taskType) => `${taskType}__task_${randomChars(7)}`;
2930
+ var taskReferenceNameGenerator = (taskName) => `${taskName}_ref`;
2931
+ var nameTaskNameGenerator = (taskType, maybeOverrides = {}) => {
2932
+ const name = maybeOverrides?.name ?? taskNameGenerator(taskType);
2933
+ return {
2934
+ name,
2935
+ taskReferenceName: taskReferenceNameGenerator(name)
2936
+ };
2937
+ };
2938
+ function mapArrValues(arrayTransformer, mapWithValues) {
2939
+ return Object.fromEntries(
2940
+ Object.entries(mapWithValues).map(([key, value]) => [
2941
+ key,
2942
+ arrayTransformer(value)
2943
+ ])
2944
+ );
2945
+ }
2946
+
2947
+ // src/core/generators/SimpleTask.ts
2948
+ var generateSimpleTask = (overrides = {}) => ({
2949
+ ...nameTaskNameGenerator("simple", overrides),
2950
+ inputParameters: {},
2951
+ ...overrides,
2952
+ type: "SIMPLE" /* SIMPLE */
2953
+ });
2954
+
2955
+ // src/core/generators/DoWhileTask.ts
2956
+ var generateDoWhileTask = (overrides = {}, nestedTasksMapper) => ({
2957
+ ...nameTaskNameGenerator("doWhile", overrides),
2958
+ inputParameters: {},
1721
2959
  startDelay: 0,
1722
2960
  optional: false,
1723
2961
  asyncComplete: false,
1724
- loopCondition: ""
1725
- }), overrides), {
2962
+ loopCondition: "",
2963
+ ...overrides,
1726
2964
  loopOver: nestedTasksMapper(overrides?.loopOver || []),
1727
2965
  type: "DO_WHILE" /* DO_WHILE */
1728
2966
  });
1729
2967
 
1730
- // src/common/generators/EventTask.ts
1731
- var generateEventTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("event", overrides)), {
2968
+ // src/core/generators/EventTask.ts
2969
+ var generateEventTask = (overrides = {}) => ({
2970
+ ...nameTaskNameGenerator("event", overrides),
1732
2971
  sink: "sqs:sqs_queue_name",
1733
- asyncComplete: false
1734
- }), overrides), {
2972
+ asyncComplete: false,
2973
+ ...overrides,
1735
2974
  type: "EVENT" /* EVENT */
1736
2975
  });
1737
2976
 
1738
- // src/common/generators/ForkJoin.ts
1739
- var generateForkJoinTask = (overrides = {}, nestedMapper) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("forkJoin", overrides)), {
1740
- inputParameters: {}
1741
- }), overrides), {
2977
+ // src/core/generators/ForkJoin.ts
2978
+ var generateForkJoinTask = (overrides = {}, nestedMapper) => ({
2979
+ ...nameTaskNameGenerator("forkJoin", overrides),
2980
+ inputParameters: {},
2981
+ ...overrides,
1742
2982
  type: "FORK_JOIN" /* FORK_JOIN */,
1743
2983
  forkTasks: (overrides?.forkTasks || []).map(nestedMapper)
1744
2984
  });
1745
- var generateJoinTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("join", overrides)), {
2985
+ var generateJoinTask = (overrides = {}) => ({
2986
+ ...nameTaskNameGenerator("join", overrides),
1746
2987
  inputParameters: {},
1747
2988
  joinOn: [],
1748
2989
  optional: false,
1749
- asyncComplete: false
1750
- }), overrides), {
2990
+ asyncComplete: false,
2991
+ ...overrides,
1751
2992
  type: "JOIN" /* JOIN */
1752
2993
  });
1753
2994
 
1754
- // src/common/generators/HttpTask.ts
1755
- var generateHTTPTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("httpTask", overrides)), {
2995
+ // src/core/generators/HttpTask.ts
2996
+ var generateHTTPTask = (overrides = {}) => ({
2997
+ ...nameTaskNameGenerator("httpTask", overrides),
1756
2998
  inputParameters: {
1757
2999
  http_request: {
1758
3000
  uri: "https://jsonplaceholder.typicode.com/posts/${workflow.input.queryid}",
1759
3001
  method: "GET"
1760
3002
  }
1761
- }
1762
- }), overrides), {
3003
+ },
3004
+ ...overrides,
1763
3005
  type: "HTTP" /* HTTP */
1764
3006
  });
1765
3007
 
1766
- // src/common/generators/InlineTask.ts
3008
+ // src/core/generators/InlineTask.ts
1767
3009
  var defaultInputParams = {
1768
3010
  value: "${workflow.input.value}",
1769
3011
  evaluatorType: "graaljs",
@@ -1775,24 +3017,29 @@ var generateEvaluationCode = (inputParametersPartial = {}) => {
1775
3017
  if (inlineExpression !== void 0 && typeof inlineExpression === "function") {
1776
3018
  const resultingFunction = inlineExpression();
1777
3019
  const resultingFunctionAsString = resultingFunction.toString();
1778
- const toReturn = __spreadProps(__spreadValues({
1779
- evaluatorType: "graaljs"
1780
- }, inputParametersPartial || { value: "true" }), {
3020
+ const toReturn = {
3021
+ evaluatorType: "graaljs",
3022
+ ...inputParametersPartial || { value: "true" },
1781
3023
  expression: `(${resultingFunctionAsString})();`
1782
- });
3024
+ };
1783
3025
  return toReturn;
1784
3026
  }
1785
- return __spreadValues(__spreadProps(__spreadValues({}, defaultInputParams), {
1786
- evaluatorType: "graaljs"
1787
- }), inputParametersPartial);
3027
+ return {
3028
+ ...defaultInputParams,
3029
+ evaluatorType: "graaljs",
3030
+ ...inputParametersPartial
3031
+ };
1788
3032
  };
1789
- var generateInlineTask = (override = {}) => __spreadProps(__spreadValues(__spreadValues({}, nameTaskNameGenerator("inline", override)), override), {
3033
+ var generateInlineTask = (override = {}) => ({
3034
+ ...nameTaskNameGenerator("inline", override),
3035
+ ...override,
1790
3036
  inputParameters: generateEvaluationCode(override?.inputParameters || {}),
1791
3037
  type: "INLINE" /* INLINE */
1792
3038
  });
1793
3039
 
1794
- // src/common/generators/JsonJQTransform.ts
1795
- var generateJQTransformTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("jqTransform", overrides)), {
3040
+ // src/core/generators/JsonJQTransform.ts
3041
+ var generateJQTransformTask = (overrides = {}) => ({
3042
+ ...nameTaskNameGenerator("jqTransform", overrides),
1796
3043
  inputParameters: {
1797
3044
  key1: {
1798
3045
  value1: ["a", "b"]
@@ -1801,13 +3048,14 @@ var generateJQTransformTask = (overrides = {}) => __spreadProps(__spreadValues(_
1801
3048
  value2: ["c", "d"]
1802
3049
  },
1803
3050
  queryExpression: "{ key3: (.key1.value1 + .key2.value2) }"
1804
- }
1805
- }), overrides), {
3051
+ },
3052
+ ...overrides,
1806
3053
  type: "JSON_JQ_TRANSFORM" /* JSON_JQ_TRANSFORM */
1807
3054
  });
1808
3055
 
1809
- // src/common/generators/KafkaTask.ts
1810
- var generateKafkaPublishTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("kafka", overrides)), {
3056
+ // src/core/generators/KafkaTask.ts
3057
+ var generateKafkaPublishTask = (overrides = {}) => ({
3058
+ ...nameTaskNameGenerator("kafka", overrides),
1811
3059
  inputParameters: {
1812
3060
  kafka_request: {
1813
3061
  topic: "topic",
@@ -1817,65 +3065,72 @@ var generateKafkaPublishTask = (overrides = {}) => __spreadProps(__spreadValues(
1817
3065
  key: "123",
1818
3066
  keySerializer: "org.apache.kafka.common.serialization.IntegerSerializer"
1819
3067
  }
1820
- }
1821
- }), overrides), {
3068
+ },
3069
+ ...overrides,
1822
3070
  type: "KAFKA_PUBLISH" /* KAFKA_PUBLISH */
1823
3071
  });
1824
3072
 
1825
- // src/common/generators/SubWorkflowTask.ts
1826
- var generateSubWorkflowTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("subWorkflow", overrides)), {
3073
+ // src/core/generators/SubWorkflowTask.ts
3074
+ var generateSubWorkflowTask = (overrides = {}) => ({
3075
+ ...nameTaskNameGenerator("subWorkflow", overrides),
1827
3076
  inputParameters: {},
1828
3077
  subWorkflowParam: {
1829
3078
  name: "name",
1830
3079
  version: 1,
1831
3080
  taskToDomain: {}
1832
- }
1833
- }), overrides), {
3081
+ },
3082
+ ...overrides,
1834
3083
  type: "SUB_WORKFLOW" /* SUB_WORKFLOW */
1835
3084
  });
1836
3085
 
1837
- // src/common/generators/SetVariableTask.ts
1838
- var generateSetVariableTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("setVariable", overrides)), {
1839
- inputParameters: {}
1840
- }), overrides), {
3086
+ // src/core/generators/SetVariableTask.ts
3087
+ var generateSetVariableTask = (overrides = {}) => ({
3088
+ ...nameTaskNameGenerator("setVariable", overrides),
3089
+ inputParameters: {},
3090
+ ...overrides,
1841
3091
  type: "SET_VARIABLE" /* SET_VARIABLE */
1842
3092
  });
1843
3093
 
1844
- // src/common/generators/TerminateTask.ts
1845
- var generateTerminateTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("terminate", overrides)), {
3094
+ // src/core/generators/TerminateTask.ts
3095
+ var generateTerminateTask = (overrides = {}) => ({
3096
+ ...nameTaskNameGenerator("terminate", overrides),
1846
3097
  inputParameters: {
1847
3098
  terminationStatus: "COMPLETED",
1848
3099
  workflowOutput: {}
1849
3100
  },
1850
3101
  startDelay: 0,
1851
- optional: false
1852
- }), overrides), {
3102
+ optional: false,
3103
+ ...overrides,
1853
3104
  type: "TERMINATE" /* TERMINATE */
1854
3105
  });
1855
3106
 
1856
- // src/common/generators/WaitTask.ts
1857
- var generateWaitTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadValues({}, nameTaskNameGenerator("wait", overrides)), overrides), {
3107
+ // src/core/generators/WaitTask.ts
3108
+ var generateWaitTask = (overrides = {}) => ({
3109
+ ...nameTaskNameGenerator("wait", overrides),
3110
+ ...overrides,
1858
3111
  inputParameters: {},
1859
3112
  type: "WAIT" /* WAIT */
1860
3113
  });
1861
3114
 
1862
- // src/common/generators/SwitchTask.ts
3115
+ // src/core/generators/SwitchTask.ts
1863
3116
  var fillSwitchTaskBranches = (task, mapper) => ({
1864
3117
  decisionCases: mapArrValues(mapper, task?.decisionCases || {}),
1865
3118
  defaultCase: mapper(task?.defaultCase || [])
1866
3119
  });
1867
- var generateSwitchTask = (overrides = {}, nestedTasksMapper) => __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("switch", overrides)), {
3120
+ var generateSwitchTask = (overrides = {}, nestedTasksMapper) => ({
3121
+ ...nameTaskNameGenerator("switch", overrides),
1868
3122
  inputParameters: {
1869
3123
  switchCaseValue: ""
1870
3124
  },
1871
3125
  evaluatorType: "value-param",
1872
- expression: "switchCaseValue"
1873
- }), overrides), fillSwitchTaskBranches(overrides, nestedTasksMapper)), {
3126
+ expression: "switchCaseValue",
3127
+ ...overrides,
3128
+ ...fillSwitchTaskBranches(overrides, nestedTasksMapper),
1874
3129
  type: "SWITCH" /* SWITCH */
1875
3130
  });
1876
3131
 
1877
- // src/common/generators/WorkflowGenerator.ts
1878
- var workflowGenerator = (overrides) => __spreadValues({
3132
+ // src/core/generators/WorkflowGenerator.ts
3133
+ var workflowGenerator = (overrides) => ({
1879
3134
  name: "NewWorkflow_3nxbi",
1880
3135
  description: "Edit or extend this sample workflow. Set the workflow name to get started",
1881
3136
  version: 1,
@@ -1887,11 +3142,13 @@ var workflowGenerator = (overrides) => __spreadValues({
1887
3142
  workflowStatusListenerEnabled: false,
1888
3143
  ownerEmail: "james.stuart@orkes.io",
1889
3144
  timeoutPolicy: "ALERT_ONLY",
1890
- timeoutSeconds: 0
1891
- }, overrides);
3145
+ timeoutSeconds: 0,
3146
+ ...overrides
3147
+ });
1892
3148
 
1893
- // src/common/generators/ForkJoinDynamicTask.ts
1894
- var generateForkJoinDynamic = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("forkJoinDynamic", overrides)), {
3149
+ // src/core/generators/ForkJoinDynamicTask.ts
3150
+ var generateForkJoinDynamic = (overrides = {}) => ({
3151
+ ...nameTaskNameGenerator("forkJoinDynamic", overrides),
1895
3152
  inputParameters: {
1896
3153
  dynamicTasks: "",
1897
3154
  dynamicTasksInput: ""
@@ -1900,12 +3157,12 @@ var generateForkJoinDynamic = (overrides = {}) => __spreadProps(__spreadValues(_
1900
3157
  dynamicForkTasksInputParamName: "dynamicTasksInput",
1901
3158
  startDelay: 0,
1902
3159
  optional: false,
1903
- asyncComplete: false
1904
- }), overrides), {
3160
+ asyncComplete: false,
3161
+ ...overrides,
1905
3162
  type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */
1906
3163
  });
1907
3164
 
1908
- // src/common/generators/generator.ts
3165
+ // src/core/generators/generator.ts
1909
3166
  var filledTaskDef = (task) => {
1910
3167
  const taskType = task.type;
1911
3168
  switch (taskType) {
@@ -1957,59 +3214,15 @@ var maybeAddJoinTask = (currentTask, maybeNextTask) => {
1957
3214
  var generate = (overrides) => {
1958
3215
  const maybeTasks = overrides.tasks || [];
1959
3216
  const generatedTasks = taskGenMapper(maybeTasks);
1960
- return workflowGenerator(__spreadProps(__spreadValues({}, overrides), { tasks: generatedTasks }));
3217
+ return workflowGenerator({ ...overrides, tasks: generatedTasks });
1961
3218
  };
1962
3219
 
1963
- // src/common/generators/index.ts
3220
+ // src/core/generators/index.ts
1964
3221
  var generateSwitchTask2 = (overrides = {}, nestedTasksMapper = taskGenMapper) => generateSwitchTask(overrides, nestedTasksMapper);
1965
3222
  var generateDoWhileTask2 = (overrides = {}, nestedTasksMapper = taskGenMapper) => generateDoWhileTask(overrides, nestedTasksMapper);
1966
3223
  var generateForkJoinTask2 = (overrides = {}, nestedMapper = taskGenMapper) => generateForkJoinTask(overrides, nestedMapper);
1967
3224
 
1968
- // src/common/sdk/doWhile.ts
1969
- var doWhileTask = (taskRefName, terminationCondition, tasks) => ({
1970
- name: taskRefName,
1971
- taskReferenceName: taskRefName,
1972
- loopCondition: terminationCondition,
1973
- inputParameters: {},
1974
- type: "DO_WHILE" /* DO_WHILE */,
1975
- loopOver: tasks
1976
- });
1977
- var loopForCondition = (taskRefName, valueKey) => `if ( $.${taskRefName}['iteration'] < $.${valueKey} ) { true; } else { false; }`;
1978
- var newLoopTask = (taskRefName, iterations, tasks) => ({
1979
- name: taskRefName,
1980
- taskReferenceName: taskRefName,
1981
- loopCondition: loopForCondition(taskRefName, "value"),
1982
- inputParameters: {
1983
- value: iterations
1984
- },
1985
- type: "DO_WHILE" /* DO_WHILE */,
1986
- loopOver: tasks
1987
- });
1988
-
1989
- // src/common/sdk/dynamicFork.ts
1990
- var dynamicForkTask = (taskReferenceName, preForkTasks = [], dynamicTasksInput = "") => ({
1991
- name: taskReferenceName,
1992
- taskReferenceName,
1993
- inputParameters: {
1994
- dynamicTasks: preForkTasks,
1995
- dynamicTasksInput
1996
- },
1997
- type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */,
1998
- dynamicForkTasksParam: "dynamicTasks",
1999
- dynamicForkTasksInputParamName: "dynamicTasksInput"
2000
- });
2001
-
2002
- // src/common/sdk/event.ts
2003
- var eventTask = (taskReferenceName, eventPrefix, eventSuffix) => ({
2004
- name: taskReferenceName,
2005
- taskReferenceName,
2006
- sink: `${eventPrefix}:${eventSuffix}`,
2007
- type: "EVENT" /* EVENT */
2008
- });
2009
- var sqsEventTask = (taskReferenceName, queueName) => eventTask(taskReferenceName, "sqs", queueName);
2010
- var conductorEventTask = (taskReferenceName, eventName) => eventTask(taskReferenceName, "conductor", eventName);
2011
-
2012
- // src/common/sdk/forkJoin.ts
3225
+ // src/core/sdk/forkJoin.ts
2013
3226
  var forkTask = (taskReferenceName, forkTasks) => ({
2014
3227
  taskReferenceName,
2015
3228
  name: taskReferenceName,
@@ -2021,7 +3234,7 @@ var forkTaskJoin = (taskReferenceName, forkTasks) => [
2021
3234
  generateJoinTask({ name: `${taskReferenceName}_join` })
2022
3235
  ];
2023
3236
 
2024
- // src/common/sdk/http.ts
3237
+ // src/core/sdk/http.ts
2025
3238
  var httpTask = (taskReferenceName, inputParameters) => ({
2026
3239
  name: taskReferenceName,
2027
3240
  taskReferenceName,
@@ -2031,7 +3244,7 @@ var httpTask = (taskReferenceName, inputParameters) => ({
2031
3244
  type: "HTTP" /* HTTP */
2032
3245
  });
2033
3246
 
2034
- // src/common/sdk/inline.ts
3247
+ // src/core/sdk/inline.ts
2035
3248
  var inlineTask = (taskReferenceName, script, evaluatorType = "javascript") => ({
2036
3249
  name: taskReferenceName,
2037
3250
  taskReferenceName,
@@ -2042,7 +3255,7 @@ var inlineTask = (taskReferenceName, script, evaluatorType = "javascript") => ({
2042
3255
  type: "INLINE" /* INLINE */
2043
3256
  });
2044
3257
 
2045
- // src/common/sdk/join.ts
3258
+ // src/core/sdk/join.ts
2046
3259
  var joinTask = (taskReferenceName, joinOn) => ({
2047
3260
  name: taskReferenceName,
2048
3261
  taskReferenceName,
@@ -2050,7 +3263,7 @@ var joinTask = (taskReferenceName, joinOn) => ({
2050
3263
  type: "JOIN" /* JOIN */
2051
3264
  });
2052
3265
 
2053
- // src/common/sdk/jsonJq.ts
3266
+ // src/core/sdk/jsonJq.ts
2054
3267
  var jsonJqTask = (taskReferenceName, script) => ({
2055
3268
  name: taskReferenceName,
2056
3269
  taskReferenceName,
@@ -2060,7 +3273,7 @@ var jsonJqTask = (taskReferenceName, script) => ({
2060
3273
  }
2061
3274
  });
2062
3275
 
2063
- // src/common/sdk/kafkaPublish.ts
3276
+ // src/core/sdk/kafkaPublish.ts
2064
3277
  var kafkaPublishTask = (taskReferenceName, kafka_request) => ({
2065
3278
  taskReferenceName,
2066
3279
  name: taskReferenceName,
@@ -2070,7 +3283,7 @@ var kafkaPublishTask = (taskReferenceName, kafka_request) => ({
2070
3283
  }
2071
3284
  });
2072
3285
 
2073
- // src/common/sdk/setVariable.ts
3286
+ // src/core/sdk/setVariable.ts
2074
3287
  var setVariableTask = (taskReferenceName, inputParameters) => ({
2075
3288
  name: taskReferenceName,
2076
3289
  taskReferenceName,
@@ -2078,7 +3291,7 @@ var setVariableTask = (taskReferenceName, inputParameters) => ({
2078
3291
  inputParameters
2079
3292
  });
2080
3293
 
2081
- // src/common/sdk/simple.ts
3294
+ // src/core/sdk/simple.ts
2082
3295
  var simpleTask = (taskReferenceName, name, inputParameters) => ({
2083
3296
  name,
2084
3297
  taskReferenceName,
@@ -2086,7 +3299,7 @@ var simpleTask = (taskReferenceName, name, inputParameters) => ({
2086
3299
  type: "SIMPLE" /* SIMPLE */
2087
3300
  });
2088
3301
 
2089
- // src/common/sdk/subWorkflow.ts
3302
+ // src/core/sdk/subWorkflow.ts
2090
3303
  var subWorkflowTask = (taskReferenceName, workflowName, version) => ({
2091
3304
  name: taskReferenceName,
2092
3305
  taskReferenceName,
@@ -2097,7 +3310,7 @@ var subWorkflowTask = (taskReferenceName, workflowName, version) => ({
2097
3310
  type: "SUB_WORKFLOW" /* SUB_WORKFLOW */
2098
3311
  });
2099
3312
 
2100
- // src/common/sdk/switch.ts
3313
+ // src/core/sdk/switch.ts
2101
3314
  var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase = []) => ({
2102
3315
  name: taskReferenceName,
2103
3316
  taskReferenceName,
@@ -2111,7 +3324,7 @@ var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase
2111
3324
  type: "SWITCH" /* SWITCH */
2112
3325
  });
2113
3326
 
2114
- // src/common/sdk/terminate.ts
3327
+ // src/core/sdk/terminate.ts
2115
3328
  var terminateTask = (taskReferenceName, status, terminationReason) => ({
2116
3329
  name: taskReferenceName,
2117
3330
  taskReferenceName,
@@ -2122,7 +3335,7 @@ var terminateTask = (taskReferenceName, status, terminationReason) => ({
2122
3335
  type: "TERMINATE" /* TERMINATE */
2123
3336
  });
2124
3337
 
2125
- // src/common/sdk/wait.ts
3338
+ // src/core/sdk/wait.ts
2126
3339
  var waitTaskDuration = (taskReferenceName, duration) => ({
2127
3340
  name: taskReferenceName,
2128
3341
  taskReferenceName,
@@ -2140,240 +3353,369 @@ var waitTaskUntil = (taskReferenceName, until) => ({
2140
3353
  type: "WAIT" /* WAIT */
2141
3354
  });
2142
3355
 
2143
- // src/common/sdk/workflow.ts
2144
- var workflow = (name, tasks) => ({
2145
- name,
2146
- version: 1,
2147
- tasks,
2148
- inputParameters: [],
2149
- timeoutSeconds: 0
2150
- });
2151
-
2152
- // src/common/open-api/core/BaseHttpRequest.ts
2153
- var BaseHttpRequest = class {
2154
- constructor(config) {
2155
- this.config = config;
2156
- }
2157
- };
2158
-
2159
- // src/task/TaskManager.ts
2160
- var defaultManagerOptions = {
2161
- workerID: "",
2162
- pollInterval: 1e3,
2163
- domain: void 0,
2164
- concurrency: 1
2165
- };
2166
- function workerId(options) {
2167
- return options.workerID ?? os.hostname();
2168
- }
2169
- var TaskManager = class {
2170
- constructor(client, workers, config = {}) {
2171
- this.tasks = {};
2172
- this.workerManagerWorkerOptions = (worker) => {
2173
- return __spreadProps(__spreadValues({}, this.taskManageOptions), {
2174
- concurrency: worker.concurrency ?? this.taskManageOptions.concurrency,
2175
- domain: worker.domain ?? this.taskManageOptions.domain
2176
- });
2177
- };
2178
- this.updatePollingOptions = (options) => {
2179
- this.workers.forEach((worker) => {
2180
- const newOptions = __spreadValues(__spreadValues({}, this.workerManagerWorkerOptions(worker)), options);
2181
- const runners = this.tasks[worker.taskDefName];
2182
- runners.forEach((runner) => {
2183
- runner.updateOptions(newOptions);
2184
- });
2185
- });
2186
- };
2187
- this.startPolling = () => {
2188
- this.workers.forEach((worker) => {
2189
- this.tasks[worker.taskDefName] = [];
2190
- const options = this.workerManagerWorkerOptions(worker);
2191
- this.logger.debug(`Starting taskDefName=${worker.taskDefName} concurrency=${options.concurrency} domain=${options.domain}`);
2192
- const runner = new TaskRunner({
2193
- worker,
2194
- options,
2195
- taskResource: this.client.taskResource,
2196
- logger: this.logger,
2197
- onError: this.errorHandler
2198
- });
2199
- runner.startPolling();
2200
- this.tasks[worker.taskDefName].push(runner);
2201
- });
2202
- };
2203
- this.stopPolling = () => {
2204
- for (const taskType in this.tasks) {
2205
- this.tasks[taskType].forEach((runner) => runner.stopPolling());
2206
- this.tasks[taskType] = [];
2207
- }
2208
- };
2209
- if (!workers) {
2210
- throw new Error("No workers supplied to TaskManager. Please pass an array of workers.");
2211
- }
2212
- this.client = client;
2213
- this.logger = config.logger ?? new DefaultLogger();
2214
- this.errorHandler = config.onError ?? noopErrorHandler;
2215
- this.workers = workers;
2216
- const providedOptions = config.options ?? {};
2217
- this.taskManageOptions = __spreadProps(__spreadValues(__spreadValues({}, defaultManagerOptions), providedOptions), {
2218
- workerID: workerId(providedOptions)
2219
- });
2220
- }
2221
- };
2222
-
2223
- // src/core/types.ts
2224
- var ConductorError = class extends Error {
2225
- constructor(message, innerError) {
2226
- super(message);
2227
- this._trace = innerError;
2228
- const actualProto = new.target.prototype;
2229
- if (Object.setPrototypeOf) {
2230
- Object.setPrototypeOf(this, actualProto);
2231
- } else {
2232
- this.__proto__ = actualProto;
2233
- }
2234
- }
2235
- };
2236
-
2237
- // src/core/helpers.ts
2238
- var errorMapper = (error) => new ConductorError(error?.body?.message, error);
2239
- var tryCatchReThrow = (fn) => {
3356
+ // src/core/sdk/workflow.ts
3357
+ var workflow = (name, tasks) => ({
3358
+ name,
3359
+ version: 1,
3360
+ tasks,
3361
+ inputParameters: [],
3362
+ timeoutSeconds: 0
3363
+ });
3364
+
3365
+ // src/orkes/request/fetchCatchDns/DnsResolver.ts
3366
+ import { promises } from "dns";
3367
+ var DEFAULT_OPTIONS = {
3368
+ logger: noopLogger,
3369
+ resolver: promises.resolve4
3370
+ };
3371
+ var dnsResolver = async (host, { resolver = promises.resolve4, logger = console } = DEFAULT_OPTIONS) => {
2240
3372
  try {
2241
- return fn();
2242
- } catch (error) {
2243
- throw errorMapper(error);
3373
+ const addresses = await resolver(host);
3374
+ if (addresses.length > 0)
3375
+ return addresses[0];
3376
+ } catch (e) {
3377
+ logger.error("Could not resolve host: " + host + " error: " + e);
2244
3378
  }
3379
+ return void 0;
2245
3380
  };
2246
3381
 
2247
- // src/core/executor.ts
2248
- var RETRY_TIME_IN_MILLISECONDS = 1e4;
2249
- var WorkflowExecutor = class {
2250
- constructor(client) {
2251
- this._client = client;
2252
- }
2253
- registerWorkflow(override, workflow2) {
2254
- return tryCatchReThrow(() => this._client.metadataResource.create(workflow2, override));
3382
+ // src/orkes/request/fetchCatchDns/DnsCache.ts
3383
+ var DnsCacheResolver = class {
3384
+ constructor({ initialCache = /* @__PURE__ */ new Map() } = {}) {
3385
+ this._cache = /* @__PURE__ */ new Map();
3386
+ this._cache = initialCache;
3387
+ }
3388
+ async resolve(host) {
3389
+ const cachedIp = this._cache.get(host);
3390
+ if (cachedIp) {
3391
+ return cachedIp;
3392
+ }
3393
+ const ip = await dnsResolver(host);
3394
+ if (ip != void 0) {
3395
+ this._cache.set(host, ip);
3396
+ }
3397
+ return ip;
2255
3398
  }
2256
- startWorkflow(workflowRequest) {
2257
- return tryCatchReThrow(() => this._client.workflowResource.startWorkflow(workflowRequest));
3399
+ clearCache() {
3400
+ this._cache.clear();
2258
3401
  }
2259
- executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef = "") {
2260
- return tryCatchReThrow(() => this._client.workflowResource.executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef));
3402
+ get cache() {
3403
+ return this._cache;
2261
3404
  }
2262
- startWorkflows(workflowsRequest) {
2263
- return tryCatchReThrow(() => workflowsRequest.map(this.startWorkflow));
3405
+ };
3406
+
3407
+ // src/orkes/request/fetchCatchDns/fetchCatchDns.ts
3408
+ import { isIP } from "net";
3409
+ var isEmpty = (value) => {
3410
+ return value === void 0 || value.trim().length === 0;
3411
+ };
3412
+ var toMaybeUrl = (originalUrl, modifiedParams) => {
3413
+ const urlToHit = new URL(originalUrl.toString());
3414
+ urlToHit.host = isEmpty(modifiedParams.port) ? `${modifiedParams.host}:${modifiedParams.port}` : modifiedParams.host;
3415
+ return urlToHit;
3416
+ };
3417
+ var DEFAULT_OPTIONS2 = {
3418
+ dnsCache: new DnsCacheResolver(),
3419
+ headerFactory: (headers) => new Headers(headers || {})
3420
+ };
3421
+ var fetchCatchDns = (fetch2, {
3422
+ dnsCache = new DnsCacheResolver(),
3423
+ headerFactory = (headers) => new Headers(headers || {})
3424
+ } = DEFAULT_OPTIONS2) => {
3425
+ const fetchWithDns = async (input, options) => {
3426
+ const parsedUrl = new URL(input.toString());
3427
+ const { hostname, host, port } = parsedUrl;
3428
+ if (isIP(hostname)) {
3429
+ return await fetch2(input, options);
3430
+ }
3431
+ const maybeTargetIp = await dnsCache.resolve(hostname);
3432
+ if (isEmpty(maybeTargetIp)) {
3433
+ return await fetch2(input, options);
3434
+ }
3435
+ const target = toMaybeUrl(input, {
3436
+ ...parsedUrl,
3437
+ host: maybeTargetIp,
3438
+ port
3439
+ });
3440
+ const headersOverride = headerFactory(options?.headers ?? {});
3441
+ if (!headersOverride.has("Host")) {
3442
+ headersOverride.set("Host", host);
3443
+ }
3444
+ const optionsOverride = {
3445
+ ...options,
3446
+ headers: headersOverride
3447
+ };
3448
+ const res = await fetch2(target.toString(), optionsOverride);
3449
+ return res;
3450
+ };
3451
+ return fetchWithDns;
3452
+ };
3453
+
3454
+ // src/orkes/request/request.ts
3455
+ var isDefined2 = (value) => {
3456
+ return value !== void 0 && value !== null;
3457
+ };
3458
+ var isString2 = (value) => {
3459
+ return typeof value === "string";
3460
+ };
3461
+ var isStringWithValue2 = (value) => {
3462
+ return isString2(value) && value !== "";
3463
+ };
3464
+ var isBlob2 = (value) => {
3465
+ return typeof value === "object" && typeof value.type === "string" && typeof value.stream === "function" && typeof value.arrayBuffer === "function" && typeof value.constructor === "function" && typeof value.constructor.name === "string" && /^(Blob|File)$/.test(value.constructor.name) && /^(Blob|File)$/.test(value[Symbol.toStringTag]);
3466
+ };
3467
+ var isFormData2 = (value) => {
3468
+ return value instanceof FormData;
3469
+ };
3470
+ var base642 = (str) => {
3471
+ try {
3472
+ return btoa(str);
3473
+ } catch (err) {
3474
+ return Buffer.from(str).toString("base64");
2264
3475
  }
2265
- async getWorkflow(workflowInstanceId, includeTasks, retry = 0) {
2266
- try {
2267
- const workflowStatus = await this._client.workflowResource.getExecutionStatus(workflowInstanceId, includeTasks);
2268
- return workflowStatus;
2269
- } catch (error) {
2270
- if (![500, 404, 403].includes(error.status) || retry === 0) {
2271
- throw errorMapper(error);
3476
+ };
3477
+ var getQueryString2 = (params) => {
3478
+ const qs = [];
3479
+ const append = (key, value) => {
3480
+ qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
3481
+ };
3482
+ const process = (key, value) => {
3483
+ if (isDefined2(value)) {
3484
+ if (Array.isArray(value)) {
3485
+ value.forEach((v) => {
3486
+ process(key, v);
3487
+ });
3488
+ } else if (typeof value === "object") {
3489
+ Object.entries(value).forEach(([k, v]) => {
3490
+ process(`${key}[${k}]`, v);
3491
+ });
3492
+ } else {
3493
+ append(key, value);
2272
3494
  }
2273
3495
  }
2274
- await new Promise((res) => setTimeout(() => res(true), RETRY_TIME_IN_MILLISECONDS));
2275
- return this.getWorkflow(workflowInstanceId, includeTasks, retry - 1);
2276
- }
2277
- getWorkflowStatus(workflowInstanceId, includeOutput, includeVariables) {
2278
- return tryCatchReThrow(() => this._client.workflowResource.getWorkflowStatusSummary(workflowInstanceId, includeOutput, includeVariables));
2279
- }
2280
- pause(workflowInstanceId) {
2281
- return tryCatchReThrow(() => this._client.workflowResource.pauseWorkflow(workflowInstanceId));
2282
- }
2283
- reRun(workflowInstanceId, rerunWorkflowRequest = {}) {
2284
- return tryCatchReThrow(() => this._client.workflowResource.rerun(workflowInstanceId, rerunWorkflowRequest));
2285
- }
2286
- restart(workflowInstanceId, useLatestDefinitions) {
2287
- return tryCatchReThrow(() => this._client.workflowResource.restart1(workflowInstanceId, useLatestDefinitions));
2288
- }
2289
- resume(workflowInstanceId) {
2290
- return tryCatchReThrow(() => this._client.workflowResource.resumeWorkflow(workflowInstanceId));
2291
- }
2292
- retry(workflowInstanceId, resumeSubworkflowTasks) {
2293
- return tryCatchReThrow(() => this._client.workflowResource.retry1(workflowInstanceId, resumeSubworkflowTasks));
2294
- }
2295
- search(start, size, query, freeText, sort = "", skipCache = false) {
2296
- const queryId = void 0;
2297
- return tryCatchReThrow(() => this._client.workflowResource.search1(queryId, start, size, sort, freeText, query, skipCache));
2298
- }
2299
- skipTasksFromWorkflow(workflowInstanceId, taskReferenceName, skipTaskRequest) {
2300
- return tryCatchReThrow(() => this._client.workflowResource.skipTaskFromWorkflow(workflowInstanceId, taskReferenceName, skipTaskRequest));
3496
+ };
3497
+ Object.entries(params).forEach(([key, value]) => {
3498
+ process(key, value);
3499
+ });
3500
+ if (qs.length > 0) {
3501
+ return `?${qs.join("&")}`;
2301
3502
  }
2302
- terminate(workflowInstanceId, reason) {
2303
- return tryCatchReThrow(() => this._client.workflowResource.terminate1(workflowInstanceId, reason));
3503
+ return "";
3504
+ };
3505
+ var getUrl2 = (config, options) => {
3506
+ const encoder = config.ENCODE_PATH || encodeURI;
3507
+ const path = options.url.replace("{api-version}", config.VERSION).replace(/{(.*?)}/g, (substring, group) => {
3508
+ if (options.path?.hasOwnProperty(group)) {
3509
+ return encoder(String(options.path[group]));
3510
+ }
3511
+ return substring;
3512
+ });
3513
+ const url = `${config.BASE}${path}`;
3514
+ if (options.query) {
3515
+ return `${url}${getQueryString2(options.query)}`;
2304
3516
  }
2305
- updateTask(taskId, workflowInstanceId, taskStatus, outputData) {
2306
- const taskUpdates = {
2307
- status: taskStatus,
2308
- taskId,
2309
- workflowInstanceId
3517
+ return url;
3518
+ };
3519
+ var getFormData2 = (options) => {
3520
+ if (options.formData) {
3521
+ const formData = new FormData();
3522
+ const process = (key, value) => {
3523
+ if (isString2(value) || isBlob2(value)) {
3524
+ formData.append(key, value);
3525
+ } else {
3526
+ formData.append(key, JSON.stringify(value));
3527
+ }
2310
3528
  };
2311
- return tryCatchReThrow(() => this._client.taskResource.updateTask1(__spreadValues({
2312
- outputData
2313
- }, taskUpdates)));
2314
- }
2315
- updateTaskByRefName(taskReferenceName, workflowInstanceId, status, taskOutput) {
2316
- return tryCatchReThrow(() => this._client.taskResource.updateTask(workflowInstanceId, taskReferenceName, status, taskOutput));
3529
+ Object.entries(options.formData).filter(([_, value]) => isDefined2(value)).forEach(([key, value]) => {
3530
+ if (Array.isArray(value)) {
3531
+ value.forEach((v) => process(key, v));
3532
+ } else {
3533
+ process(key, value);
3534
+ }
3535
+ });
3536
+ return formData;
2317
3537
  }
2318
- getTask(taskId) {
2319
- return tryCatchReThrow(() => this._client.taskResource.getTask(taskId));
3538
+ return void 0;
3539
+ };
3540
+ var resolve2 = async (options, resolver) => {
3541
+ if (typeof resolver === "function") {
3542
+ return resolver(options);
2320
3543
  }
3544
+ return resolver;
2321
3545
  };
2322
-
2323
- // src/core/human.ts
2324
- var HumanExecutor = class {
2325
- constructor(client) {
2326
- this._client = client;
3546
+ var getHeaders2 = async (config, options) => {
3547
+ const token = await resolve2(options, config.TOKEN);
3548
+ const username = await resolve2(options, config.USERNAME);
3549
+ const password = await resolve2(options, config.PASSWORD);
3550
+ const additionalHeaders = await resolve2(options, config.HEADERS);
3551
+ const headers = Object.entries({
3552
+ Accept: "application/json",
3553
+ ...additionalHeaders,
3554
+ ...options.headers
3555
+ }).filter(([_, value]) => isDefined2(value)).reduce(
3556
+ (headers2, [key, value]) => ({
3557
+ ...headers2,
3558
+ [key]: String(value)
3559
+ }),
3560
+ {}
3561
+ );
3562
+ if (isStringWithValue2(token)) {
3563
+ headers["X-AUTHORIZATION"] = token;
2327
3564
  }
2328
- async getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
2329
- const response = await this._client.humanTask.getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput);
2330
- if (response.results != void 0) {
2331
- return response.results;
2332
- }
2333
- return [];
3565
+ if (isStringWithValue2(username) && isStringWithValue2(password)) {
3566
+ const credentials = base642(`${username}:${password}`);
3567
+ headers["Authorization"] = `Basic ${credentials}`;
2334
3568
  }
2335
- getTaskById(taskId) {
2336
- return tryCatchReThrow(() => this._client.humanTask.getTask1(taskId));
3569
+ if (options.body) {
3570
+ if (options.mediaType) {
3571
+ headers["Content-Type"] = options.mediaType;
3572
+ } else if (isBlob2(options.body)) {
3573
+ headers["Content-Type"] = "application/octet-stream";
3574
+ } else if (isString2(options.body)) {
3575
+ headers["Content-Type"] = "text/plain";
3576
+ } else if (!isFormData2(options.body)) {
3577
+ headers["Content-Type"] = "application/json";
3578
+ }
2337
3579
  }
2338
- async claimTaskAsExternalUser(taskId, assignee) {
2339
- try {
2340
- await this._client.humanTask.assignAndClaim(taskId, assignee);
2341
- } catch (error) {
2342
- throw errorMapper(error);
3580
+ return new Headers(headers);
3581
+ };
3582
+ var getRequestBody2 = (options) => {
3583
+ if (options.body) {
3584
+ if (options.mediaType?.includes("/json")) {
3585
+ return JSON.stringify(options.body);
3586
+ } else if (isString2(options.body) || isBlob2(options.body) || isFormData2(options.body)) {
3587
+ return options.body;
3588
+ } else {
3589
+ return JSON.stringify(options.body);
2343
3590
  }
2344
3591
  }
2345
- async claimTaskAsConductorUser(taskId) {
2346
- try {
2347
- await this._client.humanTask.claimTask(taskId);
2348
- } catch (error) {
2349
- throw errorMapper(error);
3592
+ return void 0;
3593
+ };
3594
+ var sendRequest2 = async (options, url, body, formData, headers, onCancel, fetchFn = fetch) => {
3595
+ const controller = new AbortController();
3596
+ const request3 = {
3597
+ headers,
3598
+ method: options.method,
3599
+ body: body ?? formData,
3600
+ signal: controller.signal
3601
+ };
3602
+ onCancel(() => controller.abort());
3603
+ return await fetchFn(url, request3);
3604
+ };
3605
+ var getResponseHeader2 = (response, responseHeader) => {
3606
+ if (responseHeader) {
3607
+ const content = response.headers.get(responseHeader);
3608
+ if (isString2(content)) {
3609
+ return content;
2350
3610
  }
2351
3611
  }
2352
- async releaseTask(taskId) {
3612
+ return void 0;
3613
+ };
3614
+ var getResponseBody2 = async (response) => {
3615
+ if (response.status !== 204) {
2353
3616
  try {
2354
- await this._client.humanTask.releaseTask(taskId);
3617
+ const contentType = response.headers.get("Content-Type");
3618
+ if (contentType) {
3619
+ const isJSON = contentType.toLowerCase().startsWith("application/json");
3620
+ if (isJSON) {
3621
+ return await response.json();
3622
+ } else {
3623
+ return await response.text();
3624
+ }
3625
+ }
2355
3626
  } catch (error) {
2356
- throw errorMapper(error);
3627
+ console.error(error);
2357
3628
  }
2358
3629
  }
2359
- async getTemplateById(templateId) {
2360
- return tryCatchReThrow(() => this._client.humanTask.getTemplateById(templateId));
3630
+ return void 0;
3631
+ };
3632
+ var catchErrorCodes2 = (options, result) => {
3633
+ const errors = {
3634
+ 400: "Bad Request",
3635
+ 401: "Unauthorized",
3636
+ 403: "Forbidden",
3637
+ 404: "Not Found",
3638
+ 500: "Internal Server Error",
3639
+ 502: "Bad Gateway",
3640
+ 503: "Service Unavailable",
3641
+ ...options.errors
3642
+ };
3643
+ const error = errors[result.status];
3644
+ if (error) {
3645
+ throw new ApiError(options, result, error);
2361
3646
  }
2362
- async updateTaskOutput(taskId, requestBody) {
2363
- try {
2364
- await this._client.humanTask.updateTaskOutput(taskId, requestBody, false);
2365
- } catch (error) {
2366
- throw errorMapper(error);
2367
- }
3647
+ if (!result.ok) {
3648
+ throw new ApiError(options, result, "Generic Error");
2368
3649
  }
2369
- async completeTask(taskId, requestBody = {}) {
3650
+ };
3651
+ var request2 = (config, options, fetchFn = fetch) => {
3652
+ return new CancelablePromise(async (resolve3, reject, onCancel) => {
2370
3653
  try {
2371
- await this._client.humanTask.updateTaskOutput(taskId, requestBody, true);
3654
+ const url = getUrl2(config, options);
3655
+ const formData = getFormData2(options);
3656
+ const body = getRequestBody2(options);
3657
+ const headers = await getHeaders2(config, options);
3658
+ if (!onCancel.isCancelled) {
3659
+ const response = await sendRequest2(
3660
+ options,
3661
+ url,
3662
+ body,
3663
+ formData,
3664
+ headers,
3665
+ onCancel,
3666
+ fetchFn
3667
+ );
3668
+ const responseBody = await getResponseBody2(response);
3669
+ const responseHeader = getResponseHeader2(
3670
+ response,
3671
+ options.responseHeader
3672
+ );
3673
+ const result = {
3674
+ url,
3675
+ ok: response.ok,
3676
+ status: response.status,
3677
+ statusText: response.statusText,
3678
+ body: responseHeader ?? responseBody
3679
+ };
3680
+ catchErrorCodes2(options, result);
3681
+ resolve3(result.body);
3682
+ }
2372
3683
  } catch (error) {
2373
- throw errorMapper(error);
3684
+ reject(error);
2374
3685
  }
2375
- }
3686
+ });
3687
+ };
3688
+
3689
+ // src/orkes/BaseOrkesConductorClient.ts
3690
+ var defaultRequestHandler2 = (request3, config, options) => request3(config, options);
3691
+ var baseOrkesConductorClient = (fetchFn, baseRequestHandler = defaultRequestHandler2) => {
3692
+ return async (config, requestHandler = baseRequestHandler) => {
3693
+ if (config?.keySecret != null && config?.keyId != null) {
3694
+ const { serverUrl, keyId, keySecret } = config;
3695
+ const tokenUrl = `${serverUrl}/token`;
3696
+ const res = await fetchFn(tokenUrl, {
3697
+ headers: {
3698
+ "Content-Type": "application/json",
3699
+ Accept: "application/json"
3700
+ },
3701
+ body: JSON.stringify({ keyId, keySecret }),
3702
+ method: "POST"
3703
+ });
3704
+ const { token } = await res.json();
3705
+ return new ConductorClient({ ...config, TOKEN: token }, requestHandler);
3706
+ } else {
3707
+ return new ConductorClient(config, requestHandler);
3708
+ }
3709
+ };
2376
3710
  };
3711
+
3712
+ // src/orkes/OrkesConductorClient.ts
3713
+ var fetchCache = fetchCatchDns(fetch);
3714
+ var defaultRequestHandler3 = (__request, config, options) => request2(config, options, fetchCache);
3715
+ var orkesConductorClient = baseOrkesConductorClient(
3716
+ fetchCache,
3717
+ defaultRequestHandler3
3718
+ );
2377
3719
  export {
2378
3720
  ApiError,
2379
3721
  BaseHttpRequest,
@@ -2382,6 +3724,7 @@ export {
2382
3724
  ConductorClient,
2383
3725
  ConductorError,
2384
3726
  DefaultLogger,
3727
+ DnsCacheResolver,
2385
3728
  EventResourceService,
2386
3729
  HealthCheckResourceService,
2387
3730
  HumanExecutor,
@@ -2395,10 +3738,12 @@ export {
2395
3738
  WorkflowBulkResourceService,
2396
3739
  WorkflowExecutor,
2397
3740
  WorkflowResourceService,
3741
+ baseOrkesConductorClient,
2398
3742
  conductorEventTask,
2399
3743
  doWhileTask,
2400
3744
  dynamicForkTask,
2401
3745
  eventTask,
3746
+ fetchCatchDns,
2402
3747
  forkTask,
2403
3748
  forkTaskJoin,
2404
3749
  generate,
@@ -2423,7 +3768,9 @@ export {
2423
3768
  kafkaPublishTask,
2424
3769
  newLoopTask,
2425
3770
  noopErrorHandler,
3771
+ noopLogger,
2426
3772
  orkesConductorClient,
3773
+ request2 as request,
2427
3774
  setVariableTask,
2428
3775
  simpleTask,
2429
3776
  sqsEventTask,
@@ -2431,6 +3778,7 @@ export {
2431
3778
  switchTask,
2432
3779
  taskGenMapper,
2433
3780
  terminateTask,
3781
+ toMaybeUrl,
2434
3782
  waitTaskDuration,
2435
3783
  waitTaskUntil,
2436
3784
  workflow