from flask import Flask
from config.config import init_config
from router.log_analysis_router import log_analysis_router
from utils.agentfactoryUtils import agentfactory
from utils.logger import setup_logger
from router.task import task_blueprint
from flask_cors import CORS
def create_app() -> Flask:
app = Flask(__name__)
CORS(app)
config = init_config()
app.config["SERVER"] = config.app_conf.server
app.config["PORT"] = config.app_conf.port
app.config["DEBUG"] = config.app_conf.debug
logger = setup_logger()
app.logger = logger
app.register_blueprint(task_blueprint, url_prefix="/task")
app.register_blueprint(log_analysis_router)
factory = agentfactory(config)
agent = factory.create_agent();
app.config["AGENT"] = agent
return app
def run_app():
app = create_app()
try:
app.run(
host=app.config["SERVER"],
port=int(app.config["PORT"]),
debug=app.config["DEBUG"],
)
except ValueError as e:
app.logger.error(f"Invalid app config: {e}")
exit(1)