summaryrefslogtreecommitdiff
path: root/server/continuedev/__init__.py
blob: 1b4776a86847566bc071d83cc988406079d9e0d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import asyncio
from typing import Union

from .core.config import ContinueConfig
from .core.main import Step
from .headless import start_headless_session


def run(step_or_config: Union[Step, ContinueConfig]):
    if isinstance(step_or_config, ContinueConfig):
        config = step_or_config
    else:
        config = ContinueConfig()
        config.steps_on_startup = [step_or_config]

    loop = asyncio.get_event_loop()
    loop.run_until_complete(start_headless_session(config=config))
    tasks = asyncio.all_tasks(loop)
    loop.run_until_complete(asyncio.gather(*tasks))