M2b:删除旧 chat 体系——线性会话/叩心/情绪/纪念日模型与页面退役(迁移 003 双向验证),runs 去会话外键,测试全量修剪
This commit is contained in:
1 parent
5f36e3785c
commit
ad9c9e942a
22 files changed
+424
-427
No files matched your search
@@ -14,17 +14,14 @@ async def list_runs(
|
||||
session: AsyncSession,
|
||||
*,
|
||||
character_id: str | None = None,
|
||||
session_id: str | None = None,
|
||||
status: str | None = None,
|
||||
page: int = 1,
|
||||
page_size: int = 20,
|
||||
) -> tuple[list[Run], int]:
|
||||
"""按创建时间倒序分页返回 Run;可选按人物/会话/状态过滤,返回 (条目, 总数)。"""
|
||||
"""按创建时间倒序分页返回 Run;可选按人物/状态过滤,返回 (条目, 总数)。"""
|
||||
conds = []
|
||||
if character_id is not None:
|
||||
conds.append(Run.character_id == character_id)
|
||||
if session_id is not None:
|
||||
conds.append(Run.session_id == session_id)
|
||||
if status is not None:
|
||||
conds.append(Run.status == status)
|
||||
count_stmt = select(func.count()).select_from(Run)
|
||||
@@ -127,11 +124,3 @@ async def summarize_by_trace(session: AsyncSession):
|
||||
return [(row[0], int(row[1]), row[2]) for row in result.all()]
|
||||
|
||||
|
||||
async def list_session_ids_by_runs(session: AsyncSession, run_ids: list[str]) -> list[str]:
|
||||
"""按 run_id 集合查询关联的 chat session_id 去重列表(链路追踪:run → 对话)。"""
|
||||
if not run_ids:
|
||||
return []
|
||||
result = await session.execute(
|
||||
select(Run.session_id).where(Run.id.in_(run_ids), Run.session_id.is_not(None))
|
||||
)
|
||||
return sorted({row[0] for row in result.all() if row[0]})
|
||||
Reference in new issue
Block a user