+
    kHàjÈ  ã                  óþ   € R t ^ RIH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 RtRt]! R	R	R	R
R]RRRR/R7      tR R lt ! R R]4      t]! ]! RRR
RR]RRRR]R]]
! ]4      R7      4       R# )aö  Solstice provider profile: a user's own per-user-quota Gemini subscription, signed in with OAuth.

Pre-release (``hidden=True``): no picker, setup list or accounts tab offers it until the user signs in
by name (``hermes auth add solstice``); after that it lists like any signed-in provider. Login and
token refresh go through the generic PKCE plugin flow with a Nous-portal broker as the token endpoint
(``auth.py``); inference goes straight to Google on the per-user-quota methods (``transport.py``).
)Úannotations)Úreplace)ÚAny)ÚOAuthPKCEConfigÚpkce_auth_handlerÚpkce_refresh_credential)Úregister_provider)ÚProviderProfile)Úbroker_token_requestÚdiscover_clientz1https://generativelanguage.googleapis.com/v1alphaÚ ÚSolsticez/gemini-auth/callbackÚaccess_typeÚofflineÚpromptÚconsent)Ú	client_idÚauthorize_urlÚ	token_urlÚlabelÚredirect_pathÚtoken_requestÚextra_authorize_paramsc               ó$   € V ^8„  d   QhRRRRRR/# )é   ÚactionÚstrÚargsr   ÚreturnÚbool© )Úformats   "ÚN/home/ubuntu/.hermes/hermes-agent/plugins/model-providers/solstice/__init__.pyÚ__annotate__r#   &   s!   € ÷ 0ñ 0˜#ð 0 Sð 0¨Tñ 0ó    c           	     óÐ   € \         pV R 8X  dJ   \        4       p\        \         VR,          VR,          \        VR,          P	                  4       4      R7      p\        V4      ! W4      # )Úaddr   r   Úscope)r   r   Úscopes)Ú	_BASE_CFGr   r   ÚtupleÚsplitr   )r   r   ÚcfgÚclients   &&  r"   Ú_auth_handlerr.   &   sV   € Ü
€CØ�„Ü Ó"ˆÜ”i¨6°+Õ+>ÈfÐUdÕNeÜ" 6¨'¥?×#8Ñ#8Ó#:Ó;ô=ˆä˜SÔ! &Ó/Ð/r$   c                  ó.   € ] tR t^/tR R ltR R ltRtR# )ÚSolsticeProfilec               ó    € V ^8„  d   QhRRRR/# )r   Úclient_kwargsr   r   r    )r!   s   "r"   r#   ÚSolsticeProfile.__annotate__0   s   € ÷ Zñ Z¨Sð Z°Sñ Zr$   c           
     	ó†   € ^RI Hp 0 RmpT! R/ VP                  4        UUu/ uF  w  rEWC9   g   K  WEbK  	  uppB # u uppi )é   )ÚSolsticeClient>   Úapi_keyÚtimeoutÚbase_urlÚhttp_clientÚdefault_headersr    )Ú	transportr6   Úitems)Úselfr2   r6   ÚallowedÚkÚvs   &,    r"   Úcreate_clientÚSolsticeProfile.create_client0   s?   € Ý-âVˆÙÑY°-×2EÑ2EÔ2GÔ XÑ2G©$¨!È1É<¤ ¢Ñ2GÒ XÑYÐYùÓ Xs   ¢
=±=c               ó    € V ^8„  d   QhRRRR/# )r   Úmodelz
str | Noner   z
int | Noner    )r!   s   "r"   r#   r3   6   s   € ÷ ñ  Jð °:ñ r$   c                	ó   € R # )Nr    )r>   rE   s   &&r"   Úget_max_tokensÚSolsticeProfile.get_max_tokens6   s   € Ùr$   r    N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rB   rG   Ú__static_attributes__r    r$   r"   r0   r0   /   s   † õZ÷ñ r$   r0   Úsolsticez1Solstice (your own per-user quota, OAuth sign-in)Úoauth_externalTFzgemini-flash-lite-latest)ÚnameÚaliasesÚdisplay_nameÚdescriptionÚ	auth_typer9   ÚhiddenÚsupports_health_checkÚsupports_model_listingÚsupports_visionÚfallback_modelsÚdefault_aux_modelÚauth_handlerÚrefresh_credentialN)zgemini-3.1-prozgemini-4-argonzgemini-3.8-flashzgemini-3.5-flash-lite)zsolstice-oauth)Ú__doc__Ú
__future__r   Údataclassesr   Útypingr   Ú!hermes_cli.auth_oauth_pkce_pluginr   r   r   Ú	providersr   Úproviders.baser	   Úauthr
   r   ÚINFERENCE_BASE_URLÚFALLBACK_MODELSr)   r.   r0   r    r$   r"   Ú<module>rg      s©   ðñõ #å Ý ç iÑ iÝ 'Ý *ç 7ð IÐ ð
 d€ñ Ø ¨b¸
Ø)Ð9Mà)¨9°hÀ	ÐJô	€	õ0ô�oô ñ ‘/Ø	Ð0¸zØCØÐ);ÀDØ¸ÈtØ#Ð7QØÑ3JÈ9Ó3Uôö r$   