feat: v0.7.0 — configuration post-install : bloc config: par agent (env_map + fichiers), adaptateurs TOML/YAML/JSON/key=value, édition douce, jamais de token en clair (api_key = @secret) (closes #91)

- Nouveau module src/agent_config.rs : apply_post_install (écriture fichiers), apply_env_map (env injectée au start/run), provider_pref (provider > config.provider_default > default_provider)
- am install écrit les fichiers de config de l'agent avec le provider/modèle résolus ; --no-config / install.configurable:false / --dry-run respectés ; agent sans adaptateur → message clair, install réussit
- Catalogue : blocs config: pour claude-code, codex, agentty (+ provider_default)
This commit is contained in:
2026-08-19 20:41:34 -04:00
parent ebc753cc4a
commit 68eb170f57
11 changed files with 627 additions and 6 deletions
+4 -3
View File
@@ -317,14 +317,15 @@ pub fn resolve_exec(
args.extend(agent.args.iter().cloned());
args.extend(extra_args.iter().cloned());
let mut env = agent.env.clone();
// Issue #91: the `config.env_map` block, resolved against the agent's
// provider — api_key stays the @secret reference (resolved below).
crate::agent_config::apply_env_map(&mut env, agent, &app.config);
env.extend(extra_env.clone());
let warnings =
crate::secrets::resolve_env_secrets(
&crate::secrets::store(),
&agent.name,
agent
.provider
.as_deref()
crate::agent_config::provider_pref(agent)
.or_else(|| crate::providers::default_name(&app.config)),
&mut env,
);