Skip to main content

roder_api/
provider_capabilities.rs

1use serde::{Deserialize, Serialize};
2
3/// Provider-owned ceilings for OpenAI-compatible Responses endpoints.
4/// Omitted settings retain the endpoint's built-in defaults.
5#[derive(Debug, Default, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
6#[serde(deny_unknown_fields)]
7pub struct ResponsesProviderCapabilities {
8    #[serde(default, skip_serializing_if = "Option::is_none")]
9    pub remote_compaction: Option<RemoteCompaction>,
10    /// Whether hosted search may fetch live external content. `false` limits
11    /// search to cached results; it cannot enable search disabled by the caller.
12    #[serde(default, skip_serializing_if = "Option::is_none")]
13    pub external_web_access: Option<bool>,
14}
15
16#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
17#[serde(rename_all = "snake_case")]
18pub enum RemoteCompaction {
19    Unsupported,
20    V2,
21}