2024-12-03 20:02:37 +00:00
|
|
|
namespace AIStudio.Settings.DataModel;
|
|
|
|
|
|
|
|
public static class PreviewVisibilityExtensions
|
|
|
|
{
|
|
|
|
public static IList<PreviewFeatures> GetPreviewFeatures(this PreviewVisibility visibility)
|
|
|
|
{
|
|
|
|
var features = new List<PreviewFeatures>();
|
|
|
|
if (visibility >= PreviewVisibility.RELEASE_CANDIDATE)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
if (visibility >= PreviewVisibility.BETA)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
if (visibility >= PreviewVisibility.ALPHA)
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
if (visibility >= PreviewVisibility.PROTOTYPE)
|
|
|
|
{
|
|
|
|
features.Add(PreviewFeatures.PRE_RAG_2024);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (visibility >= PreviewVisibility.EXPERIMENTAL)
|
|
|
|
{
|
|
|
|
features.Add(PreviewFeatures.PRE_WRITER_MODE_2024);
|
2025-03-10 14:44:55 +00:00
|
|
|
features.Add(PreviewFeatures.PRE_PLUGINS_2025);
|
2024-12-03 20:02:37 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
return features;
|
|
|
|
}
|
|
|
|
|
|
|
|
public static HashSet<PreviewFeatures> FilterPreviewFeatures(this PreviewVisibility visibility, HashSet<PreviewFeatures> enabledFeatures)
|
|
|
|
{
|
|
|
|
var filteredFeatures = new HashSet<PreviewFeatures>();
|
|
|
|
var previewFeatures = visibility.GetPreviewFeatures();
|
|
|
|
foreach (var feature in enabledFeatures)
|
|
|
|
{
|
|
|
|
if (previewFeatures.Contains(feature))
|
|
|
|
filteredFeatures.Add(feature);
|
|
|
|
}
|
|
|
|
|
|
|
|
return filteredFeatures;
|
|
|
|
}
|
|
|
|
}
|