.PHONY: test test-integration test-watch lint format build

TEST ?= .
PYTHON_FILES ?= .
MYPY_CACHE ?= .mypy_cache

test:
	uv run pytest --ignore=langgraph-tests -m "not integration" $(TEST)
	cd langgraph-tests && PYTHONPATH=.. uv run --project .. pytest tests

test-integration:
	uv run pytest --ignore=langgraph-tests -m integration $(TEST)

test-watch:
	uv run ptw $(TEST)

lint:
	uv run ruff check $(PYTHON_FILES)
	uv run ruff format $(PYTHON_FILES) --check
	uv run mypy langgraph --cache-dir $(MYPY_CACHE)

format:
	uv run ruff format $(PYTHON_FILES)
	uv run ruff check --select I --fix $(PYTHON_FILES)

build:
	uv build
