fix(server): improve comment trigger logic for agent execution
- Add thread-aware on_comment suppression: when a member replies in a thread started by another member without @mentioning the assignee agent, the on_comment trigger is now suppressed. This fixes the bug where member-to-member conversations incorrectly triggered the assigned agent. - Add terminal status check to on_mention: enqueueMentionedAgentTasks now skips done/cancelled issues, consistent with on_comment behavior. - Write explicit default triggers on agent creation: new agents get [on_assign, on_comment, on_mention] all enabled, instead of relying on null/empty = all enabled. Existing agents with empty triggers still work via backwards-compat fallback in agentHasTriggerEnabled. - Consolidate trigger check logic into shared agentHasTriggerEnabled helper, fixing inconsistency where empty [] was handled differently by isAgentTriggerEnabled (returned false) vs isAgentMentionTriggerEnabled (returned true). - Add documentation comments explaining the intentional status gate difference: on_assign fires only for todo (start new work), while on_comment fires for any non-terminal status (conversational).
This commit is contained in:
parent
3f612c37f2
commit
04da4bc3b7
3 changed files with 72 additions and 24 deletions
|
|
@ -275,7 +275,7 @@ func (h *Handler) CreateAgent(w http.ResponseWriter, r *http.Request) {
|
|||
|
||||
triggers, _ := json.Marshal(req.Triggers)
|
||||
if req.Triggers == nil {
|
||||
triggers = []byte("[]")
|
||||
triggers = defaultAgentTriggers()
|
||||
}
|
||||
|
||||
agent, err := h.Queries.CreateAgent(r.Context(), db.CreateAgentParams{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue