Fix partial-move in Chat Completions session_cache_key mapping
Copy the cache key before moving ConversationRequest fields so ChatCompletionRequest::from compiles (E0382).
This commit is contained in:
@@ -108,15 +108,24 @@ index 7bd0cd870c5400ef4d3fb2ba6ce50cfc53ffd62c..db582daced370d89cc1158d5cbbf81b7
|
|||||||
#[test]
|
#[test]
|
||||||
fn prompt_cache_key_reaches_the_wire_only_where_the_backend_claims() {
|
fn prompt_cache_key_reaches_the_wire_only_where_the_backend_claims() {
|
||||||
diff --git a/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs b/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
diff --git a/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs b/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
||||||
index dac77d82f7f96836f5f4ed26f2e12eb13164e4f5..b80820fbbf3c96e348f44880c432361eb537817a 100644
|
index dac77d82f7f96836f5f4ed26f2e12eb13164e4f5..05a683317ae774f3ba674202ff12ae3ae50f56ec 100644
|
||||||
--- a/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
--- a/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
||||||
+++ b/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
+++ b/crates/codegen/xai-grok-sampling-types/src/conversation/chat_completions.rs
|
||||||
@@ -295,7 +295,7 @@ impl From<ConversationRequest> for ChatCompletionRequest {
|
@@ -251,6 +251,8 @@ impl From<ChatResponseMessage> for ConversationItem {
|
||||||
|
|
||||||
|
impl From<ConversationRequest> for ChatCompletionRequest {
|
||||||
|
fn from(req: ConversationRequest) -> Self {
|
||||||
|
+ // Copy before any field moves — `session_cache_key` borrows `req`.
|
||||||
|
+ let user = req.session_cache_key().map(str::to_owned);
|
||||||
|
let messages: Vec<ChatRequestMessage> = conversation_to_chat_messages(req.items);
|
||||||
|
|
||||||
|
let tools_is_empty = req.tools.is_empty();
|
||||||
|
@@ -295,7 +297,7 @@ impl From<ConversationRequest> for ChatCompletionRequest {
|
||||||
top_p: req.top_p,
|
top_p: req.top_p,
|
||||||
frequency_penalty: None,
|
frequency_penalty: None,
|
||||||
presence_penalty: None,
|
presence_penalty: None,
|
||||||
- user: None,
|
- user: None,
|
||||||
+ user: req.session_cache_key().map(str::to_owned),
|
+ user,
|
||||||
tools,
|
tools,
|
||||||
tool_choice,
|
tool_choice,
|
||||||
search_parameters: None,
|
search_parameters: None,
|
||||||
|
|||||||
Reference in New Issue
Block a user