@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

Vibe Coding Full-Stack in Practice: AI Programming from Beginner to Enterprise Deployment
From Cursor to Claude Code, this Bilibili AI programming course uses four progressive projects to cover full-stack development, open-source secondary development, and team collaboration. The article analyzes the shock to frontend roles, the efficiency shift from 50 people to 5, and the methodology required for enterprise-grade projects.

David Blaine's Global Quest for Real Magic: From South Africa to Japan and India
David Blaine travels to South Africa, Japan, and India in his Do Not Attempt special, documenting Spinning drivers, black mamba rescuers, iaijutsu masters, and ascetics—exploring the boundary between magic and real human极限 challenges.

Is a Touchscreen MacBook Coming? Vergecast Reveals Apple Executive's Response
Vergecast podcast reveals a conversation between a reporter and Apple executive John Ternus about a touchscreen MacBook and Apple Pencil support. Ternus says iPad is the best device for a stylus, while the reporter bets MacBook will eventually support Apple Pencil.