Add tray rules and identities editor
PR and Push Build/Test / build-and-test (push) Successful in 7m0s

This commit is contained in:
2026-05-28 01:28:16 +02:00
parent 71f1e6a0b8
commit 693f52afee
31 changed files with 3136 additions and 327 deletions
@@ -22,6 +22,8 @@ public sealed class MeetingAssistantOptions
public AgentOptions Agent { get; set; } = new();
public WorkflowRulesEditorOptions WorkflowRulesEditor { get; set; } = new();
public ApiOptions Api { get; set; } = new();
}
@@ -333,6 +335,60 @@ public sealed class AgentOptions
public string? InitialPrompt { get; set; }
}
public sealed class WorkflowRulesEditorOptions
{
public string? Endpoint { get; set; }
public string? Key { get; set; }
public string? KeyEnv { get; set; }
public string? Model { get; set; }
public bool? EnableThinking { get; set; }
public ReasoningEffortOption? ReasoningEffort { get; set; }
public int? ReconnectionAttempts { get; set; }
public TimeSpan? ReconnectionDelay { get; set; }
public int? ContextWindowTokens { get; set; }
public int? MaxOutputTokens { get; set; }
public bool? EnableCompaction { get; set; }
public double? CompactionRemainingRatio { get; set; }
public string? ResponsesCompactPath { get; set; }
public string? InitialPrompt { get; set; }
public AgentOptions ToEffectiveAgentOptions(AgentOptions defaults)
{
return new AgentOptions
{
Endpoint = string.IsNullOrWhiteSpace(Endpoint) ? defaults.Endpoint : Endpoint,
Key = string.IsNullOrWhiteSpace(Key) ? defaults.Key : Key,
KeyEnv = string.IsNullOrWhiteSpace(KeyEnv) ? defaults.KeyEnv : KeyEnv!,
Model = string.IsNullOrWhiteSpace(Model) ? defaults.Model : Model!,
EnableThinking = EnableThinking ?? defaults.EnableThinking,
ReasoningEffort = ReasoningEffort ?? defaults.ReasoningEffort,
ReconnectionAttempts = ReconnectionAttempts ?? defaults.ReconnectionAttempts,
ReconnectionDelay = ReconnectionDelay ?? defaults.ReconnectionDelay,
ContextWindowTokens = ContextWindowTokens ?? defaults.ContextWindowTokens,
MaxOutputTokens = MaxOutputTokens ?? defaults.MaxOutputTokens,
EnableCompaction = EnableCompaction ?? defaults.EnableCompaction,
CompactionRemainingRatio = CompactionRemainingRatio ?? defaults.CompactionRemainingRatio,
ResponsesCompactPath = string.IsNullOrWhiteSpace(ResponsesCompactPath)
? defaults.ResponsesCompactPath
: ResponsesCompactPath!,
InitialPrompt = string.IsNullOrWhiteSpace(InitialPrompt) ? null : InitialPrompt
};
}
}
public sealed class ApiOptions
{
public string PublicBaseUrl { get; set; } = "http://localhost:5090";