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