AgentEvalTool/backend/agenteval
sinohqb 0aa3ef81c5 refactor(repository): extract AsyncJobRepository base class for analysis/comparison
提取 AsyncJobRepository 泛型基类,消除 CampaignAnalysisRepository 和
CampaignPeriodComparisonRepository 的重复代码。基类提供 get_by_campaign
和 mark_orphans_failed 通用逻辑,子类只需指定 _table 类型和实现 upsert。

- 新增 AsyncJobRepository[DB] 泛型基类
- mark_orphans_failed 接受 error_message 参数,子类传入特定错误信息
- 删除约 60 行重复代码(两个 __init__、两个 get_by_campaign、两个 mark_orphans_failed 实现)
- 所有测试通过,行为不变
2026-08-04 13:25:42 +08:00
..
agents v0.2.0-dev: 文件管理 + 页面布局统一 + 6 个 bug 修复 2026-07-16 15:25:22 +08:00
channels v0.4-t3t4: OpenClaw 通道 + 前端 bundle 优化 2026-07-17 15:37:14 +08:00
config feat(engine): make poll_reply timeout configurable via env 2026-07-30 09:58:08 +08:00
evaluation refactor(metrics): extract dashboard aggregation to compute_dashboard 2026-08-04 11:36:55 +08:00
exploration refactor(tasks): route LLM background tasks through TaskRegistry 2026-08-04 09:58:20 +08:00
model_protocols feat(models): support mainstream model protocols 2026-07-17 20:58:27 +08:00
scenarios feat(models): add centralized model configuration 2026-07-17 20:02:43 +08:00
services feat(models): add analysis-default flag for campaign intelligence 2026-08-03 01:46:51 +08:00
storage refactor(repository): extract AsyncJobRepository base class for analysis/comparison 2026-08-04 13:25:42 +08:00
utils v0.3-s3: Webhook + OpenClaw HTTP Skill + Markdown/对比报告 2026-07-17 11:44:54 +08:00
web refactor(metrics): extract dashboard aggregation to compute_dashboard 2026-08-04 11:36:55 +08:00
__init__.py v0.2.0-dev: 文件管理 + 页面布局统一 + 6 个 bug 修复 2026-07-16 15:25:22 +08:00
model_gateway.py feat(models): support mainstream model protocols 2026-07-17 20:58:27 +08:00
models.py feat(exploration): stateless patrol API with watermark increments 2026-08-03 18:12:11 +08:00
task_registry.py refactor(tasks): unify run/campaign task registries into TaskRegistry 2026-07-31 03:39:03 +08:00
version.py v0.2.0-dev: 文件管理 + 页面布局统一 + 6 个 bug 修复 2026-07-16 15:25:22 +08:00