AI SDK 7.0.157 stabilizes tool filtering, while tool visibility still is not execution authority
Released October 29, AI SDK 7.0.157 graduates `filterActiveTools` to a stable export and makes `LanguageModelStreamPart` a stable type while retaining deprecated aliases. It also fixes Node API warnings caused by telemetry runtime detection in the Next.js Edge Runtime.
Why it matters
Generative interfaces and agents often connect large sets of search, data, action and rendering tools. Narrowing the model-visible set per step can remove irrelevant schemas, reduce selection ambiguity and preserve type inference. Treating 'not shown to the model' as 'not allowed to execute', however, turns a prompt optimization into a false authorization boundary.
A closer look
Stable `filterActiveTools` takes a full tool registry and an activeTools list and returns a typed subset. `experimental_filterActiveTools` remains as a deprecated alias for gradual migration. Stable `LanguageModelStreamPart` unifies model-stream event typing, with `Experimental_LanguageModelStreamPart` retained until v8; the custom-loop function `experimental_streamLanguageModelCall` itself remains experimental. The Edge fix changes `process.release` detection to optional `globalThis.process` access, and the maintainer verified that warnings disappeared in a Next.js end-to-end example. An updated gateway dependency also preserves caller cancellations instead of fabricating retryable HTTP 500 errors, but that is a dependency change rather than an AI core API change.
Who this is for
TypeScript teams using AI SDK for multi-tool agents, generative UI, MCP catalogs, per-step tool selection, Edge deployment and authorization
Original sources
- Vercel AI SDK official release, implementation commits and open design issue ↗github.com
- Stable LanguageModelStreamPart implementation and migration ↗github.com
- Next.js Edge runtime detection fix ↗github.com
- Open tool registry, availability, cache and execution-semantics design issue ↗github.com
Revisions & corrections (2)
— Publish the verified 7.0.157 release. The open design issue is a documented limitation and counterexample, not a date or identity conflict.
— Publish a verified framework boundary change and preserve the official open issue showing that model-visible tool filtering is not an authorization control.