@usearazzo/runner 1.0.1-alpha.7 → 1.0.1-alpha.9
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 +25 -0
- package/README.md +46 -53
- package/dist/arazzo-runner.browser.js +2 -2
- package/dist/arazzo-runner.browser.min.js +1 -1
- package/package.json +8 -6
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Change Log
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
|
+
|
|
6
|
+
## [1.0.1-alpha.9](https://github.com/usearazzo/arazzo-toolkit/compare/v1.0.1-alpha.8...v1.0.1-alpha.9) (2026-10-22)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **release:** publish serially with a longer sigstore timeout ([ea02ce2](https://github.com/usearazzo/arazzo-toolkit/commit/ea02ce2e69871b5580c86f50aacb20cf45746a04))
|
|
11
|
+
|
|
12
|
+
## [1.0.1-alpha.8](https://github.com/usearazzo/arazzo-toolkit/compare/v1.0.1-alpha.7...v1.0.1-alpha.8) (2026-10-22)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- **runner:** emit CommonJS build of vendored swagger-client ([#255](https://github.com/usearazzo/arazzo-toolkit/issues/255)) ([b4009c2](https://github.com/usearazzo/arazzo-toolkit/commit/b4009c2cda888f11c2dca9606cbc313f1150fff0)), closes [#234](https://github.com/usearazzo/arazzo-toolkit/issues/234)
|
|
17
|
+
- **runner:** evaluate runtime expressions in request payloads ([#227](https://github.com/usearazzo/arazzo-toolkit/issues/227)) ([38b7eb0](https://github.com/usearazzo/arazzo-toolkit/commit/38b7eb0036014994180ac35ba0e832d971f73ea1)), closes [#129](https://github.com/usearazzo/arazzo-toolkit/issues/129)
|
|
18
|
+
- **runner:** keep response header values as sent ([#259](https://github.com/usearazzo/arazzo-toolkit/issues/259)) ([a8f258e](https://github.com/usearazzo/arazzo-toolkit/commit/a8f258e851772b746804aa3c62a8c7ab0b2429f0)), closes [#258](https://github.com/usearazzo/arazzo-toolkit/issues/258)
|
|
19
|
+
- **runner:** keep SpecLynx ApiDOM external in swagger-client bundle ([#257](https://github.com/usearazzo/arazzo-toolkit/issues/257)) ([8c39d12](https://github.com/usearazzo/arazzo-toolkit/commit/8c39d12e692a896ef9038ab67b76787283844c07))
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
- **runner:** export SourceDescriptionsLocatorNormalizer ([9387076](https://github.com/usearazzo/arazzo-toolkit/commit/9387076238df3f89767a8b65c92e5d59443e351d))
|
|
24
|
+
- **runner:** run petstore workflows e2e and publish the runner ([#233](https://github.com/usearazzo/arazzo-toolkit/issues/233)) ([aaf9cbc](https://github.com/usearazzo/arazzo-toolkit/commit/aaf9cbc50f328a99b32665fdfff6755588a20260)), closes [#79](https://github.com/usearazzo/arazzo-toolkit/issues/79)
|
|
25
|
+
- **runner:** treat a called workflow as its step's result ([#230](https://github.com/usearazzo/arazzo-toolkit/issues/230)) ([05d996b](https://github.com/usearazzo/arazzo-toolkit/commit/05d996b54505f33b7e652e2bc4e2ebb4d2f7e600)), closes [#228](https://github.com/usearazzo/arazzo-toolkit/issues/228)
|
package/README.md
CHANGED
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
|
|
1
|
+
<h1 align="center">@usearazzo/runner</h1>
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
|
|
3
|
+
<p align="center">
|
|
4
|
+
Runner for <a href="https://spec.openapis.org/arazzo/latest.html">Arazzo</a> workflows:
|
|
5
|
+
execute them step by step against the live APIs behind their <a href="https://spec.openapis.org/oas/latest.html">OpenAPI</a> source descriptions.
|
|
6
|
+
</p>
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
resolution, and normalization primitives shared across
|
|
11
|
-
[`@usearazzo/parser`](https://www.npmjs.com/package/@usearazzo/parser) and
|
|
12
|
-
[`@usearazzo/resolver`](https://www.npmjs.com/package/@usearazzo/resolver).
|
|
8
|
+
<p align="center">
|
|
9
|
+
<a href="https://www.npmjs.com/package/@usearazzo/runner"><img src="https://img.shields.io/npm/v/@usearazzo/runner.svg" alt="npm version"></a>
|
|
10
|
+
<a href="https://github.com/usearazzo/arazzo-toolkit/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg" alt="License: Apache 2.0"></a>
|
|
11
|
+
</p>
|
|
13
12
|
|
|
14
|
-
|
|
13
|
+
<p align="center">
|
|
14
|
+
<a href="https://usearazzo.com"><img alt="UseArazzo" width="96" src="https://usearazzo.com/assets/images/logos/usearazzo-logo.svg"></a>
|
|
15
|
+
</p>
|
|
15
16
|
|
|
16
|
-
|
|
17
|
-
- [Arazzo 1.0.1](https://spec.openapis.org/arazzo/v1.0.1)
|
|
18
|
-
- [Arazzo 1.1.0](https://spec.openapis.org/arazzo/v1.1.0)
|
|
17
|
+
---
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
## What it does
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
This package runs an Arazzo workflow step by step, sending real HTTP requests to the APIs its OpenAPI
|
|
22
|
+
source descriptions point at, with the control flow (`goto`, `retry`, `end`) and sub-workflows the
|
|
23
|
+
document decides. It builds on [SpecLynx ApiDOM](https://github.com/speclynx/apidom) data models and
|
|
24
|
+
reuses the loading, resolution, and normalization primitives of
|
|
25
|
+
[@usearazzo/parser](https://github.com/usearazzo/arazzo-toolkit/tree/main/packages/parser#readme) and
|
|
26
|
+
[@usearazzo/resolver](https://github.com/usearazzo/arazzo-toolkit/tree/main/packages/resolver#readme).
|
|
27
|
+
|
|
28
|
+
## Installation
|
|
29
|
+
|
|
30
|
+
```sh
|
|
31
|
+
npm install @usearazzo/runner
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Ships ESM and CommonJS builds with TypeScript declarations. Requires Node.js 20.10 or newer.
|
|
25
35
|
|
|
26
36
|
## Architecture
|
|
27
37
|
|
|
@@ -40,32 +50,9 @@ into four main components:
|
|
|
40
50
|
(parameter serialization, securities, server resolution), sends it through the pluggable
|
|
41
51
|
`HTTPClient` transport, and normalizes the raw response into the runner's response model.
|
|
42
52
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
WF["WorkflowExecutor<br/>iterate steps · own state · control flow"]
|
|
48
|
-
Step["StepExecutor<br/>run one Arazzo step"]
|
|
49
|
-
Op["OpenAPIOperationExecutor<br/>build request · normalize response"]
|
|
50
|
-
HTTP["HTTPClient<br/>send the built request (fetch by default)"]
|
|
51
|
-
|
|
52
|
-
WF -->|"execute step"| Step
|
|
53
|
-
Step -->|"execute OpenAPI operation"| Op
|
|
54
|
-
Op -->|"send HTTP request"| HTTP
|
|
55
|
-
|
|
56
|
-
Registry -.->|documents| WF
|
|
57
|
-
Registry -.->|documents| Step
|
|
58
|
-
Registry -.->|documents| Op
|
|
59
|
-
|
|
60
|
-
%% brand colors: Arazzo green, OpenAPI green, neutral registry grey
|
|
61
|
-
classDef arazzo fill:#94C83D,stroke:#6BA543,stroke-width:1px,color:#231F20;
|
|
62
|
-
classDef openapi fill:#6BA543,stroke:#4D5A31,color:#fff;
|
|
63
|
-
classDef neutral fill:#424143,stroke:#231F20,color:#fff;
|
|
64
|
-
|
|
65
|
-
class WF,Step arazzo;
|
|
66
|
-
class Op,HTTP openapi;
|
|
67
|
-
class Registry neutral;
|
|
68
|
-
```
|
|
53
|
+
<p align="center">
|
|
54
|
+
<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">
|
|
55
|
+
</p>
|
|
69
56
|
|
|
70
57
|
Each layer reads run state but never mutates it. The `WorkflowExecutor` is the single writer that
|
|
71
58
|
records outputs and interprets the returned control-flow action.
|
|
@@ -772,14 +759,20 @@ up, by a step's `successCriteria`. Everything else throws with a named reason: m
|
|
|
772
759
|
unlocatable operation, an unsupported OpenAPI version), a request that cannot be built (e.g. a
|
|
773
760
|
missing required parameter), and transport failures. The latter two arrive as `ClientError`.
|
|
774
761
|
|
|
775
|
-
##
|
|
762
|
+
## Supported versions
|
|
763
|
+
|
|
764
|
+
Arazzo documents:
|
|
765
|
+
|
|
766
|
+
- [Arazzo 1.0.0](https://spec.openapis.org/arazzo/v1.0.0)
|
|
767
|
+
- [Arazzo 1.0.1](https://spec.openapis.org/arazzo/v1.0.1)
|
|
768
|
+
- [Arazzo 1.1.0](https://spec.openapis.org/arazzo/v1.1.0)
|
|
769
|
+
|
|
770
|
+
OpenAPI documents, as source descriptions:
|
|
771
|
+
|
|
772
|
+
- [OpenAPI 2.0](https://spec.openapis.org/oas/v2.0)
|
|
773
|
+
- [OpenAPI 3.0.x](https://spec.openapis.org/oas/v3.0.4)
|
|
774
|
+
- [OpenAPI 3.1.x](https://spec.openapis.org/oas/v3.1.2)
|
|
776
775
|
|
|
777
|
-
|
|
778
|
-
`loginUserRetrievePet` (the Arazzo Specification's `LoginAndRetrievePets` example) over real HTTP
|
|
779
|
-
against a live petstore. It is separate from `npm test`, which stays deterministic and makes no
|
|
780
|
-
network calls.
|
|
776
|
+
## Part of the Arazzo Toolkit
|
|
781
777
|
|
|
782
|
-
|
|
783
|
-
and stops it afterwards, so Docker must be available. To run against an existing petstore instead,
|
|
784
|
-
set `PETSTORE_URL` to its API base, e.g. `PETSTORE_URL=http://localhost:8080/api/v3 npm run test:e2e`;
|
|
785
|
-
the suite then starts no container of its own.
|
|
778
|
+
`@usearazzo/runner` is the execution layer of the [arazzo-toolkit](https://github.com/usearazzo/arazzo-toolkit) monorepo, beside [@usearazzo/parser](https://github.com/usearazzo/arazzo-toolkit/tree/main/packages/parser#readme), [@usearazzo/resolver](https://github.com/usearazzo/arazzo-toolkit/tree/main/packages/resolver#readme), and [@usearazzo/validator](https://github.com/usearazzo/arazzo-toolkit/tree/main/packages/validator#readme). Questions and ideas go to [GitHub Discussions](https://github.com/orgs/usearazzo/discussions).
|
|
@@ -97975,7 +97975,7 @@ async function Module2(moduleArg = {}) {
|
|
|
97975
97975
|
var ENVIRONMENT_IS_NODE = typeof process == "object" && process.versions?.node && process.type != "renderer";
|
|
97976
97976
|
if (ENVIRONMENT_IS_NODE) {
|
|
97977
97977
|
const { createRequire } = await Promise.resolve(/* import() */).then(() => (__webpack_require__.t(19451, 19)));
|
|
97978
|
-
var require = createRequire("file:///home/
|
|
97978
|
+
var require = createRequire("file:///home/runner/work/arazzo-toolkit/arazzo-toolkit/node_modules/web-tree-sitter/web-tree-sitter.js");
|
|
97979
97979
|
}
|
|
97980
97980
|
Module.currentQueryProgressCallback = null;
|
|
97981
97981
|
Module.currentProgressCallback = null;
|
|
@@ -97986,7 +97986,7 @@ async function Module2(moduleArg = {}) {
|
|
|
97986
97986
|
var quit_ = /* @__PURE__ */ __name((status, toThrow) => {
|
|
97987
97987
|
throw toThrow;
|
|
97988
97988
|
}, "quit_");
|
|
97989
|
-
var _scriptName = "file:///home/
|
|
97989
|
+
var _scriptName = "file:///home/runner/work/arazzo-toolkit/arazzo-toolkit/node_modules/web-tree-sitter/web-tree-sitter.js";
|
|
97990
97990
|
var scriptDirectory = "";
|
|
97991
97991
|
function locateFile(path) {
|
|
97992
97992
|
if (Module["locateFile"]) {
|