2026-01-03 13:39:59 +02:00
|
|
|
import type { Part } from '@opencode-ai/sdk/v2';
|
2025-12-09 00:40:43 +02:00
|
|
|
|
|
|
|
|
type TextLikePart = Part & { text?: string; content?: string };
|
|
|
|
|
|
|
|
|
|
export const flattenAssistantTextParts = (parts: Part[]): string => {
|
|
|
|
|
const textParts = parts
|
|
|
|
|
.filter((part): part is TextLikePart => part?.type === 'text')
|
|
|
|
|
.map((part) => (part.text || part.content || '').trim())
|
|
|
|
|
.filter((text) => text.length > 0);
|
|
|
|
|
|
|
|
|
|
const combined = textParts.join('\n');
|
|
|
|
|
return combined.replace(/\n\s*\n+/g, '\n');
|
|
|
|
|
};
|