content: [project]
  name = "hosted-langchain-agents"
  version = "0.1.0"
  description = "Sample A2A server hosting LangChain agents"
  authors = [
      {name = "Your Name", email = "your.email@example.com"}
  ]
  readme = "README.md"
  requires-python = ">=3.11"
  dependencies = [
      "langchain>=0.1.0",
      "langchain-openai>=0.1.0",
      "a2a-sdk[sqlite]>=0.2.6",
      "python-dotenv>=1.0.0",
      "pydantic>=2.5.0",
      "httpx>=0.25.0",
      "uvicorn>=0.34.2",
      "click>=8.0.0",
  ]
  
  [project.optional-dependencies]
  dev = [
      "pytest>=7.4.0",
      "pytest-cov>=4.1.0",
      "pytest-asyncio>=0.21.0",
      "black>=23.0.0",
      "isort>=5.0.0",
      "flake8>=6.0.0",
      "mypy>=1.0.0",
  ]
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.hatch.build.targets.wheel]
  packages = ["src/hosted_langchain_agents"]
  
  # Black configuration - follow AI developer guide for 120 char line length
  [tool.black]
  line-length = 120
  target-version = ['py311']
  include = '\.pyi?$'
  
  # Flake8 configuration - allow 120 character lines per AI developer guide  
  [tool.flake8]
  max-line-length = 120
  extend-ignore = ["E203", "W503"]
  
  # isort configuration
  [tool.isort]
  profile = "black"
  line_length = 120
  multi_line_output = 3
  include_trailing_comma = true
  
  # MyPy configuration
  [tool.mypy]
  python_version = "3.11"
  warn_return_any = true
  warn_unused_configs = true
  disallow_untyped_defs = true
  
  # Pytest configuration
  [tool.pytest.ini_options]
  pythonpath = [
      "."
  ]
  testpaths = [
      "tests"
  ]
  asyncio_mode = "auto"
  
  [tool.coverage.run]
  source = ["hosted_langchain_agents"]
  
  [tool.coverage.report]
  exclude_lines = [
      "pragma: no cover",
      "def __repr__",
      "if __name__ == .__main__.:",
      "raise AssertionError",
      "raise NotImplementedError",
  ]