Expose NextTaskID
This commit is contained in:
15
taskcp.go
15
taskcp.go
@@ -39,9 +39,10 @@ type Task struct {
|
|||||||
Error string `json:"-"`
|
Error string `json:"-"`
|
||||||
Notes string `json:"-"`
|
Notes string `json:"-"`
|
||||||
|
|
||||||
|
NextTaskID string `json:"-"`
|
||||||
|
|
||||||
projectID string
|
projectID string
|
||||||
mcpService string
|
mcpService string
|
||||||
nextTaskID string
|
|
||||||
completionCallback func(task *Task) error
|
completionCallback func(task *Task) error
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,8 +80,8 @@ func (p *Project) InsertTaskBefore(beforeID string, instructions string, complet
|
|||||||
p.nextTaskID = task.ID
|
p.nextTaskID = task.ID
|
||||||
} else {
|
} else {
|
||||||
for t := range p.tasks() {
|
for t := range p.tasks() {
|
||||||
if t.nextTaskID == beforeID {
|
if t.NextTaskID == beforeID {
|
||||||
t.nextTaskID = task.ID
|
t.NextTaskID = task.ID
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -110,7 +111,7 @@ func (p *Project) SetTaskSuccess(id string, result string, notes string) (*Task,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
p.nextTaskID = task.nextTaskID
|
p.nextTaskID = task.NextTaskID
|
||||||
|
|
||||||
return p.GetNextTask(), nil
|
return p.GetNextTask(), nil
|
||||||
}
|
}
|
||||||
@@ -126,7 +127,7 @@ func (p *Project) SetTaskFailure(id string, error string, notes string) (*Task,
|
|||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
p.nextTaskID = task.nextTaskID
|
p.nextTaskID = task.NextTaskID
|
||||||
|
|
||||||
return p.GetNextTask(), nil
|
return p.GetNextTask(), nil
|
||||||
}
|
}
|
||||||
@@ -135,7 +136,7 @@ func (p *Project) newTask(instructions string, completionCallback func(task *Tas
|
|||||||
task := &Task{
|
task := &Task{
|
||||||
ID: uuid.New().String(),
|
ID: uuid.New().String(),
|
||||||
State: TaskStatePending,
|
State: TaskStatePending,
|
||||||
nextTaskID: nextTaskID,
|
NextTaskID: nextTaskID,
|
||||||
Instructions: instructions,
|
Instructions: instructions,
|
||||||
Data: map[string]any{},
|
Data: map[string]any{},
|
||||||
completionCallback: completionCallback,
|
completionCallback: completionCallback,
|
||||||
@@ -152,7 +153,7 @@ func (p *Project) newTask(instructions string, completionCallback func(task *Tas
|
|||||||
|
|
||||||
func (p *Project) tasks() iter.Seq[*Task] {
|
func (p *Project) tasks() iter.Seq[*Task] {
|
||||||
return func(yield func(*Task) bool) {
|
return func(yield func(*Task) bool) {
|
||||||
for tid := p.nextTaskID; tid != ""; tid = p.Tasks[tid].nextTaskID {
|
for tid := p.nextTaskID; tid != ""; tid = p.Tasks[tid].NextTaskID {
|
||||||
t := p.Tasks[tid]
|
t := p.Tasks[tid]
|
||||||
if !yield(t) {
|
if !yield(t) {
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user