@memory-bank/mcp
Version:
Memory-enabled Co-Pilot (MCP) server for managing project documentation and context
107 lines • 4.42 kB
TypeScript
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