UNPKG

@memory-bank/mcp

Version:

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

115 lines 3 kB
import { DocumentType } from "../../../domain/entities/JsonDocument.js"; import type { IJsonDocumentRepository } from "../../../domain/repositories/IJsonDocumentRepository.js"; import type { IUseCase } from "../../interfaces/IUseCase.js"; /** * Input data for search JSON documents use case */ export interface SearchJsonDocumentsInput { /** * Branch name (required for branch documents, omit for global) */ branchName?: string; /** * Tags to search for (optional) */ tags?: string[]; /** * Document type to search for (optional) */ documentType?: DocumentType; /** * Whether all tags must match (default: false) */ matchAllTags?: boolean; } /** * Output data for search JSON documents use case */ export interface SearchJsonDocumentsOutput { /** * Found documents */ documents: Array<{ /** * Document ID */ id: string; /** * Document path */ path: string; /** * Document title */ title: string; /** * Document type */ documentType: DocumentType; /** * Document tags */ tags: string[]; /** * Document content */ content: Record<string, unknown>; /** * Last modified date (ISO string) */ lastModified: string; /** * Created date (ISO string) */ createdAt: string; /** * Document version */ version: number; }>; /** * Search metadata */ searchInfo: { /** * Number of documents found */ count: number; /** * Location of search (branch name or "global") */ searchLocation: string; /** * Tags used for search (if applicable) */ searchedTags?: string[]; /** * Document type used for search (if applicable) */ searchedDocumentType?: string; /** * Whether all tags matched (if applicable) */ matchedAllTags?: boolean; }; } /** * Use case for searching JSON documents */ export declare class SearchJsonDocumentsUseCase implements IUseCase<SearchJsonDocumentsInput, SearchJsonDocumentsOutput> { private readonly jsonRepository; private readonly globalRepository?; /** * Constructor * @param jsonRepository JSON document repository * @param globalRepository Global JSON document repository (optional) */ constructor(jsonRepository: IJsonDocumentRepository, globalRepository?: IJsonDocumentRepository | undefined); /** * Execute the use case * @param input Input data * @returns Promise resolving to output data */ execute(input: SearchJsonDocumentsInput): Promise<SearchJsonDocumentsOutput>; } //# sourceMappingURL=SearchJsonDocumentsUseCase.d.ts.map