@io-orkes/conductor-javascript 2.1.0 → 2.1.1-alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -2341,14 +2341,17 @@ var TaskRunner = class {
2341
2341
  options;
2342
2342
  errorHandler;
2343
2343
  poller;
2344
+ maxRetries;
2344
2345
  constructor({
2345
2346
  worker,
2346
2347
  taskResource,
2347
2348
  options,
2348
2349
  logger = noopLogger,
2349
- onError: errorHandler = noopErrorHandler
2350
+ onError: errorHandler = noopErrorHandler,
2351
+ maxRetries = MAX_RETRIES
2350
2352
  }) {
2351
2353
  this.taskResource = taskResource;
2354
+ this.maxRetries = maxRetries;
2352
2355
  this.logger = logger;
2353
2356
  this.worker = worker;
2354
2357
  this.options = { ...defaultRunnerOptions, ...options };
@@ -2414,7 +2417,7 @@ var TaskRunner = class {
2414
2417
  updateTaskWithRetry = async (task, taskResult) => {
2415
2418
  const { workerID } = this.options;
2416
2419
  let retryCount = 0;
2417
- while (retryCount < MAX_RETRIES) {
2420
+ while (retryCount < this.maxRetries) {
2418
2421
  try {
2419
2422
  await this.taskResource.updateTask1({
2420
2423
  ...taskResult,
@@ -2491,6 +2494,7 @@ var TaskManager = class {
2491
2494
  workers;
2492
2495
  options;
2493
2496
  polling = false;
2497
+ maxRetries = MAX_RETRIES;
2494
2498
  constructor(client, workers, config = {}) {
2495
2499
  if (!workers) {
2496
2500
  throw new Error(
@@ -2499,6 +2503,7 @@ var TaskManager = class {
2499
2503
  }
2500
2504
  this.client = client;
2501
2505
  this.logger = config.logger ?? new DefaultLogger();
2506
+ this.maxRetries = config.maxRetries ?? MAX_RETRIES;
2502
2507
  this.errorHandler = config.onError ?? noopErrorHandler;
2503
2508
  this.workers = workers;
2504
2509
  const providedOptions = config.options ?? {};
@@ -2568,7 +2573,8 @@ var TaskManager = class {
2568
2573
  options,
2569
2574
  taskResource: this.client.taskResource,
2570
2575
  logger: this.logger,
2571
- onError: this.errorHandler
2576
+ onError: this.errorHandler,
2577
+ maxRetries: this.maxRetries
2572
2578
  });
2573
2579
  runner.startPolling();
2574
2580
  this.workerRunners.set(worker.taskDefName, runner);
@@ -3539,6 +3545,47 @@ var switchTask = (taskReferenceName, expression, decisionCases = {}, defaultCase
3539
3545
  type: "SWITCH" /* SWITCH */
3540
3546
  });
3541
3547
 
3548
+ // src/core/sdk/taskDefinition.ts
3549
+ var taskDefinition = ({
3550
+ name,
3551
+ ownerApp = "",
3552
+ description = "",
3553
+ retryCount = 3,
3554
+ timeoutSeconds = 3600,
3555
+ inputKeys = [],
3556
+ outputKeys = [],
3557
+ timeoutPolicy = "TIME_OUT_WF",
3558
+ retryLogic = "FIXED",
3559
+ retryDelaySeconds = 60,
3560
+ responseTimeoutSeconds = 600,
3561
+ concurrentExecLimit = 0,
3562
+ inputTemplate = {},
3563
+ rateLimitPerFrequency = 0,
3564
+ rateLimitFrequencyInSeconds = 1,
3565
+ ownerEmail = "",
3566
+ pollTimeoutSeconds = 3600,
3567
+ backoffScaleFactor = 1
3568
+ }) => ({
3569
+ name,
3570
+ ownerApp,
3571
+ description,
3572
+ retryCount,
3573
+ timeoutSeconds,
3574
+ inputKeys,
3575
+ outputKeys,
3576
+ timeoutPolicy,
3577
+ retryLogic,
3578
+ retryDelaySeconds,
3579
+ responseTimeoutSeconds,
3580
+ concurrentExecLimit,
3581
+ inputTemplate,
3582
+ rateLimitPerFrequency,
3583
+ rateLimitFrequencyInSeconds,
3584
+ ownerEmail,
3585
+ pollTimeoutSeconds,
3586
+ backoffScaleFactor
3587
+ });
3588
+
3542
3589
  // src/core/sdk/terminate.ts
3543
3590
  var terminateTask = (taskReferenceName, status, terminationReason) => ({
3544
3591
  name: taskReferenceName,
@@ -3717,6 +3764,125 @@ var SchedulerClient = class {
3717
3764
  }
3718
3765
  };
3719
3766
 
3767
+ // src/core/taskClient.ts
3768
+ var TaskClient = class {
3769
+ _client;
3770
+ constructor(client) {
3771
+ this._client = client;
3772
+ }
3773
+ /**
3774
+ * Searches for existing scheduler execution based on below parameters
3775
+ *
3776
+ * @param start
3777
+ * @param size
3778
+ * @param sort
3779
+ * @param freeText
3780
+ * @param query
3781
+ * @returns SearchResultWorkflowScheduleExecutionModel
3782
+ */
3783
+ search(start, size, sort = "", freeText, query) {
3784
+ return tryCatchReThrow(
3785
+ () => this._client.taskResource.search(
3786
+ start,
3787
+ size,
3788
+ sort,
3789
+ freeText,
3790
+ query
3791
+ )
3792
+ );
3793
+ }
3794
+ /**
3795
+ * Get an existing schedule by Id
3796
+ * @param taskId
3797
+ * @returns Task
3798
+ */
3799
+ getTask(taskId) {
3800
+ return tryCatchReThrow(
3801
+ () => this._client.taskResource.getTask(taskId)
3802
+ );
3803
+ }
3804
+ /**
3805
+ * Update task result status
3806
+ *
3807
+ * @param workflowId
3808
+ * @param taskReferenceName
3809
+ * @param status
3810
+ * @param outputData
3811
+ * @param workerId
3812
+ * @returns
3813
+ */
3814
+ updateTaskResult(workflowId, taskReferenceName, status, outputData) {
3815
+ return tryCatchReThrow(
3816
+ () => this._client.taskResource.updateTask(
3817
+ workflowId,
3818
+ taskReferenceName,
3819
+ status,
3820
+ outputData
3821
+ )
3822
+ );
3823
+ }
3824
+ };
3825
+
3826
+ // src/core/templateClient.ts
3827
+ var TemplateClient = class {
3828
+ _client;
3829
+ constructor(client) {
3830
+ this._client = client;
3831
+ }
3832
+ /**
3833
+ * Register a new human task template
3834
+ *
3835
+ * @param template
3836
+ * @returns
3837
+ */
3838
+ async registerTemplate(template, asNewVersion = false) {
3839
+ return tryCatchReThrow(
3840
+ () => this._client.humanTask.saveTemplate(template, asNewVersion)
3841
+ );
3842
+ }
3843
+ };
3844
+
3845
+ // src/core/metadataClient.ts
3846
+ var MetadataClient = class {
3847
+ _client;
3848
+ constructor(client) {
3849
+ this._client = client;
3850
+ }
3851
+ /**
3852
+ * Unregisters an existing task definition by name
3853
+ *
3854
+ * @param name
3855
+ * @returns
3856
+ */
3857
+ unregisterTask(name) {
3858
+ return tryCatchReThrow(
3859
+ () => this._client.metadataResource.unregisterTaskDef(name)
3860
+ );
3861
+ }
3862
+ /**
3863
+ * Registers a new task definition
3864
+ *
3865
+ * @param taskDef
3866
+ * @returns
3867
+ */
3868
+ registerTask(taskDef) {
3869
+ return tryCatchReThrow(
3870
+ () => this._client.metadataResource.registerTaskDef([taskDef])
3871
+ );
3872
+ }
3873
+ /**
3874
+ * Update an existing task definition
3875
+ *
3876
+ * @param taskDef
3877
+ * @returns
3878
+ */
3879
+ updateTask(taskDef) {
3880
+ return tryCatchReThrow(
3881
+ () => this._client.metadataResource.updateTaskDef(taskDef)
3882
+ );
3883
+ }
3884
+ };
3885
+
3720
3886
  // src/orkes/BaseOrkesConductorClient.ts
3721
3887
  var defaultRequestHandler2 = (request3, config, options) => request3(config, options);
3722
3888
  var REFRESH_TOKEN_IN_MILLISECONDS = 30 * 60 * 1e3;
@@ -4030,13 +4196,17 @@ export {
4030
4196
  EventResourceService,
4031
4197
  HealthCheckResourceService,
4032
4198
  HumanExecutor,
4199
+ MAX_RETRIES,
4200
+ MetadataClient,
4033
4201
  MetadataResourceService,
4034
4202
  SchedulerClient,
4035
4203
  SchedulerResourceService,
4204
+ TaskClient,
4036
4205
  TaskManager,
4037
4206
  TaskResourceService,
4038
4207
  TaskRunner,
4039
4208
  TaskType,
4209
+ TemplateClient,
4040
4210
  TokenResourceService,
4041
4211
  WorkflowBulkResourceService,
4042
4212
  WorkflowExecutor,
@@ -4079,6 +4249,7 @@ export {
4079
4249
  sqsEventTask,
4080
4250
  subWorkflowTask,
4081
4251
  switchTask,
4252
+ taskDefinition,
4082
4253
  taskGenMapper,
4083
4254
  terminateTask,
4084
4255
  waitTaskDuration,