diff --git a/ai-hub/app/api/routes/agents.py b/ai-hub/app/api/routes/agents.py index 9d008d7..cb79915 100644 --- a/ai-hub/app/api/routes/agents.py +++ b/ai-hub/app/api/routes/agents.py @@ -190,8 +190,8 @@ if sync: # Synchronous blocking mode try: - answer = await AgentExecutor.run(instance.id, prompt, services.rag_service, services.user_service) - return {"status": "success", "response": answer} + result = await AgentExecutor.run(instance.id, prompt, services.rag_service, services.user_service) + return {"status": "success", **result} except Exception as e: raise HTTPException(status_code=500, detail=f"Agent execution failed: {str(e)}") else: diff --git a/ai-hub/app/core/orchestration/agent_loop.py b/ai-hub/app/core/orchestration/agent_loop.py index 4804b64..494c30c 100644 --- a/ai-hub/app/core/orchestration/agent_loop.py +++ b/ai-hub/app/core/orchestration/agent_loop.py @@ -164,13 +164,15 @@ from sqlalchemy.orm.attributes import flag_modified flag_modified(instance, "tool_call_counts") - # Clear reasoning as the task is now complete - instance.last_reasoning = None - - print(f"[AgentExecutor] Saved metrics for {agent_id} (Session: {session_id}). Tool calls: {final_tool_counts}") - db.commit() - - return final_answer + final_reasoning = instance.last_reasoning + # Clear reasoning as the task is now complete + instance.last_reasoning = None + db.commit() + + return { + "response": final_answer, + "reasoning": final_reasoning + } except Exception as e: import traceback