pub struct Scripted { /* private fields */ }Expand description
The honest “second impl” (D9): a scripted provider driving the real engine
in tests. Each stream() call pops the next script.
Implementations§
Source§impl ScriptedProvider
impl ScriptedProvider
pub fn new( scripts: Vec<Vec<Result<StreamEvent, ProviderError>>>, ) -> ScriptedProvider
Sourcepub fn requests(&self) -> Vec<SamplingRequest>
pub fn requests(&self) -> Vec<SamplingRequest>
Every captured request. Cheap since a request’s history/tools are
shared (Arc) — the clone copies pointers, not items.
Sourcepub fn last_request(&self) -> Option<SamplingRequest>
pub fn last_request(&self) -> Option<SamplingRequest>
The most recent request, if any.
pub fn request_count(&self) -> usize
Sourcepub fn push_script(&self, script: Vec<Result<StreamEvent, ProviderError>>)
pub fn push_script(&self, script: Vec<Result<StreamEvent, ProviderError>>)
Append a script after construction (tests that need the harness’s paths before the scripts can be written).
Sourcepub fn text_reply(text: &str) -> Vec<Result<StreamEvent, ProviderError>>
pub fn text_reply(text: &str) -> Vec<Result<StreamEvent, ProviderError>>
Convenience: a one-sample script that answers with plain text.
Sourcepub fn tool_call(
id: &str,
name: &str,
input: Value,
) -> Vec<Result<StreamEvent, ProviderError>>
pub fn tool_call( id: &str, name: &str, input: Value, ) -> Vec<Result<StreamEvent, ProviderError>>
Convenience: a sample that calls one tool.
Trait Implementations§
Source§impl Provider for ScriptedProvider
impl Provider for ScriptedProvider
fn stream( &self, req: SamplingRequest, ) -> Pin<Box<dyn Stream<Item = Result<StreamEvent, ProviderError>> + Send>>
Auto Trait Implementations§
impl !Freeze for ScriptedProvider
impl RefUnwindSafe for ScriptedProvider
impl Send for ScriptedProvider
impl Sync for ScriptedProvider
impl Unpin for ScriptedProvider
impl UnsafeUnpin for ScriptedProvider
impl UnwindSafe for ScriptedProvider
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more