ai-chatbot/app/(chat)/api/chat/_lib/persistence.ts
2026-05-26 22:15:49 +08:00

25 lines
663 B
TypeScript

export function normalizeAssistantPartsForPersistence(
parts: Array<Record<string, any>> | undefined
) {
const safeParts = Array.isArray(parts) ? parts.filter(Boolean) : [];
return safeParts.filter((part) => {
const partType = String(part?.type || "").trim();
if (!partType) return false;
if (
partType === "data-keepalive" ||
partType === "step-start" ||
partType === "step-finish"
) {
return false;
}
return true;
});
}
export function bufferToArrayBuffer(buffer: Buffer): ArrayBuffer {
return buffer.buffer.slice(
buffer.byteOffset,
buffer.byteOffset + buffer.byteLength
) as ArrayBuffer;
}