Ë
    †¥lj�  ã                  óp   — d dl mZ d dlmZ d dlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZmZ  G d	„ d
«      Zy)é    )Úannotations)Údatetime)Ú	Anthropicé   )Ú	ApiClient)ÚSettings)Úextract_case_id)Ú	load_jsonÚ	save_jsonc                  ó,   — e Zd Zdd„Zdd„Zdd„Zd	d„Zy)
ÚAiAssistantc                óš   — || _         || _        |j                  rt        |j                  ¬«      nd | _        |j
                  dz  | _        y )N)Úapi_keyzconversations.json)ÚsettingsÚapiÚanthropic_api_keyr   ÚclientÚdata_dirÚhistory_path)Úselfr   r   s      ú	bot\ai.pyÚ__init__zAiAssistant.__init__   sA   € Ø ˆŒØˆŒØGO×GaÒGa”i¨×(BÑ(BÕCÐgkˆŒØ$×-Ñ-Ð0DÑDˆÕó    c                óê  — | j                   €yt        | j                  i «      }|j                  |g «      }| j	                  |«      }|r|› d|› �n|}|j                  d|dœ«       | j                   j                  j                  dd| j                  «       |dd  ¬«      }|j                  d	   j                  }d|dœ|d
<   |j                  d|dœ«       |dd  ||<   t        | j                  |«       |S )NuP   AI aÃ§arÄ± qurulmayÄ±b. ANTHROPIC_API_KEY dÉ™yÉ™rini .env faylÄ±na É™lavÉ™ edin.z

Úuser)ÚroleÚcontentzclaude-sonnet-4-5i¸  iìÿÿÿ)ÚmodelÚ
max_tokensÚsystemÚmessagesr   éÿÿÿÿÚ	assistant)r   r
   r   ÚgetÚ_case_contextÚappendr!   ÚcreateÚ_system_promptr   Útextr   )	r   Úuser_idÚmessageÚhistoryr!   ÚcontextÚfull_messageÚresponser)   s	            r   ÚreplyzAiAssistant.reply   sü   € Ø�;‰;ÐØeä˜D×-Ñ-¨rÓ2ˆØ—;‘;˜w¨Ó+ˆØ×$Ñ$ WÓ-ˆÙ4;˜'˜ $ w iÑ0ÀˆØ�‰ °LÑAÔBà—;‘;×'Ñ'×.Ñ.Ø%ØØ×&Ñ&Ó(Ø˜c˜d�^ð	 /ó 
ˆð ×Ñ Ñ"×'Ñ'ˆà &°7Ñ;ˆ�‰Ø�‰ ¸Ñ>Ô?Ø# C D˜>ˆ�ÑÜ�$×#Ñ# WÔ-Øˆr   c                óx  — t        |«      }|sy| j                  j                  dd|i«      }|j                  d«      r|j                  d«      sy|d   }| j                  j                  dd|i«      j                  dg «      }dj                  d	„ |D «       «      }d
|j                  d«      › d|j                  d«      › d|j                  d«      › d|j                  d«      › d|j                  d«      › d|j                  d«      › d|j                  d«      xs d› d|j                  d«      xs d› d|xs d› �S )NÚ Úbir_isÚidÚsuccessÚdataÚtapshiriqlarÚis_idÚ
c           	   3  ó´   K  — | ]P  }d |j                  d«      xs |j                  d«      › d|j                  d«      › d|j                  d«      › d�–— ŒR y­w)z- ÚbasliqÚmezmunz: z (ÚveziyyetÚ)N)r$   )Ú.0Útasks     r   Ú	<genexpr>z,AiAssistant._case_context.<locals>.<genexpr>5   s_   è ø€ ð 
á�ð �—‘˜(Ó#Ò9 t§x¡x°Ó'9Ð:¸"¸T¿X¹XÀhÓ=OÐ<PÐPRÐSW×S[ÑS[Ð\fÓSgÐRhÐhiÔjÙùs   ‚AAu   Ä°Åž MÆ�LUMATI
ID: u   
Ä°ÅŸ nÃ¶mrÉ™si: Ú
is_nomresiu
   
TÉ™rÉ™f: Úterefin_adiu   
MÉ™hkÉ™mÉ™: Úmehkemenin_adiz
Hakim: Úhakimin_adiz	
Status: Ú
is_statusuz
Tarix: Úmehkeme_tarixiÚ-u   
QeydlÉ™r: Úqeydleru   
TapÅŸÄ±rÄ±qlar:
)r	   r   r$   Újoin)r   r+   Úcase_idÚresultÚitemÚtasksÚ
task_liness          r   r%   zAiAssistant._case_context,   sS  € Ü! 'Ó*ˆÙØØ—‘—‘˜h¨¨w¨Ó8ˆØ�z‰z˜)Ô$¨F¯J©J°vÔ,>ØØ�f‰~ˆØ—‘—‘˜^¨g°wÐ-?Ó@×DÑDÀVÈRÓPˆØ—Y‘Yñ 
áó
ó 
ˆ
ð
Ø—8‘8˜D“>Ð"ð #Ø#Ÿx™x¨Ó5Ð6ð 7ØŸ™ Ó/Ð0ð 1ØŸ8™8Ð$4Ó5Ð6ð 7Ø—h‘h˜}Ó-Ð.ð /Ø—x‘x Ó-Ð.ð /Ø—h‘hÐ/Ó0Ò7°CÐ8ð 9ØŸ™ )Ó,Ò3°Ð4ð 5 Ø *Ò 1¨cÐ2ð	4ð	
r   c                óT   — t        j                  «       j                  d«      }d|› d�S )Nz%d.%m.%Y %H:%Mu	   Bu gÃ¼n: uþ  . Saat zonasÄ±: BakÄ±.

SÉ™n vÉ™kil kÃ¶mÉ™kÃ§isi AI botsan. AzÉ™rbaycan dilindÉ™, dÉ™qiq vÉ™ praktik cavab ver.
HÃ¼quqi sÉ™nÉ™d hazÄ±rlayanda istifadÉ™Ã§inin verdiyi iÅŸ mÉ™lumatlarÄ±ndan istifadÉ™ et.

Æ�mÉ™liyyat niyyÉ™tlÉ™rini bu formatlarla bildir:
[XATIRLATMA: DD.MM.YYYY HH:MM | mesaj]
[EMAIL: alici@email.com | MÃ¶vzu | tam mÉ™tn]
[IS_ELAVE: is_nomresi | terefin_adi | mehkemenin_adi | hakimin_adi | is_statusu | YYYY-MM-DD | qeydler]
[IS_REDAKTE: id | is_nomresi | terefin_adi | mehkemenin_adi | hakimin_adi | is_statusu | YYYY-MM-DD | qeydler]
[IS_TAP: iÅŸ nÃ¶mrÉ™si]
[IS_GOSTER: bugun/bu_hefte/hamisi]
[IS_AXTAR: sÃ¶z]
[TASK_ELAVE: is_id | mezmun | prioritet(0/1/2/3; standart 0) | son_tarix YYYY-MM-DD | mesul | qeydler]
[TASKS_GOSTER: is_id]
[TASKS_ACIQ])r   ÚnowÚstrftime)r   rQ   s     r   r(   zAiAssistant._system_promptF   s/   € Ü�l‰l‹n×%Ñ%Ð&6Ó7ˆà˜�uð ð ð	
r   N)r   r   r   r   )r*   Ústrr+   rS   ÚreturnrS   )r+   rS   rT   rS   )rT   rS   )Ú__name__Ú
__module__Ú__qualname__r   r0   r%   r(   © r   r   r   r      s   „ óEóó0
ô4
r   r   N)Ú
__future__r   r   Ú	anthropicr   Ú
api_clientr   Úconfigr   Úparsersr	   Ústorager
   r   r   rX   r   r   Ú<module>r_      s&   ðÝ "å å å !Ý Ý $ß )÷J
ò J
r   