@uipath/skills 1.204.0 → 1.204.1
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.cursor-plugin/plugin.json +1 -1
- package/CODEOWNERS +12 -14
- package/package.json +1 -1
- package/skills/uipath-agents/references/coded/embedding-in-flows.md +1 -3
- package/skills/uipath-agents/references/coded/quickstart.md +0 -2
- package/skills/uipath-agents/references/lowcode/capabilities/inline-in-flow/inline-in-flow.md +10 -8
- package/skills/uipath-agents/references/lowcode/prompting/autonomous-agent-prompting-guide.md +1 -1
- package/skills/uipath-human-in-the-loop/SKILL.md +1 -3
- package/skills/uipath-human-in-the-loop/references/hitl-node-apptask.md +0 -2
- package/skills/uipath-human-in-the-loop/references/hitl-node-coded-action-app.md +0 -2
- package/skills/uipath-human-in-the-loop/references/hitl-node-quickform.md +2 -2
- package/skills/uipath-maestro-flow/.maintenance/README.md +265 -0
- package/skills/uipath-maestro-flow/.maintenance/check-all.sh +40 -0
- package/skills/uipath-maestro-flow/.maintenance/check-anchors.sh +101 -0
- package/skills/uipath-maestro-flow/.maintenance/check-depth.sh +132 -0
- package/skills/uipath-maestro-flow/.maintenance/check-link-text.sh +123 -0
- package/skills/uipath-maestro-flow/.maintenance/check-links.sh +73 -0
- package/skills/uipath-maestro-flow/.maintenance/check-orphans.sh +93 -0
- package/skills/uipath-maestro-flow/.maintenance/check-plugin-pairs.sh +39 -0
- package/skills/uipath-maestro-flow/.maintenance/check-template.sh +42 -0
- package/skills/uipath-maestro-flow/.maintenance/check-uip-commands.sh +270 -0
- package/skills/uipath-maestro-flow/.maintenance/check-versions.sh +160 -0
- package/skills/uipath-maestro-flow/SKILL.md +69 -886
- package/skills/uipath-maestro-flow/references/author/CAPABILITY.md +207 -0
- package/skills/uipath-maestro-flow/references/author/brownfield.md +91 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations-cli.md +190 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations-json.md +374 -0
- package/skills/uipath-maestro-flow/references/author/editing-operations.md +104 -0
- package/skills/uipath-maestro-flow/references/author/greenfield.md +420 -0
- package/skills/uipath-maestro-flow/references/author/planning-arch.md +364 -0
- package/skills/uipath-maestro-flow/references/author/planning-impl.md +291 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/impl.md +237 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agent/planning.md +97 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agentic-process/impl.md +107 -0
- package/skills/uipath-maestro-flow/references/author/plugins/agentic-process/planning.md +61 -0
- package/skills/uipath-maestro-flow/references/author/plugins/api-workflow/impl.md +108 -0
- package/skills/uipath-maestro-flow/references/author/plugins/api-workflow/planning.md +60 -0
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/impl.md +171 -0
- package/skills/uipath-maestro-flow/references/author/plugins/batch-transform/planning.md +72 -0
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl-inline.md +120 -0
- package/skills/uipath-maestro-flow/references/author/plugins/connector/impl.md +463 -0
- package/skills/uipath-maestro-flow/references/author/plugins/connector/planning.md +186 -0
- package/skills/uipath-maestro-flow/references/author/plugins/connector-trigger/impl.md +517 -0
- package/skills/uipath-maestro-flow/references/author/plugins/connector-trigger/planning.md +115 -0
- package/skills/uipath-maestro-flow/references/author/plugins/conversational-agent/impl.md +309 -0
- package/skills/uipath-maestro-flow/references/author/plugins/conversational-agent/planning.md +133 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/impl.md +428 -0
- package/skills/uipath-maestro-flow/references/author/plugins/data-fabric/planning.md +188 -0
- package/skills/uipath-maestro-flow/references/author/plugins/decision/impl.md +83 -0
- package/skills/uipath-maestro-flow/references/author/plugins/decision/planning.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/impl.md +38 -0
- package/skills/uipath-maestro-flow/references/author/plugins/delay/planning.md +53 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/plugins/end/planning.md +28 -0
- package/skills/uipath-maestro-flow/references/author/plugins/flow/impl.md +107 -0
- package/skills/uipath-maestro-flow/references/author/plugins/flow/planning.md +58 -0
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/impl.md +181 -0
- package/skills/uipath-maestro-flow/references/author/plugins/hitl/planning.md +166 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-connector.md +86 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl-manual.md +68 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/impl.md +173 -0
- package/skills/uipath-maestro-flow/references/author/plugins/http/planning.md +107 -0
- package/skills/uipath-maestro-flow/references/author/plugins/inline-agent/impl.md +540 -0
- package/skills/uipath-maestro-flow/references/author/plugins/inline-agent/planning.md +115 -0
- package/skills/uipath-maestro-flow/references/author/plugins/inline-voice-agent/impl.md +269 -0
- package/skills/uipath-maestro-flow/references/author/plugins/inline-voice-agent/planning.md +128 -0
- package/skills/uipath-maestro-flow/references/author/plugins/ixp/impl.md +424 -0
- package/skills/uipath-maestro-flow/references/author/plugins/ixp/planning.md +95 -0
- package/skills/uipath-maestro-flow/references/author/plugins/loop/impl.md +403 -0
- package/skills/uipath-maestro-flow/references/author/plugins/loop/planning.md +60 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/impl.md +43 -0
- package/skills/uipath-maestro-flow/references/author/plugins/merge/planning.md +24 -0
- package/skills/uipath-maestro-flow/references/author/plugins/queue/impl.md +82 -0
- package/skills/uipath-maestro-flow/references/author/plugins/queue/planning.md +44 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/impl.md +117 -0
- package/skills/uipath-maestro-flow/references/author/plugins/rpa/planning.md +61 -0
- package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/impl.md +56 -0
- package/skills/uipath-maestro-flow/references/author/plugins/scheduled-trigger/planning.md +93 -0
- package/skills/uipath-maestro-flow/references/author/plugins/script/impl.md +98 -0
- package/skills/uipath-maestro-flow/references/author/plugins/script/planning.md +42 -0
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/impl.md +164 -0
- package/skills/uipath-maestro-flow/references/author/plugins/subflow/planning.md +35 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/impl.md +189 -0
- package/skills/uipath-maestro-flow/references/author/plugins/summarize/planning.md +66 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/impl.md +72 -0
- package/skills/uipath-maestro-flow/references/author/plugins/switch/planning.md +34 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/impl.md +48 -0
- package/skills/uipath-maestro-flow/references/author/plugins/terminate/planning.md +29 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/impl.md +252 -0
- package/skills/uipath-maestro-flow/references/author/plugins/transform/planning.md +47 -0
- package/skills/uipath-maestro-flow/references/diagnose/CAPABILITY.md +73 -0
- package/skills/uipath-maestro-flow/references/diagnose/failure-modes.md +353 -0
- package/skills/uipath-maestro-flow/references/diagnose/troubleshooting-guide.md +174 -0
- package/skills/uipath-maestro-flow/references/evaluate/CAPABILITY.md +134 -0
- package/skills/uipath-maestro-flow/references/evaluate/commands-reference.md +376 -0
- package/skills/uipath-maestro-flow/references/evaluate/eval-sets-guide.md +227 -0
- package/skills/uipath-maestro-flow/references/evaluate/evaluators-guide.md +143 -0
- package/skills/uipath-maestro-flow/references/evaluate/running-guide.md +215 -0
- package/skills/uipath-maestro-flow/references/evaluate/upload-safety.md +94 -0
- package/skills/uipath-maestro-flow/references/operate/CAPABILITY.md +77 -0
- package/skills/uipath-maestro-flow/references/operate/manage.md +39 -0
- package/skills/uipath-maestro-flow/references/operate/run.md +121 -0
- package/skills/uipath-maestro-flow/references/operate/ship.md +57 -0
- package/skills/uipath-maestro-flow/references/shared/action-nodes.md +100 -0
- package/skills/uipath-maestro-flow/references/shared/cli-commands.md +269 -0
- package/skills/uipath-maestro-flow/references/shared/cli-conventions.md +178 -0
- package/skills/uipath-maestro-flow/references/shared/file-format.md +582 -0
- package/skills/uipath-maestro-flow/references/shared/node-output-wiring.md +86 -0
- package/skills/uipath-maestro-flow/references/shared/ux-narration-and-todos.md +113 -0
- package/skills/uipath-maestro-flow/references/shared/variables-and-expressions.md +787 -0
- package/skills/uipath-platform/references/integration-service/activities.md +2 -2
- package/skills/uipath-platform/references/integration-service/activity-generation.md +8 -1
- package/skills/uipath-platform/references/integration-service/triggers.md +1 -3
- package/version-manifest.json +1 -1
- package/skills/uipath-maestro-flow/examples/AquariumSafetyStop.flow.ts +0 -26
- package/skills/uipath-maestro-flow/examples/ArchiveCardExtract.flow.ts +0 -38
- package/skills/uipath-maestro-flow/examples/BakeOffEntryForm.flow.ts +0 -27
- package/skills/uipath-maestro-flow/examples/BeeHiveLedger.flow.ts +0 -61
- package/skills/uipath-maestro-flow/examples/BeltProgression.flow.ts +0 -53
- package/skills/uipath-maestro-flow/examples/BirdCountLookup.flow.ts +0 -24
- package/skills/uipath-maestro-flow/examples/ClubDirectory.flow.ts +0 -56
- package/skills/uipath-maestro-flow/examples/ConcertSoundcheck.flow.ts +0 -59
- package/skills/uipath-maestro-flow/examples/DoorbellLog.flow.ts +0 -45
- package/skills/uipath-maestro-flow/examples/FestivalMapScaffold.flow.ts +0 -22
- package/skills/uipath-maestro-flow/examples/FieldTripQuickForm.flow.ts +0 -45
- package/skills/uipath-maestro-flow/examples/FossilCatalogEnrich.flow.ts +0 -26
- package/skills/uipath-maestro-flow/examples/GallerySubmission.flow.ts +0 -67
- package/skills/uipath-maestro-flow/examples/GreenhouseWatering.flow.ts +0 -39
- package/skills/uipath-maestro-flow/examples/HarbourRadioLine.flow.ts +0 -31
- package/skills/uipath-maestro-flow/examples/HerbariumDispatch.flow.ts +0 -34
- package/skills/uipath-maestro-flow/examples/KilnReview.flow.ts +0 -38
- package/skills/uipath-maestro-flow/examples/LibraryDeskChat.flow.ts +0 -39
- package/skills/uipath-maestro-flow/examples/LighthouseSignal.flow.ts +0 -30
- package/skills/uipath-maestro-flow/examples/MeteorShowerPages.flow.ts +0 -39
- package/skills/uipath-maestro-flow/examples/NeighborhoodWalkPlanner.flow.ts +0 -27
- package/skills/uipath-maestro-flow/examples/ObservatorySeeing.flow.ts +0 -51
- package/skills/uipath-maestro-flow/examples/OralHistoryDigest.flow.ts +0 -31
- package/skills/uipath-maestro-flow/examples/PlanetariumConfirmation.flow.ts +0 -34
- package/skills/uipath-maestro-flow/examples/PlantNameAdvisor.flow.ts +0 -28
- package/skills/uipath-maestro-flow/examples/PostcardCaption.flow.ts +0 -44
- package/skills/uipath-maestro-flow/examples/PotteryStudioCallback.flow.ts +0 -41
- package/skills/uipath-maestro-flow/examples/RecipeScaler.flow.ts +0 -62
- package/skills/uipath-maestro-flow/examples/SeedPacketReader.flow.ts +0 -49
- package/skills/uipath-maestro-flow/examples/TideTableConverter.flow.ts +0 -35
- package/skills/uipath-maestro-flow/examples/TrailLogSummary.flow.ts +0 -75
- package/skills/uipath-maestro-flow/examples/WorkshopInventory.flow.ts +0 -27
- package/skills/uipath-maestro-flow/examples/bindings.json +0 -85
- package/skills/uipath-maestro-flow/references/CLI-LOOP.md +0 -309
- package/skills/uipath-maestro-flow/references/agent-resources.md +0 -74
- package/skills/uipath-maestro-flow/references/agent.md +0 -175
- package/skills/uipath-maestro-flow/references/agentic-process.md +0 -41
- package/skills/uipath-maestro-flow/references/api-workflow.md +0 -29
- package/skills/uipath-maestro-flow/references/author.md +0 -178
- package/skills/uipath-maestro-flow/references/batch-transform.md +0 -23
- package/skills/uipath-maestro-flow/references/bindings.md +0 -178
- package/skills/uipath-maestro-flow/references/branch.md +0 -18
- package/skills/uipath-maestro-flow/references/brownfield.md +0 -152
- package/skills/uipath-maestro-flow/references/connector-params.md +0 -624
- package/skills/uipath-maestro-flow/references/conversational.md +0 -77
- package/skills/uipath-maestro-flow/references/data-fabric.md +0 -268
- package/skills/uipath-maestro-flow/references/delay.md +0 -26
- package/skills/uipath-maestro-flow/references/diagnose.md +0 -141
- package/skills/uipath-maestro-flow/references/document-pipeline.md +0 -47
- package/skills/uipath-maestro-flow/references/error-handling.md +0 -75
- package/skills/uipath-maestro-flow/references/evaluate.md +0 -168
- package/skills/uipath-maestro-flow/references/event-trigger.md +0 -155
- package/skills/uipath-maestro-flow/references/form-trigger.md +0 -41
- package/skills/uipath-maestro-flow/references/hitl.md +0 -169
- package/skills/uipath-maestro-flow/references/http.md +0 -105
- package/skills/uipath-maestro-flow/references/inline-agent.md +0 -132
- package/skills/uipath-maestro-flow/references/ixp.md +0 -167
- package/skills/uipath-maestro-flow/references/loops.md +0 -77
- package/skills/uipath-maestro-flow/references/manual-trigger.md +0 -39
- package/skills/uipath-maestro-flow/references/operate.md +0 -204
- package/skills/uipath-maestro-flow/references/or-processes.md +0 -91
- package/skills/uipath-maestro-flow/references/parallel-merge.md +0 -21
- package/skills/uipath-maestro-flow/references/placeholder.md +0 -70
- package/skills/uipath-maestro-flow/references/published-function.md +0 -66
- package/skills/uipath-maestro-flow/references/queue.md +0 -53
- package/skills/uipath-maestro-flow/references/return.md +0 -20
- package/skills/uipath-maestro-flow/references/rpa-workflow.md +0 -27
- package/skills/uipath-maestro-flow/references/scheduled-trigger.md +0 -34
- package/skills/uipath-maestro-flow/references/script.md +0 -52
- package/skills/uipath-maestro-flow/references/subflow.md +0 -33
- package/skills/uipath-maestro-flow/references/summarize.md +0 -20
- package/skills/uipath-maestro-flow/references/switch.md +0 -20
- package/skills/uipath-maestro-flow/references/terminate.md +0 -22
- package/skills/uipath-maestro-flow/references/transform.md +0 -32
- package/skills/uipath-maestro-flow/references/voice.md +0 -70
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
# uip maestro flow — CLI Command Reference
|
|
2
|
+
|
|
3
|
+
All commands output `{ "Result": "Success"|"Failure", "Code": "...", "Data": { ... } }`. Use `--output json` for programmatic use.
|
|
4
|
+
|
|
5
|
+
> For node and edge commands (`node add/remove/list/configure`, `edge add/remove/list`), see the [Author CLI editing strategy](../author/editing-operations-cli.md). This file covers project setup, validation, registry, debug, and publishing commands.
|
|
6
|
+
|
|
7
|
+
## uip maestro flow init
|
|
8
|
+
|
|
9
|
+
Scaffold a new Flow project directory. Prefer creating the solution first so its name matches the project name (see the [Author greenfield journey — Step 2](../author/greenfield.md)):
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
uip solution init "<SolutionName>" --output json
|
|
13
|
+
cd <directory>/<SolutionName> && uip maestro flow init <ProjectName> --output json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Add `--automate` to create a Maestro Automate project instead of a Flow. Nothing else changes — same scaffold, same authoring, same `pack` / `publish` / `debug` / `eval`; the flag writes `runtimeOptions.profile` into the packaged `operate.json` and a `.maestro_automate` marker into the project root.
|
|
17
|
+
|
|
18
|
+
Confirm `Data.SolutionRegistration.Status`: `Registered`, `AlreadyRegistered`, `OptedOut`, `Skipped`, `Failed`, or `NotInSolution`. Inside a solution, `flow init` auto-registers the project with the parent `.uipx`. Outside one, it creates `<ProjectName>Solution/<ProjectName>Solution.uipx`, nests the project, and adds `Data.AutoCreatedSolution`. `--skip-solution-registration` opts out with status `OptedOut`; do not manually wire an intentionally opted-out project. Manually wire `Skipped`, `Failed`, or the rare `NotInSolution`:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
uip solution projects add \
|
|
22
|
+
<directory>/<SolutionName>/<ProjectName> \
|
|
23
|
+
<directory>/<SolutionName>/<SolutionName>.uipx
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Creates `<ProjectName>/` with `project.uiproj`, `<ProjectName>.flow`, `bindings_v2.json`, `entry-points.json`, `operate.json`, and `package-descriptor.json` inside the solution directory.
|
|
27
|
+
|
|
28
|
+
## uip maestro flow validate
|
|
29
|
+
|
|
30
|
+
Validate a `.flow` file locally—no auth or network. Run:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
uip maestro flow validate <path/to/file.flow>
|
|
34
|
+
uip maestro flow validate <path/to/file.flow> --output json
|
|
35
|
+
uip maestro flow validate <path/to/file.flow> --verbose --output json
|
|
36
|
+
uip maestro flow validate <path/to/file.flow> --governance --output json
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Checks JSON parsing; required fields, including `targetPort` on edges; matching `type:typeVersion` entries in `definitions`; existing node `id` references for `sourceNodeId`/`targetNodeId`; and unique node and edge `id`s. Exit code 0 = valid, 1 = invalid.
|
|
40
|
+
|
|
41
|
+
`--governance` checks agent nodes against organization policies fetched from the platform and requires `uip login`. If governance data cannot be fetched, the command fails. Omit it for local-only schema validation.
|
|
42
|
+
|
|
43
|
+
## uip maestro flow format
|
|
44
|
+
|
|
45
|
+
Run `uip maestro flow format` after validation and before publishing or debugging; stale or hand-written `layout` data can render as misshapen rectangles in Studio Web.
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
uip maestro flow format <path/to/file.flow>
|
|
49
|
+
uip maestro flow format <path/to/file.flow> --output json
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Format only layout: arrange nodes horizontally left-to-right while anchoring to the leftmost node's original position; set `size` to canvas shape (`shape: rectangle` inline agents: `{ "width": 288, "height": 96 }`; loops/groups: `{ "width": 560, "height": 320 }`; everything else, including referenced `uipath.core.agent.<guid>`: `{ "width": 96, "height": 96 }`); preserve sticky-note custom sizes; recurse into subflows and rewrite `subflows[<id>].layout`; and backfill missing `position`/`size`. Do not modify node logic, edges, definitions, or variables. JSON output reports `Data.NodesTotal`, `Data.EdgesTotal`, `Data.NodesRepositioned`, `Data.NodesResized`, and `Data.SubflowsTidied`.
|
|
53
|
+
|
|
54
|
+
## uip maestro flow pack
|
|
55
|
+
|
|
56
|
+
Pack a Flow project into a `.nupkg` for Orchestrator deployment:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
uip maestro flow pack <project-path> <OutputDir>
|
|
60
|
+
uip maestro flow pack <project-path> <OutputDir> --version 2.0.0
|
|
61
|
+
uip maestro flow pack <project-path> <OutputDir> --output json
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Require `content/package-descriptor.json` and `content/operate.json`. Output is `<Name>.flow.Flow.<version>.nupkg`.
|
|
65
|
+
|
|
66
|
+
> **Note:** `pack` + `uip solution publish` deploys directly to Orchestrator — the user cannot visualize or edit the flow in Studio Web via this path. Only use this when the user explicitly asks to deploy to Orchestrator. The default publish path is `uip solution upload` (see below). See [uipath-solution](/uipath:uipath-solution) for `solution publish` commands.
|
|
67
|
+
|
|
68
|
+
## uip solution resources refresh
|
|
69
|
+
|
|
70
|
+
Always run `uip solution resources refresh` before `uip solution upload` or `uip maestro flow debug`. It re-scans solution projects and syncs resource declarations (connections, processes, queues, etc.) from `bindings_v2.json`, creating bindings not yet in the solution and importing matching Orchestrator resources.
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
uip solution resources refresh --solution-folder <SolutionDir> --output json
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
`<SolutionDir>` is the solution directory containing the `.uipx` file. The command has no positional solution argument; omit `--solution-folder` only from the solution root.
|
|
77
|
+
|
|
78
|
+
## uip solution resources add / remove / edit
|
|
79
|
+
|
|
80
|
+
Use atomic mutations when adding, deleting, or changing one resource without scanning every project's bindings:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
uip solution resources add --source local --kind <Kind> --name <Name> --output json
|
|
84
|
+
uip solution resources add --source remote --kind <Kind> --name <Name> --folder-path <FolderPath> --output json
|
|
85
|
+
uip solution resources remove <KEY> --output json
|
|
86
|
+
uip solution resources edit <KEY> --patch '{"maxNumberOfRetries":5}' --output json
|
|
87
|
+
echo '{"slaInHours":"4"}' | uip solution resources edit <KEY> --patch - --output json
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
`add` is idempotent on `(kind, name, folder)` for local resources and on resource key for remote resources; retries return `Status: "Unchanged"`. `edit` alone mutates an existing resource spec; `refresh` never overwrites and skips resources already in the solution. When the change you want was made **in the cloud** after the import, `edit --source remote --force` pulls it in (without `--force` it only reports the drift). These commands do not modify `bindings_v2.json`; a later `refresh` re-imports a still-bound resource. See [uipath-solution Step 9–11](/uipath:uipath-solution).
|
|
91
|
+
|
|
92
|
+
## uip solution upload
|
|
93
|
+
|
|
94
|
+
Upload a solution directly to Studio Web; require `uip login`:
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
uip solution upload <SolutionDir> --output json
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Pass the solution directory containing the `.uipx` file, or `.` from its root. From a nested project, pass the absolute solution root or `..`; do not pass the solution name again. This uploads to Studio Web for browser visualization, inspection, editing, and publishing.
|
|
101
|
+
|
|
102
|
+
> **This is the default publish path.** When the user asks to "publish" without specifying where, run `uip solution upload <SolutionDir>` and share the resulting URL.
|
|
103
|
+
|
|
104
|
+
## uip maestro flow debug
|
|
105
|
+
|
|
106
|
+
Debug in the cloud through Studio Web + Orchestrator; require `uip login`. Always run `uip maestro flow validate` first, and run `uip solution resources refresh` before debugging:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
UIP_LOG_LEVEL=info uip maestro flow debug <path-to-project-dir> --output json
|
|
110
|
+
UIP_LOG_LEVEL=info uip maestro flow debug <path-to-project-dir> --output json \
|
|
111
|
+
--inputs '{"numberA": 5, "numberB": 7}'
|
|
112
|
+
UIP_LOG_LEVEL=info uip maestro flow debug <path-to-project-dir> --output json \
|
|
113
|
+
--attachment <variableId>=<localPath> \
|
|
114
|
+
--attachment <variableId>=<localPath>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Pass the project directory containing `project.uiproj` (`<ProjectName>/` from the solution root, or `.` inside it). Use `--inputs` for a JSON object of flow input arguments. Repeat `--attachment <variableId>=<localPath>` to upload files for file-typed inputs; a bare path is rejected.
|
|
118
|
+
|
|
119
|
+
<a id="attachment-preflight"></a>
|
|
120
|
+
|
|
121
|
+
#### Pre-flight: `--attachment` binding
|
|
122
|
+
|
|
123
|
+
The CLI does not validate `<variableId>`; a mismatch can fault at runtime. Read `<flow>.flow`, inspect `variables.globals[]`, and use only entries with `direction:"in"` and `type:"file"`. If none exist, add `{ "id": "<variableId>", "direction": "in", "type": "file", "triggerNodeId": "<triggerId>" }`. In a Script node, read the uploaded name as `$vars.{triggerNodeId}.output.{id}.FullName`. See [variables-and-expressions.md — Runtime shape of a `file` variable](variables-and-expressions.md#file-input).
|
|
124
|
+
|
|
125
|
+
Run `uip maestro flow debug --help` for other options.
|
|
126
|
+
|
|
127
|
+
### Reporting the run back to the user
|
|
128
|
+
|
|
129
|
+
Parse the Studio Web URL and `instanceId` from JSON output, typically `Data.studioWebUrl` and `Data.instanceId`, and report them as the first two lines:
|
|
130
|
+
|
|
131
|
+
```text
|
|
132
|
+
Studio Web URL: <url>
|
|
133
|
+
Instance ID: <instanceId>
|
|
134
|
+
|
|
135
|
+
<run status, node traces, errors, etc.>
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
If either is absent, output its label with `<not returned by CLI>`. Do not place these lines below the run summary.
|
|
139
|
+
|
|
140
|
+
## uip maestro flow process
|
|
141
|
+
|
|
142
|
+
Manage deployed Flow processes; require `uip login`:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
uip maestro flow process list --output json
|
|
146
|
+
uip maestro flow process run <process-key> <folder-key> --output json
|
|
147
|
+
uip maestro flow process run <process-key> <folder-key> --output json \
|
|
148
|
+
--inputs '{"numberA": 5, "numberB": 7}'
|
|
149
|
+
uip maestro flow process run <process-key> <folder-key> --output json \
|
|
150
|
+
--attachment <variableId>=<localPath>
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
`--attachment` must match a `variables.globals[]` entry with `direction:"in"` and `type:"file"`; repeat it for multiple files. If `--inputs` and `--attachment` collide, attachment wins and the CLI logs an override warning. `--validate` accepts pre-uploaded attachment references for file-typed slots although their nominal type is `string`. Run `uip maestro flow process --help` for other subcommands.
|
|
154
|
+
|
|
155
|
+
## uip maestro flow job
|
|
156
|
+
|
|
157
|
+
Monitor jobs; require `uip login`:
|
|
158
|
+
|
|
159
|
+
```bash
|
|
160
|
+
uip maestro flow job status <job-key> --output json
|
|
161
|
+
uip maestro flow job traces <job-key> --output json
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
## uip maestro flow hitl add
|
|
165
|
+
|
|
166
|
+
Add a Human-in-the-Loop QuickForm node to an existing `.flow`; the command writes node JSON, adds the definition once, and updates `variables.nodes`:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
uip maestro flow hitl add <path/to/file.flow> --output json
|
|
170
|
+
uip maestro flow hitl add <path/to/file.flow> --label "<label>" --priority High --output json
|
|
171
|
+
uip maestro flow hitl add <path/to/file.flow> --assignee <email-or-group> --output json
|
|
172
|
+
uip maestro flow hitl add <path/to/file.flow> --label "<label>" --priority High --assignee <email-or-group> \
|
|
173
|
+
--schema '{"inputs":[{"name":"invoiceId","binding":"fetchInvoice.output.invoiceId"}],"outputs":[{"name":"decision","required":true}],"outcomes":[{"name":"Approve"},{"name":"Reject"}]}' \
|
|
174
|
+
--position 474,144 --output json
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
| Flag | Description | Default |
|
|
178
|
+
|------|-------------|---------|
|
|
179
|
+
| `--label <text>` | Display label | `"Human in the Loop"` |
|
|
180
|
+
| `--priority Low\|Medium\|High` | Action Center priority | `Low` |
|
|
181
|
+
| `--assignee <email-or-group>` | User email (`staticEmail`) or group (`staticGroupName`) | group (unassigned) |
|
|
182
|
+
| `--schema <json>` | Form fields and outcomes | empty form |
|
|
183
|
+
| `--position <x,y>` | Canvas position | `0,0` |
|
|
184
|
+
|
|
185
|
+
`--schema` supports:
|
|
186
|
+
|
|
187
|
+
```json
|
|
188
|
+
{
|
|
189
|
+
"inputs": [{ "name": "invoiceId", "binding": "fetchInvoice.output.invoiceId" }, { "name": "amount", "type": "number", "binding": "fetchInvoice.output.amount" }],
|
|
190
|
+
"outputs": [{ "name": "decision", "required": true }, { "name": "notes" }],
|
|
191
|
+
"inOuts": [{ "name": "emailBody" }],
|
|
192
|
+
"outcomes": [{ "name": "Approve" }, { "name": "Reject" }]
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
`inputs` are read-only context fields and use the full `$vars` binding path; `outputs` are human-filled and default `variable` to the field name; `inOuts` are editable pre-filled fields; `outcomes` are button labels, with the first primary and later outcomes ending the flow unless rewired.
|
|
197
|
+
|
|
198
|
+
Success output:
|
|
199
|
+
|
|
200
|
+
```json
|
|
201
|
+
{ "Result": "Success", "Code": "HitlNodeAdded", "Data": { "NodeId": "invoiceReview1", "NodeType": "uipath.human-in-the-loop.quick-form", "Label": "Invoice Review", "DefinitionAdded": true } }
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
After adding, wire one `outcome-<outcome.id>` port per outcome; any outcome left unwired blocks the flow on that branch. See the [Author HITL plugin reference](../author/plugins/hitl/impl.md).
|
|
205
|
+
|
|
206
|
+
## uip maestro flow instance / uip maestro flow incident
|
|
207
|
+
|
|
208
|
+
See the [Diagnose troubleshooting guide](../diagnose/troubleshooting-guide.md) for the diagnostic workflow and `instance`/`incident` command reference.
|
|
209
|
+
|
|
210
|
+
## uip maestro flow node / uip maestro flow edge
|
|
211
|
+
|
|
212
|
+
See the [Author CLI editing strategy](../author/editing-operations-cli.md) for `node add/remove/list/configure` and `edge add/remove/list` syntax, flags, and auto-managed behaviors.
|
|
213
|
+
|
|
214
|
+
## uip maestro flow eval
|
|
215
|
+
|
|
216
|
+
Evaluation surface: evaluator, eval-set, and data-point CRUD; Studio Web run start/status/results/list/compare. Local CRUD needs no login; `eval run *` requires `uip login` and a Flow solution already in Studio Web.
|
|
217
|
+
**Never auto-run `uip solution upload` to satisfy the Studio Web prerequisite** — see [evaluate/upload-safety.md](../evaluate/upload-safety.md).
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
uip maestro flow eval add <name> --set <set> [flags] --output json
|
|
221
|
+
uip maestro flow eval list --set <set> --path <flow_project> --output json
|
|
222
|
+
uip maestro flow eval remove <id> --set <set> --path <flow_project> --output json
|
|
223
|
+
uip maestro flow eval set add <name> [--evaluators <refs>] [--entry-point <id>] --path <flow_project> --output json
|
|
224
|
+
uip maestro flow eval set list --path <flow_project> --output json
|
|
225
|
+
uip maestro flow eval set remove <id> --path <flow_project> --output json
|
|
226
|
+
uip maestro flow eval evaluator add <name> --type <type> [--model <m>] [--target-key <k>] [--prompt <p>] --path <flow_project> --output json
|
|
227
|
+
uip maestro flow eval evaluator list --path <flow_project> --output json
|
|
228
|
+
uip maestro flow eval evaluator remove <id> --path <flow_project> --output json
|
|
229
|
+
uip maestro flow eval run start <name> --set <set> [--entry-point <e>] [--wait [--timeout <s>]] --path <flow_project> --output json
|
|
230
|
+
uip maestro flow eval run status <run_id> --set <set> --path <flow_project> --output json
|
|
231
|
+
uip maestro flow eval run results <run_id> --set <set> [--only-failed] [--verbose] [--export-format json|csv] --path <flow_project> --output json
|
|
232
|
+
uip maestro flow eval run list --set <set> --path <flow_project> --output json
|
|
233
|
+
uip maestro flow eval run compare <run_a> --compare-to <run_b> --set <set> --path <flow_project> --output json
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
Evaluators: `exact-match`, `json-similarity`, `contains`, `llm-judge-output`, `llm-judge-strict-json`, `llm-judge-trajectory`, `llm-judge-trajectory-simulation`. For full flag tables, evaluator details, eval-set JSON shape, and run-safety rule, see the [Evaluate capability](../evaluate/CAPABILITY.md).
|
|
237
|
+
|
|
238
|
+
## uip maestro flow registry
|
|
239
|
+
|
|
240
|
+
Manage the local node-type cache. No auth is required for OOTB nodes; login is required for tenant-specific connector nodes:
|
|
241
|
+
|
|
242
|
+
```bash
|
|
243
|
+
uip maestro flow registry pull
|
|
244
|
+
uip maestro flow registry list --output json
|
|
245
|
+
uip maestro flow registry search <keyword> --output json
|
|
246
|
+
uip maestro flow registry get <node-type> --output json
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
The cache expires after 30 minutes. `registry search` returns a flat `Data` array with PascalCase fields. Use its `NodeType` with `registry get` and later `node add`.
|
|
250
|
+
|
|
251
|
+
```json
|
|
252
|
+
{ "Data": [{ "NodeType": "uipath.connector.uipath-salesforce-sfdc.list-records", "Category": "connector.196536", "DisplayName": "List Records", "Description": "(Salesforce) List records in Salesforce", "Version": "1.0.0", "Tags": "connector, activity", "AvailableOnTenant": true }] }
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
Treat `AvailableOnTenant` as a usability gate: `true` permits `registry get <NodeType>` or `node add <NodeType>`; `false` means the type is missing from the manifest this CLI pulled. Despite the name it is not a tenant entitlement — the CLI asks for a fixed set of node manifests decided by its own build, so `false` usually means this CLI does not carry the node rather than that an administrator withheld it.
|
|
256
|
+
|
|
257
|
+
Do not use unsupported flags such as `--include-unavailable`, and do not loop on the upgrade: try `uip tools update` **once**, and if the type is still absent treat it as absent by design for this build — choose an available alternative, use `--local` for in-solution resources, or report it as unavailable. Around ten of the node families the manifest knows about are deliberately outside the set this CLI requests (`agent-memory`, `queue-operations`, `form-trigger`, `http-standalone`, `agent-tool-http-request`, `classify-document`, `do-while`, `hitl-document`, …), so no upgrade will ever surface them and each extra `tools update` + `registry pull` is wasted work.
|
|
258
|
+
|
|
259
|
+
`registry get` returns `Data.Node` verbatim for the `.flow` `definitions` array. Preserve its manifest casing, predominantly camelCase (`nodeType`, `inputDefinition`, `supportsErrorHandling`, `form`); filter with `--output-filter "Node.inputDefinition"`, not `Node.InputDefinition`.
|
|
260
|
+
|
|
261
|
+
Run `uip maestro flow registry <subcommand> --help` for additional options such as `--force`, `--filter`, and `--connection-id`.
|
|
262
|
+
|
|
263
|
+
## Connector commands (binding and reference resolution)
|
|
264
|
+
|
|
265
|
+
See the relevant guide in `nodes/` for connector CLI commands and configuration workflow.
|
|
266
|
+
|
|
267
|
+
## Global options (all commands)
|
|
268
|
+
|
|
269
|
+
All `uip` commands support `--output json|yaml|table` and `--help`. Run any command with `--help` to discover available options.
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
# CLI Conventions
|
|
2
|
+
|
|
3
|
+
Shared conventions for the `uip` CLI across Author, Operate, and Diagnose. Read this before invoking any `uip` command.
|
|
4
|
+
|
|
5
|
+
## 1. Resolve `uip` and detect the command prefix
|
|
6
|
+
|
|
7
|
+
Resolve the `uip` binary, which may be absent from PATH in nvm environments. If it is absent, stop and ask the user to run the official installer; do not auto-run an installer from this resolver.
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
UIP=$(command -v uip 2>/dev/null || true)
|
|
11
|
+
if [ -z "$UIP" ] && command -v npm >/dev/null 2>&1; then
|
|
12
|
+
UIP="$(npm root -g 2>/dev/null | sed 's|/node_modules$||')/bin/uip"
|
|
13
|
+
fi
|
|
14
|
+
if [ -z "$UIP" ] || [ ! -x "$UIP" ]; then
|
|
15
|
+
echo "UiPath CLI not found. Ask the user to run the official installer, then rerun this step with PATH updated:" >&2
|
|
16
|
+
echo " curl -fsSL https://download.uipath.com/uipath-cli/install.sh | bash" >&2
|
|
17
|
+
exit 2
|
|
18
|
+
fi
|
|
19
|
+
CURRENT=$($UIP --version 2>/dev/null | awk '{print $NF}')
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
If `uip` is not found, ask the user to run the official onboarding installer. It installs Node.js >= 20, `@uipath/cli`, UiPath skills for installed AI coding agents, .NET SDK 8.0, and Python 3.11-3.14.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
curl -fsSL https://download.uipath.com/uipath-cli/install.sh | bash
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
On Windows PowerShell, run:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
irm https://download.uipath.com/uipath-cli/install.ps1 | iex
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
For CI or a minimal CLI setup, add `--skip-skills --skip-runtimes` on macOS/Linux or `-SkipSkills -SkipRuntimes` on Windows.
|
|
35
|
+
|
|
36
|
+
Use `uip maestro flow` for CLI version **≥ 0.3.4** and `uip flow` for versions **< 0.3.4**: <!-- uip-check-skip -->
|
|
37
|
+
|
|
38
|
+
| Installed version | Command prefix | Example |
|
|
39
|
+
| --- | --- | --- |
|
|
40
|
+
| **≥ 0.3.4** | `uip maestro flow` | `uip maestro flow init MyProject` |
|
|
41
|
+
| **< 0.3.4** | `uip flow` | `uip flow init MyProject` <!-- uip-check-skip --> |
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
MIN_VERSION="0.3.4"
|
|
46
|
+
if [ "$(printf '%s\n%s\n' "$MIN_VERSION" "$CURRENT" | sort -V | head -n1)" = "$MIN_VERSION" ]; then
|
|
47
|
+
FLOW_CMD="uip maestro flow"
|
|
48
|
+
else
|
|
49
|
+
FLOW_CMD="uip flow" # <!-- uip-check-skip --> legacy < 0.3.4 prefix
|
|
50
|
+
fi
|
|
51
|
+
echo "Using: $FLOW_CMD (CLI version $CURRENT)"
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Run all commands below with `uip maestro flow ...`; if detection returns < 0.3.4, replace only that prefix with `uip flow`. Arguments and flags are identical. See UiPath/cli#841. <!-- uip-check-skip -->
|
|
55
|
+
|
|
56
|
+
## 2. Use JSON output
|
|
57
|
+
|
|
58
|
+
Run programmatically parsed commands with `--output json`:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
uip maestro flow validate <ProjectName>.flow --output json
|
|
62
|
+
uip maestro flow registry list --output json
|
|
63
|
+
uip maestro flow instance incidents <INSTANCE_ID> --folder-key <FOLDER_KEY> --output json
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Do not use `--format json`; it does not exist and produces `error: unknown option '--format'` with exit code 3 on every `uip` subcommand. Ignore the benign `--localstorage-file` warning when it appears.
|
|
67
|
+
|
|
68
|
+
## 3. Prefer `--output-filter` for extraction
|
|
69
|
+
|
|
70
|
+
Prefer `--output-filter '<jmespath>'` for field or projection extraction. It is a global flag on every subcommand, applies to the `Data` envelope before printing, and expressions start at `Data` (never `Data.`).
|
|
71
|
+
|
|
72
|
+
Run broad discovery with:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
uip maestro flow registry search slack --output json \
|
|
76
|
+
--output-filter "[*].{NodeType:NodeType,DisplayName:DisplayName,Description:Description,AvailableOnTenant:AvailableOnTenant}"
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Run a narrowed connector query with:
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
uip maestro flow registry search slack --output json \
|
|
83
|
+
--output-filter "[?starts_with(NodeType,'uipath.connector.uipath-salesforce-slack.')].{NodeType:NodeType,DisplayName:DisplayName}"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Treat `registry search` as returning `Data` as a flat array of PascalCase objects: `NodeType`, `Category`, `DisplayName`, `Description`, `Version`, `Tags`, `AvailableOnTenant`. It does not return `Data.Nodes` or lowercase `type`/`category`.
|
|
87
|
+
|
|
88
|
+
Do not use `head`, `tail`, `grep -m`, or a pager on discovery queries (`registry search`, `is connectors list`, or any `list`/`search`). Test existence with a predicate in `--output-filter` and return all matches:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
uip … registry search slack --output json --output-filter "[?contains(NodeType,'get-channel-info')].NodeType" # right: every match
|
|
92
|
+
uip … registry search slack --output json --output-filter "[*].{…}" | head -100 # wrong: hides matches past line 100
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
> **Exception — any command that fails.** The CLI applies `--output-filter` only on the success path; a `Result: "Failure"` envelope prints whole. This bites hardest on a faulted `flow debug` (200 KB and more) — redirect stdout to a file and extract from the file, see [diagnose/troubleshooting-guide.md — Step 0](../diagnose/troubleshooting-guide.md#step-0--read-the-cause-in-the-debug-output-you-already-have).
|
|
96
|
+
|
|
97
|
+
Treat `Data: []` with exit 0 as a valid but mismatched expression, not proof of absence. Only invalid syntax or type errors fail with exit 3.
|
|
98
|
+
|
|
99
|
+
Use `python3 -c` or `jq` only when JMESPath cannot perform a multi-step join across CLI calls, JSON-to-CSV or JSON-to-env-var conversion, or conditional output based on multiple fields. Verify the shape first:
|
|
100
|
+
|
|
101
|
+
- Run `--output-filter "type(@)"`; it returns `"array"` or `"object"`.
|
|
102
|
+
- For an object, run `--output-filter "keys(@)"`.
|
|
103
|
+
- For an array, run `--output-filter "[0]"` or `--output-filter "[0] | keys(@)"`.
|
|
104
|
+
- Do not run `keys(@)` directly on an array; it fails with `Filter 'keys(@)' failed to evaluate: Invalid type: keys() expected argument 1 to be of type (object) but received type array instead`.
|
|
105
|
+
- If an expected value is `Data: []`, check field-name casing.
|
|
106
|
+
|
|
107
|
+
`registry search` and `list` (and most `uip … --output json` commands) use PascalCase keys such as `[*].NodeType` and `[*].DisplayName`. `registry get` returns the node definition verbatim for pasting into `.flow`; its keys are predominantly camelCase: `Node.nodeType`, `Node.inputDefinition`, `Node.supportsErrorHandling`, and `Node.form.sections[…]`. Some nested runtime-output schemas are PascalCase, such as Summarize's `content.Text` and `content.Citations`. Match the manifest rather than assuming normalized casing. When uncertain, probe with `--output-filter "keys(@)"` for objects or `--output-filter "[0] | keys(@)"` for arrays.
|
|
108
|
+
|
|
109
|
+
Verify the shape before parsing; most parsing retries result from an incorrect shape guess.
|
|
110
|
+
|
|
111
|
+
### Cross-references
|
|
112
|
+
|
|
113
|
+
Keep the broad-discovery recipe aligned with [author/plugins/connector/planning.md](../author/plugins/connector/planning.md) (§ Discovery) for connector discovery and [author/plugins/connector/impl.md](../author/plugins/connector/impl.md) for connection-resource lookup. Both files use the `--output-filter` preference and the `registry search` flat-array/PascalCase shape; each may use a task-specific projection.
|
|
114
|
+
|
|
115
|
+
## 4. Check the JSON response shape
|
|
116
|
+
|
|
117
|
+
Every `uip` command returns one of these shapes:
|
|
118
|
+
|
|
119
|
+
```json
|
|
120
|
+
{ "Result": "Success", "Code": "FlowValidate", "Data": { ... } }
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
```json
|
|
124
|
+
{ "Result": "Failure", "Message": "...", "Instructions": "Found N error(s): ...", "Data": { ... } }
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Always check `Result` first. On failure, use `Message` and `Instructions` for diagnostics. A failure envelope may still carry `Data` — `flow debug` returns the full run payload on a fault.
|
|
128
|
+
|
|
129
|
+
## 5. Login state
|
|
130
|
+
|
|
131
|
+
| Capability | Login required? |
|
|
132
|
+
|---|---|
|
|
133
|
+
| **Author** | No — `flow init`, `validate`, `format`, registry (OOTB nodes), `Edit` / `Write` edits, planning all work offline |
|
|
134
|
+
| **Operate** | **Yes** — `solution upload`, `solution resources refresh`, `flow debug`, `flow pack`, `process run`, `job status`, `job traces` all require `uip login` |
|
|
135
|
+
| **Diagnose** | **Yes** — `instance incidents`, `instance variables`, `instance asset`, `incident get`, `incident summary` all require `uip login` |
|
|
136
|
+
|
|
137
|
+
Tenant-specific connector and resource nodes require login; without it, the registry shows OOTB nodes only. In-solution sibling projects are always available with `--local` without login.
|
|
138
|
+
|
|
139
|
+
Check login by running:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
uip login status --output json
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Log in interactively by running:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
uip login
|
|
149
|
+
uip login --authority https://alpha.uipath.com # non-production environments
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## 6. `--folder-key` requirement
|
|
153
|
+
|
|
154
|
+
Run all `uip maestro flow instance` and `uip maestro flow incident get` commands with `--folder-key <FOLDER_KEY>` (or `-f`). Without it, the request is rejected before reaching the API.
|
|
155
|
+
|
|
156
|
+
Get the folder key by running:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
uip or folders list --output json
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
Alternatively obtain it from job/process context, such as `Data.folderKey` in a job-status response or surrounding debug metadata.
|
|
163
|
+
|
|
164
|
+
## 7. Use `UIP_LOG_LEVEL=info` for debug runs
|
|
165
|
+
|
|
166
|
+
Run debug with `UIP_LOG_LEVEL=info`:
|
|
167
|
+
|
|
168
|
+
```bash
|
|
169
|
+
UIP_LOG_LEVEL=info uip maestro flow debug <path-to-project-dir> --output json
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Capture stderr as well as stdout. At `info`, stderr reports the `jobKey`, `instanceId`, and Studio Web URL. If polling exceeds its budget, stdout may contain only `Debug polling timed out after <N>s`; stderr is then the only way to identify the instance and inspect it with `uip maestro flow debug-instance incidents <instanceId>`.
|
|
173
|
+
|
|
174
|
+
Use `UIP_LOG_LEVEL`, not `UIPCLI_LOG_LEVEL`; the latter is silently ignored. `--log-level <level>` is the equivalent global flag. The setting applies to every `uip` command.
|
|
175
|
+
|
|
176
|
+
## 8. Global options
|
|
177
|
+
|
|
178
|
+
Run `uip maestro flow <subcommand> --help` to discover subcommand options. All `uip` commands support `--output json|yaml|table` and `--help`.
|