test_respects_keep_last_tool_results_async() — langchain Function Reference
Architecture documentation for the test_respects_keep_last_tool_results_async() function in test_context_editing.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 8e6529c6_8d14_3dff_1070_24febd3c0eeb["test_respects_keep_last_tool_results_async()"] 95bc2c91_0832_8fb7_f8e0_c4d613e022d3["test_context_editing.py"] 8e6529c6_8d14_3dff_1070_24febd3c0eeb -->|defined in| 95bc2c91_0832_8fb7_f8e0_c4d613e022d3 d0fac9a0_048c_c4bc_10f5_307a81af0095["_make_state_and_request()"] 8e6529c6_8d14_3dff_1070_24febd3c0eeb -->|calls| d0fac9a0_048c_c4bc_10f5_307a81af0095 style 8e6529c6_8d14_3dff_1070_24febd3c0eeb fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_context_editing.py lines 365–417
async def test_respects_keep_last_tool_results_async() -> None:
"""Test async version respects keep parameter for last tool results."""
conversation: list[AIMessage | ToolMessage] = []
edits = [
("call-a", "tool-output-a" * 5),
("call-b", "tool-output-b" * 5),
("call-c", "tool-output-c" * 5),
]
for call_id, text in edits:
conversation.extend(
(
AIMessage(
content="",
tool_calls=[{"id": call_id, "name": "tool", "args": {"input": call_id}}],
),
ToolMessage(content=text, tool_call_id=call_id),
)
)
_state, request = _make_state_and_request(conversation)
middleware = ContextEditingMiddleware(
edits=[
ClearToolUsesEdit(
trigger=50,
keep=1,
placeholder="[cleared]",
)
],
token_count_method="model", # noqa: S106
)
modified_request = None
async def mock_handler(req: ModelRequest) -> ModelResponse:
nonlocal modified_request
modified_request = req
return ModelResponse(result=[AIMessage(content="mock response")])
# Call awrap_model_call which creates a new request with edits
await middleware.awrap_model_call(request, mock_handler)
assert modified_request is not None
cleared_messages = [
msg
for msg in modified_request.messages
if isinstance(msg, ToolMessage) and msg.content == "[cleared]"
]
assert len(cleared_messages) == 2
assert isinstance(modified_request.messages[-1], ToolMessage)
assert modified_request.messages[-1].content != "[cleared]"
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does test_respects_keep_last_tool_results_async() do?
test_respects_keep_last_tool_results_async() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_context_editing.py.
Where is test_respects_keep_last_tool_results_async() defined?
test_respects_keep_last_tool_results_async() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_context_editing.py at line 365.
What does test_respects_keep_last_tool_results_async() call?
test_respects_keep_last_tool_results_async() calls 1 function(s): _make_state_and_request.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free