mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
Add client-only web search result metadata
This commit is contained in:
@@ -54,6 +54,7 @@ use crate::exec_events::TurnFailedEvent;
|
||||
use crate::exec_events::TurnStartedEvent;
|
||||
use crate::exec_events::Usage;
|
||||
use crate::exec_events::WebSearchItem;
|
||||
use crate::exec_events::WebSearchResult;
|
||||
|
||||
pub struct EventProcessorWithJsonOutput {
|
||||
last_message_path: Option<PathBuf>,
|
||||
@@ -297,6 +298,7 @@ impl EventProcessorWithJsonOutput {
|
||||
id: raw_id,
|
||||
query,
|
||||
action,
|
||||
results,
|
||||
} => Some(ExecThreadItem {
|
||||
id: make_id(),
|
||||
details: ThreadItemDetails::WebSearch(WebSearchItem {
|
||||
@@ -309,6 +311,16 @@ impl EventProcessorWithJsonOutput {
|
||||
.unwrap_or(WebSearchAction::Other),
|
||||
None => WebSearchAction::Other,
|
||||
},
|
||||
results: results.map(|results| {
|
||||
results
|
||||
.into_iter()
|
||||
.map(|result| WebSearchResult {
|
||||
url: result.url,
|
||||
title: result.title,
|
||||
snippet: result.snippet,
|
||||
})
|
||||
.collect()
|
||||
}),
|
||||
}),
|
||||
}),
|
||||
_ => None,
|
||||
|
||||
@@ -296,6 +296,20 @@ pub struct WebSearchItem {
|
||||
pub id: String,
|
||||
pub query: String,
|
||||
pub action: WebSearchAction,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub results: Option<Vec<WebSearchResult>>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, TS)]
|
||||
pub struct WebSearchResult {
|
||||
pub url: String,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub title: Option<String>,
|
||||
#[serde(default, skip_serializing_if = "Option::is_none")]
|
||||
#[ts(optional)]
|
||||
pub snippet: Option<String>,
|
||||
}
|
||||
|
||||
/// An error notification.
|
||||
|
||||
@@ -138,6 +138,7 @@ pub use exec_events::TurnFailedEvent;
|
||||
pub use exec_events::TurnStartedEvent;
|
||||
pub use exec_events::Usage;
|
||||
pub use exec_events::WebSearchItem;
|
||||
pub use exec_events::WebSearchResult;
|
||||
use serde_json::Value;
|
||||
use std::collections::HashMap;
|
||||
use std::future::Future;
|
||||
|
||||
Reference in New Issue
Block a user