#[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
FileSearch
Computer
ComputerUsePreview
WebSearch
Fields
§
filters: Option<WebSearchFilters>§
search_context_size: Option<SearchContextSize>§
user_location: Option<WebSearchUserLocation>WebSearch20250826
Fields
§
filters: Option<WebSearchFilters>§
search_context_size: Option<SearchContextSize>§
user_location: Option<WebSearchUserLocation>XSearch
CollectionsSearch
Mcp
Fields
§
allowed_tools: Option<McpAllowedTools>§
connector_id: Option<McpConnectorId>§
require_approval: Option<McpRequireApproval>§
allowed_callers: Option<Vec<ToolCaller>>CodeExecution
CodeInterpreter
ImageGeneration
Fields
§
action: Option<ImageGenerationAction>§
background: Option<ImageBackground>§
input_fidelity: Option<ImageInputFidelity>§
model: Option<OpenAiModelId>§
moderation: Option<ImageModeration>§
output_format: Option<ImageOutputFormat>§
quality: Option<ImageEditQuality>LocalShell
Shell
Custom
Namespace
ToolSearch
Fields
§
execution: Option<ToolSearchExecution>ProgrammaticToolCalling
WebSearchPreview
Fields
§
search_content_types: Option<Vec<SearchContentType>>§
search_context_size: Option<SearchContextSize>§
user_location: Option<WebSearchPreviewUserLocation>WebSearchPreview20250311
Fields
§
search_content_types: Option<Vec<SearchContentType>>§
search_context_size: Option<SearchContextSize>§
user_location: Option<WebSearchPreviewUserLocation>ApplyPatch
Trait Implementations§
Source§impl Clone for ResponseTool
impl Clone for ResponseTool
Source§fn clone(&self) -> ResponseTool
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)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ResponseTool
impl Debug for ResponseTool
Source§impl<'de> Deserialize<'de> for ResponseTool
impl<'de> Deserialize<'de> for ResponseTool
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 PartialEq for ResponseTool
impl PartialEq for ResponseTool
Source§impl Serialize for ResponseTool
impl Serialize for ResponseTool
impl StructuralPartialEq for ResponseTool
Auto Trait Implementations§
impl Freeze for ResponseTool
impl RefUnwindSafe for ResponseTool
impl Send for ResponseTool
impl Sync for ResponseTool
impl Unpin for ResponseTool
impl UnsafeUnpin for ResponseTool
impl UnwindSafe for ResponseTool
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