Render Codex web searches as common tools
This commit is contained in:
1 parent
6226a1cb43
commit
57e1cec09c
2 files changed
+18
-1
No files matched your search
@@ -59,6 +59,9 @@ private val SUBJECTS: Map<String, Pair<String, Language?>> =
|
||||
"Glob" to ("pattern" to null),
|
||||
"Grep" to ("pattern" to null),
|
||||
"WebFetch" to ("url" to null),
|
||||
"WebSearch" to ("query" to null),
|
||||
// Persisted transcripts keep the provider vocabulary they were written with.
|
||||
"web_search" to ("query" to null),
|
||||
)
|
||||
|
||||
/** Fields that are the tool's own prose about itself rather than input to it. */
|
||||
|
||||
@@ -268,7 +268,7 @@ fn tool(item: &Value) -> Option<(String, String, Value)> {
|
||||
json!({"path": item.get("path").cloned().unwrap_or(Value::Null)}),
|
||||
),
|
||||
"web_search" | "webSearch" => (
|
||||
"web_search".to_string(),
|
||||
"WebSearch".to_string(),
|
||||
json!({"query": item.get("query").cloned().unwrap_or(Value::Null)}),
|
||||
),
|
||||
"todo_list" | "todoList" | "plan" => ("update_plan".to_string(), item.clone()),
|
||||
@@ -611,6 +611,20 @@ mod tests {
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn web_search_uses_the_common_tool_shape() {
|
||||
assert_eq!(
|
||||
tool(&line(
|
||||
r#"{"id":"search-1","type":"webSearch","query":"Codex app-server protocol"}"#,
|
||||
)),
|
||||
Some((
|
||||
"search-1".to_string(),
|
||||
"WebSearch".to_string(),
|
||||
json!({"query": "Codex app-server protocol"})
|
||||
))
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn a_file_change_becomes_the_common_patch_shape() {
|
||||
let mut translator = Translator::default();
|
||||
|
||||
Reference in new issue
Block a user