@@ -71,21 +71,6 @@ func NewAPICallError(message, url string, requestDump string, statusCode int, re
}
}
-// EmptyResponseBodyError represents an empty response body error.
-type EmptyResponseBodyError struct {
- *AIError
-}
-
-// NewEmptyResponseBodyError creates a new empty response body error.
-func NewEmptyResponseBodyError(message string) *EmptyResponseBodyError {
- if message == "" {
- message = "Empty response body"
- }
- return &EmptyResponseBodyError{
- AIError: NewAIError("AI_EmptyResponseBodyError", message, nil),
- }
-}
-
// InvalidArgumentError represents an invalid function argument error.
type InvalidArgumentError struct {
*AIError
@@ -132,146 +117,6 @@ func NewInvalidResponseDataError(data any, message string) *InvalidResponseDataE
}
}
-// JSONParseError represents a JSON parsing error.
-type JSONParseError struct {
- *AIError
- Text string
-}
-
-// NewJSONParseError creates a new JSON parse error.
-func NewJSONParseError(text string, cause error) *JSONParseError {
- message := fmt.Sprintf("JSON parsing failed: Text: %s.\nError message: %s", text, GetErrorMessage(cause))
- return &JSONParseError{
- AIError: NewAIError("AI_JSONParseError", message, cause),
- Text: text,
- }
-}
-
-// LoadAPIKeyError represents an error loading an API key.
-type LoadAPIKeyError struct {
- *AIError
-}
-
-// NewLoadAPIKeyError creates a new load API key error.
-func NewLoadAPIKeyError(message string) *LoadAPIKeyError {
- return &LoadAPIKeyError{
- AIError: NewAIError("AI_LoadAPIKeyError", message, nil),
- }
-}
-
-// LoadSettingError represents an error loading a setting.
-type LoadSettingError struct {
- *AIError
-}
-
-// NewLoadSettingError creates a new load setting error.
-func NewLoadSettingError(message string) *LoadSettingError {
- return &LoadSettingError{
- AIError: NewAIError("AI_LoadSettingError", message, nil),
- }
-}
-
-// NoContentGeneratedError is thrown when the AI provider fails to generate any content.
-type NoContentGeneratedError struct {
- *AIError
-}
-
-// NewNoContentGeneratedError creates a new no content generated error.
-func NewNoContentGeneratedError(message string) *NoContentGeneratedError {
- if message == "" {
- message = "No content generated."
- }
- return &NoContentGeneratedError{
- AIError: NewAIError("AI_NoContentGeneratedError", message, nil),
- }
-}
-
-// ModelType represents the type of model.
-type ModelType string
-
-const (
- // ModelTypeLanguage represents a language model.
- ModelTypeLanguage ModelType = "languageModel"
- // ModelTypeTextEmbedding represents a text embedding model.
- ModelTypeTextEmbedding ModelType = "textEmbeddingModel"
- // ModelTypeImage represents an image model.
- ModelTypeImage ModelType = "imageModel"
- // ModelTypeTranscription represents a transcription model.
- ModelTypeTranscription ModelType = "transcriptionModel"
- // ModelTypeSpeech represents a speech model.
- ModelTypeSpeech ModelType = "speechModel"
-)
-
-// NoSuchModelError represents an error when a model is not found.
-type NoSuchModelError struct {
- *AIError
- ModelID string
- ModelType ModelType
-}
-
-// NewNoSuchModelError creates a new no such model error.
-func NewNoSuchModelError(modelID string, modelType ModelType, message string) *NoSuchModelError {
- if message == "" {
- message = fmt.Sprintf("No such %s: %s", modelType, modelID)
- }
- return &NoSuchModelError{
- AIError: NewAIError("AI_NoSuchModelError", message, nil),
- ModelID: modelID,
- ModelType: modelType,
- }
-}
-
-// TooManyEmbeddingValuesForCallError represents an error when too many values are provided for embedding.
-type TooManyEmbeddingValuesForCallError struct {
- *AIError
- Provider string
- ModelID string
- MaxEmbeddingsPerCall int
- Values []any
-}
-
-// NewTooManyEmbeddingValuesForCallError creates a new too many embedding values error.
-func NewTooManyEmbeddingValuesForCallError(provider, modelID string, maxEmbeddingsPerCall int, values []any) *TooManyEmbeddingValuesForCallError {
- message := fmt.Sprintf(
- "Too many values for a single embedding call. The %s model \"%s\" can only embed up to %d values per call, but %d values were provided.",
- provider, modelID, maxEmbeddingsPerCall, len(values),
- )
- return &TooManyEmbeddingValuesForCallError{
- AIError: NewAIError("AI_TooManyEmbeddingValuesForCallError", message, nil),
- Provider: provider,
- ModelID: modelID,
- MaxEmbeddingsPerCall: maxEmbeddingsPerCall,
- Values: values,
- }
-}
-
-// TypeValidationError represents a type validation error.
-type TypeValidationError struct {
- *AIError
- Value any
-}
-
-// NewTypeValidationError creates a new type validation error.
-func NewTypeValidationError(value any, cause error) *TypeValidationError {
- valueJSON, _ := json.Marshal(value)
- message := fmt.Sprintf(
- "Type validation failed: Value: %s.\nError message: %s",
- string(valueJSON), GetErrorMessage(cause),
- )
- return &TypeValidationError{
- AIError: NewAIError("AI_TypeValidationError", message, cause),
- Value: value,
- }
-}
-
-// WrapTypeValidationError wraps an error into a TypeValidationError.
-func WrapTypeValidationError(value any, cause error) *TypeValidationError {
- if tvErr, ok := cause.(*TypeValidationError); ok && tvErr.Value == value {
- return tvErr
- }
- return NewTypeValidationError(value, cause)
-}
-
// UnsupportedFunctionalityError represents an unsupported functionality error.
type UnsupportedFunctionalityError struct {
*AIError