]> git.giacomolli.uk - onechat/blobdiff - daemon.go
Wait for the send back line in the retry test
[onechat] / daemon.go
index ef738965898575d8b55b9113ae02ba8b08bb862d..e534aeac96a7e1e781c3f55ba9e636848b062fb7 100644 (file)
--- a/daemon.go
+++ b/daemon.go
@@ -115,7 +115,7 @@ func daemon(ctx context.Context, out io.Writer) (err error) {
                linked = "linked"
        }
 
                linked = "linked"
        }
 
-       logger.Info("ready", "socket", listener.Addr(), "model", agent.config.Model, "effort", agent.config.Effort, "workdir", agent.config.Workdir, "whatsapp", linked, "schedules", schedules.Len())
+       logger.Info("ready", "version", version, "socket", listener.Addr(), "model", agent.config.Model, "effort", agent.config.Effort, "workdir", agent.config.Workdir, "whatsapp", linked, "schedules", schedules.Len())
 
        var telegram *TelegramBot
 
 
        var telegram *TelegramBot
 
@@ -204,12 +204,24 @@ func (h *DaemonHub) read(ctx context.Context, client *DaemonClient, l *TurnLoop)
 
                err := json.Unmarshal(scanner.Bytes(), &request)
                if err == nil {
 
                err := json.Unmarshal(scanner.Bytes(), &request)
                if err == nil {
-                       err = daemonRunRequest(l, h.whatsapp, request, func(text string) {
-                               h.Send(client, Event{
-                                       Kind: "notice",
-                                       Text: text,
+                       if request.Type == "backup" {
+                               var size int64
+
+                               size, err = backupData(ctx, filepath.Dir(l.agent.dir), request.Text, h.whatsapp, l.runs.Snapshot)
+                               if err == nil {
+                                       h.Send(client, Event{
+                                               Kind: "backup",
+                                               Text: fmt.Sprintf("%s (%d bytes)", request.Text, size),
+                                       })
+                               }
+                       } else {
+                               err = daemonRunRequest(l, h.whatsapp, request, func(text string) {
+                                       h.Send(client, Event{
+                                               Kind: "notice",
+                                               Text: text,
+                                       })
                                })
                                })
-                       })
+                       }
                }
 
                if err != nil {
                }
 
                if err != nil {