UNPKG

@memory-bank/mcp

Version:

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

86 lines 3.55 kB
import type { BranchInfo } from "../../../domain/entities/BranchInfo.js"; import { DocumentId } from "../../../domain/entities/DocumentId.js"; import { DocumentPath } from "../../../domain/entities/DocumentPath.js"; import { JsonDocument, DocumentType } from "../../../domain/entities/JsonDocument.js"; import type { Tag } from "../../../domain/entities/Tag.js"; import type { IJsonDocumentRepository } from "../../../domain/repositories/IJsonDocumentRepository.js"; /** * In-memory implementation of the JSON document repository * Used for testing purposes */ export declare class MockJsonDocumentRepository implements IJsonDocumentRepository { private documents; /** * Find a document by its ID * @param id Document ID * @returns Promise resolving to the document if found, or null if not found */ findById(id: DocumentId): Promise<JsonDocument | null>; /** * Find a document by its path * @param branchInfo Branch information * @param path Document path * @returns Promise resolving to the document if found, or null if not found */ findByPath(branchInfo: BranchInfo, path: DocumentPath): Promise<JsonDocument | null>; /** * Find documents by tags * @param branchInfo Branch information * @param tags Tags to search for * @param matchAll If true, documents must have all tags; if false, any tag is sufficient * @returns Promise resolving to array of matching documents */ findByTags(branchInfo: BranchInfo, tags: Tag[], matchAll?: boolean): Promise<JsonDocument[]>; /** * Find documents by document type * @param branchInfo Branch information * @param documentType Document type to search for * @returns Promise resolving to array of matching documents */ findByType(branchInfo: BranchInfo, documentType: DocumentType): Promise<JsonDocument[]>; /** * Save a document * @param branchInfo Branch information * @param document Document to save * @returns Promise resolving to the saved document */ save(branchInfo: BranchInfo, document: JsonDocument): Promise<JsonDocument>; /** * Delete a document * @param branchInfo Branch information * @param document Document to delete (or document ID or path) * @returns Promise resolving to boolean indicating success */ delete(branchInfo: BranchInfo, document: JsonDocument | DocumentId | DocumentPath): Promise<boolean>; /** * List all documents * @param branchInfo Branch information * @returns Promise resolving to array of all documents */ listAll(branchInfo: BranchInfo): Promise<JsonDocument[]>; /** * Check if a document exists by path * @param branchInfo Branch information * @param path Document path * @returns Promise resolving to boolean indicating existence */ exists(branchInfo: BranchInfo, path: DocumentPath): Promise<boolean>; /** * Helper method to get the documents map for a branch * Creates the map if it doesn't exist * @param branchInfo Branch information * @returns Map of document path to document */ private getBranchDocuments; /** * Clear all documents */ clear(): void; /** * Initialize with a set of documents * @param documents Documents to initialize with * @param branchInfo Branch information */ initialize(documents: JsonDocument[], branchInfo: BranchInfo): Promise<void>; } //# sourceMappingURL=MockJsonDocumentRepository.d.ts.map