pub struct AgentBase {
pub upstream: Upstream,
pub model: String,
pub output_mode: OutputMode,
pub effort: Option<Effort>,
pub web_search_enabled: Option<bool>,
pub prefix_content: Option<RichContent>,
pub suffix_content: Option<RichContent>,
pub mcp_servers: Option<McpServers>,
}Expand description
The base configuration for a Codex SDK Agent (without computed ID).
Fields§
§upstream: UpstreamThe upstream provider marker.
model: StringThe upstream language model identifier (e.g. gpt-5).
output_mode: OutputModeThe output mode for vector completions. Ignored for agent completions.
effort: Option<Effort>Reasoning effort — maps to Codex’s model_reasoning_effort.
web_search_enabled: Option<bool>Whether this agent may use the codex binary’s web-search tool.
prefix_content: Option<RichContent>Rich content prepended to the user’s prompt.
suffix_content: Option<RichContent>Rich content appended after the user’s prompt.
mcp_servers: Option<McpServers>MCP servers the agent can connect to.
Implementations§
Source§impl AgentBase
impl AgentBase
Sourcepub fn merged_messages(&self, messages: Vec<Message>) -> Vec<Message>
pub fn merged_messages(&self, messages: Vec<Message>) -> Vec<Message>
Returns prefix content (if set) as a user message, then the provided messages, then suffix content (if set) as a user message. Codex has no native system role; system-prompt-style instructions belong on the user message itself or in the calling layer’s input rendering.
Trait Implementations§
Source§impl<'arbitrary> Arbitrary<'arbitrary> for AgentBase
impl<'arbitrary> Arbitrary<'arbitrary> for AgentBase
Source§fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary(u: &mut Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
fn arbitrary_take_rest(u: Unstructured<'arbitrary>) -> Result<Self>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn size_hint(depth: usize) -> (usize, Option<usize>)
fn size_hint(depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§impl<'de> Deserialize<'de> for AgentBase
impl<'de> Deserialize<'de> for AgentBase
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl JsonSchema for AgentBase
impl JsonSchema for AgentBase
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreimpl StructuralPartialEq for AgentBase
Auto Trait Implementations§
impl Freeze for AgentBase
impl RefUnwindSafe for AgentBase
impl Send for AgentBase
impl Sync for AgentBase
impl Unpin for AgentBase
impl UnsafeUnpin for AgentBase
impl UnwindSafe for AgentBase
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more