/** * @generacy-ai/generacy-plugin-cloud-build * * Custom error classes for the Cloud Build plugin. * Implements error classification for retry decisions. */ export type CloudBuildErrorCode = 'AUTH_FAILED' | 'PERMISSION_DENIED' | 'NOT_FOUND' | 'ALREADY_EXISTS' | 'INVALID_ARGUMENT' | 'RESOURCE_EXHAUSTED' | 'FAILED_PRECONDITION' | 'UNAVAILABLE' | 'INTERNAL' | 'DEADLINE_EXCEEDED' | 'CANCELLED' | 'UNKNOWN'; /** * Base error class for all Cloud Build plugin errors. */ export declare class CloudBuildError extends Error { readonly code: CloudBuildErrorCode; readonly isTransient: boolean; readonly details?: Record; constructor(message: string, code: CloudBuildErrorCode, isTransient: boolean, details?: Record); } /** * Error thrown when authentication fails. */ export declare class AuthError extends CloudBuildError { constructor(message: string, details?: Record); } /** * Error thrown when a resource is not found. */ export declare class NotFoundError extends CloudBuildError { readonly resourceType: string; readonly resourceId: string; constructor(resourceType: string, resourceId: string); } /** * Error thrown when rate limited by the API. */ export declare class RateLimitError extends CloudBuildError { readonly retryAfterMs?: number; constructor(message: string, retryAfterMs?: number); } /** * Error thrown when an operation times out. */ export declare class TimeoutError extends CloudBuildError { readonly timeoutMs: number; readonly operation: string; constructor(operation: string, timeoutMs: number); } /** * Error thrown when the service is unavailable. */ export declare class ServiceUnavailableError extends CloudBuildError { constructor(message: string); } /** * Error thrown for invalid arguments. */ export declare class ValidationError extends CloudBuildError { readonly field?: string; constructor(message: string, field?: string); } /** * Check if an error is a CloudBuildError. */ export declare function isCloudBuildError(error: unknown): error is CloudBuildError; /** * Check if an error is transient (retryable). */ export declare function isTransientError(error: unknown): boolean; /** * Map a gRPC/HTTP status code to a CloudBuildErrorCode. */ export declare function mapStatusToErrorCode(status: number): CloudBuildErrorCode; /** * Wrap any error as a CloudBuildError. */ export declare function wrapError(error: unknown): CloudBuildError; //# sourceMappingURL=errors.d.ts.map