cai-output
Output formatters for CAI entries in multiple formats.
Overview
cai-output provides flexible output formatting for entries, supporting JSON, JSONL, CSV, tables, and more.
Formatters
JSON Formatter
use JsonFormatter;
use Entry;
let formatter = default;
formatter.format?;
JSONL Formatter (JSON Lines)
use JsonlFormatter;
let formatter = default;
formatter.format?;
CSV Formatter
use CsvFormatter;
let formatter = default;
formatter.format?;
Table Formatter
use TableFormatter;
let formatter = default;
formatter.format?;
AI Formatter
Compact format optimized for AI consumption:
use AiFormatter;
let formatter = default;
formatter.format?;
Stats Formatter
Summary statistics:
use StatsFormatter;
let formatter = default;
formatter.format?;
Configuration
Formatters support configuration:
use ;
let mut config = FormatterConfig ;
formatter.set_config;
Streaming
Format entries one at a time:
formatter.format_one?;
Usage
Add to your Cargo.toml:
[]
= { = "../cai-output" }
Design Decisions
- Generic over Write: Works with any writer
- Streaming support: Handle large datasets efficiently
- Configurable: Customizable truncation and limits
Testing
License
MIT OR Apache-2.0