( sessionId: string, filter?: TimeFilter )
| 82 | } |
| 83 | |
| 84 | export function getMessageLengthDistribution( |
| 85 | sessionId: string, |
| 86 | filter?: TimeFilter |
| 87 | ): { |
| 88 | detail: Array<{ len: number; count: number }> |
| 89 | grouped: Array<{ range: string; count: number }> |
| 90 | } { |
| 91 | const db = openDatabaseAdapter(sessionId) |
| 92 | if (!db) return { detail: [], grouped: [] } |
| 93 | return coreGetMessageLengthDistribution(db, filter) |
| 94 | } |
| 95 | |
| 96 | export function getTimeRange(sessionId: string): { start: number; end: number } | null { |
| 97 | const overview = getCache<OverviewCache>(sessionId, CACHE_KEY_OVERVIEW, getCacheDir()) |
no test coverage detected