UNPKG

@memory-bank/mcp

Version:

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

107 lines 4.42 kB
import { BranchInfo } from "../../../domain/entities/BranchInfo.js"; import { DocumentPath } from "../../../domain/entities/DocumentPath.js"; import { MemoryDocument } from "../../../domain/entities/MemoryDocument.js"; import { Tag } from "../../../domain/entities/Tag.js"; import type { IBranchMemoryBankRepository, RecentBranch } from "../../../domain/repositories/IBranchMemoryBankRepository.js"; import type { BranchTagIndex as TagIndex } from "@memory-bank/schemas"; /** * Simple file system implementation of branch memory bank repository for testing * Acts as a Facade, delegating operations to specialized classes. */ export declare class FileSystemBranchMemoryBankRepository implements IBranchMemoryBankRepository { private readonly branchMemoryBankPath; private readonly branchDirectoryManager; private readonly documentIO; private readonly documentLister; private readonly tagIndexHandler; private readonly documentFinder; /** * Constructor * @param rootPath Root path for the memory bank */ constructor(rootPath: string); /** * Check if branch exists * @param branchName Branch name * @returns Promise resolving to boolean indicating if branch exists */ exists(branchName: string): Promise<boolean>; /** * Initialize branch memory bank * @param branchInfo Branch information * @returns Promise resolving when initialization is complete */ initialize(branchInfo: BranchInfo): Promise<void>; /** * Get document from branch * @param branchInfo Branch information * @param documentPath Document path * @returns Promise resolving to document if found, null otherwise */ getDocument(branchInfo: BranchInfo, documentPath: DocumentPath): Promise<MemoryDocument | null>; /** * Save document to branch * @param branchInfo Branch information * @param document Document to save * @returns Promise resolving when done */ saveDocument(branchInfo: BranchInfo, document: MemoryDocument): Promise<void>; /** * Delete document from branch * @param branchInfo Branch information * @param documentPath Document path * @returns Promise resolving to boolean indicating success */ deleteDocument(branchInfo: BranchInfo, documentPath: DocumentPath): Promise<boolean>; /** * List all documents in branch * @param branchInfo Branch information * @returns Promise resolving to array of document paths */ listDocuments(branchInfo: BranchInfo): Promise<DocumentPath[]>; /** * Find documents by tags in branch * @param branchInfo Branch information * @param tags Tags to search for * @returns Promise resolving to array of matching documents */ findDocumentsByTags(branchInfo: BranchInfo, tags: Tag[]): Promise<MemoryDocument[]>; /** * Get recent branches (これはこのクラスに残すか、別のManagerか?) * @param limit Maximum number of branches to return * @returns Promise resolving to array of recent branches */ getRecentBranches(limit?: number): Promise<RecentBranch[]>; /** * Validate branch structure * @param branchInfo Branch information * @returns Promise resolving to boolean indicating if structure is valid */ validateStructure(branchInfo: BranchInfo): Promise<boolean>; /** * Save tag index for branch * @param branchInfo Branch information * @param tagIndex Tag index to save * @returns Promise resolving when done */ saveTagIndex(branchInfo: BranchInfo, tagIndex: TagIndex): Promise<void>; /** * Get tag index for branch * @param branchInfo Branch information * @returns Promise resolving to tag index if found, null otherwise */ getTagIndex(branchInfo: BranchInfo): Promise<TagIndex | null>; /** * Find documents by tags in branch using index * @param branchInfo Branch information * @param tags Tags to search for * @param matchAll If true, documents must have all tags (AND), otherwise any tag (OR) * @returns Promise resolving to array of document paths */ findDocumentPathsByTagsUsingIndex(params: { branchInfo: BranchInfo; tags: Tag[]; matchAll?: boolean; }): Promise<DocumentPath[]>; } //# sourceMappingURL=FileSystemBranchMemoryBankRepository.d.ts.map