{
"event": "PreToolUse",
"tool_name": "Write",
"tool_input": {
"file_path": "\/opt\/mcp-servers\/mcp-db\/domain\/execute_contract.py",
"content": "\"\"\"Execute Contracts - Request und Response für DDL\/DML Operationen.\"\"\"\nfrom dataclasses import dataclass\nfrom enum import Enum\n\n\nclass ExecuteStatus(Enum):\n \"\"\"Status einer Execute-Operation.\"\"\"\n\n SUCCESS = \"success\"\n ERROR = \"error\"\n DENIED = \"denied\"\n\n\n@dataclass(frozen=True)\nclass ExecuteRequest:\n \"\"\"Immutable Execute Request.\"\"\"\n\n statement: str\n database: str = \"ki_dev\"\n params: tuple | None = None\n\n\n@dataclass\nclass ExecuteResponse:\n \"\"\"Structured Execute Response.\"\"\"\n\n status: ExecuteStatus\n affected_rows: int = 0\n error: str | None = None\n execution_ms: float = 0.0\n\n def to_dict(self) -> dict:\n \"\"\"Konvertiert Response zu Dictionary für MCP.\"\"\"\n return {\n \"status\": self.status.value,\n \"affected_rows\": self.affected_rows,\n \"error\": self.error,\n \"execution_ms\": self.execution_ms,\n }\n"
}
}
{
"tool_response": {
"type": "create",
"filePath": "\/opt\/mcp-servers\/mcp-db\/domain\/execute_contract.py",
"content": "\"\"\"Execute Contracts - Request und Response für DDL\/DML Operationen.\"\"\"\nfrom dataclasses import dataclass\nfrom enum import Enum\n\n\nclass ExecuteStatus(Enum):\n \"\"\"Status einer Execute-Operation.\"\"\"\n\n SUCCESS = \"success\"\n ERROR = \"error\"\n DENIED = \"denied\"\n\n\n@dataclass(frozen=True)\nclass ExecuteRequest:\n \"\"\"Immutable Execute Request.\"\"\"\n\n statement: str\n database: str = \"ki_dev\"\n params: tuple | None = None\n\n\n@dataclass\nclass ExecuteResponse:\n \"\"\"Structured Execute Response.\"\"\"\n\n status: ExecuteStatus\n affected_rows: int = 0\n error: str | None = None\n execution_ms: float = 0.0\n\n def to_dict(self) -> dict:\n \"\"\"Konvertiert Response zu Dictionary für MCP.\"\"\"\n return {\n \"status\": self.status.value,\n \"affected_rows\": self.affected_rows,\n \"error\": self.error,\n \"execution_ms\": self.execution_ms,\n }\n",
"structuredPatch": [],
"originalFile": null
}
}