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 eligibility;
15#[cfg(not(target_os = "wasi"))]
16mod failure;
17mod provider_key_redactor;
18#[cfg(not(target_os = "wasi"))]
19mod route;
20#[cfg(not(target_os = "wasi"))]
21mod runner;
22
23#[cfg(not(target_os = "wasi"))]
24pub use config::{ConfiguredTarget, RouteTargets, TargetModel, api_key_variables, route_targets};
25#[cfg(not(target_os = "wasi"))]
26pub use eligibility::require_target_labels;
27
28pub use algorithm::{
29    AdvisorTriggerConfig, AlgorithmConfigError, AlgorithmSpec, CategoryModelConfig, ClassifierMode,
30    ClassifierPolicyConfig, DecisionJudgeRouteConfig, LlmClassifierRouteConfig,
31    StageClassifierConfig, StageProfileConfig, StageSettingsConfig, SubagentRouteConfig,
32    VgrModeConfig, VgrRouteConfig,
33};
34#[cfg(not(target_os = "wasi"))]
35pub use algorithm_factory::AlgorithmFactory;
36#[cfg(not(target_os = "wasi"))]
37pub use failure::{RouteErrorKind, RouteErrorPhase, RouteErrorSummary, stream_error_summary};
38// Re-exported because `Route::new` takes it, so a host wiring routes does not need a libsy dep.
39pub use libsy::{RoutingOutcome, RuntimeModels};
40pub use provider_key_redactor::ProviderKeyRedactor;
41#[cfg(not(target_os = "wasi"))]
42pub use route::{
43    AuxiliaryTarget, CallerAuthKind, ModelCapabilities, Route, RunOutput, RunnerError,
44};
45#[cfg(not(target_os = "wasi"))]
46pub use runner::{DecisionDescription, DecisionTarget, ModelInfo, Runner};