fix(config): 保存不再误删 CLI 后加的顶层配置节 + 未知供应商类型原样保留
- 导出 stale-key 清理增加导入基线(imported_section_keys):CLI 在导入后 新增的顶层节(kimi-code 0.38+ 的 [task]/[swarm]/[cron] 等)在保存时 原样保留;用户在 UI 显式删除的节仍被移除;空基线(SQLite 快照恢复) 不删任何键(安全退化) - ProviderType 增加 Unknown(String) 变体,手写 serde 保持纯字符串线格式, 上游新增的 type 值往返不再被改写为 kimi;SQLite 快照恢复路径同步修复; 模型发现对未知类型返回明确错误,不再误用 KIMI_API_KEY - 新增 3 个往返测试(106 个 Rust 测试全绿),前端 tsc/vitest 通过
This commit is contained in:
1 parent
9764929919
commit
67db19eda4
9 files changed
+251
-58
No files matched your search
+4
-8
@@ -207,6 +207,9 @@ pub fn load_config(agent: &Agent) -> DbResult<Config> {
|
||||
providers,
|
||||
models,
|
||||
raw_other: Value::Null,
|
||||
// The SQLite snapshot stores no import baseline; an empty baseline
|
||||
// makes export's stale-key cleanup a no-op (safe degradation).
|
||||
imported_section_keys: Vec::new(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -328,12 +331,5 @@ pub fn delete_setting_pub(key: &str) -> DbResult<()> {
|
||||
}
|
||||
|
||||
fn provider_type_for_str(s: &str) -> ProviderType {
|
||||
match s {
|
||||
"anthropic" => ProviderType::Anthropic,
|
||||
"openai" => ProviderType::Openai,
|
||||
"openai_responses" => ProviderType::OpenaiResponses,
|
||||
"google-genai" => ProviderType::GoogleGenai,
|
||||
"vertexai" => ProviderType::Vertexai,
|
||||
_ => ProviderType::Kimi,
|
||||
}
|
||||
ProviderType::from_kimi_type(s)
|
||||
}
|
||||
Reference in new issue
Block a user