first commit
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
import os
|
||||
from datetime import timedelta
|
||||
from dotenv import load_dotenv
|
||||
|
||||
load_dotenv()
|
||||
|
||||
|
||||
class Config:
|
||||
SECRET_KEY = os.environ.get("SECRET_KEY") or "dev-secret-key-change-in-production"
|
||||
|
||||
Flask_ENV = os.environ.get("FLASK_ENV") or "development"
|
||||
Flask_DEBUG = os.environ.get("FLASK_DEBUG", "True").lower() == "true"
|
||||
Flask_HOST = os.environ.get("FLASK_HOST", "0.0.0.0")
|
||||
Flask_PORT = int(os.environ.get("FLASK_PORT", 5000))
|
||||
|
||||
DATABASE_URL = (
|
||||
os.environ.get("DATABASE_URL")
|
||||
or "mysql+pymysql://sentclaw:sentclaw123@localhost:3306/sentclaw"
|
||||
)
|
||||
|
||||
REDIS_URL = os.environ.get("REDIS_URL") or "redis://:redis123@localhost:6379/0"
|
||||
|
||||
JWT_SECRET_KEY = (
|
||||
os.environ.get("JWT_SECRET_KEY") or "jwt-secret-key-change-in-production"
|
||||
)
|
||||
JWT_ACCESS_TOKEN_EXPIRES = timedelta(
|
||||
seconds=int(os.environ.get("JWT_ACCESS_TOKEN_EXPIRES", 3600))
|
||||
)
|
||||
|
||||
CORS_ORIGINS = os.environ.get(
|
||||
"CORS_ORIGINS", "http://localhost:5173,http://localhost:3000"
|
||||
).split(",")
|
||||
|
||||
UPLOAD_FOLDER = os.environ.get("UPLOAD_FOLDER", "uploads")
|
||||
MAX_CONTENT_LENGTH = int(os.environ.get("MAX_CONTENT_LENGTH", 16777216))
|
||||
|
||||
LOG_LEVEL = os.environ.get("LOG_LEVEL", "INFO")
|
||||
LOG_FILE = os.environ.get("LOG_FILE", "logs/app.log")
|
||||
|
||||
LLM_TIMEOUT = 30
|
||||
LLM_MAX_RETRIES = 3
|
||||
|
||||
MCP_TIMEOUT = 10
|
||||
|
||||
AGENT_MAX_ITERATIONS = 10
|
||||
AGENT_THINKING_TIMEOUT = 60
|
||||
|
||||
MEMORY_WINDOW_SIZE = 10
|
||||
MEMORY_COMPRESSION_THRESHOLD = 0.8
|
||||
|
||||
|
||||
class DevelopmentConfig(Config):
|
||||
DEBUG = True
|
||||
|
||||
|
||||
class ProductionConfig(Config):
|
||||
DEBUG = False
|
||||
|
||||
|
||||
class TestingConfig(Config):
|
||||
TESTING = True
|
||||
DATABASE_URL = "sqlite:///:memory:"
|
||||
|
||||
|
||||
config_by_name = {
|
||||
"development": DevelopmentConfig,
|
||||
"production": ProductionConfig,
|
||||
"testing": TestingConfig,
|
||||
}
|
||||
Reference in New Issue
Block a user