From 2c85ca68429539ce27b346e573fbd07a18616c53 Mon Sep 17 00:00:00 2001 From: jif-oai Date: Fri, 27 Mar 2026 14:50:36 +0100 Subject: [PATCH] Use codex-utils-template for sandbox mode prompts (#15998) --- codex-rs/Cargo.lock | 1 + codex-rs/protocol/Cargo.toml | 1 + codex-rs/protocol/src/models.rs | 34 ++++++++++++++++--- .../sandbox_mode/danger_full_access.md | 2 +- .../permissions/sandbox_mode/read_only.md | 2 +- .../sandbox_mode/workspace_write.md | 2 +- 6 files changed, 35 insertions(+), 7 deletions(-) diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index 03e8dc5b6..091dfe31a 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -2386,6 +2386,7 @@ dependencies = [ "codex-utils-absolute-path", "codex-utils-image", "codex-utils-string", + "codex-utils-template", "icu_decimal", "icu_locale_core", "icu_provider", diff --git a/codex-rs/protocol/Cargo.toml b/codex-rs/protocol/Cargo.toml index ebfdaddab..58f3e0606 100644 --- a/codex-rs/protocol/Cargo.toml +++ b/codex-rs/protocol/Cargo.toml @@ -17,6 +17,7 @@ codex-git-utils = { workspace = true } codex-utils-absolute-path = { workspace = true } codex-utils-image = { workspace = true } codex-utils-string = { workspace = true } +codex-utils-template = { workspace = true } icu_decimal = { workspace = true } icu_locale_core = { workspace = true } icu_provider = { workspace = true, features = ["sync"] } diff --git a/codex-rs/protocol/src/models.rs b/codex-rs/protocol/src/models.rs index 471790717..7ab0009b4 100644 --- a/codex-rs/protocol/src/models.rs +++ b/codex-rs/protocol/src/models.rs @@ -1,8 +1,10 @@ use std::collections::HashMap; use std::path::Path; +use std::sync::LazyLock; use codex_utils_image::PromptImageMode; use codex_utils_image::load_for_prompt_bytes; +use codex_utils_template::Template; use serde::Deserialize; use serde::Deserializer; use serde::Serialize; @@ -30,6 +32,19 @@ use schemars::JsonSchema; use crate::mcp::CallToolResult; +static SANDBOX_MODE_DANGER_FULL_ACCESS_TEMPLATE: LazyLock