mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-09 17:44:50 +08:00
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.
This commit is contained in:
@@ -209,6 +209,7 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
permission_mode,
|
permission_mode,
|
||||||
compact,
|
compact,
|
||||||
base_commit,
|
base_commit,
|
||||||
|
..
|
||||||
} => {
|
} => {
|
||||||
run_stale_base_preflight(base_commit.as_deref());
|
run_stale_base_preflight(base_commit.as_deref());
|
||||||
// Only consume piped stdin as prompt context when the permission
|
// Only consume piped stdin as prompt context when the permission
|
||||||
@@ -243,6 +244,7 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
|
|||||||
allowed_tools,
|
allowed_tools,
|
||||||
permission_mode,
|
permission_mode,
|
||||||
base_commit,
|
base_commit,
|
||||||
|
..
|
||||||
} => run_repl(model, allowed_tools, permission_mode, base_commit)?,
|
} => run_repl(model, allowed_tools, permission_mode, base_commit)?,
|
||||||
CliAction::HelpTopic(topic) => print_help_topic(topic),
|
CliAction::HelpTopic(topic) => print_help_topic(topic),
|
||||||
CliAction::Help { output_format } => print_help(output_format)?,
|
CliAction::Help { output_format } => print_help(output_format)?,
|
||||||
@@ -304,6 +306,7 @@ enum CliAction {
|
|||||||
permission_mode: PermissionMode,
|
permission_mode: PermissionMode,
|
||||||
compact: bool,
|
compact: bool,
|
||||||
base_commit: Option<String>,
|
base_commit: Option<String>,
|
||||||
|
reasoning_effort: Option<String>,
|
||||||
},
|
},
|
||||||
Login {
|
Login {
|
||||||
output_format: CliOutputFormat,
|
output_format: CliOutputFormat,
|
||||||
@@ -330,6 +333,7 @@ enum CliAction {
|
|||||||
allowed_tools: Option<AllowedToolSet>,
|
allowed_tools: Option<AllowedToolSet>,
|
||||||
permission_mode: PermissionMode,
|
permission_mode: PermissionMode,
|
||||||
base_commit: Option<String>,
|
base_commit: Option<String>,
|
||||||
|
reasoning_effort: Option<String>,
|
||||||
},
|
},
|
||||||
HelpTopic(LocalHelpTopic),
|
HelpTopic(LocalHelpTopic),
|
||||||
// prompt-mode formatting is only supported for non-interactive runs
|
// prompt-mode formatting is only supported for non-interactive runs
|
||||||
@@ -453,6 +457,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
.unwrap_or_else(default_permission_mode),
|
.unwrap_or_else(default_permission_mode),
|
||||||
compact,
|
compact,
|
||||||
base_commit: base_commit.clone(),
|
base_commit: base_commit.clone(),
|
||||||
|
reasoning_effort: None,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
"--print" => {
|
"--print" => {
|
||||||
@@ -511,6 +516,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
allowed_tools,
|
allowed_tools,
|
||||||
permission_mode,
|
permission_mode,
|
||||||
base_commit,
|
base_commit,
|
||||||
|
reasoning_effort: None,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
if rest.first().map(String::as_str) == Some("--resume") {
|
if rest.first().map(String::as_str) == Some("--resume") {
|
||||||
@@ -549,6 +555,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
permission_mode,
|
permission_mode,
|
||||||
compact,
|
compact,
|
||||||
base_commit,
|
base_commit,
|
||||||
|
reasoning_effort: None,
|
||||||
}),
|
}),
|
||||||
SkillSlashDispatch::Local => Ok(CliAction::Skills {
|
SkillSlashDispatch::Local => Ok(CliAction::Skills {
|
||||||
args,
|
args,
|
||||||
@@ -574,6 +581,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
permission_mode,
|
permission_mode,
|
||||||
compact,
|
compact,
|
||||||
base_commit: base_commit.clone(),
|
base_commit: base_commit.clone(),
|
||||||
|
reasoning_effort: None,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
other if other.starts_with('/') => parse_direct_slash_cli_action(
|
other if other.starts_with('/') => parse_direct_slash_cli_action(
|
||||||
@@ -593,6 +601,7 @@ fn parse_args(args: &[String]) -> Result<CliAction, String> {
|
|||||||
permission_mode,
|
permission_mode,
|
||||||
compact,
|
compact,
|
||||||
base_commit,
|
base_commit,
|
||||||
|
reasoning_effort: None,
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -713,6 +722,7 @@ fn parse_direct_slash_cli_action(
|
|||||||
permission_mode,
|
permission_mode,
|
||||||
compact,
|
compact,
|
||||||
base_commit,
|
base_commit,
|
||||||
|
reasoning_effort: None,
|
||||||
}),
|
}),
|
||||||
SkillSlashDispatch::Local => Ok(CliAction::Skills {
|
SkillSlashDispatch::Local => Ok(CliAction::Skills {
|
||||||
args,
|
args,
|
||||||
@@ -8174,6 +8184,7 @@ mod tests {
|
|||||||
allowed_tools: None,
|
allowed_tools: None,
|
||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8337,6 +8348,7 @@ mod tests {
|
|||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8426,6 +8438,7 @@ mod tests {
|
|||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8455,6 +8468,7 @@ mod tests {
|
|||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
compact: true,
|
compact: true,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8496,6 +8510,7 @@ mod tests {
|
|||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8573,6 +8588,7 @@ mod tests {
|
|||||||
allowed_tools: None,
|
allowed_tools: None,
|
||||||
permission_mode: PermissionMode::ReadOnly,
|
permission_mode: PermissionMode::ReadOnly,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8592,6 +8608,7 @@ mod tests {
|
|||||||
allowed_tools: None,
|
allowed_tools: None,
|
||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8620,6 +8637,7 @@ mod tests {
|
|||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8645,6 +8663,7 @@ mod tests {
|
|||||||
),
|
),
|
||||||
permission_mode: PermissionMode::DangerFullAccess,
|
permission_mode: PermissionMode::DangerFullAccess,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -8754,6 +8773,7 @@ mod tests {
|
|||||||
permission_mode: crate::default_permission_mode(),
|
permission_mode: crate::default_permission_mode(),
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
@@ -9137,6 +9157,7 @@ mod tests {
|
|||||||
permission_mode: crate::default_permission_mode(),
|
permission_mode: crate::default_permission_mode(),
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@@ -9203,6 +9224,7 @@ mod tests {
|
|||||||
permission_mode: crate::default_permission_mode(),
|
permission_mode: crate::default_permission_mode(),
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
assert_eq!(
|
assert_eq!(
|
||||||
@@ -9228,6 +9250,7 @@ mod tests {
|
|||||||
permission_mode: crate::default_permission_mode(),
|
permission_mode: crate::default_permission_mode(),
|
||||||
compact: false,
|
compact: false,
|
||||||
base_commit: None,
|
base_commit: None,
|
||||||
|
reasoning_effort: None,
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
let error = parse_args(&["/status".to_string()])
|
let error = parse_args(&["/status".to_string()])
|
||||||
|
|||||||
Reference in New Issue
Block a user