#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Agent By Parmar For Code Review - Main Entry Point This module serves as the entry point for the Agent By Parmar For Code Review application. It initializes the Gradio interface and starts the web server. """ import os import sys import logging from dotenv import load_dotenv # Add the project root to the Python path sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) # Import application modules from src.ui.gradio_app import create_gradio_app from src.core.agent_manager import AgentManager # Configure logging # Create logs directory if it doesn't exist logs_dir = os.path.join(os.path.dirname(__file__), '..', 'logs') os.makedirs(logs_dir, exist_ok=True) logging.basicConfig( level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', handlers=[ logging.StreamHandler(), logging.FileHandler(os.path.join(logs_dir, 'app.log'), mode='a') ] ) logger = logging.getLogger(__name__) def main(): """Main function to start the Agent By Parmar For Code Review application.""" # Load environment variables load_dotenv() # Create logs directory if it doesn't exist logs_dir = os.path.join(os.path.dirname(__file__), '..', 'logs') os.makedirs(logs_dir, exist_ok=True) # Initialize the agent manager agent_manager = AgentManager() # Create and launch the Gradio app app = create_gradio_app(agent_manager) # Start the Gradio server app.launch(server_name="0.0.0.0", server_port=7860) if __name__ == "__main__": try: logger.info("Starting Agent By Parmar For Code Review application") main() except Exception as e: logger.exception(f"Error starting application: {e}") sys.exit(1)