Ë
    F·jÝ  ã                  óŽ   — d dl mZ d dlmZmZmZ d dlZddlmZ ddl	m
Z
 ddlmZ  G d	„ d
eeef   «      Zdddœ	 	 	 	 	 	 	 dd„Zy)é    )Úannotations)ÚAnyÚDictÚcastNé   )Úto_strict_json_schemaé   )ÚChatCompletionToolParam)ÚFunctionDefinitionc                  ó8   ‡ — e Zd ZU dZded<   dˆ fd„Zdd„Zˆ xZS )ÚPydanticFunctionToolzŠDictionary wrapper so we can pass the given base model
    throughout the entire request stack without having to special
    case it.
    útype[pydantic.BaseModel]Úmodelc                ó2   •— t         ‰| �  |«       || _        y ©N)ÚsuperÚ__init__r   )ÚselfÚdefnr   Ú	__class__s      €ú_/var/www/html/ai-video-generator/backend/venv/lib/python3.12/site-packages/openai/lib/_tools.pyr   zPydanticFunctionTool.__init__   s   ø€ Ü‰Ñ˜ÔØˆ�
ó    c                ó"   — t        t        | «      S r   )r   r   )r   s    r   r   zPydanticFunctionTool.cast   s   € ÜÔ&¨Ó-Ð-r   )r   r   r   r   ÚreturnÚNone)r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__r   r   Ú__classcell__)r   s   @r   r   r      s   ø… ñð
 $Ó#õ÷.r   r   )ÚnameÚdescriptionc               ó    — |€| j                   }t        |xs | j                  dt        | «      dœ| «      j	                  «       }|�||d<   d|dœS )NT)r"   ÚstrictÚ
parametersr#   Úfunction)Útyper'   )r   r   r   r   r   )r   r"   r#   r'   s       r   Úpydantic_function_toolr)      sp   € ð Ðð —m‘mˆä#àÒ*˜EŸN™NØÜ/°Ó6ñ	
ð
 	ó÷ �dƒfð ð ÐØ"-ˆ�Ñð Øñð r   )r   r   r"   ú
str | Noner#   r*   r   r
   )Ú
__future__r   Útypingr   r   r   ÚpydanticÚ	_pydanticr   Ú
types.chatr
   Útypes.shared_paramsr   Ústrr   r)   © r   r   ú<module>r3      sa   ðÝ "ç "Ñ "ã å ,Ý 0Ý 4ô.˜4  S ™>ô .ð& Ø"ñ	Ø#ðð ðð ð	ð
 ôr   