diff --git a/.claude/skills/sdk-only-release/SKILL.md b/.claude/skills/sdk-only-release/SKILL.md index a95655d23..5a87c957b 100644 --- a/.claude/skills/sdk-only-release/SKILL.md +++ b/.claude/skills/sdk-only-release/SKILL.md @@ -87,6 +87,34 @@ On 2026-06-15 02:21 UTC, `@agent-assembly/sdk@0.0.1-beta.2` was published to npm The fix is operator discipline (this SOP), not a workflow-code restriction — `workflow_dispatch` is kept open for legitimate Case B releases. +## Version-bump prep PR — required file footprint + +Before the `workflow_dispatch` publish, land a **prep-only PR** advancing every +checked-in version literal to the new release. The `npm_version` dispatch input is +what stamps the published packages, but master must not lag it — a stale literal +drifts the SonarCloud gate and misleads the docs. **Bump ALL of the following in one +prep PR** (reference: rc.2 PR #205 / AAASM-3834). Missing any of these — especially +the docs pins — is the most common release-prep defect. + +| File | What to change | +|---|---| +| `package.json` (root) | `"version": ""` (e.g. `0.0.1-rc.3`). **Only** the root package declares the SDK version | +| `sonar-project.properties` | `sonar.projectVersion=` (source-of-truth / local-scan fallback; never `0.0.0`) | +| `docs/02-quick-start/index.md` | bump the `npm install @agent-assembly/sdk@` pin | +| `docs/09-examples/*.md` | bump the `@agent-assembly/sdk` version pin in every example that carries one (grep `0.0.1-rc`) | + +**Do NOT touch** in the prep PR: +- The 4 `packages/runtime-*/package.json` sub-packages — they use `workspace:*` and + `release-node.yml` writes their version from `npm_version` at publish time (AAASM-2854). +- `pnpm-lock.yaml` — the lockfile does not pin the project's own version; verify + `pnpm install --frozen-lockfile` has no drift rather than regenerating. +- `website/versioned_docs/**`, `website/versions.json`, `website/versionChannels.json` + — the docs-site version snapshot is generated by the release docs job, not the prep PR. + +Always `grep -rn` the outgoing version across `docs/**` (excluding +`website/versioned_docs/`) to catch every literal before opening the PR; do not copy a +stale file list. + ## How to use Dispatch `release-node.yml` from the `node-sdk` repository with diff --git a/docs/02-quick-start/index.md b/docs/02-quick-start/index.md index 008ea52a2..9decf7d29 100644 --- a/docs/02-quick-start/index.md +++ b/docs/02-quick-start/index.md @@ -23,7 +23,7 @@ platform during `postinstall`, so there is no extra build step for typical consu The current release line is `0.0.1-beta.x`, published under the npm `beta` dist-tag. The public surface (`initAssembly`, `withAssembly`) is stabilizing but may change between pre-releases. Pin an exact version for reproducible installs: -`npm install @agent-assembly/sdk@0.0.1-rc.2`. +`npm install @agent-assembly/sdk@0.0.1-rc.3`. ::: ## 2. Make sure a gateway is reachable diff --git a/docs/09-examples/custom-tool-policy.md b/docs/09-examples/custom-tool-policy.md index bbcb46ca6..cd8484857 100644 --- a/docs/09-examples/custom-tool-policy.md +++ b/docs/09-examples/custom-tool-policy.md @@ -21,7 +21,7 @@ the policy first. ## The framework / library -None. The example depends only on `@agent-assembly/sdk` (version `0.0.1-rc.2` +None. The example depends only on `@agent-assembly/sdk` (version `0.0.1-rc.3` in its `package.json`). It runs fully offline — no gateway and no `@langchain/core`. ## How it works diff --git a/docs/09-examples/langchain-js-basic-agent.md b/docs/09-examples/langchain-js-basic-agent.md index 63f76388f..76d158e4e 100644 --- a/docs/09-examples/langchain-js-basic-agent.md +++ b/docs/09-examples/langchain-js-basic-agent.md @@ -20,7 +20,7 @@ on every tool call the agent makes. ## The framework / library [LangChain.js](https://js.langchain.com)-style agent. The example depends only on -`@agent-assembly/sdk` (version `0.0.1-rc.2`); it deliberately avoids +`@agent-assembly/sdk` (version `0.0.1-rc.3`); it deliberately avoids `@langchain/core` so it runs fully offline in CI with no API keys. ## How it works diff --git a/docs/09-examples/langgraph-js.md b/docs/09-examples/langgraph-js.md index 3565a6e65..e0ab326d4 100644 --- a/docs/09-examples/langgraph-js.md +++ b/docs/09-examples/langgraph-js.md @@ -21,7 +21,7 @@ originates — including from inside a graph node. ## The framework / library A hand-rolled [LangGraph.js](https://langchain-ai.github.io/langgraphjs/)-style graph. -The example depends only on `@agent-assembly/sdk` (version `0.0.1-rc.2`). +The example depends only on `@agent-assembly/sdk` (version `0.0.1-rc.3`). :::note Why a hand-rolled graph instead of `@langchain/langgraph` The real `@langchain/langgraph` package transitively installs `@langchain/core`. These diff --git a/docs/09-examples/mastra.md b/docs/09-examples/mastra.md index e7743ba67..d2e7cd1b8 100644 --- a/docs/09-examples/mastra.md +++ b/docs/09-examples/mastra.md @@ -22,7 +22,7 @@ wrapping their `execute` through `withAssembly`. [Mastra](https://mastra.ai) — the real `@mastra/core` package (version `^1.0.0` in `package.json`), plus `zod` (`^3.25.76`) for the tool schemas and -`@agent-assembly/sdk` (version `0.0.1-rc.2`). It runs fully offline — no provider +`@agent-assembly/sdk` (version `0.0.1-rc.3`). It runs fully offline — no provider key and no live LLM. ## How it works diff --git a/docs/09-examples/openai-node-tool-policy.md b/docs/09-examples/openai-node-tool-policy.md index ba6415a18..f0d89be55 100644 --- a/docs/09-examples/openai-node-tool-policy.md +++ b/docs/09-examples/openai-node-tool-policy.md @@ -21,7 +21,7 @@ dispatched through `withAssembly`, so every dispatch is policy-checked before it ## The framework / library OpenAI function-calling format (tool schemas), used without a live OpenAI client. -The example depends only on `@agent-assembly/sdk` (version `0.0.1-rc.2`) and runs +The example depends only on `@agent-assembly/sdk` (version `0.0.1-rc.3`) and runs fully offline — no gateway and no `@langchain/core`. ## How it works diff --git a/docs/09-examples/setup.md b/docs/09-examples/setup.md index ba34804aa..521604ef1 100644 --- a/docs/09-examples/setup.md +++ b/docs/09-examples/setup.md @@ -16,7 +16,7 @@ can focus on what each example actually demonstrates. - **pnpm** — install via `npm install -g pnpm`. Every example pins `@agent-assembly/sdk` (the [`node-sdk`](https://github.com/ai-agent-assembly/node-sdk) -package, version `0.0.1-rc.2` at the time of writing) as its only required +package, version `0.0.1-rc.3` at the time of writing) as its only required dependency. The framework-specific examples add one extra package each (`@mastra/core` for Mastra, `ai` for the Vercel AI SDK). diff --git a/docs/09-examples/vercel-ai.md b/docs/09-examples/vercel-ai.md index 42eb359ff..adb438b9e 100644 --- a/docs/09-examples/vercel-ai.md +++ b/docs/09-examples/vercel-ai.md @@ -22,7 +22,7 @@ top by wrapping the tool map. [Vercel AI SDK](https://sdk.vercel.ai) — the real `ai` package (version `^6.0.0` in `package.json`), plus `zod` (`^3.25.76`) for input schemas and `@agent-assembly/sdk` -(version `0.0.1-rc.2`). It runs fully offline — no provider key and no live LLM. +(version `0.0.1-rc.3`). It runs fully offline — no provider key and no live LLM. ## How it works diff --git a/package.json b/package.json index 814de10a8..4ba54c274 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@agent-assembly/sdk", - "version": "0.0.1-rc.2", + "version": "0.0.1-rc.3", "description": "TypeScript SDK for Agent Assembly", "license": "Apache-2.0", "type": "module", diff --git a/sonar-project.properties b/sonar-project.properties index 104940dd5..ad172e94b 100644 --- a/sonar-project.properties +++ b/sonar-project.properties @@ -7,7 +7,7 @@ sonar.projectName=node-sdk # overrides this with -Dsonar.projectVersion= so the # SonarCloud quality gate auto-advances each release. Keep this off 0.0.0 (which # stalls the gate at "Not computed") and roughly in step with package.json. -sonar.projectVersion=0.0.1-rc.2 +sonar.projectVersion=0.0.1-rc.3 sonar.projectBaseDir=./ sonar.sources=src/