/** * BrainyDataInterface * * This interface defines the methods from BrainyData that are used by serverSearchAugmentations.ts. * It's used to break the circular dependency between brainyData.ts and serverSearchAugmentations.ts. */ import { Vector } from '../coreTypes.js'; export interface BrainyDataInterface { /** * Initialize the database */ init(): Promise; /** * Get a noun by ID * @param id The ID of the noun to get */ get(id: string): Promise; /** * Add a vector or data to the database * @param vectorOrData Vector or data to add * @param metadata Optional metadata to associate with the vector * @returns The ID of the added vector */ add(vectorOrData: Vector | unknown, metadata?: T): Promise; /** * Search for text in the database * @param text The text to search for * @param limit Maximum number of results to return * @returns Search results */ searchText(text: string, limit?: number): Promise; /** * Create a relationship between two entities * @param sourceId The ID of the source entity * @param targetId The ID of the target entity * @param relationType The type of relationship * @param metadata Optional metadata about the relationship * @returns The ID of the created relationship */ relate(sourceId: string, targetId: string, relationType: string, metadata?: unknown): Promise; /** * Find entities similar to a given entity ID * @param id ID of the entity to find similar entities for * @param options Additional options * @returns Array of search results with similarity scores */ findSimilar(id: string, options?: { limit?: number; }): Promise; }