UNPKG

@ooples/token-optimizer-mcp

Version:

Intelligent context window optimization for Claude Code - store content externally via caching and compression, freeing up your context window for what matters

100 lines 2.65 kB
/** * Core analytics manager for tracking and aggregating token usage */ import type { AnalyticsEntry, AnalyticsStorage, HookAnalytics, ActionAnalytics, ServerAnalytics, HookPhase } from './analytics-types.js'; /** * Manager for tracking and analyzing token usage */ export declare class AnalyticsManager { private storage; constructor(storage?: AnalyticsStorage); /** * Track a single operation */ track(entry: Omit<AnalyticsEntry, 'timestamp'>): Promise<void>; /** * Track a batch of operations */ trackBatch(entries: Omit<AnalyticsEntry, 'timestamp'>[]): Promise<void>; /** * Get per-hook analytics breakdown */ getHookAnalytics(options?: { startDate?: string; endDate?: string; }): Promise<HookAnalytics>; /** * Get per-action analytics breakdown */ getActionAnalytics(options?: { startDate?: string; endDate?: string; }): Promise<ActionAnalytics>; /** * Get per-MCP-server analytics breakdown */ getServerAnalytics(options?: { startDate?: string; endDate?: string; }): Promise<ServerAnalytics>; /** * Get all analytics entries with optional filters */ getEntries(filters?: { hookPhase?: HookPhase; toolName?: string; mcpServer?: string; startDate?: string; endDate?: string; sessionId?: string; }): Promise<AnalyticsEntry[]>; /** * Clear all analytics data */ clear(): Promise<void>; /** * Get total count of analytics entries */ count(): Promise<number>; /** * Aggregate entries by hook phase */ private aggregateByHook; /** * Aggregate entries by tool/action */ private aggregateByAction; /** * Aggregate entries by MCP server */ private aggregateByServer; /** * Calculate aggregated statistics for a group of entries */ private calculateAggregatedStats; /** * Export analytics data as JSON */ exportAsJson(filters?: { startDate?: string; endDate?: string; hookPhase?: HookPhase; toolName?: string; mcpServer?: string; }): Promise<string>; /** * Export analytics data as CSV */ exportAsCsv(filters?: { startDate?: string; endDate?: string; hookPhase?: HookPhase; toolName?: string; mcpServer?: string; }): Promise<string>; /** * Close the underlying storage and flush any pending writes */ close(): Promise<void>; } //# sourceMappingURL=analytics-manager.d.ts.map