@eigenpal/cli 0.6.9 → 0.6.10

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.
@@ -1,6 +1,6 @@
1
1
  # eigenpal init
2
2
 
3
- Scaffold a new workflow project. Without `[name]`, scaffolds into the current directory using the cwd basename as the workflow name. With `[name]`, creates `./<name>/` and uses that as the slug. The flat layout matches what `workflow execution run <slug>` already discovers — no manual file moves.
3
+ Scaffold a new workflow project. Without `[name]`, scaffolds into the current directory using the cwd basename as the workflow name. With `[name]`, creates `./<name>/` and uses that as the slug. The flat layout matches what `workflow run <slug>` already discovers — no manual file moves.
4
4
 
5
5
  ## Contents
6
6
 
@@ -0,0 +1,481 @@
1
+ # eigenpal runs
2
+
3
+ Inspect, watch, and manage workflow, agent, and eval runs.
4
+
5
+ ## Contents
6
+
7
+ - [Surface](#surface)
8
+ - [Commands](#commands)
9
+ - [Core](#core)
10
+ - [Artifacts](#artifacts)
11
+ - [Feedback](#feedback)
12
+ - [Expected](#expected)
13
+ - [Details](#details)
14
+ - [`eigenpal runs list|ls [options] [source]`](#eigenpal-runs-listls-options-source)
15
+ - [`eigenpal runs get [options] <run-id>`](#eigenpal-runs-get-options-run-id)
16
+ - [`eigenpal runs compare|diff [options] <reference-run-id> <run-id>`](#eigenpal-runs-comparediff-options-reference-run-id-run-id)
17
+ - [`eigenpal runs rerun [options] <run-id>`](#eigenpal-runs-rerun-options-run-id)
18
+ - [`eigenpal runs trace [options] <run-id>`](#eigenpal-runs-trace-options-run-id)
19
+ - [`eigenpal runs watch [options] <run-id>`](#eigenpal-runs-watch-options-run-id)
20
+ - [`eigenpal runs resume [options] <run-id>`](#eigenpal-runs-resume-options-run-id)
21
+ - [`eigenpal runs cancel [options] <run-id>`](#eigenpal-runs-cancel-options-run-id)
22
+ - [`eigenpal runs artifacts|artifact list|ls [options] <run-id>`](#eigenpal-runs-artifactsartifact-listls-options-run-id)
23
+ - [`eigenpal runs artifacts|artifact fetch [options] <run-id>`](#eigenpal-runs-artifactsartifact-fetch-options-run-id)
24
+ - [`eigenpal runs feedback|fb update [options] <run-id>`](#eigenpal-runs-feedbackfb-update-options-run-id)
25
+ - [`eigenpal runs feedback|fb resolve [options] <run-id>`](#eigenpal-runs-feedbackfb-resolve-options-run-id)
26
+ - [`eigenpal runs feedback|fb clear [options] <run-id>`](#eigenpal-runs-feedbackfb-clear-options-run-id)
27
+ - [`eigenpal runs expected list|ls [options] <run-id>`](#eigenpal-runs-expected-listls-options-run-id)
28
+ - [`eigenpal runs expected pull [options] <run-id>`](#eigenpal-runs-expected-pull-options-run-id)
29
+ - [`eigenpal runs expected upload [options] <run-id> <file>`](#eigenpal-runs-expected-upload-options-run-id-file)
30
+ - [`eigenpal runs expected copy-output [options] <run-id> <output-file>`](#eigenpal-runs-expected-copy-output-options-run-id-output-file)
31
+ - [`eigenpal runs expected rename [options] <run-id> <old-name> <new-name>`](#eigenpal-runs-expected-rename-options-run-id-old-name-new-name)
32
+ - [`eigenpal runs expected delete [options] <run-id> <name>`](#eigenpal-runs-expected-delete-options-run-id-name)
33
+
34
+ ## Surface
35
+
36
+ ```
37
+ runs
38
+ ├── list|ls [source]
39
+ ├── get <run-id>
40
+ ├── compare|diff <reference-run-id> <run-id>
41
+ ├── rerun <run-id>
42
+ ├── artifacts|artifact
43
+ │ ├── list|ls <run-id>
44
+ │ └── fetch <run-id>
45
+ ├── trace <run-id>
46
+ ├── feedback|fb
47
+ │ ├── update <run-id>
48
+ │ ├── resolve <run-id>
49
+ │ └── clear <run-id>
50
+ ├── expected
51
+ │ ├── list|ls <run-id>
52
+ │ ├── pull <run-id>
53
+ │ ├── upload <run-id> <file>
54
+ │ ├── copy-output <run-id> <output-file>
55
+ │ ├── rename <run-id> <old-name> <new-name>
56
+ │ └── delete <run-id> <name>
57
+ ├── watch <run-id>
58
+ ├── resume <run-id>
59
+ └── cancel <run-id>
60
+ ```
61
+
62
+ ## Commands
63
+
64
+ ### Core
65
+
66
+ | Command | Description |
67
+ | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
68
+ | `eigenpal runs list\|ls [options] [source]` | List runs across workflows and agents, optionally scoped to one source. |
69
+ | `eigenpal runs get [options] <run-id>` | Get one run. |
70
+ | `eigenpal runs compare\|diff [options] <reference-run-id> <run-id>` | Compare one run against another run. PDF/DOCX text comparison uses pdftotext/python3 and reports byte fallbacks. |
71
+ | `eigenpal runs rerun [options] <run-id>` | Create a new run from a previous run's stored input snapshot. |
72
+ | `eigenpal runs trace [options] <run-id>` | Print raw trace.jsonl for a run, or write it with --out. |
73
+ | `eigenpal runs watch [options] <run-id>` | Watch a run until it reaches a terminal status. |
74
+ | `eigenpal runs resume [options] <run-id>` | Resume a workflow run that is waiting for approval. |
75
+ | `eigenpal runs cancel [options] <run-id>` | Cancel a run. |
76
+
77
+ ### Artifacts
78
+
79
+ | Command | Description |
80
+ | --------------------------------------------------------------- | ------------------------------------------------------------ |
81
+ | `eigenpal runs artifacts\|artifact list\|ls [options] <run-id>` | List available agent run artifacts without downloading them. |
82
+ | `eigenpal runs artifacts\|artifact fetch [options] <run-id>` | Download agent run artifacts by canonical artifact path. |
83
+
84
+ ### Feedback
85
+
86
+ | Command | Description |
87
+ | ------------------------------------------------------- | ----------------------------------------------------------------- |
88
+ | `eigenpal runs feedback\|fb update [options] <run-id>` | Edit feedback state, rating, message, or expected JSON for a run. |
89
+ | `eigenpal runs feedback\|fb resolve [options] <run-id>` | Mark run feedback as resolved. |
90
+ | `eigenpal runs feedback\|fb clear [options] <run-id>` | Delete feedback, expected.json, and expected files for a run. |
91
+
92
+ ### Expected
93
+
94
+ | Command | Description |
95
+ | ------------------------------------------------------------------------ | ----------------------------------------------------- |
96
+ | `eigenpal runs expected list\|ls [options] <run-id>` | List expected JSON and files attached to a run. |
97
+ | `eigenpal runs expected pull [options] <run-id>` | Download expected JSON and files attached to a run. |
98
+ | `eigenpal runs expected upload [options] <run-id> <file>` | Upload a local file as an expected artifact. |
99
+ | `eigenpal runs expected copy-output [options] <run-id> <output-file>` | Copy a generated output file into expected artifacts. |
100
+ | `eigenpal runs expected rename [options] <run-id> <old-name> <new-name>` | Rename an expected artifact. |
101
+ | `eigenpal runs expected delete [options] <run-id> <name>` | Delete an expected artifact. |
102
+
103
+ ## Details
104
+
105
+ ### `eigenpal runs list|ls [options] [source]`
106
+
107
+ List runs across workflows and agents, optionally scoped to one source.
108
+
109
+ ### Arguments
110
+
111
+ | Name | Required | Variadic | Description |
112
+ | -------- | -------- | -------- | ----------- |
113
+ | `source` | no | no | |
114
+
115
+ ### Options
116
+
117
+ | Flag | Required | Default | Description |
118
+ | ------------------------------ | -------- | ------- | --------------------------------------------------------- |
119
+ | `--base-url <url>` | no | | Server base URL |
120
+ | `--limit <n>` | no | `50` | Page size |
121
+ | `--offset <n>` | no | `0` | Page offset |
122
+ | `--json` | no | | Output the raw server response as JSON |
123
+ | `--type <type>` | no | | Filter by run type: workflow\|agent |
124
+ | `--status <status>` | no | | Filter by run status |
125
+ | `--source-ref <ref>` | no | | Filter agent runs by source ref |
126
+ | `--batch-id <id>` | no | | Filter eval/experiment runs by batch id |
127
+ | `--example-id <id>` | no | | Filter eval runs by example id |
128
+ | `--example-id-contains <text>` | no | | Filter eval runs by example id substring |
129
+ | `--from <date>` | no | | Created at or after this ISO timestamp or relative date |
130
+ | `--to <date>` | no | | Created before this ISO timestamp or relative date |
131
+ | `--created-after <date>` | no | | Alias for --from |
132
+ | `--created-before <date>` | no | | Alias for --to |
133
+ | `--completed-after <date>` | no | | Completed at or after this ISO timestamp or relative date |
134
+ | `--completed-before <date>` | no | | Completed before this ISO timestamp or relative date |
135
+ | `--compact` | no | | Render compact run rows |
136
+ | `--sort <field>` | no | | Sort field; only createdAt is supported |
137
+ | `--order <asc\|desc>` | no | | Sort order; only desc is supported |
138
+
139
+ ### `eigenpal runs get [options] <run-id>`
140
+
141
+ Get one run.
142
+
143
+ ### Arguments
144
+
145
+ | Name | Required | Variadic | Description |
146
+ | -------- | -------- | -------- | ----------- |
147
+ | `run-id` | yes | no | |
148
+
149
+ ### Options
150
+
151
+ | Flag | Required | Default | Description |
152
+ | ------------------- | -------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------ |
153
+ | `--base-url <url>` | no | | Server base URL |
154
+ | `--json` | no | | Output the raw server response as JSON |
155
+ | `--step <name>` | no | | For workflow runs, show only this step (or comma-separated list) |
156
+ | `--include <parts>` | no | `"feedback"` | Comma-separated extra parts or workflow step fields: feedback,expected,files,trace,issues,input,output,error,duration,inputRef |
157
+
158
+ ### `eigenpal runs compare|diff [options] <reference-run-id> <run-id>`
159
+
160
+ Compare one run against another run. PDF/DOCX text comparison uses pdftotext/python3 and reports byte fallbacks.
161
+
162
+ ### Arguments
163
+
164
+ | Name | Required | Variadic | Description |
165
+ | ------------------ | -------- | -------- | ----------- |
166
+ | `reference-run-id` | yes | no | |
167
+ | `run-id` | yes | no | |
168
+
169
+ ### Options
170
+
171
+ | Flag | Required | Default | Description |
172
+ | ------------------- | -------- | ------- | ------------------------------------------------------------------- |
173
+ | `--base-url <url>` | no | | Server base URL |
174
+ | `--json` | no | | Output the raw server response as JSON |
175
+ | `--baseline` | no | | Compare actual outputs from both runs instead of expected artifacts |
176
+ | `--step <name>` | no | | For workflow runs, restrict comparison to one step |
177
+ | `--out <dir>` | no | | Write comparison artifacts to this directory |
178
+ | `--normalize-dates` | no | | Normalize YYYYMMDD and YYYY-MM-DD tokens in filenames/text |
179
+ | `--fail-on-diff` | no | | Exit 1 when comparison status is fail |
180
+
181
+ ### `eigenpal runs rerun [options] <run-id>`
182
+
183
+ Create a new run from a previous run's stored input snapshot.
184
+
185
+ ### Arguments
186
+
187
+ | Name | Required | Variadic | Description |
188
+ | -------- | -------- | -------- | ----------- |
189
+ | `run-id` | yes | no | |
190
+
191
+ ### Options
192
+
193
+ | Flag | Required | Default | Description |
194
+ | ---------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
195
+ | `--base-url <url>` | no | | Server base URL |
196
+ | `--json` | no | | Output the raw server response as JSON |
197
+ | `--source-ref <ref>` | no | | Source ref for the new run: latest (default) or original. Workflow runs support only latest/original. |
198
+ | `--wait` | no | | Poll until the rerun reaches a terminal status |
199
+ | `--interval <seconds>` | no | `2` | Polling interval in seconds |
200
+ | `--max-wait <seconds>` | no | `1800` | Maximum wait before exiting 2 |
201
+
202
+ ### `eigenpal runs trace [options] <run-id>`
203
+
204
+ Print raw trace.jsonl for a run, or write it with --out.
205
+
206
+ ### Arguments
207
+
208
+ | Name | Required | Variadic | Description |
209
+ | -------- | -------- | -------- | ----------- |
210
+ | `run-id` | yes | no | |
211
+
212
+ ### Options
213
+
214
+ | Flag | Required | Default | Description |
215
+ | ------------------ | -------- | ------- | ---------------- |
216
+ | `--base-url <url>` | no | | Server base URL |
217
+ | `--out <file>` | no | | Output file path |
218
+
219
+ ### `eigenpal runs watch [options] <run-id>`
220
+
221
+ Watch a run until it reaches a terminal status.
222
+
223
+ ### Arguments
224
+
225
+ | Name | Required | Variadic | Description |
226
+ | -------- | -------- | -------- | ----------- |
227
+ | `run-id` | yes | no | |
228
+
229
+ ### Options
230
+
231
+ | Flag | Required | Default | Description |
232
+ | ---------------------- | -------- | ------- | -------------------------------------- |
233
+ | `--base-url <url>` | no | | Server base URL |
234
+ | `--json` | no | | Output the raw server response as JSON |
235
+ | `--interval <seconds>` | no | `2` | Polling interval in seconds |
236
+ | `--max-wait <seconds>` | no | `1800` | Maximum wait before exiting 2 |
237
+
238
+ ### `eigenpal runs resume [options] <run-id>`
239
+
240
+ Resume a workflow run that is waiting for approval.
241
+
242
+ ### Arguments
243
+
244
+ | Name | Required | Variadic | Description |
245
+ | -------- | -------- | -------- | ----------- |
246
+ | `run-id` | yes | no | |
247
+
248
+ ### Options
249
+
250
+ | Flag | Required | Default | Description |
251
+ | ------------------ | -------- | ------- | -------------------------------------- |
252
+ | `--base-url <url>` | no | | Server base URL |
253
+ | `--json` | no | | Output the raw server response as JSON |
254
+
255
+ ### `eigenpal runs cancel [options] <run-id>`
256
+
257
+ Cancel a run.
258
+
259
+ ### Arguments
260
+
261
+ | Name | Required | Variadic | Description |
262
+ | -------- | -------- | -------- | ----------- |
263
+ | `run-id` | yes | no | |
264
+
265
+ ### Options
266
+
267
+ | Flag | Required | Default | Description |
268
+ | ------------------ | -------- | ------- | ---------------------------------------- |
269
+ | `--base-url <url>` | no | | Server base URL |
270
+ | `--json` | no | | Output the raw server response as JSON |
271
+ | `--yes` | no | | Required in non-interactive environments |
272
+
273
+ ### `eigenpal runs artifacts|artifact list|ls [options] <run-id>`
274
+
275
+ List available agent run artifacts without downloading them.
276
+
277
+ ### Arguments
278
+
279
+ | Name | Required | Variadic | Description |
280
+ | -------- | -------- | -------- | ----------- |
281
+ | `run-id` | yes | no | |
282
+
283
+ ### Options
284
+
285
+ | Flag | Required | Default | Description |
286
+ | ------------------ | -------- | ------- | -------------------------------------- |
287
+ | `--base-url <url>` | no | | Server base URL |
288
+ | `--json` | no | | Output the raw server response as JSON |
289
+
290
+ ### `eigenpal runs artifacts|artifact fetch [options] <run-id>`
291
+
292
+ Download agent run artifacts by canonical artifact path.
293
+
294
+ ### Arguments
295
+
296
+ | Name | Required | Variadic | Description |
297
+ | -------- | -------- | -------- | ----------- |
298
+ | `run-id` | yes | no | |
299
+
300
+ ### Options
301
+
302
+ | Flag | Required | Default | Description |
303
+ | ------------------- | -------- | ------- | ------------------------------------------------------------------------------- |
304
+ | `--base-url <url>` | no | | Server base URL |
305
+ | `--out <dir>` | no | | Output directory |
306
+ | `--include <parts>` | no | `"all"` | Comma-separated parts: output,input,metadata,issues,trace,lockfile,expected,all |
307
+ | `--path <path>` | no | `[]` | Fetch one exact artifact path from `artifacts list`; repeatable |
308
+ | `--json` | no | | Output a JSON summary of written artifacts |
309
+
310
+ ### `eigenpal runs feedback|fb update [options] <run-id>`
311
+
312
+ Edit feedback state, rating, message, or expected JSON for a run.
313
+
314
+ ### Arguments
315
+
316
+ | Name | Required | Variadic | Description |
317
+ | -------- | -------- | -------- | ----------- |
318
+ | `run-id` | yes | no | |
319
+
320
+ ### Options
321
+
322
+ | Flag | Required | Default | Description |
323
+ | -------------------------------------- | -------- | ------- | ----------------------------------------- |
324
+ | `--base-url <url>` | no | | Server base URL |
325
+ | `--json` | no | | Output the raw server response as JSON |
326
+ | `--status <open\|resolved\|ignored>` | no | | Set feedback status |
327
+ | `--rating <pass\|fail\|partial\|none>` | no | | Set feedback rating |
328
+ | `--message <text>` | no | | Set feedback message body |
329
+ | `--message-file <path>` | no | | Read feedback message body from a file |
330
+ | `--expected-json <json>` | no | | Set structured expected JSON |
331
+ | `--expected-json-file <path>` | no | | Read structured expected JSON from a file |
332
+ | `--clear-message` | no | | Clear the feedback message body |
333
+ | `--clear-rating` | no | | Clear feedback rating |
334
+ | `--clear-expected-json` | no | | Delete structured expected JSON |
335
+
336
+ ### `eigenpal runs feedback|fb resolve [options] <run-id>`
337
+
338
+ Mark run feedback as resolved.
339
+
340
+ ### Arguments
341
+
342
+ | Name | Required | Variadic | Description |
343
+ | -------- | -------- | -------- | ----------- |
344
+ | `run-id` | yes | no | |
345
+
346
+ ### Options
347
+
348
+ | Flag | Required | Default | Description |
349
+ | ----------------------- | -------- | ------- | -------------------------------------- |
350
+ | `--base-url <url>` | no | | Server base URL |
351
+ | `--json` | no | | Output the raw server response as JSON |
352
+ | `--message <text>` | no | | Set feedback message body |
353
+ | `--message-file <path>` | no | | Read feedback message body from a file |
354
+
355
+ ### `eigenpal runs feedback|fb clear [options] <run-id>`
356
+
357
+ Delete feedback, expected.json, and expected files for a run.
358
+
359
+ ### Arguments
360
+
361
+ | Name | Required | Variadic | Description |
362
+ | -------- | -------- | -------- | ----------- |
363
+ | `run-id` | yes | no | |
364
+
365
+ ### Options
366
+
367
+ | Flag | Required | Default | Description |
368
+ | ------------------ | -------- | ------- | ---------------------------------------- |
369
+ | `--base-url <url>` | no | | Server base URL |
370
+ | `--json` | no | | Output the raw server response as JSON |
371
+ | `--yes` | no | | Required in non-interactive environments |
372
+
373
+ ### `eigenpal runs expected list|ls [options] <run-id>`
374
+
375
+ List expected JSON and files attached to a run.
376
+
377
+ ### Arguments
378
+
379
+ | Name | Required | Variadic | Description |
380
+ | -------- | -------- | -------- | ----------- |
381
+ | `run-id` | yes | no | |
382
+
383
+ ### Options
384
+
385
+ | Flag | Required | Default | Description |
386
+ | ------------------ | -------- | ------- | -------------------------------------- |
387
+ | `--base-url <url>` | no | | Server base URL |
388
+ | `--json` | no | | Output the raw server response as JSON |
389
+
390
+ ### `eigenpal runs expected pull [options] <run-id>`
391
+
392
+ Download expected JSON and files attached to a run.
393
+
394
+ ### Arguments
395
+
396
+ | Name | Required | Variadic | Description |
397
+ | -------- | -------- | -------- | ----------- |
398
+ | `run-id` | yes | no | |
399
+
400
+ ### Options
401
+
402
+ | Flag | Required | Default | Description |
403
+ | ------------------ | -------- | ------- | ---------------- |
404
+ | `--base-url <url>` | no | | Server base URL |
405
+ | `--out <dir>` | no | | Output directory |
406
+
407
+ ### `eigenpal runs expected upload [options] <run-id> <file>`
408
+
409
+ Upload a local file as an expected artifact.
410
+
411
+ ### Arguments
412
+
413
+ | Name | Required | Variadic | Description |
414
+ | -------- | -------- | -------- | ----------- |
415
+ | `run-id` | yes | no | |
416
+ | `file` | yes | no | |
417
+
418
+ ### Options
419
+
420
+ | Flag | Required | Default | Description |
421
+ | ------------------ | -------- | ------- | -------------------------------------- |
422
+ | `--base-url <url>` | no | | Server base URL |
423
+ | `--json` | no | | Output the raw server response as JSON |
424
+ | `--name <name>` | no | | Expected artifact name |
425
+
426
+ ### `eigenpal runs expected copy-output [options] <run-id> <output-file>`
427
+
428
+ Copy a generated output file into expected artifacts.
429
+
430
+ ### Arguments
431
+
432
+ | Name | Required | Variadic | Description |
433
+ | ------------- | -------- | -------- | ----------- |
434
+ | `run-id` | yes | no | |
435
+ | `output-file` | yes | no | |
436
+
437
+ ### Options
438
+
439
+ | Flag | Required | Default | Description |
440
+ | ------------------ | -------- | ------- | -------------------------------------- |
441
+ | `--base-url <url>` | no | | Server base URL |
442
+ | `--json` | no | | Output the raw server response as JSON |
443
+ | `--name <name>` | no | | Expected artifact name |
444
+
445
+ ### `eigenpal runs expected rename [options] <run-id> <old-name> <new-name>`
446
+
447
+ Rename an expected artifact.
448
+
449
+ ### Arguments
450
+
451
+ | Name | Required | Variadic | Description |
452
+ | ---------- | -------- | -------- | ----------- |
453
+ | `run-id` | yes | no | |
454
+ | `old-name` | yes | no | |
455
+ | `new-name` | yes | no | |
456
+
457
+ ### Options
458
+
459
+ | Flag | Required | Default | Description |
460
+ | ------------------ | -------- | ------- | -------------------------------------- |
461
+ | `--base-url <url>` | no | | Server base URL |
462
+ | `--json` | no | | Output the raw server response as JSON |
463
+
464
+ ### `eigenpal runs expected delete [options] <run-id> <name>`
465
+
466
+ Delete an expected artifact.
467
+
468
+ ### Arguments
469
+
470
+ | Name | Required | Variadic | Description |
471
+ | -------- | -------- | -------- | ----------- |
472
+ | `run-id` | yes | no | |
473
+ | `name` | yes | no | |
474
+
475
+ ### Options
476
+
477
+ | Flag | Required | Default | Description |
478
+ | ------------------ | -------- | ------- | ---------------------------------------- |
479
+ | `--base-url <url>` | no | | Server base URL |
480
+ | `--json` | no | | Output the raw server response as JSON |
481
+ | `--yes` | no | | Required in non-interactive environments |
@@ -0,0 +1,135 @@
1
+ # eigenpal CLI surface
2
+
3
+ Generated from the live Commander command tree in `packages/cli/src/cli.ts`. Do not edit this file by hand; run `bun run --cwd packages/cli generate`.
4
+
5
+ ```
6
+ eigenpal
7
+ ├── status
8
+ ├── init [name]
9
+ │ └── workflow <name>
10
+ ├── auth
11
+ │ ├── login
12
+ │ ├── logout [profile]
13
+ │ ├── list|ls
14
+ │ └── use [profile]
15
+ ├── workflow
16
+ │ ├── list|ls
17
+ │ ├── pull <workflow-id>
18
+ │ ├── push
19
+ │ ├── move <workflow-id>
20
+ │ ├── evaluators
21
+ │ │ ├── pull <workflow-id>
22
+ │ │ ├── push <workflow-id>
23
+ │ │ └── validate [path]
24
+ │ ├── dataset
25
+ │ │ ├── list|ls <workflow-id>
26
+ │ │ ├── pull <workflow-id>
27
+ │ │ ├── push <workflow-id>
28
+ │ │ ├── example
29
+ │ │ │ ├── create <workflow-id>
30
+ │ │ │ ├── update <workflow-id> <exampleId>
31
+ │ │ │ ├── delete <workflow-id> <exampleId>
32
+ │ │ │ └── get <workflow-id> <exampleId>
33
+ │ │ └── validate [path]
34
+ │ ├── experiment|exp
35
+ │ │ ├── list|ls <workflow-id>
36
+ │ │ ├── run <workflow-id>
37
+ │ │ ├── status <workflow-id> <batchId>
38
+ │ │ ├── cancel <workflow-id> <batchId>
39
+ │ │ ├── results <workflow-id> [batchId]
40
+ │ │ ├── compare|diff <batchIdA> <batchIdB>
41
+ │ │ └── watch <workflow-id> <batchId>
42
+ │ ├── run <workflow-id> [examples...]
43
+ │ ├── versions
44
+ │ │ ├── list|ls <workflow-id>
45
+ │ │ └── restore <workflow-id> <versionId>
46
+ │ ├── step-type
47
+ │ │ ├── list|ls
48
+ │ │ └── get <type>
49
+ │ ├── evaluator-type
50
+ │ │ ├── list|ls
51
+ │ │ └── get <type>
52
+ │ ├── validate [path]
53
+ │ ├── clear-local [examples...]
54
+ │ └── step
55
+ │ └── exec <type>
56
+ ├── agents
57
+ │ ├── run <target>
58
+ │ ├── list|ls
59
+ │ ├── file
60
+ │ │ ├── list|ls <agent-id-or-slug>
61
+ │ │ ├── get <agent-id-or-slug> <remote-path>
62
+ │ │ └── diff <agent-id-or-slug> <remote-path> <local-path>
63
+ │ ├── validate [dir]
64
+ │ ├── clone
65
+ │ ├── install [packageRef]
66
+ │ ├── init <name>
67
+ │ ├── pull
68
+ │ ├── commit
69
+ │ ├── save
70
+ │ ├── push
71
+ │ ├── upgrade
72
+ │ ├── doctor
73
+ │ ├── status
74
+ │ ├── deps
75
+ │ ├── clean
76
+ │ ├── show <automation>
77
+ │ ├── versions <package>
78
+ │ ├── release <version> [dir]
79
+ │ ├── sync [automation]
80
+ │ ├── secret
81
+ │ │ ├── set <name>
82
+ │ │ ├── unset <name>
83
+ │ │ └── import <env-file>
84
+ │ ├── dataset
85
+ │ │ ├── list|ls <agent-id-or-slug>
86
+ │ │ ├── push <agent-id-or-slug>
87
+ │ │ ├── pull <agent-id-or-slug>
88
+ │ │ └── validate [path]
89
+ │ ├── experiment|exp
90
+ │ │ ├── run <agent-id-or-slug>
91
+ │ │ ├── status <agent-id-or-slug> <batch-id>
92
+ │ │ ├── results <agent-id-or-slug> [batch-id]
93
+ │ │ ├── list|ls <agent-id-or-slug>
94
+ │ │ ├── compare|diff <batch-id-a> <batch-id-b>
95
+ │ │ └── cancel <agent-id-or-slug> <batch-id>
96
+ │ ├── session
97
+ │ │ ├── list|ls <agent-id-or-slug>
98
+ │ │ ├── get <session-id>
99
+ │ │ ├── start <agent-id-or-slug>
100
+ │ │ ├── message <session-id>
101
+ │ │ └── stop <session-id>
102
+ │ ├── env
103
+ │ │ └── pull [target]
104
+ │ └── secrets
105
+ │ └── export [target]
106
+ ├── runs
107
+ │ ├── list|ls [source]
108
+ │ ├── get <run-id>
109
+ │ ├── compare|diff <reference-run-id> <run-id>
110
+ │ ├── rerun <run-id>
111
+ │ ├── artifacts|artifact
112
+ │ │ ├── list|ls <run-id>
113
+ │ │ └── fetch <run-id>
114
+ │ ├── trace <run-id>
115
+ │ ├── feedback|fb
116
+ │ │ ├── update <run-id>
117
+ │ │ ├── resolve <run-id>
118
+ │ │ └── clear <run-id>
119
+ │ ├── expected
120
+ │ │ ├── list|ls <run-id>
121
+ │ │ ├── pull <run-id>
122
+ │ │ ├── upload <run-id> <file>
123
+ │ │ ├── copy-output <run-id> <output-file>
124
+ │ │ ├── rename <run-id> <old-name> <new-name>
125
+ │ │ └── delete <run-id> <name>
126
+ │ ├── watch <run-id>
127
+ │ ├── resume <run-id>
128
+ │ └── cancel <run-id>
129
+ ├── git [gitArgs...]
130
+ ├── completion <shell>
131
+ └── skill
132
+ ├── install
133
+ ├── uninstall [toolIds...]
134
+ └── list|ls
135
+ ```