(params: {
sessionId: string
chatType: 'group' | 'private'
timeFilter?: { startTs: number; endTs: number }
})
| 212 | } |
| 213 | |
| 214 | export function buildAIChatKey(params: { |
| 215 | sessionId: string |
| 216 | chatType: 'group' | 'private' |
| 217 | timeFilter?: { startTs: number; endTs: number } |
| 218 | }): string { |
| 219 | return `${params.sessionId}:${params.chatType}:${buildTimeFilterKey(params.timeFilter)}` |
| 220 | } |
| 221 | |
| 222 | function createEmptyTokenUsage(): TokenUsage { |
| 223 | return { promptTokens: 0, completionTokens: 0, totalTokens: 0, cacheReadTokens: 0, cacheWriteTokens: 0 } |
no test coverage detected