From 84ef68c500bb6b484de9b99fc5933015d5d30c5e Mon Sep 17 00:00:00 2001 From: kagami Date: Mon, 8 Jul 2024 18:57:15 +0800 Subject: [PATCH] Delete log via client --- src/handler/sendMessageBase.ts | 16 ++++++------- src/toolwrapper/devchatClient.ts | 40 ++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/handler/sendMessageBase.ts b/src/handler/sendMessageBase.ts index 33a17a1..c4f82d4 100644 --- a/src/handler/sendMessageBase.ts +++ b/src/handler/sendMessageBase.ts @@ -1,4 +1,3 @@ -// import DevChat, { ChatOptions, ChatResponse } from '../toolwrapper/devchat'; import { logger } from '../util/logger'; import { assertValue } from '../util/check'; import { DevChatClient, ChatRequest, ChatResponse, buildRoleContextsFromFiles, LogData } from '../toolwrapper/devchatClient'; @@ -191,9 +190,9 @@ export async function sendMessageBase(message: any, handlePartialData: (data: { if (chatResponse.finish_reason === "should_run_workflow") { // invoke workflow via cli workflowRes = await dcCLI.runWorkflow( - parsedMessage.text, - chatOptions, - (partialResponse: ChatResponse) => { + parsedMessage.text, + chatOptions, + (partialResponse: ChatResponse) => { const partialDataText = partialResponse.response; handlePartialData({ command: "receiveMessagePartial", @@ -280,9 +279,10 @@ export async function deleteChatMessageBase(message:{'hash': string}): Promise { dcCLI.input(text); -return; + return; } \ No newline at end of file diff --git a/src/toolwrapper/devchatClient.ts b/src/toolwrapper/devchatClient.ts index f36ad6e..56094f9 100644 --- a/src/toolwrapper/devchatClient.ts +++ b/src/toolwrapper/devchatClient.ts @@ -71,6 +71,23 @@ export interface LogInsertRes { error?: string; } +export interface LogDeleteRes { + success?: boolean; + error?: string; +} + +export interface ShortLog { + hash: string; + parent: string | null; + user: string; + date: string; + request: string; + responses: string[]; + context: Array<{ + content: string; + role: string; + }>; +} export async function buildRoleContextsFromFiles( files: string[] | undefined @@ -249,6 +266,29 @@ export class DevChatClient { }; return res; } + + @timeThis + async deleteLog(logHash: string): Promise { + const data = { + workspace: UiUtilWrapper.workspaceFoldersFirstPath(), + hash: logHash, + }; + const response = await this._post("/logs/delete", data); + logger + .channel() + ?.debug( + `deleteLog response data: ${JSON.stringify( + response.data + )}, ${typeof response.data}}` + ); + + const res: LogDeleteRes = { + success: response.data["success"], + error: response.data["error"], + }; + return res; + } + stopAllRequest(): void { this.cancelMessage(); // add other requests here if needed