import sys
from pathlib import Path

import pytest

sys.path.insert(0, str(Path(__file__).resolve().parents[1]))       # the project folder: `import copilot`

from copilot import Copilot, ExtractiveModel, HybridIndex, Telemetry, load_chunks  # noqa: E402


@pytest.fixture(scope="session")
def chunks():
    return load_chunks()


@pytest.fixture(scope="session")
def index(chunks):
    return HybridIndex(chunks)                 # built once: ~10 s for the whole site


@pytest.fixture
def telemetry():
    return Telemetry.setup(otlp=False)         # fresh in-memory exporters per test


@pytest.fixture
def copilot(index, telemetry):
    return Copilot(index, ExtractiveModel(), telemetry)
