+
    iHàjß°  ã            
      óX  € R t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	H
t
Ht ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]P(                  ! ]4      t]! RR	04      t]! R
R04      t]]P6                  ]]3,          tRtRRdRReRRf/tR R lt R R lt!R R lt" ! R R4      t#R R lt$RRRRRR/R R llt%RRRRRR/R  R! llt&]%t']&t(R" R# lt)RRRRR$R/R% R& llt*R' R( lt+R) R* lt, ! R+ R,]],          4      t-]-t.R-R.R/R0R1R2/t/ ! R3 R44      t0R5 R6 lt1R7RR8RR9RR:RR;R/R< R= llt2R> R? lt3R7RR8RR9RR;R/R@ RA llt4RB RC lt5RD RE lt6RF RG lt7RH RI lt8RJ RK lt9R]8R]9/t:RL RM lt;RN RO lt<RP RQ lt=RR RS lt>RT RU lt?RV RW lt@RX RY ltARZ R[ ltB]@3R\ R] lltCR^ R_ ltDR`Ra/Rb Rc lltER# )gz?Core NeMo Relay adapters for physical Hermes provider attempts.)ÚannotationsN)ÚCallableÚIterator)Úpartial)ÚSimpleNamespace)ÚAny)Úrelay_runtimeÚreasoning_contentÚreasoning_detailszx-dynamo-parent-session-idzx-dynamo-session-idg      $@Úchat_completionsÚcodex_responsesÚanthropic_messagesc               ó    € V ^8„  d   QhRRRR/# )é   Úmetadataúdict[str, Any] | NoneÚreturnÚstr© )Úformats   "Ú4/home/ubuntu/.hermes/hermes-agent/agent/relay_llm.pyÚ__annotate__r   &   s   € ÷ 7ñ 7Ð-ð 7°#ñ 7ó    c                ó^   € \        T ;'       g    / P                  R 4      ;'       g    R4      # )Úapi_modeÚ )r   Úget)r   s   &r   Ú	_api_moder   &   s&   € Ü�—�˜B×#Ñ# JÓ/×5Ð5°2Ó6Ð6r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úprovider_namer   r   r   r   r   )r   s   "r   r   r   *   s(   € ÷ Bñ B¨ð BÐ8Mð BÐRUñ Br   c                ó\   € \         P                  \        V4      4      pVe
   V^ ,          # T # )zGReturn Relay's canonical operation name when Hermes knows the API mode.)Ú_RELAY_PROTOCOL_BY_API_MODEr   r   )r   r   Úprotocols   && r   Ú_relay_operation_namer#   *   s+   € ä*×.Ñ.¬y¸Ó/BÓC€HØ"Ò.ˆ8�A�;ÐA°MÐAr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r   r   r   r   r   údict[str, Any]r   )r   s   "r   r   r   0   s"   € ÷ ñ  3ð Ð2Gð ÈNñ r   c                óT   € \        T;'       g    / 4      pVP                  RV 4       V# )zHPreserve the physical provider when the operation name is canonicalized.zhermes.provider)Ú_jsonable_dictÚ
setdefault)r   r   Úrelay_metadatas   && r   Ú_relay_metadatar*   0   s)   € ä# H§N N°Ó3€NØ×ÑÐ/°Ô?ØÐr   c                  óÒ   € ] tR t^7tRt]R R l4       tR R ltR R ltR R	 lt	R
 R lt
]P                  R R l4       tR R ltR R ltR R ltR R ltR R ltR R ltRtR# )Ú_ManagedAttemptzFRelay request state shared by the sync, async, and streaming adapters.c               ó0   € V ^8„  d   QhRRRRRRRRR	RR
R/# )r   Ú
session_idú
str | NoneÚrequestr%   r   r   Únamer   Ú
model_namer   z_ManagedAttempt | Noner   )r   s   "r   r   Ú_ManagedAttempt.__annotate__;   sF   € ÷ bñ bØ#ðbØ.<ðbØH]ðbàðbà"%ðbð 
 ñbr   c          
     ó¼   € Vf   \        4       pV'       g   R# \        P                  ! V4      w  rgpVe   Ve   VP                  4       '       g   R# V ! WgW‚W4VR7      # )zeReturn the managed attempt for ``session_id`` (None: the inherited turn's), or None to run unmanaged.N©r1   r2   )Ú_current_session_idr   Úresolve_execution_contextÚmanaged_execution_enabled)	Úclsr.   r0   r   r1   r2   ÚruntimeÚsessionÚparents	   &&&&$$   r   ÚresolveÚ_ManagedAttempt.resolve:   sY   € ð ÒÜ,Ó.ˆJßÙÜ#0×#JÒ#JÈ:Ó#VÑ ˆ˜&ØŠ?˜gšo°W×5VÑ5V×5XÒ5XÙÙ�7 V°hÐV`ÔaÐar   c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# )r   r:   úrelay_runtime.RelayRuntimer;   r   r<   r0   r%   r   r   r1   r   r2   r   ÚNoner   )r   s   "r   r   r3   I   sN   € ÷ 2ñ 2Ø1ð2Ø<?ð2ØILð2àð2à+@ð2àKNð2à\_ð2ð 
ñ2r   c               	ó†  € WWE3w  V n         V n        V n        V n        \	        WW54      V n        V P
                  e   V P
                  ^,          MTV n        \        WE4      V n        VP                  P                  / V P                  4      V n        \        VP                  V P                  V P                  VR7      V n        \        We4      V n        RV P                  R\!        We4      RVR\#        VP                  V4      R\#        VP                  V4      /V n        / V n        \(        P*                  ! 4       V n        R # )N)Úrelay_request_bodyr   Úhandler   r2   ÚcodecÚresponse_codec)r:   r;   r0   r   Ú_logical_parentÚlogicalr<   Ú_relay_request_bodyÚbodyÚrelayÚ
LLMRequestÚrelay_requestÚ_codec_round_trip_request_bodyÚcodec_baseliner#   Ú	operationr*   Ú_codecÚrelay_kwargsÚraw_responseÚcontextvarsÚcopy_contextÚcontext)Úselfr:   r;   r<   r0   r   r1   r2   s   &&&&&&$$r   Ú__init__Ú_ManagedAttempt.__init__I   s  € ð CJÐT[ÐBeÑ?ˆŒ�d”l D¤L°$´-Ü& w¸ÓJˆŒØ)-¯©Ò)A�d—l‘l 1–oÀvˆŒÜ'¨Ó:ˆŒ	Ø$Ÿ]™]×5Ñ5°b¸$¿)¹)ÓDˆÔÜ<Ø�M‰M˜4×-Ñ-À$Ç)Á)ÐV^ô
ˆÔô /¨tÓ>ˆŒà�d—k‘k :¬¸tÓ/NÐP\Ð^hØ”V˜GŸM™M¨8Ó4Ð6FÌÈwÏ}É}Ð^fÓHgð
ˆÔð
 -/ˆÔÜ"×/Ò/Ó1ˆŽr   c               ó    € V ^8„  d   QhRRRR/# )r   Únext_requestr   r   r%   r   )r   s   "r   r   r3   ^   s   € ÷ 
ñ 
¨Sð 
°^ñ 
r   c                	óp   € \        V P                  WP                  V P                  V P                  R 7      # ))rC   Úcodec_baseline_bodyr   )Ú_provider_requestr0   rJ   rO   r   )rW   r[   s   &&r   Úprovider_requestÚ _ManagedAttempt.provider_request^   s+   € Ü Ø�L‰L˜,¿9¹9Ø $× 3Ñ 3¸d¿m¹mô
ð 	
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   ÚcallbackúCallable[..., Any]Úargsr   r   r   )r   s   "r   r   r3   d   s"   € ÷ 0ñ 0Ð%7ð 0Àð 0Èñ 0r   c                ól   aa€ R VV3R llpV P                   P                  4       P                  V4      # )uè   Run a Hermes callback in a fresh copy of the captured context.
Relay can invoke callbacks while another still owns the captured Context (hence the
copy); nested relay calls run unmanaged â€” see relay_runtime.managed_callback_guard.c               ó   € V ^8„  d   QhRR/# ©r   r   r   r   )r   s   "r   r   Ú2_ManagedAttempt.run_callback.<locals>.__annotate__h   s   € ÷ 	'ñ 	'˜ñ 	'r   c                 óˆ   <€ \         P                  ! 4       ;_uu_ 4        S! S !  uuR R R 4       #   + '       g   i     R # ; i©N©r   Úmanaged_callback_guard)rd   rb   s   €€r   ÚguardedÚ-_ManagedAttempt.run_callback.<locals>.guardedh   s*   ø€ ô
 ×5Ò5×7Õ7Ù ‘÷ 8×7×7Ó7ús	   Ÿ0°A	)rV   ÚcopyÚrun)rW   rb   rd   rm   s   &fj r   Úrun_callbackÚ_ManagedAttempt.run_callbackd   s-   ù€ ÷	'ñ 	'ð �|‰|× Ñ Ó"×&Ñ& wÓ/Ð/r   c               ó    € V ^8„  d   QhRRRR/# )r   Úrawr   r   r   )r   s   "r   r   r3   r   s   € ÷ )ñ )˜3ð ) 3ñ )r   c                	ót   € WP                   R &   \        V4      V P                   R&   V P                   R,          # ©ÚvalueÚjson)rS   Ú	_jsonable)rW   rt   s   &&r   Ú_recordÚ_ManagedAttempt._recordr   s5   € Ø%(×Ñ˜'Ñ"Ü$-¨c£Nˆ×Ñ˜&Ñ!Ø× Ñ  Õ(Ð(r   c               ó   € V ^8„  d   QhRR/# )r   r   zIterator[None]r   )r   s   "r   r   r3   x   s   € ÷ ñ  >ñ r   c              #  	ó\   "  €  R x € R #   \          d   pYP                  R&   h R p?ii ; i5i)NÚerror)ÚBaseExceptionrS   ©rW   Úexcs   & r   Ú_recording_errorsÚ!_ManagedAttempt._recording_errorsw   s-   é € ð	ÝøÜô 	Ø),×Ñ˜gÑ&Øûð	üs   ‚,„
 ˆ,Š)•$¤)©,c               ó$   € V ^8„  d   QhRRRRRR/# ©r   rb   rc   r[   r   r   r   )r   s   "r   r   r3      s"   € ÷ !ñ !Ð1ð !Àð !Èñ !r   c                óÌ   € V P                  4       ;_uu_ 4        V P                  WP                  V4      4      pRRR4       V P                  X4      #   + '       g   i     L!; i)z\Provider callback handed to Relay: run ``callback`` on Relay's (possibly rewritten) request.N)r‚   rq   r_   rz   )rW   rb   r[   rt   s   &&& r   ÚinvokeÚ_ManagedAttempt.invoke   sI   € à×#Ñ#×%Õ%Ø×#Ñ# H×.CÑ.CÀLÓ.QÓRˆC÷ &à�|‰|˜CÓ Ð ÷ &×%ús   ™!AÁA#	c               ó$   € V ^8„  d   QhRRRRRR/# r…   r   )r   s   "r   r   r3   …   s#   € ÷ !ñ !Ð+=ð !ÈSð !ÐUXñ !r   c              ƒ  	ó\  aa"  € R  VV3R llpV P                  4       ;_uu_ 4        V P                  V4      oV P                  P                  4       P	                  \
        P                  V! 4       4      G Rj  x€L
 pRRR4       V P                  X4      #  L  + '       g   i     L#; i5i)c               ó   € V ^8„  d   QhRR/# rg   r   )r   s   "r   r   Ú2_ManagedAttempt.invoke_async.<locals>.__annotate__†   s   € ÷ 	5ñ 	5 Sñ 	5r   c               “  ó¨   <"  € \         P                  ! 4       ;_uu_ 4        S ! S4      G R j  x€L
 uuR R R 4       #  L  + '       g   i     R # ; i5irj   rk   )rb   Úfinal_requests   €€r   Úcall_providerÚ3_ManagedAttempt.invoke_async.<locals>.call_provider†   s6   øé € Ü×5Ò5×7Õ7Ù% mÓ4×4÷ 8Ò7Ù4÷ 8×7Ð7üs%   ƒA¡>­<®>±A¼>¾A	Á		AN)r‚   r_   rV   ro   rp   ÚasyncioÚcreate_taskrz   )rW   rb   r[   r�   rt   rŽ   s   &f&  @r   Úinvoke_asyncÚ_ManagedAttempt.invoke_async…   s   ùé € ÷	5ñ 	5ð ×#Ñ#×%Õ%Ø ×1Ñ1°,Ó?ˆMØŸ™×)Ñ)Ó+×/Ñ/´×0CÑ0CÁ]Ã_ÓU×UˆC÷ &ð �|‰|˜CÓ Ð ñ V÷ &×%üs/   „#B,§ABÁ9BÁ:BÁ>B,ÂBÂB)	Â$B,c               ó$   € V ^8„  d   QhRRRRRR/# )r   Ú
relay_callrc   Ú	callbacksr   r   r   )r   s   "r   r   r3   �   s"   € ÷ 
ñ 
Ð&8ð 
Àcð 
Ècñ 
r   c                ó–   € V P                   P                  ! V P                  WP                  V P                  .VO5/ V P
                  B # )zGReturn the awaitable running ``relay_call`` inside the session context.)r:   Úrun_in_session_asyncr;   rP   rM   rR   )rW   r–   r—   s   &&*r   Úrun_managedÚ_ManagedAttempt.run_managed�   sD   € à�|‰|×0Ò0Ø�L‰L˜*§n¡n°d×6HÑ6Hð
ØKTò
ØX\×XiÑXiñ
ð 	
r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r�   r   Údefer_logical_completionÚboolr   r   r   )r   s   "r   r   r3   •   s"   € ÷ *ñ * =ð *ÈDð *ÐUXñ *r   c                óJ  € V P                   P                  R4      pVe   \        P                  ! W4      '       d   Vh\	        V\
        4      '       d   Vf   RV P                   9  d   h \        P                  RRR7       V P                  V4       V P                   R,          # )z�Re-raise the provider's own error, or recover a completed provider result.
Must be called from the ``except`` handling ``exc`` (bare ``raise``).r~   rw   z]NeMo Relay LLM post-processing failed after provider success; returning the provider responseT©Úexc_info)	rS   r   r   Ú _is_relay_wrapped_callback_errorÚ
isinstanceÚ	ExceptionÚloggerÚwarningÚ	_complete)rW   r�   r�   Úcallback_errors   &&& r   Úresolve_failureÚ_ManagedAttempt.resolve_failure•   s‘   € ð ×*Ñ*×.Ñ.¨wÓ7ˆØÒ%¬-×*XÒ*XÐY\×*mÒ*mØ Ð Ü˜#œy×)Ò)¨^Ò-GÈ7ÐZ^×ZkÑZkÔKkØÜ�‰ØkØð 	ô 	
ð 	�‰Ð/Ô0Ø× Ñ  Õ)Ð)r   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úmanagedr   r�   rž   r   r   )r   s   "r   r   r3   ¤   s!   € ÷ #ñ #˜cð #¸Tð #Àcñ #r   c                	óÆ   € V P                  V4       R V P                  9   d6   \        WP                  R,          4      '       d   V P                  R ,          # \        V4      # rv   )r§   rS   Ú_json_equalÚ
_namespace)rW   r¬   r�   s   &&&r   ÚresultÚ_ManagedAttempt.result¤   sO   € Ø�‰Ð/Ô0Ø�d×'Ñ'Ô'¬K¸×ARÑARÐSYÕAZ×,[Ò,[Ø×$Ñ$ WÕ-Ð-Ü˜'Ó"Ð"r   c               ó    € V ^8„  d   QhRRRR/# )r   r�   rž   r   rA   r   )r   s   "r   r   r3   ª   s   € ÷ ?ñ ?°$ð ?¸4ñ ?r   c                	óH   € V'       g   \        V P                  R R7       R# R# )Úsuccess)ÚoutcomeN)Ú_complete_logicalrH   )rW   r�   s   &&r   r§   Ú_ManagedAttempt._completeª   s   € ß'Ü˜dŸl™l°I×>ñ (r   )rJ   rO   rV   rH   r   rP   r<   rS   rR   rM   r0   r:   r;   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úclassmethodr=   rX   r_   rq   rz   Ú
contextlibÚcontextmanagerr‚   r‡   r“   rš   r©   r°   r§   Ú__static_attributes__r   r   r   r,   r,   7   sj   † ÙPàôbó ðbõ2õ*
õ0õ)ð
 ×Ñôó ðõ!õ!õ
õ*õ#÷?ñ ?r   r,   c               ó   € V ^8„  d   QhRR/# )r   r   r/   r   )r   s   "r   r   r   ¯   s   € ÷ ;ñ ;˜Zñ ;r   c                 ód   € \         P                  ! 4       p V f   R# V P                  P                  # )zKReturn the inherited Hermes turn's session id, or None outside a live turn.N)r   Úactive_turnÚleaser.   )Úturns    r   r6   r6   ¯   s)   € ä×$Ò$Ó&€DØ’<ˆ4Ð: T§Z¡Z×%:Ñ%:Ð:r   r.   r   r�   Fc               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# ©r   r0   r%   rb   úCallable[[dict[str, Any]], Any]r1   r   r2   r.   r/   r   r   r�   rž   r   r   r   )r   s   "r   r   r   µ   sN   € ÷ =ñ =Øð=Ø'Fð=ØQTð=Øbeð=àð=à-Bð=àeið=ð 	ñ=r   c          	     ón  € \         P                  W@WRVR7      pVf	   V! V 4      #  \        VP                  VP                  P
                  P                  P                  \        VP                  V4      4      4      pTP                  Y†4      #   \         d   p	TP                  Y–4      u Rp	?	# Rp	?	ii ; i)z�Run one non-streaming physical provider attempt through Relay.
``session_id`` defaults to the inherited Hermes turn's session (unmanaged when there is none).r5   N)r,   r=   Ú_run_awaitablerš   r:   rK   ÚllmÚexecuter   r‡   r   r©   r°   ©
r0   rb   r1   r2   r.   r   r�   Úattemptr¬   r�   s
   &&$$$$$   r   rÌ   rÌ   µ   s¥   € ô ×%Ñ% j¸8Ð[eÐ%Óf€GØ‚Ù˜Ó Ð ðFÜ  ×!4Ñ!4Ø�O‰O×!Ñ!×%Ñ%×-Ñ-¬w°w·~±~ÀxÓ/Pó"
ó ˆð
 �>‰>˜'Ó<Ð<øô ô FØ×&Ñ& sÓEÕEûðFús   ¦AB ÂB4ÂB/Â)B4Â/B4c               ó8   € V ^8„  d   QhRRRRRRRRRR	R
RRRRR/# rÇ   r   )r   s   "r   r   r   Ç   sN   € ÷ =ñ =Øð=Ø'Fð=ØQTð=Øbeð=àð=à-Bð=àeið=ð 	ñ=r   c             ƒ  óŒ  "  € \         P                  W@WRVR7      pVf   V! V 4      G Rj  x€L
 #  VP                  VP                  P                  P
                  P                  \        VP                  V4      4      G Rj  x€L
 pTP                  Y†4      #  Ll L  \         d   p	TP                  Y–4      u Rp	?	# Rp	?	ii ; i5i)zAsync ``execute``.r5   N)r,   r=   rš   r:   rK   rË   rÌ   r   r“   r   r©   r°   rÍ   s
   &&$$$$$   r   Úexecute_asyncrÑ   Ç   s­   é € ô
 ×%Ñ% j¸8Ð[eÐ%Óf€GØ‚Ù˜gÓ&×&Ð&ðFØ×+Ñ+¨G¯O©O×,AÑ,A×,EÑ,E×,MÑ,MÌwÐW^×WkÑWkÐmuÓOvÓw×wˆð �>‰>˜'Ó<Ð<ñ 'áwøÜô FØ×&Ñ& sÓEÕEûðFüsQ   ‚(CªB«C°AB ÂBÂB ÂCÂB ÂCÂ&B<Â6CÂ7CÂ<CÃCc               ó   € V ^8„  d   QhRR/# )r   r   rž   r   )r   s   "r   r   r   Û   s   € ÷ ñ  ñ r   c                 ó²   € \         P                  ! \        4      ;_uu_ 4        \        P                  ! 4       R JuuR R R 4       #   + '       g   i     R# ; i)NF)r¾   ÚsuppressÚRuntimeErrorr‘   Úget_running_loopr   r   r   Ú_has_running_event_loopr×   Û   s6   € Ü	×	Ò	œ\×	*Õ	*Ü×'Ò'Ó)°Ð5÷ 
+×	*×	*Ñ	*áús   £AÁA	Úcompleted_response_predicatec               ó<   € V ^8„  d   QhRRRRRRRRRR	R
RRRRRRR/	# )r   r0   r%   Ústream_factoryrÈ   r1   r   r2   Ú	finalizerúCallable[[], Any]r   r   r�   rž   rØ   úCallable[[Any], bool] | Noner   r   r   )r   s   "r   r   r   á   s\   € ÷ %ñ %Øð%Ø-Lð%ØWZð%Øhkð%à ð%à,Að%ð #ð%ð Kgð%ð 	ñ	%r   c               ó  € \        4       pVe   \        4       '       d	   V! V 4      # \        WW‚VWEVVR7	      p	Ve   V	P                  4        V	P                  e0   V	P                  R4       V	P                  RR7       V	P                  # V	# )uP  Run a provider stream under the inherited Hermes turn when present.
With ``completed_response_predicate`` set, a factory that ignores ``stream=True`` and returns a
complete response is unwrapped and returned directly (pre-Relay behavior). Detecting that primes
the lazy pipeline: a genuine first chunk is buffered, but provider latency and pre-first-yield
errors may surface before this returns.

AnthropicAuxiliaryClient and other shims that ignore ``stream=True``), unwrap and return the completed
response directly. This mirrors the pre-Relay behavior where ``call_llm(stream=True)`` returned the raw
response and the consumer's own ``hasattr(stream, "choices")`` check handled it (#11732, #55933) â€”
without the unwrap the response stays trapped as ``final_response`` on the inner ManagedLlmStream and
the outer consumer sees an empty stream.
)r.   r1   r2   rÛ   r   r�   rØ   r´   Ú	cancelled©Úlogical_outcome)r6   r×   ÚstreamÚ_prime_completed_responseÚfinal_responseÚ_finish_logicalÚ_close)
r0   rÚ   r1   r2   rÛ   r   r�   rØ   r.   r¬   s
   &&$$$$$$  r   Ústream_currentrç   á   s‘   € ô" %Ó&€Jð ÒÔ4×6Ò6Ù˜gÓ&Ð&ÜØ¨JÈjØÐIaØ%Aô€Gð
 $Ò/à×)Ñ)Ô+Ø×ÑÒ)ð 	×Ñ 	Ô*Ø�‰ {ˆÔ3Ø×%Ñ%Ð%Ø€Nr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úloopzasyncio.AbstractEventLooprâ   r   r   rž   r   )r   s   "r   r   r   	  s"   € ÷ ñ Ð3ð ¸Sð ÀTñ r   c                óþ   a aa€ \        VRR4      o\        S4      '       g   R# R V3R llo \        P                  ! VV 3R lR\        RR	7       R#   \
         d    \        P                  R
\        4        R# i ; i)a  Await ``stream.aclose()`` on ``loop`` when the stream exposes one, bounded by
``_ACLOSE_TIMEOUT``. Returns False when the attempt is abandoned: the daemon
thread still owns the running loop, so the caller must leave it open rather
than ``loop.close()`` under it.ÚacloseNTc               ó   € V ^8„  d   QhRR/# ©r   r   rA   r   )r   s   "r   r   Ú%_aclose_on_loop.<locals>.__annotate__  s   € ÷ ñ  ñ r   c               “  ó2   <"  € S ! 4       G R j  x€L
  R #  L5irj   r   )Úcloses   €r   Úclose_streamÚ%_aclose_on_loop.<locals>.close_stream  s   øé € Ù‹g�Œùs   ƒŽ�c                 ó0   <€ SP                  S ! 4       4      # rj   )Úrun_until_complete)rñ   ré   s   €€r   Ú<lambda>Ú!_aclose_on_loop.<locals>.<lambda>  s   ø€ �D×+Ñ+©L«NÔ;r   zrelay-llm-stream-aclosez@Relay stream aclose did not finish; abandoning the close attempt)r1   ÚtimeoutÚtimeout_messagezSRelay stream aclose exceeded %ss; abandoning the close attempt and its private loopF)ÚgetattrÚcallabler   Ú_run_on_daemon_threadÚ_ACLOSE_TIMEOUTÚTimeoutErrorr¥   r¦   )ré   râ   rð   rñ   s   f&@@r   Ú_aclose_on_looprþ   	  st   ú€ ô
 �F˜H dÓ+€EÜ�E�?Š?Ù÷ð ðÜ×+Ò+Ý;Ø*´OØ^õ	
ñ øô ô Ü�‰ØaÜô	
ò ðús   ®#A Á%A<Á;A<c               ó$   € V ^8„  d   QhRRRRRR/# )r   rb   rc   Úraw_iteratorr   r   ztuple[Any, bool]r   )r   s   "r   r   r   $  s#   € ÷ ñ Ð#5ð ÀSð ÐM]ñ r   c                óH   €  V ! \         V4      R3#   \         d    Ru # i ; i)zSRead one synchronous provider chunk without leaking StopIteration through a Future.F©NT)ÚnextÚStopIteration)rb   r   s   &&r   Ú_next_provider_chunkr  $  s.   € ðÙœ˜lÓ+¨UÐ2Ð2øÜô ØÒðús   ‚ ‘! !c                  óz  € ] tR tRt$ RtRtR]R&   R;t;t;t	t
RtR]R&   R;ttRtR	]R
&   R;ttRtR]R&   RtR]R&   RRRRRRRRRRRRRR/R R lltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$ R% ltR:R& R' lltR( R) ltR* R+ ltR, R- ltR. R/ ltR0 R1 lt R2R/R3 R4 llt!R5 R6 lt"R7 R8 lt#R9t$R# );ÚManagedLlmStreami,  zUSynchronous view of one Relay-managed provider stream, driven from the worker thread.Nr   rä   Fz asyncio.AbstractEventLoop | NoneÚ_loopú(relay_runtime.RelayOperationLease | NoneÚ_runtime_leaseú_LogicalCall | NoneÚ_logicalr/   Ú_logical_response_model_nameÚon_stream_createdÚon_chunkÚchunk_adapterÚaccept_chunkrØ   r   r�   c               óP   € V ^8„  d   QhRRRRRRRRRRR	R
RRRRRRRRRRRRRRRR/# )r   r0   r%   rÚ   rÈ   r.   r   r1   r2   rÛ   rÜ   r  zCallable[[Any], None] | Noner  r  zCallable[[Any], Any] | Noner  rÝ   rØ   r   r   r�   rž   r   rA   r   )r   s   "r   r   ÚManagedLlmStream.__annotate__8  s“   € ÷ %ñ %Ø%ð%Ø7Vð%Øgjð%àð%à"ð%à/@ð%ð 8ð%ð Kgð%ð 3ð	%ð Jfð	%ð
 'Cð%ð (ð%ð KOð%ð 
ñ%r   c               	óú  € WÐn         \        T;'       g    / P                  R 4      ;'       g    R4      P                  R4      pV'       d   WT3MRw  V n        V n        Y‰;'       g    \        V
uV n        V n        V n	        W'VuV n
        V n        V n        W°n        . V n        . V n        \         P#                  W1WÄVR7      pVf   V P%                  V4       R# VP&                  V n        V P+                  V4       R# )Ú	call_roler   z
auxiliary:Nr5   )NN)Ú_defer_logical_completionr   r   Ú
startswithÚ_logical_model_nameÚ_logical_provider_namer¯   Ú	_on_chunkÚ_chunk_adapterÚ_accept_chunkÚ_stream_factoryÚ_on_stream_createdÚ
_finalizerÚ_completed_response_predicateÚ_raw_chunksÚ_prefetched_chunksr,   r=   Ú_start_unmanagedrH   r  Ú_start_managed)rW   r0   rÚ   r.   r1   r2   rÛ   r  r  r  r  rØ   r   r�   Ú	auxiliaryrÎ   s   &&&$$$$$$$$$$$  r   rX   ÚManagedLlmStream.__init__8  så   € ð *BÔ&ä˜Ÿ˜ R×,Ñ,¨[Ó9×?Ð?¸RÓ@×KÑKÈLÓYˆ	ßV_ÀÑ@RÐeqÑ=ˆÔ  $Ô"=ØBJ×LgÐLgÔ]gÐiuÐ?ˆŒ˜Ô+¨TÔ-?ØIWÐluÐFˆÔ˜dÔ5°t´Ø-IÔ*Ø24ˆÔØ-/ˆÔÜ!×)Ñ)¨*¸xÐ_iÐ)ÓjˆØŠ?Ø×!Ñ! 'Ô*ÙØŸ™ˆŒØ×Ñ˜GÖ$r   c               ó    € V ^8„  d   QhRRRR/# )r   r0   r%   r   rA   r   )r   s   "r   r   r  P  s   € ÷ 
(ñ 
(¨ð 
(¸4ñ 
(r   c                	óþ   € V P                  V4      pV P                  pVe'   V! V4      '       d   W n        \        R4      V n        R # W n        V P                  e   V P                  V4       \        V4      V n        R # ©Nr   )r  r   rä   ÚiterÚ_streamÚ_raw_stream_resourcer  )rW   r0   Ú
raw_streamÚ	predicates   &&  r   r#  Ú!ManagedLlmStream._start_unmanagedP  sm   € Ø×)Ñ)¨'Ó2ˆ
Ø×6Ñ6ˆ	ØÒ ¡Y¨z×%:Ò%:Ø",ÔÜ ›8ˆDŒLÙØ$.Ô!Ø×"Ñ"Ò.Ø×#Ñ# JÔ/Ü˜JÓ'ˆŽr   c               ó    € V ^8„  d   QhRRRR/# )r   rÎ   r,   r[   r   r   )r   s   "r   r   r  \  s   € ÷ %ñ %¨oð %ÈSñ %r   c               ó  "  € VP                   pRp V! V P                  VP                  V4      4      pV P                  pVeH   V! WT4      '       d:   W@n        RV n         \        VRR4      p\        V4      '       d    V! V4       R# R# V P                  e   V! V P                  V4       V! \        V4      p \        P                  ! \        W84      G Rj  x€L
 w  ršV
'       d   MVV P                  e   V! V P                  V	4      '       g   M.\!        V	4      pV P"                  P%                  W¹34       V5x € K…  RV n         \        TRR4      p\        T4      '       d    T! T4       R# R#   \         d   pYpn	        h Rp?ii ; i L²  \         d   pYpn        h Rp?ii ; i  \         d   pYpn	        h Rp?ii ; i  \        TRR4      p\        T4      '       d%    T! T4       i   \         d   pYpn	        h Rp?ii ; ii ; i5i)zIRelay's provider callback: run the factory and yield JSON-encoded chunks.NTrð   )rq   r  r_   r   rä   Ú_provider_completedrù   rú   r   Ú_close_errorr  r*  r‘   Ú	to_threadr  r  ry   r!  ÚappendÚ_callback_error)rW   rÎ   r[   rq   r-  r.  rð   r�   r   ÚchunkÚ	exhaustedÚencoded_chunks   &&&         r   Ú_provider_streamÚ!ManagedLlmStream._provider_stream\  sô  é € à×+Ñ+ˆØˆ
ð!	Ù% d×&:Ñ&:¸G×<TÑ<TÐUaÓ<bÓcˆJØ×:Ñ:ˆIØÒ$©°i×)LÒ)LØ&0Ô#Ø+/�Ô(Øô* ˜J¨°Ó6ˆEÜ˜�ŠðÙ  Ö'ñ ð+ ×&Ñ&Ò2Ù˜T×4Ñ4°jÔAÙ'¬¨jÓ9ˆLØô *1×):Ò):Ô;OÐQ]Ó)l×#lÑ �ßØØ×%Ñ%Ò1¹,Àt×GYÑGYÐ[`×:aÒ:aØÜ )¨%Ó 0�Ø× Ñ ×'Ñ'¨Ð(>Ô?Ø#Õ#Ø'+ˆDÕ$ô
 ˜J¨°Ó6ˆEÜ˜�ŠðÙ  Ö'ñ øô %ô Ø(+Ô%Øûðúñ# $møô ô 	Ø#&Ô Øûð	ûô %ô Ø(+Ô%Øûðûô	 ˜J¨°Ó6ˆEÜ˜�ŠðÙ  Õ'øÜ$ô Ø(+Ô%Øûðúð üsÆ   ‚H’AF Á HÁ?E1 ÂHÂAF ÃFÃ5F Ä6F ÅHÅ%F' Å-HÅ1FÅ<FÆFÆHÆF ÆF$ÆFÆF$Æ$G Æ'F>Æ2F9Æ9F>Æ>HÇHÇ!G*Ç)HÇ*HÇ5G<Ç<HÈHÈHc               ó    € V ^8„  d   QhRRRR/# )r   rÎ   r,   r   r   r   )r   s   "r   r   r  ƒ  s   € ÷ ñ ¨ð ¸Cñ r   c                	ó   € V P                   e   R #  V P                  pVf   VP                  V P                  4      pV P                  e   \        V4      V n        \        V4      #   \         d   pY0n         h R p?ii ; irj   )	r6  rä   rq   r  r  Ú_response_model_namer  ry   r   )rW   rÎ   Úresponser�   s   &&  r   Ú_relay_finalizerÚ!ManagedLlmStream._relay_finalizerƒ  sz   € ð ×ÑÒ+Ùð		Ø×*Ñ*ˆHØÒØ"×/Ñ/°·±Ó@�Ø×'Ñ'Ò3Ü4HÈÓ4R�Ô1Ü˜XÓ&Ð&øÜô 	Ø#&Ô Øûð	ús   ’AA& Á&A=Á1A8Á8A=c               ó    € V ^8„  d   QhRRRR/# )r   rÎ   r,   r   rA   r   )r   s   "r   r   r  “  s   € ÷ ñ  oð ¸$ñ r   c                ó(  a a€ R VV 3R llpSP                   P                  4       S n         \        P                  ! 4       ;S n        pVP                  SP                  SP                   P                  P                  P                  \        S P                  S4      V\        S P                  S4      4      4      S n        R#   \         dÄ   pS P
                  e.   S P!                  T4      '       d   S P#                  4         Rp?R#  S P
                  eA   S P%                  \'        T4      '       d   RMRTR7       S P
                  P)                  4        RS n        S P+                  4        h   RS n        S P+                  4        i ; iRp?ii ; i)zCOpen Relay's stream on a private event loop owned by this iterator.c               ó    € V ^8„  d   QhRRRR/# )r   r7  r   r   rA   r   )r   s   "r   r   Ú5ManagedLlmStream._start_managed.<locals>.__annotate__–  s   € ÷ 	Gñ 	G ð 	G¨ñ 	Gr   c                ór   <€ SP                   e(   SP                  SP                   \        V 4      4       R # R # rj   )r  rq   ry   )r7  rÎ   rW   s   &€€r   Úobserve_chunkÚ6ManagedLlmStream._start_managed.<locals>.observe_chunk–  s+   ø€ Ø�~‰~Ò)Ø×$Ñ$ T§^¡^´Y¸uÓ5EÖFñ *r   Nrß   Úfailed©r~   )r:   Úacquire_operation_leaser
  r‘   Únew_event_loopr  rô   rš   rK   rË   Ústream_executer   r:  r@  r+  r   Ú_recoverable_relay_failureÚ!_preserve_pending_provider_chunksrå   Ú_is_cancellationrð   Ú_release_runtime_lease)rW   rÎ   rG  ré   r�   s   ff   r   r$  ÚManagedLlmStream._start_managed“  sC  ù€ ÷	Gñ 	Gð &Ÿo™o×EÑEÓGˆÔð	Ü '× 6Ò 6Ó 8Ð8ˆDŒJ˜Ø×2Ñ2Ø×#Ñ#Ø—O‘O×)Ñ)×-Ñ-×<Ñ<¼gÀd×F[ÑF[Ð]dÓ>eØ!¤7¨4×+@Ñ+@À'Ó#JóóˆDŽLøô ô 	Ø�z‰zÒ%¨$×*IÑ*IÈ#×*NÒ*NØ×6Ñ6Ô8Ýð.Ø—:‘:Ò)Ø×(Ñ(Ô8HÈ×8MÒ8M©ÐS[ÐcfÐ(ÔgØ—J‘J×$Ñ$Ô&à!�”
Ø×+Ñ+Ô-Øøð "�”
Ø×+Ñ+Õ-þð	ús7   ­BC ÃFÃ$FÃ3FÄ
AE0ÅFÅ0F	Æ	FÆFc               ó   € V ^8„  d   QhRR/# )r   r   r  r   )r   s   "r   r   r  °  s   € ÷ ñ Ð*ñ r   c                	ó   € V # rj   r   ©rW   s   &r   Ú__iter__ÚManagedLlmStream.__iter__°  s   € Øˆr   c               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   r  ³  s   € ÷ ;ñ ;¨4ñ ;r   c                ó  € V P                   '       gf   V P                  '       gR   \        P                  ! \        4      ;_uu_ 4        V P                  P                  \        V 4      4       RRR4       R# R# R#   + '       g   i     R# ; i)z4Advance once while preserving a genuine first chunk.N)Ú_closedr"  r¾   rÔ   r  r5  r  rU  s   &r   rã   Ú*ManagedLlmStream._prime_completed_response³  sX   € à�|�|ˆ| D×$;×$;Ð$;Ü×$Ò$¤]×3Õ3Ø×'Ñ'×.Ñ.¬t°D«zÔ:÷ 4Ñ3ñ %<‰|ß3×3Ð3ús   Á%A:Á:B	c               ó    € V ^8„  d   QhRRRR/# )r   r�   r   r   rž   r   )r   s   "r   r   r  ¹  s   € ÷ ñ ¨mð Àñ r   c                ó  € \        V\        4      ;'       d#    V P                  ;'       d    V P                  RJ pV'       d,   V P                  '       d   \
        P                  RRR7       R# V'       d   \
        P                  RRR7       V# )a>  Relay post-processing failed after the provider already succeeded.

Not recoverable once Relay delivered output with no provider-source match:
that chunk's source stays in ``_raw_chunks``, so a raw replay would emit
already-represented content a second time (and unredacted, if the Relay
transformation was the point).NztNeMo Relay stream post-processing failed after transformed output; propagating rather than replaying provider chunksTr    Fz_NeMo Relay stream post-processing failed after provider success; preserving the provider result)r£   r¤   r2  r6  Ú_delivered_unmatchedr¥   r¦   )rW   r�   Úrecoverables   && r   rN  Ú+ManagedLlmStream._recoverable_relay_failure¹  s‚   € ô ! ¤iÓ0×nÐn°T×5MÑ5M×nÐnÐRV×RfÑRfÐjnÐRnˆß˜4×4×4Ð4Ü�N‰NðDàð ô ñ
 ßÜ�N‰NØqØð ô ð Ðr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rµ   r   r~   úBaseException | Noner   rA   r   )r   s   "r   r   r  Ï  s#   € ÷ ñ  sð Ð3Gð ÐSWñ r   c           
     óŒ  € V P                   '       d   R# RpVe`   V P                  eR   ^ RIHp VP	                  V4      '       d   RpM1TP                  Y P                  ;'       g    RV P                  R7      p\        V P                  WP                  V P                  V P                  V P                  VR7       RV n        R# )z™Complete the logical LLM scope unless the caller deferred it. An auxiliary stream
that ended in ``error`` reports it like a deferred auxiliary call does.N)Úauxiliary_call_outcomerß   r   )ÚproviderÚmodel)rµ   r2   r   Úresponse_model_nameÚoperation_leaseÚerror_class)r  r  Úagentrd  Úis_cancellationri  r  r¶   r  r  r
  )rW   rµ   r~   ri  rd  s   &&&  r   rå   Ú ManagedLlmStream._finish_logicalÏ  s®   € ð ×)×)Ð)ÙØˆØÒ ×!9Ñ!9Ò!EÝ4Ø%×5Ñ5°e×<Ò<Ø%‘à4×@Ñ@Ø×$?Ñ$?×$EÐ$EÀ2ÈT×MeÑMeð Aó g�äØ�M‰M 7×7OÑ7OØ×5Ñ5È4×KlÑKlØ ×/Ñ/¸[õ	
ð
 ˆŽr   c               ó   € V ^8„  d   QhRR/# rg   r   )r   s   "r   r   r  ã  s   € ÷ )*ñ )*˜#ñ )*r   c                	ó¢  a € S P                   '       d   \        hS P                  '       d   S P                  P                  4       # S P                  f\   \        S P                  S 4      pVS J g&   S P                  e0   S P                  V4      '       g   S P                  RR7       \        hV# R V 3R llp S P                  P                  V! 4       4      p\+        S P                  4       FA  w  pw  rg\-        Y4      '       g   K  T^ 8”  d   RS n        S P                  R T^,           1 Tu # 	  RS n        RS n        S P1                  T4      #   \         dE    S P                  '       d   RS n        S P                  R4       S P                  RR7       \        R h\         d¥   pS P                  pTe2   \         P"                  ! Y44      '       d   S P                  RTR7       ThS P%                  T4      '       d!   S P'                  4        \        S 4      u R p?# S P                  \)        T4      '       d   RMRTR7       h R p?ii ; i)	Nrß   rà   c               ó   € V ^8„  d   QhRR/# rg   r   )r   s   "r   r   Ú/ManagedLlmStream.__next__.<locals>.__annotate__ï  s   € ÷ 	-ñ 	- #ñ 	-r   c               “  óJ   <"  € \        S P                  4      G R j  x€L
 #  L5irj   )Úanextr+  rU  s   €r   Ú
next_chunkÚ-ManagedLlmStream.__next__.<locals>.next_chunkï  s   øé € Ü˜tŸ|™|Ó,×,Ð,Ñ,ùs   ƒ#œ!�#Tr´   rI  )rá   r~   )rZ  r  r"  Úpopr  r  r+  r  ræ   rô   ÚStopAsyncIterationr!  Úoutput_modifiedrå   r   r6  r   r¢   rN  rO  rP  Ú	enumerater®   r^  r  )rW   r7  rs  r�   r¨   ÚindexÚencodedrt   s   f       r   Ú__next__ÚManagedLlmStream.__next__ã  sø  ø€ Ø�<�<ˆ<ÜÐØ×"×"Ð"Ø×*Ñ*×.Ñ.Ó0Ð0Ø�:‰:ÒÜ˜Ÿ™ tÓ,ˆEØ˜‹} ×!3Ñ!3Ò!?È×HZÑHZÐ[`×HaÒHaØ—‘¨K�Ô8Ü#Ð#ØˆL÷	-ð 	-ð	Ø—J‘J×1Ñ1±*³,Ó?ˆEô" &/¨t×/?Ñ/?Ö%@Ñ!ˆE‘>�GÜ˜5×*Ô*Ø˜1”9Ø+/�DÔ(Ø×$Ñ$ [ u¨q¥y [Ð1Ø’
ñ &Að  $ˆÔØ$(ˆÔ!Ø×"Ñ" 5Ó)Ð)øô1 "ô 	*Ø××ÐØ'+�Ô$Ø× Ñ  Ô+Ø�K‰K¨ˆKÔ4Ü TÐ)Üô 		Ø!×1Ñ1ˆNØÒ)¬m×.\Ò.\Ð]`×.qÒ.qØ—‘¨H¸N�ÔKØ$Ð$Ø×.Ñ.¨s×3Ò3Ø×6Ñ6Ô8Ü˜D“zÕ!Ø�K‰KÔ7GÈ×7LÒ7L©ÐRZÐbeˆKÔfØûð		ús7   Â9 E ÅIÅ/9IÆ)IÆ*AI	ÈI	ÈIÈ"'I	É	Ic               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   r    s   € ÷ ñ �tñ r   c                ó\   € V P                  RR7       V P                  Ruqn        Ve   VhR# )zAClose an explicitly abandoned stream and cancel its logical call.rß   rà   N)ræ   r3  )rW   Úclose_errors   & r   rð   ÚManagedLlmStream.close  s4   € à�‰ KˆÔ0Ø)-×):Ñ):¸DÐ&ˆÔ&ØÒ"ØÐñ #r   c               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   r    s   € ÷ *ñ *°4ñ *r   c                ó  € V P                    UUu. uF  w  rVNK	  	  pppV P                   P                  4        V P                  V P                  rTR\	        V4      RR3w  V n        V n        V n        V n         Ve%    \        WE4      pV'       d   VP                  4        V P                  R4       V P                  4        R# u uppi   \         d    \        P                  RRR7       Rp Lgi ; i  T P                  4        i ; i)z@Switch a failed Relay stream to its undelivered provider chunks.Nz4Relay stream cleanup failed during provider fallbackTr    r´   )r!  Úclearr  r+  r*  r,  r  rþ   r¤   r¥   Údebugrð   rå   rQ  )rW   Ú_encodedrt   Úpendingré   Úrelay_streamÚ	completeds   &      r   rO  Ú2ManagedLlmStream._preserve_pending_provider_chunks  sé   € à,0×,<Ò,<Ô=Ñ,<™=˜8“3Ñ,<ˆÑ=Ø×Ñ×ÑÔ Ø!ŸZ™Z¨¯©ˆlØRVÔX\Ð]dÓXeÐgkÐmqÐRqÑOˆŒ
�D”L $Ô";¸TÔ=Oð	*ØÒð%Ü /°Ó C�I÷ Ø—J‘J”LØ× Ñ  Ô+à×'Ñ'Ö)ùó >øô !ô %Ü—L‘LÐ!WÐbf�LÔgØ $’Ið%ûð ×'Ñ'Õ)ús;   �CÁ:C5 Á?C Â
C5 Â!C5 Ã$C2Ã/C5 Ã1C2Ã2C5 Ã5Dc               ó    € V ^8„  d   QhRRRR/# )r   r�   r   r   rA   r   )r   s   "r   r   r  (  s   € ÷ $ñ $¨=ð $¸Tñ $r   c                	ó2   € V P                   f	   Wn         R # R # rj   )r3  r€   s   &&r   Ú_keep_first_close_errorÚ(ManagedLlmStream._keep_first_close_error(  s   € Ø×ÑÒ$Ø #Öñ %r   c               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   r  ,  s   € ÷ Nñ N¨4ñ Nr   c                ó˜  € V P                   V P                  3 Uu/ uF  qf   K  \        V4      VbK  	  ppRV n         RV n        VP                  4        F+  p\	        VRR4      p \        V4      '       d
   V! 4        K+  K-  	  R# u upi   \         d4   pT P                  T4       \        P                  RRR7        Rp?Ko  Rp?ii ; i)zUClose the unmanaged provider stream/resource once each (they may be the same object).Nrð   zProvider stream cleanup failedTr    )
r+  r,  ÚidÚvaluesrù   rú   r¤   rŒ  r¥   r„  )rW   ÚrÚ	resourcesÚresourcerð   r�   s   &     r   Ú_close_provider_resourcesÚ*ManagedLlmStream._close_provider_resources,  s¶   € à(,¯©°d×6OÑ6OÑ'PÓbÑ'P !”X”R˜“U˜A’XÑ'Pˆ	ÐbØˆŒØ$(ˆÔ!Ø!×(Ñ(Ö*ˆHÜ˜H g¨tÓ4ˆEðNÜ˜E—?’?Ù–Gñ #ó +ùò cøô ô NØ×,Ñ,¨SÔ1Ü—‘Ð=È�×MÒMûðNús"   ›B¥BÁ&BÂC	Â(CÃC	r~   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rá   r   r~   rb  r   rA   r   )r   s   "r   r   r  :  s#   € ÷ *ñ *¨ð *Ð5Ið *ÐUYñ *r   c               	óä  € V P                   '       d   R # RV n         V P                  P                  4         V P                  R uq0n        VR JpVf   V P	                  4        M \        W0P                  4      pV P                  W4       V'       d   VP                  4        V P                  4        R #   \         d   pT P                  T4        R p?L\R p?ii ; i  T P                  4        i ; ir  )rZ  r"  rƒ  r  r•  rþ   r+  r¤   rŒ  rå   rð   rQ  )rW   rá   r~   ré   Ú
close_loopr�   s   &$$   r   ræ   ÚManagedLlmStream._close:  sÄ   € Ø�<�<ˆ<ÙØˆŒØ×Ñ×%Ñ%Ô'ð	*Ø#Ÿz™z¨4ÐˆD”*Ø TÐ)ˆJØŠ|Ø×.Ñ.Õ0ð6Ü!0°·|±|Ó!D�Jð × Ñ  Ô8ßØ—
‘
”à×'Ñ'Ö)øô !ô 6Ø×0Ñ0°×5Ñ5ûð6ûð ×'Ñ'Õ)ús5   ·,C Á$B4 Á9)C Â4CÂ?CÃC ÃCÃC ÃC/c               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   r  O  s   € ÷ ñ ¨ñ r   c                	óX   € V P                   R uqn         Ve   VP                  4        R # R # rj   )r
  Úrelease)rW   rÄ   s   & r   rQ  Ú'ManagedLlmStream._release_runtime_leaseO  s)   € Ø%)×%8Ñ%8¸$Ð"ˆÔ"ØÒØ�M‰MŽOñ r   c               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   r  T  s   € ÷ 1ñ 1˜ñ 1r   c                	ó*   € V P                  R R7       R# )rß   rà   N)ræ   rU  s   &r   Ú__del__ÚManagedLlmStream.__del__T  s   € Ø�‰ KˆÖ0r   )r  r6  r  r3  rZ  r   r  r^  r  r  r  r  r  r  r  r  r"  r2  r!  r,  r
  r+  r  rä   rw  rj   )%r¸   r¹   rº   r»   r¼   rä   Ú__annotations__rw  rZ  r2  r^  r  r+  r,  r
  r3  r6  r  r  rX   r#  r:  r@  r$  rV  rã   rN  rå   r{  rð   rO  rŒ  r•  ræ   rQ  r¡  rÀ   r   r   r   r  r  ,  s  ‡ Ù_à€N�CÓØMRÐR€OÐR�gÐRÐ 3Ð6JØ.2€EÐ+Ó2Ø%)Ð)€GÐ"Ø?C€NÐ<ÓCØ%)Ð)€L�?Ø$(€HÐ!Ó(Ø/3Ð  *Ó3ð%ð ;?ð%ð jnð%ð 6:ð	%ð imð	%ð
 FJð%ð +/ð%ð RW÷%õ0
(õ%õNõ õ:õ;õ÷,õ()*õVõ*õ&$õNð*ÈD÷ *õ*÷
1ñ 1r   r  Ú
text_deltaÚtextÚthinking_deltaÚthinkingÚsignature_deltaÚ	signaturec                  ó’   € ] tR tRtRtR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R]R]R]	R]
/tR R ltRR R lltRtR# )ÚAnthropicStreamAccumulatori^  z<Rebuild an Anthropic Message from post-intercept SSE events.c               ó   € V ^8„  d   QhRR/# rí   r   )r   s   "r   r   Ú'AnthropicStreamAccumulator.__annotate__a  s   € ÷ 5ñ 5˜$ñ 5r   c                	ó"   € / V n         / V n        R # rj   )Ú_messageÚ_blocksrU  s   &r   rX   Ú#AnthropicStreamAccumulator.__init__a  s   € Ø(*ˆŒØ24ˆŽr   c               ó    € V ^8„  d   QhRRRR/# )r   Úeventr   r   rA   r   )r   s   "r   r   r­  e  s   € ÷ 'ñ '˜Sð ' Tñ 'r   c                	ó¼   € \        V4      p\        V\        4      '       d;   V P                  P	                  VP	                  R 4      4      pVe   V! W4       R# R# R# )ÚtypeN)ry   r£   ÚdictÚ_EVENT_HANDLERSr   )rW   r³  ÚpayloadÚhandlers   &&  r   ÚobserveÚ"AnthropicStreamAccumulator.observee  sP   € Ü˜EÓ"ˆÜ�gœt×$Ò$Ø×*Ñ*×.Ñ.¨w¯{©{¸6Ó/BÓCˆGØÒ"Ù˜Ö&ñ #ñ %r   c               ó    € V ^8„  d   QhRRRR/# ©r   r¸  r%   r   rA   r   )r   s   "r   r   r­  l  s   € ÷ tñ t¨ð t¸Dñ tr   c                	óÖ   € VP                  R 4      p\        V\        4      '       d=   V P                  P	                  R Uu/ uF  q3V9   g   K  W2V,          bK  	  up4       R# R# u upi )ÚmessageN)r�  rµ  Úrolerf  Úusage)r   r£   r¶  r¯  Úupdate)rW   r¸  r¿  Úks   &&  r   Ú_on_message_startÚ,AnthropicStreamAccumulator._on_message_startl  sW   € Ø—+‘+˜iÓ(ˆÜ�gœt×$Ò$Ø�M‰M× Ñ Ñ9aÓ!rÑ9a°AÐjqÑeq¤- !¨Q¥Z¢-Ñ9aÑ!rÖsñ %ùÚ!rs   ÁA&ÁA&c               ó    € V ^8„  d   QhRRRR/# r½  r   )r   s   "r   r   r­  q  s   € ÷ .ñ .¨~ð .À$ñ .r   c                	óØ   € VP                  R 4      VP                  R4      r2\        V\        4      '       d3   \        V\        4      '       d   \        V4      V P                  V&   R# R# R# )ry  Úcontent_blockN)r   r£   Úintr¶  r°  )rW   r¸  ry  Úblocks   &&  r   Ú_on_content_block_startÚ2AnthropicStreamAccumulator._on_content_block_startq  sN   € Ø—{‘{ 7Ó+¨W¯[©[¸Ó-IˆuÜ�eœS×!Ò!¤j°¼×&=Ò&=Ü"& u£+ˆD�L‰L˜Óñ '>Ñ!r   c               ó    € V ^8„  d   QhRRRR/# r½  r   )r   s   "r   r   r­  v  s   € ÷ Hñ H¨~ð HÀ$ñ Hr   c                	óæ  € VP                  R 4      VP                  R4      r2\        V\        4      '       d   \        V\        4      '       g   R# V P                  P                  V/ 4      pVP                  R4      p\        P                  V4      pVeR   \        VP                  V4      ;'       g    R4      \        VP                  V4      ;'       g    R4      ,           WF&   R# VR8X  dJ   \        VP                  RR4      4      \        VP                  R4      ;'       g    R4      ,           VR&   R# VR8X  d4   R	V9   d+   VP                  R
. 4      P                  VR	,          4       R# R# R# )ry  ÚdeltaNrµ  r   Úinput_json_deltaÚ_partial_jsonÚpartial_jsonÚcitations_deltaÚcitationÚ	citations)
r   r£   rÉ  r¶  r°  r(   Ú_ANTHROPIC_APPEND_DELTASr   ru  r5  )rW   r¸  ry  rÏ  rÊ  Ú
delta_typeÚfields   &&     r   Ú_on_content_block_deltaÚ2AnthropicStreamAccumulator._on_content_block_deltav  s#  € Ø—{‘{ 7Ó+¨W¯[©[¸Ó-AˆuÜ˜%¤×%Ò%¬Z¸¼t×-DÒ-DÙØ—‘×'Ñ'¨¨rÓ2ˆØ—Y‘Y˜vÓ&ˆ
Ü(×,Ñ,¨ZÓ8ˆØÒÜ˜uŸy™y¨Ó/×5Ð5°2Ó6¼¸U¿Y¹YÀuÓ=M×=SÐ=SÐQSÓ9TÕTˆE‹LØÐ-Ô-Ü%(¨¯©°?ÀBÓ)GÓ%HÌ3ÈuÏyÉyÐYgÓOh×OnÐOnÐlnÓKoÕ%oˆE�/Ó"ØÐ,Ô,°¸uÔ1DØ×Ñ˜[¨"Ó-×4Ñ4°U¸:Õ5FÖGñ 2EÑ,r   c               ó    € V ^8„  d   QhRRRR/# r½  r   )r   s   "r   r   r­  „  s   € ÷ 
+ñ 
+¨ð 
+¸Dñ 
+r   c                	ó  € VP                  R 4      p\        V\        4      '       d;   V P                  P	                  R Uu/ uF  q3V9   g   K  W2V,          bK  	  up4       RV9   dŽ   VR,          V P                  P                  R4      rT\        V\        4      '       dE   \        V\        4      '       d/   / VCVP                  4        UUu/ uF  w  r6Vf   K  W6bK  	  uppCpW@P                  R&   R# R# u upi u uppi )rÏ  rÁ  N)Ústop_reasonÚstop_sequenceÚstop_details)r   r£   r¶  r¯  rÂ  Úitems)rW   r¸  rÏ  rÃ  rÁ  Úcurrent_usageÚvs   &&     r   Ú_on_message_deltaÚ,AnthropicStreamAccumulator._on_message_delta„  s×   € Ø—‘˜GÓ$ˆÜ�eœT×"Ò"Ø�M‰M× Ñ Ñ7gÓ!vÑ7g°!ÐpuÑku¤+ !¨1¥X¢+Ñ7gÑ!vÔwØ�gÔØ#*¨7Õ#3°T·]±]×5FÑ5FÀwÓ5O�=Ü˜-¬×.Ò.´:¸eÄT×3JÒ3Jð _˜=Ð^¸e¿k¹k¼mÔ,]¹m±d°aÈq¬T¨QªT¹mÒ,]Ð^�Ø%*�M‰M˜'Ó"ñ ùò "wùó -^s   ÁC8ÁC8ÃC=ÃC=Úmessage_startÚcontent_block_startÚcontent_block_deltaÚmessage_deltac               ó   € V ^8„  d   QhRR/# )r   r   r%   r   )r   s   "r   r   r­  •  s   € ÷ 4ñ 4˜.ñ 4r   c                	ó¨  € \        V P                  4       Uu. uF  p\        V P                  V,          4      NK!  	  ppV Fe  pVP                  R R4      pVf   K  \        P
                  ! \        \        4      ;_uu_ 4        \        P                  ! V4      pRRR4       WCR&   Kg  	  / V P                  CRV/C# u upi   + '       g   i     L/; i)rÑ  NÚinputÚcontent)Úsortedr°  r¶  ru  r¾   rÔ   Ú	TypeErrorÚ
ValueErrorrx   Úloadsr¯  )rW   ry  ÚblocksrÊ  r   s   &    r   ÚfinalizeÚ#AnthropicStreamAccumulator.finalize•  s¥   € Ü9?ÀÇÁÔ9MÓNÑ9M°”$�t—|‘| EÕ*Ö+Ñ9MˆÐNÛˆEØ—i‘i °Ó6ˆGØÔ"Ü×(Ò(¬´J×?Õ?Ü"Ÿjšj¨Ó1�G÷ @à!(�g“ñ ð 4�$—-‘-Ð3 ¨FÑ3Ð3ùò O÷ @×?ús   ˜%B<ÂCÃCNc               ó    € V ^8„  d   QhRRRR/# )r   Úbaser   r   r   )r   s   "r   r   r­  Ÿ  s   € ÷ "ñ "˜Sð "¨Cñ "r   c                ó    € V P                  4       pVP                  R. 4      p/ \        V4      CVCpV'       g   RV9  d   W4R&   \        V4      # )z8Return the attribute-shaped response consumed by Hermes.rì  )rò  ru  r'   r¯   )rW   rõ  Ú	assembledrì  Úmergeds   &&   r   r?  Ú#AnthropicStreamAccumulator.responseŸ  sN   € à—M‘M“Oˆ	Ø—-‘- 	¨2Ó.ˆØ6”N 4Ó(Ð6¨IÐ6ˆß�i vÔ-Ø '�9ÑÜ˜&Ó!Ð!r   )r°  r¯  rj   )r¸   r¹   rº   r»   r¼   rX   rº  rÄ  rË  rÙ  rã  r·  rò  r?  rÀ   r   r   r   r«  r«  ^  sT   † ÙFõ5õ'õtõ
.õ
Hõ
+ð 	Ð*Ð,AÐCZØÐ6¸ÐIZð€Oõ
4÷"ó "r   r«  c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r   r:   r@   r;   r   r<   r   r   r   r  r   )r   s   "r   r   r   ©  s4   € ÷ $ñ $Ø'ð$Ø25ð$Ø?Bð$ØNcð$àñ$r   c                ó¬  € \         P                  ! VP                  4      p\        T;'       g    / P	                  R4      ;'       g    R4      pVe#   V'       d   VP
                  P                  V Jd   R# VP                  ;_uu_ 4        VP                  '       d    RRR4       R# VP                  ;_uu_ 4        VP                  P	                  V4      pVf¿   \        T;'       g    / P	                  R4      ;'       g    R4      pV P                  WP                  P                  P                  \         P                  V P                  P                   P"                  V/ \         P$                  ! V P&                  3/ RV/B R7      ;qdP                  V&   RRR4       RRR4       VXV3#   + '       g   i     L; i  + '       g   i     L(; i)zTReturn (turn, handle, request_id) for the turn's logical LLM scope, pushing it once.Úapi_request_idr   Nr  Úprimaryzhermes.call_role)rD   rë  r   )r   rÃ   r.   r   r   rÄ   ÚhostÚfinalize_lockÚclosedÚlogical_llm_lockÚlogical_llm_callsÚrun_in_sessionrK   ÚscopeÚpushÚLOGICAL_LLM_SCOPEÚ	ScopeTypeÚFunctionÚruntime_metadataÚ
runtime_id)r:   r;   r<   r   rÅ   Ú
request_idrD   r  s   &&&&    r   rG   rG   ©  sf  € ô ×$Ò$ W×%7Ñ%7Ó8€DÜ�h—n�n "×)Ñ)Ð*:Ó;×AÐA¸rÓB€JØ‚|Ÿ:¨¯©¯©ÀÓ)GÙØ	×	×	Ó	Ø�;�;ˆ;Ø÷ 
Ñ	ð ×"×"Ó"Ø×+Ñ+×/Ñ/°
Ó;ˆFØŠ~Ü § ¨R× 4Ñ 4°[Ó A× NÐ NÀYÓO�	Ø>E×>TÑ>TØŸ]™]×0Ñ0×5Ñ5´}×7VÑ7VØ—M‘M×+Ñ+×4Ñ4¸VÈ2Ü*×;Ò;¸G×<NÑ<NÑrÐSeÐgpÐRqÑrð ?Uó ?ð �×/Ñ/°
Ñ;÷	 #÷ 
ð �˜Ð#Ð#÷ #×"ú÷ 
×	ús7   ÂGÂ)GÂ=-F0	Ã+F0	ÄBF0	ÆGÆ0G Æ;GÇG	r2   r   rg  rh  ri  c               ó8   € V ^8„  d   QhRRRRRRRRRRR	R
RRRR/# )r   rH   r  rµ   r   r2   r/   r   rg  rh  r	  ri  r   rA   r   )r   s   "r   r   r   À  sP   € ÷ 07ñ 07Ø ð07Ø.1ð07Ø?Ið07Øakð07à#ð07à=eð07ð ð07ð 
ñ	07r   c               óÒ  € V f   R # V w  rxp	VP                   p
\        V
P                  \        P                  4      '       g   R # RV/pVe*   Ve&   VP                  RVRV/4       Ve   WKR&   Ve   WkR&   VP                  ;_uu_ 4        VP                  ;_uu_ 4        VP                  P                  V	4      VJd    R R R 4       R R R 4       R #  R R R 4       V
P                  f    R R R 4       R #  T;'       g    V
P                  P                  V
P                  \        P                  V
P                  P                  VV\        P                  ! V
P                  P                  4      R7      pTR
J d2   T
P                  P'                  Y‹4       \"        P)                  RT	4       TP                  ;_uu_ 4        TP                  P                  T	4      TJ d   TP                  T	 R R R 4       R R R 4       R #   + '       g   i     EL4; i  \          d$    \"        P%                  RRR	7        R R R 4       R # i ; i  + '       g   i     L_; i  + '       g   i     R # ; i)Nrµ   rf  re  Úresponse_modelri  )Úoutputr   z,Hermes Relay logical LLM finalization failedTr    FzWLeft logical LLM scope %s under a concurrent scope; the drain closes it with its result)rÄ   r£   rþ  r   ÚRelayRuntimerÂ  rÿ  r  r  r   r;   r  Úpop_relay_scope_if_toprK   r	  r
  r¤   r¥   r¦   Údefer_scope_outputr„  )rH   rµ   r2   r   rg  rh  ri  rÅ   rD   r  rÄ   r  Úpoppeds   &$$$$$$      r   r¶   r¶   À  sþ  € ð
 ‚ÙØ&Ñ€D�*Ø�J‰J€EÜ�e—j‘j¤-×"<Ñ"<×=Ò=ÙØ˜Ð!€FØÒ -Ò";Ø�‰�w 
¨J¸ÐFÔGØÒ*Ø':Ð#Ñ$ØÒ"Ø$/�=Ñ!Ø	×	×	Ó	Ø×"×"Ó"Ø×%Ñ%×)Ñ)¨*Ó5¸VÓCØ÷ #÷ 
Ñ	àC÷ #ð �=‰=Ò Ø÷ 
Ñ	ð	ð &×3Ð3¨¯©×CÑCØ—‘œ}×CÑCÀUÇZÁZ×EUÑEUÐW]Ø¬×(FÒ(FÀuÇzÁz×G\ÑG\Ó(]ð Dó ˆFð �U‹?ð �J‰J×)Ñ)¨&Ô9Ü�L‰LØiØôð ×"×"Ó"Ø×%Ñ%×)Ñ)¨*Ó5¸Ó?Ø×*Ñ*¨:Ð6÷ #÷9 
Ñ	ß"×"Ð"ûô ô 	ä�N‰NÐIÐTXˆNÔYØ÷' 
Ñ	ð 	ú÷ #×"ú÷9 
×	Ð	úsn   Â	IÂ!G=	Â?IÃIÃ4HÃ=A6HÅ3AIÆ>-I	Ç+IÇ=HÈ	IÈ"H?È3IÈ>H?È?IÉIÉIÉI&	c               ó    € V ^8„  d   QhRRRR/# )r   r~   r   r   rž   r   )r   s   "r   r   r   ó  s   € ÷ \ñ \˜Mð \¨dñ \r   c                óL   € \        V \        P                  \        \        34      # rj   )r£   r‘   ÚCancelledErrorÚInterruptedErrorÚKeyboardInterruptrJ  s   &r   rP  rP  ó  s   € Ü�eœg×4Ñ4Ô6FÔHYÐZÓ[Ð[r   c               ó4   € V ^8„  d   QhRRRRRRRRRRRRR	R
/# )r   rü  r   rµ   r2   r/   r   rg  ri  r   rA   r   )r   s   "r   r   r   ÷  sH   € ÷ 
ñ 
Øð
Ø%(ð
Ø6@ð
àð
à;Eð
ð ð
ð 
ñ	
r   c          	     ó  € \         P                  ! 4       pVe	   V '       g   R# VP                  ;_uu_ 4        VP                  P	                  V 4      pRRR4       Xe   \        WgV 3WW4VR7       R# R#   + '       g   i     L); i)zèComplete the active turn's logical LLM call after caller validation. ``error_class``
(a classifier reason) rides on a call that reports its route: the error that ended a
failed call, or the last one a successful call recovered from.N)rµ   r2   r   rg  ri  )r   rÃ   r  r  r   r¶   )rü  rµ   r2   r   rg  ri  rÅ   rD   s   &$$$$$  r   Úcomplete_logical_callr  ÷  so   € ô ×$Ò$Ó&€DØ‚|Ÿ>ÙØ	×	×	Ó	Ø×'Ñ'×+Ñ+¨NÓ;ˆ÷ 
àÒÜØ˜>Ð*°GØ'Ð^i÷	
ñ ÷ 
×	ús   ¸A5Á5B	c               ó    € V ^8„  d   QhRRRR/# )r   r?  r   r   r/   r   )r   s   "r   r   r     s   € ÷ Gñ G 3ð G¨:ñ Gr   c                óÊ   € \        V \        4      '       d   V P                  R4      M\        V RR4      p\        V\        4      '       d   VP                  4       '       d   V# R# )z<Return a provider-reported model name when one is available.rf  N)r£   r¶  r   rù   r   Ústrip)r?  rw   s   & r   r>  r>    sJ   € ä%/°¼$×%?Ò%?ˆH�L‰L˜Ô!ÄWÈXÐW^Ð`dÓEe€EÜ˜u¤c×*Ò*¨u¯{©{¯}ª}ˆ5ÐFÀ$ÐFr   c               ó0   € V ^8„  d   QhRRRRRRRRRRR	R/# )
r   Úoriginalr%   r0   r   rC   r]   r   r   r   r   )r   s   "r   r   r     s>   € ÷ ñ ØðØ'*ðØCQðà.ðà:Oðð ñr   c               ó  € \        VR V4      p\        V\        4      '       g   Tp\        V 4      pVe¢   \        WR4      '       g‘   Tp\	        WT4      pVP                  4       VP                  4       ,           FM  p	W˜9  d   VP                  V	R4       K  W—9  g!   \        W‰,          Wy,          4      '       d   KC  W‰,          Wi&   KO  	  \        WWxR7       \        VRR4      p
\        V
\        4      '       dH   V
P                  4        UUu/ uF+  w  r¼\        V4      P                  4       \        9  g   K)  W¼bK-  	  p
pp\        P                  \        V4      4      RJ;'       g    RV 9   pV
'       dL   V'       gD   V
P                  4        UUu/ uF'  w  r¼\        V4      P                  4       R8w  g   K%  W¼bK)  	  p
ppV
'       d,   / \        VP                  R4      ;'       g    / 4      CV
CVR&   V# u uppi u uppi )rì  N)ÚbaselineÚinterceptedÚheadersÚextra_headersÚtraceparent)rù   r£   r¶  r®   Ú_provider_request_bodyÚkeysru  Ú$_restore_provider_message_extensionsrà  r   ÚlowerÚ _RELAY_INTERNAL_PROVIDER_HEADERSr!   r   r   )r   r0   rC   r]   r   rì  Úfinalr"  r#  Úkeyr$  rÃ  râ  Úsupports_extra_headerss   &&$$$         r   r^   r^     sŸ  € ô �g˜y¨'Ó2€GÜ�gœt×$Ò$Ø$ˆÜ�‹N€EØÒ&¬{¸7×/WÒ/WØ&ˆÜ,¨WÓ?ˆð —=‘=“? [×%5Ñ%5Ó%7×7Ð7ˆCØÔ%Ø—	‘	˜#˜tÖ$ØÔ$¬K¸Õ8HÈ(Í-×,XÔ,XØ(Õ-�“
ñ	 8ô
 	-¨XÀxÕiÜ�g˜y¨$Ó/€GÜ�'œ4× Ò Ø$+§M¡M¤OÔn¡O™D˜A´s¸1³v·|±|³~ÔMmÑ7m”4�1’4¡OˆÑnô 9×<Ñ<¼YÀxÓ=PÓQÐY]Ð]×|Ð|ÐapÐt|Ña|Ðß×-Ø$+§M¡M¤OÔW¡O™D˜A´s¸1³v·|±|³~ÈÑ7V”4�1’4¡OˆÑWßØ!V¤D¨¯©°?Ó)C×)IÐ)IÀrÓ$JÐ!VÈgÐ!VˆˆoÑØ€Lùó oùó Xs   Ä&G5Ä7G5Æ"G;Æ7G;c               ó(   € V ^8„  d   QhRRRRRRRR/# )	r   rJ   r%   ÚmatchzCallable[[dict], bool]ÚrewritezCallable[[dict], dict]r   rA   r   )r   s   "r   r   r   2  s1   € ÷ _ñ _˜ð _Ð0Fð _ÐQgð _Ðlpñ _r   c                óä   € V P                  R4      p\        V\        4      '       dD   V Uu. uF1  p\        V\        4      '       d   V! V4      '       d	   V! V4      MTNK3  	  upV R&   R# R# u upi )zZRewrite each dict tool that ``match``es (in place on ``body["tools"]`` when it is a list).ÚtoolsN)r   r£   Úlistr¶  )rJ   r0  r1  r3  Úts   &&&  r   Ú_rewrite_toolsr6  2  s]   € à�H‰H�WÓ€EÜ�%œ×ÒÙX]Ó^ÑX]ÐST¤z°!´T×':Ò':¹uÀQ¿xºx™ œÈQÒNÑX]Ñ^ˆˆW‹ñ ùÚ^s   ¬(A-ÁA-c               ó    € V ^8„  d   QhRRRR/# ©r   rJ   r%   r   rA   r   )r   s   "r   r   r   9  s   € ÷ ñ ˜^ð °ñ r   c                ón   € V P                  R 4      f   V P                  R R4       \        V R R 4       R# )r3  Nc                óD   € V P                  R 4      R8H  ;'       d    RV 9  # ©rµ  Úfunction©r   ©r5  s   &r   rõ   Ú$_codex_codec_tools.<locals>.<lambda>?  s!   € ˜Ÿ™˜f›¨Ñ3×KÐK¸
È!Ñ8KÐKr   c           	     óp   € R RRV P                  4        UUu/ uF  w  rVR 8w  g   K  WbK  	  upp/# u uppi r;  )rà  )r5  rÃ  râ  s   &  r   rõ   r?  @  s4   € �6˜: zÀQÇWÁWÄYÔ3^ÁY¹T¸QÐRSÐW]ÑR]´D°A²DÁYÒ3^Ñ_ùÓ3^s   —2§2)r   ru  r6  ©rJ   s   &r   Ú_codex_codec_toolsrB  9  s2   € ð ‡x�x�ÓÒ Ø�‰�˜$ÔÜØÑKÙ_ör   c               ó    € V ^8„  d   QhRRRR/# r8  r   )r   s   "r   r   r   D  s   € ÷ mñ m˜Nð m¨tñ mr   c                ó$   € \        V R  R 4       R# )c                ó&   € R V 9   ;'       d    RV 9  # )r<  rµ  r   r>  s   &r   rõ   Ú#_chat_codec_tools.<locals>.<lambda>E  s   €  :°¡?×#FÐ#F°vÀQ±Ð#Fr   c                ó   € R R/V C# r;  r   r>  s   &r   rõ   rF  E  s   € ÐSYÐ[eÐRkÐijÑRkr   N)r6  rA  s   &r   Ú_chat_codec_toolsrH  D  s   € Ü�4ÑFÑHkÖlr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   r0   r%   r   r   r   r   )r   s   "r   r   r   L  s#   € ÷ ñ  ð Ð;Pð ÐUcñ r   c                ó”   € \        V 4      pVP                  R R4       \        P                  \	        V4      4      pVe	   V! V4       V# )r÷   N)r'   ru  Ú_CODEC_TOOL_NORMALIZERSr   r   )r0   r   rJ   Ú	normalizes   &&  r   rI   rI   L  sA   € Ü˜'Ó"€Dà‡H�HˆY˜ÔÜ'×+Ñ+¬I°hÓ,?Ó@€IØÒÙ�$ŒØ€Kr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )r   r   r%   r,  r"  r#  r   rA   r   )r   s   "r   r   r   V  s4   € ÷ ;ñ ;Øð;Ø%3ð;ØBPð;Ø_mð;à	ñ;r   c               ó²  a€ \         ;QJ d    . R WW#3 4       F  NK  	  5M! R WW#3 4       4      p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       d*   \        V Uu0 uF  p\        V4      kK  	  up4      ^8w  d   R# \        VRR/  F¬  p\        ;QJ d    R V 4       F  '       d   K   RM	  RM! R V 4       4      '       g   K?  Vw  rxrš\         F^  oSV9   g   K  \
        ;QJ d!    V3R lWšV3 4       F  '       g   K   RM	  RM! V3R lWšV3 4       4      '       d   KR  VS,          VS&   K`  	  K®  	  R# u upi )	zGRestore provider wire fields that Relay's typed codec cannot represent.c              3  óB   "  € T F  qP                  R 4      x € K  	  R# 5i)ÚmessagesNr=  )Ú.0rJ   s   & r   Ú	<genexpr>Ú7_restore_provider_message_extensions.<locals>.<genexpr>Z  s   é € ÐdÑ;c°4Ÿ(™( :×.Ð.Ó;cùó   ‚c              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5irj   )r£   r4  )rQ  Úms   & r   rR  rS  [  s   é € Ð:©M qŒz˜!œT×"Ð"«MùrT  FTNÚstrictc              3  óB   "  € T F  p\        V\        4      x € K  	  R # 5irj   )r£   r¶  )rQ  r¿  s   & r   rR  rS  ^  s   é € ÐE¹H°”:˜g¤t×,Ð,»HùrT  c              3  ó.   <"  € T F
  pSV9   x € K  	  R # 5irj   r   )rQ  rV  r-  s   & €r   rR  rS  b  s   øé € ð 3Ù"X˜Q��q–Ó"Xùs   ƒ)ÚtupleÚallÚlenÚzipÚ _PROVIDER_MESSAGE_EXTENSION_KEYSÚany)r   r,  r"  r#  Úmessage_listsrV  rP  Úoriginal_messageÚfinal_messageÚbaseline_messageÚintercepted_messager-  s   &&$$       @r   r)  r)  V  s  ø€ ÷ ”EÑd¸HÈXÑ;cÓd—E‘EÑd¸HÈXÑ;cÓdÓd€Mß‹3Ñ:©MÓ:�3�3Š3Ñ:©MÓ:×:Ò:¼cÑS`ÓBaÑS`ÈaÄ3ÀqÆ6ÑS`ÑBaÓ>bÐfgÔ>gÙÜ˜Ð4¨tÔ4ˆß‹sÑE¹HÓE�s�sŠsÑE¹HÓE×EÒEÙØQYÑNÐÐ)9ß3ˆCØÐ&Ö&¯s«sô 3Ø#3È-Ñ"Xó3¯s¯sªsô 3Ø#3È-Ñ"Xó3÷ 0ô 0ð &6°cÕ%:�˜cÓ"ó	 4ó	 5ùò Cbs   Á5Ec          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r   rK   r   rM   rC   r%   r   r   r   r   )r   s   "r   r   r   h  s4   € ÷ ñ ØðØ"ðØ;IðØUjðàñr   c               óV  € \        W4      pVf   \        W#4      #  VP                  VP                  V4      V4      p\	        VRV4      p\        T\        4      '       d   \        Yc4      # \        P                  R4       R#   \
         d    \        P                  RRR7        R# i ; i)zCReturn the codec-only request shape used to identify real rewrites.Nrì  zCNeMo Relay request codec baseline failed; ignoring request rewritesTr    zTNeMo Relay request codec returned an unsupported baseline; ignoring request rewrites)
rQ   r'  ÚencodeÚdecoderù   r¤   r¥   r¦   r£   r¶  )rK   rM   rC   r   rE   rz  rì  s   &&$$   r   rN   rN   h  s›   € ô �5Ó#€EØ‚}Ü%Ð&8ÓCÐCðØ—,‘,˜uŸ|™|¨MÓ:¸MÓJˆÜ˜' 9¨gÓ6ˆô �'œ4× Ò Ü% gÓ8Ð8Ü
‡N�NÐiÔjÙøô ô Ü�‰Ð\ÐgkˆÔlÚðús   œ.B Â"B(Â'B(c               ó$   € V ^8„  d   QhRRRRRR/# )r   rì  r%   r   r   r   r   )r   s   "r   r   r   {  s#   € ÷ ñ  Nð Ð>Sð ÐXfñ r   c                óZ   € \        V 4      p\        V4      R 8X  d   \        VR R 4       V# )r   c                óx   € V P                  R 4      R8H  ;'       d     \        V P                  R4      \        4      # r;  )r   r£   r¶  r>  s   &r   rõ   Ú(_provider_request_body.<locals>.<lambda>  s-   € ˜AŸE™E &›M¨ZÑ7×_Ð_¼JÀqÇuÁuÈZÓGXÔZ^Ó<_Ð_r   c                ó.   € R R/\        V R,          4      C# r;  )r¶  r>  s   &r   rõ   rl  €  s   € �v˜zÐA¬T°!°Jµ-Ó-@ÑAr   )r¶  r   r6  )rì  r   rJ   s   && r   r'  r'  {  s1   € Ü�‹=€DÜ�ÓÐ/Ô/ÜØÑ_ÙAô	
ð €Kr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   rK   r   r   r   r   r   )r   s   "r   r   r   …  s"   € ÷ 0ñ 0�#ð 0Ð!6ð 0¸3ñ 0r   c                ó¼   € \         P                  \        V4      4      pVe    \        \        V RR 4      V^,          R 4      MR p\	        V4      '       d   V! 4       # R # )NÚcodecs)r!   r   r   rù   rú   )rK   r   r"   rE   s   &&  r   rQ   rQ   …  sO   € Ü*×.Ñ.¬y¸Ó/BÓC€HØJRÒJ^ŒG”G˜E 8¨TÓ2°H¸QµKÀÔFÐdh€EÜ˜u—o’o‰5‹7Ð/¨4Ð/r   c               ó    € V ^8„  d   QhRRRR/# ©r   rw   r   r   r   )r   s   "r   r   r   ‹  s   € ÷ ?ñ ?�Sð ?˜Sñ ?r   c                óÀ  € V e'   \        V \        \        \        \        34      '       d   V # \        V \
        4      '       d8   V P                  4        UUu/ uF  w  r\        V4      \        V4      bK  	  upp# \        V \        \        \        34      '       d   V  Uu. uF  p\        V4      NK  	  up# \        \        V 4      RR 4      p\        V4      '       d     \        V P                  RRR7      4      #  \#        V 4      P                  4        UUu/ uF3  w  r\        V4      P%                  R4      '       d   K'  \        V4      VbK5  	  pppT'       d   \        T4      # \        T 4      # u uppi u upi   \         d    \        T P                  4       4      u # i ; i  \          d     L¹i ; iu uppi   \        \&        3 d    \        T 4      u # i ; i)NÚ
model_dumprx   F)ÚmodeÚwarningsÚ_)r£   r   rÉ  Úfloatrž   r¶  rà  ry   r4  rZ  Úsetrù   rµ  rú   rt  rî  r¤   Úvarsr  ÚAttributeError)rw   r-  Úitemrt  Ú
attributess   &    r   ry   ry   ‹  sŠ  € Ø‚}œ
 5¬3´´U¼DÐ*A×BÒBØˆÜ�%œ×ÒØ;@¿;¹;¼=ÔI¹=©i¨c”�C“œ) D›/Ò)¹=ÒIÐIÜ�%œ$¤¤sÐ+×,Ò,Ù,1Ó2©E D”	˜$–©EÑ2Ð2Üœ˜e› l°DÓ9€JÜ�
×Òð	ð5Ü  ×!1Ñ!1°vÈÐ!1Ó!NÓOÐOð
Ü6:¸5³k×6GÑ6GÔ6IÔjÑ6I©¨ÔQTÐUXÓQY×QdÑQdÐeh×Qi”n”c˜#“h ’nÑ6Iˆ
Ñj÷ %/Œ9�ZÓ Ð>´C¸³JÐ>ùó% Jùâ2øô ô 5Ü  ×!1Ñ!1Ó!3Ó4Ò4ð5ûäô 	Ùð	üó køÜ”~Ð&ô Ü�5‹zÒðús`   Á E2ÂE8ÃE= Ã<F> Ä$F8ÅF8ÅF> Å=$F$Æ!F' Æ#F$Æ$F' Æ'F5Æ4F5Æ8F> Æ>GÇGc               ó    € V ^8„  d   QhRRRR/# )r   rw   r   r   r%   r   )r   s   "r   r   r   ¤  s   € ÷ 8ñ 8˜#ð 8 .ñ 8r   c                óL   € \        V 4      p\        V\        4      '       d   V# / # )zR``_jsonable`` for values that must be a JSON object; anything else becomes ``{}``.)ry   r£   r¶  )rw   r¸  s   & r   r'   r'   ¤  s#   € ä˜Ó€GÜ  ¬$×/Ò/ˆ7Ð7°RÐ7r   c               ó    € V ^8„  d   QhRRRR/# rr  r   )r   s   "r   r   r   ª  s   € ÷ ñ �cð ˜cñ r   c                ó*  € \        V \        4      '       dA   \        R/ V P                  4        UUu/ uF  w  r\	        V4      \        V4      bK  	  uppB # \        V \        4      '       d   V  Uu. uF  p\        V4      NK  	  up# V # u uppi u upi r)  )r£   r¶  r   rà  r   r¯   r4  )rw   r-  r|  s   &  r   r¯   r¯   ª  sw   € Ü�%œ×ÒÜÑ]ÈeÏkÉkÌmÔ!\ÉmÁÀ¤# c£(¬J°tÓ,<Ò"<ÉmÒ!\Ñ]Ð]Ü�%œ×ÒÙ-2Ó3©U T”
˜4Ö ©UÑ3Ð3Ø€Lùó "]ùâ3s   ± B
Á1Bc               ó$   € V ^8„  d   QhRRRRRR/# )r   rw   r   rg  zCallable[[Any], Any]r   r   r   )r   s   "r   r   r   ²  s'   € ÷ Lñ L˜3ð LÐ(<ð LÈSñ Lr   c                ó@   € \         P                  ! V! V 4      R RR7      # )T)Ú	sort_keysÚ
separators)Ú,Ú:)rx   Údumps)rw   rg  s   &&r   Ú_canonical_jsonr‰  ²  s   € Ü�:Š:‘f˜U“m¨tÀ
ÔKÐKr   c               ó$   € V ^8„  d   QhRRRRRR/# )r   Úleftr   Úrightr   rž   r   )r   s   "r   r   r   ¶  s!   € ÷ ñ �cð  #ð ¨$ñ r   c                ób   €  \        V 4      \        V4      8H  #   \        \        3 d     R # i ; i)F)r‰  rî  rï  )r‹  rŒ  s   &&r   r®   r®   ¶  s3   € ðÜ˜tÓ$¬¸Ó(>Ñ>Ð>øÜ”zÐ"ô Úðús   ‚ ™.­.Ú
loop_errorzBSynchronous Relay LLM execution cannot run on an event-loop threadc               ó$   € V ^8„  d   QhRRRRRR/# )r   rw   r   rŽ  r   r   r   )r   s   "r   r   r   ½  s$   € ÷ ñ ØðØ"ðàñr   c               ó    € \         P                  ! V 4      '       g   V # \        4       '       d   \        V4      h\        P
                  ! V 4      # rj   )ÚinspectÚisawaitabler×   rÕ   r‘   rp   )rw   rŽ  s   &$r   rÊ   rÊ   ½  s=   € ô ×Ò˜u×%Ò%ØˆÜ× Ò Ü˜:Ó&Ð&Ü�;Š;�uÓÐr   )zopenai.chat_completionsÚOpenAIChatCodec)zopenai.responsesÚOpenAIResponsesCodec)zanthropic.messagesÚAnthropicMessagesCodec)Fr¼   Ú
__future__r   r‘   r¾   rT   r‘  rx   ÚloggingÚcollections.abcr   r   Ú	functoolsr   Útypesr   Útypingr   rj  r   Ú	getLoggerr¸   r¥   Ú	frozensetr^  r+  rZ  ÚRelayTurnContextr   Ú_LogicalCallrü   r!   r   r#   r*   r,   r6   rÌ   rÑ   Úexecute_currentÚexecute_current_asyncr×   rç   rþ   r  r  râ   rÖ  r«  rG   r¶   rP  r  r>  r^   r6  rB  rH  rK  rI   r)  rN   r'  rQ   ry   r'   r¯   r‰  r®   rÊ   r   r   r   Ú<module>r¢     sV  ðÙ Eå "ã Û Û Û Û Û ß .Ý Ý !Ý å à	×	Ò	˜8Ó	$€ñ $-Ð.AÐCVÐ-WÓ#XÐ  Ù#,Ð.JÐLaÐ-bÓ#cÐ  Ø�]×3Ñ3°S¸#Ð=Õ>€ð €ð
 ÐFØÐCØÐJðÐ õ7õBõ÷u?ñ u?õp;ð=à!ð=àEIð=àlq÷=ð$=à!ð=àEIð=àlq÷=ð  €Ø%Ð õð%àDHð%ð &+ð%ð jn÷%õPõ6ôi1�x •}ô i1ðX	 
€ð )¨&Ð2BÀJÐPaÐcnÐoÐ ÷H"ñ H"õV$ð.07ØLPð07Ønrð07à&*ð07àhlð07ð #÷07õf\ð
ØCGð
à $ð
àHLð
ð #÷
õ(GõõB_õõmð
 -Ð.@ÐBTÐVgÐhÐ õõ;õ$õ&õ0õ?õ28õð @I÷ LõðØ%i÷ñ r   