]> git.giacomolli.uk - onechat/blobdiff - daemon.go
Run subagents in the background with spawn
[onechat] / daemon.go
index 2a23dc28a4405380137213b21f9c25566c575844..3cef419bed9821e984274cf8e8c168b3a12a471b 100644 (file)
--- a/daemon.go
+++ b/daemon.go
@@ -82,6 +82,11 @@ func daemon(ctx context.Context, out io.Writer) (err error) {
                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
@@ -102,7 +107,7 @@ func daemon(ctx context.Context, out io.Writer) (err error) {
        }
 
        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)
        })
 }