UNPKG

@vooodooo/magic

Version:

Vooodooo - AI orchestration platform

90 lines (89 loc) 2.84 kB
/** * Knowledge item stored in the system */ interface KnowledgeItem { /** Unique key for the knowledge item */ key: string; /** The actual knowledge data */ data: any; /** Metadata about the knowledge item */ metadata: Record<string, unknown>; /** When the knowledge was last updated */ updatedAt: Date; } /** * Options for the knowledge system */ export interface KnowledgeSystemOptions { /** Path to persistent storage directory */ storageDir?: string; /** Whether to enable persistence */ enablePersistence?: boolean; } /** * System for storing, retrieving, and exchanging knowledge */ export declare class KnowledgeSystem { /** In-memory storage for knowledge */ private knowledgeStore; /** Core knowledge contributed by plugins */ private coreKnowledge; /** Options for the knowledge system */ private options; constructor(options?: KnowledgeSystemOptions); /** * Store knowledge in the system * @param key Unique key for the knowledge * @param data Knowledge data to store * @param metadata Additional metadata about the knowledge */ storeKnowledge(key: string, data: any, metadata?: Record<string, unknown>): Promise<void>; /** * Retrieve knowledge from the system * @param key Knowledge key to retrieve * @returns The stored knowledge data, or null if not found */ retrieveKnowledge(key: string): Promise<any | null>; /** * Contribute knowledge to the core system * @param knowledge Knowledge data to contribute * @param metadata Additional metadata about the knowledge */ contributeToCore(knowledge: any, metadata: Record<string, unknown>): Promise<void>; /** * Get a list of available knowledge keys * @param pluginId Optional plugin ID to filter by * @param pattern Optional pattern to filter keys * @returns List of matching knowledge keys */ listKnowledgeKeys(pluginId?: string, pattern?: string): Promise<string[]>; /** * Get all knowledge items * @returns Array of all knowledge items */ getAllKnowledge(): KnowledgeItem[]; /** * Get all core knowledge contributions * @returns Array of all core knowledge contributions */ getCoreKnowledge(): any[]; /** * Process a knowledge contribution * @param knowledge Knowledge data to process * @param metadata Metadata about the knowledge */ private processContribution; /** * Load knowledge from persistent storage */ private loadFromPersistentStorage; /** * Save knowledge to persistent storage */ private saveToStorage; } /** * Create a knowledge system */ export declare function createKnowledgeSystem(options?: KnowledgeSystemOptions): KnowledgeSystem; export {};