fix: permissions path

This commit is contained in:
Kujtim Hoxha
2025-07-31 18:11:55 +02:00
parent b1b5851f23
commit 3eed18432f
3 changed files with 34 additions and 7 deletions

View File

@@ -215,10 +215,14 @@ func (e *editTool) createNewFile(ctx context.Context, filePath, content string,
content,
strings.TrimPrefix(filePath, e.workingDir),
)
permissionPath := filePath
if strings.HasPrefix(filePath, e.workingDir) {
permissionPath = e.workingDir
}
p := e.permissions.Request(
permission.CreatePermissionRequest{
SessionID: sessionID,
Path: filePath,
Path: permissionPath,
ToolCallID: call.ID,
ToolName: EditToolName,
Action: "write",
@@ -336,10 +340,15 @@ func (e *editTool) deleteContent(ctx context.Context, filePath, oldString string
strings.TrimPrefix(filePath, e.workingDir),
)
permissionPath := filePath
if strings.HasPrefix(filePath, e.workingDir) {
permissionPath = e.workingDir
}
p := e.permissions.Request(
permission.CreatePermissionRequest{
SessionID: sessionID,
Path: filePath,
Path: permissionPath,
ToolCallID: call.ID,
ToolName: EditToolName,
Action: "write",
@@ -466,10 +475,15 @@ func (e *editTool) replaceContent(ctx context.Context, filePath, oldString, newS
newContent,
strings.TrimPrefix(filePath, e.workingDir),
)
permissionPath := filePath
if strings.HasPrefix(filePath, e.workingDir) {
permissionPath = e.workingDir
}
p := e.permissions.Request(
permission.CreatePermissionRequest{
SessionID: sessionID,
Path: filePath,
Path: permissionPath,
ToolCallID: call.ID,
ToolName: EditToolName,
Action: "write",

View File

@@ -250,9 +250,14 @@ func (m *multiEditTool) processMultiEditWithCreation(ctx context.Context, params
// Check permissions
_, additions, removals := diff.GenerateDiff("", currentContent, strings.TrimPrefix(params.FilePath, m.workingDir))
permissionPath := params.FilePath
if strings.HasPrefix(params.FilePath, m.workingDir) {
permissionPath = m.workingDir
}
p := m.permissions.Request(permission.CreatePermissionRequest{
SessionID: sessionID,
Path: params.FilePath,
Path: permissionPath,
ToolCallID: call.ID,
ToolName: MultiEditToolName,
Action: "write",
@@ -359,10 +364,13 @@ func (m *multiEditTool) processMultiEditExistingFile(ctx context.Context, params
// Generate diff and check permissions
_, additions, removals := diff.GenerateDiff(oldContent, currentContent, strings.TrimPrefix(params.FilePath, m.workingDir))
permissionPath := params.FilePath
if strings.HasPrefix(params.FilePath, m.workingDir) {
permissionPath = m.workingDir
}
p := m.permissions.Request(permission.CreatePermissionRequest{
SessionID: sessionID,
Path: params.FilePath,
Path: permissionPath,
ToolCallID: call.ID,
ToolName: MultiEditToolName,
Action: "write",

View File

@@ -172,10 +172,15 @@ func (w *writeTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error
strings.TrimPrefix(filePath, w.workingDir),
)
permissionPath := filePath
if strings.HasPrefix(filePath, w.workingDir) {
permissionPath = w.workingDir
}
p := w.permissions.Request(
permission.CreatePermissionRequest{
SessionID: sessionID,
Path: filePath,
Path: permissionPath,
ToolCallID: call.ID,
ToolName: WriteToolName,
Action: "write",