Skip to content

[codex] Add installed-plugin mention API#22448

Merged
xli-oai merged 51 commits into
mainfrom
xli-codex/plugin-installed-mentions
May 18, 2026
Merged

[codex] Add installed-plugin mention API#22448
xli-oai merged 51 commits into
mainfrom
xli-codex/plugin-installed-mentions

Conversation

@xli-oai
Copy link
Copy Markdown
Contributor

@xli-oai xli-oai commented May 13, 2026

Summary

  • add app-server plugin/installed for mention-oriented plugin loading
  • return installed plugins plus explicitly requested install-suggestion rows
  • keep remote handling on installed-state data instead of the broad catalog listing path

Why

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-shaped plugin/list payload that the Plugins page uses.

Validation

  • just write-app-server-schema
  • just fmt
  • cargo test -p codex-app-server-protocol
  • cargo test -p codex-core-plugins
  • cargo test -p codex-app-server --test all plugin_installed_

Notes

  • The package-wide cargo test -p codex-app-server run still hits an existing unrelated stack overflow in in_process::tests::in_process_start_clamps_zero_channel_capacity.
  • Companion webview PR: https://github.com/openai/openai/pull/915672

@xli-oai xli-oai force-pushed the xli-codex/plugin-installed-mentions branch 2 times, most recently from a5cba27 to 5b08045 Compare May 15, 2026 03:53
xli-oai added 3 commits May 16, 2026 02:04
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`
@xli-oai
Copy link
Copy Markdown
Contributor Author

xli-oai commented May 16, 2026

@codex review

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread codex-rs/core-plugins/src/manager.rs
Comment thread codex-rs/core-plugins/src/remote/remote_installed_plugin_sync.rs Outdated
Comment thread codex-rs/app-server/src/request_processors/plugins.rs
Comment thread codex-rs/core-plugins/src/manager.rs Outdated
Comment thread codex-rs/core-plugins/src/remote/remote_installed_plugin_sync.rs Outdated
Comment thread codex-rs/app-server/src/request_processors/plugins.rs
Comment thread codex-rs/core-plugins/src/remote.rs
@xli-oai
Copy link
Copy Markdown
Contributor Author

xli-oai commented May 18, 2026

@codex review

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

let key = RemoteInstalledPluginBundleSyncKey {
plugin_cache_root: remote_plugin_cache_root(&codex_home),
};
if !mark_remote_installed_plugin_bundle_sync_in_flight(key.clone()) {
return;

P2 Badge Deduplicate bundle syncs by requested scope

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".

Comment thread codex-rs/core-plugins/src/manager.rs Outdated
Comment thread codex-rs/core-plugins/src/remote/remote_installed_plugin_sync.rs Outdated
Comment thread codex-rs/core-plugins/src/manager.rs Outdated
@xli-oai
Copy link
Copy Markdown
Contributor Author

xli-oai commented May 18, 2026

@codex review

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

let key = RemoteInstalledPluginBundleSyncKey {
plugin_cache_root: remote_plugin_cache_root(&codex_home),
};
if !mark_remote_installed_plugin_bundle_sync_in_flight(key.clone()) {
return;

P2 Badge Include scopes when de-duping bundle syncs

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".

Comment thread codex-rs/core-plugins/src/manager.rs Outdated
xli-oai added a commit that referenced this pull request May 18, 2026
@xli-oai xli-oai force-pushed the xli-codex/plugin-installed-mentions branch from e485f27 to abde2ca Compare May 18, 2026 07:17
@xli-oai
Copy link
Copy Markdown
Contributor Author

xli-oai commented May 18, 2026

@codex review

Copy link
Copy Markdown
Contributor

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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".

Comment thread codex-rs/app-server/src/request_processors/plugins.rs
Comment thread codex-rs/core-plugins/src/manager.rs
Comment thread codex-rs/app-server/src/request_processors/plugins.rs
@xli-oai xli-oai force-pushed the xli-codex/plugin-installed-mentions branch from 9c41618 to 4dbcac0 Compare May 18, 2026 09:56
@xli-oai xli-oai merged commit da14dd2 into main May 18, 2026
77 of 78 checks passed
@xli-oai xli-oai deleted the xli-codex/plugin-installed-mentions branch May 18, 2026 10:11
@github-actions github-actions Bot locked and limited conversation to collaborators May 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

oai PRs contributed by OpenAI employees

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants