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