Retain injected client diagnostic evidence
This commit is contained in:
@@ -18,16 +18,17 @@ func (a publicLLMClientAdapter) Generate(ctx context.Context, req domain.Generat
|
||||
if err == nil && resp == nil {
|
||||
err = fmt.Errorf("%w: %w: llm client returned nil response", ErrLLMGenerate, ErrMalformedResponse)
|
||||
}
|
||||
response := toDomainGenerateResponse(resp)
|
||||
if err != nil {
|
||||
switch {
|
||||
case errors.Is(err, ErrTransport):
|
||||
return nil, classifiedClientError{cause: err, category: llm.ErrTransport}
|
||||
return response, classifiedClientError{cause: err, category: llm.ErrTransport}
|
||||
case errors.Is(err, ErrMalformedResponse):
|
||||
return nil, classifiedClientError{cause: err, category: llm.ErrMalformedResponse}
|
||||
return response, classifiedClientError{cause: err, category: llm.ErrMalformedResponse}
|
||||
}
|
||||
return nil, err
|
||||
return response, err
|
||||
}
|
||||
return toDomainGenerateResponse(resp), nil
|
||||
return response, nil
|
||||
}
|
||||
|
||||
// classifiedClientError makes an explicit public category available internally
|
||||
|
||||
Reference in New Issue
Block a user