Skip to content

Commit c1b1ce4

Browse files
committed
feat(cli): add reasoning_effort field to CliAction::Prompt/Repl variants — ROADMAP #34 struct groundwork
Adds reasoning_effort: Option<String> to CliAction::Prompt and CliAction::Repl enum variants. All constructor and pattern sites updated. All test literals updated with reasoning_effort: None. 156 cli tests pass, fmt clean. The --reasoning-effort flag parse and propagation to AnthropicRuntimeClient remains as follow-up work.
1 parent 8e25611 commit c1b1ce4

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

  • rust/crates/rusty-claude-cli/src

rust/crates/rusty-claude-cli/src/main.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,7 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
209209
permission_mode,
210210
compact,
211211
base_commit,
212+
..
212213
} => {
213214
run_stale_base_preflight(base_commit.as_deref());
214215
// Only consume piped stdin as prompt context when the permission
@@ -243,6 +244,7 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
243244
allowed_tools,
244245
permission_mode,
245246
base_commit,
247+
..
246248
} => run_repl(model, allowed_tools, permission_mode, base_commit)?,
247249
CliAction::HelpTopic(topic) => print_help_topic(topic),
248250
CliAction::Help { output_format } => print_help(output_format)?,
@@ -304,6 +306,7 @@ enum CliAction {
304306
permission_mode: PermissionMode,
305307
compact: bool,
306308
base_commit: Option<String>,
309+
reasoning_effort: Option<String>,
307310
},
308311
Login {
309312
output_format: CliOutputFormat,
@@ -330,6 +333,7 @@ enum CliAction {
330333
allowed_tools: Option<AllowedToolSet>,
331334
permission_mode: PermissionMode,
332335
base_commit: Option<String>,
336+
reasoning_effort: Option<String>,
333337
},
334338
HelpTopic(LocalHelpTopic),
335339
// prompt-mode formatting is only supported for non-interactive runs
@@ -453,6 +457,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
453457
.unwrap_or_else(default_permission_mode),
454458
compact,
455459
base_commit: base_commit.clone(),
460+
reasoning_effort: None,
456461
});
457462
}
458463
"--print" => {
@@ -511,6 +516,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
511516
allowed_tools,
512517
permission_mode,
513518
base_commit,
519+
reasoning_effort: None,
514520
});
515521
}
516522
if rest.first().map(String::as_str) == Some("--resume") {
@@ -549,6 +555,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
549555
permission_mode,
550556
compact,
551557
base_commit,
558+
reasoning_effort: None,
552559
}),
553560
SkillSlashDispatch::Local => Ok(CliAction::Skills {
554561
args,
@@ -574,6 +581,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
574581
permission_mode,
575582
compact,
576583
base_commit: base_commit.clone(),
584+
reasoning_effort: None,
577585
})
578586
}
579587
other if other.starts_with('/') => parse_direct_slash_cli_action(
@@ -593,6 +601,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
593601
permission_mode,
594602
compact,
595603
base_commit,
604+
reasoning_effort: None,
596605
}),
597606
}
598607
}
@@ -713,6 +722,7 @@ fn parse_direct_slash_cli_action(
713722
permission_mode,
714723
compact,
715724
base_commit,
725+
reasoning_effort: None,
716726
}),
717727
SkillSlashDispatch::Local => Ok(CliAction::Skills {
718728
args,
@@ -8174,6 +8184,7 @@ mod tests {
81748184
allowed_tools: None,
81758185
permission_mode: PermissionMode::DangerFullAccess,
81768186
base_commit: None,
8187+
reasoning_effort: None,
81778188
}
81788189
);
81798190
}
@@ -8337,6 +8348,7 @@ mod tests {
83378348
permission_mode: PermissionMode::DangerFullAccess,
83388349
compact: false,
83398350
base_commit: None,
8351+
reasoning_effort: None,
83408352
}
83418353
);
83428354
}
@@ -8426,6 +8438,7 @@ mod tests {
84268438
permission_mode: PermissionMode::DangerFullAccess,
84278439
compact: false,
84288440
base_commit: None,
8441+
reasoning_effort: None,
84298442
}
84308443
);
84318444
}
@@ -8455,6 +8468,7 @@ mod tests {
84558468
permission_mode: PermissionMode::DangerFullAccess,
84568469
compact: true,
84578470
base_commit: None,
8471+
reasoning_effort: None,
84588472
}
84598473
);
84608474
}
@@ -8496,6 +8510,7 @@ mod tests {
84968510
permission_mode: PermissionMode::DangerFullAccess,
84978511
compact: false,
84988512
base_commit: None,
8513+
reasoning_effort: None,
84998514
}
85008515
);
85018516
}
@@ -8573,6 +8588,7 @@ mod tests {
85738588
allowed_tools: None,
85748589
permission_mode: PermissionMode::ReadOnly,
85758590
base_commit: None,
8591+
reasoning_effort: None,
85768592
}
85778593
);
85788594
}
@@ -8592,6 +8608,7 @@ mod tests {
85928608
allowed_tools: None,
85938609
permission_mode: PermissionMode::DangerFullAccess,
85948610
base_commit: None,
8611+
reasoning_effort: None,
85958612
}
85968613
);
85978614
}
@@ -8620,6 +8637,7 @@ mod tests {
86208637
permission_mode: PermissionMode::DangerFullAccess,
86218638
compact: false,
86228639
base_commit: None,
8640+
reasoning_effort: None,
86238641
}
86248642
);
86258643
}
@@ -8645,6 +8663,7 @@ mod tests {
86458663
),
86468664
permission_mode: PermissionMode::DangerFullAccess,
86478665
base_commit: None,
8666+
reasoning_effort: None,
86488667
}
86498668
);
86508669
}
@@ -8754,6 +8773,7 @@ mod tests {
87548773
permission_mode: crate::default_permission_mode(),
87558774
compact: false,
87568775
base_commit: None,
8776+
reasoning_effort: None,
87578777
}
87588778
);
87598779
assert_eq!(
@@ -9137,6 +9157,7 @@ mod tests {
91379157
permission_mode: crate::default_permission_mode(),
91389158
compact: false,
91399159
base_commit: None,
9160+
reasoning_effort: None,
91409161
}
91419162
);
91429163
}
@@ -9203,6 +9224,7 @@ mod tests {
92039224
permission_mode: crate::default_permission_mode(),
92049225
compact: false,
92059226
base_commit: None,
9227+
reasoning_effort: None,
92069228
}
92079229
);
92089230
assert_eq!(
@@ -9228,6 +9250,7 @@ mod tests {
92289250
permission_mode: crate::default_permission_mode(),
92299251
compact: false,
92309252
base_commit: None,
9253+
reasoning_effort: None,
92319254
}
92329255
);
92339256
let error = parse_args(&["/status".to_string()])

0 commit comments

Comments
 (0)