error.go
1package google
2
3import (
4 "cmp"
5 "errors"
6
7 "charm.land/fantasy"
8 "google.golang.org/genai"
9)
10
11func toProviderErr(err error) error {
12 var apiErr genai.APIError
13 if !errors.As(err, &apiErr) {
14 return err
15 }
16 return &fantasy.ProviderError{
17 Message: apiErr.Message,
18 Title: cmp.Or(fantasy.ErrorTitleForStatusCode(apiErr.Code), "provider request failed"),
19 Cause: err,
20 StatusCode: apiErr.Code,
21 ResponseBody: []byte(apiErr.Message),
22 }
23}