@uipath/solution-tool 1.200.0-preview.109 → 1.201.0-preview.115

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.
Files changed (29) hide show
  1. package/dist/{browser-strategy-brs3w53e.js → browser-strategy-yccf8mtd.js} +1 -1
  2. package/dist/deploy.js +5 -5
  3. package/dist/index-2fj08e7n.js +2058 -0
  4. package/dist/index-w03qc9m8.js +634 -0
  5. package/dist/index.js +11 -11
  6. package/dist/init.js +5 -5
  7. package/dist/js-yaml-4ypbq2tt.js +3145 -0
  8. package/dist/node-strategy-12qfy0nv.js +348 -0
  9. package/dist/pack.js +8 -20
  10. package/dist/{packager-tool-1ps2qeqg.js → packager-tool-5arsyj36.js} +3 -2
  11. package/dist/packager-tool-7eva0peq.js +265 -0
  12. package/dist/{packager-tool-kfzzznjr.js → packager-tool-85x8cje1.js} +2 -2
  13. package/dist/{packager-tool-sdhdmkt8.js → packager-tool-9vehmnke.js} +2 -1
  14. package/dist/{packager-tool-gnmkvkz3.js → packager-tool-9x8dbxbn.js} +675 -29
  15. package/dist/{packager-tool-gkwmyc48.js → packager-tool-arbagkf2.js} +28 -13
  16. package/dist/{packager-tool-rdxaysxe.js → packager-tool-c84z58bt.js} +65 -8
  17. package/dist/{packager-tool-br2aa2fh.js → packager-tool-n49qbf8m.js} +10 -18
  18. package/dist/{packager-tool-37g19zk3.js → packager-tool-ngh4qwjv.js} +4 -4
  19. package/dist/{packager-tool-y4wacqkp.js → packager-tool-r9n45rjm.js} +1059 -6017
  20. package/dist/{packager-tool-7efxm815.js → packager-tool-y35nbbkm.js} +6243 -5846
  21. package/dist/packager-tool.js +1 -1
  22. package/dist/publish.js +5 -5
  23. package/dist/resource.js +4 -4
  24. package/dist/services/feed-resolver.d.ts +4 -5
  25. package/dist/templates/AGENTS.md +2 -1
  26. package/dist/tool.js +11 -11
  27. package/package.json +2 -2
  28. package/dist/node-strategy-a4n0d6dx.js +0 -63
  29. package/dist/packager-tool-q90kqh83.js +0 -1161
@@ -8,7 +8,7 @@ import {
8
8
  installSdkUserAgentHeader,
9
9
  logger,
10
10
  readUipxFile
11
- } from "./packager-tool-y4wacqkp.js";
11
+ } from "./packager-tool-r9n45rjm.js";
12
12
  import {
13
13
  zipSync
14
14
  } from "./packager-tool-129wn232.js";
@@ -1300,7 +1300,7 @@ class PipelinesApi extends BaseAPI {
1300
1300
  var package_default = {
1301
1301
  name: "@uipath/pipelines-sdk",
1302
1302
  license: "MIT",
1303
- version: "1.200.0",
1303
+ version: "1.201.0",
1304
1304
  description: "Generated TypeScript client for UiPath Pipelines API (CI/CD deployment lifecycle)",
1305
1305
  repository: {
1306
1306
  type: "git",
@@ -3850,7 +3850,7 @@ function normalizeType(type) {
3850
3850
  var package_default2 = {
3851
3851
  name: "@uipath/solution-sdk",
3852
3852
  license: "MIT",
3853
- version: "1.200.0-preview.109",
3853
+ version: "1.201.0-preview.115",
3854
3854
  repository: {
3855
3855
  type: "git",
3856
3856
  url: "https://github.com/UiPath/cli.git",
@@ -4182,13 +4182,16 @@ async function deploymentsAutoInstall(config, request, feedFolderKey) {
4182
4182
  // ../solution-sdk/src/search-package-versions.ts
4183
4183
  async function searchPackageVersions(config, packageKey, filter, feedFolderKey) {
4184
4184
  const url = `${config.basePath}/api/search/packages/${encodeURIComponent(packageKey)}/versions`;
4185
+ const headers = {
4186
+ Authorization: `Bearer ${config.accessToken}`,
4187
+ "Content-Type": "application/json"
4188
+ };
4189
+ if (feedFolderKey) {
4190
+ headers["X-UIPATH-FolderKey"] = feedFolderKey;
4191
+ }
4185
4192
  const response = await fetch(url, {
4186
4193
  method: "POST",
4187
- headers: {
4188
- Authorization: `Bearer ${config.accessToken}`,
4189
- "Content-Type": "application/json",
4190
- "X-UIPATH-FolderKey": feedFolderKey
4191
- },
4194
+ headers,
4192
4195
  body: JSON.stringify(filter)
4193
4196
  });
4194
4197
  if (!response.ok) {
@@ -4250,14 +4253,26 @@ async function listSelectablePublishLocations(options) {
4250
4253
  }
4251
4254
 
4252
4255
  // src/services/feed-resolver.ts
4256
+ function folderKeyInitOverride(folderKey) {
4257
+ return async ({ init }) => ({
4258
+ headers: { ...init.headers, "X-UIPATH-FolderKey": folderKey }
4259
+ });
4260
+ }
4253
4261
  function feedScopeInitOverride(scope) {
4254
4262
  const { folderKey } = scope;
4255
4263
  if (!folderKey) {
4256
4264
  return;
4257
4265
  }
4258
- return ({ init }) => ({
4259
- headers: { ...init.headers, "X-UIPATH-FolderKey": folderKey }
4260
- });
4266
+ return folderKeyInitOverride(folderKey);
4267
+ }
4268
+ function feedResolutionFailureInstructions(options) {
4269
+ if (options.personalWorkspace) {
4270
+ return "Personal Workspace resolution needs an interactive user session and an enabled Personal Workspace. Log in as a user with a Personal Workspace, or omit --personal-workspace to use the tenant feed.";
4271
+ }
4272
+ if (options.feed !== undefined) {
4273
+ return "List the feeds you can target with: uip solution feeds list.";
4274
+ }
4275
+ return "Check the selected feed and try again.";
4261
4276
  }
4262
4277
  async function resolveFeedScope(options) {
4263
4278
  const { personalWorkspace, feed } = options;
@@ -4310,6 +4325,6 @@ function matchFeed(feed, locations) {
4310
4325
  throw new Error(`Feed '${feed}' is not an available publish location. ` + "Run 'uip solution feeds list' to see the feeds you can publish to.");
4311
4326
  }
4312
4327
 
4313
- export { Configuration, PipelinesApi, Configuration2 as Configuration1, DeploymentActivationStatus, DeploymentOperationStatus2 as DeploymentOperationStatus, DeploymentsApi, PackagesApi, SearchApi, bundleSolution, deploymentsAutoInstall, searchPackageVersions, solutionExistsOnStudioWeb, importSolution, uploadOrOverwriteSolution, resolvePersonalWorkspace, listSelectablePublishLocations, feedScopeInitOverride, resolveFeedScope };
4328
+ export { Configuration, PipelinesApi, Configuration2 as Configuration1, DeploymentActivationStatus, DeploymentOperationStatus2 as DeploymentOperationStatus, DeploymentsApi, PackagesApi, SearchApi, bundleSolution, deploymentsAutoInstall, searchPackageVersions, solutionExistsOnStudioWeb, importSolution, uploadOrOverwriteSolution, resolvePersonalWorkspace, listSelectablePublishLocations, folderKeyInitOverride, feedScopeInitOverride, feedResolutionFailureInstructions, resolveFeedScope };
4314
4329
 
4315
- //# debugId=671CCB0B235DD16764756E2164756E21
4330
+ //# debugId=45131AC80BCB6AC964756E2164756E21
@@ -4,7 +4,7 @@ import {
4
4
  PackagesApi,
5
5
  PipelinesApi,
6
6
  resolveFeedScope
7
- } from "./packager-tool-gkwmyc48.js";
7
+ } from "./packager-tool-arbagkf2.js";
8
8
  import {
9
9
  PollOutcome,
10
10
  catchError,
@@ -13,10 +13,10 @@ import {
13
13
  logger,
14
14
  mapPollFailure,
15
15
  pollUntil
16
- } from "./packager-tool-y4wacqkp.js";
16
+ } from "./packager-tool-r9n45rjm.js";
17
17
  import {
18
18
  getFileSystem
19
- } from "./packager-tool-q90kqh83.js";
19
+ } from "./packager-tool-7eva0peq.js";
20
20
  import {
21
21
  strFromU8,
22
22
  strToU8,
@@ -95,6 +95,60 @@ var isVersionConflictError = (message, details) => {
95
95
  const errorText = `${message} ${details ?? ""}`;
96
96
  return VERSION_CONFLICT_PATTERNS.some((pattern) => pattern.test(errorText));
97
97
  };
98
+ var HTTP_STATUS_PATTERNS = [
99
+ /^HTTP\s+(\d{3})(?::|\s|-|$)/i,
100
+ /["']httpStatus["']\s*:\s*(\d{3})\b/i,
101
+ /["']statusCode["']\s*:\s*(\d{3})\b/i,
102
+ /["']status["']\s*:\s*(\d{3})\b/i,
103
+ /\bhttpStatus\s*[:=]\s*(\d{3})\b/i,
104
+ /\bstatusCode\s*[:=]\s*(\d{3})\b/i
105
+ ];
106
+ var ERROR_CODE_PATTERNS = [
107
+ /["']errorCode["']\s*:\s*["']([^"']+)["']/i,
108
+ /["']errorCode["']\s*:\s*(\d+)\b/i,
109
+ /\berrorCode\s*[:=]\s*["']?([A-Za-z0-9_.-]+)["']?/i,
110
+ /["']code["']\s*:\s*["']([^"']+)["']/i,
111
+ /["']code["']\s*:\s*(\d+)\b/i
112
+ ];
113
+ function extractFirstPatternValue(text, patterns) {
114
+ if (!text)
115
+ return;
116
+ for (const pattern of patterns) {
117
+ const match = pattern.exec(text);
118
+ if (match?.[1])
119
+ return match[1];
120
+ }
121
+ return;
122
+ }
123
+ function extractUploadHttpStatus(message, details) {
124
+ const rawStatus = extractFirstPatternValue(message, HTTP_STATUS_PATTERNS) ?? extractFirstPatternValue(details, HTTP_STATUS_PATTERNS);
125
+ if (!rawStatus)
126
+ return;
127
+ const status = Number(rawStatus);
128
+ return Number.isInteger(status) && status >= 100 && status <= 599 ? status : undefined;
129
+ }
130
+ function extractUploadErrorCode(message, details) {
131
+ return extractFirstPatternValue(details, ERROR_CODE_PATTERNS) ?? extractFirstPatternValue(message, ERROR_CODE_PATTERNS);
132
+ }
133
+ function retryHintForUploadStatus(httpStatus) {
134
+ if (httpStatus === 400 || httpStatus === 409 || httpStatus === 422) {
135
+ return "RetryWillNotFix";
136
+ }
137
+ if (httpStatus === 408 || httpStatus === 429 || httpStatus !== undefined && httpStatus >= 500 && httpStatus < 600) {
138
+ return "RetryLater";
139
+ }
140
+ return;
141
+ }
142
+ function mergeUploadErrorContext(context, httpStatus, errorCode) {
143
+ if (!context && httpStatus === undefined && errorCode === undefined) {
144
+ return;
145
+ }
146
+ return {
147
+ ...context ?? {},
148
+ ...httpStatus !== undefined ? { httpStatus } : {},
149
+ ...errorCode !== undefined ? { errorCode } : {}
150
+ };
151
+ }
98
152
  async function publishSolutionAsync(packagePath, options = {}) {
99
153
  const [authError, auth] = await catchError(getSolutionAuthContext({
100
154
  tenant: options.tenant,
@@ -299,9 +353,12 @@ async function publishToFeed(auth, fileBuffer, scope, options) {
299
353
  }
300
354
  async function mapUploadError(uploadError) {
301
355
  const { message, details, context, retry } = await extractErrorDetails(uploadError);
356
+ const httpStatus = context?.httpStatus ?? extractUploadHttpStatus(message, details);
357
+ const errorCode = context?.errorCode ?? extractUploadErrorCode(message, details);
358
+ const resolvedContext = mergeUploadErrorContext(context, httpStatus, errorCode);
359
+ const resolvedRetry = context?.httpStatus === undefined ? retryHintForUploadStatus(httpStatus) ?? retry : retry;
302
360
  const fetchCause = uploadError instanceof Error && uploadError.name === "FetchError" && uploadError.cause instanceof Error ? uploadError.cause : null;
303
361
  const surfacedMessage = fetchCause ? `Failed to upload package: ${fetchCause.message}` : message;
304
- const httpStatus = context?.httpStatus;
305
362
  let reason = "upload_failed";
306
363
  if (isVersionConflictError(message, details)) {
307
364
  reason = "upload_version_conflict";
@@ -315,12 +372,12 @@ async function mapUploadError(uploadError) {
315
372
  reason,
316
373
  message: surfacedMessage,
317
374
  details,
318
- errorCode: context?.errorCode,
319
- retry,
320
- context
375
+ errorCode,
376
+ retry: resolvedRetry,
377
+ context: resolvedContext
321
378
  };
322
379
  }
323
380
 
324
381
  export { publishSolutionAsync };
325
382
 
326
- //# debugId=696E04915672C64A64756E2164756E21
383
+ //# debugId=2D4FA6DDA83F407764756E2164756E21
@@ -4,11 +4,13 @@ import {
4
4
  PipelinesApi,
5
5
  SearchApi,
6
6
  deploymentsAutoInstall,
7
+ feedResolutionFailureInstructions,
7
8
  feedScopeInitOverride,
9
+ folderKeyInitOverride,
8
10
  resolveFeedScope,
9
11
  resolvePersonalWorkspace,
10
12
  searchPackageVersions
11
- } from "./packager-tool-gkwmyc48.js";
13
+ } from "./packager-tool-arbagkf2.js";
12
14
  import {
13
15
  DEFAULT_PAGE_SIZE,
14
16
  PollOutcome,
@@ -20,10 +22,10 @@ import {
20
22
  pollUntil,
21
23
  processContext,
22
24
  resolveFolder
23
- } from "./packager-tool-y4wacqkp.js";
25
+ } from "./packager-tool-r9n45rjm.js";
24
26
  import {
25
27
  getFileSystem
26
- } from "./packager-tool-q90kqh83.js";
28
+ } from "./packager-tool-7eva0peq.js";
27
29
  import {
28
30
  __commonJS,
29
31
  __require
@@ -7525,7 +7527,7 @@ async function listDeploymentsAsync(options = {}) {
7525
7527
  envFilePath: options.envFilePath
7526
7528
  }));
7527
7529
  if (scopeError) {
7528
- return fail2("feed_resolution_failed", scopeError.message, "List the feeds you can query with: uip solution feeds list.");
7530
+ return fail2("feed_resolution_failed", scopeError.message, feedResolutionFailureInstructions(options));
7529
7531
  }
7530
7532
  const api = new SearchApi(new Configuration2({
7531
7533
  basePath: auth.basePath,
@@ -7622,12 +7624,7 @@ async function deployToFeed(auth, target, params) {
7622
7624
  accessToken: auth.accessToken
7623
7625
  });
7624
7626
  const searchApi = new SearchApi(config);
7625
- const feedScope = ({ init }) => ({
7626
- headers: {
7627
- ...init.headers,
7628
- "X-UIPATH-FolderKey": target.feedFolderKey
7629
- }
7630
- });
7627
+ const feedScope = folderKeyInitOverride(target.feedFolderKey);
7631
7628
  const take = 50;
7632
7629
  let pkg;
7633
7630
  for (let skip = 0;; ) {
@@ -7963,12 +7960,7 @@ async function deployRunViaFeedAsync(auth, scope, options) {
7963
7960
  if (deployError) {
7964
7961
  const { message, details, context, parsedErrors } = await extractErrorDetails(deployError);
7965
7962
  if (isExistingDeploymentConflict(context?.httpStatus, message, details, parsedErrors)) {
7966
- const feedLookupScope = async ({ init }) => ({
7967
- headers: {
7968
- ...init.headers,
7969
- "X-UIPATH-FolderKey": scope.folderKey
7970
- }
7971
- });
7963
+ const feedLookupScope = folderKeyInitOverride(scope.folderKey);
7972
7964
  const existing = await findDeploymentByPackageName(auth, options.packageName, undefined, feedLookupScope);
7973
7965
  return fail3("deployment_exists", message, buildDeploymentExistsInstructions(options.packageName, existing));
7974
7966
  }
@@ -8114,7 +8106,7 @@ async function listPackagesAsync(options = {}) {
8114
8106
  envFilePath: options.envFilePath
8115
8107
  }));
8116
8108
  if (scopeError) {
8117
- return fail5("feed_resolution_failed", scopeError.message, "List the feeds you can query with: uip solution feeds list.");
8109
+ return fail5("feed_resolution_failed", scopeError.message, feedResolutionFailureInstructions(options));
8118
8110
  }
8119
8111
  const searchApi = new SearchApi(new Configuration2({
8120
8112
  basePath: auth.basePath,
@@ -8145,4 +8137,4 @@ async function listPackagesAsync(options = {}) {
8145
8137
 
8146
8138
  export { extractDeploymentErrors, formatDeploymentErrorsAsText, activateDeploymentAsync, listDeploymentsAsync, deployRunAsync, uninstallDeploymentAsync, listPackagesAsync };
8147
8139
 
8148
- //# debugId=BE94E7E8ACEB5FD864756E2164756E21
8140
+ //# debugId=93842E6BA841F24064756E2164756E21
@@ -9,10 +9,10 @@ import {
9
9
  isGuid,
10
10
  logger,
11
11
  normalizeProjectType
12
- } from "./packager-tool-y4wacqkp.js";
12
+ } from "./packager-tool-r9n45rjm.js";
13
13
  import {
14
14
  getFileSystem
15
- } from "./packager-tool-q90kqh83.js";
15
+ } from "./packager-tool-7eva0peq.js";
16
16
  import {
17
17
  __commonJS,
18
18
  __toESM
@@ -15765,7 +15765,7 @@ async function addProjectArtifactsToSolutionAsync(options) {
15765
15765
  return error ? artifactFailure(options, error) : { Created: true };
15766
15766
  }
15767
15767
  function artifactFailure(options, error) {
15768
- logger.warn(`Solution artifact-resource generation failed for project "${options.projectName}": ${error.message}. ` + "The project was created and registered, but 'uip solution pack' may omit its resource. " + "Re-run init with --force to retry, or run 'uip solution project add' to finish setup.");
15768
+ logger.warn(`Solution artifact-resource generation failed for project "${options.projectName}": ${error.message}. ` + "The project was created and registered, but 'uip solution pack' may omit its resource. " + "Re-run init with --force to retry, or run 'uip solution projects add' to finish setup.");
15769
15769
  return { Created: false, Error: error.message };
15770
15770
  }
15771
15771
 
@@ -16437,4 +16437,4 @@ async function resourceRefreshAsync(solutionPath = ".", options = {}) {
16437
16437
  }
16438
16438
  export { Tokens, models_BindingsResourceType, getResourceName, getFolderPathProperty, getResourceKindForBinding, applyEntryPointEnhancementAsync, createResourceBuilderServices, findProjectFile, readProjectFile, readSolutionFile, resolveSolutionFilePath, writeSolutionFile, restoreSolutionFile, createProjectInSolutionBuilder, normalizeFolderPath, findMatchingLocalResource, addProjectArtifactsToSolutionAsync, assertSolutionManifest, syncResourcesFromBindings, findResourceByKeyInRcs, searchRcsResources, findResourceInRcs, createLocalResource, readUipxProjects, syncAndLog, resourceRefreshAsync };
16439
16439
 
16440
- //# debugId=0221FA4BB97D2B2064756E2164756E21
16440
+ //# debugId=74F623B6774EA9EC64756E2164756E21