1#![warn(missing_docs)]
5#![doc = include_str!("../README.md")]
6
7mod core;
8pub use core::algorithm::{
9 Algorithm, CallModel, Driver, RoutingOutcome, RuntimeModels, Step, StepStream, drive,
10};
11pub use core::classifier::{Classification, Classifier, Score};
12pub use core::outcome_metadata::OutcomeMetadata;
13pub use core::processor::{Event, Processor};
14pub use core::state::{State, StateValue};
15
16mod error;
17pub use error::{DriverError, LibsyError, Result};
18
19mod algorithms;
20pub use algorithms::advisor_gate::{AdvisorGate, AdvisorGateConfig, GateTrigger};
21pub use algorithms::composite::{CompositeRouter, CompositeRouterConfig};
22pub use algorithms::llm_class::{
23 CustomClassifierConfig, CustomClassifierPolicy, LlmClassifierConfig, LlmTaskClassifier,
24 TaskClassifierConfig,
25};
26pub use algorithms::noop::Noop;
27pub use algorithms::passthrough::Passthrough;
28pub use algorithms::rand::{Random, RandomClassifier};
29pub use algorithms::stage::{LlmFallback, StageRouter, StageRouterConfig};
30pub use algorithms::subagent::{SubagentRouter, SubagentRouterConfig};
31pub use algorithms::util::affinity::{AffinityRouter, ClassifyTrigger};
32pub use algorithms::util::classifier_contract::{
33 ClassifierContractConfig, ClassifierResponseFormat,
34};
35pub use algorithms::util::escalation::EscalationJudgeConfig;
36pub use algorithms::util::prompts::append_note;
37pub use algorithms::util::subagent::{SubagentGate, SubagentOverride};
38pub use algorithms::util::tool_signals::{DEFAULT_RECENT_WINDOW, ToolSemantics, ToolSignals};
39
40pub use algorithms::util::stage::{
43 CodingAgentDimensions, DECISION_SOURCE_KEY, DecisionSource, HandoffNoteConfig, PickOutcome,
44 PickerMode, ScoreResult, StageClassifier, Tier, clear_fall_open, dimensions_from_signal,
45 pick_tier, score_signal, set_fall_open,
46};
47
48mod observability;