UNPKG

@memory-bank/mcp

Version:

Memory-enabled Co-Pilot (MCP) server for managing project documentation and context

70 lines 3.66 kB
import { MCPResponsePresenter } from '../presenters/MCPResponsePresenter.js'; import { ReadBranchDocumentUseCase } from '../../application/usecases/branch/ReadBranchDocumentUseCase.js'; import { WriteBranchDocumentUseCase } from '../../application/usecases/branch/WriteBranchDocumentUseCase.js'; import { ReadGlobalDocumentUseCase } from '../../application/usecases/global/ReadGlobalDocumentUseCase.js'; import { WriteGlobalDocumentUseCase } from '../../application/usecases/global/WriteGlobalDocumentUseCase.js'; import type { MCPResponse } from '../presenters/types/MCPResponse.js'; import { IConfigProvider } from '../../infrastructure/config/interfaces/IConfigProvider.js'; /** * Unified controller for document operations in both branch and global scopes. * Uses scope parameter to determine which repository and use case to use. */ export declare class DocumentController { private readonly readBranchDocumentUseCase; private readonly writeBranchDocumentUseCase; private readonly readGlobalDocumentUseCase; private readonly writeGlobalDocumentUseCase; private readonly presenter; private readonly configProvider?; private readonly componentLogger; /** * Constructor * @param readBranchDocumentUseCase Use case for reading branch documents * @param writeBranchDocumentUseCase Use case for writing branch documents * @param readGlobalDocumentUseCase Use case for reading global documents * @param writeGlobalDocumentUseCase Use case for writing global documents * @param presenter Response presenter */ constructor(readBranchDocumentUseCase: ReadBranchDocumentUseCase, writeBranchDocumentUseCase: WriteBranchDocumentUseCase, readGlobalDocumentUseCase: ReadGlobalDocumentUseCase, writeGlobalDocumentUseCase: WriteGlobalDocumentUseCase, presenter: MCPResponsePresenter, configProvider?: IConfigProvider | undefined); /** * Read a document from either branch or global memory bank * @param params Parameters for reading document * @param params.scope 'branch' or 'global' scope * @param params.branchName Optional branch name (auto-detected in project mode if not provided) * @param params.path Document path * @returns Promise resolving to MCP response */ readDocument(params: { scope: 'branch' | 'global'; branchName?: string; path: string; }): Promise<MCPResponse>; /** * Write a document to either branch or global memory bank * @param params Parameters for writing document * @param params.scope 'branch' or 'global' scope * @param params.branchName Optional branch name (auto-detected in project mode if not provided) * @param params.path Document path * @param params.content Document content (optional, mutually exclusive with patches) * @param params.patches JSON Patch operations (optional, mutually exclusive with content) * @param params.tags Document tags (optional) * @param params.returnContent Whether to return document content in response (default: false) * @returns Promise resolving to MCP response */ writeDocument(params: { scope: 'branch' | 'global'; branchName?: string; path: string; content?: Record<string, unknown> | string; patches?: Record<string, unknown>[]; tags?: string[]; returnContent?: boolean; }): Promise<MCPResponse>; /** * Handle errors and convert them to MCP responses * @param error Error to handle * @returns MCP response with error information */ private handleError; } //# sourceMappingURL=DocumentController.d.ts.map