pub enum BlockType {
Show 13 variants
Code,
Conversation,
FileTree,
ToolResult,
Document,
StructuredData,
Diff,
Annotation,
EmbeddingRef,
Image,
Extension,
End,
Unknown(u8),
}Expand description
Semantic block type identifiers.
Each variant maps to the wire byte value defined in RFC §4.4 and
mirrored by the bcp_wire::block_frame::block_type constants.
Unknown values are captured by Unknown(u8) for forward compatibility —
a newer encoder may produce block types this version doesn’t recognize,
and we preserve them rather than discarding.
┌──────┬──────────────────┬──────────────────────────────────┐
│ Wire │ Variant │ Description │
├──────┼──────────────────┼──────────────────────────────────┤
│ 0x01 │ Code │ Source code with language/path │
│ 0x02 │ Conversation │ Chat turn with role │
│ 0x03 │ FileTree │ Directory structure │
│ 0x04 │ ToolResult │ Tool/MCP output │
│ 0x05 │ Document │ Prose/markdown content │
│ 0x06 │ StructuredData │ JSON/YAML/TOML/CSV data │
│ 0x07 │ Diff │ Code changes with hunks │
│ 0x08 │ Annotation │ Metadata overlay │
│ 0x09 │ EmbeddingRef │ Vector reference │
│ 0x0A │ Image │ Image reference or embed │
│ 0xFE │ Extension │ User-defined block │
│ 0xFF │ End │ End-of-stream sentinel │
└──────┴──────────────────┴──────────────────────────────────┘Variants§
Code
Conversation
FileTree
ToolResult
Document
StructuredData
Diff
Annotation
EmbeddingRef
Image
Extension
End
Unknown(u8)
Forward-compatible catch-all for block types this version doesn’t recognize. The raw wire byte is preserved so it can be re-encoded without loss.
Implementations§
Source§impl BlockType
impl BlockType
Sourcepub fn wire_id(&self) -> u8
pub fn wire_id(&self) -> u8
Return the single-byte wire ID for this block type.
For known variants this is the constant from RFC §4.4.
For Unknown(id), returns the captured byte as-is.
Sourcepub fn from_wire_id(id: u8) -> Self
pub fn from_wire_id(id: u8) -> Self
Parse a wire byte into a BlockType.
Known values map to their named variant. Anything else becomes
Unknown(id), preserving the raw value for round-tripping.