feat: refactor handoff logic and update UI descriptions for Graph Tool integration

This commit is contained in:
mlogclub
2026-04-10 16:03:06 +08:00
parent 15afa10c7d
commit ea327e2d97
3 changed files with 22 additions and 42 deletions
+17 -2
View File
@@ -95,7 +95,7 @@ func (s *service) prepareToolsForRun(req *Request) error {
AIAgent: req.AIAgent,
AIConfig: req.AIConfig,
UserMessage: req.UserMessage,
AllowedToolCodes: resolveAllowedToolCodes(req.AIAgent, req.SelectedSkill),
AllowedToolCodes: ensureCoreGraphToolCodes(resolveAllowedToolCodes(req.AIAgent, req.SelectedSkill)),
})
if err != nil {
return err
@@ -113,7 +113,7 @@ func (s *service) prepareToolsForResume(req *ResumeRequest) error {
Conversation: req.Conversation,
AIAgent: req.AIAgent,
AIConfig: req.AIConfig,
AllowedToolCodes: parseAgentAllowedToolCodes(req.AIAgent),
AllowedToolCodes: ensureCoreGraphToolCodes(parseAgentAllowedToolCodes(req.AIAgent)),
})
if err != nil {
return err
@@ -281,3 +281,18 @@ func resolveAllowedToolCodes(aiAgent *models.AIAgent, skill *models.SkillDefinit
return ret
}
}
func ensureCoreGraphToolCodes(toolCodes []string) []string {
if len(toolCodes) == 0 {
return nil
}
ret := make([]string, 0, len(toolCodes)+1)
ret = append(ret, toolCodes...)
for _, item := range ret {
if strings.TrimSpace(item) == toolx.GraphHandoffConversationToolCode {
return ret
}
}
ret = append(ret, toolx.GraphHandoffConversationToolCode)
return ret
}