UNPKG

@holder-mcp/local-knowledge-base

Version:

Holder公司本地知识库MCP客户端,提供项目文档检索、模块信息查询和架构信息获取等工具

148 lines 3.02 kB
/** * MCP协议相关类型定义 */ export interface MCPRequest { jsonrpc: '2.0'; id: number; method: string; params?: any; } export interface MCPResponse { jsonrpc: '2.0'; id: number; result?: any; error?: { code: number; message: string; data?: any; }; } export interface MCPTool { name: string; description: string; inputSchema: { type: 'object'; properties: Record<string, any>; required: string[]; }; } export interface MCPCapabilities { tools?: {}; resources?: {}; prompts?: {}; completion?: {}; } export interface MCPServerInfo { name: string; version: string; } export interface MCPInitializeResult { protocolVersion: string; capabilities: MCPCapabilities; serverInfo: MCPServerInfo; } export interface ToolCallResult { content: Array<{ type: 'text'; text: string; }>; isError?: boolean; } /** * 知识库工具相关类型 */ export interface QueryKnowledgeBaseArgs { query: string; topK?: number; } export interface GetModuleInfoArgs { moduleName: string; } export interface GetArchitectureInfoArgs { random_string: string; } export interface GetKnowledgeBaseStatsArgs { random_string: string; } export interface SearchCodeDocumentationArgs { codeQuery: string; } /** * 项目管理相关类型 */ export interface RebuildProjectIndexArgs { projectName: string; documentPaths?: string[]; } export interface UploadProjectDocumentsArgs { projectName: string; documentPaths?: string[]; } /** * 项目配置 */ export interface ProjectConfig { name: string; documentPaths: string[]; enabled: boolean; } /** * 文档监听配置 */ export interface DocumentWatchConfig { enabled: boolean; debounceMs: number; projects: ProjectConfig[]; } /** * 文档相关类型 */ export interface DocumentInfo { filePath: string; fileName: string; content: string; encoding: string; size: number; lastModified: Date; checksum: string; type: 'MARKDOWN' | 'CODE' | 'TEXT' | 'PDF'; } export interface ClientDocumentDto { filePath: string; fileName: string; content: string; encoding: string; size: number; lastModified: string; checksum: string; type: string; } /** * 文件监听相关类型 */ export interface FileWatchEvent { type: 'add' | 'change' | 'unlink'; path: string; timestamp: Date; } export interface WatcherState { projectName: string; watchedPaths: string[]; isActive: boolean; debounceTimer?: NodeJS.Timeout; lastUpdateTime?: Date; } /** * 客户端配置 */ export interface MCPClientConfig { serverUrl: string; defaultProject?: string; defaultDocumentPaths?: string[]; workingDirectory?: string; sseEndpoint?: string; messageEndpoint?: string; timeout?: number; documentWatch?: DocumentWatchConfig; } //# sourceMappingURL=types.d.ts.map