fix(provider-utils): ensure 'type: object' in JSON schemas for DeepSeek/OpenAI compatibility #12283
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.
Pull Request: fix(provider-utils): ensure 'type: object' in JSON schemas for DeepSeek/compatibility
Fixes #7924
Problem
Some providers like DeepSeek and other OpenAI-compatible APIs fail when the tool/input schema is missing the explicit
type: 'object'property, even ifpropertiesare defined.Changes
packages/provider-utils/src/schema.tsto automatically addtype: 'object'to JSON schemas whenpropertiesare present buttypeis missing.asSchema(undefined)to includetype: 'object'in its default schema.packages/provider-utils/src/schema-deepseek-fix.test.tsto verify the fix..eslintignoreto prevent ESLint from parsing largedistdirectories in any package (fixes "missing semicolon" errors in.mapfiles).rm -rfwithdel-cli(already a dependency) in several packages to ensurepnpm cleanandpnpm buildwork correctly on Windows.package.jsonfiles to targetsrc/explicitly, avoiding build artifacts.Verification
pnpm buildandpnpm lintnow pass on Windows locally.