on main help sign in
fix: permissions path
commit3eed18432f360fb21404bd23a61f9ed22a5f7559 authorKujtim Hoxha <kujtimii.h@gmail.com> dateThu 31 Jul 2025, 18:11 (1 year ago) parentb1b5851
3 files changed+34−7
internal/llm/tools/edit.go+17−3 internal/llm/tools/multiedit.go+11−3 internal/llm/tools/write.go+6−1
internal/llm/tools/edit.go+17−3
@@ -215,10 +215,14 @@ func (e *editTool) createNewFile(ctx context.Context, filePath, content string,
215215 content,
216216 strings.TrimPrefix(filePath, e.workingDir),
217217 )
218+ permissionPath := filePath
219+ if strings.HasPrefix(filePath, e.workingDir) {
220+ permissionPath = e.workingDir
221+ }
218222 p := e.permissions.Request(
219223 permission.CreatePermissionRequest{
220224 SessionID: sessionID,
221− Path: filePath,
225+ Path: permissionPath,
222226 ToolCallID: call.ID,
223227 ToolName: EditToolName,
224228 Action: "write",
@@ -336,10 +340,15 @@ func (e *editTool) deleteContent(ctx context.Context, filePath, oldString string
336340 strings.TrimPrefix(filePath, e.workingDir),
337341 )
338342
343+ permissionPath := filePath
344+ if strings.HasPrefix(filePath, e.workingDir) {
345+ permissionPath = e.workingDir
346+ }
347+
339348 p := e.permissions.Request(
340349 permission.CreatePermissionRequest{
341350 SessionID: sessionID,
342− Path: filePath,
351+ Path: permissionPath,
343352 ToolCallID: call.ID,
344353 ToolName: EditToolName,
345354 Action: "write",
@@ -466,10 +475,15 @@ func (e *editTool) replaceContent(ctx context.Context, filePath, oldString, newS
466475 newContent,
467476 strings.TrimPrefix(filePath, e.workingDir),
468477 )
478+
479+ permissionPath := filePath
480+ if strings.HasPrefix(filePath, e.workingDir) {
481+ permissionPath = e.workingDir
482+ }
469483 p := e.permissions.Request(
470484 permission.CreatePermissionRequest{
471485 SessionID: sessionID,
472− Path: filePath,
486+ Path: permissionPath,
473487 ToolCallID: call.ID,
474488 ToolName: EditToolName,
475489 Action: "write",
internal/llm/tools/multiedit.go+11−3
@@ -250,9 +250,14 @@ func (m *multiEditTool) processMultiEditWithCreation(ctx context.Context, params
250250 // Check permissions
251251 _, additions, removals := diff.GenerateDiff("", currentContent, strings.TrimPrefix(params.FilePath, m.workingDir))
252252
253+ permissionPath := params.FilePath
254+ if strings.HasPrefix(params.FilePath, m.workingDir) {
255+ permissionPath = m.workingDir
256+ }
257+
253258 p := m.permissions.Request(permission.CreatePermissionRequest{
254259 SessionID: sessionID,
255− Path: params.FilePath,
260+ Path: permissionPath,
256261 ToolCallID: call.ID,
257262 ToolName: MultiEditToolName,
258263 Action: "write",
@@ -359,10 +364,13 @@ func (m *multiEditTool) processMultiEditExistingFile(ctx context.Context, params
359364
360365 // Generate diff and check permissions
361366 _, additions, removals := diff.GenerateDiff(oldContent, currentContent, strings.TrimPrefix(params.FilePath, m.workingDir))
362−
367+ permissionPath := params.FilePath
368+ if strings.HasPrefix(params.FilePath, m.workingDir) {
369+ permissionPath = m.workingDir
370+ }
363371 p := m.permissions.Request(permission.CreatePermissionRequest{
364372 SessionID: sessionID,
365− Path: params.FilePath,
373+ Path: permissionPath,
366374 ToolCallID: call.ID,
367375 ToolName: MultiEditToolName,
368376 Action: "write",
internal/llm/tools/write.go+6−1
@@ -172,10 +172,15 @@ func (w *writeTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error
172172 strings.TrimPrefix(filePath, w.workingDir),
173173 )
174174
175+ permissionPath := filePath
176+ if strings.HasPrefix(filePath, w.workingDir) {
177+ permissionPath = w.workingDir
178+ }
179+
175180 p := w.permissions.Request(
176181 permission.CreatePermissionRequest{
177182 SessionID: sessionID,
178− Path: filePath,
183+ Path: permissionPath,
179184 ToolCallID: call.ID,
180185 ToolName: WriteToolName,
181186 Action: "write",