+
    5mj                    n    ^ RI Ht ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHtHt  ! R R4      tR# )	    )annotationsN)datetime)Account)GrokOAuthAuthErrorGrokOAuthErrorGrokOAuthSessionGrokOAuthTransportError)AccountSnapshotHealthStatusc                  @    ] tR t^tRtRR R llt]R R l4       tRtR# )	GrokHealthClientu   Health + monthly billing usage for Grok accounts.

Maps monthly used/limit → secondary_used_pct only (no 5h/primary window).
c               $    V ^8  d   QhRRRRRR/# )   accountr   timeout_secsfloatreturnr
    )formats   "\/home/user/overdeck-private-tests/workstation-ai-broad/modules/systray/grok_health_client.py__annotate__GrokHealthClient.__annotate__   s!     (
 (
W (
E (
_ (
    c           	     	    \         P                   ! 4       pVP                  R ,          pVP                  4       '       g   \        \        P
                  RRVRR7      # \        WBR7      p VP                  4       pT P                  T4      w  rx\        \        P                  RTRTTR7      #   \         d"    \        \        P
                  RRTRR7      u # \        \        \        3 d"    \        \        P                  RRTRR7      u # i ; i)z	auth.jsonNzmissing auth.json)statusprimary_used_pctsecondary_used_pct
checked_atdetail)r   zauthentication requiredzbilling unavailable)r   r   r   primary_reset_atsecondary_reset_atr   )timeaccount_homeis_filer
   r   BROKENr   get_billingr   r	   r   OSErrorUNKNOWN_parse_billingOK)	selfr   r   r   	auth_pathsessionbillingpercentreset_ats	   &&&      r   fetchGrokHealthClient.fetch   s   YY[
((;6	  """#**!%#'%*  #9H	))+G$ !//8??!&!'!
 	
% " 	"#**!%#'%0  (A 	"#++!%#'%, 	s   *B, ,)DD+DDc                    V ^8  d   QhRRRR/# )r   payloaddictr   ztuple[int | None, float | None]r   )r   s   "r   r   r   <   s     ! ! !)H !r   c                	B   V P                  R 4      p\        V\        4      '       g   R	# VP                  R4      pVP                  R4      p\        V\        4      '       d   VP                  R4      MRp\        V\        4      '       d   VP                  R4      MRpRp\        V\        \        34      '       dl   \        V\        \        34      '       dP   V^ 8  dI   \        \        ^d\        ^ \        R\	        V4      ,          \	        V4      ,          4      4      4      4      pVP                  R4      pRp\        V\        4      '       d6    \        P                  ! VP                  RR4      4      P                  4       pVf   RpWh3#   \         d    Rp Li ; i)
configNusedmonthlyLimitvalg      Y@billingPeriodEndZz+00:00)NN)get
isinstancer5   intr   minmaxroundstrr   fromisoformatreplace	timestamp
ValueError)	r4   r7   used_obj	limit_objr8   limitr/   	reset_rawr0   s	   &        r   r)   GrokHealthClient._parse_billing;   sM   X&&$''::f%JJ~.	&04&@&@x||E"d(29d(C(C	e$"dS%L))je.M.MRWZ[R[#c3q%d0CeEl0R*S#TUVGJJ12	!%i%% #11)2C2CC2RS]]_ H  	    s   4F FFr   N)g      $@)	__name__
__module____qualname____firstlineno____doc__r1   staticmethodr)   __static_attributes__r   r   r   r   r      s!    
(
T ! !r   r   )
__future__r   r"   r   account_registryr   
grok_oauthr   r   r   r	   health_clientr
   r   r   r   r   r   <module>rX      s&    "   $ d d 7E! E!r   