Skip to main content

Module io

Module io 

Source
Expand description

Import/Export I/O subsystem.

Provides bulk memory import and structured export capabilities with support for multiple file formats (JSON, YAML, CSV, Parquet).

§Architecture

The I/O subsystem uses a clean trait-based architecture:

  • Format adapters implement ImportSource and ExportSink traits
  • Validation layer normalizes and validates imported data
  • Services orchestrate format parsing, validation, and storage

§Supported Formats

FormatImportExportNotes
JSONNewline-delimited (NDJSON) or array
YAMLDocument stream
CSVConfigurable column mapping
Parquet-Requires parquet-export feature

§Examples

§Import memories from JSON

use subcog::io::{ImportService, ImportOptions, Format};
use std::fs::File;

let file = File::open("memories.json")?;
let result = service.import_from_reader(file, ImportOptions {
    format: Format::Json,
    skip_duplicates: true,
    ..Default::default()
})?;
println!("Imported {} memories", result.imported);

§Export memories to CSV

use subcog::io::{ExportService, ExportOptions, Format};
use std::fs::File;

let file = File::create("memories.csv")?;
let result = service.export_to_writer(file, ExportOptions {
    format: Format::Csv,
    filter: Some("ns:decisions since:7d".to_string()),
    ..Default::default()
})?;
println!("Exported {} memories", result.exported);

Re-exports§

pub use formats::Format;
pub use services::export::ExportOptions;
pub use services::export::ExportResult;
pub use services::export::ExportService;
pub use services::import::ImportOptions;
pub use services::import::ImportProgress;
pub use services::import::ImportResult;
pub use services::import::ImportService;
pub use traits::ExportSink;
pub use traits::ImportSource;
pub use traits::ImportedMemory;
pub use validation::ImportValidator;
pub use validation::ValidationIssue;
pub use validation::ValidationResult;

Modules§

formats
Format adapters for import/export.
services
Import and export service implementations.
traits
Core traits for import/export operations.
validation
Import validation and normalization.