diff --git a/agent_service/routers/dispatch.py b/agent_service/routers/dispatch.py index 5eff038..358d083 100644 --- a/agent_service/routers/dispatch.py +++ b/agent_service/routers/dispatch.py @@ -4,6 +4,7 @@ import hashlib import hmac import logging import time +import uuid from typing import Optional from fastapi import APIRouter, Depends, HTTPException, Request, status @@ -73,13 +74,16 @@ async def dispatch(req: DispatchRequest, request: Request): settings = get_settings() timeout = settings.directive_timeout_minutes * 60 + directive_id = req.session_id or uuid.uuid4().hex + channel_id = req.context.get('channel_id') if isinstance(req.context, dict) else None + try: response = await asyncio.wait_for( master.handle_message( user_id=req.user_id, + channel_id=channel_id, message=req.message, - context=req.context, - session_id=req.session_id, + directive_id=directive_id, ), timeout=timeout, ) @@ -94,8 +98,8 @@ async def dispatch(req: DispatchRequest, request: Request): return DispatchResponse( directive_id=response.directive_id, - reply=response.reply, - agent_reports=[r.dict() if hasattr(r, 'dict') else r for r in response.agent_reports], + reply=response.response, + agent_reports=[], escalations=response.escalations, actions_taken=response.actions_taken, session_id=req.session_id,