/** * Custom error types for CCS CLI * * All custom errors extend CCSError which provides: * - Standardized exit codes * - Recoverable flag for retry logic * - Consistent error formatting */ import { ExitCode } from './exit-codes'; /** * Base error class for all CCS errors * Extends standard Error with exit code and recovery information */ export declare class CCSError extends Error { readonly code: ExitCode; readonly recoverable: boolean; constructor(message: string, code?: ExitCode, recoverable?: boolean); } /** * Configuration-related errors * Examples: missing config file, invalid JSON, corrupt settings */ export declare class ConfigError extends CCSError { readonly configPath?: string | undefined; constructor(message: string, configPath?: string | undefined); } /** * Network-related errors * Examples: connection refused, timeout, DNS resolution failure */ export declare class NetworkError extends CCSError { readonly url?: string | undefined; readonly statusCode?: number | undefined; constructor(message: string, url?: string | undefined, statusCode?: number | undefined); } /** * Authentication/authorization errors * Examples: invalid API key, expired token, insufficient permissions */ export declare class AuthError extends CCSError { readonly provider?: string | undefined; constructor(message: string, provider?: string | undefined); } /** * Binary/executable errors * Examples: Claude CLI not found, corrupted binary, permission denied */ export declare class BinaryError extends CCSError { readonly binaryPath?: string | undefined; constructor(message: string, binaryPath?: string | undefined); } /** * Provider-specific errors * Examples: API rate limit, service unavailable, invalid model */ export declare class ProviderError extends CCSError { readonly provider: string; readonly details?: unknown; constructor(message: string, provider: string, details?: unknown); } /** * Profile-related errors * Examples: profile not found, invalid profile name, duplicate profile */ export declare class ProfileError extends CCSError { readonly profileName?: string | undefined; readonly availableProfiles?: string[] | undefined; constructor(message: string, profileName?: string | undefined, availableProfiles?: string[] | undefined); } /** * Proxy-related errors * Examples: proxy startup failure, port conflict, proxy timeout */ export declare class ProxyError extends CCSError { readonly port?: number | undefined; constructor(message: string, port?: number | undefined); } /** * Migration-related errors * Examples: failed to migrate config, backup creation failed */ export declare class MigrationError extends CCSError { readonly fromVersion?: string | undefined; readonly toVersion?: string | undefined; constructor(message: string, fromVersion?: string | undefined, toVersion?: string | undefined); } /** * User abort error (Ctrl+C, SIGINT) * Used when user explicitly cancels an operation */ export declare class UserAbortError extends CCSError { constructor(message?: string); } /** * Type guard to check if an error is a CCSError */ export declare function isCCSError(error: unknown): error is CCSError; /** * Type guard to check if an error is recoverable */ export declare function isRecoverableError(error: unknown): boolean; //# sourceMappingURL=error-types.d.ts.map