{
"tool_response": {
"type": "update",
"filePath": "\/var\/www\/mcp-servers\/mcp_tasks\/config.py",
"content": "\"\"\"Zentrale Konfiguration für MCP-Tasks Server.\"\"\"\n\nimport sys\nfrom pathlib import Path\nfrom typing import ClassVar, List\n\n# Shared Foundation\nsys.path.insert(0, str(Path(__file__).parent.parent))\nfrom shared.config_base import BaseConfig\n\n\nclass Config(BaseConfig):\n \"\"\"\n Konfiguration für MCP-Tasks Server.\n\n Erbt alle DB-Konfiguration von BaseConfig.\n Definiert nur server-spezifische Werte.\n \"\"\"\n\n # Task-Konfiguration\n DEFAULT_TASK_TYPE: ClassVar[str] = \"ai_task\"\n MAX_RESULTS: ClassVar[int] = 100\n MAX_DESCRIPTION_LENGTH: ClassVar[int] = 50000\n\n # Ollama-Konfiguration für tasks_execute\n OLLAMA_HOST: ClassVar[str] = \"http:\/\/localhost:11434\"\n OLLAMA_DEFAULT_MODEL: ClassVar[str] = \"mistral\"\n OLLAMA_TIMEOUT: ClassVar[int] = 300\n\n # Task-Status-Werte\n VALID_STATUSES: ClassVar[List[str]] = [\n \"pending\",\n \"in_progress\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n ]\n\n # Task-Typen\n VALID_TYPES: ClassVar[List[str]] = [\n \"human_task\",\n \"ai_task\",\n \"mixed\",\n ]\n\n # Executor-Typen\n VALID_EXECUTOR_TYPES: ClassVar[List[str]] = [\n \"human\",\n \"ollama\",\n \"claude\",\n \"anthropic_api\",\n ]\n\n # Quality-Check Pfade\n PHPSTAN_BIN: ClassVar[str] = \"\/opt\/php-tools\/vendor\/bin\/phpstan\"\n CS_FIXER_BIN: ClassVar[str] = \"\/opt\/php-tools\/vendor\/bin\/php-cs-fixer\"\n SEMGREP_BIN: ClassVar[str] = \"\/root\/.local\/bin\/semgrep\"\n",
"structuredPatch": [
{
"oldStart": 1,
"oldLines": 36,
"newStart": 1,
"newLines": 34,
"lines": [
"-\"\"\"Zentrale Konfiguration für MCP-Tasks Server\"\"\"",
"-import os",
"-from typing import List",
"+\"\"\"Zentrale Konfiguration für MCP-Tasks Server.\"\"\"",
" ",
"+import sys",
"+from pathlib import Path",
"+from typing import ClassVar, List",
" ",
"-class Config:",
"- \"\"\"Konfiguration aus Environment Variables\"\"\"",
"+# Shared Foundation",
"+sys.path.insert(0, str(Path(__file__).parent.parent))",
"+from shared.config_base import BaseConfig",
" ",
"- # Datenbank für Task-Operationen",
"- DB_HOST: str = os.getenv(\"DB_HOST\", \"localhost\")",
"- DB_PORT: int = int(os.getenv(\"DB_PORT\", \"3306\"))",
"- DB_NAME: str = os.getenv(\"DB_NAME\", \"ki_dev\")",
"- DB_USER: str = os.getenv(\"DB_USER\", \"root\")",
"- DB_PASSWORD: str = os.getenv(\"DB_PASSWORD\", \"\")",
" ",
"- # Datenbank für Logging (separater User)",
"- LOG_DB_HOST: str = os.getenv(\"LOG_DB_HOST\", \"localhost\")",
"- LOG_DB_NAME: str = os.getenv(\"LOG_DB_NAME\", \"ki_dev\")",
"- LOG_DB_USER: str = os.getenv(\"LOG_DB_USER\", \"mcp_logger\")",
"- LOG_DB_PASSWORD: str = os.getenv(\"LOG_DB_PASSWORD\", \"\")",
"+class Config(BaseConfig):",
"+ \"\"\"",
"+ Konfiguration für MCP-Tasks Server.",
" ",
"+ Erbt alle DB-Konfiguration von BaseConfig.",
"+ Definiert nur server-spezifische Werte.",
"+ \"\"\"",
"+",
" # Task-Konfiguration",
"- DEFAULT_TASK_TYPE: str = \"ai_task\"",
"- MAX_RESULTS: int = 100",
"- MAX_DESCRIPTION_LENGTH: int = 50000",
"+ DEFAULT_TASK_TYPE: ClassVar[str] = \"ai_task\"",
"+ MAX_RESULTS: ClassVar[int] = 100",
"+ MAX_DESCRIPTION_LENGTH: ClassVar[int] = 50000",
" ",
" # Ollama-Konfiguration für tasks_execute",
"- OLLAMA_HOST: str = os.getenv(\"OLLAMA_HOST\", \"http:\/\/localhost:11434\")",
"- OLLAMA_DEFAULT_MODEL: str = os.getenv(\"OLLAMA_MODEL\", \"mistral\")",
"- OLLAMA_TIMEOUT: int = 300",
"+ OLLAMA_HOST: ClassVar[str] = \"http:\/\/localhost:11434\"",
"+ OLLAMA_DEFAULT_MODEL: ClassVar[str] = \"mistral\"",
"+ OLLAMA_TIMEOUT: ClassVar[int] = 300",
" ",
" # Task-Status-Werte",
"- VALID_STATUSES: List[str] = [",
"+ VALID_STATUSES: ClassVar[List[str]] = [",
" \"pending\",",
" \"in_progress\",",
" \"completed\","
]
},
{
"oldStart": 39,
"oldLines": 14,
"newStart": 37,
"newLines": 14,
"lines": [
" ]",
" ",
" # Task-Typen",
"- VALID_TYPES: List[str] = [",
"+ VALID_TYPES: ClassVar[List[str]] = [",
" \"human_task\",",
" \"ai_task\",",
" \"mixed\",",
" ]",
" ",
" # Executor-Typen",
"- VALID_EXECUTOR_TYPES: List[str] = [",
"+ VALID_EXECUTOR_TYPES: ClassVar[List[str]] = [",
" \"human\",",
" \"ollama\",",
" \"claude\","
]
},
{
"oldStart": 54,
"oldLines": 6,
"newStart": 52,
"newLines": 6,
"lines": [
" ]",
" ",
" # Quality-Check Pfade",
"- PHPSTAN_BIN: str = \"\/opt\/php-tools\/vendor\/bin\/phpstan\"",
"- CS_FIXER_BIN: str = \"\/opt\/php-tools\/vendor\/bin\/php-cs-fixer\"",
"- SEMGREP_BIN: str = \"\/root\/.local\/bin\/semgrep\"",
"+ PHPSTAN_BIN: ClassVar[str] = \"\/opt\/php-tools\/vendor\/bin\/phpstan\"",
"+ CS_FIXER_BIN: ClassVar[str] = \"\/opt\/php-tools\/vendor\/bin\/php-cs-fixer\"",
"+ SEMGREP_BIN: ClassVar[str] = \"\/root\/.local\/bin\/semgrep\""
]
}
],
"originalFile": "\"\"\"Zentrale Konfiguration für MCP-Tasks Server\"\"\"\nimport os\nfrom typing import List\n\n\nclass Config:\n \"\"\"Konfiguration aus Environment Variables\"\"\"\n\n # Datenbank für Task-Operationen\n DB_HOST: str = os.getenv(\"DB_HOST\", \"localhost\")\n DB_PORT: int = int(os.getenv(\"DB_PORT\", \"3306\"))\n DB_NAME: str = os.getenv(\"DB_NAME\", \"ki_dev\")\n DB_USER: str = os.getenv(\"DB_USER\", \"root\")\n DB_PASSWORD: str = os.getenv(\"DB_PASSWORD\", \"\")\n\n # Datenbank für Logging (separater User)\n LOG_DB_HOST: str = os.getenv(\"LOG_DB_HOST\", \"localhost\")\n LOG_DB_NAME: str = os.getenv(\"LOG_DB_NAME\", \"ki_dev\")\n LOG_DB_USER: str = os.getenv(\"LOG_DB_USER\", \"mcp_logger\")\n LOG_DB_PASSWORD: str = os.getenv(\"LOG_DB_PASSWORD\", \"\")\n\n # Task-Konfiguration\n DEFAULT_TASK_TYPE: str = \"ai_task\"\n MAX_RESULTS: int = 100\n MAX_DESCRIPTION_LENGTH: int = 50000\n\n # Ollama-Konfiguration für tasks_execute\n OLLAMA_HOST: str = os.getenv(\"OLLAMA_HOST\", \"http:\/\/localhost:11434\")\n OLLAMA_DEFAULT_MODEL: str = os.getenv(\"OLLAMA_MODEL\", \"mistral\")\n OLLAMA_TIMEOUT: int = 300\n\n # Task-Status-Werte\n VALID_STATUSES: List[str] = [\n \"pending\",\n \"in_progress\",\n \"completed\",\n \"failed\",\n \"cancelled\",\n ]\n\n # Task-Typen\n VALID_TYPES: List[str] = [\n \"human_task\",\n \"ai_task\",\n \"mixed\",\n ]\n\n # Executor-Typen\n VALID_EXECUTOR_TYPES: List[str] = [\n \"human\",\n \"ollama\",\n \"claude\",\n \"anthropic_api\",\n ]\n\n # Quality-Check Pfade\n PHPSTAN_BIN: str = \"\/opt\/php-tools\/vendor\/bin\/phpstan\"\n CS_FIXER_BIN: str = \"\/opt\/php-tools\/vendor\/bin\/php-cs-fixer\"\n SEMGREP_BIN: str = \"\/root\/.local\/bin\/semgrep\"\n"
}
}