openai_rust_sdk/models/tools/
code_interpreter.rs

1//! Code interpreter tool configuration and types
2
3use crate::{De, Ser};
4
5/// Code interpreter configuration
6#[derive(Debug, Clone, Ser, De)]
7pub struct CodeInterpreterConfig {
8    /// Container mode: "auto" or "explicit"
9    #[serde(skip_serializing_if = "Option::is_none")]
10    pub container_mode: Option<crate::models::containers::ContainerMode>,
11
12    /// Container ID for explicit mode
13    #[serde(skip_serializing_if = "Option::is_none")]
14    pub container_id: Option<String>,
15
16    /// Container configuration for auto mode
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub container_config: Option<crate::models::containers::ContainerConfig>,
19
20    /// Programming language to use
21    #[serde(skip_serializing_if = "Option::is_none")]
22    pub language: Option<String>,
23
24    /// Maximum execution time in milliseconds
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub max_execution_time_ms: Option<u32>,
27
28    /// Available libraries/packages
29    #[serde(skip_serializing_if = "Option::is_none")]
30    pub libraries: Option<Vec<String>>,
31
32    /// File IDs accessible to the interpreter
33    #[serde(skip_serializing_if = "Option::is_none")]
34    pub file_ids: Option<Vec<String>>,
35
36    /// Whether to persist container after execution
37    #[serde(skip_serializing_if = "Option::is_none")]
38    pub persist_container: Option<bool>,
39
40    /// Whether to include file citations in responses
41    #[serde(skip_serializing_if = "Option::is_none")]
42    pub include_citations: Option<bool>,
43}