Skip to main content

ResponseTool

Enum ResponseTool 

Source
#[non_exhaustive]
pub enum ResponseTool {
Show 21 variants Function { name: String, parameters: JsonSchema, strict: Option<bool>, defer_loading: Option<bool>, description: Option<String>, allowed_callers: Option<Vec<ToolCaller>>, extra: Extra, }, FileSearch { vector_store_ids: Vec<String>, filters: Option<FileSearchFilter>, max_num_results: Option<u32>, ranking_options: Option<FileSearchRankingOptions>, extra: Extra, }, Computer { extra: Extra, }, ComputerUsePreview { display_height: u32, display_width: u32, environment: ComputerUseEnvironment, extra: Extra, }, WebSearch { filters: Option<WebSearchFilters>, search_context_size: Option<SearchContextSize>, user_location: Option<WebSearchUserLocation>, extra: Extra, }, WebSearch20250826 { filters: Option<WebSearchFilters>, search_context_size: Option<SearchContextSize>, user_location: Option<WebSearchUserLocation>, extra: Extra, }, XSearch { extra: Extra, }, CollectionsSearch { vector_store_ids: Vec<String>, extra: Extra, }, Mcp { server_label: String, allowed_tools: Option<McpAllowedTools>, authorization: Option<String>, connector_id: Option<McpConnectorId>, defer_loading: Option<bool>, headers: Option<BTreeMap<String, String>>, require_approval: Option<McpRequireApproval>, server_description: Option<String>, server_url: Option<String>, tunnel_id: Option<String>, allowed_callers: Option<Vec<ToolCaller>>, extra: Extra, }, CodeExecution { extra: Extra, }, CodeInterpreter { container: CodeInterpreterContainer, allowed_callers: Option<Vec<ToolCaller>>, extra: Extra, }, ImageGeneration { action: Option<ImageGenerationAction>, background: Option<ImageBackground>, input_fidelity: Option<ImageInputFidelity>, input_image_mask: Option<ImageMask>, model: Option<OpenAiModelId>, moderation: Option<ImageModeration>, output_compression: Option<u32>, output_format: Option<ImageOutputFormat>, partial_images: Option<u32>, quality: Option<ImageEditQuality>, size: Option<ResponseImageGenerationSize>, extra: Extra, }, LocalShell { extra: Extra, }, Shell { environment: Option<ResponseShellEnvironment>, allowed_callers: Option<Vec<ToolCaller>>, extra: Extra, }, Custom { name: String, defer_loading: Option<bool>, description: Option<String>, format: Option<CustomToolInputFormat>, allowed_callers: Option<Vec<ToolCaller>>, extra: Extra, }, Namespace { description: String, name: String, tools: Vec<ResponseNamespaceTool>, extra: Extra, }, ToolSearch { description: Option<String>, execution: Option<ToolSearchExecution>, parameters: Option<Value>, extra: Extra, }, ProgrammaticToolCalling { extra: Extra, }, WebSearchPreview { search_content_types: Option<Vec<SearchContentType>>, search_context_size: Option<SearchContextSize>, user_location: Option<WebSearchPreviewUserLocation>, extra: Extra, }, WebSearchPreview20250311 { search_content_types: Option<Vec<SearchContentType>>, search_context_size: Option<SearchContextSize>, user_location: Option<WebSearchPreviewUserLocation>, extra: Extra, }, ApplyPatch { allowed_callers: Option<Vec<ToolCaller>>, extra: Extra, },
}

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Function

Fields

§name: String
§parameters: JsonSchema
§strict: Option<bool>
§defer_loading: Option<bool>
§description: Option<String>
§allowed_callers: Option<Vec<ToolCaller>>
§extra: Extra
§

FileSearch

Fields

§vector_store_ids: Vec<String>
§max_num_results: Option<u32>
§extra: Extra
§

Computer

Fields

§extra: Extra
§

ComputerUsePreview

Fields

§display_height: u32
§display_width: u32
§extra: Extra
§

WebSearch

Fields

§search_context_size: Option<SearchContextSize>
§extra: Extra
§

WebSearch20250826

Fields

§search_context_size: Option<SearchContextSize>
§extra: Extra
§

XSearch

Fields

§extra: Extra
§

CollectionsSearch

Fields

§vector_store_ids: Vec<String>
§extra: Extra
§

Mcp

Fields

§server_label: String
§allowed_tools: Option<McpAllowedTools>
§authorization: Option<String>
§connector_id: Option<McpConnectorId>
§defer_loading: Option<bool>
§require_approval: Option<McpRequireApproval>
§server_description: Option<String>
§server_url: Option<String>
§tunnel_id: Option<String>
§allowed_callers: Option<Vec<ToolCaller>>
§extra: Extra
§

CodeExecution

Fields

§extra: Extra
§

CodeInterpreter

Fields

§allowed_callers: Option<Vec<ToolCaller>>
§extra: Extra
§

ImageGeneration

Fields

§input_fidelity: Option<ImageInputFidelity>
§input_image_mask: Option<ImageMask>
§output_compression: Option<u32>
§output_format: Option<ImageOutputFormat>
§partial_images: Option<u32>
§extra: Extra
§

LocalShell

Fields

§extra: Extra
§

Shell

Fields

§allowed_callers: Option<Vec<ToolCaller>>
§extra: Extra
§

Custom

Fields

§name: String
§defer_loading: Option<bool>
§description: Option<String>
§allowed_callers: Option<Vec<ToolCaller>>
§extra: Extra
§

Namespace

Fields

§description: String
§name: String
§extra: Extra
§

ToolSearch

Fields

§description: Option<String>
§parameters: Option<Value>
§extra: Extra
§

ProgrammaticToolCalling

Fields

§extra: Extra
§

WebSearchPreview

Fields

§search_content_types: Option<Vec<SearchContentType>>
§search_context_size: Option<SearchContextSize>
§extra: Extra
§

WebSearchPreview20250311

Fields

§search_content_types: Option<Vec<SearchContentType>>
§search_context_size: Option<SearchContextSize>
§extra: Extra
§

ApplyPatch

Fields

§allowed_callers: Option<Vec<ToolCaller>>
§extra: Extra

Trait Implementations§

Source§

impl Clone for ResponseTool

Source§

fn clone(&self) -> ResponseTool

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ResponseTool

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ResponseTool

Source§

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 PartialEq for ResponseTool

Source§

fn eq(&self, other: &ResponseTool) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for ResponseTool

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for ResponseTool

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.