mirror of
https://github.com/Pythagora-io/gpt-pilot.git
synced 2026-01-09 13:17:55 -05:00
40 lines
1.4 KiB
Python
40 lines
1.4 KiB
Python
from core.agents.base import BaseAgent
|
|
from core.agents.response import AgentResponse
|
|
from core.log import get_logger
|
|
from core.telemetry import telemetry
|
|
|
|
log = get_logger(__name__)
|
|
|
|
|
|
class TaskCompleter(BaseAgent):
|
|
agent_type = "pythagora"
|
|
display_name = "Pythagora"
|
|
|
|
async def run(self) -> AgentResponse:
|
|
current_task_index1 = self.current_state.tasks.index(self.current_state.current_task) + 1
|
|
self.next_state.action = f"Task #{current_task_index1} complete"
|
|
self.next_state.complete_task()
|
|
await self.state_manager.log_task_completed()
|
|
tasks = self.current_state.tasks
|
|
source = self.current_state.current_epic.get("source", "app")
|
|
await self.ui.send_task_progress(
|
|
tasks.index(self.current_state.current_task) + 1,
|
|
len(tasks),
|
|
self.current_state.current_task["description"],
|
|
source,
|
|
"done",
|
|
self.current_state.get_source_index(source),
|
|
tasks,
|
|
)
|
|
await telemetry.trace_code_event(
|
|
"task-end",
|
|
{
|
|
"task_index": current_task_index1,
|
|
"num_tasks": len(self.current_state.tasks),
|
|
"num_epics": len(self.current_state.epics),
|
|
"num_iterations": len(self.current_state.iterations),
|
|
},
|
|
)
|
|
|
|
return AgentResponse.done(self)
|