@uipath/solution-tool 1.202.1-preview.220 → 1.202.1-preview.239

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/deploy.js CHANGED
@@ -5,11 +5,11 @@ import {
5
5
  listPackagesAsync,
6
6
  uninstallDeploymentAsync,
7
7
  upgradeDeploymentAsync
8
- } from "./packager-tool-0avmcp1d.js";
9
- import"./packager-tool-hf1vax5x.js";
10
- import"./packager-tool-242wgdxa.js";
11
- import"./packager-tool-0fh5tmf0.js";
12
- import"./packager-tool-1hjgq91f.js";
8
+ } from "./packager-tool-jzfs9dfs.js";
9
+ import"./packager-tool-7wpe9zbr.js";
10
+ import"./packager-tool-cmjqg8v6.js";
11
+ import"./packager-tool-w6jkk11r.js";
12
+ import"./packager-tool-vtkcc4qj.js";
13
13
  import"./packager-tool-dfrk01gn.js";
14
14
  import"./packager-tool-1de529jm.js";
15
15
  export {
package/dist/index.js CHANGED
@@ -2,21 +2,21 @@
2
2
  import {
3
3
  metadata,
4
4
  registerCommands
5
- } from "./packager-tool-j3f1fhft.js";
6
- import"./packager-tool-vybnsg1q.js";
7
- import"./packager-tool-0avmcp1d.js";
8
- import"./packager-tool-mnw3sgv0.js";
9
- import"./packager-tool-wwhrtzjh.js";
5
+ } from "./packager-tool-s9mb89vt.js";
6
+ import"./packager-tool-1mhxcdsy.js";
7
+ import"./packager-tool-jzfs9dfs.js";
8
+ import"./packager-tool-fa1szz9y.js";
9
+ import"./packager-tool-nknd7q3x.js";
10
10
  import"./packager-tool-p6mgvgdk.js";
11
- import"./packager-tool-3rsttfkz.js";
12
- import"./packager-tool-hf1vax5x.js";
13
- import"./packager-tool-242wgdxa.js";
14
- import"./packager-tool-9zpjm6ak.js";
11
+ import"./packager-tool-8wm4p0c5.js";
12
+ import"./packager-tool-7wpe9zbr.js";
13
+ import"./packager-tool-cmjqg8v6.js";
14
+ import"./packager-tool-9nq21cd6.js";
15
15
  import"./packager-tool-nzghfa48.js";
16
- import"./packager-tool-0fh5tmf0.js";
16
+ import"./packager-tool-w6jkk11r.js";
17
17
  import {
18
18
  Command
19
- } from "./packager-tool-1hjgq91f.js";
19
+ } from "./packager-tool-vtkcc4qj.js";
20
20
  import"./packager-tool-dfrk01gn.js";
21
21
  import"./packager-tool-1de529jm.js";
22
22
 
package/dist/init.js CHANGED
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  SolutionInitError,
3
3
  solutionInitAsync
4
- } from "./packager-tool-mnw3sgv0.js";
4
+ } from "./packager-tool-fa1szz9y.js";
5
5
  import {
6
6
  addProjectArtifactsToSolutionAsync
7
- } from "./packager-tool-9zpjm6ak.js";
7
+ } from "./packager-tool-9nq21cd6.js";
8
8
  import"./packager-tool-nzghfa48.js";
9
- import"./packager-tool-0fh5tmf0.js";
10
- import"./packager-tool-1hjgq91f.js";
9
+ import"./packager-tool-w6jkk11r.js";
10
+ import"./packager-tool-vtkcc4qj.js";
11
11
  import"./packager-tool-dfrk01gn.js";
12
12
  import"./packager-tool-1de529jm.js";
13
13
  export {
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  getStudioWebAuth,
3
3
  useStudioWebAuth
4
- } from "./packager-tool-vybnsg1q.js";
4
+ } from "./packager-tool-1mhxcdsy.js";
5
5
  import {
6
6
  getStudioWebSolutionProjects,
7
7
  listStudioWebSolutions
8
- } from "./packager-tool-242wgdxa.js";
8
+ } from "./packager-tool-cmjqg8v6.js";
9
9
  import {
10
10
  DEFAULT_PAGE_SIZE,
11
11
  OutputFormatter,
@@ -16,7 +16,7 @@ import {
16
16
  parseBoundedInt,
17
17
  parseOffset,
18
18
  processContext
19
- } from "./packager-tool-1hjgq91f.js";
19
+ } from "./packager-tool-vtkcc4qj.js";
20
20
  import"./packager-tool-dfrk01gn.js";
21
21
  import"./packager-tool-1de529jm.js";
22
22
 
package/dist/pack.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  packSolutionAsync
3
- } from "./packager-tool-wwhrtzjh.js";
3
+ } from "./packager-tool-nknd7q3x.js";
4
4
  import"./packager-tool-p6mgvgdk.js";
5
- import"./packager-tool-9zpjm6ak.js";
5
+ import"./packager-tool-9nq21cd6.js";
6
6
  import"./packager-tool-nzghfa48.js";
7
- import"./packager-tool-0fh5tmf0.js";
8
- import"./packager-tool-1hjgq91f.js";
7
+ import"./packager-tool-w6jkk11r.js";
8
+ import"./packager-tool-vtkcc4qj.js";
9
9
  import"./packager-tool-dfrk01gn.js";
10
10
  import"./packager-tool-1de529jm.js";
11
11
  export {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  catchError,
3
3
  getAuthContext
4
- } from "./packager-tool-1hjgq91f.js";
4
+ } from "./packager-tool-vtkcc4qj.js";
5
5
 
6
6
  // src/services/studio-web-auth-middleware.ts
7
7
  var studioWebAuthByCommand = new WeakMap;
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  getAvailablePublishLocationsV2
3
- } from "./packager-tool-242wgdxa.js";
3
+ } from "./packager-tool-cmjqg8v6.js";
4
4
  import {
5
5
  PersonalWorkspacesApi,
6
6
  createOrchestratorConfig
7
- } from "./packager-tool-0fh5tmf0.js";
7
+ } from "./packager-tool-w6jkk11r.js";
8
8
  import {
9
9
  getLoginStatusAsync,
10
10
  getSdkUserAgentToken,
11
11
  installSdkUserAgentHeader
12
- } from "./packager-tool-1hjgq91f.js";
12
+ } from "./packager-tool-vtkcc4qj.js";
13
13
 
14
14
  // ../pipelines-sdk/generated/src/runtime.ts
15
15
  var BASE_PATH = "https://alpha.uipath.com/uipattycyrhx/abizon_1/automationsolutions_".replace(/\/+$/, "");
@@ -3,14 +3,14 @@ import {
3
3
  PipelinesApi,
4
4
  feedScopeInitOverride,
5
5
  resolveFeedScope
6
- } from "./packager-tool-hf1vax5x.js";
6
+ } from "./packager-tool-7wpe9zbr.js";
7
7
  import {
8
8
  Configuration as Configuration2,
9
9
  PackagesApi
10
- } from "./packager-tool-242wgdxa.js";
10
+ } from "./packager-tool-cmjqg8v6.js";
11
11
  import {
12
12
  getSolutionAuthContext
13
- } from "./packager-tool-0fh5tmf0.js";
13
+ } from "./packager-tool-w6jkk11r.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-1hjgq91f.js";
22
+ } from "./packager-tool-vtkcc4qj.js";
23
23
  import {
24
24
  strFromU8,
25
25
  strToU8,
@@ -2,7 +2,7 @@ import {
2
2
  UsersApi,
3
3
  createApiClient,
4
4
  getSolutionAuthContext
5
- } from "./packager-tool-0fh5tmf0.js";
5
+ } from "./packager-tool-w6jkk11r.js";
6
6
  import {
7
7
  catchError,
8
8
  extractErrorMessage,
@@ -12,7 +12,7 @@ import {
12
12
  isGuid,
13
13
  logger,
14
14
  normalizeProjectType
15
- } from "./packager-tool-1hjgq91f.js";
15
+ } from "./packager-tool-vtkcc4qj.js";
16
16
  import {
17
17
  __commonJS,
18
18
  __toESM
@@ -7,7 +7,7 @@ import {
7
7
  logger,
8
8
  readUipxFile,
9
9
  summarizePlatformBody
10
- } from "./packager-tool-1hjgq91f.js";
10
+ } from "./packager-tool-vtkcc4qj.js";
11
11
  import {
12
12
  zipSync
13
13
  } from "./packager-tool-dfrk01gn.js";
@@ -3105,7 +3105,7 @@ async function listStudioWebSolutions(config, organizationName, options = {}) {
3105
3105
  var package_default = {
3106
3106
  name: "@uipath/solution-sdk",
3107
3107
  license: "SEE LICENSE IN LICENSE.txt",
3108
- version: "1.202.1-preview.220",
3108
+ version: "1.202.1-preview.239",
3109
3109
  repository: {
3110
3110
  type: "git",
3111
3111
  url: "https://github.com/UiPath/cli.git",
@@ -3495,4 +3495,4 @@ async function searchPackageVersions(config, packageKey, filter, feedFolderKey)
3495
3495
  }
3496
3496
  export { Configuration, getAvailablePublishLocationsV2, DeploymentActivationStatus, DeploymentOperationStatus, SolutionDeploymentAction, DeploymentsApi, PackagesApi, SearchApi, StudioWebIncompatibleProjectError, bundleSolution, deploymentsAutoInstall, isDebugProvisioningTerminal, isDebugProvisioningSucceeded, getProjectDebugStatus, searchPackageVersions, getStudioWebSolutionProjects, listStudioWebSolutions, isSolutionUploadHttpError, buildSolutionUploadFailureOutput, solutionExistsOnStudioWeb, importSolution, overwriteSolution };
3497
3497
 
3498
- //# debugId=E2D57B889B0522DF64756E2164756E21
3498
+ //# debugId=93C2883E0EF7F43164756E2164756E21
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  catchError,
3
3
  getFileSystem
4
- } from "./packager-tool-1hjgq91f.js";
4
+ } from "./packager-tool-vtkcc4qj.js";
5
5
 
6
6
  // src/services/solution-init-service.ts
7
7
  var AGENTS_FILENAME = "AGENTS.md";
@@ -7,7 +7,7 @@ import {
7
7
  listSelectablePublishLocations,
8
8
  resolveFeedScope,
9
9
  resolvePersonalWorkspace
10
- } from "./packager-tool-hf1vax5x.js";
10
+ } from "./packager-tool-7wpe9zbr.js";
11
11
  import {
12
12
  Configuration as Configuration2,
13
13
  DeploymentOperationStatus,
@@ -16,11 +16,11 @@ import {
16
16
  SolutionDeploymentAction,
17
17
  deploymentsAutoInstall,
18
18
  searchPackageVersions
19
- } from "./packager-tool-242wgdxa.js";
19
+ } from "./packager-tool-cmjqg8v6.js";
20
20
  import {
21
21
  getSolutionAuthContext,
22
22
  resolveFolder
23
- } from "./packager-tool-0fh5tmf0.js";
23
+ } from "./packager-tool-w6jkk11r.js";
24
24
  import {
25
25
  DEFAULT_PAGE_SIZE,
26
26
  PollOutcome,
@@ -31,7 +31,7 @@ import {
31
31
  mapPollFailure,
32
32
  pollUntil,
33
33
  processContext
34
- } from "./packager-tool-1hjgq91f.js";
34
+ } from "./packager-tool-vtkcc4qj.js";
35
35
  import {
36
36
  __commonJS,
37
37
  __require
@@ -25,7 +25,7 @@ import {
25
25
  models_BindingsResourceType,
26
26
  readUipxProjects,
27
27
  syncAndLog
28
- } from "./packager-tool-9zpjm6ak.js";
28
+ } from "./packager-tool-9nq21cd6.js";
29
29
  import {
30
30
  ToolResult as ToolResult2,
31
31
  toolsFactoryRepository as toolsFactoryRepository2
@@ -41,7 +41,7 @@ import {
41
41
  logger,
42
42
  telemetry,
43
43
  unsupportedSolutionProjectType
44
- } from "./packager-tool-1hjgq91f.js";
44
+ } from "./packager-tool-vtkcc4qj.js";
45
45
 
46
46
  // ../filesystem/dist/index.js
47
47
  import fs from "node:fs";
@@ -24193,7 +24193,7 @@ var sdkUserAgentHostToken2 = singleton2("SdkUserAgentHostToken");
24193
24193
  var package_default = {
24194
24194
  name: "@uipath/project-packager",
24195
24195
  license: "SEE LICENSE IN LICENSE.txt",
24196
- version: "1.202.1-preview.220",
24196
+ version: "1.202.1-preview.239",
24197
24197
  description: "UiPath Project Packager - core library for packing individual UiPath projects",
24198
24198
  type: "module",
24199
24199
  main: "./dist/index.js",
@@ -35686,7 +35686,165 @@ class FilterImplicitLimitError extends Error {
35686
35686
  this.instructions = "Pass --limit <n> to choose how many records the filter applies to. " + "To filter over all records, pass the command's maximum accepted --limit (see the option's description in --help).";
35687
35687
  }
35688
35688
  }
35689
- function applyFilter(data, filter) {
35689
+ function countRecords(data) {
35690
+ if (Array.isArray(data))
35691
+ return data.length;
35692
+ return data == null ? 0 : 1;
35693
+ }
35694
+ function availableFields(data) {
35695
+ const records = Array.isArray(data) ? data : [data];
35696
+ const keys = new Set;
35697
+ for (const record of records) {
35698
+ if (record && typeof record === "object" && !Array.isArray(record)) {
35699
+ for (const key of Object.keys(record))
35700
+ keys.add(key);
35701
+ }
35702
+ }
35703
+ return [...keys];
35704
+ }
35705
+ function decodeQuotedIdentifier(whole, inner) {
35706
+ const [error, decoded] = catchError3(() => JSON.parse(whole));
35707
+ if (!error && typeof decoded === "string")
35708
+ return decoded;
35709
+ return inner.replace(/\\(.)/g, "$1");
35710
+ }
35711
+ function referencedFields(filter) {
35712
+ const top = new Set;
35713
+ const nested = new Set;
35714
+ const withoutValueLiterals = filter.replace(/'(?:\\.|[^'\\])*'/g, " ").replace(/`(?:\\.|[^`\\])*`/g, " ");
35715
+ const isPathTail = (text, index) => text[index - 1] === "." && /[A-Za-z0-9_"]/.test(text[index - 2] ?? "");
35716
+ const quoted = [];
35717
+ const withoutLiterals = withoutValueLiterals.replace(/"((?:\\.|[^"\\])*)"/g, (whole, name, index) => {
35718
+ const isAlias = /^\s*:/.test(withoutValueLiterals.slice(index + whole.length));
35719
+ if (!isAlias) {
35720
+ quoted.push({
35721
+ name: decodeQuotedIdentifier(whole, name),
35722
+ index,
35723
+ tail: isPathTail(withoutValueLiterals, index)
35724
+ });
35725
+ }
35726
+ return `"${" ".repeat(whole.length - 2)}"`;
35727
+ });
35728
+ const descent = /[A-Za-z0-9_"]\s*[.[]/.exec(withoutLiterals);
35729
+ const rootEnd = descent ? descent.index + 1 : Number.POSITIVE_INFINITY;
35730
+ const place = (name, index, tail) => {
35731
+ if (tail || index >= rootEnd)
35732
+ nested.add(name);
35733
+ else
35734
+ top.add(name);
35735
+ };
35736
+ for (const entry of quoted)
35737
+ place(entry.name, entry.index, entry.tail);
35738
+ const identifiers = withoutLiterals.matchAll(/([A-Za-z_][A-Za-z0-9_]*)(\s*[:(])?/g);
35739
+ const reserved = new Set(["true", "false", "null", "and", "or", "not"]);
35740
+ for (const match of identifiers) {
35741
+ const [, name, trailing] = match;
35742
+ if (trailing || reserved.has(name))
35743
+ continue;
35744
+ place(name, match.index, isPathTail(withoutLiterals, match.index));
35745
+ }
35746
+ return {
35747
+ top: [...top],
35748
+ nested: [...nested].filter((name) => !top.has(name)),
35749
+ hasPredicate: /\[\s*\?/.test(withoutValueLiterals)
35750
+ };
35751
+ }
35752
+ function appearsBelowTopLevel(data, name) {
35753
+ let budget = 2000;
35754
+ const visit = (value, depth) => {
35755
+ if (budget-- <= 0 || depth > 4)
35756
+ return false;
35757
+ if (value === null || typeof value !== "object")
35758
+ return false;
35759
+ if (Array.isArray(value))
35760
+ return value.some((entry) => visit(entry, depth));
35761
+ const record = value;
35762
+ if (depth > 0 && Object.hasOwn(record, name))
35763
+ return true;
35764
+ return Object.values(record).some((entry) => visit(entry, depth + 1));
35765
+ };
35766
+ return visit(data, 0);
35767
+ }
35768
+ function alwaysNullKeys(records) {
35769
+ const objects = records.filter((r) => r != null && typeof r === "object" && !Array.isArray(r));
35770
+ if (objects.length === 0 || objects.length !== records.length)
35771
+ return [];
35772
+ const keys = [...new Set(objects.flatMap((o) => Object.keys(o)))];
35773
+ if (keys.length === 0)
35774
+ return [];
35775
+ const nullKeys = keys.filter((key) => objects.every((record) => record[key] === null));
35776
+ return nullKeys.length === keys.length ? nullKeys : [];
35777
+ }
35778
+ function carriesOnlyNulls(value) {
35779
+ if (value === null)
35780
+ return true;
35781
+ if (Array.isArray(value)) {
35782
+ return value.length > 0 && value.every(carriesOnlyNulls);
35783
+ }
35784
+ if (typeof value === "object" && value !== undefined) {
35785
+ const values = Object.values(value);
35786
+ return values.length > 0 && values.every(carriesOnlyNulls);
35787
+ }
35788
+ return false;
35789
+ }
35790
+ function nameList(names, cap22 = 12) {
35791
+ const shown = names.slice(0, cap22).map((n) => `\`${n}\``);
35792
+ const rest = names.length - shown.length;
35793
+ return shown.join(", ") + (rest > 0 ? `, and ${rest} more` : "");
35794
+ }
35795
+ function buildFilterWarning(filter, data, outcome) {
35796
+ const present = availableFields(data);
35797
+ const refs = referencedFields(filter);
35798
+ const unknown = refs.top.filter((name) => !present.includes(name) && !appearsBelowTopLevel(data, name));
35799
+ const unchecked = refs.nested.filter((name) => !present.includes(name));
35800
+ const count = countRecords(data);
35801
+ const scope = `${count} record(s)`;
35802
+ const isNotAField = (names) => `${nameList(names)} ${names.length === 1 ? "is not a field" : "are not fields"} on the ${scope} it read`;
35803
+ const soundness = unchecked.length > 0 ? `${nameList(unchecked)} ${unchecked.length === 1 ? "reads" : "read"} below the top level, so ${unchecked.length === 1 ? "it was" : "they were"} not checked against the record keys` : refs.top.length > 0 ? "every field it names exists" : "";
35804
+ const withSoundness = (base) => soundness ? `${base}, and ${soundness}` : base;
35805
+ let detail;
35806
+ let lede;
35807
+ if (outcome.kind === "null-elements") {
35808
+ lede = "returned only null values";
35809
+ const projected = `all ${outcome.count} of the elements it projected are null`;
35810
+ if (unknown.length > 0) {
35811
+ detail = `${projected}, because ${isNotAField(unknown)}`;
35812
+ } else if (unchecked.length > 0) {
35813
+ detail = withSoundness(projected);
35814
+ } else {
35815
+ detail = `${projected}, and every field it names exists — a multi-select list ` + `(\`[A, B]\`) reads each entry against \`Data\` itself, so on a list ` + `result use \`[].[A, B]\` or \`[].{a: A, b: B}\` to read the records`;
35816
+ }
35817
+ } else if (outcome.kind === "null-rows") {
35818
+ lede = "returned only null values";
35819
+ const projected = `every value it projected is null on all ${outcome.count} row(s)`;
35820
+ detail = unknown.length > 0 ? `${projected}, because ${isNotAField(unknown)}` : withSoundness(projected);
35821
+ } else if (outcome.kind === "null-values") {
35822
+ lede = "returned only null values";
35823
+ const projected = `every key it projected (${nameList(outcome.keys)}) is null`;
35824
+ const sameSet = unknown.length === outcome.keys.length && outcome.keys.every((k) => unknown.includes(k));
35825
+ if (sameSet) {
35826
+ detail = `${isNotAField(outcome.keys)}, so every key it projected is null`;
35827
+ } else if (unknown.length > 0) {
35828
+ detail = `${projected}, because ${isNotAField(unknown)}`;
35829
+ } else {
35830
+ detail = withSoundness(`${projected} on all ${scope}`);
35831
+ }
35832
+ } else {
35833
+ lede = "returned nothing";
35834
+ if (unknown.length > 0) {
35835
+ detail = isNotAField(unknown);
35836
+ } else {
35837
+ const selection = refs.hasPredicate ? "no record matched" : "the expression resolved to no value";
35838
+ detail = withSoundness(`${selection} — it read ${scope}`);
35839
+ }
35840
+ }
35841
+ const fields = present.length > 0 ? ` Available fields: ${nameList(present)}.` : "";
35842
+ return `--output-filter ${JSON.stringify(filter)} ${lede}: ${detail}.${fields}`;
35843
+ }
35844
+ function appendWarning(existing, note) {
35845
+ return existing ? `${existing} ${note}` : note;
35846
+ }
35847
+ function applyFilter(data, filter, onWarning) {
35690
35848
  const codec = requireJmespath();
35691
35849
  let result;
35692
35850
  try {
@@ -35694,9 +35852,34 @@ function applyFilter(data, filter) {
35694
35852
  } catch (err) {
35695
35853
  throw new FilterEvaluationError(filter, err);
35696
35854
  }
35697
- if (result == null)
35855
+ const inputCount = countRecords(data);
35856
+ const warn = (outcome) => {
35857
+ if (inputCount === 0)
35858
+ return;
35859
+ const note = buildFilterWarning(filter, data, outcome);
35860
+ getOutputSink2().writeErr(`[WARN] ${note}
35861
+ `);
35862
+ onWarning?.(note);
35863
+ };
35864
+ const warnIfAllNull = (records) => {
35865
+ const keys = alwaysNullKeys(records);
35866
+ if (keys.length > 0)
35867
+ warn({ kind: "null-values", keys });
35868
+ };
35869
+ if (result == null) {
35870
+ warn({ kind: "empty" });
35698
35871
  return [];
35872
+ }
35699
35873
  if (Array.isArray(result)) {
35874
+ if (result.length === 0) {
35875
+ warn({ kind: "empty" });
35876
+ } else if (result.every((entry) => entry === null)) {
35877
+ warn({ kind: "null-elements", count: result.length });
35878
+ } else if (result.every((entry) => Array.isArray(entry)) && carriesOnlyNulls(result)) {
35879
+ warn({ kind: "null-rows", count: result.length });
35880
+ } else {
35881
+ warnIfAllNull(result);
35882
+ }
35700
35883
  if (result.length > 0 && typeof result[0] !== "object") {
35701
35884
  const fieldMatch = filter.match(/\.(\w+)$/);
35702
35885
  const key = fieldMatch ? fieldMatch[1] : "Value";
@@ -35704,10 +35887,30 @@ function applyFilter(data, filter) {
35704
35887
  }
35705
35888
  return result;
35706
35889
  }
35707
- if (typeof result === "object")
35890
+ if (typeof result === "object") {
35891
+ warnIfAllNull([result]);
35708
35892
  return result;
35893
+ }
35709
35894
  return { Value: result };
35710
35895
  }
35896
+ function filterFailureData(envelope) {
35897
+ const filter = getOutputFilter();
35898
+ const data = envelope.Data;
35899
+ if (!filter || data == null)
35900
+ return;
35901
+ let note;
35902
+ const [filterError, filtered] = catchError3(() => applyFilter(data, filter, (n) => {
35903
+ note = n;
35904
+ }));
35905
+ if (filterError) {
35906
+ envelope.Warning = appendWarning(envelope.Warning, `--output-filter was not applied, so Data is shown in full: ${filterError.message}`);
35907
+ return;
35908
+ }
35909
+ envelope.Data = filtered;
35910
+ if (note) {
35911
+ envelope.Warning = appendWarning(envelope.Warning, note);
35912
+ }
35913
+ }
35711
35914
  function defaultErrorCodeForResult(result) {
35712
35915
  switch (result) {
35713
35916
  case RESULTS2.AuthenticationError:
@@ -35790,8 +35993,14 @@ var OutputFormatter2;
35790
35993
  }
35791
35994
  const filter = getOutputFilter();
35792
35995
  if (filter) {
35793
- const filtered = applyFilter(data.Data, filter);
35996
+ let note;
35997
+ const filtered = applyFilter(data.Data, filter, (n) => {
35998
+ note = n;
35999
+ });
35794
36000
  data.Data = normalize2 ? normalizeDataKeys(filtered, verbatim, subtrees && { refs: subtrees.refs, mode: "skip" }) : filtered;
36001
+ if (note) {
36002
+ data.Warning = appendWarning(data.Warning, note);
36003
+ }
35795
36004
  }
35796
36005
  logOutput(normalizeOutputKeys(data), getOutputFormat(), options?.tableRowStyle);
35797
36006
  }
@@ -35819,6 +36028,7 @@ var OutputFormatter2;
35819
36028
  delete envelope.TelemetryErrorClass;
35820
36029
  delete envelope.TelemetryTerminalOutcome;
35821
36030
  delete envelope.TelemetryTerminalSignal;
36031
+ filterFailureData(envelope);
35822
36032
  if (!suppressTelemetry) {
35823
36033
  telemetry2.trackEvent(CommonTelemetryEvents.Error, {
35824
36034
  result: data.Result,
@@ -35867,13 +36077,20 @@ var OutputFormatter2;
35867
36077
  OutputFormatter22.log = log2;
35868
36078
  function formatToString(data) {
35869
36079
  const filter = getOutputFilter();
36080
+ const envelope = data;
35870
36081
  if ("Data" in data && data.Data != null) {
35871
36082
  data.Data = normalizeDataKeys(data.Data);
35872
36083
  if (filter) {
35873
- data.Data = normalizeDataKeys(applyFilter(data.Data, filter));
36084
+ let note;
36085
+ data.Data = normalizeDataKeys(applyFilter(data.Data, filter, (n) => {
36086
+ note = n;
36087
+ }));
36088
+ if (note) {
36089
+ envelope.Warning = appendWarning(envelope.Warning, note);
36090
+ }
35874
36091
  }
35875
36092
  }
35876
- const output = normalizeOutputKeys(data);
36093
+ const output = normalizeOutputKeys(envelope);
35877
36094
  const lines = [];
35878
36095
  const sink = getOutputSink2();
35879
36096
  printOutput(output, getOutputFormat(), (msg) => {
@@ -36815,7 +37032,7 @@ var sdkUserAgentHostToken22 = singleton22("SdkUserAgentHostToken");
36815
37032
  var package_default2 = {
36816
37033
  name: "@uipath/project-packager",
36817
37034
  license: "SEE LICENSE IN LICENSE.txt",
36818
- version: "1.202.1-preview.220",
37035
+ version: "1.202.1-preview.239",
36819
37036
  description: "UiPath Project Packager - core library for packing individual UiPath projects",
36820
37037
  type: "module",
36821
37038
  main: "./dist/index.js",
@@ -38994,4 +39211,4 @@ async function packSolutionAsync(solutionPath, options) {
38994
39211
 
38995
39212
  export { SolutionPackOptions, isUnpackableProjectTypeError, ensurePackagerTools, createSolutionPackager, readSolutionFileAsUint8Array, resolveSdkLogLevel, applyAuthConnection, SOLUTION_PATH_INSTRUCTIONS, checkSolutionPathAsync, GOVERNANCE_OPTION_INSTRUCTIONS, validateGovernanceOptions, PackCommandService, packSolutionAsync };
38996
39213
 
38997
- //# debugId=CB833A912E7536EB64756E2164756E21
39214
+ //# debugId=98764E23F9340F0964756E2164756E21
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getStudioWebAuthWithOrganizationId,
3
3
  useStudioWebAuth
4
- } from "./packager-tool-vybnsg1q.js";
4
+ } from "./packager-tool-1mhxcdsy.js";
5
5
  import {
6
6
  activateDeploymentAsync,
7
7
  deployRunAsync,
@@ -11,11 +11,11 @@ import {
11
11
  listPackagesAsync,
12
12
  uninstallDeploymentAsync,
13
13
  upgradeDeploymentAsync
14
- } from "./packager-tool-0avmcp1d.js";
14
+ } from "./packager-tool-jzfs9dfs.js";
15
15
  import {
16
16
  SolutionInitError,
17
17
  solutionInitAsync
18
- } from "./packager-tool-mnw3sgv0.js";
18
+ } from "./packager-tool-fa1szz9y.js";
19
19
  import {
20
20
  GOVERNANCE_OPTION_INSTRUCTIONS,
21
21
  PackCommandService,
@@ -30,10 +30,10 @@ import {
30
30
  readSolutionFileAsUint8Array,
31
31
  resolveSdkLogLevel,
32
32
  validateGovernanceOptions
33
- } from "./packager-tool-wwhrtzjh.js";
33
+ } from "./packager-tool-nknd7q3x.js";
34
34
  import {
35
35
  publishSolutionAsync
36
- } from "./packager-tool-3rsttfkz.js";
36
+ } from "./packager-tool-8wm4p0c5.js";
37
37
  import {
38
38
  Configuration,
39
39
  PipelinesApi,
@@ -41,7 +41,7 @@ import {
41
41
  feedScopeInitOverride,
42
42
  listSelectablePublishLocations,
43
43
  resolveFeedScope
44
- } from "./packager-tool-hf1vax5x.js";
44
+ } from "./packager-tool-7wpe9zbr.js";
45
45
  import {
46
46
  Configuration as Configuration2,
47
47
  DeploymentActivationStatus,
@@ -59,7 +59,7 @@ import {
59
59
  overwriteSolution,
60
60
  searchPackageVersions,
61
61
  solutionExistsOnStudioWeb
62
- } from "./packager-tool-242wgdxa.js";
62
+ } from "./packager-tool-cmjqg8v6.js";
63
63
  import {
64
64
  Tokens,
65
65
  applyEntryPointEnhancementAsync,
@@ -83,13 +83,13 @@ import {
83
83
  syncAndLog,
84
84
  syncResourcesFromBindings,
85
85
  writeSolutionFile
86
- } from "./packager-tool-9zpjm6ak.js";
86
+ } from "./packager-tool-9nq21cd6.js";
87
87
  import {
88
88
  ToolResult
89
89
  } from "./packager-tool-nzghfa48.js";
90
90
  import {
91
91
  getSolutionAuthContext
92
- } from "./packager-tool-0fh5tmf0.js";
92
+ } from "./packager-tool-w6jkk11r.js";
93
93
  import {
94
94
  DEFAULT_PAGE_SIZE,
95
95
  Option,
@@ -122,7 +122,7 @@ import {
122
122
  unsupportedSolutionProjectType,
123
123
  updateUipxSolutionId,
124
124
  withCompleter
125
- } from "./packager-tool-1hjgq91f.js";
125
+ } from "./packager-tool-vtkcc4qj.js";
126
126
  import {
127
127
  strFromU8,
128
128
  unzip,
@@ -135,7 +135,7 @@ import {
135
135
  var package_default = {
136
136
  name: "@uipath/solution-tool",
137
137
  license: "SEE LICENSE IN LICENSE.txt",
138
- version: "1.202.1-preview.220",
138
+ version: "1.202.1-preview.239",
139
139
  description: "Create, pack, publish, and deploy UiPath Automation Solutions.",
140
140
  repository: {
141
141
  type: "git",
@@ -2397,9 +2397,9 @@ var SOLUTION_PACKAGES_LIST_EXAMPLES = [
2397
2397
  Code: "SolutionPackagesList",
2398
2398
  Data: [
2399
2399
  {
2400
- packageName: "MyPackage",
2401
- packageVersion: "1.0.0",
2402
- publishDate: "2025-04-15T10:30:00Z"
2400
+ Name: "MyPackage",
2401
+ LatestVersion: "1.0.0",
2402
+ PublishDate: "2025-04-15T10:30:00Z"
2403
2403
  }
2404
2404
  ]
2405
2405
  }
@@ -6122,7 +6122,7 @@ var registerCommands = async (program) => {
6122
6122
  registerResourceCommand(program);
6123
6123
  registerDeleteCommand(program);
6124
6124
  if (isPreviewBuild()) {
6125
- const { registerListCommand } = await import("./list-spesv97s.js");
6125
+ const { registerListCommand } = await import("./list-vmvqzghp.js");
6126
6126
  registerListCommand(program);
6127
6127
  }
6128
6128
  registerFeedsCommand(program);
@@ -6130,4 +6130,4 @@ var registerCommands = async (program) => {
6130
6130
 
6131
6131
  export { metadata, registerCommands };
6132
6132
 
6133
- //# debugId=5123E04BEA4F7DBD64756E2164756E21
6133
+ //# debugId=C2455A3DB063712264756E2164756E21
@@ -4400,7 +4400,165 @@ class FilterImplicitLimitError extends Error {
4400
4400
  this.instructions = "Pass --limit <n> to choose how many records the filter applies to. " + "To filter over all records, pass the command's maximum accepted --limit (see the option's description in --help).";
4401
4401
  }
4402
4402
  }
4403
- function applyFilter(data, filter) {
4403
+ function countRecords(data) {
4404
+ if (Array.isArray(data))
4405
+ return data.length;
4406
+ return data == null ? 0 : 1;
4407
+ }
4408
+ function availableFields(data) {
4409
+ const records = Array.isArray(data) ? data : [data];
4410
+ const keys = new Set;
4411
+ for (const record of records) {
4412
+ if (record && typeof record === "object" && !Array.isArray(record)) {
4413
+ for (const key of Object.keys(record))
4414
+ keys.add(key);
4415
+ }
4416
+ }
4417
+ return [...keys];
4418
+ }
4419
+ function decodeQuotedIdentifier(whole, inner) {
4420
+ const [error, decoded] = catchError(() => JSON.parse(whole));
4421
+ if (!error && typeof decoded === "string")
4422
+ return decoded;
4423
+ return inner.replace(/\\(.)/g, "$1");
4424
+ }
4425
+ function referencedFields(filter) {
4426
+ const top = new Set;
4427
+ const nested = new Set;
4428
+ const withoutValueLiterals = filter.replace(/'(?:\\.|[^'\\])*'/g, " ").replace(/`(?:\\.|[^`\\])*`/g, " ");
4429
+ const isPathTail = (text, index) => text[index - 1] === "." && /[A-Za-z0-9_"]/.test(text[index - 2] ?? "");
4430
+ const quoted = [];
4431
+ const withoutLiterals = withoutValueLiterals.replace(/"((?:\\.|[^"\\])*)"/g, (whole, name, index) => {
4432
+ const isAlias = /^\s*:/.test(withoutValueLiterals.slice(index + whole.length));
4433
+ if (!isAlias) {
4434
+ quoted.push({
4435
+ name: decodeQuotedIdentifier(whole, name),
4436
+ index,
4437
+ tail: isPathTail(withoutValueLiterals, index)
4438
+ });
4439
+ }
4440
+ return `"${" ".repeat(whole.length - 2)}"`;
4441
+ });
4442
+ const descent = /[A-Za-z0-9_"]\s*[.[]/.exec(withoutLiterals);
4443
+ const rootEnd = descent ? descent.index + 1 : Number.POSITIVE_INFINITY;
4444
+ const place = (name, index, tail) => {
4445
+ if (tail || index >= rootEnd)
4446
+ nested.add(name);
4447
+ else
4448
+ top.add(name);
4449
+ };
4450
+ for (const entry of quoted)
4451
+ place(entry.name, entry.index, entry.tail);
4452
+ const identifiers = withoutLiterals.matchAll(/([A-Za-z_][A-Za-z0-9_]*)(\s*[:(])?/g);
4453
+ const reserved = new Set(["true", "false", "null", "and", "or", "not"]);
4454
+ for (const match of identifiers) {
4455
+ const [, name, trailing] = match;
4456
+ if (trailing || reserved.has(name))
4457
+ continue;
4458
+ place(name, match.index, isPathTail(withoutLiterals, match.index));
4459
+ }
4460
+ return {
4461
+ top: [...top],
4462
+ nested: [...nested].filter((name) => !top.has(name)),
4463
+ hasPredicate: /\[\s*\?/.test(withoutValueLiterals)
4464
+ };
4465
+ }
4466
+ function appearsBelowTopLevel(data, name) {
4467
+ let budget = 2000;
4468
+ const visit = (value, depth) => {
4469
+ if (budget-- <= 0 || depth > 4)
4470
+ return false;
4471
+ if (value === null || typeof value !== "object")
4472
+ return false;
4473
+ if (Array.isArray(value))
4474
+ return value.some((entry) => visit(entry, depth));
4475
+ const record = value;
4476
+ if (depth > 0 && Object.hasOwn(record, name))
4477
+ return true;
4478
+ return Object.values(record).some((entry) => visit(entry, depth + 1));
4479
+ };
4480
+ return visit(data, 0);
4481
+ }
4482
+ function alwaysNullKeys(records) {
4483
+ const objects = records.filter((r) => r != null && typeof r === "object" && !Array.isArray(r));
4484
+ if (objects.length === 0 || objects.length !== records.length)
4485
+ return [];
4486
+ const keys = [...new Set(objects.flatMap((o) => Object.keys(o)))];
4487
+ if (keys.length === 0)
4488
+ return [];
4489
+ const nullKeys = keys.filter((key) => objects.every((record) => record[key] === null));
4490
+ return nullKeys.length === keys.length ? nullKeys : [];
4491
+ }
4492
+ function carriesOnlyNulls(value) {
4493
+ if (value === null)
4494
+ return true;
4495
+ if (Array.isArray(value)) {
4496
+ return value.length > 0 && value.every(carriesOnlyNulls);
4497
+ }
4498
+ if (typeof value === "object" && value !== undefined) {
4499
+ const values = Object.values(value);
4500
+ return values.length > 0 && values.every(carriesOnlyNulls);
4501
+ }
4502
+ return false;
4503
+ }
4504
+ function nameList(names, cap2 = 12) {
4505
+ const shown = names.slice(0, cap2).map((n) => `\`${n}\``);
4506
+ const rest = names.length - shown.length;
4507
+ return shown.join(", ") + (rest > 0 ? `, and ${rest} more` : "");
4508
+ }
4509
+ function buildFilterWarning(filter, data, outcome) {
4510
+ const present = availableFields(data);
4511
+ const refs = referencedFields(filter);
4512
+ const unknown = refs.top.filter((name) => !present.includes(name) && !appearsBelowTopLevel(data, name));
4513
+ const unchecked = refs.nested.filter((name) => !present.includes(name));
4514
+ const count = countRecords(data);
4515
+ const scope = `${count} record(s)`;
4516
+ const isNotAField = (names) => `${nameList(names)} ${names.length === 1 ? "is not a field" : "are not fields"} on the ${scope} it read`;
4517
+ const soundness = unchecked.length > 0 ? `${nameList(unchecked)} ${unchecked.length === 1 ? "reads" : "read"} below the top level, so ${unchecked.length === 1 ? "it was" : "they were"} not checked against the record keys` : refs.top.length > 0 ? "every field it names exists" : "";
4518
+ const withSoundness = (base) => soundness ? `${base}, and ${soundness}` : base;
4519
+ let detail;
4520
+ let lede;
4521
+ if (outcome.kind === "null-elements") {
4522
+ lede = "returned only null values";
4523
+ const projected = `all ${outcome.count} of the elements it projected are null`;
4524
+ if (unknown.length > 0) {
4525
+ detail = `${projected}, because ${isNotAField(unknown)}`;
4526
+ } else if (unchecked.length > 0) {
4527
+ detail = withSoundness(projected);
4528
+ } else {
4529
+ detail = `${projected}, and every field it names exists — a multi-select list ` + `(\`[A, B]\`) reads each entry against \`Data\` itself, so on a list ` + `result use \`[].[A, B]\` or \`[].{a: A, b: B}\` to read the records`;
4530
+ }
4531
+ } else if (outcome.kind === "null-rows") {
4532
+ lede = "returned only null values";
4533
+ const projected = `every value it projected is null on all ${outcome.count} row(s)`;
4534
+ detail = unknown.length > 0 ? `${projected}, because ${isNotAField(unknown)}` : withSoundness(projected);
4535
+ } else if (outcome.kind === "null-values") {
4536
+ lede = "returned only null values";
4537
+ const projected = `every key it projected (${nameList(outcome.keys)}) is null`;
4538
+ const sameSet = unknown.length === outcome.keys.length && outcome.keys.every((k) => unknown.includes(k));
4539
+ if (sameSet) {
4540
+ detail = `${isNotAField(outcome.keys)}, so every key it projected is null`;
4541
+ } else if (unknown.length > 0) {
4542
+ detail = `${projected}, because ${isNotAField(unknown)}`;
4543
+ } else {
4544
+ detail = withSoundness(`${projected} on all ${scope}`);
4545
+ }
4546
+ } else {
4547
+ lede = "returned nothing";
4548
+ if (unknown.length > 0) {
4549
+ detail = isNotAField(unknown);
4550
+ } else {
4551
+ const selection = refs.hasPredicate ? "no record matched" : "the expression resolved to no value";
4552
+ detail = withSoundness(`${selection} — it read ${scope}`);
4553
+ }
4554
+ }
4555
+ const fields = present.length > 0 ? ` Available fields: ${nameList(present)}.` : "";
4556
+ return `--output-filter ${JSON.stringify(filter)} ${lede}: ${detail}.${fields}`;
4557
+ }
4558
+ function appendWarning(existing, note) {
4559
+ return existing ? `${existing} ${note}` : note;
4560
+ }
4561
+ function applyFilter(data, filter, onWarning) {
4404
4562
  const codec = requireJmespath();
4405
4563
  let result;
4406
4564
  try {
@@ -4408,9 +4566,34 @@ function applyFilter(data, filter) {
4408
4566
  } catch (err) {
4409
4567
  throw new FilterEvaluationError(filter, err);
4410
4568
  }
4411
- if (result == null)
4569
+ const inputCount = countRecords(data);
4570
+ const warn = (outcome) => {
4571
+ if (inputCount === 0)
4572
+ return;
4573
+ const note = buildFilterWarning(filter, data, outcome);
4574
+ getOutputSink().writeErr(`[WARN] ${note}
4575
+ `);
4576
+ onWarning?.(note);
4577
+ };
4578
+ const warnIfAllNull = (records) => {
4579
+ const keys = alwaysNullKeys(records);
4580
+ if (keys.length > 0)
4581
+ warn({ kind: "null-values", keys });
4582
+ };
4583
+ if (result == null) {
4584
+ warn({ kind: "empty" });
4412
4585
  return [];
4586
+ }
4413
4587
  if (Array.isArray(result)) {
4588
+ if (result.length === 0) {
4589
+ warn({ kind: "empty" });
4590
+ } else if (result.every((entry) => entry === null)) {
4591
+ warn({ kind: "null-elements", count: result.length });
4592
+ } else if (result.every((entry) => Array.isArray(entry)) && carriesOnlyNulls(result)) {
4593
+ warn({ kind: "null-rows", count: result.length });
4594
+ } else {
4595
+ warnIfAllNull(result);
4596
+ }
4414
4597
  if (result.length > 0 && typeof result[0] !== "object") {
4415
4598
  const fieldMatch = filter.match(/\.(\w+)$/);
4416
4599
  const key = fieldMatch ? fieldMatch[1] : "Value";
@@ -4418,10 +4601,30 @@ function applyFilter(data, filter) {
4418
4601
  }
4419
4602
  return result;
4420
4603
  }
4421
- if (typeof result === "object")
4604
+ if (typeof result === "object") {
4605
+ warnIfAllNull([result]);
4422
4606
  return result;
4607
+ }
4423
4608
  return { Value: result };
4424
4609
  }
4610
+ function filterFailureData(envelope) {
4611
+ const filter = getOutputFilter();
4612
+ const data = envelope.Data;
4613
+ if (!filter || data == null)
4614
+ return;
4615
+ let note;
4616
+ const [filterError, filtered] = catchError(() => applyFilter(data, filter, (n) => {
4617
+ note = n;
4618
+ }));
4619
+ if (filterError) {
4620
+ envelope.Warning = appendWarning(envelope.Warning, `--output-filter was not applied, so Data is shown in full: ${filterError.message}`);
4621
+ return;
4622
+ }
4623
+ envelope.Data = filtered;
4624
+ if (note) {
4625
+ envelope.Warning = appendWarning(envelope.Warning, note);
4626
+ }
4627
+ }
4425
4628
  function defaultErrorCodeForResult(result) {
4426
4629
  switch (result) {
4427
4630
  case RESULTS.AuthenticationError:
@@ -4504,8 +4707,14 @@ var OutputFormatter;
4504
4707
  }
4505
4708
  const filter = getOutputFilter();
4506
4709
  if (filter) {
4507
- const filtered = applyFilter(data.Data, filter);
4710
+ let note;
4711
+ const filtered = applyFilter(data.Data, filter, (n) => {
4712
+ note = n;
4713
+ });
4508
4714
  data.Data = normalize ? normalizeDataKeys(filtered, verbatim, subtrees && { refs: subtrees.refs, mode: "skip" }) : filtered;
4715
+ if (note) {
4716
+ data.Warning = appendWarning(data.Warning, note);
4717
+ }
4509
4718
  }
4510
4719
  logOutput(normalizeOutputKeys(data), getOutputFormat(), options?.tableRowStyle);
4511
4720
  }
@@ -4533,6 +4742,7 @@ var OutputFormatter;
4533
4742
  delete envelope.TelemetryErrorClass;
4534
4743
  delete envelope.TelemetryTerminalOutcome;
4535
4744
  delete envelope.TelemetryTerminalSignal;
4745
+ filterFailureData(envelope);
4536
4746
  if (!suppressTelemetry) {
4537
4747
  telemetry.trackEvent(CommonTelemetryEvents.Error, {
4538
4748
  result: data.Result,
@@ -4581,13 +4791,20 @@ var OutputFormatter;
4581
4791
  OutputFormatter.log = log;
4582
4792
  function formatToString(data) {
4583
4793
  const filter = getOutputFilter();
4794
+ const envelope = data;
4584
4795
  if ("Data" in data && data.Data != null) {
4585
4796
  data.Data = normalizeDataKeys(data.Data);
4586
4797
  if (filter) {
4587
- data.Data = normalizeDataKeys(applyFilter(data.Data, filter));
4798
+ let note;
4799
+ data.Data = normalizeDataKeys(applyFilter(data.Data, filter, (n) => {
4800
+ note = n;
4801
+ }));
4802
+ if (note) {
4803
+ envelope.Warning = appendWarning(envelope.Warning, note);
4804
+ }
4588
4805
  }
4589
4806
  }
4590
- const output = normalizeOutputKeys(data);
4807
+ const output = normalizeOutputKeys(envelope);
4591
4808
  const lines = [];
4592
4809
  const sink = getOutputSink();
4593
4810
  printOutput(output, getOutputFormat(), (msg) => {
@@ -7825,4 +8042,4 @@ async function findSolutionFileUpward(fs2, startDir) {
7825
8042
 
7826
8043
  export { getFileSystem, catchError, carriedInstructions, extractErrorDetails, extractErrorMessage, logger, telemetry, RESULTS, Pagination, OutputFormatter, summarizePlatformBody, Command, Option, isPreviewBuild, processContext, withCompleter, requireConfirmation, DEFAULT_PAGE_SIZE, resolveEnvReference, isGuid, createHiddenDeprecatedTenantOption, parseLimit, parseOffset, parseBoundedInt, registerPackageMetadataOptions, mapPackageMetadataOptions, PollOutcome, mapPollFailure, pollUntil, getSdkUserAgentToken, addSdkUserAgentHeader, installSdkUserAgentHeader, unsupportedSolutionProjectType, trackShipSucceeded, ensurePackagerFactory, getLoginStatusAsync, getAuthContext, normalizeProjectType, toPortableRelativePath, readUipxFile, resolveSolutionDir, updateUipxSolutionId, findSolutionFileUpward };
7827
8044
 
7828
- //# debugId=3B95928D2AAC1F9764756E2164756E21
8045
+ //# debugId=CE7275788F98A6E164756E2164756E21
@@ -3,7 +3,7 @@ import {
3
3
  getAuthContext,
4
4
  getSdkUserAgentToken,
5
5
  installSdkUserAgentHeader
6
- } from "./packager-tool-1hjgq91f.js";
6
+ } from "./packager-tool-vtkcc4qj.js";
7
7
 
8
8
  // ../solution-sdk/src/solution-auth.ts
9
9
  async function getSolutionAuthContext(options) {
package/dist/publish.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  publishSolutionAsync
3
- } from "./packager-tool-3rsttfkz.js";
4
- import"./packager-tool-hf1vax5x.js";
5
- import"./packager-tool-242wgdxa.js";
6
- import"./packager-tool-0fh5tmf0.js";
7
- import"./packager-tool-1hjgq91f.js";
3
+ } from "./packager-tool-8wm4p0c5.js";
4
+ import"./packager-tool-7wpe9zbr.js";
5
+ import"./packager-tool-cmjqg8v6.js";
6
+ import"./packager-tool-w6jkk11r.js";
7
+ import"./packager-tool-vtkcc4qj.js";
8
8
  import"./packager-tool-dfrk01gn.js";
9
9
  import"./packager-tool-1de529jm.js";
10
10
  export {
package/dist/resource.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  resourceRefreshAsync
3
- } from "./packager-tool-9zpjm6ak.js";
3
+ } from "./packager-tool-9nq21cd6.js";
4
4
  import"./packager-tool-nzghfa48.js";
5
- import"./packager-tool-0fh5tmf0.js";
6
- import"./packager-tool-1hjgq91f.js";
5
+ import"./packager-tool-w6jkk11r.js";
6
+ import"./packager-tool-vtkcc4qj.js";
7
7
  import"./packager-tool-dfrk01gn.js";
8
8
  import"./packager-tool-1de529jm.js";
9
9
  export {
@@ -407,10 +407,13 @@ uip or assets create # create an asset (see --help)
407
407
 
408
408
  ## Output Conventions for Agents
409
409
 
410
- Two rules make automation reliable:
410
+ Three rules make automation reliable:
411
411
 
412
412
  1. **Never redirect or drop stderr.** Errors and confirmations go to stderr — `2>/dev/null` will silently hide failures and produce false retries.
413
- 2. **Use `--output-filter <jmespath>`** to extract specific fields rather than piping JSON through external tools. The expression is applied to the `Data` array — start with `[]`, not with `Data[]`. On list commands with a default `--limit`, an explicit `--limit` is required with `--output-filter` (the filter only sees the records fetched). Example: `uip solution packages list --limit 100 --output-filter "[].name"`.
413
+ 2. **Use `--output-filter <jmespath>`** to extract specific fields rather than piping JSON through external tools. The expression is applied to the `Data` array — start with `[]`, not with `Data[]`. On list commands with a default `--limit`, an explicit `--limit` is required with `--output-filter` (the filter only sees the records fetched). Example: `uip solution packages list --limit 100 --output-filter "[].Name"`.
414
+ 3. **Match the key casing of the unfiltered output.** Filter keys are case-sensitive and most commands print `Data` keys in PascalCase, so write `[].Name`, not `[].name` — the wrong casing matches nothing and returns `Data: []`. A few commands pass their keys through verbatim (`uip maestro flow registry get` is one, where `Node.inputDefinition.fields` is correct). If you are unsure, run the command once without `--output-filter` and read the keys off the output.
415
+
416
+ A filter that selects nothing still returns `Result: "Success"` with `Data: []` and exit 0 — that is a valid empty answer, not a failure. Check the `Warning` field and stderr. They say which it was: a field name that does not exist (fix the expression), no record matched or the expression resolved to no value (the answer really is empty), or a name that reads below the top level (`Items[].Name` reads `Name` off an `Items` entry, so only `Items` was checked — an empty `Items` is the usual cause, not a bad name).
414
417
 
415
418
  Standard success shape: `{ "Result": "Success", "Code": "<CommandCode>", "Data": ... }`.
416
419
  Standard failure shape: `{ "Result": "Failure", "Message": "<short>", "Instructions": "<actionable>" }`.
package/dist/tool.js CHANGED
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  metadata,
3
3
  registerCommands
4
- } from "./packager-tool-j3f1fhft.js";
5
- import"./packager-tool-vybnsg1q.js";
6
- import"./packager-tool-0avmcp1d.js";
7
- import"./packager-tool-mnw3sgv0.js";
8
- import"./packager-tool-wwhrtzjh.js";
4
+ } from "./packager-tool-s9mb89vt.js";
5
+ import"./packager-tool-1mhxcdsy.js";
6
+ import"./packager-tool-jzfs9dfs.js";
7
+ import"./packager-tool-fa1szz9y.js";
8
+ import"./packager-tool-nknd7q3x.js";
9
9
  import"./packager-tool-p6mgvgdk.js";
10
- import"./packager-tool-3rsttfkz.js";
11
- import"./packager-tool-hf1vax5x.js";
12
- import"./packager-tool-242wgdxa.js";
13
- import"./packager-tool-9zpjm6ak.js";
10
+ import"./packager-tool-8wm4p0c5.js";
11
+ import"./packager-tool-7wpe9zbr.js";
12
+ import"./packager-tool-cmjqg8v6.js";
13
+ import"./packager-tool-9nq21cd6.js";
14
14
  import"./packager-tool-nzghfa48.js";
15
- import"./packager-tool-0fh5tmf0.js";
16
- import"./packager-tool-1hjgq91f.js";
15
+ import"./packager-tool-w6jkk11r.js";
16
+ import"./packager-tool-vtkcc4qj.js";
17
17
  import"./packager-tool-dfrk01gn.js";
18
18
  import"./packager-tool-1de529jm.js";
19
19
  export {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@uipath/solution-tool",
3
3
  "license": "SEE LICENSE IN LICENSE.txt",
4
- "version": "1.202.1-preview.220",
4
+ "version": "1.202.1-preview.239",
5
5
  "description": "Create, pack, publish, and deploy UiPath Automation Solutions.",
6
6
  "repository": {
7
7
  "type": "git",
@@ -47,5 +47,5 @@
47
47
  "dist"
48
48
  ],
49
49
  "private": false,
50
- "gitHead": "a09041733b628c3f6b658a1f58349ea0f40bb492"
50
+ "gitHead": "97545a7857bdff7e6db62bbe13c6097607cf38f1"
51
51
  }