/** * Base error class for all Sisu errors. * Provides structured error information with error codes and context. */ export declare class SisuError extends Error { readonly code: string; readonly context?: unknown | undefined; constructor(message: string, code: string, context?: unknown | undefined); /** * Convert error to JSON for logging and tracing */ toJSON(): { name: string; message: string; code: string; context?: unknown; stack?: string; }; } /** * Error thrown when middleware execution fails. * Includes the middleware index to help identify which middleware failed. */ export declare class MiddlewareError extends SisuError { readonly middlewareIndex: number; constructor(message: string, middlewareIndex: number, cause?: Error); } /** * Error thrown when tool execution fails. * Includes tool name and arguments for debugging. */ export declare class ToolExecutionError extends SisuError { readonly toolName: string; readonly args: unknown; constructor(message: string, toolName: string, args: unknown, cause?: Error); } /** * Error thrown when adapter/LLM operations fail. * Includes model name and provider-specific details. */ export declare class AdapterError extends SisuError { readonly modelName: string; readonly provider?: string | undefined; constructor(message: string, modelName: string, provider?: string | undefined, cause?: Error); } /** * Error thrown when validation fails (e.g., schema validation for tools). * Includes validation errors and the data that failed validation. */ export declare class ValidationError extends SisuError { readonly validationErrors: unknown; readonly data?: unknown | undefined; constructor(message: string, validationErrors: unknown, data?: unknown | undefined, cause?: Error); } /** * Error thrown when a timeout occurs. * Includes timeout duration and operation details. */ export declare class TimeoutError extends SisuError { readonly timeoutMs: number; readonly operation?: string | undefined; constructor(message: string, timeoutMs: number, operation?: string | undefined, cause?: Error); } /** * Error thrown when an operation is cancelled (e.g., via AbortSignal). * Includes the reason for cancellation if available. */ export declare class CancellationError extends SisuError { readonly reason?: string | undefined; constructor(message: string, reason?: string | undefined, cause?: Error); } /** * Error thrown when a configuration is invalid. * Includes the invalid configuration and expected format. */ export declare class ConfigurationError extends SisuError { readonly config?: unknown | undefined; readonly expected?: string | undefined; constructor(message: string, config?: unknown | undefined, expected?: string | undefined, cause?: Error); } /** * Helper to check if an error is a SisuError */ export declare function isSisuError(error: unknown): error is SisuError; /** * Helper to extract error details for logging */ export declare function getErrorDetails(error: unknown): { name: string; message: string; code?: string; context?: unknown; stack?: string; };