34 lines
1.8 KiB
C#
34 lines
1.8 KiB
C#
using Microsoft.Extensions.AI;
|
|
using AnchorCli.Tools;
|
|
|
|
namespace AnchorCli;
|
|
|
|
internal static class ToolRegistry
|
|
{
|
|
public static List<AITool> GetTools()
|
|
{
|
|
var jsonOptions = AppJsonContext.Default.Options;
|
|
|
|
return new List<AITool>
|
|
{
|
|
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.MoveFile, 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),
|
|
};
|
|
}
|
|
}
|