in devai-api/app/gitlab_utils.py [0:0]
def create_merge_request(prompt: str) -> str:
"""Creates a new GitLab merge request.
Args:
prompt (str): The prompt describing the changes to be made.
Returns:
str: The implementation details returned by the LLM.
Raises:
MergeRequestError: If an error occurs during the merge request creation.
"""
_, repo_name = get_repo_details()
try:
delete_folder(repo_name)
_clone_repo(repo_name)
codebase = load_codebase(repo_name, prompt)
instructions = _generate_llm_instructions(prompt, codebase)
implementation_details = _get_llm_response(instructions, repo_name)
new_gitlab_branch = _create_branch()
agent = _init_agent(new_gitlab_branch)
_create_gitlab_merge_request(implementation_details, agent)
return implementation_details
except Exception as e:
raise MergeRequestError(f"Failed to create merge request: {e}") from e
finally:
delete_folder(repo_name)