Просмотр исходного кода

add synthetic user message before bash execution (when using !) (#2283)

Aiden Cline 5 месяцев назад
Родитель
Сommit
ad8ea82611
1 измененных файлов с 19 добавлено и 0 удалено
  1. 19 0
      packages/opencode/src/session/index.ts

+ 19 - 0
packages/opencode/src/session/index.ts

@@ -1035,6 +1035,25 @@ export namespace Session {
   export type ShellInput = z.infer<typeof ShellInput>
   export async function shell(input: ShellInput) {
     using abort = lock(input.sessionID)
+    const userMsg: MessageV2.User = {
+      id: Identifier.ascending("message"),
+      sessionID: input.sessionID,
+      time: {
+        created: Date.now(),
+      },
+      role: "user",
+    }
+    await updateMessage(userMsg)
+    const userPart: MessageV2.Part = {
+      type: "text",
+      id: Identifier.ascending("part"),
+      messageID: userMsg.id,
+      sessionID: input.sessionID,
+      text: "The following tool was executed by the user",
+      synthetic: true,
+    }
+    await updatePart(userPart)
+
     const msg: MessageV2.Assistant = {
       id: Identifier.ascending("message"),
       sessionID: input.sessionID,