[router] remove code duplication (#12245)
This commit is contained in:
@@ -11,14 +11,14 @@ use chrono::Utc;
|
|||||||
use serde_json::{json, Value};
|
use serde_json::{json, Value};
|
||||||
use tracing::{debug, info, warn};
|
use tracing::{debug, info, warn};
|
||||||
|
|
||||||
use super::{responses::build_stored_response, utils::generate_id};
|
use super::responses::build_stored_response;
|
||||||
use crate::{
|
use crate::{
|
||||||
data_connector::{
|
data_connector::{
|
||||||
Conversation, ConversationId, ConversationItemId, ConversationItemStorage,
|
Conversation, ConversationId, ConversationItemId, ConversationItemStorage,
|
||||||
ConversationStorage, ListParams, NewConversation, NewConversationItem, ResponseId,
|
ConversationStorage, ListParams, NewConversation, NewConversationItem, ResponseId,
|
||||||
ResponseStorage, SortOrder,
|
ResponseStorage, SortOrder,
|
||||||
},
|
},
|
||||||
protocols::responses::{ResponseInput, ResponsesRequest},
|
protocols::responses::{generate_id, ResponseInput, ResponsesRequest},
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Maximum number of properties allowed in conversation metadata
|
/// Maximum number of properties allowed in conversation metadata
|
||||||
|
|||||||
@@ -16,10 +16,12 @@ use serde_json::{json, to_value, Value};
|
|||||||
use tokio::sync::mpsc;
|
use tokio::sync::mpsc;
|
||||||
use tracing::{debug, info, warn};
|
use tracing::{debug, info, warn};
|
||||||
|
|
||||||
use super::utils::{event_types, generate_id};
|
use super::utils::event_types;
|
||||||
use crate::{
|
use crate::{
|
||||||
mcp,
|
mcp,
|
||||||
protocols::responses::{ResponseInput, ResponseTool, ResponseToolType, ResponsesRequest},
|
protocols::responses::{
|
||||||
|
generate_id, ResponseInput, ResponseTool, ResponseToolType, ResponsesRequest,
|
||||||
|
},
|
||||||
routers::header_utils::apply_request_headers,
|
routers::header_utils::apply_request_headers,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -52,8 +52,8 @@ use crate::{
|
|||||||
generate::GenerateRequest,
|
generate::GenerateRequest,
|
||||||
rerank::RerankRequest,
|
rerank::RerankRequest,
|
||||||
responses::{
|
responses::{
|
||||||
ResponseContentPart, ResponseInput, ResponseInputOutputItem, ResponsesGetParams,
|
generate_id, ResponseContentPart, ResponseInput, ResponseInputOutputItem,
|
||||||
ResponsesRequest,
|
ResponsesGetParams, ResponsesRequest,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
routers::header_utils::apply_request_headers,
|
routers::header_utils::apply_request_headers,
|
||||||
@@ -1034,10 +1034,7 @@ impl crate::routers::RouterTrait for OpenAIRouter {
|
|||||||
if item.get("id").is_none() {
|
if item.get("id").is_none() {
|
||||||
// Generate ID if not present using centralized utility
|
// Generate ID if not present using centralized utility
|
||||||
if let Some(obj) = item.as_object_mut() {
|
if let Some(obj) = item.as_object_mut() {
|
||||||
obj.insert(
|
obj.insert("id".to_string(), json!(generate_id("msg")));
|
||||||
"id".to_string(),
|
|
||||||
json!(super::utils::generate_id("msg")),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
item
|
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
|
// Re-export FunctionCallInProgress from mcp module
|
||||||
// ============================================================================
|
// ============================================================================
|
||||||
|
|||||||
Reference in New Issue
Block a user