enable-resume (#3537)
Adding the ability to resume conversations. we have one verb `resume`. Behavior: `tui`: `codex resume`: opens session picker `codex resume --last`: continue last message `codex resume <session id>`: continue conversation with `session id` `exec`: `codex resume --last`: continue last conversation `codex resume <session id>`: continue conversation with `session id` Implementation: - I added a function to find the path in `~/.codex/sessions/` with a `UUID`. This is helpful in resuming with session id. - Added the above mentioned flags - Added lots of testing
This commit is contained in:
@@ -13,35 +13,18 @@ pub struct Cli {
|
||||
#[arg(long = "image", short = 'i', value_name = "FILE", value_delimiter = ',', num_args = 1..)]
|
||||
pub images: Vec<PathBuf>,
|
||||
|
||||
/// Open an interactive picker to resume a previous session recorded on disk
|
||||
/// instead of starting a new one.
|
||||
///
|
||||
/// Notes:
|
||||
/// - Mutually exclusive with `--continue`.
|
||||
/// - The picker displays recent sessions and a preview of the first real user
|
||||
/// message to help you select the right one.
|
||||
#[arg(
|
||||
long = "resume",
|
||||
default_value_t = false,
|
||||
conflicts_with = "continue",
|
||||
hide = true
|
||||
)]
|
||||
pub resume: bool,
|
||||
// Internal controls set by the top-level `codex resume` subcommand.
|
||||
// These are not exposed as user flags on the base `codex` command.
|
||||
#[clap(skip)]
|
||||
pub resume_picker: bool,
|
||||
|
||||
/// Continue the most recent conversation without showing the picker.
|
||||
///
|
||||
/// Notes:
|
||||
/// - Mutually exclusive with `--resume`.
|
||||
/// - If no recorded sessions are found, this behaves like starting fresh.
|
||||
/// - Equivalent to picking the newest item in the resume picker.
|
||||
#[arg(
|
||||
id = "continue",
|
||||
long = "continue",
|
||||
default_value_t = false,
|
||||
conflicts_with = "resume",
|
||||
hide = true
|
||||
)]
|
||||
pub r#continue: bool,
|
||||
#[clap(skip)]
|
||||
pub resume_last: bool,
|
||||
|
||||
/// Internal: resume a specific recorded session by id (UUID). Set by the
|
||||
/// top-level `codex resume <SESSION_ID>` wrapper; not exposed as a public flag.
|
||||
#[clap(skip)]
|
||||
pub resume_session_id: Option<String>,
|
||||
|
||||
/// Model the agent should use.
|
||||
#[arg(long, short = 'm')]
|
||||
|
||||
Reference in New Issue
Block a user