Skip to main content

switchyard_runner/
lib.rs

1// SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2// SPDX-License-Identifier: Apache-2.0
3
4//! Shared configured routing for Switchyard serving surfaces.
5//!
6//! WASI builds omit HTTP-backed route execution.
7
8mod algorithm;
9#[cfg(not(target_os = "wasi"))]
10mod algorithm_factory;
11#[cfg(not(target_os = "wasi"))]
12mod config;
13#[cfg(not(target_os = "wasi"))]
14mod failure;
15mod provider_key_redactor;
16#[cfg(not(target_os = "wasi"))]
17mod route;
18#[cfg(not(target_os = "wasi"))]
19mod runner;
20
21#[cfg(not(target_os = "wasi"))]
22pub use config::{ConfiguredTarget, RouteTargets, TargetModel, api_key_variables, route_targets};
23
24pub use algorithm::{
25    AdvisorTriggerConfig, AlgorithmConfigError, AlgorithmSpec, CategoryModelConfig, ClassifierMode,
26    ClassifierPolicyConfig, DecisionJudgeRouteConfig, LlmClassifierRouteConfig,
27    StageClassifierConfig, SubagentRouteConfig, VgrModeConfig, VgrRouteConfig,
28};
29#[cfg(not(target_os = "wasi"))]
30pub use algorithm_factory::AlgorithmFactory;
31#[cfg(not(target_os = "wasi"))]
32pub use failure::{RouteErrorKind, RouteErrorPhase, RouteErrorSummary, stream_error_summary};
33// Re-exported because `Route::new` takes it, so a host wiring routes does not need a libsy dep.
34pub use libsy::{RoutingOutcome, RuntimeModels};
35pub use provider_key_redactor::ProviderKeyRedactor;
36#[cfg(not(target_os = "wasi"))]
37pub use route::{
38    AuxiliaryTarget, CallerAuthKind, ModelCapabilities, Route, RunOutput, RunnerError,
39};
40#[cfg(not(target_os = "wasi"))]
41pub use runner::{DecisionDescription, DecisionTarget, ModelInfo, Runner};