@memory-bank/mcp
Version:
Memory-enabled Co-Pilot (MCP) server for managing project documentation and context
97 lines • 4.73 kB
TypeScript
import type { JsonDocumentDTO } from "../../../application/dtos/JsonDocumentDTO.js";
import type { ReadJsonDocumentUseCase, WriteJsonDocumentUseCase, DeleteJsonDocumentUseCase, SearchJsonDocumentsUseCase, UpdateJsonIndexUseCase, GetRecentBranchesUseCase } from "../../../application/usecases/index.js";
import type { MCPResponsePresenter } from "../../presenters/MCPResponsePresenter.js";
import type { MCPResponse } from "../../presenters/types/MCPResponse.js";
import type { IBranchController } from "../interfaces/IBranchController.js";
/**
* Controller for JSON branch memory bank operations
* Dedicated controller for JSON document operations with branch memory banks
*/
export declare class JsonBranchController implements Pick<IBranchController, "readJsonDocument" | "writeJsonDocument" | "deleteJsonDocument" | "listJsonDocuments" | "searchJsonDocuments" | "updateJsonIndex" | "getRecentBranches"> {
private readonly readJsonDocumentUseCase;
private readonly writeJsonDocumentUseCase;
private readonly deleteJsonDocumentUseCase;
private readonly searchJsonDocumentsUseCase;
private readonly updateJsonIndexUseCase;
private readonly getRecentBranchesUseCase;
private readonly presenter;
readonly _type: "controller";
private readonly componentLogger;
/**
* Constructor
* @param readJsonDocumentUseCase Use case for reading JSON documents
* @param writeJsonDocumentUseCase Use case for writing JSON documents
* @param deleteJsonDocumentUseCase Use case for deleting JSON documents
* @param searchJsonDocumentsUseCase Use case for searching JSON documents
* @param updateJsonIndexUseCase Use case for updating JSON index
* @param getRecentBranchesUseCase Use case for getting recent branches
* @param presenter Response presenter
*/
constructor(readJsonDocumentUseCase: ReadJsonDocumentUseCase, writeJsonDocumentUseCase: WriteJsonDocumentUseCase, deleteJsonDocumentUseCase: DeleteJsonDocumentUseCase, searchJsonDocumentsUseCase: SearchJsonDocumentsUseCase, updateJsonIndexUseCase: UpdateJsonIndexUseCase, getRecentBranchesUseCase: GetRecentBranchesUseCase, presenter: MCPResponsePresenter);
/**
* Read JSON document from branch memory bank
* @param branchName Branch name
* @param options Options for reading document (path or ID)
* @returns Promise resolving to MCP response with JSON document
*/
readJsonDocument(branchName: string, options: {
path?: string;
id?: string;
}): Promise<MCPResponse<JsonDocumentDTO>>;
/**
* Write JSON document to branch memory bank
* @param branchName Branch name
* @param document Document data to write
* @returns Promise resolving to MCP response with the result
*/
writeJsonDocument(branchName: string, document: JsonDocumentDTO): Promise<MCPResponse>;
/**
* Delete JSON document from branch memory bank
* @param branchName Branch name
* @param options Options for deleting document (path or ID)
* @returns Promise resolving to MCP response with the result
*/
deleteJsonDocument(branchName: string, options: {
path?: string;
id?: string;
}): Promise<MCPResponse>;
/**
* List JSON documents in branch memory bank
* @param branchName Branch name
* @param options Options for listing documents (type, tags)
* @returns Promise resolving to MCP response with list of documents
*/
listJsonDocuments(branchName: string, options?: {
type?: string;
tags?: string[];
}): Promise<MCPResponse<JsonDocumentDTO[]>>;
/**
* Search JSON documents in branch memory bank
* @param branchName Branch name
* @param query Search query
* @returns Promise resolving to MCP response with matching documents
*/
searchJsonDocuments(branchName: string, query: string): Promise<MCPResponse<JsonDocumentDTO[]>>;
/**
* Update JSON index in branch memory bank
* @param branchName Branch name
* @param options Options for updating index (force rebuild)
* @returns Promise resolving to MCP response with the result
*/
updateJsonIndex(branchName: string, options?: {
force?: boolean;
}): Promise<MCPResponse>;
/**
* Get recent branches
* @param limit Maximum number of branches to return
* @returns Promise resolving to MCP response with recent branches
*/
getRecentBranches(limit?: number): Promise<MCPResponse>;
/**
* Handle errors in controller methods
* @param error Error to handle
* @returns Formatted error response
*/
private handleError;
}
//# sourceMappingURL=JsonBranchController.d.ts.map