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:
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user