Files
hack/tools/scripts/llm-key-hunter/results/_cache/content/autoalexai-sketch_consilium-ai.json
T

1 line
18 KiB
JSON

{"repo": "autoalexai-sketch/consilium-ai", "files": {"app/config.py": {"7c7c330c0a8453678a27221e05bf49d756c3c164": {"t": 1785745414.3077147, "n": 3730, "h": "1307e900cadff02b", "c": "\"\"\"\napp/config.py -- Settings for CONSILIUM AI v3.0.\nReads variables from .env via python-dotenv.\n\"\"\"\n\nimport os\nfrom dotenv import load_dotenv\nfrom loguru import logger\n\nload_dotenv()\n\n\nclass Settings:\n APP_NAME: str = \"Consilium AI\"\n APP_VERSION: str = \"3.0.0\"\n DESCRIPTION: str = \"Multi-agent AI Deliberation System\"\n\n # --- Database ---\n DB_PATH: str = \"consilium.db\"\n DATABASE_URL: str = os.getenv(\"DATABASE_URL\", \"sqlite:///./consilium.db\")\n\n # --- AI providers ---\n OPENROUTER_API_KEY: str = os.getenv(\"OPENROUTER_API_KEY\", \"\")\n ANTHROPIC_API_KEY: str = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n GEMINI_API_KEY: str = os.getenv(\"GEMINI_API_KEY\", \"\")\n GROQ_API_KEY: str = os.getenv(\"GROQ_API_KEY\", \"\")\n DEEPSEEK_API_KEY: str = os.getenv(\"DEEPSEEK_API_KEY\", \"\")\n\n # --- Ollama (optional, local only) ---\n OLLAMA_URL: str = os.getenv(\"OLLAMA_URL\", \"http://localhost:11434\")\n\n # --- SMTP mail ---\n SMTP_SERVER: str = os.getenv(\"SMTP_SERVER\", \"smtp.gmail.com\")\n SMTP_PORT: int = int(os.getenv(\"SMTP_PORT\", \"587\"))\n SMTP_USER: str = os.getenv(\"SMTP_USER\", \"\")\n SMTP_PASS: str = os.getenv(\"SMTP_PASS\", \"\")\n\n # --- Security ---\n SECRET_KEY: str = os.getenv(\"SECRET_KEY\", \"\")\n\n # --- JWT ---\n JWT_ALGORITHM: str = \"HS256\"\n JWT_EXPIRE_HOURS: int = int(os.getenv(\"JWT_EXPIRE_HOURS\", \"24\"))\n\n # --- CORS ---\n CORS_ORIGINS: list = os.getenv(\"CORS_ORIGINS\", \"*\").split(\",\")\n\n # --- Stripe (credit top-up billing) ---\n STRIPE_SECRET_KEY: str = os.getenv(\"STRIPE_SECRET_KEY\", \"\")\n STRIPE_WEBHOOK_SECRET: str = os.getenv(\"STRIPE_WEBHOOK_SECRET\", \"\")\n STRIPE_PUBLISHABLE_KEY: str = os.getenv(\"STRIPE_PUBLISHABLE_KEY\", \"\")\n PUBLIC_BASE_URL: str = os.getenv(\"PUBLIC_BASE_URL\", \"http://localhost:8000\")\n\n # --- hCaptcha (bot protection on /register) ---\n # Get keys at: https://dashboard.hcaptcha.com\n # If HCAPTCHA_SECRET is empty, captcha verification is skipped (dev mode).\n # Site key is public -- safe to expose in frontend JS.\n HCAPTCHA_SECRET: str = os.getenv(\"HCAPTCHA_SECRET\", \"\")\n HCAPTCHA_SITE_KEY: str = os.getenv(\"HCAPTCHA_SITE_KEY\", \"\")\n\n\n# -- Singleton instance -------------------------------------------------------\nsettings = Settings()\n\n# -- Startup checks (warnings, NOT crashes) -----------------------------------\nif not settings.OPENROUTER_API_KEY:\n logger.warning(\n \"⚠️ OPENROUTER_API_KEY not found. \"\n \"Council mode unavailable. Add key to .env\"\n )\n\nif not settings.SECRET_KEY:\n raise ValueError(\"❌ SECRET_KEY not set in .env!\")\n\nif not settings.STRIPE_SECRET_KEY:\n logger.warning(\n \"⚠️ STRIPE_SECRET_KEY not found. \"\n \"Credit top-up (billing) unavailable until configured in .env\"\n )\n\nif not settings.HCAPTCHA_SECRET:\n logger.warning(\n \"⚠️ HCAPTCHA_SECRET not set. \"\n \"Bot protection on /register is DISABLED. \"\n \"Set HCAPTCHA_SECRET + HCAPTCHA_SITE_KEY in .env to enable.\"\n )\n\n# -- Log active providers -----------------------------------------------------\n_providers = []\nif settings.OPENROUTER_API_KEY: _providers.append(\"OpenRouter\")\nif settings.ANTHROPIC_API_KEY: _providers.append(\"Claude\")\nif settings.GEMINI_API_KEY: _providers.append(\"Gemini\")\nif settings.GROQ_API_KEY: _providers.append(\"Groq\")\nif settings.DEEPSEEK_API_KEY: _providers.append(\"DeepSeek\")\nlogger.info(f\"🔑 Active providers: {', '.join(_providers) or 'none'}\")\nlogger.info(f\"🔐 JWT: algorithm={settings.JWT_ALGORITHM} | expire={settings.JWT_EXPIRE_HOURS}h\")\nlogger.info(f\"💳 Stripe billing: {'configured' if settings.STRIPE_SECRET_KEY else 'NOT configured'}\")\nlogger.info(f\"🤖 hCaptcha: {'enabled' if settings.HCAPTCHA_SECRET else 'disabled (dev mode)'}\")\n"}, "16e84861936a3f53bb510d09484b0f1bd92cd55e": {"t": 1785752958.6543453, "n": 3730, "h": "1307e900cadff02b", "c": "\"\"\"\napp/config.py -- Settings for CONSILIUM AI v3.0.\nReads variables from .env via python-dotenv.\n\"\"\"\n\nimport os\nfrom dotenv import load_dotenv\nfrom loguru import logger\n\nload_dotenv()\n\n\nclass Settings:\n APP_NAME: str = \"Consilium AI\"\n APP_VERSION: str = \"3.0.0\"\n DESCRIPTION: str = \"Multi-agent AI Deliberation System\"\n\n # --- Database ---\n DB_PATH: str = \"consilium.db\"\n DATABASE_URL: str = os.getenv(\"DATABASE_URL\", \"sqlite:///./consilium.db\")\n\n # --- AI providers ---\n OPENROUTER_API_KEY: str = os.getenv(\"OPENROUTER_API_KEY\", \"\")\n ANTHROPIC_API_KEY: str = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n GEMINI_API_KEY: str = os.getenv(\"GEMINI_API_KEY\", \"\")\n GROQ_API_KEY: str = os.getenv(\"GROQ_API_KEY\", \"\")\n DEEPSEEK_API_KEY: str = os.getenv(\"DEEPSEEK_API_KEY\", \"\")\n\n # --- Ollama (optional, local only) ---\n OLLAMA_URL: str = os.getenv(\"OLLAMA_URL\", \"http://localhost:11434\")\n\n # --- SMTP mail ---\n SMTP_SERVER: str = os.getenv(\"SMTP_SERVER\", \"smtp.gmail.com\")\n SMTP_PORT: int = int(os.getenv(\"SMTP_PORT\", \"587\"))\n SMTP_USER: str = os.getenv(\"SMTP_USER\", \"\")\n SMTP_PASS: str = os.getenv(\"SMTP_PASS\", \"\")\n\n # --- Security ---\n SECRET_KEY: str = os.getenv(\"SECRET_KEY\", \"\")\n\n # --- JWT ---\n JWT_ALGORITHM: str = \"HS256\"\n JWT_EXPIRE_HOURS: int = int(os.getenv(\"JWT_EXPIRE_HOURS\", \"24\"))\n\n # --- CORS ---\n CORS_ORIGINS: list = os.getenv(\"CORS_ORIGINS\", \"*\").split(\",\")\n\n # --- Stripe (credit top-up billing) ---\n STRIPE_SECRET_KEY: str = os.getenv(\"STRIPE_SECRET_KEY\", \"\")\n STRIPE_WEBHOOK_SECRET: str = os.getenv(\"STRIPE_WEBHOOK_SECRET\", \"\")\n STRIPE_PUBLISHABLE_KEY: str = os.getenv(\"STRIPE_PUBLISHABLE_KEY\", \"\")\n PUBLIC_BASE_URL: str = os.getenv(\"PUBLIC_BASE_URL\", \"http://localhost:8000\")\n\n # --- hCaptcha (bot protection on /register) ---\n # Get keys at: https://dashboard.hcaptcha.com\n # If HCAPTCHA_SECRET is empty, captcha verification is skipped (dev mode).\n # Site key is public -- safe to expose in frontend JS.\n HCAPTCHA_SECRET: str = os.getenv(\"HCAPTCHA_SECRET\", \"\")\n HCAPTCHA_SITE_KEY: str = os.getenv(\"HCAPTCHA_SITE_KEY\", \"\")\n\n\n# -- Singleton instance -------------------------------------------------------\nsettings = Settings()\n\n# -- Startup checks (warnings, NOT crashes) -----------------------------------\nif not settings.OPENROUTER_API_KEY:\n logger.warning(\n \"⚠️ OPENROUTER_API_KEY not found. \"\n \"Council mode unavailable. Add key to .env\"\n )\n\nif not settings.SECRET_KEY:\n raise ValueError(\"❌ SECRET_KEY not set in .env!\")\n\nif not settings.STRIPE_SECRET_KEY:\n logger.warning(\n \"⚠️ STRIPE_SECRET_KEY not found. \"\n \"Credit top-up (billing) unavailable until configured in .env\"\n )\n\nif not settings.HCAPTCHA_SECRET:\n logger.warning(\n \"⚠️ HCAPTCHA_SECRET not set. \"\n \"Bot protection on /register is DISABLED. \"\n \"Set HCAPTCHA_SECRET + HCAPTCHA_SITE_KEY in .env to enable.\"\n )\n\n# -- Log active providers -----------------------------------------------------\n_providers = []\nif settings.OPENROUTER_API_KEY: _providers.append(\"OpenRouter\")\nif settings.ANTHROPIC_API_KEY: _providers.append(\"Claude\")\nif settings.GEMINI_API_KEY: _providers.append(\"Gemini\")\nif settings.GROQ_API_KEY: _providers.append(\"Groq\")\nif settings.DEEPSEEK_API_KEY: _providers.append(\"DeepSeek\")\nlogger.info(f\"🔑 Active providers: {', '.join(_providers) or 'none'}\")\nlogger.info(f\"🔐 JWT: algorithm={settings.JWT_ALGORITHM} | expire={settings.JWT_EXPIRE_HOURS}h\")\nlogger.info(f\"💳 Stripe billing: {'configured' if settings.STRIPE_SECRET_KEY else 'NOT configured'}\")\nlogger.info(f\"🤖 hCaptcha: {'enabled' if settings.HCAPTCHA_SECRET else 'disabled (dev mode)'}\")\n"}, "32f2cfdc2f3e0eda4adbb6ed6b2ed4b38a199903": {"t": 1785752960.0215414, "n": 3290, "h": "84524a0bdbe029fc", "c": "\"\"\"\napp/config.py -- Settings for CONSILIUM AI v3.0.\nReads variables from .env via python-dotenv.\n\"\"\"\n\nimport os\nfrom dotenv import load_dotenv\nfrom loguru import logger\n\nload_dotenv()\n\n\nclass Settings:\n APP_NAME: str = \"Consilium AI\"\n APP_VERSION: str = \"3.0.0\"\n DESCRIPTION: str = \"Multi-agent AI Deliberation System\"\n\n # --- Database ---\n DB_PATH: str = \"consilium.db\"\n DATABASE_URL: str = os.getenv(\"DATABASE_URL\", \"sqlite:///./consilium.db\")\n\n # --- AI providers ---\n OPENROUTER_API_KEY: str = os.getenv(\"OPENROUTER_API_KEY\", \"\")\n ANTHROPIC_API_KEY: str = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n GEMINI_API_KEY: str = os.getenv(\"GEMINI_API_KEY\", \"\")\n GROQ_API_KEY: str = os.getenv(\"GROQ_API_KEY\", \"\")\n\n # --- Ollama (optional, local only) ---\n OLLAMA_URL: str = os.getenv(\"OLLAMA_URL\", \"http://localhost:11434\")\n\n # --- SMTP mail ---\n SMTP_SERVER: str = os.getenv(\"SMTP_SERVER\", \"smtp.gmail.com\")\n SMTP_PORT: int = int(os.getenv(\"SMTP_PORT\", \"587\"))\n SMTP_USER: str = os.getenv(\"SMTP_USER\", \"\")\n SMTP_PASS: str = os.getenv(\"SMTP_PASS\", \"\")\n\n # --- Security ---\n SECRET_KEY: str = os.getenv(\"SECRET_KEY\", \"\")\n\n # --- JWT ---\n JWT_ALGORITHM: str = \"HS256\"\n JWT_EXPIRE_HOURS: int = int(os.getenv(\"JWT_EXPIRE_HOURS\", \"24\"))\n\n # --- CORS ---\n CORS_ORIGINS: list = os.getenv(\"CORS_ORIGINS\", \"*\").split(\",\")\n\n # --- Stripe (credit top-up billing) ---\n # All three are blank by default -- billing endpoints check for this and\n # return 503 \"Billing not configured\" rather than crashing on import, so\n # the rest of the app keeps working even before Stripe is wired up.\n STRIPE_SECRET_KEY: str = os.getenv(\"STRIPE_SECRET_KEY\", \"\")\n STRIPE_WEBHOOK_SECRET: str = os.getenv(\"STRIPE_WEBHOOK_SECRET\", \"\")\n STRIPE_PUBLISHABLE_KEY: str = os.getenv(\"STRIPE_PUBLISHABLE_KEY\", \"\")\n # Base URL used to build Stripe Checkout success_url/cancel_url redirects.\n # Must match wherever the frontend is actually served from.\n PUBLIC_BASE_URL: str = os.getenv(\"PUBLIC_BASE_URL\", \"http://localhost:8000\")\n\n\n# -- Singleton instance ──────────────────────────────────────────────────────\nsettings = Settings()\n\n# -- Startup checks (warnings, NOT crashes) ──────────────────────────────────\nif not settings.OPENROUTER_API_KEY:\n logger.warning(\n \"⚠️ OPENROUTER_API_KEY not found. \"\n \"Council mode unavailable. Add key to .env\"\n )\n\nif not settings.SECRET_KEY:\n raise ValueError(\"❌ SECRET_KEY not set in .env!\")\n\nif not settings.STRIPE_SECRET_KEY:\n logger.warning(\n \"⚠️ STRIPE_SECRET_KEY not found. \"\n \"Credit top-up (billing) unavailable until configured in .env\"\n )\n\n# -- Log active providers ────────────────────────────────────────────────────\n_providers = []\nif settings.OPENROUTER_API_KEY: _providers.append(\"OpenRouter\")\nif settings.ANTHROPIC_API_KEY: _providers.append(\"Claude\")\nif settings.GEMINI_API_KEY: _providers.append(\"Gemini\")\nif settings.GROQ_API_KEY: _providers.append(\"Groq\")\nlogger.info(f\"🔑 Active providers: {', '.join(_providers) or 'none'}\")\nlogger.info(f\"🔐 JWT: algorithm={settings.JWT_ALGORITHM} | expire={settings.JWT_EXPIRE_HOURS}h\")\nlogger.info(f\"💳 Stripe billing: {'configured' if settings.STRIPE_SECRET_KEY else 'NOT configured'}\")\n"}, "2808d4722da7f73abadedfea8c6e57aa1c44db7c": {"t": 1785752961.416122, "n": 2306, "h": "04a4dc58893070f7", "c": "\"\"\"\napp/config.py -- Settings for CONSILIUM AI v3.0.\nReads variables from .env via python-dotenv.\n\"\"\"\n\nimport os\nfrom dotenv import load_dotenv\nfrom loguru import logger\n\nload_dotenv()\n\n\nclass Settings:\n APP_NAME: str = \"Consilium AI\"\n APP_VERSION: str = \"3.0.0\"\n DESCRIPTION: str = \"Multi-agent AI Deliberation System\"\n\n # --- Database ---\n DB_PATH: str = \"consilium.db\"\n DATABASE_URL: str = os.getenv(\"DATABASE_URL\", \"sqlite:///./consilium.db\")\n\n # --- AI providers ---\n OPENROUTER_API_KEY: str = os.getenv(\"OPENROUTER_API_KEY\", \"\")\n ANTHROPIC_API_KEY: str = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n GEMINI_API_KEY: str = os.getenv(\"GEMINI_API_KEY\", \"\")\n GROQ_API_KEY: str = os.getenv(\"GROQ_API_KEY\", \"\")\n\n # --- Ollama (optional, local only) ---\n OLLAMA_URL: str = os.getenv(\"OLLAMA_URL\", \"http://localhost:11434\")\n\n # --- SMTP mail ---\n SMTP_SERVER: str = os.getenv(\"SMTP_SERVER\", \"smtp.gmail.com\")\n SMTP_PORT: int = int(os.getenv(\"SMTP_PORT\", \"587\"))\n SMTP_USER: str = os.getenv(\"SMTP_USER\", \"\")\n SMTP_PASS: str = os.getenv(\"SMTP_PASS\", \"\")\n\n # --- Security ---\n SECRET_KEY: str = os.getenv(\"SECRET_KEY\", \"\")\n\n # --- JWT ---\n JWT_ALGORITHM: str = \"HS256\"\n JWT_EXPIRE_HOURS: int = int(os.getenv(\"JWT_EXPIRE_HOURS\", \"24\"))\n\n # --- CORS ---\n CORS_ORIGINS: list = os.getenv(\"CORS_ORIGINS\", \"*\").split(\",\")\n\n\n# -- Singleton instance ──────────────────────────────────────────────────────\nsettings = Settings()\n\n# -- Startup checks (warnings, NOT crashes) ──────────────────────────────────\nif not settings.OPENROUTER_API_KEY:\n logger.warning(\n \"⚠️ OPENROUTER_API_KEY not found. \"\n \"Council mode unavailable. Add key to .env\"\n )\n\nif not settings.SECRET_KEY:\n raise ValueError(\"❌ SECRET_KEY not set in .env!\")\n\n# -- Log active providers ────────────────────────────────────────────────────\n_providers = []\nif settings.OPENROUTER_API_KEY: _providers.append(\"OpenRouter\")\nif settings.ANTHROPIC_API_KEY: _providers.append(\"Claude\")\nif settings.GEMINI_API_KEY: _providers.append(\"Gemini\")\nif settings.GROQ_API_KEY: _providers.append(\"Groq\")\nlogger.info(f\"🔑 Active providers: {', '.join(_providers) or 'none'}\")\nlogger.info(f\"🔐 JWT: algorithm={settings.JWT_ALGORITHM} | expire={settings.JWT_EXPIRE_HOURS}h\")\n"}, "0ab22bd93614d4fff6408b1faa1c01c67b6ad30d": {"t": 1785752962.6443279, "n": 2327, "h": "9b608b4e93a436e5", "c": "\"\"\"\napp/config.py — Настройки CONSILIUM AI v3.0.\nЧитает переменные из .env через python-dotenv.\n\"\"\"\n\nimport os\nfrom dotenv import load_dotenv\nfrom loguru import logger\n\nload_dotenv()\n\n\nclass Settings:\n APP_NAME: str = \"Consilium AI\"\n APP_VERSION: str = \"3.0.0\"\n DESCRIPTION: str = \"Multi-agent AI Deliberation System\"\n\n # --- База данных ---\n DB_PATH: str = \"consilium.db\"\n DATABASE_URL: str = os.getenv(\"DATABASE_URL\", \"sqlite:///./consilium.db\")\n\n # --- AI-провайдеры ---\n OPENROUTER_API_KEY: str = os.getenv(\"OPENROUTER_API_KEY\", \"\")\n ANTHROPIC_API_KEY: str = os.getenv(\"ANTHROPIC_API_KEY\", \"\")\n GEMINI_API_KEY: str = os.getenv(\"GEMINI_API_KEY\", \"\")\n GROQ_API_KEY: str = os.getenv(\"GROQ_API_KEY\", \"\")\n\n # --- Ollama (опционально, только локально) ---\n OLLAMA_URL: str = os.getenv(\"OLLAMA_URL\", \"http://localhost:11434\")\n\n # --- SMTP-почта ---\n SMTP_SERVER: str = os.getenv(\"SMTP_SERVER\", \"smtp.gmail.com\")\n SMTP_PORT: int = int(os.getenv(\"SMTP_PORT\", \"587\"))\n SMTP_USER: str = os.getenv(\"SMTP_USER\", \"\")\n SMTP_PASS: str = os.getenv(\"SMTP_PASS\", \"\")\n\n # --- Безопасность ---\n SECRET_KEY: str = os.getenv(\"SECRET_KEY\", \"\")\n\n # --- JWT ---\n JWT_ALGORITHM: str = \"HS256\"\n JWT_EXPIRE_HOURS: int = int(os.getenv(\"JWT_EXPIRE_HOURS\", \"24\"))\n\n # --- CORS ---\n CORS_ORIGINS: list = os.getenv(\"CORS_ORIGINS\", \"*\").split(\",\")\n\n\n# ── Единственный экземпляр ────────────────────────────────────────────────\nsettings = Settings()\n\n# ── Проверки при старте (предупреждения, НЕ краши) ────────────────────────\nif not settings.OPENROUTER_API_KEY:\n logger.warning(\n \"⚠️ OPENROUTER_API_KEY не найден. \"\n \"Council-режим недоступен. Добавьте ключ в .env\"\n )\n\nif not settings.SECRET_KEY:\n raise ValueError(\"❌ SECRET_KEY не установлен в .env!\")\n\n# ── Лог доступных провайдеров ─────────────────────────────────────────────\n_providers = []\nif settings.OPENROUTER_API_KEY: _providers.append(\"OpenRouter\")\nif settings.ANTHROPIC_API_KEY: _providers.append(\"Claude\")\nif settings.GEMINI_API_KEY: _providers.append(\"Gemini\")\nif settings.GROQ_API_KEY: _providers.append(\"Groq\")\nlogger.info(f\"🔑 Активные провайдеры: {', '.join(_providers) or 'нет'}\")\nlogger.info(f\"🔐 JWT: algorithm={settings.JWT_ALGORITHM} | expire={settings.JWT_EXPIRE_HOURS}h\")\n"}}}}