Michael Bolin
5a2f3a8102
Extract built-in tool spec constructors into codex-tools ( #16493 )
...
## Why
`core/src/tools/spec.rs` still had a few built-in tool specs assembled
inline even though those definitions are pure metadata and already live
conceptually in `codex-tools`. Keeping that construction in `codex-core`
makes `spec.rs` do more than registry orchestration and slows the
migration toward a right-sized `codex-tools` crate.
This continues the extraction stack from #16379 , #16471 , #16477 , #16481 ,
and #16482 .
## What Changed
- added `create_local_shell_tool()`, `create_web_search_tool(...)`, and
`create_image_generation_tool(...)` to `codex-rs/tools/src/tool_spec.rs`
- exported those helpers from `codex-rs/tools/src/lib.rs`
- switched `codex-rs/core/src/tools/spec.rs` to call those helpers
instead of constructing `ToolSpec::LocalShell`, `ToolSpec::WebSearch`,
and `ToolSpec::ImageGeneration` inline
- removed the remaining core-local web-search content-type constant and
made the affected spec test assert the literal expected values directly
This is intended to be a straight refactor: tool behavior and wire shape
should not change.
## Testing
- `cargo test -p codex-tools`
- `cargo test -p codex-core tools::spec::tests`
History
..
2026-03-31 13:06:08 +02:00
2026-03-25 12:26:02 -07:00
2026-01-13 10:22:51 -08:00
2026-03-27 19:00:44 -07:00
2026-04-01 19:03:26 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 19:00:44 -07:00
2026-04-01 15:42:18 -07:00
2026-03-25 12:57:42 -07:00
2026-03-27 19:00:44 -07:00
2026-04-01 15:30:10 -07:00
2026-03-30 10:48:49 -07:00
2026-04-01 11:03:48 -04:00
2026-03-24 18:34:44 -07:00
2026-03-27 15:45:19 +01:00
2026-04-01 11:03:48 -04:00
2026-04-01 19:31:24 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 18:10:53 -07:00
2026-03-14 15:38:51 -07:00
2026-03-26 13:34:02 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-20 21:13:20 +00:00
2026-03-20 21:13:20 +00:00
2026-03-31 01:37:27 -07:00
2026-03-27 19:00:44 -07:00
2026-04-01 19:15:15 -07:00
2026-03-27 19:00:44 -07:00
2026-03-31 01:37:27 -07:00
2026-04-01 15:42:18 -07:00
2026-04-01 15:42:18 -07:00
2026-03-27 19:00:44 -07:00
2026-04-01 19:03:26 -07:00
2026-03-31 11:22:38 +02:00
2026-04-01 19:03:26 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-27 19:00:44 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 10:53:08 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 15:45:40 -07:00
2026-03-27 19:00:44 -07:00
2026-04-01 19:03:26 -07:00
2026-03-12 00:35:21 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 10:43:49 -07:00
2026-03-19 18:58:17 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 06:17:59 +00:00
2026-03-27 14:25:13 -07:00
2026-03-27 14:25:13 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 12:43:53 -07:00
2026-03-27 19:00:44 -07:00
2026-03-12 08:16:36 -07:00
2026-03-27 19:00:44 -07:00
2026-03-21 01:28:25 +00:00
2026-03-27 19:00:44 -07:00
2026-04-01 11:03:48 -04:00
2026-03-27 19:00:44 -07:00
2026-03-16 16:48:15 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 11:04:47 -07:00
2025-09-24 14:29:51 -07:00
2026-01-08 15:07:30 +00:00
2026-03-27 19:00:44 -07:00
2026-03-25 19:18:03 -07:00
2026-03-25 23:51:39 -07:00
2026-04-01 19:03:26 -07:00
2026-04-01 19:03:26 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 15:22:04 -07:00
2026-04-01 19:03:26 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-25 11:05:35 -07:00
2026-03-27 19:00:44 -07:00
2026-03-18 11:54:11 -06:00
2026-04-01 15:30:10 -07:00
2026-03-31 01:37:27 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-27 19:00:44 -07:00
2026-03-27 06:17:59 +00:00
2026-04-01 13:21:50 -07:00
2026-03-19 20:12:07 -07:00
2026-03-20 18:23:48 +00:00
2026-03-16 16:48:15 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 16:02:22 +00:00
2026-03-31 01:37:27 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 15:45:40 -07:00
2026-03-16 21:38:07 -07:00
2026-03-31 01:37:27 -07:00
2026-03-14 15:38:51 -07:00
2026-03-16 16:48:15 -07:00
2026-03-27 14:50:01 +01:00
2026-03-24 18:10:53 -07:00
2026-03-26 16:06:53 -04:00
2026-03-24 08:20:57 -07:00
2026-03-27 19:00:44 -07:00
2026-03-24 08:20:57 -07:00
2026-03-26 17:12:45 -07:00
2026-03-20 18:23:48 +00:00
2026-03-24 18:10:53 -07:00
2026-03-17 10:07:46 -07:00
2026-02-10 17:03:46 -08:00
2026-03-30 11:59:50 -07:00
2026-03-17 17:59:27 +00:00
2026-03-27 19:00:44 -07:00
2026-03-16 16:48:15 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 12:57:42 -07:00
2026-03-07 02:30:21 +00:00
2026-03-24 18:10:53 -07:00
2026-03-27 19:00:44 -07:00
2026-03-19 22:57:16 -07:00
2026-03-25 16:14:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-27 19:00:44 -07:00
2026-03-25 16:14:36 -07:00
2026-03-31 14:10:43 +02:00
2026-03-31 14:10:43 +02:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-19 22:05:13 +00:00
2026-03-24 13:26:23 -07:00
2026-03-18 10:03:38 +00:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-27 19:00:44 -07:00
2026-03-19 18:58:17 -07:00
2026-01-30 16:37:56 -08:00
2026-03-12 08:16:36 -07:00
2026-03-12 08:16:36 -07:00
2026-03-27 19:00:44 -07:00
2026-03-26 17:27:38 -07:00