Files
qzl d060962a5f feat(agent): redesign project_cli with module/method/input protocol
- Replace command/subcommand/args with module/method/input envelope
- Calendar handler uses discriminated union (mode) for read operations
- Strict Pydantic models with extra='forbid' for all calendar methods
- Worker max_iters=7, router prompt simplified (removed project_cli_defaults)
- Skill index cards + per-action files for progressive disclosure
- Frontend/AG-UI aligned to module/method dispatch
- Protocol docs updated to module/method/input contract

WIP: action cards need envelope fix, 2 tests need update, memory
handler needs Pydantic models.
2026-04-24 13:24:13 +08:00

56 lines
1.3 KiB
TOML

[project]
name = "social-app"
version = "0.1.0"
description = "Social application backend"
requires-python = ">=3.12"
dependencies = [
"ag-ui-protocol==0.1.13",
"alembic==1.18.4",
"asyncpg==0.31.0",
"email-validator==2.3.0",
"fastapi==0.135.1",
"pydantic==2.12.5",
"pydantic-settings==2.13.1",
"pyjwt==2.11.0",
"pyyaml==6.0.3",
"redis==7.2.1",
"sqlalchemy[asyncio]==2.0.48",
"structlog==25.5.0",
"taskiq==0.12.1",
"taskiq-redis==1.2.2",
"supabase==2.28.0",
"uvicorn[standard]==0.41.0",
"dashscope==1.25.13",
"agentscope==1.0.16",
"apscheduler==3.11.2",
]
[project.optional-dependencies]
dev = [
"httpx==0.28.1",
"playwright==1.58.0",
"pytest==9.0.2",
"pytest-asyncio==1.3.0",
"pytest-cov==7.0.0",
]
[[tool.uv.index]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true
[tool.pytest.ini_options]
testpaths = ["backend/tests"]
addopts = "-q --import-mode=importlib --ignore=backend/tests/quality"
asyncio_mode = "auto"
markers = [
"live: requires running local runtime and real external dependencies",
"quality: model quality and cost evaluation (not part of CI, run manually)",
]
[dependency-groups]
dev = [
"aiosqlite==0.22.1",
"basedpyright==1.38.2",
"pre-commit==4.5.1",
]