export class GHLError extends Error { constructor( public statusCode: number, message: string, public responseBody?: string ) { super(message); this.name = 'GHLError'; } static isRateLimitError(error: unknown): boolean { return error instanceof GHLError && error.statusCode === 429; } static isAuthError(error: unknown): boolean { return error instanceof GHLError && (error.statusCode === 401 || error.statusCode === 403); } static isNotFoundError(error: unknown): boolean { return error instanceof GHLError && error.statusCode === 404; } }