pub struct NativeTurnInput {
pub prompt_text: String,
pub system_prompt: Option<String>,
pub attachments: Vec<UserAttachment>,
pub cancel_token: Option<CancellationToken>,
pub prior_messages: Vec<ChatMessage>,
pub context_path: Option<PathBuf>,
}Fields§
§prompt_text: StringThe user-facing prompt that triggered this turn. Lands as the first
ChatMessage::User.content the model sees.
system_prompt: Option<String>Pre-composed system prompt (e.g. spec_snapshot.system_prompt +
driver.append_system_prompt). None ⇒ no system message sent.
attachments: Vec<UserAttachment>Non-text attachments lifted from the inbound UserMessagePayload
content blocks. Empty Vec ⇒ pure-text prompt. Lands on the first
ChatMessage::User.attachments so each provider’s projection
can render them as image / file content blocks.
cancel_token: Option<CancellationToken>Optional cancellation handle. When fired, the harness loop
short-circuits at the next stream-chunk await (or before the
next step starts) and emits TurnEnd { stop_reason: "interrupt" }.
None ⇒ harness cannot be cancelled mid-flight (fine for tests
and for fire-and-forget turns); production wires this through
from RD’s active_native_cancel.
prior_messages: Vec<ChatMessage>Prior messages history for in-memory mode (context_path = None).
Ignored when context_path is Some — harness loads history from
the JSONL file instead.
Empty Vec + context_path = None = fresh in-memory conversation.
context_path: Option<PathBuf>Absolute path to harness’s context JSONL.
-
Some(path)— persistent mode: harness loads prior messages from this file at turn start (creating it on first use), appends new messages incrementally, and rewrites it on compaction.prior_messagesis ignored.TurnEnd.final_messagesis empty. -
None— in-memory mode:prior_messagesis used as the seed; harness never touches the filesystem.TurnEnd.final_messagescarries the full history snapshot for the caller to persist. Suitable for runtime-driver (manages history in RAM) and tests.
Trait Implementations§
Source§impl Clone for NativeTurnInput
impl Clone for NativeTurnInput
Source§fn clone(&self) -> NativeTurnInput
fn clone(&self) -> NativeTurnInput
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more