HPD-Agent.TUI 0.9.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package HPD-Agent.TUI --version 0.9.0
                    
NuGet\Install-Package HPD-Agent.TUI -Version 0.9.0
                    
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="HPD-Agent.TUI" Version="0.9.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HPD-Agent.TUI" Version="0.9.0" />
                    
Directory.Packages.props
<PackageReference Include="HPD-Agent.TUI" />
                    
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 HPD-Agent.TUI --version 0.9.0
                    
#r "nuget: HPD-Agent.TUI, 0.9.0"
                    
#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 HPD-Agent.TUI@0.9.0
                    
#: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=HPD-Agent.TUI&version=0.9.0
                    
Install as a Cake Addin
#tool nuget:?package=HPD-Agent.TUI&version=0.9.0
                    
Install as a Cake Tool

HPD-Agent.TUI

Terminal UI shell primitives for HPD agents.

Install

dotnet add package HPD-Agent.TUI

Use When

Use this package when you need this HPD Agent capability in an agent application.

Pre-1.0 API Evolution

HPD-Agent.TUI is still pre-1.0. Until 1.0.0, releases may refine runtime interfaces, transcript rendering contracts, and model-selection surfaces as the terminal experience stabilizes. The current TUI model is session/thread runtime navigation with transcript cells and renderer registrations.

Markdown palettes

Markdown colors are independent of the shell's UI theme. Register immutable palettes when building the application:

using HPD.TUI.Core;
using HPD.TUI.Markdown;

var ui = Theme.Default;
var markdown = MarkdownTheme.FromTheme(ui) with
{
    Heading1 = new Style(new Color(190, 140, 250), Color.Default, TextAttributes.Bold),
    Link = new Style(new Color(70, 200, 240), Color.Default, TextAttributes.Underline),
    InlineCode = new Style(new Color(240, 190, 90), Color.Default),
    Strong = new MarkdownInlineStyle { Attributes = TextAttributes.Bold },
    Syntax = CodeSyntaxTheme.FromTheme(ui) with
    {
        Keyword = new Style(new Color(190, 140, 250), Color.Default),
        Comment = new Style(new Color(125, 140, 155), Color.Default, TextAttributes.Italic)
    }
};
var reasoning = markdown with { Body = ui.Border, Heading1 = ui.Border };

builder.UseTheme(ui)
    .UseMarkdownTheme(markdown)
    .UseReasoningMarkdownTheme(reasoning);

MarkdownTheme supplies separate styles for Body, Heading1–Heading6, Link, InlineCode, CodeBody (unhighlighted code), CodeBorder, CodeLanguage, QuoteText, QuoteMarker, ListMarker, TaskChecked, TaskUnchecked, TableHeader, TableBody, TableBorder, ThematicBreak, Image, and Html. Syntax supplies Text, Keyword, String, Number, Identifier, Function, Type, Operator, Punctuation, and Comment. These are full Style values, including foreground, background, and attributes.

Strong, Emphasis, and Strikethrough use MarkdownInlineStyle: null colors inherit from the enclosing heading/link/text, explicit colors override it, and attributes combine. Inner inline styling takes precedence. The conservative built-in highlighter recognizes line comments for its supported C-style, Python, and shell modes, and multiline block comments for C-style modes. Function declarations and calls use local token context; types use built-in names, declaration context, and uppercase naming conventions. Symbolic operators have their own style. Classification is lexical, not compiler symbol resolution, and can misclassify unconventional names.

Without explicit palettes, responses derive defaults from the UI theme and reasoning uses muted defaults. An explicit reasoning palette is used unchanged. Custom transcript renderers read context.MarkdownTheme; event handlers and other callers can use registry.TranscriptRenderers.Services.ResolveMarkdownTheme(ui, reasoning). MarkdownMessageFactory.CreateAssistant and CreateReasoning require that resolved palette directly, including when preparing non-streaming messages.

Preparation, block caches, raw fallback, rendering, and scrollback all use the same structural palette identity. Callers do not maintain a syntax-theme revision counter. A MarkdownView renders the styles already in its prepared layout independently of the surrounding UI theme; width and color-system validation remain enforced.

Palettes are fixed for a built registry. This is startup configuration, not a live recoloring API: previously published native terminal history requires an explicit new presentation and replay to change its colors.

Catalog reasoning constraints

AgentTuiModelCapabilities.SupportedReasoningEfforts preserves raw catalog levels and DefaultReasoningEffort identifies the advertised default. The picker intersects known levels (none, low, medium, high, xhigh) with the implementation; unknown values remain metadata. Choosing server default leaves reasoning unspecified.

A catalog can supply AgentTuiModelChoice.ProviderConfig for model-specific construction constraints. Selection carries that payload into normal provider resolution, which snapshots it through the existing provider serialization contract while retaining the selected connection identity.

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 (1)

Showing the top 1 NuGet packages that depend on HPD-Agent.TUI:

Package Downloads
HPD-Agent.Harness.Coding.TUI

Terminal UI contributions for the HPD-Agent coding toolharness.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.9.5 98 11/10/2026
0.9.2 117 11/2/2026
0.9.1 131 10/21/2026
0.9.0 128 10/20/2026
0.8.1 180 8/6/2026
0.8.0 142 8/5/2026
0.7.0 162 7/19/2026
0.6.0 175 7/4/2026
0.5.5 160 6/21/2026
0.5.0 162 6/11/2026