supercode-interchange 0.4.9

Canonical, provider-neutral session interchange primitives for Supercode
Documentation
//! Provider-neutral canonical data for coding-agent session interchange.
//!
//! This crate is the dependency base for Supercode's translators, optional
//! reversible reducer, and optional native runtime. During the compatibility
//! migration it first owns canonical messages and their deterministic token
//! estimates; session containers and native codecs move here next without
//! changing their public shapes.

#![warn(missing_docs)]

pub mod catalog;
mod error;
mod fidelity;
mod message;
mod native_store;
pub mod session;
pub mod session_tree;
pub mod sidecar;
mod token_estimator;
pub mod watch;

pub use catalog::{
    DiscoveryPage, DiscoveryQuery, HarnessCatalog, HarnessHomes, HarnessId, SessionDescriptor,
    SessionLocator, SessionPreviewCandidate, StorageLocator,
};
pub use error::{InterchangeError, InterchangeError as Error, Result};
pub use fidelity::{
    core_messages, measure_fidelity, messages_equal, messages_equal_multimodal, replay_eligible,
    replay_excluded, Fidelity, FidelityMetric, FidelityResidue,
};
pub use message::{
    is_tool_error, mark_tool_error, mark_tool_outcome_unknown, tool_outcome, ChatMessage,
    FunctionCall, Role, ToolCall, ToolOutcome, TOOL_ERROR_METADATA_KEY,
    TOOL_OUTCOME_UNKNOWN_METADATA_KEY,
};
#[doc(hidden)]
pub use native_store::load_native_store_family;
pub use session::{Session, SessionFormat, SessionMeta, SessionSource};
pub use token_estimator::{estimate_tokens, estimate_view_tokens, format_commas};
pub use watch::{SessionFollower, SessionSnapshotReason, SessionWatchEvent};