Skip to content

feat: wire extension tool bundles into core#22147

Merged
jif-oai merged 5 commits intomainfrom
jif/vertical-tool
May 11, 2026
Merged

feat: wire extension tool bundles into core#22147
jif-oai merged 5 commits intomainfrom
jif/vertical-tool

Conversation

@jif-oai
Copy link
Copy Markdown
Collaborator

@jif-oai jif-oai commented May 11, 2026

Why

This is the next narrow step toward moving concrete tool families out of core. After #22138 introduced codex-tool-api, we still needed a real end-to-end seam that lets an extension own an executable tool definition once and have core install it without the temporary extension-api wrapper or a dependency on codex-tools.

codex-tool-api is the small extension-facing execution contract, while codex-tools still has a different job: host-side shared tool metadata and planning logic that is not “run this contributed tool”, like spec shaping, namespaces, discovery, code-mode augmentation, and MCP/dynamic-to-Responses API conversion

What changed

  • Moved the shared leaf tool-spec and JSON Schema types into codex-tool-api, so the executable contract now lives with ToolBundle.
  • Replaced the temporary extension-side tool wrapper with direct ToolBundle use in codex-extension-api.
  • Taught core to collect contributed bundles, include them in spec planning, register them through ToolRegistryBuilder::register_tool_bundle, and dispatch them through the existing router/runtime path.
  • Added focused coverage for contributed tools becoming model-visible and dispatchable, plus spec-planning coverage for contributed function and freeform tools.

Verification

  • Added extension_tool_bundles_are_model_visible_and_dispatchable in core/src/tools/router_tests.rs.
  • Added spec-plan coverage in core/src/tools/spec_plan_tests.rs for contributed extension bundles.

Related

@jif-oai jif-oai requested a review from a team as a code owner May 11, 2026 12:47
@jif-oai jif-oai changed the title feat: split down tools feat: wire extension tool bundles into core May 11, 2026
@jif-oai
Copy link
Copy Markdown
Collaborator Author

jif-oai commented May 11, 2026

@codex review

# Conflicts:
#	codex-rs/tool-api/src/bundle.rs
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: bea145e486

ℹ️ 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/src/tools/spec_plan.rs Outdated
Comment thread codex-rs/core/Cargo.toml
Comment thread codex-rs/core/src/tools/registry.rs
@jif-oai jif-oai merged commit 672cc1f into main May 11, 2026
28 of 29 checks passed
@jif-oai jif-oai deleted the jif/vertical-tool branch May 11, 2026 14:42
@github-actions github-actions Bot locked and limited conversation to collaborators May 11, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant