(
parser: &mut ArgParser,
shared: SharedArgs,
_config: &dyn CliConfig,
)
| 291 | } |
| 292 | |
| 293 | fn parse_top_level_session_command( |
| 294 | parser: &mut ArgParser, |
| 295 | shared: SharedArgs, |
| 296 | _config: &dyn CliConfig, |
| 297 | ) -> Result<Command, String> { |
| 298 | let mut args = SessionArgs { shared, id: None }; |
| 299 | while parser.peek().is_some() { |
| 300 | if matches!(parser.peek(), Some("--all")) { |
| 301 | parser.next(); |
| 302 | continue; |
| 303 | } |
| 304 | if parse_shared_arg_for_command(parser, &mut args.shared)? { |
| 305 | continue; |
| 306 | } |
| 307 | match parser.next_flag()?.as_str() { |
| 308 | "-i" | "--id" => args.id = Some(parser.value_for("--id")?), |
| 309 | flag => return Err(format!("Unknown session option '{flag}'")), |
| 310 | } |
| 311 | } |
| 312 | |
| 313 | if args.id.is_some() { |
| 314 | return Ok(Command::Session(args)); |
| 315 | } |
| 316 | |
| 317 | Ok(Command::All(AgentCommandArgs { |
| 318 | shared: args.shared, |
| 319 | kind: AgentReportKind::Session, |
| 320 | pi_path: None, |
| 321 | open_claw_path: None, |
| 322 | codex_speed: CodexSpeed::Auto, |
| 323 | })) |
| 324 | } |
| 325 | |
| 326 | fn parse_claude_daily_command( |
| 327 | parser: &mut ArgParser, |
no test coverage detected