import type { SessionEntry } from "@earendil-works/pi-coding-agent"; import type { CompactionStats } from "./types"; export function collectCompactionStats( branch: SessionEntry[], checkpointEntryId: string, ): CompactionStats { const checkpointIndex = branch.findIndex((entry) => entry.id === checkpointEntryId); const stats: CompactionStats = { compactedMessageCount: 0, }; if (checkpointIndex === -1) { return stats; } const compacted = branch.slice(checkpointIndex + 1); stats.compactedMessageCount = compacted.length; if (compacted.length > 0) { stats.compactedFrom = compacted[0]?.timestamp; stats.compactedTo = compacted[compacted.length - 1]?.timestamp; } return stats; }