"""
Iterative Searcher - Entry point for SGR-based code search.
This module re-exports the SGR searcher components for convenience.
The SGR (Schema-Guided Reasoning) approach enforces structured reasoning
through predefined steps for consistent, auditable code search.
Usage:
from src.searchers.iterative_searcher import SGRSearcher
searcher = SGRSearcher(verbose=True)
result = searcher.search(
query="Where is lazy evaluation implemented in QuerySet?",
repo_path="/path/to/django",
)
Or via eval:
SEARCHER_TYPE=sgr python -m eval.run_eval --dataset data/eval_dataset_v3.jsonl -v
"""
from .sgr_searcher import (
SGRSearcher,
SGRSearcherGPT4o,
SGRSearcherGPT4oMini,
SGRTools,
)
from .sgr import (
QuestionAnalysis,
SearchAction,
SearchPlan,
SearchResultInterpretation,
CodeLocation,
FinalAnswer,
SearchIteration,
CodeSearchProcess,
)
__all__ = [
# Searchers
"SGRSearcher",
"SGRSearcherGPT4o",
"SGRSearcherGPT4oMini",
"SGRTools",
# Schemas
"QuestionAnalysis",
"SearchAction",
"SearchPlan",
"SearchResultInterpretation",
"CodeLocation",
"FinalAnswer",
"SearchIteration",
"CodeSearchProcess",
]