chore(config) rm tools.view_image (#22501)

## Summary
It appears this config flag has been broken/a noop for quite some time:
since https://github.com/openai/codex/pull/8850. Let's simplify and get
rid of this.

## Testing
- [x] Updated unit tests
This commit is contained in:
Dylan Hurd
2026-05-13 12:35:37 -07:00
committed by GitHub
Unverified
parent d18a7c982e
commit 9c691b74d6
11 changed files with 3 additions and 60 deletions
@@ -17693,12 +17693,6 @@
},
"ToolsV2": {
"properties": {
"view_image": {
"type": [
"boolean",
"null"
]
},
"web_search": {
"anyOf": [
{
@@ -15517,12 +15517,6 @@
},
"ToolsV2": {
"properties": {
"view_image": {
"type": [
"boolean",
"null"
]
},
"web_search": {
"anyOf": [
{
@@ -748,12 +748,6 @@
},
"ToolsV2": {
"properties": {
"view_image": {
"type": [
"boolean",
"null"
]
},
"web_search": {
"anyOf": [
{
@@ -3,4 +3,4 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { WebSearchToolConfig } from "../WebSearchToolConfig";
export type ToolsV2 = { web_search: WebSearchToolConfig | null, view_image: boolean | null, };
export type ToolsV2 = { web_search: WebSearchToolConfig | null, };
@@ -228,7 +228,6 @@ pub struct Profile {
#[serde(rename_all = "camelCase")]
pub struct Tools {
pub web_search: Option<bool>,
pub view_image: Option<bool>,
}
#[derive(Deserialize, Debug, Clone, PartialEq, Serialize, JsonSchema, TS)]
@@ -120,7 +120,6 @@ pub struct SandboxWorkspaceWrite {
#[ts(export_to = "v2/")]
pub struct ToolsV2 {
pub web_search: Option<WebSearchToolConfig>,
pub view_image: Option<bool>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS, ExperimentalApi)]
@@ -101,9 +101,6 @@ model = "gpt-user"
[tools.web_search]
context_size = "low"
allowed_domains = ["example.com"]
[tools]
view_image = false
"#,
)?;
let codex_home_path = codex_home.path().canonicalize()?;
@@ -138,7 +135,6 @@ view_image = false
allowed_domains: Some(vec!["example.com".to_string()]),
location: None,
}),
view_image: Some(false),
}
);
assert_eq!(
@@ -159,13 +155,6 @@ view_image = false
file: user_file.clone(),
}
);
assert_eq!(
origins.get("tools.view_image").expect("origin").name,
ConfigLayerSource::User {
file: user_file.clone(),
}
);
let layers = layers.expect("layers present");
assert_layers_user_then_optional_system(&layers, user_file)?;
-5
View File
@@ -598,10 +598,6 @@ pub struct ToolsToml {
deserialize_with = "deserialize_optional_web_search_tool_config"
)]
pub web_search: Option<WebSearchToolConfig>,
/// Enable the `view_image` tool that lets the agent attach local images.
#[serde(default)]
pub view_image: Option<bool>,
}
#[derive(Deserialize)]
@@ -679,7 +675,6 @@ impl From<ToolsToml> for Tools {
fn from(tools_toml: ToolsToml) -> Self {
Self {
web_search: tools_toml.web_search.is_some().then_some(true),
view_image: tools_toml.view_image,
}
}
}
-1
View File
@@ -61,7 +61,6 @@ pub struct ConfigProfile {
pub include_environment_context: Option<bool>,
pub experimental_use_unified_exec_tool: Option<bool>,
pub experimental_use_freeform_apply_patch: Option<bool>,
pub tools_view_image: Option<bool>,
pub tools: Option<ToolsToml>,
pub web_search: Option<WebSearchMode>,
pub analytics: Option<AnalyticsConfigToml>,
-8
View File
@@ -685,9 +685,6 @@
"tools": {
"$ref": "#/definitions/ToolsToml"
},
"tools_view_image": {
"type": "boolean"
},
"tui": {
"allOf": [
{
@@ -2504,11 +2501,6 @@
"ToolsToml": {
"additionalProperties": false,
"properties": {
"view_image": {
"default": null,
"description": "Enable the `view_image` tool that lets the agent attach local images.",
"type": "boolean"
},
"web_search": {
"allOf": [
{
+2 -14
View File
@@ -376,13 +376,7 @@ web_search = true
)
.expect("TOML deserialization should succeed");
assert_eq!(
cfg.tools,
Some(ToolsToml {
web_search: None,
view_image: None,
})
);
assert_eq!(cfg.tools, Some(ToolsToml { web_search: None }));
}
#[test]
@@ -395,13 +389,7 @@ web_search = false
)
.expect("TOML deserialization should succeed");
assert_eq!(
cfg.tools,
Some(ToolsToml {
web_search: None,
view_image: None,
})
);
assert_eq!(cfg.tools, Some(ToolsToml { web_search: None }));
}
#[test]