mirror of
https://github.com/tiennm99/goclaw.git
synced 2026-10-18 20:14:43 +00:00
feat(teams): add task approval workflow with approve/reject actions
Tasks can be created with require_approval flag, starting in pending_approval status. Users approve/reject via tool actions or WS methods. Approval respects blocked_by dependencies — tasks with unresolved blockers transition to blocked instead of pending. Delegate agents are restricted from approving/rejecting.
This commit is contained in:
1 parent
853725a6d1
commit
1a4c211539
8 files changed
+377
-13
No files matched your search
@@ -43,6 +43,8 @@ const (
|
||||
// Team task lifecycle events.
|
||||
EventTeamTaskClaimed = "team.task.claimed"
|
||||
EventTeamTaskCancelled = "team.task.cancelled"
|
||||
EventTeamTaskApproved = "team.task.approved"
|
||||
EventTeamTaskRejected = "team.task.rejected"
|
||||
|
||||
// Team CRUD events (admin operations).
|
||||
EventTeamCreated = "team.created"
|
||||
|
||||
@@ -107,6 +107,8 @@ const (
|
||||
MethodTeamsGet = "teams.get"
|
||||
MethodTeamsDelete = "teams.delete"
|
||||
MethodTeamsTaskList = "teams.tasks.list"
|
||||
MethodTeamsTaskApprove = "teams.tasks.approve"
|
||||
MethodTeamsTaskReject = "teams.tasks.reject"
|
||||
MethodTeamsMembersAdd = "teams.members.add"
|
||||
MethodTeamsMembersRemove = "teams.members.remove"
|
||||
MethodTeamsUpdate = "teams.update"
|
||||
|
||||
@@ -103,7 +103,7 @@ type QualityGateRetryPayload struct {
|
||||
}
|
||||
|
||||
// TeamTaskEventPayload is the typed payload for team task lifecycle events
|
||||
// (created, claimed, completed, cancelled).
|
||||
// (created, claimed, completed, cancelled, approved, rejected).
|
||||
type TeamTaskEventPayload struct {
|
||||
TeamID string `json:"team_id"`
|
||||
TaskID string `json:"task_id"`
|
||||
|
||||
Reference in new issue
Block a user