@uipath/agent-tool 1.204.0-preview.250 → 1.204.0-preview.255

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.
@@ -5,7 +5,7 @@ compiled into its `dist/` output rather than installed alongside it.
5
5
  Their licences and copyright notices are reproduced here in full, as
6
6
  those licences require.
7
7
 
8
- 36 bundled dependencies:
8
+ 37 bundled dependencies:
9
9
 
10
10
  - @jsep-plugin/object@1.2.2 — MIT
11
11
  - @uipath/agents-storage-schemas@1.42.0 — SEE LICENSE IN LICENSE.txt
@@ -23,6 +23,7 @@ those licences require.
23
23
  - fast-uri@3.1.8 — BSD-3-Clause
24
24
  - fflate@0.8.3 — MIT
25
25
  - i18next@23.16.8 — MIT
26
+ - ignore@5.3.2 — MIT
26
27
  - is-docker@3.0.0 — MIT
27
28
  - is-in-ssh@1.0.0 — MIT
28
29
  - is-inside-container@1.0.0 — MIT
@@ -410,6 +411,36 @@ SOFTWARE.
410
411
 
411
412
  ---
412
413
 
414
+ ## ignore@5.3.2
415
+
416
+ SPDX: MIT
417
+
418
+ ```
419
+ Copyright (c) 2013 Kael Zhang <i@kael.me>, contributors
420
+ http://kael.me/
421
+
422
+ Permission is hereby granted, free of charge, to any person obtaining
423
+ a copy of this software and associated documentation files (the
424
+ "Software"), to deal in the Software without restriction, including
425
+ without limitation the rights to use, copy, modify, merge, publish,
426
+ distribute, sublicense, and/or sell copies of the Software, and to
427
+ permit persons to whom the Software is furnished to do so, subject to
428
+ the following conditions:
429
+
430
+ The above copyright notice and this permission notice shall be
431
+ included in all copies or substantial portions of the Software.
432
+
433
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
434
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
435
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
436
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
437
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
438
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
439
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
440
+ ```
441
+
442
+ ---
443
+
413
444
  ## is-docker@3.0.0
414
445
 
415
446
  SPDX: MIT
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  AgentDebugCancelledError,
3
3
  AgentDebugService
4
- } from "./packager-tool-kbxw9y6j.js";
5
- import"./packager-tool-b6neajj2.js";
4
+ } from "./packager-tool-n95spghc.js";
5
+ import"./packager-tool-e9c9f8zx.js";
6
6
  import"./packager-tool-z8ryp7pb.js";
7
7
  import"./packager-tool-xxd71jja.js";
8
8
  import"./packager-tool-h4ymyb9t.js";
@@ -232,6 +232,7 @@ import {
232
232
  SolutionUploadHttpError,
233
233
  StudioWebIncompatibleProjectError,
234
234
  TextApiResponse,
235
+ UipignoreExcludesProjectError,
235
236
  VoidApiResponse,
236
237
  WorkflowAction,
237
238
  WorkflowActionFromJSON,
@@ -310,7 +311,7 @@ import {
310
311
  searchPackageVersions,
311
312
  solutionExistsOnStudioWeb,
312
313
  uploadOrOverwriteSolution
313
- } from "./packager-tool-b6neajj2.js";
314
+ } from "./packager-tool-e9c9f8zx.js";
314
315
  import {
315
316
  autoScaffoldSolution,
316
317
  createSolutionManifest,
@@ -565,6 +566,7 @@ export {
565
566
  SolutionUploadHttpError,
566
567
  StudioWebIncompatibleProjectError,
567
568
  TextApiResponse,
569
+ UipignoreExcludesProjectError,
568
570
  VoidApiResponse,
569
571
  WorkflowAction,
570
572
  WorkflowActionFromJSON,
@@ -660,4 +662,4 @@ export {
660
662
  uploadOrOverwriteSolution
661
663
  };
662
664
 
663
- //# debugId=A1233CE13F4FDB2964756E2164756E21
665
+ //# debugId=BDF7CF0D85DC333164756E2164756E21
package/dist/index.js CHANGED
@@ -2,11 +2,11 @@
2
2
  import {
3
3
  metadata,
4
4
  registerCommands
5
- } from "./packager-tool-w51ja6ra.js";
5
+ } from "./packager-tool-vyry6fha.js";
6
6
  import"./packager-tool-4mna26cc.js";
7
7
  import"./packager-tool-c23zrhj8.js";
8
- import"./packager-tool-kbxw9y6j.js";
9
- import"./packager-tool-b6neajj2.js";
8
+ import"./packager-tool-n95spghc.js";
9
+ import"./packager-tool-e9c9f8zx.js";
10
10
  import"./packager-tool-z8ryp7pb.js";
11
11
  import"./packager-tool-xxd71jja.js";
12
12
  import"./packager-tool-h4ymyb9t.js";
@@ -13,6 +13,270 @@ import {
13
13
  import {
14
14
  zipSync
15
15
  } from "./packager-tool-b098y4a2.js";
16
+ import {
17
+ __commonJS,
18
+ __toESM
19
+ } from "./packager-tool-1yh8g550.js";
20
+
21
+ // ../../node_modules/ignore/index.js
22
+ var require_ignore = __commonJS(function(exports, module) {
23
+ function makeArray(subject) {
24
+ return Array.isArray(subject) ? subject : [subject];
25
+ }
26
+ var EMPTY = "";
27
+ var SPACE = " ";
28
+ var ESCAPE = "\\";
29
+ var REGEX_TEST_BLANK_LINE = /^\s+$/;
30
+ var REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
31
+ var REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
32
+ var REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
33
+ var REGEX_SPLITALL_CRLF = /\r?\n/g;
34
+ var REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
35
+ var SLASH = "/";
36
+ var TMP_KEY_IGNORE = "node-ignore";
37
+ if (typeof Symbol !== "undefined") {
38
+ TMP_KEY_IGNORE = Symbol.for("node-ignore");
39
+ }
40
+ var KEY_IGNORE = TMP_KEY_IGNORE;
41
+ var define = (object, key, value) => Object.defineProperty(object, key, { value });
42
+ var REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
43
+ var RETURN_FALSE = () => false;
44
+ var sanitizeRange = (range) => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match : EMPTY);
45
+ var cleanRangeBackSlash = (slashes) => {
46
+ const { length } = slashes;
47
+ return slashes.slice(0, length - length % 2);
48
+ };
49
+ var REPLACERS = [
50
+ [
51
+ /^\uFEFF/,
52
+ () => EMPTY
53
+ ],
54
+ [
55
+ /((?:\\\\)*?)(\\?\s+)$/,
56
+ (_, m1, m2) => m1 + (m2.indexOf("\\") === 0 ? SPACE : EMPTY)
57
+ ],
58
+ [
59
+ /(\\+?)\s/g,
60
+ (_, m1) => {
61
+ const { length } = m1;
62
+ return m1.slice(0, length - length % 2) + SPACE;
63
+ }
64
+ ],
65
+ [
66
+ /[\\$.|*+(){^]/g,
67
+ (match) => `\\${match}`
68
+ ],
69
+ [
70
+ /(?!\\)\?/g,
71
+ () => "[^/]"
72
+ ],
73
+ [
74
+ /^\//,
75
+ () => "^"
76
+ ],
77
+ [
78
+ /\//g,
79
+ () => "\\/"
80
+ ],
81
+ [
82
+ /^\^*\\\*\\\*\\\//,
83
+ () => "^(?:.*\\/)?"
84
+ ],
85
+ [
86
+ /^(?=[^^])/,
87
+ function startingReplacer() {
88
+ return !/\/(?!$)/.test(this) ? "(?:^|\\/)" : "^";
89
+ }
90
+ ],
91
+ [
92
+ /\\\/\\\*\\\*(?=\\\/|$)/g,
93
+ (_, index, str) => index + 6 < str.length ? "(?:\\/[^\\/]+)*" : "\\/.+"
94
+ ],
95
+ [
96
+ /(^|[^\\]+)(\\\*)+(?=.+)/g,
97
+ (_, p1, p2) => {
98
+ const unescaped = p2.replace(/\\\*/g, "[^\\/]*");
99
+ return p1 + unescaped;
100
+ }
101
+ ],
102
+ [
103
+ /\\\\\\(?=[$.|*+(){^])/g,
104
+ () => ESCAPE
105
+ ],
106
+ [
107
+ /\\\\/g,
108
+ () => ESCAPE
109
+ ],
110
+ [
111
+ /(\\)?\[([^\]/]*?)(\\*)($|\])/g,
112
+ (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === "]" ? endEscape.length % 2 === 0 ? `[${sanitizeRange(range)}${endEscape}]` : "[]" : "[]"
113
+ ],
114
+ [
115
+ /(?:[^*])$/,
116
+ (match) => /\/$/.test(match) ? `${match}$` : `${match}(?=$|\\/$)`
117
+ ],
118
+ [
119
+ /(\^|\\\/)?\\\*$/,
120
+ (_, p1) => {
121
+ const prefix = p1 ? `${p1}[^/]+` : "[^/]*";
122
+ return `${prefix}(?=$|\\/$)`;
123
+ }
124
+ ]
125
+ ];
126
+ var regexCache = Object.create(null);
127
+ var makeRegex = (pattern, ignoreCase) => {
128
+ let source = regexCache[pattern];
129
+ if (!source) {
130
+ source = REPLACERS.reduce((prev, [matcher, replacer]) => prev.replace(matcher, replacer.bind(pattern)), pattern);
131
+ regexCache[pattern] = source;
132
+ }
133
+ return ignoreCase ? new RegExp(source, "i") : new RegExp(source);
134
+ };
135
+ var isString = (subject) => typeof subject === "string";
136
+ var checkPattern = (pattern) => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern) && pattern.indexOf("#") !== 0;
137
+ var splitPattern = (pattern) => pattern.split(REGEX_SPLITALL_CRLF);
138
+
139
+ class IgnoreRule {
140
+ constructor(origin, pattern, negative, regex) {
141
+ this.origin = origin;
142
+ this.pattern = pattern;
143
+ this.negative = negative;
144
+ this.regex = regex;
145
+ }
146
+ }
147
+ var createRule = (pattern, ignoreCase) => {
148
+ const origin = pattern;
149
+ let negative = false;
150
+ if (pattern.indexOf("!") === 0) {
151
+ negative = true;
152
+ pattern = pattern.substr(1);
153
+ }
154
+ pattern = pattern.replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, "!").replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, "#");
155
+ const regex = makeRegex(pattern, ignoreCase);
156
+ return new IgnoreRule(origin, pattern, negative, regex);
157
+ };
158
+ var throwError = (message, Ctor) => {
159
+ throw new Ctor(message);
160
+ };
161
+ var checkPath = (path, originalPath, doThrow) => {
162
+ if (!isString(path)) {
163
+ return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError);
164
+ }
165
+ if (!path) {
166
+ return doThrow(`path must not be empty`, TypeError);
167
+ }
168
+ if (checkPath.isNotRelative(path)) {
169
+ const r = "`path.relative()`d";
170
+ return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError);
171
+ }
172
+ return true;
173
+ };
174
+ var isNotRelative = (path) => REGEX_TEST_INVALID_PATH.test(path);
175
+ checkPath.isNotRelative = isNotRelative;
176
+ checkPath.convert = (p) => p;
177
+
178
+ class Ignore {
179
+ constructor({
180
+ ignorecase = true,
181
+ ignoreCase = ignorecase,
182
+ allowRelativePaths = false
183
+ } = {}) {
184
+ define(this, KEY_IGNORE, true);
185
+ this._rules = [];
186
+ this._ignoreCase = ignoreCase;
187
+ this._allowRelativePaths = allowRelativePaths;
188
+ this._initCache();
189
+ }
190
+ _initCache() {
191
+ this._ignoreCache = Object.create(null);
192
+ this._testCache = Object.create(null);
193
+ }
194
+ _addPattern(pattern) {
195
+ if (pattern && pattern[KEY_IGNORE]) {
196
+ this._rules = this._rules.concat(pattern._rules);
197
+ this._added = true;
198
+ return;
199
+ }
200
+ if (checkPattern(pattern)) {
201
+ const rule = createRule(pattern, this._ignoreCase);
202
+ this._added = true;
203
+ this._rules.push(rule);
204
+ }
205
+ }
206
+ add(pattern) {
207
+ this._added = false;
208
+ makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this);
209
+ if (this._added) {
210
+ this._initCache();
211
+ }
212
+ return this;
213
+ }
214
+ addPattern(pattern) {
215
+ return this.add(pattern);
216
+ }
217
+ _testOne(path, checkUnignored) {
218
+ let ignored = false;
219
+ let unignored = false;
220
+ this._rules.forEach((rule) => {
221
+ const { negative } = rule;
222
+ if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
223
+ return;
224
+ }
225
+ const matched = rule.regex.test(path);
226
+ if (matched) {
227
+ ignored = !negative;
228
+ unignored = negative;
229
+ }
230
+ });
231
+ return {
232
+ ignored,
233
+ unignored
234
+ };
235
+ }
236
+ _test(originalPath, cache, checkUnignored, slices) {
237
+ const path = originalPath && checkPath.convert(originalPath);
238
+ checkPath(path, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError);
239
+ return this._t(path, cache, checkUnignored, slices);
240
+ }
241
+ _t(path, cache, checkUnignored, slices) {
242
+ if (path in cache) {
243
+ return cache[path];
244
+ }
245
+ if (!slices) {
246
+ slices = path.split(SLASH);
247
+ }
248
+ slices.pop();
249
+ if (!slices.length) {
250
+ return cache[path] = this._testOne(path, checkUnignored);
251
+ }
252
+ const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
253
+ return cache[path] = parent.ignored ? parent : this._testOne(path, checkUnignored);
254
+ }
255
+ ignores(path) {
256
+ return this._test(path, this._ignoreCache, false).ignored;
257
+ }
258
+ createFilter() {
259
+ return (path) => !this.ignores(path);
260
+ }
261
+ filter(paths) {
262
+ return makeArray(paths).filter(this.createFilter());
263
+ }
264
+ test(path) {
265
+ return this._test(path, this._testCache, true);
266
+ }
267
+ }
268
+ var factory = (options) => new Ignore(options);
269
+ var isPathValid = (path) => checkPath(path && checkPath.convert(path), path, RETURN_FALSE);
270
+ factory.isPathValid = isPathValid;
271
+ factory.default = factory;
272
+ module.exports = factory;
273
+ if (typeof process !== "undefined" && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === "win32")) {
274
+ const makePosix = (str) => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, "/");
275
+ checkPath.convert = makePosix;
276
+ const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
277
+ checkPath.isNotRelative = (path) => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path);
278
+ }
279
+ });
16
280
 
17
281
  // ../solution-sdk/generated/src/runtime.ts
18
282
  var BASE_PATH = "https://alpha.uipath.com/uipattycyrhx/abizon_1/automationsolutions_".replace(/\/+$/, "");
@@ -314,7 +578,7 @@ var package_default = {
314
578
  name: "@uipath/solution-sdk",
315
579
  author: "UiPath",
316
580
  license: "SEE LICENSE IN LICENSE.txt",
317
- version: "1.204.0-preview.250",
581
+ version: "1.204.0-preview.255",
318
582
  repository: {
319
583
  type: "git",
320
584
  url: "https://github.com/UiPath/cli.git",
@@ -370,6 +634,7 @@ var package_default = {
370
634
  "@uipath/studioweb-sdk": "workspace:*",
371
635
  "@types/node": "^25.5.2",
372
636
  fflate: "^0.8.2",
637
+ ignore: "^5.3.2",
373
638
  typescript: "^7.0.2"
374
639
  }
375
640
  };
@@ -4325,6 +4590,7 @@ function assertStudioWebCompatibleProjects(projects) {
4325
4590
  }
4326
4591
 
4327
4592
  // ../solution-sdk/src/zip-utils.ts
4593
+ var import_ignore = __toESM(require_ignore(), 1);
4328
4594
  var DEFAULT_EXCLUDED_DIR_NAMES = new Set([
4329
4595
  ".venv",
4330
4596
  "node_modules",
@@ -4346,18 +4612,31 @@ function isDefaultExcludedFileName(name) {
4346
4612
  }
4347
4613
  var UIPIGNORE_FILENAME = ".uipignore";
4348
4614
  function parseUipignore(body) {
4349
- const names = new Set;
4350
- for (const rawLine of body.split(/\r?\n/)) {
4351
- const line = rawLine.split("#")[0]?.trim();
4352
- if (!line) {
4615
+ return body.split(/\r?\n/).filter((line) => line.trim() !== "" && !line.startsWith("#"));
4616
+ }
4617
+ function createUipignoreRules(baseDir, patterns) {
4618
+ const matcher = import_ignore.default().add([...patterns]);
4619
+ return {
4620
+ baseDir,
4621
+ patterns,
4622
+ ignores: (relativePath) => matcher.ignores(relativePath)
4623
+ };
4624
+ }
4625
+ var UNMATCHABLE_RELATIVE_PATH = /^\.+$|^\.*\//;
4626
+ function isIgnoredByRules(fs, rules, fullPath, isDirectory) {
4627
+ if (!rules) {
4628
+ return false;
4629
+ }
4630
+ for (const rule of rules) {
4631
+ const rel = fs.path.relative(rule.baseDir, fullPath).replace(/\\/g, "/");
4632
+ if (!rel || UNMATCHABLE_RELATIVE_PATH.test(rel) || fs.path.isAbsolute(rel)) {
4353
4633
  continue;
4354
4634
  }
4355
- if (line.includes("/") || line.includes("\\")) {
4356
- continue;
4635
+ if (rule.ignores(isDirectory ? `${rel}/` : rel)) {
4636
+ return true;
4357
4637
  }
4358
- names.add(line);
4359
4638
  }
4360
- return names;
4639
+ return false;
4361
4640
  }
4362
4641
  async function collectTree(fs, dir, options = {}) {
4363
4642
  const files = [];
@@ -4380,12 +4659,12 @@ async function collectTree(fs, dir, options = {}) {
4380
4659
  const fullPath = fs.path.join(current, entryName);
4381
4660
  const entryStat = await fs.stat(fullPath);
4382
4661
  if (entryStat?.isDirectory()) {
4383
- if (excluded.has(entryName)) {
4662
+ if (excluded.has(entryName) || isIgnoredByRules(fs, options.ignoreRules, fullPath, true)) {
4384
4663
  continue;
4385
4664
  }
4386
4665
  await walk(fullPath, false);
4387
4666
  } else if (entryStat?.isFile()) {
4388
- if (isDefaultExcludedFileName(entryName)) {
4667
+ if (isDefaultExcludedFileName(entryName) || isIgnoredByRules(fs, options.ignoreRules, fullPath, false)) {
4389
4668
  continue;
4390
4669
  }
4391
4670
  files.push(fullPath);
@@ -4488,38 +4767,43 @@ function countCentralDirectoryEntries(view, cdOffset, cdSize) {
4488
4767
  }
4489
4768
 
4490
4769
  // ../solution-sdk/src/bundle-service.ts
4770
+ class UipignoreExcludesProjectError extends Error {
4771
+ projectManifestPath;
4772
+ constructor(projectManifestPath) {
4773
+ super(`${UIPIGNORE_FILENAME} excludes ${projectManifestPath}, which the solution references. A project listed in the .uipx cannot be left out of the bundle.`);
4774
+ this.projectManifestPath = projectManifestPath;
4775
+ this.name = "UipignoreExcludesProjectError";
4776
+ }
4777
+ }
4491
4778
  async function readUipignore(fs, dir) {
4492
4779
  const ignorePath = fs.path.join(dir, UIPIGNORE_FILENAME);
4493
4780
  if (!await fs.exists(ignorePath)) {
4494
- return new Set;
4781
+ return;
4495
4782
  }
4496
4783
  try {
4497
4784
  const body = await fs.readFile(ignorePath, "utf-8");
4498
- if (!body) {
4499
- return new Set;
4785
+ const patterns = body ? parseUipignore(body) : [];
4786
+ if (patterns.length === 0) {
4787
+ return;
4500
4788
  }
4501
- return parseUipignore(body);
4789
+ return createUipignoreRules(dir, patterns);
4502
4790
  } catch (err) {
4503
4791
  logger.warn(`Could not read ${UIPIGNORE_FILENAME}; ignoring it: ${String(err)}`);
4504
- return new Set;
4792
+ return;
4505
4793
  }
4506
4794
  }
4507
- async function mergeProjectUipignore(fs, projectPath, projectLabel, solutionExcludeDirs) {
4508
- const projectExtra = await readUipignore(fs, projectPath);
4509
- if (projectExtra.size === 0) {
4510
- return solutionExcludeDirs;
4795
+ async function mergeProjectUipignore(fs, projectPath, projectLabel, solutionRules) {
4796
+ const projectRules = await readUipignore(fs, projectPath);
4797
+ if (!projectRules) {
4798
+ return solutionRules;
4511
4799
  }
4512
- const merged = new Set(solutionExcludeDirs);
4513
- for (const name of projectExtra) {
4514
- merged.add(name);
4515
- }
4516
- logger.info(`[${projectLabel}] Applying ${projectExtra.size} extra exclude(s) from project ${UIPIGNORE_FILENAME}: ${[...projectExtra].join(", ")}`);
4517
- return merged;
4800
+ logger.info(`[${projectLabel}] Applying ${projectRules.patterns.length} extra exclude(s) from project ${UIPIGNORE_FILENAME}: ${projectRules.patterns.join(", ")}`);
4801
+ return [...solutionRules, projectRules];
4518
4802
  }
4519
4803
  var toForwardSlash = (p) => p.replace(/\\/g, "/");
4520
- async function mirrorTree(fs, srcDir, relativeBase, destBaseDir, additionalExcludeDirs) {
4804
+ async function mirrorTree(fs, srcDir, relativeBase, destBaseDir, ignoreRules) {
4521
4805
  const { files, emptyDirs } = await collectTree(fs, srcDir, {
4522
- additionalExcludeDirs
4806
+ ignoreRules
4523
4807
  });
4524
4808
  if (files.length === 0 && emptyDirs.length === 0) {
4525
4809
  const rootRel = fs.path.relative(relativeBase, srcDir);
@@ -4546,14 +4830,8 @@ async function mirrorTree(fs, srcDir, relativeBase, destBaseDir, additionalExclu
4546
4830
  await fs.mkdir(fs.path.join(destBaseDir, relPath));
4547
4831
  }
4548
4832
  }
4549
- async function flattenProjectDir(fs, srcProjectDir, destProjectDir, additionalExcludeDirs) {
4833
+ async function flattenProjectDir(fs, srcProjectDir, destProjectDir, ignoreRules) {
4550
4834
  await fs.mkdir(destProjectDir);
4551
- const topLevelExclude = new Set(DEFAULT_EXCLUDED_DIR_NAMES);
4552
- if (additionalExcludeDirs) {
4553
- for (const name of additionalExcludeDirs) {
4554
- topLevelExclude.add(name);
4555
- }
4556
- }
4557
4835
  const entries = await fs.readdir(srcProjectDir);
4558
4836
  for (const entryName of entries) {
4559
4837
  const srcPath = fs.path.join(srcProjectDir, entryName);
@@ -4562,7 +4840,7 @@ async function flattenProjectDir(fs, srcProjectDir, destProjectDir, additionalEx
4562
4840
  continue;
4563
4841
  }
4564
4842
  if (entryStat.isFile()) {
4565
- if (isDefaultExcludedFileName(entryName)) {
4843
+ if (isDefaultExcludedFileName(entryName) || isIgnoredByRules(fs, ignoreRules, srcPath, false)) {
4566
4844
  continue;
4567
4845
  }
4568
4846
  const data = await fs.readFile(srcPath);
@@ -4570,13 +4848,13 @@ async function flattenProjectDir(fs, srcProjectDir, destProjectDir, additionalEx
4570
4848
  await fs.writeFile(fs.path.join(destProjectDir, entryName), data);
4571
4849
  }
4572
4850
  } else if (entryStat.isDirectory()) {
4573
- if (topLevelExclude.has(entryName)) {
4851
+ if (DEFAULT_EXCLUDED_DIR_NAMES.has(entryName) || isIgnoredByRules(fs, ignoreRules, srcPath, true)) {
4574
4852
  continue;
4575
4853
  }
4576
4854
  if (entryName === "content" || entryName === "flow_files") {
4577
- await mirrorTree(fs, srcPath, srcPath, destProjectDir, additionalExcludeDirs);
4855
+ await mirrorTree(fs, srcPath, srcPath, destProjectDir, ignoreRules);
4578
4856
  } else {
4579
- await mirrorTree(fs, srcPath, srcProjectDir, destProjectDir, additionalExcludeDirs);
4857
+ await mirrorTree(fs, srcPath, srcProjectDir, destProjectDir, ignoreRules);
4580
4858
  }
4581
4859
  }
4582
4860
  }
@@ -4591,14 +4869,12 @@ async function bundleSolution(fs, solutionDir, outputDir, outputName) {
4591
4869
  throw new Error(`Not a directory: ${resolvedPath}. Provide the solution directory containing a .uipx file.`);
4592
4870
  }
4593
4871
  const { uipx, uipxFileName } = await readUipxFile(fs, resolvedPath);
4594
- const additionalExcludeDirs = await readUipignore(fs, resolvedPath);
4595
- if (additionalExcludeDirs.size > 0) {
4596
- logger.info(`Applying ${additionalExcludeDirs.size} extra exclude(s) from .uipignore: ${[...additionalExcludeDirs].join(", ")}`);
4597
- }
4598
- const effectiveExclude = new Set(DEFAULT_EXCLUDED_DIR_NAMES);
4599
- for (const name of additionalExcludeDirs) {
4600
- effectiveExclude.add(name);
4872
+ const solutionUipignore = await readUipignore(fs, resolvedPath);
4873
+ const solutionRules = solutionUipignore ? [solutionUipignore] : [];
4874
+ if (solutionUipignore) {
4875
+ logger.info(`Applying ${solutionUipignore.patterns.length} extra exclude(s) from ${UIPIGNORE_FILENAME}: ${solutionUipignore.patterns.join(", ")}`);
4601
4876
  }
4877
+ const isTopLevelTreeExcluded = (treePath, name) => DEFAULT_EXCLUDED_DIR_NAMES.has(name) || isIgnoredByRules(fs, solutionRules, treePath, true);
4602
4878
  for (const project of uipx.Projects) {
4603
4879
  project.ProjectRelativePath = toForwardSlash(project.ProjectRelativePath);
4604
4880
  }
@@ -4623,16 +4899,20 @@ async function bundleSolution(fs, solutionDir, outputDir, outputName) {
4623
4899
  if (!projectStat) {
4624
4900
  throw new Error(`Project directory not found: ${srcProjectPath}`);
4625
4901
  }
4626
- const projectExcludeDirs = await mergeProjectUipignore(fs, srcProjectPath, projectDir, additionalExcludeDirs);
4627
- await flattenProjectDir(fs, srcProjectPath, fs.path.join(stagingDir, projectDir), projectExcludeDirs);
4902
+ const projectRules = await mergeProjectUipignore(fs, srcProjectPath, projectDir, solutionRules);
4903
+ const manifestPath = fs.path.join(resolvedPath, project.ProjectRelativePath);
4904
+ if (isIgnoredByRules(fs, projectRules, manifestPath, false)) {
4905
+ throw new UipignoreExcludesProjectError(project.ProjectRelativePath);
4906
+ }
4907
+ await flattenProjectDir(fs, srcProjectPath, fs.path.join(stagingDir, projectDir), projectRules);
4628
4908
  }
4629
4909
  const resourcesPath = fs.path.join(resolvedPath, "resources");
4630
- if (!effectiveExclude.has("resources") && await fs.exists(resourcesPath)) {
4631
- await mirrorTree(fs, resourcesPath, resolvedPath, stagingDir, additionalExcludeDirs);
4910
+ if (!isTopLevelTreeExcluded(resourcesPath, "resources") && await fs.exists(resourcesPath)) {
4911
+ await mirrorTree(fs, resourcesPath, resolvedPath, stagingDir, solutionRules);
4632
4912
  }
4633
4913
  const userProfilePath = fs.path.join(resolvedPath, "userProfile");
4634
- if (!effectiveExclude.has("userProfile") && await fs.exists(userProfilePath)) {
4635
- await mirrorTree(fs, userProfilePath, resolvedPath, stagingDir, additionalExcludeDirs);
4914
+ if (!isTopLevelTreeExcluded(userProfilePath, "userProfile") && await fs.exists(userProfilePath)) {
4915
+ await mirrorTree(fs, userProfilePath, resolvedPath, stagingDir, solutionRules);
4636
4916
  }
4637
4917
  const resolvedOutputDir = fs.path.resolve(outputDir);
4638
4918
  if (!await fs.exists(resolvedOutputDir)) {
@@ -5070,6 +5350,6 @@ async function uploadOrOverwriteSolution(config, organizationName, fileBufferOrP
5070
5350
  logger.info("Importing new solution to Studio Web...");
5071
5351
  return importSolution(config, organizationName, fileBuffer, fileName);
5072
5352
  }
5073
- export { BASE_PATH, Configuration, DefaultConfig, BaseAPI, ResponseError, FetchError, RequiredError, COLLECTION_FORMATS, querystring, exists, mapValues, canConsumeForm, JSONApiResponse, VoidApiResponse, BlobApiResponse, TextApiResponse, SDK_USER_AGENT, getAvailablePublishLocationsV2, instanceOfResponseDictionaryDto, ResponseDictionaryDtoFromJSON, ResponseDictionaryDtoFromJSONTyped, ResponseDictionaryDtoToJSON, ResponseDictionaryDtoToJSONTyped, instanceOfBlobFileAccessDto, BlobFileAccessDtoFromJSON, BlobFileAccessDtoFromJSONTyped, BlobFileAccessDtoToJSON, BlobFileAccessDtoToJSONTyped, instanceOfCreateConfigurationCommand, CreateConfigurationCommandFromJSON, CreateConfigurationCommandFromJSONTyped, CreateConfigurationCommandToJSON, CreateConfigurationCommandToJSONTyped, DeploymentActivationStatus, instanceOfDeploymentActivationStatus, DeploymentActivationStatusFromJSON, DeploymentActivationStatusFromJSONTyped, DeploymentActivationStatusToJSON, DeploymentActivationStatusToJSONTyped, OverwriteType, instanceOfOverwriteType, OverwriteTypeFromJSON, OverwriteTypeFromJSONTyped, OverwriteTypeToJSON, OverwriteTypeToJSONTyped, instanceOfOverwrite, OverwriteFromJSON, OverwriteFromJSONTyped, OverwriteToJSON, OverwriteToJSONTyped, instanceOfResourceOverwrite, ResourceOverwriteFromJSON, ResourceOverwriteFromJSONTyped, ResourceOverwriteToJSON, ResourceOverwriteToJSONTyped, instanceOfRuntimeSetup, RuntimeSetupFromJSON, RuntimeSetupFromJSONTyped, RuntimeSetupToJSON, RuntimeSetupToJSONTyped, instanceOfDeploymentAutoRequest, DeploymentAutoRequestFromJSON, DeploymentAutoRequestFromJSONTyped, DeploymentAutoRequestToJSON, DeploymentAutoRequestToJSONTyped, instanceOfDeploymentDto, DeploymentDtoFromJSON, DeploymentDtoFromJSONTyped, DeploymentDtoToJSON, DeploymentDtoToJSONTyped, WorkflowAction, instanceOfWorkflowAction, WorkflowActionFromJSON, WorkflowActionFromJSONTyped, WorkflowActionToJSON, WorkflowActionToJSONTyped, DeploymentOperation, instanceOfDeploymentOperation, DeploymentOperationFromJSON, DeploymentOperationFromJSONTyped, DeploymentOperationToJSON, DeploymentOperationToJSONTyped, PackageVersionOrigin, instanceOfPackageVersionOrigin, PackageVersionOriginFromJSON, PackageVersionOriginFromJSONTyped, PackageVersionOriginToJSON, PackageVersionOriginToJSONTyped, DeploymentOperationStatus, instanceOfDeploymentOperationStatus, DeploymentOperationStatusFromJSON, DeploymentOperationStatusFromJSONTyped, DeploymentOperationStatusToJSON, DeploymentOperationStatusToJSONTyped, DeploymentUpgradeType, instanceOfDeploymentUpgradeType, DeploymentUpgradeTypeFromJSON, DeploymentUpgradeTypeFromJSONTyped, DeploymentUpgradeTypeToJSON, DeploymentUpgradeTypeToJSONTyped, DeploymentStatus, instanceOfDeploymentStatus, DeploymentStatusFromJSON, DeploymentStatusFromJSONTyped, DeploymentStatusToJSON, DeploymentStatusToJSONTyped, instanceOfDeploymentItemDto, DeploymentItemDtoFromJSON, DeploymentItemDtoFromJSONTyped, DeploymentItemDtoToJSON, DeploymentItemDtoToJSONTyped, instanceOfDeploymentRequest, DeploymentRequestFromJSON, DeploymentRequestFromJSONTyped, DeploymentRequestToJSON, DeploymentRequestToJSONTyped, DeploymentResourceValidationAction, instanceOfDeploymentResourceValidationAction, DeploymentResourceValidationActionFromJSON, DeploymentResourceValidationActionFromJSONTyped, DeploymentResourceValidationActionToJSON, DeploymentResourceValidationActionToJSONTyped, ResetConfigurationSource, instanceOfResetConfigurationSource, ResetConfigurationSourceFromJSON, ResetConfigurationSourceFromJSONTyped, ResetConfigurationSourceToJSON, ResetConfigurationSourceToJSONTyped, DeploymentUpgradeState, instanceOfDeploymentUpgradeState, DeploymentUpgradeStateFromJSON, DeploymentUpgradeStateFromJSONTyped, DeploymentUpgradeStateToJSON, DeploymentUpgradeStateToJSONTyped, instanceOfDeploymentResourceReplacementDto, DeploymentResourceReplacementDtoFromJSON, DeploymentResourceReplacementDtoFromJSONTyped, DeploymentResourceReplacementDtoToJSON, DeploymentResourceReplacementDtoToJSONTyped, instanceOfFolderInfo, FolderInfoFromJSON, FolderInfoFromJSONTyped, FolderInfoToJSON, FolderInfoToJSONTyped, instanceOfDeploymentResourceInfo, DeploymentResourceInfoFromJSON, DeploymentResourceInfoFromJSONTyped, DeploymentResourceInfoToJSON, DeploymentResourceInfoToJSONTyped, DeploymentResourceValidationErrorKind, instanceOfDeploymentResourceValidationErrorKind, DeploymentResourceValidationErrorKindFromJSON, DeploymentResourceValidationErrorKindFromJSONTyped, DeploymentResourceValidationErrorKindToJSON, DeploymentResourceValidationErrorKindToJSONTyped, DeploymentResourceValidationErrorLevel, instanceOfDeploymentResourceValidationErrorLevel, DeploymentResourceValidationErrorLevelFromJSON, DeploymentResourceValidationErrorLevelFromJSONTyped, DeploymentResourceValidationErrorLevelToJSON, DeploymentResourceValidationErrorLevelToJSONTyped, DeploymentType, instanceOfDeploymentType, DeploymentTypeFromJSON, DeploymentTypeFromJSONTyped, DeploymentTypeToJSON, DeploymentTypeToJSONTyped, instanceOfDeploymentSearchItemDto2, DeploymentSearchItemDto2FromJSON, DeploymentSearchItemDto2FromJSONTyped, DeploymentSearchItemDto2ToJSON, DeploymentSearchItemDto2ToJSONTyped, instanceOfServiceMessage, ServiceMessageFromJSON, ServiceMessageFromJSONTyped, ServiceMessageToJSON, ServiceMessageToJSONTyped, instanceOfResourceValidationError, ResourceValidationErrorFromJSON, ResourceValidationErrorFromJSONTyped, ResourceValidationErrorToJSON, ResourceValidationErrorToJSONTyped, instanceOfResourceValidationDto, ResourceValidationDtoFromJSON, ResourceValidationDtoFromJSONTyped, ResourceValidationDtoToJSON, ResourceValidationDtoToJSONTyped, instanceOfDeploymentValidationResultDto, DeploymentValidationResultDtoFromJSON, DeploymentValidationResultDtoFromJSONTyped, DeploymentValidationResultDtoToJSON, DeploymentValidationResultDtoToJSONTyped, OrderByDirection, instanceOfOrderByDirection, OrderByDirectionFromJSON, OrderByDirectionFromJSONTyped, OrderByDirectionToJSON, OrderByDirectionToJSONTyped, instanceOfDeploymentsSearchRequest2, DeploymentsSearchRequest2FromJSON, DeploymentsSearchRequest2FromJSONTyped, DeploymentsSearchRequest2ToJSON, DeploymentsSearchRequest2ToJSONTyped, ExtendedPackageVersionState, instanceOfExtendedPackageVersionState, ExtendedPackageVersionStateFromJSON, ExtendedPackageVersionStateFromJSONTyped, ExtendedPackageVersionStateToJSON, ExtendedPackageVersionStateToJSONTyped, instanceOfLocationDto, LocationDtoFromJSON, LocationDtoFromJSONTyped, LocationDtoToJSON, LocationDtoToJSONTyped, instanceOfPackageInfo, PackageInfoFromJSON, PackageInfoFromJSONTyped, PackageInfoToJSON, PackageInfoToJSONTyped, instanceOfResourceStats, ResourceStatsFromJSON, ResourceStatsFromJSONTyped, ResourceStatsToJSON, ResourceStatsToJSONTyped, instanceOfPackageVersionResourceDto, PackageVersionResourceDtoFromJSON, PackageVersionResourceDtoFromJSONTyped, PackageVersionResourceDtoToJSON, PackageVersionResourceDtoToJSONTyped, instanceOfPackageVersionComponentsDto, PackageVersionComponentsDtoFromJSON, PackageVersionComponentsDtoFromJSONTyped, PackageVersionComponentsDtoToJSON, PackageVersionComponentsDtoToJSONTyped, instanceOfPackageVersionInfoDto, PackageVersionInfoDtoFromJSON, PackageVersionInfoDtoFromJSONTyped, PackageVersionInfoDtoToJSON, PackageVersionInfoDtoToJSONTyped, instanceOfPageInfoDtoOfDeploymentResourceInfo, PageInfoDtoOfDeploymentResourceInfoFromJSON, PageInfoDtoOfDeploymentResourceInfoFromJSONTyped, PageInfoDtoOfDeploymentResourceInfoToJSON, PageInfoDtoOfDeploymentResourceInfoToJSONTyped, instanceOfPageInfoDtoOfDeploymentSearchItemDto2, PageInfoDtoOfDeploymentSearchItemDto2FromJSON, PageInfoDtoOfDeploymentSearchItemDto2FromJSONTyped, PageInfoDtoOfDeploymentSearchItemDto2ToJSON, PageInfoDtoOfDeploymentSearchItemDto2ToJSONTyped, instanceOfPageInfoDtoOfPackageInfo, PageInfoDtoOfPackageInfoFromJSON, PageInfoDtoOfPackageInfoFromJSONTyped, PageInfoDtoOfPackageInfoToJSON, PageInfoDtoOfPackageInfoToJSONTyped, instanceOfProblemDetails, ProblemDetailsFromJSON, ProblemDetailsFromJSONTyped, ProblemDetailsToJSON, ProblemDetailsToJSONTyped, instanceOfProjectCreateRequest, ProjectCreateRequestFromJSON, ProjectCreateRequestFromJSONTyped, ProjectCreateRequestToJSON, ProjectCreateRequestToJSONTyped, ProjectImportStatus, instanceOfProjectImportStatus, ProjectImportStatusFromJSON, ProjectImportStatusFromJSONTyped, ProjectImportStatusToJSON, ProjectImportStatusToJSONTyped, instanceOfProjectDto, ProjectDtoFromJSON2 as ProjectDtoFromJSON, ProjectDtoFromJSONTyped3 as ProjectDtoFromJSONTyped, ProjectDtoToJSON2 as ProjectDtoToJSON, ProjectDtoToJSONTyped2 as ProjectDtoToJSONTyped, instanceOfSearchFilter, SearchFilterFromJSON, SearchFilterFromJSONTyped, SearchFilterToJSON, SearchFilterToJSONTyped, SolutionDeploymentAction, instanceOfSolutionDeploymentAction, SolutionDeploymentActionFromJSON, SolutionDeploymentActionFromJSONTyped, SolutionDeploymentActionToJSON, SolutionDeploymentActionToJSONTyped, ConfigurationsApi, DeploymentsApi, PackagesApi, ProjectsApi, SearchApi, SettingsApi, StudioWebIncompatibleProjectError, collectFiles, createZipFromDir, finalizeZip64, bundleSolution, buildSolutionPackageFromDir, isDebugProvisioningTerminal, isDebugProvisioningSucceeded, getProjectDebugStatus, searchPackageVersions, getStudioWebSolutionProjects, listStudioWebSolutions, SolutionUploadHttpError, isSolutionUploadHttpError, buildSolutionUploadFailureOutput, solutionExistsOnStudioWeb, importSolution, overwriteSolution, uploadOrOverwriteSolution };
5353
+ export { BASE_PATH, Configuration, DefaultConfig, BaseAPI, ResponseError, FetchError, RequiredError, COLLECTION_FORMATS, querystring, exists, mapValues, canConsumeForm, JSONApiResponse, VoidApiResponse, BlobApiResponse, TextApiResponse, SDK_USER_AGENT, getAvailablePublishLocationsV2, instanceOfResponseDictionaryDto, ResponseDictionaryDtoFromJSON, ResponseDictionaryDtoFromJSONTyped, ResponseDictionaryDtoToJSON, ResponseDictionaryDtoToJSONTyped, instanceOfBlobFileAccessDto, BlobFileAccessDtoFromJSON, BlobFileAccessDtoFromJSONTyped, BlobFileAccessDtoToJSON, BlobFileAccessDtoToJSONTyped, instanceOfCreateConfigurationCommand, CreateConfigurationCommandFromJSON, CreateConfigurationCommandFromJSONTyped, CreateConfigurationCommandToJSON, CreateConfigurationCommandToJSONTyped, DeploymentActivationStatus, instanceOfDeploymentActivationStatus, DeploymentActivationStatusFromJSON, DeploymentActivationStatusFromJSONTyped, DeploymentActivationStatusToJSON, DeploymentActivationStatusToJSONTyped, OverwriteType, instanceOfOverwriteType, OverwriteTypeFromJSON, OverwriteTypeFromJSONTyped, OverwriteTypeToJSON, OverwriteTypeToJSONTyped, instanceOfOverwrite, OverwriteFromJSON, OverwriteFromJSONTyped, OverwriteToJSON, OverwriteToJSONTyped, instanceOfResourceOverwrite, ResourceOverwriteFromJSON, ResourceOverwriteFromJSONTyped, ResourceOverwriteToJSON, ResourceOverwriteToJSONTyped, instanceOfRuntimeSetup, RuntimeSetupFromJSON, RuntimeSetupFromJSONTyped, RuntimeSetupToJSON, RuntimeSetupToJSONTyped, instanceOfDeploymentAutoRequest, DeploymentAutoRequestFromJSON, DeploymentAutoRequestFromJSONTyped, DeploymentAutoRequestToJSON, DeploymentAutoRequestToJSONTyped, instanceOfDeploymentDto, DeploymentDtoFromJSON, DeploymentDtoFromJSONTyped, DeploymentDtoToJSON, DeploymentDtoToJSONTyped, WorkflowAction, instanceOfWorkflowAction, WorkflowActionFromJSON, WorkflowActionFromJSONTyped, WorkflowActionToJSON, WorkflowActionToJSONTyped, DeploymentOperation, instanceOfDeploymentOperation, DeploymentOperationFromJSON, DeploymentOperationFromJSONTyped, DeploymentOperationToJSON, DeploymentOperationToJSONTyped, PackageVersionOrigin, instanceOfPackageVersionOrigin, PackageVersionOriginFromJSON, PackageVersionOriginFromJSONTyped, PackageVersionOriginToJSON, PackageVersionOriginToJSONTyped, DeploymentOperationStatus, instanceOfDeploymentOperationStatus, DeploymentOperationStatusFromJSON, DeploymentOperationStatusFromJSONTyped, DeploymentOperationStatusToJSON, DeploymentOperationStatusToJSONTyped, DeploymentUpgradeType, instanceOfDeploymentUpgradeType, DeploymentUpgradeTypeFromJSON, DeploymentUpgradeTypeFromJSONTyped, DeploymentUpgradeTypeToJSON, DeploymentUpgradeTypeToJSONTyped, DeploymentStatus, instanceOfDeploymentStatus, DeploymentStatusFromJSON, DeploymentStatusFromJSONTyped, DeploymentStatusToJSON, DeploymentStatusToJSONTyped, instanceOfDeploymentItemDto, DeploymentItemDtoFromJSON, DeploymentItemDtoFromJSONTyped, DeploymentItemDtoToJSON, DeploymentItemDtoToJSONTyped, instanceOfDeploymentRequest, DeploymentRequestFromJSON, DeploymentRequestFromJSONTyped, DeploymentRequestToJSON, DeploymentRequestToJSONTyped, DeploymentResourceValidationAction, instanceOfDeploymentResourceValidationAction, DeploymentResourceValidationActionFromJSON, DeploymentResourceValidationActionFromJSONTyped, DeploymentResourceValidationActionToJSON, DeploymentResourceValidationActionToJSONTyped, ResetConfigurationSource, instanceOfResetConfigurationSource, ResetConfigurationSourceFromJSON, ResetConfigurationSourceFromJSONTyped, ResetConfigurationSourceToJSON, ResetConfigurationSourceToJSONTyped, DeploymentUpgradeState, instanceOfDeploymentUpgradeState, DeploymentUpgradeStateFromJSON, DeploymentUpgradeStateFromJSONTyped, DeploymentUpgradeStateToJSON, DeploymentUpgradeStateToJSONTyped, instanceOfDeploymentResourceReplacementDto, DeploymentResourceReplacementDtoFromJSON, DeploymentResourceReplacementDtoFromJSONTyped, DeploymentResourceReplacementDtoToJSON, DeploymentResourceReplacementDtoToJSONTyped, instanceOfFolderInfo, FolderInfoFromJSON, FolderInfoFromJSONTyped, FolderInfoToJSON, FolderInfoToJSONTyped, instanceOfDeploymentResourceInfo, DeploymentResourceInfoFromJSON, DeploymentResourceInfoFromJSONTyped, DeploymentResourceInfoToJSON, DeploymentResourceInfoToJSONTyped, DeploymentResourceValidationErrorKind, instanceOfDeploymentResourceValidationErrorKind, DeploymentResourceValidationErrorKindFromJSON, DeploymentResourceValidationErrorKindFromJSONTyped, DeploymentResourceValidationErrorKindToJSON, DeploymentResourceValidationErrorKindToJSONTyped, DeploymentResourceValidationErrorLevel, instanceOfDeploymentResourceValidationErrorLevel, DeploymentResourceValidationErrorLevelFromJSON, DeploymentResourceValidationErrorLevelFromJSONTyped, DeploymentResourceValidationErrorLevelToJSON, DeploymentResourceValidationErrorLevelToJSONTyped, DeploymentType, instanceOfDeploymentType, DeploymentTypeFromJSON, DeploymentTypeFromJSONTyped, DeploymentTypeToJSON, DeploymentTypeToJSONTyped, instanceOfDeploymentSearchItemDto2, DeploymentSearchItemDto2FromJSON, DeploymentSearchItemDto2FromJSONTyped, DeploymentSearchItemDto2ToJSON, DeploymentSearchItemDto2ToJSONTyped, instanceOfServiceMessage, ServiceMessageFromJSON, ServiceMessageFromJSONTyped, ServiceMessageToJSON, ServiceMessageToJSONTyped, instanceOfResourceValidationError, ResourceValidationErrorFromJSON, ResourceValidationErrorFromJSONTyped, ResourceValidationErrorToJSON, ResourceValidationErrorToJSONTyped, instanceOfResourceValidationDto, ResourceValidationDtoFromJSON, ResourceValidationDtoFromJSONTyped, ResourceValidationDtoToJSON, ResourceValidationDtoToJSONTyped, instanceOfDeploymentValidationResultDto, DeploymentValidationResultDtoFromJSON, DeploymentValidationResultDtoFromJSONTyped, DeploymentValidationResultDtoToJSON, DeploymentValidationResultDtoToJSONTyped, OrderByDirection, instanceOfOrderByDirection, OrderByDirectionFromJSON, OrderByDirectionFromJSONTyped, OrderByDirectionToJSON, OrderByDirectionToJSONTyped, instanceOfDeploymentsSearchRequest2, DeploymentsSearchRequest2FromJSON, DeploymentsSearchRequest2FromJSONTyped, DeploymentsSearchRequest2ToJSON, DeploymentsSearchRequest2ToJSONTyped, ExtendedPackageVersionState, instanceOfExtendedPackageVersionState, ExtendedPackageVersionStateFromJSON, ExtendedPackageVersionStateFromJSONTyped, ExtendedPackageVersionStateToJSON, ExtendedPackageVersionStateToJSONTyped, instanceOfLocationDto, LocationDtoFromJSON, LocationDtoFromJSONTyped, LocationDtoToJSON, LocationDtoToJSONTyped, instanceOfPackageInfo, PackageInfoFromJSON, PackageInfoFromJSONTyped, PackageInfoToJSON, PackageInfoToJSONTyped, instanceOfResourceStats, ResourceStatsFromJSON, ResourceStatsFromJSONTyped, ResourceStatsToJSON, ResourceStatsToJSONTyped, instanceOfPackageVersionResourceDto, PackageVersionResourceDtoFromJSON, PackageVersionResourceDtoFromJSONTyped, PackageVersionResourceDtoToJSON, PackageVersionResourceDtoToJSONTyped, instanceOfPackageVersionComponentsDto, PackageVersionComponentsDtoFromJSON, PackageVersionComponentsDtoFromJSONTyped, PackageVersionComponentsDtoToJSON, PackageVersionComponentsDtoToJSONTyped, instanceOfPackageVersionInfoDto, PackageVersionInfoDtoFromJSON, PackageVersionInfoDtoFromJSONTyped, PackageVersionInfoDtoToJSON, PackageVersionInfoDtoToJSONTyped, instanceOfPageInfoDtoOfDeploymentResourceInfo, PageInfoDtoOfDeploymentResourceInfoFromJSON, PageInfoDtoOfDeploymentResourceInfoFromJSONTyped, PageInfoDtoOfDeploymentResourceInfoToJSON, PageInfoDtoOfDeploymentResourceInfoToJSONTyped, instanceOfPageInfoDtoOfDeploymentSearchItemDto2, PageInfoDtoOfDeploymentSearchItemDto2FromJSON, PageInfoDtoOfDeploymentSearchItemDto2FromJSONTyped, PageInfoDtoOfDeploymentSearchItemDto2ToJSON, PageInfoDtoOfDeploymentSearchItemDto2ToJSONTyped, instanceOfPageInfoDtoOfPackageInfo, PageInfoDtoOfPackageInfoFromJSON, PageInfoDtoOfPackageInfoFromJSONTyped, PageInfoDtoOfPackageInfoToJSON, PageInfoDtoOfPackageInfoToJSONTyped, instanceOfProblemDetails, ProblemDetailsFromJSON, ProblemDetailsFromJSONTyped, ProblemDetailsToJSON, ProblemDetailsToJSONTyped, instanceOfProjectCreateRequest, ProjectCreateRequestFromJSON, ProjectCreateRequestFromJSONTyped, ProjectCreateRequestToJSON, ProjectCreateRequestToJSONTyped, ProjectImportStatus, instanceOfProjectImportStatus, ProjectImportStatusFromJSON, ProjectImportStatusFromJSONTyped, ProjectImportStatusToJSON, ProjectImportStatusToJSONTyped, instanceOfProjectDto, ProjectDtoFromJSON2 as ProjectDtoFromJSON, ProjectDtoFromJSONTyped3 as ProjectDtoFromJSONTyped, ProjectDtoToJSON2 as ProjectDtoToJSON, ProjectDtoToJSONTyped2 as ProjectDtoToJSONTyped, instanceOfSearchFilter, SearchFilterFromJSON, SearchFilterFromJSONTyped, SearchFilterToJSON, SearchFilterToJSONTyped, SolutionDeploymentAction, instanceOfSolutionDeploymentAction, SolutionDeploymentActionFromJSON, SolutionDeploymentActionFromJSONTyped, SolutionDeploymentActionToJSON, SolutionDeploymentActionToJSONTyped, ConfigurationsApi, DeploymentsApi, PackagesApi, ProjectsApi, SearchApi, SettingsApi, StudioWebIncompatibleProjectError, collectFiles, createZipFromDir, finalizeZip64, UipignoreExcludesProjectError, bundleSolution, buildSolutionPackageFromDir, isDebugProvisioningTerminal, isDebugProvisioningSucceeded, getProjectDebugStatus, searchPackageVersions, getStudioWebSolutionProjects, listStudioWebSolutions, SolutionUploadHttpError, isSolutionUploadHttpError, buildSolutionUploadFailureOutput, solutionExistsOnStudioWeb, importSolution, overwriteSolution, uploadOrOverwriteSolution };
5074
5354
 
5075
- //# debugId=10A775D7377C88C464756E2164756E21
5355
+ //# debugId=CB25980864AB6E4A64756E2164756E21
@@ -2,7 +2,7 @@ import {
2
2
  bundleSolution,
3
3
  finalizeZip64,
4
4
  uploadOrOverwriteSolution
5
- } from "./packager-tool-b6neajj2.js";
5
+ } from "./packager-tool-e9c9f8zx.js";
6
6
  import {
7
7
  findSolutionFile,
8
8
  updateSolutionFile,
@@ -15,12 +15,13 @@ import {
15
15
  prepareAttachmentInputs,
16
16
  resolveStudioWebConfig,
17
17
  toAttachmentSummaries
18
- } from "./packager-tool-kbxw9y6j.js";
18
+ } from "./packager-tool-n95spghc.js";
19
19
  import {
20
20
  StudioWebIncompatibleProjectError,
21
+ UipignoreExcludesProjectError,
21
22
  buildSolutionUploadFailureOutput,
22
23
  isSolutionUploadHttpError
23
- } from "./packager-tool-b6neajj2.js";
24
+ } from "./packager-tool-e9c9f8zx.js";
24
25
  import {
25
26
  prepareProjectLocation,
26
27
  tryRegisterProjectInParentSolution
@@ -7009,7 +7010,7 @@ var package_default = {
7009
7010
  name: "@uipath/agent-tool",
7010
7011
  author: "UiPath",
7011
7012
  license: "SEE LICENSE IN LICENSE.txt",
7012
- version: "1.204.0-preview.250",
7013
+ version: "1.204.0-preview.255",
7013
7014
  description: "cli plugin for creating and managing UiPath low-code agents",
7014
7015
  private: false,
7015
7016
  repository: {
@@ -7191,6 +7192,16 @@ var registerDebugCommand = (program) => {
7191
7192
  processContext.exit(1);
7192
7193
  return;
7193
7194
  }
7195
+ if (error instanceof UipignoreExcludesProjectError) {
7196
+ OutputFormatter.error({
7197
+ Result: RESULTS.Failure,
7198
+ ErrorCode: "invalid_argument",
7199
+ Message: error.message,
7200
+ Instructions: "Remove or narrow the .uipignore pattern that matches the project (check the solution-root and the project's own .uipignore), or take the project out of the solution with 'uip solution projects remove' before debugging."
7201
+ });
7202
+ processContext.exit(1);
7203
+ return;
7204
+ }
7194
7205
  if (isSolutionUploadHttpError(error)) {
7195
7206
  OutputFormatter.error(buildSolutionUploadFailureOutput(error, {
7196
7207
  subject: "agent",
@@ -7527,7 +7538,7 @@ var package_default2 = {
7527
7538
  name: "@uipath/agent-sdk",
7528
7539
  author: "UiPath",
7529
7540
  license: "SEE LICENSE IN LICENSE.txt",
7530
- version: "1.204.0-preview.250",
7541
+ version: "1.204.0-preview.255",
7531
7542
  description: "SDK for the UiPath Agent Runtime API — evaluation execution and debug sessions.",
7532
7543
  repository: {
7533
7544
  type: "git",
@@ -11186,7 +11197,7 @@ var SOLUTION_FOLDER = "solution_folder";
11186
11197
  // src/services/memory-space-solution-link.ts
11187
11198
  async function findEnclosingSolutionFile(projectPath) {
11188
11199
  const fs = getFileSystem();
11189
- const { findSolutionFileUpward } = await import("./index-dtphqa7k.js");
11200
+ const { findSolutionFileUpward } = await import("./index-wpcscws8.js");
11190
11201
  const [error, solutionFile] = await catchError(findSolutionFileUpward(fs, fs.path.resolve(projectPath)));
11191
11202
  if (error) {
11192
11203
  if (error.message.startsWith("No .uipx solution file found")) {
@@ -31375,7 +31386,7 @@ var package_default3 = {
31375
31386
  name: "@uipath/integrationservice-sdk",
31376
31387
  author: "UiPath",
31377
31388
  license: "SEE LICENSE IN LICENSE.txt",
31378
- version: "1.204.0-preview.250",
31389
+ version: "1.204.0-preview.255",
31379
31390
  repository: {
31380
31391
  type: "git",
31381
31392
  url: "https://github.com/UiPath/cli.git",
@@ -41668,4 +41679,4 @@ var registerCommands = async (program) => {
41668
41679
 
41669
41680
  export { metadata, registerCommands };
41670
41681
 
41671
- //# debugId=4FDBDF02913C56B964756E2164756E21
41682
+ //# debugId=868B0B5D4D40639D64756E2164756E21
package/dist/tool.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  metadata,
3
3
  registerCommands
4
- } from "./packager-tool-w51ja6ra.js";
4
+ } from "./packager-tool-vyry6fha.js";
5
5
  import"./packager-tool-4mna26cc.js";
6
6
  import"./packager-tool-c23zrhj8.js";
7
- import"./packager-tool-kbxw9y6j.js";
8
- import"./packager-tool-b6neajj2.js";
7
+ import"./packager-tool-n95spghc.js";
8
+ import"./packager-tool-e9c9f8zx.js";
9
9
  import"./packager-tool-z8ryp7pb.js";
10
10
  import"./packager-tool-xxd71jja.js";
11
11
  import"./packager-tool-h4ymyb9t.js";
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@uipath/agent-tool",
3
3
  "author": "UiPath",
4
4
  "license": "SEE LICENSE IN LICENSE.txt",
5
- "version": "1.204.0-preview.250",
5
+ "version": "1.204.0-preview.255",
6
6
  "description": "cli plugin for creating and managing UiPath low-code agents",
7
7
  "private": false,
8
8
  "repository": {
@@ -29,5 +29,5 @@
29
29
  "files": [
30
30
  "dist"
31
31
  ],
32
- "gitHead": "80ffb08b3e58d7ca233b16fae8521163b1dcd635"
32
+ "gitHead": "699c58dabb59414557755a8933bcbe40aa420df3"
33
33
  }