From 7bc4a92c64f1e274f9ad39b287cfcc27985abc03 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Wed, 29 Oct 2025 14:21:08 +0000 Subject: [PATCH 1/2] Fix agent name inference when using run_stream_events --- pydantic_ai_slim/pydantic_ai/agent/abstract.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pydantic_ai_slim/pydantic_ai/agent/abstract.py b/pydantic_ai_slim/pydantic_ai/agent/abstract.py index 43cd4fa749..363b624e96 100644 --- a/pydantic_ai_slim/pydantic_ai/agent/abstract.py +++ b/pydantic_ai_slim/pydantic_ai/agent/abstract.py @@ -683,6 +683,9 @@ async def main(): An async iterable of stream events `AgentStreamEvent` and finally a `AgentRunResultEvent` with the final run result. """ + if infer_name and self.name is None: + self._infer_name(inspect.currentframe()) + # unfortunately this hack of returning a generator rather than defining it right here is # required to allow overloads of this method to work in python's typing system, or at least with pyright # or at least I couldn't make it work without @@ -696,7 +699,6 @@ async def main(): model_settings=model_settings, usage_limits=usage_limits, usage=usage, - infer_name=infer_name, toolsets=toolsets, builtin_tools=builtin_tools, ) @@ -713,7 +715,6 @@ async def _run_stream_events( model_settings: ModelSettings | None = None, usage_limits: _usage.UsageLimits | None = None, usage: _usage.RunUsage | None = None, - infer_name: bool = True, toolsets: Sequence[AbstractToolset[AgentDepsT]] | None = None, builtin_tools: Sequence[AbstractBuiltinTool] | None = None, ) -> AsyncIterator[_messages.AgentStreamEvent | AgentRunResultEvent[Any]]: @@ -739,7 +740,7 @@ async def run_agent() -> AgentRunResult[Any]: model_settings=model_settings, usage_limits=usage_limits, usage=usage, - infer_name=infer_name, + infer_name=False, toolsets=toolsets, builtin_tools=builtin_tools, event_stream_handler=event_stream_handler, From 7e37a148925c4afe0d928acf864bac4ae68d7817 Mon Sep 17 00:00:00 2001 From: Douwe Maan Date: Wed, 29 Oct 2025 14:23:15 +0000 Subject: [PATCH 2/2] add test --- tests/test_streaming.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_streaming.py b/tests/test_streaming.py index 537b76e03d..6b55ca8ad0 100644 --- a/tests/test_streaming.py +++ b/tests/test_streaming.py @@ -1817,6 +1817,7 @@ async def ret_a(x: str) -> str: return f'{x}-apple' events = [event async for event in test_agent.run_stream_events('Hello')] + assert test_agent.name == 'test_agent' assert events == snapshot( [