@uipath/flow-tool 0.9.1 → 1.0.4
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 +37 -37
- package/dist/index.js +1 -1
- package/dist/packager-tool.js +63928 -49263
- package/dist/services/flow-validate-service.d.ts +56 -0
- package/dist/services/node-validators/expression-prefix-validator.d.ts +45 -0
- package/dist/services/node-validators/index.d.ts +2 -0
- package/dist/services/node-validators/model-source-validator.d.ts +25 -0
- package/dist/services/node-validators/types.d.ts +1 -1
- package/dist/tool.js +197545 -200220
- package/dist/utils/handle-expansion.d.ts +50 -0
- package/dist/validation.d.ts +1 -1
- package/dist/validation.js +91132 -100106
- package/package.json +18 -18
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 <projectPath> <outputPath> [-n <name>] [-v <version>]
|
|
29
29
|
```
|
|
30
30
|
|
|
31
31
|
### Known Issues
|
|
@@ -36,7 +36,7 @@ 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
|
|
|
@@ -45,7 +45,7 @@ uip flow pack <projectPath> <outputPath> [-n <name>] [-v <version>]
|
|
|
45
45
|
List available Flow processes.
|
|
46
46
|
|
|
47
47
|
```bash
|
|
48
|
-
uip flow process list
|
|
48
|
+
uip maestro flow process list
|
|
49
49
|
```
|
|
50
50
|
|
|
51
51
|
#### `flow process get`
|
|
@@ -53,10 +53,10 @@ uip flow process list
|
|
|
53
53
|
Get Flow process schema and details.
|
|
54
54
|
|
|
55
55
|
```bash
|
|
56
|
-
uip flow process get "<process-key>" "<feed-id>"
|
|
56
|
+
uip maestro flow process get "<process-key>" "<feed-id>"
|
|
57
57
|
|
|
58
58
|
# Example
|
|
59
|
-
uip flow process get "MyFlow.flow.Flow:1.0.0" "6d98ceb8-becb-46ec-80d7-df213fbec06c"
|
|
59
|
+
uip maestro flow process get "MyFlow.flow.Flow:1.0.0" "6d98ceb8-becb-46ec-80d7-df213fbec06c"
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
#### `flow process run`
|
|
@@ -66,7 +66,7 @@ Run a Flow process.
|
|
|
66
66
|
**Syntax:**
|
|
67
67
|
|
|
68
68
|
```bash
|
|
69
|
-
uip flow process run "<process-key>" "<folder-key>" [options]
|
|
69
|
+
uip maestro flow process run "<process-key>" "<folder-key>" [options]
|
|
70
70
|
```
|
|
71
71
|
|
|
72
72
|
**Arguments:**
|
|
@@ -88,20 +88,20 @@ uip flow process run "<process-key>" "<folder-key>" [options]
|
|
|
88
88
|
|
|
89
89
|
```bash
|
|
90
90
|
# Run with JSON inputs
|
|
91
|
-
uip flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
|
|
91
|
+
uip maestro flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
|
|
92
92
|
--release-key "release-guid" \
|
|
93
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
99
|
--folder-id "2553016" \
|
|
100
100
|
--inputs @inputs.json
|
|
101
101
|
|
|
102
102
|
# Run with piped inputs
|
|
103
103
|
echo '{"name": "John", "age": 30}' | \
|
|
104
|
-
uip flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
|
|
104
|
+
uip maestro flow process run "TestFlow.flow.Flow:1.0.0" "folder-guid-here" \
|
|
105
105
|
--release-key "release-guid" \
|
|
106
106
|
--folder-id "2553016"
|
|
107
107
|
```
|
|
@@ -113,14 +113,14 @@ echo '{"name": "John", "age": 30}' | \
|
|
|
113
113
|
Stream execution traces for a running job.
|
|
114
114
|
|
|
115
115
|
```bash
|
|
116
|
-
uip flow job traces "<job-key>" [options]
|
|
116
|
+
uip maestro flow job traces "<job-key>" [options]
|
|
117
117
|
|
|
118
118
|
# Options:
|
|
119
119
|
# --poll-interval <ms> - Polling interval in milliseconds (default: 2000)
|
|
120
120
|
# --traces-service <name> - Traces service name (default: llmopstenant_)
|
|
121
121
|
|
|
122
122
|
# Example
|
|
123
|
-
uip flow job traces "06478292-f9cf-4234-9d1b-03f4bcd95fed"
|
|
123
|
+
uip maestro flow job traces "06478292-f9cf-4234-9d1b-03f4bcd95fed"
|
|
124
124
|
```
|
|
125
125
|
|
|
126
126
|
#### `flow job status`
|
|
@@ -128,35 +128,35 @@ uip flow job traces "06478292-f9cf-4234-9d1b-03f4bcd95fed"
|
|
|
128
128
|
Get detailed status of a Flow job.
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
|
-
uip flow job status "<job-key>" --folder-id "<id>" [options]
|
|
131
|
+
uip maestro flow job status "<job-key>" --folder-id "<id>" [options]
|
|
132
132
|
|
|
133
133
|
# Options:
|
|
134
134
|
# --detailed - Show full response with all fields
|
|
135
135
|
|
|
136
136
|
# Example
|
|
137
|
-
uip flow job status "06478292-f9cf-4234-9d1b-03f4bcd95fed" --folder-id "2553016"
|
|
137
|
+
uip maestro flow job status "06478292-f9cf-4234-9d1b-03f4bcd95fed" --folder-id "2553016"
|
|
138
138
|
```
|
|
139
139
|
|
|
140
140
|
## Complete Workflow
|
|
141
141
|
|
|
142
142
|
```bash
|
|
143
143
|
# 1. List available processes
|
|
144
|
-
uip flow process list
|
|
144
|
+
uip maestro flow process list
|
|
145
145
|
|
|
146
146
|
# 2. Get process schema (to see required inputs)
|
|
147
|
-
uip flow process get "MyFlow.flow.Flow:1.0.0" "feed-id-from-list"
|
|
147
|
+
uip maestro flow process get "MyFlow.flow.Flow:1.0.0" "feed-id-from-list"
|
|
148
148
|
|
|
149
149
|
# 3. Run the process
|
|
150
|
-
JOB_KEY=$(uip flow process run "MyFlow.flow.Flow:1.0.0" "folder-key" \
|
|
150
|
+
JOB_KEY=$(uip maestro flow process run "MyFlow.flow.Flow:1.0.0" "folder-key" \
|
|
151
151
|
--release-key "release-key" \
|
|
152
152
|
--folder-id "2553016" \
|
|
153
153
|
--inputs '{}' 2>/dev/null)
|
|
154
154
|
|
|
155
155
|
# 4. Watch execution traces
|
|
156
|
-
uip flow job traces "$JOB_KEY"
|
|
156
|
+
uip maestro flow job traces "$JOB_KEY"
|
|
157
157
|
|
|
158
158
|
# 5. Check final status
|
|
159
|
-
uip flow job status "$JOB_KEY" --folder-id "2553016"
|
|
159
|
+
uip maestro flow job status "$JOB_KEY" --folder-id "2553016"
|
|
160
160
|
```
|
|
161
161
|
|
|
162
162
|
## Output
|
|
@@ -190,8 +190,8 @@ uip flow job status "$JOB_KEY" --folder-id "2553016"
|
|
|
190
190
|
Fetches the node registry and writes it to local cache. Subsequent commands (`list`, `search`, `get`) read from this cache.
|
|
191
191
|
|
|
192
192
|
```bash
|
|
193
|
-
uip flow registry pull
|
|
194
|
-
uip flow registry pull --force # bypass 30-minute cache, always refresh
|
|
193
|
+
uip maestro flow registry pull
|
|
194
|
+
uip maestro flow registry pull --force # bypass 30-minute cache, always refresh
|
|
195
195
|
```
|
|
196
196
|
|
|
197
197
|
**Output fields:**
|
|
@@ -218,7 +218,7 @@ uip flow registry pull --force # bypass 30-minute cache, always refresh
|
|
|
218
218
|
Lists all nodes in the local cache. If no cache exists, fetches live data first.
|
|
219
219
|
|
|
220
220
|
```bash
|
|
221
|
-
uip flow registry list
|
|
221
|
+
uip maestro flow registry list
|
|
222
222
|
```
|
|
223
223
|
|
|
224
224
|
**Output fields:** `NodesCount`, `Nodes[]`
|
|
@@ -230,9 +230,9 @@ uip flow registry list
|
|
|
230
230
|
Searches for nodes by keyword and/or structured filters.
|
|
231
231
|
|
|
232
232
|
```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"
|
|
233
|
+
uip maestro flow registry search slack
|
|
234
|
+
uip maestro flow registry search slack --filter "displayname:contains=send message"
|
|
235
|
+
uip maestro flow registry search --filter "category=connector"
|
|
236
236
|
```
|
|
237
237
|
|
|
238
238
|
**Options:**
|
|
@@ -284,8 +284,8 @@ Examples:
|
|
|
284
284
|
Returns full details for a single node, looked up by `nodeType` (case-insensitive).
|
|
285
285
|
|
|
286
286
|
```bash
|
|
287
|
-
uip flow registry get "uipath.agent"
|
|
288
|
-
uip flow registry get "uipath.connector.slack.send-message"
|
|
287
|
+
uip maestro flow registry get "uipath.agent"
|
|
288
|
+
uip maestro flow registry get "uipath.connector.slack.send-message"
|
|
289
289
|
```
|
|
290
290
|
|
|
291
291
|
**Output fields:** `Node` (enriched FlowNode object)
|
|
@@ -320,24 +320,24 @@ All commands support `--output-filter <expression>` (global option) to extract s
|
|
|
320
320
|
|
|
321
321
|
```bash
|
|
322
322
|
# List all nodeTypes from a search
|
|
323
|
-
uip flow registry search slack --output-filter "Nodes[*].nodeType"
|
|
323
|
+
uip maestro flow registry search slack --output-filter "Nodes[*].nodeType"
|
|
324
324
|
|
|
325
325
|
# Get the full enriched node
|
|
326
|
-
uip flow registry get "uipath.connector.slack.send-message" \
|
|
326
|
+
uip maestro flow registry get "uipath.connector.slack.send-message" \
|
|
327
327
|
--output-filter "Node"
|
|
328
328
|
|
|
329
329
|
# Extract only the input fields
|
|
330
|
-
uip flow registry get "uipath.connector.slack.send-message" \
|
|
330
|
+
uip maestro flow registry get "uipath.connector.slack.send-message" \
|
|
331
331
|
--output-filter "Node.inputDefinition.fields"
|
|
332
332
|
|
|
333
333
|
# Get the node count after a pull
|
|
334
|
-
uip flow registry pull --output-filter "NodesCount"
|
|
334
|
+
uip maestro flow registry pull --output-filter "NodesCount"
|
|
335
335
|
```
|
|
336
336
|
|
|
337
337
|
Combine with `--output json` to get clean JSON output:
|
|
338
338
|
|
|
339
339
|
```bash
|
|
340
|
-
uip flow registry get "uipath.connector.slack.send-message" \
|
|
340
|
+
uip maestro flow registry get "uipath.connector.slack.send-message" \
|
|
341
341
|
--output-filter "Node.inputDefinition.fields" --output json
|
|
342
342
|
```
|
|
343
343
|
|
|
@@ -347,20 +347,20 @@ uip flow registry get "uipath.connector.slack.send-message" \
|
|
|
347
347
|
|
|
348
348
|
```bash
|
|
349
349
|
# 1. Pull the registry (once per session)
|
|
350
|
-
uip flow registry pull
|
|
350
|
+
uip maestro flow registry pull
|
|
351
351
|
|
|
352
352
|
# 2. Search for candidates
|
|
353
|
-
uip flow registry search slack --filter "displayname:contains=send" \
|
|
353
|
+
uip maestro flow registry search slack --filter "displayname:contains=send" \
|
|
354
354
|
--output-filter "Nodes[*].nodeType"
|
|
355
355
|
# → uipath.connector.slack.send-message
|
|
356
356
|
# uipath.agent.resource.tool.connector.slack.send-message
|
|
357
357
|
# Pick the uipath.connector.* variant for direct flow use.
|
|
358
358
|
|
|
359
359
|
# 3. Inspect the full schema (with IS enrichment if logged in)
|
|
360
|
-
uip flow registry get "uipath.connector.slack.send-message" --output json
|
|
360
|
+
uip maestro flow registry get "uipath.connector.slack.send-message" --output json
|
|
361
361
|
|
|
362
362
|
# 4. Extract just the input fields to build a request body
|
|
363
|
-
uip flow registry get "uipath.connector.slack.send-message" \
|
|
363
|
+
uip maestro flow registry get "uipath.connector.slack.send-message" \
|
|
364
364
|
--output-filter "Node.inputDefinition.fields" --output json
|
|
365
365
|
```
|
|
366
366
|
|
package/dist/index.js
CHANGED