using AIStudio.Chat; using AIStudio.Provider; namespace AIStudio.Tools.RAG; public interface IDataSourceSelectionProcess { /// /// How is the RAG process called? /// public string TechnicalName { get; } /// /// How is the RAG process called in the UI? /// public string UIName { get; } /// /// How works the RAG process? /// public string Description { get; } /// /// Starts the data source selection process. /// /// The LLM provider. Used as default for data selection agents. /// The last prompt that was issued by the user. /// The chat thread. /// The allowed data sources yielded by the data source service. /// The cancellation token. /// public Task SelectDataSourcesAsync(IProvider provider, IContent lastPrompt, ChatThread chatThread, AllowedSelectedDataSources dataSources, CancellationToken token = default); }