pub enum AgentInput {
Text(String),
Message(Vec<ContentBlock>),
Resume {
continuation: Box<ContinuationEnvelope>,
tool_call_id: String,
confirmed: bool,
rejection_reason: Option<String>,
},
SubmitToolResults {
continuation: Box<ContinuationEnvelope>,
results: Vec<ExternalToolResult>,
},
Continue,
}Expand description
Input to start or resume an agent run.
Variants§
Text(String)
Start a new conversation with user text.
Message(Vec<ContentBlock>)
Start a new conversation with rich content (text, images, documents).
Resume
Resume after a confirmation decision.
Fields
continuation: Box<ContinuationEnvelope>The versioned continuation envelope from AwaitingConfirmation.
SubmitToolResults
Resume after external tool execution.
Use this after TurnOutcome::PendingToolCalls when
ToolRuntime::External is set. The caller must provide a result
for every pending tool call listed in the continuation.
The SDK validates the continuation envelope version, appends the tool results to the message store, and continues to the next LLM turn.
Fields
continuation: Box<ContinuationEnvelope>The versioned continuation from TurnOutcome::PendingToolCalls.
results: Vec<ExternalToolResult>One result per pending tool call. The order does not matter,
but every tool_call_id from the continuation must be covered.
Continue
Continue to the next turn (for single-turn mode).
Use this after TurnOutcome::NeedsMoreTurns to execute the next turn.
The message history already contains tool results from the previous turn.