diff --git a/src/ts/process/memory/hypav3.ts b/src/ts/process/memory/hypav3.ts index d9ea04a8..0316216a 100644 --- a/src/ts/process/memory/hypav3.ts +++ b/src/ts/process/memory/hypav3.ts @@ -442,23 +442,25 @@ export async function hypaMemoryV3( } // Attempt summarization - const summarizeResult = await retryableSummarize(toSummarize); + if (toSummarize.length > 0) { + const summarizeResult = await retryableSummarize(toSummarize); - if (!summarizeResult.success) { - return { - currentTokens, - chats, - error: `[HypaV3] Summarization failed after maximum retries: ${summarizeResult.data}`, - memory: toSerializableHypaV3Data(data), - }; + if (!summarizeResult.success) { + return { + currentTokens, + chats, + error: `[HypaV3] Summarization failed after maximum retries: ${summarizeResult.data}`, + memory: toSerializableHypaV3Data(data), + }; + } + + data.summaries.push({ + text: summarizeResult.data, + chatMemos: new Set(toSummarize.map((chat) => chat.memo)), + isImportant: false, + }); } - data.summaries.push({ - text: summarizeResult.data, - chatMemos: new Set(toSummarize.map((chat) => chat.memo)), - isImportant: false, - }); - currentTokens -= toSummarizeTokens; startIdx = endIdx; }