Protocol5.UAI.CSharp
0.1.0
dotnet add package Protocol5.UAI.CSharp --version 0.1.0
NuGet\Install-Package Protocol5.UAI.CSharp -Version 0.1.0
<PackageReference Include="Protocol5.UAI.CSharp" Version="0.1.0" />
<PackageVersion Include="Protocol5.UAI.CSharp" Version="0.1.0" />
<PackageReference Include="Protocol5.UAI.CSharp" />
paket add Protocol5.UAI.CSharp --version 0.1.0
#r "nuget: Protocol5.UAI.CSharp, 0.1.0"
#:package Protocol5.UAI.CSharp@0.1.0
#addin nuget:?package=Protocol5.UAI.CSharp&version=0.1.0
#tool nuget:?package=Protocol5.UAI.CSharp&version=0.1.0
Protocol5.UAI.CSharp
Protocol5.UAI.CSharp is a small starter library for adding UAI-1 support to C# websites.
It focuses on the parts that websites need first:
x-uai-1language-tag handlingCultureInfointegration that stays safe for cross-platform sites- Radix 63404 encode/decode helpers for canonical identifiers
- ASP.NET Core middleware that recognizes UAI requests from query string, cookie, or
Accept-Language
Why the kit uses x-uai-1
UAI-1 is machine-facing and canonical. It should not depend on user locale for semantic meaning.
For websites, the safest split is:
- Use
x-uai-1as the public language tag for HTML and HTTP negotiation - Use
CultureInfo.InvariantCulturefor canonical serialization - Use
CultureInfo.GetCultureInfo("x-uai-1")when the runtime supports it
This matches the practical guidance in Microsoft Learn:
CultureInfo: https://learn.microsoft.com/en-us/dotnet/fundamentals/runtime-libraries/system-globalization-cultureinfo- ASP.NET Core localization: https://learn.microsoft.com/en-us/aspnet/core/fundamentals/localization/select-language-culture?view=aspnetcore-9.0
Install
dotnet add package Protocol5.UAI.CSharp
If you downloaded the .nupkg directly from Protocol5, install it from a local path instead:
dotnet add package Protocol5.UAI.CSharp --source .
ASP.NET Core quick start
using Protocol5.UAI;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddProtocol5UaiWebsiteSupport();
var app = builder.Build();
app.UseProtocol5UaiWebsiteSupport();
app.MapGet("/uai-demo", (HttpContext context) =>
{
var sampleId = Radix63404.Encode(5651);
return Results.Json(new
{
protocol = UaiCultureInfo.CanonicalVersion,
language = context.GetProtocol5HtmlLanguage(),
sampleCanonicalId = sampleId
});
});
app.Run();
HTML recommendation
When you serve a page intended for UAI-aware agents or tooling, set the document language explicitly:
<html lang="x-uai-1">
Canonical formatting rule
When you serialize canonical UAI values, always use InvariantCulture:
using Protocol5.UAI;
var confidence = 0.875m.ToString(UaiCultureInfo.CanonicalSerializationCulture);
Radix 63404 examples
These values line up with the Protocol5 reference material:
Radix63404.Encode(41); // J
Radix63404.Encode(5651); // ᙖ
Radix63404.Encode(267914296); // Ⴤ绠
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.0 | 161 | 4/13/2026 |