@@ -277,18 +277,27 @@ async def handle_action_request(self, action_request: ActionRequest) -> str:
277277 chat_history = self ._chat_history .copy ()
278278
279279 # Call the agent to handle the action
280- agent_response = self ._agent .invoke (
280+ async_generator = self ._agent .invoke (
281281 self ._kernel , f"{ action_request .action } \n \n Please perform this action"
282282 )
283- result = str (agent_response )
283+
284+ response_content = ""
285+
286+ # Collect the response from the async generator
287+ async for chunk in async_generator :
288+ if chunk is not None :
289+ response_content += str (chunk )
290+
291+ logging .info (f"Response content length: { len (response_content )} " )
292+ logging .info (f"Response content: { response_content } " )
284293
285294 # Store agent message in cosmos memory
286295 await self ._memory_store .add_item (
287296 AgentMessage (
288297 session_id = action_request .session_id ,
289298 user_id = self ._user_id ,
290299 plan_id = action_request .plan_id ,
291- content = f"{ result } " ,
300+ content = f"{ response_content } " ,
292301 source = self ._agent_name ,
293302 step_id = action_request .step_id ,
294303 )
@@ -301,7 +310,7 @@ async def handle_action_request(self, action_request: ActionRequest) -> str:
301310 "session_id" : action_request .session_id ,
302311 "user_id" : self ._user_id ,
303312 "plan_id" : action_request .plan_id ,
304- "content" : f"{ result } " ,
313+ "content" : f"{ response_content } " ,
305314 "source" : self ._agent_name ,
306315 "step_id" : action_request .step_id ,
307316 },
@@ -333,11 +342,11 @@ async def handle_action_request(self, action_request: ActionRequest) -> str:
333342 )
334343 return response .json ()
335344
336- logging .info (f"Task completed: { result } " )
345+ logging .info (f"Task completed: { response_content } " )
337346
338347 # Update step status
339348 step .status = StepStatus .completed
340- step .agent_reply = result
349+ step .agent_reply = response_content
341350 await self ._memory_store .update_step (step )
342351
343352 # Track step completion in telemetry
@@ -346,10 +355,10 @@ async def handle_action_request(self, action_request: ActionRequest) -> str:
346355 {
347356 "status" : StepStatus .completed ,
348357 "session_id" : action_request .session_id ,
349- "agent_reply" : f"{ result } " ,
358+ "agent_reply" : f"{ response_content } " ,
350359 "user_id" : self ._user_id ,
351360 "plan_id" : action_request .plan_id ,
352- "content" : f"{ result } " ,
361+ "content" : f"{ response_content } " ,
353362 "source" : self ._agent_name ,
354363 "step_id" : action_request .step_id ,
355364 },
@@ -360,7 +369,7 @@ async def handle_action_request(self, action_request: ActionRequest) -> str:
360369 step_id = step .id ,
361370 plan_id = step .plan_id ,
362371 session_id = action_request .session_id ,
363- result = result ,
372+ result = response_content ,
364373 status = StepStatus .completed ,
365374 )
366375
0 commit comments