@@ -223,6 +223,47 @@ impl Default for GitbooksConfig {
223223 }
224224}
225225
226+ #[ derive( Debug , Clone , Serialize , Deserialize , JsonSchema ) ]
227+ #[ serde( default ) ]
228+ pub struct SeltzConfig {
229+ /// When `true`, register `seltz_search` as an agent tool.
230+ #[ serde( default ) ]
231+ pub enabled : bool ,
232+ /// Seltz API key. Can also be set via `SELTZ_API_KEY` or
233+ /// `OPENHUMAN_SELTZ_API_KEY` env var.
234+ #[ serde( default ) ]
235+ pub api_key : Option < String > ,
236+ /// Override the Seltz API base URL (default: `https://api.seltz.ai/v1`).
237+ #[ serde( default ) ]
238+ pub api_url : Option < String > ,
239+ /// Max results per query (1–20, default 10).
240+ #[ serde( default = "default_seltz_max_results" ) ]
241+ pub max_results : usize ,
242+ /// Per-request timeout in seconds (default 15).
243+ #[ serde( default = "default_seltz_timeout_secs" ) ]
244+ pub timeout_secs : u64 ,
245+ }
246+
247+ fn default_seltz_max_results ( ) -> usize {
248+ 10
249+ }
250+
251+ fn default_seltz_timeout_secs ( ) -> u64 {
252+ 15
253+ }
254+
255+ impl Default for SeltzConfig {
256+ fn default ( ) -> Self {
257+ Self {
258+ enabled : false ,
259+ api_key : None ,
260+ api_url : None ,
261+ max_results : default_seltz_max_results ( ) ,
262+ timeout_secs : default_seltz_timeout_secs ( ) ,
263+ }
264+ }
265+ }
266+
226267#[ derive( Debug , Clone , Serialize , Deserialize , JsonSchema ) ]
227268#[ serde( default ) ]
228269pub struct WebSearchConfig {
0 commit comments