+
    lHàjô  ã                   ó  € R t ^ RIHt ^ RIHt ^RIHtHtHt ^RI	H
t
 ^RIHt ^RIHtHtHt ^RIHtHtHtHtHt ^RIHtHt ^R	IHtHtHt ^R
IHt  ! R R]4      t  ! R R]
4      t! ! R R]4      t" ! R R]4      t# ! R R]4      t$ ! R R]
4      t% ! R R]4      t& ! R R]4      t' ! R R]'4      t( ! R R]4      t) ! R R ]4      t*R!]] 3R"]!]3R#]%]$3R$]]"3R%]']3R&]&]3R'](]3R(])]*3R)])]*33	 F  w  t+t,t-]! ]+],]-R*7       K  	  R+# ),zICanonical projections with demonstrated differences from standalone wire.)ÚLiteral)Úmodel_validator)Ú	JsonValueÚParamsÚResult)ÚProfileParams)ÚCanonicalSessionParams)ÚConfigGetParamsÚConfigGetResultÚConfigSetResult)ÚGroupsApproveResultÚGroupsCreateResultÚGroupsRetryResultÚRoomMemberInputÚ
RoomParams)ÚAttachedImageResultÚImageAttachBytesParams)ÚProfileCanonicalSessionÚ
ProfileRowÚProfilesListResult)Úcanonical_methodc                   ó4   a € ] tR t^t o RtRtV 3R ltRtV tR# )ÚCanonicalConfigGetResultNc                óN   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ R,          ;R&   # )é   NÚkeyÚscope©Ústr)ÚformatÚ__classdict__s   "€ÚP/home/ubuntu/.hermes/hermes-agent/tui_gateway/contracts/canonical_projections.pyÚ__annotate__Ú%CanonicalConfigGetResult.__annotate__   s#   ø‡ ‚ Ù	ˆt�Ññ á��:Ñò ó    © )	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r    s   @r!   r   r      s   ø‡ € Ø€CØ€E÷ ƒ r$   r   c                   ó@   a € ] tR t^t o RtRtRtRtRtV 3R lt	Rt
V tR# )ÚCanonicalConfigSetParamsa  Session controls (``busy`` / ``verbose`` / ``yolo`` / ``show_reasoning`` / ``service_tier``, which
need ``session_id``) and the TUI's profile preferences (``gateway/session_tui_config.py``;
``session_id`` optional). ``model`` is recognised only to be refused with
``use_session_mutation_model``: a model pick is the revision-fenced ``session.mutate`` operation,
never a config write.Nc                óŽ   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ ;R&   S[;R&   S[R,          ;R&   S[R,          R,          ;R&   # )r   NÚ
session_idr   ÚvalueÚconfirm_expensive_modelr   )ÚsessionÚglobal)r   r   Úboolr   )r   r    s   "€r!   r"   Ú%CanonicalConfigSetParams.__annotate__   sX   ø‡ ‚ ñ �d•
Ñ!ñ ñ 
�Hñ ñ Ññ ñ " D�[Ñ/ñ ñ Ð&Õ'¨$Õ.Ñ5ò r$   r%   )r&   r'   r(   r)   Ú__doc__r1   r2   r3   r   r*   r+   r,   r-   s   @r!   r/   r/      s(   ø‡ € ñð "€Jà€EØ+/Ðà15€E÷ ƒ r$   r/   c                   ó,   a € ] tR t^$t o V 3R ltRtV tR# )ÚCanonicalAttachedImageResultc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   Úmimer   )r   r    s   "€r!   r"   Ú)CanonicalAttachedImageResult.__annotate__$   s   ø‡ ‚ Ù
�Iò r$   r%   N©r&   r'   r(   r)   r*   r+   r,   r-   s   @r!   r:   r:   $   ó   ø‡ ‡ „ r$   r:   c                   ó0   a € ] tR t^(t o RtV 3R ltRtV tR# )ÚCanonicalProfileRowNc                ó4   <€ V ^8„  d   Qh/ S[ R,          ;R&   # )r   NÚlast_session)r   )r   r    s   "€r!   r"   Ú CanonicalProfileRow.__annotate__(   s   ø‡ ‚ Ù)¨DÕ0Ñ7ò r$   r%   )r&   r'   r(   r)   rC   r*   r+   r,   r-   s   @r!   rA   rA   (   s   ø‡ € Ø37€L÷ ƒ r$   rA   c                   ó,   a € ] tR t^,t o V 3R ltRtV tR# )ÚCanonicalProfilesResultc                ó6   <€ V ^8„  d   Qh/ S[ S[,          ;R&   # )r   Úprofiles)ÚlistrA   )r   r    s   "€r!   r"   Ú$CanonicalProfilesResult.__annotate__,   s   ø‡ ‚ ÙÑ&Õ'Ñ'ò r$   r%   Nr>   r-   s   @r!   rF   rF   ,   r?   r$   rF   c                   ó0   a € ] tR t^0t o RtV 3R ltRtV tR# )ÚCanonicalProfilesParamsTc                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   Úinclude_sessions)r6   )r   r    s   "€r!   r"   Ú$CanonicalProfilesParams.__annotate__0   s   ø‡ ‚ ÙÑ!ò r$   r%   N)r&   r'   r(   r)   rN   r*   r+   r,   r-   s   @r!   rL   rL   0   s   ø‡ € Ø!Ð÷ ƒ r$   rL   c                   ó,   a € ] tR t^4t o V 3R ltRtV tR# )ÚCanonicalRoomCreateParamsc                óB   <€ V ^8„  d   Qh/ S[ ;R&   S[S[,          ;R&   # )r   ÚnameÚmembers)r   rI   r   )r   r    s   "€r!   r"   Ú&CanonicalRoomCreateParams.__annotate__4   s   ø‡ ‚ Ù
�Iñ á‘/Õ"Ñ"ò r$   r%   Nr>   r-   s   @r!   rQ   rQ   4   r?   r$   rQ   c                   ó,   a € ] tR t^9t o V 3R ltRtV tR# )ÚCanonicalRoomAttemptParamsc                ó>   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[;R&   # )r   Ú	member_idÚtask_idÚexecution_generation)r   Úint)r   r    s   "€r!   r"   Ú'CanonicalRoomAttemptParams.__annotate__9   s&   ø‡ ‚ Ù�Nñ á�Lñ ñ Ñò r$   r%   Nr>   r-   s   @r!   rW   rW   9   r?   r$   rW   c                   ó,   a € ] tR t^?t o V 3R ltRtV tR# )ÚCanonicalRoomApproveParamsc                ó@   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[;R&   # )r   ÚchoiceÚ
request_id)ÚonceÚdeny)r   r   )r   r    s   "€r!   r"   Ú'CanonicalRoomApproveParams.__annotate__?   s   ø‡ ‚ Ù�NÕ#Ñ#ñ á�Oò r$   r%   Nr>   r-   s   @r!   r_   r_   ?   r?   r$   r_   c                   ó<   a € ] tR t^Dt o RtRtRtRtV 3R ltRt	V t
R# )ÚCanonicalBotDeliverParamsNc                ó°   <€ V ^8„  d   Qh/ S[ R,          ;R&   S[ ;R&   S[ ;R&   S[ R,          ;R&   S[S[ S[3,          R,          ;R&   S[ R,          ;R&   # )r   NÚprofileÚmessageÚidr1   ÚauthorÚnotification_category)r   Údictr   )r   r    s   "€r!   r"   Ú&CanonicalBotDeliverParams.__annotate__D   sg   ø‡ ‚ Ù�4�ZÑñ á�Lñ ñ 	�Gñ ñ �d•
Ñ!ñ	 ñ
 ‘‘i�Õ  4Õ'Ñ.ñ ñ  �:Ñ,ò r$   r%   )r&   r'   r(   r)   ri   r1   rl   rm   r*   r+   r,   r-   s   @r!   rg   rg   D   s#   ø‡ € Ø€Gð "€JØ*.€FØ(,Ð÷ ƒ r$   rg   c                   óf   a € ] tR t^Mt o RtRtRtRtRtRt	Rt
]! RR7      R 4       tV 3R ltRtV tR# )ÚCanonicalBotDeliverResultzúA delivery's receipt. It names its admission, unless ``refused``: the FIFO refused the
delivery before anything was committed (``gateway/session_bot.py``), a terminal ``failed``
receipt with no admission that the relay settles as the sender's answer.NÚafter)Úmodec                ó    € V P                   R J V P                  RJ 8w  g$   V P                  '       d   V P                  R8w  d   \        R4      hV # )NTÚfailedzPa deliver result names its admission, or is a refused failed receipt without one)Úadmission_idÚrefusedÚstatusÚ
ValueError)Úselfs   &r!   Ú_admitted_or_refusedÚ.CanonicalBotDeliverResult._admitted_or_refused^   sF   € à×Ñ Ð%¨4¯<©<¸4Ð+?Ô@ÀTÇ\Ç\À\ÐVZ×VaÑVaÐemÔVmÜÐoÓpÐpØˆr$   c                ó   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[ R,          ;R&   S[R,          R,          ;R&   S[ ;R	&   S[ R,          ;R
&   S[ R,          ;R&   S[ R,          ;R&   S[ R,          ;R&   # )r   rx   Údelivery_idÚprofile_homer1   Nrv   Trw   rj   ÚreplyÚretry_admission_idÚerrorÚreason)r   r   )r   r    s   "€r!   r"   Ú&CanonicalBotDeliverResult.__annotate__M   s®   ø‡ ‚ ñ
 �Kñ ñ Ññ ñ Ññ ñ �Oñ ñ ˜•*Ñ#ñ ñ �T�]˜TÕ!Ñ(ñ ñ �Lñ ñ ��:Ññ ñ ˜d�
Ñ)ñ ñ ��:Ññ ñ �$�JÑò r$   r%   )r&   r'   r(   r)   r8   rv   rw   r€   r�   r‚   rƒ   r   r{   r*   r+   r,   r-   s   @r!   rq   rq   M   sJ   ø‡ € ñPð  $€LØ$(€Gà€EØ%)ÐØ€EØ€Fá˜'Ô"ñó #ð÷% ƒ r$   rq   z
config.getz
config.setzprofiles.listzimage.attach_byteszgroups.retryzgroups.createzgroups.approvezbot_relay.deliverzbot_relay.settle)ÚparamsÚresultN).r8   Útypingr   Úpydanticr   Úbaser   r   r   Úcommonr   Úcanonical_sessionsr   Úconfig_free_tier_controlr	   r
   r   Úgroups_bot_relayr   r   r   r   r   Úprompt_voicer   r   Ú)profiles_vault_complete_foreign_subagentsr   r   r   Úregistryr   r   r/   r:   rA   rF   rL   rQ   rW   r_   rg   rq   Ú_nameÚ_paramsÚ_resultr%   r$   r!   Ú<module>r”      sH  ðÙ OÝ å $ç +Ñ +Ý !Ý 6ß WÑ Wß uÕ uß Eß nÑ nÝ &ô˜ô ô
6˜}ô 6ôÐ#6ô ô8˜*ô 8ô(Ð0ô (ô"˜mô "ô# 
ô #ô
 ô ôÐ!;ô ô
- ô -ô ô ð2 �?Ð$<Ð=ØÐ+¨_Ð=ØÐ-Ð/FÐGØÐ1Ð3OÐPØÐ/Ð1BÐCØÐ/Ð1CÐDØÐ1Ð3FÐGØÐ3Ð5NÐOð Ð2Ð4MÐNó Ñ€Eˆ7�Gñ �U 7°7×;ó r$   