@eigenpal/cli 0.10.17 → 0.10.19

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.
@@ -25,7 +25,7 @@ implement at runtime. Server-side validation errors point you here.
25
25
  - `transform.*` — deterministic data transforms (set, remove, combine, split, merge,
26
26
  script, template, pdf-embed, xlsx-to-json). WASM sandboxed where applicable.
27
27
  - `action.*` — external side effects (HTTP, invoke another workflow, website reader).
28
- - `control.*` — flow control (if, foreach, parallel, parallel_map, wait, block, fail).
28
+ - `control.*` — flow control (if, foreach, parallel, parallel_map, wait, fail).
29
29
 
30
30
  The full per-type catalog with field tables is auto-generated below from
31
31
  `STEP_SCHEMAS`. The high-level map above tells you which family you want;
@@ -105,7 +105,7 @@ Reference user-supplied schema fields the same way:
105
105
  ## Control containers — nested step shape and scoping
106
106
 
107
107
  `control.parallel`, `control.parallel_map`, `control.foreach`, `control.if`,
108
- and `control.block` contain nested steps. The auto-generated catalog below
108
+ and inline `action.invoke-workflow` (`execution: inline`) contain nested steps. The auto-generated catalog below
109
109
  cannot render that shape, so the YAML form lives here. Same for the scoping
110
110
  rules — important because the runtime treats nested steps differently from
111
111
  top-level ones, and getting the access path wrong silently returns
@@ -285,19 +285,23 @@ scopes), but the template breaks the moment the OTHER branch runs. Use
285
285
  `steps.<if>.output.result` so the access is branch-agnostic — or compute
286
286
  the final shape in a trailing `transform.script` that handles both cases.
287
287
 
288
- ### `control.block` — call a reusable workflow block
288
+ ### `action.invoke-workflow` (inline) — call another workflow in the same run
289
289
 
290
290
  ```yaml
291
291
  - name: invoice-flow
292
- type: control.block
293
- blockName: parse-invoice # other workflow's `name:`
294
- inputs:
295
- contract: '{{ input.contract }}'
292
+ type: action.invoke-workflow
293
+ with:
294
+ workflow: parse-invoice # target workflow name or wf_ id
295
+ execution: inline # default; omit for same-run execution
296
+ input:
297
+ contract: '{{ input.contract }}'
296
298
  ```
297
299
 
298
- **Access the output:** the block's declared output fields are exposed as
299
- top-level keys under `steps.<this-step>.output`. Block-internal steps are
300
- not visible — the block runs in an isolated scope.
300
+ **Access the output:** the target's declared output fields are exposed as
301
+ top-level keys under `steps.<this-step>.output`, with a `files` array alongside.
302
+ Invoked workflow steps run in an isolated scope inside the parent run.
303
+
304
+ For a separate child run (lineage, fire-and-forget, polling), set `execution: child`.
301
305
 
302
306
  ## Classify-and-fail pattern
303
307
 
@@ -705,11 +709,13 @@ Execute another workflow and return its output
705
709
 
706
710
  | Field | Type | Required | Default | Description |
707
711
  | --- | --- | --- | --- | --- |
708
- | `workflowId` | string | yes | | ID of workflow to invoke |
712
+ | `workflow` | string | no | | Workflow to invoke — definition name or wf_ id (tenant-scoped) |
713
+ | `workflowId` | string | no | | Legacy alias for workflow when the value is a wf_ id |
714
+ | `execution` | `"inline"` \| `"child"` | no | | inline: run target steps in this execution (default). child: spawn a separate run with lineage. |
709
715
  | `input` | record<string, unknown> | no | | Input record keyed by the invoked workflow's declared inputs |
710
- | `wait` | boolean | no | | Wait for the invoked workflow to complete and return its output (default: true). Set false for fire-and-forget. |
711
- | `timeout` | number | no | | Max wait time in ms when waiting (default: 300000) |
712
- | `pollInterval` | number | no | | How often to poll status in ms when waiting (default: 1000) |
716
+ | `wait` | boolean | no | | Child mode only. Wait for the invoked workflow to complete and return its output (default: true). Set false for fire-and-forget. |
717
+ | `timeout` | number | no | | Child mode only. Max wait time in ms when waiting (default: 300000) |
718
+ | `pollInterval` | number | no | | Child mode only. How often to poll status in ms when waiting (default: 1000) |
713
719
 
714
720
  **Output:** `record<string, unknown>`
715
721
 
@@ -847,21 +853,6 @@ Pause workflow execution for a specified duration
847
853
  | --- | --- | --- | --- | --- |
848
854
  | `waited` | number | yes | | Actual milliseconds waited |
849
855
 
850
- #### `control.block` — Block
851
-
852
- Execute a reusable block workflow inline with input/output mapping
853
-
854
- **Config** (at step level):
855
-
856
- | Field | Type | Required | Default | Description |
857
- | --- | --- | --- | --- | --- |
858
- | `blockName` | string | yes | | Name of the block to execute |
859
- | `inputs` | record<string, unknown> | no | | Input mapping for the block |
860
-
861
- **Output:** `record<string, unknown>`
862
-
863
- > Output from block's declared output mapping
864
-
865
856
  #### `control.fail` — Fail
866
857
 
867
858
  Terminate the workflow with a typed status code + message. With an optional condition, only fails when the condition is truthy; otherwise always fails when reached. Pair with ai.classify or any prior step to fail fast on bad inputs.
@@ -471,7 +471,7 @@ _Generated from `WorkflowDefinitionSchema` in `@eigenpal/types/src/workflow/work
471
471
  | Field | Type | Required | Default | Description |
472
472
  | --- | --- | --- | --- | --- |
473
473
  | `name` | string | yes | | |
474
- | `kind` | `"workflow"` \| `"block"` | no | `"workflow"` | |
474
+ | `kind` | `"workflow"` | no | `"workflow"` | |
475
475
  | `version` | string | no | `"1.0.0"` | |
476
476
  | `description` | string | no | | |
477
477
  | `enabled` | boolean | no | `true` | |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eigenpal/cli",
3
- "version": "0.10.17",
3
+ "version": "0.10.19",
4
4
  "description": "Eigenpal CLI — author and run document workflows from your terminal. Agent-ready.",
5
5
  "keywords": [
6
6
  "eigenpal",