> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eigenpal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 0.8.0

> EigenPal platform release 0.8.0

## CLI

### Minor Changes

* d620a00: Expose the clean public automation API around automations, runs, files/artifacts, datasets, evaluators, experiments, evaluation results, and run promotion. This intentionally breaks the pre-v1 SDK/CLI surface that exposed workflow- and agent-specific top-level resources outside the explicit legacy compatibility routes.

  > \[!WARNING]
  > **Breaking change (pre-v1).** The workflow- and agent-specific top-level
  > resources have been removed in favor of a single automation-centric surface.
  > These packages are still 0.x, so this breaking redesign ships as a `minor`
  > bump. Update your integration before upgrading.

  #### Removed

  * Top-level workflow resources, e.g. `client.workflows.*`, including
    `client.workflows.executions.runAndWait(...)` and the rest of the
    `client.workflows.executions.*` tree.

  * Top-level agent resources, e.g. `client.agents.*` (runs, reviews, traces,
    files, expected artifacts).

  * Top-level source/git resources, e.g. `client.sources.*`.

    #### New equivalents

  * **Start a run:** use `client.run('workflows.&lt;slug&gt;', input, options)` (and
    `client.run('agents.&lt;slug&gt;', ...)`). In the TypeScript SDK, `run-and-wait`
    is `client.run(target, input, \{ waitForCompletion })`; in the Python SDK use
    `client.run_and_wait(target, input=...)`.

  * **Browse automations** (workflows + agents): `client.automations.list()`,
    `client.automations.get(id)`, `client.automations.versions(id)`,
    `client.automations.triggers(id)`, plus
    `client.automations.dataset|examples|evaluators|experiments.*`.

  * **Inspect & control runs:** `client.runs.list()`, `client.runs.get(id)`,
    `client.runs.cancel(id)`, `client.runs.rerun(id)`, `client.runs.promote(id)`,
    `client.runs.usage(id)`, `client.runs.steps(id)`, `client.runs.events(id)`,
    and `client.runs.artifacts|eval_results|reviews|trace.*`.

  * **Manage reusable files:** `client.files.upload(...)`, `client.files.get(id)`,
    `client.files.download(id)`, `client.files.delete(id)`.

    #### Migration

  * `client.workflows.executions.runAndWait('&lt;slug&gt;', input)` →
    `client.run('workflows.&lt;slug&gt;', input, \{ waitForCompletion })` (TS) /
    `client.run_and_wait('workflows.&lt;slug&gt;', input=...)` (Python).

  * `client.workflows.executions.create('&lt;slug&gt;', input)` →
    `client.run('workflows.&lt;slug&gt;', input)`.

  * `client.agents.runs.create('&lt;slug&gt;', input)` →
    `client.run('agents.&lt;slug&gt;', input)`.

  * `client.workflows.get('&lt;slug&gt;')` / `client.agents.get('&lt;slug&gt;')` →
    `client.automations.get('workflows.&lt;slug&gt;')` /
    `client.automations.get('agents.&lt;slug&gt;')`.

  * Listing/inspecting executions previously under
    `client.workflows.executions.*` / `client.agents.runs.*` →
    `client.runs.*` (e.g. `client.runs.list()`, `client.runs.get(id)`).

  * `eigenpal runs promote` now accepts only `--name` (optional). Use
    `eigenpal runs reviews update` to set corrected JSON before promoting.
    Review and corrected-file commands work for both workflow and agent runs.

    #### DX fixes

  * `client.runs.*` read methods are now typed against the generated OpenAPI
    models; use `isRunFinished()` to narrow `run()` / `rerun()` responses before
    accessing `output`.

  * `eigenpal agents dataset push --file` accepts a `.zip` archive (matching
    `pull` output) as well as a directory.

### Patch Changes

* e2e88d7: Drop the deprecated `git` passthrough and the `completion` helper from the generated CLI reference docs and bundled skill reference. Both commands remain fully functional and discoverable via `--help`.
* e67f2f3: Fix staging QA CLI gaps: resolve profiles by tenant display name (e.g. `EIGENPAL_PROFILE="Timur's org"`) and cap workflow experiment example pagination at the API `limit=100` maximum.

## SDK

### Minor Changes

* d620a00: Expose the clean public automation API around automations, runs, files/artifacts, datasets, evaluators, experiments, evaluation results, and run promotion. This intentionally breaks the pre-v1 SDK/CLI surface that exposed workflow- and agent-specific top-level resources outside the explicit legacy compatibility routes.

  > \[!WARNING]
  > **Breaking change (pre-v1).** The workflow- and agent-specific top-level
  > resources have been removed in favor of a single automation-centric surface.
  > These packages are still 0.x, so this breaking redesign ships as a `minor`
  > bump. Update your integration before upgrading.

  #### Removed

  * Top-level workflow resources, e.g. `client.workflows.*`, including
    `client.workflows.executions.runAndWait(...)` and the rest of the
    `client.workflows.executions.*` tree.

  * Top-level agent resources, e.g. `client.agents.*` (runs, reviews, traces,
    files, expected artifacts).

  * Top-level source/git resources, e.g. `client.sources.*`.

    #### New equivalents

  * **Start a run:** use `client.run('workflows.&lt;slug&gt;', input, options)` (and
    `client.run('agents.&lt;slug&gt;', ...)`). In the TypeScript SDK, `run-and-wait`
    is `client.run(target, input, \{ waitForCompletion })`; in the Python SDK use
    `client.run_and_wait(target, input=...)`.

  * **Browse automations** (workflows + agents): `client.automations.list()`,
    `client.automations.get(id)`, `client.automations.versions(id)`,
    `client.automations.triggers(id)`, plus
    `client.automations.dataset|examples|evaluators|experiments.*`.

  * **Inspect & control runs:** `client.runs.list()`, `client.runs.get(id)`,
    `client.runs.cancel(id)`, `client.runs.rerun(id)`, `client.runs.promote(id)`,
    `client.runs.usage(id)`, `client.runs.steps(id)`, `client.runs.events(id)`,
    and `client.runs.artifacts|eval_results|reviews|trace.*`.

  * **Manage reusable files:** `client.files.upload(...)`, `client.files.get(id)`,
    `client.files.download(id)`, `client.files.delete(id)`.

    #### Migration

  * `client.workflows.executions.runAndWait('&lt;slug&gt;', input)` →
    `client.run('workflows.&lt;slug&gt;', input, \{ waitForCompletion })` (TS) /
    `client.run_and_wait('workflows.&lt;slug&gt;', input=...)` (Python).

  * `client.workflows.executions.create('&lt;slug&gt;', input)` →
    `client.run('workflows.&lt;slug&gt;', input)`.

  * `client.agents.runs.create('&lt;slug&gt;', input)` →
    `client.run('agents.&lt;slug&gt;', input)`.

  * `client.workflows.get('&lt;slug&gt;')` / `client.agents.get('&lt;slug&gt;')` →
    `client.automations.get('workflows.&lt;slug&gt;')` /
    `client.automations.get('agents.&lt;slug&gt;')`.

  * Listing/inspecting executions previously under
    `client.workflows.executions.*` / `client.agents.runs.*` →
    `client.runs.*` (e.g. `client.runs.list()`, `client.runs.get(id)`).

  * `eigenpal runs promote` now accepts only `--name` (optional). Use
    `eigenpal runs reviews update` to set corrected JSON before promoting.
    Review and corrected-file commands work for both workflow and agent runs.

    #### DX fixes

  * `client.runs.*` read methods are now typed against the generated OpenAPI
    models; use `isRunFinished()` to narrow `run()` / `rerun()` responses before
    accessing `output`.

  * `eigenpal agents dataset push --file` accepts a `.zip` archive (matching
    `pull` output) as well as a directory.
