Add files via upload

This commit is contained in:
公明
2026-08-15 01:39:58 +08:00
committed by GitHub
parent 4fe6defa28
commit 70b01206e4
47 changed files with 5598 additions and 1191 deletions
@@ -0,0 +1,49 @@
package multiagent
import "strings"
type einoMainAssistantCompleteHandler struct {
agentName string
emitter *einoMainResponseStreamEmitter
stdoutSuppressor *einoExecuteStdoutSuppressor
assistantOutput *einoAssistantOutputAccumulator
}
type einoMainAssistantCompleteHandlerConfig struct {
AgentName string
Emitter *einoMainResponseStreamEmitter
StdoutSuppressor *einoExecuteStdoutSuppressor
AssistantOutput *einoAssistantOutputAccumulator
}
func newEinoMainAssistantCompleteHandler(cfg einoMainAssistantCompleteHandlerConfig) *einoMainAssistantCompleteHandler {
return &einoMainAssistantCompleteHandler{
agentName: cfg.AgentName,
emitter: cfg.Emitter,
stdoutSuppressor: cfg.StdoutSuppressor,
assistantOutput: cfg.AssistantOutput,
}
}
func (h *einoMainAssistantCompleteHandler) EmitComplete(content string) bool {
if h == nil {
return false
}
body := strings.TrimSpace(content)
if body == "" {
return false
}
if h.stdoutSuppressor != nil {
if dup := h.stdoutSuppressor.Consume(); dup != "" && body == dup {
if h.assistantOutput != nil {
h.assistantOutput.RecordMainAssistant(h.agentName, body)
}
return false
}
}
emitted := h.emitter.EmitDelta(body, body)
if h.assistantOutput != nil {
h.assistantOutput.RecordMainAssistant(h.agentName, body)
}
return emitted
}