(aiChatId: string)
| 835 | } |
| 836 | |
| 837 | getAIChatTokenUsage(aiChatId: string): TokenUsageData { |
| 838 | const rows = this.getActivePathRows(aiChatId) |
| 839 | const result: TokenUsageData = { |
| 840 | promptTokens: 0, |
| 841 | completionTokens: 0, |
| 842 | totalTokens: 0, |
| 843 | cacheReadTokens: 0, |
| 844 | cacheWriteTokens: 0, |
| 845 | } |
| 846 | for (const row of rows) { |
| 847 | if (row.tokenUsage) { |
| 848 | const usage = JSON.parse(row.tokenUsage) as TokenUsageData |
| 849 | result.promptTokens += usage.promptTokens |
| 850 | result.completionTokens += usage.completionTokens |
| 851 | result.totalTokens += usage.totalTokens |
| 852 | result.cacheReadTokens! += usage.cacheReadTokens || 0 |
| 853 | result.cacheWriteTokens! += usage.cacheWriteTokens || 0 |
| 854 | } |
| 855 | } |
| 856 | return result |
| 857 | } |
| 858 | |
| 859 | // ==================== Debug context ==================== |
| 860 |
nothing calls this directly
no test coverage detected