mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
[plugins] Enforce marketplace source policy at runtime (#29691)
## Summary - project effective marketplace/plugin config through the enterprise source policy so blocked installed plugins become inactive - filter plugin list/read/discovery and CLI marketplace source/snapshot reporting using the same policy - enforce source admission for background marketplace cache refreshes - continue refreshing/upgrading independent marketplaces and plugins when one entry fails, returning per-entry errors - include policy-projected plugin state in cache and refresh keys so requirement changes invalidate stale results ## Stack This is PR 2 of 2 and is based on #29690. Review the admission model and source matcher in #29690 first; this PR contains only runtime enforcement. ## Test plan - `just test -p codex-core-plugins` (287 tests) - `just test -p codex-cli plugin_list_ignores_implicit_system_marketplace_roots_without_manifests` - `cargo check -p codex-cli -p codex-app-server --tests`
This commit is contained in:
committed by
GitHub
Unverified
parent
e2398d0b16
commit
9dbdb4e2c0
@@ -205,6 +205,7 @@ fn setup_local_marketplace_with_implicit_system_roots() -> Result<(TempDir, Temp
|
||||
let cache_home = TempDir::new()?;
|
||||
let runtime_root = cache_home
|
||||
.path()
|
||||
.join(".cache")
|
||||
.join("codex-runtimes")
|
||||
.join("codex-primary-runtime")
|
||||
.join("plugins")
|
||||
@@ -844,7 +845,8 @@ async fn plugin_list_ignores_implicit_system_marketplace_roots_without_manifests
|
||||
let (codex_home, source, cache_home) = setup_local_marketplace_with_implicit_system_roots()?;
|
||||
|
||||
codex_command(codex_home.path())?
|
||||
.env("XDG_CACHE_HOME", cache_home.path())
|
||||
.env("HOME", cache_home.path())
|
||||
.env("USERPROFILE", cache_home.path())
|
||||
.args(["plugin", "list"])
|
||||
.assert()
|
||||
.success()
|
||||
|
||||
Reference in New Issue
Block a user