U
    ·ÜŸj  ã                   @  s‚   d dl mZ d dlmZ d dlmZ ddlmZmZ ddl	m
Z
 erPd dlmZ dd	d
œdd„ZG dd„ de
ƒZG dd„ dƒZdS )é    )Úannotations)ÚTYPE_CHECKING)ÚArgumentParseré   )Ú
get_clientÚprint_model)Ú	BaseModel)Ú_SubParsersActionz!_SubParsersAction[ArgumentParser]ÚNone)Ú	subparserÚreturnc                 C  st   |   d¡}|jtjd� |   d¡}|jddddd� |jtjtd	� |   d
¡}|jddddd� |jtjtd	� d S )Nzmodels.list)Úfunczmodels.retrievez-iz--idTzThe model ID)ÚrequiredÚhelp)r   Z
args_modelzmodels.delete)Ú
add_parserÚset_defaultsÚ	CLIModelsÚlistÚadd_argumentÚgetÚCLIModelIDArgsÚdelete)r   Úsub© r   ú:/tmp/pip-unpacked-wheel-2qj3ofc_/openai/cli/_api/models.pyÚregister   s    


r   c                   @  s   e Zd ZU ded< dS )r   ÚstrÚidN)Ú__name__Ú
__module__Ú__qualname__Ú__annotations__r   r   r   r   r      s   
r   c                   @  sF   e Zd Zedddœdd„ƒZedddœdd„ƒZeddœd	d
„ƒZdS )r   r   r
   )Úargsr   c                 C  s   t ƒ jj| jd�}t|ƒ d S ©N)Úmodel)r   ÚmodelsÚretriever   r   ©r"   r$   r   r   r   r      s    zCLIModels.getc                 C  s   t ƒ jj| jd�}t|ƒ d S r#   )r   r%   r   r   r   r'   r   r   r   r   $   s    zCLIModels.delete)r   c                  C  s"   t ƒ j ¡ } | D ]}t|ƒ qd S )N)r   r%   r   r   )r%   r$   r   r   r   r   )   s    zCLIModels.listN)r   r   r    Ústaticmethodr   r   r   r   r   r   r   r      s   r   N)Ú
__future__r   Útypingr   Úargparser   Ú_utilsr   r   Z_modelsr   r	   r   r   r   r   r   r   r   Ú<module>   s   