return "", fmt.Errorf("create work directory: %w", err)
}
- return subagent.name, r.start(ctx, &SubagentRun{
+ err = r.start(ctx, &SubagentRun{
subagent: subagent,
view: view,
effort: effort,
})
+ if err != nil {
+ return subagent.name, fmt.Errorf("start created worker: %w", err)
+ }
+
+ return subagent.name, nil
}
// start runs run in the background and logs its start. Its context keeps the
},
}
- return chain.Run(ctx, input)
+ text, err := chain.Run(ctx, input)
+ if err != nil {
+ return text, fmt.Errorf("run worker chain: %w", err)
+ }
+
+ return text, nil
}
// take returns the messages of Tell that wait for a request of run, and removes
r.mutex.Lock()
defer r.mutex.Unlock()
- return r.save()
+ err = r.save()
+ if err != nil {
+ return fmt.Errorf("save resumed workers: %w", err)
+ }
+
+ return nil
}
// load reads the names of work.json. A missing file names none.