Skip to content

Commit 8a6a34d

Browse files
middleware fixes
1 parent 689b7d1 commit 8a6a34d

File tree

1 file changed

+5
-22
lines changed

1 file changed

+5
-22
lines changed

python/packages/core/agent_framework/_middleware.py

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1193,7 +1193,7 @@ def _build_middleware_pipelines(
11931193
agent_level_middlewares: Agent-level middleware (executed first)
11941194
run_level_middlewares: Run-level middleware (executed after agent middleware)
11951195
"""
1196-
middleware = categorize_middleware(agent_level_middlewares, run_level_middlewares)
1196+
middleware = categorize_middleware(*(agent_level_middlewares or ()), *(run_level_middlewares or ()))
11971197

11981198
return (
11991199
AgentMiddlewarePipeline(middleware["agent"]), # type: ignore[arg-type]
@@ -1255,7 +1255,7 @@ def middleware_enabled_run_stream(
12551255
messages: str | ChatMessage | list[str] | list[ChatMessage] | None = None,
12561256
*,
12571257
thread: Any = None,
1258-
middleware: Middleware | list[Middleware] | None = None,
1258+
middleware: Sequence[Middleware] | None = None,
12591259
**kwargs: Any,
12601260
) -> AsyncIterable[AgentRunResponseUpdate]:
12611261
"""Middleware-enabled run_stream method."""
@@ -1516,7 +1516,7 @@ def categorize_middleware(
15161516

15171517

15181518
def create_function_middleware_pipeline(
1519-
*middleware_sources: Sequence[Middleware],
1519+
*middleware_sources: Middleware,
15201520
) -> FunctionMiddlewarePipeline | None:
15211521
"""Create a function middleware pipeline from multiple middleware sources.
15221522
@@ -1530,23 +1530,6 @@ def create_function_middleware_pipeline(
15301530
return FunctionMiddlewarePipeline(function_middlewares) if function_middlewares else None # type: ignore[arg-type]
15311531

15321532

1533-
def _merge_and_filter_chat_middleware(
1534-
instance_middleware: Any | list[Any] | None,
1535-
call_middleware: Any | list[Any] | None,
1536-
) -> list[ChatMiddleware | ChatMiddlewareCallable]:
1537-
"""Merge instance-level and call-level middleware, filtering for chat middleware only.
1538-
1539-
Args:
1540-
instance_middleware: Middleware defined at the instance level.
1541-
call_middleware: Middleware provided at the call level.
1542-
1543-
Returns:
1544-
A merged list of chat middleware only.
1545-
"""
1546-
middleware = categorize_middleware(instance_middleware, call_middleware)
1547-
return middleware["chat"] # type: ignore[return-value]
1548-
1549-
15501533
def extract_and_merge_function_middleware(
15511534
chat_client: Any, kwargs: dict[str, Any]
15521535
) -> "FunctionMiddlewarePipeline | None":
@@ -1563,7 +1546,7 @@ def extract_and_merge_function_middleware(
15631546
existing_pipeline: FunctionMiddlewarePipeline | None = kwargs.get("_function_middleware_pipeline")
15641547

15651548
# Get middleware sources
1566-
client_middleware = getattr(chat_client, "middleware", None) if hasattr(chat_client, "middleware") else None
1549+
client_middleware = getattr(chat_client, "middleware", None)
15671550
run_level_middleware = kwargs.get("middleware")
15681551

15691552
# If we have an existing pipeline but no additional middleware sources, return it directly
@@ -1576,7 +1559,7 @@ def extract_and_merge_function_middleware(
15761559

15771560
# Create combined pipeline from all sources using existing helper
15781561
combined_pipeline = create_function_middleware_pipeline(
1579-
*client_middleware, *run_level_middleware, *existing_middleware
1562+
*(client_middleware or ()), *(run_level_middleware or ()), *(existing_middleware or ())
15801563
)
15811564

15821565
# If we have an existing pipeline but combined is None (no new middleware), return existing

0 commit comments

Comments
 (0)