using Microsoft.Extensions.AI; using AnchorCli.Tools; namespace AnchorCli; internal static class ToolRegistry { public static List GetTools() { var jsonOptions = AppJsonContext.Default.Options; return new List { AIFunctionFactory.Create(FileTools.ReadFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.GrepFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.ListDir, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.ReplaceLines, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.InsertAfter, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.DeleteRange, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.CreateFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.DeleteFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.RenameFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.CopyFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(DirTools.CreateDir, serializerOptions: jsonOptions), AIFunctionFactory.Create(DirTools.RenameDir, serializerOptions: jsonOptions), AIFunctionFactory.Create(DirTools.DeleteDir, serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.FindFiles, serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.GrepRecursive, serializerOptions: jsonOptions), AIFunctionFactory.Create(FileTools.GetFileInfo, serializerOptions: jsonOptions), AIFunctionFactory.Create(EditTools.AppendToFile, serializerOptions: jsonOptions), AIFunctionFactory.Create(CommandTool.ExecuteCommand, serializerOptions: jsonOptions), }; } }