2727 ModelResponse as LC_ModelResponse ,
2828)
2929from langchain .agents .middleware .summarization import TokenCounter as LC_TokenCounter
30- from langchain .agents .middleware .types import ModelCallResult as LC_ModelCallResult
30+ from langchain .agents .middleware .types import (
31+ ExtendedModelResponse as LC_ExtendedModelResponse ,
32+ ModelCallResult as LC_ModelCallResult ,
33+ )
3134from langchain .messages import (
3235 AIMessage as LC_AIMessage ,
3336 AnyMessage as LC_AnyMessage ,
7073 ToolMessage ,
7174)
7275from splunklib .ai .middleware import (
73- AgentMiddlewareHandler ,
74- AgentState ,
7576 AgentMiddleware ,
77+ AgentMiddlewareHandler ,
7678 AgentRequest ,
79+ AgentState ,
7780 ModelMiddlewareHandler ,
7881 ModelRequest ,
7982 ModelResponse ,
@@ -130,7 +133,7 @@ def __init__(
130133 model : BaseChatModel ,
131134 tools : list [BaseTool ],
132135 output_schema : type [OutputT ] | None ,
133- lcmiddleware : Sequence [LC_AgentMiddleware ] | None = None ,
136+ lc_middleware : Sequence [LC_AgentMiddleware ] | None = None ,
134137 middleware : Sequence [AgentMiddleware ] | None = None ,
135138 ) -> None :
136139 super ().__init__ ()
@@ -147,7 +150,7 @@ def __init__(
147150 system_prompt = system_prompt ,
148151 checkpointer = checkpointer ,
149152 response_format = output_schema ,
150- middleware = lcmiddleware or [],
153+ middleware = lc_middleware or [],
151154 )
152155
153156 def _with_agent_middleware (
@@ -300,7 +303,7 @@ async def create_agent(
300303 model = model_impl ,
301304 tools = tools ,
302305 output_schema = agent .output_schema ,
303- lcmiddleware = middleware ,
306+ lc_middleware = middleware ,
304307 middleware = agent .middleware ,
305308 )
306309
@@ -589,6 +592,9 @@ def _convert_tool_message_from_lc(
589592
590593
591594def _convert_model_result_from_lc (model_response : LC_ModelCallResult ) -> ModelResponse :
595+ if isinstance (model_response , LC_ExtendedModelResponse ):
596+ model_response = model_response .model_response
597+
592598 if isinstance (model_response , LC_ModelResponse ):
593599 ai_message = next (
594600 (m for m in model_response .result if isinstance (m , LC_AIMessage )), None
0 commit comments