@io-orkes/conductor-javascript 1.0.1 → 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,129 +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/TaskRunner.ts
22
- var DEFAULT_ERROR_MESSAGE = "An unknown error occurred";
23
- var MAX_RETRIES = 3;
24
- var noopErrorHandler = (__error) => {
25
- };
26
- var noopLogger = {
27
- debug: (...args) => {
28
- },
29
- info: (...args) => {
30
- },
31
- error: (...args) => {
32
- }
33
- };
34
- var TaskRunner = class {
35
- constructor({
36
- worker,
37
- taskResource,
38
- options,
39
- logger = noopLogger,
40
- onError: errorHandler = noopErrorHandler
41
- }) {
42
- this.isPolling = false;
43
- this.startPolling = () => {
44
- if (this.isPolling) {
45
- throw new Error("Runner is already started");
46
- }
47
- this.isPolling = true;
48
- return this.poll();
49
- };
50
- this.stopPolling = () => {
51
- this.isPolling = false;
52
- };
53
- this.poll = async () => {
54
- while (this.isPolling) {
55
- try {
56
- const { workerID } = this.options;
57
- const task = await this.taskResource.poll(this.worker.taskDefName, workerID, this.options.domain);
58
- if (task && task.taskId) {
59
- await this.executeTask(task);
60
- } else {
61
- this.logger.debug(`No tasks for ${this.worker.taskDefName}`);
62
- }
63
- } catch (unknownError) {
64
- this.handleUnknownError(unknownError);
65
- this.errorHandler(unknownError);
66
- }
67
- await new Promise((r) => setTimeout(() => r(true), this.options.pollInterval));
68
- }
69
- };
70
- this.updateTaskWithRetry = async (task, taskResult) => {
71
- let retryCount = 0;
72
- while (retryCount < MAX_RETRIES) {
73
- try {
74
- await this.taskResource.updateTask1(taskResult);
75
- return;
76
- } catch (error) {
77
- this.errorHandler(error, task);
78
- this.logger.error(`Error updating task ${taskResult.taskId} on retry ${retryCount}`, error);
79
- retryCount++;
80
- await new Promise((r) => setTimeout(() => r(true), retryCount * 10));
81
- }
82
- }
83
- this.logger.error(`Unable to update task ${taskResult.taskId} after ${retryCount} retries`);
84
- };
85
- this.executeTask = async (task) => {
86
- try {
87
- const result = await this.worker.execute(task);
88
- await this.updateTaskWithRetry(task, __spreadProps(__spreadValues({}, result), {
89
- workflowInstanceId: task.workflowInstanceId,
90
- taskId: task.taskId
91
- }));
92
- this.logger.debug(`Finished polling for task ${task.taskId}`);
93
- } catch (error) {
94
- await this.updateTaskWithRetry(task, {
95
- workflowInstanceId: task.workflowInstanceId,
96
- taskId: task.taskId,
97
- reasonForIncompletion: error?.message ?? DEFAULT_ERROR_MESSAGE,
98
- status: "FAILED",
99
- outputData: {}
100
- });
101
- this.errorHandler(error, task);
102
- this.logger.error(`Error executing ${task.taskId}`, error);
103
- }
104
- };
105
- this.handleUnknownError = (unknownError) => {
106
- let message = "";
107
- let stack = "";
108
- if (unknownError.stack) {
109
- stack = unknownError.stack;
110
- }
111
- if (unknownError.message) {
112
- message = unknownError.message;
113
- }
114
- this.logger.error(`Error for ${this.worker.taskDefName}: error: ${message}, stack: ${stack}`);
115
- };
116
- this.taskResource = taskResource;
117
- this.logger = logger;
118
- this.worker = worker;
119
- this.options = options;
120
- this.errorHandler = errorHandler;
121
- }
122
- };
123
-
124
- // src/task/TaskManager.ts
125
- import os from "os";
126
-
127
1
  // src/common/ConductorLogger.ts
128
2
  var LOG_LEVELS = {
129
3
  DEBUG: 10,
@@ -163,96 +37,57 @@ var DefaultLogger = class {
163
37
  }
164
38
  }
165
39
  };
166
-
167
- // src/common/open-api/core/CancelablePromise.ts
168
- var CancelError = class extends Error {
169
- constructor(message) {
170
- super(message);
171
- this.name = "CancelError";
172
- }
173
- get isCancelled() {
174
- return true;
175
- }
176
- };
177
- var CancelablePromise = class {
178
- constructor(executor) {
179
- this._isResolved = false;
180
- this._isRejected = false;
181
- this._isCancelled = false;
182
- this._cancelHandlers = [];
183
- this._promise = new Promise((resolve2, reject) => {
184
- this._resolve = resolve2;
185
- this._reject = reject;
186
- const onResolve = (value) => {
187
- if (this._isResolved || this._isRejected || this._isCancelled) {
188
- return;
189
- }
190
- this._isResolved = true;
191
- this._resolve?.(value);
192
- };
193
- const onReject = (reason) => {
194
- if (this._isResolved || this._isRejected || this._isCancelled) {
195
- return;
196
- }
197
- this._isRejected = true;
198
- this._reject?.(reason);
199
- };
200
- const onCancel = (cancelHandler) => {
201
- if (this._isResolved || this._isRejected || this._isCancelled) {
202
- return;
203
- }
204
- this._cancelHandlers.push(cancelHandler);
205
- };
206
- Object.defineProperty(onCancel, "isResolved", {
207
- get: () => this._isResolved
208
- });
209
- Object.defineProperty(onCancel, "isRejected", {
210
- get: () => this._isRejected
211
- });
212
- Object.defineProperty(onCancel, "isCancelled", {
213
- get: () => this._isCancelled
214
- });
215
- return executor(onResolve, onReject, onCancel);
216
- });
217
- }
218
- then(onFulfilled, onRejected) {
219
- return this._promise.then(onFulfilled, onRejected);
220
- }
221
- catch(onRejected) {
222
- return this._promise.catch(onRejected);
223
- }
224
- finally(onFinally) {
225
- return this._promise.finally(onFinally);
226
- }
227
- cancel() {
228
- if (this._isResolved || this._isRejected || this._isCancelled) {
229
- return;
230
- }
231
- this._isCancelled = true;
232
- if (this._cancelHandlers.length) {
233
- try {
234
- for (const cancelHandler of this._cancelHandlers) {
235
- cancelHandler();
236
- }
237
- } catch (error) {
238
- console.warn("Cancellation threw an error", error);
239
- return;
240
- }
241
- }
242
- this._cancelHandlers.length = 0;
243
- this._reject?.(new CancelError("Request aborted"));
244
- }
245
- get isCancelled() {
246
- return this._isCancelled;
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) => {
247
49
  }
248
50
  };
249
- Symbol.toStringTag;
51
+
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 || {});
250
78
 
251
79
  // src/common/open-api/services/EventResourceService.ts
252
80
  var EventResourceService = class {
253
81
  constructor(httpRequest) {
254
82
  this.httpRequest = httpRequest;
255
83
  }
84
+ /**
85
+ * Get queue config by name
86
+ * @param queueType
87
+ * @param queueName
88
+ * @returns any OK
89
+ * @throws ApiError
90
+ */
256
91
  getQueueConfig(queueType, queueName) {
257
92
  return this.httpRequest.request({
258
93
  method: "GET",
@@ -263,6 +98,14 @@ var EventResourceService = class {
263
98
  }
264
99
  });
265
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
+ */
266
109
  putQueueConfig(queueType, queueName, requestBody) {
267
110
  return this.httpRequest.request({
268
111
  method: "PUT",
@@ -275,6 +118,13 @@ var EventResourceService = class {
275
118
  mediaType: "application/json"
276
119
  });
277
120
  }
121
+ /**
122
+ * Delete queue config by name
123
+ * @param queueType
124
+ * @param queueName
125
+ * @returns any OK
126
+ * @throws ApiError
127
+ */
278
128
  deleteQueueConfig(queueType, queueName) {
279
129
  return this.httpRequest.request({
280
130
  method: "DELETE",
@@ -285,12 +135,23 @@ var EventResourceService = class {
285
135
  }
286
136
  });
287
137
  }
138
+ /**
139
+ * Get all the event handlers
140
+ * @returns EventHandler OK
141
+ * @throws ApiError
142
+ */
288
143
  getEventHandlers() {
289
144
  return this.httpRequest.request({
290
145
  method: "GET",
291
146
  url: "/event"
292
147
  });
293
148
  }
149
+ /**
150
+ * Update an existing event handler.
151
+ * @param requestBody
152
+ * @returns any OK
153
+ * @throws ApiError
154
+ */
294
155
  updateEventHandler(requestBody) {
295
156
  return this.httpRequest.request({
296
157
  method: "PUT",
@@ -299,6 +160,12 @@ var EventResourceService = class {
299
160
  mediaType: "application/json"
300
161
  });
301
162
  }
163
+ /**
164
+ * Add a new event handler.
165
+ * @param requestBody
166
+ * @returns any OK
167
+ * @throws ApiError
168
+ */
302
169
  addEventHandler(requestBody) {
303
170
  return this.httpRequest.request({
304
171
  method: "POST",
@@ -307,12 +174,23 @@ var EventResourceService = class {
307
174
  mediaType: "application/json"
308
175
  });
309
176
  }
177
+ /**
178
+ * Get all queue configs
179
+ * @returns any OK
180
+ * @throws ApiError
181
+ */
310
182
  getQueueNames() {
311
183
  return this.httpRequest.request({
312
184
  method: "GET",
313
185
  url: "/event/queue/config"
314
186
  });
315
187
  }
188
+ /**
189
+ * Remove an event handler
190
+ * @param name
191
+ * @returns any OK
192
+ * @throws ApiError
193
+ */
316
194
  removeEventHandlerStatus(name) {
317
195
  return this.httpRequest.request({
318
196
  method: "DELETE",
@@ -322,6 +200,13 @@ var EventResourceService = class {
322
200
  }
323
201
  });
324
202
  }
203
+ /**
204
+ * Get event handlers for a given event
205
+ * @param event
206
+ * @param activeOnly
207
+ * @returns EventHandler OK
208
+ * @throws ApiError
209
+ */
325
210
  getEventHandlersForEvent(event, activeOnly = true) {
326
211
  return this.httpRequest.request({
327
212
  method: "GET",
@@ -341,6 +226,10 @@ var HealthCheckResourceService = class {
341
226
  constructor(httpRequest) {
342
227
  this.httpRequest = httpRequest;
343
228
  }
229
+ /**
230
+ * @returns any OK
231
+ * @throws ApiError
232
+ */
344
233
  doCheck() {
345
234
  return this.httpRequest.request({
346
235
  method: "GET",
@@ -354,6 +243,13 @@ var MetadataResourceService = class {
354
243
  constructor(httpRequest) {
355
244
  this.httpRequest = httpRequest;
356
245
  }
246
+ /**
247
+ * Gets the task definition
248
+ * @param tasktype
249
+ * @param metadata
250
+ * @returns TaskDef OK
251
+ * @throws ApiError
252
+ */
357
253
  getTaskDef(tasktype, metadata = false) {
358
254
  return this.httpRequest.request({
359
255
  method: "GET",
@@ -366,6 +262,12 @@ var MetadataResourceService = class {
366
262
  }
367
263
  });
368
264
  }
265
+ /**
266
+ * Remove a task definition
267
+ * @param tasktype
268
+ * @returns any OK
269
+ * @throws ApiError
270
+ */
369
271
  unregisterTaskDef(tasktype) {
370
272
  return this.httpRequest.request({
371
273
  method: "DELETE",
@@ -375,6 +277,15 @@ var MetadataResourceService = class {
375
277
  }
376
278
  });
377
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
+ */
378
289
  getAllWorkflows(access = "READ", metadata = false, tagKey, tagValue) {
379
290
  return this.httpRequest.request({
380
291
  method: "GET",
@@ -387,6 +298,13 @@ var MetadataResourceService = class {
387
298
  }
388
299
  });
389
300
  }
301
+ /**
302
+ * Create or update workflow definition(s)
303
+ * @param requestBody
304
+ * @param overwrite
305
+ * @returns any OK
306
+ * @throws ApiError
307
+ */
390
308
  update(requestBody, overwrite = true) {
391
309
  return this.httpRequest.request({
392
310
  method: "PUT",
@@ -398,6 +316,13 @@ var MetadataResourceService = class {
398
316
  mediaType: "application/json"
399
317
  });
400
318
  }
319
+ /**
320
+ * Create a new workflow definition
321
+ * @param requestBody
322
+ * @param overwrite
323
+ * @returns any OK
324
+ * @throws ApiError
325
+ */
401
326
  create(requestBody, overwrite = false) {
402
327
  return this.httpRequest.request({
403
328
  method: "POST",
@@ -409,6 +334,15 @@ var MetadataResourceService = class {
409
334
  mediaType: "application/json"
410
335
  });
411
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
+ */
412
346
  getTaskDefs(access = "READ", metadata = false, tagKey, tagValue) {
413
347
  return this.httpRequest.request({
414
348
  method: "GET",
@@ -421,6 +355,12 @@ var MetadataResourceService = class {
421
355
  }
422
356
  });
423
357
  }
358
+ /**
359
+ * Update an existing task
360
+ * @param requestBody
361
+ * @returns any OK
362
+ * @throws ApiError
363
+ */
424
364
  updateTaskDef(requestBody) {
425
365
  return this.httpRequest.request({
426
366
  method: "PUT",
@@ -429,6 +369,12 @@ var MetadataResourceService = class {
429
369
  mediaType: "application/json"
430
370
  });
431
371
  }
372
+ /**
373
+ * Create or update task definition(s)
374
+ * @param requestBody
375
+ * @returns any OK
376
+ * @throws ApiError
377
+ */
432
378
  registerTaskDef(requestBody) {
433
379
  return this.httpRequest.request({
434
380
  method: "POST",
@@ -437,6 +383,13 @@ var MetadataResourceService = class {
437
383
  mediaType: "application/json"
438
384
  });
439
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
+ */
440
393
  unregisterWorkflowDef(name, version) {
441
394
  return this.httpRequest.request({
442
395
  method: "DELETE",
@@ -447,6 +400,14 @@ var MetadataResourceService = class {
447
400
  }
448
401
  });
449
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
+ */
450
411
  get(name, version, metadata = false) {
451
412
  return this.httpRequest.request({
452
413
  method: "GET",
@@ -467,6 +428,12 @@ var SchedulerResourceService = class {
467
428
  constructor(httpRequest) {
468
429
  this.httpRequest = httpRequest;
469
430
  }
431
+ /**
432
+ * Get an existing workflow schedule by name
433
+ * @param name
434
+ * @returns any OK
435
+ * @throws ApiError
436
+ */
470
437
  getSchedule(name) {
471
438
  return this.httpRequest.request({
472
439
  method: "GET",
@@ -476,6 +443,12 @@ var SchedulerResourceService = class {
476
443
  }
477
444
  });
478
445
  }
446
+ /**
447
+ * Deletes an existing workflow schedule by name
448
+ * @param name
449
+ * @returns any OK
450
+ * @throws ApiError
451
+ */
479
452
  deleteSchedule(name) {
480
453
  return this.httpRequest.request({
481
454
  method: "DELETE",
@@ -485,6 +458,15 @@ var SchedulerResourceService = class {
485
458
  }
486
459
  });
487
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
+ */
488
470
  getNextFewSchedules(cronExpression, scheduleStartTime, scheduleEndTime, limit = 3) {
489
471
  return this.httpRequest.request({
490
472
  method: "GET",
@@ -497,6 +479,12 @@ var SchedulerResourceService = class {
497
479
  }
498
480
  });
499
481
  }
482
+ /**
483
+ * Pauses an existing schedule by name
484
+ * @param name
485
+ * @returns any OK
486
+ * @throws ApiError
487
+ */
500
488
  pauseSchedule(name) {
501
489
  return this.httpRequest.request({
502
490
  method: "GET",
@@ -506,12 +494,23 @@ var SchedulerResourceService = class {
506
494
  }
507
495
  });
508
496
  }
497
+ /**
498
+ * Pause all scheduling in a single conductor server instance (for debugging only)
499
+ * @returns any OK
500
+ * @throws ApiError
501
+ */
509
502
  pauseAllSchedules() {
510
503
  return this.httpRequest.request({
511
504
  method: "GET",
512
505
  url: "/scheduler/admin/pause"
513
506
  });
514
507
  }
508
+ /**
509
+ * Resume a paused schedule by name
510
+ * @param name
511
+ * @returns any OK
512
+ * @throws ApiError
513
+ */
515
514
  resumeSchedule(name) {
516
515
  return this.httpRequest.request({
517
516
  method: "GET",
@@ -521,18 +520,34 @@ var SchedulerResourceService = class {
521
520
  }
522
521
  });
523
522
  }
523
+ /**
524
+ * Requeue all execution records
525
+ * @returns any OK
526
+ * @throws ApiError
527
+ */
524
528
  requeueAllExecutionRecords() {
525
529
  return this.httpRequest.request({
526
530
  method: "GET",
527
531
  url: "/scheduler/admin/requeue"
528
532
  });
529
533
  }
534
+ /**
535
+ * Resume all scheduling
536
+ * @returns any OK
537
+ * @throws ApiError
538
+ */
530
539
  resumeAllSchedules() {
531
540
  return this.httpRequest.request({
532
541
  method: "GET",
533
542
  url: "/scheduler/admin/resume"
534
543
  });
535
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
+ */
536
551
  getAllSchedules(workflowName) {
537
552
  return this.httpRequest.request({
538
553
  method: "GET",
@@ -542,6 +557,12 @@ var SchedulerResourceService = class {
542
557
  }
543
558
  });
544
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
+ */
545
566
  saveSchedule(requestBody) {
546
567
  return this.httpRequest.request({
547
568
  method: "POST",
@@ -550,12 +571,28 @@ var SchedulerResourceService = class {
550
571
  mediaType: "application/json"
551
572
  });
552
573
  }
574
+ /**
575
+ * Test timeout - do not use in production
576
+ * @returns any OK
577
+ * @throws ApiError
578
+ */
553
579
  testTimeout() {
554
580
  return this.httpRequest.request({
555
581
  method: "GET",
556
582
  url: "/scheduler/test/timeout"
557
583
  });
558
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
+ */
559
596
  searchV21(start, size = 100, sort, freeText = "*", query) {
560
597
  return this.httpRequest.request({
561
598
  method: "GET",
@@ -576,6 +613,14 @@ var TaskResourceService = class {
576
613
  constructor(httpRequest) {
577
614
  this.httpRequest = httpRequest;
578
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
+ */
579
624
  poll(tasktype, workerid, domain) {
580
625
  return this.httpRequest.request({
581
626
  method: "GET",
@@ -589,12 +634,26 @@ var TaskResourceService = class {
589
634
  }
590
635
  });
591
636
  }
637
+ /**
638
+ * Get the details about each queue
639
+ * @returns number OK
640
+ * @throws ApiError
641
+ */
592
642
  allVerbose() {
593
643
  return this.httpRequest.request({
594
644
  method: "GET",
595
645
  url: "/tasks/queue/all/verbose"
596
646
  });
597
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
+ */
598
657
  updateTask(workflowId, taskRefName, status, requestBody) {
599
658
  return this.httpRequest.request({
600
659
  method: "POST",
@@ -608,6 +667,12 @@ var TaskResourceService = class {
608
667
  mediaType: "application/json"
609
668
  });
610
669
  }
670
+ /**
671
+ * Get task by Id
672
+ * @param taskId
673
+ * @returns Task OK
674
+ * @throws ApiError
675
+ */
611
676
  getTask(taskId) {
612
677
  return this.httpRequest.request({
613
678
  method: "GET",
@@ -617,12 +682,23 @@ var TaskResourceService = class {
617
682
  }
618
683
  });
619
684
  }
685
+ /**
686
+ * Get the details about each queue
687
+ * @returns number OK
688
+ * @throws ApiError
689
+ */
620
690
  all() {
621
691
  return this.httpRequest.request({
622
692
  method: "GET",
623
693
  url: "/tasks/queue/all"
624
694
  });
625
695
  }
696
+ /**
697
+ * Requeue pending tasks
698
+ * @param taskType
699
+ * @returns string OK
700
+ * @throws ApiError
701
+ */
626
702
  requeuePendingTask(taskType) {
627
703
  return this.httpRequest.request({
628
704
  method: "POST",
@@ -632,6 +708,17 @@ var TaskResourceService = class {
632
708
  }
633
709
  });
634
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
+ */
635
722
  search(start, size = 100, sort, freeText = "*", query) {
636
723
  return this.httpRequest.request({
637
724
  method: "GET",
@@ -645,6 +732,17 @@ var TaskResourceService = class {
645
732
  }
646
733
  });
647
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
+ */
648
746
  searchV22(start, size = 100, sort, freeText = "*", query) {
649
747
  return this.httpRequest.request({
650
748
  method: "GET",
@@ -658,6 +756,12 @@ var TaskResourceService = class {
658
756
  }
659
757
  });
660
758
  }
759
+ /**
760
+ * Get the last poll data for a given task type
761
+ * @param taskType
762
+ * @returns PollData OK
763
+ * @throws ApiError
764
+ */
661
765
  getPollData(taskType) {
662
766
  return this.httpRequest.request({
663
767
  method: "GET",
@@ -667,6 +771,12 @@ var TaskResourceService = class {
667
771
  }
668
772
  });
669
773
  }
774
+ /**
775
+ * Get Task Execution Logs
776
+ * @param taskId
777
+ * @returns TaskExecLog OK
778
+ * @throws ApiError
779
+ */
670
780
  getTaskLogs(taskId) {
671
781
  return this.httpRequest.request({
672
782
  method: "GET",
@@ -676,6 +786,13 @@ var TaskResourceService = class {
676
786
  }
677
787
  });
678
788
  }
789
+ /**
790
+ * Log Task Execution Details
791
+ * @param taskId
792
+ * @param requestBody
793
+ * @returns any OK
794
+ * @throws ApiError
795
+ */
679
796
  log(taskId, requestBody) {
680
797
  return this.httpRequest.request({
681
798
  method: "POST",
@@ -687,12 +804,27 @@ var TaskResourceService = class {
687
804
  mediaType: "application/json"
688
805
  });
689
806
  }
807
+ /**
808
+ * Get the last poll data for all task types
809
+ * @returns PollData OK
810
+ * @throws ApiError
811
+ */
690
812
  getAllPollData() {
691
813
  return this.httpRequest.request({
692
814
  method: "GET",
693
815
  url: "/tasks/queue/polldata/all"
694
816
  });
695
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
+ */
696
828
  batchPoll(tasktype, workerid, domain, count = 1, timeout = 100) {
697
829
  return this.httpRequest.request({
698
830
  method: "GET",
@@ -708,6 +840,12 @@ var TaskResourceService = class {
708
840
  }
709
841
  });
710
842
  }
843
+ /**
844
+ * Update a task
845
+ * @param requestBody
846
+ * @returns string OK
847
+ * @throws ApiError
848
+ */
711
849
  updateTask1(requestBody) {
712
850
  return this.httpRequest.request({
713
851
  method: "POST",
@@ -716,6 +854,12 @@ var TaskResourceService = class {
716
854
  mediaType: "application/json"
717
855
  });
718
856
  }
857
+ /**
858
+ * Get Task type queue sizes
859
+ * @param taskType
860
+ * @returns number OK
861
+ * @throws ApiError
862
+ */
719
863
  size1(taskType) {
720
864
  return this.httpRequest.request({
721
865
  method: "GET",
@@ -725,6 +869,14 @@ var TaskResourceService = class {
725
869
  }
726
870
  });
727
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
+ */
728
880
  getExternalStorageLocation1(path, operation, payloadType) {
729
881
  return this.httpRequest.request({
730
882
  method: "GET",
@@ -743,6 +895,12 @@ var TokenResourceService = class {
743
895
  constructor(httpRequest) {
744
896
  this.httpRequest = httpRequest;
745
897
  }
898
+ /**
899
+ * Generate JWT with the given access key
900
+ * @param requestBody
901
+ * @returns Response OK
902
+ * @throws ApiError
903
+ */
746
904
  generateToken(requestBody) {
747
905
  return this.httpRequest.request({
748
906
  method: "POST",
@@ -751,6 +909,11 @@ var TokenResourceService = class {
751
909
  mediaType: "application/json"
752
910
  });
753
911
  }
912
+ /**
913
+ * Get the user info from the token
914
+ * @returns any OK
915
+ * @throws ApiError
916
+ */
754
917
  getUserInfo() {
755
918
  return this.httpRequest.request({
756
919
  method: "GET",
@@ -764,6 +927,12 @@ var WorkflowBulkResourceService = class {
764
927
  constructor(httpRequest) {
765
928
  this.httpRequest = httpRequest;
766
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
+ */
767
936
  retry(requestBody) {
768
937
  return this.httpRequest.request({
769
938
  method: "POST",
@@ -772,6 +941,13 @@ var WorkflowBulkResourceService = class {
772
941
  mediaType: "application/json"
773
942
  });
774
943
  }
944
+ /**
945
+ * Restart the list of completed workflow
946
+ * @param requestBody
947
+ * @param useLatestDefinitions
948
+ * @returns BulkResponse OK
949
+ * @throws ApiError
950
+ */
775
951
  restart(requestBody, useLatestDefinitions = false) {
776
952
  return this.httpRequest.request({
777
953
  method: "POST",
@@ -783,6 +959,13 @@ var WorkflowBulkResourceService = class {
783
959
  mediaType: "application/json"
784
960
  });
785
961
  }
962
+ /**
963
+ * Terminate workflows execution
964
+ * @param requestBody
965
+ * @param reason
966
+ * @returns BulkResponse OK
967
+ * @throws ApiError
968
+ */
786
969
  terminate(requestBody, reason) {
787
970
  return this.httpRequest.request({
788
971
  method: "POST",
@@ -794,6 +977,12 @@ var WorkflowBulkResourceService = class {
794
977
  mediaType: "application/json"
795
978
  });
796
979
  }
980
+ /**
981
+ * Resume the list of workflows
982
+ * @param requestBody
983
+ * @returns BulkResponse OK
984
+ * @throws ApiError
985
+ */
797
986
  resumeWorkflow(requestBody) {
798
987
  return this.httpRequest.request({
799
988
  method: "PUT",
@@ -802,6 +991,12 @@ var WorkflowBulkResourceService = class {
802
991
  mediaType: "application/json"
803
992
  });
804
993
  }
994
+ /**
995
+ * Pause the list of workflows
996
+ * @param requestBody
997
+ * @returns BulkResponse OK
998
+ * @throws ApiError
999
+ */
805
1000
  pauseWorkflow1(requestBody) {
806
1001
  return this.httpRequest.request({
807
1002
  method: "PUT",
@@ -817,6 +1012,15 @@ var WorkflowResourceService = class {
817
1012
  constructor(httpRequest) {
818
1013
  this.httpRequest = httpRequest;
819
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
+ */
820
1024
  getRunningWorkflow(name, version = 1, startTime, endTime) {
821
1025
  return this.httpRequest.request({
822
1026
  method: "GET",
@@ -831,6 +1035,17 @@ var WorkflowResourceService = class {
831
1035
  }
832
1036
  });
833
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
+ */
834
1049
  executeWorkflow(body, name, version, requestId, waitUntilTaskRef) {
835
1050
  return this.httpRequest.request({
836
1051
  method: "POST",
@@ -847,6 +1062,12 @@ var WorkflowResourceService = class {
847
1062
  mediaType: "application/json"
848
1063
  });
849
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
+ */
850
1071
  startWorkflow(requestBody) {
851
1072
  return this.httpRequest.request({
852
1073
  method: "POST",
@@ -855,6 +1076,12 @@ var WorkflowResourceService = class {
855
1076
  mediaType: "application/json"
856
1077
  });
857
1078
  }
1079
+ /**
1080
+ * Starts the decision task for a workflow
1081
+ * @param workflowId
1082
+ * @returns any OK
1083
+ * @throws ApiError
1084
+ */
858
1085
  decide(workflowId) {
859
1086
  return this.httpRequest.request({
860
1087
  method: "PUT",
@@ -864,6 +1091,13 @@ var WorkflowResourceService = class {
864
1091
  }
865
1092
  });
866
1093
  }
1094
+ /**
1095
+ * Reruns the workflow from a specific task
1096
+ * @param workflowId
1097
+ * @param requestBody
1098
+ * @returns string OK
1099
+ * @throws ApiError
1100
+ */
867
1101
  rerun(workflowId, requestBody) {
868
1102
  return this.httpRequest.request({
869
1103
  method: "POST",
@@ -875,6 +1109,17 @@ var WorkflowResourceService = class {
875
1109
  mediaType: "application/json"
876
1110
  });
877
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
+ */
878
1123
  searchV21(start, size = 100, sort, freeText = "*", query) {
879
1124
  return this.httpRequest.request({
880
1125
  method: "GET",
@@ -888,6 +1133,12 @@ var WorkflowResourceService = class {
888
1133
  }
889
1134
  });
890
1135
  }
1136
+ /**
1137
+ * Pauses the workflow
1138
+ * @param workflowId
1139
+ * @returns any OK
1140
+ * @throws ApiError
1141
+ */
891
1142
  pauseWorkflow(workflowId) {
892
1143
  return this.httpRequest.request({
893
1144
  method: "PUT",
@@ -897,6 +1148,14 @@ var WorkflowResourceService = class {
897
1148
  }
898
1149
  });
899
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
+ */
900
1159
  skipTaskFromWorkflow(workflowId, taskReferenceName, requestBody) {
901
1160
  return this.httpRequest.request({
902
1161
  method: "PUT",
@@ -909,6 +1168,15 @@ var WorkflowResourceService = class {
909
1168
  mediaType: "application/json"
910
1169
  });
911
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
+ */
912
1180
  getWorkflows(name, requestBody, includeClosed = false, includeTasks = false) {
913
1181
  return this.httpRequest.request({
914
1182
  method: "POST",
@@ -924,6 +1192,14 @@ var WorkflowResourceService = class {
924
1192
  mediaType: "application/json"
925
1193
  });
926
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
+ */
927
1203
  getWorkflowStatusSummary(workflowId, includeOutput = false, includeVariables = false) {
928
1204
  return this.httpRequest.request({
929
1205
  method: "GET",
@@ -937,6 +1213,15 @@ var WorkflowResourceService = class {
937
1213
  }
938
1214
  });
939
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
+ */
940
1225
  getWorkflows1(name, correlationId, includeClosed = false, includeTasks = false) {
941
1226
  return this.httpRequest.request({
942
1227
  method: "GET",
@@ -951,6 +1236,13 @@ var WorkflowResourceService = class {
951
1236
  }
952
1237
  });
953
1238
  }
1239
+ /**
1240
+ * Retries the last failed task
1241
+ * @param workflowId
1242
+ * @param resumeSubworkflowTasks
1243
+ * @returns void
1244
+ * @throws ApiError
1245
+ */
954
1246
  retry1(workflowId, resumeSubworkflowTasks = false) {
955
1247
  return this.httpRequest.request({
956
1248
  method: "POST",
@@ -963,6 +1255,13 @@ var WorkflowResourceService = class {
963
1255
  }
964
1256
  });
965
1257
  }
1258
+ /**
1259
+ * Gets the workflow by workflow id
1260
+ * @param workflowId
1261
+ * @param includeTasks
1262
+ * @returns Workflow OK
1263
+ * @throws ApiError
1264
+ */
966
1265
  getExecutionStatus(workflowId, includeTasks = true) {
967
1266
  return this.httpRequest.request({
968
1267
  method: "GET",
@@ -975,6 +1274,13 @@ var WorkflowResourceService = class {
975
1274
  }
976
1275
  });
977
1276
  }
1277
+ /**
1278
+ * Terminate workflow execution
1279
+ * @param workflowId
1280
+ * @param reason
1281
+ * @returns any OK
1282
+ * @throws ApiError
1283
+ */
978
1284
  terminate1(workflowId, reason) {
979
1285
  return this.httpRequest.request({
980
1286
  method: "DELETE",
@@ -987,6 +1293,12 @@ var WorkflowResourceService = class {
987
1293
  }
988
1294
  });
989
1295
  }
1296
+ /**
1297
+ * Resumes the workflow
1298
+ * @param workflowId
1299
+ * @returns any OK
1300
+ * @throws ApiError
1301
+ */
990
1302
  resumeWorkflow(workflowId) {
991
1303
  return this.httpRequest.request({
992
1304
  method: "PUT",
@@ -996,6 +1308,13 @@ var WorkflowResourceService = class {
996
1308
  }
997
1309
  });
998
1310
  }
1311
+ /**
1312
+ * Removes the workflow from the system
1313
+ * @param workflowId
1314
+ * @param archiveWorkflow
1315
+ * @returns any OK
1316
+ * @throws ApiError
1317
+ */
999
1318
  delete(workflowId, archiveWorkflow = true) {
1000
1319
  return this.httpRequest.request({
1001
1320
  method: "DELETE",
@@ -1008,6 +1327,17 @@ var WorkflowResourceService = class {
1008
1327
  }
1009
1328
  });
1010
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
+ */
1011
1341
  searchWorkflowsByTasks(start, size = 100, sort, freeText = "*", query) {
1012
1342
  return this.httpRequest.request({
1013
1343
  method: "GET",
@@ -1021,6 +1351,14 @@ var WorkflowResourceService = class {
1021
1351
  }
1022
1352
  });
1023
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
+ */
1024
1362
  getExternalStorageLocation(path, operation, payloadType) {
1025
1363
  return this.httpRequest.request({
1026
1364
  method: "GET",
@@ -1032,6 +1370,16 @@ var WorkflowResourceService = class {
1032
1370
  }
1033
1371
  });
1034
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
+ */
1035
1383
  startWorkflow1(name, requestBody, version, correlationId, priority) {
1036
1384
  return this.httpRequest.request({
1037
1385
  method: "POST",
@@ -1048,6 +1396,13 @@ var WorkflowResourceService = class {
1048
1396
  mediaType: "application/json"
1049
1397
  });
1050
1398
  }
1399
+ /**
1400
+ * Restarts a completed workflow
1401
+ * @param workflowId
1402
+ * @param useLatestDefinitions
1403
+ * @returns void
1404
+ * @throws ApiError
1405
+ */
1051
1406
  restart1(workflowId, useLatestDefinitions = false) {
1052
1407
  return this.httpRequest.request({
1053
1408
  method: "POST",
@@ -1060,6 +1415,19 @@ var WorkflowResourceService = class {
1060
1415
  }
1061
1416
  });
1062
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
+ */
1063
1431
  search1(queryId, start, size = 100, sort, freeText = "*", query, skipCache = false) {
1064
1432
  return this.httpRequest.request({
1065
1433
  method: "GET",
@@ -1075,6 +1443,17 @@ var WorkflowResourceService = class {
1075
1443
  }
1076
1444
  });
1077
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
+ */
1078
1457
  searchWorkflowsByTasksV2(start, size = 100, sort, freeText = "*", query) {
1079
1458
  return this.httpRequest.request({
1080
1459
  method: "GET",
@@ -1088,6 +1467,12 @@ var WorkflowResourceService = class {
1088
1467
  }
1089
1468
  });
1090
1469
  }
1470
+ /**
1471
+ * Resets callback times of all non-terminal SIMPLE tasks to 0
1472
+ * @param workflowId
1473
+ * @returns void
1474
+ * @throws ApiError
1475
+ */
1091
1476
  resetWorkflow(workflowId) {
1092
1477
  return this.httpRequest.request({
1093
1478
  method: "POST",
@@ -1101,69 +1486,155 @@ var WorkflowResourceService = class {
1101
1486
 
1102
1487
  // src/common/open-api/core/ApiError.ts
1103
1488
  var ApiError = class extends Error {
1104
- constructor(request2, response, message) {
1489
+ constructor(request3, response, message) {
1105
1490
  super(message);
1106
1491
  this.name = "ApiError";
1107
1492
  this.url = response.url;
1108
1493
  this.status = response.status;
1109
1494
  this.statusText = response.statusText;
1110
1495
  this.body = response.body;
1111
- this.request = request2;
1496
+ this.request = request3;
1112
1497
  }
1113
1498
  };
1114
1499
 
1115
- // src/common/open-api/core/request.ts
1116
- var isDefined = (value) => {
1117
- return value !== void 0 && value !== null;
1118
- };
1119
- var isString = (value) => {
1120
- return typeof value === "string";
1121
- };
1122
- var isStringWithValue = (value) => {
1123
- return isString(value) && value !== "";
1124
- };
1125
- var isBlob = (value) => {
1126
- 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]);
1127
- };
1128
- var isFormData = (value) => {
1129
- return value instanceof FormData;
1130
- };
1131
- var base64 = (str) => {
1132
- try {
1133
- return btoa(str);
1134
- } catch (err) {
1135
- return Buffer.from(str).toString("base64");
1500
+ // src/common/open-api/core/CancelablePromise.ts
1501
+ var CancelError = class extends Error {
1502
+ constructor(message) {
1503
+ super(message);
1504
+ this.name = "CancelError";
1136
1505
  }
1137
- };
1138
- var getQueryString = (params) => {
1139
- const qs = [];
1140
- const append = (key, value) => {
1141
- qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
1142
- };
1143
- const process = (key, value) => {
1144
- if (isDefined(value)) {
1145
- if (Array.isArray(value)) {
1146
- value.forEach((v) => {
1147
- process(key, v);
1148
- });
1149
- } else if (typeof value === "object") {
1150
- Object.entries(value).forEach(([k, v]) => {
1151
- process(`${key}[${k}]`, v);
1152
- });
1153
- } else {
1154
- append(key, value);
1155
- }
1156
- }
1157
- };
1158
- Object.entries(params).forEach(([key, value]) => {
1159
- process(key, value);
1160
- });
1161
- if (qs.length > 0) {
1162
- return `?${qs.join("&")}`;
1506
+ get isCancelled() {
1507
+ return true;
1163
1508
  }
1164
- return "";
1165
1509
  };
1166
- var getUrl = (config, options) => {
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;
1583
+ }
1584
+ };
1585
+
1586
+ // src/common/open-api/core/request.ts
1587
+ var isDefined = (value) => {
1588
+ return value !== void 0 && value !== null;
1589
+ };
1590
+ var isString = (value) => {
1591
+ return typeof value === "string";
1592
+ };
1593
+ var isStringWithValue = (value) => {
1594
+ return isString(value) && value !== "";
1595
+ };
1596
+ var isBlob = (value) => {
1597
+ 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]);
1598
+ };
1599
+ var isFormData = (value) => {
1600
+ return value instanceof FormData;
1601
+ };
1602
+ var base64 = (str) => {
1603
+ try {
1604
+ return btoa(str);
1605
+ } catch (err) {
1606
+ return Buffer.from(str).toString("base64");
1607
+ }
1608
+ };
1609
+ var getQueryString = (params) => {
1610
+ const qs = [];
1611
+ const append = (key, value) => {
1612
+ qs.push(`${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
1613
+ };
1614
+ const process = (key, value) => {
1615
+ if (isDefined(value)) {
1616
+ if (Array.isArray(value)) {
1617
+ value.forEach((v) => {
1618
+ process(key, v);
1619
+ });
1620
+ } else if (typeof value === "object") {
1621
+ Object.entries(value).forEach(([k, v]) => {
1622
+ process(`${key}[${k}]`, v);
1623
+ });
1624
+ } else {
1625
+ append(key, value);
1626
+ }
1627
+ }
1628
+ };
1629
+ Object.entries(params).forEach(([key, value]) => {
1630
+ process(key, value);
1631
+ });
1632
+ if (qs.length > 0) {
1633
+ return `?${qs.join("&")}`;
1634
+ }
1635
+ return "";
1636
+ };
1637
+ var getUrl = (config, options) => {
1167
1638
  const encoder = config.ENCODE_PATH || encodeURI;
1168
1639
  const path = options.url.replace("{api-version}", config.VERSION).replace(/{(.*?)}/g, (substring, group) => {
1169
1640
  if (options.path?.hasOwnProperty(group)) {
@@ -1209,11 +1680,17 @@ var getHeaders = async (config, options) => {
1209
1680
  const username = await resolve(options, config.USERNAME);
1210
1681
  const password = await resolve(options, config.PASSWORD);
1211
1682
  const additionalHeaders = await resolve(options, config.HEADERS);
1212
- const headers = Object.entries(__spreadValues(__spreadValues({
1213
- Accept: "application/json"
1214
- }, additionalHeaders), options.headers)).filter(([_, value]) => isDefined(value)).reduce((headers2, [key, value]) => __spreadProps(__spreadValues({}, headers2), {
1215
- [key]: String(value)
1216
- }), {});
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
+ );
1217
1694
  if (isStringWithValue(token)) {
1218
1695
  headers["X-AUTHORIZATION"] = token;
1219
1696
  }
@@ -1248,14 +1725,14 @@ var getRequestBody = (options) => {
1248
1725
  };
1249
1726
  var sendRequest = async (options, url, body, formData, headers, onCancel) => {
1250
1727
  const controller = new AbortController();
1251
- const request2 = {
1728
+ const request3 = {
1252
1729
  headers,
1253
1730
  method: options.method,
1254
1731
  body: body ?? formData,
1255
1732
  signal: controller.signal
1256
1733
  };
1257
1734
  onCancel(() => controller.abort());
1258
- return await fetch(url, request2);
1735
+ return await fetch(url, request3);
1259
1736
  };
1260
1737
  var getResponseHeader = (response, responseHeader) => {
1261
1738
  if (responseHeader) {
@@ -1285,15 +1762,16 @@ var getResponseBody = async (response) => {
1285
1762
  return void 0;
1286
1763
  };
1287
1764
  var catchErrorCodes = (options, result) => {
1288
- const errors = __spreadValues({
1765
+ const errors = {
1289
1766
  400: "Bad Request",
1290
1767
  401: "Unauthorized",
1291
1768
  403: "Forbidden",
1292
1769
  404: "Not Found",
1293
1770
  500: "Internal Server Error",
1294
1771
  502: "Bad Gateway",
1295
- 503: "Service Unavailable"
1296
- }, options.errors);
1772
+ 503: "Service Unavailable",
1773
+ ...options.errors
1774
+ };
1297
1775
  const error = errors[result.status];
1298
1776
  if (error) {
1299
1777
  throw new ApiError(options, result, error);
@@ -1303,16 +1781,26 @@ var catchErrorCodes = (options, result) => {
1303
1781
  }
1304
1782
  };
1305
1783
  var request = (config, options) => {
1306
- return new CancelablePromise(async (resolve2, reject, onCancel) => {
1784
+ return new CancelablePromise(async (resolve3, reject, onCancel) => {
1307
1785
  try {
1308
1786
  const url = getUrl(config, options);
1309
1787
  const formData = getFormData(options);
1310
1788
  const body = getRequestBody(options);
1311
1789
  const headers = await getHeaders(config, options);
1312
1790
  if (!onCancel.isCancelled) {
1313
- 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
+ );
1314
1799
  const responseBody = await getResponseBody(response);
1315
- const responseHeader = getResponseHeader(response, options.responseHeader);
1800
+ const responseHeader = getResponseHeader(
1801
+ response,
1802
+ options.responseHeader
1803
+ );
1316
1804
  const result = {
1317
1805
  url,
1318
1806
  ok: response.ok,
@@ -1321,7 +1809,7 @@ var request = (config, options) => {
1321
1809
  body: responseHeader ?? responseBody
1322
1810
  };
1323
1811
  catchErrorCodes(options, result);
1324
- resolve2(result.body);
1812
+ resolve3(result.body);
1325
1813
  }
1326
1814
  } catch (error) {
1327
1815
  reject(error);
@@ -1334,6 +1822,18 @@ var HumanTaskService = class {
1334
1822
  constructor(httpRequest) {
1335
1823
  this.httpRequest = httpRequest;
1336
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
+ */
1337
1837
  getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
1338
1838
  return this.httpRequest.request({
1339
1839
  method: "GET",
@@ -1349,12 +1849,29 @@ var HumanTaskService = class {
1349
1849
  }
1350
1850
  });
1351
1851
  }
1852
+ /**
1853
+ * Get task load grouped by workflow name and task ref name per user
1854
+ * @returns HumanTaskLoad OK
1855
+ * @throws ApiError
1856
+ */
1352
1857
  getTaskLoad() {
1353
1858
  return this.httpRequest.request({
1354
1859
  method: "GET",
1355
1860
  url: "/human/tasks/load"
1356
1861
  });
1357
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
+ */
1358
1875
  search1(queryId, start, size = 100, freeText = "*", query, jsonQuery, includeInputOutput = false) {
1359
1876
  return this.httpRequest.request({
1360
1877
  method: "GET",
@@ -1370,6 +1887,12 @@ var HumanTaskService = class {
1370
1887
  }
1371
1888
  });
1372
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
+ */
1373
1896
  updateTaskOutput1(taskId) {
1374
1897
  return this.httpRequest.request({
1375
1898
  method: "DELETE",
@@ -1379,6 +1902,12 @@ var HumanTaskService = class {
1379
1902
  }
1380
1903
  });
1381
1904
  }
1905
+ /**
1906
+ * Get a task
1907
+ * @param taskId
1908
+ * @returns HumanTaskEntry OK
1909
+ * @throws ApiError
1910
+ */
1382
1911
  getTask1(taskId) {
1383
1912
  return this.httpRequest.request({
1384
1913
  method: "GET",
@@ -1388,6 +1917,12 @@ var HumanTaskService = class {
1388
1917
  }
1389
1918
  });
1390
1919
  }
1920
+ /**
1921
+ * Get human task action log entries by task id
1922
+ * @param taskId
1923
+ * @returns HumanTaskActionLogEntry OK
1924
+ * @throws ApiError
1925
+ */
1391
1926
  getActionLogs(taskId) {
1392
1927
  return this.httpRequest.request({
1393
1928
  method: "GET",
@@ -1397,6 +1932,12 @@ var HumanTaskService = class {
1397
1932
  }
1398
1933
  });
1399
1934
  }
1935
+ /**
1936
+ * Claim a task by authenticated Conductor user
1937
+ * @param taskId
1938
+ * @returns any OK
1939
+ * @throws ApiError
1940
+ */
1400
1941
  claimTask(taskId) {
1401
1942
  return this.httpRequest.request({
1402
1943
  method: "POST",
@@ -1406,6 +1947,13 @@ var HumanTaskService = class {
1406
1947
  }
1407
1948
  });
1408
1949
  }
1950
+ /**
1951
+ * Claim a task to an external user
1952
+ * @param taskId
1953
+ * @param userId
1954
+ * @returns any OK
1955
+ * @throws ApiError
1956
+ */
1409
1957
  assignAndClaim(taskId, userId) {
1410
1958
  return this.httpRequest.request({
1411
1959
  method: "POST",
@@ -1416,6 +1964,13 @@ var HumanTaskService = class {
1416
1964
  }
1417
1965
  });
1418
1966
  }
1967
+ /**
1968
+ * Release a task without completing it
1969
+ * @param taskId
1970
+ * @param requestBody
1971
+ * @returns any OK
1972
+ * @throws ApiError
1973
+ */
1419
1974
  reassignTask(taskId, requestBody) {
1420
1975
  return this.httpRequest.request({
1421
1976
  method: "POST",
@@ -1427,6 +1982,12 @@ var HumanTaskService = class {
1427
1982
  mediaType: "application/json"
1428
1983
  });
1429
1984
  }
1985
+ /**
1986
+ * Release a task without completing it
1987
+ * @param taskId
1988
+ * @returns any OK
1989
+ * @throws ApiError
1990
+ */
1430
1991
  releaseTask(taskId) {
1431
1992
  return this.httpRequest.request({
1432
1993
  method: "POST",
@@ -1436,6 +1997,12 @@ var HumanTaskService = class {
1436
1997
  }
1437
1998
  });
1438
1999
  }
2000
+ /**
2001
+ * Get human task state log entries by task id
2002
+ * @param taskId
2003
+ * @returns HumanTaskStateLogEntry OK
2004
+ * @throws ApiError
2005
+ */
1439
2006
  getStateLogs(taskId) {
1440
2007
  return this.httpRequest.request({
1441
2008
  method: "GET",
@@ -1445,6 +2012,14 @@ var HumanTaskService = class {
1445
2012
  }
1446
2013
  });
1447
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
+ */
1448
2023
  updateTaskOutput(taskId, requestBody, complete = false) {
1449
2024
  return this.httpRequest.request({
1450
2025
  method: "POST",
@@ -1459,6 +2034,12 @@ var HumanTaskService = class {
1459
2034
  mediaType: "application/json"
1460
2035
  });
1461
2036
  }
2037
+ /**
2038
+ * Delete human task templates by name
2039
+ * @param name
2040
+ * @returns any OK
2041
+ * @throws ApiError
2042
+ */
1462
2043
  deleteTemplatesByName(name) {
1463
2044
  return this.httpRequest.request({
1464
2045
  method: "DELETE",
@@ -1468,6 +2049,13 @@ var HumanTaskService = class {
1468
2049
  }
1469
2050
  });
1470
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
+ */
1471
2059
  getAllTemplates(name, version) {
1472
2060
  return this.httpRequest.request({
1473
2061
  method: "GET",
@@ -1478,6 +2066,13 @@ var HumanTaskService = class {
1478
2066
  }
1479
2067
  });
1480
2068
  }
2069
+ /**
2070
+ * Save human task template
2071
+ * @param requestBody
2072
+ * @param newVersion
2073
+ * @returns string OK
2074
+ * @throws ApiError
2075
+ */
1481
2076
  saveTemplate(requestBody, newVersion = false) {
1482
2077
  return this.httpRequest.request({
1483
2078
  method: "POST",
@@ -1489,6 +2084,12 @@ var HumanTaskService = class {
1489
2084
  mediaType: "application/json"
1490
2085
  });
1491
2086
  }
2087
+ /**
2088
+ * Delete human task template
2089
+ * @param id
2090
+ * @returns any OK
2091
+ * @throws ApiError
2092
+ */
1492
2093
  deleteTemplateById(id) {
1493
2094
  return this.httpRequest.request({
1494
2095
  method: "DELETE",
@@ -1498,6 +2099,12 @@ var HumanTaskService = class {
1498
2099
  }
1499
2100
  });
1500
2101
  }
2102
+ /**
2103
+ * Get human task template by id
2104
+ * @param id
2105
+ * @returns HumanTaskTemplateEntry OK
2106
+ * @throws ApiError
2107
+ */
1501
2108
  getTemplateById(id) {
1502
2109
  return this.httpRequest.request({
1503
2110
  method: "GET",
@@ -1514,6 +2121,12 @@ var HumanTaskResourceService = class {
1514
2121
  constructor(httpRequest) {
1515
2122
  this.httpRequest = httpRequest;
1516
2123
  }
2124
+ /**
2125
+ * Get Conductor task by id (for human tasks only)
2126
+ * @param taskId
2127
+ * @returns Task OK
2128
+ * @throws ApiError
2129
+ */
1517
2130
  getConductorTaskById(taskId) {
1518
2131
  return this.httpRequest.request({
1519
2132
  method: "GET",
@@ -1526,7 +2139,7 @@ var HumanTaskResourceService = class {
1526
2139
  };
1527
2140
 
1528
2141
  // src/common/open-api/ConductorClient.ts
1529
- var defaultRequestHandler = (request2, config, options) => request2(config, options);
2142
+ var defaultRequestHandler = (request3, config, options) => request3(config, options);
1530
2143
  var ConductorClient = class {
1531
2144
  constructor(config, requestHandler = defaultRequestHandler) {
1532
2145
  const resolvedConfig = {
@@ -1560,174 +2173,891 @@ var ConductorClient = class {
1560
2173
  }
1561
2174
  };
1562
2175
 
1563
- // src/common/orkes/OrkesConductorClient.ts
1564
- var defaultRequestHandler2 = (request2, config, options) => request2(config, options);
1565
- var orkesConductorClient = async (config, requestHandler = defaultRequestHandler2) => {
1566
- if (config?.keySecret != null && config?.keyId != null) {
1567
- const { serverUrl, keyId, keySecret } = config;
1568
- const tokenUrl = `${serverUrl}/token`;
1569
- const res = await fetch(tokenUrl, {
1570
- headers: {
1571
- "Content-Type": "application/json",
1572
- Accept: "application/json"
1573
- },
1574
- body: JSON.stringify({ keyId, keySecret }),
1575
- method: "POST"
1576
- });
1577
- const { token } = await res.json();
1578
- return new ConductorClient(__spreadProps(__spreadValues({}, config), { TOKEN: token }), requestHandler);
1579
- } else {
1580
- 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;
1581
2180
  }
1582
2181
  };
1583
2182
 
1584
- // src/common/types.ts
1585
- var TaskType = /* @__PURE__ */ ((TaskType2) => {
1586
- TaskType2["START"] = "START";
1587
- TaskType2["SIMPLE"] = "SIMPLE";
1588
- TaskType2["DYNAMIC"] = "DYNAMIC";
1589
- TaskType2["FORK_JOIN"] = "FORK_JOIN";
1590
- TaskType2["FORK_JOIN_DYNAMIC"] = "FORK_JOIN_DYNAMIC";
1591
- TaskType2["DECISION"] = "DECISION";
1592
- TaskType2["SWITCH"] = "SWITCH";
1593
- TaskType2["JOIN"] = "JOIN";
1594
- TaskType2["DO_WHILE"] = "DO_WHILE";
1595
- TaskType2["SUB_WORKFLOW"] = "SUB_WORKFLOW";
1596
- TaskType2["EVENT"] = "EVENT";
1597
- TaskType2["WAIT"] = "WAIT";
1598
- TaskType2["USER_DEFINED"] = "USER_DEFINED";
1599
- TaskType2["HTTP"] = "HTTP";
1600
- TaskType2["LAMBDA"] = "LAMBDA";
1601
- TaskType2["INLINE"] = "INLINE";
1602
- TaskType2["EXCLUSIVE_JOIN"] = "EXCLUSIVE_JOIN";
1603
- TaskType2["TERMINAL"] = "TERMINAL";
1604
- TaskType2["TERMINATE"] = "TERMINATE";
1605
- TaskType2["KAFKA_PUBLISH"] = "KAFKA_PUBLISH";
1606
- TaskType2["JSON_JQ_TRANSFORM"] = "JSON_JQ_TRANSFORM";
1607
- TaskType2["SET_VARIABLE"] = "SET_VARIABLE";
1608
- return TaskType2;
1609
- })(TaskType || {});
1610
-
1611
- // src/common/generators/common.ts
1612
- var randomChars = (n = 7) => (Math.random() + 1).toString(36).substring(n);
1613
- var taskNameGenerator = (taskType) => `${taskType}__task_${randomChars(7)}`;
1614
- var taskReferenceNameGenerator = (taskName) => `${taskName}_ref`;
1615
- var nameTaskNameGenerator = (taskType, maybeOverrides = {}) => {
1616
- const name = maybeOverrides?.name ?? taskNameGenerator(taskType);
1617
- return {
1618
- name,
1619
- taskReferenceName: taskReferenceNameGenerator(name)
1620
- };
1621
- };
1622
- function mapArrValues(arrayTransformer, mapWithValues) {
1623
- return Object.fromEntries(Object.entries(mapWithValues).map(([key, value]) => [
1624
- key,
1625
- arrayTransformer(value)
1626
- ]));
1627
- }
1628
-
1629
- // src/common/generators/SimpleTask.ts
1630
- var generateSimpleTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("simple", overrides)), {
1631
- inputParameters: {}
1632
- }), overrides), {
1633
- type: "SIMPLE" /* SIMPLE */
1634
- });
1635
-
1636
- // src/common/generators/DoWhileTask.ts
1637
- var generateDoWhileTask = (overrides = {}, nestedTasksMapper) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("doWhile", overrides)), {
1638
- inputParameters: {},
1639
- startDelay: 0,
1640
- optional: false,
1641
- asyncComplete: false,
1642
- loopCondition: ""
1643
- }), overrides), {
1644
- loopOver: nestedTasksMapper(overrides?.loopOver || []),
1645
- type: "DO_WHILE" /* DO_WHILE */
1646
- });
1647
-
1648
- // src/common/generators/EventTask.ts
1649
- var generateEventTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("event", overrides)), {
1650
- sink: "sqs:sqs_queue_name",
1651
- asyncComplete: false
1652
- }), overrides), {
1653
- type: "EVENT" /* EVENT */
1654
- });
1655
-
1656
- // src/common/generators/ForkJoin.ts
1657
- var generateForkJoinTask = (overrides = {}, nestedMapper) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("forkJoin", overrides)), {
1658
- inputParameters: {}
1659
- }), overrides), {
1660
- type: "FORK_JOIN" /* FORK_JOIN */,
1661
- forkTasks: (overrides?.forkTasks || []).map(nestedMapper)
1662
- });
1663
- var generateJoinTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("join", overrides)), {
1664
- inputParameters: {},
1665
- joinOn: [],
1666
- optional: false,
1667
- asyncComplete: false
1668
- }), overrides), {
1669
- type: "JOIN" /* JOIN */
1670
- });
1671
-
1672
- // src/common/generators/HttpTask.ts
1673
- var generateHTTPTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("httpTask", overrides)), {
1674
- inputParameters: {
1675
- http_request: {
1676
- uri: "https://jsonplaceholder.typicode.com/posts/${workflow.input.queryid}",
1677
- method: "GET"
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;
1678
2268
  }
1679
2269
  }
1680
- }), overrides), {
1681
- type: "HTTP" /* HTTP */
1682
- });
1683
-
1684
- // src/common/generators/InlineTask.ts
1685
- var defaultInputParams = {
1686
- value: "${workflow.input.value}",
1687
- evaluatorType: "graaljs",
1688
- expression: "true"
1689
- };
1690
- var generateEvaluationCode = (inputParametersPartial = {}) => {
1691
- const inlinePartialDefJavascript = inputParametersPartial;
1692
- const inlineExpression = inlinePartialDefJavascript?.expression;
1693
- if (inlineExpression !== void 0 && typeof inlineExpression === "function") {
1694
- const resultingFunction = inlineExpression();
1695
- const resultingFunctionAsString = resultingFunction.toString();
1696
- const toReturn = __spreadProps(__spreadValues({
1697
- evaluatorType: "graaljs"
1698
- }, inputParametersPartial || { value: "true" }), {
1699
- expression: `(${resultingFunctionAsString})();`
1700
- });
1701
- return toReturn;
2270
+ updateOptions(options) {
2271
+ const newOptions = { ...this.options, ...options };
2272
+ this.updateConcurrency(newOptions.concurrency);
2273
+ this.options = newOptions;
1702
2274
  }
1703
- return __spreadValues(__spreadProps(__spreadValues({}, defaultInputParams), {
1704
- evaluatorType: "graaljs"
1705
- }), inputParametersPartial);
1706
2275
  };
1707
- var generateInlineTask = (override = {}) => __spreadProps(__spreadValues(__spreadValues({}, nameTaskNameGenerator("inline", override)), override), {
1708
- inputParameters: generateEvaluationCode(override?.inputParameters || {}),
1709
- type: "INLINE" /* INLINE */
1710
- });
1711
-
1712
- // src/common/generators/JsonJQTransform.ts
1713
- var generateJQTransformTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("jqTransform", overrides)), {
1714
- inputParameters: {
1715
- key1: {
1716
- value1: ["a", "b"]
1717
- },
1718
- key2: {
1719
- value2: ["c", "d"]
1720
- },
1721
- queryExpression: "{ key3: (.key1.value1 + .key2.value2) }"
1722
- }
1723
- }), overrides), {
1724
- type: "JSON_JQ_TRANSFORM" /* JSON_JQ_TRANSFORM */
1725
- });
1726
2276
 
1727
- // src/common/generators/KafkaTask.ts
1728
- var generateKafkaPublishTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("kafka", overrides)), {
1729
- inputParameters: {
1730
- kafka_request: {
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: {},
2959
+ startDelay: 0,
2960
+ optional: false,
2961
+ asyncComplete: false,
2962
+ loopCondition: "",
2963
+ ...overrides,
2964
+ loopOver: nestedTasksMapper(overrides?.loopOver || []),
2965
+ type: "DO_WHILE" /* DO_WHILE */
2966
+ });
2967
+
2968
+ // src/core/generators/EventTask.ts
2969
+ var generateEventTask = (overrides = {}) => ({
2970
+ ...nameTaskNameGenerator("event", overrides),
2971
+ sink: "sqs:sqs_queue_name",
2972
+ asyncComplete: false,
2973
+ ...overrides,
2974
+ type: "EVENT" /* EVENT */
2975
+ });
2976
+
2977
+ // src/core/generators/ForkJoin.ts
2978
+ var generateForkJoinTask = (overrides = {}, nestedMapper) => ({
2979
+ ...nameTaskNameGenerator("forkJoin", overrides),
2980
+ inputParameters: {},
2981
+ ...overrides,
2982
+ type: "FORK_JOIN" /* FORK_JOIN */,
2983
+ forkTasks: (overrides?.forkTasks || []).map(nestedMapper)
2984
+ });
2985
+ var generateJoinTask = (overrides = {}) => ({
2986
+ ...nameTaskNameGenerator("join", overrides),
2987
+ inputParameters: {},
2988
+ joinOn: [],
2989
+ optional: false,
2990
+ asyncComplete: false,
2991
+ ...overrides,
2992
+ type: "JOIN" /* JOIN */
2993
+ });
2994
+
2995
+ // src/core/generators/HttpTask.ts
2996
+ var generateHTTPTask = (overrides = {}) => ({
2997
+ ...nameTaskNameGenerator("httpTask", overrides),
2998
+ inputParameters: {
2999
+ http_request: {
3000
+ uri: "https://jsonplaceholder.typicode.com/posts/${workflow.input.queryid}",
3001
+ method: "GET"
3002
+ }
3003
+ },
3004
+ ...overrides,
3005
+ type: "HTTP" /* HTTP */
3006
+ });
3007
+
3008
+ // src/core/generators/InlineTask.ts
3009
+ var defaultInputParams = {
3010
+ value: "${workflow.input.value}",
3011
+ evaluatorType: "graaljs",
3012
+ expression: "true"
3013
+ };
3014
+ var generateEvaluationCode = (inputParametersPartial = {}) => {
3015
+ const inlinePartialDefJavascript = inputParametersPartial;
3016
+ const inlineExpression = inlinePartialDefJavascript?.expression;
3017
+ if (inlineExpression !== void 0 && typeof inlineExpression === "function") {
3018
+ const resultingFunction = inlineExpression();
3019
+ const resultingFunctionAsString = resultingFunction.toString();
3020
+ const toReturn = {
3021
+ evaluatorType: "graaljs",
3022
+ ...inputParametersPartial || { value: "true" },
3023
+ expression: `(${resultingFunctionAsString})();`
3024
+ };
3025
+ return toReturn;
3026
+ }
3027
+ return {
3028
+ ...defaultInputParams,
3029
+ evaluatorType: "graaljs",
3030
+ ...inputParametersPartial
3031
+ };
3032
+ };
3033
+ var generateInlineTask = (override = {}) => ({
3034
+ ...nameTaskNameGenerator("inline", override),
3035
+ ...override,
3036
+ inputParameters: generateEvaluationCode(override?.inputParameters || {}),
3037
+ type: "INLINE" /* INLINE */
3038
+ });
3039
+
3040
+ // src/core/generators/JsonJQTransform.ts
3041
+ var generateJQTransformTask = (overrides = {}) => ({
3042
+ ...nameTaskNameGenerator("jqTransform", overrides),
3043
+ inputParameters: {
3044
+ key1: {
3045
+ value1: ["a", "b"]
3046
+ },
3047
+ key2: {
3048
+ value2: ["c", "d"]
3049
+ },
3050
+ queryExpression: "{ key3: (.key1.value1 + .key2.value2) }"
3051
+ },
3052
+ ...overrides,
3053
+ type: "JSON_JQ_TRANSFORM" /* JSON_JQ_TRANSFORM */
3054
+ });
3055
+
3056
+ // src/core/generators/KafkaTask.ts
3057
+ var generateKafkaPublishTask = (overrides = {}) => ({
3058
+ ...nameTaskNameGenerator("kafka", overrides),
3059
+ inputParameters: {
3060
+ kafka_request: {
1731
3061
  topic: "topic",
1732
3062
  value: "",
1733
3063
  bootStrapServers: "localhost:9092",
@@ -1735,65 +3065,72 @@ var generateKafkaPublishTask = (overrides = {}) => __spreadProps(__spreadValues(
1735
3065
  key: "123",
1736
3066
  keySerializer: "org.apache.kafka.common.serialization.IntegerSerializer"
1737
3067
  }
1738
- }
1739
- }), overrides), {
3068
+ },
3069
+ ...overrides,
1740
3070
  type: "KAFKA_PUBLISH" /* KAFKA_PUBLISH */
1741
3071
  });
1742
3072
 
1743
- // src/common/generators/SubWorkflowTask.ts
1744
- var generateSubWorkflowTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("subWorkflow", overrides)), {
3073
+ // src/core/generators/SubWorkflowTask.ts
3074
+ var generateSubWorkflowTask = (overrides = {}) => ({
3075
+ ...nameTaskNameGenerator("subWorkflow", overrides),
1745
3076
  inputParameters: {},
1746
3077
  subWorkflowParam: {
1747
3078
  name: "name",
1748
3079
  version: 1,
1749
3080
  taskToDomain: {}
1750
- }
1751
- }), overrides), {
3081
+ },
3082
+ ...overrides,
1752
3083
  type: "SUB_WORKFLOW" /* SUB_WORKFLOW */
1753
3084
  });
1754
3085
 
1755
- // src/common/generators/SetVariableTask.ts
1756
- var generateSetVariableTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("setVariable", overrides)), {
1757
- inputParameters: {}
1758
- }), overrides), {
3086
+ // src/core/generators/SetVariableTask.ts
3087
+ var generateSetVariableTask = (overrides = {}) => ({
3088
+ ...nameTaskNameGenerator("setVariable", overrides),
3089
+ inputParameters: {},
3090
+ ...overrides,
1759
3091
  type: "SET_VARIABLE" /* SET_VARIABLE */
1760
3092
  });
1761
3093
 
1762
- // src/common/generators/TerminateTask.ts
1763
- var generateTerminateTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("terminate", overrides)), {
3094
+ // src/core/generators/TerminateTask.ts
3095
+ var generateTerminateTask = (overrides = {}) => ({
3096
+ ...nameTaskNameGenerator("terminate", overrides),
1764
3097
  inputParameters: {
1765
3098
  terminationStatus: "COMPLETED",
1766
3099
  workflowOutput: {}
1767
3100
  },
1768
3101
  startDelay: 0,
1769
- optional: false
1770
- }), overrides), {
3102
+ optional: false,
3103
+ ...overrides,
1771
3104
  type: "TERMINATE" /* TERMINATE */
1772
3105
  });
1773
3106
 
1774
- // src/common/generators/WaitTask.ts
1775
- 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,
1776
3111
  inputParameters: {},
1777
3112
  type: "WAIT" /* WAIT */
1778
3113
  });
1779
3114
 
1780
- // src/common/generators/SwitchTask.ts
3115
+ // src/core/generators/SwitchTask.ts
1781
3116
  var fillSwitchTaskBranches = (task, mapper) => ({
1782
3117
  decisionCases: mapArrValues(mapper, task?.decisionCases || {}),
1783
3118
  defaultCase: mapper(task?.defaultCase || [])
1784
3119
  });
1785
- var generateSwitchTask = (overrides = {}, nestedTasksMapper) => __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("switch", overrides)), {
3120
+ var generateSwitchTask = (overrides = {}, nestedTasksMapper) => ({
3121
+ ...nameTaskNameGenerator("switch", overrides),
1786
3122
  inputParameters: {
1787
3123
  switchCaseValue: ""
1788
3124
  },
1789
3125
  evaluatorType: "value-param",
1790
- expression: "switchCaseValue"
1791
- }), overrides), fillSwitchTaskBranches(overrides, nestedTasksMapper)), {
3126
+ expression: "switchCaseValue",
3127
+ ...overrides,
3128
+ ...fillSwitchTaskBranches(overrides, nestedTasksMapper),
1792
3129
  type: "SWITCH" /* SWITCH */
1793
3130
  });
1794
3131
 
1795
- // src/common/generators/WorkflowGenerator.ts
1796
- var workflowGenerator = (overrides) => __spreadValues({
3132
+ // src/core/generators/WorkflowGenerator.ts
3133
+ var workflowGenerator = (overrides) => ({
1797
3134
  name: "NewWorkflow_3nxbi",
1798
3135
  description: "Edit or extend this sample workflow. Set the workflow name to get started",
1799
3136
  version: 1,
@@ -1805,11 +3142,13 @@ var workflowGenerator = (overrides) => __spreadValues({
1805
3142
  workflowStatusListenerEnabled: false,
1806
3143
  ownerEmail: "james.stuart@orkes.io",
1807
3144
  timeoutPolicy: "ALERT_ONLY",
1808
- timeoutSeconds: 0
1809
- }, overrides);
3145
+ timeoutSeconds: 0,
3146
+ ...overrides
3147
+ });
1810
3148
 
1811
- // src/common/generators/ForkJoinDynamicTask.ts
1812
- var generateForkJoinDynamic = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("forkJoinDynamic", overrides)), {
3149
+ // src/core/generators/ForkJoinDynamicTask.ts
3150
+ var generateForkJoinDynamic = (overrides = {}) => ({
3151
+ ...nameTaskNameGenerator("forkJoinDynamic", overrides),
1813
3152
  inputParameters: {
1814
3153
  dynamicTasks: "",
1815
3154
  dynamicTasksInput: ""
@@ -1818,12 +3157,12 @@ var generateForkJoinDynamic = (overrides = {}) => __spreadProps(__spreadValues(_
1818
3157
  dynamicForkTasksInputParamName: "dynamicTasksInput",
1819
3158
  startDelay: 0,
1820
3159
  optional: false,
1821
- asyncComplete: false
1822
- }), overrides), {
3160
+ asyncComplete: false,
3161
+ ...overrides,
1823
3162
  type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */
1824
3163
  });
1825
3164
 
1826
- // src/common/generators/generator.ts
3165
+ // src/core/generators/generator.ts
1827
3166
  var filledTaskDef = (task) => {
1828
3167
  const taskType = task.type;
1829
3168
  switch (taskType) {
@@ -1875,59 +3214,15 @@ var maybeAddJoinTask = (currentTask, maybeNextTask) => {
1875
3214
  var generate = (overrides) => {
1876
3215
  const maybeTasks = overrides.tasks || [];
1877
3216
  const generatedTasks = taskGenMapper(maybeTasks);
1878
- return workflowGenerator(__spreadProps(__spreadValues({}, overrides), { tasks: generatedTasks }));
3217
+ return workflowGenerator({ ...overrides, tasks: generatedTasks });
1879
3218
  };
1880
3219
 
1881
- // src/common/generators/index.ts
3220
+ // src/core/generators/index.ts
1882
3221
  var generateSwitchTask2 = (overrides = {}, nestedTasksMapper = taskGenMapper) => generateSwitchTask(overrides, nestedTasksMapper);
1883
3222
  var generateDoWhileTask2 = (overrides = {}, nestedTasksMapper = taskGenMapper) => generateDoWhileTask(overrides, nestedTasksMapper);
1884
3223
  var generateForkJoinTask2 = (overrides = {}, nestedMapper = taskGenMapper) => generateForkJoinTask(overrides, nestedMapper);
1885
3224
 
1886
- // src/common/sdk/doWhile.ts
1887
- var doWhileTask = (taskRefName, terminationCondition, tasks) => ({
1888
- name: taskRefName,
1889
- taskReferenceName: taskRefName,
1890
- loopCondition: terminationCondition,
1891
- inputParameters: {},
1892
- type: "DO_WHILE" /* DO_WHILE */,
1893
- loopOver: tasks
1894
- });
1895
- var loopForCondition = (taskRefName, valueKey) => `if ( $.${taskRefName}['iteration'] < $.${valueKey} ) { true; } else { false; }`;
1896
- var newLoopTask = (taskRefName, iterations, tasks) => ({
1897
- name: taskRefName,
1898
- taskReferenceName: taskRefName,
1899
- loopCondition: loopForCondition(taskRefName, "value"),
1900
- inputParameters: {
1901
- value: iterations
1902
- },
1903
- type: "DO_WHILE" /* DO_WHILE */,
1904
- loopOver: tasks
1905
- });
1906
-
1907
- // src/common/sdk/dynamicFork.ts
1908
- var dynamicForkTask = (taskReferenceName, preForkTasks = [], dynamicTasksInput = "") => ({
1909
- name: taskReferenceName,
1910
- taskReferenceName,
1911
- inputParameters: {
1912
- dynamicTasks: preForkTasks,
1913
- dynamicTasksInput
1914
- },
1915
- type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */,
1916
- dynamicForkTasksParam: "dynamicTasks",
1917
- dynamicForkTasksInputParamName: "dynamicTasksInput"
1918
- });
1919
-
1920
- // src/common/sdk/event.ts
1921
- var eventTask = (taskReferenceName, eventPrefix, eventSuffix) => ({
1922
- name: taskReferenceName,
1923
- taskReferenceName,
1924
- sink: `${eventPrefix}:${eventSuffix}`,
1925
- type: "EVENT" /* EVENT */
1926
- });
1927
- var sqsEventTask = (taskReferenceName, queueName) => eventTask(taskReferenceName, "sqs", queueName);
1928
- var conductorEventTask = (taskReferenceName, eventName) => eventTask(taskReferenceName, "conductor", eventName);
1929
-
1930
- // src/common/sdk/forkJoin.ts
3225
+ // src/core/sdk/forkJoin.ts
1931
3226
  var forkTask = (taskReferenceName, forkTasks) => ({
1932
3227
  taskReferenceName,
1933
3228
  name: taskReferenceName,
@@ -1939,7 +3234,7 @@ var forkTaskJoin = (taskReferenceName, forkTasks) => [
1939
3234
  generateJoinTask({ name: `${taskReferenceName}_join` })
1940
3235
  ];
1941
3236
 
1942
- // src/common/sdk/http.ts
3237
+ // src/core/sdk/http.ts
1943
3238
  var httpTask = (taskReferenceName, inputParameters) => ({
1944
3239
  name: taskReferenceName,
1945
3240
  taskReferenceName,
@@ -1949,7 +3244,7 @@ var httpTask = (taskReferenceName, inputParameters) => ({
1949
3244
  type: "HTTP" /* HTTP */
1950
3245
  });
1951
3246
 
1952
- // src/common/sdk/inline.ts
3247
+ // src/core/sdk/inline.ts
1953
3248
  var inlineTask = (taskReferenceName, script, evaluatorType = "javascript") => ({
1954
3249
  name: taskReferenceName,
1955
3250
  taskReferenceName,
@@ -1960,7 +3255,7 @@ var inlineTask = (taskReferenceName, script, evaluatorType = "javascript") => ({
1960
3255
  type: "INLINE" /* INLINE */
1961
3256
  });
1962
3257
 
1963
- // src/common/sdk/join.ts
3258
+ // src/core/sdk/join.ts
1964
3259
  var joinTask = (taskReferenceName, joinOn) => ({
1965
3260
  name: taskReferenceName,
1966
3261
  taskReferenceName,
@@ -1968,7 +3263,7 @@ var joinTask = (taskReferenceName, joinOn) => ({
1968
3263
  type: "JOIN" /* JOIN */
1969
3264
  });
1970
3265
 
1971
- // src/common/sdk/jsonJq.ts
3266
+ // src/core/sdk/jsonJq.ts
1972
3267
  var jsonJqTask = (taskReferenceName, script) => ({
1973
3268
  name: taskReferenceName,
1974
3269
  taskReferenceName,
@@ -1978,7 +3273,7 @@ var jsonJqTask = (taskReferenceName, script) => ({
1978
3273
  }
1979
3274
  });
1980
3275
 
1981
- // src/common/sdk/kafkaPublish.ts
3276
+ // src/core/sdk/kafkaPublish.ts
1982
3277
  var kafkaPublishTask = (taskReferenceName, kafka_request) => ({
1983
3278
  taskReferenceName,
1984
3279
  name: taskReferenceName,
@@ -1988,7 +3283,7 @@ var kafkaPublishTask = (taskReferenceName, kafka_request) => ({
1988
3283
  }
1989
3284
  });
1990
3285
 
1991
- // src/common/sdk/setVariable.ts
3286
+ // src/core/sdk/setVariable.ts
1992
3287
  var setVariableTask = (taskReferenceName, inputParameters) => ({
1993
3288
  name: taskReferenceName,
1994
3289
  taskReferenceName,
@@ -1996,7 +3291,7 @@ var setVariableTask = (taskReferenceName, inputParameters) => ({
1996
3291
  inputParameters
1997
3292
  });
1998
3293
 
1999
- // src/common/sdk/simple.ts
3294
+ // src/core/sdk/simple.ts
2000
3295
  var simpleTask = (taskReferenceName, name, inputParameters) => ({
2001
3296
  name,
2002
3297
  taskReferenceName,
@@ -2004,7 +3299,7 @@ var simpleTask = (taskReferenceName, name, inputParameters) => ({
2004
3299
  type: "SIMPLE" /* SIMPLE */
2005
3300
  });
2006
3301
 
2007
- // src/common/sdk/subWorkflow.ts
3302
+ // src/core/sdk/subWorkflow.ts
2008
3303
  var subWorkflowTask = (taskReferenceName, workflowName, version) => ({
2009
3304
  name: taskReferenceName,
2010
3305
  taskReferenceName,
@@ -2015,7 +3310,7 @@ var subWorkflowTask = (taskReferenceName, workflowName, version) => ({
2015
3310
  type: "SUB_WORKFLOW" /* SUB_WORKFLOW */
2016
3311
  });
2017
3312
 
2018
- // src/common/sdk/switch.ts
3313
+ // src/core/sdk/switch.ts
2019
3314
  var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase = []) => ({
2020
3315
  name: taskReferenceName,
2021
3316
  taskReferenceName,
@@ -2029,7 +3324,7 @@ var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase
2029
3324
  type: "SWITCH" /* SWITCH */
2030
3325
  });
2031
3326
 
2032
- // src/common/sdk/terminate.ts
3327
+ // src/core/sdk/terminate.ts
2033
3328
  var terminateTask = (taskReferenceName, status, terminationReason) => ({
2034
3329
  name: taskReferenceName,
2035
3330
  taskReferenceName,
@@ -2040,7 +3335,7 @@ var terminateTask = (taskReferenceName, status, terminationReason) => ({
2040
3335
  type: "TERMINATE" /* TERMINATE */
2041
3336
  });
2042
3337
 
2043
- // src/common/sdk/wait.ts
3338
+ // src/core/sdk/wait.ts
2044
3339
  var waitTaskDuration = (taskReferenceName, duration) => ({
2045
3340
  name: taskReferenceName,
2046
3341
  taskReferenceName,
@@ -2056,232 +3351,371 @@ var waitTaskUntil = (taskReferenceName, until) => ({
2056
3351
  until
2057
3352
  },
2058
3353
  type: "WAIT" /* WAIT */
2059
- });
2060
-
2061
- // src/common/sdk/workflow.ts
2062
- var workflow = (name, tasks) => ({
2063
- name,
2064
- version: 1,
2065
- tasks,
2066
- inputParameters: [],
2067
- timeoutSeconds: 0
2068
- });
2069
-
2070
- // src/common/open-api/core/BaseHttpRequest.ts
2071
- var BaseHttpRequest = class {
2072
- constructor(config) {
2073
- this.config = config;
2074
- }
2075
- };
2076
-
2077
- // src/task/TaskManager.ts
2078
- var defaultManagerOptions = {
2079
- workerID: "",
2080
- pollInterval: 1e3,
2081
- domain: void 0,
2082
- concurrency: 1
2083
- };
2084
- function workerId(options) {
2085
- return options.workerID ?? os.hostname();
2086
- }
2087
- var TaskManager = class {
2088
- constructor(client, workers, config = {}) {
2089
- this.tasks = {};
2090
- this.startPolling = () => {
2091
- this.workers.forEach((worker) => {
2092
- this.tasks[worker.taskDefName] = [];
2093
- const options = __spreadProps(__spreadValues({}, this.taskManageOptions), {
2094
- concurrency: worker.concurrency ?? this.taskManageOptions.concurrency,
2095
- domain: worker.domain ?? this.taskManageOptions.domain
2096
- });
2097
- this.logger.debug(`Starting taskDefName=${worker.taskDefName} concurrency=${options.concurrency} domain=${options.domain}`);
2098
- for (let i = 0; i < options.concurrency; i++) {
2099
- const runner = new TaskRunner({
2100
- worker,
2101
- options,
2102
- taskResource: this.client.taskResource,
2103
- logger: this.logger,
2104
- onError: this.errorHandler
2105
- });
2106
- runner.startPolling();
2107
- this.tasks[worker.taskDefName].push(runner);
2108
- }
2109
- });
2110
- };
2111
- this.stopPolling = () => {
2112
- for (const taskType in this.tasks) {
2113
- this.tasks[taskType].forEach((runner) => runner.stopPolling());
2114
- this.tasks[taskType] = [];
2115
- }
2116
- };
2117
- if (!workers) {
2118
- throw new Error("No workers supplied to TaskManager. Please pass an array of workers.");
2119
- }
2120
- this.client = client;
2121
- this.logger = config.logger ?? new DefaultLogger();
2122
- this.errorHandler = config.onError ?? noopErrorHandler;
2123
- this.workers = workers;
2124
- const providedOptions = config.options ?? {};
2125
- this.taskManageOptions = __spreadProps(__spreadValues(__spreadValues({}, defaultManagerOptions), providedOptions), {
2126
- workerID: workerId(providedOptions)
2127
- });
2128
- }
2129
- };
2130
-
2131
- // src/core/types.ts
2132
- var ConductorError = class extends Error {
2133
- constructor(message, innerError) {
2134
- super(message);
2135
- this._trace = innerError;
2136
- const actualProto = new.target.prototype;
2137
- if (Object.setPrototypeOf) {
2138
- Object.setPrototypeOf(this, actualProto);
2139
- } else {
2140
- this.__proto__ = actualProto;
2141
- }
2142
- }
2143
- };
3354
+ });
2144
3355
 
2145
- // src/core/helpers.ts
2146
- var errorMapper = (error) => new ConductorError(error?.body?.message, error);
2147
- 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) => {
2148
3372
  try {
2149
- return fn();
2150
- } catch (error) {
2151
- 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);
2152
3378
  }
3379
+ return void 0;
2153
3380
  };
2154
3381
 
2155
- // src/core/executor.ts
2156
- var RETRY_TIME_IN_MILLISECONDS = 1e4;
2157
- var WorkflowExecutor = class {
2158
- constructor(client) {
2159
- this._client = client;
2160
- }
2161
- registerWorkflow(override, workflow2) {
2162
- 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;
2163
3398
  }
2164
- startWorkflow(workflowRequest) {
2165
- return tryCatchReThrow(() => this._client.workflowResource.startWorkflow(workflowRequest));
3399
+ clearCache() {
3400
+ this._cache.clear();
2166
3401
  }
2167
- executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef = "") {
2168
- return tryCatchReThrow(() => this._client.workflowResource.executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef));
3402
+ get cache() {
3403
+ return this._cache;
2169
3404
  }
2170
- startWorkflows(workflowsRequest) {
2171
- 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");
2172
3475
  }
2173
- async getWorkflow(workflowInstanceId, includeTasks, retry = 0) {
2174
- try {
2175
- const workflowStatus = await this._client.workflowResource.getExecutionStatus(workflowInstanceId, includeTasks);
2176
- return workflowStatus;
2177
- } catch (error) {
2178
- if (![500, 404, 403].includes(error.status) || retry === 0) {
2179
- 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);
2180
3494
  }
2181
3495
  }
2182
- await new Promise((res) => setTimeout(() => res(true), RETRY_TIME_IN_MILLISECONDS));
2183
- return this.getWorkflow(workflowInstanceId, includeTasks, retry - 1);
2184
- }
2185
- getWorkflowStatus(workflowInstanceId, includeOutput, includeVariables) {
2186
- return tryCatchReThrow(() => this._client.workflowResource.getWorkflowStatusSummary(workflowInstanceId, includeOutput, includeVariables));
2187
- }
2188
- pause(workflowInstanceId) {
2189
- return tryCatchReThrow(() => this._client.workflowResource.pauseWorkflow(workflowInstanceId));
2190
- }
2191
- reRun(workflowInstanceId, rerunWorkflowRequest = {}) {
2192
- return tryCatchReThrow(() => this._client.workflowResource.rerun(workflowInstanceId, rerunWorkflowRequest));
2193
- }
2194
- restart(workflowInstanceId, useLatestDefinitions) {
2195
- return tryCatchReThrow(() => this._client.workflowResource.restart1(workflowInstanceId, useLatestDefinitions));
2196
- }
2197
- resume(workflowInstanceId) {
2198
- return tryCatchReThrow(() => this._client.workflowResource.resumeWorkflow(workflowInstanceId));
2199
- }
2200
- retry(workflowInstanceId, resumeSubworkflowTasks) {
2201
- return tryCatchReThrow(() => this._client.workflowResource.retry1(workflowInstanceId, resumeSubworkflowTasks));
2202
- }
2203
- search(start, size, query, freeText, sort = "", skipCache = false) {
2204
- const queryId = void 0;
2205
- return tryCatchReThrow(() => this._client.workflowResource.search1(queryId, start, size, sort, freeText, query, skipCache));
2206
- }
2207
- skipTasksFromWorkflow(workflowInstanceId, taskReferenceName, skipTaskRequest) {
2208
- 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("&")}`;
2209
3502
  }
2210
- terminate(workflowInstanceId, reason) {
2211
- 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)}`;
2212
3516
  }
2213
- updateTask(taskId, workflowInstanceId, taskStatus, outputData) {
2214
- const taskUpdates = {
2215
- status: taskStatus,
2216
- taskId,
2217
- 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
+ }
2218
3528
  };
2219
- return tryCatchReThrow(() => this._client.taskResource.updateTask1(__spreadValues({
2220
- outputData
2221
- }, taskUpdates)));
2222
- }
2223
- updateTaskByRefName(taskReferenceName, workflowInstanceId, status, taskOutput) {
2224
- 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;
2225
3537
  }
2226
- getTask(taskId) {
2227
- 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);
2228
3543
  }
3544
+ return resolver;
2229
3545
  };
2230
-
2231
- // src/core/human.ts
2232
- var HumanExecutor = class {
2233
- constructor(client) {
2234
- 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;
2235
3564
  }
2236
- async getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
2237
- const response = await this._client.humanTask.getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput);
2238
- if (response.results != void 0) {
2239
- return response.results;
2240
- }
2241
- return [];
3565
+ if (isStringWithValue2(username) && isStringWithValue2(password)) {
3566
+ const credentials = base642(`${username}:${password}`);
3567
+ headers["Authorization"] = `Basic ${credentials}`;
2242
3568
  }
2243
- getTaskById(taskId) {
2244
- 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
+ }
2245
3579
  }
2246
- async claimTaskAsExternalUser(taskId, assignee) {
2247
- try {
2248
- await this._client.humanTask.assignAndClaim(taskId, assignee);
2249
- } catch (error) {
2250
- 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);
2251
3590
  }
2252
3591
  }
2253
- async claimTaskAsConductorUser(taskId) {
2254
- try {
2255
- await this._client.humanTask.claimTask(taskId);
2256
- } catch (error) {
2257
- 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;
2258
3610
  }
2259
3611
  }
2260
- async releaseTask(taskId) {
3612
+ return void 0;
3613
+ };
3614
+ var getResponseBody2 = async (response) => {
3615
+ if (response.status !== 204) {
2261
3616
  try {
2262
- 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
+ }
2263
3626
  } catch (error) {
2264
- throw errorMapper(error);
3627
+ console.error(error);
2265
3628
  }
2266
3629
  }
2267
- async getTemplateById(templateId) {
2268
- 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);
2269
3646
  }
2270
- async updateTaskOutput(taskId, requestBody) {
2271
- try {
2272
- await this._client.humanTask.updateTaskOutput(taskId, requestBody, false);
2273
- } catch (error) {
2274
- throw errorMapper(error);
2275
- }
3647
+ if (!result.ok) {
3648
+ throw new ApiError(options, result, "Generic Error");
2276
3649
  }
2277
- async completeTask(taskId, requestBody = {}) {
3650
+ };
3651
+ var request2 = (config, options, fetchFn = fetch) => {
3652
+ return new CancelablePromise(async (resolve3, reject, onCancel) => {
2278
3653
  try {
2279
- 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
+ }
2280
3683
  } catch (error) {
2281
- throw errorMapper(error);
3684
+ reject(error);
2282
3685
  }
2283
- }
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
+ };
2284
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
+ );
2285
3719
  export {
2286
3720
  ApiError,
2287
3721
  BaseHttpRequest,
@@ -2290,6 +3724,7 @@ export {
2290
3724
  ConductorClient,
2291
3725
  ConductorError,
2292
3726
  DefaultLogger,
3727
+ DnsCacheResolver,
2293
3728
  EventResourceService,
2294
3729
  HealthCheckResourceService,
2295
3730
  HumanExecutor,
@@ -2303,10 +3738,12 @@ export {
2303
3738
  WorkflowBulkResourceService,
2304
3739
  WorkflowExecutor,
2305
3740
  WorkflowResourceService,
3741
+ baseOrkesConductorClient,
2306
3742
  conductorEventTask,
2307
3743
  doWhileTask,
2308
3744
  dynamicForkTask,
2309
3745
  eventTask,
3746
+ fetchCatchDns,
2310
3747
  forkTask,
2311
3748
  forkTaskJoin,
2312
3749
  generate,
@@ -2331,7 +3768,9 @@ export {
2331
3768
  kafkaPublishTask,
2332
3769
  newLoopTask,
2333
3770
  noopErrorHandler,
3771
+ noopLogger,
2334
3772
  orkesConductorClient,
3773
+ request2 as request,
2335
3774
  setVariableTask,
2336
3775
  simpleTask,
2337
3776
  sqsEventTask,
@@ -2339,6 +3778,7 @@ export {
2339
3778
  switchTask,
2340
3779
  taskGenMapper,
2341
3780
  terminateTask,
3781
+ toMaybeUrl,
2342
3782
  waitTaskDuration,
2343
3783
  waitTaskUntil,
2344
3784
  workflow