"""Скрипт индексации репозитория: создаёт RAG-сессию и индексирует указанную директорию. Используется для подготовки репозитория перед запуском тестовых пайплайнов с retrieval или full_chain. Запуск из корня проекта (agent): python -m tests.pipeline_setup.suite_02_pipeline.cli.index_repo --repo-path /path/to/repo [--project-id ID] Параметры: --repo-path (обязательный) Путь к корню индексируемого репозитория. --project-id (опционально) Идентификатор проекта для созданной rag_session; по умолчанию — имя директории репо. """ from __future__ import annotations import sys from pathlib import Path # Обеспечиваем импорт из корня проекта _agent_root = Path(__file__).resolve().parents[4] if str(_agent_root) not in sys.path: sys.path.insert(0, str(_agent_root)) # Добавляем src в путь для app _src = _agent_root / "src" if _src.exists() and str(_src) not in sys.path: sys.path.insert(0, str(_src)) def main() -> int: argv = ["reindex", *sys.argv[1:]] from tests.pipeline_setup.suite_02_pipeline.pipeline_intent_rag.cli import main as cli_main return cli_main(argv) if __name__ == "__main__": raise SystemExit(main())