
    ti+                     t    d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ  e j        e          Zd ZdS )    N)
ChatOpenAI)SystemMessageHumanMessage	AIMessage)settings)safe_invoke_toolc                   K   | d         d         j         }t          t          j        d          }d}	 |                    t          |          t          |          g           d{V }t          j        |j         	                                          }|
                    d          }|
                    d	          }|r|st          d
          gg dS t                              d| d|            |t          |          d}t          d|           d{V }	| 
                    dg           }
d|
v r|
                    d           t#          |	t$                    o)t'          |	          dk    odt)          |	d                   v }|s|	sGt                              d| d| d           d|
vr|
                    dd           |
d| d| ddS t          j        |	d          g|
d| d| dddS # t.          $ rj}t                              d|            | 
                    dg           }
d|
v r|
                    d           |
t          d          gd cY d}~S d}~ww xY w)!ue   
    Nodo especializado en consultar datos históricos consolidados desde la DB (vía MCP Tool).
    messagesr   )modeltemperatureu   Extrae el MES (en minúsculas, ej: 'enero') y el AÑO (ej: 2024) de la consulta del usuario. Responde ÚNICAMENTE en JSON con los campos 'mes' y 'anio'.)contentNmesaniouU   Para darte datos históricos, necesito que me indiques el mes y el año específicos.)r
   intenciones_pendientesu!   📊 Consultando histórico para  )r   r   consultarHistoricoAgrotar   HISTORICO_METRICASzNo se encontraronu+   ⚠️ Histórico no encontrado en DB para z1. Activando fallback a consulta en VIVO (Ventas).UB_PRESUPUESTOzBuscando datos en vivo para z...)r   mensaje_skillF)ensure_asciiu   Datos históricos de z obtenidos de DB)resultados_tecnicosr   r   	dashboardu   ❌ Error en historico_skill: uk   Ocurrió un error al consultar el histórico. Por favor, asegúrate de indicar el mes y año correctamente.)r   r
   )r   r   r   
MODEL_NAMEainvoker   r   jsonloadsstripgetr   loggerinfointr   remove
isinstancelistlenstrinsertdumps	Exceptionerror)stateprompt_usuariollm
sys_prompt
extractiondatar   r   args	resultado
pendientesis_errores                yc:\Users\Dell Inspiron 16\Desktop\tws\AgrotaPowerBi\back-agrota-powerbi\mcp-client-agrota\agent\skills\historico_skill.pyhistorico_skill_noder8   
   s{      :&r*2N
8.A
>
>
>C	F 
7
;;*---000(
        

 z*,224455hhuooxx 	$ 	&  0G  H  H  H  I*,  
 	DDDdDDEEE CII..*+EtLLLLLLLL	 YY7<<
:--2333 i..r3y>>A3ErJ]adenopeqararJr 		9 		KK  Dc  D  DD  D  D  D  E  E  Ez11!!!%5666 +5!O!O!Od!O!O!O   %)Jyu$M$M$M#N&0QSQQ4QQQ-	
 
 	
  
 
 
9a99:::YY7<<
:--2333&0"  ,Y  Z  Z  Z  [
 
 	
 	
 	
 	
 	
 	

s,   B%G> D G> "G> >
I2AI-'I2-I2)loggingr   langchain_openair   langchain_core.messagesr   r   r   config.settingsr   agent.utils.mcp_helperr   	getLogger__name__r    r8        r7   <module>rB      s      ' ' ' ' ' ' J J J J J J J J J J $ $ $ $ $ $ 3 3 3 3 3 3		8	$	$E
 E
 E
 E
 E
rA   