@arbol-ai/cli 1.20261018.212151 → 1.20261019.5745
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/README.md +26 -1
- package/dist/index.js +47964 -34938
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -12,7 +12,9 @@ npm install --global @arbol-ai/cli
|
|
|
12
12
|
arbol --version
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
It needs Node.js 26 or newer, whose `fetch` and `Temporal` the SDK uses.
|
|
15
|
+
It needs Node.js 26 or newer, whose `fetch` and `Temporal` the SDK uses. The same command updates it.
|
|
16
|
+
An `arbol` installed before the CLI was on npm comes first or blocks the install: remove it with
|
|
17
|
+
`npm uninstall --global @getarbol/cli`, or delete `~/.local/bin/arbol` and `~/.local/share/arbol`.
|
|
16
18
|
|
|
17
19
|
## Profiles
|
|
18
20
|
|
|
@@ -145,6 +147,29 @@ bun run verify # typecheck, tests and dist/
|
|
|
145
147
|
`openapi.json` is downloaded at generation time and not committed, and `src/generated/generation.json`
|
|
146
148
|
records which release, Forge commit and plugin wrote each file.
|
|
147
149
|
|
|
150
|
+
## Releases
|
|
151
|
+
|
|
152
|
+
A release of the API flows through three repositories, each started by the one before it:
|
|
153
|
+
|
|
154
|
+
1. **project-arbol-gateway** publishes the OpenAPI at `https://api.getarbol.com/openapi.json` and sends
|
|
155
|
+
`openapi-release` to project-arbol-sdk-js.
|
|
156
|
+
2. **project-arbol-sdk-js** regenerates `@arbol-ai/sdk` from it, publishes it to npm and sends
|
|
157
|
+
`sdk-release` (`{ "version": "<release>" }`) here.
|
|
158
|
+
3. **Here**, [Generate](.github/workflows/generate.yml) releases only when the OpenAPI's content
|
|
159
|
+
changed: the SHA-256 of its canonical JSON without `info.version` (keys sorted, no whitespace; see
|
|
160
|
+
[`generation/openapi-hash.ts`](generation/openapi-hash.ts), the same hash sdk-js computes), compared
|
|
161
|
+
with `openapiContentSha256` in main's `src/generated/generation.json`. When it is equal, the run
|
|
162
|
+
stops and nothing is committed or published. Otherwise Generate pins `@arbol-ai/sdk` to exactly the
|
|
163
|
+
release sdk-js named, regenerates `src/generated/`, and when `bun run verify` passes commits
|
|
164
|
+
`Release <release>` to main and runs [Publish](.github/workflows/publish.yml) on that commit.
|
|
165
|
+
|
|
166
|
+
Generate also runs every 6 hours and by hand, with the same hash check, pinning the SDK release the
|
|
167
|
+
OpenAPI names once it is on npm. Its push uses an installation token of the organization's GitHub App
|
|
168
|
+
(Arbol Bot: the variable `ARBOL_BOT_APP_ID` and the secret `ARBOL_BOT_PRIVATE_KEY`), so the commit runs
|
|
169
|
+
Verify like any other. A change to the CLI's own code, which the OpenAPI does not carry, is released by
|
|
170
|
+
running Publish by hand on main. npm receives the package with the organization's `NPM_TOKEN` and a
|
|
171
|
+
provenance statement.
|
|
172
|
+
|
|
148
173
|
## License
|
|
149
174
|
|
|
150
175
|
[Apache License 2.0](LICENSE)
|