summaryrefslogtreecommitdiffhomepage
path: root/internal
diff options
context:
space:
mode:
Diffstat (limited to 'internal')
-rw-r--r--internal/llm/tools/bash.go4
-rw-r--r--internal/permission/permission.go4
2 files changed, 6 insertions, 2 deletions
diff --git a/internal/llm/tools/bash.go b/internal/llm/tools/bash.go
index d55cb241b..0cea20878 100644
--- a/internal/llm/tools/bash.go
+++ b/internal/llm/tools/bash.go
@@ -273,14 +273,14 @@ func (b *bashTool) Run(ctx context.Context, call ToolCall) (ToolResponse, error)
},
)
if !p {
- return NewTextErrorResponse("permission denied"), nil
+ return ToolResponse{}, permission.ErrorPermissionDenied
}
}
startTime := time.Now()
shell := shell.GetPersistentShell(config.WorkingDirectory())
stdout, stderr, exitCode, interrupted, err := shell.Exec(ctx, params.Command, params.Timeout)
if err != nil {
- return NewTextErrorResponse(fmt.Sprintf("error executing command: %s", err)), nil
+ return ToolResponse{}, fmt.Errorf("error executing command: %w", err)
}
took := time.Since(startTime).Milliseconds()
diff --git a/internal/permission/permission.go b/internal/permission/permission.go
index ebf3fe092..8aa280906 100644
--- a/internal/permission/permission.go
+++ b/internal/permission/permission.go
@@ -1,6 +1,7 @@
package permission
import (
+ "errors"
"sync"
"time"
@@ -8,6 +9,8 @@ import (
"github.com/kujtimiihoxha/termai/internal/pubsub"
)
+var ErrorPermissionDenied = errors.New("permission denied")
+
type CreatePermissionRequest struct {
ToolName string `json:"tool_name"`
Description string `json:"description"`
@@ -15,6 +18,7 @@ type CreatePermissionRequest struct {
Params any `json:"params"`
Path string `json:"path"`
}
+
type PermissionRequest struct {
ID string `json:"id"`
SessionID string `json:"session_id"`