Add Luna.Configuration with TOML-based agent and provider config

Implement configuration system with embedded TOML resources for agent
and provider definitions, custom IConfigurationSource/Provider for
agent and provider options, and DI extension methods. Includes config
models for agents, providers, sessions, and Telegram integration.
This commit is contained in:
2026-04-04 04:09:57 +02:00
parent dcdd77b5ae
commit a4ed65e452
18 changed files with 456 additions and 0 deletions
@@ -0,0 +1,20 @@
using System.Reflection;
using Microsoft.Extensions.Configuration;
namespace Luna.Configuration.Services.Agents;
internal class AgentOptionsConfigurationProvider(IEnumerable<AgentOptions> agentOptions) : ConfigurationProvider
{
public override void Load()
{
foreach (var options in agentOptions)
{
var keyPrefix = $"Agents:{options.Name}";
foreach (var property in options.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public))
{
Data[$"{keyPrefix}:{property.Name}"] = property.GetValue(options)?.ToString();
}
}
}
}