diff --git a/src/agent/service.py b/src/agent/service.py index 05f50c4..04c4e47 100644 --- a/src/agent/service.py +++ b/src/agent/service.py @@ -45,10 +45,16 @@ class AgentService: # 2. Инструмент завершил работу и вернул результат elif kind == "on_tool_end": - yield MsgEventToolResult( - tool_name=event["name"], - result=event["data"].get("output") - ) + result = event["data"].get("output") + + # Перехватываем ссылку на авторизацию Composio v3 + if result and "connect.composio.dev" in str(result): + yield MsgEventTextChunk(text=f"\n⚠️ Для выполнения действия требуется авторизация. Перейдите по ссылке: {result}\n") + else: + yield MsgEventToolResult( + tool_name=event["name"], + result=str(result) # Страховка от ошибки сериализации JSON + ) # 3. В конце генерации отправляем событие завершения yield MsgEventEnd(tokens_used=0) # потом заменить на метадату