mirror of
https://github.com/hwchase17/langchain.git
synced 2026-03-18 11:07:36 +00:00
## Description Fixed `BaseCallbackManager.merge()` method to correctly preserve the distinction between `handlers` and `inheritable_handlers` during merge operations. Previously, the merge method was using `add_handler()` which incorrectly added handlers to both lists when `inherit=True`, causing cross-contamination between regular and inheritable handlers. The fix directly passes the combined handler lists to the constructor instead of using `add_handler()`, ensuring proper separation is maintained. ## Issue Fixes #32028 ## Dependencies None ## Testing - Modified existing test `test_merge_preserves_handler_distinction()` to verify handlers remain properly separated after merge ## Checklist - [x] **Breaking Changes**: No breaking changes - only fixes incorrect behavior - [x] **Type Hints**: All functions have complete type annotations - [x] **Tests**: Fix is fully tested with existing unit test - [x] **Security**: No security implications - [x] **Documentation**: No documentation changes needed - bug fix only - [x] **Code Quality**: Passes lint and format checks - [x] **Commit Message**: Follows Conventional Commits format --------- Co-authored-by: Mason Daugherty <mason@langchain.dev>