Delibera.Server
10.5.3
dotnet add package Delibera.Server --version 10.5.3
NuGet\Install-Package Delibera.Server -Version 10.5.3
<PackageReference Include="Delibera.Server" Version="10.5.3" />
<PackageVersion Include="Delibera.Server" Version="10.5.3" />
<PackageReference Include="Delibera.Server" />
paket add Delibera.Server --version 10.5.3
#r "nuget: Delibera.Server, 10.5.3"
#:package Delibera.Server@10.5.3
#addin nuget:?package=Delibera.Server&version=10.5.3
#tool nuget:?package=Delibera.Server&version=10.5.3
Delibera.Server
ASP.NET Core host for Delibera — the multi-model AI council framework.
The package exposes the server as a library so you can mount Delibera inside an existing ASP.NET Core application instead of adopting the standalone host. Everything the standalone server does is available as extension methods, so your own pipeline, authentication, rate limiting and Swagger all stay yours.
What it gives you
| Area | Endpoint group |
|---|---|
| Debates | create, list, get, cancel, rounds, HTML export, tenant-scoped |
| Streaming | text/event-stream with a heartbeat, a retry: hint and an explicit terminal event |
| Scenarios | declarative multi-round scenarios with per-member roles, capabilities and weights |
| Corpus | document upload, indexing and RAG-backed knowledge |
| MCP | Model Context Protocol tools over HTTP transport |
| Operations | /api/v1/health, OpenTelemetry instrumentation, Serilog wiring |
Usage
using Delibera.Server;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddDeliberaServer(builder.Configuration); // options, providers, DI
var app = builder.Build();
app.UseDeliberaServer(); // endpoints + ProblemDetails + OTel
app.MapGet("/", () => Results.Redirect("/api/v1/health"));
app.Run();
Every member route lives under /api/v1, so it cannot collide with your own endpoints. Health is at
/api/v1/health — not /health.
Configuration
Bound from the Delibera configuration section: LLM providers and models, RAG backends (Qdrant, PgVector),
debate strategy, defaults, caching, resilience pipelines and telemetry. See the root
README for the full section reference and
docs/Server.md in the repository for the endpoint contract.
Dependency
Depends on Delibera.Core. You do not need to reference it separately — the package dependency is declared
for you.
Licence
MIT. See the repository root for details.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Delibera.Core (>= 10.5.3)
- Delibera.Redis (>= 10.5.3)
- FluentValidation (>= 12.1.1)
- FluentValidation.DependencyInjectionExtensions (>= 12.1.1)
- Microsoft.AspNetCore.OpenApi (>= 10.0.12)
- Microsoft.OpenApi (>= 2.12.2)
- ModelContextProtocol.AspNetCore (>= 2.2.0)
- OpenTelemetry.Exporter.Console (>= 1.19.1)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.19.1)
- OpenTelemetry.Extensions.Hosting (>= 1.19.1)
- OpenTelemetry.Instrumentation.AspNetCore (>= 1.19.0)
- OpenTelemetry.Instrumentation.Http (>= 1.19.0)
- OpenTelemetry.Instrumentation.Runtime (>= 1.19.0)
- Serilog.AspNetCore (>= 10.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
v10.5.3 — BuiltIn constants, opt-in CORS, project website, Web UI fixes and performance. No breaking changes.
New — opt-in CORS for static browser clients. `Delibera:Server:Cors:AllowedOrigins` registers a named CORS policy listing the browser origins permitted to call the API cross-origin, and `UseCors` is wired only when that list is non-empty. Off by default: the Web UI reaches the API through its own same-origin BFF route and never needs CORS. Origins are matched exactly; there is no wildcard switch. `AllowCredentials` together with `*` is rejected at startup with a message naming the config key.
New — BuiltIn constants extracted across Delibera.Core. A single source of truth for HTTP headers, SSE event names, config sections, role names and other magic strings that previously drifted between projects. SSE event names remain a contract with the Web UI.
Fixed — three per-request costs on the server. ValidationFilter cached validator type resolution per argument type. RedisDebateOrchestrator now reuses the injected ConnectionMultiplexer instead of opening its own. The SSE writer assembles each frame once in the response pipe and flushes once, with event names as u8 literals.
Fixed — the proxy kept upstream SSE connections open after the browser left. The proxy now aborts its own fetch when the response closes before it was fully written.
Fixed — Web UI behaviours: cancel now distinguishes "cancelled" from "already finished"; changing a filter reloads from page 1; npm test now builds first via pretest so it passes on a clean checkout; the live view announces rounds to screen readers via a polite live region; every route titles itself; hover states and visible focus rings added.
Fixed — the Web UI typecheck was passing while silently checking less. Nuxt upgraded to 4.6.1, vue-router to ^5.4.0 matching it, vue-tsc to 3.3, vitest to 5, @nuxt/test-utils to 4. The check is clean for the first time.
Changed — Node is pinned to an exact patch (22.23.3), because nuxt@4.6.1 declares engines.node: ^22.22.3 || ^24.15.0 || >=26.0.0.
New — GitHub Pages deploys the project website (Next.js static export in site/), not the Web UI. The site reads the version from Delibera.Core.csproj at build time, renders docs at any depth, and serves release notes, measurements, and debate templates extracted from source.
CI — Docker Hub publish is now behind an environment (dockerhub-prod), like NuGet (nuget-prod). Release workflow creates the GitHub Release page from docs/WhatsNew-*.md. Merge commits are used instead of squash so ancestry checks remain meaningful.
Tests: Core + Server + gRPC tests passing, plus Web UI tests (API contract + SSE streaming). Clean under -warnaserror.