fix(chat): 支持重新生成前撤销消息
This commit is contained in:
@@ -99,6 +99,28 @@ export class OpencodeRuntimeAdapter {
|
||||
return requireData(messages.data, "session.messages");
|
||||
}
|
||||
|
||||
async revertMessage(sessionId: string, messageId: string) {
|
||||
const client = await this.ensureClient();
|
||||
const response = await client.session.revert({
|
||||
sessionID: sessionId,
|
||||
messageID: messageId,
|
||||
});
|
||||
return response.data;
|
||||
}
|
||||
|
||||
async revertLastUserMessage(sessionId: string) {
|
||||
const messages = await this.messages(sessionId, 40);
|
||||
const lastUserMessage = [...messages]
|
||||
.reverse()
|
||||
.find((message) => message.info.role === "user");
|
||||
|
||||
if (!lastUserMessage) {
|
||||
throw new Error("no user message found to revert");
|
||||
}
|
||||
|
||||
return this.revertMessage(sessionId, lastUserMessage.info.id);
|
||||
}
|
||||
|
||||
async abortSession(sessionId: string) {
|
||||
const client = await this.ensureClient();
|
||||
const response = await client.session.abort({
|
||||
|
||||
Reference in New Issue
Block a user