Repository navigation
Version Packages - #238
Merged
Merged
Version Packages#238
Conversation
github-actions
Bot
force-pushed
the
changeset-release/main
branch
from
October 21, 2026 21:03
0d9bd3b to
b8c1671
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@core-ai/anthropic@0.36.0
Minor Changes
maxUnionParameters: 16, so strict tools with more than 16 union-typed parameters in total, nullable keys included, throwToolSchemaStrictnessErrorlocally instead of failing with a provider error.defer_loadingand loaded bytool_referenceblocks, which keeps the prompt cache intact, and a never-referenced deferred placeholder keeps deferred loading active for the whole conversation. Older models emulate discovery with ordinary tools. TheemulateToolDiscoveryprovider option forces emulation.providerOptions.anthropic.cacheControl(augmentingToolDiscoveryResultMessageProviderOptions, with the newAnthropicToolDiscoveryResultMessageProviderOptionstype and schema), natively and emulated, so a step that ends with a discovery result can carry an explicit cache breakpoint. It counts toward the 4-breakpoint limit like any other.Patch Changes
@core-ai/anthropic-vertex@0.36.0
Minor Changes
maxUnionParameters: 16, so strict tools with more than 16 union-typed parameters in total, nullable keys included, throwToolSchemaStrictnessErrorlocally instead of failing with a provider error.defer_loadingand loaded bytool_referenceblocks, which keeps the prompt cache intact. Older models emulate discovery with ordinary tools. TheemulateToolDiscoveryprovider option under theanthropic-vertexkey forces emulation.cacheControlunder theanthropic-vertexkey (the newAnthropicVertexToolDiscoveryResultMessageProviderOptionstype), natively and emulated, so a step that ends with a discovery result can carry an explicit cache breakpoint.Patch Changes
@core-ai/azure-openai@0.36.0
Minor Changes
gpt-5.4-nanoandgpt-5.5-pro), with a client-executedtool_searchtool that keeps the prompt cache intact. TheemulateToolDiscoveryprovider option under theazure-openaikey forces emulation. The Chat Completions and classic APIs emulate discovery with ordinary function tools.Patch Changes
@core-ai/core-ai@0.36.0
Minor Changes
aa18a92: Add
toPortableToolName(), which returns a tool name every provider accepts: valid names unchanged, any other name with invalid characters replaced by_, a leading_where needed, and at most 128 characters. Characters are replaced per UTF-16 code unit, and the result depends only on the name, so it stays the same across releases. Use it for names you do not control, such as MCP tool names, check that the converted names stay unique, and map tool calls back to the original name.aa18a92: Add
ModelCapabilities.tools.strictSchemas.maxUnionParameters, a per-request limit on union-typed parameters (properties whose schema is ananyOf, aoneOf, or atypearray with more than one entry, nullable keys included) across a request's strict tools. Strict tools beyond it throwToolSchemaStrictnessErrorwith the new reason'union-limit-exceeded'and itsmaxUnionParametersandunionParameterCountfields before the provider request.Type change:
ToolSchemaStrictnessErrorReasongains'union-limit-exceeded', so exhaustive switches over it must handle it.aa18a92: Add tool discovery. With
toolDiscoveryset ongenerate/stream, core-ai declares a discovery tool; the model's calls to it arrive asToolDiscoveryCalls in the newresult.discoveryCalls(never intoolCalls; inpartsasToolDiscoveryCallParts wrapping them, streamed as onetool-discovery-callevent), and the application answers each with aToolDiscoveryResultMessage(discoveryCallId) listingToolSnapshots (tool definitions with plain JSON Schema parameters), or no tools and an optionalnoteexplaining why. Discovered tools are then callable by their real names on every provider and stay declared while their results are in the history.finishReason: 'tool-calls'covers pending discovery calls, so loop onfinishReasonand answer bothtoolCallsanddiscoveryCalls. Discovery calls pair with their results per step. Malformed discovery histories, anotenext to tools, a tool name listed twice in one result, reserved tool names, snapshot names some provider rejects (only letters, digits, underscores, and dashes, starting with a letter or underscore, up to 128 characters), snapshotparametersthat are not an object schema withtype: "object"at the root, and atoolChoicenaming a non-caller tool throwValidationErrorbefore any provider call, also ongenerateObject/streamObject, which declare no discovered tools. Every strict snapshot in the history, including ones a later discovery replaced while the latest snapshot of that name is strict, is checked against the strict-capable schema contract on every model bygenerate/stream(structured output declares no snapshot and skips it), and declared withoutstricton models without strict tool support or beyond theirmaxStrictToolsormaxUnionParameterslimit.Type change:
ModelCapabilitiesgains a requiredtools.toolDiscoveryfield ('native' | 'emulated') andGenerateResulta requireddiscoveryCallsarray, so code that builds either by hand must add them.Message,AssistantContentPart, andStreamEventgain the new members, so exhaustive switches over them must handle them. Adds adapter helpers (resolveToolDiscovery,getEmulatedToolSet,emulateToolDiscoveryMessages,getStructuredOutputMessages, and others);finalizeGenerateResultand therequestoption ofcreateChatStreamturn calls to the discovery tool into discovery calls.aa18a92:
ToolDiscoveryResultMessageacceptsproviderOptions, typed by the newToolDiscoveryResultMessageProviderOptionsinterface for provider packages to augment; emulated rendering forwards them to the tool result the discovery result becomes. Adds the adapter helpergetDiscoveryCalls.@core-ai/google-genai@0.36.0
Minor Changes
Patch Changes
@core-ai/google-vertex@0.36.0
Minor Changes
Patch Changes
@core-ai/kimi@0.36.0
Minor Changes
Patch Changes
@core-ai/langfuse@0.36.0
Minor Changes
input_cache_readandinput_cache_creation(previouslycache_read_inputandcache_creation_input).outputnow includes reasoning tokens and thereasoning_outputkey is removed; the reasoning token count is recorded asreasoningTokensin the observation metadata instead.Patch Changes
@core-ai/mistral@0.36.0
Minor Changes
Patch Changes
tool-call-startbefore a tool call's firsttool-call-delta, like the other adapters. The first delta came first before.@core-ai/omnifact@0.36.0
Minor Changes
Patch Changes
@core-ai/openai@0.36.0
Minor Changes
gpt-5.4-nanoandgpt-5.5-pro), with a client-executedtool_searchtool: discovered tools are delivered as deferred functions intool_search_outputitems, each output as stored, so discoveries and refreshed definitions keep the prompt cache intact (unless a refresh changes whether a name is strict, which re-renders its earlier outputs) and the model uses the newest definition of a name, and replayed calls to them carry theirnamespace. Thenoteof an empty result follows the step's tool outputs as a developer message. Other models and the Chat Completions API emulate discovery with ordinary function tools. TheemulateToolDiscoveryResponses provider option forces emulation.Patch Changes
tool-call-start, so a discovery call streams as a singletool-discovery-callevent there too.'tool-calls'when the API reportsstop, as OpenAI does whentoolChoicenames a tool and some OpenAI-compatible servers do for every tool call. Streams now emit those calls'tool-call-endevents instead of dropping them, and tool-basedgenerateObject/streamObjectreport'tool-calls'.tool-call-startbefore a tool call's firsttool-call-delta, like the other adapters. The first delta came first before.@core-ai/openai-compat@0.36.0
Minor Changes
Patch Changes
@core-ai/opentelemetry@0.36.0
Minor Changes
Patch Changes
gen_ai.tool.definitionslists the tools the model is offered: with tool discovery, also the discovery tool and the discovered tools. Each definition carries the tool's own name instead of its key intools. A history that fails discovery validation records only the caller's tools and never fails the call.@core-ai/xai@0.36.0
Minor Changes
Patch Changes
@core-ai/axiom@0.36.0
Patch Changes