Skip to content

Version Packages - #238

Merged
flore2003 merged 1 commit into
mainfrom
changeset-release/main
Oct 21, 2026
Merged

flore2003 merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

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

  • aa18a92: Strict-capable Claude models report maxUnionParameters: 16, so strict tools with more than 16 union-typed parameters in total, nullable keys included, throw ToolSchemaStrictnessError locally instead of failing with a provider error.
  • aa18a92: Support tool discovery natively on Claude 4.5 models and later: discovered tools are declared with defer_loading and loaded by tool_reference blocks, 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. The emulateToolDiscovery provider option forces emulation.
  • aa18a92: Discovery results accept providerOptions.anthropic.cacheControl (augmenting ToolDiscoveryResultMessageProviderOptions, with the new AnthropicToolDiscoveryResultMessageProviderOptions type 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

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0

@core-ai/anthropic-vertex@0.36.0

Minor Changes

  • aa18a92: Strict-capable Claude models report maxUnionParameters: 16, so strict tools with more than 16 union-typed parameters in total, nullable keys included, throw ToolSchemaStrictnessError locally instead of failing with a provider error.
  • aa18a92: Support tool discovery natively on Claude 4.5 models and later: discovered tools are declared with defer_loading and loaded by tool_reference blocks, which keeps the prompt cache intact. Older models emulate discovery with ordinary tools. The emulateToolDiscovery provider option under the anthropic-vertex key forces emulation.
  • aa18a92: Discovery results accept cacheControl under the anthropic-vertex key (the new AnthropicVertexToolDiscoveryResultMessageProviderOptions type), natively and emulated, so a step that ends with a discovery result can carry an explicit cache breakpoint.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0
    • @core-ai/anthropic@0.36.0

@core-ai/azure-openai@0.36.0

Minor Changes

  • aa18a92: Support tool discovery natively on the v1 (Responses) API from GPT-5.4 on (except gpt-5.4-nano and gpt-5.5-pro), with a client-executed tool_search tool that keeps the prompt cache intact. The emulateToolDiscovery provider option under the azure-openai key forces emulation. The Chat Completions and classic APIs emulate discovery with ordinary function tools.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/openai@0.36.0
    • @core-ai/core-ai@0.36.0

@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 an anyOf, a oneOf, or a type array with more than one entry, nullable keys included) across a request's strict tools. Strict tools beyond it throw ToolSchemaStrictnessError with the new reason 'union-limit-exceeded' and its maxUnionParameters and unionParameterCount fields before the provider request.

    Type change: ToolSchemaStrictnessErrorReason gains 'union-limit-exceeded', so exhaustive switches over it must handle it.

  • aa18a92: Add tool discovery. With toolDiscovery set on generate / stream, core-ai declares a discovery tool; the model's calls to it arrive as ToolDiscoveryCalls in the new result.discoveryCalls (never in toolCalls; in parts as ToolDiscoveryCallParts wrapping them, streamed as one tool-discovery-call event), and the application answers each with a ToolDiscoveryResultMessage (discoveryCallId) listing ToolSnapshots (tool definitions with plain JSON Schema parameters), or no tools and an optional note explaining 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 on finishReason and answer both toolCalls and discoveryCalls. Discovery calls pair with their results per step. Malformed discovery histories, a note next 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), snapshot parameters that are not an object schema with type: "object" at the root, and a toolChoice naming a non-caller tool throw ValidationError before any provider call, also on generateObject / 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 by generate / stream (structured output declares no snapshot and skips it), and declared without strict on models without strict tool support or beyond their maxStrictTools or maxUnionParameters limit.

    Type change: ModelCapabilities gains a required tools.toolDiscovery field ('native' | 'emulated') and GenerateResult a required discoveryCalls array, so code that builds either by hand must add them. Message, AssistantContentPart, and StreamEvent gain the new members, so exhaustive switches over them must handle them. Adds adapter helpers (resolveToolDiscovery, getEmulatedToolSet, emulateToolDiscoveryMessages, getStructuredOutputMessages, and others); finalizeGenerateResult and the request option of createChatStream turn calls to the discovery tool into discovery calls.

  • aa18a92: ToolDiscoveryResultMessage accepts providerOptions, typed by the new ToolDiscoveryResultMessageProviderOptions interface for provider packages to augment; emulated rendering forwards them to the tool result the discovery result becomes. Adds the adapter helper getDiscoveryCalls.

@core-ai/google-genai@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • aa18a92: Function calls that Gemini returns without an id get a generated, unique id. Parallel calls, calls streamed in separate chunks, and calls of later responses shared fallback ids before, so a call could be dropped or its result paired with the wrong call.
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0

@core-ai/google-vertex@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/google-genai@0.36.0
    • @core-ai/core-ai@0.36.0

@core-ai/kimi@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/openai@0.36.0
    • @core-ai/core-ai@0.36.0

@core-ai/langfuse@0.36.0

Minor Changes

  • 95a6ffa: Report chat usage under the key names Langfuse's managed model prices use, so cached input and reasoning output are no longer priced at $0. Cache tokens are now reported as input_cache_read and input_cache_creation (previously cache_read_input and cache_creation_input). output now includes reasoning tokens and the reasoning_output key is removed; the reasoning token count is recorded as reasoningTokens in the observation metadata instead.
  • aa18a92: Record discovery calls in chat generation output next to tool calls.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0

@core-ai/mistral@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • aa18a92: Streams emit tool-call-start before a tool call's first tool-call-delta, like the other adapters. The first delta came first before.
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0

@core-ai/omnifact@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/openai@0.36.0
    • @core-ai/core-ai@0.36.0

@core-ai/openai@0.36.0

Minor Changes

  • aa18a92: Support tool discovery natively on the Responses API from GPT-5.4 on (except gpt-5.4-nano and gpt-5.5-pro), with a client-executed tool_search tool: discovered tools are delivered as deferred functions in tool_search_output items, 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 their namespace. The note of 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. The emulateToolDiscovery Responses provider option forces emulation.

Patch Changes

  • aa18a92: Chat Completions streams start a tool call once its name is known, with the arguments received so far, and keep its id fixed from then on. Servers that send the name after the first chunk no longer produce a nameless tool-call-start, so a discovery call streams as a single tool-discovery-call event there too.
  • aa18a92: Chat Completions responses that call tools finish with 'tool-calls' when the API reports stop, as OpenAI does when toolChoice names a tool and some OpenAI-compatible servers do for every tool call. Streams now emit those calls' tool-call-end events instead of dropping them, and tool-based generateObject / streamObject report 'tool-calls'.
  • aa18a92: Chat Completions streams emit tool-call-start before a tool call's first tool-call-delta, like the other adapters. The first delta came first before.
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0

@core-ai/openai-compat@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/openai@0.36.0
    • @core-ai/core-ai@0.36.0

@core-ai/opentelemetry@0.36.0

Minor Changes

  • aa18a92: Record discovery calls and discovery results in the input and output message attributes.

Patch Changes

  • aa18a92: gen_ai.tool.definitions lists 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 in tools. A history that fails discovery validation records only the caller's tools and never fails the call.
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/core-ai@0.36.0

@core-ai/xai@0.36.0

Minor Changes

  • aa18a92: Support tool discovery by emulation: the discovery tool and discovered tools are declared as ordinary function tools.

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/openai@0.36.0
    • @core-ai/core-ai@0.36.0

@core-ai/axiom@0.36.0

Patch Changes

  • Updated dependencies [aa18a92]
  • Updated dependencies [aa18a92]
    • @core-ai/opentelemetry@0.36.0

@github-actions
github-actions Bot force-pushed the changeset-release/main branch from 0d9bd3b to b8c1671 Compare October 21, 2026 21:03
@flore2003
flore2003 merged commit d6a5a50 into main Oct 21, 2026
@flore2003
flore2003 deleted the changeset-release/main branch October 21, 2026 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant