+
    5mj^                       ^ RI Ht ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHtHt ^ RIHtHt Rt0 RFmtRGt0 RHmt  ! R	 R
]!4      t"]! RR7       ! R R4      4       t#]! RR7       ! R R4      4       t$]! RR7       ! R R4      4       t%]! RR7       ! R R4      4       t&R R lt'R R lt(R R lt)RR/R R llt*R R lt+R  R! lt,R"t-R#t.R$]-R%]./R& R' llt/R( R) lt0R* R+ lt1R, R- lt2R. R/ lt3R0 R1 lt4R2 R3 lt5R4 R5 lt6R6 R7 lt7 ! R8 R9]Pp                  Pr                  4      t:R: R; lt;R<R=/R> R? llt<R<R=/R@ RA llt=R<R=/RB RC llt>RR/RD RE llt?R# )I    )annotationsN)	dataclass)UTCdatetime)Path)AccountAuthorityBindingAuthorityMode)AccountSnapshotHealthStatuszauthority_endpoints.jsonc                      ] tR t^5tRtR# )AuthorityConfigurationError N)__name__
__module____qualname____firstlineno____static_attributes__r       Z/home/user/overdeck-private-tests/workstation-ai-broad/modules/systray/authority_client.pyr   r   5   s    r   r   T)frozenc                  ,    ] tR t^9t$ R]R&   R]R&   RtR# )AuthorityEndpointstrnameoriginr   Nr   r   r   r   __annotations__r   r   r   r   r   r   9   s    
IKr   r   c                  D    ] tR t^?t$ R]R&   R]R&   R]R&   RtR]R&   R	tR# )
GatewayStatusr   statedetailfloat
checked_atNz
int | Nonegrant_expires_at_msr   )r   r   r   r   r   r%   r   r   r   r   r    r    ?   s    JK&**r   r    c                  @    ] tR t^Gt$ R]R&   R]R&   R]R&   R]R&   RtR	# )
AuthorityDataPlaner   responses_url	proxy_keyintr%   r    sanitized_statusr   Nr   r   r   r   r'   r'   G   s    N##r   r'   c                  J    ] tR t^Ot$ R]R&   R]R&   R]R&   R]R&   R	]R
&   RtR# )AuthorityLaunchr   
executableztuple[str, ...]argvdict[str, str]environmentr   gateway_homer    r+   r   Nr   r   r   r   r-   r-   O   s    O
##r   r-   c                    V ^8  d   QhRRRR/# )   valuer   returnr   )formats   "r   __annotate__r8   X   s     B B B Br   c                v    \         P                  ! V P                  R 4      4      P                  4       R,          # )utf-8:N   N)hashlibsha256encode	hexdigestr5   s   &r   _fingerprintrA   X   s(    >>%,,w/0::<SAAr   c               (    V ^8  d   QhRRRRRRRR/# )	r4   pathr   bodyr   moder*   r6   Noner   )r7   s   "r   r8   r8   \   s(     / / /C /s /t /r   c                   V P                   P                  R R RR7       \        P                  ! RV P                   R2V P                   R7      w  r4\        V4      p \        P                  ! W24       \        P                  ! VRRR7      ;_uu_ 4       pVP                  V4       VP                  4        \        P                  ! VP                  4       4       RRR4       \        P                  ! WP4       \        P                  ! V P                   \        P                  \        P                   ,          4      p \        P                  ! V4       \        P"                  ! V4        VP%                  R R	7       R#   + '       g   i     L; i  \        P"                  ! T4       i ; i  TP%                  R R	7       i ; i)
T  parentsexist_okrE   .prefixdirwr:   )encodingN)
missing_ok)parentmkdirtempfilemkstempr   r   osfchmodfdopenwriteflushfsyncfilenoreplaceopenO_RDONLYO_DIRECTORYcloseunlink)rC   rD   rE   fd	temporarytemporary_pathhandledirectory_fds   &&&     r   _atomic_writeri   \   s"   KKdT>$$a		{!,<$++NMB)_N/
		"YYr311VLLLLNHHV]]_% 2 	

>(wwt{{BKK"..,HI	#HH\"HH\". 21 HH\".s>   7F, AE>A"F, =F F, >F		F, F))F, ,G c                    V ^8  d   QhRRRR/# )r4   sourcer0   r6   r   )r7   s   "r   r8   r8   p   s      > n r   c                    V P                  4        UUu/ uF1  w  rV\        9  g   K  VP                  \        4      '       d   K/  WbK3  	  upp# u uppi N)items_PROVIDER_ENV_NAMES
startswith_PROVIDER_ENV_PREFIXES)rk   r   r5   s   &  r   _sanitized_environmentrr   p   sR     "<<>)KD** 	  67 	)  s   AAAinherited_environmentc               (    V ^8  d   QhRRRRRRRR/# )	r4   base_dirr   toolr   rs   dict[str, str] | Noner6   r0   r   )r7   s   "r   r8   r8   y   s0      
 1	
 r   c               B   VR	9  d   \        R4      hV R,          V,          p\        V/ 4       \        \        Vf   \        P
                  MT4      4      p\        V4      VR&   VR8X  d&   \        V4      VR&   \        VR,          4      VR&   V# \        V4      VR&   V# )
claudecodexGateway: migration requiredzcredentialless-info-homesHOME
CODEX_HOMEsqliteCODEX_SQLITE_HOMECLAUDE_CONFIG_DIR>   rz   ry   )r   _materialize_immutable_homerr   dictrW   environr   )ru   rv   rs   rootr1   s   &&$  r   %build_credentialless_info_environmentr   y   s     &&)*GHH11D8Db)(08RZZ>STK d)Kw$'IL!+.th+?'(  ,/t9'(r   c                    V ^8  d   QhRRRR/# )r4   rC   r   r6   r*   r   )r7   s   "r   r8   r8      s       # r   c                   \         P                  ! R \         P                  \         P                  ,          \         P                  ,          \         P
                  ,          4      p V P                  P                  R,           F  p\         P                  ! V\         P                  \         P                  ,          \         P                  ,          \         P
                  ,          VR7      p\         P                  ! V4       Tp\         P                  ! V4      p\        P                  ! VP                  4      ^,          '       g   K  \        R4      h	  \         P                  ! V4      P                  ^ \         P                  ! 4       09  d   \        R4      hV#   \          d    \         P                  ! T4       h i ; i)/:   NNdir_fdr{   )rW   r_   r`   ra   	O_CLOEXEC
O_NOFOLLOWrS   partsrb   fstatstatS_IMODEst_moder   st_uidgeteuid	Exception)rC   
descriptor	componentnext_descriptorinfos   &    r   _open_protected_parentr      s%   
bnn$r||3bmmCJ**2..I ggbnn,r||;bmmK!O
 HHZ (J88J'D||DLL)E1112OPP / 88J&&q"**,.??-.KLL 
s   &CF 	AF #G c               (    V ^8  d   QhRRRRRRRR/# )	r4   rC   r   	max_bytesr*   privateboolr6   r   r   )r7   s   "r   r8   r8      s(     )  ) t ) 3 )  ) # ) r   c          
        V P                  4       '       d   V P                  R9   d   \        R4      hRpRp \        V 4      p\        P
                  ! V P                  \        P                  \        P                  ,          \        P                  ,          VR7      p\        P                  ! V4      p\        P                  ! VP                  4      '       d6   VP                  ^8w  g%   VP                  \        P                  ! 4       8w  d   \        R4      hV'       d   ^?M^p\        P                   ! VP                  4      V,          '       d   \        R4      hVP"                  ^ 8:  g   VP"                  V8  d   \        R4      h\%        4       p\'        V4      V8:  dU   \        P(                  ! V\+        RV^,           \'        V4      ,
          4      4      pV'       g   MVP-                  V4       Kd  V'       d   \'        V4      V8  d   \        R4      h\/        V4      P1                  R4      V^ 8  d   \        P2                  ! V4       V^ 8  d   \        P2                  ! V4       # #   \         d    h \4        \6        3 d   p	\        R4      T	hRp	?	ii ; i  T^ 8  d   \        P2                  ! T4       T^ 8  d   \        P2                  ! T4       i i ; i) r{   r      r:   N>   r   rL   ..)is_absoluter   r   r   rW   r_   r`   r   r   r   r   S_ISREGr   st_nlinkr   r   r   st_size	bytearraylenreadminextendbytesdecoderb   OSErrorUnicodeDecodeError)
rC   r   r   	parent_fdfile_fdr   forbidden_moderD   chunkexcs
   &$$       r   _read_protected_textr      s   o!=)*GHHIG$ *40	''IIKK",,&6

 xx T\\**}}!{{bjjl*-.KLL")u<<%66-.KLL<<1y 8-.KLL{$i9$GGGSy1}s4y/H%IJEKKs4y9,-.KLLT{!!'* a<HHW>HHY  ' '( R)*GHcQR a<HHW>HHY s=   C)I1 "0I1 B-I1 4I1 1JJJJJ! !=Kzsubrouter-primaryzhttp://127.0.0.1:31415authority_namer   c               (    V ^8  d   QhRRRRRRRR/# )r4   ru   r   r   r   r   r6   r   r   )r7   s   "r   r8   r8      s2     #5 #5#5 #5 	#5
 #5r   c          	        V\         8w  g   V\        8w  d   \        R4      hV \        ,          p/ pVP	                  4       '       d    \
        P                  ! \        VRRR7      4      p\        T\        4      '       d   \        T4      R08w  d   \        R4      hTP                  R4      p\        T\        4      '       g   \        R4      h\        T4      pTP                  T4      pTe   TRT/8w  d   \        R4      hRV/WA&   \        V\
        P                  ! RV/^RR	7      R
,           R4       \        W4      #   \        \
        P                  3 d   p\        R4      ThRp?ii ; i)zEnsure the workstation-local Subrouter endpoint is registered for Systray.

Systray is the account registry. This file contains only non-secret endpoint
metadata and never provider credentials or proxy grants.
r{      Fr   r   Nauthoritiesr   Tindent	sort_keys
  )LOCAL_AUTHORITY_NAMELOCAL_AUTHORITY_ORIGINr   _ENDPOINTS_FILEexistsjsonloadsr   JSONDecodeError
isinstancer   setgetri   dumpsr   )	ru   r   r   rC   r   payloadr   rawexistings	   &$$      r   ensure_local_authority_endpointr      sN    --;Q1Q)*GHHo%D%'K{{}}	Vjj!5dfV[!\]G '4((CL]O,K-.KLLkk-(#t$$-.KLL3i??>2H60B$B-.KLL#+V"4K

M;/TJTQ
 ^44# ,T-A-AB 	V-.KLRUU	Vs   "E   E,E''E,c               $    V ^8  d   QhRRRRRR/# )r4   ru   r   bindingr	   r6   r   r   )r7   s   "r   r8   r8      s(     )I )I )I8H )IM^ )Ir   c                l   V \         ,          p \        P                  ! \        VR RR7      4      p\        T\        4      '       d   \        T4      R08w  d   \	        R4      hTR,          p\        T\        4      '       g   \	        R4      hTP                  TP                  4      p\        T\        4      '       d   \        T4      R08w  d   \	        R4      hTR,          p\        T\        4      '       g   \	        R4      h\        P                  P                  T4      p TP                  p	TP"                  R9  g/   TP$                  '       d   TP&                  f   TP(                  e   \	        R4      hTP"                  R8X  d^   TP$                  P+                  R4      P-                  4       p
 \.        P0                  ! T
4      P2                  pT'       g   \	        R4      hTP4                  '       g$   TP6                  '       g   TP8                  R9  d   \	        R4      h\;        TP                  TP+                  R
4      4      #   \         d    h \        P
                   d   p\	        R4      ThRp?ii ; i  \          d   p\	        R4      ThRp?ii ; i  \          d	    T
R	8H  p Li ; i)r   Fr   r{   Nr   r   httprL   	localhostr   >   r   https>   r   r   )r   r   r   r   r   r   r   r   r   r   r   r   urllibparseurlsplitport
ValueErrorschemehostnameusernamepasswordrstriplower	ipaddress
ip_addressis_loopbackqueryfragmentrC   r   )ru   r   rC   r   r   r   recordr   parsed_portr   loopbacks   &&          r   resolve_authority_endpointr      s6   o%DR**1$&RWXY
 gt$$G(G)*GHH-(Kk4(()*GHH__W334Ffd##s6{xj'@)*GHHHFfc"")*GHH\\""6*FR 	..??&??&)*GHH}}??))#.446	/ ++H5AAH -.KLL|||v&++Y*F)*GHHW33V]]35GHHK '  R)*GHcQR   R)*GHcQR  	/;.H	/sG   "I $J 5 J  I>,I>-I99I>JJJ J32J3c                    V ^8  d   QhRRRR/# )r4   rC   r   r6   r   r   )r7   s   "r   r8   r8   *  s      $ 3 r   c                    \        V R RR7      P                  4       pV'       d;   \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      '       d   \        R4      hV# )r   Tr   c              3  @   "   T F  qP                  4       x  K  	  R # 5irm   )isspace).0	characters   & r   	<genexpr>"_read_proxy_key.<locals>.<genexpr>,  s     CU	))++Us   Fr{   )r   stripanyr   )rC   r5   s   & r   _read_proxy_keyr   *  sM     tDJJLECCCUCCCCCUCCC)*GHHLr   c               (    V ^8  d   QhRRRRRRRR/# )r4   endpointr   r   r	   rv   r   r6   r   )r7   s   "r   r8   r8   1  s+     2 2+ 26F 2c 2VY 2r   c                    \         P                  P                  VP                  R R7      pVR8X  d   RMR pV P                   RV V 2# )r   saferz   z/v1/r/)r   r   quoteroute_idr   )r   r   rv   routesuffixs   &&&  r   _route_baser  1  sH    LLw//b9EgoU2Fooc%11r   c               (    V ^8  d   QhRRRRRRRR/# )r4   ru   r   accountr   r   r	   r6   r   )r7   s   "r   r8   r8   7  s0     @ @D @7 @=M @RV @r   c                    \        VP                   R VP                   R VP                   24      pV R,          VP                  ,          V,          # ) zgateway-homes)rA   tray_keyr   r   rv   )ru   r  r   identitys   &&& r   _gateway_rootr  7  sK    w//073I3I2J"WM]M]L^_`Ho%4x??r   c               $    V ^8  d   QhRRRRRR/# )r4   r   r   expectedr0   r6   rF   r   )r7   s   "r   r8   r8   <  s&     E E E ED Er   c                   R
p \         P                  ! V \         P                  \         P                  ,          \         P                  ,          \         P
                  ,          4      p \         P                  ! T4      p\        P                  ! TP                  4      '       dJ   TP                  \         P                  ! 4       8w  g&   \        P                  ! TP                  4      R8w  d   \        R4      h \         P                   ! T4      p\#        T4      \#        T4      8w  d   \        R4      hT EF%  pT\$        9   d   \        R4      hR
p \         P                  ! T\         P                  \         P                  ,          \         P
                  ,          TR7      p\         P                  ! T4      p\        P&                  ! TP                  4      '       dl   TP(                  ^8w  g[   TP                  \         P                  ! 4       8w  g7   \        P                  ! TP                  4      R8w  g   TP*                  R8  d   \        R4      h\-        4       p	\/        T	4      R8:  dN   \         P0                  ! T\3        RR\/        T	4      ,
          4      4      p
T
'       g   MT	P5                  T
4       K]  \/        T	4      R8  d   \        R4      h\7        T	4      P9                  R	4      p T^ 8  d   \         P<                  ! T4       YT,          8w  d   \        R4      h \>        P@                  ! T4      p\E        T4      '       g   EK  \        R4      h	  \         P<                  ! T4       R#   \         d     R# \         d   p\        R4      ThRp?ii ; i  \         d   p\        R4      ThRp?ii ; i  \         d    h \        \:        3 d   p\        R4      ThRp?ii ; i  T^ 8  d   \         P<                  ! T4       i i ; i  \>        PB                   d     EK  i ; i  \         P<                  ! T4       i ; i)r   Nr{   rH   r   r   r   r   i  r:   r   )#rW   r_   r`   ra   r   r   FileNotFoundErrorr   r   r   r   S_ISDIRr   r   r   r   listdirr   _FORBIDDEN_AUTH_FILESr   r   r   r   r   r   r   r   r   r   r   rb   r   r   r   _contains_token_material)r   r
  root_fdr   	root_infonamesr   r   r   
body_bytesr   rD   r5   s   &&           r   _validate_gateway_rootr  <  s7   GR''KK"..(2<<7"--G
:HHW%	Y..//2::</||I--.%7-.KLL	VJJw'E u:X&-.KLLD,,12OPPG&''KK",,.>"
 xx(T\\22}}){{bjjl2||DLL1U:||f,56STT&[
*o/GGGSvJ7O-PQE %%e,z?V+56STTZ(//8 a<HHW%~%12OPP

4( (..12OPPU X 	}   R)*GHcQR  	V-.KLRUU	V@ / /0 Z12OPVYYZ a<HHW%   '' 
 	s   A$M8 );P3 %AP3 :N$ AP3 FO35P3 )P?P3 P3 8N!N!N!NN!$O /N;;O  P3 O0O0O++O00O33 PP3 P0+P3 /P00P3 3Qc                    V ^8  d   QhRRRR/# )r4   r5   objectr6   r   r   )r7   s   "r   r8   r8     s     	 	F 	t 	r   c                f   \        V \        4      '       dQ   \        ;QJ d*    R  V P                  4        4       F  '       g   K   R# 	  R# ! R  V P                  4        4       4      # \        V \        4      '       d5   \        ;QJ d    R V  4       F  '       g   K   R# 	  R# ! R V  4       4      # R# )c              3     a"   T Fm  w  op\        S\        4      ;'       dC    \        ;QJ d    V3R  lR 4       F  '       g   K   RM	  RM! V3R  lR 4       4      ;'       g    \        V4      x  Ko  	  R# 5i)c              3  H   <"   T F  qSP                  4       9   x  K  	  R # 5irm   )r   )r   termkeys   & r   r   5_contains_token_material.<locals>.<genexpr>.<genexpr>  s     )uJt$#))+*=Jts   "TFN)tokensecretr   refresh)r   r   r   r  )r   nestedr  s   & @r   r   +_contains_token_material.<locals>.<genexpr>  sa      
  -V S!uucc)uJt)uccc)uJt)u&u 0 0'/0,s   A8A8A8A8$A8TFc              3  8   "   T F  p\        V4      x  K  	  R # 5irm   )r  )r   items   & r   r   r"    s     Ded+D11es   )r   r   r   rn   listr@   s   &r   r  r    s    %s 
  %{{}
ss 	
s 	
s 
  %{{}
 
 	

 %sDeDssDsDsDeDDDr   c               $    V ^8  d   QhRRRRRR/# )r4   r   r   filesr0   r6   r   )r7   s   "r   r8   r8     s!     ( (d (> (d (r   c                    V P                   p VP                  R R RR7       VP                  4       p\
        P                  ! TP                  4      '       gx   \
        P                  ! TP                  4      '       dR   TP                  \        P                  ! 4       8w  g.   \
        P                  ! TP                  4      ^,          '       d   \	        R4      hT P                  4       '       g   T P                  4       '       d   \        Y4       T # \!        \"        P$                  ! RT P&                   R2TR7      4      p \        P(                  ! TR4       TP+                  4        F  w  rg\-        YV,          TR4       K  	  \        YQ4        \        P.                  ! YP4       \        P2                  ! T\        P4                  \        P6                  ,          \        P8                  ,          4      p \        P:                  ! T4       \        P<                  ! T4        TP                  4       '       d   \>        P@                  ! T4       \        Y4       T #   \         d   p\	        R4      ThRp?ii ; i  \0         d    \        Y4        Li ; i  \        P<                  ! T4       i ; i  \         d    h \         d   p\	        R4      ThRp?ii ; i  TP                  4       '       d   \>        P@                  ! T4       i i ; i)TrH   rI   r{   NrL   rM   r   )!rS   rT   lstatr   r   r   S_ISLNKr   r  r   rW   r   r   r   
is_symlinkr  r   rU   mkdtempr   chmodrn   ri   renameFileExistsErrorr_   r`   ra   r   r\   rb   shutilrmtree)	r   r'  rS   parent_infor   stagingr   rD   rh   s	   &&       r   r   r     s*   [[FRTDu=lln 	[(())||K//00-<<++,u44)*GHH{{}}))t+8##Qtyyk+;HIG#
% ++-JD'.$6 (w.	0IIg$ wwvr{{R^^'Cbll'RS	#HH\"HH\" >>MM'"4'KG  R)*GHcQR(  	0"4/	0 HH\"&  R)*GHcQR >>MM'" s   $I AJ4 I= (AJ4 8J J4 I:)I55I:=JJ4 JJ4 J11J4 4K	K
KKK /Lc          
     ,    V ^8  d   QhRRRRRRRRR	R/# )
r4   ru   r   r  r   r   r   r   r	   r6   r   )r7   s   "r   r8   r8     s:     4 444  4 	4
 
4r   c                   \        WV4      pR 0pVP                  R8X  d   VP                  R4       R^RVP                  R\	        VP
                  4      RVP                  R\        V4      RR	/pR \        P                  ! V^R
R7      R,           /pVP                  R8X  d4   \        W#VP                  4      pR\        P                  ! V4       R2VR&   \        WG4      # )zgateway-manifest.jsonrz   zconfig.tomlschema	authorityroute_fingerprintproviderallowed_filesprovider_auth_files_presentFTr   r   zXmodel_provider = "subrouter"

[model_providers.subrouter]
name = "Subrouter"
base_url = z8
env_key = "SUBROUTER_PROXY_KEY"
wire_api = "responses"
)r  rv   addr   rA   r   r9  sortedr   r   r  r   )	ru   r  r   r   r   allowedmanifestr'  base_urls	   &&&&     r   materialize_gateway_homerA    s     G4D&'G||wM"!W++\'*:*:;G$$%uH 	 HQ$!ORV!VE ||wx',,? **X./ 0'' 	m 't33r   c                  "    ] tR tRtR R ltRtR# )_NoRedirecti  c               $    V ^8  d   QhRRRRRR/# )r4   _argsr  _kwargsr6   rF   r   )r7   s   "r   r8   _NoRedirect.__annotate__  s!      v & T r   c                	    R # rm   r   )selfrE  rF  s   &*,r   redirect_request_NoRedirect.redirect_request  s    r   r   N)r   r   r   r   rJ  r   r   r   r   rC  rC    s     r   rC  c          
     ,    V ^8  d   QhRRRRRRRRR	R
/# )r4   r   r   r   r	   r  r   timeout_secsr#   r6   r    r   )r7   s   "r   r8   r8     sA     Q QQQ 
Q
 Q Qr   c               "   \         P                  P                  VP                  R R7      pV P                   RV R2p\         P
                  P                  VRRV 2RR/RR	7      p\         P
                  P                  \         P
                  P                  / 4      \        4       4      p VP                  WcR
7      ;_uu_ 4       pVP                  ^8w  g   VP                  4       V8w  d   \        R4      hVP                  R4      p	\        V	4      R8  d   \        R4      h RRR4        \(        P*                  ! X	4      p0 R'mp\/        T\0        4      '       d   \3        T4      T8w  d   \        R4      hTR,          pTR,          pRRRRRRRR/p\/        T\4        4      '       d   Y9  g   TR,          TP6                  8w  gy   TR,          \9        TP                  4      8w  gX   \/        TR,          \4        4      '       d;   \:        P<                  ! RTR,          4      e   TR,          RJg   YT,          8w  d   \        R4      hTR,          p\/        T\4        4      '       g   \        R4      h \>        P@                  ! TPC                  RR 4      4      pTPF                  e<   TPI                  \J        4      PM                  4       \N        PN                  ! 4       8:  d   \        R4      hRR!RR"RR#RR$/T,          p\Q        TPI                  \J        4      PM                  4       R%,          4      p\S        TT\N        PN                  ! 4       TR&7      #   + '       g   i     EL;; i  \         d    h \         \         P"                  P$                  \         P"                  P&                  3 d   p
\        R4      T
hRp
?
ii ; i  \(        P,                   d   p
\        R4      T
hRp
?
ii ; i  \D         d   p
\        R4      T
hRp
?
ii ; i)(r   r   r   z/_subrouter/statusAuthorizationzBearer Acceptzapplication/jsonGET)headersmethod)timeoutGateway: unavailablei@  i @  Nr!   r9  r8  grant_fingerprintgrant_expires_atgrant_revokedaccount_availabilityready	availablezmigration-requiredunavailableblocked	ambiguous	exhaustedz[0-9a-f]{12}FZz+00:00zGateway: readyr{   zGateway: repair requiredzGateway: quota exhaustedi  )r!   r"   r$   r%   >   r!   r9  rX  rW  rV  r8  rY  )*r   r   r   r   r   requestRequestbuild_openerProxyHandlerrC  r_   statusgeturlr   r   r   r   errorURLError	HTTPErrorr   r   r   r   r   r   r   r9  rA   re	fullmatchr   fromisoformatr^   r   tzinfo
astimezoner   	timestamptimer*   r    )r   r   r  rM  r   urlra  openerresponserD   r   r   expected_fieldsr!   availabilityexpected_availabilityexpiry
expires_atr"   	expiry_mss   &&&$                r   _fetch_gateway_statusrz    s    LLw//b9E__S'9
:Cnn$$ GC5/8=OP % G
 ^^((##B'F
K[[[778#%):c)A12HII==(D4y6!12HII "	 8K**T"O gt$$G(G)*@AAGE12Lm;[	 uc""-:'"2"22&'<8H8H+II'"56<<<<1D)EFN?#5077)*@AA'(Ffc"")*@AAK++FNN3,IJ
  J$9$9#$>$H$H$Jdiik$Y)*@AA!;-/	
 F J))#.88:TABIFtyy{PY y 877 ' V\\**FLL,B,BC K)*@AsJK  K)*@AsJKJ  K)*@AsJKsn   -M, AM&M, /O	 8&O2 M)	#M, )M, ,AO4O5OO	O/O**O/2P=P		PrM        $@c               (    V ^8  d   QhRRRRRRRR/# )	r4   ru   r   r   r	   rM  r#   r6   r    r   )r7   s   "r   r8   r8   6  s0       	
 r   c               `    \        W4      p\        VP                  4      p\        VVVVR 7      # )rM  )r   r   proxy_grant_refrz  )ru   r   rM  r   r  s   &&$  r   fetch_gateway_statusr  6  s7     *(<H
'11
2C !	 r   c               (    V ^8  d   QhRRRRRRRR/# )	r4   ru   r   r  r   rM  r#   r6   r   r   )r7   s   "r   r8   r8   F  s0       	
 r   c          
        VP                   pVf   \        R4      h \        WVR7      pTP                  R8X  d   \        P                  M\        P                  p\        TR R TP                  TP                  R7      #   \         dE   p\        \        P
                  R R \        P                  ! 4       \        T4      R7      u R p?# R p?ii ; i)Nr{   r~  )re  primary_used_pctsecondary_used_pctr$   r"   rZ  )authority_bindingr   r  r   r   UNKNOWNrp  r   r!   OKBROKENr$   r"   )ru   r  rM  r   re  r   healths   &&$    r   gateway_health_snapshotr  F  s     ''G)*GHH	
%hlS !' 7\__\=P=PF$$}}  ' 
''!#yy{s8
 	

s   A? ?C
9C	C	Cc               (    V ^8  d   QhRRRRRRRR/# )	r4   ru   r   r   r	   rM  r#   r6   r'   r   )r7   s   "r   r8   r8   c  s0       	
 r   c               t   VP                   \        P                  8w  g$   VP                  '       g   VP                  R 8w  d   \        R4      h\        W4      p\        VP                  4      p\        W1WBR7      pVP                  f   \        R4      h\        \        W1R 4       R2VVP                  VR7      # )rz   r{   r~  rU  z
/responses)r(   r)   r%   r+   )rE   r
   	SUBROUTERquiescedr9  r   r   r   r  rz  r%   r'   r  )ru   r   rM  r   r  re  s   &&$   r   resolve_authority_data_planer  c  s     	///w&)*GHH)(<H
'11
2C"8cUF!!))*@AA$X@AL"66	 r   c               0    V ^8  d   QhRRRRRRRRR	R
RR/# )r4   ru   r   r  r   rv   r   r/   z	list[str]rs   rw   r6   r-   r   )r7   s   "r   r8   r8   }  sD     * *** * 	* 1* *r   c               
   VP                   pVe    VP                  \        P                  8X  d   \	        R4      hW!P
                  8w  g   VP                  V8w  d   \	        R4      h\        W4      p\        VP                  4      p\        WeVRR7      p\        WWe4      p	\        \        Vf   \        P                  MT4      4      p
\!        \"        P$                  ! 4       4      pWR&   W*R&   \!        V	4      V
R&   \'        WeV4      p\)        V4      pVR8X  d)   \!        V	4      V
R&   \!        V	R	,          4      V
R
&   WzR&   M)VR8X  d   \!        V	4      V
R&   WR&   WzR&   M\	        R4      h\+        V\-        V4      V
V	VR7      # )Nr{   r{  r~  SUBROUTER_SESSION_IDSUBROUTER_PROVIDERr|   rz   r}   r~   r   SUBROUTER_PROXY_KEYry   r   ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN)r.   r/   r1   r2   r+   )r  rE   r
   NATIVEr   rv   r9  r   r   r  rz  rA  rr   r   rW   r   r   uuiduuid4r  r%  r-   tuple)ru   r  rv   r/   rs   r   r   r  re  r2   r1   
session_idr@  	forwardeds   &&&&$         r   build_authority_launchr  }  sz    ''G',,-*>*>>)*GHH||w//47)*GHH)(<H
'11
2C"8cMF+HxQL(08RZZ>STK TZZ\"J*4&'(,$%l+K8d3HT
Iw$'$5L!+.|h/F+G'(-0)*		+.|+<'(,4().1*+)*GHH9! r   >   	auth.jsonclaude.json.credentials.json)	
ANTHROPIC_AWS_AZURE_CHATGPT_CLAUDE_CODEX_GOOGLE_OPENAI_
SUBROUTER_>   NO_PROXYno_proxy	ALL_PROXY	all_proxy
HTTP_PROXY
http_proxyHTTPS_PROXYhttps_proxy)@
__future__r   r<   r   r   rW   rj  r0  r   rU   rp  urllib.errorr   urllib.parseurllib.requestr  dataclassesr   r   r   pathlibr   account_registryr   r	   r
   health_clientr   r   r   r  rq   ro   RuntimeErrorr   r   r    r'   r-   rA   ri   rr   r   r   r   r   r   r   r   r   r  r  r  r  r   rA  ra  HTTPRedirectHandlerrC  rz  r  r  r  r  r   r   r   <module>r     s   "    	 	         ! "  E E 7 - 

 	 	, 	 $  
 $+ + + $$ $ $ $$ $ $B/( 48	,2) X + 1 #5 /#5 )	#5L)IX2@
EP	(V4D&..44 
Qh 	  	: 	4* 48* *r   