修复消息渠道的事件未触发

This commit is contained in:
xintaofei
2026-03-31 14:05:03 +08:00
parent f06360a59d
commit 0bc470181d
4 changed files with 18 additions and 11 deletions

View File

@@ -126,7 +126,7 @@ fn parse_acp_event(payload: &serde_json::Value, lang: Lang) -> Option<(String, R
match event_type {
"turn_complete" => {
let stop_reason = payload
.pointer("/data/stop_reason")
.get("stop_reason")
.and_then(|v| v.as_str())
.unwrap_or("unknown");
// Only push for end_turn, not for intermediate completions
@@ -134,7 +134,7 @@ fn parse_acp_event(payload: &serde_json::Value, lang: Lang) -> Option<(String, R
return None;
}
let agent_type = payload
.pointer("/data/agent_type")
.get("agent_type")
.and_then(|v| v.as_str())
.unwrap_or("Unknown Agent");
Some((
@@ -144,11 +144,11 @@ fn parse_acp_event(payload: &serde_json::Value, lang: Lang) -> Option<(String, R
}
"error" => {
let agent_type = payload
.pointer("/data/agent_type")
.get("agent_type")
.and_then(|v| v.as_str())
.unwrap_or("Unknown Agent");
let message = payload
.pointer("/data/message")
.get("message")
.and_then(|v| v.as_str())
.unwrap_or("Unknown error");
Some((

View File

@@ -1,8 +1,9 @@
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "kebab-case")]
pub enum Lang {
#[default]
En,
ZhCn,
ZhTw,
@@ -15,12 +16,6 @@ pub enum Lang {
Ar,
}
impl Default for Lang {
fn default() -> Self {
Lang::En
}
}
impl Lang {
pub fn from_str_lossy(s: &str) -> Self {
match s {