Unverified Commit 83b22400 authored by Simo Lin's avatar Simo Lin Committed by GitHub
Browse files

[router] remove code duplication (#12245)

parent 285a8e69
......@@ -11,14 +11,14 @@ use chrono::Utc;
use serde_json::{json, Value};
use tracing::{debug, info, warn};
use super::{responses::build_stored_response, utils::generate_id};
use super::responses::build_stored_response;
use crate::{
data_connector::{
Conversation, ConversationId, ConversationItemId, ConversationItemStorage,
ConversationStorage, ListParams, NewConversation, NewConversationItem, ResponseId,
ResponseStorage, SortOrder,
},
protocols::responses::{ResponseInput, ResponsesRequest},
protocols::responses::{generate_id, ResponseInput, ResponsesRequest},
};
/// Maximum number of properties allowed in conversation metadata
......
......@@ -16,10 +16,12 @@ use serde_json::{json, to_value, Value};
use tokio::sync::mpsc;
use tracing::{debug, info, warn};
use super::utils::{event_types, generate_id};
use super::utils::event_types;
use crate::{
mcp,
protocols::responses::{ResponseInput, ResponseTool, ResponseToolType, ResponsesRequest},
protocols::responses::{
generate_id, ResponseInput, ResponseTool, ResponseToolType, ResponsesRequest,
},
routers::header_utils::apply_request_headers,
};
......
......@@ -52,8 +52,8 @@ use crate::{
generate::GenerateRequest,
rerank::RerankRequest,
responses::{
ResponseContentPart, ResponseInput, ResponseInputOutputItem, ResponsesGetParams,
ResponsesRequest,
generate_id, ResponseContentPart, ResponseInput, ResponseInputOutputItem,
ResponsesGetParams, ResponsesRequest,
},
},
routers::header_utils::apply_request_headers,
......@@ -1034,10 +1034,7 @@ impl crate::routers::RouterTrait for OpenAIRouter {
if item.get("id").is_none() {
// Generate ID if not present using centralized utility
if let Some(obj) = item.as_object_mut() {
obj.insert(
"id".to_string(),
json!(super::utils::generate_id("msg")),
);
obj.insert("id".to_string(), json!(generate_id("msg")));
}
}
item
......
......@@ -220,16 +220,6 @@ pub async fn probe_endpoint_for_model(
}
}
pub fn generate_id(prefix: &str) -> String {
use rand::RngCore;
let mut rng = rand::rng();
// Generate exactly 50 hex characters (25 bytes) for the part after the underscore
let mut bytes = [0u8; 25];
rng.fill_bytes(&mut bytes);
let hex_string: String = bytes.iter().map(|b| format!("{:02x}", b)).collect();
format!("{}_{}", prefix, hex_string)
}
// ============================================================================
// Re-export FunctionCallInProgress from mcp module
// ============================================================================
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment