
    `ia                        d Z ddlmZ ddlmZmZmZ ddlmZ ddlm	Z
 ddlmZ  edd	
           ddlZddZ G d dej                  ZdS )zCJSON Formatter using [`msgspec`](https://github.com/jcrist/msgspec)    )annotations)AnyOptionalCallable   )core)defaults)package_is_availablemsgspecT)throw_errorNobjr   returnc                j   t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j	        |           S )z7msgspec default encoder function for non-standard types)
duse_exception_defaultexception_defaultuse_traceback_defaulttraceback_defaultuse_enum_defaultenum_defaultuse_type_defaulttype_defaultunknown_default)r   s    l/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pythonjsonlogger/msgspec.pymsgspec_defaultr      s    s## ("3'''s## ("3'''# #~c"""# #~c"""S!!!    c                  2     e Zd ZdZedd fdZddZ xZS )MsgspecFormatterzzJSON formatter using [`msgspec.json.Encoder`](https://jcristharif.com/msgspec/api.html#msgspec.json.Encoder) for encoding.)json_defaultr   Optional[Callable]r   Nonec                    t                      j        |i | || _        t          j                            | j                  | _        dS )a  
        Args:
            args: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
            json_default: a function for encoding non-standard objects
            kwargs: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
        )enc_hookN)super__init__r   r   jsonEncoder_encoder)selfr   argskwargs	__class__s       r   r%   zMsgspecFormatter.__init__+   sK     	$)&)))(,,d6G,HHr   log_datacore.LogDatastrc                \    | j                             |                              d          S )z&Returns a json string of the log data.utf8)r(   encodedecode)r)   r-   s     r   jsonify_log_recordz#MsgspecFormatter.jsonify_log_record=   s&    }##H--44V<<<r   )r   r    r   r!   )r-   r.   r   r/   )__name__
__module____qualname____doc__r   r%   r4   __classcell__)r,   s   @r   r   r   (   sl         E  E
 ,;       $= = = = = = = =r   r   )r   r   r   r   )r8   
__future__r   typingr   r   r    r   r	   r   utilsr
   msgspec.jsonr   r   BaseJsonFormatterr    r   r   <module>rA      s    I I
 # " " " " " + * * * * * * * * *
             ' ' ' ' ' '  YD 1 1 1 1    

" 
" 
" 
"= = = = =t- = = = = =r   