mirror of
https://github.com/andy-stack/vaultkeeper-ai.git
synced 2026-07-22 16:30:27 +00:00
- Move prompts from AIClasses to AIPrompts directory - Replace centralized IPrompt injection with direct property setters on IAIClass - Remove allowDestructiveActions parameter from streamRequest methods - Add toolDefinitions, systemPrompt, and userInstruction properties to IAIClass - Refactor AIFunctionDefinitions to static methods with agent-specific tool sets - Add planning agent function definitions (CreatePlan, Replan, CompleteStep, SubmitPlan) - Create AIControllerService to handle agent orchestration - Add execution plan related copy strings and replacement utility - Update all AI providers (Claude, Gemini, OpenAI) to use new architecture
31 lines
No EOL
1.5 KiB
TypeScript
31 lines
No EOL
1.5 KiB
TypeScript
import { AIFunction } from "Enums/AIFunction";
|
|
import type { IAIFunctionDefinition } from "../IAIFunctionDefinition";
|
|
|
|
export const ListVaultFiles: IAIFunctionDefinition = {
|
|
name: AIFunction.ListVaultFiles,
|
|
description: `Lists files and directories in the vault's directory structure.
|
|
Returns a structured view of the vault's organization including file names, paths, and directory hierarchy.
|
|
Use this function when you need to:
|
|
- List files in a specific directory or the entire vault
|
|
- Get an overview of vault organization and structure
|
|
- Browse available files and folders
|
|
- Understand how notes are organized`,
|
|
parameters: {
|
|
type: "object",
|
|
properties: {
|
|
path: {
|
|
type: "string",
|
|
description: `The directory path to list. Use "/" for the vault root. Specify a subdirectory path to list contents of that specific folder (e.g., 'Projects/2024' or 'Daily Notes'). Path should be relative to vault root.`,
|
|
},
|
|
recursive: {
|
|
type: "boolean",
|
|
description: "When true, recursively lists all files and subdirectories in a tree structure. When false, only lists immediate children of the specified directory.",
|
|
},
|
|
user_message: {
|
|
type: "string",
|
|
description: "A short message to be displayed to the user explaining what directory is being listed. Example: 'Browsing vault structure' or 'Listing files in Daily Notes folder'"
|
|
}
|
|
},
|
|
required: ["path", "recursive", "user_message"]
|
|
}
|
|
} |