export class OpenAIProviderError extends Error {
  constructor(message: string, public statusCode?: number, public response?: any) {
    super(message);
    this.name = 'OpenAIProviderError';
  }
}

export function handleOpenAIError(error: any): never {
  if (error.response) {
    throw new OpenAIProviderError(
      `OpenAI API error: ${error.response.status} ${error.response.statusText}`,
      error.response.status,
      error.response.data
    );
  } else if (error.request) {
    throw new OpenAIProviderError('No response received from OpenAI API');
  } else {
    throw new OpenAIProviderError(`Error setting up request: ${error.message}`);
  }
}