
    Fd	              	           d Z ddlZddlZddlZddlmZ ddlmZ ddl	m
Z
 ddlmZ dZded	efd
Zefde
ded	eeef         fdZefdede
ded	efdZdS )z%Utilities for the json_fixes package.    N)Any)Draft7Validator)Config)loggerllm_response_format_1response_contentreturnc                 n   |                      d          rE|                     d          r0d                    |                     d          dd                   } 	 t	          j        |           S # t          $ r:}t          j        d|            t          j	        d|             i cY d }~S d }~ww xY w)Nz```   z.Error parsing JSON response with literal_eval z#Invalid JSON received in response: )

startswithendswithjoinsplitastliteral_evalBaseExceptionr   infodebug)r   es     PC:\Users\Administrator\Downloads\Auto-GPT-master\autogpt\json_utils\utilities.pyextract_json_from_responser      s    ""5)) K.>.G.G.N.N K ::&6&<&<U&C&CAbD&IJJ 0111   HQHHIIIM;KMMNNN							s   A0 0
B4:/B/)B4/B4configschema_namec                 ^   t           j                            t           j                            t                    | d          }t          |d          5 }t          j        |          }d d d            n# 1 swxY w Y   | j        r$|d         d= |d         	                    d           |S )Nz.jsonr
propertiescommandrequired)
ospathr   dirname__file__openjsonloadopenai_functionsremove)r   r   filenamefjson_schemas        r   llm_response_schemar,      s     w||BGOOH55+7L7L7LMMH	h		 #ill# # # # # # # # # # # # # # # 2%i0J&&y111s   A77A;>A;json_objectc                    t          ||          }t          |          }t          |                    |           d           x}r|D ]}t	          j        d|            |j        r]t	          j        t          j	        | d                     t	          j        d           |D ]}t	          j        d|j
                    dS t	          j        d	           d
S )z
    :type schema_name: object
    :param schema_name: str
    :type json_object: object

    Returns:
        bool: Whether the json_object is valid or not
    c                     | j         S )N)r!   )r   s    r   <lambda>zvalidate_json.<locals>.<lambda>9   s    !&     )keyzJSON Validation Error:    )indentz The following issues were found:zError: FzThe JSON object is valid.T)r,   r   sortediter_errorsr   r   
debug_modeerrorr%   dumpsmessage)r-   r   r   schema	validatorerrorsr8   s          r   validate_jsonr>   +   s    !55F''I	--k::@P@PQQQQv  	< 	<EL:5::;;;; 	8L
;q111   L;<<< 8 86u}667777u
L,---4r1   )__doc__r   r%   os.pathr    typingr   
jsonschemar   autogpt.configr   autogpt.logsr   LLM_DEFAULT_RESPONSE_FORMATstrdictr   r,   objectboolr>    r1   r   <module>rK      s   + + 



         & & & & & & ! ! ! ! ! !      5      " (C	 		!$		#s(^	 	 	 	 =X !'69	     r1   