[codex] Propagate plugin app categories (#27420)

## What
- Parse optional `.app.json` `category` overrides for plugin apps.
- Add nullable `category` to `AppSummary` and `AppTemplateSummary` in
the app-server protocol.
- Fall back from `branding.category` to the first non-empty
`app_metadata.categories` value when building app/template summaries.
- Regenerate schema/type fixtures and update plugin read/install tests.

## Why
The plugin details UI needs a normalized per-app category. Some apps
only provide their default category in metadata, while others need a
local `.app.json` override.
This commit is contained in:
charlesgong-openai authored and GitHub committed 2026-06-11 10:34:41 -07:00
1 parent 52db447c77
commit eb76336f60
16 files changed
+445 -36

No files matched your search

@@ -1455,6 +1455,7 @@ pub(super) fn plugins_test_detail(
name: (*name).to_string(),
description: Some(format!("{name} app")),
install_url: Some(format!("https://example.test/{name}")),
category: None,
})
.collect(),
app_templates: Vec::new(),