mod argv;
mod choices;
mod composer;
mod paint;
use crate::fork::{Attempt, Choices, ForkPoint};
use crate::model_pick::grammar::RoleModel;
pub(super) fn attempt(from: &str, role: &str, skills: &[&str]) -> Attempt {
Attempt {
from: from.to_owned(),
role: role.to_owned(),
skills: skills.iter().map(|s| (*s).to_owned()).collect(),
}
}
pub(super) fn role(name: &str, model: &str) -> RoleModel {
RoleModel {
role: name.to_owned(),
provider: "anthropic".to_owned(),
model: model.to_owned(),
}
}
pub(super) fn choices() -> Choices {
Choices {
points: vec![
ForkPoint {
label: "here".to_owned(),
refspec: "aaaa1111".to_owned(),
roles: vec![role("worker", "claude-sonnet-5"), role("scribe", "opus")],
},
ForkPoint {
label: "strict".to_owned(),
refspec: "config/strict".to_owned(),
roles: vec![role("worker", "claude-haiku-4-5")],
},
],
skills: vec!["bash".to_owned(), "read_file".to_owned()],
}
}