/** * Typed error hierarchy for the MyArchitectAI MCP server. * * Every operational failure surfaces as a {@link MyArchitectAIError} so the * HTTP client can make retry decisions (`retryable`) and the tool layer can * render a useful message — including `balance`/`cost` when the API reports * them on a failed generation. */ export type ErrorKind = 'config' | 'auth' | 'request' | 'rate_limit' | 'upstream' | 'network' | 'timeout'; export interface MyArchitectAIErrorOptions { kind: ErrorKind; status?: number | undefined; balance?: number | undefined; cost?: number | undefined; retryable?: boolean | undefined; retryAfterMs?: number | undefined; cause?: unknown; } /** Base class for all errors raised by this server. */ export declare class MyArchitectAIError extends Error { readonly kind: ErrorKind; readonly status: number | undefined; readonly balance: number | undefined; readonly cost: number | undefined; /** Whether the HTTP client may safely retry the request. */ readonly retryable: boolean; /** Suggested delay before retrying, if the server provided one. */ readonly retryAfterMs: number | undefined; constructor(message: string, options: MyArchitectAIErrorOptions); } /** Missing or invalid local configuration (e.g. no API key). Fatal at startup. */ export declare class ConfigError extends MyArchitectAIError { constructor(message: string); } /** 401/403 — the API key is missing, malformed, or rejected. Not retryable. */ export declare class AuthError extends MyArchitectAIError { constructor(message: string); } /** * 400 — the request was rejected (invalid input or a processing error). * The API still reports `balance` and `cost` (cost is typically 0). Not retryable. */ export declare class RequestError extends MyArchitectAIError { constructor(message: string, balance?: number, cost?: number); } /** 429 — rate limited. Retryable, honoring `Retry-After` when present. */ export declare class RateLimitError extends MyArchitectAIError { constructor(message: string, retryAfterMs?: number); } /** 5xx or an unexpected status / malformed body. Retryable unless told otherwise. */ export declare class UpstreamError extends MyArchitectAIError { constructor(message: string, options?: { status?: number; retryable?: boolean; cause?: unknown; }); } /** Transport-level failure (DNS, connection reset, etc.). Retryable. */ export declare class NetworkError extends MyArchitectAIError { constructor(message: string, cause?: unknown); } /** The request exceeded the configured timeout and was aborted. Retryable. */ export declare class TimeoutError extends MyArchitectAIError { constructor(message: string); } //# sourceMappingURL=errors.d.ts.map