Let task agents create and manage subtasks

This commit is contained in:
Ian Gulliver
2026-10-16 10:36:38 -07:00
parent fd63a0dfbc
commit 0f2415570c
30 changed files with 1067 additions and 287 deletions
+7 -1
View File
@@ -138,7 +138,13 @@ func (m *Manager) Discard(ctx context.Context, task api.Task, actor string) (api
switch {
case errors.Is(err, store.ErrNotFound):
return api.Task{}, fmt.Errorf("%w: task %s is closed", ErrConflict, task.Id)
case errors.Is(err, store.ErrDiscardPending), errors.Is(err, store.ErrMerging):
case errors.Is(err, store.ErrHasSubtasks):
serr := m.checkNoSubtasks(ctx, task)
if serr == nil {
serr = fmt.Errorf("%w: task %s: %w", ErrConflict, task.Id, err)
}
return api.Task{}, serr
case errors.Is(err, store.ErrDiscardPending), errors.Is(err, store.ErrMerging), errors.Is(err, store.ErrMergingIntoParent):
return api.Task{}, fmt.Errorf("%w: task %s: %w", ErrConflict, task.Id, err)
case err != nil:
return api.Task{}, err