From de9b01bc72d07b4414b4bf5d9237abd02e96ff2f Mon Sep 17 00:00:00 2001 From: Zvonimir Sabljic Date: Wed, 2 Aug 2023 10:43:30 +0200 Subject: [PATCH] Fixes for the latest merge with db models --- euclid/helpers/agents/ProductOwner.py | 17 ++++++++++------- euclid/helpers/agents/TechLead.py | 19 ++++++------------- 2 files changed, 16 insertions(+), 20 deletions(-) diff --git a/euclid/helpers/agents/ProductOwner.py b/euclid/helpers/agents/ProductOwner.py index 546f760..d4989c1 100644 --- a/euclid/helpers/agents/ProductOwner.py +++ b/euclid/helpers/agents/ProductOwner.py @@ -22,7 +22,8 @@ class ProductOwner(Agent): step = get_progress_steps(self.project.args['app_id'], self.project.current_step) if step and not execute_step(self.project.args['step'], self.project.current_step): step_already_finished(self.project.args, step) - return step['summary'], step['messages'] + self.project_description = step['summary'] + return step['summary'] # PROJECT DESCRIPTION self.project.args['app_type'] = ask_for_app_type() @@ -58,7 +59,8 @@ class ProductOwner(Agent): step = get_progress_steps(self.project.args['app_id'], self.project.current_step) if step and not execute_step(self.project.args['step'], self.project.current_step): step_already_finished(self.project.args, step) - return step['user_stories'], step['messages'] + self.convo_user_stories.messages = step['messages'] + return step['user_stories'] # USER STORIES print(colored(f"Generating user stories...\n", "green")) @@ -85,11 +87,12 @@ class ProductOwner(Agent): def get_user_tasks(self): - current_step = 'user_tasks' + self.project.current_step = 'user_tasks' + self.convo_user_stories.high_level_step = self.project.current_step # If this app_id already did this step, just get all data from DB and don't ask user again - step = get_progress_steps(self.project.args['app_id'], current_step) - if step and not execute_step(self.project.args['step'], current_step): + step = get_progress_steps(self.project.args['app_id'], self.project.current_step) + if step and not execute_step(self.project.args['step'], self.project.current_step): step_already_finished(self.project.args, step) return step['user_tasks'] @@ -98,14 +101,14 @@ class ProductOwner(Agent): logger.info(f"Generating user tasks...") user_tasks = self.convo_user_stories.send_message('user_stories/user_tasks.prompt', - {}, USER_TASKS) + {}, USER_TASKS) logger.info(user_tasks) user_tasks = get_additional_info_from_user(user_tasks, 'product_owner') logger.info(f"Final user tasks: {user_tasks}") - save_progress(self.project.args['app_id'], current_step, { + save_progress(self.project.args['app_id'], self.project.current_step, { "messages": self.convo_user_stories.messages, "user_tasks": user_tasks, "app_data": generate_app_data(self.project.args) diff --git a/euclid/helpers/agents/TechLead.py b/euclid/helpers/agents/TechLead.py index 0f7df7f..e61092d 100644 --- a/euclid/helpers/agents/TechLead.py +++ b/euclid/helpers/agents/TechLead.py @@ -1,3 +1,4 @@ +from utils.utils import step_already_finished from helpers.Agent import Agent import json from termcolor import colored @@ -21,19 +22,11 @@ class TechLead(Agent): self.project.current_step = 'development_planning' self.convo_development_plan = AgentConvo(self) - steps = get_progress_steps(self.project.args['app_id'], self.project.current_step) - if steps and not execute_step(self.project.args['step'], self.project.current_step): - first_step = steps[0] - data = json.loads(first_step['data']) - - app_data = data.get('app_data') - if app_data is not None: - self.project.args.update(app_data) - - message = f"Plan for development is already done for this app_id: {self.project.args['app_id']}. Moving to next step..." - print(colored(message, "green")) - logger.info(message) - return data.get('development_plan') + # If this app_id already did this step, just get all data from DB and don't ask user again + step = get_progress_steps(self.project.args['app_id'], self.project.current_step) + if step and not execute_step(self.project.args['step'], self.project.current_step): + step_already_finished(self.project.args, step) + return step['development_plan'] # DEVELOPMENT PLANNING print(colored(f"Starting to create the action plan for development...\n", "green"))