@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
245 lines (244 loc) • 10.1 kB
TypeScript
/**
* RAG Error Types
*
* Provides typed errors for all RAG operations including chunking,
* metadata extraction, embedding, vector queries, and reranking.
* Uses the NeuroLinkFeatureError pattern for consistency.
*/
import { NeuroLinkFeatureError } from "../../core/infrastructure/index.js";
import type { RAGErrorCode } from "../../types/index.js";
/**
* RAG error codes for all RAG-related operations
*/
export declare const RAGErrorCodes: {
readonly CHUNKING_ERROR: "RAG_CHUNKING_ERROR";
readonly CHUNKING_INVALID_CONFIG: "RAG_CHUNKING_INVALID_CONFIG";
readonly CHUNKING_STRATEGY_NOT_FOUND: "RAG_CHUNKING_STRATEGY_NOT_FOUND";
readonly CHUNKING_EMPTY_CONTENT: "RAG_CHUNKING_EMPTY_CONTENT";
readonly CHUNKING_SIZE_EXCEEDED: "RAG_CHUNKING_SIZE_EXCEEDED";
readonly METADATA_EXTRACTION_ERROR: "RAG_METADATA_EXTRACTION_ERROR";
readonly METADATA_EXTRACTION_TIMEOUT: "RAG_METADATA_EXTRACTION_TIMEOUT";
readonly METADATA_SCHEMA_INVALID: "RAG_METADATA_SCHEMA_INVALID";
readonly METADATA_EXTRACTOR_NOT_FOUND: "RAG_METADATA_EXTRACTOR_NOT_FOUND";
readonly EMBEDDING_ERROR: "RAG_EMBEDDING_ERROR";
readonly EMBEDDING_DIMENSION_MISMATCH: "RAG_EMBEDDING_DIMENSION_MISMATCH";
readonly EMBEDDING_RATE_LIMIT: "RAG_EMBEDDING_RATE_LIMIT";
readonly EMBEDDING_PROVIDER_ERROR: "RAG_EMBEDDING_PROVIDER_ERROR";
readonly VECTOR_QUERY_ERROR: "RAG_VECTOR_QUERY_ERROR";
readonly VECTOR_QUERY_TIMEOUT: "RAG_VECTOR_QUERY_TIMEOUT";
readonly VECTOR_STORE_UNAVAILABLE: "RAG_VECTOR_STORE_UNAVAILABLE";
readonly VECTOR_STORE_CONNECTION_ERROR: "RAG_VECTOR_STORE_CONNECTION_ERROR";
readonly VECTOR_INDEX_NOT_FOUND: "RAG_VECTOR_INDEX_NOT_FOUND";
readonly RERANKER_ERROR: "RAG_RERANKER_ERROR";
readonly RERANKER_NOT_FOUND: "RAG_RERANKER_NOT_FOUND";
readonly RERANKER_API_ERROR: "RAG_RERANKER_API_ERROR";
readonly GRAPH_RAG_ERROR: "RAG_GRAPH_ERROR";
readonly GRAPH_TRAVERSAL_ERROR: "RAG_GRAPH_TRAVERSAL_ERROR";
readonly GRAPH_NODE_NOT_FOUND: "RAG_GRAPH_NODE_NOT_FOUND";
readonly PIPELINE_ERROR: "RAG_PIPELINE_ERROR";
readonly PIPELINE_STAGE_FAILED: "RAG_PIPELINE_STAGE_FAILED";
readonly PIPELINE_PARTIAL_FAILURE: "RAG_PIPELINE_PARTIAL_FAILURE";
readonly CIRCUIT_BREAKER_OPEN: "RAG_CIRCUIT_BREAKER_OPEN";
readonly CIRCUIT_BREAKER_HALF_OPEN_LIMIT: "RAG_CIRCUIT_BREAKER_HALF_OPEN_LIMIT";
readonly OPERATION_TIMEOUT: "RAG_OPERATION_TIMEOUT";
readonly RETRY_EXHAUSTED: "RAG_RETRY_EXHAUSTED";
readonly INVALID_CONFIGURATION: "RAG_INVALID_CONFIGURATION";
};
/**
* RAG error factory using the infrastructure pattern
*/
export declare const RAGErrorFactory: {
codes: {
readonly CHUNKING_ERROR: "RAG_CHUNKING_ERROR";
readonly CHUNKING_INVALID_CONFIG: "RAG_CHUNKING_INVALID_CONFIG";
readonly CHUNKING_STRATEGY_NOT_FOUND: "RAG_CHUNKING_STRATEGY_NOT_FOUND";
readonly CHUNKING_EMPTY_CONTENT: "RAG_CHUNKING_EMPTY_CONTENT";
readonly CHUNKING_SIZE_EXCEEDED: "RAG_CHUNKING_SIZE_EXCEEDED";
readonly METADATA_EXTRACTION_ERROR: "RAG_METADATA_EXTRACTION_ERROR";
readonly METADATA_EXTRACTION_TIMEOUT: "RAG_METADATA_EXTRACTION_TIMEOUT";
readonly METADATA_SCHEMA_INVALID: "RAG_METADATA_SCHEMA_INVALID";
readonly METADATA_EXTRACTOR_NOT_FOUND: "RAG_METADATA_EXTRACTOR_NOT_FOUND";
readonly EMBEDDING_ERROR: "RAG_EMBEDDING_ERROR";
readonly EMBEDDING_DIMENSION_MISMATCH: "RAG_EMBEDDING_DIMENSION_MISMATCH";
readonly EMBEDDING_RATE_LIMIT: "RAG_EMBEDDING_RATE_LIMIT";
readonly EMBEDDING_PROVIDER_ERROR: "RAG_EMBEDDING_PROVIDER_ERROR";
readonly VECTOR_QUERY_ERROR: "RAG_VECTOR_QUERY_ERROR";
readonly VECTOR_QUERY_TIMEOUT: "RAG_VECTOR_QUERY_TIMEOUT";
readonly VECTOR_STORE_UNAVAILABLE: "RAG_VECTOR_STORE_UNAVAILABLE";
readonly VECTOR_STORE_CONNECTION_ERROR: "RAG_VECTOR_STORE_CONNECTION_ERROR";
readonly VECTOR_INDEX_NOT_FOUND: "RAG_VECTOR_INDEX_NOT_FOUND";
readonly RERANKER_ERROR: "RAG_RERANKER_ERROR";
readonly RERANKER_NOT_FOUND: "RAG_RERANKER_NOT_FOUND";
readonly RERANKER_API_ERROR: "RAG_RERANKER_API_ERROR";
readonly GRAPH_RAG_ERROR: "RAG_GRAPH_ERROR";
readonly GRAPH_TRAVERSAL_ERROR: "RAG_GRAPH_TRAVERSAL_ERROR";
readonly GRAPH_NODE_NOT_FOUND: "RAG_GRAPH_NODE_NOT_FOUND";
readonly PIPELINE_ERROR: "RAG_PIPELINE_ERROR";
readonly PIPELINE_STAGE_FAILED: "RAG_PIPELINE_STAGE_FAILED";
readonly PIPELINE_PARTIAL_FAILURE: "RAG_PIPELINE_PARTIAL_FAILURE";
readonly CIRCUIT_BREAKER_OPEN: "RAG_CIRCUIT_BREAKER_OPEN";
readonly CIRCUIT_BREAKER_HALF_OPEN_LIMIT: "RAG_CIRCUIT_BREAKER_HALF_OPEN_LIMIT";
readonly OPERATION_TIMEOUT: "RAG_OPERATION_TIMEOUT";
readonly RETRY_EXHAUSTED: "RAG_RETRY_EXHAUSTED";
readonly INVALID_CONFIGURATION: "RAG_INVALID_CONFIGURATION";
};
create: (code: "INVALID_CONFIGURATION" | "CHUNKING_ERROR" | "CHUNKING_INVALID_CONFIG" | "CHUNKING_STRATEGY_NOT_FOUND" | "CHUNKING_EMPTY_CONTENT" | "CHUNKING_SIZE_EXCEEDED" | "METADATA_EXTRACTION_ERROR" | "METADATA_EXTRACTION_TIMEOUT" | "METADATA_SCHEMA_INVALID" | "METADATA_EXTRACTOR_NOT_FOUND" | "EMBEDDING_ERROR" | "EMBEDDING_DIMENSION_MISMATCH" | "EMBEDDING_RATE_LIMIT" | "EMBEDDING_PROVIDER_ERROR" | "VECTOR_QUERY_ERROR" | "VECTOR_QUERY_TIMEOUT" | "VECTOR_STORE_UNAVAILABLE" | "VECTOR_STORE_CONNECTION_ERROR" | "VECTOR_INDEX_NOT_FOUND" | "RERANKER_ERROR" | "RERANKER_NOT_FOUND" | "RERANKER_API_ERROR" | "GRAPH_RAG_ERROR" | "GRAPH_TRAVERSAL_ERROR" | "GRAPH_NODE_NOT_FOUND" | "PIPELINE_ERROR" | "PIPELINE_STAGE_FAILED" | "PIPELINE_PARTIAL_FAILURE" | "CIRCUIT_BREAKER_OPEN" | "CIRCUIT_BREAKER_HALF_OPEN_LIMIT" | "OPERATION_TIMEOUT" | "RETRY_EXHAUSTED", message: string, options?: {
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
} | undefined) => NeuroLinkFeatureError;
};
/**
* Base RAG error class extending NeuroLinkFeatureError
*/
export declare class RAGError extends NeuroLinkFeatureError {
constructor(message: string, code: RAGErrorCode, options?: {
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
});
}
/**
* Chunking-specific error
*/
export declare class ChunkingError extends RAGError {
readonly strategy?: string;
readonly contentLength?: number;
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
strategy?: string;
contentLength?: number;
});
}
/**
* Metadata extraction error
*/
export declare class MetadataExtractionError extends RAGError {
readonly extractorType?: string;
readonly chunkId?: string;
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
extractorType?: string;
chunkId?: string;
});
}
/**
* Embedding error
*/
export declare class EmbeddingError extends RAGError {
readonly provider?: string;
readonly batchSize?: number;
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
provider?: string;
batchSize?: number;
});
}
/**
* Vector query error
*/
export declare class VectorQueryError extends RAGError {
readonly storeType?: string;
readonly queryLength?: number;
readonly indexName?: string;
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
storeType?: string;
queryLength?: number;
indexName?: string;
});
}
/**
* Reranker error
*/
export declare class RerankerError extends RAGError {
readonly rerankerType?: string;
readonly documentCount?: number;
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
rerankerType?: string;
documentCount?: number;
});
}
/**
* Graph RAG error
*/
export declare class GraphRAGError extends RAGError {
readonly traversalStrategy?: string;
readonly nodeId?: string;
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
traversalStrategy?: string;
nodeId?: string;
});
}
/**
* Pipeline error with partial failure support
*/
export declare class PipelineError extends RAGError {
readonly stageName?: string;
readonly successfulChunks?: number;
readonly failedChunks?: number;
readonly partialResults?: unknown[];
constructor(message: string, options?: {
code?: RAGErrorCode;
retryable?: boolean;
details?: Record<string, unknown>;
cause?: Error;
stageName?: string;
successfulChunks?: number;
failedChunks?: number;
partialResults?: unknown[];
});
/**
* Check if this is a partial failure (some chunks succeeded)
*/
isPartialFailure(): boolean;
/**
* Get success rate as a percentage
*/
getSuccessRate(): number;
}
/**
* Circuit breaker specific error for RAG operations
*/
export declare class RAGCircuitBreakerError extends RAGError {
readonly circuitName?: string;
readonly nextRetryTime?: Date;
constructor(message: string, options?: {
code?: RAGErrorCode;
details?: Record<string, unknown>;
circuitName?: string;
nextRetryTime?: Date;
});
}
/**
* Type guard for RAG errors
*/
export declare function isRAGError(error: unknown): error is RAGError;
/**
* Type guard for retryable errors
*/
export declare function isRetryableRAGError(error: unknown): boolean;
/**
* Type guard for partial failure errors
*/
export declare function isPartialFailure(error: unknown): error is PipelineError;