add hooks

This commit is contained in:
ipu 2025-08-12 21:36:46 +03:00
parent a6933ecc1c
commit ee1bb20d54
3 changed files with 27 additions and 3 deletions

View file

@ -1,6 +1,8 @@
import json
import httpx
from typing import Dict, Any, List, Optional
from src.models import ApplicantParam, ChatHook, PlansParam
from ..config import settings
from .session_service import session_service
from ..api.v1.models import Source, HistoryItem
@ -115,7 +117,25 @@ class ChatService:
ai_response = json.loads(chat_response.get("message", {}))
ai_message = ai_response.get("message", "")
hooks = ai_response.get("hooks", [])
compare_plans = ai_response.get("compare_plans")
show_plans = ai_response.get("show_plans")
update_applicants = ai_response.get("update_applicants")
hooks = []
if update_applicants:
hooks.append(ChatHook(
tool="update_applicants",
params=ApplicantParam(applicants=update_applicants)
))
elif compare_plans:
hooks.append(ChatHook(
tool="compare_plans",
params=PlansParam(plans=compare_plans)
))
elif show_plans:
hooks.append(ChatHook(
tool="show_plans",
params=PlansParam(plans=show_plans)
))
return {
"session_id": session_id,
@ -131,7 +151,8 @@ class ChatService:
"session_id": session_id or "fallback-session",
"answer": f"I'm sorry, I'm experiencing technical difficulties. Please try again later. Error: {str(e)}",
"sources": [],
"history": []
"history": [],
"hooks": [],
}
# Global chat service instance