
    0jW                    Z    d dl mZ d dlZd dlmZ d dlmZ d dlZddlm	Z	m
Z
 ddZddZdS )    )annotationsN)Any)	TypeGuard   )PYDANTIC_V1model_json_schema
model_type4type[pydantic.BaseModel] | pydantic.TypeAdapter[Any]returndict[str, Any]c                   t          |           rt          |           }nZt          | t          j                  r.t
          rt          d|            |                                 }nt          d|            d|d<   |S )z7Convert a Pydantic model/type adapter to a JSON schema.z2TypeAdapters are not supported with Pydantic v1 - zUnsupported type: FadditionalProperties)is_basemodel_typer   
isinstancepydanticTypeAdapterr   	TypeErrorjson_schema)r	   schemas     ^/home/rurouni/.hermes/hermes-agent/venv/lib/python3.11/site-packages/parallel/lib/_pydantic.pyto_json_schemar      s     $$ ;":..	J 4	5	5 ; 	_]Q[]]^^^''))9Z99::: &+F!"M    object#TypeGuard[type[pydantic.BaseModel]]c                ^    t          j        |           ot          | t          j                  S )zDCheck if a type is a Pydantic BaseModel to avoid using type: ignore.)inspectisclass
issubclassr   	BaseModel)r	   s    r   r   r      s$    ?:&&U:j(BT+U+UUr   )r	   r
   r   r   )r	   r   r   r   )
__future__r   r   typingr   typing_extensionsr   r   _compatr   r   r   r    r   r   <module>r%      s    " " " " " "        ' ' ' ' ' '  4 4 4 4 4 4 4 4   $V V V V V Vr   