This commit is contained in:
jinli.yl 2026-05-15 01:34:55 +08:00
parent 76adc00552
commit f16bdb0383
2 changed files with 17 additions and 18 deletions

View file

@ -2,10 +2,10 @@ from abc import abstractmethod
from ..base_component import BaseComponent
from ..embedding import BaseEmbeddingModel
from ..keyword_index import BaseKeywordIndex
from ..file_graph import BaseFileGraph
from ..keyword_index import BaseKeywordIndex
from ...enumeration import ComponentEnum
from ...schema import FileChunk, FileNode
from ...schema import FileChunk, FileNode, FileLink
class BaseFileStore(BaseComponent):
@ -49,3 +49,18 @@ class BaseFileStore(BaseComponent):
@abstractmethod
async def keyword_search(self, query: str, limit: int, search_filter: dict) -> list[FileChunk]:
"""Perform full-text keyword search."""
async def rebuild_links(self) -> None:
if not self.file_graph:
raise RuntimeError("file_graph is required for delete_by_path")
return await self.file_graph.rebuild_links()
async def get_outlinks(self, path: str) -> list[FileLink]:
if not self.file_graph:
raise RuntimeError("file_graph is required for delete_by_path")
return await self.file_graph.get_outlinks(path)
async def get_inlinks(self, path: str) -> list[FileLink]:
if not self.file_graph:
raise RuntimeError("file_graph is required for delete_by_path")
return await self.file_graph.get_inlinks(path)

View file

@ -3,7 +3,6 @@
import aiofiles
import numpy as np
from schema import FileLink
from .base_file_store import BaseFileStore
from ..component_registry import R
from ...schema import FileChunk, FileNode
@ -156,18 +155,3 @@ class LocalFileStore(BaseFileStore):
results.append(chunk.model_copy(update={"scores": {"keyword": score, "score": score}}))
return results
async def rebuild_links(self) -> None:
if not self.file_graph:
raise RuntimeError("file_graph is required for delete_by_path")
return await self.file_graph.rebuild_links()
async def get_outlinks(self, path: str) -> list[FileLink]:
if not self.file_graph:
raise RuntimeError("file_graph is required for delete_by_path")
return await self.file_graph.get_outlinks(path)
async def get_inlinks(self, path: str) -> list[FileLink]:
if not self.file_graph:
raise RuntimeError("file_graph is required for delete_by_path")
return await self.file_graph.get_inlinks(path)