test_structured_output_retry_preserves_messages() — langchain Function Reference
Architecture documentation for the test_structured_output_retry_preserves_messages() function in test_structured_output_retry.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 6da18ecb_a3a6_6a05_3e0d_06932e3915b3["test_structured_output_retry_preserves_messages()"] dd58b626_28b2_b72e_0314_162a5a760201["test_structured_output_retry.py"] 6da18ecb_a3a6_6a05_3e0d_06932e3915b3 -->|defined in| dd58b626_28b2_b72e_0314_162a5a760201 style 6da18ecb_a3a6_6a05_3e0d_06932e3915b3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py lines 317–369
def test_structured_output_retry_preserves_messages() -> None:
"""Test structured output retry preserves error feedback in messages."""
# First attempt invalid, second succeeds
tool_calls = [
[
{
"name": "WeatherReport",
"id": "1",
"args": {"temperature": "invalid", "conditions": "rainy"},
}
],
[
{
"name": "WeatherReport",
"id": "2",
"args": {"temperature": 75.0, "conditions": "rainy"},
}
],
]
model = FakeToolCallingModel(tool_calls=tool_calls)
retry_middleware = StructuredOutputRetryMiddleware(max_retries=1)
agent = create_agent(
model=model,
tools=[get_weather],
middleware=[retry_middleware],
response_format=ToolStrategy(schema=WeatherReport, handle_errors=False),
checkpointer=InMemorySaver(),
)
result = agent.invoke(
{"messages": [HumanMessage("What's the weather in Seattle?")]},
{"configurable": {"thread_id": "test"}},
)
# Verify structured response is correct
assert "structured_response" in result
structured = result["structured_response"]
assert structured.temperature == 75.0
assert structured.conditions == "rainy"
# Verify messages include the retry feedback
messages = result["messages"]
human_messages = [m for m in messages if isinstance(m, HumanMessage)]
# Should have at least 2 human messages: initial + retry feedback
assert len(human_messages) >= 2
# The retry feedback message should contain error information
retry_message = human_messages[-1]
assert "Error:" in retry_message.content
assert "Please try again" in retry_message.content
Domain
Subdomains
Defined In
Source
Frequently Asked Questions
What does test_structured_output_retry_preserves_messages() do?
test_structured_output_retry_preserves_messages() is a function in the langchain codebase, defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py.
Where is test_structured_output_retry_preserves_messages() defined?
test_structured_output_retry_preserves_messages() is defined in libs/langchain_v1/tests/unit_tests/agents/middleware/implementations/test_structured_output_retry.py at line 317.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free