/**
* MCP Error Codes - Standard error codes for MCP protocol
* Based on JSON-RPC 2.0 error code ranges
*
* THE IMPLEMENTOR'S RULE: Zero-fallback architecture - fail fast with proper codes
*/
export const MCPErrorCodes = {
// Standard JSON-RPC 2.0 errors
PARSE_ERROR: -32700,
INVALID_REQUEST: -32600,
METHOD_NOT_FOUND: -32601,
INVALID_PARAMS: -32602,
INTERNAL_ERROR: -32603,
// Custom validation errors (-29xxx range)
VALIDATION_FAILED: -29001,
INVALID_MEMORY_COUNT: -29002,
INVALID_RELATION_COUNT: -29003,
INVALID_LOCAL_ID: -29004,
EMPTY_ARRAY: -29005,
INVALID_ID_FORMAT: -29006,
DUPLICATE_ID: -29007,
INVALID_NAME: -29008,
INVALID_TYPE: -29009,
INVALID_STRENGTH: -29010,
INVALID_DATE_FORMAT: -29011,
INVALID_QUERY: -29012,
INVALID_CONTEXT_LEVEL: -29013,
INVALID_TRAVERSAL_OPTIONS: -29014,
INVALID_DATABASE_NAME: -29015,
INVALID_REQUEST_PARAMS: -29016,
INVALID_SEARCH_QUERY: -29017,
INVALID_OBSERVATION_CONTENT: -29018,
INVALID_PARAMETER: -29019,
INVALID_ENVIRONMENT_CONFIG: -29020,
INVALID_EMBEDDING_INPUT: -29021,
INVALID_MEMORY_ID_LENGTH: -29022,
INVALID_SELF_REFERENCE: -29023,
EMPTY_QUERY: -29024,
INVALID_LIMIT: -29025,
INVALID_THRESHOLD: -29026,
// Resource errors (-30xxx range)
MEMORY_NOT_FOUND: -30001,
DATABASE_UNAVAILABLE: -30002,
DATABASE_NOT_FOUND: -30003,
OBSERVATION_NOT_FOUND: -30004,
RELATION_NOT_FOUND: -30005,
DATABASE_OPERATION_FAILED: -30006,
CONSTRAINT_VIOLATION: -30007,
INDEX_NOT_FOUND: -30008,
RESOURCE_NOT_FOUND: -30009,
DUPLICATE_RELATION: -30010,
// Service errors (-31xxx range)
SERVICE_UNAVAILABLE: -31001,
SERVICE_MISCONFIGURED: -31002,
REQUIRED_SERVICE_MISSING: -31003,
EMBEDDING_SERVICE_ERROR: -31004,
VECTOR_SEARCH_ERROR: -31005,
GDS_PLUGIN_MISSING: -31006,
SERVICE_ERROR: -31007,
// Auth errors (-32xxx range)
UNAUTHORIZED: -32001,
INVALID_SESSION: -32002,
SESSION_EXPIRED: -32003,
// Operation errors (-33xxx range)
OPERATION_TIMEOUT: -33001,
OPERATION_CANCELLED: -33002,
TRANSACTIONAL_FAILURE: -33003,
ROLLBACK_FAILURE: -33004,
} as const;
export type MCPErrorCode = typeof MCPErrorCodes[keyof typeof MCPErrorCodes];