mirror of
https://github.com/andy-stack/vaultkeeper-ai.git
synced 2026-07-22 16:30:27 +00:00
Implements unified diff patching as an alternative to WriteVaultFile for making targeted changes without replacing entire files. Includes new PatchVaultFile AI function, DiffService.applyPatch method, and comprehensive test coverage.
30 lines
No EOL
1.3 KiB
TypeScript
30 lines
No EOL
1.3 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.
|
|
|
|
**When to use this tool:**
|
|
- Creating new notes, documents, or files from scratch
|
|
- Completely rewriting a file's contents (when most/all content needs to change)
|
|
- Generating new files from templates or structured 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')"
|
|
}
|
|
},
|
|
required: ["file_path", "content", "user_message"]
|
|
}
|
|
} |