@uipath/flow-tool 1.0.1 → 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.
package/README.md CHANGED
@@ -9,7 +9,7 @@ CLI tool for managing UiPath Flow processes and jobs. This is a uip plugin that
9
9
  Create a new Flow project with boilerplate files.
10
10
 
11
11
  ```bash
12
- uip flow init <projectName> [--force]
12
+ uip maestro flow init <projectName> [--force]
13
13
  ```
14
14
 
15
15
  ### `flow validate`
@@ -17,7 +17,7 @@ uip flow init <projectName> [--force]
17
17
  Validate a `.flow` file against the Flow schema (Zod-based) with structural cross-field checks.
18
18
 
19
19
  ```bash
20
- uip flow validate <flowFile>
20
+ uip maestro flow validate <flowFile>
21
21
  ```
22
22
 
23
23
  ### `flow pack`
@@ -25,7 +25,7 @@ uip flow validate <flowFile>
25
25
  Pack a Flow project into a NuGet package (`.nupkg`).
26
26
 
27
27
  ```bash
28
- uip flow pack <projectPath> <outputPath> [-n <name>] [-v <version>]
28
+ uip maestro flow pack <project-path> <output-path> [-n <name>] [-v <version>]
29
29
  ```
30
30
 
31
31
  ### Known Issues
@@ -36,16 +36,18 @@ uip flow pack <projectPath> <outputPath> [-n <name>] [-v <version>]
36
36
  >
37
37
  > **Root cause:** The published `@uipath/tool-flow` npm package has a non-recursive `copyFiles()` method that only copies top-level files from the project directory, silently skipping the `content/` and `flow_files/` subdirectories. The local `flow-pack-service.ts` correctly uses `copyDirectory()` for recursive copies, but the npm-published tool does not.
38
38
  >
39
- > **Workaround:** Use `uip flow pack` directly to produce a correct `.nupkg` for deployment.
39
+ > **Workaround:** Use `uip maestro flow pack` directly to produce a correct `.nupkg` for deployment.
40
40
 
41
41
  ### Flow Process Commands
42
42
 
43
43
  #### `flow process list`
44
44
 
45
- List available Flow processes.
45
+ List available Flow processes in a folder. Provide either `--folder-key`
46
+ (GUID) or `--folder-path` (e.g. `Shared/Invoices`).
46
47
 
47
48
  ```bash
48
- uip flow process list
49
+ uip maestro flow process list --folder-key "<folder-key>"
50
+ uip maestro flow process list --folder-path "Shared/Invoices"
49
51
  ```
50
52
 
51
53
  #### `flow process get`
@@ -53,10 +55,10 @@ uip flow process list
53
55
  Get Flow process schema and details.
54
56
 
55
57
  ```bash
56
- uip flow process get "<process-key>" "<feed-id>"
58
+ uip maestro flow process get "<process-key>" "<feed-id>" --folder-key "<folder-key>"
57
59
 
58
60
  # Example
59
- uip flow process get "MyFlow.flow.Flow:1.0.0" "6d98ceb8-becb-46ec-80d7-df213fbec06c"
61
+ uip maestro flow process get "MyFlow.flow.Flow:1.0.0" "6d98ceb8-becb-46ec-80d7-df213fbec06c" --folder-key "c3d4e5f6-0000-0000-0000-000000000001"
60
62
  ```
61
63
 
62
64
  #### `flow process run`
@@ -66,7 +68,7 @@ Run a Flow process.
66
68
  **Syntax:**
67
69
 
68
70
  ```bash
69
- uip flow process run "<process-key>" "<folder-key>" [options]
71
+ uip maestro flow process run "<process-key>" "<folder-key>" [options]
70
72
  ```
71
73
 
72
74
  **Arguments:**
@@ -79,7 +81,6 @@ uip flow process run "<process-key>" "<folder-key>" [options]
79
81
  - `-i, --inputs <json>` - Input parameters as JSON string or @file.json
80
82
  - `-t, --tenant <name>` - Tenant name (defaults to authenticated tenant)
81
83
  - `--release-key <key>` - Release key (GUID, from list command)
82
- - `--folder-id <id>` - Folder ID (from list command)
83
84
  - `--feed-id <id>` - Feed ID for package lookup (optional)
84
85
  - `--robot-ids <ids>` - Comma-separated robot IDs (optional)
85
86
  - `--validate` - Validate inputs against project schema before running
@@ -88,22 +89,19 @@ uip flow process run "<process-key>" "<folder-key>" [options]
88
89
 
89
90
  ```bash
90
91
  # Run with JSON inputs
91
- uip flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
92
+ uip maestro flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
92
93
  --release-key "release-guid" \
93
- --folder-id "2553016" \
94
94
  --inputs '{"name": "John", "age": 30}'
95
95
 
96
96
  # Run with inputs from file
97
- uip flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
97
+ uip maestro flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
98
98
  --release-key "release-guid" \
99
- --folder-id "2553016" \
100
99
  --inputs @inputs.json
101
100
 
102
101
  # Run with piped inputs
103
102
  echo '{"name": "John", "age": 30}' | \
104
- uip flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
105
- --release-key "release-guid" \
106
- --folder-id "2553016"
103
+ uip maestro flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
104
+ --release-key "release-guid"
107
105
  ```
108
106
 
109
107
  ### Flow Job Commands
@@ -113,14 +111,14 @@ echo '{"name": "John", "age": 30}' | \
113
111
  Stream execution traces for a running job.
114
112
 
115
113
  ```bash
116
- uip flow job traces "<job-key>" [options]
114
+ uip maestro flow job traces "<job-key>" [options]
117
115
 
118
116
  # Options:
119
117
  # --poll-interval <ms> - Polling interval in milliseconds (default: 2000)
120
118
  # --traces-service <name> - Traces service name (default: llmopstenant_)
121
119
 
122
120
  # Example
123
- uip flow job traces "06478292-f9cf-4234-9d1b-03f4bcd95fed"
121
+ uip maestro flow job traces "06478292-f9cf-4234-9d1b-03f4bcd95fed"
124
122
  ```
125
123
 
126
124
  #### `flow job status`
@@ -128,35 +126,34 @@ uip flow job traces "06478292-f9cf-4234-9d1b-03f4bcd95fed"
128
126
  Get detailed status of a Flow job.
129
127
 
130
128
  ```bash
131
- uip flow job status "<job-key>" --folder-id "<id>" [options]
129
+ uip maestro flow job status "<job-key>" --folder-key "<key>" [options]
132
130
 
133
131
  # Options:
134
132
  # --detailed - Show full response with all fields
135
133
 
136
134
  # Example
137
- uip flow job status "06478292-f9cf-4234-9d1b-03f4bcd95fed" --folder-id "2553016"
135
+ uip maestro flow job status "06478292-f9cf-4234-9d1b-03f4bcd95fed" --folder-key "c3d4e5f6-0000-0000-0000-000000000001"
138
136
  ```
139
137
 
140
138
  ## Complete Workflow
141
139
 
142
140
  ```bash
143
141
  # 1. List available processes
144
- uip flow process list
142
+ uip maestro flow process list --folder-key "folder-key"
145
143
 
146
144
  # 2. Get process schema (to see required inputs)
147
- uip flow process get "MyFlow.flow.Flow:1.0.0" "feed-id-from-list"
145
+ uip maestro flow process get "MyFlow.flow.Flow:1.0.0" "feed-id-from-list" --folder-key "folder-key"
148
146
 
149
147
  # 3. Run the process
150
- JOB_KEY=$(uip flow process run "MyFlow.flow.Flow:1.0.0" "folder-key" \
148
+ JOB_KEY=$(uip maestro flow process run "MyFlow.flow.Flow:1.0.0" "folder-key" \
151
149
  --release-key "release-key" \
152
- --folder-id "2553016" \
153
- --inputs '{}' 2>/dev/null)
150
+ --inputs '{}')
154
151
 
155
152
  # 4. Watch execution traces
156
- uip flow job traces "$JOB_KEY"
153
+ uip maestro flow job traces "$JOB_KEY"
157
154
 
158
155
  # 5. Check final status
159
- uip flow job status "$JOB_KEY" --folder-id "2553016"
156
+ uip maestro flow job status "$JOB_KEY" --folder-key "folder-key"
160
157
  ```
161
158
 
162
159
  ## Output
@@ -181,7 +178,7 @@ uip flow job status "$JOB_KEY" --folder-id "2553016"
181
178
  | `flow registry pull` | Fetch and cache all available nodes from the Flow registry |
182
179
  | `flow registry list` | List all locally cached nodes |
183
180
  | `flow registry search [keyword]` | Find nodes by keyword and/or structured filters |
184
- | `flow registry get <nodeType>` | Get full node schema; auto-enriches connector nodes with input/output fields |
181
+ | `flow registry get <node-type>` | Get full node schema; auto-enriches connector nodes with input/output fields |
185
182
 
186
183
  ---
187
184
 
@@ -190,8 +187,8 @@ uip flow job status "$JOB_KEY" --folder-id "2553016"
190
187
  Fetches the node registry and writes it to local cache. Subsequent commands (`list`, `search`, `get`) read from this cache.
191
188
 
192
189
  ```bash
193
- uip flow registry pull
194
- uip flow registry pull --force # bypass 30-minute cache, always refresh
190
+ uip maestro flow registry pull
191
+ uip maestro flow registry pull --force # bypass 30-minute cache, always refresh
195
192
  ```
196
193
 
197
194
  **Output fields:**
@@ -218,7 +215,7 @@ uip flow registry pull --force # bypass 30-minute cache, always refresh
218
215
  Lists all nodes in the local cache. If no cache exists, fetches live data first.
219
216
 
220
217
  ```bash
221
- uip flow registry list
218
+ uip maestro flow registry list
222
219
  ```
223
220
 
224
221
  **Output fields:** `NodesCount`, `Nodes[]`
@@ -230,9 +227,9 @@ uip flow registry list
230
227
  Searches for nodes by keyword and/or structured filters.
231
228
 
232
229
  ```bash
233
- uip flow registry search slack
234
- uip flow registry search slack --filter "displayname:contains=send message"
235
- uip flow registry search --filter "category=connector"
230
+ uip maestro flow registry search slack
231
+ uip maestro flow registry search slack --filter "displayname:contains=send message"
232
+ uip maestro flow registry search --filter "category=connector"
236
233
  ```
237
234
 
238
235
  **Options:**
@@ -284,8 +281,8 @@ Examples:
284
281
  Returns full details for a single node, looked up by `nodeType` (case-insensitive).
285
282
 
286
283
  ```bash
287
- uip flow registry get "uipath.agent"
288
- uip flow registry get "uipath.connector.slack.send-message"
284
+ uip maestro flow registry get "uipath.agent"
285
+ uip maestro flow registry get "uipath.connector.slack.send-message"
289
286
  ```
290
287
 
291
288
  **Output fields:** `Node` (enriched FlowNode object)
@@ -320,24 +317,24 @@ All commands support `--output-filter <expression>` (global option) to extract s
320
317
 
321
318
  ```bash
322
319
  # List all nodeTypes from a search
323
- uip flow registry search slack --output-filter "Nodes[*].nodeType"
320
+ uip maestro flow registry search slack --output-filter "Nodes[*].nodeType"
324
321
 
325
322
  # Get the full enriched node
326
- uip flow registry get "uipath.connector.slack.send-message" \
323
+ uip maestro flow registry get "uipath.connector.slack.send-message" \
327
324
  --output-filter "Node"
328
325
 
329
326
  # Extract only the input fields
330
- uip flow registry get "uipath.connector.slack.send-message" \
327
+ uip maestro flow registry get "uipath.connector.slack.send-message" \
331
328
  --output-filter "Node.inputDefinition.fields"
332
329
 
333
330
  # Get the node count after a pull
334
- uip flow registry pull --output-filter "NodesCount"
331
+ uip maestro flow registry pull --output-filter "NodesCount"
335
332
  ```
336
333
 
337
334
  Combine with `--output json` to get clean JSON output:
338
335
 
339
336
  ```bash
340
- uip flow registry get "uipath.connector.slack.send-message" \
337
+ uip maestro flow registry get "uipath.connector.slack.send-message" \
341
338
  --output-filter "Node.inputDefinition.fields" --output json
342
339
  ```
343
340
 
@@ -347,20 +344,20 @@ uip flow registry get "uipath.connector.slack.send-message" \
347
344
 
348
345
  ```bash
349
346
  # 1. Pull the registry (once per session)
350
- uip flow registry pull
347
+ uip maestro flow registry pull
351
348
 
352
349
  # 2. Search for candidates
353
- uip flow registry search slack --filter "displayname:contains=send" \
350
+ uip maestro flow registry search slack --filter "displayname:contains=send" \
354
351
  --output-filter "Nodes[*].nodeType"
355
352
  # → uipath.connector.slack.send-message
356
353
  # uipath.agent.resource.tool.connector.slack.send-message
357
354
  # Pick the uipath.connector.* variant for direct flow use.
358
355
 
359
356
  # 3. Inspect the full schema (with IS enrichment if logged in)
360
- uip flow registry get "uipath.connector.slack.send-message" --output json
357
+ uip maestro flow registry get "uipath.connector.slack.send-message" --output json
361
358
 
362
359
  # 4. Extract just the input fields to build a request body
363
- uip flow registry get "uipath.connector.slack.send-message" \
360
+ uip maestro flow registry get "uipath.connector.slack.send-message" \
364
361
  --output-filter "Node.inputDefinition.fields" --output json
365
362
  ```
366
363
 
package/dist/index.js CHANGED
@@ -1005,7 +1005,7 @@ Expecting one of '${allowedValues.join("', '")}'`);
1005
1005
  this._exitCallback = (err) => {
1006
1006
  if (err.code !== "commander.executeSubCommandAsync") {
1007
1007
  throw err;
1008
- } else {}
1008
+ }
1009
1009
  };
1010
1010
  }
1011
1011
  return this;