@uipath/solution-tool 1.202.0 → 1.203.0-preview.160

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 (46) hide show
  1. package/dist/THIRD-PARTY-NOTICES.md +23 -1
  2. package/dist/deploy.js +7 -6
  3. package/dist/{packager-tool-bt0z25tw.js → embedded-file-reader-xxqe8vs8.js} +98 -16584
  4. package/dist/first-party-service-sd8yaf73.js +27 -0
  5. package/dist/index-dqa169gp.js +25 -0
  6. package/dist/index.js +19 -13
  7. package/dist/init.js +8 -5
  8. package/dist/{list-8hvfmge6.js → list-dadxggxt.js} +5 -4
  9. package/dist/models/pack-command-types.d.ts +33 -5
  10. package/dist/pack.js +12 -6
  11. package/dist/{packager-tool-fjjh5veg.js → packager-tool-0f0wt9vh.js} +353 -1519
  12. package/dist/{packager-tool-pbmpgz04.js → packager-tool-1haahq17.js} +5 -3
  13. package/dist/{packager-tool-rbrcxjch.js → packager-tool-2syrt51a.js} +7 -4
  14. package/dist/packager-tool-3jrq7smt.js +1459 -0
  15. package/dist/packager-tool-53w8skv5.js +262 -0
  16. package/dist/packager-tool-7znqtw3f.js +244 -0
  17. package/dist/packager-tool-bkwnetqn.js +16678 -0
  18. package/dist/{packager-tool-5518wy6n.js → packager-tool-cp07fhx3.js} +9 -6
  19. package/dist/{packager-tool-w1dzcj31.js → packager-tool-cvfbzs9p.js} +359 -95
  20. package/dist/packager-tool-gdtpsdn7.js +342 -0
  21. package/dist/{packager-tool-pyygbnp2.js → packager-tool-htag6yh5.js} +4 -4
  22. package/dist/{packager-tool-3bewrpq4.js → packager-tool-jz2wbfjz.js} +4 -1
  23. package/dist/packager-tool-k4mskzww.js +125 -0
  24. package/dist/{packager-tool-vfcht7hq.js → packager-tool-mj5p341c.js} +11 -12
  25. package/dist/{packager-tool-bme8epz8.js → packager-tool-n4nfqj99.js} +15381 -2421
  26. package/dist/{packager-tool-mcpzmn0v.js → packager-tool-rc5pcf2n.js} +45 -21
  27. package/dist/packager-tool-resolver-fmjr60x8.js +19 -0
  28. package/dist/{packager-tool-pw7v82j2.js → packager-tool-vas0xg5h.js} +1 -1
  29. package/dist/packager-tool-znakt6yw.js +188 -0
  30. package/dist/packager-tool.d.ts +1 -1
  31. package/dist/packager-tool.js +1 -1
  32. package/dist/prepare-solution-resources-wds3r8bq.js +22 -0
  33. package/dist/project-contributions-cvttys34.js +27 -0
  34. package/dist/publish.js +7 -6
  35. package/dist/resource.js +7 -4
  36. package/dist/services/deployment-validation.d.ts +33 -0
  37. package/dist/services/governance-options.d.ts +61 -1
  38. package/dist/services/pack-command-service.d.ts +33 -2
  39. package/dist/services/packager-tool-resolver.d.ts +3 -0
  40. package/dist/services/prepare-solution-resources.d.ts +40 -0
  41. package/dist/services/project-contributions.d.ts +58 -0
  42. package/dist/services/project-type-tools.d.ts +6 -0
  43. package/dist/templates/AGENTS.md +78 -8
  44. package/dist/tool.js +19 -13
  45. package/package.json +3 -2
  46. package/dist/services/validate-appv2-action-schemas.d.ts +0 -10
@@ -0,0 +1,342 @@
1
+ // ../../node_modules/@uipath/resource-builder-sdk/dist/serialization/json-serializer-names.js
2
+ var JsonSerializerNames = {
3
+ DefaultCaseInsensitive: "DefaultCaseInsensitive",
4
+ CaseInsensitive: "CaseInsensitive",
5
+ Indented: "Indented",
6
+ CamelCase: "CamelCase",
7
+ CaseInsensitiveIndented: "CaseInsensitiveIndented",
8
+ IndentedIgnoreNull: "IndentedIgnoreNull",
9
+ PreservePropertyNames: "PreservePropertyNames",
10
+ CamelCaseIndented: "CamelCaseIndented",
11
+ AllNames: [
12
+ "DefaultCaseInsensitive",
13
+ "CaseInsensitive",
14
+ "Indented",
15
+ "CamelCase",
16
+ "CaseInsensitiveIndented",
17
+ "IndentedIgnoreNull",
18
+ "PreservePropertyNames",
19
+ "CamelCaseIndented"
20
+ ]
21
+ };
22
+
23
+ // ../../node_modules/@uipath/resource-builder-sdk/dist/serialization/json-serializer.js
24
+ class JsonSerializer {
25
+ serialize(value) {
26
+ if (value == null)
27
+ return null;
28
+ let toSerialize = value;
29
+ if (this.options.ignoreNull)
30
+ toSerialize = this.removeNullValues(value);
31
+ if (this.options.camelCase && !this.options.preservePropertyNames)
32
+ toSerialize = this.toCamelCase(toSerialize);
33
+ if (this.options.enumCamelCase !== false)
34
+ toSerialize = this.convertEnumValuesToCamelCase(toSerialize);
35
+ const json = JSON.stringify(toSerialize, null, this.options.indented ? 2 : undefined);
36
+ return json;
37
+ }
38
+ async serializeAsync(stream, value, cancellationToken) {
39
+ cancellationToken?.throwIfAborted?.();
40
+ const json = this.serialize(value);
41
+ if (json === null)
42
+ return;
43
+ const writer = stream.getWriter();
44
+ try {
45
+ const bytes = this.encoder.encode(json);
46
+ await writer.write(bytes);
47
+ } finally {
48
+ writer.releaseLock();
49
+ }
50
+ }
51
+ serializeToUtf8Bytes(value) {
52
+ const json = this.serialize(value);
53
+ if (json === null)
54
+ return new Uint8Array(0);
55
+ return this.encoder.encode(json);
56
+ }
57
+ deserialize(value) {
58
+ if (value == null || value === "")
59
+ return null;
60
+ try {
61
+ let cleanValue = value.charCodeAt(0) === 65279 ? value.slice(1) : value;
62
+ if (cleanValue.charCodeAt(cleanValue.length - 1) === 26)
63
+ cleanValue = cleanValue.slice(0, -1);
64
+ const parsed = JSON.parse(cleanValue);
65
+ return parsed;
66
+ } catch {
67
+ return null;
68
+ }
69
+ }
70
+ deserializeAsType(value, _type) {
71
+ return this.deserialize(value);
72
+ }
73
+ removeNullValues(obj) {
74
+ if (obj == null)
75
+ return obj;
76
+ if (Array.isArray(obj))
77
+ return obj.map((item) => this.removeNullValues(item));
78
+ if (typeof obj == "object") {
79
+ const result = {};
80
+ for (const [key, val] of Object.entries(obj))
81
+ if (val != null)
82
+ result[key] = this.removeNullValues(val);
83
+ return result;
84
+ }
85
+ return obj;
86
+ }
87
+ toCamelCase(obj) {
88
+ if (obj == null)
89
+ return obj;
90
+ if (Array.isArray(obj))
91
+ return obj.map((item) => this.toCamelCase(item));
92
+ if (typeof obj == "object") {
93
+ const result = {};
94
+ for (const [key, val] of Object.entries(obj)) {
95
+ const camelKey = key.charAt(0).toLowerCase() + key.slice(1);
96
+ result[camelKey] = this.toCamelCase(val);
97
+ }
98
+ return result;
99
+ }
100
+ return obj;
101
+ }
102
+ convertEnumValuesToCamelCase(obj, className) {
103
+ if (obj == null)
104
+ return obj;
105
+ if (typeof obj == "string")
106
+ return this.tryConvertEnumStringToCamelCase(obj, undefined, undefined);
107
+ if (Array.isArray(obj))
108
+ return obj.map((item) => this.convertEnumValuesToCamelCase(item, className));
109
+ if (typeof obj == "object") {
110
+ const result = {};
111
+ const currentClassName = obj.constructor?.name !== "Object" ? obj.constructor.name : className;
112
+ for (const [key, val] of Object.entries(obj))
113
+ if (typeof val == "string")
114
+ result[key] = this.tryConvertEnumStringToCamelCase(val, currentClassName, key);
115
+ else if (Array.isArray(val))
116
+ result[key] = val.map((item) => {
117
+ if (typeof item == "string")
118
+ return this.tryConvertEnumStringToCamelCase(item, currentClassName, key);
119
+ return this.convertEnumValuesToCamelCase(item, currentClassName);
120
+ });
121
+ else
122
+ result[key] = this.convertEnumValuesToCamelCase(val, currentClassName);
123
+ return result;
124
+ }
125
+ return obj;
126
+ }
127
+ tryConvertEnumStringToCamelCase(value, className, propertyName) {
128
+ if (this.camelCaseEnumProperties.size > 0) {
129
+ if (!propertyName || !this.isKnownCamelCaseEnum(className, propertyName))
130
+ return value;
131
+ } else if (propertyName && this.isInPropertySet(this.pascalCaseEnumProperties, className, propertyName))
132
+ return value;
133
+ if (/^[A-Z][a-zA-Z0-9]*$/.test(value))
134
+ return value.charAt(0).toLowerCase() + value.slice(1);
135
+ return value;
136
+ }
137
+ isKnownCamelCaseEnum(className, propertyName) {
138
+ if (this.isInPropertySet(this.pascalCaseEnumProperties, className, propertyName))
139
+ return false;
140
+ return this.isInPropertySet(this.camelCaseEnumProperties, className, propertyName);
141
+ }
142
+ isInPropertySet(propertySet, className, propertyName) {
143
+ if (className && propertySet.has(`${className}.${propertyName}`))
144
+ return true;
145
+ return propertySet.has(propertyName);
146
+ }
147
+ constructor(options = {}) {
148
+ this.isContextBased = false;
149
+ this.encoder = new TextEncoder;
150
+ this.options = options;
151
+ this.camelCaseEnumProperties = new Set(options.camelCaseEnumProperties ?? []);
152
+ this.pascalCaseEnumProperties = new Set(options.pascalCaseEnumProperties ?? []);
153
+ }
154
+ }
155
+
156
+ // ../../node_modules/@uipath/resource-builder-sdk/dist/serialization/pascal-case-enum-properties.js
157
+ var CAMEL_CASE_ENUM_PROPERTIES = [
158
+ "scope",
159
+ "replaceOption",
160
+ "lookupStrategy",
161
+ "folderType"
162
+ ];
163
+ var SHARED_CORE_ABSTRACTIONS_PASCAL_CASE_PROPERTIES = [
164
+ "propertyCategory"
165
+ ];
166
+ var RESOURCE_BUILDER_PASCAL_CASE_PROPERTIES = [
167
+ "ValidationState.errorSeverity",
168
+ "ValidationState.errorType",
169
+ "AddOrUpdateResourceToSolutionResponse.status",
170
+ "Overwrite.type",
171
+ "OverwriteValidationError.severity",
172
+ "ProjectResourceDescriptor.provisionType"
173
+ ];
174
+ var PASCAL_CASE_ENUM_PROPERTIES = [
175
+ ...SHARED_CORE_ABSTRACTIONS_PASCAL_CASE_PROPERTIES,
176
+ ...RESOURCE_BUILDER_PASCAL_CASE_PROPERTIES
177
+ ];
178
+
179
+ // ../../node_modules/@uipath/resource-builder-sdk/dist/serialization/json-serializer-factory.js
180
+ class JsonSerializerFactory {
181
+ get() {
182
+ return this.defaultSerializer;
183
+ }
184
+ getByName(name) {
185
+ if (!name)
186
+ return this.defaultSerializer;
187
+ let serializer = this.namedSerializers.get(name);
188
+ if (!serializer) {
189
+ serializer = this.createNamedSerializer(name);
190
+ this.namedSerializers.set(name, serializer);
191
+ }
192
+ return serializer;
193
+ }
194
+ initializePredefinedSerializers() {
195
+ for (const name of JsonSerializerNames.AllNames)
196
+ this.namedSerializers.set(name, this.createNamedSerializer(name));
197
+ }
198
+ createNamedSerializer(name) {
199
+ const options = this.createOptionsForName(name);
200
+ return new JsonSerializer(options);
201
+ }
202
+ createOptionsForName(name) {
203
+ const options = {
204
+ ...this.baseOptions
205
+ };
206
+ switch (name) {
207
+ case JsonSerializerNames.DefaultCaseInsensitive:
208
+ return {
209
+ caseInsensitive: true
210
+ };
211
+ case JsonSerializerNames.CaseInsensitive:
212
+ options.caseInsensitive = true;
213
+ break;
214
+ case JsonSerializerNames.Indented:
215
+ options.indented = true;
216
+ break;
217
+ case JsonSerializerNames.CamelCase:
218
+ options.camelCase = true;
219
+ break;
220
+ case JsonSerializerNames.CaseInsensitiveIndented:
221
+ options.caseInsensitive = true;
222
+ options.indented = true;
223
+ break;
224
+ case JsonSerializerNames.IndentedIgnoreNull:
225
+ options.indented = true;
226
+ options.ignoreNull = true;
227
+ break;
228
+ case JsonSerializerNames.PreservePropertyNames:
229
+ options.preservePropertyNames = true;
230
+ options.camelCase = false;
231
+ break;
232
+ case JsonSerializerNames.CamelCaseIndented:
233
+ options.indented = true;
234
+ options.camelCase = true;
235
+ options.ignoreNull = true;
236
+ break;
237
+ default:
238
+ break;
239
+ }
240
+ return options;
241
+ }
242
+ constructor(options) {
243
+ const defaults = {
244
+ camelCase: true,
245
+ enumCamelCase: true,
246
+ camelCaseEnumProperties: CAMEL_CASE_ENUM_PROPERTIES,
247
+ pascalCaseEnumProperties: PASCAL_CASE_ENUM_PROPERTIES
248
+ };
249
+ this.baseOptions = options ? {
250
+ ...defaults,
251
+ ...options
252
+ } : defaults;
253
+ this.defaultSerializer = new JsonSerializer(this.baseOptions);
254
+ this.namedSerializers = new Map;
255
+ this.initializePredefinedSerializers();
256
+ }
257
+ }
258
+
259
+ // ../../node_modules/@uipath/resource-builder-sdk/dist/serialization/serializer-proxy.js
260
+ class JsonSerializerProxy {
261
+ serialize(value) {
262
+ return this.jsonSerializer.serialize(value);
263
+ }
264
+ serializeAsync(stream, value, cancellationToken) {
265
+ return this.jsonSerializer.serializeAsync(stream, value, cancellationToken);
266
+ }
267
+ serializeToUtf8Bytes(value) {
268
+ return this.jsonSerializer.serializeToUtf8Bytes(value);
269
+ }
270
+ deserialize(value) {
271
+ return this.jsonSerializer.deserialize(value);
272
+ }
273
+ tryDeserializeObject(json) {
274
+ if (!json || json.trim() === "")
275
+ return null;
276
+ try {
277
+ return this.jsonSerializer.isContextBased ? this.jsonSerializer.deserialize(json) : this.caseInsensitiveSerializer.deserialize(json);
278
+ } catch (ex) {
279
+ this.logger.info("Deserialization failed with exception.", ex);
280
+ return null;
281
+ }
282
+ }
283
+ tryDeserialize(value) {
284
+ if (!value || value.trim() === "")
285
+ return [
286
+ false,
287
+ null
288
+ ];
289
+ try {
290
+ const result = this.jsonSerializer.deserialize(value);
291
+ return [
292
+ true,
293
+ result
294
+ ];
295
+ } catch (ex) {
296
+ this.logger.info("Deserialization failed with exception.", ex);
297
+ return [
298
+ false,
299
+ null
300
+ ];
301
+ }
302
+ }
303
+ constructor(jsonSerializerFactory, loggerFactory) {
304
+ this.jsonSerializer = jsonSerializerFactory.get();
305
+ this.caseInsensitiveSerializer = jsonSerializerFactory.getByName(JsonSerializerNames.CaseInsensitive);
306
+ this.logger = loggerFactory.create("JsonSerializerProxy");
307
+ }
308
+ }
309
+
310
+ // ../../node_modules/@uipath/resource-builder-sdk/dist/serialization/stream-serializer.js
311
+ class StreamSerializer {
312
+ async serializeAsync(data, cancellationToken) {
313
+ cancellationToken?.throwIfAborted?.();
314
+ const serializer = this.jsonSerializerFactory.getByName(JsonSerializerNames.PreservePropertyNames);
315
+ const serializedContent = serializer.serialize(data);
316
+ const encoder = new TextEncoder;
317
+ const bytes = serializedContent ? encoder.encode(serializedContent) : new Uint8Array(0);
318
+ let streamClosed = false;
319
+ const stream = new ReadableStream({
320
+ start(controller) {
321
+ controller.enqueue(bytes);
322
+ controller.close();
323
+ streamClosed = true;
324
+ }
325
+ });
326
+ const disposeStream = this.disposeStream;
327
+ return {
328
+ stream,
329
+ dispose() {
330
+ if (disposeStream && !streamClosed)
331
+ stream.cancel().catch(() => {});
332
+ }
333
+ };
334
+ }
335
+ constructor(jsonSerializerFactory, disposeStream = true) {
336
+ this.jsonSerializerFactory = jsonSerializerFactory;
337
+ this.disposeStream = disposeStream;
338
+ }
339
+ }
340
+ export { JsonSerializerNames, JsonSerializer, CAMEL_CASE_ENUM_PROPERTIES, SHARED_CORE_ABSTRACTIONS_PASCAL_CASE_PROPERTIES, RESOURCE_BUILDER_PASCAL_CASE_PROPERTIES, PASCAL_CASE_ENUM_PROPERTIES, JsonSerializerFactory, JsonSerializerProxy, StreamSerializer };
341
+
342
+ //# debugId=B9E68BD7718EF2DB64756E2164756E21
@@ -3,14 +3,14 @@ import {
3
3
  PipelinesApi,
4
4
  feedScopeInitOverride,
5
5
  resolveFeedScope
6
- } from "./packager-tool-5518wy6n.js";
6
+ } from "./packager-tool-cp07fhx3.js";
7
7
  import {
8
8
  Configuration as Configuration2,
9
9
  PackagesApi
10
- } from "./packager-tool-vfcht7hq.js";
10
+ } from "./packager-tool-mj5p341c.js";
11
11
  import {
12
12
  getSolutionAuthContext
13
- } from "./packager-tool-rbrcxjch.js";
13
+ } from "./packager-tool-2syrt51a.js";
14
14
  import {
15
15
  PollOutcome,
16
16
  catchError,
@@ -19,7 +19,7 @@ import {
19
19
  logger,
20
20
  mapPollFailure,
21
21
  pollUntil
22
- } from "./packager-tool-fjjh5veg.js";
22
+ } from "./packager-tool-0f0wt9vh.js";
23
23
  import {
24
24
  strFromU8,
25
25
  strToU8,
@@ -161,6 +161,9 @@ class ZipService {
161
161
  });
162
162
  return zipData;
163
163
  }
164
+ compressEntries(entries) {
165
+ return zipSync(entries, { level: 6 });
166
+ }
164
167
  }
165
168
  function isPluralForm(value) {
166
169
  return typeof value === "object" && value !== null && "other" in value;
@@ -2269,4 +2272,4 @@ function registerPackagerFactories() {
2269
2272
 
2270
2273
  export { Path, TemporaryStorageService, ZipService, I18nManager, translate, BuildConfiguration, LogLevel, LogMessage, ProjectTypes, TargetFramework, ToolErrorCodes, ToolResult, ProjectTool, toolsFactoryRepository2 as toolsFactoryRepository, registerPackagerFactories };
2271
2274
 
2272
- //# debugId=380EC26ADC903B4F64756E2164756E21
2275
+ //# debugId=52AD10AAEA66A6BC64756E2164756E21
@@ -0,0 +1,125 @@
1
+ import {
2
+ registerPackagerFactories
3
+ } from "./packager-tool-jz2wbfjz.js";
4
+ import {
5
+ toolsFactoryRepository
6
+ } from "./packager-tool-nzghfa48.js";
7
+ import {
8
+ catchError,
9
+ ensurePackagerFactory,
10
+ logger,
11
+ unsupportedSolutionProjectType
12
+ } from "./packager-tool-0f0wt9vh.js";
13
+
14
+ // src/services/project-type-tools.ts
15
+ var PROJECT_TYPE_TO_TOOL = new Map([
16
+ ["Process", "rpa"],
17
+ ["Tests", "rpa"],
18
+ ["WebApp", "rpa"],
19
+ ["AppV2", "codedapp"],
20
+ ["Api", "api-workflow"],
21
+ ["Agent", "agent"],
22
+ ["Function", "function"],
23
+ ["CaseManagement", "maestro"],
24
+ ["ProcessOrchestration", "maestro"],
25
+ ["processOrchestration", "maestro"],
26
+ ["Flow", "maestro"],
27
+ ["BusinessRules", "maestro"],
28
+ ["Entity", "df"]
29
+ ]);
30
+ function toolVerbForProjectType(projectType) {
31
+ return PROJECT_TYPE_TO_TOOL.get(projectType);
32
+ }
33
+ function toolOwnedProjectTypes() {
34
+ return [...PROJECT_TYPE_TO_TOOL.keys()];
35
+ }
36
+
37
+ // src/services/packager-tool-resolver.ts
38
+ var PACKAGER_OWNED_TYPES = ["Connector"];
39
+
40
+ class UnpackableProjectTypeError extends Error {
41
+ __unpackableType = true;
42
+ instructions;
43
+ errorCode = "invalid_argument";
44
+ constructor(projectType, projectPath) {
45
+ super(`Project '${projectPath}' declares type '${projectType}', which this CLI cannot pack.`);
46
+ this.name = "UnpackableProjectTypeError";
47
+ this.instructions = buildUnpackableInstructions(projectType);
48
+ }
49
+ }
50
+ function isUnpackableProjectTypeError(error) {
51
+ return !!error && typeof error === "object" && error.__unpackableType === true;
52
+ }
53
+ function buildUnpackableInstructions(projectType) {
54
+ const allowed = `Types a solution can contain: ${packableProjectTypes().join(", ")}.`;
55
+ const codedAppHint = projectType.toLowerCase() === "app" ? " A coded app packs as 'AppV2': scaffold it with 'uip codedapp init <project-path>', which writes project.uiproj and webAppManifest.json and puts the app files under <project-path>/source." : "";
56
+ return `${allowed}${codedAppHint} Correct the project's Type in the .uipx, or drop the entry with 'uip solution projects remove <project-path>'.`;
57
+ }
58
+ var TOOL_TO_PACKAGE = new Map([
59
+ ["rpa", "@uipath/rpa-tool"],
60
+ ["codedapp", "@uipath/codedapp-tool"],
61
+ ["api-workflow", "@uipath/api-workflow-tool"],
62
+ ["agent", "@uipath/agent-tool"],
63
+ ["maestro", "@uipath/maestro-tool"],
64
+ ["function", "@uipath/function-tool"],
65
+ ["df", "@uipath/data-fabric-tool"]
66
+ ]);
67
+ async function readSolutionProjects(solutionDir, fs) {
68
+ const entries = await fs.readdir(solutionDir);
69
+ const uipxFile = entries.find((f) => f.endsWith(".uipx"));
70
+ if (!uipxFile)
71
+ return [];
72
+ const content = await fs.readFile(fs.path.join(solutionDir, uipxFile));
73
+ if (!content)
74
+ return [];
75
+ const json = typeof content === "string" ? content : new TextDecoder().decode(content);
76
+ const [parseError, solution] = catchError(() => JSON.parse(json));
77
+ if (parseError) {
78
+ throw new Error(`Failed to parse ${uipxFile}: ${parseError.message}`);
79
+ }
80
+ return (solution.Projects || []).map((p) => ({
81
+ type: typeof p.Type === "string" ? p.Type : "",
82
+ path: typeof p.ProjectRelativePath === "string" ? p.ProjectRelativePath : "(no ProjectRelativePath)"
83
+ }));
84
+ }
85
+ function packableProjectTypes() {
86
+ const types = new Set(toolOwnedProjectTypes());
87
+ for (const type of PACKAGER_OWNED_TYPES) {
88
+ types.add(type);
89
+ }
90
+ types.delete("processOrchestration");
91
+ return [...types].sort((a, b) => a.localeCompare(b));
92
+ }
93
+ async function ensurePackagerTools(solutionDir, fs) {
94
+ registerPackagerFactories();
95
+ const projects = await readSolutionProjects(solutionDir, fs);
96
+ if (projects.length === 0)
97
+ return;
98
+ const neededTools = new Set;
99
+ for (const { type, path } of projects) {
100
+ const unsupported = unsupportedSolutionProjectType(type);
101
+ if (unsupported) {
102
+ throw new Error(`Project type '${type}' cannot be packed as part of a solution. ${unsupported} Or drop it with 'uip solution projects remove <project-path>'.`);
103
+ }
104
+ if (!type) {
105
+ logger.warn(`Solution project '${path}' has no Type. Pack may fail.`);
106
+ continue;
107
+ }
108
+ if (toolsFactoryRepository.canHandleProject(type))
109
+ continue;
110
+ const toolVerb = toolVerbForProjectType(type);
111
+ if (toolVerb) {
112
+ neededTools.add(toolVerb);
113
+ continue;
114
+ }
115
+ throw new UnpackableProjectTypeError(type, path);
116
+ }
117
+ for (const toolVerb of neededTools) {
118
+ logger.info(`Loading packager factory for '${toolVerb}' to handle project types...`);
119
+ await ensurePackagerFactory(toolVerb, TOOL_TO_PACKAGE.get(toolVerb));
120
+ }
121
+ }
122
+
123
+ export { toolVerbForProjectType, UnpackableProjectTypeError, isUnpackableProjectTypeError, ensurePackagerTools };
124
+
125
+ //# debugId=CA0FE03AC2FB807A64756E2164756E21
@@ -1,3 +1,6 @@
1
+ import {
2
+ readUipxFile
3
+ } from "./packager-tool-3jrq7smt.js";
1
4
  import {
2
5
  RESULTS,
3
6
  addSdkUserAgentHeader,
@@ -5,9 +8,8 @@ import {
5
8
  getSdkUserAgentToken,
6
9
  installSdkUserAgentHeader,
7
10
  logger,
8
- readUipxFile,
9
11
  summarizePlatformBody
10
- } from "./packager-tool-fjjh5veg.js";
12
+ } from "./packager-tool-0f0wt9vh.js";
11
13
  import {
12
14
  zipSync
13
15
  } from "./packager-tool-dfrk01gn.js";
@@ -3104,8 +3106,9 @@ async function listStudioWebSolutions(config, organizationName, options = {}) {
3104
3106
  // ../solution-sdk/package.json
3105
3107
  var package_default = {
3106
3108
  name: "@uipath/solution-sdk",
3109
+ author: "UiPath",
3107
3110
  license: "SEE LICENSE IN LICENSE.txt",
3108
- version: "1.202.0",
3111
+ version: "1.203.0-preview.160",
3109
3112
  repository: {
3110
3113
  type: "git",
3111
3114
  url: "https://github.com/UiPath/cli.git",
@@ -3144,7 +3147,7 @@ var package_default = {
3144
3147
  ],
3145
3148
  private: false,
3146
3149
  scripts: {
3147
- build: "bun build ./src/index.ts ./src/resources/index.ts ./src/solution-auth.ts --outdir dist --format esm --target node --sourcemap=linked && bun build ./src/scripts/generate-sdk.ts --outdir dist/scripts --format esm --target node --sourcemap=linked && tsc -p tsconfig.build.json --noCheck",
3150
+ build: "bun build ./src/index.ts ./src/resources/index.ts ./src/solution-auth.ts --outdir dist --format esm --target node --splitting --sourcemap=linked && bun build ./src/scripts/generate-sdk.ts --outdir dist/scripts --format esm --target node --sourcemap=linked && tsc -p tsconfig.build.json --noCheck",
3148
3151
  generate: "bun run src/scripts/generate-sdk.ts",
3149
3152
  lint: "biome check .",
3150
3153
  test: "vitest run",
@@ -3156,7 +3159,7 @@ var package_default = {
3156
3159
  "@uipath/common": "workspace:*",
3157
3160
  "@uipath/filesystem": "workspace:*",
3158
3161
  "@uipath/orchestrator-sdk": "workspace:*",
3159
- "@uipath/resource-builder-sdk": "^2025.11.0-alpha4202-3459",
3162
+ "@uipath/resource-builder-sdk": "2025.11.0-alpha5891-4020",
3160
3163
  "@uipath/solutionpackager-tool-core": "workspace:*",
3161
3164
  "@uipath/studioweb-sdk": "workspace:*",
3162
3165
  "@types/node": "^25.5.2",
@@ -3172,11 +3175,9 @@ installSdkUserAgentHeader(BaseAPI, SDK_USER_AGENT);
3172
3175
  // ../solution-sdk/src/upload-service.ts
3173
3176
  class HttpError extends Error {
3174
3177
  status;
3175
- authChallenge;
3176
- constructor(status, message, authChallenge) {
3178
+ constructor(status, message) {
3177
3179
  super(message);
3178
3180
  this.status = status;
3179
- this.authChallenge = authChallenge;
3180
3181
  }
3181
3182
  }
3182
3183
 
@@ -3360,10 +3361,8 @@ async function solutionExistsOnStudioWeb(config, organizationName, solutionId) {
3360
3361
  if (error.response.status === 404) {
3361
3362
  return false;
3362
3363
  }
3363
- const status = error.response.status;
3364
3364
  const text = await error.response.text().catch(() => "");
3365
- const body = isAuthRefusal(status) ? summarizeAuthRefusalBody(text) : text;
3366
- throw new HttpError(status, `Studio Web solution existence probe failed (${status}): ${body}`, parseAuthChallenge(error.response.headers?.get("www-authenticate") ?? undefined));
3365
+ throw new HttpError(error.response.status, `Studio Web solution existence probe failed (${error.response.status}): ${text}`);
3367
3366
  }
3368
3367
  throw error;
3369
3368
  }
@@ -3495,4 +3494,4 @@ async function searchPackageVersions(config, packageKey, filter, feedFolderKey)
3495
3494
  }
3496
3495
  export { Configuration, getAvailablePublishLocationsV2, DeploymentActivationStatus, DeploymentOperationStatus, SolutionDeploymentAction, DeploymentsApi, PackagesApi, SearchApi, StudioWebIncompatibleProjectError, bundleSolution, deploymentsAutoInstall, isDebugProvisioningTerminal, isDebugProvisioningSucceeded, getProjectDebugStatus, searchPackageVersions, getStudioWebSolutionProjects, listStudioWebSolutions, isSolutionUploadHttpError, buildSolutionUploadFailureOutput, solutionExistsOnStudioWeb, importSolution, overwriteSolution };
3497
3496
 
3498
- //# debugId=B00CF03051D8329264756E2164756E21
3497
+ //# debugId=D3CDD3CE1AE3368C64756E2164756E21