Add Luna.Core server with SignalR hub, session management, and tool system

Implement the core application server as an ASP.NET web host with:
- SignalR ChatHub for real-time client communication
- Session management with token estimation for context windowing
- Extensible tool system with attribute-based tool discovery
- Chat stream update builder for streaming AI responses
- App configuration with appsettings for development and production
This commit is contained in:
2026-04-04 04:10:58 +02:00
parent 29eb3851c9
commit 2f5841a1b9
23 changed files with 586 additions and 0 deletions
@@ -0,0 +1,19 @@
namespace Luna.Core.Tools.Extensions;
public static class ServiceCollectionExtensions
{
extension(IServiceCollection services)
{
public IServiceCollection AddTools()
{
services.AddSingleton<IToolsProvider, ToolsProvider>();
typeof(ToolsProvider).Assembly.GetTypes()
.Where(t => typeof(IToolbox).IsAssignableFrom(t) && !t.IsInterface && !t.IsAbstract)
.ToList()
.ForEach(t => services.AddTransient(typeof(IToolbox), t));
return services;
}
}
}