In langchain_core >=1.0 plain Generation no longer stores a .message attribute - that only exists on ChatGeneration. Tests were constructing Generation(message=AIMessage(...)) which silently dropped the message, making hasattr(generation, "message") return False and skipping the token-counting path (all usage assertions failed with 0). - Replace Generation(message=...) with ChatGeneration(message=AIMessage(...)) in test_stats_handler_on_llm_end_with_usage and thread_safety test - Use UsageMetadata(input_tokens=N, output_tokens=N, total_tokens=N) instead of bare dict (total_tokens is required in langchain_core 1.2+) - Pass usage_metadata via AIMessage constructor instead of post-init attribute assignment (avoids pydantic validation bypass) - Keep Generation(text=...) in test_stats_handler_on_llm_end_no_usage (correctly tests the "no usage" branch — plain Generation has no .message) Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com> Agent-Logs-Url: https://github.com/aguzererler/TradingAgents/sessions/ce079791-08ef-4f2e-9f31-a1ae6a26b4cb |
||
|---|---|---|
| .. | ||
| cassettes | ||
| cli | ||
| e2e | ||
| integration | ||
| portfolio | ||
| unit | ||
| __init__.py | ||
| conftest.py | ||