@usearazzo/runner 1.0.1-alpha.20 → 1.0.1-alpha.22

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/CHANGELOG.md CHANGED
@@ -3,6 +3,31 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.0.1-alpha.22](https://github.com/usearazzo/arazzo-toolkit/compare/v1.0.1-alpha.21...v1.0.1-alpha.22) (2026-11-04)
7
+
8
+ ### Bug Fixes
9
+
10
+ - **runner:** attribute workflow-not-found to the referencing step ([#316](https://github.com/usearazzo/arazzo-toolkit/issues/316)) ([fe4340f](https://github.com/usearazzo/arazzo-toolkit/commit/fe4340f91a7dfda63fac59a94c96f463111185ef)), closes [#resolveWorkflow](https://github.com/usearazzo/arazzo-toolkit/issues/resolveWorkflow) [#dependencyRefs](https://github.com/usearazzo/arazzo-toolkit/issues/dependencyRefs) [#runReferencedWorkflow](https://github.com/usearazzo/arazzo-toolkit/issues/runReferencedWorkflow) [#resolveWorkflow](https://github.com/usearazzo/arazzo-toolkit/issues/resolveWorkflow) [#77](https://github.com/usearazzo/arazzo-toolkit/issues/77)
11
+
12
+ ## [1.0.1-alpha.21](https://github.com/usearazzo/arazzo-toolkit/compare/v1.0.1-alpha.20...v1.0.1-alpha.21) (2026-11-03)
13
+
14
+ ### Features
15
+
16
+ - **runner:** record criterion outcomes in step run records ([#302](https://github.com/usearazzo/arazzo-toolkit/issues/302)) ([513516b](https://github.com/usearazzo/arazzo-toolkit/commit/513516b80fc7edecae2d3fce74a53e000a494982)), closes [#231](https://github.com/usearazzo/arazzo-toolkit/issues/231)
17
+
18
+ ### BREAKING CHANGES
19
+
20
+ - **runner:** CriterionEvaluator.evaluate returns a CriterionOutcome
21
+ ({ met, error? }) instead of a boolean. StepExecutor.evaluateCriteria
22
+ returns CriterionEvaluationRecord[] instead of a boolean, and
23
+ StepExecutor.selectActions returns { matchedActions, actionCriteria }
24
+ instead of the action list. CriterionPredicate gains a second `action`
25
+ argument and is called for every criterion of an action. StepRunRecord
26
+ and StepExecutionResult gain required `successCriteria` and
27
+ `actionCriteria` fields. Any error a criterion throws other than an
28
+ unevaluable condition, such as a malformed criterion, now aborts the run
29
+ even after an earlier unmet criterion.
30
+
6
31
  ## [1.0.1-alpha.20](https://github.com/usearazzo/arazzo-toolkit/compare/v1.0.1-alpha.19...v1.0.1-alpha.20) (2026-11-01)
7
32
 
8
33
  ### Bug Fixes
package/README.md CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  An Arazzo document describes a multi-step API workflow: which operations to call, in what order, what to pass from one step to the next, and what counts as success. This package runs it.
22
22
 
23
- It loads the workflow and the OpenAPI documents its source descriptions point at. For each step it builds a real HTTP request, sends it to the live API, checks the step's success criteria against the response, and follows the control flow the document declares. When the run ends, you get the workflow's outputs and a trace of every step: whether it passed, which action was picked, how many attempts it took, and how long it ran.
23
+ It loads the workflow and the OpenAPI documents its source descriptions point at. For each step it builds a real HTTP request, sends it to the live API, checks the step's success criteria against the response, and follows the control flow the document declares. When the run ends, you get the workflow's outputs and a trace of every step: whether it passed, which action was picked, how many attempts it took, how long it ran, and the outcome of each criterion it evaluated.
24
24
 
25
25
  Use it to test an API flow end to end in CI, to drive a workflow from your own service, or to let an agent run a workflow instead of improvising the calls. It handles:
26
26
 
@@ -44,7 +44,7 @@ A runner is four building blocks, composed bottom-up; `ArazzoRunner` composes th
44
44
  <img alt="Runner architecture: WorkflowExecutor runs steps through StepExecutor, which runs OpenAPI operations through OpenAPIOperationExecutor and the HTTPClient; DocumentRegistry supplies documents to all three executors" src="https://raw.githubusercontent.com/usearazzo/arazzo-toolkit/main/packages/runner/assets/architecture.svg">
45
45
  </p>
46
46
 
47
- A step whose criteria go unmet is a result, not an error: the run resolves with `status: 'failed'`. A criterion whose condition cannot be evaluated (an invalid regex, JSONPath, XPath or simple condition, or non-XML data under an `xpath` query) counts as unmet, as Arazzo 1.1.0 requires, rather than throwing. The type-specific criterion evaluators raise such a condition as `CriterionEvaluationError`, a `CriterionError` subclass, and every `CriterionError` carries a `reason` from `CriterionErrorReason`. Only a document that cannot be loaded or run as written, a request that cannot be built or sent, or a cancelled run throws, and every such error extends `ArazzoRunnerError`; a document that cannot be read or loaded (a missing file, an HTTP error, an unresolvable reference) throws `DocumentLoadError` with the underlying failure as its `cause`.
47
+ A step whose criteria go unmet is a result, not an error: the run resolves with `status: 'failed'`. A criterion whose condition cannot be evaluated (an invalid regex, JSONPath, XPath or simple condition, or non-XML data under an `xpath` query) counts as unmet, as Arazzo 1.1.0 requires, rather than throwing. So does a criterion of a step that calls a workflow when it reads `$statusCode`, `$url`, `$method`, `$request` or `$response`: that step made no HTTP call. Each step record's `successCriteria` and `actionCriteria` list every criterion its last attempt evaluated, as a `CriterionEvaluationRecord` with the condition, whether it was met, the action's name for an action criterion and, when it could not be evaluated, a `diagnostic` with a `code` and `message`, never request or response data. The type-specific criterion evaluators raise an unevaluable condition as `CriterionEvaluationError`, a `CriterionError` subclass, and every `CriterionError` carries a `reason` from `CriterionErrorReason`. Only a document that cannot be loaded or run as written, a request that cannot be built or sent, or a cancelled run throws, and every such error extends `ArazzoRunnerError`; a document that cannot be read or loaded (a missing file, an HTTP error, an unresolvable reference) throws `DocumentLoadError` with the underlying failure as its `cause`.
48
48
 
49
49
  ## Installation
50
50