# API Reference ## Core APIs ### Plugin Manager ```typescript interface PluginManager { initialize(): Promise; shutdown(): Promise; getService(serviceId: string): T; } ``` ### Vector Service ```typescript interface VectorService { generateVector(text: string): Promise; calculateRelevance(vector1: Float32Array, vector2: Float32Array): number; updateLSASpace(vectors: Float32Array[]): void; } ``` ### Database Service ```typescript interface DatabaseService { // Paper Management addPaper(paper: Paper): Promise; getPaper(id: string): Promise; updatePaper(paper: Paper): Promise; deletePaper(id: string): Promise; // Vector Management addVector(vector: PaperVector): Promise; getVectors(paperId: string): Promise; rebuildVectorIndex(): Promise; // RSS Management addRSSItem(item: RSSItem): Promise; updateRelevance(relevance: RSSRelevance): Promise; rebuildRelevanceIndex(): Promise; } ``` ### UI Manager ```typescript interface UIManager { renderRelevanceColumn(): void; updateRelevanceScores(scores: Map): void; showSettings(): void; } ``` ## Data Types ### Paper ```typescript interface Paper { id: string; title: string; addedDate: number; lastUpdated: number; } ``` ### PaperVector ```typescript interface PaperVector { paperId: string; modelId: string; vector: Float32Array; createdDate: number; } ``` ### RSSItem ```typescript interface RSSItem { id: string; title: string; createdDate: number; } ``` ### Model ```typescript interface Model { id: string; name: string; apiConfig: string; isActive: boolean; createdDate: number; } ``` ### RSSRelevance ```typescript interface RSSRelevance { itemId: string; modelId: string; vector: Float32Array; // dimension(384) historyVectorsSpaceSvdU: Float32Array; // dimension(384) recentVectorsSpaceSvdU: Float32Array; // dimension(384) historyRelevanceScore: number; recentRelevanceScore: number; updatedDate: number; } ``` ## Events ### System Events ```typescript enum SystemEvent { INITIALIZED = "system:initialized", SHUTDOWN = "system:shutdown", ERROR = "system:error", } ``` ### RSS Events ```typescript enum RSSEvent { ITEM_ADDED = "rss:item_added", RELEVANCE_UPDATED = "rss:relevance_updated", FEED_UPDATED = "rss:feed_updated", } ``` ## Error Handling ### Error Types ```typescript enum ErrorType { DATABASE_ERROR = "database_error", VECTOR_ERROR = "vector_error", API_ERROR = "api_error", UI_ERROR = "ui_error", } ``` ### Error Response ```typescript interface ErrorResponse { type: ErrorType; message: string; details?: any; timestamp: number; } ``` ## Configuration ### Plugin Configuration ```typescript interface PluginConfig { modelSettings: ModelSettings; relevanceThresholds: RelevanceThresholds; databaseSettings: DatabaseSettings; } ``` ### Model Settings ```typescript interface ModelSettings { activeModelId: string; apiKey?: string; batchSize: number; timeout: number; } ```