重构: String→newtype 强类型 + 工程清理

- df-types: ExecutionId/ToolCallType 从 type 别名改为 newtype 结构体
- df-ai-core: 新增 ToolType newtype / MessageStatus 枚举,
  ChatMessage.status 从 Option<String> 改为 Option<MessageStatus>
- provider: is_active() 改用 MessageStatus::Active 模式匹配
- context/chat/conversation: 构造站点更新为枚举变体
- .gitignore: 添加分析脚本排除项,清理根目录临时文件
- Batch.md: 更新最新提交与新增 Batch 37 记录
This commit is contained in:
lxy
2026-07-02 20:11:52 +08:00
parent b18740405c
commit 46246880b3
11 changed files with 275 additions and 55 deletions
+2 -1
View File
@@ -48,6 +48,7 @@ use df_workflow::state::StateMachine;
use crate::commands::ai::augmentation::ResolverRegistry;
use crate::commands::ai::AiSession;
use df_types::types::ExecutionId;
/// 应用全局状态 — 通过 `app.manage()` 注入,command 中以 `State<'_, AppState>` 取用
pub struct AppState {
@@ -152,7 +153,7 @@ pub struct AppState {
/// clone 共享底层 HashMap,与下沉到 NodeContext.node_status 的是同一份);
/// cancel_workflow_node IPC 经 execution_id 取出后 set_cancelled
/// 直达运行中 HumanNode 的 is_cancelled 轮询。执行完成(成功/失败)后移除条目。
pub workflow_state_registry: Arc<Mutex<HashMap<String, StateMachine>>>,
pub workflow_state_registry: Arc<Mutex<HashMap<ExecutionId, StateMachine>>>,
// ── F-260619-03 Phase A: AI 工具文件访问授权目录白名单 ──
/// AI 文件工具(read/write/list/patch/...)可访问的授权目录池。
/// Phase A 仅持久化白名单(Settings KV `allowed_dirs` 加载),