andy-stack_vaultkeeper-ai/AIClasses/FunctionDefinitions/Functions/DeleteVaultFiles.ts
Andrew Beal 4d8edc8b96 Update delete functionality to support folders and use trash
- Enhance DeleteVaultFiles to handle both files and folders
- Change VaultService.delete to use vault.trash instead of permanent deletion
- Remove TFile type check to allow folder deletion
- Simplify delete method signature by removing unused force parameter
- Increase default snippet size limit from 150 to 300 characters
- Fix IPrompt to use SettingsService instead of direct plugin access
- Update all tests to reflect trash behavior and folder support
2025-11-03 21:37:47 +00:00

34 lines
No EOL
1.8 KiB
TypeScript

import { AIFunction } from "Enums/AIFunction";
import type { IAIFunctionDefinition } from "../IAIFunctionDefinition";
export const DeleteVaultFiles: IAIFunctionDefinition = {
name: AIFunction.DeleteVaultFiles,
description: `Permanently removes files and folders from the vault. Use this when the user explicitly
requests to delete file(s) or folder(s), when a file or folder is no longer needed, or when removing outdated
content. IMPORTANT: This action is irreversible - always confirm the exact file path(s)
before deletion. Prefer archiving or moving files to a trash folder over permanent
deletion when uncertain. Only call this after verifying the file(s) exist and confirming
the user's intent to delete.`,
parameters: {
type: "object",
properties: {
file_paths: {
type: "array",
items: {
type: "string"
},
description: "An array of file paths to be deleted (e.g., ['folder/note.md', 'note2.md', 'folder/subfolder']). Must be an exact match to existing files or folders."
},
user_message: {
type: "string",
description: "A short message to be displayed to the user explaining why these files are being deleted (e.g., 'Deleting completed task list as requested' or 'Removing duplicate note files')."
},
confirm_deletion: {
type: "boolean",
description: "Safety flag that must be explicitly set to true to confirm the deletion is intentional. This prevents accidental deletions.",
default: false
}
},
required: ["file_paths", "user_message", "confirm_deletion"]
}
}