Skip to content

codex-tools: extract utility tool specs#16154

Merged
bolinfest merged 1 commit intomainfrom
pr16154
Mar 29, 2026
Merged

codex-tools: extract utility tool specs#16154
bolinfest merged 1 commit intomainfrom
pr16154

Conversation

@bolinfest
Copy link
Copy Markdown
Collaborator

@bolinfest bolinfest commented Mar 29, 2026

Why

The previous codex-tools migration steps moved the shared schema models, local-host specs, collaboration specs, and related adapters out of codex-core, but core/src/tools/spec.rs still contained a grab bag of pure utility tool builders. Those specs do not need session state or handler logic; they only describe wire shapes for tools that codex-core already knows how to execute.

Moving that remaining low-coupling layer into codex-tools keeps the migration moving in meaningful chunks and trims another large block of passive tool-spec construction out of codex-core without touching the runtime-coupled handlers.

What changed

  • extended codex-tools to own the pure spec builders for:
    • code-mode exec / wait
    • js_repl / js_repl_reset
    • MCP resource tools list_mcp_resources, list_mcp_resource_templates, and read_mcp_resource
    • utility tools list_dir and test_sync_tool
  • split those builders across small module files with sibling *_tests.rs coverage, keeping src/lib.rs exports-only
  • rewired core/src/tools/spec.rs to call the extracted builders and deleted the duplicated core-local implementations
  • moved the direct JS REPL grammar seam test out of core/src/tools/spec_tests.rs so it now lives with the extracted implementation in codex-tools
  • updated codex-rs/tools/README.md so the documented crate boundary matches the new utility-spec surface

Test plan

  • CARGO_TARGET_DIR=/tmp/codex-tools-utility-specs cargo test -p codex-tools
  • CARGO_TARGET_DIR=/tmp/codex-core-utility-specs cargo test -p codex-core --lib tools::spec::
  • just fix -p codex-tools -p codex-core
  • just argument-comment-lint

References

@bolinfest bolinfest enabled auto-merge (squash) March 29, 2026 21:21
@bolinfest bolinfest disabled auto-merge March 29, 2026 21:26
@bolinfest bolinfest merged commit af568af into main Mar 29, 2026
21 checks passed
@bolinfest bolinfest deleted the pr16154 branch March 29, 2026 21:34
@github-actions github-actions bot locked and limited conversation to collaborators Mar 29, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant