Split features into codex-features crate (#15253)

- Split the feature system into a new `codex-features` crate.
- Cut `codex-core` and workspace consumers over to the new config and
warning APIs.

Co-authored-by: Ahmed Ibrahim <219906144+aibrahim-oai@users.noreply.github.com>
Co-authored-by: Codex <noreply@openai.com>
This commit is contained in:
Ahmed Ibrahim
2026-03-19 20:12:07 -07:00
committed by GitHub
parent 35f8b87a5b
commit 2e22885e79
135 changed files with 456 additions and 250 deletions

View File

@@ -15,6 +15,7 @@ use crate::models_manager::model_info;
use crate::shell::default_user_shell;
use crate::tools::format_exec_output_str;
use codex_features::Features;
use codex_protocol::ThreadId;
use codex_protocol::models::FunctionCallOutputBody;
use codex_protocol::models::FunctionCallOutputPayload;
@@ -3409,7 +3410,7 @@ async fn refresh_mcp_servers_is_deferred_until_next_turn() {
#[tokio::test]
async fn record_model_warning_appends_user_message() {
let (mut session, turn_context) = make_session_and_context().await;
let features = crate::features::Features::with_defaults().into();
let features = Features::with_defaults().into();
session.features = features;
session