Skip to content

Commit 4e2e9b4

Browse files
committed
fix(ts): 修复 contextFilter 和消息渲染中的类型错误,确保生产环境构建通过
1 parent c2487bc commit 4e2e9b4

4 files changed

Lines changed: 6 additions & 5 deletions

File tree

src/components/AIChat/MessageItem.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -450,7 +450,7 @@ export const MessageItem = React.memo(({ message, onApprove, onReject, onOpenFil
450450

451451
// 🔥 FIX v0.4.0: 智能内容预处理 - 提取思考内容
452452
const { thinkingText, contentWithoutThinking } = React.useMemo(() => {
453-
const content = typeof message.content === 'string' ? message.content : (Array.isArray(message.content) ? message.content.map(p => p.type === 'text' ? p.text : '').join('') : '');
453+
const content = typeof message.content === 'string' ? message.content : (Array.isArray(message.content) ? (message.content as any[]).map(p => p.type === 'text' ? p.text : '').join('') : '');
454454
const thinkingMatch = String(content || '').match(/^_\(([^)]+)\)_/);
455455
if (thinkingMatch) {
456456
return {

src/components/AIChat/TimelineLoader.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,7 +182,7 @@ export class TimelineLoader {
182182
content = message.content;
183183
} else if (Array.isArray(message.content)) {
184184
try {
185-
content = message.content.map(p => {
185+
content = (message.content as any[]).map(p => {
186186
if (!p) return '';
187187
if (p.type === 'text') return String(p.text || '');
188188
return '[image]';

src/stores/useChatStore.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -540,7 +540,7 @@ export function initPivoSelfHealing() {
540540

541541
if (lastMsg) {
542542
const { MessageLifecycleService } = await import('../services/chat/MessageLifecycleService');
543-
MessageLifecycleService.triggerTaskBreakdown(lastMsg, state.messages);
543+
MessageLifecycleService.triggerTaskBreakdown(lastMsg as any, state.messages as any);
544544
}
545545
});
546546
}

src/utils/contextFilter.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,9 +95,10 @@ export async function selectMessagesForContext(
9595

9696
for (let i = finalItems.length - 1; i >= 0; i--) {
9797
const item = finalItems[i];
98-
if (criticalSet.has(item.message.id) || (currentTokens + item.estimatedTokens <= maxTokens)) {
98+
const tokens = await item.estimatedTokens; // 🏆 PIVO 3.4.14: 物理级异步解构
99+
if (criticalSet.has(item.message.id) || (currentTokens + tokens <= maxTokens)) {
99100
windowSelected.push(item);
100-
currentTokens += item.estimatedTokens;
101+
currentTokens += tokens;
101102
}
102103
}
103104
finalItems = windowSelected;

0 commit comments

Comments
 (0)