pub async fn stream_completion(
    credential: ProviderCredential,
    executor: Arc<BackgroundExecutor>,
    request: Box<dyn CompletionRequest>
) -> Result<impl Stream<Item = Result<OpenAIResponseStreamEvent>>>