(messages: Message[], n: number)
| 51 | |
| 52 | /** Approximate character count of the first `n` messages (proxy for cached tokens). */ |
| 53 | export function prefixChars(messages: Message[], n: number): number { |
| 54 | let chars = 0; |
| 55 | for (let i = 0; i < Math.min(n, messages.length); i++) { |
| 56 | chars += serializeMessage(messages[i]!).length; |
| 57 | } |
| 58 | return chars; |
| 59 | } |
| 60 | |
| 61 | export interface CacheReuse { |
| 62 | /** Leading messages shared with the previous turn. */ |
no test coverage detected