@arbol-ai/cli 1.20261018.212151 → 1.20261018.213455

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 CHANGED
@@ -12,7 +12,16 @@ 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. On macOS and Linux,
16
+ [cli.getarbol.com](https://cli.getarbol.com) does the same in one line:
17
+
18
+ ```sh
19
+ curl -fsSL https://cli.getarbol.com/install.sh | sh
20
+ ```
21
+
22
+ [`install.sh`](site/public/install.sh) checks for Node.js 26 and runs
23
+ `npm install --global @arbol-ai/cli`, or prints that command when npm is missing. Run it again to
24
+ update; `ARBOL_VERSION=<version>` installs a given release.
16
25
 
17
26
  ## Profiles
18
27
 
@@ -145,6 +154,28 @@ bun run verify # typecheck, tests and dist/
145
154
  `openapi.json` is downloaded at generation time and not committed, and `src/generated/generation.json`
146
155
  records which release, Forge commit and plugin wrote each file.
147
156
 
157
+ ## Releases
158
+
159
+ A release of the API flows through three repositories, each started by the one before it:
160
+
161
+ 1. **project-arbol-gateway** publishes the OpenAPI at `https://api.getarbol.com/openapi.json` and sends
162
+ `openapi-release` to project-arbol-sdk-js.
163
+ 2. **project-arbol-sdk-js** regenerates `@arbol-ai/sdk` from it, publishes it to npm and sends
164
+ `sdk-release` (`{ "version": "<release>" }`) here.
165
+ 3. **Here**, [Generate](.github/workflows/generate.yml) pins `@arbol-ai/sdk` to exactly that release,
166
+ regenerates `src/generated/` from the live OpenAPI and, when anything changed and `bun run verify`
167
+ passes, commits `Release <release>` to main and runs [Publish](.github/workflows/publish.yml) on that
168
+ commit. When nothing changed, nothing is committed or published.
169
+
170
+ Generate also runs every 6 hours and by hand, pinning the SDK release the OpenAPI names once it is on
171
+ npm. Its push uses an installation token of the organization's GitHub App (Arbol Bot: the variable
172
+ `ARBOL_BOT_APP_ID` and the secret `ARBOL_BOT_PRIVATE_KEY`), so the commit runs Verify like any other.
173
+ Publish can also run by hand, for a change to the CLI alone; npm receives the package with the
174
+ organization's `NPM_TOKEN` and a provenance statement.
175
+
176
+ [cli.getarbol.com](https://cli.getarbol.com) is the Worker in [`site/`](site/wrangler.jsonc): static
177
+ files and no code. Cloudflare Workers Builds deploys it on every push to main that changes `site/`.
178
+
148
179
  ## License
149
180
 
150
181
  [Apache License 2.0](LICENSE)
package/dist/index.js CHANGED
@@ -64685,7 +64685,7 @@ var generation_default = {
64685
64685
  version: "0.1.0"
64686
64686
  },
64687
64687
  plugins: {
64688
- cli: "39007ea178b892e91916a2afa22883ba71b8f0a9c12b8a0db7f27d9fa128890d"
64688
+ cli: "fcabf27a9d57a656f3e312e71160b76975ce3585173b8ae507cbabd236ba1cab"
64689
64689
  },
64690
64690
  outputs: [
64691
64691
  {
@@ -65045,7 +65045,7 @@ ${name}`);
65045
65045
  }
65046
65046
 
65047
65047
  // src/index.ts
65048
- var VERSION = "1.20261018.212151";
65048
+ var VERSION = "1.20261018.213455";
65049
65049
  var RELEASE = generation_default.release;
65050
65050
  var SERVICES = [...new Set(Object.keys(commands).map((name) => name.split(" ")[0]))].toSorted();
65051
65051
  var HELP = `Arbol CLI ${VERSION} (Arbol API ${RELEASE}): the Arbol platform from your terminal.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arbol-ai/cli",
3
- "version": "1.20261018.212151",
3
+ "version": "1.20261018.213455",
4
4
  "description": "The Arbol CLI: the Arbol API from your terminal, with commands generated by Cloudflare Forge from the public OpenAPI.",
5
5
  "keywords": [
6
6
  "arbol",