Make cost fields optional in ResultMessage to handle missing cost data #3
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.
Summary
Modified the
ResultMessageclass to makecost_usdandtotal_cost_usdfields optional, preventing errors when API responses don't include cost information.Changes Made
cost_usdfield fromfloattofloat | None = NoneinResultMessageclasstotal_cost_usdfield fromfloattofloat | None = NoneinResultMessageclassProblem Solved
cost_usd,total_cost)client.py, which could cause initialization errors forResultMessageFiles Modified
claude_code_sdk/types.py: UpdatedResultMessagedataclass definitionclaude_code_sdk/_internal/client.py: Maintained consistency with existing commented-out cost fieldsBackward Compatibility
NonechecksNonewhen cost information is unavailableTesting
Related Issue
This change improves the robustness of the SDK when handling different API response formats and prevents potential runtime errors due to missing cost data.