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