mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-10 12:53:47 +00:00
Merge branch 'main' into chunk-data
This commit is contained in:
commit
9932b5870b
484 files changed
+45549
-2467
No files matched your search
@@ -125,9 +125,9 @@ public sealed class Data
|
||||
|
||||
public DataTextContentCleaner TextContentCleaner { get; init; } = new();
|
||||
|
||||
public DataAgentDataSourceSelection AgentDataSourceSelection { get; init; } = new();
|
||||
public DataAgentDataSourceSelection AgentDataSourceSelection { get; init; } = new(x => x.AgentDataSourceSelection);
|
||||
|
||||
public DataAgentRetrievalContextValidation AgentRetrievalContextValidation { get; init; } = new();
|
||||
public DataAgentRetrievalContextValidation AgentRetrievalContextValidation { get; init; } = new(x => x.AgentRetrievalContextValidation);
|
||||
|
||||
public DataDataSourceIndexing DataSourceIndexing { get; init; } = new();
|
||||
|
||||
@@ -144,6 +144,11 @@ public sealed class Data
|
||||
public DataEMail EMail { get; init; } = new();
|
||||
|
||||
public DataSlideBuilder SlideBuilder { get; init; } = new();
|
||||
|
||||
/// <summary>
|
||||
/// Gets the managed Visual Briefing Assistant defaults.
|
||||
/// </summary>
|
||||
public DataVisualBriefing VisualBriefing { get; init; } = new(x => x.VisualBriefing);
|
||||
|
||||
public DataLegalCheck LegalCheck { get; init; } = new();
|
||||
|
||||
|
||||
@@ -1,14 +1,23 @@
|
||||
using System.Linq.Expressions;
|
||||
|
||||
namespace AIStudio.Settings.DataModel;
|
||||
|
||||
public sealed class DataAgentDataSourceSelection
|
||||
public sealed class DataAgentDataSourceSelection(Expression<Func<Data, DataAgentDataSourceSelection>>? configSelection = null)
|
||||
{
|
||||
/// <summary>
|
||||
/// The default constructor for the JSON deserializer.
|
||||
/// </summary>
|
||||
public DataAgentDataSourceSelection() : this(null)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Preselect any data source selection options?
|
||||
/// </summary>
|
||||
public bool PreselectAgentOptions { get; set; }
|
||||
public bool PreselectAgentOptions { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectAgentOptions, false);
|
||||
|
||||
/// <summary>
|
||||
/// Preselect a data source selection provider?
|
||||
/// </summary>
|
||||
public string PreselectedAgentProvider { get; set; } = string.Empty;
|
||||
public string PreselectedAgentProvider { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedAgentProvider, string.Empty);
|
||||
}
|
||||
@@ -1,24 +1,33 @@
|
||||
using System.Linq.Expressions;
|
||||
|
||||
namespace AIStudio.Settings.DataModel;
|
||||
|
||||
public sealed class DataAgentRetrievalContextValidation
|
||||
public sealed class DataAgentRetrievalContextValidation(Expression<Func<Data, DataAgentRetrievalContextValidation>>? configSelection = null)
|
||||
{
|
||||
/// <summary>
|
||||
/// The default constructor for the JSON deserializer.
|
||||
/// </summary>
|
||||
public DataAgentRetrievalContextValidation() : this(null)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enable the retrieval context validation agent?
|
||||
/// </summary>
|
||||
public bool EnableRetrievalContextValidation { get; set; }
|
||||
public bool EnableRetrievalContextValidation { get; set; } = ManagedConfiguration.Register(configSelection, n => n.EnableRetrievalContextValidation, false);
|
||||
|
||||
/// <summary>
|
||||
/// Preselect any retrieval context validation options?
|
||||
/// </summary>
|
||||
public bool PreselectAgentOptions { get; set; }
|
||||
public bool PreselectAgentOptions { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectAgentOptions, false);
|
||||
|
||||
/// <summary>
|
||||
/// Preselect a retrieval context validation provider?
|
||||
/// </summary>
|
||||
public string PreselectedAgentProvider { get; set; } = string.Empty;
|
||||
public string PreselectedAgentProvider { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedAgentProvider, string.Empty);
|
||||
|
||||
/// <summary>
|
||||
/// Configure how many parallel validations to run.
|
||||
/// </summary>
|
||||
public int NumParallelValidations { get; set; } = 3;
|
||||
public int NumParallelValidations { get; set; } = ManagedConfiguration.Register(configSelection, n => n.NumParallelValidations, 3);
|
||||
}
|
||||
@@ -67,6 +67,16 @@ public sealed class DataApp(Expression<Func<Data, DataApp>>? configSelection = n
|
||||
/// </summary>
|
||||
public bool ShowQuickStartGuide { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowQuickStartGuide, true);
|
||||
|
||||
/// <summary>
|
||||
/// Should the last changelog be visible on the home page?
|
||||
/// </summary>
|
||||
public bool ShowLastChangelog { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowLastChangelog, true);
|
||||
|
||||
/// <summary>
|
||||
/// Should the vision panel be visible on the home page?
|
||||
/// </summary>
|
||||
public bool ShowVision { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowVision, true);
|
||||
|
||||
/// <summary>
|
||||
/// The visibility setting for previews features.
|
||||
/// </summary>
|
||||
|
||||
@@ -40,4 +40,9 @@ public sealed class DataAssistantPluginAudit(Expression<Func<Data, DataAssistant
|
||||
/// If true, the security audit will be hidden from the user and done in the background
|
||||
/// </summary>
|
||||
public bool AutomaticallyAuditAssistants { get; set; } = ManagedConfiguration.Register(configSelection, n => n.AutomaticallyAuditAssistants, false);
|
||||
|
||||
/// <summary>
|
||||
/// Enterprise-managed assistant plugin hashes that are approved without requiring a user audit.
|
||||
/// </summary>
|
||||
public IList<DataAssistantPluginEnterpriseApproval> EnterpriseApprovedPlugins { get; set; } = ManagedConfiguration.Register(configSelection, n => n.EnterpriseApprovedPlugins, []);
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace AIStudio.Settings.DataModel;
|
||||
|
||||
/// <summary>
|
||||
/// Enterprise-managed approval entry for an assistant plugin hash.
|
||||
/// </summary>
|
||||
public sealed class DataAssistantPluginEnterpriseApproval
|
||||
{
|
||||
public string PluginHash { get; init; } = string.Empty;
|
||||
public string DisplayName { get; init; } = string.Empty;
|
||||
public string Comment { get; init; } = string.Empty;
|
||||
public string ApprovedBy { get; init; } = string.Empty;
|
||||
public DateTimeOffset? ApprovedAtUtc { get; init; }
|
||||
}
|
||||
@@ -29,7 +29,7 @@ public sealed class DataChat(Expression<Func<Data, DataChat>>? configSelection =
|
||||
/// <summary>
|
||||
/// Defines the data source behavior when sending assistant results to a chat.
|
||||
/// </summary>
|
||||
public SendToChatDataSourceBehavior SendToChatDataSourceBehavior { get; set; } = SendToChatDataSourceBehavior.NO_DATA_SOURCES;
|
||||
public SendToChatDataSourceBehavior SendToChatDataSourceBehavior { get; set; } = ManagedConfiguration.Register(configSelection, n => n.SendToChatDataSourceBehavior, SendToChatDataSourceBehavior.NO_DATA_SOURCES);
|
||||
|
||||
/// <summary>
|
||||
/// Preselect any chat options?
|
||||
@@ -51,10 +51,47 @@ public sealed class DataChat(Expression<Func<Data, DataChat>>? configSelection =
|
||||
/// </summary>
|
||||
public string PreselectedChatTemplate { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedChatTemplate, string.Empty);
|
||||
|
||||
/// <summary>
|
||||
/// Whether data sources are disabled by default for new chats.
|
||||
/// </summary>
|
||||
public bool PreselectedDataSourcesDisabled { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedDataSourcesDisabled, true);
|
||||
|
||||
/// <summary>
|
||||
/// Whether data sources should be selected automatically by default for new chats.
|
||||
/// </summary>
|
||||
public bool PreselectedDataSourcesAutomaticSelection { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedDataSourcesAutomaticSelection, false);
|
||||
|
||||
/// <summary>
|
||||
/// Whether retrieved data should be validated automatically by default for new chats.
|
||||
/// </summary>
|
||||
public bool PreselectedDataSourcesAutomaticValidation { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedDataSourcesAutomaticValidation, false);
|
||||
|
||||
/// <summary>
|
||||
/// The data source IDs that should be preselected by default for new chats.
|
||||
/// </summary>
|
||||
public List<string> PreselectedDataSourceIds { get; set; } = ManagedConfiguration.Register(configSelection, n => n.PreselectedDataSourceIds, []);
|
||||
|
||||
/// <summary>
|
||||
/// Should we preselect data sources options for a created chat?
|
||||
/// </summary>
|
||||
public DataSourceOptions PreselectedDataSourceOptions { get; set; } = new();
|
||||
// Compatibility shim: legacy settings used this nested object. See documentation/compatibility-shims/2026-07-chat-data-source-options.md; remove after 2027-01-05.
|
||||
public DataSourceOptions PreselectedDataSourceOptions
|
||||
{
|
||||
get => new()
|
||||
{
|
||||
DisableDataSources = this.PreselectedDataSourcesDisabled,
|
||||
AutomaticDataSourceSelection = this.PreselectedDataSourcesAutomaticSelection,
|
||||
AutomaticValidation = this.PreselectedDataSourcesAutomaticValidation,
|
||||
PreselectedDataSourceIds = [..this.PreselectedDataSourceIds],
|
||||
};
|
||||
set
|
||||
{
|
||||
this.PreselectedDataSourcesDisabled = value.DisableDataSources;
|
||||
this.PreselectedDataSourcesAutomaticSelection = value.AutomaticDataSourceSelection;
|
||||
this.PreselectedDataSourcesAutomaticValidation = value.AutomaticValidation;
|
||||
this.PreselectedDataSourceIds = [..value.PreselectedDataSourceIds];
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Should we show the latest message after loading? When false, we show the first (aka oldest) message.
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
using System.Linq.Expressions;
|
||||
|
||||
using AIStudio.Assistants.SlideBuilder;
|
||||
using AIStudio.Provider;
|
||||
|
||||
namespace AIStudio.Settings.DataModel;
|
||||
|
||||
/// <summary>
|
||||
/// Stores managed default settings for the Visual Briefing Assistant.
|
||||
/// </summary>
|
||||
/// <param name="configSelection">The managed-configuration selector.</param>
|
||||
public sealed class DataVisualBriefing(Expression<Func<Data, DataVisualBriefing>>? configSelection = null)
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes an unmanaged Visual Briefing settings instance.
|
||||
/// </summary>
|
||||
public DataVisualBriefing() : this(null)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the preselected profile identifier.
|
||||
/// </summary>
|
||||
public string PreselectedProfile { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedProfile, string.Empty);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the preselected provider identifier.
|
||||
/// </summary>
|
||||
public string PreselectedProvider { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedProvider, string.Empty);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the default target language.
|
||||
/// </summary>
|
||||
public CommonLanguages PreselectedTargetLanguage { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedTargetLanguage, CommonLanguages.EN_US);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the default free-form target language.
|
||||
/// </summary>
|
||||
public string PreselectedOtherLanguage { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedOtherLanguage, string.Empty);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the default audience profile.
|
||||
/// </summary>
|
||||
public AudienceProfile PreselectedAudienceProfile { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedAudienceProfile, AudienceProfile.UNSPECIFIED);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the default audience age group.
|
||||
/// </summary>
|
||||
public AudienceAgeGroup PreselectedAudienceAgeGroup { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedAudienceAgeGroup, AudienceAgeGroup.UNSPECIFIED);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the default audience organizational level.
|
||||
/// </summary>
|
||||
public AudienceOrganizationalLevel PreselectedAudienceOrganizationalLevel { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedAudienceOrganizationalLevel, AudienceOrganizationalLevel.UNSPECIFIED);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the default audience expertise.
|
||||
/// </summary>
|
||||
public AudienceExpertise PreselectedAudienceExpertise { get; set; } = ManagedConfiguration.Register(configSelection, value => value.PreselectedAudienceExpertise, AudienceExpertise.UNSPECIFIED);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether generated briefings show source references by default.
|
||||
/// </summary>
|
||||
public bool ShowSourceReferences { get; set; } = ManagedConfiguration.Register(configSelection, value => value.ShowSourceReferences, true);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets whether visual assets are optimized by default.
|
||||
/// </summary>
|
||||
public bool OptimizeImages { get; set; } = ManagedConfiguration.Register(configSelection, value => value.OptimizeImages, true);
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the minimum confidence accepted for the selected provider.
|
||||
/// </summary>
|
||||
public ConfidenceLevel MinimumProviderConfidence { get; set; } = ManagedConfiguration.Register(configSelection, value => value.MinimumProviderConfidence, ConfidenceLevel.NONE);
|
||||
}
|
||||
@@ -15,4 +15,6 @@ public enum PreviewFeatures
|
||||
PRE_READ_PDF_2025,
|
||||
PRE_DOCUMENT_ANALYSIS_2025,
|
||||
PRE_SPEECH_TO_TEXT_2026,
|
||||
PRE_META_ASSISTANT_V1,
|
||||
PRE_VISUAL_BRIEFING_ASSISTANT_2026,
|
||||
}
|
||||
@@ -15,6 +15,8 @@ public static class PreviewFeaturesExtensions
|
||||
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"),
|
||||
PreviewFeatures.PRE_SPEECH_TO_TEXT_2026 => TB("Transcription: Convert recordings and audio files into text"),
|
||||
PreviewFeatures.PRE_META_ASSISTANT_V1 => TB("Assistant Builder: Generate and install assistant plugins"),
|
||||
PreviewFeatures.PRE_VISUAL_BRIEFING_ASSISTANT_2026 => TB("Visual Briefing Assistant: Turn source material into an interactive briefing"),
|
||||
|
||||
_ => TB("Unknown preview feature")
|
||||
};
|
||||
|
||||
@@ -12,6 +12,7 @@ public static class PreviewVisibilityExtensions
|
||||
if (visibility >= PreviewVisibility.BETA)
|
||||
{
|
||||
features.Add(PreviewFeatures.PRE_DOCUMENT_ANALYSIS_2025);
|
||||
features.Add(PreviewFeatures.PRE_META_ASSISTANT_V1);
|
||||
}
|
||||
|
||||
if (visibility >= PreviewVisibility.ALPHA)
|
||||
@@ -21,6 +22,7 @@ public static class PreviewVisibilityExtensions
|
||||
if (visibility >= PreviewVisibility.PROTOTYPE)
|
||||
{
|
||||
features.Add(PreviewFeatures.PRE_RAG_2024);
|
||||
features.Add(PreviewFeatures.PRE_VISUAL_BRIEFING_ASSISTANT_2026);
|
||||
}
|
||||
|
||||
if (visibility >= PreviewVisibility.EXPERIMENTAL)
|
||||
|
||||
@@ -3,6 +3,7 @@ namespace AIStudio.Settings.DataModel;
|
||||
public enum UpdateInterval
|
||||
{
|
||||
NO_CHECK,
|
||||
DISABLE_UPDATES,
|
||||
ONCE_STARTUP,
|
||||
HOURLY,
|
||||
DAILY,
|
||||
|
||||
Reference in new issue
Block a user