[build-system]
requires = ["setuptools>=68.0", "setuptools-scm>=8.0"]
build-backend = "setuptools.build_meta"

[project]
name = "aegis-shield"
version = "0.1.0"
description = "Agent immune system — detect, contain, and recover from prompt injection and malicious behavior in AI agent networks"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.10"
authors = [{name = "Gaia Robotics"}]
keywords = ["ai", "security", "agents", "prompt-injection", "llm"]
classifiers = [
    "Development Status :: 3 - Alpha",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "Topic :: Security",
]
dependencies = ["pyyaml>=6.0", "pydantic>=2.0"]

[project.optional-dependencies]
broker = []
identity = ["cryptography>=41.0"]
memory = []
skills = []
ml = ["llm-guard>=0.3.14"]
ml-behavior = ["scikit-learn>=1.3"]
pii = ["presidio-analyzer>=2.2", "presidio-anonymizer>=2.2"]
yara = ["yara-python>=4.3"]
monitoring = ["httpx>=0.27"]
fuzzy = ["rapidfuzz>=3.0"]
embeddings = ["sentence-transformers>=2.6"]
content-gate = ["transformers>=4.36", "torch>=2.0"]
all = ["aegis-shield[broker,identity,memory,skills,ml,ml-behavior,pii,yara,fuzzy,monitoring,embeddings,content-gate]"]
dev = [
    "pytest>=7.0",
    "pytest-cov>=4.0",
    "ruff>=0.4.0",
]

[tool.setuptools.packages.find]
include = ["aegis*"]

[tool.setuptools.package-data]
aegis = ["profiles/*.yaml", "profiles/signatures/*.yaml"]

[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-v --tb=short"

[tool.ruff]
target-version = "py310"
line-length = 99

[tool.ruff.lint]
select = ["E", "F", "W", "I", "UP"]
