#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from typer import Typer

from .create import app as create_app
from .create_batch import app as create_batch_app
from .delete import app as delete_app
from .delete_batch import app as delete_batch_app
from .export import app as export_app
from .export_batch import app as export_batch_app
from .list import app as list_app
from .list_batches import app as list_batches_app
from .list_engines import app as list_engines_app
from .list_libraries import app as list_libraries_app
from .status import app as status_app

app = Typer(
    name="retro",
    help=(
        "High-throughput deep-learning retrosynthesis service."
        "\n\nRetrosynthesis predictions are generated by submitting "
        "a batch of jobs to an engine, monitoring its status, and retrieving "
        "completed results. For more information refer to the "
        "documentation with <pendingai docs>."
    ),
    short_help="High-throughput deep-learning retrosynthesis service.",
)

app.add_typer(list_engines_app)
app.add_typer(list_libraries_app)

# Retrosynthesis Operations ============================================

app.add_typer(create_app)
app.add_typer(status_app)
app.add_typer(delete_app)
app.add_typer(export_app)
app.add_typer(list_app)

# Batch Operations =====================================================

app.add_typer(create_batch_app)
app.add_typer(delete_batch_app)
app.add_typer(export_batch_app)
app.add_typer(list_batches_app)
