mirror of
https://github.com/pchuan98/codex.git
synced 2026-07-01 00:31:56 +08:00
9ee746afd6
Summary: - read conversation summaries and cwd info from the state DB when possible so we no longer rely on rollout files for metadata and avoid extra I/O - persist CLI version in thread metadata, surface it through summary builders, and add the necessary DB migration hooks - simplify thread listing by using enriched state DB data directly rather than reading rollout heads Testing: - Not run (not requested)
16 lines
845 B
Rust
16 lines
845 B
Rust
/// Helpers for identifying model-visible "session prefix" messages.
|
|
///
|
|
/// A session prefix is a user-role message that carries configuration or state needed by
|
|
/// follow-up turns (e.g. `<environment_context>`, `<turn_aborted>`). These items are persisted in
|
|
/// history so the model can see them, but they are not user intent and must not create user-turn
|
|
/// boundaries.
|
|
pub(crate) const ENVIRONMENT_CONTEXT_OPEN_TAG: &str = "<environment_context>";
|
|
pub(crate) const TURN_ABORTED_OPEN_TAG: &str = "<turn_aborted>";
|
|
|
|
/// Returns true if `text` starts with a session prefix marker (case-insensitive).
|
|
pub(crate) fn is_session_prefix(text: &str) -> bool {
|
|
let trimmed = text.trim_start();
|
|
let lowered = trimmed.to_ascii_lowercase();
|
|
lowered.starts_with(ENVIRONMENT_CONTEXT_OPEN_TAG) || lowered.starts_with(TURN_ABORTED_OPEN_TAG)
|
|
}
|