[router] remove code duplication (#12245)
This commit is contained in:
@@ -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
|
||||
// ============================================================================
|
||||
|
||||
Reference in New Issue
Block a user