feat(*): Ensure all threads are deleted when finished with

This commit is contained in:
Josh Creek
2025-04-27 22:30:15 +01:00
parent dbfc4b26a8
commit a08f90fb4d
+6
View File
@@ -320,6 +320,7 @@ export async function gradeSubmissionWithAgent(
finalRun = await processRunStream(thread.id, initialStream, roomId); finalRun = await processRunStream(thread.id, initialStream, roomId);
} catch (err) { } catch (err) {
logger.error(`Agent streaming failed on thread ${thread.id}:`, err); logger.error(`Agent streaming failed on thread ${thread.id}:`, err);
client.agents.deleteThread(thread.id);
return fallbackGrade(submission, task); return fallbackGrade(submission, task);
} }
@@ -331,6 +332,8 @@ export async function gradeSubmissionWithAgent(
const match = raw.match(/\{[\s\S]*\}$/); const match = raw.match(/\{[\s\S]*\}$/);
const jsonText = match ? match[0] : raw; const jsonText = match ? match[0] : raw;
client.agents.deleteThread(thread.id);
try { try {
const parsed = JSON.parse(jsonText) as OpenAIResponse; const parsed = JSON.parse(jsonText) as OpenAIResponse;
if (parsed.grade === 'HUMAN_REVIEW_REQUIRED') { if (parsed.grade === 'HUMAN_REVIEW_REQUIRED') {
@@ -376,6 +379,7 @@ export async function resumeAgentWithHumanReview(
finalRun = await processRunStream(threadId, stream, roomId); finalRun = await processRunStream(threadId, stream, roomId);
} catch (err) { } catch (err) {
logger.error(`Agent streaming failed on thread ${threadId}:`, err); logger.error(`Agent streaming failed on thread ${threadId}:`, err);
client.agents.deleteThread(threadId);
return fallbackGrade('', ''); return fallbackGrade('', '');
} }
@@ -387,6 +391,8 @@ export async function resumeAgentWithHumanReview(
const match = raw.match(/\{[\s\S]*\}$/); const match = raw.match(/\{[\s\S]*\}$/);
const jsonText = match ? match[0] : raw; const jsonText = match ? match[0] : raw;
client.agents.deleteThread(threadId);
try { try {
const parsed = JSON.parse(jsonText) as OpenAIResponse; const parsed = JSON.parse(jsonText) as OpenAIResponse;
return parsed; return parsed;