mirror of
https://github.com/cexll/myclaude.git
synced 2026-02-06 02:34:09 +08:00
问题: - codeagent-wrapper 在处理 Claude Code 等其他后端的事件流时 - 对无法识别的事件格式(turn.started/assistant/user)打印警告日志 - 造成输出噪声,影响用户体验 修复: - parser.go:274 - 移除对未知事件的 warnFn 日志打印 - 改为静默 continue,直接跳过这些事件 - 添加注释说明这些事件来自其他后端,无需处理 测试: - 新增 parser_unknown_event_test.go 回归测试 - 验证未知事件不产生 "Agent event:" 日志 - 确保 Codex/Claude/Gemini 事件解析不受影响 - 所有测试通过 Closes #96 Generated with SWE-Agent.ai Co-Authored-By: SWE-Agent.ai <noreply@swe-agent.ai>
34 lines
837 B
Go
34 lines
837 B
Go
package main
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestBackendParseJSONStream_UnknownEventsAreSilent(t *testing.T) {
|
|
input := strings.Join([]string{
|
|
`{"type":"turn.started"}`,
|
|
`{"type":"assistant","text":"hi"}`,
|
|
`{"type":"user","text":"yo"}`,
|
|
`{"type":"item.completed","item":{"type":"agent_message","text":"ok"}}`,
|
|
}, "\n")
|
|
|
|
var infos []string
|
|
infoFn := func(msg string) { infos = append(infos, msg) }
|
|
|
|
message, threadID := parseJSONStreamInternal(strings.NewReader(input), nil, infoFn, nil, nil)
|
|
if message != "ok" {
|
|
t.Fatalf("message=%q, want %q (infos=%v)", message, "ok", infos)
|
|
}
|
|
if threadID != "" {
|
|
t.Fatalf("threadID=%q, want empty (infos=%v)", threadID, infos)
|
|
}
|
|
|
|
for _, msg := range infos {
|
|
if strings.Contains(msg, "Agent event:") {
|
|
t.Fatalf("unexpected log for unknown event: %q", msg)
|
|
}
|
|
}
|
|
}
|
|
|