Skip to content

[v6.0] fix: include object type in default tool schema#16799

Merged
gr2m merged 1 commit into
release-v6.0from
backport-v6.0/fix-15249
Jul 6, 2026
Merged

[v6.0] fix: include object type in default tool schema#16799
gr2m merged 1 commit into
release-v6.0from
backport-v6.0/fix-15249

Conversation

@gr2m

@gr2m gr2m commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Backport of #15249 to release-v6.0. When a tool defines no input schema, asSchema(undefined) now produces a default schema with an explicit type: "object", so strict OpenAI-compatible providers (e.g. DeepSeek) no longer reject tool definitions with empty parameter schemas. The only conflict was in packages/provider-utils/src/schema.test.ts, where the new asSchema regression test block was inserted at the top of the file adjacent to unrelated surrounding test changes on main; the test was ported verbatim (including await schema.jsonSchema, which is valid in v6 since jsonSchema may be a PromiseLike). The changeset from the original commit is kept. Part of the v6.0 backport tracking issue #16767.

OpenAI-compatible providers such as DeepSeek can strictly validate tool
parameter schemas and require them to be JSON Schemas with type:
"object". When a tool does not define an input schema,
asSchema(undefined) produced an empty object-shaped schema with
properties and additionalProperties, but without the explicit type:
"object". That caused those providers to reject tool definitions even
though the SDK intended to send an empty object schema.

Add type: "object" to the default schema created by asSchema(undefined).
Add a regression test covering the default empty schema behavior.
Add a patch changeset for @ai-sdk/provider-utils.

Fixes #7924
Recreates #15163 with commit signatures

(cherry picked from commit 105f95b)
@gr2m gr2m added the backport Admins only: add this label to a pull request in order to backport it to the prior version label Jul 6, 2026
@gr2m gr2m merged commit d559de9 into release-v6.0 Jul 6, 2026
52 checks passed
@gr2m gr2m deleted the backport-v6.0/fix-15249 branch July 6, 2026 20:06
github-actions Bot added a commit that referenced this pull request Jul 6, 2026
@github-actions github-actions Bot removed the backport Admins only: add this label to a pull request in order to backport it to the prior version label Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

⚠️ Backport to release-v5.0 created but has conflicts: #16829

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

🚀 Published in:

Package Version
ai 6.0.221 github npm
@ai-sdk/alibaba 1.0.36 github npm
@ai-sdk/amazon-bedrock 4.0.131 github npm
@ai-sdk/angular 2.0.222 github npm
@ai-sdk/anthropic 3.0.95 github npm
@ai-sdk/anthropic-aws 1.0.17 github npm
@ai-sdk/assemblyai 2.0.44 github npm
@ai-sdk/azure 3.0.86 github npm
@ai-sdk/baseten 1.0.61 github npm
@ai-sdk/black-forest-labs 1.0.45 github npm
@ai-sdk/bytedance 1.0.25 github npm
@ai-sdk/cerebras 2.0.64 github npm
@ai-sdk/cohere 3.0.46 github npm
@ai-sdk/deepgram 2.0.43 github npm
@ai-sdk/deepinfra 2.0.62 github npm
@ai-sdk/deepseek 2.0.46 github npm
@ai-sdk/elevenlabs 2.0.43 github npm
@ai-sdk/fal 2.0.44 github npm
@ai-sdk/fireworks 2.0.66 github npm
@ai-sdk/gateway 3.0.145 github npm
@ai-sdk/gladia 2.0.43 github npm
@ai-sdk/google 3.0.90 github npm
@ai-sdk/google-vertex 4.0.158 github npm
@ai-sdk/groq 3.0.49 github npm
@ai-sdk/huggingface 1.0.60 github npm
@ai-sdk/hume 2.0.43 github npm
@ai-sdk/klingai 3.0.28 github npm
@ai-sdk/langchain 2.0.229 github npm
@ai-sdk/llamaindex 2.0.221 github npm
@ai-sdk/lmnt 2.0.43 github npm
@ai-sdk/luma 2.0.43 github npm
@ai-sdk/mcp 1.0.60 github npm
@ai-sdk/mistral 3.0.47 github npm
@ai-sdk/moonshotai 2.0.34 github npm
@ai-sdk/open-responses 1.0.26 github npm
@ai-sdk/openai 3.0.82 github npm
@ai-sdk/openai-compatible 2.0.58 github npm
@ai-sdk/perplexity 3.0.44 github npm
@ai-sdk/prodia 1.0.42 github npm
@ai-sdk/provider-utils 4.0.37 github npm
@ai-sdk/quiverai 1.0.10 github npm
@ai-sdk/react 3.0.223 github npm
@ai-sdk/replicate 2.0.43 github npm
@ai-sdk/revai 2.0.43 github npm
@ai-sdk/rsc 2.0.221 github npm
@ai-sdk/svelte 4.0.221 github npm
@ai-sdk/togetherai 2.0.63 github npm
@ai-sdk/valibot 2.0.38 github npm
@ai-sdk/vercel 2.0.60 github npm
@ai-sdk/voyage 1.0.14 github npm
@ai-sdk/vue 3.0.221 github npm
@ai-sdk/xai 3.0.104 github npm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants