clear_analysis_cache
Clears cached multi-file analysis data to resolve outdated or incorrect results, improving accuracy for specific files or all files in Houtini-lm.
Instructions
Clear the multi-file analysis cache for a specific file or all files
WORKFLOW: System diagnostics and function discovery TIP: Start with health_check, use list_functions to explore capabilities SAVES: Claude context for strategic decisions
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filePath | No | Optional: specific file to clear from cache |
Implementation Reference
- The ClearCachePlugin class implements the 'clear_analysis_cache' tool. Its execute method handles the core logic: validates params, clears the cache using CacheManager, and returns a standardized response.
export class ClearCachePlugin extends BasePlugin implements IPromptPlugin { name = 'clear_analysis_cache'; category = 'system' as const; description = 'Clear the multi-file analysis cache for a specific file or all files'; parameters = { filePath: { type: 'string' as const, description: 'Optional: specific file to clear from cache', required: false } }; async execute(params: any, llmClient: any) { return await withSecurity(this, params, llmClient, async (secureParams) => { const entriesBefore = CacheManager.getCacheSize(); CacheManager.clear(secureParams.filePath); // Use ResponseFactory for consistent, spec-compliant output ResponseFactory.setStartTime(); return ResponseFactory.createSystemResponse({ status: 'success', details: { success: true, message: secureParams.filePath ? `Cache cleared for ${secureParams.filePath}` : 'All cache entries cleared', filesCleared: secureParams.filePath ? 1 : entriesBefore, memoryFreed: CacheManager.estimateMemoryUsage() } }); }); } // MODERN: 3-Stage prompt architecture (system utility - no prompting needed) getPromptStages(params: any): PromptStages { return { systemAndContext: 'System cache management utility', dataPayload: 'Cache clearing operation', outputInstructions: 'Clear cache and return status' }; } // LEGACY: Backwards compatibility method getPrompt(params: any): string { const stages = this.getPromptStages(params); return `${stages.systemAndContext}\n\n${stages.dataPayload}\n\n${stages.outputInstructions}`; } } - src/plugins/index.ts:91-95 (registration)Registration of ClearCachePlugin in PluginLoader.loadSystemPlugins method by dynamically importing cache-manager and calling registerPlugin.
const cacheModule = await import(fileUrl); if (cacheModule.ClearCachePlugin) { this.registerPlugin(new cacheModule.ClearCachePlugin()); } - src/validation/schemas.ts:474-481 (schema)Response schema definition for the clear_analysis_cache tool.
export interface ClearAnalysisCacheResponse extends BaseResponse { data: { success: boolean; message: string; filesCleared: number; memoryFreed: string; }; } - Input parameter schema definition for the tool.
parameters = { filePath: { type: 'string' as const, description: 'Optional: specific file to clear from cache', required: false } }; - CacheManager.clear static method: core utility that performs the actual cache clearing operation.
static clear(filePath?: string): void { if (filePath) { this.cache.delete(filePath); } else { this.cache.clear(); } }