+
    Q(i                     $   ^ RI t ^ RIt^ RIt^ RIHtHt ^ RIHt ^ RIH	t	 ^ RIH
t
HtHtHtHt ^ RIt^ RIHt ]P$                  R.8  d
   ^ RIHtHt M^ RIHtHt ]P$                  R/8  d   ^ RIHt MRt]! R4      t]! ]
]^ 3,          4      t]]P
                  ]]]]]0tR	 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,R" R# lt-R$ R% lt.R& R' lt/R( R) lt0R* R+ lt1R, R- lt2R# )0    N)IterableSequence)Flag)	UnionType)	AnnotatedAnyUnionget_args
get_origin)is_class_and_subclass)NotRequiredRequired)TypeAliasTypec                     V \         J # N)NoneTypehints   &Z/Users/agent/.openclaw/workspace/venv/lib/python3.14/site-packages/cyclopts/annotations.pyis_nonetyper   &   s    8    c                >    V ^8  d   QhR\         R,          R\        /# )   type_Nreturn)typebool)formats   "r   __annotate__r   *   s     2 2D4K 2D 2r   c                    V \         J g   V \        J d   R# V \        J g0   V \        J g&   V \        J g   V \
        J g   \        V 4      '       d   R# \        V 4      pV\         J ;'       g	    V\        J # )zChecks if a type is a union.TF)r	   r   strintfloatr   is_annotatedr   )r   origins   & r   is_unionr&   *   s_     ~)+ |u|u~$,W\J]J]FU?11f	11r   c                $    V ^8  d   QhR\         /# r   r   r   )r   s   "r   r   r   8   s     5 5 5r   c                     \        V R 4      # )__pydantic_core_schema__hasattrr   s   &r   is_pydanticr.   8   s    4344r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   <   s       r   c                    \        V R4      ;'       dB    V P                  R8H  ;'       d+    \        V R4      ;'       d    \        \        V RR4      4      # )zQCheck if a type is a Pydantic secret type (SecretStr, SecretBytes, Secret, etc.).
__module__zpydantic.typesget_secret_valueN)r-   r1   callablegetattrr   s   &r   is_pydantic_secretr5   <   s]     	l# 	> 	>OO//	> 	>D,-	> 	> WT#5t<=	r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   F   s     1 1$ 1r   c                     \        V R 4      # )__dataclass_fields__r,   r   s   &r   is_dataclassr9   F   s    4/00r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   J   s     K K4 Kr   c                 J    \        V \        4      ;'       d    \        V R 4      # )_fields)r   tupler-   r   s   &r   is_namedtupler>   J   s     u-JJ'$	2JJr   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   N   s      d r   c                 .    \         P                  ! V 4      # r   )attrshasr   s   &r   is_attrsrC   N   s    99T?r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   R   s     - -$ -r   c                "    \        V \        4      # )z.Check if a type hint is an enum.Flag subclass.)r   r   r   s   &r   is_enum_flagrF   R   s     t,,r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   W   s     ' '$ 'r   c                 $    \        V 4      \        J # r   )r   AnnotatedTyper   s   &r   r$   r$   W   s    :&&r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   [   s     @ @d @r   c                `    \        V 4      p \        V 4      p\        V\        \        4      4      # )zCheck if a type hint is a collection/iterable type (list, set, tuple, etc.).

Handles Annotated, Optional, TypeAlias, and NewType wrappers.
)resolver   r   r=   ITERABLE_TYPES)r   r%   s   & r   is_iterable_typerN   [   s)    
 4=DF ~)>??r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   e   s     	8 	8 	8r   c                   a \        V 4      p \        V 4      '       dM   \        ;QJ d(    V3R l\        V 4       4       F  '       g   K   R# 	  R# ! V3R l\        V 4       4       4      # \	        V S4      # )zIndicates if ``target_type`` is in a possibly annotated/unioned ``hint``.

E.g. ``contains_hint(Union[int, str], str) == True``
c              3   <   <"   T F  p\        VS4      x  K  	  R # 5ir   )contains_hint).0xtarget_types   & r   	<genexpr> contains_hint.<locals>.<genexpr>l   s     I.Q=K00.s   TF)rL   r&   anyr
   r   )r   rU   s   &fr   rR   rR   e   sU    
 4=D~~sI(4.IssIsIsI(4.III$T;77r   c                $    V ^8  d   QhR\         /# r(   r)   )r   s   "r   r   r   q   s      $ r   c                   \        V 4      p \        V 4      '       dG   \        ;QJ d%    R \        V 4       4       F  '       g   K   R# 	  R# ! R \        V 4       4       4      # \	        V \
        4      '       g   R# \        V R4      ;'       d5    \        V R4      ;'       d!    \        V R4      ;'       d    \        V R4      # )zDetermine if a type annotation is a TypedDict.

This is surprisingly hard! Modified from Beartype's implementation:

    https://github.com/beartype/beartype/blob/main/beartype/_util/hint/pep/proposal/utilpep589.py
c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   )is_typeddictrS   rT   s   & r   rV   is_typeddict.<locals>.<genexpr>z   s     ;Nq<??N   TF__annotations__	__total____required_keys____optional_keys__)rL   r&   rX   r
   r   dictr-   r   s   &r   r\   r\   q   s     4=D~~s;HTN;ss;s;s;HTN;;; t,, 	'( 	/ 	/D+&	/ 	/D-.	/ 	/ D-.	r   c                0    V ^8  d   QhR\         R\        /# r   r   r   r   r   )r   s   "r   r   r      s      	r   c                    V \         P                  P                  J d   \        # RpW8w  d<   T p\	        V 4      p \        V 4      p \        V 4      p \        V 4      p \        V 4      p KA  V # )z$Perform all simplifying resolutions.N)	inspect	Parameteremptyr!   resolve_type_aliasresolve_annotatedresolve_optionalresolve_requiredresolve_new_type)r   	type_prevs   & r   rL   rL      sd     !!'''
I

	"5)!%( ' ' 'Lr   c                0    V ^8  d   QhR\         R\         /# rf   r   )r   s   "r   r   r      s      C C r   c                   \        V 4      p \        V 4      '       g   V # \        V 4       Uu. uF  q\        Jg   K  VNK  	  ppV'       g   \	        R4      h\        V4      ^8X  d   V^ ,          p V # \        V4      ^8  d>   \        \        ;QJ d    . R V 4       F  NK  	  5,          # ! R V 4       4      ,          # \        hu upi )z?Only resolves Union's of None + one other type (i.e. Optional).z!Union type cannot be all NoneTypec              3   8   "   T F  p\        V4      x  K  	  R # 5ir   )rn   r]   s   & r   rV   #resolve_optional.<locals>.<genexpr>   s     G1+A..r_   )	rl   r&   r
   r   
ValueErrorlenr	   r=   NotImplementedError)r   tnon_none_typess   &  r   rn   rn      s    u%E E??!)%FAX4EaaNF <==	^		!q! L 
^	q	 UUGGUHHUGGGHH!! Gs
   CCc                0    V ^8  d   QhR\         R\        /# rf   rg   )r   s   "r   r   r      s      S T r   c                 f    \        V 4      p \        V 4      \        J d   \        V 4      ^ ,          p V # r   )rl   r   rI   r
   r   s   &r   rm   rm      s+    u%EE{m#"Lr   c                0    V ^8  d   QhR\         R\        /# rf   rg   )r   s   "r   r   r      s      C D r   c                 ^    \        V 4      \        \        39   d   \        V 4      ^ ,          p V # r~   )r   r   r   r
   r   s   &r   ro   ro      s'    %X{33"Lr   c                0    V ^8  d   QhR\         R\        /# rf   rg   )r   s   "r   r   r      s      C D r   c                 T     \        V P                  4      #   \         d    T u # i ; ir   )rp   __supertype__AttributeErrorr   s   &r   rp   rp      s,     3 344 s    ''c                0    V ^8  d   QhR\         R\         /# rf   rs   )r   s   "r   r   r      s      c c r   c                Z    \         e#   \        V \         4      '       d   V P                  # V # )zMResolve TypeAliasType (Python 3.12+ 'type' statement) to its underlying type.)r   
isinstance	__value__r   s   &r   rl   rl      s#     Z}%E%ELr   c                $    V ^8  d   QhR\         /# r(   )r!   )r   s   "r   r   r      s      3 r   c                    \        V \        4      '       d   V # \        V 4      '       d   R # V \        J d   R# \	        V 4      '       d"   RP                  R \        V 4       4       4      # \        V 4      ;p'       dN   \        V4      p\        V 4      ;p'       d.   VRRP                  R V 4       4      ,           R,           ,          pV# \        V R4      '       d   V P                  # \        V R	R
4      e   V P                  # \        V 4      # )Noner   |c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   get_hint_namerS   args   & r   rV    get_hint_name.<locals>.<genexpr>   s     Ensc**nr_   [z, c              3   8   "   T F  p\        V4      x  K  	  R # 5ir   r   r   s   & r   rV   r      s     "F#=#5#5r_   ]__name___nameN)r   r!   r   r   r&   joinr
   r   r   r-   r   r4   r   )r   r%   outargss   &   r   r   r      s    $4s{~~xxEhtnEEED!!v!F#D>!4!3"F"FFFLLC
tZ  }}tWd#/zzt9r   )      )r      )3ri   systypingcollections.abcr   r   enumr   typesr   r   r   r	   r
   r   rA   cyclopts.utilsr   version_infotyping_extensionsr   r   r   r   r   r"   rI   	frozensetlistsetr=   rM   r   r&   r.   r5   r9   r>   rC   rF   r$   rN   rR   r\   rL   rn   rm   ro   rp   rl   r    r   r   <module>r      s     
  .   > >  0g77,w$M :YsAv&' 
OO	251K-
'@	8,$.r   