[codex] Add created-by-me remote plugin marketplace (#28203)

## Summary
- add the `created-by-me-remote` marketplace backed by paginated
`scope=USER` plugin directory and installed-plugin requests
- include USER plugins in installed-plugin caching, bundle sync, and
stale-cache cleanup without client-side discoverability filtering
- expose the marketplace through app-server v2 and regenerate the
protocol schemas

## Testing
- `cargo build -p codex-app-server --bin codex-app-server`
- production-auth `plugin/list` smoke test for `created-by-me-remote`
(returned the expected USER plugin as installed and enabled)
- `just test -p codex-core-plugins` (221 passed)
- `just test -p codex-app-server-protocol` (231 passed)
- `just test -p codex-app-server suite::v2::plugin_list::` (37 passed)
- `just fix -p codex-core-plugins -p codex-app-server-protocol -p
codex-app-server`
- `just fmt`
This commit is contained in:
Eric Ning
2026-06-15 22:07:07 +00:00
committed by GitHub
parent 040dafa32d
commit 709f19e111
15 changed files with 431 additions and 17 deletions
+2 -1
View File
@@ -1845,7 +1845,8 @@
"local",
"vertical",
"workspace-directory",
"shared-with-me"
"shared-with-me",
"created-by-me-remote"
],
"type": "string"
},
@@ -13135,7 +13135,8 @@
"local",
"vertical",
"workspace-directory",
"shared-with-me"
"shared-with-me",
"created-by-me-remote"
],
"type": "string"
},
@@ -9608,7 +9608,8 @@
"local",
"vertical",
"workspace-directory",
"shared-with-me"
"shared-with-me",
"created-by-me-remote"
],
"type": "string"
},
@@ -10,7 +10,8 @@
"local",
"vertical",
"workspace-directory",
"shared-with-me"
"shared-with-me",
"created-by-me-remote"
],
"type": "string"
}
@@ -2,4 +2,4 @@
// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
export type PluginListMarketplaceKind = "local" | "vertical" | "workspace-directory" | "shared-with-me";
export type PluginListMarketplaceKind = "local" | "vertical" | "workspace-directory" | "shared-with-me" | "created-by-me-remote";
@@ -165,6 +165,9 @@ pub enum PluginListMarketplaceKind {
#[serde(rename = "shared-with-me")]
#[ts(rename = "shared-with-me")]
SharedWithMe,
#[serde(rename = "created-by-me-remote")]
#[ts(rename = "created-by-me-remote")]
CreatedByMeRemote,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
@@ -2907,6 +2907,7 @@ fn plugin_list_params_serializes_marketplace_kind_filter() {
PluginListMarketplaceKind::Vertical,
PluginListMarketplaceKind::WorkspaceDirectory,
PluginListMarketplaceKind::SharedWithMe,
PluginListMarketplaceKind::CreatedByMeRemote,
]),
})
.unwrap(),
@@ -2917,6 +2918,7 @@ fn plugin_list_params_serializes_marketplace_kind_filter() {
"vertical",
"workspace-directory",
"shared-with-me",
"created-by-me-remote",
],
}),
);