andy-stack_vaultkeeper-ai/AIClasses/FunctionDefinitions/Functions/ListVaultFiles.ts

31 lines
1.5 KiB
TypeScript
Raw Normal View History

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"]
}
}