Patch Changes
-
#9900
a9b5059Thanks @hntrl! - Improved abort signal handling for chat models:- Added
ModelAbortErrorclass in@langchain/core/errorsthat contains partial output when a model invocation is aborted mid-stream invoke()now throwsModelAbortErrorwith accumulatedpartialOutputwhen aborted during streaming (when using streaming callback handlers)stream()throws a regularAbortErrorwhen aborted (since chunks are already yielded to the caller)- All provider implementations now properly check and propagate abort signals in both
_generate()and_streamResponseChunks()methods - Added standard tests for abort signal behavior
- Added
-
#9900
a9b5059Thanks @hntrl! - fix(providers): add proper abort signal handling for invoke and stream operations- Added early abort check (
signal.throwIfAborted()) at the start of_generatemethods to immediately throw when signal is already aborted - Added abort signal checks inside streaming loops in
_streamResponseChunksto return early when signal is aborted - Propagated abort signals to underlying SDK calls where applicable (Google GenAI, Google Common/VertexAI, Cohere)
- Added standard tests for abort signal behavior in
@langchain/standard-tests
This enables proper cancellation behavior for both invoke and streaming operations, and allows fallback chains to correctly proceed to the next runnable when the previous one is aborted.
- Added early abort check (
-
#9875
a000b0fThanks @joeljohn159! - Add validation for empty strings in enum values to provide clear error messages instead of cryptic runtime errors from Gemini API -
Updated dependencies [
a9b5059,a9b5059]:- @langchain/core@1.1.18