import type { DocumentDTO } from "../../../application/dtos/DocumentDTO.js"; import type { JsonDocumentDTO } from "../../../application/dtos/JsonDocumentDTO.js"; import type { MCPResponse } from "../../presenters/types/MCPResponse.js"; import type { IController } from "./IController.js"; /** * Interface for branch memory bank controller */ export interface IBranchController extends IController { /** * Read document from branch memory bank * @param branchName Branch name * @param path Document path * @returns Promise resolving to MCP response with document */ readDocument(branchName: string, path: string): Promise>; /** * Write document to branch memory bank * @param params Parameters for writing the document * @param params.branchName Branch name * @param params.path Document path * @param params.content Document content * @param params.tags Optional tags for the document * @returns Promise resolving to MCP response with the result */ writeDocument(params: { branchName: string; path: string; content?: any; tags?: string[]; patches?: any[]; }): Promise; /** * Read core files from branch memory bank * @param branchName Branch name * @returns Promise resolving to MCP response with core files content */ readCoreFiles(branchName: string): Promise>>; /** * Write core files to branch memory bank * @param branchName Branch name * @param files Core files content * @returns Promise resolving to MCP response with the result */ writeCoreFiles(branchName: string, files: Record): Promise; /** * Get recent branches * @param limit Maximum number of branches to return * @returns Promise resolving to MCP response with recent branches */ getRecentBranches(limit?: number): Promise; /** * Find documents by tags in branch memory bank * @param params Parameters for finding documents by tags * @param params.branchName Branch name * @param params.tags Tags to search for * @param params.matchAllTags Whether to require all tags to match * @returns Promise resolving to MCP response with matching documents */ findDocumentsByTags(params: { branchName: string; tags: string[]; matchAllTags?: boolean; }): Promise>; /** * Update tags index in branch memory bank * @param branchName Branch name * @param fullRebuild Whether to perform full rebuild of the index * @returns Promise resolving to MCP response with the result */ updateTagsIndex(branchName: string, fullRebuild?: boolean): Promise; /** * Read JSON document from branch memory bank * @param branchName Branch name * @param options Options for reading document (path or ID) * @returns Promise resolving to MCP response with JSON document */ readJsonDocument(branchName: string, options: { path?: string; id?: string; }): Promise>; /** * Write JSON document to branch memory bank * @param branchName Branch name * @param document Document data to write * @returns Promise resolving to MCP response with the result */ writeJsonDocument(branchName: string, document: JsonDocumentDTO): Promise; /** * Delete JSON document from branch memory bank * @param branchName Branch name * @param options Options for deleting document (path or ID) * @returns Promise resolving to MCP response with the result */ deleteJsonDocument(branchName: string, options: { path?: string; id?: string; }): Promise; /** * List JSON documents in branch memory bank * @param branchName Branch name * @param options Options for listing documents (type, tags) * @returns Promise resolving to MCP response with list of documents */ listJsonDocuments(branchName: string, options?: { type?: string; tags?: string[]; }): Promise>; /** * Search JSON documents in branch memory bank * @param branchName Branch name * @param query Search query * @returns Promise resolving to MCP response with matching documents */ searchJsonDocuments(branchName: string, query: string): Promise>; /** * Update JSON index in branch memory bank * @param branchName Branch name * @param options Options for updating index (force rebuild) * @returns Promise resolving to MCP response with the result */ updateJsonIndex(branchName: string, options?: { force?: boolean; }): Promise; } //# sourceMappingURL=IBranchController.d.ts.map