@eigenpal/cli 0.10.4 → 0.10.5
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.
|
@@ -17,6 +17,7 @@ Manage workflows: push, pull, and evaluate.
|
|
|
17
17
|
- [Details](#details)
|
|
18
18
|
- [`eigenpal workflow list|ls [options]`](#eigenpal-workflow-listls-options)
|
|
19
19
|
- [`eigenpal workflow pull [options] <workflow-id>`](#eigenpal-workflow-pull-options-workflow-id)
|
|
20
|
+
- [`eigenpal workflow schema [options] <workflow-id>`](#eigenpal-workflow-schema-options-workflow-id)
|
|
20
21
|
- [`eigenpal workflow push [options]`](#eigenpal-workflow-push-options)
|
|
21
22
|
- [`eigenpal workflow move [options] <workflow-id>`](#eigenpal-workflow-move-options-workflow-id)
|
|
22
23
|
- [`eigenpal workflow validate [options] [path]`](#eigenpal-workflow-validate-options-path)
|
|
@@ -53,6 +54,7 @@ Manage workflows: push, pull, and evaluate.
|
|
|
53
54
|
workflow
|
|
54
55
|
├── list|ls
|
|
55
56
|
├── pull <workflow-id>
|
|
57
|
+
├── schema <workflow-id>
|
|
56
58
|
├── push
|
|
57
59
|
├── move <workflow-id>
|
|
58
60
|
├── evaluators
|
|
@@ -100,6 +102,7 @@ workflow
|
|
|
100
102
|
| ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
101
103
|
| `eigenpal workflow list\|ls [options]` | List workflows the caller can read. |
|
|
102
104
|
| `eigenpal workflow pull [options] <workflow-id>` | Download the YAML definition of the workflow at its current version. |
|
|
105
|
+
| `eigenpal workflow schema [options] <workflow-id>` | Show the inferred output schema for a workflow (what it returns). |
|
|
103
106
|
| `eigenpal workflow push [options]` | Create or update a workflow from a YAML file. |
|
|
104
107
|
| `eigenpal workflow move [options] <workflow-id>` | Move a workflow to a folder path, creating folders as needed |
|
|
105
108
|
| `eigenpal workflow validate [options] [path]` | Local-only validation. Without [path]: runs the templated three-way check (./workflow.yaml + ./evaluators.yaml + ./dataset/). With [path] pointing at a YAML file: validates that workflow.yaml. For per-noun targeting use `evaluators validate` or `dataset validate`. |
|
|
@@ -198,6 +201,24 @@ Download the YAML definition of the workflow at its current version.
|
|
|
198
201
|
| `--out <path>` | no | | Write YAML to file instead of stdout |
|
|
199
202
|
| `--base-url <url>` | no | | Server base URL |
|
|
200
203
|
|
|
204
|
+
### `eigenpal workflow schema [options] <workflow-id>`
|
|
205
|
+
|
|
206
|
+
Show the inferred output schema for a workflow (what it returns).
|
|
207
|
+
|
|
208
|
+
### Arguments
|
|
209
|
+
|
|
210
|
+
| Name | Required | Variadic | Description |
|
|
211
|
+
| ------------- | -------- | -------- | ----------- |
|
|
212
|
+
| `workflow-id` | yes | no | |
|
|
213
|
+
|
|
214
|
+
### Options
|
|
215
|
+
|
|
216
|
+
| Flag | Required | Default | Description |
|
|
217
|
+
| ------------------- | -------- | -------- | ------------------------------- |
|
|
218
|
+
| `--format <format>` | no | `"json"` | json \| typescript \| python |
|
|
219
|
+
| `--out <path>` | no | | Write to file instead of stdout |
|
|
220
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
221
|
+
|
|
201
222
|
### `eigenpal workflow push [options]`
|
|
202
223
|
|
|
203
224
|
Create or update a workflow from a YAML file.
|
|
@@ -243,9 +264,11 @@ Local-only validation. Without [path]: runs the templated three-way check (./wor
|
|
|
243
264
|
|
|
244
265
|
### Options
|
|
245
266
|
|
|
246
|
-
| Flag
|
|
247
|
-
|
|
|
248
|
-
| `--dir <path>`
|
|
267
|
+
| Flag | Required | Default | Description |
|
|
268
|
+
| ------------------ | -------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
269
|
+
| `--dir <path>` | no | | Project root (defaults to cwd; resolves the three default paths from here) |
|
|
270
|
+
| `--online` | no | | Also validate cross-workflow action.invoke-workflow references against the server (needs auth). Catches target-not-found, input type mismatches, missing/unknown input keys, undeclared output, and invoke cycles that local validation cannot see. |
|
|
271
|
+
| `--base-url <url>` | no | | Server base URL |
|
|
249
272
|
|
|
250
273
|
### `eigenpal workflow clear-local [options] [examples...]`
|
|
251
274
|
|
|
@@ -574,7 +574,7 @@ Convert XLSX spreadsheet to JSON array of row objects for use in scripts or down
|
|
|
574
574
|
|
|
575
575
|
| Field | Type | Required | Default | Description |
|
|
576
576
|
| --- | --- | --- | --- | --- |
|
|
577
|
-
| `input` | string | yes | | File input - template expression e.g. {{input.document}} resolving to
|
|
577
|
+
| `input` | string | yes | | File input - template expression e.g. {{input.document}} resolving to a scoped $file artifact at runtime |
|
|
578
578
|
| `sheet` | integer \| string | no | | Sheet to read: 0-based index or sheet name. Omit for first sheet. |
|
|
579
579
|
| `outputCsv` | boolean | no | `false` | If true, also write CSV to storage and include fileId in output |
|
|
580
580
|
| `outputFilename` | string | no | | Output CSV filename when outputCsv is true - supports LiquidJS e.g. {{filename}}.csv |
|
|
@@ -679,14 +679,14 @@ Execute another workflow and return its output
|
|
|
679
679
|
| Field | Type | Required | Default | Description |
|
|
680
680
|
| --- | --- | --- | --- | --- |
|
|
681
681
|
| `workflowId` | string | yes | | ID of workflow to invoke |
|
|
682
|
-
| `input` | record<string, unknown> | no | | Input
|
|
683
|
-
| `wait` | boolean | no | |
|
|
684
|
-
| `timeout` | number | no | | Max wait time in ms when
|
|
685
|
-
| `pollInterval` | number | no | | How often to poll status in ms when
|
|
682
|
+
| `input` | record<string, unknown> | no | | Input record keyed by the invoked workflow's declared inputs |
|
|
683
|
+
| `wait` | boolean | no | | Wait for the invoked workflow to complete and return its output (default: true). Set false for fire-and-forget. |
|
|
684
|
+
| `timeout` | number | no | | Max wait time in ms when waiting (default: 300000) |
|
|
685
|
+
| `pollInterval` | number | no | | How often to poll status in ms when waiting (default: 1000) |
|
|
686
686
|
|
|
687
687
|
**Output:** `record<string, unknown>`
|
|
688
688
|
|
|
689
|
-
>
|
|
689
|
+
> When wait is true, the invoked workflow's declared output fields are flattened to the top level alongside a `files` array — reference them as {{ steps.<invoke>.output.<field> }} (there is no `.data` or `.result` wrapper). When wait is false, execution metadata. Call get_workflow_output_schema to see the exact resolved fields.
|
|
690
690
|
|
|
691
691
|
#### `action.website-reader` — Website Reader
|
|
692
692
|
|
|
@@ -79,10 +79,14 @@ The materialized shape on `triggerInput` is driven by the YAML, not by
|
|
|
79
79
|
how many files the dataset uploaded. Get this wrong and the worker
|
|
80
80
|
sees the opposite shape:
|
|
81
81
|
|
|
82
|
-
| YAML | `triggerInput.<name>` | Template |
|
|
83
|
-
| ------------------------------------------ |
|
|
84
|
-
| `type: file` | `{
|
|
85
|
-
| `type: array`, `items: { type: file }` | `[{
|
|
82
|
+
| YAML | durable `triggerInput.<name>` | Template |
|
|
83
|
+
| ------------------------------------------ | ------------------------------ | --------------------------------------- |
|
|
84
|
+
| `type: file` | `{ "$file": "input/..." }` | `{{ input.<name> }}` |
|
|
85
|
+
| `type: array`, `items: { type: file }` | `[{ "$file": "input/..." }]` | `{{ input.<name>[0] }}` (or `forEach:`) |
|
|
86
|
+
|
|
87
|
+
API/SDK ingress can use `{ "$fileId": "file_..." }`, inline bytes via
|
|
88
|
+
`{ "$inline": { filename, mimeType, base64 } }`, or multipart file parts.
|
|
89
|
+
Eigenpal snapshots those into run-scoped artifacts before execution.
|
|
86
90
|
|
|
87
91
|
If you see `Invalid input ... expected object, received array` from a
|
|
88
92
|
step that takes a single file, the workflow input is `type: file` but
|
|
@@ -474,7 +478,7 @@ _Generated from `WorkflowDefinitionSchema` in `@eigenpal/types/src/workflow/work
|
|
|
474
478
|
| `triggerMethods` | array<object> | no | `[{"type":"manual"}]` | |
|
|
475
479
|
| `inputs` | array<object> | no | | |
|
|
476
480
|
| `steps` | array<unknown> | yes | | |
|
|
477
|
-
| `output` | record<string, string> | no | | |
|
|
481
|
+
| `output` | record<string, string> \| string | no | | |
|
|
478
482
|
| `settings` | object | no | | |
|
|
479
483
|
| `defaultModel` | string | no | | |
|
|
480
484
|
|