|
|
@@ -37,7 +37,7 @@ type EditResponseMetadata struct {
|
|
|
type editTool struct {
|
|
|
lspClients map[string]*lsp.Client
|
|
|
permissions permission.Service
|
|
|
- files history.Service
|
|
|
+ history history.Service
|
|
|
}
|
|
|
|
|
|
const (
|
|
|
@@ -95,7 +95,7 @@ func NewEditTool(lspClients map[string]*lsp.Client, permissions permission.Servi
|
|
|
return &editTool{
|
|
|
lspClients: lspClients,
|
|
|
permissions: permissions,
|
|
|
- files: files,
|
|
|
+ history: files,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -202,6 +202,7 @@ func (e *editTool) createNewFile(ctx context.Context, filePath, content string)
|
|
|
permissionPath = rootDir
|
|
|
}
|
|
|
p := e.permissions.Request(
|
|
|
+ ctx,
|
|
|
permission.CreatePermissionRequest{
|
|
|
SessionID: sessionID,
|
|
|
Path: permissionPath,
|
|
|
@@ -224,14 +225,14 @@ func (e *editTool) createNewFile(ctx context.Context, filePath, content string)
|
|
|
}
|
|
|
|
|
|
// File can't be in the history so we create a new file history
|
|
|
- _, err = e.files.Create(ctx, sessionID, filePath, "")
|
|
|
+ _, err = e.history.Create(ctx, sessionID, filePath, "")
|
|
|
if err != nil {
|
|
|
// Log error but don't fail the operation
|
|
|
return ToolResponse{}, fmt.Errorf("error creating file history: %w", err)
|
|
|
}
|
|
|
|
|
|
// Add the new content to the file history
|
|
|
- _, err = e.files.CreateVersion(ctx, sessionID, filePath, content)
|
|
|
+ _, err = e.history.CreateVersion(ctx, sessionID, filePath, content)
|
|
|
if err != nil {
|
|
|
// Log error but don't fail the operation
|
|
|
slog.Debug("Error creating file history version", "error", err)
|
|
|
@@ -313,6 +314,7 @@ func (e *editTool) deleteContent(ctx context.Context, filePath, oldString string
|
|
|
permissionPath = rootDir
|
|
|
}
|
|
|
p := e.permissions.Request(
|
|
|
+ ctx,
|
|
|
permission.CreatePermissionRequest{
|
|
|
SessionID: sessionID,
|
|
|
Path: permissionPath,
|
|
|
@@ -335,9 +337,9 @@ func (e *editTool) deleteContent(ctx context.Context, filePath, oldString string
|
|
|
}
|
|
|
|
|
|
// Check if file exists in history
|
|
|
- file, err := e.files.GetByPathAndSession(ctx, filePath, sessionID)
|
|
|
+ file, err := e.history.GetLatestByPathAndSession(ctx, filePath, sessionID)
|
|
|
if err != nil {
|
|
|
- _, err = e.files.Create(ctx, sessionID, filePath, oldContent)
|
|
|
+ _, err = e.history.Create(ctx, sessionID, filePath, oldContent)
|
|
|
if err != nil {
|
|
|
// Log error but don't fail the operation
|
|
|
return ToolResponse{}, fmt.Errorf("error creating file history: %w", err)
|
|
|
@@ -345,13 +347,13 @@ func (e *editTool) deleteContent(ctx context.Context, filePath, oldString string
|
|
|
}
|
|
|
if file.Content != oldContent {
|
|
|
// User Manually changed the content store an intermediate version
|
|
|
- _, err = e.files.CreateVersion(ctx, sessionID, filePath, oldContent)
|
|
|
+ _, err = e.history.CreateVersion(ctx, sessionID, filePath, oldContent)
|
|
|
if err != nil {
|
|
|
slog.Debug("Error creating file history version", "error", err)
|
|
|
}
|
|
|
}
|
|
|
// Store the new version
|
|
|
- _, err = e.files.CreateVersion(ctx, sessionID, filePath, "")
|
|
|
+ _, err = e.history.CreateVersion(ctx, sessionID, filePath, "")
|
|
|
if err != nil {
|
|
|
slog.Debug("Error creating file history version", "error", err)
|
|
|
}
|
|
|
@@ -433,6 +435,7 @@ func (e *editTool) replaceContent(ctx context.Context, filePath, oldString, newS
|
|
|
permissionPath = rootDir
|
|
|
}
|
|
|
p := e.permissions.Request(
|
|
|
+ ctx,
|
|
|
permission.CreatePermissionRequest{
|
|
|
SessionID: sessionID,
|
|
|
Path: permissionPath,
|
|
|
@@ -455,9 +458,9 @@ func (e *editTool) replaceContent(ctx context.Context, filePath, oldString, newS
|
|
|
}
|
|
|
|
|
|
// Check if file exists in history
|
|
|
- file, err := e.files.GetByPathAndSession(ctx, filePath, sessionID)
|
|
|
+ file, err := e.history.GetLatestByPathAndSession(ctx, filePath, sessionID)
|
|
|
if err != nil {
|
|
|
- _, err = e.files.Create(ctx, sessionID, filePath, oldContent)
|
|
|
+ _, err = e.history.Create(ctx, sessionID, filePath, oldContent)
|
|
|
if err != nil {
|
|
|
// Log error but don't fail the operation
|
|
|
return ToolResponse{}, fmt.Errorf("error creating file history: %w", err)
|
|
|
@@ -465,13 +468,13 @@ func (e *editTool) replaceContent(ctx context.Context, filePath, oldString, newS
|
|
|
}
|
|
|
if file.Content != oldContent {
|
|
|
// User Manually changed the content store an intermediate version
|
|
|
- _, err = e.files.CreateVersion(ctx, sessionID, filePath, oldContent)
|
|
|
+ _, err = e.history.CreateVersion(ctx, sessionID, filePath, oldContent)
|
|
|
if err != nil {
|
|
|
slog.Debug("Error creating file history version", "error", err)
|
|
|
}
|
|
|
}
|
|
|
// Store the new version
|
|
|
- _, err = e.files.CreateVersion(ctx, sessionID, filePath, newContent)
|
|
|
+ _, err = e.history.CreateVersion(ctx, sessionID, filePath, newContent)
|
|
|
if err != nil {
|
|
|
slog.Debug("Error creating file history version", "error", err)
|
|
|
}
|