feat(protocol): add Paste request type for bracketed-paste events

feat(engine): summarize agent completion progress in UI notifications

feat(main): enable and disable bracketed paste support in terminal

fix(app_config): store API key from file as fallback for Claude provider

refactor(workflow): remove unnecessary card separator in workflow panel
This commit is contained in:
asepharyana
2026-07-15 01:54:36 +07:00
parent e13f040833
commit b92dab97e6
5 changed files with 64 additions and 17 deletions
+11 -2
View File
@@ -154,13 +154,22 @@ struct ClaudeSettings {
/// than through its settings file, so reading only the file misses them.
fn detect_claude_settings_provider() -> Option<ProviderConfig> {
// Prefer the file, then fall back to env vars.
let (base_url, _key) = claude_credentials_from_file()
let (base_url, key) = claude_credentials_from_file()
.or_else(claude_credentials_from_env)?;
Some(ProviderConfig {
api_base: base_url,
// Keep the env-var name so runtime env overrides still work.
api_key_env: Some("ANTHROPIC_API_KEY".to_string()),
default_model: None,
default_api_key: None,
// Store the key read from the file as a direct fallback.
// Without this, subagent/engine.rs resolve_provider_config() falls
// through to std::env::var("ANTHROPIC_API_KEY") which is only
// injected into the Claude Code process — not into zesdex. Workflow
// nodes therefore got an empty key and failed with
// "no API key configured for provider 'claude'", even though the
// main agent succeeded (it has a DEFAULT_API_KEY fallback that
// subagents intentionally do not have).
default_api_key: Some(key),
})
}