+
    Q(iC                        ^ RI t ^ RIt^ RIHtHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHt ^ RIHtHtHtHt ^ RIHt ^ R	IHt ^ R
IHt ^ RIHt ^ RIHtHt ^ RIH t H!t!H"t"H#t# ]'       d   ^ RI$H%t% ^ RI&H't' ^ RIH(t( ]! ^R7      R R l4       t)R t*]!! RR7       ! R R4      4       t+] ! R R4      4       t,R t-R R lt.R R lt/R  R! lt0R" R# lt1R$ R% lt2R& R' lt3R( R) lt4R# )*    N)IterableSequence)Enum)	lru_cache)Path)TYPE_CHECKINGAnyLiteral)
convertersdefineevolvefield)resolve_annotated)_get_root_module_name)Group)
InlineText)SILENT
SilentRich)
SortHelperfrozenis_class_and_subclassresolve_callables)RenderableType)ArgumentCollection)App)maxsizec                >    V ^8  d   QhR\         R,          R\         /# )   docNformat)str)r    s   "X/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/cyclopts/help/help.py__annotate__r#      s      t S     c                   ^ RI pV '       g   VP                  R4      # \        P                  ! V 4      pVP	                  R^4      pV^ ,          P                  RR4      p\        V4      ^8X  d   TpMVR,           V^,          ,           pVP                  V4      pVP                  '       d   VP                  '       g   Q hV# )zUAddon to :func:`docstring_parser.parse` that supports multi-line `short_description`.N z


 )	docstring_parserparseinspectcleandocsplitreplacelenlong_descriptionshort_description)r   r    r)   cleaned_doc%short_description_and_maybe_remaindershortress   &&     r"   docstring_parser6      s     %%b))""3'K,7,=,=fa,H)
 2!4<<T3GE
01Q6fn'LQ'OO

 
 
-C ###s'<'<'<<<Jr$   c                      ^ RI Hp  V ! 4       # )r   Text)	rich.textr9   r8   s    r"   _text_factoryr;   9   s    6Mr$   T)kw_onlyc                      a  ] tR t^?t o RtRt Rt Rt Rt ]	V 3R lR l4       t
]	V 3R lR l4       t]	V 3R lR l4       tRt R	t Rt Rt Rt Rt Rt R
 tV 3R ltRtV tR# )	HelpEntryz$Container for help table entry data.c                4   < V ^8  d   QhRS[ S[R3,          /# r   return.tupler!   )r    __classdict__s   "r"   r#   HelpEntry.__annotate__P   s     9 9uS#X 9r$   c                <    V P                   V P                  ,           # )zHAll long option names (positive + negative). For backward compatibility.)positive_namesnegative_namesselfs   &r"   namesHelpEntry.namesO   s     ""T%8%888r$   c                4   < V ^8  d   QhRS[ S[R3,          /# r@   rB   )r    rD   s   "r"   r#   rE   U   s     ; ;c3h ;r$   c                <    V P                   V P                  ,           # )zIAll short option names (positive + negative). For backward compatibility.)positive_shortsnegative_shortsrI   s   &r"   shortsHelpEntry.shortsT   s     ##d&:&:::r$   c                4   < V ^8  d   QhRS[ S[R3,          /# r@   rB   )r    rD   s   "r"   r#   rE   Z   s     g gU38_ gr$   c                    V P                   V P                  ,           V P                  ,           V P                  ,           # )z_All options in display order: positive longs, positive shorts, negative longs, negative shorts.)rG   rO   rH   rP   rI   s   &r"   all_optionsHelpEntry.all_optionsY   s2     ""T%9%99D<O<OORVRfRfffr$   NFc                    \        V 3/ VB # Nr   rJ   kwargss   &,r"   copyHelpEntry.copyv       d%f%%r$   c                N  < V ^8  d   Qh/ S[ S[R3,          ;R&   S[ S[R3,          ;R&   S[ S[R3,          ;R&   S[ S[R3,          ;R&   S[;R&   S[;R&   S[;R&   S[R	,          ;R
&   S[ S[R3,          R	,          ;R&   S[ S[R3,          R	,          ;R&   S[R	,          ;R&   # )r   .rG   rO   rH   rP   descriptionrequiredsort_keyNtypechoicesenv_vardefault)rC   r!   r	   bool)r    rD   s   "r"   r#   rE   ?   s      #s(O(	  38_)  #s(O(  38_) > ? J K P Q V *W \ 38_t#*] b 38_t#*c h 4Zi r$    )__name__
__module____qualname____firstlineno____doc__rG   rO   rH   rP   propertyrK   rQ   rU   r`   ra   rb   rc   rd   re   rf   r\   __annotate_func____static_attributes____classdictcell__rD   s   @r"   r>   r>   ?   s     .&(NF')O9&(NL')O@9 9 ; ; g g K
 H5H2D+&*G/&*GAGU&o  r$   r>   c                      a  ] tR t^zt o Rt  ]! R]P                  ! ]R7      R7      t	 ]! ]
R7      t R tR tR tV 3R ltR	tV tR# )
	HelpPanelz*Data container for help panel information.N)factory)rf   	converterc                    \        V 3/ VB # rX   rY   rZ   s   &,r"   r\   HelpPanel.copy   r^   r$   c                    \        4       . r!V P                   FE  pVP                  VP                  3pWA9  g   K#  VP	                  V4       VP                  V4       KG  	  W n        R # rX   )setentriesrK   rQ   addappend)rJ   seenoutitemhashables   &    r"   _remove_duplicatesHelpPanel._remove_duplicates   sP    E2cLLD

DKK0H#"

4 	 !
 r$   c                   V P                   '       g   R# V P                  R8X  d   \        P                  ! V P                    Uu. uFu  p\        VP                  VP
                  '       d#   VP
                  ^ ,          P                  R4      MRVP
                  '       d   VP
                  ^ ,          MR3V4      NKw  	  up4      pV Uu. uF  q3P                  NK  	  upV n         R# \        hu upi u upi )zSort entries in-place.Ncommand-Fr&   )	r{   r    r   sortrb   rK   
startswithvalueNotImplementedError)rJ   entrysorted_sort_helperxs   &   r"   _sortHelpPanel._sort   s    |||;;)#!+ "&
 ". >CkkkEKKN55c:u.3kkkEKKNr  ".
" .@@-?GG-?@DL%%
 As   AC. C.
C3c                f   < V ^8  d   Qh/ S[ R,          ;R&   R;R&   S[;R&   S[S[,          ;R&   # )r   r    r   titler`   r{   )r   	parameter)r
   r	   listr>   )r    rD   s   "r"   r#   HelpPanel.__annotate__z   sE      *++	      & )_2' r$   )r{   )ri   rj   rk   rl   rm   r   r   default_if_noner;   r`   r   r{   r\   r   r   ro   rp   rq   rr   s   @r"   rt   rt   z   sY     4  A,,]CK
  %T2GB&&E  r$   rt   c                 `    V P                  R 4      '       * ;'       d    V P                  R4      # )--r   r   )ss   &r"   	_is_shortr      s%    ||D!!77all3&77r$   c                J    V ^8  d   QhRRR\         \        \        3,          /# r   argument_collectionr   rA   rC   r   )r    s   "r"   r#   r#      s(      7K PUVZ\`V`Pa r$   c                v   . . r!V  F  pVP                   '       g   K  VP                  P                  VP                  P                  39   d   VP	                  V4       KZ  VP                  P
                  '       g   Kx  VP                  '       d   VP	                  V4       K  VP	                  V4       K  	  W3# )a  Categorize keyword arguments by requirement status for usage string formatting.

Parameters
----------
argument_collection : ArgumentCollection
    Collection of arguments to categorize.

Returns
-------
tuple[list, list]
    (required_keyword, optional_keyword) where:
    - required_keyword: Required keyword-only parameters
    - optional_keyword: Optional keyword-only parameters and VAR_KEYWORD
)show
field_infokindVAR_KEYWORDr}   is_keyword_onlyra   r   ra   optionalarguments   &   r"   _categorize_keyword_argumentsr      s     Rh'}}}##(;(;(G(G'IIOOH%  000   )) ( r$   c                J    V ^8  d   QhRRR\         \        \        3,          /# r   r   )r    s   "r"   r#   r#      s(        :N  SXY]_cYcSd  r$   c                   . . r!V  F  pVP                   '       g   K  VP                  P                  VP                  P                  8X  d9   VP                  '       d   VP                  V4       Kk  VP                  V4       K~  VP                  P                  '       g   K  VP                  '       d   VP                  V4       K  VP                  V4       K  	  W3# )a  Categorize positional arguments by requirement status for usage string formatting.

Parameters
----------
argument_collection : ArgumentCollection
    Collection of arguments to categorize.

Returns
-------
tuple[list, list]
    (required_positional, optional_positional) where:
    - required_positional: Required positional and VAR_POSITIONAL parameters
    - optional_positional: Optional positional and VAR_POSITIONAL parameters
)r   r   r   VAR_POSITIONALra   r}   is_positionalr   s   &   r"    _categorize_positional_argumentsr      s     Rh'}}}##x':':'I'II   ))  ...   )) ( r$   c                >    V ^8  d   QhRRR\         \        ,          /# )r   appr   command_chain)r   r!   )r    s   "r"   r#   r#      s      ?6 ?6	?6C=?6r$   c                   a a ^ RI Hp ^ RIHp . pV'       gc   S P                  '       dQ   S P
                  '       g?   \        \        P                  ^ ,          4      P                  pVR8X  d   \        4       pTpMS P                  ^ ,          pVP                  V4       VP                  V4       V F  pS V,          o K  	  0 S P                  mS P                  mo\        ;QJ d     V V3R lS  4       F  '       g   K   RM	  RM! V V3R lS  4       4      '       d   VP                  R4       S P                  '       Ed   S P!                  RR7      p\#        V4      w  r\%        V4      w  rV	 FE  pVP                  pV! VP&                  4      P)                  4       pVP                  V R	V 24       KG  	  V
'       d   VP                  R
4       V F  pVP*                  P,                  VP*                  P.                  8X  d@   VP                  P1                  R4      P)                  4       pVP                  V R24       Kq  VP                  P1                  R4      P)                  4       pVP                  V4       K  	  V'       d`   \        ;QJ d    R V 4       F  '       g   K   RM	  RM! R V 4       4      pV'       d   VP                  R4       MVP                  R4       V! R	P3                  V4      R,           RR7      # )r   r8   )get_hint_namez__main__.pyc              3   v   <"   T F.  qS9  ;'       d    SP                  VR R7      P                  x  K0  	  R# 5i)T)recurse_metaN)	_get_itemr   ).0r   r   help_version_flagss   & r"   	<genexpr>format_usage.<locals>.<genexpr>  s6     
a]`XY&&SS3===+N+S+SS]`s   9&9TFCOMMAND)parse_docstringr(   z	[OPTIONS]r   z...c              3   z   "   T F1  qP                   P                  VP                   P                  8H  x  K3  	  R # 5irX   )r   r   r   )r   args   & r"   r   r   2  s+      %Ph##s~~'D'DDPhs   9;z	[ARGS...]z[ARGS]r'   bold)style)r:   r9   cyclopts.annotationsr   default_command_namer   sysargvnamer   r}   extend
help_flagsversion_flagsanyassemble_argument_collectionr   r   hintupperr   r   r   lstripjoin)r   r   r9   r   usager   app_namer   r   required_keyword_paramsoptional_keyword_paramsrequired_positional_argsoptional_positional_argsr   
param_name	type_namearg_namehas_var_positionalr   s   f&                @r"   format_usager      sT    2E S000CHHQK %%= (*D88A;	LL	LL 'l ! ?3>>>C,=,=>
s
a]`
asss
a]`
aaaY
!>>u>U;XYl;m8=]^q=r: /H!J%hmm4::<ILLJ<q45 0
 #LL%0H""''8+>+>+M+MM#==//4::<z-.#==//4::<X& 1 $!$ %Ph% %Ph% " "[)X&$&f55r$   c                F    V ^8  d   QhR\         \        ,          R\        /# )r   stringsrA   )r   r!   )r    s   "r"   r#   r#   =  s      # 3 r$   c                    V '       g   R# V ^ ,          .pV R,           FL  pVR,          P                  R4      '       d   VP                  V4       K4  VP                  RV,           4       KN  	  RP                  V4      # )zJJoins strings with a space, unless the previous string ended in a newline.r&   :   NNr'   r(   )endswithr}   r   )r   resultr   s   &  r"   _smart_joinr   =  sd    aj\FR[[":t$$MM!MM#'"	  776?r$   c                J    V ^8  d   QhRRR\         R\        \        ,          /# )r   r   r   r    rA   )r!   r   r   )r    s   "r"   r#   r#   L  s+     ` `E `3 `:
+B `r$   c                    V P                   pV'       g   \        # \        W!4      p. pVP                  '       d#   VP	                  VP                  R ,           4       VP
                  '       dF   VP                  '       d   VP	                  R 4       VP	                  VP
                  R ,           4       \        P                  ! \        V4      VRR7      # )r'   Tr    force_empty_end)	helpr   r6   r1   r}   r0   r   from_formatr   )r   r    raw_doc_stringparsed
componentss   &&   r"   
format_docr   L  s    XXN^4FJ&22T9:###d#&11D89!!+j"9&Z^__r$   c                8    V ^8  d   QhRRRRR\         R\        /# )r   groupr   r   r   r    rA   )r!   rt   )r    s   "r"   r#   r#   _  s6     y yy-y y 	yr$   c                   a ^ RI Hp RRRV P                  RV P                  '       d$   \        P
                  ! V P                  VRR7      MV! 4       /p\        R/ VB pV3R lp. . rVP                  RR	7       EF  p	V	P                  P                  '       g   Q h. o\        V	P                  4      p
\        4       pV
 Uu. uF&  qV9  g   K  VP                  V4      '       d   K$  VNK(  	  p
pV	P                  eL   \        R V
 4       V
^ ,          4      pVP!                  R4      P#                  4       pW^ ,          8w  d   V.V
Op
\        V	P$                  4      pV
 Uu. uF!  pVV9  g   K  \'        V4      '       d   K  VNK#  	  ppV
 Uu. uF!  pVV9  g   K  \'        V4      '       g   K  VNK#  	  ppV
 Uu. uF!  pVV9   g   K  \'        V4      '       d   K  VNK#  	  ppV
 Uu. uF!  pVV9   g   K  \'        V4      '       g   K  VNK#  	  pp\        P
                  ! V	P                  P                  VR7      pV	P)                  4       pR
pV	P                  P*                  '       d<   V	P                  P,                  '       d    \/        V	P                  P,                  4      pR
pV	P0                  '       Ed   V	P2                  P4                  p\7        V	P8                  \:        4      '       d(   V	P                  P                  VP                  4      pEM\=        V\        \.        \        \>        34      '       EdS   . pV F  p\=        V\:        4      '       d7   VPA                  V	P                  P                  VP                  4      4       KO  \=        V\B        4      '       d   VPA                  RV R24       K|  VPA                  \C        V4      4       K  	  \=        V\.        4      '       dI   \E        V4      ^8X  d   RV^ ,          ,           R,           pMRRPG                  V4      ,           R,           pMk\=        V\        4      '       d!   RRPG                  V4      ,           R,           pM5RRPG                  V4      ,           R,           pMVR8X  d   RpM\C        V4      p\I        V	P0                  4      '       d   V	P1                  V4      p\K        \/        V4      \/        V4      \/        V4      \/        V4      VV	PL                  \O        V	P2                  PP                  4      VVVR7
      pV	P2                  PR                  '       d   VPA                  V4       EK  VPA                  V4       EK  	  VPT                  PW                  V4       VPT                  PW                  V4       V# u upi u upi u upi u upi u upi )r   r8   r    r   r   r`   Tr   c                    < S'       d
   R V ,           p V'       d   SP                  W34       R# SP                  V 4       R# )r(   N)r}   )textr   help_componentss   &&r"   help_append0create_parameter_help_panel.<locals>.help_appendp  s0    :D""D=1""4(r$   )r   Nc              3   V   "   T F  qP                  R 4      '       g   K  Vx  K!  	  R# 5i)r   Nr   )r   os   & r"   r   .create_parameter_help_panel.<locals>.<genexpr>  s      JGq||D7IGs   )
)r   r    '(z,)z, )[]{}r&   z"")
rG   rO   rH   rP   r`   ra   rc   rd   re   rf   rh   ),r:   r9   r   r   r   r   rt   	filter_byr   name_transformr   rK   rz   r|   indexnextr   r   	negativesr   get_choicesshow_env_varre   rC   show_defaultr   rf   r   r   r   
isinstance	frozensetr}   r!   r/   r   callabler>   ra   r   
annotationr   r{   r   )r   r   r    r9   r[   
help_panelr   entries_positional
entries_kwr   optionsr~   r   label_sourcer   r  r   rG   rO   rH   rP   help_descriptionrd   re   rf   default_valformatted_itemsr   r   r   s   &&&                          @r"   create_parameter_help_panelr  _  s   
  	+::: "--ejjY]^VF $V$J) &(
'11t1<!!00000x~~&
 %Kg$1txx{11gK >>% JG JGTUJWL#**3/557H1:%#.g. **+	%,XW0B!9UV<!!WX&-Ug)1C1	RS11gU%,TWY!yQR|!!WT&-Qgi1IaL11gQ%11(2D2D2I2IRXY &&( ***x/A/A/I/I/IH..667G    "--55K$X]]D99",,;;K<L<LMK$sI)FGG"$'D!$--'..x/A/A/P/PQUQZQZ/[\#D#..'..4&{;'..s4y9 ( k511?+q0"%(:":T"A"%		/(B"BS"HT22!DIIo$>>DG!DIIo$>>DG"k*--.."//<  0!/2 0!/2(&&"8#6#6#A#AB
 ,,,%%e,e$u =x 01j)k L YUTQsZ   V0V0'V0!	V5/V5V5	V:V:/V:;	V?	V?V?(	W6W	Wc                R    V ^8  d   QhR\         R\        R\        \        ,          /# )r   apps_with_namesr    rA   )r   r!   r   r>   )r    s   "r"   r#   r#     s%     $ $H $c $d9o $r$   c                   . pV  F  pVP                   pVP                  '       g   K#  VP                  p. . rvV F8  p\        V4      '       d   VP	                  V4       K'  VP	                  V4       K:  	  \        VP                  V4      p	\        \        V4      \        V4      \        P                  ! \        VP                  V4      P                  VR7      V	R7      p
W9  g   K  VP	                  V
4       K  	  V# )a   Format command entries for help display.

Parameters
----------
apps_with_names : Iterable[RegisteredCommand]
    Iterable of RegisteredCommand tuples.
format : str
    Help text format.

Returns
-------
list[HelpEntry]
    List of formatted help entries.
r   )rG   rO   r`   rb   )r   r   rK   r   r}   r   rb   r>   rC   r   r   r6   r   r1   )r  r    r{   registered_commandr   rK   short_names
long_namesr   rb   r   s   &&         r"   format_command_entriesr    s     G- $$xxx"(("$bZD(1$Kt$Z=N=Nt=T  %S\\37 ,!+."..sxx/P/b/bkqr	
 NN5!' .( Nr$   )5r+   r   collections.abcr   r   enumr   	functoolsr   pathlibr   typingr   r	   r
   attrsr   r   r   r   r   r   cyclopts.corer   cyclopts.groupr   cyclopts.help.inline_textr   cyclopts.help.silentr   r   cyclopts.utilsr   r   r   r   rich.consoler   cyclopts.argumentr   r   r6   r;   r>   rt   r   r   r   r   r   r   r  r  rh   r$   r"   <module>r(     s     
 .     4 3 2 /   0 3 W W+4! 2 6 7& 7& 7&t 6& 6& 6&r8@ F?6D`&yx$r$   