[codex] Add installed-plugin mention API#22448
Conversation
a5cba27 to
5b08045
Compare
Stacked on #22448. This moves the broader follow-up behavior out of the parent PR so the parent stays focused on the `plugin/installed` mention-list API. Changes: - Start remote installed bundle sync from `plugin/installed`. - Pass request-processor remote scopes into the bundle sync path. - Include remote installed scopes in effective plugin load cache handling. - Keep the bundle sync coverage in this child PR instead of the parent. Validation: - `cargo check -p codex-core-plugins` - `cargo check -p codex-app-server` - `cargo test -p codex-core-plugins remote_installed_plugin` - `env RUST_MIN_STACK=16777216 cargo test -p codex-app-server --test all plugin_installed_` - `just fix -p codex-core-plugins` - `just fix -p codex-app-server`
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ed7215b552
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Now that bundle sync can be scoped, the in-flight guard still keys only by cache root. If a Global-only sync is running (for example from startup or plugin/list) and plugin/installed requests Workspace before it finishes, this returns early and drops the workspace sync entirely; the workspace metadata may be cached, but its local bundle is never downloaded until another later trigger.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
With the new scoped bundle sync, the in-flight key still only includes the cache root. If a global-only sync is already running and a workspace-scoped plugin/installed or plugin-list refresh arrives, mark_remote_installed_plugin_bundle_sync_in_flight returns false and the workspace sync is dropped rather than queued or merged, so workspace installed plugin bundles may never be downloaded until some later unrelated trigger. The de-dupe key or scheduler needs to account for requested scopes.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
e485f27 to
abde2ca
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 4dbcac0e39
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
9c41618 to
4dbcac0
Compare
Summary
plugin/installedfor mention-oriented plugin loadingWhy
The
@mention surface only needs plugins that are usable now, plus a small product-approved set of install suggestions. It does not need the full catalog-shapedplugin/listpayload that the Plugins page uses.Validation
just write-app-server-schemajust fmtcargo test -p codex-app-server-protocolcargo test -p codex-core-pluginscargo test -p codex-app-server --test all plugin_installed_Notes
cargo test -p codex-app-serverrun still hits an existing unrelated stack overflow inin_process::tests::in_process_start_clamps_zero_channel_capacity.