Parcourir la source

fix: make external_directory permission wildcarding more sane

Aiden Cline il y a 3 mois
Parent
commit
bbf4574476

+ 1 - 1
packages/opencode/src/tool/bash.ts

@@ -113,7 +113,7 @@ export const BashTool = Tool.define("bash", {
               if (agent.permission.external_directory === "ask") {
                 await Permission.ask({
                   type: "external_directory",
-                  pattern: parentDir,
+                  pattern: [parentDir, path.join(parentDir, "*")],
                   sessionID: ctx.sessionID,
                   messageID: ctx.messageID,
                   callID: ctx.callID,

+ 1 - 1
packages/opencode/src/tool/edit.ts

@@ -47,7 +47,7 @@ export const EditTool = Tool.define("edit", {
       if (agent.permission.external_directory === "ask") {
         await Permission.ask({
           type: "external_directory",
-          pattern: parentDir,
+          pattern: [parentDir, path.join(parentDir, "*")],
           sessionID: ctx.sessionID,
           messageID: ctx.messageID,
           callID: ctx.callID,

+ 1 - 1
packages/opencode/src/tool/patch.ts

@@ -58,7 +58,7 @@ export const PatchTool = Tool.define("patch", {
         if (agent.permission.external_directory === "ask") {
           await Permission.ask({
             type: "external_directory",
-            pattern: parentDir,
+            pattern: [parentDir, path.join(parentDir, "*")],
             sessionID: ctx.sessionID,
             messageID: ctx.messageID,
             callID: ctx.callID,

+ 1 - 1
packages/opencode/src/tool/read.ts

@@ -36,7 +36,7 @@ export const ReadTool = Tool.define("read", {
       if (agent.permission.external_directory === "ask") {
         await Permission.ask({
           type: "external_directory",
-          pattern: parentDir,
+          pattern: [parentDir, path.join(parentDir, "*")],
           sessionID: ctx.sessionID,
           messageID: ctx.messageID,
           callID: ctx.callID,

+ 1 - 1
packages/opencode/src/tool/write.ts

@@ -26,7 +26,7 @@ export const WriteTool = Tool.define("write", {
       if (agent.permission.external_directory === "ask") {
         await Permission.ask({
           type: "external_directory",
-          pattern: parentDir,
+          pattern: [parentDir, path.join(parentDir, "*")],
           sessionID: ctx.sessionID,
           messageID: ctx.messageID,
           callID: ctx.callID,