@uipath/vertical-solutions-tool 1.201.0-preview.115 → 1.201.0-preview.121

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.js CHANGED
@@ -3,7 +3,7 @@ import {
3
3
  Command,
4
4
  metadata,
5
5
  registerCommands
6
- } from "./tool-zacw4j6n.js";
6
+ } from "./tool-67vgxg3x.js";
7
7
  import"./tool-9qecd4wb.js";
8
8
  import"./tool-4pvh3k50.js";
9
9
  import"./tool-5arsyj36.js";
@@ -6876,7 +6876,7 @@ var require_src6 = __commonJS((exports) => {
6876
6876
  var package_default = {
6877
6877
  name: "@uipath/vertical-solutions-tool",
6878
6878
  license: "MIT",
6879
- version: "1.201.0-preview.115",
6879
+ version: "1.201.0-preview.121",
6880
6880
  description: "Scaffold and generate Vertical Solution projects.",
6881
6881
  private: false,
6882
6882
  repository: {
@@ -6921,7 +6921,7 @@ var package_default = {
6921
6921
  "@uipath/auth": "workspace:*",
6922
6922
  "@uipath/common": "workspace:*",
6923
6923
  "@uipath/filesystem": "workspace:*",
6924
- "@uipath/uipath-typescript": "^1.5.4",
6924
+ "@uipath/uipath-typescript": "^1.6.1",
6925
6925
  "@inquirer/prompts": "^8.3.2",
6926
6926
  "@types/node": "^25.5.2",
6927
6927
  commander: "^14.0.3",
@@ -6983,6 +6983,7 @@ var TLS_ERROR_CODES = new Set([
6983
6983
  ]);
6984
6984
  var TLS_INSTRUCTIONS = "The server's TLS certificate could not be verified. Most often a " + "corporate proxy/firewall re-signs HTTPS with a root CA that Node does " + "not trust — set NODE_EXTRA_CA_CERTS to that CA's PEM file (and HTTPS_PROXY " + "if you connect through a proxy). If the certificate is instead expired or " + "its hostname does not match, fix the endpoint URL or the system clock. " + "Then retry.";
6985
6985
  var NETWORK_INSTRUCTIONS = "Could not reach the UiPath service. Check your network connection and " + "VPN, confirm any HTTP_PROXY/HTTPS_PROXY/NO_PROXY settings are correct, " + "then retry.";
6986
+ var LOCAL_PERMISSION_ERROR_CODES = new Set(["EACCES", "EPERM", "EROFS"]);
6986
6987
  // ../../node_modules/commander/esm.mjs
6987
6988
  var import__ = __toESM(require_commander(), 1);
6988
6989
  var {
@@ -8160,6 +8161,7 @@ var CLI_ERROR_CODES = [
8160
8161
  "invalid_argument",
8161
8162
  "authentication_required",
8162
8163
  "permission_denied",
8164
+ "local_permission_denied",
8163
8165
  "not_found",
8164
8166
  "rate_limited",
8165
8167
  "network_error",
@@ -8595,12 +8597,16 @@ function defaultErrorCodeForHttpStatus(status) {
8595
8597
  return "server_error";
8596
8598
  return;
8597
8599
  }
8600
+ var LOCAL_PERMISSION_TEXT_PATTERN = /(?:\b|\()(?:EACCES|EPERM|EROFS)(?::\s|\))/;
8598
8601
  function defaultErrorCodeForFailure(data) {
8599
8602
  if (data.Result === RESULTS.Failure) {
8600
8603
  const status = data.Context?.httpStatus ?? parseHttpStatusFromMessage(data.Message);
8601
8604
  const errorCode = defaultErrorCodeForHttpStatus(status);
8602
8605
  if (errorCode)
8603
8606
  return errorCode;
8607
+ if (status === undefined && (LOCAL_PERMISSION_TEXT_PATTERN.test(data.Message) || LOCAL_PERMISSION_TEXT_PATTERN.test(data.Instructions))) {
8608
+ return "local_permission_denied";
8609
+ }
8604
8610
  }
8605
8611
  return defaultErrorCodeForResult(data.Result);
8606
8612
  }
@@ -9103,11 +9109,10 @@ var ScreenLogger;
9103
9109
  })(ScreenLogger ||= {});
9104
9110
  // ../common/src/sdk-user-agent.ts
9105
9111
  var sdkUserAgentHostToken = singleton("SdkUserAgentHostToken");
9106
- // ../common/src/tool-provider.ts
9107
- var factorySlot = singleton("PackagerFactoryProvider");
9108
- var moduleSlot = singleton("ToolModuleProvider");
9109
9112
  // ../common/src/telemetry/ship-succeeded.ts
9110
9113
  var shippedKeysSlot = singleton("ShipSucceededDedupeKeys");
9114
+ // ../common/src/tool-provider.ts
9115
+ var factorySlot = singleton("PackagerFactoryProvider");
9111
9116
  // ../../node_modules/@inquirer/checkbox/node_modules/@inquirer/core/dist/lib/key.js
9112
9117
  var keybindings = ["emacs", "vim"];
9113
9118
  var keybindingLookup = new Set(keybindings);
@@ -30908,6 +30913,9 @@ var getAuthContext = async (options = {}) => {
30908
30913
  tenantName
30909
30914
  };
30910
30915
  };
30916
+ // ../auth/src/tenantSelection.ts
30917
+ var IDENTIFIER_STATUSES = new Set([400, 403, 404]);
30918
+
30911
30919
  // ../auth/src/selectTenant.ts
30912
30920
  var TENANT_SELECTION_REQUIRED_CODE = "TENANT_SELECTION_REQUIRED";
30913
30921
  var INVALID_TENANT_CODE = "INVALID_TENANT";
@@ -35082,7 +35090,23 @@ var TASK_ENDPOINTS = {
35082
35090
  COMPLETE_GENERIC_TASK: `${ORCHESTRATOR_BASE}/tasks/GenericTasks/CompleteTask`,
35083
35091
  GET_TASK_FORM_BY_ID: `${ORCHESTRATOR_BASE}/forms/TaskForms/GetTaskFormById`,
35084
35092
  GET_GENERIC_TASK_BY_ID: `${ORCHESTRATOR_BASE}/tasks/GenericTasks/GetTaskDataById`,
35085
- GET_APP_TASK_BY_ID: `${ORCHESTRATOR_BASE}/tasks/AppTasks/GetAppTaskById`
35093
+ GET_GENERIC_TASK_BY_KEY: `${ORCHESTRATOR_BASE}/tasks/GenericTasks/GetTaskDataByKey`,
35094
+ GET_APP_TASK_BY_ID: `${ORCHESTRATOR_BASE}/tasks/AppTasks/GetAppTaskById`,
35095
+ SAVE_TASK_TAGS: `${ORCHESTRATOR_BASE}/tasks/GenericTasks/SaveTaskTags`,
35096
+ SAVE_TASK_DATA: `${ORCHESTRATOR_BASE}/tasks/GenericTasks/SaveTaskData`,
35097
+ SAVE_FORM_TASK_DATA: `${ORCHESTRATOR_BASE}/forms/TaskForms/SaveTaskData`,
35098
+ SAVE_APP_TASK_DATA: `${ORCHESTRATOR_BASE}/tasks/AppTasks/SaveAppTasksData`,
35099
+ EDIT_TASK_METADATA: `${ORCHESTRATOR_BASE}/odata/Tasks/UiPath.Server.Configuration.OData.EditTaskMetadata`
35100
+ };
35101
+ var TASK_CATALOG_ENDPOINTS = {
35102
+ GET_ALL: `${ORCHESTRATOR_BASE}/odata/TaskCatalogs`,
35103
+ GET_BY_ID: (id) => `${ORCHESTRATOR_BASE}/odata/TaskCatalogs(${id})`,
35104
+ CREATE: `${ORCHESTRATOR_BASE}/odata/TaskCatalogs/UiPath.Server.Configuration.OData.CreateTaskCatalog`,
35105
+ UPDATE: (id) => `${ORCHESTRATOR_BASE}/odata/TaskCatalogs(${id})/UiPath.Server.Configuration.OData.UpdateTaskCatalog`
35106
+ };
35107
+ var TASK_NOTE_ENDPOINTS = {
35108
+ GET_BY_TASK_ID: (taskId) => `${ORCHESTRATOR_BASE}/odata/TaskNotes/UiPath.Server.Configuration.OData.GetByTaskId(taskId=${taskId})`,
35109
+ CREATE: `${ORCHESTRATOR_BASE}/odata/TaskNotes/UiPath.Server.Configuration.OData.CreateTaskNote`
35086
35110
  };
35087
35111
  var BUCKET_ENDPOINTS = {
35088
35112
  GET_BY_FOLDER: `${ORCHESTRATOR_BASE}/odata/Buckets`,
@@ -35109,7 +35133,11 @@ var JOB_ENDPOINTS = {
35109
35133
  GET_BY_KEY: (identifier) => `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.GetByKey(identifier=${identifier})`,
35110
35134
  STOP: `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.StopJobs`,
35111
35135
  RESUME: `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.ResumeJob`,
35112
- RESTART: `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.RestartJob`
35136
+ RESTART: `${ORCHESTRATOR_BASE}/odata/Jobs/UiPath.Server.Configuration.OData.RestartJob`,
35137
+ ATTACHMENTS: {
35138
+ GET_BY_JOB_KEY: `${ORCHESTRATOR_BASE}/api/JobAttachments/GetByJobKey`,
35139
+ LINK: `${ORCHESTRATOR_BASE}/api/JobAttachments/Post`
35140
+ }
35113
35141
  };
35114
35142
  var ASSET_ENDPOINTS = {
35115
35143
  GET_BY_FOLDER: `${ORCHESTRATOR_BASE}/odata/Assets/UiPath.Server.Configuration.OData.GetFiltered`,
@@ -35117,7 +35145,8 @@ var ASSET_ENDPOINTS = {
35117
35145
  GET_BY_ID: (id) => `${ORCHESTRATOR_BASE}/odata/Assets(${id})`
35118
35146
  };
35119
35147
  var ORCHESTRATOR_ATTACHMENT_ENDPOINTS = {
35120
- GET_BY_ID: (id) => `${ORCHESTRATOR_BASE}/odata/Attachments(${id})`
35148
+ GET_BY_ID: (id) => `${ORCHESTRATOR_BASE}/odata/Attachments(${id})`,
35149
+ CREATE: `${ORCHESTRATOR_BASE}/odata/Attachments`
35121
35150
  };
35122
35151
  var MAESTRO_ENDPOINTS = {
35123
35152
  PROCESSES: {
@@ -35180,6 +35209,7 @@ var DATA_FABRIC_ENDPOINTS = {
35180
35209
  DELETE: (entityId) => `${DATAFABRIC_BASE}/api/Entity/${entityId}`,
35181
35210
  UPDATE_METADATA: (entityId) => `${DATAFABRIC_BASE}/api/Entity/${entityId}/metadata`,
35182
35211
  QUERY_BY_ID: (entityId) => `${DATAFABRIC_BASE}/api/EntityService/entity/${entityId}/query`,
35212
+ QUERY_BY_NAME: (entityName) => `${DATAFABRIC_BASE}/api/EntityService/${entityName}/query`,
35183
35213
  BULK_UPLOAD_BY_ID: (entityId) => `${DATAFABRIC_BASE}/api/EntityService/entity/${entityId}/bulk-upload`,
35184
35214
  DOWNLOAD_ATTACHMENT: (entityId, recordId, fieldName) => `${DATAFABRIC_BASE}/api/Attachment/entity/${entityId}/${recordId}/${fieldName}`,
35185
35215
  UPLOAD_ATTACHMENT: (entityId, recordId, fieldName) => `${DATAFABRIC_BASE}/api/Attachment/entity/${entityId}/${recordId}/${fieldName}`,
@@ -35422,7 +35452,7 @@ class EmbeddedTokenManager {
35422
35452
  this.cancelRefresh?.();
35423
35453
  }
35424
35454
  }
35425
- var SDK_VERSION = "1.5.5";
35455
+ var SDK_VERSION = "1.6.1";
35426
35456
  var CLOUD_ROLE_NAME = "uipath-ts-sdk";
35427
35457
  var SDK_SERVICE_NAME = "UiPath.TypeScript.Sdk";
35428
35458
  var SDK_LOGGER_NAME = "uipath-ts-sdk-telemetry";
@@ -35701,11 +35731,9 @@ class TokenManager {
35701
35731
  return token;
35702
35732
  }
35703
35733
  }
35704
- var GUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
35705
35734
 
35706
35735
  class AuthService {
35707
35736
  constructor(config3, executionContext) {
35708
- this.skipAcrValues = false;
35709
35737
  const isCallback = AuthService.isInOAuthCallback();
35710
35738
  const storedContext = isCallback ? AuthService.getStoredOAuthContext() : null;
35711
35739
  if (!isCallback) {
@@ -35768,9 +35796,6 @@ class AuthService {
35768
35796
  getTokenManager() {
35769
35797
  return this.tokenManager;
35770
35798
  }
35771
- setMultiLogin() {
35772
- this.skipAcrValues = true;
35773
- }
35774
35799
  async authenticate(config3) {
35775
35800
  if (!isBrowser2) {
35776
35801
  return false;
@@ -35886,9 +35911,6 @@ class AuthService {
35886
35911
  }
35887
35912
  }
35888
35913
  getAuthorizationUrl(params) {
35889
- const orgName = this.config.orgName;
35890
- const isGuid = GUID_REGEX.test(orgName);
35891
- const acrValues = isGuid ? `tenant:${orgName}` : `tenantName:${orgName}`;
35892
35914
  const queryParams = new URLSearchParams({
35893
35915
  response_type: "code",
35894
35916
  client_id: params.clientId,
@@ -35898,8 +35920,7 @@ class AuthService {
35898
35920
  scope: params.scope + " offline_access",
35899
35921
  state: params.state || this.generateCodeVerifier().slice(0, 16)
35900
35922
  });
35901
- const authorizeUrl = `${this.config.baseUrl}/${IDENTITY_ENDPOINTS.AUTHORIZE}?${queryParams.toString()}`;
35902
- return this.skipAcrValues ? authorizeUrl : `${authorizeUrl}&acr_values=${acrValues}`;
35923
+ return `${this.config.baseUrl}/${IDENTITY_ENDPOINTS.AUTHORIZE}?${queryParams.toString()}`;
35903
35924
  }
35904
35925
  async _getAccessToken(params) {
35905
35926
  const body = new URLSearchParams({
@@ -36063,7 +36084,6 @@ var _UiPath_config;
36063
36084
  var _UiPath_authService;
36064
36085
  var _UiPath_initialized;
36065
36086
  var _UiPath_partialConfig;
36066
- var _UiPath_multiLogin;
36067
36087
  var _UiPath_metaFolderKey;
36068
36088
  var _UiPath_metaOrgId;
36069
36089
  var _UiPath_metaTenantId;
@@ -36076,7 +36096,6 @@ var UiPath$1 = class UiPath {
36076
36096
  _UiPath_authService.set(this, undefined);
36077
36097
  _UiPath_initialized.set(this, false);
36078
36098
  _UiPath_partialConfig.set(this, undefined);
36079
- _UiPath_multiLogin.set(this, false);
36080
36099
  _UiPath_metaFolderKey.set(this, undefined);
36081
36100
  _UiPath_metaOrgId.set(this, undefined);
36082
36101
  _UiPath_metaTenantId.set(this, undefined);
@@ -36118,10 +36137,6 @@ var UiPath$1 = class UiPath {
36118
36137
  throw new Error(`Failed to initialize UiPath SDK: ${errorMessage2}`);
36119
36138
  }
36120
36139
  }
36121
- setMultiLogin() {
36122
- __classPrivateFieldSet(this, _UiPath_multiLogin, true, "f");
36123
- __classPrivateFieldGet(this, _UiPath_authService, "f")?.setMultiLogin();
36124
- }
36125
36140
  isInitialized() {
36126
36141
  return __classPrivateFieldGet(this, _UiPath_initialized, "f");
36127
36142
  }
@@ -36168,7 +36183,7 @@ var UiPath$1 = class UiPath {
36168
36183
  __classPrivateFieldGet(this, _UiPath_authService, "f")?.updateToken(tokenInfo);
36169
36184
  }
36170
36185
  };
36171
- _UiPath_config = new WeakMap, _UiPath_authService = new WeakMap, _UiPath_initialized = new WeakMap, _UiPath_partialConfig = new WeakMap, _UiPath_multiLogin = new WeakMap, _UiPath_metaFolderKey = new WeakMap, _UiPath_metaOrgId = new WeakMap, _UiPath_metaTenantId = new WeakMap, _UiPath_instances = new WeakSet, _UiPath_initializeWithConfig = function _UiPath_initializeWithConfig2(config3) {
36186
+ _UiPath_config = new WeakMap, _UiPath_authService = new WeakMap, _UiPath_initialized = new WeakMap, _UiPath_partialConfig = new WeakMap, _UiPath_metaFolderKey = new WeakMap, _UiPath_metaOrgId = new WeakMap, _UiPath_metaTenantId = new WeakMap, _UiPath_instances = new WeakSet, _UiPath_initializeWithConfig = function _UiPath_initializeWithConfig2(config3) {
36172
36187
  validateConfig(config3);
36173
36188
  const hasSecretAuth = hasSecretConfig(config3);
36174
36189
  const hasOAuthAuth = hasOAuthConfig(config3);
@@ -36183,9 +36198,6 @@ _UiPath_config = new WeakMap, _UiPath_authService = new WeakMap, _UiPath_initial
36183
36198
  });
36184
36199
  const executionContext = new ExecutionContext;
36185
36200
  __classPrivateFieldSet(this, _UiPath_authService, new AuthService(internalConfig, executionContext), "f");
36186
- if (__classPrivateFieldGet(this, _UiPath_multiLogin, "f")) {
36187
- __classPrivateFieldGet(this, _UiPath_authService, "f").setMultiLogin();
36188
- }
36189
36201
  __classPrivateFieldSet(this, _UiPath_config, internalConfig, "f");
36190
36202
  SDKInternalsRegistry.set(this, {
36191
36203
  config: internalConfig,
@@ -36325,7 +36337,7 @@ class ErrorResponseParser {
36325
36337
  }
36326
36338
  async parse(response) {
36327
36339
  try {
36328
- const errorBody = await response.json();
36340
+ const errorBody = await response.clone().json();
36329
36341
  const strategy = this.strategies.find((s) => s.canParse(errorBody));
36330
36342
  return strategy.parse(errorBody, response);
36331
36343
  } catch {
@@ -36410,22 +36422,20 @@ class ApiClient {
36410
36422
  async getValidToken() {
36411
36423
  return this.tokenManager.getValidToken();
36412
36424
  }
36413
- async getDefaultHeaders() {
36425
+ async getDefaultHeaders(includeDefaultContentType) {
36414
36426
  const token = await this.getValidToken();
36415
- return {
36416
- Authorization: `Bearer ${token}`,
36417
- "Content-Type": CONTENT_TYPES.JSON,
36418
- ...this.clientConfig.headers
36419
- };
36427
+ const base = { Authorization: `Bearer ${token}` };
36428
+ if (includeDefaultContentType) {
36429
+ base["Content-Type"] = CONTENT_TYPES.JSON;
36430
+ }
36431
+ return { ...base, ...this.clientConfig.headers };
36420
36432
  }
36421
36433
  async request(method, path3, options = {}) {
36422
36434
  const normalizedPath = path3.startsWith("/") ? path3.substring(1) : path3;
36423
36435
  const url2 = new URL(`${this.config.orgName}/${this.config.tenantName}/${normalizedPath}`, this.config.baseUrl).toString();
36424
36436
  const isFormData = options.body instanceof FormData;
36425
- const defaultHeaders = await this.getDefaultHeaders();
36426
- if (isFormData) {
36427
- delete defaultHeaders["Content-Type"];
36428
- }
36437
+ const isBodyless = isFormData || method === "GET" || method === "HEAD";
36438
+ const defaultHeaders = await this.getDefaultHeaders(!isBodyless);
36429
36439
  const traceId = crypto.randomUUID().replace(/-/g, "");
36430
36440
  const spanId = crypto.randomUUID().replace(/-/g, "").slice(0, 16);
36431
36441
  const traceparentValue = `00-${traceId}-${spanId}-01`;
@@ -37342,6 +37352,7 @@ var DataDirectionType;
37342
37352
  var JoinType;
37343
37353
  (function(JoinType2) {
37344
37354
  JoinType2["LeftJoin"] = "LeftJoin";
37355
+ JoinType2["InnerJoin"] = "InnerJoin";
37345
37356
  })(JoinType || (JoinType = {}));
37346
37357
  function createParams(paramsObj = {}) {
37347
37358
  const params = {};
@@ -37383,7 +37394,8 @@ var EntityMap = {
37383
37394
  createTime: "createdTime",
37384
37395
  updateTime: "updatedTime",
37385
37396
  sqlType: "fieldDataType",
37386
- fieldDefinition: "fieldMetaData"
37397
+ fieldDefinition: "fieldMetaData",
37398
+ isInsightsEnabled: "isAnalyticsEnabled"
37387
37399
  };
37388
37400
  var EntitySchemaFieldTypeMap = {
37389
37401
  [EntityFieldDataType.UUID]: { sqlTypeName: SqlFieldType.UNIQUEIDENTIFIER, fieldDisplayType: FieldDisplayType.Basic },
@@ -37474,6 +37486,21 @@ var EntityFieldTypeMap = {
37474
37486
  [SqlFieldType.MULTILINE]: EntityFieldDataType.MULTILINE_TEXT,
37475
37487
  [SqlFieldType.MULTILINE_MAX]: EntityFieldDataType.MULTILINE_MAX
37476
37488
  };
37489
+ var JOIN_TYPE_WIRE = {
37490
+ [JoinType.LeftJoin]: "LEFT",
37491
+ [JoinType.InnerJoin]: "INNER"
37492
+ };
37493
+ var qualifyJoinField = (entityName, field) => field.includes(".") ? field : `${entityName}.${field}`;
37494
+ function toWireJoin(join, baseEntityName) {
37495
+ return {
37496
+ type: JOIN_TYPE_WIRE[join.joinType ?? JoinType.LeftJoin],
37497
+ entity: join.relatedEntityName,
37498
+ on: {
37499
+ left: qualifyJoinField(join.entityName ?? baseEntityName, join.joinFieldName),
37500
+ right: qualifyJoinField(join.relatedEntityName, join.relatedFieldName)
37501
+ }
37502
+ };
37503
+ }
37477
37504
 
37478
37505
  class EntityService extends BaseService {
37479
37506
  async getById(id, options) {
@@ -37580,11 +37607,22 @@ class EntityService extends BaseService {
37580
37607
  message: `A maximum of ${MAX_QUERY_JOINS} joins is supported per query (received ${options.joins.length})`
37581
37608
  });
37582
37609
  }
37610
+ if (options?.joins && options.joins.length > 0 && !options.selectedFields?.length && !options.aggregates?.length) {
37611
+ throw new ValidationError3({
37612
+ message: 'Join queries require selectedFields or aggregates — reference fields as "<EntityName>.<FieldName>" (e.g. "Customer.name")'
37613
+ });
37614
+ }
37583
37615
  const { folderKey, expansionLevel, ...rest } = options ?? {};
37616
+ let getEndpoint = () => DATA_FABRIC_ENDPOINTS.ENTITY.QUERY_BY_ID(id);
37617
+ if (options?.joins && options.joins.length > 0) {
37618
+ const baseEntityName = await this.resolveEntityName(id, folderKey);
37619
+ rest.joins = options.joins.map((join) => toWireJoin(join, baseEntityName));
37620
+ getEndpoint = () => DATA_FABRIC_ENDPOINTS.ENTITY.QUERY_BY_NAME(baseEntityName);
37621
+ }
37584
37622
  const downstreamOptions = options === undefined ? undefined : rest;
37585
37623
  return PaginationHelpers.getAll({
37586
37624
  serviceAccess: this.createPaginationServiceAccess(),
37587
- getEndpoint: () => DATA_FABRIC_ENDPOINTS.ENTITY.QUERY_BY_ID(id),
37625
+ getEndpoint,
37588
37626
  method: HTTP_METHODS.POST,
37589
37627
  headers: createHeaders({ [FOLDER_KEY]: folderKey }),
37590
37628
  queryParams: createParams({ expansionLevel }),
@@ -37687,7 +37725,7 @@ class EntityService extends BaseService {
37687
37725
  const raw = entityResponse.data;
37688
37726
  let fields = (raw.fields ?? []).filter((f) => !f.isSystemField && !f.isPrimaryKey);
37689
37727
  if (options.removeFields?.length) {
37690
- const removeSet = new Set(options.removeFields.map((r) => r.fieldName));
37728
+ const removeSet = new Set(options.removeFields.map((r) => r.name));
37691
37729
  fields = fields.filter((f) => !removeSet.has(f.name));
37692
37730
  }
37693
37731
  if (options.updateFields?.length) {
@@ -37743,6 +37781,10 @@ class EntityService extends BaseService {
37743
37781
  }
37744
37782
  }, { headers: folderHeaders });
37745
37783
  }
37784
+ async resolveEntityName(id, folderKey) {
37785
+ const response = await this.get(DATA_FABRIC_ENDPOINTS.ENTITY.GET_BY_ID(id), { headers: createHeaders({ [FOLDER_KEY]: folderKey }) });
37786
+ return transformData(response.data, EntityMap).name;
37787
+ }
37746
37788
  applyFieldMappings(metadata) {
37747
37789
  this.mapFieldTypes(metadata);
37748
37790
  this.mapExternalFields(metadata);
@@ -37825,20 +37867,20 @@ class EntityService extends BaseService {
37825
37867
  }
37826
37868
  buildSchemaFieldPayload(field, refMeta) {
37827
37869
  const fieldType = field.type ?? EntityFieldDataType.STRING;
37828
- this.validateFieldConstraints(fieldType, field, field.fieldName);
37870
+ this.validateFieldConstraints(fieldType, field, field.name);
37829
37871
  const isRelationship = fieldType === EntityFieldDataType.RELATIONSHIP;
37830
37872
  const isFile = fieldType === EntityFieldDataType.FILE;
37831
37873
  if (isRelationship && (!field.referenceEntityId || !field.referenceFieldId)) {
37832
37874
  throw new ValidationError3({
37833
- message: `Field '${field.fieldName}' of type ${fieldType} requires both referenceEntityId and referenceFieldId (UUIDs of the target entity and field).`
37875
+ message: `Field '${field.name}' of type ${fieldType} requires both referenceEntityId and referenceFieldId (UUIDs of the target entity and field).`
37834
37876
  });
37835
37877
  }
37836
37878
  const mapping = EntitySchemaFieldTypeMap[fieldType];
37837
37879
  const referenceEntityBody = refMeta?.referenceEntity ?? (field.referenceEntityId === undefined ? undefined : { id: field.referenceEntityId });
37838
37880
  const referenceChoiceSetBody = refMeta?.referenceChoiceSet;
37839
37881
  return {
37840
- name: field.fieldName,
37841
- displayName: field.displayName ?? field.fieldName,
37882
+ name: field.name,
37883
+ displayName: field.displayName ?? field.name,
37842
37884
  sqlType: {
37843
37885
  name: mapping.sqlTypeName,
37844
37886
  ...this.buildSqlTypeConstraints(fieldType, field)
@@ -38657,6 +38699,13 @@ function createCaseInstanceMethods(instanceData, service) {
38657
38699
  if (!instanceData.instanceId)
38658
38700
  throw new Error("Case instance ID is undefined");
38659
38701
  return service.getStagesSlaSummary({ caseInstanceId: instanceData.instanceId });
38702
+ },
38703
+ async getVariables(options) {
38704
+ if (!instanceData.instanceId)
38705
+ throw new Error("Case instance ID is undefined");
38706
+ if (!instanceData.folderKey)
38707
+ throw new Error("Case instance folder key is undefined");
38708
+ return service.getVariables(instanceData.instanceId, instanceData.folderKey, options);
38660
38709
  }
38661
38710
  };
38662
38711
  }
@@ -38793,6 +38842,100 @@ class BpmnHelpers {
38793
38842
  };
38794
38843
  }
38795
38844
  }
38845
+ var INPUT_OUTPUT_REGEX = /<uipath:inputOutput\s+([^/]+?)(?:\/(?:>)?|>[\s\S]*?<\/uipath:inputOutput>)/g;
38846
+ var BPMN_ELEMENT_REGEX = /<bpmn:\w+\s+([^>]+)/g;
38847
+ function getVariableSource(bpmnXml) {
38848
+ const elementNameMap = new Map;
38849
+ const elementMatches = bpmnXml.matchAll(BPMN_ELEMENT_REGEX);
38850
+ for (const match of elementMatches) {
38851
+ const attributes = match[1];
38852
+ const idMatch = attributes.match(/id="([^"]+)"/);
38853
+ const nameMatch = attributes.match(/name="([^"]+)"/);
38854
+ if (idMatch && nameMatch) {
38855
+ elementNameMap.set(idMatch[1], nameMatch[1]);
38856
+ }
38857
+ }
38858
+ return elementNameMap;
38859
+ }
38860
+ function parseBpmnVariables(bpmnXml) {
38861
+ const variableMap = new Map;
38862
+ const variableSourceMap = getVariableSource(bpmnXml);
38863
+ const inputOutputMatches = bpmnXml.matchAll(INPUT_OUTPUT_REGEX);
38864
+ for (const match of inputOutputMatches) {
38865
+ const attributes = match[1];
38866
+ const idMatch = attributes.match(/id="([^"]+)"/);
38867
+ const nameMatch = attributes.match(/name="([^"]+)"/);
38868
+ const typeMatch = attributes.match(/type="([^"]+)"/);
38869
+ const elementIdMatch = attributes.match(/elementId="([^"]+)"/);
38870
+ if (idMatch && nameMatch && typeMatch && elementIdMatch) {
38871
+ const elementId = elementIdMatch[1];
38872
+ const sourceName = variableSourceMap.get(elementId) || elementId;
38873
+ const metadata = {
38874
+ id: idMatch[1],
38875
+ name: nameMatch[1],
38876
+ type: typeMatch[1],
38877
+ elementId,
38878
+ source: sourceName
38879
+ };
38880
+ variableMap.set(metadata.id, metadata);
38881
+ }
38882
+ }
38883
+ return variableMap;
38884
+ }
38885
+ function transformGlobalVariables(globals, variableMetadata) {
38886
+ const enrichedGlobalVariables = [];
38887
+ if (globals && typeof globals === "object") {
38888
+ for (const [variableId, value] of Object.entries(globals)) {
38889
+ const metadata = variableMetadata.get(variableId);
38890
+ if (metadata) {
38891
+ enrichedGlobalVariables.push({
38892
+ id: metadata.id,
38893
+ name: metadata.name,
38894
+ type: metadata.type,
38895
+ elementId: metadata.elementId,
38896
+ source: metadata.source,
38897
+ value
38898
+ });
38899
+ }
38900
+ }
38901
+ }
38902
+ return enrichedGlobalVariables;
38903
+ }
38904
+ async function fetchInstanceVariables(httpGet, instanceId, folderKey, options) {
38905
+ const queryParams = options?.parentElementId ? { parentElementId: options.parentElementId } : undefined;
38906
+ const [bpmnResult, variablesResult] = await Promise.allSettled([
38907
+ httpGet(MAESTRO_ENDPOINTS.INSTANCES.GET_BPMN(instanceId), {
38908
+ headers: createHeaders({
38909
+ [FOLDER_KEY]: folderKey,
38910
+ Accept: CONTENT_TYPES.XML
38911
+ })
38912
+ }),
38913
+ httpGet(MAESTRO_ENDPOINTS.INSTANCES.GET_VARIABLES(instanceId), {
38914
+ headers: createHeaders({ [FOLDER_KEY]: folderKey }),
38915
+ params: queryParams
38916
+ })
38917
+ ]);
38918
+ if (variablesResult.status === "rejected") {
38919
+ throw variablesResult.reason;
38920
+ }
38921
+ const response = variablesResult.value;
38922
+ let variableMetadata = new Map;
38923
+ try {
38924
+ if (bpmnResult.status === "rejected") {
38925
+ throw bpmnResult.reason;
38926
+ }
38927
+ variableMetadata = parseBpmnVariables(bpmnResult.value.data);
38928
+ } catch (error52) {
38929
+ console.warn(`Failed to fetch BPMN metadata for instance ${instanceId} :`, error52);
38930
+ }
38931
+ const enrichedGlobalVariables = transformGlobalVariables(response.data.globals, variableMetadata);
38932
+ return {
38933
+ elements: response.data.elements,
38934
+ globalVariables: enrichedGlobalVariables,
38935
+ instanceId: response.data.instanceId,
38936
+ parentElementId: response.data.parentElementId
38937
+ };
38938
+ }
38796
38939
  var ProcessInstanceMap = {
38797
38940
  startedTimeUtc: "startedTime",
38798
38941
  completedTimeUtc: "completedTime",
@@ -38913,85 +39056,8 @@ class ProcessInstancesService extends BaseService {
38913
39056
  data: response.data
38914
39057
  };
38915
39058
  }
38916
- parseBpmnVariables(bpmnXml) {
38917
- const variableMap = new Map;
38918
- const variableSourceMap = this.getVariableSource(bpmnXml);
38919
- const inputOutputRegex = /<uipath:inputOutput\s+([^/]+?)(?:\/(?:>)?|>[\s\S]*?<\/uipath:inputOutput>)/g;
38920
- const inputOutputMatches = bpmnXml.matchAll(inputOutputRegex);
38921
- for (const match of inputOutputMatches) {
38922
- const attributes = match[1];
38923
- const idMatch = attributes.match(/id="([^"]+)"/);
38924
- const nameMatch = attributes.match(/name="([^"]+)"/);
38925
- const typeMatch = attributes.match(/type="([^"]+)"/);
38926
- const elementIdMatch = attributes.match(/elementId="([^"]+)"/);
38927
- if (idMatch && nameMatch && typeMatch && elementIdMatch) {
38928
- const elementId = elementIdMatch[1];
38929
- const sourceName = variableSourceMap.get(elementId) || elementId;
38930
- const metadata = {
38931
- id: idMatch[1],
38932
- name: nameMatch[1],
38933
- type: typeMatch[1],
38934
- elementId,
38935
- source: sourceName
38936
- };
38937
- variableMap.set(metadata.id, metadata);
38938
- }
38939
- }
38940
- return variableMap;
38941
- }
38942
- getVariableSource(bpmnXml) {
38943
- const elementNameMap = new Map;
38944
- const elementRegex = /<bpmn:\w+\s+([^>]*id="([^"]+)"[^>]*name="([^"]+)"[^>]*)/g;
38945
- const elementMatches = bpmnXml.matchAll(elementRegex);
38946
- for (const match of elementMatches) {
38947
- const elementId = match[2];
38948
- const elementName = match[3];
38949
- if (elementId && elementName) {
38950
- elementNameMap.set(elementId, elementName);
38951
- }
38952
- }
38953
- return elementNameMap;
38954
- }
38955
- transformGlobalVariables(globals, variableMetadata) {
38956
- const enrichedGlobalVariables = [];
38957
- if (globals && typeof globals === "object") {
38958
- for (const [variableId, value] of Object.entries(globals)) {
38959
- const metadata = variableMetadata.get(variableId);
38960
- if (metadata) {
38961
- enrichedGlobalVariables.push({
38962
- id: metadata.id,
38963
- name: metadata.name,
38964
- type: metadata.type,
38965
- elementId: metadata.elementId,
38966
- source: metadata.source,
38967
- value
38968
- });
38969
- }
38970
- }
38971
- }
38972
- return enrichedGlobalVariables;
38973
- }
38974
39059
  async getVariables(instanceId, folderKey, options) {
38975
- let variableMetadata = new Map;
38976
- try {
38977
- const bpmnXml = await this.getBpmn(instanceId, folderKey);
38978
- variableMetadata = this.parseBpmnVariables(bpmnXml);
38979
- } catch (error52) {
38980
- console.warn(`Failed to fetch BPMN metadata for instance ${instanceId} :`, error52);
38981
- }
38982
- const queryParams = options?.parentElementId ? { parentElementId: options.parentElementId } : undefined;
38983
- const response = await this.get(MAESTRO_ENDPOINTS.INSTANCES.GET_VARIABLES(instanceId), {
38984
- headers: createHeaders({ [FOLDER_KEY]: folderKey }),
38985
- params: queryParams
38986
- });
38987
- const enrichedGlobalVariables = this.transformGlobalVariables(response.data.globals, variableMetadata);
38988
- const variablesResponse = {
38989
- elements: response.data.elements,
38990
- globalVariables: enrichedGlobalVariables,
38991
- instanceId: response.data.instanceId,
38992
- parentElementId: response.data.parentElementId
38993
- };
38994
- return variablesResponse;
39060
+ return fetchInstanceVariables((path3, opts) => this.get(path3, opts ?? {}), instanceId, folderKey, options);
38995
39061
  }
38996
39062
  async getIncidents(instanceId, folderKey) {
38997
39063
  const rawResponse = await this.get(MAESTRO_ENDPOINTS.INCIDENTS.GET_BY_INSTANCE(instanceId), {
@@ -39313,15 +39379,141 @@ function createTaskMethods(taskData, service) {
39313
39379
  data: options.data,
39314
39380
  action: options.action
39315
39381
  }, folderId);
39382
+ },
39383
+ async saveData(data, options) {
39384
+ if (!taskData.id)
39385
+ throw new Error("Task ID is undefined");
39386
+ return service.saveData(taskData.id, data, resolveTaskFolder({ ...options, type: taskData.type }, taskData.folderId));
39387
+ },
39388
+ async saveTags(tags, options) {
39389
+ if (!taskData.id)
39390
+ throw new Error("Task ID is undefined");
39391
+ return service.saveTags(taskData.id, tags, resolveTaskFolder(options, taskData.folderId));
39392
+ },
39393
+ async editMetadata(options) {
39394
+ if (!taskData.id)
39395
+ throw new Error("Task ID is undefined");
39396
+ return service.editMetadata(taskData.id, resolveTaskFolder(options, taskData.folderId));
39397
+ },
39398
+ getComments(options) {
39399
+ if (!taskData.id)
39400
+ throw new Error("Task ID is undefined");
39401
+ return service.getComments(taskData.id, resolveTaskFolder(options, taskData.folderId));
39402
+ },
39403
+ async createComment(text, options) {
39404
+ if (!taskData.id)
39405
+ throw new Error("Task ID is undefined");
39406
+ return service.createComment(taskData.id, text, resolveTaskFolder(options, taskData.folderId));
39316
39407
  }
39317
39408
  };
39318
39409
  }
39410
+ function resolveTaskFolder(options, folderId) {
39411
+ if (options && (options.folderId !== undefined || options.folderKey !== undefined || options.folderPath !== undefined)) {
39412
+ return options;
39413
+ }
39414
+ return { ...options, folderId };
39415
+ }
39319
39416
  function createTaskWithMethods(taskData, service) {
39320
39417
  const methods = createTaskMethods(taskData, service);
39321
39418
  return Object.assign({}, taskData, methods);
39322
39419
  }
39420
+ function resolveFolderHeaders(input) {
39421
+ const { folderId, folderKey, folderPath, resourceType, fallbackFolderKey } = input;
39422
+ const trimmedKey = folderKey?.trim();
39423
+ const trimmedPath = folderPath?.trim();
39424
+ const headers = {};
39425
+ if (folderId !== undefined) {
39426
+ headers[FOLDER_ID] = folderId;
39427
+ }
39428
+ if (trimmedKey) {
39429
+ headers[FOLDER_KEY] = trimmedKey;
39430
+ }
39431
+ if (trimmedPath) {
39432
+ headers[FOLDER_PATH_ENCODED] = encodeFolderPathHeader(trimmedPath);
39433
+ }
39434
+ if (Object.keys(headers).length === 0) {
39435
+ if (!fallbackFolderKey) {
39436
+ throw new ValidationError3({
39437
+ message: `${resourceType} requires folder context: pass \`folderId\`, \`folderKey\`, or \`folderPath\`, or initialize the SDK with a folder context.`
39438
+ });
39439
+ }
39440
+ headers[FOLDER_KEY] = fallbackFolderKey;
39441
+ }
39442
+ return createHeaders(headers);
39443
+ }
39444
+ function validateName(resourceType, name) {
39445
+ if (!name) {
39446
+ throw new ValidationError3({
39447
+ message: `${resourceType} name is required and cannot be empty.`
39448
+ });
39449
+ }
39450
+ const trimmed = name.trim();
39451
+ if (!trimmed) {
39452
+ throw new ValidationError3({
39453
+ message: `${resourceType} name is required and cannot be empty.`
39454
+ });
39455
+ }
39456
+ return trimmed;
39457
+ }
39458
+ var SINGLE_QUOTE_RE = /'/g;
39459
+
39460
+ class FolderScopedService extends BaseService {
39461
+ async _getByFolder(endpoint, folderId, options = {}, transformFn) {
39462
+ const headers = createHeaders({ [FOLDER_ID]: folderId });
39463
+ const keysToPrefix = Object.keys(options);
39464
+ const apiOptions = addPrefixToKeys(options, ODATA_PREFIX, keysToPrefix);
39465
+ const response = await this.get(endpoint, {
39466
+ params: apiOptions,
39467
+ headers
39468
+ });
39469
+ if (transformFn) {
39470
+ return response.data?.value.map(transformFn);
39471
+ }
39472
+ return response.data?.value;
39473
+ }
39474
+ async getByNameLookup(resourceType, endpoint, name, options, transform3, responseFieldMap) {
39475
+ const validatedName = validateName(resourceType, name);
39476
+ const { folderId, folderKey, folderPath, ...queryOptions } = options;
39477
+ const headers = resolveFolderHeaders({
39478
+ folderId,
39479
+ folderKey,
39480
+ folderPath,
39481
+ resourceType: `${resourceType}.getByName`,
39482
+ fallbackFolderKey: this.config.folderKey
39483
+ });
39484
+ const apiFieldOptions = responseFieldMap ? transformOptions(queryOptions, responseFieldMap) : queryOptions;
39485
+ const apiOptions = {
39486
+ ...addPrefixToKeys(apiFieldOptions, ODATA_PREFIX, Object.keys(apiFieldOptions)),
39487
+ $filter: `Name eq '${validatedName.replace(SINGLE_QUOTE_RE, "''")}'`,
39488
+ $top: "1"
39489
+ };
39490
+ const response = await this.get(endpoint, {
39491
+ headers,
39492
+ params: apiOptions
39493
+ });
39494
+ const items = response.data?.value;
39495
+ if (!items?.length) {
39496
+ const folderHint = describeFolderForError(folderId, folderKey, folderPath);
39497
+ throw new NotFoundError({
39498
+ message: `${resourceType} '${validatedName}' not found${folderHint}.`
39499
+ });
39500
+ }
39501
+ return transform3(items[0]);
39502
+ }
39503
+ }
39504
+ function describeFolderForError(folderId, folderKey, folderPath) {
39505
+ const path3 = folderPath?.trim();
39506
+ if (path3)
39507
+ return ` in folder '${path3}'`;
39508
+ const key = folderKey?.trim();
39509
+ if (key)
39510
+ return ` in folder (key: ${key})`;
39511
+ if (typeof folderId === "number")
39512
+ return ` in folder (id: ${folderId})`;
39513
+ return "";
39514
+ }
39323
39515
 
39324
- class TaskService extends BaseService {
39516
+ class TaskService extends FolderScopedService {
39325
39517
  constructor() {
39326
39518
  super(...arguments);
39327
39519
  this.processTaskParameters = (options, folderId) => {
@@ -39464,6 +39656,113 @@ class TaskService extends BaseService {
39464
39656
  data: options
39465
39657
  };
39466
39658
  }
39659
+ async getDataById(id, options) {
39660
+ if (!id) {
39661
+ throw new ValidationError3({ message: "id is required for getDataById" });
39662
+ }
39663
+ const headers = this.resolveFolder(options, "Tasks.getDataById");
39664
+ return this.fetchTaskData(TASK_ENDPOINTS.GET_GENERIC_TASK_BY_ID, { taskId: id }, headers);
39665
+ }
39666
+ async getDataByKey(key, options) {
39667
+ if (!key) {
39668
+ throw new ValidationError3({ message: "key is required for getDataByKey" });
39669
+ }
39670
+ const headers = this.resolveFolder(options, "Tasks.getDataByKey");
39671
+ return this.fetchTaskData(TASK_ENDPOINTS.GET_GENERIC_TASK_BY_KEY, { taskKey: key }, headers);
39672
+ }
39673
+ async fetchTaskData(endpoint, params, headers) {
39674
+ const response = await this.get(endpoint, { params, headers });
39675
+ const { data: userPayload, ...systemFields2 } = response.data;
39676
+ const transformed = transformData(systemFields2, TaskMap);
39677
+ const withStatus = applyDataTransforms(transformed, { field: "status", valueMap: TaskStatusMap });
39678
+ return { ...withStatus, data: userPayload ?? null };
39679
+ }
39680
+ async saveData(taskId, data, options) {
39681
+ if (!taskId) {
39682
+ throw new ValidationError3({ message: "taskId is required for saveData" });
39683
+ }
39684
+ const headers = this.resolveFolder(options, "Tasks.saveData");
39685
+ let type = options?.type;
39686
+ if (!type) {
39687
+ const task = await this.fetchTaskData(TASK_ENDPOINTS.GET_GENERIC_TASK_BY_ID, { taskId }, headers);
39688
+ type = task.type;
39689
+ }
39690
+ let endpoint;
39691
+ switch (type) {
39692
+ case TaskType.Form:
39693
+ endpoint = TASK_ENDPOINTS.SAVE_FORM_TASK_DATA;
39694
+ break;
39695
+ case TaskType.App:
39696
+ endpoint = TASK_ENDPOINTS.SAVE_APP_TASK_DATA;
39697
+ break;
39698
+ default:
39699
+ endpoint = TASK_ENDPOINTS.SAVE_TASK_DATA;
39700
+ break;
39701
+ }
39702
+ await this.put(endpoint, { TaskId: taskId, Data: data }, { headers });
39703
+ }
39704
+ async saveTags(taskId, tags, options) {
39705
+ if (!taskId) {
39706
+ throw new ValidationError3({ message: "taskId is required for saveTags" });
39707
+ }
39708
+ const headers = this.resolveFolder(options, "Tasks.saveTags");
39709
+ const body = { TaskId: taskId, Tags: tags.map((tag) => camelToPascalCaseKeys(tag)) };
39710
+ await this.put(TASK_ENDPOINTS.SAVE_TASK_TAGS, body, { headers });
39711
+ }
39712
+ async editMetadata(taskId, options) {
39713
+ if (!taskId) {
39714
+ throw new ValidationError3({ message: "taskId is required for editMetadata" });
39715
+ }
39716
+ const { folderId, folderKey, folderPath, expand: _expand, select: _select, unlinkTaskCatalog, ...metadata } = options ?? {};
39717
+ const headers = resolveFolderHeaders({ folderId, folderKey, folderPath, resourceType: "Tasks.editMetadata", fallbackFolderKey: this.config.folderKey });
39718
+ const body = { taskId, ...metadata, ...unlinkTaskCatalog !== undefined ? { unsetTaskCatalog: unlinkTaskCatalog } : {} };
39719
+ await this.post(TASK_ENDPOINTS.EDIT_TASK_METADATA, camelToPascalCaseKeys(body), { headers });
39720
+ }
39721
+ async getComments(taskId, options) {
39722
+ if (!taskId) {
39723
+ throw new ValidationError3({ message: "taskId is required for getComments" });
39724
+ }
39725
+ const { folderId, folderKey, folderPath, ...queryOptions } = options ?? {};
39726
+ const headers = resolveFolderHeaders({ folderId, folderKey, folderPath, resourceType: "Tasks.getComments", fallbackFolderKey: this.config.folderKey });
39727
+ const transformComment = (comment) => transformData(pascalToCamelCaseKeys(comment), TaskMap);
39728
+ const apiOptions = transformOptions(queryOptions, TaskMap);
39729
+ return PaginationHelpers.getAll({
39730
+ serviceAccess: this.createPaginationServiceAccess(),
39731
+ getEndpoint: () => TASK_NOTE_ENDPOINTS.GET_BY_TASK_ID(taskId),
39732
+ headers,
39733
+ transformFn: transformComment,
39734
+ pagination: {
39735
+ paginationType: PaginationType.OFFSET,
39736
+ itemsField: ODATA_PAGINATION.ITEMS_FIELD,
39737
+ totalCountField: ODATA_PAGINATION.TOTAL_COUNT_FIELD,
39738
+ paginationParams: {
39739
+ pageSizeParam: ODATA_OFFSET_PARAMS.PAGE_SIZE_PARAM,
39740
+ offsetParam: ODATA_OFFSET_PARAMS.OFFSET_PARAM,
39741
+ countParam: ODATA_OFFSET_PARAMS.COUNT_PARAM
39742
+ }
39743
+ }
39744
+ }, apiOptions);
39745
+ }
39746
+ async createComment(taskId, text, options) {
39747
+ if (!taskId) {
39748
+ throw new ValidationError3({ message: "taskId is required for createComment" });
39749
+ }
39750
+ if (!text) {
39751
+ throw new ValidationError3({ message: "text is required for createComment" });
39752
+ }
39753
+ const headers = this.resolveFolder(options, "Tasks.createComment");
39754
+ const response = await this.post(TASK_NOTE_ENDPOINTS.CREATE, camelToPascalCaseKeys({ taskId, text }), { headers });
39755
+ return transformData(pascalToCamelCaseKeys(response.data), TaskMap);
39756
+ }
39757
+ resolveFolder(options, resourceType) {
39758
+ return resolveFolderHeaders({
39759
+ folderId: options?.folderId,
39760
+ folderKey: options?.folderKey,
39761
+ folderPath: options?.folderPath,
39762
+ resourceType,
39763
+ fallbackFolderKey: this.config.folderKey
39764
+ });
39765
+ }
39467
39766
  getByTaskType(id, folderId, taskType, options = {}) {
39468
39767
  const endpoint = TASK_TYPE_ENDPOINTS[taskType];
39469
39768
  const extraParams = taskType === TaskType.Form ? { expandOnFormLayout: true, ...options } : options;
@@ -39511,6 +39810,27 @@ __decorate([
39511
39810
  __decorate([
39512
39811
  track("Tasks.Complete")
39513
39812
  ], TaskService.prototype, "complete", null);
39813
+ __decorate([
39814
+ track("Tasks.GetDataById")
39815
+ ], TaskService.prototype, "getDataById", null);
39816
+ __decorate([
39817
+ track("Tasks.GetDataByKey")
39818
+ ], TaskService.prototype, "getDataByKey", null);
39819
+ __decorate([
39820
+ track("Tasks.SaveData")
39821
+ ], TaskService.prototype, "saveData", null);
39822
+ __decorate([
39823
+ track("Tasks.SaveTags")
39824
+ ], TaskService.prototype, "saveTags", null);
39825
+ __decorate([
39826
+ track("Tasks.EditMetadata")
39827
+ ], TaskService.prototype, "editMetadata", null);
39828
+ __decorate([
39829
+ track("Tasks.GetComments")
39830
+ ], TaskService.prototype, "getComments", null);
39831
+ __decorate([
39832
+ track("Tasks.CreateComment")
39833
+ ], TaskService.prototype, "createComment", null);
39514
39834
 
39515
39835
  class CaseInstancesService extends BaseService {
39516
39836
  constructor(instance) {
@@ -39663,6 +39983,9 @@ class CaseInstancesService extends BaseService {
39663
39983
  }
39664
39984
  return transformedResponse;
39665
39985
  }
39986
+ async getVariables(instanceId, folderKey, options) {
39987
+ return fetchInstanceVariables((path3, opts) => this.get(path3, opts ?? {}), instanceId, folderKey, options);
39988
+ }
39666
39989
  async getStages(caseInstanceId, folderKey) {
39667
39990
  const [executionHistoryResponse, caseJsonResponse] = await Promise.allSettled([
39668
39991
  this.getExecutionHistory(caseInstanceId, folderKey),
@@ -39815,6 +40138,9 @@ __decorate([
39815
40138
  __decorate([
39816
40139
  track("CaseInstances.GetExecutionHistory")
39817
40140
  ], CaseInstancesService.prototype, "getExecutionHistory", null);
40141
+ __decorate([
40142
+ track("CaseInstances.GetVariables")
40143
+ ], CaseInstancesService.prototype, "getVariables", null);
39818
40144
  __decorate([
39819
40145
  track("CaseInstances.GetStages")
39820
40146
  ], CaseInstancesService.prototype, "getStages", null);
@@ -39827,101 +40153,6 @@ __decorate([
39827
40153
  __decorate([
39828
40154
  track("CaseInstances.GetStagesSlaSummary")
39829
40155
  ], CaseInstancesService.prototype, "getStagesSlaSummary", null);
39830
- function validateName(resourceType, name) {
39831
- if (!name) {
39832
- throw new ValidationError3({
39833
- message: `${resourceType} name is required and cannot be empty.`
39834
- });
39835
- }
39836
- const trimmed = name.trim();
39837
- if (!trimmed) {
39838
- throw new ValidationError3({
39839
- message: `${resourceType} name is required and cannot be empty.`
39840
- });
39841
- }
39842
- return trimmed;
39843
- }
39844
- function resolveFolderHeaders(input) {
39845
- const { folderId, folderKey, folderPath, resourceType, fallbackFolderKey } = input;
39846
- const trimmedKey = folderKey?.trim();
39847
- const trimmedPath = folderPath?.trim();
39848
- const headers = {};
39849
- if (folderId !== undefined) {
39850
- headers[FOLDER_ID] = folderId;
39851
- }
39852
- if (trimmedKey) {
39853
- headers[FOLDER_KEY] = trimmedKey;
39854
- }
39855
- if (trimmedPath) {
39856
- headers[FOLDER_PATH_ENCODED] = encodeFolderPathHeader(trimmedPath);
39857
- }
39858
- if (Object.keys(headers).length === 0) {
39859
- if (!fallbackFolderKey) {
39860
- throw new ValidationError3({
39861
- message: `${resourceType} requires folder context: pass \`folderId\`, \`folderKey\`, or \`folderPath\`, or initialize the SDK with a folder context.`
39862
- });
39863
- }
39864
- headers[FOLDER_KEY] = fallbackFolderKey;
39865
- }
39866
- return createHeaders(headers);
39867
- }
39868
- var SINGLE_QUOTE_RE = /'/g;
39869
-
39870
- class FolderScopedService extends BaseService {
39871
- async _getByFolder(endpoint, folderId, options = {}, transformFn) {
39872
- const headers = createHeaders({ [FOLDER_ID]: folderId });
39873
- const keysToPrefix = Object.keys(options);
39874
- const apiOptions = addPrefixToKeys(options, ODATA_PREFIX, keysToPrefix);
39875
- const response = await this.get(endpoint, {
39876
- params: apiOptions,
39877
- headers
39878
- });
39879
- if (transformFn) {
39880
- return response.data?.value.map(transformFn);
39881
- }
39882
- return response.data?.value;
39883
- }
39884
- async getByNameLookup(resourceType, endpoint, name, options, transform3, responseFieldMap) {
39885
- const validatedName = validateName(resourceType, name);
39886
- const { folderId, folderKey, folderPath, ...queryOptions } = options;
39887
- const headers = resolveFolderHeaders({
39888
- folderId,
39889
- folderKey,
39890
- folderPath,
39891
- resourceType: `${resourceType}.getByName`,
39892
- fallbackFolderKey: this.config.folderKey
39893
- });
39894
- const apiFieldOptions = responseFieldMap ? transformOptions(queryOptions, responseFieldMap) : queryOptions;
39895
- const apiOptions = {
39896
- ...addPrefixToKeys(apiFieldOptions, ODATA_PREFIX, Object.keys(apiFieldOptions)),
39897
- $filter: `Name eq '${validatedName.replace(SINGLE_QUOTE_RE, "''")}'`,
39898
- $top: "1"
39899
- };
39900
- const response = await this.get(endpoint, {
39901
- headers,
39902
- params: apiOptions
39903
- });
39904
- const items = response.data?.value;
39905
- if (!items?.length) {
39906
- const folderHint = describeFolderForError(folderId, folderKey, folderPath);
39907
- throw new NotFoundError({
39908
- message: `${resourceType} '${validatedName}' not found${folderHint}.`
39909
- });
39910
- }
39911
- return transform3(items[0]);
39912
- }
39913
- }
39914
- function describeFolderForError(folderId, folderKey, folderPath) {
39915
- const path3 = folderPath?.trim();
39916
- if (path3)
39917
- return ` in folder '${path3}'`;
39918
- const key = folderKey?.trim();
39919
- if (key)
39920
- return ` in folder (key: ${key})`;
39921
- if (typeof folderId === "number")
39922
- return ` in folder (id: ${folderId})`;
39923
- return "";
39924
- }
39925
40156
  var AssetValueScope;
39926
40157
  (function(AssetValueScope2) {
39927
40158
  AssetValueScope2["Global"] = "Global";
@@ -40368,6 +40599,20 @@ function createJobMethods(jobData, service) {
40368
40599
  if (!jobData.folderId)
40369
40600
  throw new Error("Job folderId is undefined");
40370
40601
  return service.restart(jobData.key, jobData.folderId);
40602
+ },
40603
+ async getAttachments() {
40604
+ if (!jobData.key)
40605
+ throw new Error("Job key is undefined");
40606
+ if (!jobData.folderId)
40607
+ throw new Error("Job folderId is undefined");
40608
+ return service.getAttachments(jobData.key, jobData.folderId);
40609
+ },
40610
+ async linkAttachment(attachmentId, options) {
40611
+ if (!jobData.key)
40612
+ throw new Error("Job key is undefined");
40613
+ if (!jobData.folderId)
40614
+ throw new Error("Job folderId is undefined");
40615
+ return service.linkAttachment(attachmentId, jobData.key, jobData.folderId, options);
40371
40616
  }
40372
40617
  };
40373
40618
  }
@@ -40405,10 +40650,51 @@ class AttachmentService extends BaseService {
40405
40650
  camelCased.blobFileAccess = transformData(camelCased.blobFileAccess, BucketMap);
40406
40651
  return transformData(camelCased, AttachmentsMap);
40407
40652
  }
40653
+ async create(name, content, options) {
40654
+ if (!name) {
40655
+ throw new ValidationError3({ message: "name is required for create" });
40656
+ }
40657
+ if (!content) {
40658
+ throw new ValidationError3({ message: "content is required for create" });
40659
+ }
40660
+ const response = await this.post(ORCHESTRATOR_ATTACHMENT_ENDPOINTS.CREATE, camelToPascalCaseKeys({
40661
+ name,
40662
+ jobKey: options?.jobKey,
40663
+ attachmentCategory: options?.category
40664
+ }), { headers: createHeaders({ [FOLDER_ID]: options?.folderId }) });
40665
+ const camelCased = pascalToCamelCaseKeys(response.data);
40666
+ camelCased.blobFileAccess = transformData(camelCased.blobFileAccess, BucketMap);
40667
+ const attachment = transformData(camelCased, AttachmentsMap);
40668
+ await this.uploadContent(attachment.blobFileAccess, content);
40669
+ const { blobFileAccess: _blobFileAccess, "@odata.context": _odataContext, ...created } = attachment;
40670
+ return created;
40671
+ }
40672
+ async uploadContent(blobFileAccess, content) {
40673
+ if (!blobFileAccess?.uri) {
40674
+ throw new ServerError({ message: "Attachment upload URI missing from the create response" });
40675
+ }
40676
+ const rawHeaders = blobFileAccess.headers;
40677
+ const requestHeaders = rawHeaders && "keys" in rawHeaders && "values" in rawHeaders ? arrayDictionaryToRecord(rawHeaders) : { ...rawHeaders };
40678
+ if (blobFileAccess.requiresAuth) {
40679
+ requestHeaders["Authorization"] = `Bearer ${await this.getValidAuthToken()}`;
40680
+ }
40681
+ const response = await fetch(blobFileAccess.uri, {
40682
+ method: "PUT",
40683
+ body: content,
40684
+ headers: createHeaders(requestHeaders)
40685
+ });
40686
+ if (!response.ok) {
40687
+ const errorInfo = await errorResponseParser.parse(response);
40688
+ throw ErrorFactory.createFromHttpStatus(response.status, errorInfo);
40689
+ }
40690
+ }
40408
40691
  }
40409
40692
  __decorate([
40410
40693
  track("Attachments.GetById")
40411
40694
  ], AttachmentService.prototype, "getById", null);
40695
+ __decorate([
40696
+ track("Attachments.Create")
40697
+ ], AttachmentService.prototype, "create", null);
40412
40698
  var PackageType;
40413
40699
  (function(PackageType2) {
40414
40700
  PackageType2["Undefined"] = "Undefined";
@@ -40653,6 +40939,38 @@ class JobService extends FolderScopedService {
40653
40939
  const rawJob = transformData(pascalToCamelCaseKeys(response.data), JobMap);
40654
40940
  return createJobWithMethods(rawJob, this);
40655
40941
  }
40942
+ async getAttachments(jobKey, folderId) {
40943
+ if (!jobKey) {
40944
+ throw new ValidationError3({ message: "jobKey is required for getAttachments" });
40945
+ }
40946
+ if (!folderId) {
40947
+ throw new ValidationError3({ message: "folderId is required for getAttachments" });
40948
+ }
40949
+ const response = await this.get(JOB_ENDPOINTS.ATTACHMENTS.GET_BY_JOB_KEY, {
40950
+ params: { jobKey },
40951
+ headers: createHeaders({ [FOLDER_ID]: folderId })
40952
+ });
40953
+ return transformData(response.data, JobMap);
40954
+ }
40955
+ async linkAttachment(attachmentId, jobKey, folderId, options) {
40956
+ if (!attachmentId) {
40957
+ throw new ValidationError3({ message: "attachmentId is required for linkAttachment" });
40958
+ }
40959
+ if (!jobKey) {
40960
+ throw new ValidationError3({ message: "jobKey is required for linkAttachment" });
40961
+ }
40962
+ if (!folderId) {
40963
+ throw new ValidationError3({ message: "folderId is required for linkAttachment" });
40964
+ }
40965
+ const response = await this.post(JOB_ENDPOINTS.ATTACHMENTS.LINK, {
40966
+ attachmentId,
40967
+ jobKey,
40968
+ category: options?.category
40969
+ }, {
40970
+ headers: createHeaders({ [FOLDER_ID]: folderId })
40971
+ });
40972
+ return transformData(response.data, JobMap);
40973
+ }
40656
40974
  async downloadOutputFile(outputFileKey) {
40657
40975
  const attachment = await this.attachmentService.getById(outputFileKey);
40658
40976
  const blobAccess = attachment.blobFileAccess;
@@ -40728,6 +41046,12 @@ __decorate([
40728
41046
  __decorate([
40729
41047
  track("Jobs.Restart")
40730
41048
  ], JobService.prototype, "restart", null);
41049
+ __decorate([
41050
+ track("Jobs.GetAttachments")
41051
+ ], JobService.prototype, "getAttachments", null);
41052
+ __decorate([
41053
+ track("Jobs.LinkAttachment")
41054
+ ], JobService.prototype, "linkAttachment", null);
40731
41055
  var JobSubState;
40732
41056
  (function(JobSubState2) {
40733
41057
  JobSubState2["WithFaults"] = "WITH_FAULTS";
@@ -40901,6 +41225,112 @@ __decorate([
40901
41225
  __decorate([
40902
41226
  track("Queues.GetById")
40903
41227
  ], QueueService.prototype, "getById", null);
41228
+ var TaskCatalogMap = {
41229
+ creationTime: "createdTime",
41230
+ lastModificationTime: "lastModifiedTime"
41231
+ };
41232
+ var TaskCatalogRetentionAction;
41233
+ (function(TaskCatalogRetentionAction2) {
41234
+ TaskCatalogRetentionAction2["Delete"] = "Delete";
41235
+ TaskCatalogRetentionAction2["Archive"] = "Archive";
41236
+ TaskCatalogRetentionAction2["None"] = "None";
41237
+ })(TaskCatalogRetentionAction || (TaskCatalogRetentionAction = {}));
41238
+
41239
+ class TaskCatalogService extends FolderScopedService {
41240
+ async getAll(options) {
41241
+ const { folderId, folderKey, folderPath, ...queryOptions } = options ?? {};
41242
+ const headers = resolveFolderHeaders({ folderId, folderKey, folderPath, resourceType: "TaskCatalogs.getAll", fallbackFolderKey: this.config.folderKey });
41243
+ const transformCatalog = (catalog) => transformData(pascalToCamelCaseKeys(catalog), TaskCatalogMap);
41244
+ const apiOptions = transformOptions(queryOptions, TaskCatalogMap);
41245
+ return PaginationHelpers.getAll({
41246
+ serviceAccess: this.createPaginationServiceAccess(),
41247
+ getEndpoint: () => TASK_CATALOG_ENDPOINTS.GET_ALL,
41248
+ headers,
41249
+ transformFn: transformCatalog,
41250
+ pagination: {
41251
+ paginationType: PaginationType.OFFSET,
41252
+ itemsField: ODATA_PAGINATION.ITEMS_FIELD,
41253
+ totalCountField: ODATA_PAGINATION.TOTAL_COUNT_FIELD,
41254
+ paginationParams: {
41255
+ pageSizeParam: ODATA_OFFSET_PARAMS.PAGE_SIZE_PARAM,
41256
+ offsetParam: ODATA_OFFSET_PARAMS.OFFSET_PARAM,
41257
+ countParam: ODATA_OFFSET_PARAMS.COUNT_PARAM
41258
+ }
41259
+ }
41260
+ }, apiOptions);
41261
+ }
41262
+ async getById(id, options = {}) {
41263
+ return this.fetchById(id, options);
41264
+ }
41265
+ async fetchById(id, options = {}) {
41266
+ const { folderId, folderKey, folderPath, ...queryOptions } = options;
41267
+ const headers = resolveFolderHeaders({ folderId, folderKey, folderPath, resourceType: "TaskCatalogs.getById", fallbackFolderKey: this.config.folderKey });
41268
+ const apiFieldOptions = transformOptions(queryOptions, TaskCatalogMap);
41269
+ const apiOptions = addPrefixToKeys(apiFieldOptions, ODATA_PREFIX, Object.keys(apiFieldOptions));
41270
+ const response = await this.get(TASK_CATALOG_ENDPOINTS.GET_BY_ID(id), { headers, params: apiOptions });
41271
+ return transformData(pascalToCamelCaseKeys(response.data), TaskCatalogMap);
41272
+ }
41273
+ async getByName(name, options = {}) {
41274
+ return this.getByNameLookup("TaskCatalog", TASK_CATALOG_ENDPOINTS.GET_ALL, name, options, (raw) => transformData(pascalToCamelCaseKeys(raw), TaskCatalogMap), TaskCatalogMap);
41275
+ }
41276
+ async create(name, options = {}) {
41277
+ if (!name) {
41278
+ throw new ValidationError3({ message: "name is required for create" });
41279
+ }
41280
+ const { folderId, folderKey, folderPath, expand: _expand, select: _select, ...fields } = options;
41281
+ const headers = resolveFolderHeaders({ folderId, folderKey, folderPath, resourceType: "TaskCatalogs.create", fallbackFolderKey: this.config.folderKey });
41282
+ const response = await this.post(TASK_CATALOG_ENDPOINTS.CREATE, camelToPascalCaseKeys({ name, ...fields }), { headers });
41283
+ return transformData(pascalToCamelCaseKeys(response.data), TaskCatalogMap);
41284
+ }
41285
+ async updateById(id, options = {}) {
41286
+ if (!id) {
41287
+ throw new ValidationError3({ message: "id is required for updateById" });
41288
+ }
41289
+ const { folderId, folderKey, folderPath } = options;
41290
+ const current = await this.fetchById(id, { folderId, folderKey, folderPath });
41291
+ return this.update(current, options);
41292
+ }
41293
+ async updateByName(name, options = {}) {
41294
+ if (!name) {
41295
+ throw new ValidationError3({ message: "name is required for updateByName" });
41296
+ }
41297
+ const { folderId, folderKey, folderPath } = options;
41298
+ const current = await this.getByNameLookup("TaskCatalog", TASK_CATALOG_ENDPOINTS.GET_ALL, name, { folderId, folderKey, folderPath }, (raw) => transformData(pascalToCamelCaseKeys(raw), TaskCatalogMap), TaskCatalogMap);
41299
+ return this.update(current, options);
41300
+ }
41301
+ async update(current, options) {
41302
+ const { folderId, folderKey, folderPath } = options;
41303
+ const headers = resolveFolderHeaders({ folderId, folderKey, folderPath, resourceType: "TaskCatalogs.update", fallbackFolderKey: this.config.folderKey });
41304
+ const body = camelToPascalCaseKeys({
41305
+ name: options.name ?? current.name,
41306
+ description: options.description ?? current.description,
41307
+ encrypted: current.encrypted,
41308
+ retentionAction: options.retentionAction ?? (current.retentionAction === TaskCatalogRetentionAction.None ? null : current.retentionAction),
41309
+ retentionPeriod: options.retentionPeriod ?? current.retentionPeriod,
41310
+ retentionBucketId: options.retentionBucketId ?? current.retentionBucketId,
41311
+ ...options.tags !== undefined ? { tags: options.tags } : {}
41312
+ });
41313
+ await this.post(TASK_CATALOG_ENDPOINTS.UPDATE(current.id), body, { headers });
41314
+ }
41315
+ }
41316
+ __decorate([
41317
+ track("TaskCatalogs.GetAll")
41318
+ ], TaskCatalogService.prototype, "getAll", null);
41319
+ __decorate([
41320
+ track("TaskCatalogs.GetById")
41321
+ ], TaskCatalogService.prototype, "getById", null);
41322
+ __decorate([
41323
+ track("TaskCatalogs.GetByName")
41324
+ ], TaskCatalogService.prototype, "getByName", null);
41325
+ __decorate([
41326
+ track("TaskCatalogs.Create")
41327
+ ], TaskCatalogService.prototype, "create", null);
41328
+ __decorate([
41329
+ track("TaskCatalogs.UpdateById")
41330
+ ], TaskCatalogService.prototype, "updateById", null);
41331
+ __decorate([
41332
+ track("TaskCatalogs.UpdateByName")
41333
+ ], TaskCatalogService.prototype, "updateByName", null);
40904
41334
 
40905
41335
  class UiPath2 extends UiPath$1 {
40906
41336
  constructor() {
@@ -40949,6 +41379,14 @@ class UiPath2 extends UiPath$1 {
40949
41379
  return this.getService(AssetService);
40950
41380
  }
40951
41381
  }
41382
+ var FunctionHttpMethod;
41383
+ (function(FunctionHttpMethod2) {
41384
+ FunctionHttpMethod2["Get"] = "Get";
41385
+ FunctionHttpMethod2["Post"] = "Post";
41386
+ FunctionHttpMethod2["Put"] = "Put";
41387
+ FunctionHttpMethod2["Patch"] = "Patch";
41388
+ FunctionHttpMethod2["Delete"] = "Delete";
41389
+ })(FunctionHttpMethod || (FunctionHttpMethod = {}));
40952
41390
  var CommonFieldMap = {
40953
41391
  createdAt: "createdTime",
40954
41392
  updatedAt: "updatedTime"
@@ -41279,6 +41717,17 @@ var PolicyEvaluationResult;
41279
41717
  PolicyEvaluationResult2["SimulatedAllow"] = "SimulatedAllow";
41280
41718
  PolicyEvaluationResult2["SimulatedDeny"] = "SimulatedDeny";
41281
41719
  })(PolicyEvaluationResult || (PolicyEvaluationResult = {}));
41720
+ var PlatformSettingKey;
41721
+ (function(PlatformSettingKey2) {
41722
+ PlatformSettingKey2["UserLanguage"] = "UserLanguage.Language";
41723
+ PlatformSettingKey2["UserLanguageDate"] = "UserLanguage.Date";
41724
+ PlatformSettingKey2["UserTheme"] = "UserTheme.Theme";
41725
+ PlatformSettingKey2["UserAccessibility"] = "UserAccessibility.Accessibility";
41726
+ PlatformSettingKey2["UserAlert"] = "UserAlert.AlertDuration";
41727
+ PlatformSettingKey2["UserCaseAppOrder"] = "UserCase.AppOrderByTenant";
41728
+ PlatformSettingKey2["UserCasePinnedInstancesByTenant"] = "UserCase.PinnedInstancesByTenant";
41729
+ PlatformSettingKey2["UserCaseInstancesTableFiltersByTenant"] = "UserCase.InstancesTableFiltersByTenant";
41730
+ })(PlatformSettingKey || (PlatformSettingKey = {}));
41282
41731
  var SpanStatus;
41283
41732
  (function(SpanStatus2) {
41284
41733
  SpanStatus2["Unset"] = "Unset";
@@ -41877,4 +42326,4 @@ var registerCommands = async (program2) => {
41877
42326
 
41878
42327
  export { Command, metadata, registerCommands };
41879
42328
 
41880
- //# debugId=D868B67AAFBD26AF64756E2164756E21
42329
+ //# debugId=226FF02B2D3AD5DF64756E2164756E21
package/dist/tool.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  metadata,
3
3
  registerCommands
4
- } from "./tool-zacw4j6n.js";
4
+ } from "./tool-67vgxg3x.js";
5
5
  import"./tool-9qecd4wb.js";
6
6
  import"./tool-4pvh3k50.js";
7
7
  import"./tool-5arsyj36.js";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uipath/vertical-solutions-tool",
3
3
  "license": "MIT",
4
- "version": "1.201.0-preview.115",
4
+ "version": "1.201.0-preview.121",
5
5
  "description": "Scaffold and generate Vertical Solution projects.",
6
6
  "private": false,
7
7
  "repository": {
@@ -34,5 +34,5 @@
34
34
  "files": [
35
35
  "dist"
36
36
  ],
37
- "gitHead": "f1086b73654d7728cb71f280588b3e0c77d535fc"
37
+ "gitHead": "c70ccfc0b12e637441d67df1d212b71d7784b5f8"
38
38
  }