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