Add files via upload

This commit is contained in:
公明
2026-08-15 01:47:48 +08:00
committed by GitHub
parent 9b78297442
commit 8bde9d749a
10 changed files with 551 additions and 6 deletions
+14
View File
@@ -240,6 +240,12 @@ func (h *AgentHandler) MultiAgentLoopStream(c *gin.Context) {
taskCtxLoop := mcp.WithMCPConversationID(taskCtx, conversationID)
taskCtxLoop = mcp.WithToolRunRegistry(taskCtxLoop, h.tasks)
taskCtxLoop = mcp.WithEinoExecuteRunRegistry(taskCtxLoop, h.tasks)
taskCtxLoop = multiagent.WithAgentRuntimeCancelRegistrar(taskCtxLoop, func(cancel func(error) bool) func() {
return h.tasks.BindAgentRuntimeCancel(conversationID, cancel)
})
taskCtxLoop = multiagent.WithAgentTurnLoopInterruptRegistrar(taskCtxLoop, func(push func(string) bool) func() {
return h.tasks.BindAgentTurnLoopInterrupt(conversationID, push)
})
taskCtxLoop = multiagent.WithHITLToolInterceptor(taskCtxLoop, func(ctx context.Context, toolName, arguments string) (string, error) {
return h.interceptHITLForEinoTool(ctx, cancelWithCause, conversationID, assistantMessageID, sendEvent, toolName, arguments)
})
@@ -287,6 +293,14 @@ func (h *AgentHandler) MultiAgentLoopStream(c *gin.Context) {
}
cause := context.Cause(baseCtx)
if cause == nil {
switch {
case errors.Is(runErr, multiagent.ErrInterruptContinue):
cause = multiagent.ErrInterruptContinue
case errors.Is(runErr, ErrTaskCancelled):
cause = ErrTaskCancelled
}
}
if errors.Is(cause, multiagent.ErrInterruptContinue) {
if shouldPersistEinoAgentTraceAfterRunError(baseCtx) {
h.persistEinoAgentTraceForResume(conversationID, result)