@aexhq/sdk 0.14.0 → 0.15.0
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/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/release.md +25 -5
- package/package.json +2 -2
package/dist/version.d.ts
CHANGED
package/dist/version.js
CHANGED
package/docs/release.md
CHANGED
|
@@ -10,7 +10,14 @@ source of truth. The workflow publishes to npm and runs post-publish install
|
|
|
10
10
|
checks, but it does not create git tags or GitHub Releases, keeping the remote
|
|
11
11
|
repository on a clean `main` branch unless tags are added deliberately later.
|
|
12
12
|
|
|
13
|
-
## How to ship a release
|
|
13
|
+
## How to ship a release (canary → validate → promote)
|
|
14
|
+
|
|
15
|
+
The default flow publishes a **canary** first, validates it against the real
|
|
16
|
+
platform (aex-platform's local + prod cross-service suite installs
|
|
17
|
+
`@aexhq/sdk@canary` and exercises it like a user), and only then promotes the
|
|
18
|
+
**same bytes** to `latest`. Because npm versions are immutable, the version the
|
|
19
|
+
platform tested is byte-for-byte the version users get — there is no second
|
|
20
|
+
publish.
|
|
14
21
|
|
|
15
22
|
1. Bump the publishable package manifests to the next shared semver:
|
|
16
23
|
`packages/contracts/package.json`, `packages/conformance/package.json`,
|
|
@@ -18,12 +25,25 @@ repository on a clean `main` branch unless tags are added deliberately later.
|
|
|
18
25
|
`packages/sdk/src/version.ts` to match.
|
|
19
26
|
2. Land the change on `main` with any companion code or docs.
|
|
20
27
|
3. Confirm CI is green.
|
|
21
|
-
4. Run the **Release** workflow from `main`
|
|
22
|
-
|
|
28
|
+
4. Run the **Release** workflow from `main` with dist-tag **`canary`**. This
|
|
29
|
+
publishes `@aexhq/sdk@<version>` under the `canary` tag — `latest` is
|
|
30
|
+
untouched, so `npm install @aexhq/sdk` users are unaffected.
|
|
31
|
+
5. Run the platform release against the canary: in **aex-platform**, dispatch
|
|
32
|
+
`deploy.yml` with `sdk_version=<version>` (threads `AEX_USER_TEST_SDK_VERSION`
|
|
33
|
+
into the suite). The local plane gates prod, and both planes' user-tests run
|
|
34
|
+
against `@aexhq/sdk@<version>`.
|
|
35
|
+
6. On a green platform release, run the **Promote** workflow
|
|
36
|
+
(`promote.yml`) with `version=<version>`. It runs
|
|
37
|
+
`npm dist-tag add @aexhq/{contracts,conformance,cli,sdk}@<version> latest` —
|
|
38
|
+
a pure re-tag, never a re-publish.
|
|
39
|
+
|
|
40
|
+
Shortcut: choosing dist-tag `latest` (or `next`) at step 4 publishes straight to
|
|
41
|
+
that tag and skips the canary/promote gate — use it only for docs-only or
|
|
42
|
+
out-of-band releases where the platform suite is not the gate.
|
|
23
43
|
|
|
24
44
|
If any package at `<version>` already exists on npm, the release workflow fails
|
|
25
|
-
before publishing
|
|
26
|
-
|
|
45
|
+
before publishing (this is also what forbids a re-publish — promotion must be a
|
|
46
|
+
re-tag). A failed release is fixed by bumping to a higher version.
|
|
27
47
|
|
|
28
48
|
## Release pipeline
|
|
29
49
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aexhq/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.0",
|
|
4
4
|
"description": "TypeScript SDK for running autonomous agent sessions across providers (Anthropic, OpenAI, DeepSeek, Gemini, Mistral) behind one interface.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"examples"
|
|
27
27
|
],
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@aexhq/contracts": "0.
|
|
29
|
+
"@aexhq/contracts": "0.15.0"
|
|
30
30
|
},
|
|
31
31
|
"engines": {
|
|
32
32
|
"node": ">=20"
|