+
    lHàj   ã                  óÞ  a€ 0 t $ R t^ RIHt ^ RIHt ^ RIHtHtH	t	  ! R R]
]4      t ! R R]
]4      t ! R R	]
]4      tRtR]R&   ]! ]P"                  ]P$                  04      tR U u/ uF  q ]]P(                  0,          bK  	  up tR R lt]]uttR
]P2                  3]P4                  ]P6                  ]P(                  ]P6                  ]P$                  ]P8                  /R
]P4                  3]P"                  ]P6                  ]P(                  ]P6                  ]P:                  ]P<                  ]P$                  ]P8                  /R
]P(                  3]P4                  ]P8                  ]P$                  ]P8                  /R
]P:                  3]P4                  ]P8                  ]P$                  ]P8                  /R]P2                  3]P4                  ]P6                  ]P(                  ]P6                  ]P$                  ]P8                  /R]P4                  3]P"                  ]P6                  ]P(                  ]P6                  ]P$                  ]P8                  /R]P(                  3]P4                  ]P8                  ]P$                  ]P8                  //tR]R&   R F<  t ]!! ]PE                  4       4       F  w  w  t#t$t%]#R8X  g   K  ]&! ]%4      ]] ]$3&   K!  	  K>  	  R R lt'R# u up i )a  Connection contract: the states a target moves through, who may cause each move, and the
reasons an operation settles. ``operation.py`` enforces it; the desktop reads a generated copy.

A `str` enum so payloads serialise to the bare value and the TypeScript side sees literal unions.)Úannotations)ÚEnum)ÚDictÚOptionalÚTuplec                  ó2   € ] tR t^tRtRtRtRtRtRt	Rt
RtR	# )
ÚTargetStateÚpendingÚ	initiatedÚ	connectedÚskippedÚfailedÚexpiredÚnot_connected© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r	   r
   r   r   r   r   r   Ú__static_attributes__r   ó    Ú>/home/ubuntu/.hermes/hermes-agent/tools/connectors/contract.pyr   r      s%   † Ø€GØ€IØ€IØ€GØ€FØ€Gà#„Mr   r   c                  ó"   € ] tR t^tRtRtRtRtR# )ÚActorÚuserÚbackend_watcherÚclockr   N)r   r   r   r   r   r   r   r   r   r   r   r   r      s   † Ø€DØ'€OØ„Er   r   c                  ó&   € ] tR t^tRtRtRtRtRtR# )ÚSettleReasonÚall_resolvedÚcontinueÚdeadlineÚ	interruptr   N)	r   r   r   r   r   Ú	continue_r!   r"   r   r   r   r   r   r      s   † Ø!€LØ€IØ€HØ„Ir   r   Ú	connectorÚmcpztuple[str, ...]ÚKINDSc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚkindÚstrÚstater   ÚreturnÚboolr   )Úformats   "r   Ú__annotate__r/   .   s&   € ÷ Añ A�3ð A˜{ð A¨tñ Ar   c                ó<   € V\         P                  V \        4      9   # ©N)Ú_RESOLVED_BY_KINDÚgetÚRESOLVED_STATES)r)   r+   s   &&r   Úresolvesr5   .   s   € ØÔ%×)Ñ)¨$´Ó@Ñ@Ð@r   z7dict[tuple[str, TargetState], dict[TargetState, Actor]]ÚTRANSITIONSc               ó(   € V ^8„  d   QhRRRRRRRR/# )r(   r)   r*   Úcurrentr   Útor,   zOptional[Actor]r   )r.   s   "r   r/   r/   I   s(   € ÷ 8ñ 8�#ð 8 ð 8°ð 8Àñ 8r   c                óN   € \         P                  W3/ 4      P                  V4      # r1   )r6   r3   )r)   r8   r9   s   &&&r   Úallowedr;   I   s    € Ü�?‰?˜D˜?¨BÓ/×3Ñ3°BÓ7Ð7r   N)r$   r%   ÚpluginÚskill)r<   r=   )(Ú__conditional_annotations__Ú__doc__Ú
__future__r   Úenumr   Útypingr   r   r   r*   r   r   r   r&   Ú__annotations__Ú	frozensetr   r   r4   r   r2   r5   Ú_SÚ_Ar	   r
   r   r   r   r   r6   Ú_kindÚlistÚitemsÚ_kÚ_fromÚ_edgesÚdictr;   )r)   r>   s   0@r   Ú<module>rN      s‹  øðôeõ
 #å ß (Ñ (ô$�#�tô $ôˆC�ô ô�3˜ô ð A€€Ó @á˜[×2Ñ2°K×4GÑ4GÐHÓI€ñ
 ObÓbÑNaÀd˜?¨k×.@Ñ.@Ð-AÕAÒAÑNaÑbÐ õAð 
�e€€€Bð �"—*‘*Ð §¡¨b×.@Ñ.@À"Ç)Á)ÈR×M_ÑM_Ðac×akÑakÐmo×mtÑmtÐuØ�"—,‘,ÐØ
�‰�b×(Ñ(¨"¯)©)°R×5GÑ5GÈÏÉÐUW×U]ÑU]Ð_a×_iÑ_iÐkm×krÑkrð"ð �"—)‘)Ð˜rŸ|™|¨R¯W©W°b·j±jÀ"Ç'Á'ÐJØ�"—*‘*Ð §¡¨b¯g©g°r·z±zÀ2Ç7Á7ÐKØ
ˆB�J‰JÐ˜"Ÿ,™,¨×(:Ñ(:¸B¿I¹IÀr×GYÑGYÐ[]×[eÑ[eÐgi×gnÑgnÐoØ
ˆB�L‰LÐ˜BŸL™L¨"×*<Ñ*<¸b¿i¹iÈ×I[ÑI[Ð]_×]gÑ]gÐik×ipÑipÐqØ
ˆB�I‰IÐ˜Ÿ™ r§w¡w°·
±
¸B¿G¹GÐDð
H€ÐDó 
ó !€EÙ# K×$5Ñ$5Ó$7Ö8Ñ‰ˆˆU�VØ�Ž;Ù*.¨v«,ˆK˜ ˜Ó'ó  9ñ !÷8ùò= cs   Á*K*