Namespace JD.AI.Rendering
Classes
- ChatRenderer
Renders chat messages, tool outputs, and status to the terminal using Spectre.Console markup.
- CompletionItem
A single completion candidate with optional description.
- CompletionProvider
Provides command and keyword completion candidates for the interactive input.
- DiffRenderer
Renders unified diff output with red/green ANSI backgrounds — the same visual style used by git diff and similar tools. No markdown processing is applied; diffs are output verbatim with color.
- FileMentionExpander
Expands @file/path references in user input by injecting file contents.
- FooterBar
Renders a FooterState snapshot into a Spectre.Console Spectre.Console.Rendering.IRenderable using a parsed FooterTemplate.
- FooterState
Immutable snapshot of all data required to render the TUI footer.
- FooterStateProvider
Collects and manages the mutable state used to build an immutable FooterState snapshot. All mutations are thread-safe; the class is safe to call from both the main thread and background refresh tasks.
- FooterTemplate
A parsed footer template that can render itself given a dictionary of segment values.
- HistoryViewer
Interactive session history browser with scrollable turns, details, and rollback. Activated by double-tap ESC at an empty prompt.
- InputResult
The result of an interactive ReadLine call, containing the typed text and any pasted content attachments.
- InteractiveInput
Interactive readline replacement with ghost-text completions, dropdown menu, command syntax highlighting, clipboard paste detection, and input history. Replaces Console.ReadLine() with a modern terminal editing experience.
- MarkdownRenderer
Renders markdown text using Spectre.Console primitives. Parses with Markdig and walks the AST to produce styled terminal output.
Highlights:
- Headings (H1→bold yellow, H2→bold cyan, H3→bold blue, H4+→bold)
- Bold / italic / inline code
- Fenced code blocks with simple keyword highlighting and a panel border
- Ordered and unordered lists (nested, with ●/○/▸ bullets)
- Tables via Spectre.Console Table
- Block quotes with │ gutter
- Thematic breaks (─── rule)
- Slash-command tokens in prose are colored when they match registered commands
- PastedContent
Represents content pasted into the input line that has been collapsed into a visual chip rather than displayed inline.
- PluginSegment
A single plugin-provided segment to display in the footer.
- QuestionnaireSession
Runs an interactive questionnaire in the TUI terminal, presenting each question in turn, collecting validated answers, showing a review/summary screen, and returning a completed AskQuestionsResult.
- StreamingContentParser
Parses streaming LLM output to detect and separate thinking content from response content. Handles <think>...</think> tags that may span chunk boundaries (used by Qwen, DeepSeek, and similar models).
- TeamProgressPanel
Live progress panel for team execution — shows per-agent status in real-time. Uses Spectre.Console LiveDisplay for smooth updates.
- TemplateToken
An individual token produced by Parse(string).
- WelcomeBannerDetails
Optional contextual details rendered in the startup welcome panel.
- WelcomeIndicator
A concise, color-coded status indicator shown in the welcome banner.
Structs
- DropdownWindow
Computes the visible slice of a dropdown list that keeps the selected item in view. Pure value type with no side effects — all rendering state is derived from inputs.
- StreamSegment
A classified segment of streaming output.
Enums
- IndicatorState
Visual state level for a welcome-banner service indicator.
- PasteKind
The type of pasted content.
- StreamSegmentKind
Classifies a segment of streaming output.