2026-07-28 13:25:10 +00:00
using AIStudio.Tools.Databases.EmbeddingState ;
2026-05-27 18:02:43 +00:00
using AIStudio.Tools.Databases.VectorStore ;
2026-05-13 16:13:34 +00:00
namespace AIStudio.Tools.Services ;
public sealed partial class DataSourceEmbeddingService
{
2026-07-28 13:25:10 +00:00
private async Task ResetPersistedStateAsync (
string dataSourceName ,
string dataSourceId ,
VectorStoreClient ? vectorStore ,
EmbeddingStateClient ? embeddingState ,
CancellationToken token )
2026-05-13 16:13:34 +00:00
{
2026-07-28 13:25:10 +00:00
await this . DeleteCollectionAsync ( this . GetCollectionName ( dataSourceName , dataSourceId ) , vectorStore , token ) ;
2026-05-13 16:13:34 +00:00
2026-07-28 13:25:10 +00:00
embeddingState ? ? = await databaseClientProvider . GetEmbeddingStateAsync ( token ) ;
if ( ! embeddingState . IsAvailable )
2026-05-13 16:13:34 +00:00
{
2026-08-03 17:45:47 +00:00
logger . LogWarning ( "Could not delete local RAG index state for data source '{DataSourceId}' because the database '{DatabaseName}' is unavailable." , dataSourceId , embeddingState . Name ) ;
2026-05-13 16:13:34 +00:00
return ;
2026-07-28 13:25:10 +00:00
}
2026-05-13 16:13:34 +00:00
2026-07-28 13:25:10 +00:00
await embeddingState . DeleteDataSourceAsync ( dataSourceId , token ) ;
2026-08-03 17:45:47 +00:00
logger . LogInformation ( "Reset persisted local RAG index state for data source '{DataSourceId}'." , dataSourceId ) ;
2026-05-13 16:13:34 +00:00
}
}