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

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