mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-11-24 20:30:22 +00:00
Some checks are pending
Build and Release / Read metadata (push) Waiting to run
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage deb updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis updater) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage deb updater) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Co-authored-by: Peer Schütt <20603780+peerschuett@users.noreply.github.com>
45 lines
2.1 KiB
C#
45 lines
2.1 KiB
C#
using AIStudio.Tools.PluginSystem;
|
|
|
|
namespace AIStudio.Settings.DataModel;
|
|
|
|
public static class PreviewFeaturesExtensions
|
|
{
|
|
private static string TB(string fallbackEN) => I18N.I.T(fallbackEN, typeof(PreviewFeaturesExtensions).Namespace, nameof(PreviewFeaturesExtensions));
|
|
|
|
public static string GetPreviewDescription(this PreviewFeatures feature) => feature switch
|
|
{
|
|
PreviewFeatures.PRE_WRITER_MODE_2024 => TB("Writer Mode: Experiments about how to write long texts using AI"),
|
|
PreviewFeatures.PRE_RAG_2024 => TB("RAG: Preview of our RAG implementation where you can refer your files or integrate enterprise data within your company"),
|
|
|
|
PreviewFeatures.PRE_PLUGINS_2025 => TB("Plugins: Preview of our plugin system where you can extend the functionality of the app"),
|
|
PreviewFeatures.PRE_READ_PDF_2025 => TB("Read PDF: Preview of our PDF reading system where you can read and extract text from PDF files"),
|
|
PreviewFeatures.PRE_DOCUMENT_ANALYSIS_2025 => TB("Document Analysis: Preview of our document analysis system where you can analyze and extract information from documents"),
|
|
|
|
_ => TB("Unknown preview feature")
|
|
};
|
|
|
|
/// <summary>
|
|
/// Check if the preview feature is released or not.
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// This metadata is necessary because we cannot remove the enum values from the list.
|
|
/// Otherwise, we could not deserialize old settings files that may contain these values.
|
|
/// </remarks>
|
|
/// <param name="feature">The preview feature to check.</param>
|
|
/// <returns>True when the preview feature is released, false otherwise.</returns>
|
|
public static bool IsReleased(this PreviewFeatures feature) => feature switch
|
|
{
|
|
PreviewFeatures.PRE_READ_PDF_2025 => true,
|
|
PreviewFeatures.PRE_PLUGINS_2025 => true,
|
|
|
|
_ => false
|
|
};
|
|
|
|
public static bool IsEnabled(this PreviewFeatures feature, SettingsManager settingsManager)
|
|
{
|
|
if(feature.IsReleased())
|
|
return true;
|
|
|
|
return settingsManager.ConfigurationData.App.EnabledPreviewFeatures.Contains(feature);
|
|
}
|
|
} |