Subsequent flow of execution
(self, prompt: str, project_name: str)
| 177 | self.coder.save_code_to_project(code, project_name) |
| 178 | |
| 179 | def subsequent_execute(self, prompt: str, project_name: str): |
| 180 | """ |
| 181 | Subsequent flow of execution |
| 182 | """ |
| 183 | new_message = self.project_manager.new_message() |
| 184 | new_message['message'] = prompt |
| 185 | new_message['from_devika'] = False |
| 186 | self.project_manager.add_message_from_user(project_name, new_message['message']) |
| 187 | |
| 188 | os_system = platform.platform() |
| 189 | |
| 190 | self.agent_state.set_agent_active(project_name, True) |
| 191 | |
| 192 | conversation = self.project_manager.get_all_messages_formatted(project_name) |
| 193 | code_markdown = ReadCode(project_name).code_set_to_markdown() |
| 194 | |
| 195 | response, action = self.action.execute(conversation, project_name) |
| 196 | |
| 197 | self.project_manager.add_message_from_devika(project_name, response) |
| 198 | |
| 199 | print("\naction :: ", action, '\n') |
| 200 | |
| 201 | if action == "answer": |
| 202 | response = self.answer.execute( |
| 203 | conversation=conversation, |
| 204 | code_markdown=code_markdown, |
| 205 | project_name=project_name |
| 206 | ) |
| 207 | self.project_manager.add_message_from_devika(project_name, response) |
| 208 | |
| 209 | elif action == "run": |
| 210 | project_path = self.project_manager.get_project_path(project_name) |
| 211 | self.runner.execute( |
| 212 | conversation=conversation, |
| 213 | code_markdown=code_markdown, |
| 214 | os_system=os_system, |
| 215 | project_path=project_path, |
| 216 | project_name=project_name |
| 217 | ) |
| 218 | |
| 219 | elif action == "deploy": |
| 220 | deploy_metadata = Netlify().deploy(project_name) |
| 221 | deploy_url = deploy_metadata["deploy_url"] |
| 222 | |
| 223 | response = { |
| 224 | "message": "Done! I deployed your project on Netlify.", |
| 225 | "deploy_url": deploy_url |
| 226 | } |
| 227 | response = json.dumps(response, indent=4) |
| 228 | |
| 229 | self.project_manager.add_message_from_devika(project_name, response) |
| 230 | |
| 231 | elif action == "feature": |
| 232 | code = self.feature.execute( |
| 233 | conversation=conversation, |
| 234 | code_markdown=code_markdown, |
| 235 | system_os=os_system, |
| 236 | project_name=project_name |
no test coverage detected