[AAASM-3530] 📝 (docs): Declare framework compatibility + backfill peerDeps#174
Conversation
node-sdk auto-detects 5 frameworks but only declared peerDependency ranges for @langchain/core and @openai/agents. Add @langchain/langgraph (>=1.0.0), ai (>=5.0.0) and @mastra/core (>=0.20.0) as optional peer deps, using the major lines the AAASM-3525 cross-repo live smokes run against. Marked optional so the SDK installs without any framework present. Refs AAASM-3530 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Add a "Framework compatibility" section listing the 5 auto-detected frameworks, their optional peer-dependency packages, and version floors, plus a link to the canonical product-wide matrix in the core docs. Refs AAASM-3530 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The AAASM-3530 peerDeps backfill made pnpm 10 materialize the optional ai / @langchain/langgraph / @mastra/core peers into this repo's own node_modules. With the real `ai` ESM module present, initAssembly's framework detection fires and the Vercel adapter assigns to the frozen ESM `tool` binding -> `Cannot assign to read only property 'tool'`, turning ~20 unrelated unit tests red on Node 18/20/22/24. A peerDependency is a published contract, not an install. Add a .pnpmfile.cjs readPackage hook that strips those three optional peers from this project's manifest during resolution, so they stay declared in package.json (the contract) but are neither recorded in the importer nor installed here. The lockfile importer is now byte-identical to master (only a pnpmfileChecksum line is added) and `pnpm install --frozen-lockfile` stays consistent. Refs AAASM-3530 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The new pnpm install hook is a CommonJS module; give it `module`/`require` globals and `sourceType: commonjs` so eslint lints it (mirroring the existing scripts/**/*.mjs block) instead of flagging `no-undef`. Refs AAASM-3530 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
🤖 Claude Code — PR review (record)CI: ✅ green — the Scope vs AAASM-3530 (node part): ✅ covers it. Backfills the 3 missing optional Regression caught + fixed during review: declaring Filed separately: AAASM-3532 — the frozen-ESM crash is a real consumer-facing adapter bug (same class as the OpenAI-Agents 3528 fix); not fixed here (out of this docs PR's scope). Verdict: ✅ Ready to approve & merge (AAASM-3530 set). |
…ative); trim README Move the 5-framework compatibility table (LangChain.js, LangGraph.js, Vercel AI SDK, Mastra, OpenAI Agents) to the Docusaurus compatibility page, which is now the authoritative Node SDK reference. Note the AAASM-3532 Vercel AI SDK caveat. Trim the README to a short pointer at the docs page plus the core cross-SDK index/hub, avoiding duplication. Refs AAASM-3530 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|



What changed
node-sdk auto-detects and governs 5 agent frameworks but only declared
peerDependenciesranges for 2 of them. This PR:package.json(+peerDependenciesMeta):@langchain/langgraph>=1.0.0ai(Vercel AI SDK)>=5.0.0@mastra/core>=0.20.0README.mdlisting all 5frameworks, their peer-dependency packages, version ranges, and a link to
the canonical product-wide matrix at
https://ai-agent-assembly.github.io/agent-assembly/stable/reference/framework-compatibility.html(the
/stable/link 404s until GA by design, consistent with AAASM-3523).Why
The declared peer-dependency set was incomplete relative to the frameworks the
SDK actually hooks (
src/hooks/). Consumers got no resolver signal forLangGraph, Vercel AI, or Mastra. Marking them
optional: truekeeps the SDKinstallable with zero frameworks present.
Version floors
Floors are the major lines the AAASM-3525 cross-repo live smokes run against
(per the driver fixtures in
agent-assembly-integration-tests/tests/live/drivers/node-frameworks/):@langchain/langgraph ^1.0.0,ai ^5.0.0,@mastra/core ^0.20.0. Expressedas
>=xfloors (no fabricated upper bounds). The two pre-existing floors(
@langchain/core >=0.3.0,@openai/agents >=0.1.0) are unchanged.How to verify
pnpm installresolves;pnpm lintandpnpm typecheckclean.Refs AAASM-3530