MCPcopy Create free account
hub / github.com/ChrisFeldmeier/OpenCodeRust / convert_request

Method convert_request

crates/opencode-provider/src/gitlab.rs:86–119  ·  view source on GitHub ↗
(&self, request: ChatRequest)

Source from the content-addressed store, hash-verified

84 }
85
86 fn convert_request(&self, request: ChatRequest) -> GitLabRequest {
87 let messages: Vec<GitLabMessage> = request
88 .messages
89 .into_iter()
90 .map(|msg| GitLabMessage {
91 role: match msg.role {
92 Role::System => "system".to_string(),
93 Role::User => "user".to_string(),
94 Role::Assistant => "assistant".to_string(),
95 Role::Tool => "user".to_string(),
96 },
97 content: match msg.content {
98 Content::Text(t) => GitLabContent::Text(t),
99 Content::Parts(parts) => {
100 let text = parts
101 .iter()
102 .filter_map(|p| p.text.as_ref())
103 .cloned()
104 .collect::<Vec<_>>()
105 .join("\n");
106 GitLabContent::Text(text)
107 }
108 },
109 })
110 .collect();
111
112 GitLabRequest {
113 model: request.model,
114 messages,
115 max_tokens: request.max_tokens,
116 temperature: request.temperature,
117 stream: false,
118 }
119 }
120}
121
122#[async_trait]

Callers 2

chatMethod · 0.45
chat_streamMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected