generated from coulomb/repo-seed
first content-indexing slice
This commit is contained in:
@@ -7,6 +7,7 @@ from repo_registry.core.models import (
|
||||
AnalysisRun,
|
||||
CapabilitySummary,
|
||||
CandidateGraph,
|
||||
ContentChunk,
|
||||
ObservedFact,
|
||||
Repository,
|
||||
RepositoryAbilityMap,
|
||||
@@ -15,6 +16,7 @@ from repo_registry.core.models import (
|
||||
SearchResult,
|
||||
)
|
||||
from repo_registry.candidate_graph.generator import CandidateGraphGenerator
|
||||
from repo_registry.content_indexing.extractor import ContentExtractor
|
||||
from repo_registry.repo_ingestion.git import GitIngestionService
|
||||
from repo_registry.repo_ingestion.metadata import RepositoryMetadataExtractor
|
||||
from repo_registry.repo_scanning.scanner import DeterministicScanner
|
||||
@@ -34,6 +36,7 @@ class RegistryService:
|
||||
self.ingestion = ingestion or GitIngestionService()
|
||||
self.metadata_extractor = RepositoryMetadataExtractor()
|
||||
self.candidate_generator = CandidateGraphGenerator()
|
||||
self.content_extractor = ContentExtractor()
|
||||
|
||||
def register_repository(
|
||||
self,
|
||||
@@ -111,6 +114,13 @@ class RegistryService:
|
||||
else None
|
||||
)
|
||||
facts = self.store.list_observed_facts(repository_id, completed_run.id)
|
||||
chunks = self.content_extractor.extract(scan_result.source_path, facts)
|
||||
self.store.replace_content_chunks(
|
||||
repository_id,
|
||||
completed_run.id,
|
||||
completed_run.snapshot_id,
|
||||
chunks,
|
||||
)
|
||||
candidates = self.candidate_generator.generate(repository, facts)
|
||||
self.store.replace_candidate_graph(repository_id, completed_run.id, candidates)
|
||||
return ScanSummary(
|
||||
@@ -145,6 +155,13 @@ class RegistryService:
|
||||
) -> list[ObservedFact]:
|
||||
return self.store.list_observed_facts(repository_id, analysis_run_id)
|
||||
|
||||
def list_content_chunks(
|
||||
self,
|
||||
repository_id: int,
|
||||
analysis_run_id: int | None = None,
|
||||
) -> list[ContentChunk]:
|
||||
return self.store.list_content_chunks(repository_id, analysis_run_id)
|
||||
|
||||
def candidate_graph(self, repository_id: int, analysis_run_id: int) -> CandidateGraph:
|
||||
return self.store.get_candidate_graph(repository_id, analysis_run_id)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user