UI Protocol Types (ui_protocol/types.rs)

vtcode · crates/common/vtcode-commons/src/ui_protocol/types.rs · rust · Apache-2.0
ui, dev-tools, lang:rust, tag:protocol

Pure data types and message definitions for the UI protocol without std dependencies. Use for managing inline terminal UI state and command palettes.

#![expect(
// Source: https://github.com/vinhnx/vtcode | License: Apache-2.0 | Copyright 2025 Vinh Nguyen
// Provided via justclaw.it.com; keep this notice with the code.
    clippy::cast_possible_truncation,
    reason = "Progress percentages are clamped to the documented byte-sized display range."
)]

//! Pure data types with no dependencies beyond `std`.

/// Message kind tag for inline transcript lines.
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum InlineMessageKind {
    Agent,
    Error,
    Info,
    Policy,
    Pty,
    Tool,
    User,
    Warning,
}

/// A single slash-command entry for the suggestion palette.
#[derive(Debug, Clone, PartialEq, Eq)]
pub struct SlashCommandItem {
    pub name: String,
    pub description: String,
}

impl SlashCommandItem {
    pub fn new(nam

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key