@ai-sdk/workflow 2.0.89 Released: Experimental APIs Graduate, Vercel AI SDK Ecosystem Advances Further

@ai-sdk/workflow 2.0.89 graduates two experimental APIs and updates the dependency chain.
Vercel AI SDK sub-package @ai-sdk/workflow released 2.0.89. Though a patch update, it stabilizes two APIs: `LanguageModelStreamPart` becomes stable with the experimental variant deprecated; `filterActiveTools` graduates from the experimental namespace. Dependencies including `ai@7.0.157` and `@ai-sdk/provider-utils@5.0.71` are updated in sync. The article views this as a sign that the AI SDK's streaming abstraction and tool filtering are maturing, especially relevant for multi-tool Agent teams, and suggests developers migrate away from `experimental_` prefixed calls.
Vercel's AI SDK has become the go-to toolchain for many developers building LLM applications. Recently, its sub-package @ai-sdk/workflow released version 2.0.89 — a patch update, but one that includes two important API stabilization changes.

Two Experimental APIs Officially Graduate
The core of this update is promoting two long-experimental APIs to stable interfaces. First, LanguageModelStreamPart is now stable, while Experimental_LanguageModelStreamPart is marked deprecated. This means developers can confidently use this type in production without worrying about breaking upgrades from experimental interfaces changing at any time.
Second, filterActiveTools graduates from the experimental namespace and is now exported directly as filterActiveTools, with the original experimental_filterActiveTools retained as a deprecated alias. This gradual migration strategy is friendlier to existing codebases — upgrading won't immediately break existing logic.
LanguageModelStreamPart is the union type in the AI SDK that describes chunks of streaming output from language models. In interfaces like streamText and streamObject, the model doesn't return a complete result at once but a sequence of events arriving in order — such as text deltas, tool calls, tool results, finish events, and error events. LanguageModelStreamPart defines a discriminated union for these events, allowing TypeScript to narrow to specific chunk types based on the type field. Since streaming protocols vary significantly across providers, this type went through multiple rounds of adjustment during its experimental phase and only became suitable as a public contract for higher-level applications once stable.
Dependency Chain Updated in Sync
Alongside the API changes, this release updates several dependency packages, including ai@7.0.157 and @ai-sdk/provider-utils@5.0.71. As the version numbers show, the main AI SDK package has entered the 7.x series, with the entire toolchain continuing to iterate. For teams using pnpm or npm, such patch updates can usually be merged painlessly, but it's still recommended to run type checks in CI to confirm deprecated aliases aren't being misused in new code.
@ai-sdk/provider-utils is the shared utility package for the AI SDK's model provider adaptation layer, encapsulating common low-level capabilities across providers — such as request construction, streaming response parsing, error mapping, retry and timeout handling, and compatibility logic for provider version specifications. Upper-layer packages like @ai-sdk/openai and @ai-sdk/anthropic depend on it to smooth over API differences between vendors into a unified LanguageModelV2 interface. So while patch version changes in this package may seem insignificant, they can affect streaming behavior across all providers — worth checking its changelog when upgrading.
Practical Impact on Developers
From an engineering perspective, experimental APIs graduating is a positive signal. It shows that the AI SDK's streaming abstraction and tool filtering capabilities have been validated across enough real-world scenarios that their interface shapes are stabilizing. For teams building multi-tool Agents, the stabilization of filterActiveTools is particularly noteworthy — it directly affects the reliability of dynamically filtering available tools at runtime.
That said, note that while patch versions semantically contain no breaking changes, deprecated aliases will eventually be removed in some future major version. After upgrading, it's worth doing a global search for calls with the experimental_ prefix and gradually migrating to stable APIs to clear the path for future upgrades.
filterActiveTools filters a subset of currently available tools from a tool collection at runtime based on conditions. In multi-tool Agent scenarios, the number of tools can reach dozens, while a single conversation turn often only needs a portion of them; stuffing all tool descriptions into context wastes tokens and reduces the model's accuracy in tool selection. This function typically takes a tool definition object and a predicate function or condition, returning a filtered tool map for use in the tools parameter of generateText or streamText. Stabilization means its signature and return types no longer fluctuate with minor versions, making it suitable for encapsulating into a team's internal foundation libraries.
Summary
@ai-sdk/workflow 2.0.89 is a classic "small version, big significance" update: two experimental interfaces graduate and the dependency chain follows suit. It reminds us that the AI SDK ecosystem is transitioning from a rapid trial-and-error phase to stable engineering. Keeping up with such changes helps teams avoid pitfalls from interface changes when building AI applications.
One-line Summary
@ai-sdk/workflow 2.0.89 graduates two experimental APIs and updates the dependency chain.
Paragraph Summary
Vercel AI SDK sub-package @ai-sdk/workflow released version 2.0.89. Although a patch update, it completes two API stabilizations: LanguageModelStreamPart becomes a stable type with Experimental_LanguageModelStreamPart deprecated; filterActiveTools graduates from the experimental namespace with experimental_filterActiveTools retained as a deprecated alias. It also updates dependencies including ai@7.0.157 and @ai-sdk/provider-utils@5.0.71. The article sees this as a sign that the AI SDK's streaming abstraction and tool filtering capabilities are maturing — particularly meaningful for teams building multi-tool Agents — and recommends developers globally search for experimental_ prefix calls and gradually migrate to stable interfaces.
Related articles
AWS AgentCore Gateway: Connecting AI A…
AWS AgentCore Gateway: Connecting AI Agents to Enterprise Backends with MCP
How AWS AgentCore Gateway acts as a primary MCP server to aggregate REST APIs, Lambda, and existing MCP services? Analyzing its AST real-time mapping, zero cold start, semantic search for tool overload, session isolation, and key injection security design, plus the architectural approach to decoupling enterprise AI agents from backends.

One Link Gives Figma AI a New Skill: Hands-On with MCP Connectors
Paste one MCP server link and the AI Agent in Figma gains new tool capabilities. We break down the setup flow, 20+ one-click apps, read/write permissions and execution policies, and the public HTTPS requirement.

Cognition SWE-2 in Practice: One Prompt to Handle the Whole Product Launch Process
Analyzing a YouTube creator's prompt for using Cognition SWE-2 to launch a product: a landing page, seven-email sequence, and non-buyer follow-up tool, plus how the 'test and report' constraint changes AI delivery quality.