diff --git a/src-tauri/src/state.rs b/src-tauri/src/state.rs index 6bd78e1..f5d9e8b 100644 --- a/src-tauri/src/state.rs +++ b/src-tauri/src/state.rs @@ -366,6 +366,16 @@ pub struct AppState { pub resolvers: Arc, /// AI 会话状态 pub ai_session: Arc>, + /// L3 AI 事件总线(pub-sub 域,独立于工作流 event_bus)。 + /// + /// 批2b:总线入 AppState 就绪(基建就位)。emit 点双写 + 前端订阅**留批3**: + /// 现阶段无后端订阅者(工作流独立域)+ 前端经 ai-chat-event 已收 → 全双写空转, + /// 待真实消费者(跨端透传/多模块订阅)出现再针对性双写(渐进接入,机制优先)。 + /// + /// dead_code:批2b 仅入 AppState,emit 点未双写(publish 无调用方); + /// 标 allow 保留作批3 接入(零调用方≠垃圾,预留保留)。 + #[allow(dead_code)] + pub ai_event_bus: crate::commands::ai::event_bus::EventBus, // ── 知识库 ── /// 知识库 Repo pub knowledge: KnowledgeRepo, @@ -649,6 +659,8 @@ impl AppState { ai_messages: AiMessageRepo::new(&db), ai_tool_executions: AiToolExecutionRepo::new(&db), ai_session: Arc::new(Mutex::new(AiSession::new())), + // L3 批2b:AI 事件总线入 AppState(独立于工作流 event_bus)。emit 双写留批3。 + ai_event_bus: crate::commands::ai::event_bus::EventBus::new(), knowledge: KnowledgeRepo::new(&db), knowledge_events: KnowledgeEventsRepo::new(&db), knowledge_config: Arc::new(Mutex::new(KnowledgeConfig::default())),