+
    Q(i"                        R t ^ RIt^ RIHtHt ^ RIHt ^ RIHtH	t	 ^ RI
Ht ^ RIHtHtHtHtHtHtHt ]'       d   ^ RIHt ]! R]	R	7      t^ R
IHt ^ RIHtHtHtHt ^ RIHtH t H!t!H"t"H#t#H$t$ ^ RI%H&t& ]PN                  R!8  d   ^ RIH(t( MRt(]&! RRRRRRRR7      t)/ ]!]!3]!b]!] 3] b]!]3]b]!]#3]#b]!]"3]"b] ]!3] b] ] 3] b] ]3Rb] ]#3]#b] ]"3Rb]]!3]b]] 3Rb]]3]b]]#3Rb]]"3]"b]#]!3] b]#] 3] b]#]3R]#]#3]#]#]"3R]"]!3]]"] 3R]"]3]]"]#3R]"]"3]"/Ct*R R lt+R t,R R lt-R t.R R lt/R R lt0R t1R R lt2R"R R llt3R R  lt4R# )#z?Shared helper functions and constants for the argument package.N)CallableIterator)suppress)EnumFlag)partial)TYPE_CHECKING	AnnotatedAnyLiteralTypeVarget_args
get_origin)ArgumentF)bound)convert_enum_flag)ITERABLE_TYPESis_class_and_subclassis_unionresolve_annotated)KEYWORD_ONLYPOSITIONAL_ONLYPOSITIONAL_OR_KEYWORDVAR_KEYWORDVAR_POSITIONAL	FieldInfo)	Parameter)TypeAliasType)namealias	converter	validatoraccepts_keysconsume_multipleenv_varc                v    V ^8  d   QhR\         R\        \        .\        3,          R\        \        ,          /# )   type_name_transformreturn)typer   strlist)formats   "]/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/cyclopts/argument/utils.py__annotate__r0   L   s3     % % %xs
7K %PTUXPY %    c                  a \        \        SR7      p. p\        V 4      p\        V \        4      '       d>   \        V \        4      '       d(   VP                  V3R lV P                   4       4       V# \        V4      '       dF   \        V 4       Uu. uF
  qR! V4      NK  	  ppV F  pV'       g   K  VP                  V4       K   	  V# V\        J d$   VP                  R \        V 4       4       4       V# V\        9   dg   \        V 4      p\        V4      ^8X  g,   V\        J d@   \        V4      ^8X  d0   V^,          \        J d   VP                  V! V^ ,          4      4       V# V\         J d#   VP                  V! \#        V 4      4      4       V# \$        e8   \        V \$        4      '       d"   VP                  V! V P&                  4      4       V# u upi )a  Extract completion choices from a type hint.

Recursively extracts choices from Literal types, Enum types, and Union types.

Parameters
----------
type_ : type
    Type annotation to extract choices from.
name_transform : Callable[[str], str]
    Function to transform choice names (e.g., for case conversion).

Returns
-------
list[str]
    List of choice strings extracted from the type hint.
)r)   c              3   4   <"   T F  pS! V4      x  K  	  R # 5iN ).0xr)   s   & r/   	<genexpr>(get_choices_from_hint.<locals>.<genexpr>a   s     D2CQ~a((2Cs   c              3   8   "   T F  p\        V4      x  K  	  R # 5ir4   r,   r6   r7   s   & r/   r8   r9   h   s     7!s1vvs   )r   get_choices_from_hintr   
isinstancer+   r   r   extend__members__r   r   r   r   lentupleEllipsisr	   r   r   	__value__)	r(   r)   get_choiceschoices_origininnerinner_choicesr7   argss	   &f       r/   r=   r=   L   s   " /OKGG%#8#E#ED%2C2CDD  N 
'		9A%IU+IAqq!  N 
G	7x77 N 
N	"t9>g.3t9>d1gQYFYNN;tAw/0
 N	 
I	{#4U#;<= N 
	"z%'G'G{5??34N Js   Gc                 B    R  pV! V 4      P                  V! V4      4      # )c                 &    V P                  R R4      # )_-)replace)ss   &r/   	normalizestartswith.<locals>.normalizeu   s    yyc""r1   )
startswith)stringprefixrQ   s   && r/   rS   rS   t   s$    # V''	&(9::r1   c                    V ^8  d   QhR\         \        .\        \        \        3,          3,          R\         R\        \        \        3,          .\
        \        ,          3,          /# )r'   get_field_infor*   r   )r   r
   dictr,   r   r-   )r.   s   "r/   r0   r0   {   sL      cUDi$889z4S>*DI56r1   c                    a  R  V 3R llpV# )c                l    V ^8  d   QhRRR\         \        \        3,          R\        \        ,          /# )r'   argumentr   datar*   )rX   r,   r
   r-   )r.   s   "r/   r0   *missing_keys_factory.<locals>.__annotate__~   s2     ] ]
 ]$sCx. ]T#Y ]r1   c                    < \        V4      pS! V P                  4      pVP                  4        UUu. uF#  w  rEVP                  '       g   K  WB9  g   K!  VNK%  	  upp# u uppi r4   )sethintitemsrequired)r[   r\   provided_keys
field_infokvrW   s   &&    r/   rH   #missing_keys_factory.<locals>.inner~   sN    D	#HMM2
(..0\0daQZZADZ0\\\s   AAAr5   )rW   rH   s   f r/   missing_keys_factoryrh   {   s    ] ]
 Lr1   c                 v    \        V 4      R ,           F  p VP                  u # 	  R#   \         d     K$  i ; i):   NNN)r   discriminatorAttributeError)
annotationmetas   & r/   get_annotated_discriminatorro      sC    $R((	%%% )
   		s   )88c                    V ^8  d   QhR\         \        ,          R\        \        \        3,          R\
        \        .\        3,          R\        /# )r'   	enum_typer\   r)   r*   )r+   r   rX   r,   boolr   )r.   s   "r/   r0   r0      sM     [ [Aw[
sDy/[ cUCZ([ 	[r1   c                F    \        V R VP                  4        4       V4      # )a	  Convert a dictionary of boolean flags to a Flag enum value.

Parameters
----------
enum_type : type[F]
    The Flag enum type to convert to.
data : dict[str, bool]
    Dictionary mapping flag names to boolean values.

Returns
-------
F
    The combined flag value.
c              3   >   "   T F  w  rV'       g   K  Vx  K  	  R # 5ir4   r5   )r6   re   rf   s   &  r/   r8   &enum_flag_from_dict.<locals>.<genexpr>   s     (I|tqq|s   
)r   ra   )rq   r\   r)   s   &&&r/   enum_flag_from_dictrv      s    & Y(Itzz|(I>ZZr1   c                l    V ^8  d   QhR\         R\        \        \        R3,          \        3,          /# )r'   fr*   .)r   rX   rB   r,   r   )r.   s   "r/   r0   r0      s,     % %h %4c3h0J+K %r1   c           	         ^ RI Hp \        \        4      ;_uu_ 4        V P                  p RRR4       / p\        V RR4      ;p'       do   \        VRR 4       FZ  p V! V4      pVP                   F>  p\        VP                  R7      V\        VP                  P                  R4      4      &   K@  	  K\  	  V#  V! V 4      pVP                   F>  p\        VP                  R7      V\        VP                  P                  R4      4      &   K@  	  V#   + '       g   i     L; i  \        \        3 d     K  i ; i  \        \        3 d     T# i ; i)    )parse_from_objectN__mro__)help.)docstring_parserr{   r   rl   funcgetattrreversedparamsr   descriptionrB   arg_namesplit	TypeError)rx   r{   resultmro
base_classparseddparams   &      r/   extract_docstring_helpr      s+   2	.	!	!FF 
" F aD))s) #3s8,J*:6$mmF@IvOaOa@bF5!6!6s!;<= , -$ M	&q)F --<E6K]K]<^uV__223789 ( ME 
"	!* ~.  >* 	M		s1   DAD$9AD< D!	$D98D9<EEc                     V P                  R 4      '       d   V RR P                  R4      p V '       d!   V P                  R4      '       g
   RV ,           p V # )*Nr~   rN   --r   )endswithrstriprS   )elems   &r/   resolve_parameter_name_helperr      sF    }}SCRy$DOOC((d{Kr1   c                d    V ^8  d   QhR\         \        R3,          R\         \        R3,          /# )r'   argss.r*   )rB   r,   )r.   s   "r/   r0   r0      s*     : :5c? :uS#X :r1   c                 H   \         ;QJ d    . R V  4       F  NK  	  5M! R V  4       4      p \        V 4      ^ 8X  d   R# \        V 4      ^8X  d;   \         ;QJ d    . R V ^ ,           4       F  NK  	  5# ! R V ^ ,           4       4      # . pV ^ ,           Fo  p\        V4      pV ^,           FT  pVP                  R4      '       g	   V'       g   VP	                  V4       K5  VP	                  VR,           V,           4       KV  	  Kq  	  \        \        V4      .V R,          O5!  # )zResolve parameter names by combining and formatting multiple tuples of strings.

Parameters
----------
*argss
    Each tuple represents a group of parameter name components.

Returns
-------
tuple[str, ...]
    A tuple of resolved parameter names.
c              3   8   "   T F  q'       g   K  Vx  K  	  R # 5ir4   r5   r<   s   & r/   r8   )resolve_parameter_name.<locals>.<genexpr>   s     (Ua!!Us   	
c              3   H   "   T F  qR 8X  d   R M
\        V4      x  K  	  R# 5i)r   N)r   r<   s   & r/   r8   r      s!     ]T\qHS*G*JJT\s    "rN   r~   :r'   NNr5   )rB   rA   r   rS   appendresolve_parameter_name)r   outa1a2s   *   r/   r   r      s     E(U(EE(U((E
5zQ		Uqu]TYZ[T\]u]u]TYZ[T\]]]
CAhh*2.((B}}S!!

2

28b=)	   "%*9uRy99r1   c                    V ^8  d   QhR\         \        R3,          R,          R\        \         \         \        R3,          \        3,          ,          /# )r'   parent_keys.Nr*   )rB   r,   r   r
   )r.   s   "r/   r0   r0      sB      sCx4' eE#s(OS()*r1   c              #      "   Vf   Rp\        V \        4      '       dU   V P                  4        F>  w  r#W3,           p\        V\        4      '       d   \        W44       R j  xL
  K9  WC3x  K@  	  R # RV 3x  R #  L5i)Nr5   )r>   rX   ra   walk_leaves)dr   keyvaluecurrent_keyss   &&   r/   r   r      so      !T'')JC&/L%&&&u;;;")) $ !e	 <s   AA=!A;"A=c                0    V ^8  d   QhR\         R\         /# )r'   keysr*   r;   )r.   s   "r/   r0   r0     s     ! !c !c !r1   c                  2    R RP                  V 4      ,           # )r   r~   )join)r   s   *r/   to_cli_option_namer     s    #((4.  r1   )      r4   )5__doc__syscollections.abcr   r   
contextlibr   enumr   r   	functoolsr   typingr   r	   r
   r   r   r   r   cyclopts.argument._argumentr   r   cyclopts._convertr   cyclopts.annotationsr   r   r   r   cyclopts.field_infor   r   r   r   r   r   cyclopts.parameterr   version_infor   PARAMETER_SUBKEY_BLOCKERKIND_PARENT_CHILD_REASSIGNMENTr=   rS   rh   ro   rv   r   r   r   r   r   r5   r1   r/   <module>r      s<   E 
 .    X X X4Ct /   )w$M$	
 "124I"O,o" L)<" N+^	"
 K(+" +,o" o&" l#T" n%~" k"D" ()<" ?#T" < ," >"D" ;"  *+_!"" _%#"$ \"D^$n[!4'(,/"D,.!4+3" :%P;[,%P:@$!r1   