using Microsoft.Extensions.AI; using AnchorCli.Tools; namespace AnchorCli; internal static class ToolRegistry { public static List GetTools() { var jsonOptions = AppJsonContext.Default.Options; return [ AIFunctionFactory.Create(FileTools.ReadFile, name: "read_file", serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.Grep, name: "grep_file", serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.ListDir, name: "list_dir", serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.ReplaceLines, name: "replace_lines", serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.DeleteRange, name: "delete_range", serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.BatchEdit, name: "batch_edit", serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.Delete, name: "delete_file", serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.FindFiles, name: "find_files", serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.GetFileInfo, name: "get_file_info", serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.WriteToFile, name: "write_to_file", serializerOptions: jsonOptions), AIFunctionFactory.Create(CommandTool.ExecuteCommand, name: "execute_command", serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.MoveFile, name: "rename_file", serializerOptions: jsonOptions), AIFunctionFactory.Create(DirTools.RenameDir, name: "rename_dir", serializerOptions: jsonOptions), AIFunctionFactory.Create(DirTools.CreateDir, name: "create_dir", serializerOptions: jsonOptions), ]; } }