Class FileFunctionTools

java.lang.Object
org.machanism.machai.gw.tools.FileFunctionTools
All Implemented Interfaces:
FunctionTools

public class FileFunctionTools extends Object implements FunctionTools
Installs file-system tools into a Genai.

Tools in this installer are intended for host-integrated use where the host controls the base working directory. All paths provided to these tools are interpreted relative to the working directory supplied by the provider/runtime.

Installed tools

  • read_file_from_file_system – reads a file as text
  • write_file_to_file_system – writes a file (creating parent directories as needed)
  • list_files_in_directory – lists immediate children of a directory
  • get_recursive_file_list – recursively lists all files under a directory
Author:
Viktor Tovstyi
  • Constructor Details

    • FileFunctionTools

      public FileFunctionTools()
  • Method Details

    • applyTools

      public void applyTools(org.machanism.machai.ai.provider.Genai provider)
      Registers file read/write/list tools into the provided provider.
      Specified by:
      applyTools in interface FunctionTools
      Parameters:
      provider - provider instance
    • getRelativePath

      public static String getRelativePath(File dir, File file, boolean addSingleDot)
      Computes a project-relative path string.

      The returned path always uses forward slashes (/) for consistency across platforms.

      Parameters:
      dir - base directory used to relativize the file
      file - target file or directory
      addSingleDot - whether to prefix relative paths with ./
      Returns:
      relative path, . if dir equals file, or null if file is not a descendant of dir