{
"event": "PreToolUse",
"tool_name": "Edit",
"tool_input": {
"file_path": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/src\/domain\/ports\/browser_fetcher_port.py",
"old_string": "class BrowserFetcherPort(ABC):\n @abstractmethod\n async def fetch(self, url: NormalizedUrl, *, screenshot: bool = False) -> BrowserFetchResult: ...",
"new_string": "class BrowserFetcherPort(ABC):\n @abstractmethod\n async def fetch(\n self,\n url: NormalizedUrl,\n *,\n screenshot: bool = False,\n ) -> BrowserFetchResult: ...",
"replace_all": false
}
}
{
"tool_response": {
"filePath": "\/var\/www\/dev.campus.systemische-tools.de\/crawler\/src\/domain\/ports\/browser_fetcher_port.py",
"oldString": "class BrowserFetcherPort(ABC):\n @abstractmethod\n async def fetch(self, url: NormalizedUrl, *, screenshot: bool = False) -> BrowserFetchResult: ...",
"newString": "class BrowserFetcherPort(ABC):\n @abstractmethod\n async def fetch(\n self,\n url: NormalizedUrl,\n *,\n screenshot: bool = False,\n ) -> BrowserFetchResult: ...",
"originalFile": "from __future__ import annotations\n\nfrom abc import ABC, abstractmethod\nfrom collections.abc import Mapping\nfrom dataclasses import dataclass\n\nfrom src.domain.entities.js_error import JsError\nfrom src.domain.entities.resource import Resource\nfrom src.domain.value_objects.normalized_url import NormalizedUrl\nfrom src.domain.value_objects.performance_metrics import PerformanceMetrics\n\n\n@dataclass(frozen=True, slots=True)\nclass BrowserFetchResult:\n final_url: str\n status_code: int\n html: str\n headers: Mapping[str, str]\n js_errors: tuple[JsError, ...]\n resources: tuple[Resource, ...]\n performance: PerformanceMetrics\n render_time_ms: int\n screenshot_png: bytes | None\n\n\nclass BrowserFetcherPort(ABC):\n @abstractmethod\n async def fetch(self, url: NormalizedUrl, *, screenshot: bool = False) -> BrowserFetchResult: ...\n",
"structuredPatch": [
{
"oldStart": 25,
"oldLines": 4,
"newStart": 25,
"newLines": 9,
"lines": [
" ",
" class BrowserFetcherPort(ABC):",
" @abstractmethod",
"- async def fetch(self, url: NormalizedUrl, *, screenshot: bool = False) -> BrowserFetchResult: ...",
"+ async def fetch(",
"+ self,",
"+ url: NormalizedUrl,",
"+ *,",
"+ screenshot: bool = False,",
"+ ) -> BrowserFetchResult: ..."
]
}
],
"userModified": false,
"replaceAll": false
}
}