
    {h                     :    d dl Z d dlmZ d dlmZ  G d de      Zy)    N)	BaseModel)JSONc                   \     e Zd ZdZd Zd Ze fd       Zed        Ze fd       Z	 xZ
S )BaseIOSchemaz<Base schema for input/output in the Atomic Agents framework.c                 "    | j                         S N)model_dump_json)selfs    b/var/www/html/hubwallet-dev/venv/lib/python3.12/site-packages/atomic_agents/base/base_io_schema.py__str__zBaseIOSchema.__str__	   s    ##%%    c                 8    | j                         }t        |      S r   )r	   r   )r
   json_strs     r   __rich__zBaseIOSchema.__rich__   s    '')H~r   c                 D    t        |   di | | j                          y )N )super__pydantic_init_subclass___validate_description)clskwargs	__class__s     r   r   z'BaseIOSchema.__pydantic_init_subclass__   s    *4V4!!#r   c                     | j                   }|r|j                         s5| j                  dk7  r%t        | d      st	        | j
                   d      y y y )Nzinstructor.function_callsfrom_streaming_responsez< must have a non-empty docstring to serve as its description)__doc__strip
__module__hasattr
ValueError__name__)r   descriptions     r   r   z"BaseIOSchema._validate_description   sV    kk+"3"3"5~~!<<WSRkEl CLL>1m!noo Fm< #6r   c                     t        |   |i |}d|vr.| j                  r"t        j                  | j                        |d<   d|vr| j
                  |d<   |S )Nr!   title)r   model_json_schemar   inspectcleandocr    )r   argsr   schemar   s       r   r$   zBaseIOSchema.model_json_schema   sX    *D;F;&3;;$+$4$4S[[$AF=!& !llF7Or   )r    r   __qualname__r   r   r   classmethodr   r   r$   __classcell__)r   s   @r   r   r      sN    F& $ $ p p  r   r   )r%   pydanticr   	rich.jsonr   r   r   r   r   <module>r.      s      9 r   