Use pathspec for monitor filtering

This commit is contained in:
Yiorgis Gozadinos 2025-10-29 10:13:53 +02:00
parent 77c6a7c7a4
commit a15f1d8cf5
No known key found for this signature in database
4 changed files with 13 additions and 0 deletions

View file

@ -26,6 +26,7 @@ dependencies = [
"fastmcp>=2.12.4",
"httpx>=0.28.1",
"lancedb>=0.25.2",
"pathspec>=0.12.1",
"pydantic>=2.12.2",
"pydantic-ai>=1.0.18",
"pydantic-graph>=1.0.18",

View file

@ -8,6 +8,8 @@ from haiku.rag.utils import get_default_data_dir
class StorageConfig(BaseModel):
data_dir: Path = Field(default_factory=get_default_data_dir)
monitor_directories: list[Path] = []
monitor_ignore_patterns: list[str] = []
monitor_include_patterns: list[str] = []
disable_autocreate: bool = False
vacuum_retention_seconds: int = 60

View file

@ -82,3 +82,11 @@ async def test_config_validation_on_db_load(temp_db_path):
finally:
Config.processing.chunk_size = original_chunk_size
def test_monitor_filter_patterns_config():
"""Test that monitor filter patterns are available in config."""
assert hasattr(Config.storage, "monitor_ignore_patterns")
assert hasattr(Config.storage, "monitor_include_patterns")
assert isinstance(Config.storage.monitor_ignore_patterns, list)
assert isinstance(Config.storage.monitor_include_patterns, list)

View file

@ -1130,6 +1130,7 @@ dependencies = [
{ name = "fastmcp" },
{ name = "httpx" },
{ name = "lancedb" },
{ name = "pathspec" },
{ name = "pydantic" },
{ name = "pydantic-ai" },
{ name = "pydantic-graph" },
@ -1175,6 +1176,7 @@ requires-dist = [
{ name = "httpx", specifier = ">=0.28.1" },
{ name = "lancedb", specifier = ">=0.25.2" },
{ name = "mxbai-rerank", marker = "extra == 'mxbai'", specifier = ">=0.1.6" },
{ name = "pathspec", specifier = ">=0.12.1" },
{ name = "pydantic", specifier = ">=2.12.2" },
{ name = "pydantic-ai", specifier = ">=1.0.18" },
{ name = "pydantic-graph", specifier = ">=1.0.18" },