Tracon.AGUI 1.0.0-preview.6

Prefix Reserved
This is a prerelease version of Tracon.AGUI.
dotnet add package Tracon.AGUI --version 1.0.0-preview.6
                    
NuGet\Install-Package Tracon.AGUI -Version 1.0.0-preview.6
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tracon.AGUI" Version="1.0.0-preview.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tracon.AGUI" Version="1.0.0-preview.6" />
                    
Directory.Packages.props
<PackageReference Include="Tracon.AGUI" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tracon.AGUI --version 1.0.0-preview.6
                    
#r "nuget: Tracon.AGUI, 1.0.0-preview.6"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tracon.AGUI@1.0.0-preview.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tracon.AGUI&version=1.0.0-preview.6&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Tracon.AGUI&version=1.0.0-preview.6&prerelease
                    
Install as a Cake Tool

Tracon.AGUI

The AG-UI endpoint for Tracon. It connects a front end that speaks the AG-UI protocol (CopilotKit and others) to a Tracon agent.

An AG-UI request is a Tracon run: it is recorded, the tenant is resolved, the roles are enforced, the quota is counted and the cost is written. Session ownership applies when Tracon:SessionOwnership is on (it is off by default); until then a threadId is whatever the front end chooses, and any operator of the tenant can continue it. Only the dialect on the wire is different.

Installation

dotnet add package Tracon.AGUI --prerelease
builder.AddTracon()
       .UseOpenAI(apiKey)
       .AddClientTool("open_page", "Opens a page in the user's browser.", schema)
       .AddAgent(new AgentDefinition
       {
           Name = "assistant",
           Instructions = "You help the user.",
           Model = new ModelBinding { Provider = "openai", Model = "gpt-4o-mini" },
           ToolNames = ["open_page"],
       });

app.MapTracon();
app.MapTraconAGUI();

MapTraconAGUI needs MapTracon first. It inherits the access protection from there: loopback by default, the bearer token, your authorization policy, the Operator role and the runs:write API key scope.

The endpoint is POST /tracon/agui/{agentName}. The body is an AG-UI RunAgentInput and the answer is text/event-stream, one data: frame per AG-UI event.

curl -N -X POST http://localhost:5081/tracon/agui/assistant \
  -H 'Content-Type: application/json' \
  -d '{"threadId":"t1","runId":"r1","messages":[{"id":"m1","role":"user","content":"hello"}],
       "tools":[{"name":"open_page","description":"Opens a page in the browser.","parameters":{"type":"object","properties":{"url":{"type":"string"}}}}],
       "context":[]}'

How a request is read

AG-UI field What Tracon does
threadId The session. At most 200 characters. It belongs to the tenant that opened it, and with Tracon:SessionOwnership on also to the user.
messages Only the messages after the last assistant message are new. A user message is the run's message; a tool message answers a pending client-side tool call. Everything before is already in the session. System and developer messages are not read.
tools Must name every client-side tool the agent carries. The schema is always the code's. A tool the agent does not carry is ignored.
resume Answers a tool approval ({ "approved": true, "reason": "...", "remember": false }) or a request for user input (the requested fields).
context Becomes run documents, kept apart from the instructions.
state, forwardedProps Not used.

What comes back

The first event after RUN_STARTED is a CUSTOM event named tracon.run that carries the Tracon run id. A tool that waits for approval, and an MCP server that asks the user for input, end the run with an interrupt in RUN_FINISHED. A failure after the stream began is a RUN_ERROR event that carries a correlation id the server log has.

Notes

  • A tool is defined only in code. An AG-UI request cannot add a tool or change a schema.
  • The package takes AGUI.Server and AGUI.Abstractions (MIT, published by the AG-UI protocol project). It is not part of the Tracon meta package, so an application whose front end does not speak AG-UI carries neither.
  • It does not support Native AOT.
Product Compatible and additional computed target framework versions.
.NET 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 is compatible.  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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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
1.0.0-preview.6 50 10/27/2026