Download codex-rs/code-mode/src/grpc_session/completion.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.86 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/code-mode/src/grpc_session/completion.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/code-mode/src/grpc_session/completion.rs
-
curl -L -o completion.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/code-mode/src/grpc_session/completion.rs
1.86 kB
| use codex_code_mode_protocol::grpc; | |
| use codex_code_mode_protocol::host::MAX_FRAME_BYTES; | |
| use prost::Message; | |
| pub(super) fn request( | |
| session_id: &str, | |
| invocation_id: &str, | |
| result: Result<serde_json::Value, String>, | |
| ) -> grpc::CompleteToolCallRequest { | |
| request_with_maximum(session_id, invocation_id, result, MAX_FRAME_BYTES) | |
| } | |
| fn request_with_maximum( | |
| session_id: &str, | |
| invocation_id: &str, | |
| result: Result<serde_json::Value, String>, | |
| maximum_message_bytes: usize, | |
| ) -> grpc::CompleteToolCallRequest { | |
| let outcome = match result { | |
| Ok(value) => match serde_json::to_vec(&value) { | |
| Ok(output_json) => { | |
| grpc::complete_tool_call_request::Outcome::Succeeded(grpc::ToolCallSucceeded { | |
| output_json, | |
| }) | |
| } | |
| Err(error) => grpc::complete_tool_call_request::Outcome::Failed(grpc::ToolCallFailed { | |
| message: format!("failed to encode code-mode tool result: {error}"), | |
| }), | |
| }, | |
| Err(message) => { | |
| grpc::complete_tool_call_request::Outcome::Failed(grpc::ToolCallFailed { message }) | |
| } | |
| }; | |
| let mut request = grpc::CompleteToolCallRequest { | |
| session_id: session_id.to_string(), | |
| invocation_id: invocation_id.to_string(), | |
| outcome: Some(outcome), | |
| }; | |
| let encoded_bytes = request.encoded_len(); | |
| if encoded_bytes > maximum_message_bytes { | |
| request.outcome = Some(grpc::complete_tool_call_request::Outcome::Failed( | |
| grpc::ToolCallFailed { | |
| message: format!( | |
| "code-mode tool result of {encoded_bytes} encoded bytes exceeds the gRPC message limit of {maximum_message_bytes} bytes" | |
| ), | |
| }, | |
| )); | |
| } | |
| request | |
| } | |
| mod tests; | |