/** * @name core/errors * @description Custom error classes with error codes, context metadata, and stack traces * @module core/errors */ /** * Custom error classes for SAP MCP Server * * Provides structured error handling with: * - Error codes for programmatic handling * - Context metadata for debugging * - User-friendly messages * - Stack trace preservation */ /** * Base error class for all SAP MCP errors */ export declare class SapMcpError extends Error { readonly code: string; readonly context?: Record; readonly cause?: Error; constructor(message: string, code: string, contextOrCause?: Record | Error, cause?: Error); toJSON(): object; } /** * Configuration errors */ export declare class ConfigError extends SapMcpError { constructor(message: string, context?: Record, cause?: Error); } /** * Configuration validation errors */ export declare class ConfigValidationError extends ConfigError { constructor(field: string, value: unknown, expected: string); } /** * Configuration approval required */ export declare class ConfigApprovalRequiredError extends ConfigError { constructor(field: string, changeId: string); } /** * Session errors */ export declare class SessionError extends SapMcpError { constructor(message: string, context?: Record, cause?: Error); } /** * Session not found */ export declare class SessionNotFoundError extends SessionError { constructor(sessionId: string); } /** * Session expired */ export declare class SessionExpiredError extends SessionError { constructor(sessionId: string); } /** * Session permission denied */ export declare class SessionPermissionError extends SessionError { constructor(sessionId: string, requiredPermission: string); } /** * Transaction errors */ export declare class TransactionError extends SapMcpError { constructor(message: string, context?: Record, cause?: Error); } /** * Transaction build failed */ export declare class TransactionBuildError extends TransactionError { constructor(instructionType: string, cause: Error); } /** * Transaction simulation failed */ export declare class TransactionSimulationError extends TransactionError { constructor(signature: string, logs: string[]); } /** * Transaction submission failed */ export declare class TransactionSubmissionError extends TransactionError { constructor(cause: Error, signature?: string); } /** * Transaction confirmation timeout */ export declare class TransactionConfirmationTimeoutError extends TransactionError { constructor(signature: string, timeoutMs: number); } /** * Tool execution errors */ export declare class ToolError extends SapMcpError { constructor(message: string, context?: Record, cause?: Error); } /** * Tool not found */ export declare class ToolNotFoundError extends ToolError { constructor(toolName: string); } /** * Tool permission denied */ export declare class ToolPermissionError extends ToolError { constructor(toolName: string, reason: string); } /** * Security guard errors */ export declare class SecurityError extends SapMcpError { constructor(message: string, context?: Record, cause?: Error); } /** * Unsafe action detected */ export declare class UnsafeActionError extends SecurityError { constructor(action: string, reason: string, riskLevel: 'low' | 'medium' | 'high' | 'critical'); } /** * Spending limit exceeded */ export declare class SpendingLimitError extends SapMcpError { constructor(message: string, limitSol: number, requestedSol: number, limitType: 'transaction' | 'daily' | 'session'); } /** * RPC errors */ export declare class RpcError extends SapMcpError { constructor(message: string, context?: Record, cause?: Error); } /** * RPC timeout */ export declare class RpcTimeoutError extends RpcError { constructor(method: string, timeoutMs: number); } /** * Client SDK errors */ export declare class ClientSdkError extends SapMcpError { constructor(message: string, causeOrContext?: Error | Record); } /** * Execution errors */ export declare class ExecutionError extends SapMcpError { constructor(message: string, causeOrContext?: Error | Record); } /** * SAP Client errors */ export declare class SapClientError extends SapMcpError { constructor(message: string, causeOrContext?: Error | Record); } /** * SAP SDK errors */ export declare class SapSdkError extends SapMcpError { constructor(message: string, causeOrContext?: Error | Record); } /** * Signer errors */ export declare class SignerError extends SapMcpError { constructor(message: string, causeOrContext?: Error | Record); } /** * Policy errors */ export declare class PolicyError extends SapMcpError { constructor(message: string, context?: Record); } /** * Error type guard */ export declare function isSapMcpError(error: unknown): error is SapMcpError; /** * Extract error code from an arbitrary error */ export declare function getErrorCode(error: unknown): string; /** * Format error for logging */ export declare function formatError(error: unknown): string; //# sourceMappingURL=errors.d.ts.map