Skip to content

fix(session): normalize assistant message fields before serialization#126

Merged
duguwanglong merged 1 commit intomainfrom
fix/token-usage-serialization-warning
Apr 15, 2026
Merged

fix(session): normalize assistant message fields before serialization#126
duguwanglong merged 1 commit intomainfrom
fix/token-usage-serialization-warning

Conversation

@xiami762
Copy link
Copy Markdown
Contributor

@xiami762 xiami762 commented Apr 15, 2026

Summary

  • normalize assistant message tokens and path updates back into typed Pydantic models before model_copy(update=...) can leave dict-shaped values in the message cache
  • self-heal assistant messages during persistence so legacy or already-polluted cache entries no longer trigger serializer warnings on model_dump()
  • add a regression test covering dict-based token updates to prevent the TokenUsage serialization warning from returning

Test plan

  • uv run pytest tests/session/test_session.py tests/session/test_message_parts.py

Coerce assistant tokens and path back to typed Pydantic models during updates and persistence so message serialization no longer emits TokenUsage warnings.
Add a regression test covering dict-based token updates to prevent the warning from returning.

Made-with: Cursor
@xiami762 xiami762 requested a review from duguwanglong April 15, 2026 07:36
@duguwanglong duguwanglong merged commit d4ec5a4 into main Apr 15, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants