@uipath/cli 1.0.4 → 1.1.0

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 (3) hide show
  1. package/README.md +45 -1
  2. package/dist/index.js +11886 -8238
  3. package/package.json +6 -13
package/README.md CHANGED
@@ -66,6 +66,17 @@ uip login -t my-tenant-name
66
66
  uip login --interactive
67
67
  ```
68
68
 
69
+ **Authentication exit-code contract:**
70
+
71
+ Authentication commands reserve exit code `2` for `AuthenticationError`
72
+ results where the CLI cannot produce or find a usable authenticated
73
+ session. This includes failed `uip login` credential/token exchange,
74
+ `login refresh` failures, expired sessions, and missing credentials.
75
+ Exit code `1` is used for non-authentication failures such as bad host
76
+ configuration, filesystem problems, or tenant-selection/config errors.
77
+ Exit code `3` is used by `login refresh` for invalid `--login-validity`
78
+ values.
79
+
69
80
  #### `uip login status`
70
81
 
71
82
  Display current login status and session information.
@@ -228,6 +239,40 @@ env:
228
239
  - Missing or empty required variables produce a clear error naming the
229
240
  offending variable rather than a generic "not authenticated".
230
241
 
242
+ #### Robot-credentials-only authentication (Studio Desktop)
243
+
244
+ For consumers that spawn `uip` from a process whose user is already
245
+ signed in to the local UiPath Robot/Assistant (e.g. Studio Desktop's
246
+ Publish Solution feature), the CLI can be forced to authenticate via
247
+ the Robot IPC fallback and bypass `~/.uipath/.auth` entirely.
248
+
249
+ Set `UIPATH_CLI_ENFORCE_ROBOT_AUTH=true` on the spawned `uip` child
250
+ process. When set:
251
+
252
+ - The Robot fallback (introduced in #1055) is consulted first. If it
253
+ yields a session, the CLI returns `Logged in` with `Source: robot` —
254
+ no on-disk credentials are read or written.
255
+ - If the Robot is not running, not signed in, or the IPC handshake
256
+ times out, the CLI **does not** fall back to `~/.uipath/.auth` or to
257
+ env-var auth. The reported login status is `Not logged in`, with a
258
+ hint that names the env var and points at the Assistant.
259
+ - `uip login status` itself surfaces this as `Status: "Not logged in"`
260
+ in its JSON payload and exits 0 (it's a diagnostic command and does
261
+ not fail on missing auth).
262
+ - Any auth-requiring command (e.g. `uip solution publish`) fails with
263
+ `AuthenticationError` and exits `2`, surfacing the same hint.
264
+ - `UIPATH_CLI_ENFORCE_ROBOT_AUTH` and `UIPATH_CLI_ENABLE_ENV_AUTH` are
265
+ mutually exclusive. Setting both produces an explicit error rather
266
+ than silently picking one.
267
+ - `UIPATH_URL`'s "skip Robot fallback" behavior is overridden — when
268
+ `UIPATH_CLI_ENFORCE_ROBOT_AUTH=true`, the Robot path is taken
269
+ regardless of `UIPATH_URL`.
270
+
271
+ This flag is intended as a **per-process opt-in** set programmatically
272
+ on the spawned `uip` child only (e.g. via `ProcessStartInfo.EnvironmentVariables`
273
+ in .NET). Setting it at User or Machine scope would force every CLI
274
+ invocation on the host into Robot-only auth — not the intended use.
275
+
231
276
  ### Tool Management
232
277
 
233
278
  The CLI supports a plugin system that allows you to extend functionality by installing additional tools.
@@ -374,4 +419,3 @@ bun test
374
419
  ### Contributing
375
420
 
376
421
  For bug reports and feature requests, please visit the [GitHub repository](https://github.com/UiPath/cli).
377
-