Eugene Yurtsev
a39132787c
feat(anthropic): add async implementation to middleware ( #33506 )
...
Add async implementation to middleware
2025-10-15 17:05:39 -04:00
Sydney Runkle
296994ebf0
release(langchain_v1): 1.0.0a15 ( #33505 )
2025-10-15 20:48:18 +00:00
ccurme
b5b31eec88
feat(core): include original block type in server tool results for google-genai ( #33502 )
2025-10-15 16:26:54 -04:00
Sydney Runkle
8f6851c349
fix(langchain_v1): keep state to relevant middlewares for tool/model call limits ( #33493 )
...
The one risk point that I can see here is that model + tool call
counting now occurs in the `after_model` hook which introduces order
dependency (what if you have HITL execute before this hook and we jump
early to `model`, for example).
This is something users can work around at the moment and we can
document. We could also introduce a priority concept to middleware.
2025-10-15 14:24:59 -04:00
Nuno Campos
0788461abd
feat(openai): Add openai moderation middleware ( #33492 )
2025-10-15 13:59:49 -04:00
ccurme
3bfd1f6d8a
release(core): 1.0.0rc1 ( #33497 )
2025-10-15 13:02:35 -04:00
Mason Daugherty
d83c3a12bf
chore(core): delete BaseMemory, move to langchain-classic ( #33373 )
2025-10-15 12:55:23 -04:00
Mason Daugherty
79200cf3c2
docs: update package READMEs ( #33488 )
2025-10-15 10:49:35 -04:00
ccurme
bcb6789888
fix(anthropic): set langgraph-prebuilt dep explicitly ( #33495 )
2025-10-15 14:44:37 +00:00
ccurme
89b7933ef1
feat(standard-tests): parametrize tool calling test ( #33496 )
2025-10-15 14:43:09 +00:00
ccurme
4da5a8081f
fix(core): propagate extras when aggregating tool calls in v1 content ( #33494 )
2025-10-15 10:38:16 -04:00
Mason Daugherty
53e9f00804
chore(core): delete items marked for removal in schemas.py ( #33375 )
2025-10-15 09:56:27 -04:00
Chenyang Li
6e25e185f6
fix(docs): Fix several typos and grammar ( #33487 )
...
Just typo changes
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-10-14 20:04:14 -04:00
Mason Daugherty
68ceeb64f6
chore(core): delete function_calling.py utils marked for removal ( #33376 )
2025-10-14 16:13:19 -04:00
Mason Daugherty
edae976b81
chore(core): delete pydantic_v1/ ( #33374 )
2025-10-14 16:08:24 -04:00
ccurme
9f4366bc9d
feat(mistralai): support reasoning feature and v1 content ( #33485 )
...
Not yet supported: server-side tool calls
2025-10-14 15:19:44 -04:00
Eugene Yurtsev
99e0a60aab
chore(langchain_v1): remove invocation request ( #33482 )
...
Remove ToolNode primitives from langchain
2025-10-14 15:07:30 -04:00
Eugene Yurtsev
d38729fbac
feat(langchain_v1): add async implementations to wrap_model_call ( #33467 )
...
Add async implementations to wrap_model_call for prebuilt middleware
2025-10-14 17:39:38 +00:00
gsmini
ff0d21cfd5
fix(langchain_v1): can not import "wrap_tool_call" from agents.… ( #33472 )
...
fix can not import `wrap_tool_call` from ` langchain.agents.middleware
import `
```python
from langchain.agents import create_agent
from langchain.agents.middleware import wrap_tool_call # here !
from langchain_core.messages import ToolMessage
@wrap_tool_call
def handle_tool_errors(request, handler):
"""Handle tool execution errors with custom messages."""
try:
return handler(request)
except Exception as e:
# Return a custom error message to the model
return ToolMessage(
content=f"Tool error: Please check your input and try again. ({str(e)})",
tool_call_id=request.tool_call["id"]
)
agent = create_agent(
model="openai:gpt-4o",
tools=[search, calculate],
middleware=[handle_tool_errors]
)
```
> example code from:
https://docs.langchain.com/oss/python/langchain/agents#tool-error-handling
2025-10-14 13:39:25 -04:00
Eugene Yurtsev
9140a7cb86
feat(langchain_v1): add override to model request and tool call request ( #33465 )
...
Add override to model request and tool call request
2025-10-14 10:31:46 -04:00
ccurme
41fe18bc80
chore(groq): fix integration tests ( #33478 )
...
- add missing cassette
- update streaming metadata test for v1
2025-10-14 14:16:34 +00:00
Mason Daugherty
9105573cb3
docs: create_agent style and clarify system_prompt ( #33470 )
2025-10-14 09:56:54 -04:00
Sydney Runkle
fff87e95d1
fix(langchain): rename PlanningMiddleware to TodoListMiddleware ( #33476 )
2025-10-14 09:06:06 -04:00
ccurme
9beb29a34c
chore(mistralai): delete redundant tests ( #33468 )
2025-10-13 21:28:51 +00:00
ChoYongHo | 조용호
ca00f5aed9
fix(langchain_v1): export ModelResponse from agents.middleware ( #33453 ) ( #33454 )
...
## Description
Fixes #33453
`ModelResponse` was defined in `types.py` and included in its `__all__`
list, but was not exported from the middleware package's `__init__.py`.
This caused `ImportError` when attempting to import it directly
from `langchain.agents.middleware`, despite being documented as a public
export.
## Changes
- Added `ModelResponse` to the import statement in
`langchain/agents/middleware/__init__.py`
- Added `ModelResponse` to the `__all__` list in
`langchain/agents/middleware/__init__.py`
- Added comprehensive unit tests in `test_imports.py` to verify the
import works correctly
## Issue
The original issue reported that the following import failed:
```python
from langchain.agents.middleware import ModelResponse
# ImportError: cannot import name 'ModelResponse' from
'langchain.agents.middleware'
The workaround was to import from the submodule:
from langchain.agents.middleware.types import ModelResponse # Workaround
Solution
After this fix, ModelResponse can be imported directly as documented:
from langchain.agents.middleware import ModelResponse # Now works!
Testing
- ✅ Added 3 unit tests in
tests/unit_tests/agents/middleware/test_imports.py
- ✅ All tests pass locally: make format, make lint, make test
- ✅ Verified ModelResponse is properly exported and importable
- ✅ Verified ModelResponse appears in __all__ list
Dependencies
None. This is a simple export fix with no new dependencies.
---------
Co-authored-by: Eugene Yurtsev <eugene@langchain.dev >
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com >
2025-10-13 16:02:30 -04:00
Eugene Yurtsev
1cf851e054
chore(langchain_v1,anthropic): migrate anthropic middleware to langchain_anthropic ( #33463 )
...
Migrate prompt caching implementation into langchain_anthropic.middleware
2025-10-13 15:12:54 -04:00
ccurme
961f965f0c
feat(groq): support built-in tools in message content ( #33459 )
2025-10-13 15:06:01 -04:00
Sydney Runkle
760fc3bc12
chore(langchain_v1): use args for HITL ( #33442 )
2025-10-11 07:12:46 -04:00
Eugene Yurtsev
e3fc7d8aa6
chore(langchain_v1): bump release version ( #33440 )
...
bump v1 for release
2025-10-10 21:51:00 -04:00
Eugene Yurtsev
2b3b209e40
chore(langchain_v1): improve error message ( #33433 )
...
Make error messages actionable for sync / async decorators
2025-10-10 17:18:20 -04:00
ccurme
78903ac285
fix(openai): conditionally skip test ( #33431 )
2025-10-10 21:04:18 +00:00
ccurme
f361acc11c
chore(anthropic): speed up integration tests ( #33430 )
2025-10-10 20:57:44 +00:00
Eugene Yurtsev
ed185c0026
chore(langchain_v1): remove langchain_text_splitters from test group ( #33425 )
...
Remove langchain_text_splitters from test group in langchain_v1
2025-10-10 16:56:14 -04:00
Eugene Yurtsev
6dc34beb71
chore(langchain_v1): stricter handling of sync vs. async for wrap_model_call and wrap_tool_call ( #33429 )
...
Wrap model call and wrap tool call
2025-10-10 16:54:42 -04:00
Eugene Yurtsev
c2205f88e6
chore(langchain_v1): further namespace clean up ( #33428 )
...
Reduce exposed namespace for now
2025-10-10 20:48:24 +00:00
ccurme
abdbe185c5
release(anthropic): 1.0.0a4 ( #33427 )
2025-10-10 16:39:58 -04:00
ccurme
c1b816cb7e
fix(fireworks): parse standard blocks in input ( #33426 )
2025-10-10 16:18:37 -04:00
Eugene Yurtsev
0559558715
feat(langchain_v1): add async implementation for wrap_tool_call ( #33420 )
...
Add async implementation. No automatic delegation to sync at the moment.
2025-10-10 15:07:19 -04:00
Eugene Yurtsev
75965474fc
chore(langchain_v1): tool error exceptions ( #33424 )
...
Tool error exceptions
2025-10-10 15:06:40 -04:00
Mason Daugherty
5dc014fdf4
chore(core): delete get_relevant_documents ( #33378 )
...
Co-authored-by: Chester Curme <chester.curme@gmail.com >
2025-10-10 14:51:54 -04:00
Mason Daugherty
291a9fcea1
style: llm -> model ( #33423 )
2025-10-10 13:19:13 -04:00
Christophe Bornet
dd994b9d7f
chore(langchain): remove arg types from docstrings ( #33413 )
...
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-10-10 11:51:00 -04:00
Christophe Bornet
83901b30e3
chore(text-splitters): remove arg types from docstrings ( #33406 )
...
Co-authored-by: Mason Daugherty <mason@langchain.dev >
2025-10-10 11:37:53 -04:00
ccurme
af1da28459
feat(langchain_v1): expand message exports ( #33419 )
2025-10-10 15:14:51 +00:00
Mason Daugherty
ed2ee4e8cc
style: fix tables, capitalization ( #33417 )
2025-10-10 11:09:59 -04:00
Sydney Runkle
f293c8ffd6
chore(langchain_v1): add RemoveMessage ( #33416 )
2025-10-10 10:49:18 -04:00
Sydney Runkle
714c370191
release(langchain_v1): v1.0.0a13 ( #33415 )
2025-10-10 10:42:35 -04:00
Sydney Runkle
a29d4e9c3a
fix(langchain_v1): out of date docstring ( #33414 )
2025-10-10 14:12:07 +00:00
Eugene Yurtsev
74983f8a96
chore(langchain_v1): update on_tool_call to wrap_tool ( #33410 )
...
Improve naming on ToolNode for on_tool_call interceptor
2025-10-10 03:19:45 +00:00
Eugene Yurtsev
11c5b86981
chore(langchain_v1): update wrap_on_model return ( #33408 )
...
Update wrap on model return to capture the full return type of the model
so we can accommodate dynamic structured outputs.
2025-10-09 23:01:21 -04:00