cupel 1.2.0

Context window management pipeline for LLM applications
#![doc = include_str!("../README.md")]
#![cfg_attr(docsrs, feature(doc_auto_cfg))]

pub mod analytics;
pub mod diagnostics;
pub mod error;
pub mod model;
pub mod pipeline;
pub mod placer;
pub mod scorer;
pub mod slicer;

pub use analytics::{
    ItemStatus, KindQuotaUtilization, PolicySensitivityDiffEntry, PolicySensitivityReport,
    budget_utilization, kind_diversity, policy_sensitivity, policy_sensitivity_from_pipelines,
    quota_utilization, timestamp_coverage,
};
pub use diagnostics::{
    CountRequirementShortfall, DiagnosticTraceCollector, ExcludedItem, ExclusionReason,
    IncludedItem, InclusionReason, NullTraceCollector, OverflowEvent, PipelineStage,
    SelectionReport, StageTraceSnapshot, TraceCollector, TraceDetailLevel, TraceEvent,
};
pub use error::CupelError;
pub use model::{
    ContextBudget, ContextItem, ContextItemBuilder, ContextKind, ContextSource, OverflowStrategy,
    ParseContextKindError, ScoredItem,
};
pub use pipeline::{Pipeline, PipelineBuilder, Policy, PolicyBuilder};
pub use placer::{ChronologicalPlacer, Placer, UShapedPlacer};
pub use scorer::{
    CompositeScorer, DecayCurve, DecayScorer, FrequencyScorer, KindScorer, MetadataKeyScorer,
    MetadataTrustScorer, PriorityScorer, RecencyScorer, ReflexiveScorer, ScaledScorer, Scorer,
    SystemTimeProvider, TagScorer, TimeProvider,
};
pub use slicer::{
    CountConstrainedKnapsackSlice, CountQuotaEntry, CountQuotaSlice, GreedySlice, KnapsackSlice,
    QuotaConstraint, QuotaConstraintMode, QuotaEntry, QuotaPolicy, QuotaSlice, ScarcityBehavior,
    Slicer,
};