andy-stack_vaultkeeper-ai/AIClasses/FunctionDefinitions/Functions/WriteVaultFile.ts
Andrew Beal 76afac7ffc refactor: enhance file operations to support batch reads and deletion
- Rename ReadVaultFile to ReadVaultFiles with multi-file support
- Add DeleteVaultFile function with confirmation parameter
- Update function references and error handling
- Return detailed error objects from FileSystemService
2025-10-15 21:06:23 +01:00

28 lines
No EOL
1.5 KiB
TypeScript

import { AIFunction } from "Enums/AIFunction";
import type { IAIFunctionDefinition } from "../IAIFunctionDefinition";
export const WriteVaultFile: IAIFunctionDefinition = {
name: AIFunction.WriteVaultFile,
description: `Writes content to a file, creating it if it doesn't exist or replacing its contents if it does.
Use this for creating new notes or completely updating existing ones when you have the full content ready.
IMPORTANT: This replaces the entire file content - always read the file first with ${AIFunction.ReadVaultFiles} if you need to preserve existing content and make partial changes.
For simple updates or additions, reading first ensures you don't lose data.`,
parameters: {
type: "object",
properties: {
file_path: {
type: "string",
description: "The full path to the file within the vault (e.g., 'folder/note.md')"
},
content: {
type: "string",
description: "The complete content to write to the file. This will replace any existing content."
},
user_message: {
type: "string",
description: "A short message to be displayed to the user explaining what you're writing and why (e.g., 'Creating your daily note for today' or 'Updating project plan with new tasks')"
}
},
required: ["file_path", "content", "user_message"]
}
}