From 95facfb89198aca32c2a164e7d3a6feff5b2b74b Mon Sep 17 00:00:00 2001 From: Eric Traut Date: Wed, 27 May 2026 07:36:54 -0700 Subject: [PATCH] Move goal prompts into extension --- codex-rs/Cargo.lock | 1 + codex-rs/ext/goal/BUILD.bazel | 3 + codex-rs/ext/goal/Cargo.toml | 1 + codex-rs/ext/goal/src/steering.rs | 111 ++++++++++++------ .../ext/goal/templates/goals/budget_limit.md | 16 +++ .../ext/goal/templates/goals/continuation.md | 14 +++ .../goal/templates/goals/objective_updated.md | 16 +++ 7 files changed, 123 insertions(+), 39 deletions(-) create mode 100644 codex-rs/ext/goal/templates/goals/budget_limit.md create mode 100644 codex-rs/ext/goal/templates/goals/continuation.md create mode 100644 codex-rs/ext/goal/templates/goals/objective_updated.md diff --git a/codex-rs/Cargo.lock b/codex-rs/Cargo.lock index cb758898c7..a78a9ab91c 100644 --- a/codex-rs/Cargo.lock +++ b/codex-rs/Cargo.lock @@ -2976,6 +2976,7 @@ dependencies = [ "codex-protocol", "codex-state", "codex-tools", + "codex-utils-template", "pretty_assertions", "serde", "serde_json", diff --git a/codex-rs/ext/goal/BUILD.bazel b/codex-rs/ext/goal/BUILD.bazel index 05b80c3706..e13276ddd5 100644 --- a/codex-rs/ext/goal/BUILD.bazel +++ b/codex-rs/ext/goal/BUILD.bazel @@ -3,5 +3,8 @@ load("//:defs.bzl", "codex_rust_crate") codex_rust_crate( name = "goal", crate_name = "codex_goal_extension", + compile_data = glob([ + "templates/**", + ]), integration_compile_data_extra = ["src/accounting.rs"], ) diff --git a/codex-rs/ext/goal/Cargo.toml b/codex-rs/ext/goal/Cargo.toml index 3bf0eca8d5..667ed5d14d 100644 --- a/codex-rs/ext/goal/Cargo.toml +++ b/codex-rs/ext/goal/Cargo.toml @@ -21,6 +21,7 @@ codex-otel = { workspace = true } codex-protocol = { workspace = true } codex-state = { workspace = true } codex-tools = { workspace = true } +codex-utils-template = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } tracing = { workspace = true } diff --git a/codex-rs/ext/goal/src/steering.rs b/codex-rs/ext/goal/src/steering.rs index 27ffd6a02b..d53ed7a4ad 100644 --- a/codex-rs/ext/goal/src/steering.rs +++ b/codex-rs/ext/goal/src/steering.rs @@ -2,6 +2,47 @@ use codex_core::context::ContextualUserFragment; use codex_core::context::ExtensionContext; use codex_protocol::models::ResponseInputItem; use codex_protocol::protocol::ThreadGoal; +use codex_utils_template::Template; +use std::sync::LazyLock; + +static CONTINUATION_TEMPLATE: LazyLock