Repository navigation
Expand file tree
/
Copy pathpyproject.toml
More file actions
54 lines (46 loc) · 1.88 KB
/
Copy pathpyproject.toml
File metadata and controls
54 lines (46 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
[project]
name = "autobot-workspace"
version = "0.0.0"
description = "AutoBot workspace — autonomous defensive security agent (detect -> investigate -> respond)"
readme = "README.md"
license = { text = "Apache-2.0" }
requires-python = ">=3.13"
[tool.uv.workspace]
members = ["packages/*"]
[dependency-groups]
dev = [
"pytest>=8.0.0",
"ruff>=0.14.0",
]
[tool.ruff]
line-length = 100
target-version = "py313"
[tool.ruff.lint]
# The banned-api gate mirrors Decepticon's decepticon-core langchain-free
# guarantee: the shared contract layer must stay framework-free.
select = ["E", "F", "I", "W", "TID251"]
ignore = ["E501"]
[tool.ruff.lint.isort]
known-first-party = ["autobot", "decepticon_core"]
[tool.ruff.lint.flake8-tidy-imports.banned-api]
"langchain".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"langchain_core".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"langchain_anthropic".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"langchain_openai".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"langgraph".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"deepagents".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"httpx".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"fastapi".msg = "decepticon-core must stay langchain-free (spec §11.4)"
"uvicorn".msg = "decepticon-core must stay langchain-free (spec §11.4)"
[tool.ruff.lint.per-file-ignores]
# Scope banned-api to the contract layer only — the AutoBot agent runtime
# (2b) legitimately uses langchain / langgraph / httpx.
"packages/autobot/autobot/triage/**" = ["TID251"]
"packages/autobot/autobot/agent/**" = ["TID251"]
"packages/autobot/tests/**" = ["TID251"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
markers = [
"slow: integration tests that need a live backend (deselected by default)",
]
addopts = "-m 'not slow' -q"