aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio_22/Tango.Portal.Chat.Web/Program.cs
blob: 41402c527c6395536949f139c788b5ad0c0e4989 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using Azure.Identity;
using Tango.Portal.Chat.Web.Services;

var builder = WebApplication.CreateBuilder(args);

// Config binding (appsettings.json + env vars)
builder.Services.AddControllersWithViews();

// OpenAI/Azure OpenAI config
builder.Services.Configure<LlmOptions>(builder.Configuration.GetSection("OpenAI"));

// ADX config
builder.Services.Configure<AdxOptions>(builder.Configuration.GetSection("ADX"));
builder.Services.AddSingleton<KustoQueryService>();
builder.Services.AddSingleton<ChatMessageLogger>();
builder.Services.AddSingleton<SchemaRegistry>();
builder.Services.AddSingleton<KqlGuard>();
builder.Services.AddSession();

// Simple HTTP client for LLM
builder.Services.AddHttpClient<LlmClient>();

var app = builder.Build();

app.UseStaticFiles();
app.UseRouting();
app.UseSession();

app.MapControllerRoute(
    name: "default",
    pattern: "{controller=Home}/{action=Index}/{id?}");

app.Run();