diff --git a/src/tools/read.ts b/src/tools/read.ts index 5ccaaf4..374dbad 100644 --- a/src/tools/read.ts +++ b/src/tools/read.ts @@ -70,11 +70,20 @@ export function readUrl(url: string, tracker?: TokenTracker): Promise<{ response tokens: response.data.usage?.tokens || 0 }); - const tokens = response.data.usage?.tokens || 0; - const tokenTracker = tracker || new TokenTracker(); - tokenTracker.trackUsage('read', tokens); + const apiTokens = response.data.usage?.tokens || 0; + + if (tracker) { + // Track API response tokens + tracker.trackUsage('read_api', apiTokens); + + // Track content length tokens using the same estimation method + if (response.data.content) { + const contentTokens = Math.ceil(Buffer.byteLength(response.data.content, 'utf-8') / 4); + tracker.trackUsage('read_content', contentTokens); + } + } - resolve({ response, tokens }); + resolve({ response, tokens: apiTokens }); }); }); @@ -95,4 +104,4 @@ export function readUrl(url: string, tracker?: TokenTracker): Promise<{ response export function removeAllLineBreaks(text: string) { return text.replace(/(\r\n|\n|\r)/gm, " "); -} \ No newline at end of file +}