mirror of
https://github.com/openai/codex.git
synced 2026-11-10 21:00:47 +00:00
Expose plugin installation interstitial requirements (#33896)
## What changed - Add nullable `mustShowInstallationInterstitial` metadata to app-server `PluginSummary` responses. - Preserve the remote service value through catalog, installed-plugin cache, list, read, and share-list paths. - Return `null` for local plugins and remote responses that omit the field so clients can fail closed when the policy is unavailable. ## Testing - Cover `true`, `false`, and missing values across remote summary paths and app-server plugin endpoints. GitOrigin-RevId: db79702ee2bfa800a9910d64d933bcabecb3ce70
This commit is contained in:
@@ -625,6 +625,8 @@ pub struct PluginSummary {
|
||||
pub enabled: bool,
|
||||
pub install_policy: PluginInstallPolicy,
|
||||
pub install_policy_source: Option<PluginInstallPolicySource>,
|
||||
#[serde(default)]
|
||||
pub must_show_installation_interstitial: Option<bool>,
|
||||
pub auth_policy: PluginAuthPolicy,
|
||||
/// Availability state for installing and using the plugin.
|
||||
#[serde(default)]
|
||||
|
||||
@@ -3680,6 +3680,7 @@ fn plugin_share_list_response_serializes_share_items() {
|
||||
enabled: false,
|
||||
install_policy: PluginInstallPolicy::Available,
|
||||
install_policy_source: Some(PluginInstallPolicySource::WorkspaceSetting),
|
||||
must_show_installation_interstitial: None,
|
||||
auth_policy: PluginAuthPolicy::OnUse,
|
||||
availability: PluginAvailability::Available,
|
||||
interface: None,
|
||||
@@ -3703,6 +3704,7 @@ fn plugin_share_list_response_serializes_share_items() {
|
||||
"enabled": false,
|
||||
"installPolicy": "AVAILABLE",
|
||||
"installPolicySource": "WORKSPACE_SETTING",
|
||||
"mustShowInstallationInterstitial": null,
|
||||
"authPolicy": "ON_USE",
|
||||
"availability": "AVAILABLE",
|
||||
"interface": null,
|
||||
@@ -3731,6 +3733,7 @@ fn plugin_summary_defaults_missing_availability_to_available() {
|
||||
assert_eq!(summary.availability, PluginAvailability::Available);
|
||||
assert_eq!(summary.local_version, None);
|
||||
assert_eq!(summary.share_context, None);
|
||||
assert_eq!(summary.must_show_installation_interstitial, None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user