Download codex-rs/app-server/src/request_processors/thread_input.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.23 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors/thread_input.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/app-server/src/request_processors/thread_input.rs
-
curl -L -o thread_input.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/app-server/src/request_processors/thread_input.rs
1.23 kB
| use super::invalid_request; | |
| use codex_app_server_protocol::JSONRPCErrorError; | |
| use codex_core::CodexThread; | |
| use codex_protocol::protocol::MultiAgentVersion; | |
| use codex_protocol::protocol::SessionSource; | |
| use codex_protocol::protocol::SubAgentSource; | |
| pub(super) const DIRECT_INPUT_TO_MULTI_AGENT_V2_SUBAGENT_ERROR: &str = | |
| "direct app-server input is not allowed for multi-agent v2 sub-agents"; | |
| /// Mirrors the ownership policy in request validation and thread capability responses. | |
| pub(super) fn can_accept_direct_input( | |
| multi_agent_version: Option<MultiAgentVersion>, | |
| session_source: &SessionSource, | |
| ) -> bool { | |
| multi_agent_version != Some(MultiAgentVersion::V2) | |
| || !matches!( | |
| session_source, | |
| SessionSource::SubAgent(SubAgentSource::ThreadSpawn { .. }) | |
| ) | |
| } | |
| pub(super) async fn ensure_direct_input_allowed( | |
| thread: &CodexThread, | |
| ) -> Result<(), JSONRPCErrorError> { | |
| let config_snapshot = thread.config_snapshot().await; | |
| if !can_accept_direct_input( | |
| thread.multi_agent_version(), | |
| &config_snapshot.session_source, | |
| ) { | |
| return Err(invalid_request( | |
| DIRECT_INPUT_TO_MULTI_AGENT_V2_SUBAGENT_ERROR, | |
| )); | |
| } | |
| Ok(()) | |
| } | |