+
    5mjM  c                     ^ RI Ht ^ RIt^ RIHu Ht ^ RIt^ RI	t	^ RI
H
t
 ^ RIHt ^ RIt^ RIt^ RIt^ RIHtHt ^ RIH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 ltR R ltR R ltR R ltR R lt R5R 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/ R0 lt)R1 R2 lt*R3 R4 lt+R# )6    )annotationsN)datetime)Path)AccountSnapshotHealthStatus)HealthSnapshotStorec          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )   tmp_pathr   monkeypatchpytest.MonkeyPatchslugstrsnapshotr   returnNone )formats   "`/home/user/overdeck-private-tests/workstation-ai-broad2/modules/systray/tests/test_statusline.py__annotate__r      sA     	` 	`	`#	` 	` 		`
 
	`    c                    V R ,          pVP                  RR7       VP                  R\        V4      4       \        VR,          ^ R7      P	                  W#/4       R# )runtimeT)exist_okSYSTRAY_RUNTIME_DIRzhealth_cache.json)stale_after_sN)mkdirsetenvr   r   write)r
   r   r   r   r   s   &&&& r   write_codex_healthr      sO     "GMM4M ,c'l;"55QGMMtN^_r   c               $    V ^8  d   QhRRRRRR/# r	   r
   r   r   r   r   r   r   )r   s   "r   r   r      s$     6 66!36	6r   c                  a	 V R ,          o	S	R,          P                  RR7       S	R,          R,          P                  \        P                  ! RR/4      RR7       VP	                  \
        P                  R \        V	3R	 l4      4       \
        P                  pR
RR//q2! V4      pRqTV8H  qf'       g   \        P                  ! RV3RWE34      RR\        P                  ! 4       9   g!   \        P                  ! \
        4      '       d   \        P                  ! \
        4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p;re\
        P                  p/ q2! V4      pRqTV8H  qf'       g   \        P                  ! RV3RWE34      RR\        P                  ! 4       9   g!   \        P                  ! \
        4      '       d   \        P                  ! \
        4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                   ! V4      4      hR;p;p;p;reR# )homez.claudeTparentszsettings.jsoneffortLevellowutf-8encodingc                   < S# Nr   )cls	fake_homes   &r   <lambda>Stest_configured_effort_prefers_live_payload_over_settings_default.<locals>.<lambda>$   s    r   effortlevelxhighpy0
statuslinepy2py4py6py9assert %(py11)spy11N==)zX%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s._configured_effort
}(%(py4)s)
} == %(py9)s)r   
write_textjsondumpssetattrr5   r   classmethod_configured_effort
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)
r
   r   @py_assert1@py_assert3@py_assert5@py_assert8@py_assert7@py_format10@py_format12r.   s
   &&       @r   Atest_configured_effort_prefers_live_payload_over_settings_defaultrS      s    6!I!!$!/_,88

M5)*W 9  
=R1ST((S(Wg4F)GS()GHSGSGSSSSSHSSSSSS:SSSS:SSS(SSS)GSSSHSSSGSSSSSSSS((55(,5555555,555555:5555:555(555555,555555555555r   c                    V ^8  d   QhRRRR/# r	   r
   r   r   r   r   )r   s   "r   r   r   *   s       QU r   c                ,   V R ,          R,          R,          pVP                  RR7       \        P                  pRRR^RR	/R
R^%RR///pRRR\        V4      /qB! VV4      qU'       g   RRR\        P
                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;rE\        P                  pRqqV,          qP                  qU! 4       q! V	4      p
RR^RR	/R
R^%RR//qV8H  q'       Egu   \        P                  ! R!V3R"W34      RR\        P
                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRR V/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p	;p
;rR# )#claude-accounts	multidealCLAUDE_HOMETr$   rate_limits	five_hourused_percentage	resets_at鐕e	seven_day eSYSTRAY_CLAUDE_ACCOUNT_SLUGSYSTRAY_CLAUDE_ACCOUNT_HOME^assert %(py8)s
{%(py8)s = %(py2)s
{%(py2)s = %(py0)s.ingest_claude_usage
}(%(py4)s, %(py6)s)
}r4   r5   r6   r7   r8   py8Nrate-limits-cache.jsonpercentr?   py3account_homepy5py10py12py15assert %(py17)spy17r<   z%(py12)s
{%(py12)s = %(py2)s
{%(py2)s = %(py0)s.loads
}(%(py10)s
{%(py10)s = %(py8)s
{%(py8)s = (%(py3)s / %(py5)s).read_text
}()
})
} == %(py15)sr   r5   ingest_claude_usager   rF   rG   rD   rH   rI   rJ   rK   r?   loads	read_textrE   r
   rh   rL   rM   rN   rP   @py_format9@py_assert4@py_assert6@py_assert9@py_assert11@py_assert14@py_assert13@py_format16@py_format18s   &              r   9test_ingest_claude_usage_writes_account_local_live_limitsr~   *   s   //+=MLt$)) /[-P/[-P	
 *;)3|+<	
)	
	
      :   :   )   	
  	
          :: &> &>> II IK :KL i[-@i[-@Q  Q    L     4   4   :     |   |   &>   I   K   L    Q         r   c                    V ^8  d   QhRRRR/# rU   r   )r   s   "r   r   r   C   s      PT Y] r   c                   V R ,          R,          R,          pVP                  RR7       \        P                  pRRR^R^c///pR	\        V4      /qB! VV4      qU'       g   R
RR\        P
                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\        \        P                  ! V4      4      hR;p;p;rE\        P                  pRqqV,          qP                  qU! 4       q! V	4      p
RR^R^c//qV8H  q'       Egu   \        P                  ! RV3RW34      RR\        P
                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      RR\        P
                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V	4      R\        P                  ! V
4      R\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p;p;p;p	;p
;rR# )rW   rX   rY   Tr$   rZ   r[   r\   r]   CLAUDE_CONFIG_DIRrc   r4   r5   r6   r7   r8   rd   Nre   rf   r?   rg   rh   ri   rj   rk   rl   rm   rn   r<   ro   rp   rt   s   &              r   Atest_ingest_claude_usage_derives_account_from_existing_config_dirr   C   s   //+=MLt$)) 	'8"k2&NOP	c,/0)P0      :   :   )   P  0         
 :: &> &>> II IK :KL i["5Q  Q    L     4   4   :     |   |   &>   I   K   L    Q         r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r   S   s$     20 2020!320	20r   c                &   V R ,          pV R,          R,          R,          pVP                  RR7       RRRR	R
/RRR/RR^*//p\        P                  ! VRRR\        V4      /VRR7      p\	        V VR\        \        P                  ^
^RRRR7      4       VP                  pRqvV8H  q'       g   \        P                  ! R-V3R.Wg34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      /,          p	RRV	/,          p
\        \        P                   ! V
4      4      hR;p;r\        P"                  ! WBRR7      pR
qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR"qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR#qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR$qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR%qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR&qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR'qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR(qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR)qV9  q'       g   \        P                  ! R1V3R2W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR*qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR+qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR,qV9   q'       g   \        P                  ! R/V3R0W34      R\        P                  ! V4      RR \        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR /,          pR!RV/,          p	\        \        P                   ! V	4      4      hR;rR# )3stateaccountsrafa
CODEX_HOMETr$   
session_id	session-amodeldisplay_nameGPT-5.6 Terra	workspacecurrent_dir/home/user/Projects/overdeckcontext_windowr\   SYSTRAY_CODEX_ACCOUNT_SLUGSYSTRAY_CODEX_ACCOUNT_HOME   !{Anow   d%{A   p}Aprimary_reset_atsecondary_reset_at
checked_atr4   pinr6   ri   assert %(py7)spy7Npy1rg   renderedassert %(py5)szctx:z42%z
codex:rafa5h:z10%7d:20%rZ   z[01;32mGPT-5.6 Terraz[00;35m5h:z[00;32m10%[00mr<   z4%(py2)s
{%(py2)s = %(py0)s.account_slug
} == %(py5)sinz%(py1)s in %(py3)snot inz%(py1)s not in %(py3)s)r   r5   pin_sessionr   r   r   r   OKaccount_slugrD   rE   rF   rG   rH   rI   rJ   rK   render)r
   r   	state_dirrh   payloadr   rL   rv   rM   @py_format6@py_format8r   @py_assert0@py_assert2@py_format4s   &&             r   Gtest_session_pin_survives_default_switch_and_renders_cached_codex_usager   S   s    7"Ij(61L@Lt$k./2m%CD,b1	G 
 
 (&(#l*;	
 	C OO,.&	
	 %v%v%%%%%%%%%%%3%%%%3%%%%%%v%%%%%%%%  IH&h&&&&&?&&&?&&&&&&h&&&&h&&&&&&&&X66XXH55HH#8#####<###<######8####8########H55HHH55HHH55HHH55HH((((((=(((=((((((((((((((((((%111111%111%111111111111111111'x''''''''''''''x''''x''''''''#/x/////#///#//////x////x////////r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r      s$      !3	r   c                   V R ,          pV R,          R,          R,          pVP                  RR7       \        P                  ! V\        P                  ! RRVR4      4       \	        V VR\        \        P                  R^R	RR
7      4       \        P                  ! RR/VRR7      pVP                  4       ^,          pRqfV9  qw'       g   \        P                  ! RV3RWe34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p	\!        \        P"                  ! V	4      4      hR;rgRqfV9   qw'       g   \        P                  ! RV3RWe34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p	\!        \        P"                  ! V	4      4      hR;rgRqfV9   qw'       g   \        P                  ! RV3RWe34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p	\!        \        P"                  ! V	4      4      hR;rgR# )r   r   r   r   Tr$   r   r   Nr   r   r   r   r   r   r   rg   
codex_liner   ri   r   r   r   r   r   r   )r   r5   write_session_pin
SessionPinr   r   r   r   r   
splitlinesrD   rE   rI   rF   rG   rH   rJ   rK   )
r
   r   r   rh   r   r   r   r   r   r   s
   &&        r   .test_render_omits_unavailable_five_hour_windowr      s    7"Ij(61L@Lt$  k6<Q OO.&	
	   ,!<i_]H$$&q)J"
"""""5"""5""""""
""""
""""""""J55JJJ55JJr   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r      s)     &N &N&N!3&N	&Nr   c                ^	  a V R ,          pV R,          R,          R,          oSP                  RR7       RR/p\        P                  ! V\        P                  ! RRV R	,          R
4      4       VP	                  \        RV3R l4       \        V VR\        \        P                  ^^RRRR7      4       \        P                  ! W2R/ R7      pVP                  4       ^,          qUP                  pRqv! V4      q'       g   RR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p	\        \        P                  ! V	4      4      hR;p;p;rxRqTP                  4       ^,          qV
9   qf'       gy   \        P                   ! R'V3R(WZ34      R\        P                  ! V4      R\        P                  ! V
4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;p;rjRqUV9  qf'       g   \        P                   ! R)V3R*WT34      R\        P                  ! V4      RR\"        P$                  ! 4       9   g   \        P&                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;rV\        P                  ! RRSR4      p\        P(                  pRpV! W'4      qV8H  pV'       Eg   \        P                   ! R+V3R,W34      RR \"        P$                  ! 4       9   g!   \        P&                  ! \        4      '       d   \        P                  ! \        4      MR R!\        P                  ! V4      RR"\"        P$                  ! 4       9   g   \        P&                  ! V4      '       d   \        P                  ! V4      MR"R\        P                  ! V4      R\        P                  ! V4      R#R$\"        P$                  ! 4       9   g   \        P&                  ! V4      '       d   \        P                  ! V4      MR$/,          pR%R&V/,          p\        \        P                  ! V4      4      hR;p;p;ppR# )-r   r   rX   r   Tr$   r   r   new-accountmissingr   _default_pinc                6   < \         P                  ! V R SV4      # rX   )r5   r   )r   r   current_homes   &&r   r/   Mtest_render_replaces_missing_pin_with_current_valid_default.<locals>.<lambda>   s    
 5 5j+|]` ar   r   r     @!{Ar   r   environmentzcodex:multidealzLassert %(py7)s
{%(py7)s = %(py3)s
{%(py3)s = %(py1)s.startswith
}(%(py5)s)
}r   rg   ri   r   Nz4%r7   assert %(py6)sr8   r   r   r4   r5   r6   r   r9   replacementr:   r;   r   z%(py1)s in %(py4)sr   r   r<   z_%(py7)s
{%(py7)s = %(py2)s
{%(py2)s = %(py0)s.read_session_pin
}(%(py3)s, %(py5)s)
} == %(py9)s)r   r5   r   r   rA   r   r   r   r   r   r   
startswithrD   rI   rJ   rK   rE   rF   rG   rH   read_session_pin)r
   r   r   r   r   r   r   rv   rw   r   rM   @py_format5@py_format7r   r   r   rL   rO   rQ   rR   r   s   &&                  @r   ;test_render_replaces_missing_pin_with_current_valid_defaultr      s    7"Ij(;6ELt$[)G  k=(Y:NP_` a
 OO,.&	
	   VXYH #A..A/@A./@AAAAAA#AAA.AAA/@AAAAAAAAAAA+&&(++++++++4+++4++++++++++++((((((=(((=((((((((((((((((((''[,K &&M+M&y>M+MMMMM>MMMMMM:MMMM:MMM&MMMMMMyMMMMyMMM+MMM>MMMMMM+MMMM+MMMMMMMMMr   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r      s$     ) ))!3)	)r   c           	        V R ,          pRR/p\         P                  ! V\         P                  ! RRV R,          R4      4       VP                  \         RR 4       \         P                  ! W2R/ R	7      pVP                  4       ^,          pR
qeV8H  qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvRqUV9  qw'       g   \        P                  ! RV3RWT34      R\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          p
RRV
/,          p\        \        P                  ! V4      4      hR;rWR# )r   r   r   r   r   r   r   c                    R # r,   r   )r   r   s   &&r   r/   Jtest_render_hides_missing_pin_slug_when_no_valid_default.<locals>.<lambda>   s    Dr   r   r   z*codex:unavailable (pinned account missing)r   r7   r   r8   Nrg   r   r   ri   r<   z%(py1)s == %(py4)sr   r   )r5   r   r   rA   r   r   rD   rE   rI   rJ   rK   rF   rG   rH   )r
   r   r   r   r   r   rM   r   r   r   r   r   s   &&          r   8test_render_hides_missing_pin_slug_when_no_valid_defaultr      s*    7"I[)G  k=(Y:NP_` 
N4PQ  VXYH #S'SS'SSSSSS#SSS#SSS'SSSSSSSSS((((((=(((=((((((((((((((((((r   c                    V ^8  d   QhRRRR/# rU   r   )r   s   "r   r   r      s     F F$ F4 Fr   c                   V R ,          pV R,          R,          R,          pVP                  RR7       RR/p\        P                  ! VRRR	\        V4      /VR
R7      pRqTVJqf'       g   \        P
                  ! RV3RWE34      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      /,          pRRV/,          p\        \        P                  ! V4      4      hR;re\        P                  pRq! W4      qV8H  q'       Eg   \        P
                  ! RV3RW34      RR\        P                  ! 4       9   g!   \        P                  ! \        4      '       d   \        P                  ! \        4      MRR\        P                  ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V	4      R\        P                  ! V
4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\        \        P                  ! V4      4      hR;p;p	;rR# )r   r   r   r   Tr$   r   r   r   r   r   r   Nr4   r   rg   r   ri   r5   r6   r   r   r9   r:   r;   )is not)z%(py0)s is not %(py3)sr<   r   )r   r5   start_sessionr   rD   rE   rF   rG   rH   rI   rJ   rK   r   )r
   r   rh   r   r   r   rL   r   r   rv   rw   rO   rQ   rR   s   &             r   +test_start_session_pins_the_running_accountr      s   7"Ij(61L@Lt$[)G

"
"	%v/KSQ]M^_	C d?333d&&E+E&y>E#EEEEE>EEEEEE:EEEE:EEE&EEEEEEyEEEEyEEE+EEE>EEEEEE#EEEE#EEEEEEEEEr   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r      s)     J! J!J!!3J!	J!r   c                   V R ,          pV R,          R,          R,          pVP                  RR7       V R,          p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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/.//.pVP                  RP                  R V 4       4      R R!7       \        P                  ! V\        P
                  ! R"RVR#4      4       R$R"R%\        V4      R&R'R(/R)R*R+/R,R-^*//pVP                  \        R.R/ 4       \        P                  ! WbR0R17      pVP                  4       ^ ,          pVP                  p	R2q! V
4      q'       g   R3R4R5\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR5R6\        P                  ! V	4      R7\        P                  ! V
4      R8\        P                  ! V4      /,          p\!        \        P"                  ! V4      4      hR9;p	;rR:qV9   q'       g   \        P$                  ! RLV3RMW34      R;\        P                  ! V4      R<R5\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR5/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rR?qV9  q'       g   \        P$                  ! RNV3ROW34      R;\        P                  ! V4      R<R5\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR5/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;r\&        P(                  ! R@4      P+                  RA4      pRBV RC2qV9   q'       g   \        P$                  ! RLV3RMW34      R;\        P                  ! V4      R<R5\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR5/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rRDqV9   q'       g   \        P$                  ! RLV3RMW34      R;\        P                  ! V4      R<R5\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR5/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rREqV9   q'       g   \        P$                  ! RLV3RMW34      R;\        P                  ! V4      R<R5\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR5/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rRFqV9  q'       g   \        P$                  ! RNV3ROW34      R;\        P                  ! V4      R<RG\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRG/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rRHqV9  q'       g   \        P$                  ! RNV3ROW34      R;\        P                  ! V4      R<RG\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRG/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rRIqV9  q'       g   \        P$                  ! RNV3ROW34      R;\        P                  ! V4      R<RG\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRG/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rRJqV9  q'       g   \        P$                  ! RNV3ROW34      R;\        P                  ! V4      R<RG\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRG/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rRKqV9  q'       g   \        P$                  ! RNV3ROW34      R;\        P                  ! V4      R<RG\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRG/,          pR=R>V/,          p\!        \        P"                  ! V4      4      hR9;rR9# )Pr   r   r   r   Tr$   session.jsonltypeuserpromptIdzprompt-1	timestamp2024-03-09T16:00:00Zmessagecontentfirst	assistantz2024-03-09T16:00:01Ztextanswerz2024-03-09T16:00:02Zzduplicate journal recordtoolUseResultokz2024-03-09T16:30:00Ztool_resultzprompt-2z2024-03-09T17:01:00Zsecondz2024-03-09T17:01:06Z c              3  \   "   T F"  p\         P                  ! V4      R ,           x  K$  	  R# 5i)
N)r?   r@   ).0records   & r   	<genexpr>Ttest_render_restores_provider_neutral_session_metadata_and_colors.<locals>.<genexpr>  s!     !R'$**V"4t";";'s   *,r(   r)   r   r   r   transcript_pathr   r   r   r   r   r   r   r\   rC   c                    R # )medr   r   s   &r   r/   Stest_render_restores_provider_neutral_session_metadata_and_colors.<locals>.<lambda>)  s    %r   g   %{Ar   z@[01;32mGPT-5.6 Terra(med)[00m:[01;34m~/Projects/overdeck[00mLassert %(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.startswith
}(%(py4)s)
}r4   
first_liner6   r7   r8   Nz[00;36m2t[00mr   rg   r   ri   [FT]g  t%{A%H:%M:%S %d/%mz[00;33m[00mz[02m1h1m[00mz[00;33mctx:[01;33m42%[00m$r   zFT:z I:z O:z C:r   r   r   r   )r   r>   joinr5   r   r   r   rA   r   r   r   rF   rG   rD   rH   rI   rJ   rK   rE   r   fromtimestampstrftime)r
   r   r   rh   
transcriptrecordsr   r   r   rL   rM   rN   r   r   r   r   r   expected_activitys   &&                r   Atest_render_restores_provider_neutral_session_metadata_and_colorsr     s    7"Ij(61L@Lt$O+J F
/	7+		
 K/	VVVX$F#GH	
 F
/	#=>		
 FdD\/	V]$;#<=		
 F
/	8,		
 K/	VVVX$F#GH	
=#GH "''!R'!RR]de  k6<Q
 	k3z?./2m%CD,b1G 
$8:OP  IH$$&q)J   	1 	1      :   :       	1         #0j00000"000"000000j0000j00000000######6###6################## ..?HHIYZ*+84B
BBBBB4BBB4BBBBBB
BBBB
BBBBBBBB!/Z/////!///!//////Z////Z////////2@j@@@@@2@@@2@@@@@@j@@@@j@@@@@@@@h33hh      5   5                        5   5                        5   5                        5   5                  r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r   ?  s$     "  " " !3" 	" r   c                   V R ,          pV R,          pVP                  4        V R,          pVP                  R\        P                  ! RRRRRR	R
//4      ,           R,           RR7       \        P
                  ! V\        P                  ! RRVR4      4       VP                  \        RR 4       \        P                  ! RRR\        V4      /VRR7      p\        P                  ! R4      P                  R4      pRV R2qwV9   q'       g   \        P                  ! R"V3R#Wu34      R\        P                  ! V4      RR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\'        \        P(                  ! V
4      4      hR;rxR qwV9  q'       g   \        P                  ! R$V3R%Wu34      R\        P                  ! V4      RR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\'        \        P(                  ! V
4      4      hR;rxR!qwV9  q'       g   \        P                  ! R$V3R%Wu34      R\        P                  ! V4      RR\         P"                  ! 4       9   g   \        P$                  ! V4      '       d   \        P                  ! V4      MR/,          p	RRV	/,          p
\'        \        P(                  ! V
4      4      hR;rxR# )&r   r   r   z	not-json
r   r   r   r   r   r   r   r   r(   r)   r   r   r   rC   c                    R # )r   r   r   s   &r   r/   [test_render_marks_old_activity_red_and_ignores_malformed_transcript_lines.<locals>.<lambda>V  s    "r   r   r   g  @d%{Ar   r  z[01;31mr  r   rg   r   r   ri   Nr  0tr   r   r   r   )r   r>   r?   r@   r5   r   r   rA   r   r   r   r  r  rD   rE   rI   rF   rG   rH   rJ   rK   )r
   r   r   rh   r  r   r
  r   r   r   r   s   &&         r   Itest_render_marks_old_activity_red_and_ignores_malformed_transcript_linesr  ?  s(    7"Il*LO+J
**3Ix0
	
 	      k6<Q 
$8:LM  	{$5s:GH !..?HHIYZ*+84@@@@@@4@@@4@@@@@@@@@@@@@@@@@@!!!!!!6!!!6!!!!!!!!!!!!!!!!!!x44xxr   c                    V ^8  d   QhRRRR/# rU   r   )r   s   "r   r   r   d  s      -  -t  -X\  -r   c           
        V R ,          pRR/p/ pR F0  pV R,          V,          R,          pVP                  RR7       WSV&   K2  	  \        P                  ! VR	RR
\        VR,          4      /VRR7      p\        P                  ! VR	RR
\        VR,          4      /VRR7      p\        P                  ! V/ VRR7      pVP                  p	RqV
8H  q'       g   \
        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V	4      R\
        P                  ! V
4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p	;rVP                  p	RqV
8H  q'       g   \
        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V	4      R\
        P                  ! V
4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p	;rVP                  qR,          qV
8H  q'       g   \
        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V	4      R\
        P                  ! V
4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p	;rVP                  p	RqV
8H  q'       g   \
        P                  ! RV3RW34      RR\        P                  ! 4       9   g   \
        P                  ! V4      '       d   \
        P                  ! V4      MRR\
        P                  ! V	4      R\
        P                  ! V
4      /,          pRRV/,          p\        \
        P                  ! V4      4      hR;p	;rR# )r   r   r   rX   zyncr   r   Tr$   r   r   r   r   g   !{Ag   "{Ar4   r   r6   ri   r   r   Nresumed
unlaunched)rX   r  r<   r   )z4%(py2)s
{%(py2)s = %(py0)s.account_home
} == %(py5)s)r   r5   r   r   r   rD   rE   rF   rG   rH   rI   rJ   rK   rh   )r
   r   r   homesr   r#   r   r  r  rL   rv   rM   r   r   s   &             r   @test_session_pin_follows_the_account_the_resumed_session_runs_onr  d  s   7"I[)GE%*$t+l:

4
 d &
 ""(+(#eK.@*A	
 	E $$(&(#eFm*<	
 	G ''YOTJ,,,,,,,,,,,,,5,,,,5,,,,,,,,,,,,,,)6)6)))))))))))7))))7))))))6))))))))0=0=00000000000700007000000=00000000"",f,f,,,,,",,,,,,:,,,,:,,,",,,f,,,,,,,,r   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!      4 s T r   c                X    V R ,          V,          R,          pVP                  RR7       V# )rW   rY   Tr$   )r   )r
   r   rh   s   && r   _claude_account_homer    s.    //$6FLt$r   c                    V ^8  d   QhRRRR/# rU   r   )r   s   "r   r   r     s     & &D &T &r   c                
   V R ,          p\        V 4      pVR,          P                  \        P                  ! RR^RR/RR^,RR//4      RR	7       \        P
                  ! VR,          R"4       \        P                  ! R
R/VRRRR\        V4      /R7      pVP                  4       ^,          pVP                  pRqe! V4      qw'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          p\!        \        P"                  ! V4      4      hR;p;rgRqV9   q'       g   \        P$                  ! R#V
3R$W34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\!        \        P"                  ! V4      4      hR;rRqV9   q'       g   \        P$                  ! R#V
3R$W34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\!        \        P"                  ! V4      4      hR;rRqV9   q'       g   \        P$                  ! R#V
3R$W34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\!        \        P"                  ! V4      4      hR;rR qV9   q'       g   \        P$                  ! R#V
3R$W34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\!        \        P"                  ! V4      4      hR;rR!qV9  q'       g   \        P$                  ! R%V
3R&W34      R\        P                  ! V	4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                  ! V4      MR/,          pRRV/,          p\!        \        P"                  ! V4      4      hR;rR# )'r   re   r[   utilizationr]   r^   r_   r`   r(   r)   r   r   r   ra   rX   rb   r   claude:multideal r   r4   claude_liner6   r7   r8   Nr   r   rg   r   ri   z12%r   z44%stale逇er#  r   r   r   r   )r  r>   r?   r@   osutimer5   r   r   r   r   rF   rG   rD   rH   rI   rJ   rK   rE   )r
   r   rh   r   r   rL   rM   rN   r   r   r   r   r   s   &            r   -test_render_shows_pinned_claude_account_usager&    s   7"I'1L,,88

mRmLmRmL	
  9  HH\446TU  	{#);)3|+<
	H %%'*K!!6"56!"5666666666;6666;666!666"56666666666K55KKK55KKK55KKK55KK%+%%%%%7%%%7%%%%%%+%%%%+%%%%%%%%r   c                    V ^8  d   QhRRRR/# rU   r   )r   s   "r   r   r     s     $ $QU $Z^ $r   c                   \        V 4      pVR ,          P                  \        P                  ! RR^RR//4      RR7       \        P
                  ! VR ,          R4       \        P                  ! RR/V R	,          R
\        P                  ,           ^,           R\        V4      /R7      pVP                  4       ^,          pVP                  pRqT! V4      qf'       g   RRR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MRR\        P                   ! V4      R\        P                   ! V4      R\        P                   ! V4      /,          p\#        \        P$                  ! V4      4      hR;p;rVRqV9   q'       g   \        P&                  ! RV	3RW34      R\        P                   ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MR/,          p
RRV
/,          p\#        \        P$                  ! V4      4      hR;rRqV9   q'       g   \        P&                  ! RV	3RW34      R\        P                   ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MR/,          p
RRV
/,          p\#        \        P$                  ! V4      4      hR;rRqV9  q'       g   \        P&                  ! RV	3R W34      R\        P                   ! V4      RR\        P                  ! 4       9   g   \        P                  ! V4      '       d   \        P                   ! V4      MR/,          p
RRV
/,          p\#        \        P$                  ! V4      4      hR;rR# )!re   r[   rf   r]   r^   r(   r)   r   r   r   r   r   r   r  r   r4   r   r6   r7   r8   Nz7%r   rg   r   ri   r!  r   r"  r   r   r   r   )r  r>   r?   r@   r$  r%  r5   r   STALE_AFTER_SECONDSr   r   r   rF   rG   rD   rH   rI   rJ   rK   rE   )r
   rh   r   r   rL   rM   rN   r   r   r   r   r   s   &           r   Btest_render_derives_claude_account_from_config_dir_and_marks_staler*    sA   '1L,,88

K)Q]!KLMX_ 9  HH\446TU  	{#7j<<<q@(#l*;<	H %%'*K!!6"56!"5666666666;6666;666!666"56666666666;44;;!k!!!!!7!!!7!!!!!!k!!!!k!!!!!!!!######5###5##################r   c                    V ^8  d   QhRRRR/# rU   r   )r   s   "r   r   r     s     P P4 PD Pr   c           	     B   \        V 4      p\        P                  ! R R/V R,          RR\        V4      /R7      p\        P                  ! R R/V R,          R/ R7      pVP	                  4       ^,          pRqTV8H  qf'       gy   \
        P                  ! RV3RWE34      R\
        P                  ! V4      R\
        P                  ! V4      /,          pR	R
V/,          p\        \
        P                  ! V4      4      hR;p;reVP	                  4       ^,          pRqTV8H  qf'       gy   \
        P                  ! RV3RWE34      R\
        P                  ! V4      R\
        P                  ! V4      /,          pR	R
V/,          p\        \
        P                  ! V4      4      hR;p;reR# )r   r   r   r   r   r   z-claude:multideal usage:unavailable (no cache)r   r7   r   r8   Nzclaude:unavailable (no account)r<   r   )
r  r5   r   r   r   rD   rE   rI   rJ   rK   )	r
   rh   without_cachewithout_accountr   rM   r   r   r   s	   &        r   4test_render_reports_missing_claude_cache_and_accountr/    s$   '1L%%	{#7(#l*;<	M !''	{#7	O ##%a([,[[,[[[[[[([[[([[[,[[[[[[[[[%%'*O.OO.OOOOOO*OOO*OOO.OOOOOOOOOr   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r     s#      $ M_ dh r   c                   \        V R 4      pVP                  \        P                  \	        V 4      4       \
        P                  pRR /qC! V4      pR V3qeV8H  qw'       g   \        P                  ! RV3RWV34      RR\        P                  ! 4       9   g!   \        P                  ! \
        4      '       d   \        P                  ! \
        4      MRR\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p	\        \        P                  ! V	4      4      hR
;p;p;p;rvR
# )r  ra   r4   r5   r6   r7   r8   r9   r:   r;   Nr<   )zT%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.claude_account
}(%(py4)s)
} == %(py9)s)r  r   runtime_pathsRUNTIME_DIR_ENVr   r5   claude_accountrD   rE   rF   rG   rH   rI   rJ   rK   )
r
   r   rh   rL   rM   rN   rO   rP   rQ   rR   s
   &&        r   +test_claude_account_resolves_home_from_slugr5    sB   '&9L}44c(mD$$ &CV%L $%LM R  R    M     :   :   $   %L   M    R        r   c                    V ^8  d   QhRRRR/# )r	   r
   r   r   ztuple[Path, dict[str, object]]r   )r   s   "r   r   r     s     2 2d 2'E 2r   c           	         V R ,          pV R,          R,          R,          pVP                  RR7       \        P                  ! V\        P                  ! RRVR4      4       VRR/3# )	r   r   r  r   Tr$   r   r   r   )r   r5   r   r   )r
   r   rh   s   &  r   _pinned_sessionr8    sh    7"Ij(61L@Lt$  k6<Q |[111r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r     s$     7 77!37	7r   c                   \        V 4      w  r#\        V VR \        \        P                  RRRRR7      4       \
        P                  ! W2R/ R7      pVP                  4       ^,          pRqeV8H  qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R\        P                  ! V4      /,          pR	R
V/,          p	\        \        P                  ! V	4      4      hR;p;rv\        V VR \        \        P                  R^8RRR7      4       \
        P                  ! W2R/ R7      p
RqZP                  4       ^,          qeV9   qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R\        P                  ! V4      /,          pR	R
V/,          p	\        \        P                  ! V	4      4      hR;p;rvRqZP                  4       ^,          qeV9  qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R\        P                  ! V4      /,          pR	R
V/,          p	\        \        P                  ! V	4      4      hR;p;rvR# )r  Nr   )r   detail  !{Ar   z&codex:zync usage:unavailable (unknown)r   r7   r   r8      k}Ag   !{Ar   g  !{Az56%unavailabler<   r   r   r   r   z%(py1)s not in %(py4)s)r8  r   r   r   UNKNOWNr5   r   r   rD   rE   rI   rJ   rK   r   )r
   r   r   r   blockedr   rM   r   r   r   healeds   &&         r   >test_render_follows_the_indicator_health_cache_between_rendersrC    s    )2I  $QU	
	 UWXG"N&NN&NNNNNN"NNN"NNN&NNNNNNNNNOO.&	
	 wTVWF*%%'********5***5************6 1 1 3A 66 666666=666=666 666666666r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r     s$     / //!3/	/r   c                   \        V 4      w  r#\        V VR \        \        P                  R^8RRR7      4       \
        P                  ! W2R/ R7      pRqTP                  4       ^,          qeV9   qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p	\        \        P                  ! V	4      4      hR;p;rvR# )r  Nr=  r   r   r   r   r!  r   r7   r   r8   r   r   r8  r   r   r   r   r5   r   r   rD   rE   rI   rJ   rK   
r
   r   r   r   r   r   rM   r   r   r   s
   &&        r   ?test_render_marks_a_health_cache_the_indicator_stopped_updatingrH    s     )2IOO.&	
	   VXYH.))+A........7...7............r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r   $  s)     X XX!3X	Xr   c                   \        V 4      w  r#\        V VR \        \        P                  ^^RR7      4       \
        P                  ! W2R/ R7      pVP                  4       ^,          pRqeV8H  qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R\        P                  ! V4      /,          pRR	V/,          p	\        \        P                  ! V	4      4      hR
;p;rvR
# )rX   r   )r   r<  r   z.codex:zync usage:unavailable (no health cache)r   r7   r   r8   Nr<   r   rF  rG  s
   &&        r   9test_render_reports_an_account_the_health_cache_never_sawrK  $  s     )2IA/J	   VXYH #W'WW'WWWWWW#WWW#WWW'WWWWWWWWWr   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r   4  s$     9 99!39	9r   c                &   \        V 4      w  r#\        V VR \        \        P                  R^dRRR7      4       \
        P                  ! W2R/ R7      pRqTP                  4       ^,          qeV9   qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p	\        \        P                  ! V	4      4      hR;p;rvRqTP                  4       ^,          qeV9  qw'       gy   \        P                  ! RV3RWV34      R\        P                  ! V4      R	\        P                  ! V4      /,          pR
RV/,          p	\        \        P                  ! V	4      4      hR;p;rvR# )r  Nr=  r   r   r<  r   z100%r   r7   r   r8   r>  r   r   r   r?  )r8  r   r   r   r@  r5   r   r   rD   rE   rI   rJ   rK   rG  s
   &&        r   Htest_render_shows_limits_the_indicator_retained_through_an_unknown_proberN  4  s
    )2I  .&	
	   VXYH-((*1--------6---6------------8 3 3 5a 88 888888=888=888 888888888r   c               $    V ^8  d   QhRRRRRR/# r!   r   )r   s   "r   r   r   K  s)     S SS!3S	Sr   c                   \        V 4      w  r#\        V VR \        \        P                  R^dRRRR7      4       \
        P                  ! W2R/ R7      pVP                  4       ^,          pRqeV8H  qw'       gy   \        P                  ! RV3RWV34      R	\        P                  ! V4      R
\        P                  ! V4      /,          pRRV/,          p	\        \        P                  ! V	4      4      hR;p;rvR# )r  Nr=  r   z
signed out)r   r   r;  r<  r   z)codex:zync usage:unavailable (signed out)r   r7   r   r8   r<   r   )r8  r   r   r   BROKENr5   r   r   rD   rE   rI   rJ   rK   rG  s
   &&        r   >test_render_reports_a_broken_account_even_with_retained_limitsrR  K  s     )2I.&	
	   VXYH #R'RR'RRRRRR#RRR#RRR'RRRRRRRRRr   r   ),
__future__r   builtinsrF   _pytest.assertion.rewrite	assertionrewriterD   r?   r$  r   pathlibr   pytestr2  r5   health_clientr   r   health_storer   r   rS   r~   r   r   r   r   r   r   r  r  r  r  r&  r*  r/  r5  r8  rC  rH  rK  rN  rR  r   r   r   <module>r\     s    "    	      7 ,	`62 20j>&NR)"F"J!Z" J -F&B$*P(27D/,X 9.Sr   