+
    kHàj  ã                   ó–   € R t ^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 Rt ! R R]
4      t]! R	RR
RRR]RRR7	      t]! ]4       R# )z!Actual Computer provider profile.N)ÚAny)Úurlparse)Úregister_provider)ÚProviderProfilezhttps://api.actual.inc/v1c                   ó�   a a€ ] tR t^t oRtV3R lR ltV3R lR ltRR/V3R lR	 lltR
RRRRR/V3R lV 3R llltRt	Vt
V ;t# )ÚActualProfilez~Actual Computer: hosted at api.actual.inc; local (offline-mode client)
inference opted into via model.base_url in config.yaml.c                ó<   <€ V ^8„  d   QhRS[ RS[S[S[ 3,          /# )é   ÚcontextÚreturn)r   ÚdictÚstr)ÚformatÚ__classdict__s   "€ÚL/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/actual/__init__.pyÚ__annotate__ÚActualProfile.__annotate__   s#   ø€ ÷ 9ñ 9±Cð 9¹DÁÁcÀ½Nñ 9ó    c                óü  € \        VP                  R 4      ;'       g    V P                  ;'       g    R4      p \        V4      P                  ;'       g    RP                  4       P                  R4      p\        P                  R8w  g   TR8w  d   / # \        ;QJ d    R R
 4       F  '       g   K   RM	  RM! R R
 4       4      '       d   / # ^ RIHp T! 4       pT'       d   R	T/# / #   \         d    / u # i ; i)Úbase_urlÚ Ú.Údarwinzapi.actual.incc              3   óN   "  € T F  p\         P                  ! V4      x € K  	  R # 5i)N)ÚosÚgetenv)Ú.0Úkeys   & r   Ú	<genexpr>Ú;ActualProfile.build_client_kwargs_extras.<locals>.<genexpr>   s%   é € ð 
ñ�ô �IŠI�c�NˆNóùs   ‚#%TF)Úcertifi_bundle_pathÚssl_ca_cert)ÚHERMES_CA_BUNDLEÚSSL_CERT_FILEÚREQUESTS_CA_BUNDLEÚCURL_CA_BUNDLE)r   Úgetr   r   ÚhostnameÚlowerÚrstripÚ
ValueErrorÚsysÚplatformÚanyÚagent.ssl_verifyr    )Úselfr
   r   r'   r    Úbundles   &,    r   Úbuild_client_kwargs_extrasÚ(ActualProfile.build_client_kwargs_extras   sä   € Ü�w—{‘{ :Ó.×EÐE°$·-±-×EÐEÀ2ÓFˆð	Ü  Ó*×3Ñ3×9Ð9°r×@Ñ@ÓB×IÑIÈ#ÓNˆHô �<‰<˜8Ô# xÐ3CÔ'CØˆIß‹3ñ 
ñó
�3�3Š3ñ 
ñó
÷ 
ò 
ð ˆIÝ8ñ %Ó&ˆß*0�˜vÐ&Ð8°bÐ8øô' ô 	ØŠIð	ús   ºC+ Á C+ Ã+C;Ã:C;c                óV   <€ V ^8„  d   QhRS[ R,          RS[S[ R3,          R,          /# )r	   ÚmodelNr   .)r   Útuple)r   r   s   "€r   r   r   +   s-   ø€ ÷ $ñ $±°tµð $ÁÁcÈ3ÀhÅÐRVÕ@Vñ $r   c                ó   € ^ RI Hp V# )é    )ÚACTUAL_RELAY_EFFORTS)Úagent.reasoning_effortr8   )r/   r4   r8   s   && r   Úsupported_reasoning_effortsÚ)ActualProfile.supported_reasoning_efforts+   s   € Ý?à#Ð#r   Úreasoning_configNc          
      ó|   <€ V ^8„  d   QhRS[ R,          RS[RS[S[ S[S[3,          S[ S[S[3,          3,          /# )r	   r<   Nr
   r   )r   r   r5   r   )r   r   s   "€r   r   r   0   sH   ø€ ÷ \ñ \Ù#'¨$¥;ð\ÙBEð\á	‰t‘C™�H�~™t¡C© H�~Ð-Õ	.ñ\r   c               ó~  € \        V\        4      '       g   / / 3# ^ RIHp \	        VP                  R4      ;'       g    R4      P                  4       P                  4       R8H  pVP                  R4      RJd   V'       d   RRR	//R
R/3# V P                  VP                  R4      4      ;'       g    RpV! WRR7      # )r7   )Úthinking_toggle_extrasÚeffortr   ÚnoneÚenabledFÚthinkingÚtypeÚdisabledÚreasoning_effortr4   T)Úalways_emit_toggle© )	Ú
isinstancer   r9   r?   r   r&   Ústripr(   r:   )r/   r<   r
   r?   Úeffort_noneÚ	supporteds   &$,   r   Úbuild_api_kwargs_extrasÚ%ActualProfile.build_api_kwargs_extras0   s¶   € ô Ð*¬D×1Ò1Ø�r�6ˆMÝAô Ð*×.Ñ.¨xÓ8×>Ð>¸BÓ?×EÑEÓG×MÑMÓOÐSYÑYˆØ×Ñ 	Ó*°%Ó7¿KØ ¨Ð 4Ð5Ð8JÈFÐ7SÐSÐSØ×4Ñ4°W·[±[ÀÓ5IÓJ×PÐPÈbˆ	Ù%Ð&6ÐVZÔ[Ð[r   Úapi_keyr   Útimeoutg       @c          	      ól   <€ V ^8„  d   QhRS[ R,          RS[ R,          RS[RS[S[ ,          R,          /# )r	   rO   Nr   rP   r   )r   ÚfloatÚlist)r   r   s   "€r   r   r   ?   sL   ø€ ÷ Yñ Yñ �t•ðYñ ˜•*ð	Yñ
 ðYñ 
‰c��TÕ	ñYr   c               ót   <€ ^ RI HpHp T! T;'       g    V! R4      R,          4      p\        SV `  WVR7      # )zOUse the selected route, then config.yaml, then the legacy environment override.)Únormalize_actual_base_urlÚ$resolve_api_key_provider_credentialsÚactualr   )rO   r   rP   )Úhermes_cli.authrU   rV   ÚsuperÚfetch_models)r/   rO   r   rP   rU   rV   Ú	__class__s   &$$$  €r   rZ   ÚActualProfile.fetch_models?   sB   ø€ ÷	
ñ
 -Ø×RÐRÑ<¸XÓFÀzÕRó
ˆô ‰wÑ#¨GÐPWÐ#ÓXÐXr   rH   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r1   r:   rM   rZ   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r[   r   s   @@r   r   r      sf   ù‡ € ñ?÷9ð 9÷2$ð $ð
\Ø15÷\ò \ðYð #ðYð  $ð	Yð
 ÷Y÷ Yõ Yr   r   rW   zActual ComputerzsActual Computer - hosted inference via api.actual.inc, or local offline inference via model.base_url in config.yamlzhttps://actual.incrO   Úchat_completions)	ÚnameÚaliasesÚdisplay_nameÚdescriptionÚ
signup_urlÚenv_varsr   Ú	auth_typeÚapi_mode)zactual-computerÚactualcomputerÚaci)ÚACTUAL_API_KEY)ra   r   r+   Útypingr   Úurllib.parser   Ú	providersr   Úproviders.baser   ÚDEFAULT_ACTUAL_BASE_URLr   rW   rH   r   r   Ú<module>rv      sd   ðÙ 'ã 	Û 
Ý Ý !å 'Ý *à5Ð ôAY�Oô AYñH 
Ø	Ø8Ø"ð:à#Ø Ø$ØØô
€ñ �&Ö r   