MCPcopy Index your code
hub / github.com/ChrisFeldmeier/OpenCodeRust / execute_streaming

Method execute_streaming

crates/opencode-agent/src/executor.rs:266–284  ·  view source on GitHub ↗
(
        &mut self,
        user_message: String,
    )

Source from the content-addressed store, hash-verified

264 }
265
266 pub async fn execute_streaming(
267 &mut self,
268 user_message: String,
269 ) -> Result<BoxStream<'static, Result<StreamEvent, AgentError>>, AgentError> {
270 self.conversation.add_user_message(user_message);
271
272 let provider = self.get_provider()?;
273 let model_id = self.get_model_id(&provider);
274 let request = ChatRequest::new(model_id, self.conversation.to_provider_messages());
275
276 let stream = provider
277 .chat_stream(request)
278 .await
279 .map_err(|e| AgentError::ProviderError(e.to_string()))?;
280
281 Ok(stream
282 .map(|r| r.map_err(|e| AgentError::ProviderError(e.to_string())))
283 .boxed())
284 }
285
286 fn get_provider(&self) -> Result<Arc<dyn Provider>, AgentError> {
287 if let Some(ref model_ref) = self.agent.model {

Callers 2

process_messageFunction · 0.80
generate_agent_responseFunction · 0.80

Calls 7

newFunction · 0.85
ProviderErrorEnum · 0.85
get_model_idMethod · 0.80
to_provider_messagesMethod · 0.80
add_user_messageMethod · 0.45
get_providerMethod · 0.45
chat_streamMethod · 0.45

Tested by

no test coverage detected