openclaw / src /memory-host-sdk /event-export.ts
SaylorTwift's picture
SaylorTwift HF Staff
Add files using upload-large-folder tool
76289e7 verified
Raw History Blame Contribute Delete
651 Bytes
import type { PersistedMemoryHostEvent } from "./event-store.js";
export const MAX_MEMORY_HOST_PUBLIC_EXPORT_BYTES = 1024 * 1024;
export function serializeMemoryHostEventExport(
storedEvents: readonly PersistedMemoryHostEvent[],
): string {
const lines: string[] = [];
let sizeBytes = 0;
for (const entry of storedEvents.toReversed()) {
const line = JSON.stringify(entry.value.event);
const lineBytes = Buffer.byteLength(line, "utf8") + 1;
if (sizeBytes + lineBytes > MAX_MEMORY_HOST_PUBLIC_EXPORT_BYTES) {
break;
}
lines.push(line);
sizeBytes += lineBytes;
}
return lines.toReversed().join("\n") + "\n";
}