use crate::{agent::StreamingPromptRequest, completion::Message};
use rig_core::wasm_compat::{WasmCompatSend, WasmCompatSync};
pub use rig_core::streaming::*;
pub trait StreamingPrompt {
fn stream_prompt(&self, prompt: impl Into<Message> + WasmCompatSend) -> StreamingPromptRequest;
}
pub trait StreamingChat: WasmCompatSend + WasmCompatSync {
fn stream_chat<I, T>(
&self,
prompt: impl Into<Message> + WasmCompatSend,
chat_history: I,
) -> StreamingPromptRequest
where
I: IntoIterator<Item = T> + WasmCompatSend,
T: Into<Message>;
}