§
    µYÄjï  ã                  ó.  — d dl mZ d dlmZmZ d dlmZ d dlmZmZm	Z	 d dl
mZ  G d„ de¦  «        Z G d„ d	e¦  «        Z G d
„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        ZdS )é    )Úannotations)ÚLiteralÚProtocol)Údatetime)Ú	BaseModelÚFieldÚfield_validator©Údevice_final_textc                  óz   — e Zd ZU  ed¬¦  «        Zded<    edd¬¦  «        Zded<    edd	¬¦  «        Zded
<   dS )ÚProjectz ^[a-zA-Z0-9][a-zA-Z0-9_-]{0,63}$)ÚpatternÚstrÚidé   é    ©Ú
min_lengthÚ
max_lengthÚnamei   ÚpathN)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__annotations__r   r   © ó    úc/home/lighthouse/esp32-dev/.cache/watch-codex-quota-startup/server/device_gateway/control/models.pyr   r   
   sq   € € € € € € ØˆeÐ?Ð@Ñ@Ô@€BÐ@Ð@Ð@Ñ@Ø� ¨sÐ3Ñ3Ô3€DÐ3Ð3Ð3Ñ3Ø� ¨tÐ4Ñ4Ô4€DÐ4Ð4Ð4Ñ4Ð4Ð4r   r   c                  ó  — e Zd ZU ded<   ded<   ded<   ded<   ded<   dZded	<   ded
<   dZded<   dZded<   dZded<   dZded<   dZ	ded<   dZ
ded<   dZded<   dZded<   dZded<    ed¦  «        edd„¦   «         ¦   «         ZdS )ÚAgentSessionr   ÚagentÚ
session_idÚ
project_idr   ÚcwdÚDORMANTzgLiteral['DORMANT', 'IDLE', 'RUNNING', 'DONE', 'FAILED', 'OFFLINE', 'WAITING_APPROVAL', 'WAITING_INPUT']ÚstateÚ
updated_atNú
str | NoneÚmodelÚeffortr   ÚintÚelapsed_secondsFÚboolÚliveÚ Úlatest_activityÚrecent_textÚ
final_textÚactivity_typeÚwaiting_reasonÚvalueÚreturnc                ó    — t          |¦  «        S ©Nr
   ©Úclsr5   s     r   Úbounded_finalzAgentSession.bounded_final"   s   € õ ! Ñ'Ô'Ð'r   ©r5   r   r6   r   )r   r   r   r   r&   r)   r*   r,   r.   r0   r1   r2   r3   r4   r	   Úclassmethodr;   r   r   r   r    r       s)  € € € € € € Ø€J€J�JØ€O€O�OØ€O€O�OØ€I€I�IØ€H€H�HØu~€EÐ~Ð~Ð~Ñ~Ø€O€O�OØ€EÐÐÐÑØ€FÐÐÐÑØ€OÐÐÐÑØ€DÐÐÐÑØ€OÐÐÐÑØ€KÐÐÐÑØ€JÐÐÐÑØ $€MÐ$Ð$Ð$Ñ$Ø!%€NÐ%Ð%Ð%Ñ%à€_�\Ñ"Ô"Øð(ð (ð (ñ „[ñ #Ô"ð(ð (ð (r   r    c                  ón   — e Zd ZU  edd¬¦  «        Zded<    ed¦  «        ed
d„¦   «         ¦   «         Zd	S )ÚInputr   i }  r   r   Útextr5   r6   c                óL   — |                      ¦   «         st          d¦  «        ‚|S )Nzinput cannot be blank)ÚstripÚ
ValueErrorr9   s     r   ÚnonblankzInput.nonblank+   s(   € ð �{Š{‰}Œ}ð 	6ÝÐ4Ñ5Ô5Ð5Øˆr   Nr<   )	r   r   r   r   r@   r   r	   r=   rD   r   r   r   r?   r?   (   si   € € € € € € Ø� ¨uÐ5Ñ5Ô5€DÐ5Ð5Ð5Ñ5à€_�VÑÔØðð ð ñ „[ñ Ôðð ð r   r?   c                  ó8   — e Zd ZU ded<   ded<   ded<   ded<   dS )ÚActivityr   r!   r"   z Literal['text', 'tool', 'state']Úkindr@   N)r   r   r   r   r   r   r   rF   rF   3   s7   € € € € € € Ø€J€J�JØ€O€O�OØ*Ð*Ð*Ñ*Ø€I€I�I€I€Ir   rF   c                  ó,  — e Zd ZU ded<   ded<   ded<   ded<   ded<   ded<   ded	<    ed
„ ¬¦  «        Zded<   ded<   dZded<    edd¬¦  «        Zded<   dZded<    edd¬¦  «        Z	ded<    ed¬¦  «        Z
ded<    ed¬¦  «        Zded<   dS ) ÚApprovalr   Úapproval_idr!   r"   r#   z3Literal['command', 'file_change', 'tool', 'action']rG   ÚtitleÚdetailc                 ó
   — ddgS )NÚapproveÚrejectr   r   r   r   ú<lambda>zApproval.<lambda>B   s   € ¸	À8Ð7L€ r   )Údefault_factoryz	list[str]Úchoicesr   Ú
created_atNzdatetime | NoneÚ
expires_atÚwaitT)ÚdefaultÚexcludezLiteral['wait']Útimeout_policyÚPENDINGzBLiteral['PENDING', 'APPROVED', 'REJECTED', 'EXPIRED', 'CANCELLED']r&   r(   Údecision)rW   ÚownerÚrequest_identity)r   r   r   r   r   rR   rT   rX   r&   rZ   r[   r\   r   r   r   rI   rI   :   s$  € € € € € € ØÐÐÑØ€J€J�JØ€O€O�OØ€O€O�OØ=Ð=Ð=Ñ=Ø€J€J�JØ€K€K�KØ˜Ð/LÐ/LÐMÑMÔM€GÐMÐMÐMÑMØÐÐÑØ"&€JÐ&Ð&Ð&Ñ&Ø&+ e°FÀDÐ&IÑ&IÔ&I€NÐIÐIÐIÑIØPY€EÐYÐYÐYÑYØ ˜5¨°tÐ<Ñ<Ô<€HÐ<Ð<Ð<Ñ<Ø�˜tÐ$Ñ$Ô$€EÐ$Ð$Ð$Ñ$Ø!˜E¨$Ð/Ñ/Ô/ÐÐ/Ð/Ð/Ñ/Ð/Ð/r   rI   c                  óB   — e Zd ZU dZded<   dZded<   dZded<   ddiZdS )ÚSettingsNr(   Úpermissionsr)   r*   ÚextraÚforbid)r   r   r   r_   r   r)   r*   Úmodel_configr   r   r   r^   r^   L   sM   € € € € € € Ø"€KÐ"Ð"Ð"Ñ"Ø€EÐÐÐÑØ€FÐÐÐÑØ˜XÐ&€L€L€Lr   r^   c                  ó"   ‡ — e Zd Zddˆ fd„Zˆ xZS )	ÚControlErroré÷  rL   r   Ústatusr+   c                óh   •— ||c| _         | _        t          ¦   «                              |¦  «         d S r8   )rL   rf   ÚsuperÚ__init__)ÚselfrL   rf   Ú	__class__s      €r   ri   zControlError.__init__T   s1   ø€ Ø#)¨6Ð ˆŒ�T”[Ý‰Œ×Ò˜Ñ Ô Ð Ð Ð r   )re   )rL   r   rf   r+   )r   r   r   ri   Ú__classcell__)rk   s   @r   rd   rd   S   sB   ø€ € € € € ð!ð !ð !ð !ð !ð !ð !ð !ð !ð !ð !r   rd   c                  óZ   — e Zd ZU ded<   dd„Zdd
„Zdd„Zdd„Zdd„Zdd„Z	dd„Z
d d„ZdS )!ÚAgentAdapterr   Ú
agent_typeÚprojectr   r6   úlist[AgentSession]c              ƒ  ó
   K  — d S r8   r   )rj   rp   s     r   Úlist_sessionszAgentAdapter.list_sessions\   ó
   è è € € € r   r"   r    c              ƒ  ó
   K  — d S r8   r   ©rj   r"   s     r   Úget_sessionzAgentAdapter.get_session]   rt   r   r-   c              ƒ  ó
   K  — d S r8   r   rv   s     r   Úresume_sessionzAgentAdapter.resume_session^   rt   r   r@   Údictc              ƒ  ó
   K  — d S r8   r   )rj   r"   r@   s      r   Ú
send_inputzAgentAdapter.send_input_   rt   r   c              ƒ  ó
   K  — d S r8   r   rv   s     r   Úget_settingszAgentAdapter.get_settings`   rt   r   ú
list[dict]c              ƒ  ó
   K  — d S r8   r   rv   s     r   Úlist_modelszAgentAdapter.list_modelsa   rt   r   r5   r^   c              ƒ  ó
   K  — d S r8   r   )rj   r"   r5   s      r   Úupdate_settingszAgentAdapter.update_settingsb   rt   r   ÚNonec              ƒ  ó
   K  — d S r8   r   )rj   s    r   ÚclosezAgentAdapter.closec   rt   r   N)rp   r   r6   rq   )r"   r   r6   r    )r"   r   r6   r-   )r"   r   r@   r   r6   rz   )r"   r   r6   rz   )r"   r   r6   r   )r"   r   r5   r^   r6   rz   )r6   r„   )r   r   r   r   rs   rw   ry   r|   r~   r�   rƒ   r†   r   r   r   rn   rn   Y   s{   € € € € € € Ø€O€O�OàNÐNÐNÐNØEÐEÐEÐEØ@Ð@Ð@Ð@ØGÐGÐGÐGØ>Ð>Ð>Ð>ØCÐCÐCÐCØRÐRÐRÐRØ&Ð&Ð&Ð&Ð&Ð&r   rn   N)Ú
__future__r   Útypingr   r   r   Úpydanticr   r   r	   Údevice_gateway.display_textr   r   r    r?   rF   rI   r^   Ú	Exceptionrd   rn   r   r   r   ú<module>rŒ      sË  ðØ "Ð "Ð "Ð "Ð "Ð "à $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9ð5ð 5ð 5ð 5ð 5ˆiñ 5ô 5ð 5ð(ð (ð (ð (ð (�9ñ (ô (ð (ð0ð ð ð ð ˆIñ ô ð ðð ð ð ð ˆyñ ô ð ð0ð 0ð 0ð 0ð 0ˆyñ 0ô 0ð 0ð$'ð 'ð 'ð 'ð 'ˆyñ 'ô 'ð 'ð!ð !ð !ð !ð !�9ñ !ô !ð !ð
'ð 
'ð 
'ð 
'ð 
'�8ñ 
'ô 
'ð 
'ð 
'ð 
'r   