.PHONY: install test lint typecheck benchmark build clean

install:
	pip install -e ".[dev,langchain]"

# Unit suite runs with NO API key — proving the tests are mocked and offline.
test:
	OPENAI_API_KEY= pytest tests/

lint:
	ruff check .
	mypy src/memzia

typecheck:
	mypy src/memzia

# The one command that touches a real LLM. Requires OPENAI_API_KEY.
benchmark:
	python benchmark/run_benchmark.py

build:
	python -m build

clean:
	rm -rf build dist *.egg-info src/*.egg-info
	rm -rf .pytest_cache .ruff_cache .mypy_cache
	find . -type d -name __pycache__ -exec rm -rf {} +
