using AIStudio.Settings; using AIStudio.Tools.ERIClient.DataModel; namespace AIStudio.Tools.ERIClient; public interface IERIClient : IDisposable { /// /// Retrieves the available authentication methods from the ERI server. /// /// /// No authentication is required to retrieve the available authentication methods. /// /// The cancellation token. /// The available authentication methods. public Task>> GetAuthMethodsAsync(CancellationToken cancellationToken = default); /// /// Authenticate the user to the ERI server. /// /// The data source to use. /// The Rust service. /// The cancellation token. /// The authentication response. public Task> AuthenticateAsync(IERIDataSource dataSource, RustService rustService, CancellationToken cancellationToken = default); /// /// Retrieves the data source information from the ERI server. /// /// The cancellation token. /// The data source information. public Task> GetDataSourceInfoAsync(CancellationToken cancellationToken = default); /// /// Retrieves the embedding information from the ERI server. /// /// The cancellation token. /// A list of embedding information. public Task>> GetEmbeddingInfoAsync(CancellationToken cancellationToken = default); /// /// Retrieves the retrieval information from the ERI server. /// /// The cancellation token. /// A list of retrieval information. public Task>> GetRetrievalInfoAsync(CancellationToken cancellationToken = default); /// /// Executes a retrieval request on the ERI server. /// /// The retrieval request. /// The cancellation token. /// The retrieved contexts to use for augmentation and generation. public Task>> ExecuteRetrievalAsync(RetrievalRequest request, CancellationToken cancellationToken = default); /// /// Retrieves the security requirements from the ERI server. /// /// The cancellation token. /// The security requirements. public Task> GetSecurityRequirementsAsync(CancellationToken cancellationToken = default); }