export class APIError extends Error {
  constructor(
    public code: string,
    public message: string,
    public details?: any
  ) {
    super(message);
  }
}

export function handleOpenAIError(error: any): never {
  if (error.code === 'insufficient_quota') {
    throw new APIError(
      'QUOTA_EXCEEDED',
      'OpenAI API kotası aşıldı. Lütfen daha sonra tekrar deneyin.'
    );
  }

  if (error.code === 'rate_limit_exceeded') {
    throw new APIError(
      'RATE_LIMIT',
      'Çok fazla istek gönderildi. Lütfen bir süre bekleyin.'
    );
  }

  throw new APIError(
    'UNKNOWN_ERROR',
    'Rota oluşturulurken bir hata oluştu.',
    error
  );
}
