@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,134 @@
|
|
|
1
|
+
# Evaluate — Design and run Flow evaluations
|
|
2
|
+
|
|
3
|
+
Capability index for `uip maestro flow eval` — evaluator CRUD (7 types), eval set CRUD with entry-point pinning, data point management with file attachments, and Studio Web run start/status/results/list/compare. Local CRUD is offline; runs require `uip login` and a Flow solution that already exists in Studio Web.
|
|
4
|
+
|
|
5
|
+
> **Where you came from / where to go next.** Evaluate is downstream of Operate (ship the flow → evaluate it on Studio Web) and feeds back into Author (failing eval → fix the `.flow` → re-ship → re-evaluate). Build/edit lives in [author/CAPABILITY.md](../author/CAPABILITY.md); publish/deploy lives in [operate/CAPABILITY.md](../operate/CAPABILITY.md); fault triage on a debug or process run lives in [diagnose/CAPABILITY.md](../diagnose/CAPABILITY.md).
|
|
6
|
+
>
|
|
7
|
+
> **Inherits universal rules from [SKILL.md](../../SKILL.md)** — `--output json` + prefer `--output-filter` for extraction, no `flow debug` without consent, never invoke other skills automatically, dropdown question pattern, **plain-English narration + granular progress list (opt-in — silent by default; engage when the user asks for verbosity)**. The rules below are evaluate-scoped and apply on top.
|
|
8
|
+
|
|
9
|
+
## When to use this capability
|
|
10
|
+
|
|
11
|
+
- Add or remove data points (test cases) on a Flow eval set
|
|
12
|
+
- Create evaluators (`exact-match`, `json-similarity`, `contains`, `llm-judge-*` types) for a Flow project
|
|
13
|
+
- Create or remove eval sets, link them to evaluators, pin entry points
|
|
14
|
+
- Add, list, or remove simulations on data points (`uip maestro flow eval simulation`)
|
|
15
|
+
- Add, list, or remove child tool simulations on agent nodes (`--parent` flag)
|
|
16
|
+
- Start an eval run on Studio Web, poll its status, fetch detailed results
|
|
17
|
+
- Compare two eval runs to verify a change improved scores without regressions
|
|
18
|
+
|
|
19
|
+
For agent (`agent.json`) evaluations read the `uipath-agents` skill. For BPMN evaluations read the `uipath-maestro-bpmn` skill — this capability covers Flow only.
|
|
20
|
+
|
|
21
|
+
## Critical rules
|
|
22
|
+
|
|
23
|
+
1. **Check Flow eval CLI availability once.** Run `uip maestro flow eval --help --output json` before using eval commands. If it returns `unknown command 'eval'`, the installed CLI does not expose Flow eval yet. Stop, report that the user needs a CLI/tool version with Flow eval support, and do not spend turns searching npm packages or source bundles.
|
|
24
|
+
2. **Never run `uip solution upload` automatically as part of an eval workflow.** The eval run requires the Flow solution to already exist in Studio Web, but uploading from the local working tree clobbers whatever is on Studio Web. If the project was pulled from Studio Web (`uip solution download`), edited locally in VS Code, or scaffolded on disk and never uploaded, an unprompted upload will overwrite or push unintended state. Ask the user explicitly before any `uip solution upload` — see [upload-safety.md](upload-safety.md).
|
|
25
|
+
3. **`--path` accepts a Flow project directory OR a solution directory containing exactly one Flow project.** If the solution holds multiple Flow projects, point `--path` at the specific project directory.
|
|
26
|
+
4. **Local CRUD does not require login.** `add`, `remove`, `list` (data points / eval sets / evaluators) edit JSON on disk. Only `uip maestro flow eval run *` requires `uip login` and an existing Studio Web solution.
|
|
27
|
+
5. **Pin a model on every LLM-judge evaluator.** Empty/missing `model` produces a cryptic 500 from the LLM gateway after retries. Pass `--model <name>` on `evaluator add` or set `model` in the JSON.
|
|
28
|
+
6. **Declare input variables before adding data points with `--inputs`.** `eval add` validates input keys against the Flow's declared input variables and fails fast on unknown keys. Add missing input variables first (for example, `uip maestro flow variable add My.flow name --direction in --type string --output json`) or change the data point input JSON to match the Flow schema.
|
|
29
|
+
7. **Let the CLI manage evaluator references.** Eval sets store `evaluatorRefs` as the evaluator file refs produced by `evaluator add` (for example, `greeting-match-1234abcd.json`). If the set should use every evaluator that already exists, omit `--evaluators` so the CLI writes those generated file refs. If you must pass `--evaluators`, pass the evaluator id or generated file base/ref from `evaluator add/list` — never the display name alone (`greeting-match`), because Studio Web does not resolve display-name refs.
|
|
30
|
+
8. **Pre-empt timeouts on `run start --wait`.** The CLI blocks until the run reaches a terminal state or `--timeout` elapses. `--timeout` only stops local blocking — the run continues server-side; query progress with `eval run status <run_id>`.
|
|
31
|
+
|
|
32
|
+
## Quick Start
|
|
33
|
+
|
|
34
|
+
Standard workflow: scaffold evaluators → create eval set → add data points → confirm project is in Studio Web → run.
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# 1. Add an evaluator (local; no login required)
|
|
38
|
+
uip maestro flow eval evaluator add greeting-quality \
|
|
39
|
+
--type llm-judge-output \
|
|
40
|
+
--model gpt-4.1-2025-04-14 \
|
|
41
|
+
--path ./MySolution/MyFlow --output json
|
|
42
|
+
|
|
43
|
+
# 2. Create an eval set, pin the entry point, and let the CLI attach
|
|
44
|
+
# all current evaluators by generated file ref
|
|
45
|
+
uip maestro flow eval set add "Smoke Tests" \
|
|
46
|
+
--entry-point /Main.bpmn#start \
|
|
47
|
+
--path ./MySolution/MyFlow --output json
|
|
48
|
+
|
|
49
|
+
# 3. Add data points (test cases)
|
|
50
|
+
# The `message` key must already be declared as a Flow input variable.
|
|
51
|
+
uip maestro flow eval add hello-test \
|
|
52
|
+
--set "Smoke Tests" \
|
|
53
|
+
--inputs '{"message":"hello"}' \
|
|
54
|
+
--expected '{"reply":"Hello! How can I help you?"}' \
|
|
55
|
+
--path ./MySolution/MyFlow --output json
|
|
56
|
+
|
|
57
|
+
# 4. Confirm the solution is in Studio Web
|
|
58
|
+
# DO NOT auto-run `uip solution upload`. Ask the user. See upload-safety.md.
|
|
59
|
+
|
|
60
|
+
# 5. Start the run and wait
|
|
61
|
+
uip maestro flow eval run start \
|
|
62
|
+
--set "Smoke Tests" \
|
|
63
|
+
--path ./MySolution/MyFlow \
|
|
64
|
+
--wait --timeout 600 --output json
|
|
65
|
+
|
|
66
|
+
# 6. Inspect failures
|
|
67
|
+
uip maestro flow eval run results <eval_set_run_id> \
|
|
68
|
+
--set "Smoke Tests" \
|
|
69
|
+
--only-failed --verbose \
|
|
70
|
+
--path ./MySolution/MyFlow --output json
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Workflow
|
|
74
|
+
|
|
75
|
+
| Journey | Read |
|
|
76
|
+
| --- | --- |
|
|
77
|
+
| Look up any `uip maestro flow eval` subcommand syntax, flags, defaults, output codes | [commands-reference.md](commands-reference.md) |
|
|
78
|
+
| Choose among the 7 evaluator types, write custom prompts, hand-write evaluator JSON | [evaluators-guide.md](evaluators-guide.md) |
|
|
79
|
+
| Create eval sets, add data points, map `--inputs`/`--expected`/`--criteria` to evaluator types, attach files | [eval-sets-guide.md](eval-sets-guide.md) |
|
|
80
|
+
| Start a Studio Web run, poll status, read results, export CSV/JSON, compare two runs | [running-guide.md](running-guide.md) |
|
|
81
|
+
| Decide whether to call `uip solution upload` (almost always: don't auto-run; ask first) | [upload-safety.md](upload-safety.md) |
|
|
82
|
+
|
|
83
|
+
## Common tasks
|
|
84
|
+
|
|
85
|
+
| I need to... | Read these |
|
|
86
|
+
| --- | --- |
|
|
87
|
+
| **Add an evaluator** | [evaluators-guide.md](evaluators-guide.md) + [commands-reference.md — Evaluators](commands-reference.md#evaluators) |
|
|
88
|
+
| **Pick the right evaluator type** | [evaluators-guide.md — When to Pick Each Type](evaluators-guide.md#when-to-pick-each-type) |
|
|
89
|
+
| **Create an eval set and pin an entry point** | [eval-sets-guide.md — Eval Set Lifecycle](eval-sets-guide.md#eval-set-lifecycle) |
|
|
90
|
+
| **Add a data point with file attachments** | [eval-sets-guide.md — `--input-file`](eval-sets-guide.md#--input-file-keypath) |
|
|
91
|
+
| **Set per-data-point criteria for trajectory evaluators** | [eval-sets-guide.md — `--criteria`](eval-sets-guide.md#--criteria) |
|
|
92
|
+
| **Add a simulation to a data point** | [eval-sets-guide.md — Simulations](eval-sets-guide.md#simulations-on-data-points) + [commands-reference.md — Simulations](commands-reference.md#simulations) |
|
|
93
|
+
| **Add a child tool simulation to an agent node** | [eval-sets-guide.md — Child Simulations](eval-sets-guide.md#child-simulations-agent-tool-simulation) + [commands-reference.md — Simulations](commands-reference.md#simulations) |
|
|
94
|
+
| **Start a Studio Web eval run** | [running-guide.md — Start a Run](running-guide.md#start-a-run) |
|
|
95
|
+
| **Poll run status without `--wait`** | [running-guide.md — Check Status](running-guide.md#check-status) |
|
|
96
|
+
| **Inspect only failed data points** | [running-guide.md — Detailed Results](running-guide.md#detailed-results) (`--only-failed --verbose`) |
|
|
97
|
+
| **Compare two runs side-by-side** | [running-guide.md — Compare Two Runs](running-guide.md#compare-two-runs) |
|
|
98
|
+
| **Decide whether to call `uip solution upload`** | [upload-safety.md](upload-safety.md) |
|
|
99
|
+
| **Look up the `eval` subcommand tree, flags, defaults, output codes** | [commands-reference.md](commands-reference.md) |
|
|
100
|
+
| **My eval run failed** | [running-guide.md — Failure Detection](running-guide.md#failure-detection); for flow-level faults [diagnose/CAPABILITY.md](../diagnose/CAPABILITY.md) |
|
|
101
|
+
|
|
102
|
+
## Anti-patterns
|
|
103
|
+
|
|
104
|
+
- **Don't auto-run `uip solution upload`.** Even when an eval run errors with "solution not found in Studio Web", stop and ask the user — see [upload-safety.md](upload-safety.md). The local project may be ahead of, or diverged from, Studio Web.
|
|
105
|
+
- **Don't hand-write `evaluatorRefs` unless you are repairing an eval set.** Prefer the default all-evaluators behavior so the CLI writes generated file refs, or pass generated evaluator ids/file refs explicitly. Do not pass evaluator display names to `--evaluators`.
|
|
106
|
+
- **Don't pass `--type` in PascalCase.** Only kebab-case is accepted: `exact-match`, `json-similarity`, `contains`, `llm-judge-output`, `llm-judge-strict-json`, `llm-judge-trajectory`, `llm-judge-trajectory-simulation`.
|
|
107
|
+
- **Don't depend on a specific `--wait` polling cadence.** Treat `--wait` as a black-box block; if you need precise progress, omit it and call `eval run status` yourself.
|
|
108
|
+
- **Don't compare runs from different eval sets.** `eval run compare` aligns by data-point name within the set; cross-set deltas are meaningless.
|
|
109
|
+
- **Don't omit `--model` on LLM-judge evaluators.** The cloud worker fail-fasts before calling the LLM gateway.
|
|
110
|
+
- **Don't run evals during `flow debug`.** `debug` is a separate Studio Web session; evals run against the deployed/published solution. Mixing them produces confusing run IDs.
|
|
111
|
+
|
|
112
|
+
## Completion Output
|
|
113
|
+
|
|
114
|
+
After a run completes, report:
|
|
115
|
+
|
|
116
|
+
1. **Eval set run ID** and aggregate score (from `run status`)
|
|
117
|
+
2. **Failed data points** (from `run results --only-failed --verbose`)
|
|
118
|
+
3. **Comparison delta** vs the previous run (`run compare`) if one exists
|
|
119
|
+
4. **Suggested next step** — fix the agent/flow, re-run, or accept the result. Do NOT suggest `uip solution upload` unless the user has explicitly asked to publish edits.
|
|
120
|
+
|
|
121
|
+
## References
|
|
122
|
+
|
|
123
|
+
### Evaluate-scoped
|
|
124
|
+
|
|
125
|
+
- [commands-reference.md](commands-reference.md) — every `uip maestro flow eval` subcommand, flags, defaults, output `Code` enum
|
|
126
|
+
- [evaluators-guide.md](evaluators-guide.md) — 7 evaluator types mapped to internal `uipath-*` IDs, JSON shapes, template variables
|
|
127
|
+
- [eval-sets-guide.md](eval-sets-guide.md) — eval set + data point CRUD, `--inputs`/`--expected`/`--criteria`/`--input-file`/`--search-text`, simulations
|
|
128
|
+
- [running-guide.md](running-guide.md) — run start/status/results/list/compare, JMESPath `--output-filter`, failure detection
|
|
129
|
+
- [upload-safety.md](upload-safety.md) — the `solution upload` rule
|
|
130
|
+
|
|
131
|
+
### Cross-capability (shared)
|
|
132
|
+
|
|
133
|
+
- [shared/cli-commands.md](../shared/cli-commands.md) — flat CLI lookup including `eval` subcommands
|
|
134
|
+
- [shared/cli-conventions.md](../shared/cli-conventions.md) — login states, `--output json`, JSON output shape
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
# `uip maestro flow eval` Command Reference
|
|
2
|
+
|
|
3
|
+
Complete syntax reference for every subcommand under `uip maestro flow eval`. All commands accept the global flags `--output <table|json|yaml|plain>` (default `json`), `--output-filter <jmespath>`, `--log-level <debug|info|warn|error>`, and `--log-file <path>`. Repeated reminders below: always pass `--output json` when an agent will parse the result.
|
|
4
|
+
|
|
5
|
+
## Command Tree
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
uip maestro flow eval
|
|
9
|
+
├── add — Add a data point to an evaluation set
|
|
10
|
+
├── list — List data points in an evaluation set
|
|
11
|
+
├── remove — Remove a data point from an evaluation set
|
|
12
|
+
├── set
|
|
13
|
+
│ ├── add — Create an evaluation set
|
|
14
|
+
│ ├── list — List evaluation sets
|
|
15
|
+
│ └── remove — Remove an evaluation set
|
|
16
|
+
├── evaluator
|
|
17
|
+
│ ├── add — Add an evaluator to the flow project
|
|
18
|
+
│ ├── list — List evaluators in a flow project
|
|
19
|
+
│ └── remove — Remove an evaluator from a flow project
|
|
20
|
+
├── simulation
|
|
21
|
+
│ ├── add — Add or update a simulation on a data point
|
|
22
|
+
│ ├── list — List simulations on a data point
|
|
23
|
+
│ └── remove — Remove a simulation from a data point
|
|
24
|
+
└── run
|
|
25
|
+
├── start — Start a Studio Web evaluation run
|
|
26
|
+
├── status — Check the status of a run
|
|
27
|
+
├── results — Get detailed per-data-point results
|
|
28
|
+
├── list — List runs for an eval set
|
|
29
|
+
└── compare — Compare two runs side-by-side
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
`add` / `remove` / `list` at the top level operate on **data points** (test cases) inside an eval set. Data points are stored inline within the eval set JSON, not as separate files.
|
|
33
|
+
|
|
34
|
+
## Common Options
|
|
35
|
+
|
|
36
|
+
Every subcommand accepts:
|
|
37
|
+
|
|
38
|
+
| Flag | Required | Description |
|
|
39
|
+
|------|----------|-------------|
|
|
40
|
+
| `--path <path>` | No (defaults to `.`) | Flow project directory, or a solution directory containing exactly one Flow project |
|
|
41
|
+
| `--output <fmt>` | No (default `json`) | `table`, `json`, `yaml`, or `plain` |
|
|
42
|
+
| `--output-filter <expr>` | No | JMESPath expression applied to JSON output before printing |
|
|
43
|
+
|
|
44
|
+
## Data Points (Test Cases)
|
|
45
|
+
|
|
46
|
+
### `uip maestro flow eval add <name>`
|
|
47
|
+
|
|
48
|
+
Add a data point to an eval set.
|
|
49
|
+
|
|
50
|
+
| Flag | Required | Description |
|
|
51
|
+
|------|----------|-------------|
|
|
52
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
53
|
+
| `--inputs <json>` | No | Input values as a JSON object; keys must be declared as Flow input variables |
|
|
54
|
+
| `--input-file <key=path>` | No | Attach a file as input `<key>`; **repeatable** |
|
|
55
|
+
| `--expected <json>` | No | Expected output as a JSON object |
|
|
56
|
+
| `--criteria <json>` | No | Per-evaluator criteria JSON object keyed by evaluator id |
|
|
57
|
+
| `--search-text <text>` | No | Search text for `contains` evaluators |
|
|
58
|
+
| `--path <path>` | No | (see Common Options) |
|
|
59
|
+
|
|
60
|
+
Example:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
uip maestro flow eval add greeting-test \
|
|
64
|
+
--set "Smoke Tests" \
|
|
65
|
+
--inputs '{"name":"Alice"}' \
|
|
66
|
+
--expected '{"greeting":"Hello, Alice!"}' \
|
|
67
|
+
--path ./MySolution/MyFlow --output json
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### `uip maestro flow eval list`
|
|
71
|
+
|
|
72
|
+
List data points in an eval set.
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
uip maestro flow eval list --set "Smoke Tests" --path ./MySolution/MyFlow --output json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### `uip maestro flow eval remove <id>`
|
|
79
|
+
|
|
80
|
+
Remove a data point. `<id>` accepts the data point's UUID or its `name`.
|
|
81
|
+
|
|
82
|
+
## Evaluation Sets
|
|
83
|
+
|
|
84
|
+
### `uip maestro flow eval set add <name>`
|
|
85
|
+
|
|
86
|
+
Create an evaluation set.
|
|
87
|
+
|
|
88
|
+
| Flag | Required | Description |
|
|
89
|
+
|------|----------|-------------|
|
|
90
|
+
| `--evaluators <refs>` | No (default: all) | Comma-separated evaluator IDs or generated file base names; do not pass display names |
|
|
91
|
+
| `--entry-point <id>` | No | Entry point node id stored as the eval set's `selectedEntrypoint` |
|
|
92
|
+
| `--path <path>` | No | (see Common Options) |
|
|
93
|
+
|
|
94
|
+
When `--evaluators` is omitted, the new eval set references **all** evaluators present in the project at creation time using their generated evaluator file refs. Prefer this when creating a set immediately after adding the evaluator(s). If passing `--evaluators`, use the generated id/file base returned by `evaluator add/list`, not the evaluator display name.
|
|
95
|
+
|
|
96
|
+
### `uip maestro flow eval set list`
|
|
97
|
+
|
|
98
|
+
List eval sets in the project.
|
|
99
|
+
|
|
100
|
+
### `uip maestro flow eval set remove <id>`
|
|
101
|
+
|
|
102
|
+
Remove an eval set. `<id>` accepts the eval set's UUID, `name`, or file base name.
|
|
103
|
+
|
|
104
|
+
## Evaluators
|
|
105
|
+
|
|
106
|
+
### `uip maestro flow eval evaluator add <name>`
|
|
107
|
+
|
|
108
|
+
Create an evaluator file in the project's evaluators directory.
|
|
109
|
+
|
|
110
|
+
| Flag | Required | Description |
|
|
111
|
+
|------|----------|-------------|
|
|
112
|
+
| `--type <type>` | Yes | One of: `exact-match`, `json-similarity`, `contains`, `llm-judge-output`, `llm-judge-strict-json`, `llm-judge-trajectory`, `llm-judge-trajectory-simulation` |
|
|
113
|
+
| `--description <text>` | No | Evaluator description |
|
|
114
|
+
| `--target-key <key>` | No | Output key the evaluator scores against (defaults to `*` — the entire output) |
|
|
115
|
+
| `--model <model>` | No (Yes for llm-judge-*) | LLM model for LLM-judge evaluators (e.g. `gpt-4.1-2025-04-14`) |
|
|
116
|
+
| `--prompt <prompt>` | No | Custom LLM judge prompt; defaults to a built-in template per type |
|
|
117
|
+
| `--path <path>` | No | (see Common Options) |
|
|
118
|
+
|
|
119
|
+
Only kebab-case `--type` values are accepted; PascalCase fails with an error.
|
|
120
|
+
|
|
121
|
+
For LLM-judge evaluators, `--model` is effectively required — the cloud worker rejects an empty `model` before sending to the LLM gateway. See [evaluators-guide.md](evaluators-guide.md) for the seven types in detail.
|
|
122
|
+
|
|
123
|
+
### `uip maestro flow eval evaluator list`
|
|
124
|
+
|
|
125
|
+
List evaluators in the project.
|
|
126
|
+
|
|
127
|
+
### `uip maestro flow eval evaluator remove <id>`
|
|
128
|
+
|
|
129
|
+
Remove an evaluator. `<id>` accepts UUID, name, or file base name. Removing an evaluator does not auto-clean `evaluatorRefs` in eval sets — verify after removing.
|
|
130
|
+
|
|
131
|
+
## Simulations
|
|
132
|
+
|
|
133
|
+
Simulations intercept specific nodes (connectors, agents, sub-flows) during an eval run and replace their real execution with a controlled response. Each simulation targets a single component by its `componentId` and applies one of three strategies.
|
|
134
|
+
|
|
135
|
+
### `uip maestro flow eval simulation add <component-id>`
|
|
136
|
+
|
|
137
|
+
Add or replace a simulation on a data point. If a simulation for `<component-id>` already exists on the data point it is overwritten.
|
|
138
|
+
|
|
139
|
+
| Flag | Required | Description |
|
|
140
|
+
|------|----------|-------------|
|
|
141
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
142
|
+
| `--data-point <id>` | Yes | Data point name or ID |
|
|
143
|
+
| `--strategy <strategy>` | Yes | `Llm` or `Static` |
|
|
144
|
+
| `--component-type <type>` | No | Component type (e.g. `connector`, `agent`, `subflow`). Required unless `--parent` is used (defaults to `Node`). |
|
|
145
|
+
| `--component-description <text>` | No | Human-readable label for the component |
|
|
146
|
+
| `--simulation-instructions <text>` | No | LLM prompt describing what the component should return (for `Llm` strategy) |
|
|
147
|
+
| `--mock-value <json>` | No | Static JSON output (for `Static` strategy) |
|
|
148
|
+
| `--parent <component-id>` | No | Parent agent node component ID. When set, the simulation is added as a child tool simulation nested inside the parent agent node's simulation. If no parent *simulation* exists yet, one is auto-created (type `agent`, strategy `Llm`). `--component-type` defaults to `Node`. |
|
|
149
|
+
| `--path <path>` | No | (see Common Options) |
|
|
150
|
+
|
|
151
|
+
**Strategy guide:**
|
|
152
|
+
|
|
153
|
+
| Strategy | When to use | Key flags |
|
|
154
|
+
|----------|-------------|-----------|
|
|
155
|
+
| `Llm` | Output should be realistic but non-deterministic | `--simulation-instructions` (output schema auto-resolved) |
|
|
156
|
+
| `Static` | Output is fixed and deterministic | `--mock-value` |
|
|
157
|
+
|
|
158
|
+
**Add the targeted node to `nodes[]` before any `Llm` call** — an eval set and a data point are not enough. Only `Llm` treats a missing node as an error: a top-level `Static` call never reads the `.flow` at all and succeeds against a component that does not exist, and a `--parent` `Static` call reads it but downgrades a miss to a `Mock value key validation was skipped` warning. So a sequence mixing both strategies fails on the `Llm` call alone, and the earlier `Static` success proves nothing about the node. A top-level `Llm` target needs readable outputs: a connector node with a configured `inputs.detail`, an agent node with a non-empty `inputs.agentOutputVariables`, or any node carrying `outputs`. `uip maestro flow node add` never writes `outputs`, so a bare `core.logic.mock` node fails with `Could not auto-resolve output schema … The node has no declared outputs` as a top-level target — it resolves only as a `--parent` child, from its definition's `outputDefinition`.
|
|
159
|
+
|
|
160
|
+
| Missing | Error |
|
|
161
|
+
|---------|-------|
|
|
162
|
+
| top-level node | `Component "<component-id>" not found in the flow. Verify the component ID.` |
|
|
163
|
+
| `--parent` agent node | `Parent agent "<component-id>" not found in the flow.` |
|
|
164
|
+
|
|
165
|
+
**Output schema auto-resolution:** The CLI auto-resolves the output schema whenever the simulation does not already carry one — for top-level simulations under `Llm` only, for child (`--parent`) simulations under both strategies:
|
|
166
|
+
|
|
167
|
+
- **Top-level simulations:** reads the `.flow` file, finds the node by `<component-id>`, and derives the schema from the node's output definition (connector `outputJsonSchema`, agent `agentOutputVariables`, or `node.outputs`).
|
|
168
|
+
- **Child simulations (inline canvas agents):** finds the child tool node via edges in the `.flow` file and extracts its output schema.
|
|
169
|
+
- **Child simulations (same-solution agents):** reads the inline agent's `agent.json` and matches the tool by name in the `resources[]` array.
|
|
170
|
+
- **Child simulations (published agents):** calls the platform API (`simulatableComponents`) using the current login session to fetch the tool's schema. Requires `uip login`.
|
|
171
|
+
|
|
172
|
+
A `--parent` agent node must also be wired to each child tool node by an edge on its `tool` port. The `--parent` value is the agent node's `id`; each `<component-id>` is a tool node's `id`:
|
|
173
|
+
|
|
174
|
+
```json
|
|
175
|
+
{ "nodes": [
|
|
176
|
+
{ "id": "agent-1", "type": "uipath.agent.autonomous", "inputs": { "agentInputVariables": {}, "agentOutputVariables": {} } },
|
|
177
|
+
{ "id": "Web_Search", "type": "core.logic.mock" },
|
|
178
|
+
{ "id": "Send_Email", "type": "core.logic.mock" } ],
|
|
179
|
+
"edges": [
|
|
180
|
+
{ "sourceNodeId": "agent-1", "sourcePort": "tool", "targetNodeId": "Web_Search", "targetPort": "input" },
|
|
181
|
+
{ "sourceNodeId": "agent-1", "sourcePort": "tool", "targetNodeId": "Send_Email", "targetPort": "input" } ] }
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
`core.logic.mock` tool nodes resolve schemas. See [plugins/inline-agent/impl.md](../author/plugins/inline-agent/impl.md) for a production agent node.
|
|
185
|
+
|
|
186
|
+
**Static mock value validation:** For `Static` child simulations, the CLI validates that `--mock-value` keys match the auto-resolved schema properties, catching shape mismatches early.
|
|
187
|
+
|
|
188
|
+
Example — LLM strategy:
|
|
189
|
+
|
|
190
|
+
```bash
|
|
191
|
+
uip maestro flow eval simulation add connectorSendEmail \
|
|
192
|
+
--set "Smoke Tests" \
|
|
193
|
+
--data-point "hello-test" \
|
|
194
|
+
--strategy Llm \
|
|
195
|
+
--component-type connector \
|
|
196
|
+
--simulation-instructions "Pretend to send the email and return a success confirmation." \
|
|
197
|
+
--path ./MySolution/MyFlow --output json
|
|
198
|
+
```
|
|
199
|
+
|
|
200
|
+
Example — Static strategy:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
uip maestro flow eval simulation add agentLookup \
|
|
204
|
+
--set "Smoke Tests" \
|
|
205
|
+
--data-point "hello-test" \
|
|
206
|
+
--strategy Static \
|
|
207
|
+
--component-type agent \
|
|
208
|
+
--mock-value '{"result": "found", "items": []}' \
|
|
209
|
+
--path ./MySolution/MyFlow --output json
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Example — Child simulation (tool inside an agent node):
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
# Add a child tool simulation (Static). No separate parent simulation step
|
|
216
|
+
# needed — --parent auto-creates the parent simulation.
|
|
217
|
+
# Output schema is auto-resolved from the agent's tool definitions.
|
|
218
|
+
uip maestro flow eval simulation add Web_Search \
|
|
219
|
+
--parent agentLookup \
|
|
220
|
+
--set "Smoke Tests" \
|
|
221
|
+
--data-point "hello-test" \
|
|
222
|
+
--strategy Static \
|
|
223
|
+
--mock-value '{"results": [{"title": "Example", "url": "https://example.com"}]}' \
|
|
224
|
+
--path ./MySolution/MyFlow --output json
|
|
225
|
+
|
|
226
|
+
# Add a child tool simulation (Llm). Output schema auto-resolved —
|
|
227
|
+
# works for inline, same-solution, and published agents.
|
|
228
|
+
uip maestro flow eval simulation add Send_Email \
|
|
229
|
+
--parent agentLookup \
|
|
230
|
+
--set "Smoke Tests" \
|
|
231
|
+
--data-point "hello-test" \
|
|
232
|
+
--strategy Llm \
|
|
233
|
+
--simulation-instructions "Return a success status with a generated messageId." \
|
|
234
|
+
--path ./MySolution/MyFlow --output json
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
The child's `<component-id>` is the tool's **runtime name** (e.g. `Web_Search`, `Send_Email`), not a `.flow` node ID. Child simulations are stored in the parent's `childSimulations` array.
|
|
238
|
+
|
|
239
|
+
### `uip maestro flow eval simulation list`
|
|
240
|
+
|
|
241
|
+
List all simulations configured on a data point.
|
|
242
|
+
|
|
243
|
+
| Flag | Required | Description |
|
|
244
|
+
|------|----------|-------------|
|
|
245
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
246
|
+
| `--data-point <id>` | Yes | Data point name or ID |
|
|
247
|
+
| `--parent <component-id>` | No | Parent agent component ID. When set, lists child tool simulations on that parent instead of top-level simulations. |
|
|
248
|
+
| `--path <path>` | No | (see Common Options) |
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
# List top-level simulations
|
|
252
|
+
uip maestro flow eval simulation list \
|
|
253
|
+
--set "Smoke Tests" \
|
|
254
|
+
--data-point "hello-test" \
|
|
255
|
+
--path ./MySolution/MyFlow --output json
|
|
256
|
+
|
|
257
|
+
# List child simulations on an agent node
|
|
258
|
+
uip maestro flow eval simulation list \
|
|
259
|
+
--parent agentLookup \
|
|
260
|
+
--set "Smoke Tests" \
|
|
261
|
+
--data-point "hello-test" \
|
|
262
|
+
--path ./MySolution/MyFlow --output json
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
### `uip maestro flow eval simulation remove <component-id>`
|
|
266
|
+
|
|
267
|
+
Remove a simulation from a data point. Returns an error if no simulation with the given `<component-id>` exists on the data point.
|
|
268
|
+
|
|
269
|
+
| Flag | Required | Description |
|
|
270
|
+
|------|----------|-------------|
|
|
271
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
272
|
+
| `--data-point <id>` | Yes | Data point name or ID |
|
|
273
|
+
| `--parent <component-id>` | No | Parent agent component ID. When set, removes a child tool simulation from the parent instead of a top-level simulation. |
|
|
274
|
+
| `--path <path>` | No | (see Common Options) |
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
# Remove a top-level simulation
|
|
278
|
+
uip maestro flow eval simulation remove connectorSendEmail \
|
|
279
|
+
--set "Smoke Tests" \
|
|
280
|
+
--data-point "hello-test" \
|
|
281
|
+
--path ./MySolution/MyFlow --output json
|
|
282
|
+
|
|
283
|
+
# Remove a child simulation from an agent node
|
|
284
|
+
uip maestro flow eval simulation remove Web_Search \
|
|
285
|
+
--parent agentLookup \
|
|
286
|
+
--set "Smoke Tests" \
|
|
287
|
+
--data-point "hello-test" \
|
|
288
|
+
--path ./MySolution/MyFlow --output json
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
## Run
|
|
292
|
+
|
|
293
|
+
### `uip maestro flow eval run start`
|
|
294
|
+
|
|
295
|
+
Start a Studio Web evaluation run. The Flow solution **must already exist in Studio Web** — see [upload-safety.md](upload-safety.md).
|
|
296
|
+
|
|
297
|
+
| Flag | Required | Description | Default |
|
|
298
|
+
|------|----------|-------------|---------|
|
|
299
|
+
| `--set <name>` | Yes | Eval set name or ID | — |
|
|
300
|
+
| `--solution-id <id>` | No | Solution ID from Studio Web | Auto-resolved from project metadata |
|
|
301
|
+
| `--project-id <id>` | No | Flow project ID from Studio Web | Auto-resolved |
|
|
302
|
+
| `--path <path>` | No | (see Common Options) | `.` |
|
|
303
|
+
| `--entry-point <entry>` | No | Flow entry point path (e.g. `/Main.bpmn#start`) or start node ID | Eval set's `selectedEntrypoint` |
|
|
304
|
+
| `--folder-key <key>` | No | Orchestrator folder key | Personal workspace |
|
|
305
|
+
| `--debug-mode <mode>` | No | Studio Web debug mode override | (server default) |
|
|
306
|
+
| `--wait` | No | Block until terminal state, then print results | `false` |
|
|
307
|
+
| `--timeout <seconds>` | No | Max time to block on `--wait` | `600` (10 min) |
|
|
308
|
+
|
|
309
|
+
Without `--wait`, returns immediately with `EvalSetRunId`. With `--wait`, the CLI polls until `Completed` or `Failed`, or `--timeout` elapses (the server-side run continues regardless).
|
|
310
|
+
|
|
311
|
+
### `uip maestro flow eval run status <evalSetRunId>`
|
|
312
|
+
|
|
313
|
+
Get current status. Terminal states: `Completed`, `Failed`.
|
|
314
|
+
|
|
315
|
+
| Flag | Required | Description |
|
|
316
|
+
|------|----------|-------------|
|
|
317
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
318
|
+
| `--solution-id <id>` | No | Override solution ID |
|
|
319
|
+
| `--project-id <id>` | No | Override project ID |
|
|
320
|
+
| `--path <path>` | No | (see Common Options) |
|
|
321
|
+
|
|
322
|
+
### `uip maestro flow eval run results <evalSetRunId>`
|
|
323
|
+
|
|
324
|
+
Per-data-point results.
|
|
325
|
+
|
|
326
|
+
| Flag | Required | Description |
|
|
327
|
+
|------|----------|-------------|
|
|
328
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
329
|
+
| `--only-failed` | No | Show only failed/errored data points |
|
|
330
|
+
| `--verbose` | No | Include evaluator justifications |
|
|
331
|
+
| `--export-format <json\|csv>` | No | Export results to a file |
|
|
332
|
+
| `--solution-id`, `--project-id`, `--path` | No | (see start) |
|
|
333
|
+
|
|
334
|
+
Per-row output fields: `DataPoint`, `Status`, `EvaluatorScores`, `Duration`, `Error` (plus `Justifications` when `--verbose`).
|
|
335
|
+
|
|
336
|
+
### `uip maestro flow eval run list`
|
|
337
|
+
|
|
338
|
+
List runs for an eval set.
|
|
339
|
+
|
|
340
|
+
```bash
|
|
341
|
+
uip maestro flow eval run list --set "Smoke Tests" --path ./MySolution/MyFlow --output json
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### `uip maestro flow eval run compare <evalSetRunId>`
|
|
345
|
+
|
|
346
|
+
Compare two runs side-by-side.
|
|
347
|
+
|
|
348
|
+
| Flag | Required | Description |
|
|
349
|
+
|------|----------|-------------|
|
|
350
|
+
| `--compare-to <id>` | Yes | Second eval set run ID |
|
|
351
|
+
| `--set <name>` | Yes | Eval set name or ID |
|
|
352
|
+
| `--solution-id`, `--project-id`, `--path` | No | (see start) |
|
|
353
|
+
|
|
354
|
+
`compare` aligns data points by `name` within the eval set. Comparing runs from different eval sets is meaningless.
|
|
355
|
+
|
|
356
|
+
## Output Codes
|
|
357
|
+
|
|
358
|
+
The CLI emits a `Code` field on every JSON response. Useful when filtering or scripting:
|
|
359
|
+
|
|
360
|
+
| Subcommand | `Code` |
|
|
361
|
+
|------------|--------|
|
|
362
|
+
| `eval add` | `FlowEvalAdd` |
|
|
363
|
+
| `eval list` | `FlowEvalList` |
|
|
364
|
+
| `eval remove` | `FlowEvalRemove` |
|
|
365
|
+
| `eval set add` / `list` / `remove` | `FlowEvalSetAdd` / `FlowEvalSetList` / `FlowEvalSetRemove` |
|
|
366
|
+
| `eval evaluator add` / `list` / `remove` | `FlowEvalEvaluatorAdd` / `FlowEvalEvaluatorList` / `FlowEvalEvaluatorRemove` |
|
|
367
|
+
| `eval simulation add` / `list` / `remove` | `FlowEvalSimulationAdd` / `FlowEvalSimulationList` / `FlowEvalSimulationRemove` |
|
|
368
|
+
| `eval simulation add --parent` / `list --parent` / `remove --parent` | `FlowEvalChildSimulationAdd` / `FlowEvalChildSimulationList` / `FlowEvalChildSimulationRemove` |
|
|
369
|
+
| `eval run start` (no `--wait`) | `FlowEvalRunStarted` |
|
|
370
|
+
| `eval run start --wait` (summary) | `FlowEvalRunCompleted` |
|
|
371
|
+
| `eval run status` | `FlowEvalRunStatus` |
|
|
372
|
+
| `eval run results` | `FlowEvalRunResults` |
|
|
373
|
+
| `eval run list` | `FlowEvalRunList` |
|
|
374
|
+
| `eval run compare` | `FlowEvalRunComparison` |
|
|
375
|
+
|
|
376
|
+
The `eval run *` codes dropped their `Maestro` prefix (e.g. `MaestroFlowEvalRunResults` → `FlowEvalRunResults`) to match the rest of the `eval` family. Older CLI versions emit the `Maestro`-prefixed names. If actual emitted codes diverge from the table above, trust the JSON output — file an issue.
|