## Summary Fixes #33970 `get_buffer_string` was only checking for the deprecated `function_call` field in `additional_kwargs`, which modern LLM providers no longer return. This fix updates the function to check for the modern `tool_calls` field first, falling back to `function_call` for legacy compatibility. ## Changes - Check `AIMessage.tool_calls` first (modern standard) - Fall back to `additional_kwargs["function_call"]` (legacy support) - Added 3 unit tests covering tool_calls, empty content, and precedence behavior ## Testing ```python # Before fix: tool_calls info was lost msg = AIMessage(content="Hi", tool_calls=[{"name": "search", ...}]) get_buffer_string([msg]) # "AI: Hi" (no tool info) # After fix: tool_calls are included get_buffer_string([msg]) # "AI: Hi[{\"name\": \"search\", ...}]" ``` - All existing `get_buffer_string` tests pass - Legacy `function_call` behavior preserved --- > [!NOTE] > This PR was developed with AI agent assistance (Factory/Droid). --------- Co-authored-by: Mason Daugherty <github@mdrxy.com>
Packages
Important
This repository is structured as a monorepo, with various packages located in this libs/ directory. Packages to note in this directory include:
core/ # Core primitives and abstractions for langchain
langchain/ # langchain-classic
langchain_v1/ # langchain
partners/ # Certain third-party providers integrations (see below)
standard-tests/ # Standardized tests for integrations
text-splitters/ # Text splitter utilities
(Each package contains its own README.md file with specific details about that package.)
Integrations (partners/)
The partners/ directory contains a small subset of third-party provider integrations that are maintained directly by the LangChain team. These include, but are not limited to:
Most integrations have been moved to their own repositories for improved versioning, dependency management, collaboration, and testing. This includes packages from popular providers such as Google and AWS. Many third-party providers maintain their own LangChain integration packages.
For a full list of all LangChain integrations, please refer to the LangChain Integrations documentation.