]> git.giacomolli.uk - onechat/blobdiff - model.go
Select notification targets by stable ID
[onechat] / model.go
index c443a12981c8f47546396fd4c6150b2cc9fbdd18..78836fe8e8d607208c966cfe11144f782e2a3c2d 100644 (file)
--- a/model.go
+++ b/model.go
@@ -344,7 +344,12 @@ func (c *ModelClient) send(httpRequest *http.Request, record *ModelUsageRecord)
                return ModelResponse{}, errors.Join(err, readErr)
        }
 
-       return modelReadStream(httpResponse.Body)
+       response, err = modelReadStream(httpResponse.Body)
+       if err != nil {
+               return response, fmt.Errorf("read model response stream: %w", err)
+       }
+
+       return response, nil
 }
 
 // Write appends record to the file with one write.
@@ -463,8 +468,11 @@ func modelReadEvent(response *ModelResponse, data []byte) (bool, error) {
                }
 
                response.Text, err = modelOutputText(response.Output)
+               if err != nil {
+                       return true, fmt.Errorf("read completed response text: %w", err)
+               }
 
-               return true, err
+               return true, nil
        case "response.incomplete":
                reason := "unknown"
                if event.Response != nil && event.Response.IncompleteDetails != nil {