jeevesagent.model.scripted

A test-only model that replays a fixed sequence of turns.

Each ScriptedTurn describes one model response: optional text followed by zero or more tool calls, terminated by a finish chunk. The model advances through the script with each call to stream(), which lets a single agent run() exercise multi-turn flows end-to-end.

Classes

ScriptedModel

Model that emits canned responses, one per call to stream().

ScriptedTurn

Module Contents

class jeevesagent.model.scripted.ScriptedModel(turns: list[ScriptedTurn])[source]

Model that emits canned responses, one per call to stream().

async complete(messages: list[jeevesagent.core.types.Message], *, tools: list[jeevesagent.core.types.ToolDef] | None = None, temperature: float = 1.0, max_tokens: int | None = None) tuple[str, list[jeevesagent.core.types.ToolCall], jeevesagent.core.types.Usage, str][source]

Single-shot replay of the next scripted turn.

Mirrors stream() but returns the turn’s text + tool_calls + usage in one tuple. Used by the non-streaming hot path (agent.run()); agent.stream() keeps using stream() for per-chunk replay.

async stream(messages: list[jeevesagent.core.types.Message], *, tools: list[jeevesagent.core.types.ToolDef] | None = None, temperature: float = 1.0, max_tokens: int | None = None) collections.abc.AsyncIterator[jeevesagent.core.types.ModelChunk][source]
name: str = 'scripted'
property remaining: int
class jeevesagent.model.scripted.ScriptedTurn[source]
text: str = ''
tool_calls: list[jeevesagent.core.types.ToolCall] = []
usage: jeevesagent.core.types.Usage