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

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