mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-23 03:19:38 +00:00
## Summary This PR fixes several bugs and improves the example code in `BaseChatMessageHistory` docstring that would prevent it from working correctly. ### Bugs Fixed - **Critical bug**: Fixed `json.dump(messages, f)` → `json.dump(serialized, f)` - was using wrong variable - **NameError**: Fixed bare variable references to use `self.storage_path` and `self.session_id` - **Missing imports**: Added required imports (`json`, `os`, message converters) to make example runnable ### Improvements - Added missing type hints following project standards (`messages() -> list[BaseMessage]`, `clear() -> None`) - Added robust error handling with `FileNotFoundError` exception handling - Added directory creation with `os.makedirs(exist_ok=True)` to prevent path errors - Improved performance: `json.load(f)` instead of `json.loads(f.read())` - Added explicit UTF-8 encoding to all file operations - Updated stores.py to use modern union syntax (`int | None` vs `Optional[int]`) ### Test Plan - [x] Code passes linting (`ruff check`) - [x] Example code now has all required imports and proper syntax - [x] Fixed variable references prevent runtime errors - [x] Follows project's type annotation standards The example code in the docstring is now fully functional and follows LangChain's coding standards. --------- Co-authored-by: sadiqkhzn <sadiqkhzn@users.noreply.github.com>