MCPcopy
hub / github.com/wavetermdev/waveterm / deleteTextFileCallback

Function deleteTextFileCallback

pkg/aiusechat/tools_writefile.go:458–493  ·  view source on GitHub ↗
(input any, toolUseData *uctypes.UIMessageDataToolUse)

Source from the content-addressed store, hash-verified

456}
457
458func deleteTextFileCallback(input any, toolUseData *uctypes.UIMessageDataToolUse) (any, error) {
459 params, err := parseDeleteTextFileInput(input)
460 if err != nil {
461 return nil, err
462 }
463
464 expandedPath, err := wavebase.ExpandHomeDir(params.Filename)
465 if err != nil {
466 return nil, fmt.Errorf("failed to expand path: %w", err)
467 }
468
469 if !filepath.IsAbs(expandedPath) {
470 return nil, fmt.Errorf("path must be absolute, got relative path: %s", params.Filename)
471 }
472
473 _, err = validateTextFile(expandedPath, "delete", true)
474 if err != nil {
475 return nil, err
476 }
477
478 backupPath, err := filebackup.MakeFileBackup(expandedPath)
479 if err != nil {
480 return nil, fmt.Errorf("failed to create backup: %w", err)
481 }
482 toolUseData.WriteBackupFileName = backupPath
483
484 err = os.Remove(expandedPath)
485 if err != nil {
486 return nil, fmt.Errorf("failed to delete file: %w", err)
487 }
488
489 return map[string]any{
490 "success": true,
491 "message": fmt.Sprintf("Successfully deleted %s", params.Filename),
492 }, nil
493}
494
495func GetDeleteTextFileToolDefinition() uctypes.ToolDefinition {
496 return uctypes.ToolDefinition{

Callers

nothing calls this directly

Calls 4

ExpandHomeDirFunction · 0.92
MakeFileBackupFunction · 0.92
parseDeleteTextFileInputFunction · 0.85
validateTextFileFunction · 0.85

Tested by

no test coverage detected