@uipath/uipath-typescript 1.3.1 → 1.3.3

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.cjs CHANGED
@@ -4387,6 +4387,21 @@ function getErrorDetails(error) {
4387
4387
  };
4388
4388
  }
4389
4389
 
4390
+ exports.TaskUserType = void 0;
4391
+ (function (TaskUserType) {
4392
+ /** A user of this type is supposed to be used by a human. */
4393
+ TaskUserType["User"] = "User";
4394
+ /** A user of this type is automatically created when adding a robot, is associated with Robot role and it is used by a robot when communicating with Orchestrator. */
4395
+ TaskUserType["Robot"] = "Robot";
4396
+ /** A user of type Directory User */
4397
+ TaskUserType["DirectoryUser"] = "DirectoryUser";
4398
+ /** A user of type Directory Group */
4399
+ TaskUserType["DirectoryGroup"] = "DirectoryGroup";
4400
+ /** A user of type Directory Robot Account */
4401
+ TaskUserType["DirectoryRobot"] = "DirectoryRobot";
4402
+ /** A user of type Directory External Application */
4403
+ TaskUserType["DirectoryExternalApplication"] = "DirectoryExternalApplication";
4404
+ })(exports.TaskUserType || (exports.TaskUserType = {}));
4390
4405
  /**
4391
4406
  * Types of tasks available in Action Center.
4392
4407
  * Each type determines the task's behavior, UI rendering, and completion requirements.
@@ -4521,6 +4536,8 @@ const QUEUE_ENDPOINTS = {
4521
4536
  const JOB_ENDPOINTS = {
4522
4537
  GET_ALL: `${ORCHESTRATOR_BASE}/odata/Jobs`,
4523
4538
  GET_BY_KEY: (identifier) => `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.GetByKey(identifier=${identifier})`,
4539
+ STOP: `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.StopJobs`,
4540
+ RESUME: `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.ResumeJob`,
4524
4541
  };
4525
4542
  /**
4526
4543
  * Orchestrator Asset Service Endpoints
@@ -5004,6 +5021,7 @@ class TokenManager {
5004
5021
  }
5005
5022
  }
5006
5023
 
5024
+ const GUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
5007
5025
  class AuthService {
5008
5026
  constructor(config, executionContext) {
5009
5027
  // Only use stored OAuth context when completing an active callback (URL has ?code=).
@@ -5287,6 +5305,8 @@ class AuthService {
5287
5305
  */
5288
5306
  getAuthorizationUrl(params) {
5289
5307
  const orgName = this.config.orgName;
5308
+ const isGuid = GUID_REGEX.test(orgName);
5309
+ const acrValues = isGuid ? `tenant:${orgName}` : `tenantName:${orgName}`;
5290
5310
  const queryParams = new URLSearchParams({
5291
5311
  response_type: 'code',
5292
5312
  client_id: params.clientId,
@@ -5296,13 +5316,12 @@ class AuthService {
5296
5316
  scope: params.scope + ' offline_access',
5297
5317
  state: params.state || this.generateCodeVerifier().slice(0, 16)
5298
5318
  });
5299
- return `${this.config.baseUrl}/${orgName}/${IDENTITY_ENDPOINTS.AUTHORIZE}?${queryParams.toString()}`;
5319
+ return `${this.config.baseUrl}/${IDENTITY_ENDPOINTS.AUTHORIZE}?${queryParams.toString()}&acr_values=${acrValues}`;
5300
5320
  }
5301
5321
  /**
5302
5322
  * Exchanges the authorization code for an access token and automatically updates the current token
5303
5323
  */
5304
5324
  async _getAccessToken(params) {
5305
- const orgName = this.config.orgName;
5306
5325
  const body = new URLSearchParams({
5307
5326
  grant_type: 'authorization_code',
5308
5327
  client_id: params.clientId,
@@ -5310,7 +5329,7 @@ class AuthService {
5310
5329
  redirect_uri: params.redirectUri,
5311
5330
  code_verifier: params.codeVerifier
5312
5331
  });
5313
- const response = await fetch(`${this.config.baseUrl}/${orgName}/${IDENTITY_ENDPOINTS.TOKEN}`, {
5332
+ const response = await fetch(`${this.config.baseUrl}/${IDENTITY_ENDPOINTS.TOKEN}`, {
5314
5333
  method: 'POST',
5315
5334
  headers: {
5316
5335
  'Content-Type': 'application/x-www-form-urlencoded'
@@ -5431,7 +5450,7 @@ function normalizeBaseUrl(url) {
5431
5450
  // Connection string placeholder that will be replaced during build
5432
5451
  const CONNECTION_STRING = "InstrumentationKey=a6efa11d-1feb-4508-9738-e13e12dcae5e;IngestionEndpoint=https://westeurope-5.in.applicationinsights.azure.com/;LiveEndpoint=https://westeurope.livediagnostics.monitor.azure.com/;ApplicationId=7c58eb1c-9581-4ba6-839e-11725848a037";
5433
5452
  // SDK Version placeholder
5434
- const SDK_VERSION = "1.3.1";
5453
+ const SDK_VERSION = "1.3.3";
5435
5454
  const VERSION = "Version";
5436
5455
  const SERVICE = "Service";
5437
5456
  const CLOUD_ORGANIZATION_NAME = "CloudOrganizationName";
@@ -6360,7 +6379,11 @@ class ApiClient {
6360
6379
  const text = await response.text();
6361
6380
  return text;
6362
6381
  }
6363
- return response.json();
6382
+ const text = await response.text();
6383
+ if (!text) {
6384
+ return undefined;
6385
+ }
6386
+ return JSON.parse(text);
6364
6387
  }
6365
6388
  catch (error) {
6366
6389
  // If it's already one of our errors, re-throw it
@@ -7263,8 +7286,9 @@ class PaginationHelpers {
7263
7286
  });
7264
7287
  }
7265
7288
  // Extract and transform items from response
7266
- const rawItems = response.data?.[itemsField];
7267
- const totalCount = response.data?.[totalCountField];
7289
+ // Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
7290
+ const rawItems = Array.isArray(response.data) ? response.data : response.data?.[itemsField];
7291
+ const totalCount = Array.isArray(response.data) ? undefined : response.data?.[totalCountField];
7268
7292
  // Parse items - automatically handle JSON string responses
7269
7293
  const parsedItems = typeof rawItems === 'string' ? JSON.parse(rawItems) : (rawItems || []);
7270
7294
  const items = transformFn ? parsedItems.map(transformFn) : parsedItems;
@@ -7460,7 +7484,7 @@ class BaseService {
7460
7484
  const params = this.validateAndPreparePaginationParams(paginationType, paginationOptions);
7461
7485
  // Prepare request parameters based on pagination type
7462
7486
  const requestParams = this.preparePaginationRequestParams(paginationType, params, options.pagination);
7463
- // For POST requests, merge pagination params into body; for GET, use query params
7487
+ // For POST requests, merge pagination params into body and set params to undefined; for GET, use query params
7464
7488
  if (method.toUpperCase() === 'POST') {
7465
7489
  const existingBody = (options.body && typeof options.body === 'object') ? options.body : {};
7466
7490
  options.body = {
@@ -7468,6 +7492,7 @@ class BaseService {
7468
7492
  ...options.params,
7469
7493
  ...requestParams
7470
7494
  };
7495
+ options.params = undefined;
7471
7496
  }
7472
7497
  else {
7473
7498
  // Merge pagination parameters with existing parameters
@@ -7508,7 +7533,6 @@ class BaseService {
7508
7533
  if (params.pageNumber && params.pageNumber > 1) {
7509
7534
  requestParams[offsetParam] = (params.pageNumber - 1) * limitedPageSize;
7510
7535
  }
7511
- // Include total count for ODATA APIs
7512
7536
  {
7513
7537
  requestParams[countParam] = true;
7514
7538
  }
@@ -7536,8 +7560,9 @@ class BaseService {
7536
7560
  const totalCountField = fields.totalCountField || 'totalRecordCount';
7537
7561
  const continuationTokenField = fields.continuationTokenField || 'continuationToken';
7538
7562
  // Extract items and metadata
7539
- const items = response.data[itemsField] || [];
7540
- const totalCount = response.data[totalCountField];
7563
+ // Handle both plain array responses and envelope responses ({ value: [...], totalRecordCount: N })
7564
+ const items = Array.isArray(response.data) ? response.data : (response.data[itemsField] || []);
7565
+ const totalCount = Array.isArray(response.data) ? undefined : response.data[totalCountField];
7541
7566
  const continuationToken = response.data[continuationTokenField];
7542
7567
  // Determine if there are more pages
7543
7568
  const hasMore = this.determineHasMorePages(paginationType, {
@@ -9934,15 +9959,15 @@ class TaskService extends BaseService {
9934
9959
  return createTaskWithMethods(transformedData, this);
9935
9960
  }
9936
9961
  /**
9937
- * Gets users in the given folder who have Tasks.View and Tasks.Edit permissions
9962
+ * Gets task users (users, robots, groups etc) in the given folder who have Tasks.View and Tasks.Edit permissions
9938
9963
  *
9939
9964
  * The method returns either:
9940
- * - An array of users (when no pagination parameters are provided)
9965
+ * - An array of task users (when no pagination parameters are provided)
9941
9966
  * - A paginated result with navigation cursors (when any pagination parameter is provided)
9942
9967
  *
9943
- * @param folderId - The folder ID to get users from
9968
+ * @param folderId - The folder ID to get task users from
9944
9969
  * @param options - Optional query and pagination parameters
9945
- * @returns Promise resolving to an array of users or paginated result
9970
+ * @returns Promise resolving to an array of task users or paginated result
9946
9971
  *
9947
9972
  * @example
9948
9973
  * ```typescript
@@ -9953,7 +9978,7 @@ class TaskService extends BaseService {
9953
9978
  * // Standard array return
9954
9979
  * const users = await tasks.getUsers(123);
9955
9980
  *
9956
- * // Get users with filtering
9981
+ * // Get task users with filtering
9957
9982
  * const users = await tasks.getUsers(123, {
9958
9983
  * filter: "name eq 'abc'"
9959
9984
  * });
@@ -11359,6 +11384,20 @@ function createJobMethods(jobData, service) {
11359
11384
  throw new Error('Job folderId is undefined');
11360
11385
  return service.getOutput(jobData.key, jobData.folderId);
11361
11386
  },
11387
+ async stop(options) {
11388
+ if (!jobData.key)
11389
+ throw new Error('Job key is undefined');
11390
+ if (!jobData.folderId)
11391
+ throw new Error('Job folderId is undefined');
11392
+ return service.stop([jobData.key], jobData.folderId, options);
11393
+ },
11394
+ async resume(options) {
11395
+ if (!jobData.key)
11396
+ throw new Error('Job key is undefined');
11397
+ if (!jobData.folderId)
11398
+ throw new Error('Job folderId is undefined');
11399
+ return service.resume(jobData.key, jobData.folderId, options);
11400
+ },
11362
11401
  };
11363
11402
  }
11364
11403
  /**
@@ -11373,6 +11412,8 @@ function createJobWithMethods(jobData, service) {
11373
11412
  return Object.assign({}, jobData, methods);
11374
11413
  }
11375
11414
 
11415
+ /** Maximum number of job keys to resolve in a single OData filter query */
11416
+ const JOB_KEY_RESOLUTION_CHUNK_SIZE = 50;
11376
11417
  /**
11377
11418
  * Maps fields for Job entities to ensure consistent naming
11378
11419
  * Semantic renames only — case conversion handled by pascalToCamelCaseKeys()
@@ -11431,6 +11472,182 @@ __decorate([
11431
11472
  track('Attachments.GetById')
11432
11473
  ], AttachmentService.prototype, "getById", null);
11433
11474
 
11475
+ /**
11476
+ * Enum for package types
11477
+ */
11478
+ exports.PackageType = void 0;
11479
+ (function (PackageType) {
11480
+ PackageType["Undefined"] = "Undefined";
11481
+ PackageType["Process"] = "Process";
11482
+ PackageType["ProcessOrchestration"] = "ProcessOrchestration";
11483
+ PackageType["WebApp"] = "WebApp";
11484
+ PackageType["Agent"] = "Agent";
11485
+ PackageType["TestAutomationProcess"] = "TestAutomationProcess";
11486
+ PackageType["Api"] = "Api";
11487
+ PackageType["MCPServer"] = "MCPServer";
11488
+ PackageType["BusinessRules"] = "BusinessRules";
11489
+ PackageType["CaseManagement"] = "CaseManagement";
11490
+ PackageType["Flow"] = "Flow";
11491
+ PackageType["Function"] = "Function";
11492
+ })(exports.PackageType || (exports.PackageType = {}));
11493
+ /**
11494
+ * Enum for job priority
11495
+ */
11496
+ exports.JobPriority = void 0;
11497
+ (function (JobPriority) {
11498
+ JobPriority["Low"] = "Low";
11499
+ JobPriority["Normal"] = "Normal";
11500
+ JobPriority["High"] = "High";
11501
+ })(exports.JobPriority || (exports.JobPriority = {}));
11502
+ /**
11503
+ * Enum for target framework
11504
+ */
11505
+ exports.TargetFramework = void 0;
11506
+ (function (TargetFramework) {
11507
+ TargetFramework["Legacy"] = "Legacy";
11508
+ TargetFramework["Windows"] = "Windows";
11509
+ TargetFramework["Portable"] = "Portable";
11510
+ })(exports.TargetFramework || (exports.TargetFramework = {}));
11511
+ /**
11512
+ * Enum for robot size
11513
+ */
11514
+ exports.RobotSize = void 0;
11515
+ (function (RobotSize) {
11516
+ RobotSize["Small"] = "Small";
11517
+ RobotSize["Standard"] = "Standard";
11518
+ RobotSize["Medium"] = "Medium";
11519
+ RobotSize["Large"] = "Large";
11520
+ })(exports.RobotSize || (exports.RobotSize = {}));
11521
+ /**
11522
+ * Enum for remote control access
11523
+ */
11524
+ exports.RemoteControlAccess = void 0;
11525
+ (function (RemoteControlAccess) {
11526
+ RemoteControlAccess["None"] = "None";
11527
+ RemoteControlAccess["ReadOnly"] = "ReadOnly";
11528
+ RemoteControlAccess["Full"] = "Full";
11529
+ })(exports.RemoteControlAccess || (exports.RemoteControlAccess = {}));
11530
+ /**
11531
+ * Enum for process start strategy
11532
+ */
11533
+ exports.StartStrategy = void 0;
11534
+ (function (StartStrategy) {
11535
+ StartStrategy["All"] = "All";
11536
+ StartStrategy["Specific"] = "Specific";
11537
+ StartStrategy["RobotCount"] = "RobotCount";
11538
+ StartStrategy["JobsCount"] = "JobsCount";
11539
+ StartStrategy["ModernJobsCount"] = "ModernJobsCount";
11540
+ })(exports.StartStrategy || (exports.StartStrategy = {}));
11541
+ /**
11542
+ * Enum for package source type
11543
+ */
11544
+ exports.PackageSourceType = void 0;
11545
+ (function (PackageSourceType) {
11546
+ PackageSourceType["Manual"] = "Manual";
11547
+ PackageSourceType["Schedule"] = "Schedule";
11548
+ PackageSourceType["Queue"] = "Queue";
11549
+ PackageSourceType["StudioWeb"] = "StudioWeb";
11550
+ PackageSourceType["IntegrationTrigger"] = "IntegrationTrigger";
11551
+ PackageSourceType["StudioDesktop"] = "StudioDesktop";
11552
+ PackageSourceType["AutomationOpsPipelines"] = "AutomationOpsPipelines";
11553
+ PackageSourceType["Apps"] = "Apps";
11554
+ PackageSourceType["SAP"] = "SAP";
11555
+ PackageSourceType["HttpTrigger"] = "HttpTrigger";
11556
+ PackageSourceType["HttpTriggerWithCallback"] = "HttpTriggerWithCallback";
11557
+ PackageSourceType["RobotAPI"] = "RobotAPI";
11558
+ PackageSourceType["Assistant"] = "Assistant";
11559
+ PackageSourceType["CommandLine"] = "CommandLine";
11560
+ PackageSourceType["RobotNetAPI"] = "RobotNetAPI";
11561
+ PackageSourceType["Autopilot"] = "Autopilot";
11562
+ PackageSourceType["TestManager"] = "TestManager";
11563
+ PackageSourceType["AgentService"] = "AgentService";
11564
+ PackageSourceType["ProcessOrchestration"] = "ProcessOrchestration";
11565
+ PackageSourceType["PluginEcosystem"] = "PluginEcosystem";
11566
+ PackageSourceType["PerformanceTesting"] = "PerformanceTesting";
11567
+ PackageSourceType["AgentHub"] = "AgentHub";
11568
+ PackageSourceType["ApiWorkflow"] = "ApiWorkflow";
11569
+ })(exports.PackageSourceType || (exports.PackageSourceType = {}));
11570
+ /**
11571
+ * Enum for job source type
11572
+ */
11573
+ exports.JobSourceType = void 0;
11574
+ (function (JobSourceType) {
11575
+ JobSourceType["Manual"] = "Manual";
11576
+ JobSourceType["Schedule"] = "Schedule";
11577
+ JobSourceType["Agent"] = "Agent";
11578
+ JobSourceType["Queue"] = "Queue";
11579
+ JobSourceType["StudioWeb"] = "StudioWeb";
11580
+ JobSourceType["IntegrationTrigger"] = "IntegrationTrigger";
11581
+ JobSourceType["StudioDesktop"] = "StudioDesktop";
11582
+ JobSourceType["AutomationOpsPipelines"] = "AutomationOpsPipelines";
11583
+ JobSourceType["Apps"] = "Apps";
11584
+ JobSourceType["SAP"] = "SAP";
11585
+ JobSourceType["HttpTrigger"] = "HttpTrigger";
11586
+ JobSourceType["HttpTriggerCallback"] = "HttpTriggerCallback";
11587
+ JobSourceType["RobotAPI"] = "RobotAPI";
11588
+ JobSourceType["CommandLine"] = "CommandLine";
11589
+ JobSourceType["RobotNetAPI"] = "RobotNetAPI";
11590
+ JobSourceType["Autopilot"] = "Autopilot";
11591
+ JobSourceType["TestManager"] = "TestManager";
11592
+ JobSourceType["AgentService"] = "AgentService";
11593
+ JobSourceType["ProcessOrchestration"] = "ProcessOrchestration";
11594
+ JobSourceType["PluginEcosystem"] = "PluginEcosystem";
11595
+ JobSourceType["PerformanceTesting"] = "PerformanceTesting";
11596
+ JobSourceType["AgentHub"] = "AgentHub";
11597
+ JobSourceType["ApiWorkflow"] = "ApiWorkflow";
11598
+ JobSourceType["CaseManagement"] = "CaseManagement";
11599
+ })(exports.JobSourceType || (exports.JobSourceType = {}));
11600
+ /**
11601
+ * Enum for stop strategy
11602
+ */
11603
+ exports.StopStrategy = void 0;
11604
+ (function (StopStrategy) {
11605
+ StopStrategy["SoftStop"] = "SoftStop";
11606
+ StopStrategy["Kill"] = "Kill";
11607
+ })(exports.StopStrategy || (exports.StopStrategy = {}));
11608
+ /**
11609
+ * Enum for runtime type
11610
+ */
11611
+ exports.RuntimeType = void 0;
11612
+ (function (RuntimeType) {
11613
+ RuntimeType["NonProduction"] = "NonProduction";
11614
+ RuntimeType["Attended"] = "Attended";
11615
+ RuntimeType["Unattended"] = "Unattended";
11616
+ RuntimeType["Development"] = "Development";
11617
+ RuntimeType["Studio"] = "Studio";
11618
+ RuntimeType["RpaDeveloper"] = "RpaDeveloper";
11619
+ RuntimeType["StudioX"] = "StudioX";
11620
+ RuntimeType["CitizenDeveloper"] = "CitizenDeveloper";
11621
+ RuntimeType["Headless"] = "Headless";
11622
+ RuntimeType["StudioPro"] = "StudioPro";
11623
+ RuntimeType["RpaDeveloperPro"] = "RpaDeveloperPro";
11624
+ RuntimeType["TestAutomation"] = "TestAutomation";
11625
+ RuntimeType["AutomationCloud"] = "AutomationCloud";
11626
+ RuntimeType["Serverless"] = "Serverless";
11627
+ RuntimeType["AutomationKit"] = "AutomationKit";
11628
+ RuntimeType["ServerlessTestAutomation"] = "ServerlessTestAutomation";
11629
+ RuntimeType["AutomationCloudTestAutomation"] = "AutomationCloudTestAutomation";
11630
+ RuntimeType["AttendedStudioWeb"] = "AttendedStudioWeb";
11631
+ RuntimeType["Hosting"] = "Hosting";
11632
+ RuntimeType["AssistantWeb"] = "AssistantWeb";
11633
+ RuntimeType["ProcessOrchestration"] = "ProcessOrchestration";
11634
+ RuntimeType["AgentService"] = "AgentService";
11635
+ RuntimeType["AppTest"] = "AppTest";
11636
+ RuntimeType["PerformanceTest"] = "PerformanceTest";
11637
+ RuntimeType["BusinessRule"] = "BusinessRule";
11638
+ RuntimeType["CaseManagement"] = "CaseManagement";
11639
+ RuntimeType["Flow"] = "Flow";
11640
+ })(exports.RuntimeType || (exports.RuntimeType = {}));
11641
+ /**
11642
+ * Enum for job type
11643
+ */
11644
+ exports.JobType = void 0;
11645
+ (function (JobType) {
11646
+ JobType["Unattended"] = "Unattended";
11647
+ JobType["Attended"] = "Attended";
11648
+ JobType["ServerlessGeneric"] = "ServerlessGeneric";
11649
+ })(exports.JobType || (exports.JobType = {}));
11650
+
11434
11651
  /**
11435
11652
  * Service for interacting with UiPath Orchestrator Jobs API
11436
11653
  */
@@ -11600,6 +11817,86 @@ class JobService extends FolderScopedService {
11600
11817
  }
11601
11818
  return null;
11602
11819
  }
11820
+ /**
11821
+ * Stops one or more jobs by their UUID keys.
11822
+ *
11823
+ * Sends a stop request for the specified jobs to the Orchestrator. Throws if any keys cannot be resolved.
11824
+ *
11825
+ * @param jobKeys - Array of job UUID keys to stop (e.g., from {@link JobGetResponse}.key)
11826
+ * @param folderId - The folder ID where the jobs reside (required)
11827
+ * @param options - Optional {@link JobStopOptions} including stop strategy
11828
+ * @returns Promise that resolves when the jobs are stopped successfully, or rejects on failure
11829
+ *
11830
+ * @example
11831
+ * ```typescript
11832
+ * // Stop a single job with default soft stop
11833
+ * await jobs.stop([<jobKey>], <folderId>);
11834
+ * ```
11835
+ *
11836
+ * @example
11837
+ * ```typescript
11838
+ * import { StopStrategy } from '@uipath/uipath-typescript/jobs';
11839
+ *
11840
+ * // Force-kill multiple jobs
11841
+ * await jobs.stop(
11842
+ * [<jobKey1>, <jobKey2>],
11843
+ * <folderId>,
11844
+ * { strategy: StopStrategy.Kill }
11845
+ * );
11846
+ * ```
11847
+ */
11848
+ async stop(jobKeys, folderId, options) {
11849
+ if (jobKeys.length === 0) {
11850
+ return;
11851
+ }
11852
+ if (!folderId) {
11853
+ throw new ValidationError({ message: 'folderId is required for stop' });
11854
+ }
11855
+ const headers = createHeaders({ [FOLDER_ID]: folderId });
11856
+ const strategy = options?.strategy ?? exports.StopStrategy.SoftStop;
11857
+ const jobIds = await this.resolveJobKeys(jobKeys, folderId);
11858
+ await this.stopJobsByIds(jobIds, strategy, headers);
11859
+ }
11860
+ /**
11861
+ * Resumes a suspended job.
11862
+ *
11863
+ * Sends a resume request to a job that is currently in the `Suspended` state.
11864
+ * The job transitions to `Resumed` and then to `Running` as it continues execution. Optionally pass
11865
+ * input arguments to provide data for the resumed workflow.
11866
+ *
11867
+ * @param jobKey - The unique key (GUID) of the suspended job to resume
11868
+ * @param folderId - The folder ID where the job resides
11869
+ * @param options - Optional parameters including input arguments
11870
+ * @returns Promise that resolves when the job is resumed successfully, or rejects on failure
11871
+ *
11872
+ * @example
11873
+ * ```typescript
11874
+ * // Resume a suspended job
11875
+ * await jobs.resume(<jobKey>, <folderId>);
11876
+ * ```
11877
+ *
11878
+ * @example
11879
+ * ```typescript
11880
+ * // Resume with input arguments
11881
+ * await jobs.resume(<jobKey>, <folderId>, {
11882
+ * inputArguments: { approved: true }
11883
+ * });
11884
+ * ```
11885
+ */
11886
+ async resume(jobKey, folderId, options) {
11887
+ if (!jobKey) {
11888
+ throw new ValidationError({ message: 'jobKey is required for resume' });
11889
+ }
11890
+ if (!folderId) {
11891
+ throw new ValidationError({ message: 'folderId is required for resume' });
11892
+ }
11893
+ const headers = createHeaders({ [FOLDER_ID]: folderId });
11894
+ const body = { jobKey };
11895
+ if (options?.inputArguments) {
11896
+ body.inputArguments = JSON.stringify(options.inputArguments);
11897
+ }
11898
+ await this.post(JOB_ENDPOINTS.RESUME, body, { headers });
11899
+ }
11603
11900
  /**
11604
11901
  * Downloads the output file content via the Attachments API.
11605
11902
  * 1. Fetches blob access info from the attachment using AttachmentService
@@ -11634,6 +11931,43 @@ class JobService extends FolderScopedService {
11634
11931
  throw new ServerError({ message: 'Failed to parse job output file as JSON' });
11635
11932
  }
11636
11933
  }
11934
+ /**
11935
+ * Resolves job UUID keys to integer IDs via the getAll method.
11936
+ * Chunks keys into batches to avoid URL length limits.
11937
+ */
11938
+ async resolveJobKeys(jobKeys, folderId) {
11939
+ const uniqueKeys = [...new Set(jobKeys)];
11940
+ const keyToIdMap = new Map();
11941
+ const chunks = [];
11942
+ for (let i = 0; i < uniqueKeys.length; i += JOB_KEY_RESOLUTION_CHUNK_SIZE) {
11943
+ chunks.push(uniqueKeys.slice(i, i + JOB_KEY_RESOLUTION_CHUNK_SIZE));
11944
+ }
11945
+ const results = await Promise.all(chunks.map((chunk) => {
11946
+ const filterValues = chunk.map((key) => `'${key}'`).join(',');
11947
+ return this.getAll({
11948
+ folderId,
11949
+ filter: `key in (${filterValues})`,
11950
+ select: 'id,key',
11951
+ pageSize: chunk.length,
11952
+ });
11953
+ }));
11954
+ for (const response of results) {
11955
+ for (const job of response.items) {
11956
+ keyToIdMap.set(job.key, job.id);
11957
+ }
11958
+ }
11959
+ const missingKeys = uniqueKeys.filter((key) => !keyToIdMap.has(key));
11960
+ if (missingKeys.length > 0) {
11961
+ throw new ValidationError({ message: `Jobs not found for keys: ${missingKeys.join(', ')}` });
11962
+ }
11963
+ return uniqueKeys.map((key) => keyToIdMap.get(key));
11964
+ }
11965
+ /**
11966
+ * Calls the StopJobs OData action with resolved integer IDs.
11967
+ */
11968
+ async stopJobsByIds(jobIds, strategy, headers) {
11969
+ await this.post(JOB_ENDPOINTS.STOP, { jobIds, strategy }, { headers });
11970
+ }
11637
11971
  }
11638
11972
  __decorate([
11639
11973
  track('Jobs.GetAll')
@@ -11644,6 +11978,12 @@ __decorate([
11644
11978
  __decorate([
11645
11979
  track('Jobs.GetOutput')
11646
11980
  ], JobService.prototype, "getOutput", null);
11981
+ __decorate([
11982
+ track('Jobs.Stop')
11983
+ ], JobService.prototype, "stop", null);
11984
+ __decorate([
11985
+ track('Jobs.Resume')
11986
+ ], JobService.prototype, "resume", null);
11647
11987
 
11648
11988
  /**
11649
11989
  * Enum for job sub-state
@@ -11854,182 +12194,6 @@ __decorate([
11854
12194
  track('Processes.GetById')
11855
12195
  ], ProcessService.prototype, "getById", null);
11856
12196
 
11857
- /**
11858
- * Enum for package types
11859
- */
11860
- exports.PackageType = void 0;
11861
- (function (PackageType) {
11862
- PackageType["Undefined"] = "Undefined";
11863
- PackageType["Process"] = "Process";
11864
- PackageType["ProcessOrchestration"] = "ProcessOrchestration";
11865
- PackageType["WebApp"] = "WebApp";
11866
- PackageType["Agent"] = "Agent";
11867
- PackageType["TestAutomationProcess"] = "TestAutomationProcess";
11868
- PackageType["Api"] = "Api";
11869
- PackageType["MCPServer"] = "MCPServer";
11870
- PackageType["BusinessRules"] = "BusinessRules";
11871
- PackageType["CaseManagement"] = "CaseManagement";
11872
- PackageType["Flow"] = "Flow";
11873
- PackageType["Function"] = "Function";
11874
- })(exports.PackageType || (exports.PackageType = {}));
11875
- /**
11876
- * Enum for job priority
11877
- */
11878
- exports.JobPriority = void 0;
11879
- (function (JobPriority) {
11880
- JobPriority["Low"] = "Low";
11881
- JobPriority["Normal"] = "Normal";
11882
- JobPriority["High"] = "High";
11883
- })(exports.JobPriority || (exports.JobPriority = {}));
11884
- /**
11885
- * Enum for target framework
11886
- */
11887
- exports.TargetFramework = void 0;
11888
- (function (TargetFramework) {
11889
- TargetFramework["Legacy"] = "Legacy";
11890
- TargetFramework["Windows"] = "Windows";
11891
- TargetFramework["Portable"] = "Portable";
11892
- })(exports.TargetFramework || (exports.TargetFramework = {}));
11893
- /**
11894
- * Enum for robot size
11895
- */
11896
- exports.RobotSize = void 0;
11897
- (function (RobotSize) {
11898
- RobotSize["Small"] = "Small";
11899
- RobotSize["Standard"] = "Standard";
11900
- RobotSize["Medium"] = "Medium";
11901
- RobotSize["Large"] = "Large";
11902
- })(exports.RobotSize || (exports.RobotSize = {}));
11903
- /**
11904
- * Enum for remote control access
11905
- */
11906
- exports.RemoteControlAccess = void 0;
11907
- (function (RemoteControlAccess) {
11908
- RemoteControlAccess["None"] = "None";
11909
- RemoteControlAccess["ReadOnly"] = "ReadOnly";
11910
- RemoteControlAccess["Full"] = "Full";
11911
- })(exports.RemoteControlAccess || (exports.RemoteControlAccess = {}));
11912
- /**
11913
- * Enum for process start strategy
11914
- */
11915
- exports.StartStrategy = void 0;
11916
- (function (StartStrategy) {
11917
- StartStrategy["All"] = "All";
11918
- StartStrategy["Specific"] = "Specific";
11919
- StartStrategy["RobotCount"] = "RobotCount";
11920
- StartStrategy["JobsCount"] = "JobsCount";
11921
- StartStrategy["ModernJobsCount"] = "ModernJobsCount";
11922
- })(exports.StartStrategy || (exports.StartStrategy = {}));
11923
- /**
11924
- * Enum for package source type
11925
- */
11926
- exports.PackageSourceType = void 0;
11927
- (function (PackageSourceType) {
11928
- PackageSourceType["Manual"] = "Manual";
11929
- PackageSourceType["Schedule"] = "Schedule";
11930
- PackageSourceType["Queue"] = "Queue";
11931
- PackageSourceType["StudioWeb"] = "StudioWeb";
11932
- PackageSourceType["IntegrationTrigger"] = "IntegrationTrigger";
11933
- PackageSourceType["StudioDesktop"] = "StudioDesktop";
11934
- PackageSourceType["AutomationOpsPipelines"] = "AutomationOpsPipelines";
11935
- PackageSourceType["Apps"] = "Apps";
11936
- PackageSourceType["SAP"] = "SAP";
11937
- PackageSourceType["HttpTrigger"] = "HttpTrigger";
11938
- PackageSourceType["HttpTriggerWithCallback"] = "HttpTriggerWithCallback";
11939
- PackageSourceType["RobotAPI"] = "RobotAPI";
11940
- PackageSourceType["Assistant"] = "Assistant";
11941
- PackageSourceType["CommandLine"] = "CommandLine";
11942
- PackageSourceType["RobotNetAPI"] = "RobotNetAPI";
11943
- PackageSourceType["Autopilot"] = "Autopilot";
11944
- PackageSourceType["TestManager"] = "TestManager";
11945
- PackageSourceType["AgentService"] = "AgentService";
11946
- PackageSourceType["ProcessOrchestration"] = "ProcessOrchestration";
11947
- PackageSourceType["PluginEcosystem"] = "PluginEcosystem";
11948
- PackageSourceType["PerformanceTesting"] = "PerformanceTesting";
11949
- PackageSourceType["AgentHub"] = "AgentHub";
11950
- PackageSourceType["ApiWorkflow"] = "ApiWorkflow";
11951
- })(exports.PackageSourceType || (exports.PackageSourceType = {}));
11952
- /**
11953
- * Enum for job source type
11954
- */
11955
- exports.JobSourceType = void 0;
11956
- (function (JobSourceType) {
11957
- JobSourceType["Manual"] = "Manual";
11958
- JobSourceType["Schedule"] = "Schedule";
11959
- JobSourceType["Agent"] = "Agent";
11960
- JobSourceType["Queue"] = "Queue";
11961
- JobSourceType["StudioWeb"] = "StudioWeb";
11962
- JobSourceType["IntegrationTrigger"] = "IntegrationTrigger";
11963
- JobSourceType["StudioDesktop"] = "StudioDesktop";
11964
- JobSourceType["AutomationOpsPipelines"] = "AutomationOpsPipelines";
11965
- JobSourceType["Apps"] = "Apps";
11966
- JobSourceType["SAP"] = "SAP";
11967
- JobSourceType["HttpTrigger"] = "HttpTrigger";
11968
- JobSourceType["HttpTriggerCallback"] = "HttpTriggerCallback";
11969
- JobSourceType["RobotAPI"] = "RobotAPI";
11970
- JobSourceType["CommandLine"] = "CommandLine";
11971
- JobSourceType["RobotNetAPI"] = "RobotNetAPI";
11972
- JobSourceType["Autopilot"] = "Autopilot";
11973
- JobSourceType["TestManager"] = "TestManager";
11974
- JobSourceType["AgentService"] = "AgentService";
11975
- JobSourceType["ProcessOrchestration"] = "ProcessOrchestration";
11976
- JobSourceType["PluginEcosystem"] = "PluginEcosystem";
11977
- JobSourceType["PerformanceTesting"] = "PerformanceTesting";
11978
- JobSourceType["AgentHub"] = "AgentHub";
11979
- JobSourceType["ApiWorkflow"] = "ApiWorkflow";
11980
- JobSourceType["CaseManagement"] = "CaseManagement";
11981
- })(exports.JobSourceType || (exports.JobSourceType = {}));
11982
- /**
11983
- * Enum for stop strategy
11984
- */
11985
- exports.StopStrategy = void 0;
11986
- (function (StopStrategy) {
11987
- StopStrategy["SoftStop"] = "SoftStop";
11988
- StopStrategy["Kill"] = "Kill";
11989
- })(exports.StopStrategy || (exports.StopStrategy = {}));
11990
- /**
11991
- * Enum for runtime type
11992
- */
11993
- exports.RuntimeType = void 0;
11994
- (function (RuntimeType) {
11995
- RuntimeType["NonProduction"] = "NonProduction";
11996
- RuntimeType["Attended"] = "Attended";
11997
- RuntimeType["Unattended"] = "Unattended";
11998
- RuntimeType["Development"] = "Development";
11999
- RuntimeType["Studio"] = "Studio";
12000
- RuntimeType["RpaDeveloper"] = "RpaDeveloper";
12001
- RuntimeType["StudioX"] = "StudioX";
12002
- RuntimeType["CitizenDeveloper"] = "CitizenDeveloper";
12003
- RuntimeType["Headless"] = "Headless";
12004
- RuntimeType["StudioPro"] = "StudioPro";
12005
- RuntimeType["RpaDeveloperPro"] = "RpaDeveloperPro";
12006
- RuntimeType["TestAutomation"] = "TestAutomation";
12007
- RuntimeType["AutomationCloud"] = "AutomationCloud";
12008
- RuntimeType["Serverless"] = "Serverless";
12009
- RuntimeType["AutomationKit"] = "AutomationKit";
12010
- RuntimeType["ServerlessTestAutomation"] = "ServerlessTestAutomation";
12011
- RuntimeType["AutomationCloudTestAutomation"] = "AutomationCloudTestAutomation";
12012
- RuntimeType["AttendedStudioWeb"] = "AttendedStudioWeb";
12013
- RuntimeType["Hosting"] = "Hosting";
12014
- RuntimeType["AssistantWeb"] = "AssistantWeb";
12015
- RuntimeType["ProcessOrchestration"] = "ProcessOrchestration";
12016
- RuntimeType["AgentService"] = "AgentService";
12017
- RuntimeType["AppTest"] = "AppTest";
12018
- RuntimeType["PerformanceTest"] = "PerformanceTest";
12019
- RuntimeType["BusinessRule"] = "BusinessRule";
12020
- RuntimeType["CaseManagement"] = "CaseManagement";
12021
- RuntimeType["Flow"] = "Flow";
12022
- })(exports.RuntimeType || (exports.RuntimeType = {}));
12023
- /**
12024
- * Enum for job type
12025
- */
12026
- exports.JobType = void 0;
12027
- (function (JobType) {
12028
- JobType["Unattended"] = "Unattended";
12029
- JobType["Attended"] = "Attended";
12030
- JobType["ServerlessGeneric"] = "ServerlessGeneric";
12031
- })(exports.JobType || (exports.JobType = {}));
12032
-
12033
12197
  /**
12034
12198
  * Maps fields for Queue entities to ensure consistent naming
12035
12199
  */
@@ -12515,6 +12679,19 @@ const UserSettingsMap = {
12515
12679
  ...CommonFieldMap
12516
12680
  };
12517
12681
 
12682
+ /**
12683
+ * Status of a feedback entry in the review workflow
12684
+ */
12685
+ exports.FeedbackStatus = void 0;
12686
+ (function (FeedbackStatus) {
12687
+ /** Feedback is awaiting review */
12688
+ FeedbackStatus[FeedbackStatus["Pending"] = 0] = "Pending";
12689
+ /** Feedback has been approved and confirmed */
12690
+ FeedbackStatus[FeedbackStatus["Approved"] = 1] = "Approved";
12691
+ /** Feedback has been dismissed */
12692
+ FeedbackStatus[FeedbackStatus["Dismissed"] = 2] = "Dismissed";
12693
+ })(exports.FeedbackStatus || (exports.FeedbackStatus = {}));
12694
+
12518
12695
  /**
12519
12696
  * Asset resolution utilities for UiPath Coded Apps
12520
12697
  *