Skip to main content

switchyard_libsy/
lib.rs

1// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2// SPDX-License-Identifier: Apache-2.0
3
4#![warn(missing_docs)]
5#![doc = include_str!("../README.md")]
6
7mod core;
8pub use core::algorithm::{
9    Algorithm, AnswerSummary, Call, CallDecision, CallModel, Driver, RoutingOutcome, RuntimeModels,
10    Step, StepStream, drive,
11};
12pub use core::classifier::{Classification, Classifier, Score};
13pub use core::outcome_metadata::OutcomeMetadata;
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::advisor_gate::{AdvisorGate, AdvisorGateConfig, GateTrigger};
22pub use algorithms::composite::{CompositeJudgeConfig, CompositeRouter, CompositeRouterConfig};
23pub use algorithms::infra::InfraPolicy;
24pub use algorithms::llm_class::{
25    CapabilityJudgeConfig, CustomClassifierConfig, CustomClassifierPolicy, DEFAULT_UNMATCHED_STEPS,
26    DecisionJudgeConfig, LlmCapabilityConfig, LlmClassifierConfig, LlmTaskClassifier,
27    TaskClassifierConfig,
28};
29pub use algorithms::noop::Noop;
30pub use algorithms::passthrough::Passthrough;
31pub use algorithms::plan_execute::{PlanExecute, PlanExecuteConfig};
32pub use algorithms::rand::{Random, RandomClassifier};
33pub use algorithms::stage::{LlmFallback, StageRouter, StageRouterConfig};
34pub use algorithms::subagent::{SubagentRouter, SubagentRouterConfig};
35pub use algorithms::util::affinity::{AffinityRouter, ClassifyTrigger};
36pub use algorithms::util::classifier_contract::{
37    ClassifierContractConfig, ClassifierResponseFormat,
38};
39pub use algorithms::util::escalation::{DeescalationConfig, EscalationJudgeConfig};
40pub use algorithms::util::prompts::append_note;
41pub use algorithms::util::subagent::{SubagentGate, SubagentOverride};
42pub use algorithms::util::tool_signals::{DEFAULT_RECENT_WINDOW, ToolSemantics, ToolSignals};
43pub use algorithms::vgr::{
44    ACTIVE_APPROVAL, BreakerConfig, KillSwitch, ServingMode, Targets as VgrTargets, Vgr, VgrConfig,
45};
46
47// Stage-router scoring and tier selection — the shared signal-driven routing
48// core (scorer, picker, and the `StageClassifier`).
49pub use algorithms::util::stage::{
50    CodingAgentDimensions, DecisionSource, HandoffNoteConfig, PickOutcome, PickerMode, ScoreResult,
51    StageClassifier, Tier, clear_fall_open, dimensions_from_signal, pick_tier, score_signal,
52    set_fall_open,
53};
54
55mod observability;