ó
    °"³jÔ	  ã                  ó
  • S SK Jr  S SKrS SKJr  S SKJrJr  S SKJr  S SK	J
r
JrJrJr  S SKJr  S SKrSS	KJr  S
SKJr  S
SKJr  \" \\\\45      rSS jrSS jrSS jrSS jr " S S\R@                  5      r!\!" SSSS9r"g)é    )ÚannotationsN)ÚAny)ÚdateÚdatetime)Ú
UserString)ÚSetÚIteratorÚSequenceÚMappingView)Úoverrideé   )Ú
is_mappingé   )Úis_base64_file_input)Ú
model_dumpc                óH   • [         R                  U 5      R                  5       $ )z¾
Serialize an object to UTF-8 encoded JSON bytes.

Extends the standard json.dumps with support for additional types
commonly used in the SDK, such as `datetime`, `pydantic.BaseModel`, etc.
©ÚencoderÚencode©Úobjs    ÚS/home/mande/repo/quber/.venv/lib/python3.13/site-packages/anthropic/_utils/_json.pyÚopenapi_dumpsr      s   € ô �>‰>˜#Ó×%Ñ%Ó'Ð'ó    c                ó,   • [         R                  U 5      $ )zB`openapi_dumps`, as a `str`; for transports that send text frames.r   r   s    r   Úopenapi_dumps_strr      s   € ä�>‰>˜#ÓÐr   c                óä   • [        U 5      nU[        ;   a  g[        U [        [        [
        [        [        45      (       d  [        U 5      (       a  g[        U [        [        [        [        45      $ )a6  Whether a value that is not a mapping is sent as a JSON array, or as `key[]=` entries in a query.

Sequences, sets, dict views and iterators (generators, `map`, `iter(...)`) are. An object that
merely defines `__iter__` is not iterated: it is left to the encoder in a body, and sent as
its `str()` in a query.
TF)ÚtypeÚ
LIST_TYPESÚ
isinstanceÚstrÚbytesÚ	bytearrayÚ
memoryviewr   r   r
   r   r   r	   )ÚvalueÚkinds     r   Úis_sent_as_listr'   #   sW   € ô �‹;€DØŒzÓØô �%œ#œu¤i´¼ZÐH×IÑIÔMaÐbg×MhÑMhØä�eœh¬¬[¼(ÐCÓDÐDr   c                ó2   • [        U SSS[        U SS5      S9$ )z\Dump a model as it is sent in a request body, without the fields named in `__api_exclude__`.TÚjsonÚ__api_exclude__N)Úexclude_unsetÚmodeÚby_aliasÚexclude)r   Úgetattr)Úmodels    r   Úopenapi_model_dumpr1   5   s%   € äØ˜T¨¸ÄwÈuÐVgÐimÓGnñð r   c                  ó6   ^ • \ rS rSr\SU 4S jj5       rSrU =r$ )Ú_CustomEncoderé<   c                ó8  >• [        U[        [        45      (       a  UR                  5       $ [        U[        R
                  5      (       a  [        U5      $ [        U5      (       a  [        U5      $ [        U5      (       a  [        U5      $ [        TU ]1  U5      $ )N)r    r   r   Ú	isoformatÚpydanticÚ	BaseModelr1   r   Údictr'   ÚlistÚsuperÚdefault)ÚselfÚoÚ	__class__s     €r   r<   Ú_CustomEncoder.default=   st   ø€ ä�aœ(¤DÐ)×*Ñ*Ø—;‘;“=Ð ä�aœ×+Ñ+×,Ñ,Ü% aÓ(Ð(ä�a�=‰=Ü˜“7ˆNä˜1×ÑÜ˜“7ˆNä‰w‰˜qÓ!Ð!r   © )r>   r   Úreturnr   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r<   Ú__static_attributes__Ú__classcell__)r?   s   @r   r3   r3   <   s   ø† Øö"ó ö"r   r3   F)Ú,Ú:)Úensure_asciiÚ
separatorsÚ	allow_nan)r   r   rB   r"   )r   r   rB   r!   )r%   ÚobjectrB   Úbool)r0   zpydantic.BaseModelrB   zdict[str, Any])#Ú
__future__r   r)   Útypingr   r   r   Úcollectionsr   Úcollections.abcr   r	   r
   r   Útyping_extensionsr   r7   Ú_utilsr   Ú_filesr   Ú_compatr   Ú	frozensetr:   ÚtupleÚsetr   r   r   r'   r1   ÚJSONEncoderr3   r   rA   r   r   Ú<module>r\      su   ðÝ "ã Ý ß #Ý "ß @Ó @Ý &ã å Ý )Ý  ñ ˜˜e S¨)Ð4Ó5€
ô(ôô
Eô$ô"�T×%Ñ%ô "ñ$  e¸
ÈeÑ
T�r   