From 60b9a8555db8a9d3b64334117c4f0750b6fd4ed9 Mon Sep 17 00:00:00 2001 From: Josh Creek <8179928+jcreek@users.noreply.github.com> Date: Sat, 26 Apr 2025 12:37:46 +0100 Subject: [PATCH] feat(*): Add function for deleting all threads --- src/lib/agent/services/agentService.ts | 32 ++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/lib/agent/services/agentService.ts b/src/lib/agent/services/agentService.ts index 3b45718..1f22262 100644 --- a/src/lib/agent/services/agentService.ts +++ b/src/lib/agent/services/agentService.ts @@ -122,3 +122,35 @@ export async function deleteAllAgents() { console.warn('Failed to delete all agents:', err); } } + +/** + * Delete all threads in the workspace. + * Use with caution! This will remove ALL threads. + */ +export async function deleteAllThreads() { + try { + let allThreads: any[] = []; + let after: string | undefined = undefined; + let hasMore = true; + + while (hasMore) { + const response = await client.agents.listThreads(after ? { after } : {}); + const threads = Array.isArray(response.data) ? response.data : []; + allThreads = allThreads.concat(threads); + hasMore = response.hasMore; + after = response.lastId; + } + + for (const thread of allThreads) { + await client.agents.deleteThread(thread.id, { + requestOptions: { + headers: { 'x-ms-enable-preview': 'true' } + } + }); + console.info(`Thread ${thread.id} deleted.`); + } + console.info('All threads deleted successfully.'); + } catch (err) { + console.warn('Failed to delete all threads:', err); + } +}