@io-orkes/conductor-javascript 2.0.0-rc1 → 2.0.0-rc3

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