From a8d5787e8ef561037f73b669128f46ae1b1e8553 Mon Sep 17 00:00:00 2001 From: Kujtim Hoxha Date: Mon, 21 Apr 2025 14:29:03 +0200 Subject: config validation --- internal/permission/permission.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'internal/permission') diff --git a/internal/permission/permission.go b/internal/permission/permission.go index 4cb379dea..06f69a33d 100644 --- a/internal/permission/permission.go +++ b/internal/permission/permission.go @@ -2,10 +2,12 @@ package permission import ( "errors" + "path/filepath" "sync" "time" "github.com/google/uuid" + "github.com/kujtimiihoxha/opencode/internal/config" "github.com/kujtimiihoxha/opencode/internal/pubsub" ) @@ -67,9 +69,13 @@ func (s *permissionService) Deny(permission PermissionRequest) { } func (s *permissionService) Request(opts CreatePermissionRequest) bool { + dir := filepath.Dir(opts.Path) + if dir == "." { + dir = config.WorkingDirectory() + } permission := PermissionRequest{ ID: uuid.New().String(), - Path: opts.Path, + Path: dir, ToolName: opts.ToolName, Description: opts.Description, Action: opts.Action, @@ -77,7 +83,7 @@ func (s *permissionService) Request(opts CreatePermissionRequest) bool { } for _, p := range s.sessionPermissions { - if p.ToolName == permission.ToolName && p.Action == permission.Action { + if p.ToolName == permission.ToolName && p.Action == permission.Action && p.SessionID == permission.SessionID && p.Path == permission.Path { return true } } -- cgit v1.2.3