aboutsummaryrefslogtreecommitdiff
path: root/autogpt/commands/task_statuses.py
blob: 062ebe3a4998b107204bc634158e3c7e2c02458a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
"""Task Statuses module."""
from __future__ import annotations

from typing import NoReturn

from autogpt.agent.agent import Agent
from autogpt.command_decorator import command
from autogpt.logs import logger


@command(
    "goals_accomplished",
    "Goals are accomplished and there is nothing left to do",
    {
        "reason": {
            "type": "string",
            "description": "A summary to the user of how the goals were accomplished",
            "required": True,
        }
    },
)
def task_complete(reason: str, agent: Agent) -> NoReturn:
    """
    A function that takes in a string and exits the program

    Parameters:
        reason (str): A summary to the user of how the goals were accomplished.
    Returns:
        A result string from create chat completion. A list of suggestions to
            improve the code.
    """
    logger.info(title="Shutting down...\n", message=reason)
    quit()