UNPKG

@bonginkan/maria

Version:

MARIA OS v5.9.5 – Self-Evolving Organizational Intelligence OS | Speed Improvement Phase 3: LLM Optimization + Command Refactoring | Performance Measurement + Run Evidence System | Zero ESLint/TypeScript Errors | 人とAIが役割を持ち、学び、進化し続けるための仕事のOS | GraphRAG ×

130 lines (129 loc) 5.02 kB
/** * Filename Inference Telemetry Integration * Tracks performance and usage metrics for the intelligent filename inference system */ import type { FilenameCandidate, InferenceResult, SaveOperation, SaveResult } from "../types/filename-inference.types"; export declare enum FilenameInferenceEvent { INFERENCE_START = "filename.inference.start", INFERENCE_END = "filename.inference.end", INFERENCE_TIMEOUT = "filename.inference.timeout", INFERENCE_CACHE_HIT = "filename.inference.cache.hit", INFERENCE_CACHE_MISS = "filename.inference.cache.miss", EXPLICIT_ANALYZER_START = "filename.analyzer.explicit.start", EXPLICIT_ANALYZER_END = "filename.analyzer.explicit.end", CONTEXTUAL_ANALYZER_START = "filename.analyzer.contextual.start", CONTEXTUAL_ANALYZER_END = "filename.analyzer.contextual.end", SEMANTIC_ANALYZER_START = "filename.analyzer.semantic.start", SEMANTIC_ANALYZER_END = "filename.analyzer.semantic.end", PROJECT_ANALYZER_START = "filename.analyzer.project.start", PROJECT_ANALYZER_END = "filename.analyzer.project.end", EXTENSION_ANALYZER_START = "filename.analyzer.extension.start", EXTENSION_ANALYZER_END = "filename.analyzer.extension.end", SAVE_MODE_DECIDED = "filename.ux.mode.decided", INTERACTIVE_SELECTION_START = "filename.ux.selection.start", INTERACTIVE_SELECTION_END = "filename.ux.selection.end", DRY_RUN_EXECUTED = "filename.ux.dryrun.executed", UNDO_EXECUTED = "filename.ux.undo.executed", SAVE_OPERATION_START = "filename.save.start", SAVE_OPERATION_END = "filename.save.end", SAVE_OPERATION_SUCCESS = "filename.save.success", SAVE_OPERATION_FAILED = "filename.save.failed", SECURITY_VIOLATION = "filename.security.violation", PATH_TRAVERSAL_BLOCKED = "filename.security.path_traversal_blocked", PLAN_VIOLATION_BLOCKED = "filename.security.plan_violation_blocked", PERMISSION_DENIED = "filename.security.permission_denied", HIGH_CONFIDENCE_INFERENCE = "filename.performance.high_confidence", LOW_CONFIDENCE_INFERENCE = "filename.performance.low_confidence", ANALYZER_SLOW = "filename.performance.analyzer_slow" } export interface FilenameInferenceMetrics { totalInferences: number; averageInferenceTime: number; cacheHitRate: number; timeoutRate: number; highConfidenceRate: number; mediumConfidenceRate: number; lowConfidenceRate: number; immediateMode: number; interactiveMode: number; dryRunMode: number; userCancellations: number; undoOperations: number; securityViolations: number; pathTraversalAttempts: number; planViolations: number; permissionDenials: number; successfulSaves: number; failedSaves: number; saveSuccessRate: number; } export declare class FilenameInferenceTelemetry { private telemetry; private integration; private readonly integrationPromise; constructor(); private loadOptionalIntegration; private toMeta; /** * Start timing an inference operation */ startInference(prompt: string, context?: unknown): () => void; /** * Record inference completion */ recordInferenceComplete(result: InferenceResult | FilenameCandidate, durationMs: number): void; /** * Record cache hit */ recordCacheHit(cacheKey: string): void; /** * Record cache miss */ recordCacheMiss(cacheKey: string): void; /** * Start timing an analyzer */ startAnalyzer(analyzer: string): () => void; /** * Record analyzer completion */ recordAnalyzerComplete(analyzer: string, candidates: FilenameCandidate[], durationMs: number): void; /** * Record save mode decision */ recordSaveModeDecision(confidence: number, mode: 'immediate' | 'interactive' | 'dry-run', reason: string): void; /** * Record interactive selection */ recordInteractiveSelection(candidates: FilenameCandidate[], selectedIndex: number, durationMs: number): void; /** * Record dry run execution */ recordDryRun(analysisResults: unknown): void; /** * Record undo operation */ recordUndo(operation: string, success: boolean): void; /** * Record save operation */ recordSave(operation: SaveOperation, result: SaveResult, durationMs: number): void; /** * Record security violations */ recordSecurityViolation(type: 'path_traversal' | 'plan_violation' | 'permission_denied', details: unknown): void; /** * Generate metrics summary */ generateMetrics(windowMs?: number): Promise<FilenameInferenceMetrics>; /** * Record integration telemetry for external systems */ recordIntegrationTelemetry(data: unknown): Promise<void>; private getConfidenceLevel; private getDurationBucket; private getFileExtension; private recordConfidenceMetrics; private recordTimeout; } export declare const filenameInferenceTelemetry: FilenameInferenceTelemetry;