/** * [WHO]: AgentError hierarchy — AgentError, NetworkError, ContextOverflowError, ToolExecutionError, ValidationError, ExtensionError * [FROM]: No external dependencies * [TO]: Consumed by agent-loop, agent, proxy, and downstream consumers * [HERE]: core/lib/agent-core/src/errors.ts - unified error type system */ /** * Base error class for all agent-related errors. * Provides structured error info (code, retriable flag) for consistent handling. */ export declare class AgentError extends Error { readonly code: string; readonly retriable: boolean; readonly details?: unknown; constructor(message: string, code: string, retriable?: boolean, details?: unknown); } export declare class NetworkError extends AgentError { readonly statusCode?: number; constructor(message: string, statusCode?: number, details?: unknown); } export declare class RateLimitError extends NetworkError { readonly retryAfterMs?: number; constructor(message: string, retryAfterMs?: number); } export declare class TimeoutError extends NetworkError { constructor(message: string, details?: unknown); } export declare class ConnectionError extends NetworkError { constructor(message: string, details?: unknown); } export declare class ContextOverflowError extends AgentError { readonly estimatedTokens?: number; readonly contextWindow?: number; constructor(message: string, estimatedTokens?: number, contextWindow?: number); } export declare class ToolExecutionError extends AgentError { readonly toolName: string; readonly toolCallId?: string; constructor(message: string, toolName: string, toolCallId?: string); } export declare class ToolTimeoutError extends ToolExecutionError { constructor(toolName: string, toolCallId: string, timeoutMs: number); } export declare class ToolNotFoundError extends ToolExecutionError { constructor(toolName: string); } export declare class ValidationError extends AgentError { constructor(message: string, details?: unknown); } export declare class ExtensionError extends AgentError { readonly extensionName?: string; constructor(message: string, extensionName?: string); } /** Type guard: is the error retriable? */ export declare function isRetriableError(error: unknown): boolean; /** Type guard: is this a context overflow error? */ export declare function isContextOverflowError(error: unknown): boolean; /** * Classify an HTTP-like error (status code + message) into the appropriate AgentError subclass. * Useful for normalizing raw provider errors into the typed hierarchy. */ export declare function classifyApiError(statusCode: number | undefined, message: string): AgentError;