[codex] expose remote plugin share URL - #27890
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 79e6ea4a81
ℹ️ 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".
| pub marketplace_name: String, | ||
| pub marketplace_path: Option<AbsolutePathBuf>, | ||
| pub summary: PluginSummary, | ||
| pub share_url: Option<String>, |
There was a problem hiding this comment.
Add share_url to all PluginDetail literals
Adding a required Rust field to PluginDetail breaks existing downstream struct literals that were not updated; rg in the review tree shows codex-rs/tui/src/chatwidget/tests/popups_and_settings.rs and codex-rs/tui/src/chatwidget/tests/helpers.rs still construct codex_app_server_protocol::PluginDetail without share_url, so codex-tui test builds will fail once this protocol crate is compiled with the new shape.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
This is also causing CI failures
| pub marketplace_name: String, | ||
| pub marketplace_path: Option<AbsolutePathBuf>, | ||
| pub summary: PluginSummary, | ||
| pub share_url: Option<String>, |
There was a problem hiding this comment.
Document the new plugin share URL field
This adds a v2 plugin/read response field, but app-server/README.md still has no shareUrl mention (rg "shareUrl|share_url"). The app-server API workflow requires docs/examples to change with API behavior, so method docs will omit the new share link. guidance
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Let's add more documentation
Summary
share_urlas nullablePluginDetail.shareUrlPluginSummary.shareContextbehavior for local and workspace sharing flowsWhy
The remote plugin detail response already includes a canonical
share_url, but that value was not surfaced byplugin/readfor global plugins. Global plugins intentionally have noshareContext, so using that model for the URL would change the semantics consumed by the existing share modal.User impact
Codex clients can use
PluginDetail.shareUrlfor a remote plugin's copy-link action, including when the plugin is disabled by an administrator, without changing existing share-modal or ownership behavior.Validation
cargo test -p codex-app-server plugin_read_includes_share_url_for_admin_disabled_remote_plugincargo test -p codex-app-server-protocol typescript_schema_fixtures_match_generatedcargo test -p codex-app-server-protocol json_schema_fixtures_match_generatedcargo fmt --all