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