fix: prevent repeated off-hours handoff notices

This commit is contained in:
mlogclub
2026-05-09 23:46:56 +08:00
parent af8ec71bb8
commit 59b3509ca9
4 changed files with 42 additions and 2 deletions
@@ -52,6 +52,9 @@ func (g *HandoffGraph) Run(ctx context.Context, argumentsInJSON string) (string,
}
handled, err := services.ConversationService.TryOffHoursHandoffByAI(g.conversation.ID, g.aiAgent, reason)
if err != nil || handled {
if handled && err == nil {
return services.HandoffOffHoursMessage, nil
}
return "", err
}
info := HandoffGraphInterruptInfo{
@@ -25,8 +25,8 @@ func TestHandoffGraphOffHoursSendsNoticeWithoutConfirmation(t *testing.T) {
if err != nil {
t.Fatalf("Run() error = %v", err)
}
if reply != "" {
t.Fatalf("expected no graph reply, got %q", reply)
if reply != services.HandoffOffHoursMessage {
t.Fatalf("expected off-hours graph reply, got %q", reply)
}
message := services.MessageService.FindOne(sqls.NewCnd().Eq("conversation_id", conversation.ID).Desc("id"))