mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-10-05 02:29:40 +00:00
Added enterprise-managed activation for assistant plugins (#939)
This commit is contained in:
1 parent
3940ad7f29
commit
c9b7f224cc
13 files changed
+462
-17
No files matched your search
@@ -85,6 +85,19 @@ public sealed class Data
|
||||
/// </summary>
|
||||
public List<PluginAssistantAudit> AssistantPluginAudits { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// The assistant plugin hashes whose organization default for the activation was already applied.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// An organization may enable an assistant plugin it approved while still letting the user switch
|
||||
/// it off again. That is a default, not a rule, so it must be applied exactly once: applying it on
|
||||
/// every start would keep switching the assistant back on against the user's decision. We remember
|
||||
/// the hashes it was applied for, and forget one as soon as no approval asks for it anymore, so a
|
||||
/// later rollout of the same plugin takes effect again. Activations the user may not override are
|
||||
/// not listed here: those are decided live and never touch the list of enabled plugins.
|
||||
/// </remarks>
|
||||
public List<string> AppliedEnterpriseAssistantActivations { get; set; } = [];
|
||||
|
||||
/// <summary>
|
||||
/// The next provider number to use.
|
||||
/// </summary>
|
||||
|
||||
@@ -10,4 +10,27 @@ public sealed class DataAssistantPluginEnterpriseApproval
|
||||
public string Comment { get; init; } = string.Empty;
|
||||
public string ApprovedBy { get; init; } = string.Empty;
|
||||
public DateTimeOffset? ApprovedAtUtc { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the organization wants this assistant plugin to be enabled, instead of leaving that
|
||||
/// to the user.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// An approval only ever states that a plugin is safe. Enabling it is a separate decision, and
|
||||
/// without this field it stays with the user: a rolled-out assistant is approved, but every
|
||||
/// colleague still has to switch it on. This field is how an organization makes that decision
|
||||
/// instead.
|
||||
/// </remarks>
|
||||
public bool Activate { get; init; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the user may switch an assistant plugin the organization activated off again.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This follows the AllowUserOverride convention of every managed setting: without it, what the
|
||||
/// organization set is locked; with it, the organization only provides a default the user may
|
||||
/// change. It has no meaning of its own while Activate is false, because there is nothing to
|
||||
/// override then.
|
||||
/// </remarks>
|
||||
public bool AllowUserOverride { get; init; }
|
||||
}
|
||||
Reference in new issue
Block a user