§
    ÙŽ’jüE  ã                   ó  — U d Z ddlmZ ddlmZ ddlmZmZmZmZm	Z	 ddl
mZmZmZ ddlmZ ddlmZ dd	lmZmZmZmZmZ dd
lmZmZ ddlmZ ddlmZ  G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de ¦  «        Z! ed¦  «         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) 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 d0„ d1e ¦  «        Z0 G d2„ d3e ¦  «        Z1 G d4„ d5e ¦  «        Z2 G d6„ d7e ¦  «        Z3 G d8„ d9e ¦  «        Z4 G d:„ d;e ¦  «        Z5 G d<„ d=e ¦  «        Z6 G d>„ d?e ¦  «        Z7 G d@„ dAe ¦  «        Z8 G dB„ dCe ¦  «        Z9 G dD„ dEe¦  «        Z: G dF„ dGe ¦  «        Z; G dH„ dIe ¦  «        Z< G dJ„ dKe ¦  «        Z= G dL„ dMe ¦  «        Z>e!e#z  e7z  e8z  e9z  e$z  e%z  e&z  e'z  e(z  e)z  e*z  e+z  e,z  e-z  e.z  e/z  e0z  e1z  e2z  e3z  e4z  e5z  e6z  e;z  e<z  e=z  e>z  Z?e	e@dN<   dOS )Pz Event types for agent execution.é    )Údatetime)ÚStrEnum)ÚAnyÚDictÚLiteralÚListÚ	TypeAlias)Ú	BaseModelÚFieldÚ
ConfigDict)Ú
deprecatedé   )Ú_generate_id)Ú	DataBlockÚ	TextBlockÚToolCallBlockÚToolResultBlockÚToolResultState)ÚReplyFinishedReasonÚ	ErrorInfo)ÚFinishedReason)ÚPermissionRulec                   ó‚   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS )Ú	EventTypezEvent type enumeration.ÚREPLY_STARTÚ	REPLY_ENDÚMODEL_CALL_STARTÚMODEL_CALL_ENDÚTEXT_BLOCK_STARTÚTEXT_BLOCK_DELTAÚTEXT_BLOCK_ENDÚDATA_BLOCK_STARTÚDATA_BLOCK_DELTAÚDATA_BLOCK_ENDÚTHINKING_BLOCK_STARTÚTHINKING_BLOCK_DELTAÚTHINKING_BLOCK_ENDÚ
HINT_BLOCKÚTOOL_CALL_STARTÚTOOL_CALL_DELTAÚTOOL_CALL_ENDÚTOOL_RESULT_STARTÚTOOL_RESULT_TEXT_DELTAÚTOOL_RESULT_DATA_DELTAÚTOOL_RESULT_ENDÚEXCEED_MAX_ITERSÚREQUIRE_USER_CONFIRMÚREQUIRE_EXTERNAL_EXECUTIONÚUSER_CONFIRM_RESULTÚUSER_INTERRUPTÚEXTERNAL_EXECUTION_RESULTÚCUSTOMN) Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   © ó    úEC:\Projects\DSCons\.venv\Lib\site-packages\agentscope\event\_event.pyr   r      s°   € € € € € Ø!Ð!à€KØ€Ià)ÐØ%€Nà)ÐØ)ÐØ%€Nà)ÐØ)ÐØ%€Nà1ÐØ1ÐØ-Ðà€Jà'€OØ'€OØ#€Mà+ÐØ5ÐØ5ÐØ'€Oà)Ðà1ÐØ!=Ðà/ÐØ%€NØ ;Ðà€F€F€Fr<   r   c                   ó¨   — e Zd ZU dZ ed¬¦  «        Z ee¬¦  «        Ze	e
d<   	  ed„ ¬¦  «        Ze	e
d<   	  ee¬¦  «        Zee	ef         e
d<   d	S )
Ú	EventBasezBase event class.T©Úuse_enum_values©Údefault_factoryÚidc                  óL   — t          j        ¦   «                              ¦   «         S )N)r   ÚnowÚ	isoformatr;   r<   r=   ú<lambda>zEventBase.<lambda>M   s   € µH´L±N´N×4LÒ4LÑ4NÔ4N€ r<   Ú
created_atÚmetadataN)r7   r8   r9   r:   r   Úmodel_configr   r   rD   ÚstrÚ__annotations__rI   ÚdictrJ   r   r   r;   r<   r=   r?   r?   F   s“   € € € € € € ØÐà�:¨dÐ3Ñ3Ô3€Làˆe LÐ1Ñ1Ô1€BˆÐ1Ð1Ñ1Ø"Ø�eÐ,NÐ,NÐOÑOÔO€J�ÐOÐOÑOØ;Ø$˜u°TÐ:Ñ:Ô:€Hˆd�3˜�8ŒnÐ:Ð:Ñ:Ø2Ð2r<   r?   c                   ó‚   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   	 dZ
ed         ed<   d	S )
ÚReplyStartEventzReply start event.ÚtypeÚ
session_idÚreply_idÚnameÚ	assistant)ÚuserrU   ÚsystemÚroleN)r7   r8   r9   r:   r   r   rQ   r   rM   rL   rX   r;   r<   r=   rP   rP   S   sp   € € € € € € ØÐà+4Ô+@€Dˆ'�)Ô'Ô
(Ð@Ð@Ñ@ØØ€O€O�OØ2Ø€M€M�MØ9Ø
€I€I�IØØ3>€Dˆ'Ð/Ô
0Ð>Ð>Ñ>ØÐr<   rP   zcReplyEndReason is deprecated and will be removed; use agentscope.types.ReplyFinishedReason instead.c                   ó   — e Zd ZdZdZdZdZdS )ÚReplyEndReasonzØDeprecated alias of :class:`~agentscope.types.ReplyFinishedReason`,
    kept for backward compatibility. Value-compatible (both ``StrEnum``),
    so existing code that constructs or compares against it keeps working.Ú	completedÚinterruptedÚexceed_max_itersN)r7   r8   r9   r:   Ú	COMPLETEDÚINTERRUPTEDr0   r;   r<   r=   rZ   rZ   b   s.   € € € € € ð
Nð Nð €IØ€KØ)ÐÐÐr<   rZ   c                   óŠ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e
j        Ze
ed<   	 dZedz  ed<   dS )ÚReplyEndEventzReply end event.rQ   rR   rS   Úfinished_reasonNÚerror)r7   r8   r9   r:   r   r   rQ   r   rM   rL   r   r^   rb   rc   r   r;   r<   r=   ra   ra   p   s~   € € € € € € ØÐà)2Ô)<€Dˆ'�)Ô%Ô
&Ð<Ð<Ñ<ØØ€O€O�OØ2Ø€M€M�MØ9Ø+>Ô+H€OÐ(ÐHÐHÑHØ,Ø"€Eˆ9�tÑÐ"Ð"Ñ"ð9ð 9r<   ra   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚModelCallStartEventzModel call start event.rQ   rS   Ú
model_nameN)
r7   r8   r9   r:   r   r   rQ   r   rM   rL   r;   r<   r=   re   re   €   sK   € € € € € € Ø!Ð!à09Ô0J€Dˆ'�)Ô,Ô
-ÐJÐJÑJØØ€M€M�MØ=Ø€O€O�OØ)Ð)r<   re   c                   ó”   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e
ed<   	 e
ed<   	  eej        ¬¦  «        Zeed<   dS )	ÚModelCallEndEventzModel call end event.rQ   rS   Úinput_tokensÚoutput_tokens)Údefaultrb   N)r7   r8   r9   r:   r   r   rQ   r   rM   rL   Úintr   r   r^   rb   r;   r<   r=   rh   rh   ‹   s�   € € € € € € ØÐà.7Ô.F€Dˆ'�)Ô*Ô
+ÐFÐFÑFØØ€M€M�MØ=ØÐÐÑØ*ØÐÐÑØ,Ø&+ eØÔ(ð'ñ 'ô '€O�^ð ð ñ ð 2Ð1r<   rh   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚTextBlockStartEventzText block start event.rQ   rS   Úblock_idN)
r7   r8   r9   r:   r   r   rQ   r   rM   rL   r;   r<   r=   rn   rn   œ   sK   € € € € € € Ø!Ð!à09Ô0J€Dˆ'�)Ô,Ô
-ÐJÐJÑJØØ€M€M�MØ8Ø€M€M�MØ.Ð.r<   rn   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚTextBlockDeltaEventzText block delta event.rQ   rS   ro   ÚdeltaN)
r7   r8   r9   r:   r   r    rQ   r   rM   rL   r;   r<   r=   rq   rq   §   sW   € € € € € € Ø!Ð!à09Ô0J€Dˆ'�)Ô,Ô
-ÐJÐJÑJØØ€M€M�MØ8Ø€M€M�MØ.Ø€J€J�JØ#Ð#r<   rq   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚTextBlockEndEventzText block end event.rQ   rS   ro   N)
r7   r8   r9   r:   r   r!   rQ   r   rM   rL   r;   r<   r=   rt   rt   ´   óK   € € € € € € ØÐà.7Ô.F€Dˆ'�)Ô*Ô
+ÐFÐFÑFØØ€M€M�MØ8Ø€M€M�MØ.Ð.r<   rt   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚDataBlockStartEventzData block start event.rQ   rS   ro   Ú
media_typeN)
r7   r8   r9   r:   r   r"   rQ   r   rM   rL   r;   r<   r=   rw   rw   ¿   sW   € € € € € € Ø!Ð!à09Ô0J€Dˆ'�)Ô,Ô
-ÐJÐJÑJØØ€M€M�MØ8Ø€M€M�MØ.Ø€O€O�OØ;Ð;r<   rw   c                   ór   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚDataBlockDeltaEventzData block delta event.rQ   rS   ro   Údatarx   N)
r7   r8   r9   r:   r   r#   rQ   r   rM   rL   r;   r<   r=   rz   rz   Ì   sc   € € € € € € Ø!Ð!à09Ô0J€Dˆ'�)Ô,Ô
-ÐJÐJÑJØØ€M€M�MØ8Ø€M€M�MØ.Ø
€I€I�IØ*Ø€O€O�OØ(Ð(r<   rz   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚDataBlockEndEventzData block end event.rQ   rS   ro   N)
r7   r8   r9   r:   r   r$   rQ   r   rM   rL   r;   r<   r=   r}   r}   Û   ru   r<   r}   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚThinkingBlockStartEventzThinking block start event.rQ   rS   ro   N)
r7   r8   r9   r:   r   r%   rQ   r   rM   rL   r;   r<   r=   r   r   æ   s[   € € € € € € Ø%Ð%ð 	Ô&ð 	ˆ'ØÔ&ôð 'ð 'ñ 'ð Ø€M€M�MØ8Ø€M€M�MØ2Ð2r<   r   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚThinkingBlockDeltaEventzThinking block delta event.rQ   rS   ro   rr   N)
r7   r8   r9   r:   r   r&   rQ   r   rM   rL   r;   r<   r=   r�   r�   ó   sg   € € € € € € Ø%Ð%ð 	Ô&ð 	ˆ'ØÔ&ôð 'ð 'ñ 'ð Ø€M€M�MØ8Ø€M€M�MØ2Ø€J€J�JØ,Ð,r<   r�   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚThinkingBlockEndEventzThinking block end event.rQ   rS   ro   N)
r7   r8   r9   r:   r   r'   rQ   r   rM   rL   r;   r<   r=   rƒ   rƒ     sK   € € € € € € Ø#Ð#à2;Ô2N€Dˆ'�)Ô.Ô
/ÐNÐNÑNØØ€M€M�MØ8Ø€M€M�MØ2Ð2r<   rƒ   c                   ó”   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 dZ
e	dz  ed<   	 e	eeez           z  ed<   dS )ÚHintBlockEventuÒ  One-shot hint block event.

    Unlike text/thinking blocks, hint blocks are not streamed â€” the
    full content is available at creation time (team messages,
    background tool results, user interruptions, â€¦). A single event
    carries the complete :class:`~agentscope.message.HintBlock`.

    The ``hint`` field mirrors :attr:`HintBlock.hint` and may be a
    plain string or a list of :class:`TextBlock` / :class:`DataBlock`
    for multimodal content.
    rQ   rS   ro   NÚsourceÚhint)r7   r8   r9   r:   r   r(   rQ   r   rM   rL   r†   r   r   r   r;   r<   r=   r…   r…     s†   € € € € € € ð
ð 
ð +4Ô*>€Dˆ'�)Ô&Ô
'Ð>Ð>Ñ>ØØ€M€M�MØ8Ø€M€M�MØ.Ø€FˆC�$‰JÐÐÑØIØ
��Y Ñ*Ô+Ñ
+Ð+Ð+Ñ+ØOÐOr<   r…   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚToolCallStartEventzTool call start event.rQ   rS   Útool_call_idÚtool_call_nameN)
r7   r8   r9   r:   r   r)   rQ   r   rM   rL   r;   r<   r=   r‰   r‰   &  s]   € € € € € € Ø Ð à/8Ô/H€Dˆ'�)Ô+Ô
,ÐHÐHÑHØØ€M€M�MØ<ØÐÐÑØ-ØÐÐÑØ(Ð(r<   r‰   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚToolCallDeltaEventzTool call delta event.rQ   rS   rŠ   rr   N)
r7   r8   r9   r:   r   r*   rQ   r   rM   rL   r;   r<   r=   r�   r�   3  sZ   € € € € € € Ø Ð à/8Ô/H€Dˆ'�)Ô+Ô
,ÐHÐHÑHØØ€M€M�MØ<ØÐÐÑØ-Ø€J€J�JØ:Ð:r<   r�   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚToolCallEndEventzTool call end event.rQ   rS   rŠ   N)
r7   r8   r9   r:   r   r+   rQ   r   rM   rL   r;   r<   r=   r�   r�   @  sN   € € € € € € ØÐà-6Ô-D€Dˆ'�)Ô)Ô
*ÐDÐDÑDØØ€M€M�MØ<ØÐÐÑØ-Ð-r<   r�   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚToolResultStartEventzTool result start event.rQ   rS   rŠ   r‹   N)
r7   r8   r9   r:   r   r,   rQ   r   rM   rL   r;   r<   r=   r‘   r‘   K  s]   € € € € € € Ø"Ð"à1:Ô1L€Dˆ'�)Ô-Ô
.ÐLÐLÑLØØ€M€M�MØ>ØÐÐÑØ,ØÐÐÑØ+Ð+r<   r‘   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	 e	ed<   dS )ÚToolResultTextDeltaEventzTool result text delta event.rQ   rS   rŠ   rr   N)
r7   r8   r9   r:   r   r-   rQ   r   rM   rL   r;   r<   r=   r“   r“   X  sj   € € € € € € Ø'Ð'ð 	Ô(ð 	ˆ'ØÔ(ôð )ð )ñ )ð Ø€M€M�MØ>ØÐÐÑØ,Ø€J€J�JØ6Ð6r<   r“   c                   ó¶   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   	  e
e¬¦  «        Ze	ed<   	 e	ed<   	 dZe	dz  ed	<   	 dZe	dz  ed
<   dS )ÚToolResultDataDeltaEventzTool result data delta event.rQ   rS   rŠ   rB   ro   rx   Nr{   Úurl)r7   r8   r9   r:   r   r.   rQ   r   rM   rL   r   r   ro   r{   r–   r;   r<   r=   r•   r•   g  s¸   € € € € € € Ø'Ð'ð 	Ô(ð 	ˆ'ØÔ(ôð )ð )ñ )ð Ø€M€M�MØ>ØÐÐÑØ,Ø�E¨,Ð7Ñ7Ô7€HˆcÐ7Ð7Ñ7ØDØ€O€O�OØ*Ø€Dˆ#�‰*ÐÐÑØDØ€Cˆˆt‰ÐÐÑØMÐMr<   r•   c                   ó²   — e Zd ZU dZ ed¬¦  «        Zej        Ze	ej                 e
d<   	 ee
d<   	 ee
d<   	 ee
d<   	  ee¬¦  «        Zeeef         e
d	<   d
S )ÚToolResultEndEventzTool result end event.Tr@   rQ   rS   rŠ   ÚstaterB   rJ   N)r7   r8   r9   r:   r   rK   r   r/   rQ   r   rM   rL   r   r   rN   rJ   r   r;   r<   r=   r˜   r˜   |  s—   € € € € € € Ø Ð à�:¨dÐ3Ñ3Ô3€Là/8Ô/H€Dˆ'�)Ô+Ô
,ÐHÐHÑHØØ€M€M�MØ>ØÐÐÑØ,ØÐÐÑØ1Ø$˜u°TÐ:Ñ:Ô:€Hˆd�3˜�8ŒnÐ:Ð:Ñ:Ø>Ð>r<   r˜   c                   óZ   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e	ed<   dS )ÚExceedMaxItersEventzExceeded max iteration event.rQ   rS   rT   N)
r7   r8   r9   r:   r   r0   rQ   r   rM   rL   r;   r<   r=   r›   r›   �  sK   € € € € € € Ø'Ð'à09Ô0J€Dˆ'�)Ô,Ô
-ÐJÐJÑJØØ€M€M�MØ;Ø
€I€I�IØÐr<   r›   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e
e         ed<   dS )ÚRequireUserConfirmEventzRequire user confirm event.rQ   rS   Ú
tool_callsN)r7   r8   r9   r:   r   r1   rQ   r   rM   rL   r   r   r;   r<   r=   r�   r�   ˜  sc   € € € € € € Ø%Ð%ð 	Ô&ð 	ˆ'ØÔ&ôð 'ð 'ñ 'ð Ø€M€M�MØ;Ø�]Ô#Ð#Ð#Ñ#Ø/Ð/r<   r�   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e
e         ed<   dS )ÚRequireExternalExecutionEventz!Require external execution event.rQ   rS   rž   N)r7   r8   r9   r:   r   r2   rQ   r   rM   rL   r   r   r;   r<   r=   r    r    ¥  sc   € € € € € € Ø+Ð+ð 	Ô,ð 	ˆ'ØÔ,ôð -ð -ñ -ð Ø€M€M�MØ;Ø�]Ô#Ð#Ð#Ñ#Ø/Ð/r<   r    c                   óL   — e Zd ZU dZeed<   	 eed<   	 dZee	         dz  ed<   dS )ÚConfirmResultzConfirm result for a tool call.Ú	confirmedÚ	tool_callNÚrules)
r7   r8   r9   r:   ÚboolrM   r   r¥   Úlistr   r;   r<   r=   r¢   r¢   ²  sQ   € € € € € € Ø)Ð)à€O€O�OØ3ØÐÐÑØ7Ø)-€Eˆ4�Ô $Ñ&Ð-Ð-Ñ-ð;ð ;r<   r¢   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e
e         ed<   dS )ÚUserConfirmResultEventzUser confirm result event.rQ   rS   Úconfirm_resultsN)r7   r8   r9   r:   r   r3   rQ   r   rM   rL   r§   r¢   r;   r<   r=   r©   r©   À  sc   € € € € € € Ø$Ð$ð 	Ô%ð 	ˆ'ØÔ%ôð &ð &ñ &ð Ø€M€M�MØ;Ø˜-Ô(Ð(Ð(Ñ(Ø:Ð:r<   r©   c                   óN   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   dS )ÚUserInterruptEventu3  User-initiated interrupt targeting a parked reply.

    Delivered to :meth:`Agent.reply_stream` (or :meth:`Agent.reply`) to
    abort a reply that is currently waiting on external input â€” either
    user confirmation (:class:`RequireUserConfirmEvent`) or external
    execution (:class:`RequireExternalExecutionEvent`).

    On receipt, the agent closes every pending tool call with an
    interrupted tool result, emits a fallback assistant message, ends
    the reply with :attr:`ReplyEndReason.INTERRUPTED`, and does **not**
    enter the reasoning-acting loop.

    .. note:: This event is only meaningful for parked replies. To
        interrupt a running (actively-generating) reply, cancel the
        underlying task instead â€” the agent handles that path via its
        own ``CancelledError`` cleanup.
    rQ   rS   N)
r7   r8   r9   r:   r   r4   rQ   r   rM   rL   r;   r<   r=   r¬   r¬   Í  sE   € € € € € € ðð ð$ /8Ô.F€Dˆ'�)Ô*Ô
+ÐFÐFÑFØØ€M€M�MØ9Ð9r<   r¬   c                   óf   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	 e
e         ed<   dS )ÚExternalExecutionResultEventz External execution result event.rQ   rS   Úexecution_resultsN)r7   r8   r9   r:   r   r5   rQ   r   rM   rL   r   r   r;   r<   r=   r®   r®   æ  sc   € € € € € € Ø*Ð*ð 	Ô+ð 	ˆ'ØÔ+ôð ,ð ,ñ ,ð Ø€M€M�MØ;Ø˜OÔ,Ð,Ð,Ñ,Ø4Ð4r<   r®   c                   ór   — e Zd ZU dZej        Zeej                 ed<   	 e	ed<   	  e
e¬¦  «        Zeed<   dS )ÚCustomEventu‘  Generic extensible event for signals that don't fit a specific
    ``AgentEvent`` subtype.

    Used by service-layer middleware to notify front-end subscribers
    about state changes (task progress, team membership, permission
    updates, â€¦) without polluting the core agent event enum with
    application-specific types.

    Front-end implementations should handle unknown ``name`` values
    gracefully â€” skip with no error.

    Attributes:
        name (`str`):
            Identifies the kind of notification. Well-known values:

            - ``"state_updated"`` â€” agent state (tasks / permission)
              changed during a tool call.
            - ``"team_updated"`` â€” team membership changed (member
              added / team created or dissolved).

        value (`dict`):
            Arbitrary JSON-serializable payload whose schema depends
            on ``name``. May be empty.
    rQ   rT   rB   ÚvalueN)r7   r8   r9   r:   r   r6   rQ   r   rM   rL   r   rN   r²   r;   r<   r=   r±   r±   ó  se   € € € € € € ðð ð2 '0Ô&6€Dˆ'�)Ô"Ô
#Ð6Ð6Ñ6Ø#Ø
€I€I�IØMØ�%¨Ð-Ñ-Ô-€Eˆ4Ð-Ð-Ñ-ØÐr<   r±   Ú
AgentEventN)Ar:   r   Úenumr   Útypingr   r   r   r   r	   Úpydanticr
   r   r   Útyping_extensionsr   Ú_utils._commonr   Úmessager   r   r   r   r   Útypesr   r   Úmodelr   Ú
permissionr   r   r?   rP   rZ   ra   re   rh   rn   rq   rt   rw   rz   r}   r   r�   rƒ   r…   r‰   r�   r�   r‘   r“   r•   r˜   r›   r�   r    r¢   r©   r¬   r®   r±   r³   rM   r;   r<   r=   ú<module>r½      sÓ  ðà &Ð &Ð &Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6Ð 6à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø (Ð (Ð (Ð (Ð (Ð (à )Ð )Ð )Ð )Ð )Ð )ðð ð ð ð ð ð ð ð ð ð ð ð ð ðð ð ð ð ð ð ð ð #Ð "Ð "Ð "Ð "Ð "Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ð)ð )ð )ð )ð )�ñ )ô )ð )ðX
3ð 
3ð 
3ð 
3ð 
3�	ñ 
3ô 
3ð 
3ðð ð ð ð �iñ ô ð ð €ð8ñô ð*ð *ð *ð *ð *�Wñ *ô *ñ	ô ð*ð9ð 9ð 9ð 9ð 9�Iñ 9ô 9ð 9ð *ð *ð *ð *ð *˜)ñ *ô *ð *ð2ð 2ð 2ð 2ð 2˜	ñ 2ô 2ð 2ð"/ð /ð /ð /ð /˜)ñ /ô /ð /ð
$ð 
$ð 
$ð 
$ð 
$˜)ñ 
$ô 
$ð 
$ð/ð /ð /ð /ð /˜	ñ /ô /ð /ð
<ð 
<ð 
<ð 
<ð 
<˜)ñ 
<ô 
<ð 
<ð)ð )ð )ð )ð )˜)ñ )ô )ð )ð/ð /ð /ð /ð /˜	ñ /ô /ð /ð
3ð 
3ð 
3ð 
3ð 
3˜iñ 
3ô 
3ð 
3ð-ð -ð -ð -ð -˜iñ -ô -ð -ð3ð 3ð 3ð 3ð 3˜Iñ 3ô 3ð 3ðPð Pð Pð Pð P�Yñ Pô Pð Pð2
)ð 
)ð 
)ð 
)ð 
)˜ñ 
)ô 
)ð 
)ð
;ð 
;ð 
;ð 
;ð 
;˜ñ 
;ô 
;ð 
;ð.ð .ð .ð .ð .�yñ .ô .ð .ð
,ð 
,ð 
,ð 
,ð 
,˜9ñ 
,ô 
,ð 
,ð7ð 7ð 7ð 7ð 7˜yñ 7ô 7ð 7ðNð Nð Nð Nð N˜yñ Nô Nð Nð*?ð ?ð ?ð ?ð ?˜ñ ?ô ?ð ?ð"ð ð ð ð ˜)ñ ô ð ð
0ð 
0ð 
0ð 
0ð 
0˜iñ 
0ô 
0ð 
0ð
0ð 
0ð 
0ð 
0ð 
0 Iñ 
0ô 
0ð 
0ð;ð ;ð ;ð ;ð ;�Iñ ;ô ;ð ;ð
;ð 
;ð 
;ð 
;ð 
;˜Yñ 
;ô 
;ð 
;ð:ð :ð :ð :ð :˜ñ :ô :ð :ð2
5ð 
5ð 
5ð 
5ð 
5 9ñ 
5ô 
5ð 
5ðð ð ð ð �)ñ ô ð ðF Øñàñð ñð $ñ	$ð
 ñð ñð ñð ñð ñ	ð ñ
ð ñð ñð ñð ñð ñð  ñ!ð" ñ#ð$ ñ%ð& ñ'ð( ñ)ð* ñ+ð, ñ-ð. ñ/ð0 ñ1ð2 ñ3ð4 #ñ5#ð6 ñ7ð ˆIð ð ñ ð ð r<   