Expose plugin eligibility metadata in app-server summaries (#35837)

## What changed

- Add nullable `disabledReason` and `eligiblePlanTypes` fields to v2
  `PluginSummary` responses and generated schemas.
- Preserve the remote catalog values across discovered, installed, and cached
  plugin summary paths while returning `null` for local plugins and older
  remote responses.
- Treat unrecognized disabled reasons as `unknown` for forward compatibility.

## Testing

- Cover protocol round trips, remote summary propagation, unknown disabled
  reasons, and app-server responses for admin-disabled and plan-ineligible
  plugins.

GitOrigin-RevId: 657a7ea6f838a6ff8bd1769ebcca0f3432684437
This commit is contained in:
Eric Ning authored and copyberry committed 2026-07-28 22:28:08 +00:00
1 parent c550cb3e01
commit 12b961d4c5
21 files changed
+472 -63

No files matched your search

@@ -1360,6 +1360,8 @@ pub(super) fn plugins_test_summary(
must_show_installation_interstitial: None,
auth_policy: PluginAuthPolicy::OnInstall,
availability: PluginAvailability::Available,
disabled_reason: None,
eligible_plan_types: None,
interface: Some(plugins_test_interface(
display_name,
description,
@@ -1391,6 +1393,8 @@ pub(super) fn plugins_test_remote_summary(
must_show_installation_interstitial: None,
auth_policy: PluginAuthPolicy::OnInstall,
availability: PluginAvailability::Available,
disabled_reason: None,
eligible_plan_types: None,
interface: Some(plugins_test_interface(
display_name,
description,