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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.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,200 +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/helpers.ts
105
- var noopLogger = {
106
- debug: (...args) => {
107
- },
108
- info: (...args) => {
109
- },
110
- error: (...args) => {
111
- }
112
- };
113
-
114
- // src/task/Poller.ts
115
- var Poller = class {
116
- constructor(pollFunction, pollerOptions, logger) {
117
- this.concurrentCalls = [];
118
- this.pollFunction = async () => {
119
- };
120
- this.isPolling = false;
121
- this.options = {
122
- pollInterval: 1e3,
123
- concurrency: 1
124
- };
125
- this.logger = noopLogger;
126
- this.startPolling = () => {
127
- if (this.isPolling) {
128
- throw new Error("Runner is already started");
129
- }
130
- return this.poll();
131
- };
132
- this.stopPolling = () => {
133
- this.isPolling = false;
134
- this.concurrentCalls.forEach((call) => call.stop());
135
- };
136
- this.poll = async () => {
137
- if (!this.isPolling) {
138
- this.isPolling = true;
139
- for (let i = 0; i < this.options.concurrency; i++) {
140
- this.concurrentCalls.push(this.singlePoll());
141
- }
142
- }
143
- };
144
- this.singlePoll = () => {
145
- let poll = this.isPolling;
146
- let timeout;
147
- const pollingCall = async () => {
148
- while (poll) {
149
- await this.pollFunction();
150
- await new Promise((r) => timeout = setTimeout(() => r(true), this.options.pollInterval));
151
- }
152
- };
153
- return {
154
- promise: pollingCall(),
155
- stop: () => {
156
- clearTimeout(timeout);
157
- poll = false;
158
- this.logger.debug("stopping single poll call");
159
- }
160
- };
161
- };
162
- this.pollFunction = pollFunction;
163
- this.options = __spreadValues(__spreadValues({}, this.options), pollerOptions);
164
- this.logger = logger || noopLogger;
165
- }
166
- updateConcurrency(concurrency) {
167
- if (concurrency > 0 && concurrency !== this.options.concurrency) {
168
- if (concurrency < this.options.concurrency) {
169
- const result = this.concurrentCalls.splice(0, this.options.concurrency - concurrency);
170
- result.forEach((call) => {
171
- call.stop();
172
- this.logger.debug("stopping some spawned calls");
173
- });
174
- } else {
175
- for (let i = 0; i < concurrency - this.options.concurrency; i++) {
176
- this.concurrentCalls.push(this.singlePoll());
177
- this.logger.debug("spawning additional poll calls");
178
- }
179
- }
180
- this.options.concurrency = concurrency;
181
- }
182
- }
183
- updateOptions(options) {
184
- const newOptions = __spreadValues(__spreadValues({}, this.options), options);
185
- this.updateConcurrency(newOptions.concurrency);
186
- this.options = newOptions;
187
- }
188
- };
189
-
190
- // src/task/TaskRunner.ts
191
- var DEFAULT_ERROR_MESSAGE = "An unknown error occurred";
192
- var MAX_RETRIES = 3;
193
- var noopErrorHandler = (__error) => {
194
- };
195
- var TaskRunner = class {
196
- constructor({
197
- worker,
198
- taskResource,
199
- options,
200
- logger = noopLogger,
201
- onError: errorHandler = noopErrorHandler
202
- }) {
203
- this.startPolling = () => {
204
- this.poller.startPolling();
205
- };
206
- this.stopPolling = () => {
207
- this.poller.stopPolling();
208
- };
209
- this.pollAndExecute = async () => {
210
- try {
211
- const { workerID } = this.options;
212
- const task = await this.taskResource.poll(this.worker.taskDefName, workerID, this.worker.domain ?? this.options.domain);
213
- if (task && task.taskId) {
214
- await this.executeTask(task);
215
- } else {
216
- this.logger.debug(`No tasks for ${this.worker.taskDefName}`);
217
- }
218
- } catch (unknownError) {
219
- this.handleUnknownError(unknownError);
220
- this.errorHandler(unknownError);
221
- }
222
- };
223
- this.updateTaskWithRetry = async (task, taskResult) => {
224
- let retryCount = 0;
225
- while (retryCount < MAX_RETRIES) {
226
- try {
227
- await this.taskResource.updateTask1(taskResult);
228
- return;
229
- } catch (error) {
230
- this.errorHandler(error, task);
231
- this.logger.error(`Error updating task ${taskResult.taskId} on retry ${retryCount}`, error);
232
- retryCount++;
233
- await new Promise((r) => setTimeout(() => r(true), retryCount * 10));
234
- }
235
- }
236
- this.logger.error(`Unable to update task ${taskResult.taskId} after ${retryCount} retries`);
237
- };
238
- this.executeTask = async (task) => {
239
- try {
240
- const result = await this.worker.execute(task);
241
- await this.updateTaskWithRetry(task, __spreadProps(__spreadValues({}, result), {
242
- workflowInstanceId: task.workflowInstanceId,
243
- taskId: task.taskId
244
- }));
245
- this.logger.debug(`Finished polling for task ${task.taskId}`);
246
- } catch (error) {
247
- await this.updateTaskWithRetry(task, {
248
- workflowInstanceId: task.workflowInstanceId,
249
- taskId: task.taskId,
250
- reasonForIncompletion: error?.message ?? DEFAULT_ERROR_MESSAGE,
251
- status: "FAILED",
252
- outputData: {}
253
- });
254
- this.errorHandler(error, task);
255
- this.logger.error(`Error executing ${task.taskId}`, error);
256
- }
257
- };
258
- this.handleUnknownError = (unknownError) => {
259
- let message = "";
260
- let stack = "";
261
- if (unknownError.stack) {
262
- stack = unknownError.stack;
263
- }
264
- if (unknownError.message) {
265
- message = unknownError.message;
266
- }
267
- this.logger.error(`Error for ${this.worker.taskDefName}: error: ${message}, stack: ${stack}`);
268
- };
269
- this.taskResource = taskResource;
270
- this.logger = logger;
271
- this.worker = worker;
272
- this.options = options;
273
- this.errorHandler = errorHandler;
274
- this.poller = new Poller(this.pollAndExecute, { concurrency: options.concurrency, pollInterval: options.pollInterval }, this.logger);
275
- }
276
- updateOptions(options) {
277
- const newOptions = __spreadValues(__spreadValues({}, this.options), options);
278
- this.poller.updateOptions({
279
- concurrency: newOptions.concurrency,
280
- pollInterval: newOptions.pollInterval
281
- });
282
- this.options = newOptions;
283
- }
284
- get getOptions() {
285
- return this.options;
286
- }
287
- };
288
-
289
- // src/task/TaskManager.ts
290
- var import_os = __toESM(require("os"));
291
-
292
101
  // src/common/ConductorLogger.ts
293
102
  var LOG_LEVELS = {
294
103
  DEBUG: 10,
@@ -328,96 +137,57 @@ var DefaultLogger = class {
328
137
  }
329
138
  }
330
139
  };
331
-
332
- // src/common/open-api/core/CancelablePromise.ts
333
- var CancelError = class extends Error {
334
- constructor(message) {
335
- super(message);
336
- this.name = "CancelError";
337
- }
338
- get isCancelled() {
339
- return true;
340
- }
341
- };
342
- var CancelablePromise = class {
343
- constructor(executor) {
344
- this._isResolved = false;
345
- this._isRejected = false;
346
- this._isCancelled = false;
347
- this._cancelHandlers = [];
348
- this._promise = new Promise((resolve2, reject) => {
349
- this._resolve = resolve2;
350
- this._reject = reject;
351
- const onResolve = (value) => {
352
- if (this._isResolved || this._isRejected || this._isCancelled) {
353
- return;
354
- }
355
- this._isResolved = true;
356
- this._resolve?.(value);
357
- };
358
- const onReject = (reason) => {
359
- if (this._isResolved || this._isRejected || this._isCancelled) {
360
- return;
361
- }
362
- this._isRejected = true;
363
- this._reject?.(reason);
364
- };
365
- const onCancel = (cancelHandler) => {
366
- if (this._isResolved || this._isRejected || this._isCancelled) {
367
- return;
368
- }
369
- this._cancelHandlers.push(cancelHandler);
370
- };
371
- Object.defineProperty(onCancel, "isResolved", {
372
- get: () => this._isResolved
373
- });
374
- Object.defineProperty(onCancel, "isRejected", {
375
- get: () => this._isRejected
376
- });
377
- Object.defineProperty(onCancel, "isCancelled", {
378
- get: () => this._isCancelled
379
- });
380
- return executor(onResolve, onReject, onCancel);
381
- });
382
- }
383
- then(onFulfilled, onRejected) {
384
- return this._promise.then(onFulfilled, onRejected);
385
- }
386
- catch(onRejected) {
387
- return this._promise.catch(onRejected);
388
- }
389
- finally(onFinally) {
390
- return this._promise.finally(onFinally);
391
- }
392
- cancel() {
393
- if (this._isResolved || this._isRejected || this._isCancelled) {
394
- return;
395
- }
396
- this._isCancelled = true;
397
- if (this._cancelHandlers.length) {
398
- try {
399
- for (const cancelHandler of this._cancelHandlers) {
400
- cancelHandler();
401
- }
402
- } catch (error) {
403
- console.warn("Cancellation threw an error", error);
404
- return;
405
- }
406
- }
407
- this._cancelHandlers.length = 0;
408
- this._reject?.(new CancelError("Request aborted"));
409
- }
410
- get isCancelled() {
411
- 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) => {
412
149
  }
413
150
  };
414
- 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 || {});
415
178
 
416
179
  // src/common/open-api/services/EventResourceService.ts
417
180
  var EventResourceService = class {
418
181
  constructor(httpRequest) {
419
182
  this.httpRequest = httpRequest;
420
183
  }
184
+ /**
185
+ * Get queue config by name
186
+ * @param queueType
187
+ * @param queueName
188
+ * @returns any OK
189
+ * @throws ApiError
190
+ */
421
191
  getQueueConfig(queueType, queueName) {
422
192
  return this.httpRequest.request({
423
193
  method: "GET",
@@ -428,6 +198,14 @@ var EventResourceService = class {
428
198
  }
429
199
  });
430
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
+ */
431
209
  putQueueConfig(queueType, queueName, requestBody) {
432
210
  return this.httpRequest.request({
433
211
  method: "PUT",
@@ -440,6 +218,13 @@ var EventResourceService = class {
440
218
  mediaType: "application/json"
441
219
  });
442
220
  }
221
+ /**
222
+ * Delete queue config by name
223
+ * @param queueType
224
+ * @param queueName
225
+ * @returns any OK
226
+ * @throws ApiError
227
+ */
443
228
  deleteQueueConfig(queueType, queueName) {
444
229
  return this.httpRequest.request({
445
230
  method: "DELETE",
@@ -450,12 +235,23 @@ var EventResourceService = class {
450
235
  }
451
236
  });
452
237
  }
238
+ /**
239
+ * Get all the event handlers
240
+ * @returns EventHandler OK
241
+ * @throws ApiError
242
+ */
453
243
  getEventHandlers() {
454
244
  return this.httpRequest.request({
455
245
  method: "GET",
456
246
  url: "/event"
457
247
  });
458
248
  }
249
+ /**
250
+ * Update an existing event handler.
251
+ * @param requestBody
252
+ * @returns any OK
253
+ * @throws ApiError
254
+ */
459
255
  updateEventHandler(requestBody) {
460
256
  return this.httpRequest.request({
461
257
  method: "PUT",
@@ -464,6 +260,12 @@ var EventResourceService = class {
464
260
  mediaType: "application/json"
465
261
  });
466
262
  }
263
+ /**
264
+ * Add a new event handler.
265
+ * @param requestBody
266
+ * @returns any OK
267
+ * @throws ApiError
268
+ */
467
269
  addEventHandler(requestBody) {
468
270
  return this.httpRequest.request({
469
271
  method: "POST",
@@ -472,12 +274,23 @@ var EventResourceService = class {
472
274
  mediaType: "application/json"
473
275
  });
474
276
  }
277
+ /**
278
+ * Get all queue configs
279
+ * @returns any OK
280
+ * @throws ApiError
281
+ */
475
282
  getQueueNames() {
476
283
  return this.httpRequest.request({
477
284
  method: "GET",
478
285
  url: "/event/queue/config"
479
286
  });
480
287
  }
288
+ /**
289
+ * Remove an event handler
290
+ * @param name
291
+ * @returns any OK
292
+ * @throws ApiError
293
+ */
481
294
  removeEventHandlerStatus(name) {
482
295
  return this.httpRequest.request({
483
296
  method: "DELETE",
@@ -487,6 +300,13 @@ var EventResourceService = class {
487
300
  }
488
301
  });
489
302
  }
303
+ /**
304
+ * Get event handlers for a given event
305
+ * @param event
306
+ * @param activeOnly
307
+ * @returns EventHandler OK
308
+ * @throws ApiError
309
+ */
490
310
  getEventHandlersForEvent(event, activeOnly = true) {
491
311
  return this.httpRequest.request({
492
312
  method: "GET",
@@ -506,6 +326,10 @@ var HealthCheckResourceService = class {
506
326
  constructor(httpRequest) {
507
327
  this.httpRequest = httpRequest;
508
328
  }
329
+ /**
330
+ * @returns any OK
331
+ * @throws ApiError
332
+ */
509
333
  doCheck() {
510
334
  return this.httpRequest.request({
511
335
  method: "GET",
@@ -519,6 +343,13 @@ var MetadataResourceService = class {
519
343
  constructor(httpRequest) {
520
344
  this.httpRequest = httpRequest;
521
345
  }
346
+ /**
347
+ * Gets the task definition
348
+ * @param tasktype
349
+ * @param metadata
350
+ * @returns TaskDef OK
351
+ * @throws ApiError
352
+ */
522
353
  getTaskDef(tasktype, metadata = false) {
523
354
  return this.httpRequest.request({
524
355
  method: "GET",
@@ -531,6 +362,12 @@ var MetadataResourceService = class {
531
362
  }
532
363
  });
533
364
  }
365
+ /**
366
+ * Remove a task definition
367
+ * @param tasktype
368
+ * @returns any OK
369
+ * @throws ApiError
370
+ */
534
371
  unregisterTaskDef(tasktype) {
535
372
  return this.httpRequest.request({
536
373
  method: "DELETE",
@@ -540,6 +377,15 @@ var MetadataResourceService = class {
540
377
  }
541
378
  });
542
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
+ */
543
389
  getAllWorkflows(access = "READ", metadata = false, tagKey, tagValue) {
544
390
  return this.httpRequest.request({
545
391
  method: "GET",
@@ -552,6 +398,13 @@ var MetadataResourceService = class {
552
398
  }
553
399
  });
554
400
  }
401
+ /**
402
+ * Create or update workflow definition(s)
403
+ * @param requestBody
404
+ * @param overwrite
405
+ * @returns any OK
406
+ * @throws ApiError
407
+ */
555
408
  update(requestBody, overwrite = true) {
556
409
  return this.httpRequest.request({
557
410
  method: "PUT",
@@ -563,6 +416,13 @@ var MetadataResourceService = class {
563
416
  mediaType: "application/json"
564
417
  });
565
418
  }
419
+ /**
420
+ * Create a new workflow definition
421
+ * @param requestBody
422
+ * @param overwrite
423
+ * @returns any OK
424
+ * @throws ApiError
425
+ */
566
426
  create(requestBody, overwrite = false) {
567
427
  return this.httpRequest.request({
568
428
  method: "POST",
@@ -574,6 +434,15 @@ var MetadataResourceService = class {
574
434
  mediaType: "application/json"
575
435
  });
576
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
+ */
577
446
  getTaskDefs(access = "READ", metadata = false, tagKey, tagValue) {
578
447
  return this.httpRequest.request({
579
448
  method: "GET",
@@ -586,6 +455,12 @@ var MetadataResourceService = class {
586
455
  }
587
456
  });
588
457
  }
458
+ /**
459
+ * Update an existing task
460
+ * @param requestBody
461
+ * @returns any OK
462
+ * @throws ApiError
463
+ */
589
464
  updateTaskDef(requestBody) {
590
465
  return this.httpRequest.request({
591
466
  method: "PUT",
@@ -594,6 +469,12 @@ var MetadataResourceService = class {
594
469
  mediaType: "application/json"
595
470
  });
596
471
  }
472
+ /**
473
+ * Create or update task definition(s)
474
+ * @param requestBody
475
+ * @returns any OK
476
+ * @throws ApiError
477
+ */
597
478
  registerTaskDef(requestBody) {
598
479
  return this.httpRequest.request({
599
480
  method: "POST",
@@ -602,6 +483,13 @@ var MetadataResourceService = class {
602
483
  mediaType: "application/json"
603
484
  });
604
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
+ */
605
493
  unregisterWorkflowDef(name, version) {
606
494
  return this.httpRequest.request({
607
495
  method: "DELETE",
@@ -612,6 +500,14 @@ var MetadataResourceService = class {
612
500
  }
613
501
  });
614
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
+ */
615
511
  get(name, version, metadata = false) {
616
512
  return this.httpRequest.request({
617
513
  method: "GET",
@@ -632,6 +528,12 @@ var SchedulerResourceService = class {
632
528
  constructor(httpRequest) {
633
529
  this.httpRequest = httpRequest;
634
530
  }
531
+ /**
532
+ * Get an existing workflow schedule by name
533
+ * @param name
534
+ * @returns any OK
535
+ * @throws ApiError
536
+ */
635
537
  getSchedule(name) {
636
538
  return this.httpRequest.request({
637
539
  method: "GET",
@@ -641,6 +543,12 @@ var SchedulerResourceService = class {
641
543
  }
642
544
  });
643
545
  }
546
+ /**
547
+ * Deletes an existing workflow schedule by name
548
+ * @param name
549
+ * @returns any OK
550
+ * @throws ApiError
551
+ */
644
552
  deleteSchedule(name) {
645
553
  return this.httpRequest.request({
646
554
  method: "DELETE",
@@ -650,6 +558,15 @@ var SchedulerResourceService = class {
650
558
  }
651
559
  });
652
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
+ */
653
570
  getNextFewSchedules(cronExpression, scheduleStartTime, scheduleEndTime, limit = 3) {
654
571
  return this.httpRequest.request({
655
572
  method: "GET",
@@ -662,6 +579,12 @@ var SchedulerResourceService = class {
662
579
  }
663
580
  });
664
581
  }
582
+ /**
583
+ * Pauses an existing schedule by name
584
+ * @param name
585
+ * @returns any OK
586
+ * @throws ApiError
587
+ */
665
588
  pauseSchedule(name) {
666
589
  return this.httpRequest.request({
667
590
  method: "GET",
@@ -671,12 +594,23 @@ var SchedulerResourceService = class {
671
594
  }
672
595
  });
673
596
  }
597
+ /**
598
+ * Pause all scheduling in a single conductor server instance (for debugging only)
599
+ * @returns any OK
600
+ * @throws ApiError
601
+ */
674
602
  pauseAllSchedules() {
675
603
  return this.httpRequest.request({
676
604
  method: "GET",
677
605
  url: "/scheduler/admin/pause"
678
606
  });
679
607
  }
608
+ /**
609
+ * Resume a paused schedule by name
610
+ * @param name
611
+ * @returns any OK
612
+ * @throws ApiError
613
+ */
680
614
  resumeSchedule(name) {
681
615
  return this.httpRequest.request({
682
616
  method: "GET",
@@ -686,18 +620,34 @@ var SchedulerResourceService = class {
686
620
  }
687
621
  });
688
622
  }
623
+ /**
624
+ * Requeue all execution records
625
+ * @returns any OK
626
+ * @throws ApiError
627
+ */
689
628
  requeueAllExecutionRecords() {
690
629
  return this.httpRequest.request({
691
630
  method: "GET",
692
631
  url: "/scheduler/admin/requeue"
693
632
  });
694
633
  }
634
+ /**
635
+ * Resume all scheduling
636
+ * @returns any OK
637
+ * @throws ApiError
638
+ */
695
639
  resumeAllSchedules() {
696
640
  return this.httpRequest.request({
697
641
  method: "GET",
698
642
  url: "/scheduler/admin/resume"
699
643
  });
700
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
+ */
701
651
  getAllSchedules(workflowName) {
702
652
  return this.httpRequest.request({
703
653
  method: "GET",
@@ -707,6 +657,12 @@ var SchedulerResourceService = class {
707
657
  }
708
658
  });
709
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
+ */
710
666
  saveSchedule(requestBody) {
711
667
  return this.httpRequest.request({
712
668
  method: "POST",
@@ -715,12 +671,28 @@ var SchedulerResourceService = class {
715
671
  mediaType: "application/json"
716
672
  });
717
673
  }
674
+ /**
675
+ * Test timeout - do not use in production
676
+ * @returns any OK
677
+ * @throws ApiError
678
+ */
718
679
  testTimeout() {
719
680
  return this.httpRequest.request({
720
681
  method: "GET",
721
682
  url: "/scheduler/test/timeout"
722
683
  });
723
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
+ */
724
696
  searchV21(start, size = 100, sort, freeText = "*", query) {
725
697
  return this.httpRequest.request({
726
698
  method: "GET",
@@ -741,6 +713,14 @@ var TaskResourceService = class {
741
713
  constructor(httpRequest) {
742
714
  this.httpRequest = httpRequest;
743
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
+ */
744
724
  poll(tasktype, workerid, domain) {
745
725
  return this.httpRequest.request({
746
726
  method: "GET",
@@ -754,12 +734,26 @@ var TaskResourceService = class {
754
734
  }
755
735
  });
756
736
  }
737
+ /**
738
+ * Get the details about each queue
739
+ * @returns number OK
740
+ * @throws ApiError
741
+ */
757
742
  allVerbose() {
758
743
  return this.httpRequest.request({
759
744
  method: "GET",
760
745
  url: "/tasks/queue/all/verbose"
761
746
  });
762
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
+ */
763
757
  updateTask(workflowId, taskRefName, status, requestBody) {
764
758
  return this.httpRequest.request({
765
759
  method: "POST",
@@ -773,6 +767,12 @@ var TaskResourceService = class {
773
767
  mediaType: "application/json"
774
768
  });
775
769
  }
770
+ /**
771
+ * Get task by Id
772
+ * @param taskId
773
+ * @returns Task OK
774
+ * @throws ApiError
775
+ */
776
776
  getTask(taskId) {
777
777
  return this.httpRequest.request({
778
778
  method: "GET",
@@ -782,12 +782,23 @@ var TaskResourceService = class {
782
782
  }
783
783
  });
784
784
  }
785
+ /**
786
+ * Get the details about each queue
787
+ * @returns number OK
788
+ * @throws ApiError
789
+ */
785
790
  all() {
786
791
  return this.httpRequest.request({
787
792
  method: "GET",
788
793
  url: "/tasks/queue/all"
789
794
  });
790
795
  }
796
+ /**
797
+ * Requeue pending tasks
798
+ * @param taskType
799
+ * @returns string OK
800
+ * @throws ApiError
801
+ */
791
802
  requeuePendingTask(taskType) {
792
803
  return this.httpRequest.request({
793
804
  method: "POST",
@@ -797,6 +808,17 @@ var TaskResourceService = class {
797
808
  }
798
809
  });
799
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
+ */
800
822
  search(start, size = 100, sort, freeText = "*", query) {
801
823
  return this.httpRequest.request({
802
824
  method: "GET",
@@ -810,6 +832,17 @@ var TaskResourceService = class {
810
832
  }
811
833
  });
812
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
+ */
813
846
  searchV22(start, size = 100, sort, freeText = "*", query) {
814
847
  return this.httpRequest.request({
815
848
  method: "GET",
@@ -823,6 +856,12 @@ var TaskResourceService = class {
823
856
  }
824
857
  });
825
858
  }
859
+ /**
860
+ * Get the last poll data for a given task type
861
+ * @param taskType
862
+ * @returns PollData OK
863
+ * @throws ApiError
864
+ */
826
865
  getPollData(taskType) {
827
866
  return this.httpRequest.request({
828
867
  method: "GET",
@@ -832,6 +871,12 @@ var TaskResourceService = class {
832
871
  }
833
872
  });
834
873
  }
874
+ /**
875
+ * Get Task Execution Logs
876
+ * @param taskId
877
+ * @returns TaskExecLog OK
878
+ * @throws ApiError
879
+ */
835
880
  getTaskLogs(taskId) {
836
881
  return this.httpRequest.request({
837
882
  method: "GET",
@@ -841,6 +886,13 @@ var TaskResourceService = class {
841
886
  }
842
887
  });
843
888
  }
889
+ /**
890
+ * Log Task Execution Details
891
+ * @param taskId
892
+ * @param requestBody
893
+ * @returns any OK
894
+ * @throws ApiError
895
+ */
844
896
  log(taskId, requestBody) {
845
897
  return this.httpRequest.request({
846
898
  method: "POST",
@@ -852,12 +904,27 @@ var TaskResourceService = class {
852
904
  mediaType: "application/json"
853
905
  });
854
906
  }
907
+ /**
908
+ * Get the last poll data for all task types
909
+ * @returns PollData OK
910
+ * @throws ApiError
911
+ */
855
912
  getAllPollData() {
856
913
  return this.httpRequest.request({
857
914
  method: "GET",
858
915
  url: "/tasks/queue/polldata/all"
859
916
  });
860
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
+ */
861
928
  batchPoll(tasktype, workerid, domain, count = 1, timeout = 100) {
862
929
  return this.httpRequest.request({
863
930
  method: "GET",
@@ -873,6 +940,12 @@ var TaskResourceService = class {
873
940
  }
874
941
  });
875
942
  }
943
+ /**
944
+ * Update a task
945
+ * @param requestBody
946
+ * @returns string OK
947
+ * @throws ApiError
948
+ */
876
949
  updateTask1(requestBody) {
877
950
  return this.httpRequest.request({
878
951
  method: "POST",
@@ -881,6 +954,12 @@ var TaskResourceService = class {
881
954
  mediaType: "application/json"
882
955
  });
883
956
  }
957
+ /**
958
+ * Get Task type queue sizes
959
+ * @param taskType
960
+ * @returns number OK
961
+ * @throws ApiError
962
+ */
884
963
  size1(taskType) {
885
964
  return this.httpRequest.request({
886
965
  method: "GET",
@@ -890,6 +969,14 @@ var TaskResourceService = class {
890
969
  }
891
970
  });
892
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
+ */
893
980
  getExternalStorageLocation1(path, operation, payloadType) {
894
981
  return this.httpRequest.request({
895
982
  method: "GET",
@@ -908,6 +995,12 @@ var TokenResourceService = class {
908
995
  constructor(httpRequest) {
909
996
  this.httpRequest = httpRequest;
910
997
  }
998
+ /**
999
+ * Generate JWT with the given access key
1000
+ * @param requestBody
1001
+ * @returns Response OK
1002
+ * @throws ApiError
1003
+ */
911
1004
  generateToken(requestBody) {
912
1005
  return this.httpRequest.request({
913
1006
  method: "POST",
@@ -916,6 +1009,11 @@ var TokenResourceService = class {
916
1009
  mediaType: "application/json"
917
1010
  });
918
1011
  }
1012
+ /**
1013
+ * Get the user info from the token
1014
+ * @returns any OK
1015
+ * @throws ApiError
1016
+ */
919
1017
  getUserInfo() {
920
1018
  return this.httpRequest.request({
921
1019
  method: "GET",
@@ -929,6 +1027,12 @@ var WorkflowBulkResourceService = class {
929
1027
  constructor(httpRequest) {
930
1028
  this.httpRequest = httpRequest;
931
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
+ */
932
1036
  retry(requestBody) {
933
1037
  return this.httpRequest.request({
934
1038
  method: "POST",
@@ -937,6 +1041,13 @@ var WorkflowBulkResourceService = class {
937
1041
  mediaType: "application/json"
938
1042
  });
939
1043
  }
1044
+ /**
1045
+ * Restart the list of completed workflow
1046
+ * @param requestBody
1047
+ * @param useLatestDefinitions
1048
+ * @returns BulkResponse OK
1049
+ * @throws ApiError
1050
+ */
940
1051
  restart(requestBody, useLatestDefinitions = false) {
941
1052
  return this.httpRequest.request({
942
1053
  method: "POST",
@@ -948,6 +1059,13 @@ var WorkflowBulkResourceService = class {
948
1059
  mediaType: "application/json"
949
1060
  });
950
1061
  }
1062
+ /**
1063
+ * Terminate workflows execution
1064
+ * @param requestBody
1065
+ * @param reason
1066
+ * @returns BulkResponse OK
1067
+ * @throws ApiError
1068
+ */
951
1069
  terminate(requestBody, reason) {
952
1070
  return this.httpRequest.request({
953
1071
  method: "POST",
@@ -959,6 +1077,12 @@ var WorkflowBulkResourceService = class {
959
1077
  mediaType: "application/json"
960
1078
  });
961
1079
  }
1080
+ /**
1081
+ * Resume the list of workflows
1082
+ * @param requestBody
1083
+ * @returns BulkResponse OK
1084
+ * @throws ApiError
1085
+ */
962
1086
  resumeWorkflow(requestBody) {
963
1087
  return this.httpRequest.request({
964
1088
  method: "PUT",
@@ -967,6 +1091,12 @@ var WorkflowBulkResourceService = class {
967
1091
  mediaType: "application/json"
968
1092
  });
969
1093
  }
1094
+ /**
1095
+ * Pause the list of workflows
1096
+ * @param requestBody
1097
+ * @returns BulkResponse OK
1098
+ * @throws ApiError
1099
+ */
970
1100
  pauseWorkflow1(requestBody) {
971
1101
  return this.httpRequest.request({
972
1102
  method: "PUT",
@@ -982,6 +1112,15 @@ var WorkflowResourceService = class {
982
1112
  constructor(httpRequest) {
983
1113
  this.httpRequest = httpRequest;
984
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
+ */
985
1124
  getRunningWorkflow(name, version = 1, startTime, endTime) {
986
1125
  return this.httpRequest.request({
987
1126
  method: "GET",
@@ -996,6 +1135,17 @@ var WorkflowResourceService = class {
996
1135
  }
997
1136
  });
998
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
+ */
999
1149
  executeWorkflow(body, name, version, requestId, waitUntilTaskRef) {
1000
1150
  return this.httpRequest.request({
1001
1151
  method: "POST",
@@ -1012,6 +1162,12 @@ var WorkflowResourceService = class {
1012
1162
  mediaType: "application/json"
1013
1163
  });
1014
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
+ */
1015
1171
  startWorkflow(requestBody) {
1016
1172
  return this.httpRequest.request({
1017
1173
  method: "POST",
@@ -1020,6 +1176,12 @@ var WorkflowResourceService = class {
1020
1176
  mediaType: "application/json"
1021
1177
  });
1022
1178
  }
1179
+ /**
1180
+ * Starts the decision task for a workflow
1181
+ * @param workflowId
1182
+ * @returns any OK
1183
+ * @throws ApiError
1184
+ */
1023
1185
  decide(workflowId) {
1024
1186
  return this.httpRequest.request({
1025
1187
  method: "PUT",
@@ -1029,6 +1191,13 @@ var WorkflowResourceService = class {
1029
1191
  }
1030
1192
  });
1031
1193
  }
1194
+ /**
1195
+ * Reruns the workflow from a specific task
1196
+ * @param workflowId
1197
+ * @param requestBody
1198
+ * @returns string OK
1199
+ * @throws ApiError
1200
+ */
1032
1201
  rerun(workflowId, requestBody) {
1033
1202
  return this.httpRequest.request({
1034
1203
  method: "POST",
@@ -1040,6 +1209,17 @@ var WorkflowResourceService = class {
1040
1209
  mediaType: "application/json"
1041
1210
  });
1042
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
+ */
1043
1223
  searchV21(start, size = 100, sort, freeText = "*", query) {
1044
1224
  return this.httpRequest.request({
1045
1225
  method: "GET",
@@ -1053,6 +1233,12 @@ var WorkflowResourceService = class {
1053
1233
  }
1054
1234
  });
1055
1235
  }
1236
+ /**
1237
+ * Pauses the workflow
1238
+ * @param workflowId
1239
+ * @returns any OK
1240
+ * @throws ApiError
1241
+ */
1056
1242
  pauseWorkflow(workflowId) {
1057
1243
  return this.httpRequest.request({
1058
1244
  method: "PUT",
@@ -1062,6 +1248,14 @@ var WorkflowResourceService = class {
1062
1248
  }
1063
1249
  });
1064
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
+ */
1065
1259
  skipTaskFromWorkflow(workflowId, taskReferenceName, requestBody) {
1066
1260
  return this.httpRequest.request({
1067
1261
  method: "PUT",
@@ -1074,6 +1268,15 @@ var WorkflowResourceService = class {
1074
1268
  mediaType: "application/json"
1075
1269
  });
1076
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
+ */
1077
1280
  getWorkflows(name, requestBody, includeClosed = false, includeTasks = false) {
1078
1281
  return this.httpRequest.request({
1079
1282
  method: "POST",
@@ -1089,6 +1292,14 @@ var WorkflowResourceService = class {
1089
1292
  mediaType: "application/json"
1090
1293
  });
1091
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
+ */
1092
1303
  getWorkflowStatusSummary(workflowId, includeOutput = false, includeVariables = false) {
1093
1304
  return this.httpRequest.request({
1094
1305
  method: "GET",
@@ -1102,6 +1313,15 @@ var WorkflowResourceService = class {
1102
1313
  }
1103
1314
  });
1104
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
+ */
1105
1325
  getWorkflows1(name, correlationId, includeClosed = false, includeTasks = false) {
1106
1326
  return this.httpRequest.request({
1107
1327
  method: "GET",
@@ -1116,6 +1336,13 @@ var WorkflowResourceService = class {
1116
1336
  }
1117
1337
  });
1118
1338
  }
1339
+ /**
1340
+ * Retries the last failed task
1341
+ * @param workflowId
1342
+ * @param resumeSubworkflowTasks
1343
+ * @returns void
1344
+ * @throws ApiError
1345
+ */
1119
1346
  retry1(workflowId, resumeSubworkflowTasks = false) {
1120
1347
  return this.httpRequest.request({
1121
1348
  method: "POST",
@@ -1128,6 +1355,13 @@ var WorkflowResourceService = class {
1128
1355
  }
1129
1356
  });
1130
1357
  }
1358
+ /**
1359
+ * Gets the workflow by workflow id
1360
+ * @param workflowId
1361
+ * @param includeTasks
1362
+ * @returns Workflow OK
1363
+ * @throws ApiError
1364
+ */
1131
1365
  getExecutionStatus(workflowId, includeTasks = true) {
1132
1366
  return this.httpRequest.request({
1133
1367
  method: "GET",
@@ -1140,6 +1374,13 @@ var WorkflowResourceService = class {
1140
1374
  }
1141
1375
  });
1142
1376
  }
1377
+ /**
1378
+ * Terminate workflow execution
1379
+ * @param workflowId
1380
+ * @param reason
1381
+ * @returns any OK
1382
+ * @throws ApiError
1383
+ */
1143
1384
  terminate1(workflowId, reason) {
1144
1385
  return this.httpRequest.request({
1145
1386
  method: "DELETE",
@@ -1152,6 +1393,12 @@ var WorkflowResourceService = class {
1152
1393
  }
1153
1394
  });
1154
1395
  }
1396
+ /**
1397
+ * Resumes the workflow
1398
+ * @param workflowId
1399
+ * @returns any OK
1400
+ * @throws ApiError
1401
+ */
1155
1402
  resumeWorkflow(workflowId) {
1156
1403
  return this.httpRequest.request({
1157
1404
  method: "PUT",
@@ -1161,6 +1408,13 @@ var WorkflowResourceService = class {
1161
1408
  }
1162
1409
  });
1163
1410
  }
1411
+ /**
1412
+ * Removes the workflow from the system
1413
+ * @param workflowId
1414
+ * @param archiveWorkflow
1415
+ * @returns any OK
1416
+ * @throws ApiError
1417
+ */
1164
1418
  delete(workflowId, archiveWorkflow = true) {
1165
1419
  return this.httpRequest.request({
1166
1420
  method: "DELETE",
@@ -1173,6 +1427,17 @@ var WorkflowResourceService = class {
1173
1427
  }
1174
1428
  });
1175
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
+ */
1176
1441
  searchWorkflowsByTasks(start, size = 100, sort, freeText = "*", query) {
1177
1442
  return this.httpRequest.request({
1178
1443
  method: "GET",
@@ -1186,6 +1451,14 @@ var WorkflowResourceService = class {
1186
1451
  }
1187
1452
  });
1188
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
+ */
1189
1462
  getExternalStorageLocation(path, operation, payloadType) {
1190
1463
  return this.httpRequest.request({
1191
1464
  method: "GET",
@@ -1197,6 +1470,16 @@ var WorkflowResourceService = class {
1197
1470
  }
1198
1471
  });
1199
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
+ */
1200
1483
  startWorkflow1(name, requestBody, version, correlationId, priority) {
1201
1484
  return this.httpRequest.request({
1202
1485
  method: "POST",
@@ -1213,6 +1496,13 @@ var WorkflowResourceService = class {
1213
1496
  mediaType: "application/json"
1214
1497
  });
1215
1498
  }
1499
+ /**
1500
+ * Restarts a completed workflow
1501
+ * @param workflowId
1502
+ * @param useLatestDefinitions
1503
+ * @returns void
1504
+ * @throws ApiError
1505
+ */
1216
1506
  restart1(workflowId, useLatestDefinitions = false) {
1217
1507
  return this.httpRequest.request({
1218
1508
  method: "POST",
@@ -1225,6 +1515,19 @@ var WorkflowResourceService = class {
1225
1515
  }
1226
1516
  });
1227
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
+ */
1228
1531
  search1(queryId, start, size = 100, sort, freeText = "*", query, skipCache = false) {
1229
1532
  return this.httpRequest.request({
1230
1533
  method: "GET",
@@ -1240,6 +1543,17 @@ var WorkflowResourceService = class {
1240
1543
  }
1241
1544
  });
1242
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
+ */
1243
1557
  searchWorkflowsByTasksV2(start, size = 100, sort, freeText = "*", query) {
1244
1558
  return this.httpRequest.request({
1245
1559
  method: "GET",
@@ -1253,6 +1567,12 @@ var WorkflowResourceService = class {
1253
1567
  }
1254
1568
  });
1255
1569
  }
1570
+ /**
1571
+ * Resets callback times of all non-terminal SIMPLE tasks to 0
1572
+ * @param workflowId
1573
+ * @returns void
1574
+ * @throws ApiError
1575
+ */
1256
1576
  resetWorkflow(workflowId) {
1257
1577
  return this.httpRequest.request({
1258
1578
  method: "POST",
@@ -1266,14 +1586,100 @@ var WorkflowResourceService = class {
1266
1586
 
1267
1587
  // src/common/open-api/core/ApiError.ts
1268
1588
  var ApiError = class extends Error {
1269
- constructor(request2, response, message) {
1589
+ constructor(request3, response, message) {
1270
1590
  super(message);
1271
1591
  this.name = "ApiError";
1272
1592
  this.url = response.url;
1273
1593
  this.status = response.status;
1274
1594
  this.statusText = response.statusText;
1275
1595
  this.body = response.body;
1276
- this.request = request2;
1596
+ this.request = request3;
1597
+ }
1598
+ };
1599
+
1600
+ // src/common/open-api/core/CancelablePromise.ts
1601
+ var CancelError = class extends Error {
1602
+ constructor(message) {
1603
+ super(message);
1604
+ this.name = "CancelError";
1605
+ }
1606
+ get isCancelled() {
1607
+ return true;
1608
+ }
1609
+ };
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;
1277
1683
  }
1278
1684
  };
1279
1685
 
@@ -1374,11 +1780,17 @@ var getHeaders = async (config, options) => {
1374
1780
  const username = await resolve(options, config.USERNAME);
1375
1781
  const password = await resolve(options, config.PASSWORD);
1376
1782
  const additionalHeaders = await resolve(options, config.HEADERS);
1377
- const headers = Object.entries(__spreadValues(__spreadValues({
1378
- Accept: "application/json"
1379
- }, additionalHeaders), options.headers)).filter(([_, value]) => isDefined(value)).reduce((headers2, [key, value]) => __spreadProps(__spreadValues({}, headers2), {
1380
- [key]: String(value)
1381
- }), {});
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
+ );
1382
1794
  if (isStringWithValue(token)) {
1383
1795
  headers["X-AUTHORIZATION"] = token;
1384
1796
  }
@@ -1413,14 +1825,14 @@ var getRequestBody = (options) => {
1413
1825
  };
1414
1826
  var sendRequest = async (options, url, body, formData, headers, onCancel) => {
1415
1827
  const controller = new AbortController();
1416
- const request2 = {
1828
+ const request3 = {
1417
1829
  headers,
1418
1830
  method: options.method,
1419
1831
  body: body ?? formData,
1420
1832
  signal: controller.signal
1421
1833
  };
1422
1834
  onCancel(() => controller.abort());
1423
- return await fetch(url, request2);
1835
+ return await fetch(url, request3);
1424
1836
  };
1425
1837
  var getResponseHeader = (response, responseHeader) => {
1426
1838
  if (responseHeader) {
@@ -1450,15 +1862,16 @@ var getResponseBody = async (response) => {
1450
1862
  return void 0;
1451
1863
  };
1452
1864
  var catchErrorCodes = (options, result) => {
1453
- const errors = __spreadValues({
1865
+ const errors = {
1454
1866
  400: "Bad Request",
1455
1867
  401: "Unauthorized",
1456
1868
  403: "Forbidden",
1457
1869
  404: "Not Found",
1458
1870
  500: "Internal Server Error",
1459
1871
  502: "Bad Gateway",
1460
- 503: "Service Unavailable"
1461
- }, options.errors);
1872
+ 503: "Service Unavailable",
1873
+ ...options.errors
1874
+ };
1462
1875
  const error = errors[result.status];
1463
1876
  if (error) {
1464
1877
  throw new ApiError(options, result, error);
@@ -1468,16 +1881,26 @@ var catchErrorCodes = (options, result) => {
1468
1881
  }
1469
1882
  };
1470
1883
  var request = (config, options) => {
1471
- return new CancelablePromise(async (resolve2, reject, onCancel) => {
1884
+ return new CancelablePromise(async (resolve3, reject, onCancel) => {
1472
1885
  try {
1473
1886
  const url = getUrl(config, options);
1474
1887
  const formData = getFormData(options);
1475
1888
  const body = getRequestBody(options);
1476
1889
  const headers = await getHeaders(config, options);
1477
1890
  if (!onCancel.isCancelled) {
1478
- 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
+ );
1479
1899
  const responseBody = await getResponseBody(response);
1480
- const responseHeader = getResponseHeader(response, options.responseHeader);
1900
+ const responseHeader = getResponseHeader(
1901
+ response,
1902
+ options.responseHeader
1903
+ );
1481
1904
  const result = {
1482
1905
  url,
1483
1906
  ok: response.ok,
@@ -1486,7 +1909,7 @@ var request = (config, options) => {
1486
1909
  body: responseHeader ?? responseBody
1487
1910
  };
1488
1911
  catchErrorCodes(options, result);
1489
- resolve2(result.body);
1912
+ resolve3(result.body);
1490
1913
  }
1491
1914
  } catch (error) {
1492
1915
  reject(error);
@@ -1499,6 +1922,18 @@ var HumanTaskService = class {
1499
1922
  constructor(httpRequest) {
1500
1923
  this.httpRequest = httpRequest;
1501
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
+ */
1502
1937
  getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
1503
1938
  return this.httpRequest.request({
1504
1939
  method: "GET",
@@ -1514,12 +1949,29 @@ var HumanTaskService = class {
1514
1949
  }
1515
1950
  });
1516
1951
  }
1952
+ /**
1953
+ * Get task load grouped by workflow name and task ref name per user
1954
+ * @returns HumanTaskLoad OK
1955
+ * @throws ApiError
1956
+ */
1517
1957
  getTaskLoad() {
1518
1958
  return this.httpRequest.request({
1519
1959
  method: "GET",
1520
1960
  url: "/human/tasks/load"
1521
1961
  });
1522
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
+ */
1523
1975
  search1(queryId, start, size = 100, freeText = "*", query, jsonQuery, includeInputOutput = false) {
1524
1976
  return this.httpRequest.request({
1525
1977
  method: "GET",
@@ -1535,6 +1987,12 @@ var HumanTaskService = class {
1535
1987
  }
1536
1988
  });
1537
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
+ */
1538
1996
  updateTaskOutput1(taskId) {
1539
1997
  return this.httpRequest.request({
1540
1998
  method: "DELETE",
@@ -1544,6 +2002,12 @@ var HumanTaskService = class {
1544
2002
  }
1545
2003
  });
1546
2004
  }
2005
+ /**
2006
+ * Get a task
2007
+ * @param taskId
2008
+ * @returns HumanTaskEntry OK
2009
+ * @throws ApiError
2010
+ */
1547
2011
  getTask1(taskId) {
1548
2012
  return this.httpRequest.request({
1549
2013
  method: "GET",
@@ -1553,6 +2017,12 @@ var HumanTaskService = class {
1553
2017
  }
1554
2018
  });
1555
2019
  }
2020
+ /**
2021
+ * Get human task action log entries by task id
2022
+ * @param taskId
2023
+ * @returns HumanTaskActionLogEntry OK
2024
+ * @throws ApiError
2025
+ */
1556
2026
  getActionLogs(taskId) {
1557
2027
  return this.httpRequest.request({
1558
2028
  method: "GET",
@@ -1562,6 +2032,12 @@ var HumanTaskService = class {
1562
2032
  }
1563
2033
  });
1564
2034
  }
2035
+ /**
2036
+ * Claim a task by authenticated Conductor user
2037
+ * @param taskId
2038
+ * @returns any OK
2039
+ * @throws ApiError
2040
+ */
1565
2041
  claimTask(taskId) {
1566
2042
  return this.httpRequest.request({
1567
2043
  method: "POST",
@@ -1571,6 +2047,13 @@ var HumanTaskService = class {
1571
2047
  }
1572
2048
  });
1573
2049
  }
2050
+ /**
2051
+ * Claim a task to an external user
2052
+ * @param taskId
2053
+ * @param userId
2054
+ * @returns any OK
2055
+ * @throws ApiError
2056
+ */
1574
2057
  assignAndClaim(taskId, userId) {
1575
2058
  return this.httpRequest.request({
1576
2059
  method: "POST",
@@ -1581,6 +2064,13 @@ var HumanTaskService = class {
1581
2064
  }
1582
2065
  });
1583
2066
  }
2067
+ /**
2068
+ * Release a task without completing it
2069
+ * @param taskId
2070
+ * @param requestBody
2071
+ * @returns any OK
2072
+ * @throws ApiError
2073
+ */
1584
2074
  reassignTask(taskId, requestBody) {
1585
2075
  return this.httpRequest.request({
1586
2076
  method: "POST",
@@ -1592,6 +2082,12 @@ var HumanTaskService = class {
1592
2082
  mediaType: "application/json"
1593
2083
  });
1594
2084
  }
2085
+ /**
2086
+ * Release a task without completing it
2087
+ * @param taskId
2088
+ * @returns any OK
2089
+ * @throws ApiError
2090
+ */
1595
2091
  releaseTask(taskId) {
1596
2092
  return this.httpRequest.request({
1597
2093
  method: "POST",
@@ -1601,6 +2097,12 @@ var HumanTaskService = class {
1601
2097
  }
1602
2098
  });
1603
2099
  }
2100
+ /**
2101
+ * Get human task state log entries by task id
2102
+ * @param taskId
2103
+ * @returns HumanTaskStateLogEntry OK
2104
+ * @throws ApiError
2105
+ */
1604
2106
  getStateLogs(taskId) {
1605
2107
  return this.httpRequest.request({
1606
2108
  method: "GET",
@@ -1610,6 +2112,14 @@ var HumanTaskService = class {
1610
2112
  }
1611
2113
  });
1612
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
+ */
1613
2123
  updateTaskOutput(taskId, requestBody, complete = false) {
1614
2124
  return this.httpRequest.request({
1615
2125
  method: "POST",
@@ -1624,6 +2134,12 @@ var HumanTaskService = class {
1624
2134
  mediaType: "application/json"
1625
2135
  });
1626
2136
  }
2137
+ /**
2138
+ * Delete human task templates by name
2139
+ * @param name
2140
+ * @returns any OK
2141
+ * @throws ApiError
2142
+ */
1627
2143
  deleteTemplatesByName(name) {
1628
2144
  return this.httpRequest.request({
1629
2145
  method: "DELETE",
@@ -1633,6 +2149,13 @@ var HumanTaskService = class {
1633
2149
  }
1634
2150
  });
1635
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
+ */
1636
2159
  getAllTemplates(name, version) {
1637
2160
  return this.httpRequest.request({
1638
2161
  method: "GET",
@@ -1643,6 +2166,13 @@ var HumanTaskService = class {
1643
2166
  }
1644
2167
  });
1645
2168
  }
2169
+ /**
2170
+ * Save human task template
2171
+ * @param requestBody
2172
+ * @param newVersion
2173
+ * @returns string OK
2174
+ * @throws ApiError
2175
+ */
1646
2176
  saveTemplate(requestBody, newVersion = false) {
1647
2177
  return this.httpRequest.request({
1648
2178
  method: "POST",
@@ -1654,6 +2184,12 @@ var HumanTaskService = class {
1654
2184
  mediaType: "application/json"
1655
2185
  });
1656
2186
  }
2187
+ /**
2188
+ * Delete human task template
2189
+ * @param id
2190
+ * @returns any OK
2191
+ * @throws ApiError
2192
+ */
1657
2193
  deleteTemplateById(id) {
1658
2194
  return this.httpRequest.request({
1659
2195
  method: "DELETE",
@@ -1663,6 +2199,12 @@ var HumanTaskService = class {
1663
2199
  }
1664
2200
  });
1665
2201
  }
2202
+ /**
2203
+ * Get human task template by id
2204
+ * @param id
2205
+ * @returns HumanTaskTemplateEntry OK
2206
+ * @throws ApiError
2207
+ */
1666
2208
  getTemplateById(id) {
1667
2209
  return this.httpRequest.request({
1668
2210
  method: "GET",
@@ -1679,6 +2221,12 @@ var HumanTaskResourceService = class {
1679
2221
  constructor(httpRequest) {
1680
2222
  this.httpRequest = httpRequest;
1681
2223
  }
2224
+ /**
2225
+ * Get Conductor task by id (for human tasks only)
2226
+ * @param taskId
2227
+ * @returns Task OK
2228
+ * @throws ApiError
2229
+ */
1682
2230
  getConductorTaskById(taskId) {
1683
2231
  return this.httpRequest.request({
1684
2232
  method: "GET",
@@ -1691,7 +2239,7 @@ var HumanTaskResourceService = class {
1691
2239
  };
1692
2240
 
1693
2241
  // src/common/open-api/ConductorClient.ts
1694
- var defaultRequestHandler = (request2, config, options) => request2(config, options);
2242
+ var defaultRequestHandler = (request3, config, options) => request3(config, options);
1695
2243
  var ConductorClient = class {
1696
2244
  constructor(config, requestHandler = defaultRequestHandler) {
1697
2245
  const resolvedConfig = {
@@ -1725,132 +2273,843 @@ var ConductorClient = class {
1725
2273
  }
1726
2274
  };
1727
2275
 
1728
- // src/common/orkes/OrkesConductorClient.ts
1729
- var defaultRequestHandler2 = (request2, config, options) => request2(config, options);
1730
- var orkesConductorClient = async (config, requestHandler = defaultRequestHandler2) => {
1731
- if (config?.keySecret != null && config?.keyId != null) {
1732
- const { serverUrl, keyId, keySecret } = config;
1733
- const tokenUrl = `${serverUrl}/token`;
1734
- const res = await fetch(tokenUrl, {
1735
- headers: {
1736
- "Content-Type": "application/json",
1737
- Accept: "application/json"
1738
- },
1739
- body: JSON.stringify({ keyId, keySecret }),
1740
- method: "POST"
1741
- });
1742
- const { token } = await res.json();
1743
- return new ConductorClient(__spreadProps(__spreadValues({}, config), { TOKEN: token }), requestHandler);
1744
- } else {
1745
- 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;
1746
2280
  }
1747
2281
  };
1748
2282
 
1749
- // src/common/types.ts
1750
- var TaskType = /* @__PURE__ */ ((TaskType2) => {
1751
- TaskType2["START"] = "START";
1752
- TaskType2["SIMPLE"] = "SIMPLE";
1753
- TaskType2["DYNAMIC"] = "DYNAMIC";
1754
- TaskType2["FORK_JOIN"] = "FORK_JOIN";
1755
- TaskType2["FORK_JOIN_DYNAMIC"] = "FORK_JOIN_DYNAMIC";
1756
- TaskType2["DECISION"] = "DECISION";
1757
- TaskType2["SWITCH"] = "SWITCH";
1758
- TaskType2["JOIN"] = "JOIN";
1759
- TaskType2["DO_WHILE"] = "DO_WHILE";
1760
- TaskType2["SUB_WORKFLOW"] = "SUB_WORKFLOW";
1761
- TaskType2["EVENT"] = "EVENT";
1762
- TaskType2["WAIT"] = "WAIT";
1763
- TaskType2["USER_DEFINED"] = "USER_DEFINED";
1764
- TaskType2["HTTP"] = "HTTP";
1765
- TaskType2["LAMBDA"] = "LAMBDA";
1766
- TaskType2["INLINE"] = "INLINE";
1767
- TaskType2["EXCLUSIVE_JOIN"] = "EXCLUSIVE_JOIN";
1768
- TaskType2["TERMINAL"] = "TERMINAL";
1769
- TaskType2["TERMINATE"] = "TERMINATE";
1770
- TaskType2["KAFKA_PUBLISH"] = "KAFKA_PUBLISH";
1771
- TaskType2["JSON_JQ_TRANSFORM"] = "JSON_JQ_TRANSFORM";
1772
- TaskType2["SET_VARIABLE"] = "SET_VARIABLE";
1773
- return TaskType2;
1774
- })(TaskType || {});
1775
-
1776
- // src/common/generators/common.ts
1777
- var randomChars = (n = 7) => (Math.random() + 1).toString(36).substring(n);
1778
- var taskNameGenerator = (taskType) => `${taskType}__task_${randomChars(7)}`;
1779
- var taskReferenceNameGenerator = (taskName) => `${taskName}_ref`;
1780
- var nameTaskNameGenerator = (taskType, maybeOverrides = {}) => {
1781
- const name = maybeOverrides?.name ?? taskNameGenerator(taskType);
1782
- return {
1783
- name,
1784
- taskReferenceName: taskReferenceNameGenerator(name)
1785
- };
1786
- };
1787
- function mapArrValues(arrayTransformer, mapWithValues) {
1788
- return Object.fromEntries(Object.entries(mapWithValues).map(([key, value]) => [
1789
- key,
1790
- arrayTransformer(value)
1791
- ]));
1792
- }
1793
-
1794
- // src/common/generators/SimpleTask.ts
1795
- var generateSimpleTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("simple", overrides)), {
1796
- inputParameters: {}
1797
- }), overrides), {
1798
- type: "SIMPLE" /* SIMPLE */
1799
- });
1800
-
1801
- // src/common/generators/DoWhileTask.ts
1802
- var generateDoWhileTask = (overrides = {}, nestedTasksMapper) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("doWhile", overrides)), {
1803
- inputParameters: {},
1804
- startDelay: 0,
1805
- optional: false,
1806
- asyncComplete: false,
1807
- loopCondition: ""
1808
- }), overrides), {
1809
- loopOver: nestedTasksMapper(overrides?.loopOver || []),
1810
- type: "DO_WHILE" /* DO_WHILE */
1811
- });
1812
-
1813
- // src/common/generators/EventTask.ts
1814
- var generateEventTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("event", overrides)), {
1815
- sink: "sqs:sqs_queue_name",
1816
- asyncComplete: false
1817
- }), overrides), {
1818
- type: "EVENT" /* EVENT */
1819
- });
1820
-
1821
- // src/common/generators/ForkJoin.ts
1822
- var generateForkJoinTask = (overrides = {}, nestedMapper) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("forkJoin", overrides)), {
1823
- inputParameters: {}
1824
- }), overrides), {
1825
- type: "FORK_JOIN" /* FORK_JOIN */,
1826
- forkTasks: (overrides?.forkTasks || []).map(nestedMapper)
1827
- });
1828
- var generateJoinTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("join", overrides)), {
1829
- inputParameters: {},
1830
- joinOn: [],
1831
- optional: false,
1832
- asyncComplete: false
1833
- }), overrides), {
1834
- type: "JOIN" /* JOIN */
1835
- });
1836
-
1837
- // src/common/generators/HttpTask.ts
1838
- var generateHTTPTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("httpTask", overrides)), {
1839
- inputParameters: {
1840
- http_request: {
1841
- uri: "https://jsonplaceholder.typicode.com/posts/${workflow.input.queryid}",
1842
- 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;
1843
2368
  }
1844
2369
  }
1845
- }), overrides), {
1846
- type: "HTTP" /* HTTP */
1847
- });
1848
-
1849
- // src/common/generators/InlineTask.ts
1850
- var defaultInputParams = {
1851
- value: "${workflow.input.value}",
1852
- evaluatorType: "graaljs",
1853
- expression: "true"
2370
+ updateOptions(options) {
2371
+ const newOptions = { ...this.options, ...options };
2372
+ this.updateConcurrency(newOptions.concurrency);
2373
+ this.options = newOptions;
2374
+ }
2375
+ };
2376
+
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"
1854
3113
  };
1855
3114
  var generateEvaluationCode = (inputParametersPartial = {}) => {
1856
3115
  const inlinePartialDefJavascript = inputParametersPartial;
@@ -1858,24 +3117,29 @@ var generateEvaluationCode = (inputParametersPartial = {}) => {
1858
3117
  if (inlineExpression !== void 0 && typeof inlineExpression === "function") {
1859
3118
  const resultingFunction = inlineExpression();
1860
3119
  const resultingFunctionAsString = resultingFunction.toString();
1861
- const toReturn = __spreadProps(__spreadValues({
1862
- evaluatorType: "graaljs"
1863
- }, inputParametersPartial || { value: "true" }), {
3120
+ const toReturn = {
3121
+ evaluatorType: "graaljs",
3122
+ ...inputParametersPartial || { value: "true" },
1864
3123
  expression: `(${resultingFunctionAsString})();`
1865
- });
3124
+ };
1866
3125
  return toReturn;
1867
3126
  }
1868
- return __spreadValues(__spreadProps(__spreadValues({}, defaultInputParams), {
1869
- evaluatorType: "graaljs"
1870
- }), inputParametersPartial);
3127
+ return {
3128
+ ...defaultInputParams,
3129
+ evaluatorType: "graaljs",
3130
+ ...inputParametersPartial
3131
+ };
1871
3132
  };
1872
- var generateInlineTask = (override = {}) => __spreadProps(__spreadValues(__spreadValues({}, nameTaskNameGenerator("inline", override)), override), {
3133
+ var generateInlineTask = (override = {}) => ({
3134
+ ...nameTaskNameGenerator("inline", override),
3135
+ ...override,
1873
3136
  inputParameters: generateEvaluationCode(override?.inputParameters || {}),
1874
3137
  type: "INLINE" /* INLINE */
1875
3138
  });
1876
3139
 
1877
- // src/common/generators/JsonJQTransform.ts
1878
- var generateJQTransformTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("jqTransform", overrides)), {
3140
+ // src/core/generators/JsonJQTransform.ts
3141
+ var generateJQTransformTask = (overrides = {}) => ({
3142
+ ...nameTaskNameGenerator("jqTransform", overrides),
1879
3143
  inputParameters: {
1880
3144
  key1: {
1881
3145
  value1: ["a", "b"]
@@ -1884,13 +3148,14 @@ var generateJQTransformTask = (overrides = {}) => __spreadProps(__spreadValues(_
1884
3148
  value2: ["c", "d"]
1885
3149
  },
1886
3150
  queryExpression: "{ key3: (.key1.value1 + .key2.value2) }"
1887
- }
1888
- }), overrides), {
3151
+ },
3152
+ ...overrides,
1889
3153
  type: "JSON_JQ_TRANSFORM" /* JSON_JQ_TRANSFORM */
1890
3154
  });
1891
3155
 
1892
- // src/common/generators/KafkaTask.ts
1893
- var generateKafkaPublishTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("kafka", overrides)), {
3156
+ // src/core/generators/KafkaTask.ts
3157
+ var generateKafkaPublishTask = (overrides = {}) => ({
3158
+ ...nameTaskNameGenerator("kafka", overrides),
1894
3159
  inputParameters: {
1895
3160
  kafka_request: {
1896
3161
  topic: "topic",
@@ -1900,65 +3165,72 @@ var generateKafkaPublishTask = (overrides = {}) => __spreadProps(__spreadValues(
1900
3165
  key: "123",
1901
3166
  keySerializer: "org.apache.kafka.common.serialization.IntegerSerializer"
1902
3167
  }
1903
- }
1904
- }), overrides), {
3168
+ },
3169
+ ...overrides,
1905
3170
  type: "KAFKA_PUBLISH" /* KAFKA_PUBLISH */
1906
3171
  });
1907
3172
 
1908
- // src/common/generators/SubWorkflowTask.ts
1909
- var generateSubWorkflowTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("subWorkflow", overrides)), {
3173
+ // src/core/generators/SubWorkflowTask.ts
3174
+ var generateSubWorkflowTask = (overrides = {}) => ({
3175
+ ...nameTaskNameGenerator("subWorkflow", overrides),
1910
3176
  inputParameters: {},
1911
3177
  subWorkflowParam: {
1912
3178
  name: "name",
1913
3179
  version: 1,
1914
3180
  taskToDomain: {}
1915
- }
1916
- }), overrides), {
3181
+ },
3182
+ ...overrides,
1917
3183
  type: "SUB_WORKFLOW" /* SUB_WORKFLOW */
1918
3184
  });
1919
3185
 
1920
- // src/common/generators/SetVariableTask.ts
1921
- var generateSetVariableTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("setVariable", overrides)), {
1922
- inputParameters: {}
1923
- }), overrides), {
3186
+ // src/core/generators/SetVariableTask.ts
3187
+ var generateSetVariableTask = (overrides = {}) => ({
3188
+ ...nameTaskNameGenerator("setVariable", overrides),
3189
+ inputParameters: {},
3190
+ ...overrides,
1924
3191
  type: "SET_VARIABLE" /* SET_VARIABLE */
1925
3192
  });
1926
3193
 
1927
- // src/common/generators/TerminateTask.ts
1928
- var generateTerminateTask = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("terminate", overrides)), {
3194
+ // src/core/generators/TerminateTask.ts
3195
+ var generateTerminateTask = (overrides = {}) => ({
3196
+ ...nameTaskNameGenerator("terminate", overrides),
1929
3197
  inputParameters: {
1930
3198
  terminationStatus: "COMPLETED",
1931
3199
  workflowOutput: {}
1932
3200
  },
1933
3201
  startDelay: 0,
1934
- optional: false
1935
- }), overrides), {
3202
+ optional: false,
3203
+ ...overrides,
1936
3204
  type: "TERMINATE" /* TERMINATE */
1937
3205
  });
1938
3206
 
1939
- // src/common/generators/WaitTask.ts
1940
- 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,
1941
3211
  inputParameters: {},
1942
3212
  type: "WAIT" /* WAIT */
1943
3213
  });
1944
3214
 
1945
- // src/common/generators/SwitchTask.ts
3215
+ // src/core/generators/SwitchTask.ts
1946
3216
  var fillSwitchTaskBranches = (task, mapper) => ({
1947
3217
  decisionCases: mapArrValues(mapper, task?.decisionCases || {}),
1948
3218
  defaultCase: mapper(task?.defaultCase || [])
1949
3219
  });
1950
- var generateSwitchTask = (overrides = {}, nestedTasksMapper) => __spreadProps(__spreadValues(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("switch", overrides)), {
3220
+ var generateSwitchTask = (overrides = {}, nestedTasksMapper) => ({
3221
+ ...nameTaskNameGenerator("switch", overrides),
1951
3222
  inputParameters: {
1952
3223
  switchCaseValue: ""
1953
3224
  },
1954
3225
  evaluatorType: "value-param",
1955
- expression: "switchCaseValue"
1956
- }), overrides), fillSwitchTaskBranches(overrides, nestedTasksMapper)), {
3226
+ expression: "switchCaseValue",
3227
+ ...overrides,
3228
+ ...fillSwitchTaskBranches(overrides, nestedTasksMapper),
1957
3229
  type: "SWITCH" /* SWITCH */
1958
3230
  });
1959
3231
 
1960
- // src/common/generators/WorkflowGenerator.ts
1961
- var workflowGenerator = (overrides) => __spreadValues({
3232
+ // src/core/generators/WorkflowGenerator.ts
3233
+ var workflowGenerator = (overrides) => ({
1962
3234
  name: "NewWorkflow_3nxbi",
1963
3235
  description: "Edit or extend this sample workflow. Set the workflow name to get started",
1964
3236
  version: 1,
@@ -1970,11 +3242,13 @@ var workflowGenerator = (overrides) => __spreadValues({
1970
3242
  workflowStatusListenerEnabled: false,
1971
3243
  ownerEmail: "james.stuart@orkes.io",
1972
3244
  timeoutPolicy: "ALERT_ONLY",
1973
- timeoutSeconds: 0
1974
- }, overrides);
3245
+ timeoutSeconds: 0,
3246
+ ...overrides
3247
+ });
1975
3248
 
1976
- // src/common/generators/ForkJoinDynamicTask.ts
1977
- var generateForkJoinDynamic = (overrides = {}) => __spreadProps(__spreadValues(__spreadProps(__spreadValues({}, nameTaskNameGenerator("forkJoinDynamic", overrides)), {
3249
+ // src/core/generators/ForkJoinDynamicTask.ts
3250
+ var generateForkJoinDynamic = (overrides = {}) => ({
3251
+ ...nameTaskNameGenerator("forkJoinDynamic", overrides),
1978
3252
  inputParameters: {
1979
3253
  dynamicTasks: "",
1980
3254
  dynamicTasksInput: ""
@@ -1983,12 +3257,12 @@ var generateForkJoinDynamic = (overrides = {}) => __spreadProps(__spreadValues(_
1983
3257
  dynamicForkTasksInputParamName: "dynamicTasksInput",
1984
3258
  startDelay: 0,
1985
3259
  optional: false,
1986
- asyncComplete: false
1987
- }), overrides), {
3260
+ asyncComplete: false,
3261
+ ...overrides,
1988
3262
  type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */
1989
3263
  });
1990
3264
 
1991
- // src/common/generators/generator.ts
3265
+ // src/core/generators/generator.ts
1992
3266
  var filledTaskDef = (task) => {
1993
3267
  const taskType = task.type;
1994
3268
  switch (taskType) {
@@ -2040,59 +3314,15 @@ var maybeAddJoinTask = (currentTask, maybeNextTask) => {
2040
3314
  var generate = (overrides) => {
2041
3315
  const maybeTasks = overrides.tasks || [];
2042
3316
  const generatedTasks = taskGenMapper(maybeTasks);
2043
- return workflowGenerator(__spreadProps(__spreadValues({}, overrides), { tasks: generatedTasks }));
3317
+ return workflowGenerator({ ...overrides, tasks: generatedTasks });
2044
3318
  };
2045
3319
 
2046
- // src/common/generators/index.ts
3320
+ // src/core/generators/index.ts
2047
3321
  var generateSwitchTask2 = (overrides = {}, nestedTasksMapper = taskGenMapper) => generateSwitchTask(overrides, nestedTasksMapper);
2048
3322
  var generateDoWhileTask2 = (overrides = {}, nestedTasksMapper = taskGenMapper) => generateDoWhileTask(overrides, nestedTasksMapper);
2049
3323
  var generateForkJoinTask2 = (overrides = {}, nestedMapper = taskGenMapper) => generateForkJoinTask(overrides, nestedMapper);
2050
3324
 
2051
- // src/common/sdk/doWhile.ts
2052
- var doWhileTask = (taskRefName, terminationCondition, tasks) => ({
2053
- name: taskRefName,
2054
- taskReferenceName: taskRefName,
2055
- loopCondition: terminationCondition,
2056
- inputParameters: {},
2057
- type: "DO_WHILE" /* DO_WHILE */,
2058
- loopOver: tasks
2059
- });
2060
- var loopForCondition = (taskRefName, valueKey) => `if ( $.${taskRefName}['iteration'] < $.${valueKey} ) { true; } else { false; }`;
2061
- var newLoopTask = (taskRefName, iterations, tasks) => ({
2062
- name: taskRefName,
2063
- taskReferenceName: taskRefName,
2064
- loopCondition: loopForCondition(taskRefName, "value"),
2065
- inputParameters: {
2066
- value: iterations
2067
- },
2068
- type: "DO_WHILE" /* DO_WHILE */,
2069
- loopOver: tasks
2070
- });
2071
-
2072
- // src/common/sdk/dynamicFork.ts
2073
- var dynamicForkTask = (taskReferenceName, preForkTasks = [], dynamicTasksInput = "") => ({
2074
- name: taskReferenceName,
2075
- taskReferenceName,
2076
- inputParameters: {
2077
- dynamicTasks: preForkTasks,
2078
- dynamicTasksInput
2079
- },
2080
- type: "FORK_JOIN_DYNAMIC" /* FORK_JOIN_DYNAMIC */,
2081
- dynamicForkTasksParam: "dynamicTasks",
2082
- dynamicForkTasksInputParamName: "dynamicTasksInput"
2083
- });
2084
-
2085
- // src/common/sdk/event.ts
2086
- var eventTask = (taskReferenceName, eventPrefix, eventSuffix) => ({
2087
- name: taskReferenceName,
2088
- taskReferenceName,
2089
- sink: `${eventPrefix}:${eventSuffix}`,
2090
- type: "EVENT" /* EVENT */
2091
- });
2092
- var sqsEventTask = (taskReferenceName, queueName) => eventTask(taskReferenceName, "sqs", queueName);
2093
- var conductorEventTask = (taskReferenceName, eventName) => eventTask(taskReferenceName, "conductor", eventName);
2094
-
2095
- // src/common/sdk/forkJoin.ts
3325
+ // src/core/sdk/forkJoin.ts
2096
3326
  var forkTask = (taskReferenceName, forkTasks) => ({
2097
3327
  taskReferenceName,
2098
3328
  name: taskReferenceName,
@@ -2104,7 +3334,7 @@ var forkTaskJoin = (taskReferenceName, forkTasks) => [
2104
3334
  generateJoinTask({ name: `${taskReferenceName}_join` })
2105
3335
  ];
2106
3336
 
2107
- // src/common/sdk/http.ts
3337
+ // src/core/sdk/http.ts
2108
3338
  var httpTask = (taskReferenceName, inputParameters) => ({
2109
3339
  name: taskReferenceName,
2110
3340
  taskReferenceName,
@@ -2114,7 +3344,7 @@ var httpTask = (taskReferenceName, inputParameters) => ({
2114
3344
  type: "HTTP" /* HTTP */
2115
3345
  });
2116
3346
 
2117
- // src/common/sdk/inline.ts
3347
+ // src/core/sdk/inline.ts
2118
3348
  var inlineTask = (taskReferenceName, script, evaluatorType = "javascript") => ({
2119
3349
  name: taskReferenceName,
2120
3350
  taskReferenceName,
@@ -2125,7 +3355,7 @@ var inlineTask = (taskReferenceName, script, evaluatorType = "javascript") => ({
2125
3355
  type: "INLINE" /* INLINE */
2126
3356
  });
2127
3357
 
2128
- // src/common/sdk/join.ts
3358
+ // src/core/sdk/join.ts
2129
3359
  var joinTask = (taskReferenceName, joinOn) => ({
2130
3360
  name: taskReferenceName,
2131
3361
  taskReferenceName,
@@ -2133,7 +3363,7 @@ var joinTask = (taskReferenceName, joinOn) => ({
2133
3363
  type: "JOIN" /* JOIN */
2134
3364
  });
2135
3365
 
2136
- // src/common/sdk/jsonJq.ts
3366
+ // src/core/sdk/jsonJq.ts
2137
3367
  var jsonJqTask = (taskReferenceName, script) => ({
2138
3368
  name: taskReferenceName,
2139
3369
  taskReferenceName,
@@ -2143,7 +3373,7 @@ var jsonJqTask = (taskReferenceName, script) => ({
2143
3373
  }
2144
3374
  });
2145
3375
 
2146
- // src/common/sdk/kafkaPublish.ts
3376
+ // src/core/sdk/kafkaPublish.ts
2147
3377
  var kafkaPublishTask = (taskReferenceName, kafka_request) => ({
2148
3378
  taskReferenceName,
2149
3379
  name: taskReferenceName,
@@ -2153,7 +3383,7 @@ var kafkaPublishTask = (taskReferenceName, kafka_request) => ({
2153
3383
  }
2154
3384
  });
2155
3385
 
2156
- // src/common/sdk/setVariable.ts
3386
+ // src/core/sdk/setVariable.ts
2157
3387
  var setVariableTask = (taskReferenceName, inputParameters) => ({
2158
3388
  name: taskReferenceName,
2159
3389
  taskReferenceName,
@@ -2161,7 +3391,7 @@ var setVariableTask = (taskReferenceName, inputParameters) => ({
2161
3391
  inputParameters
2162
3392
  });
2163
3393
 
2164
- // src/common/sdk/simple.ts
3394
+ // src/core/sdk/simple.ts
2165
3395
  var simpleTask = (taskReferenceName, name, inputParameters) => ({
2166
3396
  name,
2167
3397
  taskReferenceName,
@@ -2169,7 +3399,7 @@ var simpleTask = (taskReferenceName, name, inputParameters) => ({
2169
3399
  type: "SIMPLE" /* SIMPLE */
2170
3400
  });
2171
3401
 
2172
- // src/common/sdk/subWorkflow.ts
3402
+ // src/core/sdk/subWorkflow.ts
2173
3403
  var subWorkflowTask = (taskReferenceName, workflowName, version) => ({
2174
3404
  name: taskReferenceName,
2175
3405
  taskReferenceName,
@@ -2180,7 +3410,7 @@ var subWorkflowTask = (taskReferenceName, workflowName, version) => ({
2180
3410
  type: "SUB_WORKFLOW" /* SUB_WORKFLOW */
2181
3411
  });
2182
3412
 
2183
- // src/common/sdk/switch.ts
3413
+ // src/core/sdk/switch.ts
2184
3414
  var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase = []) => ({
2185
3415
  name: taskReferenceName,
2186
3416
  taskReferenceName,
@@ -2194,7 +3424,7 @@ var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase
2194
3424
  type: "SWITCH" /* SWITCH */
2195
3425
  });
2196
3426
 
2197
- // src/common/sdk/terminate.ts
3427
+ // src/core/sdk/terminate.ts
2198
3428
  var terminateTask = (taskReferenceName, status, terminationReason) => ({
2199
3429
  name: taskReferenceName,
2200
3430
  taskReferenceName,
@@ -2205,7 +3435,7 @@ var terminateTask = (taskReferenceName, status, terminationReason) => ({
2205
3435
  type: "TERMINATE" /* TERMINATE */
2206
3436
  });
2207
3437
 
2208
- // src/common/sdk/wait.ts
3438
+ // src/core/sdk/wait.ts
2209
3439
  var waitTaskDuration = (taskReferenceName, duration) => ({
2210
3440
  name: taskReferenceName,
2211
3441
  taskReferenceName,
@@ -2223,240 +3453,369 @@ var waitTaskUntil = (taskReferenceName, until) => ({
2223
3453
  type: "WAIT" /* WAIT */
2224
3454
  });
2225
3455
 
2226
- // src/common/sdk/workflow.ts
2227
- var workflow = (name, tasks) => ({
2228
- name,
2229
- version: 1,
2230
- tasks,
2231
- inputParameters: [],
2232
- timeoutSeconds: 0
2233
- });
2234
-
2235
- // src/common/open-api/core/BaseHttpRequest.ts
2236
- var BaseHttpRequest = class {
2237
- constructor(config) {
2238
- this.config = config;
2239
- }
2240
- };
2241
-
2242
- // src/task/TaskManager.ts
2243
- var defaultManagerOptions = {
2244
- workerID: "",
2245
- pollInterval: 1e3,
2246
- domain: void 0,
2247
- concurrency: 1
2248
- };
2249
- function workerId(options) {
2250
- return options.workerID ?? import_os.default.hostname();
2251
- }
2252
- var TaskManager = class {
2253
- constructor(client, workers, config = {}) {
2254
- this.tasks = {};
2255
- this.workerManagerWorkerOptions = (worker) => {
2256
- return __spreadProps(__spreadValues({}, this.taskManageOptions), {
2257
- concurrency: worker.concurrency ?? this.taskManageOptions.concurrency,
2258
- domain: worker.domain ?? this.taskManageOptions.domain
2259
- });
2260
- };
2261
- this.updatePollingOptions = (options) => {
2262
- this.workers.forEach((worker) => {
2263
- const newOptions = __spreadValues(__spreadValues({}, this.workerManagerWorkerOptions(worker)), options);
2264
- const runners = this.tasks[worker.taskDefName];
2265
- runners.forEach((runner) => {
2266
- runner.updateOptions(newOptions);
2267
- });
2268
- });
2269
- };
2270
- this.startPolling = () => {
2271
- this.workers.forEach((worker) => {
2272
- this.tasks[worker.taskDefName] = [];
2273
- const options = this.workerManagerWorkerOptions(worker);
2274
- this.logger.debug(`Starting taskDefName=${worker.taskDefName} concurrency=${options.concurrency} domain=${options.domain}`);
2275
- const runner = new TaskRunner({
2276
- worker,
2277
- options,
2278
- taskResource: this.client.taskResource,
2279
- logger: this.logger,
2280
- onError: this.errorHandler
2281
- });
2282
- runner.startPolling();
2283
- this.tasks[worker.taskDefName].push(runner);
2284
- });
2285
- };
2286
- this.stopPolling = () => {
2287
- for (const taskType in this.tasks) {
2288
- this.tasks[taskType].forEach((runner) => runner.stopPolling());
2289
- this.tasks[taskType] = [];
2290
- }
2291
- };
2292
- if (!workers) {
2293
- throw new Error("No workers supplied to TaskManager. Please pass an array of workers.");
2294
- }
2295
- this.client = client;
2296
- this.logger = config.logger ?? new DefaultLogger();
2297
- this.errorHandler = config.onError ?? noopErrorHandler;
2298
- this.workers = workers;
2299
- const providedOptions = config.options ?? {};
2300
- this.taskManageOptions = __spreadProps(__spreadValues(__spreadValues({}, defaultManagerOptions), providedOptions), {
2301
- workerID: workerId(providedOptions)
2302
- });
2303
- }
2304
- };
2305
-
2306
- // src/core/types.ts
2307
- var ConductorError = class extends Error {
2308
- constructor(message, innerError) {
2309
- super(message);
2310
- this._trace = innerError;
2311
- const actualProto = new.target.prototype;
2312
- if (Object.setPrototypeOf) {
2313
- Object.setPrototypeOf(this, actualProto);
2314
- } else {
2315
- this.__proto__ = actualProto;
2316
- }
2317
- }
2318
- };
2319
-
2320
- // src/core/helpers.ts
2321
- var errorMapper = (error) => new ConductorError(error?.body?.message, error);
2322
- 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) => {
2323
3472
  try {
2324
- return fn();
2325
- } catch (error) {
2326
- 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);
2327
3478
  }
3479
+ return void 0;
2328
3480
  };
2329
3481
 
2330
- // src/core/executor.ts
2331
- var RETRY_TIME_IN_MILLISECONDS = 1e4;
2332
- var WorkflowExecutor = class {
2333
- constructor(client) {
2334
- this._client = client;
2335
- }
2336
- registerWorkflow(override, workflow2) {
2337
- 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;
2338
3498
  }
2339
- startWorkflow(workflowRequest) {
2340
- return tryCatchReThrow(() => this._client.workflowResource.startWorkflow(workflowRequest));
3499
+ clearCache() {
3500
+ this._cache.clear();
2341
3501
  }
2342
- executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef = "") {
2343
- return tryCatchReThrow(() => this._client.workflowResource.executeWorkflow(workflowRequest, name, version, requestId, waitUntilTaskRef));
3502
+ get cache() {
3503
+ return this._cache;
2344
3504
  }
2345
- startWorkflows(workflowsRequest) {
2346
- 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");
2347
3575
  }
2348
- async getWorkflow(workflowInstanceId, includeTasks, retry = 0) {
2349
- try {
2350
- const workflowStatus = await this._client.workflowResource.getExecutionStatus(workflowInstanceId, includeTasks);
2351
- return workflowStatus;
2352
- } catch (error) {
2353
- if (![500, 404, 403].includes(error.status) || retry === 0) {
2354
- 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);
2355
3594
  }
2356
3595
  }
2357
- await new Promise((res) => setTimeout(() => res(true), RETRY_TIME_IN_MILLISECONDS));
2358
- return this.getWorkflow(workflowInstanceId, includeTasks, retry - 1);
2359
- }
2360
- getWorkflowStatus(workflowInstanceId, includeOutput, includeVariables) {
2361
- return tryCatchReThrow(() => this._client.workflowResource.getWorkflowStatusSummary(workflowInstanceId, includeOutput, includeVariables));
2362
- }
2363
- pause(workflowInstanceId) {
2364
- return tryCatchReThrow(() => this._client.workflowResource.pauseWorkflow(workflowInstanceId));
2365
- }
2366
- reRun(workflowInstanceId, rerunWorkflowRequest = {}) {
2367
- return tryCatchReThrow(() => this._client.workflowResource.rerun(workflowInstanceId, rerunWorkflowRequest));
2368
- }
2369
- restart(workflowInstanceId, useLatestDefinitions) {
2370
- return tryCatchReThrow(() => this._client.workflowResource.restart1(workflowInstanceId, useLatestDefinitions));
2371
- }
2372
- resume(workflowInstanceId) {
2373
- return tryCatchReThrow(() => this._client.workflowResource.resumeWorkflow(workflowInstanceId));
2374
- }
2375
- retry(workflowInstanceId, resumeSubworkflowTasks) {
2376
- return tryCatchReThrow(() => this._client.workflowResource.retry1(workflowInstanceId, resumeSubworkflowTasks));
2377
- }
2378
- search(start, size, query, freeText, sort = "", skipCache = false) {
2379
- const queryId = void 0;
2380
- return tryCatchReThrow(() => this._client.workflowResource.search1(queryId, start, size, sort, freeText, query, skipCache));
2381
- }
2382
- skipTasksFromWorkflow(workflowInstanceId, taskReferenceName, skipTaskRequest) {
2383
- 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("&")}`;
2384
3602
  }
2385
- terminate(workflowInstanceId, reason) {
2386
- 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)}`;
2387
3616
  }
2388
- updateTask(taskId, workflowInstanceId, taskStatus, outputData) {
2389
- const taskUpdates = {
2390
- status: taskStatus,
2391
- taskId,
2392
- 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
+ }
2393
3628
  };
2394
- return tryCatchReThrow(() => this._client.taskResource.updateTask1(__spreadValues({
2395
- outputData
2396
- }, taskUpdates)));
2397
- }
2398
- updateTaskByRefName(taskReferenceName, workflowInstanceId, status, taskOutput) {
2399
- 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;
2400
3637
  }
2401
- getTask(taskId) {
2402
- 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);
2403
3643
  }
3644
+ return resolver;
2404
3645
  };
2405
-
2406
- // src/core/human.ts
2407
- var HumanExecutor = class {
2408
- constructor(client) {
2409
- 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;
2410
3664
  }
2411
- async getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput = false) {
2412
- const response = await this._client.humanTask.getTasksByFilter(state, assignee, assigneeType, claimedBy, taskName, freeText, includeInputOutput);
2413
- if (response.results != void 0) {
2414
- return response.results;
2415
- }
2416
- return [];
3665
+ if (isStringWithValue2(username) && isStringWithValue2(password)) {
3666
+ const credentials = base642(`${username}:${password}`);
3667
+ headers["Authorization"] = `Basic ${credentials}`;
2417
3668
  }
2418
- getTaskById(taskId) {
2419
- 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
+ }
2420
3679
  }
2421
- async claimTaskAsExternalUser(taskId, assignee) {
2422
- try {
2423
- await this._client.humanTask.assignAndClaim(taskId, assignee);
2424
- } catch (error) {
2425
- 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);
2426
3690
  }
2427
3691
  }
2428
- async claimTaskAsConductorUser(taskId) {
2429
- try {
2430
- await this._client.humanTask.claimTask(taskId);
2431
- } catch (error) {
2432
- 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;
2433
3710
  }
2434
3711
  }
2435
- async releaseTask(taskId) {
3712
+ return void 0;
3713
+ };
3714
+ var getResponseBody2 = async (response) => {
3715
+ if (response.status !== 204) {
2436
3716
  try {
2437
- 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
+ }
2438
3726
  } catch (error) {
2439
- throw errorMapper(error);
3727
+ console.error(error);
2440
3728
  }
2441
3729
  }
2442
- async getTemplateById(templateId) {
2443
- 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);
2444
3746
  }
2445
- async updateTaskOutput(taskId, requestBody) {
2446
- try {
2447
- await this._client.humanTask.updateTaskOutput(taskId, requestBody, false);
2448
- } catch (error) {
2449
- throw errorMapper(error);
2450
- }
3747
+ if (!result.ok) {
3748
+ throw new ApiError(options, result, "Generic Error");
2451
3749
  }
2452
- async completeTask(taskId, requestBody = {}) {
3750
+ };
3751
+ var request2 = (config, options, fetchFn = fetch) => {
3752
+ return new CancelablePromise(async (resolve3, reject, onCancel) => {
2453
3753
  try {
2454
- 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
+ }
2455
3783
  } catch (error) {
2456
- throw errorMapper(error);
3784
+ reject(error);
2457
3785
  }
2458
- }
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
+ };
2459
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
+ );
2460
3819
  // Annotate the CommonJS export names for ESM import in node:
2461
3820
  0 && (module.exports = {
2462
3821
  ApiError,
@@ -2466,6 +3825,7 @@ var HumanExecutor = class {
2466
3825
  ConductorClient,
2467
3826
  ConductorError,
2468
3827
  DefaultLogger,
3828
+ DnsCacheResolver,
2469
3829
  EventResourceService,
2470
3830
  HealthCheckResourceService,
2471
3831
  HumanExecutor,
@@ -2479,10 +3839,12 @@ var HumanExecutor = class {
2479
3839
  WorkflowBulkResourceService,
2480
3840
  WorkflowExecutor,
2481
3841
  WorkflowResourceService,
3842
+ baseOrkesConductorClient,
2482
3843
  conductorEventTask,
2483
3844
  doWhileTask,
2484
3845
  dynamicForkTask,
2485
3846
  eventTask,
3847
+ fetchCatchDns,
2486
3848
  forkTask,
2487
3849
  forkTaskJoin,
2488
3850
  generate,
@@ -2507,7 +3869,9 @@ var HumanExecutor = class {
2507
3869
  kafkaPublishTask,
2508
3870
  newLoopTask,
2509
3871
  noopErrorHandler,
3872
+ noopLogger,
2510
3873
  orkesConductorClient,
3874
+ request,
2511
3875
  setVariableTask,
2512
3876
  simpleTask,
2513
3877
  sqsEventTask,
@@ -2515,6 +3879,7 @@ var HumanExecutor = class {
2515
3879
  switchTask,
2516
3880
  taskGenMapper,
2517
3881
  terminateTask,
3882
+ toMaybeUrl,
2518
3883
  waitTaskDuration,
2519
3884
  waitTaskUntil,
2520
3885
  workflow