Download codex-rs/core-plugins/src/app_mcp_routing.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 873 Bytes
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/core-plugins/src/app_mcp_routing.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/core-plugins/src/app_mcp_routing.rs
-
curl -L -o app_mcp_routing.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/core-plugins/src/app_mcp_routing.rs
873 Bytes
| use codex_plugin::AppDeclaration; | |
| use codex_protocol::auth::AuthMode; | |
| use std::collections::HashMap; | |
| use std::collections::HashSet; | |
| pub fn apps_route_available(auth_mode: Option<AuthMode>) -> bool { | |
| auth_mode.is_some_and(AuthMode::uses_codex_backend) | |
| } | |
| pub(crate) fn apply_app_mcp_routing_policy<M>( | |
| apps: &mut Vec<AppDeclaration>, | |
| mcp_servers: &mut HashMap<String, M>, | |
| auth_mode: Option<AuthMode>, | |
| plugin_active: bool, | |
| ) { | |
| if !apps_route_available(auth_mode) { | |
| apps.clear(); | |
| return; | |
| } | |
| if plugin_active && !apps.is_empty() { | |
| let app_declaration_names = apps | |
| .iter() | |
| .map(|app| app.name.as_str()) | |
| .collect::<HashSet<_>>(); | |
| mcp_servers.retain(|name, _| !app_declaration_names.contains(name.as_str())); | |
| } | |
| } | |
| mod tests; | |