fix: allow null values for prompt_tokens_details and completion_tokens_details #75
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.
Fix null validation for prompt_tokens_details and completion_tokens_details
Fixes #73
Problem
The OpenRouter API can return
null
forprompt_tokens_details
andcompletion_tokens_details
fields (e.g., with models likedeepseek/deepseek-chat-v3-0324:free
), but the current Zod schema validation only allows these fields to be objects or undefined with.optional()
. This causes type validation errors:Solution
Changed both
prompt_tokens_details
andcompletion_tokens_details
inOpenRouterChatCompletionBaseResponseSchema
from.optional()
to.nullish()
to allownull
,undefined
, or the object values.Changes
src/openrouter-chat-language-model.ts
lines 732-742.nullish()
instead of.optional()
Testing
Link to Devin run
https://app.devin.ai/sessions/2bcf790816c649e1ae7b047c64262726
Requested by: Louis ([email protected])