UNPKG

@memory-bank/mcp

Version:

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

124 lines 3.36 kB
import { DocumentType } from "../../../domain/entities/JsonDocument.js"; import type { IJsonDocumentRepository } from "../../../domain/repositories/IJsonDocumentRepository.js"; import type { IIndexService } from "../../../infrastructure/index/index.js"; import type { IUseCase } from "../../interfaces/IUseCase.js"; /** * Input data for write JSON document use case */ export interface WriteJsonDocumentInput { /** * Branch name (required for branch documents, omit for global) */ branchName?: string; /** * Document data */ document: { /** * Document ID (optional, will be generated if not provided) */ id?: string; /** * Document path (required) */ path: string; /** * Document title */ title: string; /** * Document type (required) */ documentType: DocumentType; /** * Document tags (optional) */ tags?: string[]; /** * Document content (required) */ content: Record<string, unknown>; }; } /** * Output data for write JSON document use case */ export interface WriteJsonDocumentOutput { /** * Document data after saving */ document: { /** * Document ID */ id: string; /** * Document path */ path: string; /** * Document title */ title: string; /** * Document type */ documentType: string; /** * 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; }; /** * Flag indicating if this was a new document (true) or an update (false) */ isNew: boolean; /** * Location where document was saved (branch name or "global") */ location: string; } /** * Use case for writing (creating or updating) a JSON document */ export declare class WriteJsonDocumentUseCase implements IUseCase<WriteJsonDocumentInput, WriteJsonDocumentOutput> { private readonly jsonRepository; private readonly indexService; private readonly globalRepository?; /** * Constructor * @param jsonRepository JSON document repository * @param indexService Index service for updating indexes after write * @param globalRepository Global JSON document repository (optional) */ constructor(jsonRepository: IJsonDocumentRepository, indexService: IIndexService, globalRepository?: IJsonDocumentRepository | undefined); /** * Execute the use case * @param input Input data * @returns Promise resolving to output data */ execute(input: WriteJsonDocumentInput): Promise<WriteJsonDocumentOutput>; /** * Validate the input data * @param input Input data to validate * @throws ApplicationError if validation fails */ private validateInput; } //# sourceMappingURL=WriteJsonDocumentUseCase.d.ts.map