knowledge-base-mcp
Version:
知识库MCP服务,基于Dify MCP协议的两步式知识库检索系统
85 lines (84 loc) • 2.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ErrorHandler = void 0;
class ErrorHandler {
/**
* 创建MCP工具错误
*/
static createToolError(code, message, details) {
return {
code,
message,
details
};
}
/**
* 处理名称解析错误
*/
static handleResolveError(error) {
if (error instanceof Error) {
return {
code: "RESOLUTION_FAILED",
message: `名称解析失败: ${error.message}`,
details: { stack: error.stack }
};
}
return {
code: "RESOLUTION_FAILED",
message: "未知的名称解析错误",
details: { error }
};
}
/**
* 处理文档获取错误
*/
static handleDocumentError(error, docName) {
if (error instanceof Error) {
return {
code: "DOCUMENT_RETRIEVAL_FAILED",
message: `文档获取失败${docName ? ` (${docName})` : ''}: ${error.message}`,
details: { stack: error.stack, docName }
};
}
return {
code: "DOCUMENT_RETRIEVAL_FAILED",
message: `未知的文档获取错误${docName ? ` (${docName})` : ''}`,
details: { error, docName }
};
}
/**
* 处理API请求错误
*/
static handleApiError(error) {
if (error instanceof Error) {
return {
code: "API_ERROR",
message: `API请求失败: ${error.message}`,
details: { stack: error.stack }
};
}
return {
code: "API_ERROR",
message: "未知的API请求错误",
details: { error }
};
}
/**
* 处理参数验证错误
*/
static handleValidationError(error) {
if (error instanceof Error) {
return {
code: "VALIDATION_ERROR",
message: `参数验证失败: ${error.message}`,
details: { stack: error.stack }
};
}
return {
code: "VALIDATION_ERROR",
message: "未知的参数验证错误",
details: { error }
};
}
}
exports.ErrorHandler = ErrorHandler;