feat: ship agent-first mission control v0.2.57
This commit is contained in:
+23
-4
@@ -1,27 +1,46 @@
|
||||
using Nexus.Api.Extensions;
|
||||
using System.Reflection;
|
||||
|
||||
var builder = WebApplication.CreateBuilder(args);
|
||||
var isOpenApiGeneration =
|
||||
Assembly.GetEntryAssembly()?.GetName().Name == "GetDocument.Insider";
|
||||
if (isOpenApiGeneration)
|
||||
{
|
||||
// The build-time mock host never accepts traffic. It still constructs the
|
||||
// auth services, so use an ephemeral contract-only signing value.
|
||||
builder.Configuration["Jwt:Key"] =
|
||||
"openapi-contract-generation-only-000000000000000000";
|
||||
}
|
||||
|
||||
// --- Service Registration ---
|
||||
builder.Services.AddNexusAuth(builder.Configuration);
|
||||
builder.Services.AddNexusRateLimiting();
|
||||
builder.Services.AddNexusForwardedHeaders();
|
||||
builder.Services.AddNexusForwardedHeaders(builder.Configuration);
|
||||
builder.Services.AddNexusSwagger();
|
||||
builder.Services.AddNexusDatabase(builder.Configuration);
|
||||
builder.Services.AddNexusHttpClients(builder.Configuration);
|
||||
builder.Services.AddNexusApplicationServices();
|
||||
builder.Services.AddNexusApplicationServices(
|
||||
includeHostedServices: !isOpenApiGeneration);
|
||||
builder.Services.AddNexusRepositories();
|
||||
builder.Services.AddNexusHealthChecks(builder.Configuration);
|
||||
builder.Services.AddNexusPlatform(builder.Configuration);
|
||||
builder.Services.AddControllers();
|
||||
|
||||
var app = builder.Build();
|
||||
|
||||
// --- Database Migration & Seeding ---
|
||||
await app.EnsureDatabaseAsync();
|
||||
// Build-time OpenAPI extraction constructs the host without a database. The
|
||||
// flag is supplied only by the project target; normal application starts keep
|
||||
// the migration and seed gate mandatory.
|
||||
if (!isOpenApiGeneration)
|
||||
{
|
||||
// --- Database Migration & Seeding ---
|
||||
await app.EnsureDatabaseAsync();
|
||||
}
|
||||
|
||||
// --- Middleware Pipeline ---
|
||||
app.UseNexusPipeline(app.Environment);
|
||||
|
||||
app.MapMcp("/mcp");
|
||||
app.MapOpenApi("/openapi/{documentName}.json");
|
||||
app.MapControllers();
|
||||
app.Run();
|
||||
|
||||
Reference in New Issue
Block a user