Files
agent/tests/pipeline_setup_v3/cli/index_repo.py
T

34 lines
1.1 KiB
Python

from __future__ import annotations
import sys
from pathlib import Path
_agent_root = Path(__file__).resolve().parents[3]
if str(_agent_root) not in sys.path:
sys.path.insert(0, str(_agent_root))
_src = _agent_root / "src"
if _src.exists() and str(_src) not in sys.path:
sys.path.insert(0, str(_src))
from app.core.rag.persistence.repository import RagRepository
from tests.pipeline_setup_v3.shared.env_loader import load_pipeline_setup_env
from tests.pipeline_setup_v3.shared.rag_indexer import RagSessionIndexer
def main() -> int:
import argparse
parser = argparse.ArgumentParser(description="Index a repo for pipeline_setup_v3")
parser.add_argument("--repo-path", required=True, help="Repository path to index")
parser.add_argument("--project-id", default=None, help="Optional project id override")
ns = parser.parse_args(sys.argv[1:])
load_pipeline_setup_env(start_dir=Path(__file__).resolve().parents[1])
repo_path = Path(str(ns.repo_path)).expanduser().resolve()
RagSessionIndexer(RagRepository()).index_repo(repo_path, project_id=ns.project_id)
return 0
if __name__ == "__main__":
raise SystemExit(main())