
    i
              
           d Z ddlZddlmc mZ ddlmZm	Z	m
Z
mZmZmZmZmZ g dZy# e$ r_ ddlZddlZddlZddlmZmZmZmZ eeegef      ZdZdZ	dZ
dZ G d	 d
      ZddlmZ 	 	 ddedee   dedefdZdeeeeef   defdZY hw xY w)zFStubs for orjson operations, compatible with PyPy via a json fallback.    N)OPT_NON_STR_KEYSOPT_SERIALIZE_DATACLASSOPT_SERIALIZE_NUMPYOPT_SERIALIZE_UUIDFragmentJSONDecodeErrordumpsloads)AnyCallableOptionalUnion            c                       e Zd ZdefdZy)r   payloadbc                     || _         y N)r   )selfr   s     c/home/jang/Projects/ai-researcher/.venv/lib/python3.12/site-packages/langsmith/_internal/_orjson.py__init__zFragment.__init__   s	    $DM    N)__name__
__module____qualname__bytesr    r   r   r   r      s    	%U 	%r   r   )r   defaultoptionobjreturnc                   |d}t        |t        z        t        |t        z        t        |t        z         G fddt        j
                        }t	        j                  | |      j                  d      S )Nr   c                   F     e Zd Zdedef fdZdedef fdZ xZS )dumps.<locals>.CustomEncoderor#   c                 x    t        |t              r|j                  j                  d      S t        |   |      S )Nutf-8)
isinstancer   r   decodesuperencode)r   r'   	__class__s     r   r-   z#dumps.<locals>.CustomEncoder.encode3   s1    a*::,,W55w~a((r   c                 8   r%t        |t        j                        rt        |      S rt	        |d      r|j                         S r:t        j                  |      r%t        |t              st        j                  |      S  |      S t        | -  |      S )Ntolist)r*   uuidUUIDstrhasattrr0   dataclassesis_dataclasstypeasdictr,   r    )r   r'   r.   r    enable_serialize_dataclassenable_serialize_numpyenable_serialize_uuids     r   r    z$dumps.<locals>.CustomEncoder.default8   s    (Z499-Eq6M)ga.B88:%.#003&q$/&--a00&"1:%wq))r   )r   r   r   r   r3   r-   r    __classcell__)r.   r    r9   r:   r;   s   @r   CustomEncoderr&   2   s.    ) ) )
* * * *r   r=   )clsr)   )boolr   r   r   jsonJSONEncoderr	   r-   )r"   r    r!   r=   r9   r:   r;   s    `  @@@r   r	   r	   "   sw     >F!%f/B&B!C%)&3J*J%K" $V.@%@ A	* 	*D,, 	*. zz#=188AAr   payloadc                ,    t        j                  |       S r   )r@   r
   )rB   s    r   r
   r
   K   s    zz'""r   )r
   r	   r   r   r   r   r   r   )NN) __doc__builtins@py_builtins_pytest.assertion.rewrite	assertionrewrite
@pytest_arorjsonr   r   r   r   r   r   r	   r
   ImportErrorr5   r@   r1   typingr   r   r   r   DefaultFuncintr   	bytearray
memoryviewr3   __all__r   r   r   <module>rS      s    L   	 	 	V	A  =#558SE3J/0K% % %
  $ $	'B 'B 	'B'B
 
'BR#uUIz3>? #s #y=#s   ) A!BB