mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-03 07:33:37 +00:00
97 lines
3.2 KiB
C#
97 lines
3.2 KiB
C#
using AIStudio.Assistants.SlideBuilder;
|
|
using AIStudio.Settings;
|
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace AIStudio.Assistants.VisualBriefing;
|
|
|
|
/// <summary>
|
|
/// Defines <c>VisualBriefingLocalSettings</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public sealed class VisualBriefingLocalSettings
|
|
{
|
|
/// <summary>
|
|
/// Defines <c>ProviderId</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public string ProviderId { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Defines <c>ModelId</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public string ModelId { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Defines <c>ProfileIds</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public HashSet<string> ProfileIds { get; set; } = [];
|
|
|
|
[JsonPropertyName("ProfileId")]
|
|
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
|
|
public string? LegacyProfileId
|
|
{
|
|
get => null;
|
|
set
|
|
{
|
|
if (this.ProfileIds.Count == 0 &&
|
|
!string.IsNullOrWhiteSpace(value) &&
|
|
!value.Equals(Profile.NO_PROFILE.Id, StringComparison.OrdinalIgnoreCase))
|
|
this.ProfileIds.Add(value);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Defines <c>TargetLanguage</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public CommonLanguages TargetLanguage { get; set; } = CommonLanguages.EN_US;
|
|
|
|
/// <summary>
|
|
/// Defines <c>CustomTargetLanguage</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public string CustomTargetLanguage { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Defines <c>AudienceProfile</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public AudienceProfile AudienceProfile { get; set; }
|
|
|
|
/// <summary>
|
|
/// Defines <c>AudienceAgeGroup</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public AudienceAgeGroup AudienceAgeGroup { get; set; }
|
|
|
|
/// <summary>
|
|
/// Defines <c>AudienceOrganizationalLevel</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public AudienceOrganizationalLevel AudienceOrganizationalLevel { get; set; }
|
|
|
|
/// <summary>
|
|
/// Defines <c>AudienceExpertise</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public AudienceExpertise AudienceExpertise { get; set; }
|
|
|
|
/// <summary>
|
|
/// Defines <c>ShowSourceReferences</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public bool ShowSourceReferences { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Defines <c>OptimizeImages</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public bool OptimizeImages { get; set; } = true;
|
|
|
|
/// <summary>
|
|
/// Defines <c>Instruction</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public string Instruction { get; set; } = string.Empty;
|
|
|
|
/// <summary>
|
|
/// Defines <c>ProtectionLevel</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public VisualBriefingProtectionLevel ProtectionLevel { get; set; } = VisualBriefingProtectionLevel.INTERNAL;
|
|
|
|
/// <summary>
|
|
/// Defines <c>CustomProtectionLevel</c> for the visual briefing feature.
|
|
/// </summary>
|
|
public string CustomProtectionLevel { get; set; } = string.Empty;
|
|
}
|