mirror of
https://github.com/openai/codex.git
synced 2026-11-11 21:10:39 +00:00
## What changed - Add `ResolvedModelMessages` to resolve catalog text and bundled defaults while preserving explicit empty overrides and their source. - Move base-instruction rendering, Guardian prompt composition, multi-agent role rendering, and `update_plan` guidance filtering into `codex-prompts`; migrate consumers to the shared APIs. - Separate permission-profile resolution from prompt composition, and annotate Guardian policy and classifier instructions with content kinds. ## Testing Add and update coverage for missing versus empty templates, literal overrides, multi-agent role composition, Guardian policy substitution and truncation, and preservation of permission path spellings and order. GitOrigin-RevId: 52335bb7acec0f432d5c57acb2accd5f0276056e
29 lines
1.0 KiB
Rust
29 lines
1.0 KiB
Rust
use codex_prompts::ResolvedModelMessages;
|
|
use codex_protocol::config_types::CollaborationModeMask;
|
|
use codex_protocol::config_types::ModeKind;
|
|
use codex_protocol::openai_models::ReasoningEffort;
|
|
|
|
pub fn builtin_collaboration_mode_presets() -> Vec<CollaborationModeMask> {
|
|
let messages = ResolvedModelMessages::bundled().collaboration_modes();
|
|
vec![
|
|
CollaborationModeMask {
|
|
name: ModeKind::Plan.display_name().to_string(),
|
|
mode: Some(ModeKind::Plan),
|
|
model: None,
|
|
reasoning_effort: Some(Some(ReasoningEffort::Medium)),
|
|
developer_instructions: Some(Some(messages.plan.text().to_string())),
|
|
},
|
|
CollaborationModeMask {
|
|
name: ModeKind::Default.display_name().to_string(),
|
|
mode: Some(ModeKind::Default),
|
|
model: None,
|
|
reasoning_effort: None,
|
|
developer_instructions: Some(Some(messages.default.text().to_string())),
|
|
},
|
|
]
|
|
}
|
|
|
|
#[cfg(test)]
|
|
#[path = "collaboration_mode_presets_tests.rs"]
|
|
mod tests;
|