31 lines
1.8 KiB
C#
31 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
|
|
[
|
|
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),
|
|
];
|
|
}
|
|
}
|