fix: remove content deduplication to fix token counting and display

This commit is contained in:
Sanyela 2025-12-03 14:07:51 +08:00
parent d7a2332e24
commit 82314ce018

View file

@ -1098,7 +1098,6 @@ async initializeAuth(forceRefresh = false) {
const stream = response.data; const stream = response.data;
let buffer = ''; let buffer = '';
const processedPositions = new Set(); // 避免重复处理
for await (const chunk of stream) { for await (const chunk of stream) {
buffer += chunk.toString(); buffer += chunk.toString();
@ -1107,11 +1106,8 @@ async initializeAuth(forceRefresh = false) {
const { events, remaining } = this.parseAwsEventStreamBuffer(buffer); const { events, remaining } = this.parseAwsEventStreamBuffer(buffer);
buffer = remaining; buffer = remaining;
// 只 yield 新的事件 // yield 所有事件(不再去重,因为重复内容是有效的)
for (const event of events) { for (const event of events) {
const eventKey = `${event.type}:${event.data}`;
if (!processedPositions.has(eventKey)) {
processedPositions.add(eventKey);
if (event.type === 'content' && event.data) { if (event.type === 'content' && event.data) {
yield { type: 'content', content: event.data }; yield { type: 'content', content: event.data };
} else if (event.type === 'toolUse') { } else if (event.type === 'toolUse') {
@ -1119,7 +1115,6 @@ async initializeAuth(forceRefresh = false) {
} }
} }
} }
}
} catch (error) { } catch (error) {
if (error.response?.status === 403 && !isRetry) { if (error.response?.status === 403 && !isRetry) {
console.log('[Kiro] Received 403 in stream. Attempting token refresh and retrying...'); console.log('[Kiro] Received 403 in stream. Attempting token refresh and retrying...');