X-Git-Url: https://git.giacomolli.uk/onechat/blobdiff_plain/d8f3785bb69288663f4cc46bf4d609c6770452d5..9346d20fe4297dce1aa16171749a7ef3e41ce7bd:/agent.go?ds=inline diff --git a/agent.go b/agent.go index 13491c1..da4b0b7 100644 --- 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 { @@ -70,7 +75,7 @@ func openAgent(dir string) (*Agent, error) { config, err := defaultAgentConfig() if err != nil { - return nil, err + return nil, fmt.Errorf("prepare agent defaults: %w", err) } decoder := json.NewDecoder(bytes.NewReader(data)) @@ -345,10 +350,15 @@ func (c AgentConfig) validate() error { func createAgent(dir string) (*Agent, error) { config, err := defaultAgentConfig() if err != nil { - return nil, err + return nil, fmt.Errorf("prepare agent defaults: %w", err) + } + + agent, err := writeAgent(dir, config) + if err != nil { + return agent, fmt.Errorf("write new agent: %w", err) } - return writeAgent(dir, config) + return agent, nil } // defaultAgentConfig returns the settings of a new agent, without an ID. The