using AwesomeCopilot.McpServer.Models;
namespace AwesomeCopilot.McpServer.Services;
///
/// This provides interfaces for metadata service operations.
///
public interface IMetadataService
{
///
/// Searches for relevant data in chatmodes, instructions, and prompts based on keywords in their description fields
///
/// The keywords to search for
/// Cancellation token
/// Returns object containing all matching search results
Task SearchAsync(string keywords, CancellationToken cancellationToken = default);
///
/// Loads file contents from the awesome-copilot repository
///
/// The mode directory (chatmodes, instructions, or prompts)
/// The filename to load
/// Cancellation token
/// Returns the file contents as a string
Task LoadAsync(string directory, string filename, CancellationToken cancellationToken = default);
}