Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ pnpm native:build:release # napi-rs release build (per-platform artifact)
- **Branch:** `<release-or-phase>/<ticket>/<type>/<short_summary>`
(e.g. `v0.0.1/AAASM-42/feat/add_langchain_adapter`).
- **PR title:** `[<ticket>] <emoji> (<scope>): <summary>`; base branch **always
`master`**; body fills out `.github/PULL_REQUEST_TEMPLATE.md`; β‰₯1 Pioneer-team
`main`**; body fills out `.github/PULL_REQUEST_TEMPLATE.md`; β‰₯1 Pioneer-team
approval.

## Repo-specific gotchas
Expand All @@ -74,7 +74,7 @@ pnpm native:build:release # napi-rs release build (per-platform artifact)
(config/theme/sidebars) lives in `website/`, intentionally split.
- **Push remote is `remote`** (β†’ `ai-agent-assembly/node-sdk`, canonical), **not**
`origin` (a personal fork). Detect it with `git remote -v`; scope changes against
`remote/master`, which is often far ahead of a fork checkout. The "repository moved"
`remote/main`, which is often far ahead of a fork checkout. The "repository moved"
redirect notice on push is harmless.
- **npm security fixes:** pin with a `^` floor or a precise version β€” **never a bare
`>=`**. A bare `>=` lets the resolver pull an unwanted major and breaks the build.
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/release-runbook/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,7 +182,7 @@ is being / has been cut by that repo's `/release-tag-cut`.
after `agent-assembly`'s Release object is published:
`gh release view <core-tag> --repo ai-agent-assembly/agent-assembly`.
2. **Confirm the `aa-ffi-pin` auto-bump PR merged here.** Per the SOP, the
`bot/aa-ffi-pin-<tag>` PR (which aligns `master`'s `aa-sdk-client` SHA with
`bot/aa-ffi-pin-<tag>` PR (which aligns `main`'s `aa-sdk-client` SHA with
the new core tag) must be merged **before** node-sdk publishes, so the SDK
ships the content users expect from that version label.
3. **Watch the triggered run.** `gh run list --repo ai-agent-assembly/node-sdk
Expand Down
8 changes: 4 additions & 4 deletions .claude/skills/sdk-only-release/EXAMPLES.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ The `.1` suffix preserves pin-to-exact installs of `0.0.1-alpha.8`.
```bash
gh workflow run release-node.yml \
--repo ai-agent-assembly/node-sdk \
--ref master \
--ref main \
-f npm_version=0.0.1-alpha.8.1 \
-f binary_source_tag=v0.0.1-alpha.8 \
-f publish_mode=main-only \
Expand All @@ -38,7 +38,7 @@ The dry-run completed green; no artifacts were pushed to the registry.
```bash
gh workflow run release-node.yml \
--repo ai-agent-assembly/node-sdk \
--ref master \
--ref main \
-f npm_version=0.0.1-alpha.8.1 \
-f binary_source_tag=v0.0.1-alpha.8 \
-f publish_mode=main-only \
Expand Down Expand Up @@ -99,14 +99,14 @@ $ gh pr list --repo ai-agent-assembly/node-sdk --head bot/aa-ffi-pin-v0.0.1-beta

If no PR is listed, the upstream `update-node-sdk-ffi-pin` job (AAASM-2883) hasn't run yet. Wait, then re-probe.

**3. Review + merge the auto-bump PR.** The PR moves `native/aa-ffi-node/Cargo.toml`'s `aa-sdk-client` rev to the new agent-assembly tag commit (and regenerates `Cargo.lock`). After merge, master carries the binary-matching SHA pin.
**3. Review + merge the auto-bump PR.** The PR moves `native/aa-ffi-node/Cargo.toml`'s `aa-sdk-client` rev to the new agent-assembly tag commit (and regenerates `Cargo.lock`). After merge, main carries the binary-matching SHA pin.

**4. ONLY NOW dispatch `release-node.yml`.** Same mechanics as the alpha-8.1 example above β€” `dry-run=true` first, then `dry-run=false`. Critically, use `binary_source_tag=v0.0.1-beta.3` (NOT the previous tag) so the runtime sub-packages resolve against the new agent-assembly Release, and `publish_mode=all` because this is a coordinated release with new binaries (the `main-only` mode is the Case B shape).

```bash
gh workflow run release-node.yml \
--repo ai-agent-assembly/node-sdk \
--ref master \
--ref main \
-f npm_version=0.0.1-beta.3 \
-f binary_source_tag=v0.0.1-beta.3 \
-f publish_mode=all \
Expand Down
8 changes: 4 additions & 4 deletions .claude/skills/sdk-only-release/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ every SDK-only publish β€” **the trigger reason is broader than "hotfix"**.
```bash
gh workflow run release-node.yml \
--repo ai-agent-assembly/node-sdk \
--ref master \
--ref main \
-f npm_version=<X> \
-f binary_source_tag=<Y> \
-f publish_mode=main-only \
Expand Down Expand Up @@ -69,7 +69,7 @@ The SDK release MUST wait. Required order:

1. Cut the `agent-assembly` tag (e.g. `v0.0.1-beta.3`) and wait for its `Release` workflow to complete (build β†’ publish β†’ `notify-downstream`).
2. Wait for the auto-bump PR (`bot/aa-ffi-pin-<tag>`) to open on this repo (AAASM-2883 for node/python; AAASM-3006 extends the same fan-out to go-sdk).
3. Review + merge the auto-bump PR. This brings `master` in line with the `aa-sdk-client` SHA carried by the new agent-assembly tag.
3. Review + merge the auto-bump PR. This brings `main` in line with the `aa-sdk-client` SHA carried by the new agent-assembly tag.
4. ONLY THEN cut the SDK tag (matching version) β€” by tag-push OR `workflow_dispatch` β€” to fire this skill.

Do NOT pre-publish the SDK tag against the previous agent-assembly content. Doing so:
Expand All @@ -79,7 +79,7 @@ Do NOT pre-publish the SDK tag against the previous agent-assembly content. Doin

### Case B β€” SDK-only release (no agent-assembly cut in this cycle)

This skill may be triggered freely via `workflow_dispatch`. No coordination required, because the existing `aa-sdk-client` SHA pin on `master` is already what we want to ship.
This skill may be triggered freely via `workflow_dispatch`. No coordination required, because the existing `aa-sdk-client` SHA pin on `main` is already what we want to ship.

### Why this SOP exists (the 2026-06-15 incident)

Expand All @@ -91,7 +91,7 @@ The fix is operator discipline (this SOP), not a workflow-code restriction β€” `

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
what stamps the published packages, but main 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.
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build-addon.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -33,7 +33,7 @@ jobs:
# does not build on Windows, and the SDK ships no Windows native runtime
# (see optionalDependencies); Windows consumers use grpc-sidecar mode.
# Per-PR builds are ubuntu-only (fast public-minute feedback);
# macOS is added on push:master and tags, where the prebuilt
# macOS is added on push:main and tags, where the prebuilt
# release artifacts are actually consumed (AAASM-2664).
os: ${{ github.event_name == 'pull_request' && fromJSON('["ubuntu-latest"]') || fromJSON('["ubuntu-latest","macos-latest"]') }}
node-version: [20, 22]
Expand Down Expand Up @@ -68,7 +68,7 @@ jobs:

# On PRs, a fast debug build is enough to prove the addon compiles
# and the napi bindings load. Release builds (optimised, --platform
# suffixed prebuilds) run only on push:master / tags (AAASM-2664).
# suffixed prebuilds) run only on push:main / tags (AAASM-2664).
- name: Build napi addon (debug, PR)
if: github.event_name == 'pull_request'
run: pnpm native:build
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main
schedule:
- cron: "0 3 * * 1"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dependency-audit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/module-system-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/native-pin-consistency.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
paths:
- "native/aa-ffi-node/Cargo.toml"
push:
branches: [master]
branches: [main]
paths:
- "native/aa-ffi-node/Cargo.toml"

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/precommit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/publish-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ on:
- "scripts/generate-docs-metadata.mjs"
push:
branches:
- master
- main
workflow_dispatch:

# Default to read-only. Only the deploy job (push to master) needs write to
# Default to read-only. Only the deploy job (push to main) needs write to
# push the built site to the gh-pages branch; the build job β€” which also runs
# on pull_request β€” stays read-only.
permissions:
Expand Down Expand Up @@ -98,7 +98,7 @@ jobs:

deploy:
needs: build
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
# Write is scoped to this push-only deploy job; peaceiris pushes the built
# site to the gh-pages branch via GITHUB_TOKEN.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quality-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/release-node.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ on:
- all
- main-only
dry-run:
description: "Skip the npm publish steps and the docs-version snapshot. Builds run normally; nothing reaches the registry or master. Defaults to false so today's dispatch behavior is unchanged."
description: "Skip the npm publish steps and the docs-version snapshot. Builds run normally; nothing reaches the registry or main. Defaults to false so today's dispatch behavior is unchanged."
required: false
type: boolean
default: false
Expand Down Expand Up @@ -247,7 +247,7 @@ jobs:
#
# This step must run BEFORE the pre-flight check (also AAASM-2867)
# so the pre-flight reads the rewritten version pins rather than
# the `workspace:*` marker that lives on master.
# the `workspace:*` marker that lives on main.
- name: Bump main SDK version only (main-only mode)
if: steps.tag.outputs.publish_mode == 'main-only'
env:
Expand Down Expand Up @@ -286,7 +286,7 @@ jobs:
#
# AAASM-2867: this step runs AFTER the main-only Bump step, so the
# `optionalDependencies` it reads are the post-rewrite real versions
# (derived from `binary_source_tag`), not master's `workspace:*` marker.
# (derived from `binary_source_tag`), not main's `workspace:*` marker.
- name: Pre-flight verify runtime sub-packages exist on npm
if: steps.tag.outputs.publish_mode == 'main-only'
run: |
Expand Down Expand Up @@ -646,8 +646,8 @@ jobs:
# AAASM-2751: cut the immutable Docusaurus docs snapshot for this release
# and repoint the channel metadata. This runs ONLY after `publish` succeeds,
# so a snapshot is only ever frozen for a real, finished release β€” never on a
# raw tag. It opens a docs-update PR against master (the repo's normal flow)
# rather than pushing to master directly.
# raw tag. It opens a docs-update PR against main (the repo's normal flow)
# rather than pushing to main directly.
version-docs:
name: Cut docs version snapshot and repoint channels
needs: publish
Expand All @@ -670,7 +670,7 @@ jobs:
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4.2.2
with:
ref: master
ref: main
fetch-depth: 0

- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
Expand Down Expand Up @@ -710,7 +710,7 @@ jobs:
git commit -m "πŸ“Έ (docs): Cut docs snapshot for ${NPM_VERSION} and repoint channels"
git push origin "$branch"
gh pr create \
--base master \
--base main \
--head "$branch" \
--title "πŸ“Έ (docs): Cut docs snapshot for ${NPM_VERSION}" \
--body-file - <<EOF
Expand All @@ -720,11 +720,11 @@ jobs:
EOF

# AAASM-2794: self-approve + enable auto-merge so the snapshot lands on
# master without a per-release manual merge. The approve step MUST use a
# main without a per-release manual merge. The approve step MUST use a
# PAT (DOCS_BOT_PAT) because GitHub forbids self-approval from the same
# actor that opened the PR β€” the PAT is from the operator account, so the
# approval comes from a different actor than github-actions[bot]. Auto-
# merge waits for any required status checks, then squash-merges. master
# merge waits for any required status checks, then squash-merges. main
# branch protection (1 required review + code-owner) is preserved.
- name: Self-approve docs-version PR (via PAT)
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-matrix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ on:
- "docs/**"
- "LICENSE"
branches:
- master
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ Before opening a PR, confirm each item:
- [ ] PR title format: `[<ticket>] <emoji> (<scope>): <summary>`.
- [ ] PR body fills out `.github/PULL_REQUEST_TEMPLATE.md` (target, ticket links,
effecting scope, description).
- [ ] Base branch is `master`. Push remote is `remote` (not `origin`).
- [ ] Base branch is `main`. Push remote is `remote` (not `origin`).
- [ ] At least one Pioneer team approval before merge.

## Building the documentation site
Expand All @@ -151,7 +151,7 @@ The API reference under the **API** sidebar section is regenerated automatically
pages by hand.

When you push your branch, the `publish-docs.yml` workflow builds the site and
deploys to the `gh-pages` branch on push to `master`. The published site is at
deploys to the `gh-pages` branch on push to `main`. The published site is at
**https://docs.agent-assembly.com/node-sdk/**.

## Shared docs metadata
Expand Down
12 changes: 6 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# @agent-assembly/sdk

[![CI](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/test-matrix.yml/badge.svg?branch=master&logo=githubactions)](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/test-matrix.yml)
[![Docs](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/publish-docs.yml/badge.svg?branch=master&logo=githubactions)](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/publish-docs.yml)
[![CI](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/test-matrix.yml/badge.svg?branch=main&logo=githubactions)](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/test-matrix.yml)
[![Docs](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/publish-docs.yml/badge.svg?branch=main&logo=githubactions)](https://github.com/ai-agent-assembly/node-sdk/actions/workflows/publish-docs.yml)
[![npm version](https://img.shields.io/npm/v/%40agent-assembly%2Fsdk/rc?logo=npm)](https://www.npmjs.com/package/@agent-assembly/sdk/v/rc)
[![GitHub release](https://img.shields.io/github/v/release/ai-agent-assembly/node-sdk?include_prereleases&sort=semver&label=release&logo=github)](https://github.com/ai-agent-assembly/node-sdk/releases)
[![TypeScript types](https://img.shields.io/npm/types/@agent-assembly/sdk?logo=typescript)](https://www.npmjs.com/package/@agent-assembly/sdk)
Expand All @@ -10,8 +10,8 @@
[![Coverage](https://img.shields.io/codecov/c/github/ai-agent-assembly/node-sdk?logo=codecov)](https://codecov.io/gh/ai-agent-assembly/node-sdk)
[![Quality Gate](https://img.shields.io/sonar/quality_gate/AI-agent-assembly_node-sdk?server=https%3A%2F%2Fsonarcloud.io&logo=sonarcloud)](https://sonarcloud.io/summary/new_code?id=AI-agent-assembly_node-sdk)
[![License](https://img.shields.io/badge/license-Apache--2.0-blue?logo=apache)](./LICENSE)
[![Node](https://img.shields.io/badge/node-%E2%89%A518.18-339933?logo=nodedotjs)](https://github.com/ai-agent-assembly/node-sdk/blob/master/package.json)
[![Code style](https://img.shields.io/badge/style-eslint-4B32C3?logo=eslint)](https://github.com/ai-agent-assembly/node-sdk/blob/master/eslint.config.mjs)
[![Node](https://img.shields.io/badge/node-%E2%89%A518.18-339933?logo=nodedotjs)](https://github.com/ai-agent-assembly/node-sdk/blob/main/package.json)
[![Code style](https://img.shields.io/badge/style-eslint-4B32C3?logo=eslint)](https://github.com/ai-agent-assembly/node-sdk/blob/main/eslint.config.mjs)

TypeScript/Node.js SDK for Agent Assembly, licensed under Apache 2.0.

Expand Down Expand Up @@ -292,7 +292,7 @@ Run the native integration acceptance test (skipped unless the binding is built)
- `AA_NATIVE_TEST=1 pnpm vitest run tests/native-napi-integration.test.ts`

The `build-addon` GitHub workflow compiles the native addon (Node 20 and 22): an
ubuntu-only debug build on pull requests, and ubuntu + macOS builds on `master` and release
ubuntu-only debug build on pull requests, and ubuntu + macOS builds on `main` and release
tags. The addon embeds a Unix-domain-socket transport and **does not build on Windows** β€”
see [Platform support](#platform-support) below.

Expand Down Expand Up @@ -336,7 +336,7 @@ Full guides, architecture deep-dives, and the complete API reference are publish
**https://docs.agent-assembly.com/node-sdk/**

The site is built from the `docs/` (content) and `website/` (Docusaurus app) directories
and is re-published on every push to `master` via the `publish-docs.yml` workflow.
and is re-published on every push to `main` via the `publish-docs.yml` workflow.

## Related projects

Expand Down
4 changes: 2 additions & 2 deletions codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@
# both tools now count the same effective set (`src/` minus generated code).
codecov:
token: $CODECOV_TOKEN
branch: master
strict_yaml_branch: master
branch: main
strict_yaml_branch: main
ignore:
- "native/aa-ffi-node/index.cjs"
# Generated protoc-gen-ts_proto output; Sonar excludes it too
Expand Down
2 changes: 1 addition & 1 deletion docs/02-quick-start/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ See [Configuration](../05-configuration/index.md) for the full resolution order.
runs: an allowed call executes normally, while a denied call throws a
`PolicyViolationError` and the tool body never runs. Pick your framework below β€”
each tab is the governance-wiring excerpt from that framework's runnable
[example](https://github.com/ai-agent-assembly/examples/tree/master/node), vendored
[example](https://github.com/ai-agent-assembly/examples/tree/HEAD/node), vendored
into this repo and kept in lock-step with this page by a CI drift check β€” the check
catches this page drifting from the vendored snippet, not the vendored snippet
drifting from the upstream example. Copy the full, runnable script β€” imports,
Expand Down
4 changes: 2 additions & 2 deletions docs/04-guides/container-base-image.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,9 @@ SDK version. A bare `docker build` of the image without the arg gets the default
## See also

- **Canonical core guide β€”**
[container base images](https://github.com/ai-agent-assembly/agent-assembly/blob/master/docs/src/usage-guide/container-base-images.md)
[container base images](https://github.com/ai-agent-assembly/agent-assembly/blob/HEAD/docs/src/usage-guide/container-base-images.md)
(the authoritative reference; the published doc-site page is not live yet).
- **ADR 0009 β€”**
[versioned base-image tags and SDK pinning](https://github.com/ai-agent-assembly/agent-assembly/blob/master/docs/src/adr/0009-versioned-base-image-tags-and-sdk-pinning.md).
[versioned base-image tags and SDK pinning](https://github.com/ai-agent-assembly/agent-assembly/blob/HEAD/docs/src/adr/0009-versioned-base-image-tags-and-sdk-pinning.md).
- [Quick Start](../02-quick-start/index.md) β€” install the SDK and govern your first agent.
- [Configuration](../05-configuration/index.md) β€” gateway URL and API-key resolution for the running container.
2 changes: 1 addition & 1 deletion docs/06-api-reference/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ inside this **API Reference** section. Navigation, search, and dark mode all wor
without extra configuration.

You do not need to commit anything under `docs/06-api-reference/api/`; the workflow
regenerates it on each push to `master`.
regenerates it on each push to `main`.

## Manual regeneration

Expand Down
2 changes: 1 addition & 1 deletion docs/07-compatibility-versioning/compatibility.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ requires **Node.js β‰₯ 18.18.0**; older lines (≀ 16) are unsupported.
| 24 | βœ… | βœ… | βœ… |

This matrix is enforced by `.github/workflows/test-matrix.yml`, which runs the full grid on
pushes to `master` and on release tags, and an ubuntu-only subset on pull requests for fast
pushes to `main` and on release tags, and an ubuntu-only subset on pull requests for fast
feedback.

### Prebuilt native packages
Expand Down
Loading
Loading