o
    پiM	                     @   s   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 dl
mZ d dlmZ d dlmZ eeZd	e jfd
dZdde jdee dB fddZG dd deZdee fddZdS )    N)cast)run_sgl_diffusion_webui)CLISubcommand)launch_server)
ServerArgs)init_logger)FlexibleArgumentParserparserc                 C   s   | j dtdddd t| S )z(Add the arguments for the serve command.z--config Fz1Read CLI options from a config JSON or YAML file.)typedefaultrequiredhelp)add_argumentstrr   add_cli_args)r	    r   g/home/ubuntu/.local/lib/python3.10/site-packages/sglang/multimodal_gen/runtime/entrypoints/cli/serve.pyadd_multimodal_gen_serve_args   s   
r   argsunknown_argsc                 C   s*   t | |}t| |jrt| dS dS )z&The entry point for the serve command.N)r   from_cli_argsr   webuir   )r   r   server_argsr   r   r   execute_serve_cmd   s
   r   c                       sn   e Zd ZdZd fddZ	ddejdee dB ddfdd	Z	dejddfd
dZ
dejdefddZ  ZS )ServeSubcommandz3The `serve` subcommand for the sglang-diffusion CLIreturnNc                    s   d| _ t   d S )Nserve)namesuper__init__)self	__class__r   r   r    +   s   zServeSubcommand.__init__r   r   c                 C   s   t || d S N)r   )r!   r   r   r   r   r   cmd/   s   zServeSubcommand.cmdc                 C   s,   |j rtj|j std|j  dS dS )z'Validate the arguments for this commandzConfig file not found: N)configospathexists
ValueError)r!   r   r   r   r   validate4   s   zServeSubcommand.validate
subparsersc                 C   s"   |j dddd}t|}tt|S )Nr   z-Launch the server and start FastAPI listener.z;sgl_diffusion serve --model-path MODEL_PATH_OR_ID [OPTIONS])r   usage)
add_parserr   r   r   )r!   r,   serve_parserr   r   r   subparser_init9   s   
zServeSubcommand.subparser_init)r   Nr$   )__name__
__module____qualname____doc__r    argparse	Namespacelistr   r%   r+   _SubParsersActionr   r0   __classcell__r   r   r"   r   r   (   s"    

r   r   c                   C   s   t  gS r$   )r   r   r   r   r   cmd_initG   s   r:   r$   )r5   r'   typingr    sglang.multimodal_gen.apps.webuir   7sglang.multimodal_gen.runtime.entrypoints.cli.cli_typesr   +sglang.multimodal_gen.runtime.launch_serverr   )sglang.multimodal_gen.runtime.server_argsr   1sglang.multimodal_gen.runtime.utils.logging_utilsr   sglang.multimodal_gen.utilsr   r1   loggerArgumentParserr   r6   r7   r   r   r   r:   r   r   r   r   <module>   s   	