1mod compose;
31mod context;
32mod error;
33mod fold;
34mod result;
35
36pub use compose::{filter, map, DualFold, FilterFold, MapFold, SequentialFold};
37pub use context::{FoldContext, SharedJson};
38pub use error::{FoldError, FoldResult, FoldResult as FoldResultType};
39pub use fold::{
40 fold_fn, AnyFold, BoxedFold, CommonFold, CommonFoldState, CountFold, FilterCountFold, FnFold,
41 Fold, FoldFailure, SumI64Fold, TryFold,
42};
43pub use result::FoldOutcome;
44
45pub mod anchor;
48
49pub use anchor::{Anchor, AnchorGraph, AnchorRef, BfsAnchor};
50
51pub mod selector;
54
55pub use selector::{GreedySelector, Selector, SelectorInput, SelectorOutput, SelectorWeights};
56
57pub mod objective;
60pub mod ordering;
61
62pub use khive_score::{cmp_asc_then_id, cmp_desc_then_id, DeterministicScore};
63pub use objective::builtin::{
64 FirstMatchObjective, HasImportance, HasTimestamp, ImportanceObjective, MaxScoreObjective,
65 RecencyObjective, RelevanceObjective, ThresholdObjective,
66};
67pub use objective::compose::{
68 ConsensusObjective, NegateObjective, PriorityObjective, ScaleObjective, UnionObjective,
69 WeightedObjective,
70};
71pub use objective::error::{ObjectiveError, ObjectiveResult};
72pub use objective::{objective_fn, DeterministicObjective, Objective, ObjectiveContext, Selection};
73pub use ordering::{
74 canonical_f32, canonical_f64, cmp_asc_score_then_id, cmp_desc_score_then_id, HasId, QuantKey,
75 Ranked, ScoredEntry,
76};