fix(openai): move image detail property inside image_url object #2223
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.
Fixes #2221
Problem
The
detailproperty for image content was placed at the top level instead of inside theimage_urlobject, causing OpenAI API to return 400 errors with message: "Invalid chat format. Unexpected keys in a message content image dict."Solution
detailproperty insideimage_urlobject inMessageContentImageDetailtype definitiondetailis nested insideimage_urlChanges Made
Type Definition Fix (
packages/core/src/llms/type.ts):MessageContentImageDetailtype to placedetailinsideimage_urlobjectdetailwas at top level alongsideimage_urldetailis insideimage_urlobjectTest Coverage (
packages/providers/openai/tests/llm.test.ts):Testing Done
Manual Verification: Confirmed the new structure matches OpenAI's API requirements
TypeScript Compilation: Verified no syntax errors in the changes
Test Cases Added: Comprehensive test coverage for both scenarios
Before (Broken):
After
Note
Local test environment has dependency build issues preventing test execution