fix: stabilize local folder AI document workflow

- scope local-folder PageTree revision and document sidebar rendering to fileTreeScope

- preserve projected table/image attrs for local Markdown aggregate fallback

- avoid FileTree restore forced layouts on cold design open

- add API ChatOnly provider runtime and local OCR task handling regressions
This commit is contained in:
lix-2026
2026-06-02 17:17:49 +08:00
parent 610b23d3a5
commit 9f4b5c4d48
27 changed files with 3825 additions and 229 deletions
+61 -1
View File
@@ -1665,6 +1665,42 @@ impl ControlPlaneStore for SqliteControlPlaneStore {
"openclaw-doubao-chat",
"豆包 Chat",
),
(
"shared_api_deepseek_flash_chat",
"api-deepseek-flash-chat",
"api-deepseek-flash-chat",
"DeepSeek Flash Chat",
),
(
"shared_api_deepseek_pro_chat",
"api-deepseek-pro-chat",
"api-deepseek-pro-chat",
"DeepSeek Pro Chat",
),
(
"shared_api_gpt_chat",
"api-gpt-chat",
"api-gpt-chat",
"GPT Chat",
),
(
"shared_api_kimi_chat",
"api-kimi-chat",
"api-kimi-chat",
"Kimi Chat",
),
(
"shared_api_gemini_chat",
"api-gemini-chat",
"api-gemini-chat",
"Gemini API Chat",
),
(
"shared_api_grok_chat",
"api-grok-chat",
"api-grok-chat",
"Grok API Chat",
),
];
for (profile_id, base_profile, isolated_profile, display_name) in shared_chat_profiles {
conn.execute(
@@ -3241,7 +3277,7 @@ mod tests {
let alice_profiles = store
.ensure_ai_agent_profile_policy("alice", false)
.expect("alice profiles");
assert_eq!(alice_profiles.len(), 5);
assert_eq!(alice_profiles.len(), 11);
let alice_personal = alice_profiles
.iter()
.find(|item| item.profile.profile_kind == "personal")
@@ -3265,6 +3301,24 @@ mod tests {
),
("shared_gemini_chat", "openclaw-gemini-chat", "Gemini Chat"),
("shared_doubao_chat", "openclaw-doubao-chat", "豆包 Chat"),
(
"shared_api_deepseek_flash_chat",
"api-deepseek-flash-chat",
"DeepSeek Flash Chat",
),
(
"shared_api_deepseek_pro_chat",
"api-deepseek-pro-chat",
"DeepSeek Pro Chat",
),
("shared_api_gpt_chat", "api-gpt-chat", "GPT Chat"),
("shared_api_kimi_chat", "api-kimi-chat", "Kimi Chat"),
(
"shared_api_gemini_chat",
"api-gemini-chat",
"Gemini API Chat",
),
("shared_api_grok_chat", "api-grok-chat", "Grok API Chat"),
] {
let alice_chat = alice_profiles
.iter()
@@ -3300,6 +3354,12 @@ mod tests {
"shared_deepseek_chat",
"shared_gemini_chat",
"shared_doubao_chat",
"shared_api_deepseek_flash_chat",
"shared_api_deepseek_pro_chat",
"shared_api_gpt_chat",
"shared_api_kimi_chat",
"shared_api_gemini_chat",
"shared_api_grok_chat",
] {
let admin_chat = store
.resolve_ai_agent_profile("admin", true, profile_id)