新增: 消息级溯源 P0 地基(ChatMessage.id + ai_messages 拆表 + 迁移 + Repo)
依据消息拆分存储设计 + 消息级溯源设计 P0(地基,P1 溯源/P2 切读待后续): - df-ai-core ChatMessage 加 id 字段(Option<String> serde 向前兼容)+ new_message_id(AtomicU64+ts 并发安全) - 6 构造器生成 id,老 JSON 无 id → None 兼容 - df-storage V21 一次原子迁移:建 ai_messages 表 + ai_tool_executions.message_id 列 + 全量数据迁移(分批+坏数据容错+COUNT 幂等) - AiMessageRecord + AiMessageRepo(insert_batch/list_by_conversation/delete_range/update_status/update_content_by_tool_call_id) - audit message_id 列补建(conversation_repo/settings 白名单) - src-tauri title.rs/finalize.rs 字面量占位(P1 接真值) 自验: df-storage 45 passed + df-ai-core 28 passed + workspace EXIT 0
This commit is contained in:
@@ -172,8 +172,8 @@ pub fn allowed_columns_for(table: &str) -> Option<&'static [&'static str]> {
|
||||
"prompt_tokens", "completion_tokens", "created_at", "updated_at",
|
||||
],
|
||||
"ai_tool_executions" => &[
|
||||
"id", "conversation_id", "tool_call_id", "tool_name", "arguments", "result",
|
||||
"status", "risk_level", "requested_at", "executed_at", "decided_by",
|
||||
"id", "conversation_id", "message_id", "tool_call_id", "tool_name", "arguments",
|
||||
"result", "status", "risk_level", "requested_at", "executed_at", "decided_by",
|
||||
],
|
||||
"knowledges" => &[
|
||||
"id", "kind", "title", "content", "tags", "status", "confidence", "reuse_count",
|
||||
|
||||
Reference in New Issue
Block a user