[build-system]
requires = ["setuptools>=61.0", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "agent-primitives"
version = "0.2.0"
description = "Shared primitive data models for Agent OS - failure types, severity levels, and base structures"
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.8"
authors = [
    {name = "Imran Siddique", email = "imran@example.com"}
]
keywords = [
    "agent",
    "ai",
    "llm",
    "primitives",
    "models",
    "failures",
    "multi-agent",
]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Operating System :: OS Independent",
    "Typing :: Typed",
]

dependencies = [
    "pydantic>=2.0.0",
]

[project.optional-dependencies]
dev = [
    "pytest>=7.4.0",
    "mypy>=1.8.0",
    "ruff>=0.1.0",
]

[project.urls]
Homepage = "https://github.com/imran-siddique/agent-primitives"
Repository = "https://github.com/imran-siddique/agent-primitives.git"
Issues = "https://github.com/imran-siddique/agent-primitives/issues"

[tool.setuptools]
packages = ["agent_primitives"]
include-package-data = true

[tool.setuptools.package-data]
"*" = ["py.typed"]

[tool.ruff]
target-version = "py38"
line-length = 100

[tool.mypy]
python_version = "3.8"
warn_return_any = true
disallow_untyped_defs = true
