tokmd-types 1.7.2

Core data types and contracts for tokmd. Tier 1 stability.
Documentation

tokmd-types

Core data structures and contracts for tokmd.

Overview

This is a Tier 0 crate containing pure data types with no business logic dependencies. It defines the receipt schemas, row types, and enums used throughout the tokmd ecosystem.

Installation

[dependencies]
tokmd-types = "1.3"

Key Types

Receipt Types

  • LangReceipt - Language summary with envelope metadata
  • ModuleReceipt - Module summary with envelope metadata
  • ExportReceipt - File-level export with envelope metadata
  • ContextReceipt - LLM context packing result
  • DiffReceipt - Comparison between two receipts

Data Types

  • LangRow / LangReport - Language-level statistics
  • ModuleRow / ModuleReport - Module/directory breakdowns
  • FileRow / ExportData - File-level inventory
  • Totals - Aggregate statistics (files, lines, code, bytes, tokens)

Enums

  • TableFormat - Output format (Md, Tsv, Json)
  • ExportFormat - Export format (Csv, Jsonl, Json, Cyclonedx)
  • RedactMode - Redaction level (None, Paths, All)
  • ChildrenMode - Embedded language handling (Collapse, Separate)
  • ConfigMode - Config file strategy (Auto, None)

Schema Versioning

pub const SCHEMA_VERSION: u32 = 2;

All JSON receipts include a schema_version field. Breaking changes increment this version.

Stability Policy

  • JSON consumers: Stable. New fields have sensible defaults.
  • Rust library consumers: Semi-stable. Use ..Default::default() patterns for forward compatibility.

Features

  • clap - Enable clap derive macros for enums (optional)

License

MIT OR Apache-2.0