
    !<i!:                        d dl Z d dlZd dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZmZmZ d dlmZmZ d dlZd dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZmZ erd dlmZ d dlm Z m!Z! d dl"m#Z# g dZ$d Z% G d de&          Z' G d de&          Z(e G d de&                      Z) ed           G d de)                      Z* ed           G d de)                      Z+ ed           G d de)                      Z, ed           G d de)                      Z- G d  d!e)          Z. ed           G d" d#e)                      Z/ ed           G d$ d%e)                      Z0 ed           G d& d'e)                      Z1 ed           G d( d)e)                      Z2 ed           G d* d+e)                      Z3dS ),    N)CallableSequence)chain)TYPE_CHECKINGAnyLiteralOptionalget_args
get_origin)definefield)get_hint_name)CommandSpec)Group)Token)is_option_likejson_decode_error_verbosifier)Console)ArgumentArgumentCollection)App)CoercionErrorCommandCollisionErrorCycloptsErrorDocstringErrorUnknownCommandErrorMissingArgumentErrorMixedArgumentErrorRepeatArgumentErrorUnknownOptionErrorUnusedCliTokensErrorValidationErrorCombinedShortOptionErrorc                 ^    t          j        |           t          j        |           d         fS )N   )inspectgetsourcefilegetsourcelines)funcs    /Users/kimhansen/Desktop/03 Workspace/ceo-agents/chl-effectiveness/mcp-servers/whoop/.venv/lib/python3.11/site-packages/cyclopts/exceptions.py_get_function_infor+   '   s(     &&(>t(D(DQ(GGG    c                       e Zd ZdZdS )r   zDA command with the same name has already been registered to the app.N__name__
__module____qualname____doc__ r,   r*   r   r   +   s        NNNNr,   r   c                       e Zd ZdZdS )r   zVThe docstring either has a syntax error, or inconsistency with the function signature.Nr.   r3   r,   r*   r   r   2   s        ````r,   r   c                   &   e Zd ZU dZdZedz  ed<   	 dZeed<   	 dZ	e
e         dz  ed<   	 dZe
e         dz  ed<   	 dZedz  ed<   	 dZed	         ed
<   	 dZee         dz  ed<   	 dZed         ed<   	  edd          Zed         ed<   	 d ZdS )r   zRoot exception for runtime errors.

    As CycloptsErrors bubble up the Cyclopts call-stack, more information is added to it.
    NmsgTverboseroot_input_tokensunused_tokenstargetr   argumentcommand_chainr   app)defaultkw_onlyr   consolec                    | j         | j         S g }| j        r|                    t          |           j                   | j        rnt          | j                  \  }}|                    d| d| d           |                    d| j        j         t          j        | j                              | j	        |                    d| j	                    n	 |rd
                    |          dz   S dS )NzFunction defined in file "z", line :z    zRoot Input Tokens: 
 )r6   r7   appendtyper/   r:   r+   r&   	signaturer8   join)selfstringsfilelinenos       r*   __str__zCycloptsError.__str__i   s    88O< 		NN4::.///{ ^1$+>>fSDSS&SSSTTT\dk&:\G<Mdk<Z<Z\\]]]%1MT5KMMNNN 	99W%%,,2r,   )r/   r0   r1   r2   r6   str__annotations__r7   boolr8   listr9   r:   r   r;   r	   r<   r   r=   r   r@   rM   r3   r,   r*   r   r   6   s=         
 Ct GT
 +/tCy4'... '+M49t#*** #FHtO""" &*Hhz"))) +/M8C=4'...  C% $)5t#D#D#DGXi DDDC    r,   r   T)r?   c                       e Zd ZdZdS )r#   z?Cannot combine short, token-consuming options with short flags.Nr.   r3   r,   r*   r#   r#      s        IIIIr,   r#   c                   n     e Zd ZU dZdZeed<   	 dZedz  ed<   	 e	j
        j        Zeed<   	  fdZ xZS )r"   z'Validator function raised an exception.rD   exception_messageNgroupvaluec                    d}| j         r| j        t          j        j        u r| j         j        n| j        }	 | j         j        d         }|j        r|j        dk    rdn
d|j         d}|j        r|j        n0| j         j        	                    d          
                                }d| d| d| d	}nT# t          $ r Y nHw xY w| j        r| j        j        rd
| j        j         d}n | j        rd| j        d         d	}nt          t                                                       | }| j        r|r| d| j         S | j        S |S )NrD   r   cliz provided by ""-zInvalid value "z" for ".zInvalid values for group "".zInvalid values for command  )r;   rV   cycloptsutilsUNSETtokenssourcekeywordnamelstripupper
IndexErrorrU   r<   NotImplementedErrorsuperrM   rT   )rI   messagerV   tokenprovided_byre   cyclopts_message	__class__s          r*   rM   zValidationError.__str__   s   = 	&+/:9M+M+MDM''SWS]EP,Q/ ).s8M8MbbSsdidpSsSsSs(-au}}4=;M;T;TUX;Y;Y;_;_;a;aOEOO$OOOOO     Z 	&z KJtzJJJ 	&OD4Fr4JOOOGG%%#ggoo//:::! 	$ .*EET-CEEE--##s   B4 4
C C)r/   r0   r1   r2   rT   rN   rO   rU   r   r_   r`   ra   rV   r   rM   __classcell__ro   s   @r*   r"   r"      s         11s7E54<4%E3%%%1$ $ $ $ $ $ $ $ $r,   r"   c                   <     e Zd ZU dZeed<   	 ded<   	  fdZ xZS )r    zrUnknown/unregistered option provided by the cli.

    A nearest-neighbor parameter suggestion may be printed.
    rl   r   argument_collectionc                    | j         j        p| j         j        }| j         j        dk    rd| d}nd| d| j         j         d}| j         j        p| j         j        x}r^dd l}t          t          j        d | j        D                                 }|	                    ||dd	          }|r|d
|d          dz  }t                                                      |z   S )NrX   zUnknown option: "r\   z" from "r   c              3   $   K   | ]}|j         V  d S N)names.0xs     r*   	<genexpr>z-UnknownOptionError.__str__.<locals>.<genexpr>   s$      1\1\a!'1\1\1\1\1\1\r,   r%   333333?ncutoff Did you mean ""?)rl   rd   rV   rc   difflibrQ   r   from_iterablers   get_close_matchesrj   rM   )rI   rV   responserd   r   
candidatesclose_matchesro   s          r*   rM   zUnknownOptionError.__str__   s    
"6dj&6:%%45444HHO5OO$*:KOOOHj(<DJ,<<7 	CNNNe11\1\4C[1\1\1\\\]]J#55gzQWZ5[[M CBmA.>BBBBww  8++r,   )r/   r0   r1   r2   r   rO   rM   rp   rq   s   @r*   r    r       sa          
 LLL-----3, , , , , , , , ,r,   r    c                   V     e Zd ZU dZdZed         ed<   	 dZedz  ed<   	  fdZ	 xZ
S )r   z6There was an error performing automatic type coercion.Nr   rl   target_typec           
         | j         1| j        r| j        j        | j         S d| j        j         d| j          S t          | j        t
          j                  r;t          | j                  }| j        r| j        j        |S d| j        j         d| S | j        J | j	        J t                                                      }t          | j	                  t          u r=dd                    d t          | j	                  D                       z   dz   }d| }nt!          | j	                  }| j        s|d| j        j         d	| d
z  }n| j        j        | j        j                            d                                          }| j        j        dk    s| j        j        dk    r|d| d| j        j         d| d
z  }n|d| d| j        j         d| j        j         d| d
	z  }nt| j        j        dk    s| j        j        dk    r$|d| j        j         d| j        j         d| d
z  }n0|d| j        j         d| j        j         d| j        j         d| d
	z  }|S )NzInvalid value for z: {, c              3   4   K   | ]}t          |          V  d S rv   )reprrx   s     r*   r{   z(CoercionError.__str__.<locals>.<genexpr>   s(      %R%R!d1gg%R%R%R%R%R%Rr,   }zone of zInvalid value for "z": unable to convert value to r[   rZ   rD   rX   z": unable to convert "z" into z" from z: unable to convert ")r6   rl   rd   
isinstance	__cause__jsonJSONDecodeErrorr   r;   r   rj   rM   r   r   rH   r
   r   re   rf   rg   rc   rV   )rI   r6   choicestarget_type_namepositional_namero   s        r*   rM   zCoercionError.__str__   sM   8: M!3!;xLDJ,>LL$(LLL $.$*>?? L3DNCCz LTZ%7%?JK
0BKKcKKK}(((+++ggood&''722DII%R%Rx@P7Q7Q%R%R%RRRRUXXG222,T-=>>z 	]n);nn[knnnnCCZ'"m077<<BBDDOz B&&$**;u*D*D  A_  A  ATXT^Td  A  Am}  A  A  A  A  Z_  Z  ZTZEV  Z  Zmqmwm}  Z  Z  GW  Z  Z  Z  Zz B&&$**;u*D*D  DTZ-?  D  DW[WaWg  D  D  qA  D  D  D  D  ]TZ-?  ]  ]
HY  ]  ]ptpz  qA  ]  ]  JZ  ]  ]  ]  ]
r,   )r/   r0   r1   r2   rl   r	   rO   r   rF   rM   rp   rq   s   @r*   r   r      su         @@#E8G###  $K###( ( ( ( ( ( ( ( (r,   r   c                   "     e Zd ZdZ fdZ xZS )r   z4CLI token combination did not yield a valid command.c                 6   | j         sJ | j         d         }d| d}| j        rR| j        j        rEdd l}g }| j        j                                        D ]\  }}|| j        j        v s|| j        j        v r"t          |t                    r|	                    | j                  n|}t          |t          | j                            sv|j        r|                    |           |                    ||dd          }|r|d|d          dz  }d	}	d
 |D             }
|
rTt          |
          |	k    r%|dd                    |
d |	                    dz  }n|dd                    |
           dz  }t!                                                      |z   S )Nr   zUnknown command "r\   r%   r|   r}   r   r      c                 <    g | ]}|                     d           |S )rZ   )
startswith)ry   re   s     r*   
<listcomp>z/UnknownCommandError.__str__.<locals>.<listcomp>.  s*    !`!`!`44??[^K_K_!`$!`!`!`r,   z Available commands: r   z, ...r[   )r9   r=   	_commandsr   items_help_flags_version_flagsr   r   resolverF   showrE   r   lenrH   rj   rM   )rI   rl   r   r   visible_commandsre   app_or_specsubappr   max_commandsavailable_commandsro   s              r*   rM   zUnknownCommandError.__str__  s   !!!!"1%0u0008 #	Y* #	YNNN  "%)X%7%=%=%?%? 2 2!k48///448;R3R3R ;E[R]:^:^o,,TX666do!&$tx..99 ; 2$++D111#55 	 6  M  CBmA.>BBBB L!`!`3C!`!`!`! Y)**\99 k		BTUbVbUbBc8d8d k k kkHH X		BT8U8U X X XXHww  8++r,   r/   r0   r1   r2   rM   rp   rq   s   @r*   r   r     s>        >>*, *, *, *, *, *, *, *, *,r,   r   c                   "     e Zd ZdZ fdZ xZS )r!   z)Not all CLI tokens were used as expected.c                 n    | j         J t                                                      d| j          dz   S )NzUnused Tokens: r[   )r9   rj   rM   rI   ro   s    r*   rM   zUnusedCliTokensError.__str__<  s:    !---ww  #JT5G#J#J#JJJr,   r   rq   s   @r*   r!   r!   8  sG        33K K K K K K K K Kr,   r!   c                   j     e Zd ZU dZ ee          Zee         ed<   	 dZ	edz  ed<   	  fdZ
 xZS )r   z%A required argument was not provided.)factorytokens_so_farNrd   c           
         | j         J g }| j                                         \  }}|dk    rd}d}n2|dk    rd}d}n'd| d}t          | j                  |z  }|rd| d	nd}d}| j        rx| j         j        j        rgdd l}d
 | j        D             }	|                    | j         j	        |	dd          }
|
r-|
d         | j         j
        vrd| j         j	         d|
d          d}| j         j	        }| j        | j        }n8| j         j        r,t          | j         j                  D ]}|j        	|j        } n| j        r:|                    dd                    | j                   d| d| d	|            n|                    d| d| d	|            |r|                    |           | j        r|                    d| j         d	           t%                                                      d                    |          z   S )Nr   zflag requiredrD   r%   zrequires an argumentz	requires z positional argumentsz
 Only got r[   c                 0    g | ]}t          |          |S r3   )r   rx   s     r*   r   z0MissingArgumentError.__str__.<locals>.<listcomp>^  s%    MMM>!;L;LM!MMMr,   r|   r}   zDid you mean "z" instead of "r   z	Command "r^   z" parameter "z" zParameter "z	 Parsed: )r;   token_countr   r   r9   
field_info
is_keywordr   r   re   rw   rd   rb   reversedr<   rE   rH   r7   rj   rM   )rI   rJ   count_required_stringonly_got_stringreceived_countclose_match_stringr   r   r   
param_namerl   ro   s                r*   rM   zMissingArgumentError.__str__K  s   }(((=,,..qA::-O OOaZZ4O OOF%FFFO !344u<N@NV<><<<<TVO 	m$-":"E 	mNNNMMT%7MMMJ#55dm6H*XYbe5ffM mq!19L!L!L%ldm6H%l%lXefgXh%l%l%l"]'
<#JJ]! 	!$-"677  =,!&JE -  	\NNxCHHT%788xxzxxUdxxgvxx    NNZZZZZZZ[[[ 	/NN-...< 	>NN<t'9<<<===ww  388G#4#444r,   )r/   r0   r1   r2   r   rQ   r   rN   rO   rd   rM   rp   rq   s   @r*   r   r   A  s{         //$uT222M49222fGS4Za/5 /5 /5 /5 /5 /5 /5 /5 /5r,   r   c                   0     e Zd ZU dZded<   	  fdZ xZS )r   zAThe same parameter has erroneously been specified multiple times.r   rl   c                 f    t                                                      d| j        j         dz   S )Nz
Parameter z specified multiple times.)rj   rM   rl   rd   r   s    r*   rM   zRepeatArgumentError.__str__  s-    ww  #^
0B#^#^#^^^r,   )r/   r0   r1   r2   rO   rM   rp   rq   s   @r*   r   r   }  sU         KKNNN_ _ _ _ _ _ _ _ _r,   r   c                   D     e Zd ZU dZeed<   ed         ed<    fdZ xZS )ArgumentOrderErrorz|Cannot supply a POSITIONAL_OR_KEYWORD argument with a keyword, and then a later POSITIONAL_OR_KEYWORD argument positionally.rl   r   9prior_positional_or_keyword_supplied_as_keyword_argumentsc                    | j         J t          | j                  dk    }t          d | j         j        D             | j         j                                      d          }d | j        D             }t          |          dk    r|d         }t                                                      d| j	        d|d|rd	nd
 d|d|d| j	        d| j         j        dz   S )Nr%   c              3   2   K   | ]}|j         	|j         V  d S rv   rd   rx   s     r*   r{   z-ArgumentOrderError.__str__.<locals>.<genexpr>  +      RR1	RQYRRRRRRr,   rZ   c                 2    g | ]}|j         d          j        S )r   )rb   rd   rx   s     r*   r   z.ArgumentOrderError.__str__.<locals>.<listcomp>  s.     
 
 
$%AHQK
 
 
r,   r   zCannot specify token z positionally for parameter z$ due to previously specified keywordsrD   r^   z. z( must either be passed positionally, or z  must be passed as a keyword to r[   )
r;   r   r   nextrb   re   rf   rj   rM   rl   )rI   pluraldisplay_nameprior_display_namesro   s       r*   rM   zArgumentOrderError.__str__  s|   }(((TSTTWXXRR0DRRRTXTaTfggnnorss
 
)-)g
 
 
 "##q(("5a"8 GGOO zdj  z  zP\  z  z  LR  EZ  EH  EH  XZ  z  z  ]p  z  z  vI  z  z  uy  u  z  z  cg  cp  cu  z  z  zz	
r,   )	r/   r0   r1   r2   rN   rO   rQ   rM   rp   rq   s   @r*   r   r     s`          G  GJJJ?CJ?OOOO
 
 
 
 
 
 
 
 
r,   r   c                   "     e Zd ZdZ fdZ xZS )r   z=Cannot supply keywords and non-keywords to the same argument.c                     | j         J t          d | j         j        D             | j         j                  }t	                                                      d| dz   S )Nc              3   2   K   | ]}|j         	|j         V  d S rv   r   rx   s     r*   r{   z-MixedArgumentError.__str__.<locals>.<genexpr>  r   r,   z2Cannot supply keyword & non-keyword arguments to "r\   )r;   r   rb   re   rj   rM   )rI   r   ro   s     r*   rM   zMixedArgumentError.__str__  sa    }(((RR0DRRRTXTaTfggww  #hXd#h#h#hhhr,   r   rq   s   @r*   r   r     sG        GGi i i i i i i i ir,   r   )4r&   r   collections.abcr   r   	itertoolsr   typingr   r   r   r	   r
   r   attrsr   r   cyclopts.utilsr_   cyclopts.annotationsr   cyclopts.command_specr   cyclopts.groupr   cyclopts.tokenr   r   r   rich.consoler   cyclopts.argumentr   r   cyclopts.corer   __all__r+   	Exceptionr   r   r   r#   r"   r    r   r   r!   r   r   r   r   r3   r,   r*   <module>r      s     . . . . . . . .       N N N N N N N N N N N N N N N N             . . . . . . - - - - - -                         H H H H H H H H "$$$$$$>>>>>>>>!!!!!!   H H HO O O O OI O O Oa a a a aY a a a E E E E EI E E EP J J J J J} J J J '$ '$ '$ '$ '$m '$ '$ '$T , , , , , , , ,> 5 5 5 5 5M 5 5 5p-, -, -, -, -,- -, -, -,` K K K K K= K K K 85 85 85 85 85= 85 85 85v _ _ _ _ _- _ _ _ 
 
 
 
 
 
 
 
, i i i i i i i i i ir,   