content: [project]
  name = "assistant"
  version = "0.1.0"
  description = "A file-sharing mediator assistant for collaborative projects."
  authors = [{ name = "MADE: Explore" }]
  readme = "README.md"
  requires-python = ">=3.11"
  dependencies = [
      "assistant-extensions[attachments]>=0.1.0",
      "content-safety>=0.1.0",
      "openai>=1.61.0",
      "openai-client>=0.1.0",
      "semantic-workbench-assistant>=0.1.0",
  ]
  
  [dependency-groups]
  dev = [
      "pytest>=8.3.1",
      "pytest-asyncio>=0.23.8",
      "pytest-repeat>=0.9.3",
      "pyright>=1.1.389",
  ]
  
  [tool.hatch.build.targets.wheel]
  packages = ["assistant"]
  
  [tool.uv]
  package = true
  
  [tool.uv.sources]
  assistant-extensions = { path = "../../libraries/python/assistant-extensions", editable = true }
  content-safety = { path = "../../libraries/python/content-safety/", editable = true }
  openai-client = { path = "../../libraries/python/openai-client", editable = true }
  semantic-workbench-assistant = { path = "../../libraries/python/semantic-workbench-assistant", editable = true }
  
  [build-system]
  requires = ["hatchling"]
  build-backend = "hatchling.build"
  
  [tool.pyright]
  exclude = ["**/.venv", "**/.data", "**/__pycache__"]
  
  [tool.pytest.ini_options]
  addopts = "-vv"
  log_cli = true
  log_cli_level = "WARNING"
  log_cli_format = "%(asctime)s | %(levelname)-7s | %(name)s | %(message)s"
  asyncio_mode = "auto"
  asyncio_default_fixture_loop_scope = "function"
  
  # These ruff settings match /ruff.toml
  # but include import sorting in the lint section.
  # Leaving them all here for debugging temporarily.
  
  # [tool.ruff]
  # line-length = 120
  # target-version = "py311"
  
  # [tool.ruff.lint]
  # select = ["E4", "E7", "E9", "F", "I"]
  
  # [tool.ruff.format]
  # docstring-code-format = true
  # line-ending = "lf"
  # preview = true
  