@@ -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
15181518def 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-
15501533def 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