mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
[codex] add current time reminder delivery mode config (#30031)
```python delivery_mode = "any_inference" # default delivery_mode = "after_user_or_tool_output" # new mode ``` ## Validation - just test -p codex-core load_config_resolves_current_time_reminder - just test -p codex-core lock_contains_prompts_and_materializes_features
This commit is contained in:
@@ -627,11 +627,13 @@ current_time_reminder = true
|
||||
enabled = true
|
||||
reminder_interval_seconds = 0
|
||||
clock_source = "external"
|
||||
delivery_mode = "after_user_or_tool_output"
|
||||
sleep_tool = true
|
||||
"#,
|
||||
CurrentTimeReminderConfig {
|
||||
reminder_interval_seconds: 0,
|
||||
clock_source: CurrentTimeSource::External,
|
||||
delivery_mode: CurrentTimeReminderDeliveryMode::AfterUserOrToolOutput,
|
||||
sleep_tool: true,
|
||||
},
|
||||
),
|
||||
|
||||
@@ -59,6 +59,7 @@ use codex_exec_server::ExecutorFileSystem;
|
||||
use codex_exec_server::LOCAL_FS;
|
||||
use codex_features::CodeModeConfigToml;
|
||||
use codex_features::CurrentTimeReminderConfigToml;
|
||||
use codex_features::CurrentTimeReminderDeliveryMode;
|
||||
use codex_features::CurrentTimeSource;
|
||||
use codex_features::Feature;
|
||||
use codex_features::FeatureConfigSource;
|
||||
@@ -1120,6 +1121,7 @@ pub struct RolloutBudgetConfig {
|
||||
pub struct CurrentTimeReminderConfig {
|
||||
pub reminder_interval_seconds: u64,
|
||||
pub clock_source: CurrentTimeSource,
|
||||
pub delivery_mode: CurrentTimeReminderDeliveryMode,
|
||||
/// Whether to expose the input-interruptible `clock.sleep` tool.
|
||||
pub sleep_tool: bool,
|
||||
}
|
||||
@@ -1129,6 +1131,7 @@ impl Default for CurrentTimeReminderConfig {
|
||||
Self {
|
||||
reminder_interval_seconds: 1,
|
||||
clock_source: CurrentTimeSource::System,
|
||||
delivery_mode: CurrentTimeReminderDeliveryMode::AnyInference,
|
||||
sleep_tool: false,
|
||||
}
|
||||
}
|
||||
@@ -2691,6 +2694,9 @@ fn resolve_current_time_reminder_config(
|
||||
clock_source: base
|
||||
.and_then(|config| config.clock_source)
|
||||
.unwrap_or(default.clock_source),
|
||||
delivery_mode: base
|
||||
.and_then(|config| config.delivery_mode)
|
||||
.unwrap_or(default.delivery_mode),
|
||||
sleep_tool: base
|
||||
.and_then(|config| config.sleep_tool)
|
||||
.unwrap_or(default.sleep_tool),
|
||||
|
||||
@@ -361,6 +361,7 @@ mod tests {
|
||||
enabled: Some(true),
|
||||
reminder_interval_seconds: Some(1),
|
||||
clock_source: Some(codex_features::CurrentTimeSource::System),
|
||||
delivery_mode: Some(codex_features::CurrentTimeReminderDeliveryMode::AnyInference),
|
||||
sleep_tool: Some(false),
|
||||
}))
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user