]> git.giacomolli.uk - onechat/blobdiff - agent.go
Complete context on forwarded local errors
[onechat] / agent.go
index fbea57f166e546b5600e699d2e902d657cf68cc4..da4b0b7be7eb5c65bc474095cd5eb00f189c4840 100644 (file)
--- a/agent.go
+++ b/agent.go
@@ -61,7 +61,12 @@ func openAgent(dir string) (*Agent, error) {
        path := filepath.Join(dir, "config.json")
        data, err := os.ReadFile(path)
        if errors.Is(err, os.ErrNotExist) {
-               return createAgent(dir)
+               agent, err := createAgent(dir)
+               if err != nil {
+                       return agent, fmt.Errorf("create agent: %w", err)
+               }
+
+               return agent, nil
        }
 
        if err != nil {
@@ -348,7 +353,12 @@ func createAgent(dir string) (*Agent, error) {
                return nil, fmt.Errorf("prepare agent defaults: %w", err)
        }
 
-       return writeAgent(dir, config)
+       agent, err := writeAgent(dir, config)
+       if err != nil {
+               return agent, fmt.Errorf("write new agent: %w", err)
+       }
+
+       return agent, nil
 }
 
 // defaultAgentConfig returns the settings of a new agent, without an ID. The