@vooodooo/magic
Version:
Vooodooo - AI orchestration platform
90 lines (89 loc) • 2.84 kB
TypeScript
/**
* 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 {};