Skip to content

Add plugin install extension backend#28818

Open
zswang-oai wants to merge 1 commit into
nm-codex/plugin-installs-extension-executorfrom
nm-codex/plugin-installs-core
Open

Add plugin install extension backend#28818
zswang-oai wants to merge 1 commit into
nm-codex/plugin-installs-extension-executorfrom
nm-codex/plugin-installs-core

Conversation

@zswang-oai

@zswang-oai zswang-oai commented Jun 18, 2026

Copy link
Copy Markdown

Why

Core still owns session-specific work such as elicitation, config persistence, connector refresh, plugin verification, and telemetry. This layer adapts those host operations to the extension boundary without registering a new tool yet.

What changed

  • add CoreRequestPluginInstallsBackend
  • handle picker responses and verify completed connector or plugin installs
  • persist “don't show again” disabled suggestions
  • record per-entry install suggestion telemetry
  • add focused backend tests

Stack

This is PR 5 of 7.

@zswang-oai zswang-oai marked this pull request as ready for review June 18, 2026 05:02
@zswang-oai zswang-oai requested a review from a team as a code owner June 18, 2026 05:02

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

Copy link
Copy Markdown
Contributor

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: fcbff1ea06

ℹ️ 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/Cargo.toml
codex-network-proxy = { workspace = true }
codex-otel = { workspace = true }
codex-plugin = { workspace = true }
codex-plugin-installs-extension = { workspace = true }

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Badge Commit the Bazel lockfile for the new core dependency

Adding codex-plugin-installs-extension to codex-core changes the Rust dependency graph, but this commit only updates Cargo.toml/Cargo.lock and leaves MODULE.bazel.lock out of the diff. Bazel CI runs the lockfile check in error mode, so this will fail with lockfile drift until just bazel-lock-update is run from the repo root and the resulting MODULE.bazel.lock update is committed.

AGENTS.md reference: AGENTS.md:L37-L40

Useful? React with 👍 / 👎.

Comment on lines +305 to +310
refresh_missing_requested_connectors(
session,
turn,
auth,
&expected_connector_ids,
REQUEST_PLUGIN_INSTALLS_TOOL_NAME,

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2 Badge Preserve partial connector results when grouped refresh fails

When a picker contains a direct connector plus a plugin whose app_connector_ids have not appeared yet, this passes one combined expected connector list into the refresh helper. If the hard refresh then errors, refresh_missing_requested_connectors returns None, so the later per-entry check marks even a direct connector that was already accessible in the pre-refresh cache as incomplete. That makes successful connector installs look failed whenever an unrelated plugin connector is missing and the refresh endpoint hiccups; verify direct connector entries independently or keep the pre-refresh connector list on refresh failure.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant