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