fix: pass customer_id directly to tools instead of state

- Avoids JSON serialization errors with HumanMessage objects
- schedule_appointment now receives customer_id as direct parameter
This commit is contained in:
2026-03-11 00:29:03 -05:00
parent e92cb969e9
commit 8d20656a37
2 changed files with 16 additions and 8 deletions

View File

@@ -160,7 +160,7 @@ class NaliiaTools:
service_center=11,
customer=None,
professional=6,
state=None,
customer_id=None,
) -> bool:
"""
Permite agendar una cita para un cliente en un centro de servicio específico.
@@ -170,8 +170,9 @@ class NaliiaTools:
schedule_time: Hora de la cita en formato HH:MM:SS.
description (str): Descripción o motivo de la cita.
service_center (int, optional): ID del centro de servicio. Por defecto es 11.
customer (int, optional): ID del cliente. Si no se proporciona, se obtiene del estado.
customer (int, optional): ID del cliente. Si no se proporciona, se usa customer_id.
professional (int, optional): ID del profesional. Por defecto es 6.
customer_id (int, optional): ID del cliente obtenido del estado.
Returns:
bool: True si la cita fue agendada exitosamente, False en caso contrario.
@@ -186,9 +187,9 @@ class NaliiaTools:
if not schedule_date and schedule_time:
return False
if customer is None and state is not None:
customer = state.get("customer_id", 0)
logger.info(f"Customer ID obtained from state: {customer}")
if customer is None and customer_id is not None:
customer = customer_id
logger.info(f"Customer ID obtained from agent state: {customer}")
if customer is None or customer == 0:
logger.warning("No se pudo obtener el ID del cliente")