err = errors.Join(err, memory.Close())
}()
+ subagents := newSubagents(filepath.Join(agent.dir, subagentDirName), time.Now, subagentNameRandom)
+ defer func() {
+ err = errors.Join(err, subagents.Close())
+ }()
+
listener, err := daemonListenSocket(socket)
if err != nil {
return err
}
return daemonServe(ctx, listener, telegram, func(notify func(Event)) (*TurnLoop, error) {
- return newTurnLoop(agent, memory, client, time.Now, notify)
+ return newTurnLoop(agent, memory, subagents, client, time.Now, notify)
})
}
}
return nil
+ case "stop":
+ found, err := l.StopSubagent(request.Text)
+ if err == nil && !found {
+ err = fmt.Errorf("no subagent %s runs", request.Text)
+ }
+
+ return err
default:
return fmt.Errorf("unknown request %q", request.Type)
}