diff --git a/artifacts/api-server/src/routes/sessions.ts b/artifacts/api-server/src/routes/sessions.ts index 036d79e..7cb4a5c 100644 --- a/artifacts/api-server/src/routes/sessions.ts +++ b/artifacts/api-server/src/routes/sessions.ts @@ -228,6 +228,7 @@ router.get("/sessions/:id", async (req: Request, res: Response) => { .update(sessions) .set({ state: "expired", updatedAt: new Date() }) .where(eq(sessions.id, id)); + await db.delete(sessionMessages).where(eq(sessionMessages.sessionId, id)); session = (await getSessionById(id))!; } @@ -314,6 +315,11 @@ router.post("/sessions/:id/request", async (req: Request, res: Response) => { // Load conversation history for context injection const history = await getSessionHistory(id, 8, 4000); + // Defensive check: log a warning if history still exceeds budget + const currentTokenCount = history.reduce((sum, msg) => sum + Math.ceil(msg.content.length / 4), 0); + if (currentTokenCount > 4000) { + console.warn(`Session ${id}: History exceeds 4000 token budget after retrieval. Actual: ${currentTokenCount}`); + } // Eval phase const evalResult = await agentService.evaluateRequest(requestText);