From e55d3d8bdf394ead453fc12a5c0b6250e7ce91fe Mon Sep 17 00:00:00 2001 From: Chisanan232 Date: Thu, 23 Jul 2026 09:13:38 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=A7=20(ci):=20Flip=20workflow=20br?= =?UTF-8?q?anch=20filters=20+=20checkout/dispatch=20refs=20master=20?= =?UTF-8?q?=E2=86=92=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of AAASM-4960 (default-branch master → main migration, ADR 0016). The GitHub rename retargets open PRs and installs a master→main redirect but does not touch workflow branch filters, so on.push.branches, the publish-docs deploy conditional, and release-node.yml's checkout ref + docs-version PR base must be repointed to main explicitly. --- .github/workflows/build-addon.yml | 6 +++--- .github/workflows/codeql.yml | 2 +- .github/workflows/dependency-audit.yml | 2 +- .github/workflows/module-system-smoke.yml | 2 +- .github/workflows/native-pin-consistency.yml | 2 +- .github/workflows/precommit.yml | 2 +- .github/workflows/publish-docs.yml | 6 +++--- .github/workflows/quality-report.yml | 2 +- .github/workflows/release-node.yml | 18 +++++++++--------- .github/workflows/test-matrix.yml | 2 +- 10 files changed, 22 insertions(+), 22 deletions(-) diff --git a/.github/workflows/build-addon.yml b/.github/workflows/build-addon.yml index 9f2236c79..27e565168 100644 --- a/.github/workflows/build-addon.yml +++ b/.github/workflows/build-addon.yml @@ -13,7 +13,7 @@ on: - "docs/**" - "LICENSE" branches: - - master + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -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] @@ -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 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 7ecf2a822..93b8cf3c8 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -12,7 +12,7 @@ on: - "docs/**" - "LICENSE" branches: - - master + - main schedule: - cron: "0 3 * * 1" diff --git a/.github/workflows/dependency-audit.yml b/.github/workflows/dependency-audit.yml index 0015f028f..c34860d60 100644 --- a/.github/workflows/dependency-audit.yml +++ b/.github/workflows/dependency-audit.yml @@ -62,7 +62,7 @@ on: - "docs/**" - "LICENSE" branches: - - master + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/module-system-smoke.yml b/.github/workflows/module-system-smoke.yml index 647dc3e00..90adaebf0 100644 --- a/.github/workflows/module-system-smoke.yml +++ b/.github/workflows/module-system-smoke.yml @@ -12,7 +12,7 @@ on: - "docs/**" - "LICENSE" branches: - - master + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/native-pin-consistency.yml b/.github/workflows/native-pin-consistency.yml index c61a2290c..0c70d88fe 100644 --- a/.github/workflows/native-pin-consistency.yml +++ b/.github/workflows/native-pin-consistency.yml @@ -8,7 +8,7 @@ on: paths: - "native/aa-ffi-node/Cargo.toml" push: - branches: [master] + branches: [main] paths: - "native/aa-ffi-node/Cargo.toml" diff --git a/.github/workflows/precommit.yml b/.github/workflows/precommit.yml index 625a59b37..71ce40bb2 100644 --- a/.github/workflows/precommit.yml +++ b/.github/workflows/precommit.yml @@ -12,7 +12,7 @@ on: - "docs/**" - "LICENSE" branches: - - master + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/publish-docs.yml b/.github/workflows/publish-docs.yml index 3ffdee4c5..c95cfca17 100644 --- a/.github/workflows/publish-docs.yml +++ b/.github/workflows/publish-docs.yml @@ -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: @@ -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. diff --git a/.github/workflows/quality-report.yml b/.github/workflows/quality-report.yml index bfb9309a6..0508bd287 100644 --- a/.github/workflows/quality-report.yml +++ b/.github/workflows/quality-report.yml @@ -12,7 +12,7 @@ on: - "docs/**" - "LICENSE" branches: - - master + - main concurrency: group: ${{ github.workflow }}-${{ github.ref }} diff --git a/.github/workflows/release-node.yml b/.github/workflows/release-node.yml index a15dc92de..ea617b530 100644 --- a/.github/workflows/release-node.yml +++ b/.github/workflows/release-node.yml @@ -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 @@ -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: @@ -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: | @@ -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 @@ -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 @@ -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 - < Date: Thu, 23 Jul 2026 09:18:44 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=93=9D=20(docs):=20Flip=20branch-name?= =?UTF-8?q?=20refs=20in=20docs,=20badges,=20config=20master=20=E2=86=92=20?= =?UTF-8?q?main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of AAASM-4960 (default-branch master → main migration, ADR 0016). Self-repo URLs/badges and codecov default-branch → main; cross-repo links to examples/agent-assembly → /HEAD/ (default-branch-tracking, survives a future rename per ADR 0016 §4); prose, skill runbooks, and the Docusaurus 'latest' channel label → main. Frozen website/versioned_docs snapshots and historical verification-reports are intentionally left as-is. --- .claude/CLAUDE.md | 4 ++-- .claude/skills/release-runbook/SKILL.md | 2 +- .claude/skills/sdk-only-release/EXAMPLES.md | 8 ++++---- .claude/skills/sdk-only-release/SKILL.md | 8 ++++---- CONTRIBUTING.md | 4 ++-- README.md | 12 ++++++------ codecov.yml | 4 ++-- docs/02-quick-start/index.md | 2 +- docs/04-guides/container-base-image.md | 4 ++-- docs/06-api-reference/index.md | 2 +- .../07-compatibility-versioning/compatibility.md | 2 +- docs/07-compatibility-versioning/releasing.md | 10 +++++----- docs/09-examples/custom-tool-policy.md | 6 +++--- docs/09-examples/index.md | 16 ++++++++-------- docs/09-examples/langchain-js-basic-agent.md | 6 +++--- docs/09-examples/langgraph-js.md | 6 +++--- docs/09-examples/mastra.md | 6 +++--- docs/09-examples/openai-node-tool-policy.md | 6 +++--- docs/09-examples/vercel-ai.md | 6 +++--- docs/release/RUNBOOK.md | 8 ++++---- docs/release/npm-dist-tags.md | 2 +- scripts/version-channels.mjs | 8 ++++---- website/README.md | 2 +- website/docusaurus.config.ts | 8 ++++---- website/i18n/en/code.json | 2 +- website/versionChannels.json | 2 +- 26 files changed, 73 insertions(+), 73 deletions(-) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 5d54e1385..31441b6bf 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -62,7 +62,7 @@ pnpm native:build:release # napi-rs release build (per-platform artifact) - **Branch:** `///` (e.g. `v0.0.1/AAASM-42/feat/add_langchain_adapter`). - **PR title:** `[] (): `; 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 @@ -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. diff --git a/.claude/skills/release-runbook/SKILL.md b/.claude/skills/release-runbook/SKILL.md index 8eca73067..27e593344 100644 --- a/.claude/skills/release-runbook/SKILL.md +++ b/.claude/skills/release-runbook/SKILL.md @@ -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 --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-` PR (which aligns `master`'s `aa-sdk-client` SHA with + `bot/aa-ffi-pin-` 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 diff --git a/.claude/skills/sdk-only-release/EXAMPLES.md b/.claude/skills/sdk-only-release/EXAMPLES.md index 0829bc955..e65a1c5af 100644 --- a/.claude/skills/sdk-only-release/EXAMPLES.md +++ b/.claude/skills/sdk-only-release/EXAMPLES.md @@ -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 \ @@ -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 \ @@ -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 \ diff --git a/.claude/skills/sdk-only-release/SKILL.md b/.claude/skills/sdk-only-release/SKILL.md index 5a87c957b..54dadf02b 100644 --- a/.claude/skills/sdk-only-release/SKILL.md +++ b/.claude/skills/sdk-only-release/SKILL.md @@ -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= \ -f binary_source_tag= \ -f publish_mode=main-only \ @@ -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-`) 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: @@ -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) @@ -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. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f0da5b5de..9b3c06e41 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -129,7 +129,7 @@ Before opening a PR, confirm each item: - [ ] PR title format: `[] (): `. - [ ] 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 @@ -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 diff --git a/README.md b/README.md index a25e7e9c4..cc85291ae 100644 --- a/README.md +++ b/README.md @@ -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) @@ -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. @@ -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. @@ -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 diff --git a/codecov.yml b/codecov.yml index ccfe1c77a..da6e1a2bf 100644 --- a/codecov.yml +++ b/codecov.yml @@ -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 diff --git a/docs/02-quick-start/index.md b/docs/02-quick-start/index.md index f38d2663e..eaed2c2bf 100644 --- a/docs/02-quick-start/index.md +++ b/docs/02-quick-start/index.md @@ -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, diff --git a/docs/04-guides/container-base-image.md b/docs/04-guides/container-base-image.md index ae5ca85ab..55f390762 100644 --- a/docs/04-guides/container-base-image.md +++ b/docs/04-guides/container-base-image.md @@ -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. diff --git a/docs/06-api-reference/index.md b/docs/06-api-reference/index.md index 46f948150..6b429f880 100644 --- a/docs/06-api-reference/index.md +++ b/docs/06-api-reference/index.md @@ -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 diff --git a/docs/07-compatibility-versioning/compatibility.md b/docs/07-compatibility-versioning/compatibility.md index fada6526f..272fb0ab8 100644 --- a/docs/07-compatibility-versioning/compatibility.md +++ b/docs/07-compatibility-versioning/compatibility.md @@ -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 diff --git a/docs/07-compatibility-versioning/releasing.md b/docs/07-compatibility-versioning/releasing.md index 2891a3cd6..3931b5f41 100644 --- a/docs/07-compatibility-versioning/releasing.md +++ b/docs/07-compatibility-versioning/releasing.md @@ -63,15 +63,15 @@ Publishing uses npm OIDC Trusted Publishing with `id-token: write` and ## Documentation publishing The documentation site is published separately by `.github/workflows/publish-docs.yml` on -pushes to `master` — it is not part of the npm release. +pushes to `main` — it is not part of the npm release. ## Documentation versioning The docs site uses [Docusaurus versioning](https://docusaurus.io/docs/versioning) to model three release **channels** on top of the immutable version snapshots: -- **latest (master)** — the in-progress docs in `docs/` (the Docusaurus `current` version). - Always tracks `master`, is *never* frozen, is served at `/next/` (not the root, so it +- **latest (main)** — the in-progress docs in `docs/` (the Docusaurus `current` version). + Always tracks `main`, is *never* frozen, is served at `/next/` (not the root, so it never collides with a real cut version), and carries the native `unreleased` banner. - **stable** — the newest snapshot cut from a stable tag (`vX.Y.Z`). It is `lastVersion`, served at the site root, and is the default landing page. Its dropdown label is @@ -101,9 +101,9 @@ snapshot is only ever cut on a real, finished release — a `version-docs` job: 2. Regenerates the per-version `label`s and `banner`s and repoints `lastVersion` (newest stable, else newest pre-release) in `website/docusaurus.config.ts`. 3. Commits the generated `versioned_docs/`, `versioned_sidebars/`, `versions.json` and the - config change, and opens a docs-update PR against `master` (the repo's normal flow). + config change, and opens a docs-update PR against `main` (the repo's normal flow). -The `current` version always keeps tracking `master` under the **latest (master)** label. +The `current` version always keeps tracking `main` under the **latest (main)** label. > Cutting a snapshot manually is not part of the normal flow. If you ever need to recover a > missed snapshot, run `pnpm docusaurus docs:version ` from `website/` and re-run the diff --git a/docs/09-examples/custom-tool-policy.md b/docs/09-examples/custom-tool-policy.md index aecf3462d..c813a2146 100644 --- a/docs/09-examples/custom-tool-policy.md +++ b/docs/09-examples/custom-tool-policy.md @@ -4,7 +4,7 @@ sidebar_position: 3 # Custom tool policy -Source: [`node/custom-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/master/node/custom-tool-policy) +Source: [`node/custom-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/custom-tool-policy) ## What this example demonstrates @@ -131,5 +131,5 @@ All tool calls governed by withAssembly + the local policy. ## Links -- Example directory: [`node/custom-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/master/node/custom-tool-policy) -- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/master/node/custom-tool-policy/README.md) +- Example directory: [`node/custom-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/custom-tool-policy) +- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/HEAD/node/custom-tool-policy/README.md) diff --git a/docs/09-examples/index.md b/docs/09-examples/index.md index 54b15e63f..8a6c4ae46 100644 --- a/docs/09-examples/index.md +++ b/docs/09-examples/index.md @@ -7,7 +7,7 @@ sidebar_position: 1 This section walks through the runnable Node examples that ship in the central [`examples`](https://github.com/ai-agent-assembly/examples) repository, under its -[`node/`](https://github.com/ai-agent-assembly/examples/tree/master/node) +[`node/`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node) directory. Each example is a self-contained TypeScript project with its own `README`; the pages here explain what each one demonstrates, how the governance flow works, and walk through the real source. @@ -33,12 +33,12 @@ install/run commands, and mock vs. real-provider mode. | Example | Framework | Page | Source | | --- | --- | --- | --- | -| `custom-tool-policy` | — (none) | [Custom tool policy](./custom-tool-policy.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/master/node/custom-tool-policy) | -| `openai-node-tool-policy` | OpenAI Node SDK | [OpenAI Node tool policy](./openai-node-tool-policy.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/master/node/openai-node-tool-policy) | -| `langchain-js-basic-agent` | LangChain.js | [LangChain.js basic agent](./langchain-js-basic-agent.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/master/node/langchain-js-basic-agent) | -| `vercel-ai` | Vercel AI SDK | [Vercel AI SDK](./vercel-ai.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/master/node/vercel-ai) | -| `langgraph-js` | LangGraph.js | [LangGraph.js](./langgraph-js.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/master/node/langgraph-js) | -| `mastra` | Mastra | [Mastra](./mastra.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/master/node/mastra) | +| `custom-tool-policy` | — (none) | [Custom tool policy](./custom-tool-policy.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/custom-tool-policy) | +| `openai-node-tool-policy` | OpenAI Node SDK | [OpenAI Node tool policy](./openai-node-tool-policy.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/openai-node-tool-policy) | +| `langchain-js-basic-agent` | LangChain.js | [LangChain.js basic agent](./langchain-js-basic-agent.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/langchain-js-basic-agent) | +| `vercel-ai` | Vercel AI SDK | [Vercel AI SDK](./vercel-ai.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/vercel-ai) | +| `langgraph-js` | LangGraph.js | [LangGraph.js](./langgraph-js.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/langgraph-js) | +| `mastra` | Mastra | [Mastra](./mastra.md) | [dir](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/mastra) | For the exact run steps, follow the per-example pages above or the `README` inside each example directory. @@ -46,5 +46,5 @@ each example directory. ## Cross-cutting scenarios Beyond the per-framework examples, the -[`scenarios/`](https://github.com/ai-agent-assembly/examples/tree/master/scenarios) +[`scenarios/`](https://github.com/ai-agent-assembly/examples/tree/HEAD/scenarios) directory contains cross-cutting demos that exercise governance end to end. diff --git a/docs/09-examples/langchain-js-basic-agent.md b/docs/09-examples/langchain-js-basic-agent.md index d3a833cdd..857f4694f 100644 --- a/docs/09-examples/langchain-js-basic-agent.md +++ b/docs/09-examples/langchain-js-basic-agent.md @@ -4,7 +4,7 @@ sidebar_position: 5 # LangChain.js basic agent -Source: [`node/langchain-js-basic-agent`](https://github.com/ai-agent-assembly/examples/tree/master/node/langchain-js-basic-agent) +Source: [`node/langchain-js-basic-agent`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/langchain-js-basic-agent) ## What this example demonstrates @@ -121,6 +121,6 @@ Done. Tool calls governed by withAssembly + the local policy. ## Links -- Example directory: [`node/langchain-js-basic-agent`](https://github.com/ai-agent-assembly/examples/tree/master/node/langchain-js-basic-agent) -- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/master/node/langchain-js-basic-agent/README.md) +- Example directory: [`node/langchain-js-basic-agent`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/langchain-js-basic-agent) +- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/HEAD/node/langchain-js-basic-agent/README.md) - [LangChain.js](https://js.langchain.com) diff --git a/docs/09-examples/langgraph-js.md b/docs/09-examples/langgraph-js.md index 103c4bd39..e0704d587 100644 --- a/docs/09-examples/langgraph-js.md +++ b/docs/09-examples/langgraph-js.md @@ -4,7 +4,7 @@ sidebar_position: 7 # LangGraph.js -Source: [`node/langgraph-js`](https://github.com/ai-agent-assembly/examples/tree/master/node/langgraph-js) +Source: [`node/langgraph-js`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/langgraph-js) ## What this example demonstrates @@ -157,6 +157,6 @@ Done. Graph-node tool calls governed by withAssembly + the local policy. ## Links -- Example directory: [`node/langgraph-js`](https://github.com/ai-agent-assembly/examples/tree/master/node/langgraph-js) -- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/master/node/langgraph-js/README.md) +- Example directory: [`node/langgraph-js`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/langgraph-js) +- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/HEAD/node/langgraph-js/README.md) - [LangGraph.js](https://langchain-ai.github.io/langgraphjs/) diff --git a/docs/09-examples/mastra.md b/docs/09-examples/mastra.md index 4e2fd2b65..82ec29d46 100644 --- a/docs/09-examples/mastra.md +++ b/docs/09-examples/mastra.md @@ -4,7 +4,7 @@ sidebar_position: 8 # Mastra -Source: [`node/mastra`](https://github.com/ai-agent-assembly/examples/tree/master/node/mastra) +Source: [`node/mastra`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/mastra) ## What this example demonstrates @@ -123,6 +123,6 @@ Done. Mastra tool calls governed by withAssembly + the local policy. ## Links -- Example directory: [`node/mastra`](https://github.com/ai-agent-assembly/examples/tree/master/node/mastra) -- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/master/node/mastra/README.md) +- Example directory: [`node/mastra`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/mastra) +- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/HEAD/node/mastra/README.md) - [Mastra](https://mastra.ai) diff --git a/docs/09-examples/openai-node-tool-policy.md b/docs/09-examples/openai-node-tool-policy.md index 58ae825f7..7d1f1a6cc 100644 --- a/docs/09-examples/openai-node-tool-policy.md +++ b/docs/09-examples/openai-node-tool-policy.md @@ -4,7 +4,7 @@ sidebar_position: 4 # OpenAI Node tool policy -Source: [`node/openai-node-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/master/node/openai-node-tool-policy) +Source: [`node/openai-node-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/openai-node-tool-policy) ## What this example demonstrates @@ -145,5 +145,5 @@ Tool calls governed by withAssembly + the local policy. ## Links -- Example directory: [`node/openai-node-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/master/node/openai-node-tool-policy) -- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/master/node/openai-node-tool-policy/README.md) +- Example directory: [`node/openai-node-tool-policy`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/openai-node-tool-policy) +- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/HEAD/node/openai-node-tool-policy/README.md) diff --git a/docs/09-examples/vercel-ai.md b/docs/09-examples/vercel-ai.md index 1ebb3306c..97d396ead 100644 --- a/docs/09-examples/vercel-ai.md +++ b/docs/09-examples/vercel-ai.md @@ -4,7 +4,7 @@ sidebar_position: 6 # Vercel AI SDK -Source: [`node/vercel-ai`](https://github.com/ai-agent-assembly/examples/tree/master/node/vercel-ai) +Source: [`node/vercel-ai`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/vercel-ai) ## What this example demonstrates @@ -126,6 +126,6 @@ Done. Vercel AI SDK tool calls governed by withAssembly + the local policy. ## Links -- Example directory: [`node/vercel-ai`](https://github.com/ai-agent-assembly/examples/tree/master/node/vercel-ai) -- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/master/node/vercel-ai/README.md) +- Example directory: [`node/vercel-ai`](https://github.com/ai-agent-assembly/examples/tree/HEAD/node/vercel-ai) +- Example README: [`README.md`](https://github.com/ai-agent-assembly/examples/blob/HEAD/node/vercel-ai/README.md) - [Vercel AI SDK](https://sdk.vercel.ai) diff --git a/docs/release/RUNBOOK.md b/docs/release/RUNBOOK.md index 25f5ba144..fa5b58d24 100644 --- a/docs/release/RUNBOOK.md +++ b/docs/release/RUNBOOK.md @@ -34,7 +34,7 @@ contract. To dispatch manually: ```bash gh workflow run release-node.yml \ --repo ai-agent-assembly/node-sdk \ - --ref master \ + --ref main \ -f npm_version=0.0.1-alpha.9 \ -f binary_source_tag=v0.0.1-alpha.9 \ -f publish_mode=all @@ -42,7 +42,7 @@ gh workflow run release-node.yml \ What happens: -1. The workflow checks out master and stamps `npm_version` on the root +1. The workflow checks out main and stamps `npm_version` on the root `package.json`'s `version` field and on each `optionalDependencies` entry pointing at `@agent-assembly/runtime-*`. 2. The 4 platform `aasm-*.tar.gz` binaries from the @@ -74,7 +74,7 @@ publish a new SDK version **without** cutting a new agent-assembly tag. ```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 @@ -82,7 +82,7 @@ gh workflow run release-node.yml \ What happens: -1. The workflow runs against master. +1. The workflow runs against main. 2. `npm_version` (e.g. `0.0.1-alpha.8.1`) is what gets stamped on `@agent-assembly/sdk`'s `package.json`. 3. `binary_source_tag` (e.g. `v0.0.1-alpha.8`) is the agent-assembly diff --git a/docs/release/npm-dist-tags.md b/docs/release/npm-dist-tags.md index 6dd56268b..1b3f326ea 100644 --- a/docs/release/npm-dist-tags.md +++ b/docs/release/npm-dist-tags.md @@ -1,6 +1,6 @@ # npm dist-tag policy — `@agent-assembly/sdk` -This package publishes to npm via [`.github/workflows/release-node.yml`](https://github.com/ai-agent-assembly/node-sdk/blob/master/.github/workflows/release-node.yml). +This package publishes to npm via [`.github/workflows/release-node.yml`](https://github.com/ai-agent-assembly/node-sdk/blob/main/.github/workflows/release-node.yml). Each release is routed to a **channel** dist-tag derived from its SemVer pre-release identifier, and the floating `latest` tag is kept current automatically. diff --git a/scripts/version-channels.mjs b/scripts/version-channels.mjs index 9cc73f927..a10a3be1f 100644 --- a/scripts/version-channels.mjs +++ b/scripts/version-channels.mjs @@ -3,7 +3,7 @@ // (website/versions.json) using the channel model (AAASM-2751). // // Channels: -// - `current` (the live ../docs) -> label "latest (master)", +// - `current` (the live ../docs) -> label "latest (main)", // path "/next/", banner "unreleased" // - newest STABLE snapshot (vX.Y.Z) -> label "stable ()", base path, // no banner, and is `lastVersion` @@ -133,7 +133,7 @@ export function computeChannels(snapshots) { ? newestPrerelease : undefined; - // `current` is always the in-development "latest (master)" channel. + // `current` is always the in-development "latest (main)" channel. // // Path: once any snapshot is cut, `current` is served at `/next/` so it never // collides at the site root with a cut version (the root is owned by the @@ -143,7 +143,7 @@ export function computeChannels(snapshots) { const hasSnapshots = snapshots.length > 0; const versions = { current: { - label: "latest (master)", + label: "latest (main)", ...(hasSnapshots ? {path: "/next/"} : {}), banner: "unreleased", }, @@ -171,7 +171,7 @@ export function computeChannels(snapshots) { versions[tag] = {label, banner}; } - // Default landing: newest stable, else newest SHOWN pre-release, else master. + // Default landing: newest stable, else newest SHOWN pre-release, else main. const lastVersion = newestStable ?? prereleaseShown ?? "current"; return {lastVersion, versions}; diff --git a/website/README.md b/website/README.md index 7ef84dd7f..a939f8a5c 100644 --- a/website/README.md +++ b/website/README.md @@ -35,7 +35,7 @@ pnpm serve # preview the production build locally ## Deployment -The `publish-docs.yml` GitHub Actions workflow builds the site on every push to `master` +The `publish-docs.yml` GitHub Actions workflow builds the site on every push to `main` and deploys to the `gh-pages` branch. Manual deployment is not necessary; if you need to trigger a deploy manually, run the workflow via the **Actions** tab using `workflow_dispatch`. diff --git a/website/docusaurus.config.ts b/website/docusaurus.config.ts index d3479a2a7..f9153d32a 100644 --- a/website/docusaurus.config.ts +++ b/website/docusaurus.config.ts @@ -192,7 +192,7 @@ const config: Config = { "api/**", "superpowers/**", ], - editUrl: "https://github.com/ai-agent-assembly/node-sdk/tree/master/website/", + editUrl: "https://github.com/ai-agent-assembly/node-sdk/tree/main/website/", // Per-page git "Last updated" date + committer (AAASM-2747). // Docusaurus derives both from `git log` for each doc file, so the // publish-docs workflow checks out full history (`fetch-depth: 0`). @@ -203,8 +203,8 @@ const config: Config = { // The docs site models three release "channels" on top of // Docusaurus' immutable version snapshots: // - // - `current` (the live `../docs`) tracks `master`. It is the - // "latest (master)" channel, served at `/next/` (NOT `/`) so it + // - `current` (the live `../docs`) tracks `main`. It is the + // "latest (main)" channel, served at `/next/` (NOT `/`) so it // never collides at the root with a real cut version, and it // carries the native `unreleased` banner. // - the newest STABLE snapshot (tag `vX.Y.Z`) is the "stable" @@ -218,7 +218,7 @@ const config: Config = { // `current` when no snapshot exists. So today — before any snapshot // is cut — `current` is still served at the root even though its // own `path` is `/next/`, and the dropdown shows just - // "latest (master)". + // "latest (main)". // // Snapshots are cut by the RELEASE workflow // (`.github/workflows/release-node.yml`), which runs diff --git a/website/i18n/en/code.json b/website/i18n/en/code.json index e75e442aa..458d54c20 100644 --- a/website/i18n/en/code.json +++ b/website/i18n/en/code.json @@ -1,6 +1,6 @@ { "theme.docs.versions.unreleasedVersionLabel": { - "message": "This is in-development documentation for {siteTitle} {versionLabel}. It tracks master and is not the latest stable release.", + "message": "This is in-development documentation for {siteTitle} {versionLabel}. It tracks main and is not the latest stable release.", "description": "The label used to tell the user that he's browsing an unreleased doc version" }, "theme.docs.versions.unmaintainedVersionLabel": { diff --git a/website/versionChannels.json b/website/versionChannels.json index 8c6180956..dab74f558 100644 --- a/website/versionChannels.json +++ b/website/versionChannels.json @@ -2,7 +2,7 @@ "lastVersion": "0.0.1-rc.6", "versions": { "current": { - "label": "latest (master)", + "label": "latest (main)", "path": "/next/", "banner": "unreleased" },