Files
AFFAANh 985527a451 fix(meta): cover access-token env handling, JSON-encoded creative, and previews fail-fast contract
Address code review findings on the read-only Meta Graph client: add
monkeypatch-based tests for access_token_from_env/MetaNotConfiguredError,
assert generate_previews JSON-encodes the creative param, pin the
existing fail-fast-on-partial-error contract with a dedicated test, and
declare httpx as an explicit dependency since it was only resolving
transitively.
2026-08-01 13:21:57 +05:30

101 lines
2.1 KiB
TOML

[project]
name = "maskanx"
dynamic = ["version"]
description = "Multi-agent AI marketing team with 122 skills, multi-channel support, and shared memory"
readme = "README.md"
requires-python = ">=3.10,<3.14"
license = {text = "Proprietary"}
dependencies = [
"agentscope==1.0.18",
"agentscope-runtime==1.1.3",
"exceptiongroup>=1.2.0; python_version < '3.11'",
"uvicorn>=0.40.0",
"apscheduler>=3.11.2,<4",
"questionary>=2.1.1",
"reme-ai==0.3.0.5",
"python-dotenv>=1.0.0",
"python-socks>=2.5.3",
"onnxruntime<1.24",
"python-telegram-bot>=20.0",
"aiosqlite>=0.19.0",
"sqlite-vec>=0.1.1",
"google-genai>=1.0.0",
"Pillow>=10.0.0",
"psycopg[binary]>=3.2.0",
"httpx>=0.27",
]
[tool.setuptools.dynamic]
version = {attr = "adclaw.__version__.__version__"}
[tool.setuptools]
packages = { find = { where = ["src"] } }
include-package-data = true
[tool.setuptools.package-data]
"adclaw" = [
"agents/md_files/**",
"agents/skills/**",
"tokenizer/**",
]
[build-system]
requires = ["setuptools>=42", "wheel"]
build-backend = "setuptools.build_meta"
[project.scripts]
maskanx = "adclaw.cli.main:cli"
[project.optional-dependencies]
dev = [
"pytest>=8.3.5",
"pytest-asyncio>=0.23.0",
"pre-commit>=4.2.0",
"pytest-cov>=6.2.1",
]
local = [
"huggingface_hub>=0.20.0",
"sentence-transformers>=2.2.0",
]
llamacpp = [
"maskanx[local]",
"llama-cpp-python>=0.3.0",
]
mlx = [
"maskanx[local]",
"mlx-lm>=0.10.0",
]
ollama = [
"ollama>=0.6.1",
]
browser = [
"playwright>=1.49.0",
]
feishu = [
"lark-oapi>=1.5.3",
]
discord = [
"discord-py>=2.3",
]
dingtalk = [
"dingtalk-stream>=0.24.3",
]
desktop = [
"mss>=9.0.0",
]
# Meta: all optional messaging channels
channels = [
"maskanx[feishu,discord,dingtalk]",
]
# Meta: full install — everything
all = [
"maskanx[browser,channels,desktop]",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
]