Repository navigation
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8728e5258a
ℹ️ 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".
| disabled={bundle.missingPatterns.length === 0} | ||
| aria-label={`Add bundle ${bundle.name} from ${connectionTitleForHost(bundle.group, props.showOwnerLabels)}`} | ||
| onClick={() => void addConnection(bundle.missingPatterns)} |
There was a problem hiding this comment.
Deduplicate bundle selections when displaying connection counts
Adding a bundle creates one toolkit connection record for every exact tool pattern, but ToolkitTile still renders and counts every resulting ConfiguredConnectionView as a separate account. Selecting a read-only bundle from one Google account therefore makes the toolkit card report many “connections” and show repeated copies of the same account icon. Group or deduplicate these exact selections by their ToolkitConnectionGroup before feeding the tile's icon stack and connection count.
Useful? React with 👍 / 👎.
| missingPatterns: bundle.patterns.filter( | ||
| (pattern) => | ||
| !props.configuredConnections.some((connection) => | ||
| matchPattern(connection.pattern, pattern), | ||
| ), |
There was a problem hiding this comment.
Preserve legacy connection policies when adding exact bundles
For a migrated toolkit whose account access is still represented by a legacy broad approve policy, this check ignores that policy because it examines only persisted connection records, so the bundle is offered as missing and exact records are added beneath it. The server's legacyConnectionPolicyIds then stops treating the broad policy as an access marker once it matches any exact connection, converting it into an active approve rule and removing broad access; meanwhile the client still classifies it as legacy because no identical broad connection record exists. The resulting toolkit can display all account tools while MCP permits only the bundle, and approval-required picker operations can become automatically approved.
Useful? React with 👍 / 👎.
| @@ -0,0 +1,5 @@ | |||
| --- | |||
There was a problem hiding this comment.
Remove AI attribution from the commit metadata
The reviewed commit records Codex <codex@openai.com> as its author, so publishing it would put explicit AI attribution into a public commit. Rewrite the commit metadata to use the responsible human or approved project identity before this change is published.
AGENTS.md reference: AGENTS.md:L41-L42
Useful? React with 👍 / 👎.
Withdrawn v1 Google toolkit bundle proposal
This proposal targets v1 toolkits. Current v2 scoped MCP connections already support exact selected tool names, exact account targets, and a tool picker with Read filtering and selection of current matching tools. All/read-only rules intentionally include future tools; selected names never expand. The legacy Google bundle UI should not be transplanted into v2.
Reconciled against
UsefulSoftwareCo/executorbranchv2at0e9e2c6b376b9f061b36ffdf33b657be08a557b5(October 13). Four named self-host E2E scenarios passed on that revision: scoped access/live edits/revocation, exact account targets, dashboard connection creation/revocation, and updated tools after redeploy without relinking accounts. Tests used isolated product servers, scratch databases and synthetic fixtures. No release or deployment occurred.The proposal's source commit remains preserved. This closed PR is historical v1 work, not a current v2 delivery.