File size: 1,355 Bytes
80dbb6b
bd89f4a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
34
import streamlit as st
from git import Repo
from git_monitor import GitMonitor
from huggingface_models import HuggingFaceModels

# Initialize GitHub and Hugging Face modules
github_monitor = GitMonitor()
huggingface_models = HuggingFaceModels()

# Title and sidebar
st.title('GitHub-HF Monitor')
st.sidebar('Select a repository')

# Repository selection
selected_repo = st.sidebar.selectbox('', ['enricoros/big-agi', 'Ig0tU/miagiii'])

# Repository monitoring
if st.button('Monitor'):
    if selected_repo == 'enricoros/big-agi':
        issues = github_monitor.get_issues(selected_repo)
        for issue in issues:
            st.write(f"Issue {issue.number}: {issue.title}")
            st.write(issue.body)
            # Replicate and resolve issues
            if st.button('Replicate & Resolve'):
                github_monitor.clone_repo(selected_repo)
                github_monitor.replicate_issue(issue)
                code_changes = huggingface_models.resolve_issue(issue)
                github_monitor.apply_code_changes(code_changes)
                github_monitor.push_changes()
                github_monitor.create_pull_request(selected_repo)
                st.write('Issue resolved and pull request created!')
    elif selected_repo == 'Ig0tU/miagiii':
        st.write('Monitoring the Ig0tU/miagiii repository. No issues to display.')