feat: v0.7.0 — am run/start --provider/--model : résolution cloud via le registre (base_url + keyring + modèle), fallback cloud quand le modèle local est inconnu, canal model_env/model_arg/env_map, jamais de token en clair (closes #92)

- apply_provider : providers::resolve_for (flag > agent > défaut) + apply_env_map_resolved (api_key = @secret, base_url/model du provider résolu)
- start/run/restart : --provider et --model dans le CLI, le REPL et la complétion ; specs help + man pages
- Tests unitaires : résolution, cascade, canal déclaré, erreur provider inconnu (liste), absence de fuite (env sans valeur sk-), fallback embarqué
This commit is contained in:
2026-08-19 21:05:39 -04:00
parent 68eb170f57
commit 6d51ce9504
12 changed files with 320 additions and 16 deletions
+6
View File
@@ -254,6 +254,7 @@ impl AmCompleter {
"--category", "--args", "--env", "--notify", "--timeout", "--yes",
"--verbose", "--quiet", "--json", "--dry-run", "--no-color",
"--profile", "--installed", "--tag", "--output", "--random",
"--model", "--provider", "--no-config",
],
agents,
catalog_agents,
@@ -1732,6 +1733,8 @@ fn handle_line(
agent: rest.first().cloned(),
background: flag("--background") || flag("-b"),
profile: opt_value("--profile"),
model: opt_value("--model"),
provider: opt_value("--provider"),
..Default::default()
}),
"stop" => Command::Stop {
@@ -1744,6 +1747,8 @@ fn handle_line(
agent: rest.first().cloned(),
background: flag("--background") || flag("-b"),
profile: opt_value("--profile"),
model: opt_value("--model"),
provider: opt_value("--provider"),
..Default::default()
},
force: flag("--force"),
@@ -1839,6 +1844,7 @@ fn handle_line(
Command::Run {
agent,
model: opt_value("--model"),
provider: opt_value("--provider"),
container: flag("--container"),
args: rest[1..].iter().map(|s| s.as_str().into()).collect(),
}