AI SDK Type-Safe Package 3.0.23 Released: Reasoning and Token Controls Added to Decision Calls

Type-safe package 3.0.23 adds output length and reasoning parameters to experimental decision calls with pass-through support.
`@ai-sdk/typesafe-ai` releases patch 3.0.23, adding `maxOutputTokens` and `reasoning` parameters to experimental decision calls and passing them through to the language-model-driven decision flow, while updating `@ai-sdk/provider` and `@ai-sdk/provider-utils` to 4.0.31 and 5.0.64. The parameters behave differently across adapters: language model adapters disable reasoning by default when `reasoning` is omitted, a conservative approach; native decision providers emit a warning rather than silently ignoring unsupported settings. The article argues this update extends the type-safe layer from constraining input/output structures to covering runtime policies of call behavior, especially valuable for multi-model, multi-provider applications, and offers upgrade checkpoints.

The type-safe extension package @ai-sdk/typesafe-ai in the AI SDK ecosystem has released version 3.0.23. This is a minor patch update, but the changes touch on an increasingly critical aspect of AI applications: how to control model output length and reasoning behavior while maintaining type safety.
A Patch Update That Fills Two Gaps in Decision Calls
According to the release notes on GitHub, the core commit for this update is 0c2a9de, which adds two parameters—maxOutputTokens and reasoning—to experimental decision calls and passes them through to the language-model-driven decision flow. Additionally, the dependencies @ai-sdk/provider and @ai-sdk/provider-utils have been updated to 4.0.31 and 5.0.64, respectively.
Judging by the version number, this is a routine patch release, but it addresses a configuration-passing issue that developers encounter in practice: whether parameters can take effect consistently when decision logic is handled by different backends.
The Vercel AI SDK is a toolkit for building LLM applications in TypeScript/JavaScript. Its core idea is to abstract the interfaces of different model providers (OpenAI, Anthropic, Google, etc.) into a unified protocol; @ai-sdk/provider defines the interface types for this protocol, and @ai-sdk/provider-utils provides shared utilities such as parameter validation and streaming parsing. @ai-sdk/typesafe-ai builds on top of these, adding stronger compile-time type constraints to the call chain. Since these three packages sit in the same dependency chain, minor adjustments to lower-level packages often require synchronized version bumps in upper-level packages. The updates to provider and provider-utils in this release fall into this category, which also explains why dependency changes appear in a patch version.
Parameter Semantics: Conservative by Default, Warn When Unsupported
The release notes clarify the behavioral differences of the two parameters across different adapters—details that determine what developers need to pay attention to during migration.
Language Model Adapters: Reasoning Disabled When Unspecified
When decisions are driven by a language model adapter, if the caller does not pass the reasoning parameter, reasoning remains disabled. This is a conservative default that avoids triggering extra reasoning overhead or behavioral changes when not explicitly requested. For teams already running decision flows in production, if they want reasoning capability after upgrading, they need to pass the parameter explicitly.
Native Decision Providers: Warn When Unsupported
For native decision providers, if the backend does not support either of these settings, the system emits a warning rather than silently ignoring it. This design surfaces configuration-capability mismatches during development, making them easier to diagnose than silent runtime failures.
Comparing the two, the design philosophy behind this update is "safe by default, problems visible": it does not arbitrarily enable features that may increase costs, nor does it let unsupported configurations fail silently.
"Experimental" is a naming convention in the AI SDK: APIs with this prefix indicate that the interface shape is not yet frozen and may be adjusted or even removed in a minor version, but they enter the release package early for developers to try out and provide feedback. Experimental decision calls refer to a call shape where the model determines the next action (rather than merely generating text), and their parameter set is still evolving. Therefore, when adding maxOutputTokens and reasoning, the choice was to attach them to this entry point rather than to a stable API, which both allows early adopters to validate behavior and preserves room for future adjustments to parameter semantics. Regarding dependency versioning strategy, incrementing the patch number typically corresponds to backward-compatible fixes and new optional parameters, but experimental interfaces are not bound by this guarantee, so release notes should still be read when upgrading.
Why These Two Parameters Deserve a Dedicated Release
In type-safe AI call wrappers, parameter pass-through may seem trivial, but it is actually the seam between the type system and runtime capabilities. maxOutputTokens relates to controllability of cost and response latency, while reasoning relates to whether the model enters a more compute-intensive reasoning mode. Both are configuration items that follow the pattern of "has a default when omitted, takes effect when passed, and must be clearly reported when unsupported."
Bringing such parameters into the unified entry point of experimental decision calls means the type-safe layer is expanding from merely constraining input/output structures to covering runtime policies of call behavior. For teams building multi-model, multi-provider applications, this consistency is more valuable than any single feature point.
Upgrade Recommendations
This update is at the patch level, with synchronized dependency updates and no mention of breaking changes. Projects using experimental decision calls can upgrade through the normal process and check two things: whether decision paths that rely on language model adapters need to explicitly enable reasoning; and whether paths using native decision providers will trigger unsupported-setting warnings due to the new parameters. If warnings appear, this is expected behavior—simply adjust the configuration as prompted.
For projects not yet using experimental decision calls, this update does not affect existing calls and can be handled along with the next dependency update.
FAQ
Is this update a breaking change?
The release notes label it as Patch Changes and do not list any breaking changes. The main risk point is whether native decision providers support the new parameters—a warning is emitted when they do not.
What happens if reasoning is not passed?
Under language model adapters, reasoning is disabled by default; under native decision providers, a warning is emitted if the setting is not supported.
What is the scope of maxOutputTokens?
It applies to experimental decision calls and is passed through to the language-model-driven decision flow to constrain the number of output tokens.
One-line Summary
The type-safe package 3.0.23 adds output length and reasoning parameters to experimental decision calls and passes them through.
Paragraph Summary
@ai-sdk/typesafe-ai has released patch version 3.0.23. The core change adds two parameters—maxOutputTokens and reasoning—to experimental decision calls and passes them through to the language-model-driven decision flow, while updating @ai-sdk/provider and @ai-sdk/provider-utils to 4.0.31 and 5.0.64, respectively. The two parameters behave differently across adapters: language model adapters disable reasoning by default when reasoning is not passed, a conservative stance; native decision providers emit a warning rather than silently ignoring unsupported settings. The article argues that this update extends the type-safe layer from constraining input/output structures to covering runtime policies of call behavior, which is especially valuable for multi-model, multi-provider applications, and provides key checkpoints for upgrading.
Related articles

JobRunner MCP Server: AI Agents Can Now Fix Failed Java Jobs
JobRunner launches an open-source MCP server enabling AI agents to view cluster status, diagnose failures, and recover Java jobs—incident response from any cloud coding environment or existing agent.

MLAI Digital Launches 9 Security Agents: MCP Server Safeguards the Full Lifecycle of Agentic AI
MLAI Digital launches Security MCP Server with nine built-in specialized security agents covering vulnerability discovery, attack simulation, prompt injection detection, API and infrastructure assessment, and accelerated remediation—embedding security validation across the full Agentic AI lifecycle from development to production.

Running Isaac Lab on H100 GPUs: Exploring Better Approaches
Exploring optimization methods for running Isaac Lab on NVIDIA H100 GPUs, including MIG configuration, mixed precision, TensorRT acceleration, and community experience to improve robotics simulation and reinforcement learning efficiency.