25 lines
663 B
TypeScript
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;
|
|
}
|